@@ -37,6 +37,28 @@ napi_value Echo(napi_env env, napi_callback_info info) {
37
37
return args [0 ];
38
38
}
39
39
40
+ napi_value HasNamedProperty (napi_env env , napi_callback_info info ) {
41
+ size_t argc = 2 ;
42
+ napi_value args [2 ];
43
+ NAPI_CALL (env , napi_get_cb_info (env , info , & argc , args , NULL , NULL ));
44
+
45
+ NAPI_ASSERT (env , argc == 2 , "Wrong number of arguments" );
46
+
47
+ // Extract the name of the property to check
48
+ char buffer [128 ];
49
+ size_t copied ;
50
+ NAPI_CALL (env ,
51
+ napi_get_value_string_utf8 (env , args [1 ], buffer , sizeof (buffer ), & copied ));
52
+
53
+ // do the check and create the boolean return value
54
+ bool value ;
55
+ napi_value result ;
56
+ NAPI_CALL (env , napi_has_named_property (env , args [0 ], buffer , & value ));
57
+ NAPI_CALL (env , napi_get_boolean (env , value , & result ));
58
+
59
+ return result ;
60
+ }
61
+
40
62
void Init (napi_env env , napi_value exports , napi_value module , void * priv ) {
41
63
napi_value number ;
42
64
NAPI_CALL_RETURN_VOID (env , napi_create_number (env , value_ , & number ));
@@ -50,6 +72,7 @@ void Init(napi_env env, napi_value exports, napi_value module, void* priv) {
50
72
{ "readwriteAccessor2" , 0 , 0 , GetValue , SetValue , 0 , napi_writable , 0 },
51
73
{ "readonlyAccessor1" , 0 , 0 , GetValue , NULL , 0 , napi_default , 0 },
52
74
{ "readonlyAccessor2" , 0 , 0 , GetValue , NULL , 0 , napi_writable , 0 },
75
+ { "hasNamedProperty" , 0 , HasNamedProperty , 0 , 0 , 0 , napi_default , 0 },
53
76
};
54
77
55
78
NAPI_CALL_RETURN_VOID (env , napi_define_properties (
0 commit comments