Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 1x 1x 1x | function _inspectString(value: any, done: Set<any>): string { if (Array.isArray(value)) { return "[" + value.map((v) => _inspect(v, done)).join(", ") + "]"; } switch (typeof(value)) { case "bigint": return value.toString() + "n"; case "boolean": case "number": case "string": return JSON.stringify(value); case "symbol": return `[Symbol ${ String(value) }]` case "object": { if (value == null) { return "null"; } const keys = Object.keys(value); Object.getOwnPropertyNames(value).forEach((key) => { keys.push(key); }); return "{ " + keys.map((key) => { return `${ key }=${ _inspect(value[key], done) }`; }).join(", ") + " }"; } } return `[ unknown type: ${ value } ]` } function _inspect(value: any, done: Set<any>): string { if (done.has(value)) { return "[ Circular ]"; } done.add(value); const result = _inspectString(value, done); done.delete(value); return result; } export function inspect(value: any): string { return _inspect(value, new Set()); } |