@@ -30,57 +30,58 @@ class FuncRefObject : public Napi::ObjectWrap<FuncRefObject> {
3030namespace {
3131
3232Value ConstructRefFromExisitingRef (const CallbackInfo& info) {
33- HandleScope scope (info.Env ());
33+ EscapableHandleScope scope (info.Env ());
3434 FunctionReference ref;
3535 FunctionReference movedRef;
3636 ref.Reset (info[0 ].As <Function>());
3737 movedRef = std::move (ref);
3838
39- return MaybeUnwrap (movedRef ({}));
39+ return scope. Escape ( MaybeUnwrap (movedRef ({}) ));
4040}
4141
4242Value CallWithVectorArgs (const CallbackInfo& info) {
43- HandleScope scope (info.Env ());
43+ EscapableHandleScope scope (info.Env ());
4444 std::vector<napi_value> newVec;
4545 FunctionReference ref;
4646 ref.Reset (info[0 ].As <Function>());
4747
4848 for (int i = 1 ; i < (int )info.Length (); i++) {
4949 newVec.push_back (info[i]);
5050 }
51- return MaybeUnwrap (ref.Call (newVec));
51+ return scope. Escape ( MaybeUnwrap (ref.Call (newVec) ));
5252}
5353
5454Value CallWithInitList (const CallbackInfo& info) {
55- HandleScope scope (info.Env ());
55+ EscapableHandleScope scope (info.Env ());
5656 FunctionReference ref;
5757 ref.Reset (info[0 ].As <Function>());
5858
59- return MaybeUnwrap (ref.Call ({info[1 ], info[2 ], info[3 ]}));
59+ return scope. Escape ( MaybeUnwrap (ref.Call ({info[1 ], info[2 ], info[3 ]}) ));
6060}
6161
6262Value CallWithRecvInitList (const CallbackInfo& info) {
63- HandleScope scope (info.Env ());
63+ EscapableHandleScope scope (info.Env ());
6464 FunctionReference ref;
6565 ref.Reset (info[0 ].As <Function>());
6666
67- return MaybeUnwrap (ref.Call (info[1 ], {info[2 ], info[3 ], info[4 ]}));
67+ return scope.Escape (
68+ MaybeUnwrap (ref.Call (info[1 ], {info[2 ], info[3 ], info[4 ]})));
6869}
6970
7071Value CallWithRecvVector (const CallbackInfo& info) {
71- HandleScope scope (info.Env ());
72+ EscapableHandleScope scope (info.Env ());
7273 FunctionReference ref;
7374 std::vector<napi_value> newVec;
7475 ref.Reset (info[0 ].As <Function>());
7576
7677 for (int i = 2 ; i < (int )info.Length (); i++) {
7778 newVec.push_back (info[i]);
7879 }
79- return MaybeUnwrap (ref.Call (info[1 ], newVec));
80+ return scope. Escape ( MaybeUnwrap (ref.Call (info[1 ], newVec) ));
8081}
8182
8283Value CallWithRecvArgc (const CallbackInfo& info) {
83- HandleScope scope (info.Env ());
84+ EscapableHandleScope scope (info.Env ());
8485 FunctionReference ref;
8586 ref.Reset (info[0 ].As <Function>());
8687
@@ -91,7 +92,7 @@ Value CallWithRecvArgc(const CallbackInfo& info) {
9192 args[i] = info[i + 2 ];
9293 }
9394
94- return MaybeUnwrap (ref.Call (info[1 ], argLength, args.get ()));
95+ return scope. Escape ( MaybeUnwrap (ref.Call (info[1 ], argLength, args.get () )));
9596}
9697
9798Value MakeAsyncCallbackWithInitList (const Napi::CallbackInfo& info) {
@@ -163,19 +164,19 @@ Value CreateFunctionReferenceUsingNewVec(const Napi::CallbackInfo& info) {
163164}
164165
165166Value Call (const CallbackInfo& info) {
166- HandleScope scope (info.Env ());
167+ EscapableHandleScope scope (info.Env ());
167168 FunctionReference ref;
168169 ref.Reset (info[0 ].As <Function>());
169170
170- return MaybeUnwrapOr (ref.Call ({}), Value ());
171+ return scope. Escape ( MaybeUnwrapOr (ref.Call ({}), Value () ));
171172}
172173
173174Value Construct (const CallbackInfo& info) {
174- HandleScope scope (info.Env ());
175+ EscapableHandleScope scope (info.Env ());
175176 FunctionReference ref;
176177 ref.Reset (info[0 ].As <Function>());
177178
178- return MaybeUnwrapOr (ref.New ({}), Object ());
179+ return scope. Escape ( MaybeUnwrapOr (ref.New ({}), Object () ));
179180}
180181} // namespace
181182
0 commit comments