Skip to content

Commit 6c73c34

Browse files
feat: update headers from nodejs/node tag v22.7.0 (#48)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 25225a3 commit 6c73c34

File tree

3 files changed

+42
-37
lines changed

3 files changed

+42
-37
lines changed

include/js_native_api.h

+16-15
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
EXTERN_C_START
4747

4848
NAPI_EXTERN napi_status NAPI_CDECL napi_get_last_error_info(
49-
node_api_nogc_env env, const napi_extended_error_info** result);
49+
node_api_basic_env env, const napi_extended_error_info** result);
5050

5151
// Getters for defined singletons
5252
NAPI_EXTERN napi_status NAPI_CDECL napi_get_undefined(napi_env env,
@@ -290,12 +290,13 @@ napi_define_class(napi_env env,
290290
napi_value* result);
291291

292292
// Methods to work with external data objects
293-
NAPI_EXTERN napi_status NAPI_CDECL napi_wrap(napi_env env,
294-
napi_value js_object,
295-
void* native_object,
296-
node_api_nogc_finalize finalize_cb,
297-
void* finalize_hint,
298-
napi_ref* result);
293+
NAPI_EXTERN napi_status NAPI_CDECL
294+
napi_wrap(napi_env env,
295+
napi_value js_object,
296+
void* native_object,
297+
node_api_basic_finalize finalize_cb,
298+
void* finalize_hint,
299+
napi_ref* result);
299300
NAPI_EXTERN napi_status NAPI_CDECL napi_unwrap(napi_env env,
300301
napi_value js_object,
301302
void** result);
@@ -305,7 +306,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_remove_wrap(napi_env env,
305306
NAPI_EXTERN napi_status NAPI_CDECL
306307
napi_create_external(napi_env env,
307308
void* data,
308-
node_api_nogc_finalize finalize_cb,
309+
node_api_basic_finalize finalize_cb,
309310
void* finalize_hint,
310311
napi_value* result);
311312
NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_external(napi_env env,
@@ -404,7 +405,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
404405
napi_create_external_arraybuffer(napi_env env,
405406
void* external_data,
406407
size_t byte_length,
407-
node_api_nogc_finalize finalize_cb,
408+
node_api_basic_finalize finalize_cb,
408409
void* finalize_hint,
409410
napi_value* result);
410411
#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
@@ -446,7 +447,7 @@ napi_get_dataview_info(napi_env env,
446447
size_t* byte_offset);
447448

448449
// version management
449-
NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_nogc_env env,
450+
NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_basic_env env,
450451
uint32_t* result);
451452

452453
// Promises
@@ -470,7 +471,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_run_script(napi_env env,
470471

471472
// Memory management
472473
NAPI_EXTERN napi_status NAPI_CDECL napi_adjust_external_memory(
473-
node_api_nogc_env env, int64_t change_in_bytes, int64_t* adjusted_value);
474+
node_api_basic_env env, int64_t change_in_bytes, int64_t* adjusted_value);
474475

475476
#if NAPI_VERSION >= 5
476477

@@ -492,7 +493,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
492493
napi_add_finalizer(napi_env env,
493494
napi_value js_object,
494495
void* finalize_data,
495-
node_api_nogc_finalize finalize_cb,
496+
node_api_basic_finalize finalize_cb,
496497
void* finalize_hint,
497498
napi_ref* result);
498499

@@ -537,13 +538,13 @@ napi_get_all_property_names(napi_env env,
537538

538539
// Instance data
539540
NAPI_EXTERN napi_status NAPI_CDECL
540-
napi_set_instance_data(node_api_nogc_env env,
541+
napi_set_instance_data(node_api_basic_env env,
541542
void* data,
542543
napi_finalize finalize_cb,
543544
void* finalize_hint);
544545

545-
NAPI_EXTERN napi_status NAPI_CDECL napi_get_instance_data(node_api_nogc_env env,
546-
void** data);
546+
NAPI_EXTERN napi_status NAPI_CDECL
547+
napi_get_instance_data(node_api_basic_env env, void** data);
547548
#endif // NAPI_VERSION >= 6
548549

549550
#if NAPI_VERSION >= 7

include/js_native_api_types.h

+13-9
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ typedef struct napi_env__* napi_env;
2727
// meaning that they do not affect the state of the JS engine, and can
2828
// therefore be called synchronously from a finalizer that itself runs
2929
// synchronously during GC. Such APIs can receive either a `napi_env` or a
30-
// `node_api_nogc_env` as their first parameter, because we should be able to
30+
// `node_api_basic_env` as their first parameter, because we should be able to
3131
// also call them during normal, non-garbage-collecting operations, whereas
3232
// APIs that affect the state of the JS engine can only receive a `napi_env` as
3333
// their first parameter, because we must not call them during GC. In lieu of
@@ -37,19 +37,21 @@ typedef struct napi_env__* napi_env;
3737
// expecting a non-const value.
3838
//
3939
// In conjunction with appropriate CFLAGS to warn us if we're passing a const
40-
// (nogc) environment into an API that expects a non-const environment, and the
41-
// definition of nogc finalizer function pointer types below, which receive a
42-
// nogc environment as their first parameter, and can thus only call nogc APIs
43-
// (unless the user explicitly casts the environment), we achieve the ability
44-
// to ensure at compile time that we do not call APIs that affect the state of
45-
// the JS engine from a synchronous (nogc) finalizer.
40+
// (basic) environment into an API that expects a non-const environment, and
41+
// the definition of basic finalizer function pointer types below, which
42+
// receive a basic environment as their first parameter, and can thus only call
43+
// basic APIs (unless the user explicitly casts the environment), we achieve
44+
// the ability to ensure at compile time that we do not call APIs that affect
45+
// the state of the JS engine from a synchronous (basic) finalizer.
4646
#if !defined(NAPI_EXPERIMENTAL) || \
4747
(defined(NAPI_EXPERIMENTAL) && \
48-
defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT))
48+
(defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT) || \
49+
defined(NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT)))
4950
typedef struct napi_env__* node_api_nogc_env;
5051
#else
5152
typedef const struct napi_env__* node_api_nogc_env;
5253
#endif
54+
typedef node_api_nogc_env node_api_basic_env;
5355

5456
typedef struct napi_value__* napi_value;
5557
typedef struct napi_ref__* napi_ref;
@@ -147,13 +149,15 @@ typedef void(NAPI_CDECL* napi_finalize)(napi_env env,
147149

148150
#if !defined(NAPI_EXPERIMENTAL) || \
149151
(defined(NAPI_EXPERIMENTAL) && \
150-
defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT))
152+
(defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT) || \
153+
defined(NODE_API_EXPERIMENTAL_BASIC_ENV_OPT_OUT)))
151154
typedef napi_finalize node_api_nogc_finalize;
152155
#else
153156
typedef void(NAPI_CDECL* node_api_nogc_finalize)(node_api_nogc_env env,
154157
void* finalize_data,
155158
void* finalize_hint);
156159
#endif
160+
typedef node_api_nogc_finalize node_api_basic_finalize;
157161

