@@ -64,13 +64,13 @@ static void GetPromiseDetails(const FunctionCallbackInfo<Value>& args) {
6464 auto isolate = args.GetIsolate ();
6565
6666 Local<Promise> promise = args[0 ].As <Promise>();
67- Local<Array> ret = Array::New (isolate, 2 );
6867
6968 int state = promise->State ();
70- ret->Set (env->context (), 0 , Integer::New (isolate, state)).FromJust ();
69+ Local<Value> values[2 ] = { Integer::New (isolate, state) };
70+ size_t number_of_values = 1 ;
7171 if (state != Promise::PromiseState::kPending )
72- ret-> Set (env-> context (), 1 , promise->Result ()). FromJust ();
73-
72+ values[number_of_values++] = promise->Result ();
73+ Local<Array> ret = Array::New (isolate, values, number_of_values);
7474 args.GetReturnValue ().Set (ret);
7575}
7676
@@ -82,11 +82,13 @@ static void GetProxyDetails(const FunctionCallbackInfo<Value>& args) {
8282
8383 Local<Proxy> proxy = args[0 ].As <Proxy>();
8484
85- Local<Array> ret = Array::New (args.GetIsolate (), 2 );
86- ret->Set (env->context (), 0 , proxy->GetTarget ()).FromJust ();
87- ret->Set (env->context (), 1 , proxy->GetHandler ()).FromJust ();
85+ Local<Value> ret[] = {
86+ proxy->GetTarget (),
87+ proxy->GetHandler ()
88+ };
8889
89- args.GetReturnValue ().Set (ret);
90+ args.GetReturnValue ().Set (
91+ Array::New (args.GetIsolate (), ret, arraysize (ret)));
9092}
9193
9294static void PreviewEntries (const FunctionCallbackInfo<Value>& args) {
@@ -101,11 +103,13 @@ static void PreviewEntries(const FunctionCallbackInfo<Value>& args) {
101103 // Fast path for WeakMap, WeakSet and Set iterators.
102104 if (args.Length () == 1 )
103105 return args.GetReturnValue ().Set (entries);
104- Local<Array> ret = Array::New (env->isolate (), 2 );
105- ret->Set (env->context (), 0 , entries).FromJust ();
106- ret->Set (env->context (), 1 , Boolean::New (env->isolate (), is_key_value))
107- .FromJust ();
108- return args.GetReturnValue ().Set (ret);
106+
107+ Local<Value> ret[] = {
108+ entries,
109+ Boolean::New (env->isolate (), is_key_value)
110+ };
111+ return args.GetReturnValue ().Set (
112+ Array::New (env->isolate (), ret, arraysize (ret)));
109113}
110114
111115// Side effect-free stringification that will never throw exceptions.
0 commit comments