feat: update headers from nodejs/node tag v22.7.0
diff --git a/include/js_native_api.h b/include/js_native_api.h
index 65584ac..b4d349e 100644
--- a/include/js_native_api.h
+++ b/include/js_native_api.h
@@ -46,7 +46,7 @@
EXTERN_C_START
NAPI_EXTERN napi_status NAPI_CDECL napi_get_last_error_info(
- node_api_nogc_env env, const napi_extended_error_info** result);
+ node_api_basic_env env, const napi_extended_error_info** result);
// Getters for defined singletons
NAPI_EXTERN napi_status NAPI_CDECL napi_get_undefined(napi_env env,
@@ -290,12 +290,13 @@
napi_value* result);
// Methods to work with external data objects
-NAPI_EXTERN napi_status NAPI_CDECL napi_wrap(napi_env env,
- napi_value js_object,
- void* native_object,
- node_api_nogc_finalize finalize_cb,
- void* finalize_hint,
- napi_ref* result);
+NAPI_EXTERN napi_status NAPI_CDECL
+napi_wrap(napi_env env,
+ napi_value js_object,
+ void* native_object,
+ node_api_basic_finalize finalize_cb,
+ void* finalize_hint,
+ napi_ref* result);
NAPI_EXTERN napi_status NAPI_CDECL napi_unwrap(napi_env env,
napi_value js_object,
void** result);
@@ -305,7 +306,7 @@
NAPI_EXTERN napi_status NAPI_CDECL
napi_create_external(napi_env env,
void* data,
- node_api_nogc_finalize finalize_cb,
+ node_api_basic_finalize finalize_cb,
void* finalize_hint,
napi_value* result);
NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_external(napi_env env,
@@ -404,7 +405,7 @@
napi_create_external_arraybuffer(napi_env env,
void* external_data,
size_t byte_length,
- node_api_nogc_finalize finalize_cb,
+ node_api_basic_finalize finalize_cb,
void* finalize_hint,
napi_value* result);
#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
@@ -446,7 +447,7 @@
size_t* byte_offset);
// version management
-NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_nogc_env env,
+NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_basic_env env,
uint32_t* result);
// Promises
@@ -470,7 +471,7 @@
// Memory management
NAPI_EXTERN napi_status NAPI_CDECL napi_adjust_external_memory(
- node_api_nogc_env env, int64_t change_in_bytes, int64_t* adjusted_value);
+ node_api_basic_env env, int64_t change_in_bytes, int64_t* adjusted_value);
#if NAPI_VERSION >= 5
@@ -492,7 +493,7 @@
napi_add_finalizer(napi_env env,
napi_value js_object,
void* finalize_data,
- node_api_nogc_finalize finalize_cb,
+ node_api_basic_finalize finalize_cb,
void* finalize_hint,
napi_ref* result);
@@ -537,13 +538,13 @@
// Instance data
NAPI_EXTERN napi_status NAPI_CDECL
-napi_set_instance_data(node_api_nogc_env env,
+napi_set_instance_data(node_api_basic_env env,
void* data,
napi_finalize finalize_cb,
void* finalize_hint);
-NAPI_EXTERN napi_status NAPI_CDECL napi_get_instance_data(node_api_nogc_env env,
- void** data);
+NAPI_EXTERN napi_status NAPI_CDECL
+napi_get_instance_data(node_api_basic_env env, void** data);
#endif // NAPI_VERSION >= 6
#if NAPI_VERSION >= 7
diff --git a/include/js_native_api_types.h b/include/js_native_api_types.h
index 7cb5b08..43e7bb7 100644
--- a/include/js_native_api_types.h
+++ b/include/js_native_api_types.h
@@ -27,7 +27,7 @@
// meaning that they do not affect the state of the JS engine, and can
// therefore be called synchronously from a finalizer that itself runs
// synchronously during GC. Such APIs can receive either a `napi_env` or a
-// `node_api_nogc_env` as their first parameter, because we should be able to
+// `node_api_basic_env` as their first parameter, because we should be able to
// also call them during normal, non-garbage-collecting operations, whereas
// APIs that affect the state of the JS engine can only receive a `napi_env` as
// their first parameter, because we must not call them during GC. In lieu of
@@ -37,19 +37,21 @@
// expecting a non-const value.
//
// In conjunction with appropriate CFLAGS to warn us if we're passing a const
-// (nogc) environment into an API that expects a non-const environment, and the
-// definition of nogc finalizer function pointer types below, which receive a
-// nogc environment as their first parameter, and can thus only call nogc APIs
-// (unless the user explicitly casts the environment), we achieve the ability
-// to ensure at compile time that we do not call APIs that affect the state of
-// the JS engine from a synchronous (nogc) finalizer.
+// (basic) environment into an API that expects a non-const environment, and
+// the definition of basic finalizer function pointer types below, which
+// receive a basic environment as their first parameter, and can thus only call
+// basic APIs (unless the user explicitly casts the environment), we achieve
+// the ability to ensure at compile time that we do not call APIs that affect
+// the state of the JS engine from a synchronous (basic) finalizer.
#if !defined(NAPI_EXPERIMENTAL) || \
(defined(NAPI_EXPERIMENTAL) && \
- defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT))
+ (defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT) || \
+ defined(NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT)))
typedef struct napi_env__* node_api_nogc_env;
#else
typedef const struct napi_env__* node_api_nogc_env;
#endif
+typedef node_api_nogc_env node_api_basic_env;
typedef struct napi_value__* napi_value;
typedef struct napi_ref__* napi_ref;
@@ -147,13 +149,15 @@
#if !defined(NAPI_EXPERIMENTAL) || \
(defined(NAPI_EXPERIMENTAL) && \
- defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT))
+ (defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT) || \
+ defined(NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT)))
typedef napi_finalize node_api_nogc_finalize;
#else
typedef void(NAPI_CDECL* node_api_nogc_finalize)(node_api_nogc_env env,
void* finalize_data,
void* finalize_hint);
#endif
+typedef node_api_nogc_finalize node_api_basic_finalize;
typedef struct {
// One of utf8name or name should be NULL.
diff --git a/include/node_api.h b/include/node_api.h
index e94ee48..526cdd5 100644
--- a/include/node_api.h
+++ b/include/node_api.h
@@ -131,7 +131,7 @@
napi_create_external_buffer(napi_env env,
size_t length,
void* data,
- node_api_nogc_finalize finalize_cb,
+ node_api_basic_finalize finalize_cb,
void* finalize_hint,
napi_value* result);
#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
@@ -159,20 +159,20 @@
napi_async_work* result);
NAPI_EXTERN napi_status NAPI_CDECL napi_delete_async_work(napi_env env,
napi_async_work work);
-NAPI_EXTERN napi_status NAPI_CDECL napi_queue_async_work(node_api_nogc_env env,
+NAPI_EXTERN napi_status NAPI_CDECL napi_queue_async_work(node_api_basic_env env,
napi_async_work work);
-NAPI_EXTERN napi_status NAPI_CDECL napi_cancel_async_work(node_api_nogc_env env,
- napi_async_work work);
+NAPI_EXTERN napi_status NAPI_CDECL
+napi_cancel_async_work(node_api_basic_env env, napi_async_work work);
// version management
-NAPI_EXTERN napi_status NAPI_CDECL
-napi_get_node_version(node_api_nogc_env env, const napi_node_version** version);
+NAPI_EXTERN napi_status NAPI_CDECL napi_get_node_version(
+ node_api_basic_env env, const napi_node_version** version);
#if NAPI_VERSION >= 2
// Return the current libuv event loop for a given environment
NAPI_EXTERN napi_status NAPI_CDECL
-napi_get_uv_event_loop(node_api_nogc_env env, struct uv_loop_s** loop);
+napi_get_uv_event_loop(node_api_basic_env env, struct uv_loop_s** loop);
#endif // NAPI_VERSION >= 2
@@ -182,10 +182,10 @@
napi_value err);
NAPI_EXTERN napi_status NAPI_CDECL napi_add_env_cleanup_hook(
- node_api_nogc_env env, napi_cleanup_hook fun, void* arg);
+ node_api_basic_env env, napi_cleanup_hook fun, void* arg);
NAPI_EXTERN napi_status NAPI_CDECL napi_remove_env_cleanup_hook(
- node_api_nogc_env env, napi_cleanup_hook fun, void* arg);
+ node_api_basic_env env, napi_cleanup_hook fun, void* arg);
NAPI_EXTERN napi_status NAPI_CDECL
napi_open_callback_scope(napi_env env,
@@ -229,17 +229,17 @@
napi_threadsafe_function func, napi_threadsafe_function_release_mode mode);
NAPI_EXTERN napi_status NAPI_CDECL napi_unref_threadsafe_function(
- node_api_nogc_env env, napi_threadsafe_function func);
+ node_api_basic_env env, napi_threadsafe_function func);
NAPI_EXTERN napi_status NAPI_CDECL napi_ref_threadsafe_function(
- node_api_nogc_env env, napi_threadsafe_function func);
+ node_api_basic_env env, napi_threadsafe_function func);
#endif // NAPI_VERSION >= 4
#if NAPI_VERSION >= 8
NAPI_EXTERN napi_status NAPI_CDECL
-napi_add_async_cleanup_hook(node_api_nogc_env env,
+napi_add_async_cleanup_hook(node_api_basic_env env,
napi_async_cleanup_hook hook,
void* arg,
napi_async_cleanup_hook_handle* remove_handle);
@@ -252,7 +252,7 @@
#if NAPI_VERSION >= 9
NAPI_EXTERN napi_status NAPI_CDECL
-node_api_get_module_file_name(node_api_nogc_env env, const char** result);
+node_api_get_module_file_name(node_api_basic_env env, const char** result);
#endif // NAPI_VERSION >= 9