33
44#include " js_native_api.h"
55#include < dlfcn.h>
6- #include " Constants.h"
76#include < sstream>
87
8+ #define NAPI_EXPORT __attribute__ ((visibility(" default" )))
9+
910#ifndef NAPI_PREAMBLE
1011#define NAPI_PREAMBLE napi_status status;
1112#endif
@@ -119,12 +120,12 @@ namespace napi_util {
119120
120121 inline napi_value get__proto__ (napi_env env, napi_value object) {
121122 napi_value proto;
122- napi_get_property (env, object, Constants::Get (env)-> protoValue (env) , &proto);
123+ napi_get_named_property (env, object, " __proto__ " , &proto);
123124 return proto;
124125 }
125126
126127 inline void set__proto__ (napi_env env, napi_value object, napi_value __proto__) {
127- napi_set_property (env, object, Constants::Get (env)-> protoValue (env) , __proto__);
128+ napi_set_named_property (env, object, " __proto__ " , __proto__);
128129 }
129130
130131 inline napi_value getPrototypeOf (napi_env env, napi_value object) {
@@ -135,12 +136,12 @@ namespace napi_util {
135136
136137 inline napi_value get_prototype (napi_env env, napi_value object) {
137138 napi_value prototype;
138- napi_get_property (env, object, Constants::Get (env)-> prototypeValue (env) , &prototype);
139+ napi_get_named_property (env, object, " prototype " , &prototype);
139140 return prototype;
140141 }
141142
142143 inline void set_prototype (napi_env env, napi_value object, napi_value prototype) {
143- napi_set_property (env, object, Constants::Get (env)-> prototypeValue (env) , prototype);
144+ napi_set_named_property (env, object, " prototype " , prototype);
144145 }
145146
146147 inline char *get_string_value (napi_env env, napi_value str, size_t size = 0 ) {
@@ -153,23 +154,6 @@ namespace napi_util {
153154 return buffer;
154155 }
155156
156- inline napi_status define_property_named (napi_env env, napi_value object, napi_value propertyName,
157- napi_value value = nullptr , napi_callback getter = nullptr ,
158- napi_callback setter = nullptr , void *data = nullptr ) {
159- napi_property_descriptor desc = {
160- nullptr , // utf8name
161- propertyName, // name
162- nullptr , // method
163- getter, // getter
164- setter, // setter
165- value, // value
166- napi_default, // attributes
167- data // data
168- };
169-
170- return napi_define_properties (env, object, 1 , &desc);
171- }
172-
173157 inline napi_status define_property (napi_env env, napi_value object, const char *propertyName,
174158 napi_value value = nullptr , napi_callback getter = nullptr ,
175159 napi_callback setter = nullptr , void *data = nullptr ) {
@@ -233,14 +217,14 @@ namespace napi_util {
233217 napi_value numberCtor;
234218 napi_value global;
235219 napi_get_global (env, &global);
236- napi_get_property (env, global, Constants::Get (env)-> numberValue (env) , &numberCtor);
220+ napi_get_named_property (env, global, " Number " , &numberCtor);
237221 napi_instanceof (env, value, numberCtor, &result);
238222 return result;
239223 }
240224
241225 inline napi_value valueOf (napi_env env, napi_value value) {
242226 napi_value valueOf, result;
243- napi_get_property (env, value, Constants::Get (env)-> valueOfValue (env) , &valueOf);
227+ napi_get_named_property (env, value, " valueOf " , &valueOf);
244228 napi_call_function (env, value, valueOf, 0 , nullptr , &result);
245229 return result;
246230 }
@@ -250,7 +234,7 @@ namespace napi_util {
250234 napi_value stringCtor;
251235 napi_value global;
252236 napi_get_global (env, &global);
253- napi_get_property (env, global, Constants::Get (env)-> stringValue (env) , &stringCtor);
237+ napi_get_named_property (env, global, " String " , &stringCtor);
254238 napi_instanceof (env, value, stringCtor, &result);
255239 return result;
256240 }
@@ -260,7 +244,7 @@ namespace napi_util {
260244 napi_value booleanCtor;
261245 napi_value global;
262246 napi_get_global (env, &global);
263- napi_get_property (env, global, Constants::Get (env)-> booleanValue (env) , &booleanCtor);
247+ napi_get_named_property (env, global, " Boolean " , &booleanCtor);
264248 napi_instanceof (env, value, booleanCtor, &result);
265249 return result;
266250 }
@@ -337,11 +321,11 @@ namespace napi_util {
337321#else
338322 napi_value global, number, is_int, result;
339323 napi_get_global (env, &global);
340- napi_get_property (env, global, Constants::Get (env)-> numberValue (env) , &number);
341- napi_get_property (env, number, Constants::Get (env)-> isIntegerValue (env) , &is_int);
324+ napi_get_named_property (env, global, " Number " , &number);
325+ napi_get_named_property (env, number, " isInteger " , &is_int);
342326 napi_call_function (env, number, is_int, 1 , &value, &result);
343327
344- return ! napi_util::get_bool (env, result);
328+ return napi_util::get_bool (env, result) == false ;
345329#endif
346330 }
347331
@@ -449,10 +433,10 @@ namespace napi_util {
449433 napi_value argv[2 ];
450434
451435 napi_get_global (env, &global);
452- napi_get_property (env, global, Constants::Get (env)-> objectValue (env) , &global_object);
453- napi_get_property (env, global_object, Constants::Get (env)-> setPrototypeOfValue (env) , &set_proto);
454- napi_get_property (env, ctor, Constants::Get (env)-> prototypeValue (env) , &ctor_proto_prop);
455- napi_get_property (env, super_ctor, Constants::Get (env)-> prototypeValue (env) , &super_ctor_proto_prop);
436+ napi_get_named_property (env, global, OBJECT , &global_object);
437+ napi_get_named_property (env, global_object, SET_PROTOTYPE_OF , &set_proto);
438+ napi_get_named_property (env, ctor, PROTOTYPE , &ctor_proto_prop);
439+ napi_get_named_property (env, super_ctor, PROTOTYPE , &super_ctor_proto_prop);
456440
457441 bool exception;
458442
0 commit comments