diff --git a/lib/util.js b/lib/util.js index 003d2dfa68a127..d3b08d28d8660a 100644 --- a/lib/util.js +++ b/lib/util.js @@ -445,6 +445,11 @@ function formatValue(ctx, value, recurseTimes, ln) { } } + // Using an array here is actually better for the average case than using + // a Set. `seen` will only check for the depth and will never grow too large. + if (ctx.seen.indexOf(value) !== -1) + return ctx.stylize('[Circular]', 'special'); + let keys; let symbols = Object.getOwnPropertySymbols(value); @@ -625,11 +630,6 @@ function formatValue(ctx, value, recurseTimes, ln) { } } - // Using an array here is actually better for the average case than using - // a Set. `seen` will only check for the depth and will never grow too large. - if (ctx.seen.indexOf(value) !== -1) - return ctx.stylize('[Circular]', 'special'); - if (recurseTimes != null) { if (recurseTimes < 0) return ctx.stylize(`[${constructor || tag || 'Object'}]`, 'special');