158162
typedef struct {
159163
// One of utf8name or name should be NULL.

include/node_api.h

+13-13
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
131131
napi_create_external_buffer(napi_env env,
132132
size_t length,
133133
void* data,
134-
node_api_nogc_finalize finalize_cb,
134+
node_api_basic_finalize finalize_cb,
135135
void* finalize_hint,
136136
napi_value* result);
137137
#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
@@ -159,20 +159,20 @@ napi_create_async_work(napi_env env,
159159
napi_async_work* result);
160160
NAPI_EXTERN napi_status NAPI_CDECL napi_delete_async_work(napi_env env,
161161
napi_async_work work);
162-
NAPI_EXTERN napi_status NAPI_CDECL napi_queue_async_work(node_api_nogc_env env,
162+
NAPI_EXTERN napi_status NAPI_CDECL napi_queue_async_work(node_api_basic_env env,
163163
napi_async_work work);
164-
NAPI_EXTERN napi_status NAPI_CDECL napi_cancel_async_work(node_api_nogc_env env,
165-
napi_async_work work);
164+
NAPI_EXTERN napi_status NAPI_CDECL
165+
napi_cancel_async_work(node_api_basic_env env, napi_async_work work);
166166

167167
// version management
168-
NAPI_EXTERN napi_status NAPI_CDECL
169-
napi_get_node_version(node_api_nogc_env env, const napi_node_version** version);
168+
NAPI_EXTERN napi_status NAPI_CDECL napi_get_node_version(
169+
node_api_basic_env env, const napi_node_version** version);
170170

171171
#if NAPI_VERSION >= 2
172172

173173
// Return the current libuv event loop for a given environment
174174
NAPI_EXTERN napi_status NAPI_CDECL
175-
napi_get_uv_event_loop(node_api_nogc_env env, struct uv_loop_s** loop);
175+
napi_get_uv_event_loop(node_api_basic_env env, struct uv_loop_s** loop);
176176

177177
#endif // NAPI_VERSION >= 2
178178

@@ -182,10 +182,10 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_fatal_exception(napi_env env,
182182
napi_value err);
183183

184184
NAPI_EXTERN napi_status NAPI_CDECL napi_add_env_cleanup_hook(
185-
node_api_nogc_env env, napi_cleanup_hook fun, void* arg);
185+
node_api_basic_env env, napi_cleanup_hook fun, void* arg);
186186

187187
NAPI_EXTERN napi_status NAPI_CDECL napi_remove_env_cleanup_hook(
188-
node_api_nogc_env env, napi_cleanup_hook fun, void* arg);
188+
node_api_basic_env env, napi_cleanup_hook fun, void* arg);
189189

190190
NAPI_EXTERN napi_status NAPI_CDECL
191191
napi_open_callback_scope(napi_env env,
@@ -229,17 +229,17 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_release_threadsafe_function(
229229
napi_threadsafe_function func, napi_threadsafe_function_release_mode mode);
230230

231231
NAPI_EXTERN napi_status NAPI_CDECL napi_unref_threadsafe_function(
232-
node_api_nogc_env env, napi_threadsafe_function func);
232+
node_api_basic_env env, napi_threadsafe_function func);
233233

234234
NAPI_EXTERN napi_status NAPI_CDECL napi_ref_threadsafe_function(
235-
node_api_nogc_env env, napi_threadsafe_function func);
235+
node_api_basic_env env, napi_threadsafe_function func);
236236

237237
#endif // NAPI_VERSION >= 4
238238

239239
#if NAPI_VERSION >= 8
240240

241241
NAPI_EXTERN napi_status NAPI_CDECL
242-
napi_add_async_cleanup_hook(node_api_nogc_env env,
242+
napi_add_async_cleanup_hook(node_api_basic_env env,
243243
napi_async_cleanup_hook hook,
244244
void* arg,
245245
napi_async_cleanup_hook_handle* remove_handle);
@@ -252,7 +252,7 @@ napi_remove_async_cleanup_hook(napi_async_cleanup_hook_handle remove_handle);
252252
#if NAPI_VERSION >= 9
253253

254254
NAPI_EXTERN napi_status NAPI_CDECL
255-
node_api_get_module_file_name(node_api_nogc_env env, const char** result);
255+
node_api_get_module_file_name(node_api_basic_env env, const char** result);
256256

257257
#endif // NAPI_VERSION >= 9
258258

0 commit comments

Comments
 (0)