emnapi 0.44.0 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/include/emnapi.h CHANGED
@@ -6,7 +6,7 @@
6
6
  #include "emnapi_common.h"
7
7
 
8
8
  #define EMNAPI_MAJOR_VERSION 0
9
- #define EMNAPI_MINOR_VERSION 44
9
+ #define EMNAPI_MINOR_VERSION 45
10
10
  #define EMNAPI_PATCH_VERSION 0
11
11
 
12
12
  typedef enum {
@@ -99,6 +99,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf16(napi_env env,
99
99
  size_t length,
100
100
  napi_value* result);
101
101
  #ifdef NAPI_EXPERIMENTAL
102
+ #define NODE_API_EXPERIMENTAL_HAS_EXTERNAL_STRINGS
102
103
  NAPI_EXTERN napi_status NAPI_CDECL
103
104
  node_api_create_external_string_latin1(napi_env env,
104
105
  char* str,
@@ -116,6 +117,13 @@ node_api_create_external_string_utf16(napi_env env,
116
117
  napi_value* result,
117
118
  bool* copied);
118
119
  #endif // NAPI_EXPERIMENTAL
120
+
121
+ #ifdef NAPI_EXPERIMENTAL
122
+ #define NODE_API_EXPERIMENTAL_HAS_PROPERTY_KEYS
123
+ NAPI_EXTERN napi_status NAPI_CDECL node_api_create_property_key_utf16(
124
+ napi_env env, const char16_t* str, size_t length, napi_value* result);
125
+ #endif // NAPI_EXPERIMENTAL
126
+
119
127
  NAPI_EXTERN napi_status NAPI_CDECL napi_create_symbol(napi_env env,
120
128
  napi_value description,
121
129
  napi_value* result);
@@ -524,6 +532,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_add_finalizer(napi_env env,
524
532
  #endif // NAPI_VERSION >= 5
525
533
 
526
534
  #ifdef NAPI_EXPERIMENTAL
535
+ #define NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER
527
536
 
528
537
  NAPI_EXTERN napi_status NAPI_CDECL
529
538
  node_api_post_finalizer(napi_env env,
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,5 +1,5 @@
1
- emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.36 (518d9fea335f7cd2b5771e43df76e0535c6df5dd)
2
- clang version 17.0.0 (https://github.com/llvm/llvm-project 5084abbea933b1a510556726a9e226b5ae22f19f)
1
+ emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.44 (bec42dac7873903d09d713963e34020c22a8bd2d)
2
+ clang version 17.0.0 (https://github.com/llvm/llvm-project a8cbd27d1f238e104a5d5ca345d93bc1f4d4ab1f)
3
3
  Target: wasm32-unknown-emscripten
4
4
  Thread model: posix
5
- InstalledDir: /home/runner/work/emnapi/emnapi/emsdk-cache/emsdk-main/upstream/bin
5
+ InstalledDir: /home/runner/work/_temp/14a1b1b6-9a98-4bac-8f31-5c9ebda805ed/emsdk-main/upstream/bin
Binary file
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- clang version 16.0.0
1
+ clang version 17.0.6
2
2
  Target: wasm32-unknown-wasi-threads
3
3
  Thread model: posix
4
- InstalledDir: /home/runner/work/emnapi/emnapi/wasi-sdk-20.0/bin
4
+ InstalledDir: /home/runner/work/emnapi/emnapi/wasi-sdk-21.0/bin
@@ -1,4 +1,4 @@
1
- clang version 16.0.0
1
+ clang version 17.0.6
2
2
  Target: wasm32-unknown-wasi
3
3
  Thread model: posix
4
- InstalledDir: /home/runner/work/emnapi/emnapi/wasi-sdk-20.0/bin
4
+ InstalledDir: /home/runner/work/emnapi/emnapi/wasi-sdk-21.0/bin
package/lib/wasm32.txt CHANGED
@@ -1,4 +1,4 @@
1
- clang version 16.0.0
1
+ clang version 17.0.6
2
2
  Target: wasm32
3
3
  Thread model: posix
4
- InstalledDir: /home/runner/work/emnapi/emnapi/wasi-sdk-20.0/bin
4
+ InstalledDir: /home/runner/work/emnapi/emnapi/wasi-sdk-21.0/bin
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "emnapi",
3
- "version": "0.44.0",
3
+ "version": "0.45.0",
4
4
  "description": "Node-API implementation for Emscripten",
5
5
  "main": "index.js",
6
6
  "peerDependencies": {
@@ -20,8 +20,7 @@ napi_async_init(napi_env env,
20
20
  napi_value async_resource,
21
21
  napi_value async_resource_name,
22
22
  napi_async_context* result) {
23
- CHECK_ENV(env);
24
- _emnapi_env_check_gc_access(env);
23
+ CHECK_ENV_NOT_IN_GC(env);
25
24
  CHECK_ARG(env, async_resource_name);
26
25
  CHECK_ARG(env, result);
27
26
 
@@ -39,8 +38,7 @@ napi_async_init(napi_env env,
39
38
 
40
39
  napi_status napi_async_destroy(napi_env env,
41
40
  napi_async_context async_context) {
42
- CHECK_ENV(env);
43
- _emnapi_env_check_gc_access(env);
41
+ CHECK_ENV_NOT_IN_GC(env);
44
42
  CHECK_ARG(env, async_context);
45
43
 
46
44
  napi_status status = _emnapi_async_destroy_js(async_context);
package/src/async_work.c CHANGED
@@ -148,8 +148,7 @@ napi_status napi_create_async_work(napi_env env,
148
148
  void* data,
149
149
  napi_async_work* result) {
150
150
  #if EMNAPI_HAVE_THREADS
151
- CHECK_ENV(env);
152
- _emnapi_env_check_gc_access(env);
151
+ CHECK_ENV_NOT_IN_GC(env);
153
152
  CHECK_ARG(env, execute);
154
153
  CHECK_ARG(env, result);
155
154
 
@@ -188,8 +187,7 @@ napi_status napi_create_async_work(napi_env env,
188
187
 
189
188
  napi_status napi_delete_async_work(napi_env env, napi_async_work work) {
190
189
  #if EMNAPI_HAVE_THREADS
191
- CHECK_ENV(env);
192
- _emnapi_env_check_gc_access(env);
190
+ CHECK_ENV_NOT_IN_GC(env);
193
191
  CHECK_ARG(env, work);
194
192
 
195
193
  async_work_delete(work);
@@ -52,6 +52,12 @@ EXTERN_C_END
52
52
  #define CHECK_ARG(env, arg) \
53
53
  RETURN_STATUS_IF_FALSE((env), ((arg) != NULL), napi_invalid_arg)
54
54
 
55
+ #define CHECK_ENV_NOT_IN_GC(env) \
56
+ do { \
57
+ CHECK_ENV((env)); \
58
+ _emnapi_env_check_gc_access((env)); \
59
+ } while (0)
60
+
55
61
  #define CHECK(expr) \
56
62
  do { \
57
63
  if (!(expr)) { \
@@ -408,8 +408,7 @@ napi_create_threadsafe_function(napi_env env,
408
408
  napi_threadsafe_function_call_js call_js_cb,
409
409
  napi_threadsafe_function* result) {
410
410
  #if EMNAPI_HAVE_THREADS
411
- CHECK_ENV(env);
412
- _emnapi_env_check_gc_access(env);
411
+ CHECK_ENV_NOT_IN_GC(env);
413
412
  CHECK_ARG(env, async_resource_name);
414
413
  RETURN_STATUS_IF_FALSE(env, initial_thread_count > 0, napi_invalid_arg);
415
414
  CHECK_ARG(env, result);