@@ -84,6 +84,41 @@ napi_value TestHasElement(napi_env env, napi_callback_info info) {
8484 return ret ;
8585}
8686
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+
87122napi_value New (napi_env env , napi_callback_info info ) {
88123 size_t argc = 1 ;
89124 napi_value args [1 ];
@@ -138,6 +173,7 @@ void Init(napi_env env, napi_value exports, napi_value module, void* priv) {
138173 napi_property_descriptor descriptors [] = {
139174 DECLARE_NAPI_PROPERTY ("TestGetElement" , TestGetElement ),
140175 DECLARE_NAPI_PROPERTY ("TestHasElement" , TestHasElement ),
176+ DECLARE_NAPI_PROPERTY ("TestDeleteElement" , TestDeleteElement ),
141177 DECLARE_NAPI_PROPERTY ("New" , New ),
142178 DECLARE_NAPI_PROPERTY ("NewWithLength" , NewWithLength ),
143179 };
0 commit comments