Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/node/js_native_api.h
$ cat -n /usr/include/node/js_native_api.h 1 #ifndef SRC_JS_NATIVE_API_H_ 2 #define SRC_JS_NATIVE_API_H_ 3 4 // This file needs to be compatible with C compilers. 5 #include
// NOLINT(modernize-deprecated-headers) 6 #include
// NOLINT(modernize-deprecated-headers) 7 8 // Use INT_MAX, this should only be consumed by the pre-processor anyway. 9 #define NAPI_VERSION_EXPERIMENTAL 2147483647 10 #ifndef NAPI_VERSION 11 #ifdef NAPI_EXPERIMENTAL 12 #define NAPI_VERSION NAPI_VERSION_EXPERIMENTAL 13 #else 14 // The baseline version for N-API. 15 // The NAPI_VERSION controls which version will be used by default when 16 // compilling a native addon. If the addon developer specifically wants to use 17 // functions available in a new version of N-API that is not yet ported in all 18 // LTS versions, they can set NAPI_VERSION knowing that they have specifically 19 // depended on that version. 20 #define NAPI_VERSION 8 21 #endif 22 #endif 23 24 #include "js_native_api_types.h" 25 26 // If you need __declspec(dllimport), either include
instead, or 27 // define NAPI_EXTERN as __declspec(dllimport) on the compiler's command line. 28 #ifndef NAPI_EXTERN 29 #ifdef _WIN32 30 #define NAPI_EXTERN __declspec(dllexport) 31 #elif defined(__wasm__) 32 #define NAPI_EXTERN \ 33 __attribute__((visibility("default"))) \ 34 __attribute__((__import_module__("napi"))) 35 #else 36 #define NAPI_EXTERN __attribute__((visibility("default"))) 37 #endif 38 #endif 39 40 #define NAPI_AUTO_LENGTH SIZE_MAX 41 42 #ifdef __cplusplus 43 #define EXTERN_C_START extern "C" { 44 #define EXTERN_C_END } 45 #else 46 #define EXTERN_C_START 47 #define EXTERN_C_END 48 #endif 49 50 EXTERN_C_START 51 52 NAPI_EXTERN napi_status NAPI_CDECL napi_get_last_error_info( 53 node_api_basic_env env, const napi_extended_error_info** result); 54 55 // Getters for defined singletons 56 NAPI_EXTERN napi_status NAPI_CDECL napi_get_undefined(napi_env env, 57 napi_value* result); 58 NAPI_EXTERN napi_status NAPI_CDECL napi_get_null(napi_env env, 59 napi_value* result); 60 NAPI_EXTERN napi_status NAPI_CDECL napi_get_global(napi_env env, 61 napi_value* result); 62 NAPI_EXTERN napi_status NAPI_CDECL napi_get_boolean(napi_env env, 63 bool value, 64 napi_value* result); 65 66 // Methods to create Primitive types/Objects 67 NAPI_EXTERN napi_status NAPI_CDECL napi_create_object(napi_env env, 68 napi_value* result); 69 NAPI_EXTERN napi_status NAPI_CDECL napi_create_array(napi_env env, 70 napi_value* result); 71 NAPI_EXTERN napi_status NAPI_CDECL 72 napi_create_array_with_length(napi_env env, size_t length, napi_value* result); 73 NAPI_EXTERN napi_status NAPI_CDECL napi_create_double(napi_env env, 74 double value, 75 napi_value* result); 76 NAPI_EXTERN napi_status NAPI_CDECL napi_create_int32(napi_env env, 77 int32_t value, 78 napi_value* result); 79 NAPI_EXTERN napi_status NAPI_CDECL napi_create_uint32(napi_env env, 80 uint32_t value, 81 napi_value* result); 82 NAPI_EXTERN napi_status NAPI_CDECL napi_create_int64(napi_env env, 83 int64_t value, 84 napi_value* result); 85 NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_latin1( 86 napi_env env, const char* str, size_t length, napi_value* result); 87 NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf8(napi_env env, 88 const char* str, 89 size_t length, 90 napi_value* result); 91 NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf16(napi_env env, 92 const char16_t* str, 93 size_t length, 94 napi_value* result); 95 #if NAPI_VERSION >= 10 96 NAPI_EXTERN napi_status NAPI_CDECL node_api_create_external_string_latin1( 97 napi_env env, 98 char* str, 99 size_t length, 100 node_api_basic_finalize finalize_callback, 101 void* finalize_hint, 102 napi_value* result, 103 bool* copied); 104 NAPI_EXTERN napi_status NAPI_CDECL 105 node_api_create_external_string_utf16(napi_env env, 106 char16_t* str, 107 size_t length, 108 node_api_basic_finalize finalize_callback, 109 void* finalize_hint, 110 napi_value* result, 111 bool* copied); 112 113 NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_latin1( 114 napi_env env, const char* str, size_t length, napi_value* result); 115 NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_utf8( 116 napi_env env, const char* str, size_t length, napi_value* result); 117 NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_utf16( 118 napi_env env, const char16_t* str, size_t length, napi_value* result); 119 #endif // NAPI_VERSION >= 10 120 121 NAPI_EXTERN napi_status NAPI_CDECL napi_create_symbol(napi_env env, 122 napi_value description, 123 napi_value* result); 124 #if NAPI_VERSION >= 9 125 NAPI_EXTERN napi_status NAPI_CDECL 126 node_api_symbol_for(napi_env env, 127 const char* utf8description, 128 size_t length, 129 napi_value* result); 130 #endif // NAPI_VERSION >= 9 131 NAPI_EXTERN napi_status NAPI_CDECL napi_create_function(napi_env env, 132 const char* utf8name, 133 size_t length, 134 napi_callback cb, 135 void* data, 136 napi_value* result); 137 NAPI_EXTERN napi_status NAPI_CDECL napi_create_error(napi_env env, 138 napi_value code, 139 napi_value msg, 140 napi_value* result); 141 NAPI_EXTERN napi_status NAPI_CDECL napi_create_type_error(napi_env env, 142 napi_value code, 143 napi_value msg, 144 napi_value* result); 145 NAPI_EXTERN napi_status NAPI_CDECL napi_create_range_error(napi_env env, 146 napi_value code, 147 napi_value msg, 148 napi_value* result); 149 #if NAPI_VERSION >= 9 150 NAPI_EXTERN napi_status NAPI_CDECL node_api_create_syntax_error( 151 napi_env env, napi_value code, napi_value msg, napi_value* result); 152 #endif // NAPI_VERSION >= 9 153 154 // Methods to get the native napi_value from Primitive type 155 NAPI_EXTERN napi_status NAPI_CDECL napi_typeof(napi_env env, 156 napi_value value, 157 napi_valuetype* result); 158 NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_double(napi_env env, 159 napi_value value, 160 double* result); 161 NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_int32(napi_env env, 162 napi_value value, 163 int32_t* result); 164 NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_uint32(napi_env env, 165 napi_value value, 166 uint32_t* result); 167 NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_int64(napi_env env, 168 napi_value value, 169 int64_t* result); 170 NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_bool(napi_env env, 171 napi_value value, 172 bool* result); 173 174 // Copies LATIN-1 encoded bytes from a string into a buffer. 175 NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_string_latin1( 176 napi_env env, napi_value value, char* buf, size_t bufsize, size_t* result); 177 178 // Copies UTF-8 encoded bytes from a string into a buffer. 179 NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_string_utf8( 180 napi_env env, napi_value value, char* buf, size_t bufsize, size_t* result); 181 182 // Copies UTF-16 encoded bytes from a string into a buffer. 183 NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_string_utf16(napi_env env, 184 napi_value value, 185 char16_t* buf, 186 size_t bufsize, 187 size_t* result); 188 189 // Methods to coerce values 190 // These APIs may execute user scripts 191 NAPI_EXTERN napi_status NAPI_CDECL napi_coerce_to_bool(napi_env env, 192 napi_value value, 193 napi_value* result); 194 NAPI_EXTERN napi_status NAPI_CDECL napi_coerce_to_number(napi_env env, 195 napi_value value, 196 napi_value* result); 197 NAPI_EXTERN napi_status NAPI_CDECL napi_coerce_to_object(napi_env env, 198 napi_value value, 199 napi_value* result); 200 NAPI_EXTERN napi_status NAPI_CDECL napi_coerce_to_string(napi_env env, 201 napi_value value, 202 napi_value* result); 203 204 // Methods to work with Objects 205 NAPI_EXTERN napi_status NAPI_CDECL napi_get_prototype(napi_env env, 206 napi_value object, 207 napi_value* result); 208 NAPI_EXTERN napi_status NAPI_CDECL napi_get_property_names(napi_env env, 209 napi_value object, 210 napi_value* result); 211 NAPI_EXTERN napi_status NAPI_CDECL napi_set_property(napi_env env, 212 napi_value object, 213 napi_value key, 214 napi_value value); 215 NAPI_EXTERN napi_status NAPI_CDECL napi_has_property(napi_env env, 216 napi_value object, 217 napi_value key, 218 bool* result); 219 NAPI_EXTERN napi_status NAPI_CDECL napi_get_property(napi_env env, 220 napi_value object, 221 napi_value key, 222 napi_value* result); 223 NAPI_EXTERN napi_status NAPI_CDECL napi_delete_property(napi_env env, 224 napi_value object, 225 napi_value key, 226 bool* result); 227 NAPI_EXTERN napi_status NAPI_CDECL napi_has_own_property(napi_env env, 228 napi_value object, 229 napi_value key, 230 bool* result); 231 NAPI_EXTERN napi_status NAPI_CDECL napi_set_named_property(napi_env env, 232 napi_value object, 233 const char* utf8name, 234 napi_value value); 235 NAPI_EXTERN napi_status NAPI_CDECL napi_has_named_property(napi_env env, 236 napi_value object, 237 const char* utf8name, 238 bool* result); 239 NAPI_EXTERN napi_status NAPI_CDECL napi_get_named_property(napi_env env, 240 napi_value object, 241 const char* utf8name, 242 napi_value* result); 243 NAPI_EXTERN napi_status NAPI_CDECL napi_set_element(napi_env env, 244 napi_value object, 245 uint32_t index, 246 napi_value value); 247 NAPI_EXTERN napi_status NAPI_CDECL napi_has_element(napi_env env, 248 napi_value object, 249 uint32_t index, 250 bool* result); 251 NAPI_EXTERN napi_status NAPI_CDECL napi_get_element(napi_env env, 252 napi_value object, 253 uint32_t index, 254 napi_value* result); 255 NAPI_EXTERN napi_status NAPI_CDECL napi_delete_element(napi_env env, 256 napi_value object, 257 uint32_t index, 258 bool* result); 259 NAPI_EXTERN napi_status NAPI_CDECL 260 napi_define_properties(napi_env env, 261 napi_value object, 262 size_t property_count, 263 const napi_property_descriptor* properties); 264 265 // Methods to work with Arrays 266 NAPI_EXTERN napi_status NAPI_CDECL napi_is_array(napi_env env, 267 napi_value value, 268 bool* result); 269 NAPI_EXTERN napi_status NAPI_CDECL napi_get_array_length(napi_env env, 270 napi_value value, 271 uint32_t* result); 272 273 // Methods to compare values 274 NAPI_EXTERN napi_status NAPI_CDECL napi_strict_equals(napi_env env, 275 napi_value lhs, 276 napi_value rhs, 277 bool* result); 278 279 // Methods to work with Functions 280 NAPI_EXTERN napi_status NAPI_CDECL napi_call_function(napi_env env, 281 napi_value recv, 282 napi_value func, 283 size_t argc, 284 const napi_value* argv, 285 napi_value* result); 286 NAPI_EXTERN napi_status NAPI_CDECL napi_new_instance(napi_env env, 287 napi_value constructor, 288 size_t argc, 289 const napi_value* argv, 290 napi_value* result); 291 NAPI_EXTERN napi_status NAPI_CDECL napi_instanceof(napi_env env, 292 napi_value object, 293 napi_value constructor, 294 bool* result); 295 296 // Methods to work with napi_callbacks 297 298 // Gets all callback info in a single call. (Ugly, but faster.) 299 NAPI_EXTERN napi_status NAPI_CDECL napi_get_cb_info( 300 napi_env env, // [in] Node-API environment handle 301 napi_callback_info cbinfo, // [in] Opaque callback-info handle 302 size_t* argc, // [in-out] Specifies the size of the provided argv array 303 // and receives the actual count of args. 304 napi_value* argv, // [out] Array of values 305 napi_value* this_arg, // [out] Receives the JS 'this' arg for the call 306 void** data); // [out] Receives the data pointer for the callback. 307 308 NAPI_EXTERN napi_status NAPI_CDECL napi_get_new_target( 309 napi_env env, napi_callback_info cbinfo, napi_value* result); 310 NAPI_EXTERN napi_status NAPI_CDECL 311 napi_define_class(napi_env env, 312 const char* utf8name, 313 size_t length, 314 napi_callback constructor, 315 void* data, 316 size_t property_count, 317 const napi_property_descriptor* properties, 318 napi_value* result); 319 320 // Methods to work with external data objects 321 NAPI_EXTERN napi_status NAPI_CDECL 322 napi_wrap(napi_env env, 323 napi_value js_object, 324 void* native_object, 325 node_api_basic_finalize finalize_cb, 326 void* finalize_hint, 327 napi_ref* result); 328 NAPI_EXTERN napi_status NAPI_CDECL napi_unwrap(napi_env env, 329 napi_value js_object, 330 void** result); 331 NAPI_EXTERN napi_status NAPI_CDECL napi_remove_wrap(napi_env env, 332 napi_value js_object, 333 void** result); 334 NAPI_EXTERN napi_status NAPI_CDECL 335 napi_create_external(napi_env env, 336 void* data, 337 node_api_basic_finalize finalize_cb, 338 void* finalize_hint, 339 napi_value* result); 340 NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_external(napi_env env, 341 napi_value value, 342 void** result); 343 344 // Methods to control object lifespan 345 346 // Set initial_refcount to 0 for a weak reference, >0 for a strong reference. 347 NAPI_EXTERN napi_status NAPI_CDECL 348 napi_create_reference(napi_env env, 349 napi_value value, 350 uint32_t initial_refcount, 351 napi_ref* result); 352 353 // Deletes a reference. The referenced value is released, and may 354 // be GC'd unless there are other references to it. 355 NAPI_EXTERN napi_status NAPI_CDECL napi_delete_reference(napi_env env, 356 napi_ref ref); 357 358 // Increments the reference count, optionally returning the resulting count. 359 // After this call the reference will be a strong reference because its 360 // refcount is >0, and the referenced object is effectively "pinned". 361 // Calling this when the refcount is 0 and the object is unavailable 362 // results in an error. 363 NAPI_EXTERN napi_status NAPI_CDECL napi_reference_ref(napi_env env, 364 napi_ref ref, 365 uint32_t* result); 366 367 // Decrements the reference count, optionally returning the resulting count. 368 // If the result is 0 the reference is now weak and the object may be GC'd 369 // at any time if there are no other references. Calling this when the 370 // refcount is already 0 results in an error. 371 NAPI_EXTERN napi_status NAPI_CDECL napi_reference_unref(napi_env env, 372 napi_ref ref, 373 uint32_t* result); 374 375 // Attempts to get a referenced value. If the reference is weak, 376 // the value might no longer be available, in that case the call 377 // is still successful but the result is NULL. 378 NAPI_EXTERN napi_status NAPI_CDECL napi_get_reference_value(napi_env env, 379 napi_ref ref, 380 napi_value* result); 381 382 NAPI_EXTERN napi_status NAPI_CDECL 383 napi_open_handle_scope(napi_env env, napi_handle_scope* result); 384 NAPI_EXTERN napi_status NAPI_CDECL 385 napi_close_handle_scope(napi_env env, napi_handle_scope scope); 386 NAPI_EXTERN napi_status NAPI_CDECL napi_open_escapable_handle_scope( 387 napi_env env, napi_escapable_handle_scope* result); 388 NAPI_EXTERN napi_status NAPI_CDECL napi_close_escapable_handle_scope( 389 napi_env env, napi_escapable_handle_scope scope); 390 391 NAPI_EXTERN napi_status NAPI_CDECL 392 napi_escape_handle(napi_env env, 393 napi_escapable_handle_scope scope, 394 napi_value escapee, 395 napi_value* result); 396 397 // Methods to support error handling 398 NAPI_EXTERN napi_status NAPI_CDECL napi_throw(napi_env env, napi_value error); 399 NAPI_EXTERN napi_status NAPI_CDECL napi_throw_error(napi_env env, 400 const char* code, 401 const char* msg); 402 NAPI_EXTERN napi_status NAPI_CDECL napi_throw_type_error(napi_env env, 403 const char* code, 404 const char* msg); 405 NAPI_EXTERN napi_status NAPI_CDECL napi_throw_range_error(napi_env env, 406 const char* code, 407 const char* msg); 408 #if NAPI_VERSION >= 9 409 NAPI_EXTERN napi_status NAPI_CDECL node_api_throw_syntax_error(napi_env env, 410 const char* code, 411 const char* msg); 412 #endif // NAPI_VERSION >= 9 413 NAPI_EXTERN napi_status NAPI_CDECL napi_is_error(napi_env env, 414 napi_value value, 415 bool* result); 416 417 // Methods to support catching exceptions 418 NAPI_EXTERN napi_status NAPI_CDECL napi_is_exception_pending(napi_env env, 419 bool* result); 420 NAPI_EXTERN napi_status NAPI_CDECL 421 napi_get_and_clear_last_exception(napi_env env, napi_value* result); 422 423 // Methods to work with array buffers and typed arrays 424 NAPI_EXTERN napi_status NAPI_CDECL napi_is_arraybuffer(napi_env env, 425 napi_value value, 426 bool* result); 427 NAPI_EXTERN napi_status NAPI_CDECL napi_create_arraybuffer(napi_env env, 428 size_t byte_length, 429 void** data, 430 napi_value* result); 431 #ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED 432 NAPI_EXTERN napi_status NAPI_CDECL 433 napi_create_external_arraybuffer(napi_env env, 434 void* external_data, 435 size_t byte_length, 436 node_api_basic_finalize finalize_cb, 437 void* finalize_hint, 438 napi_value* result); 439 #endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED 440 NAPI_EXTERN napi_status NAPI_CDECL napi_get_arraybuffer_info( 441 napi_env env, napi_value arraybuffer, void** data, size_t* byte_length); 442 NAPI_EXTERN napi_status NAPI_CDECL napi_is_typedarray(napi_env env, 443 napi_value value, 444 bool* result); 445 NAPI_EXTERN napi_status NAPI_CDECL 446 napi_create_typedarray(napi_env env, 447 napi_typedarray_type type, 448 size_t length, 449 napi_value arraybuffer, 450 size_t byte_offset, 451 napi_value* result); 452 NAPI_EXTERN napi_status NAPI_CDECL 453 napi_get_typedarray_info(napi_env env, 454 napi_value typedarray, 455 napi_typedarray_type* type, 456 size_t* length, 457 void** data, 458 napi_value* arraybuffer, 459 size_t* byte_offset); 460 461 NAPI_EXTERN napi_status NAPI_CDECL napi_create_dataview(napi_env env, 462 size_t length, 463 napi_value arraybuffer, 464 size_t byte_offset, 465 napi_value* result); 466 NAPI_EXTERN napi_status NAPI_CDECL napi_is_dataview(napi_env env, 467 napi_value value, 468 bool* result); 469 NAPI_EXTERN napi_status NAPI_CDECL 470 napi_get_dataview_info(napi_env env, 471 napi_value dataview, 472 size_t* bytelength, 473 void** data, 474 napi_value* arraybuffer, 475 size_t* byte_offset); 476 477 // version management 478 NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_basic_env env, 479 uint32_t* result); 480 481 // Promises 482 NAPI_EXTERN napi_status NAPI_CDECL napi_create_promise(napi_env env, 483 napi_deferred* deferred, 484 napi_value* promise); 485 NAPI_EXTERN napi_status NAPI_CDECL napi_resolve_deferred(napi_env env, 486 napi_deferred deferred, 487 napi_value resolution); 488 NAPI_EXTERN napi_status NAPI_CDECL napi_reject_deferred(napi_env env, 489 napi_deferred deferred, 490 napi_value rejection); 491 NAPI_EXTERN napi_status NAPI_CDECL napi_is_promise(napi_env env, 492 napi_value value, 493 bool* is_promise); 494 495 // Running a script 496 NAPI_EXTERN napi_status NAPI_CDECL napi_run_script(napi_env env, 497 napi_value script, 498 napi_value* result); 499 500 // Memory management 501 NAPI_EXTERN napi_status NAPI_CDECL napi_adjust_external_memory( 502 node_api_basic_env env, int64_t change_in_bytes, int64_t* adjusted_value); 503 504 #if NAPI_VERSION >= 5 505 506 // Dates 507 NAPI_EXTERN napi_status NAPI_CDECL napi_create_date(napi_env env, 508 double time, 509 napi_value* result); 510 511 NAPI_EXTERN napi_status NAPI_CDECL napi_is_date(napi_env env, 512 napi_value value, 513 bool* is_date); 514 515 NAPI_EXTERN napi_status NAPI_CDECL napi_get_date_value(napi_env env, 516 napi_value value, 517 double* result); 518 519 // Add finalizer for pointer 520 NAPI_EXTERN napi_status NAPI_CDECL 521 napi_add_finalizer(napi_env env, 522 napi_value js_object, 523 void* finalize_data, 524 node_api_basic_finalize finalize_cb, 525 void* finalize_hint, 526 napi_ref* result); 527 528 #endif // NAPI_VERSION >= 5 529 530 #ifdef NAPI_EXPERIMENTAL 531 #define NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER 532 533 NAPI_EXTERN napi_status NAPI_CDECL 534 node_api_post_finalizer(node_api_basic_env env, 535 napi_finalize finalize_cb, 536 void* finalize_data, 537 void* finalize_hint); 538 539 #endif // NAPI_EXPERIMENTAL 540 541 #if NAPI_VERSION >= 6 542 543 // BigInt 544 NAPI_EXTERN napi_status NAPI_CDECL napi_create_bigint_int64(napi_env env, 545 int64_t value, 546 napi_value* result); 547 NAPI_EXTERN napi_status NAPI_CDECL 548 napi_create_bigint_uint64(napi_env env, uint64_t value, napi_value* result); 549 NAPI_EXTERN napi_status NAPI_CDECL 550 napi_create_bigint_words(napi_env env, 551 int sign_bit, 552 size_t word_count, 553 const uint64_t* words, 554 napi_value* result); 555 NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_bigint_int64(napi_env env, 556 napi_value value, 557 int64_t* result, 558 bool* lossless); 559 NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_bigint_uint64( 560 napi_env env, napi_value value, uint64_t* result, bool* lossless); 561 NAPI_EXTERN napi_status NAPI_CDECL 562 napi_get_value_bigint_words(napi_env env, 563 napi_value value, 564 int* sign_bit, 565 size_t* word_count, 566 uint64_t* words); 567 568 // Object 569 NAPI_EXTERN napi_status NAPI_CDECL 570 napi_get_all_property_names(napi_env env, 571 napi_value object, 572 napi_key_collection_mode key_mode, 573 napi_key_filter key_filter, 574 napi_key_conversion key_conversion, 575 napi_value* result); 576 577 // Instance data 578 NAPI_EXTERN napi_status NAPI_CDECL 579 napi_set_instance_data(node_api_basic_env env, 580 void* data, 581 napi_finalize finalize_cb, 582 void* finalize_hint); 583 584 NAPI_EXTERN napi_status NAPI_CDECL 585 napi_get_instance_data(node_api_basic_env env, void** data); 586 #endif // NAPI_VERSION >= 6 587 588 #if NAPI_VERSION >= 7 589 // ArrayBuffer detaching 590 NAPI_EXTERN napi_status NAPI_CDECL 591 napi_detach_arraybuffer(napi_env env, napi_value arraybuffer); 592 593 NAPI_EXTERN napi_status NAPI_CDECL 594 napi_is_detached_arraybuffer(napi_env env, napi_value value, bool* result); 595 #endif // NAPI_VERSION >= 7 596 597 #if NAPI_VERSION >= 8 598 // Type tagging 599 NAPI_EXTERN napi_status NAPI_CDECL napi_type_tag_object( 600 napi_env env, napi_value value, const napi_type_tag* type_tag); 601 602 NAPI_EXTERN napi_status NAPI_CDECL 603 napi_check_object_type_tag(napi_env env, 604 napi_value value, 605 const napi_type_tag* type_tag, 606 bool* result); 607 NAPI_EXTERN napi_status NAPI_CDECL napi_object_freeze(napi_env env, 608 napi_value object); 609 NAPI_EXTERN napi_status NAPI_CDECL napi_object_seal(napi_env env, 610 napi_value object); 611 #endif // NAPI_VERSION >= 8 612 613 EXTERN_C_END 614 615 #endif // SRC_JS_NATIVE_API_H_
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™