util: fix util.inspect with proxied function
PR-URL: https://github.com/nodejs/node/pull/25244 Fixes: https://github.com/nodejs/node/issues/25212 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Minwoo Jung <minwoo@nodesource.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
This commit is contained in:
parent
ad10cc57ee
commit
6c7c77ef05
@ -628,7 +628,10 @@ function formatRaw(ctx, value, recurseTimes) {
|
||||
}
|
||||
} else if (typeof value === 'function') {
|
||||
const type = constructor || tag || 'Function';
|
||||
const name = `${type}${value.name ? `: ${value.name}` : ''}`;
|
||||
let name = `${type}`;
|
||||
if (value.name && typeof value.name === 'string') {
|
||||
name += `: ${value.name}`;
|
||||
}
|
||||
if (keys.length === 0)
|
||||
return ctx.stylize(`[${name}]`, 'special');
|
||||
base = `[${name}]`;
|
||||
|
@ -87,3 +87,17 @@ assert.strictEqual(util.inspect(proxy8, opts), expected8);
|
||||
assert.strictEqual(util.inspect(proxy9, opts), expected9);
|
||||
assert.strictEqual(util.inspect(proxy8), '[Function: Date]');
|
||||
assert.strictEqual(util.inspect(proxy9), '[Function: Date]');
|
||||
|
||||
const proxy10 = new Proxy(() => {}, {});
|
||||
const proxy11 = new Proxy(() => {}, {
|
||||
get() {
|
||||
return proxy11;
|
||||
},
|
||||
apply() {
|
||||
return proxy11;
|
||||
}
|
||||
});
|
||||
const expected10 = '[Function]';
|
||||
const expected11 = '[Function]';
|
||||
assert.strictEqual(util.inspect(proxy10), expected10);
|
||||
assert.strictEqual(util.inspect(proxy11), expected11);
|
||||
|
Loading…
x
Reference in New Issue
Block a user