MCPcopy Index your code
hub / github.com/nodejs/node / prettyPrint

Function prettyPrint

deps/v8/test/mjsunit/mjsunit.js:321–393  ·  view source on GitHub ↗
(value)

Source from the content-addressed store, hash-verified

319 prettyPrinted = function prettyPrinted(value) {
320 let visited = new Set();
321 function prettyPrint(value) {
322 try {
323 switch (typeof value) {
324 case "string":
325 return JSONStringify(value);
326 case "bigint":
327 return String(value) + "n";
328 case "number":
329 if (value === 0 && (1 / value) < 0) return "-0";
330 // FALLTHROUGH.
331 case "boolean":
332 case "undefined":
333 case "function":
334 case "symbol":
335 return String(value);
336 case "object":
337 if (value === null) return "null";
338 // Guard against re-visiting.
339 if (visited.has(value)) return "<...>";
340 visited.add(value);
341 var objectClass = classOf(value);
342 switch (objectClass) {
343 case "Number":
344 case "BigInt":
345 case "String":
346 case "Boolean":
347 case "Date":
348 return objectClass + "(" + prettyPrint(ValueOf(value)) + ")";
349 case "RegExp":
350 return RegExpPrototypeToString.call(value);
351 case "Array":
352 var mapped = ArrayPrototypeMap.call(
353 value, (v,i,array)=>{
354 if (v === undefined && !(i in array)) return "";
355 return prettyPrint(v, visited);
356 });
357 var joined = ArrayPrototypeJoin.call(mapped, ",");
358 return "[" + joined + "]";
359 case "Int8Array":
360 case "Uint8Array":
361 case "Uint8ClampedArray":
362 case "Int16Array":
363 case "Uint16Array":
364 case "Int32Array":
365 case "Uint32Array":
366 case "Float32Array":
367 case "Float64Array":
368 case "BigInt64Array":
369 case "BigUint64Array":
370 var joined = ArrayPrototypeJoin.call(value, ",");
371 return objectClass + "([" + joined + "])";
372 case "Object":
373 break;
374 default:
375 return objectClass + "(" + String(value) + ")";
376 }
377 // classOf() returned "Object".
378 var name = value.constructor?.name ?? "Object";

Callers 2

mjsunit.jsFile · 0.70
prettyPrintStatementFunction · 0.50

Calls 7

StringClass · 0.85
ValueOfFunction · 0.85
classOfFunction · 0.70
hasMethod · 0.65
addMethod · 0.65
callMethod · 0.45
entriesMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…