{"version":3,"sources":["utils/console-print.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAE/C","file":"console-print.d.ts","sourcesContent":["import ts from 'typescript';\n\n/** Print object and map into console as tree */\nexport function printTree(root: any, tab: string) {\n\treturn JSON.stringify(root, _replacer, tab);\n}\n\nfunction _replacer(k: string, v: any) {\n\tif (\n\t\ttypeof v === 'string' ||\n\t\ttypeof v === 'number' ||\n\t\ttypeof v === 'boolean'\n\t)\n\t\treturn v;\n\telse if (typeof v === 'symbol') return v.toString();\n\telse if (typeof v === 'function')\n\t\treturn `<${v.name}(${', '.repeat(v.length)})>`;\n\telse if (v instanceof Map) {\n\t\tlet r: Record<any, any> = {};\n\t\tv.forEach((mv, mk) => {\n\t\t\tr[mk] = mv;\n\t\t});\n\t\treturn r;\n\t} else if (v instanceof Set) return Array.from(v);\n\telse if (\n\t\tk === 'node' &&\n\t\ttypeof v === 'object' &&\n\t\ttypeof v?.kind === 'number'\n\t)\n\t\treturn '<TS.REF>';\n\telse return v;\n}\n\n// function _print(tab: string, obj: any){\n// \tvar arr: string[]= [];\n// \tvar size: number, i: number=0;\n// \tvar rep: string[]= [];\n// \tvar isLast: boolean;\n// \tif(typeof obj==='string' || typeof obj==='number' || typeof obj==='boolean' || typeof obj==='symbol'){\n// \t\treturn [obj.toString()];\n// \t} else if(typeof obj==='function'){\n// \t\treturn [`<${obj.name}(${', '.repeat(obj.length)})>`];\n// \t} else if(obj instanceof Map){\n// \t\tsize= obj.size;\n// \t\tobj.forEach((v, k)=> {\n// \t\t\t++i;\n// \t\t\tisLast= i===size;\n// \t\t\tarr.push(`${ isLast ? '└─ ' : '├─ '} ${k}`);\n// \t\t\trep= _print(tab, v);\n// \t\t\tlet sp= isLast? tab : tab+'│ ';\n// \t\t\tarr.push(...rep.map(e=> sp+e));\n// \t\t});\n// \t} else if(obj instanceof Set){\n// \t\tsize= obj.size;\n// \t\tarr.push('[')\n// \t\tobj.forEach((v, k)=> {\n// \t\t\tarr.push(tab+k);\n// \t\t\trep= _print(tab, v);\n// \t\t\tlet sp= isLast? tab : tab+'│ ';\n// \t\t\tarr.push(...rep.map(e=> sp+e));\n// \t\t});\n// \t\tarr.push(']');\n// \t} else if(Array.isArray(obj)){\n// \t\tsize= obj.length;\n// \t\tarr.push('[');\n// \t\tfor(let j=0; j<size; j++){\n// \t\t\trep= _print(tab, obj[j]);\n// \t\t\tfor(let k=0, len= rep.length; k<len; ++k){\n// \t\t\t\tarr.push(tab+rep[k], ',');\n// \t\t\t}\n// \t\t}\n// \t\tarr.push(']');\n// \t} else if(typeof obj==='object'){\n// \t\tlet keys= Object.keys(obj);\n// \t\tsize= keys.length;\n// \t\tfor(let j=0; j<size; j++){\n// \t\t\tisLast= i===size;\n// \t\t\tlet k= keys[j];\n// \t\t\tarr.push(`${ isLast ? '└─' : '├─'} ${k}`);\n// \t\t\trep= _print(tab, obj[k as keyof typeof obj]);\n// \t\t\tlet sp= isLast? tab : tab+'│ ';\n// \t\t\tarr.push(...rep.map(e=> sp+e));\n// \t\t}\n// \t} else {\n// \t\treturn ['< UNKNOWN! >']\n// \t}\n// \treturn arr;\n// }\n\n// _printKey(obj: any){\n\n// }\n"]}