diff --git a/src/node_util.cc b/src/node_util.cc index b9553eaaa6763d..e0ef7d421ff24a 100644 --- a/src/node_util.cc +++ b/src/node_util.cc @@ -91,11 +91,12 @@ static void GetProxyDetails(const FunctionCallbackInfo& args) { if (!args[0]->IsProxy()) return; - CHECK(args[1]->IsBoolean()); - Local proxy = args[0].As(); - if (args[1]->IsTrue()) { + // TODO(BridgeAR): Remove the length check as soon as we prohibit access to + // the util binding layer. It's accessed in the wild and `esm` would break in + // case the check is removed. + if (args.Length() == 1 || args[1]->IsTrue()) { Local ret[] = { proxy->GetTarget(), proxy->GetHandler() diff --git a/test/parallel/test-util-inspect-proxy.js b/test/parallel/test-util-inspect-proxy.js index 5789a6ffbcf6c5..f87ebecb8e7e7c 100644 --- a/test/parallel/test-util-inspect-proxy.js +++ b/test/parallel/test-util-inspect-proxy.js @@ -50,6 +50,10 @@ let details = processUtil.getProxyDetails(proxyObj, true); assert.strictEqual(target, details[0]); assert.strictEqual(handler, details[1]); +details = processUtil.getProxyDetails(proxyObj); +assert.strictEqual(target, details[0]); +assert.strictEqual(handler, details[1]); + details = processUtil.getProxyDetails(proxyObj, false); assert.strictEqual(target, details);