@@ -97,6 +97,15 @@ static napi_value External(napi_env env, napi_callback_info info) {
97
97
return output_array ;
98
98
}
99
99
100
+
101
+ static napi_value NullArrayBuffer (napi_env env , napi_callback_info info ) {
102
+ static void * data = NULL ;
103
+ napi_value arraybuffer ;
104
+ NAPI_CALL (env ,
105
+ napi_create_external_arraybuffer (env , data , 0 , NULL , NULL , & arraybuffer ));
106
+ return arraybuffer ;
107
+ }
108
+
100
109
static napi_value CreateTypedArray (napi_env env , napi_callback_info info ) {
101
110
size_t argc = 4 ;
102
111
napi_value args [4 ];
@@ -183,13 +192,36 @@ static napi_value Detach(napi_env env, napi_callback_info info) {
183
192
return NULL ;
184
193
}
185
194
195
+ static napi_value IsDetached (napi_env env , napi_callback_info info ) {
196
+ size_t argc = 1 ;
197
+ napi_value args [1 ];
198
+ NAPI_CALL (env , napi_get_cb_info (env , info , & argc , args , NULL , NULL ));
199
+ NAPI_ASSERT (env , argc == 1 , "Wrong number of arguments." );
200
+
201
+ napi_value array_buffer = args [0 ];
202
+ bool is_arraybuffer ;
203
+ NAPI_CALL (env , napi_is_arraybuffer (env , array_buffer , & is_arraybuffer ));
204
+ NAPI_ASSERT (env , is_arraybuffer ,
205
+ "Wrong type of arguments. Expects an array buffer as first argument." );
206
+
207
+ bool is_detached ;
208
+ NAPI_CALL (env , napi_is_detached_arraybuffer (env , array_buffer , & is_detached ));
209
+
210
+ napi_value result ;
211
+ NAPI_CALL (env , napi_get_boolean (env , is_detached , & result ));
212
+
213
+ return result ;
214
+ }
215
+
186
216
EXTERN_C_START
187
217
napi_value Init (napi_env env , napi_value exports ) {
188
218
napi_property_descriptor descriptors [] = {
189
219
DECLARE_NAPI_PROPERTY ("Multiply" , Multiply ),
190
220
DECLARE_NAPI_PROPERTY ("External" , External ),
221
+ DECLARE_NAPI_PROPERTY ("NullArrayBuffer" , NullArrayBuffer ),
191
222
DECLARE_NAPI_PROPERTY ("CreateTypedArray" , CreateTypedArray ),
192
223
DECLARE_NAPI_PROPERTY ("Detach" , Detach ),
224
+ DECLARE_NAPI_PROPERTY ("IsDetached" , IsDetached ),
193
225
};
194
226
195
227
NAPI_CALL (env , napi_define_properties (
0 commit comments