Skip to content

Commit 3f03997

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

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

lib/internal/util/inspect.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1265,7 +1265,7 @@ 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 && (keys.length === 0 || !keys.includes('cause'))) {
12691269
keys.push('cause');
12701270
}
12711271

test/parallel/test-util-inspect.js

Lines changed: 10 additions & 0 deletions
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)