util: simplify inspection limit handling
This simplifies the handling of objects that exceed 128mb. Instead of using a separate property to identify that all following inputs should only return their constructor name it'll just set the depth to -1. That has the almost the same behavior as before while providing a better output in some cases. The performance should be almost identical as well. PR-URL: https://github.com/nodejs/node/pull/27733 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
This commit is contained in:
parent
f1a3968a01
commit
79e55f0774
@ -520,17 +520,12 @@ function formatValue(ctx, value, recurseTimes, typedArray) {
|
|||||||
// any proxy handlers.
|
// any proxy handlers.
|
||||||
const proxy = getProxyDetails(value);
|
const proxy = getProxyDetails(value);
|
||||||
if (proxy !== undefined) {
|
if (proxy !== undefined) {
|
||||||
if (ctx.showProxy && ctx.stop === undefined) {
|
if (ctx.showProxy) {
|
||||||
return formatProxy(ctx, proxy, recurseTimes);
|
return formatProxy(ctx, proxy, recurseTimes);
|
||||||
}
|
}
|
||||||
value = proxy[0];
|
value = proxy[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ctx.stop !== undefined) {
|
|
||||||
const name = getConstructorName(value, ctx) || value[Symbol.toStringTag];
|
|
||||||
return ctx.stylize(`[${name || 'Object'}]`, 'special');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Provide a hook for user-specified inspect functions.
|
// Provide a hook for user-specified inspect functions.
|
||||||
// Check that value is an object with an inspect function on it.
|
// Check that value is an object with an inspect function on it.
|
||||||
if (ctx.customInspect) {
|
if (ctx.customInspect) {
|
||||||
@ -788,7 +783,7 @@ function formatRaw(ctx, value, recurseTimes, typedArray) {
|
|||||||
// This limit also makes sure that huge objects don't block the event loop
|
// This limit also makes sure that huge objects don't block the event loop
|
||||||
// significantly.
|
// significantly.
|
||||||
if (newLength > 2 ** 27) {
|
if (newLength > 2 ** 27) {
|
||||||
ctx.stop = true;
|
ctx.depth = -1;
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user