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.
|
||||
const proxy = getProxyDetails(value);
|
||||
if (proxy !== undefined) {
|
||||
if (ctx.showProxy && ctx.stop === undefined) {
|
||||
if (ctx.showProxy) {
|
||||
return formatProxy(ctx, proxy, recurseTimes);
|
||||
}
|
||||
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.
|
||||
// Check that value is an object with an inspect function on it.
|
||||
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
|
||||
// significantly.
|
||||
if (newLength > 2 ** 27) {
|
||||
ctx.stop = true;
|
||||
ctx.depth = -1;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user