Skip to content

Commit 38fc7f8

Browse files
committed
util: serialize falsy cause values while inspecting errors
Signed-off-by: Ruben Bridgewater <[email protected]>
1 parent cd03389 commit 38fc7f8

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

lib/internal/util/inspect.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -1265,7 +1265,8 @@ function formatError(err, constructor, tag, ctx, keys) {
12651265

12661266
removeDuplicateErrorKeys(ctx, keys, err, stack);
12671267

1268-
if (err.cause && (keys.length === 0 || !keys.includes('cause'))) {
1268+
if (err.cause !== undefined &&
1269+
(keys.length === 0 || !keys.includes('cause'))) {
12691270
keys.push('cause');
12701271
}
12711272

test/parallel/test-util-inspect.js

+10
Original file line numberDiff line numberDiff line change
@@ -660,6 +660,16 @@ assert.strictEqual(util.inspect(-5e-324), '-5e-324');
660660
assert(ex.includes('[message]'));
661661
}
662662

663+
{
664+
const falsyCause1 = new Error('', { cause: false });
665+
delete falsyCause1.stack;
666+
const falsyCause2 = new Error(undefined, { cause: null });
667+
falsyCause2.stack = '';
668+
669+
assert.strictEqual(util.inspect(falsyCause1), '[Error] { [cause]: false }');
670+
assert.strictEqual(util.inspect(falsyCause2), '[Error] { [cause]: null }');
671+
}
672+
663673
{
664674
const tmp = Error.stackTraceLimit;
665675
Error.stackTraceLimit = 0;

0 commit comments

Comments
 (0)