@@ -84,6 +84,41 @@ napi_value TestHasElement(napi_env env, napi_callback_info info) {
84
84
return ret ;
85
85
}
86
86
87
+ napi_value TestDeleteElement (napi_env env , napi_callback_info info ) {
88
+ size_t argc = 2 ;
89
+ napi_value args [2 ];
90
+
91
+ NAPI_CALL (env , napi_get_cb_info (env , info , & argc , args , NULL , NULL ));
92
+ NAPI_ASSERT (env , argc == 2 , "Wrong number of arguments" );
93
+
94
+ napi_valuetype valuetype0 ;
95
+ NAPI_CALL (env , napi_typeof (env , args [0 ], & valuetype0 ));
96
+ NAPI_ASSERT (env , valuetype0 == napi_object ,
97
+ "Wrong type of arguments. Expects an array as first argument." );
98
+
99
+ napi_valuetype valuetype1 ;
100
+ NAPI_CALL (env , napi_typeof (env , args [1 ], & valuetype1 ));
101
+ NAPI_ASSERT (env , valuetype1 == napi_number ,
102
+ "Wrong type of arguments. Expects an integer as second argument." );
103
+
104
+ napi_value array = args [0 ];
105
+ int32_t index ;
106
+ bool result ;
107
+ napi_value ret ;
108
+
109
+ NAPI_CALL (env , napi_get_value_int32 (env , args [1 ], & index ));
110
+ NAPI_CALL (env , napi_is_array (env , array , & result ));
111
+
112
+ if (!result ) {
113
+ return NULL ;
114
+ }
115
+
116
+ NAPI_CALL (env , napi_delete_element (env , array , index , & result ));
117
+ NAPI_CALL (env , napi_get_boolean (env , result , & ret ));
118
+
119
+ return ret ;
120
+ }
121
+
87
122
napi_value New (napi_env env , napi_callback_info info ) {
88
123
size_t argc = 1 ;
89
124
napi_value args [1 ];
@@ -138,6 +173,7 @@ void Init(napi_env env, napi_value exports, napi_value module, void* priv) {
138
173
napi_property_descriptor descriptors [] = {
139
174
DECLARE_NAPI_PROPERTY ("TestGetElement" , TestGetElement ),
140
175
DECLARE_NAPI_PROPERTY ("TestHasElement" , TestHasElement ),
176
+ DECLARE_NAPI_PROPERTY ("TestDeleteElement" , TestDeleteElement ),
141
177
DECLARE_NAPI_PROPERTY ("New" , New ),
142
178
DECLARE_NAPI_PROPERTY ("NewWithLength" , NewWithLength ),
143
179
};
0 commit comments