diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/node_util.cc | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/node_util.cc b/src/node_util.cc index 9c24985a47a..07a7b69dbd9 100644 --- a/src/node_util.cc +++ b/src/node_util.cc @@ -91,15 +91,23 @@ static void GetProxyDetails(const FunctionCallbackInfo<Value>& args) { if (!args[0]->IsProxy()) return; + CHECK(args[1]->IsBoolean()); + Local<Proxy> proxy = args[0].As<Proxy>(); - Local<Value> ret[] = { - proxy->GetTarget(), - proxy->GetHandler() - }; + if (args[1]->IsTrue()) { + Local<Value> ret[] = { + proxy->GetTarget(), + proxy->GetHandler() + }; - args.GetReturnValue().Set( - Array::New(args.GetIsolate(), ret, arraysize(ret))); + args.GetReturnValue().Set( + Array::New(args.GetIsolate(), ret, arraysize(ret))); + } else { + Local<Value> ret = proxy->GetTarget(); + + args.GetReturnValue().Set(ret); + } } static void PreviewEntries(const FunctionCallbackInfo<Value>& args) { |