@@ -138,7 +138,7 @@ namespace Napi {
138138 HandleScope scope (env);
139139 napi_value obj;
140140 napi_create_object (env, &obj);
141- napi_create_persistent (env, obj, &handle);
141+ napi_create_reference (env, obj, 1 , &handle);
142142 }
143143
144144 explicit Callback (napi_value fn) {
@@ -147,7 +147,7 @@ namespace Napi {
147147 HandleScope scope (env);
148148 napi_value obj;
149149 napi_create_object (env, &obj);
150- napi_create_persistent (env, obj, &handle);
150+ napi_create_reference (env, obj, 1 , &handle);
151151 SetFunction (fn);
152152 }
153153
@@ -158,7 +158,7 @@ namespace Napi {
158158
159159 napi_env env;
160160 napi_get_current_env (&env);
161- napi_release_persistent (env, handle);
161+ napi_delete_reference (env, handle);
162162 }
163163
164164 bool operator ==(const Callback &other) const {
@@ -167,9 +167,9 @@ namespace Napi {
167167 napi_get_current_env (&env);
168168
169169 napi_value ha;
170- napi_get_persistent_value (env, handle, &ha);
170+ napi_get_reference_value (env, handle, &ha);
171171 napi_value hb;
172- napi_get_persistent_value (env, other.handle , &hb);
172+ napi_get_reference_value (env, other.handle , &hb);
173173
174174 napi_value a;
175175 napi_get_element (env, ha, kCallbackIndex , &a);
@@ -206,7 +206,7 @@ namespace Napi {
206206 napi_env env;
207207 napi_get_current_env (&env);
208208 napi_value h;
209- napi_get_persistent_value (env, handle, &h);
209+ napi_get_reference_value (env, handle, &h);
210210 napi_set_element (env, h, kCallbackIndex , fn);
211211 }
212212
@@ -215,7 +215,7 @@ namespace Napi {
215215 napi_env env;
216216 napi_get_current_env (&env);
217217 napi_value h;
218- napi_get_persistent_value (env, handle, &h);
218+ napi_get_reference_value (env, handle, &h);
219219 napi_value fn;
220220 napi_get_element (env, h, kCallbackIndex , &fn);
221221 return scope.Escape (fn);
@@ -226,7 +226,7 @@ namespace Napi {
226226 napi_env env;
227227 napi_get_current_env (&env);
228228 napi_value h;
229- napi_get_persistent_value (env, handle, &h);
229+ napi_get_reference_value (env, handle, &h);
230230 napi_value fn;
231231 napi_get_element (env, h, kCallbackIndex , &fn);
232232 napi_valuetype valuetype;
@@ -252,7 +252,7 @@ namespace Napi {
252252
253253 private:
254254 NAPI_DISALLOW_ASSIGN_COPY_MOVE (Callback)
255- napi_persistent handle;
255+ napi_ref handle;
256256 static const uint32_t kCallbackIndex = 0 ;
257257
258258 napi_value Call_ (napi_value target,
@@ -263,7 +263,7 @@ namespace Napi {
263263 napi_get_current_env (&env);
264264
265265 napi_value h;
266- napi_get_persistent_value (env, handle, &h);
266+ napi_get_reference_value (env, handle, &h);
267267 napi_value fn;
268268 napi_get_element (env, h, kCallbackIndex , &fn);
269269
@@ -293,7 +293,7 @@ namespace Napi {
293293 HandleScope scope;
294294 napi_value obj;
295295 napi_create_object (env, &obj);
296- napi_create_persistent (env, obj, &persistentHandle);
296+ napi_create_reference (env, obj, 1 , &persistentHandle);
297297 }
298298
299299 virtual ~AsyncWorker () {
@@ -302,7 +302,7 @@ namespace Napi {
302302 if (persistentHandle != NULL ) {
303303 napi_env env;
304304 napi_get_current_env (&env);
305- napi_release_persistent (env, persistentHandle);
305+ napi_delete_reference (env, persistentHandle);
306306 persistentHandle = NULL ;
307307 }
308308 delete callback;
@@ -330,7 +330,7 @@ namespace Napi {
330330 napi_propertyname pnKey;
331331 napi_property_name (env, key, &pnKey);
332332 napi_value h;
333- napi_get_persistent_value (env, persistentHandle, &h);
333+ napi_get_reference_value (env, persistentHandle, &h);
334334 napi_set_property (env, h, pnKey, value);
335335 }
336336
@@ -340,7 +340,7 @@ namespace Napi {
340340 napi_env env;
341341 napi_get_current_env (&env);
342342 napi_value h;
343- napi_get_persistent_value (env, persistentHandle, &h);
343+ napi_get_reference_value (env, persistentHandle, &h);
344344 napi_set_property (env, h, key, value);
345345 }
346346
@@ -350,7 +350,7 @@ namespace Napi {
350350 napi_env env;
351351 napi_get_current_env (&env);
352352 napi_value h;
353- napi_get_persistent_value (env, persistentHandle, &h);
353+ napi_get_reference_value (env, persistentHandle, &h);
354354 napi_set_element (env, h, index, value);
355355 }
356356
@@ -361,7 +361,7 @@ namespace Napi {
361361 napi_propertyname pnKey;
362362 napi_property_name (env, key, &pnKey);
363363 napi_value h;
364- napi_get_persistent_value (env, persistentHandle, &h);
364+ napi_get_reference_value (env, persistentHandle, &h);
365365 napi_value v;
366366 napi_get_property (env, h, pnKey, &v);
367367 return scope.Escape (v);
@@ -373,7 +373,7 @@ namespace Napi {
373373 napi_env env;
374374 napi_get_current_env (&env);
375375 napi_value h;
376- napi_get_persistent_value (env, persistentHandle, &h);
376+ napi_get_reference_value (env, persistentHandle, &h);
377377 napi_value v;
378378 napi_get_property (env, h, key, &v);
379379 return scope.Escape (v);
@@ -384,7 +384,7 @@ namespace Napi {
384384 napi_env env;
385385 napi_get_current_env (&env);
386386 napi_value h;
387- napi_get_persistent_value (env, persistentHandle, &h);
387+ napi_get_reference_value (env, persistentHandle, &h);
388388 napi_value v;
389389 napi_get_element (env, h, index, &v);
390390 return scope.Escape (v);
@@ -414,7 +414,7 @@ namespace Napi {
414414 }
415415
416416 protected:
417- napi_persistent persistentHandle;
417+ napi_ref persistentHandle;
418418 Callback *callback;
419419
420420 virtual void HandleOKCallback () {
0 commit comments