emnapi 1.8.0 → 1.9.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.
Files changed (48) hide show
  1. package/CMakeLists.txt +12 -13
  2. package/dist/library_napi.js +252 -120
  3. package/emnapi.gyp +8 -1
  4. package/include/node/emnapi.h +2 -1
  5. package/include/node/js_native_api.h +6 -6
  6. package/include/node/js_native_api_types.h +8 -7
  7. package/index.d.ts +12 -0
  8. package/index.js +36 -0
  9. package/lib/wasm32/libdlmalloc-mt.a +0 -0
  10. package/lib/wasm32/libdlmalloc.a +0 -0
  11. package/lib/wasm32/libemmalloc-mt.a +0 -0
  12. package/lib/wasm32/libemmalloc.a +0 -0
  13. package/lib/wasm32/libemnapi-basic-mt.a +0 -0
  14. package/lib/wasm32/libemnapi-basic.a +0 -0
  15. package/lib/wasm32/libemnapi.a +0 -0
  16. package/lib/wasm32-emscripten/libemnapi-basic.a +0 -0
  17. package/lib/wasm32-emscripten/libemnapi-mt.a +0 -0
  18. package/lib/wasm32-emscripten/libemnapi.a +0 -0
  19. package/lib/wasm32-wasi/libemnapi-basic-mt.a +0 -0
  20. package/lib/wasm32-wasi/libemnapi-basic.a +0 -0
  21. package/lib/wasm32-wasi/libemnapi.a +0 -0
  22. package/lib/wasm32-wasi-threads/libemnapi-basic-mt.a +0 -0
  23. package/lib/wasm32-wasi-threads/libemnapi-basic-napi-rs-mt.a +0 -0
  24. package/lib/wasm32-wasi-threads/libemnapi-basic.a +0 -0
  25. package/lib/wasm32-wasi-threads/libemnapi-mt.a +0 -0
  26. package/lib/wasm32-wasi-threads/libemnapi-napi-rs-mt.a +0 -0
  27. package/lib/wasm32-wasi-threads/libemnapi.a +0 -0
  28. package/lib/wasm32-wasip1/libemnapi-basic-mt.a +0 -0
  29. package/lib/wasm32-wasip1/libemnapi-basic.a +0 -0
  30. package/lib/wasm32-wasip1/libemnapi.a +0 -0
  31. package/lib/wasm32-wasip1-threads/libemnapi-basic-mt.a +0 -0
  32. package/lib/wasm32-wasip1-threads/libemnapi-basic-napi-rs-mt.a +0 -0
  33. package/lib/wasm32-wasip1-threads/libemnapi-basic.a +0 -0
  34. package/lib/wasm32-wasip1-threads/libemnapi-mt.a +0 -0
  35. package/lib/wasm32-wasip1-threads/libemnapi-napi-rs-mt.a +0 -0
  36. package/lib/wasm32-wasip1-threads/libemnapi.a +0 -0
  37. package/lib/wasm64-emscripten/libemnapi-basic.a +0 -0
  38. package/lib/wasm64-emscripten/libemnapi-mt.a +0 -0
  39. package/lib/wasm64-emscripten/libemnapi.a +0 -0
  40. package/package.json +5 -2
  41. package/src/async_cleanup_hook.c +0 -2
  42. package/src/emnapi_internal.h +12 -0
  43. package/src/node_api.c +1 -7
  44. package/src/thread/async_worker_create.c +24 -1
  45. package/src/threadsafe_function.c +110 -94
  46. package/src/threadsafe_function.h +51 -0
  47. package/src/uv/uv-common.c +9 -1
  48. package/src/wasi_wait.c +3 -0
package/CMakeLists.txt CHANGED
@@ -143,6 +143,15 @@ endif()
143
143
  if(NODE_WANT_INTERNALS)
144
144
  add_compile_definitions("NODE_WANT_INTERNALS=${NODE_WANT_INTERNALS}")
145
145
  endif()
146
+ if(EMNAPI_WORKER_POOL_SIZE)
147
+ add_compile_definitions("EMNAPI_WORKER_POOL_SIZE=${EMNAPI_WORKER_POOL_SIZE}")
148
+ endif()
149
+ if(EMNAPI_NEXTTICK_TYPE)
150
+ add_compile_definitions("EMNAPI_NEXTTICK_TYPE=${EMNAPI_NEXTTICK_TYPE}")
151
+ endif()
152
+ if(EMNAPI_USE_PROXYING)
153
+ add_compile_definitions("EMNAPI_USE_PROXYING=${EMNAPI_USE_PROXYING}")
154
+ endif()
146
155
 
147
156
  add_library(${EMNAPI_TARGET_NAME} STATIC ${EMNAPI_SRC} ${UV_SRC})
148
157
  target_include_directories(${EMNAPI_TARGET_NAME} PUBLIC ${EMNAPI_INCLUDE})
@@ -152,11 +161,10 @@ if(IS_EMSCRIPTEN)
152
161
  target_link_options(${EMNAPI_TARGET_NAME} INTERFACE "--js-library=${EMNAPI_JS_LIB}")
153
162
  endif()
154
163
 
155
- add_library(${EMNAPI_BASIC_TARGET_NAME} STATIC ${ENAPI_BASIC_SRC})
164
+ add_library(${EMNAPI_BASIC_TARGET_NAME} STATIC ${ENAPI_BASIC_SRC} ${UV_SRC})
156
165
  target_include_directories(${EMNAPI_BASIC_TARGET_NAME} PUBLIC ${EMNAPI_INCLUDE})
157
166
  target_compile_definitions(${EMNAPI_BASIC_TARGET_NAME}
158
167
  PUBLIC ${EMNAPI_DEFINES}
159
- PRIVATE "EMNAPI_DISABLE_UV"
160
168
  )
161
169
  if(IS_EMSCRIPTEN)
162
170
  set_target_properties(${EMNAPI_BASIC_TARGET_NAME} PROPERTIES INTERFACE_LINK_DEPENDS ${EMNAPI_JS_LIB})
@@ -184,19 +192,20 @@ if(EMNAPI_BUILD_FOR_NAPI_RS)
184
192
 
185
193
  add_library(${EMNAPI_BASIC_NAPI_RS_MT_TARGET_NAME} STATIC
186
194
  ${ENAPI_BASIC_SRC}
195
+ ${UV_SRC}
187
196
  "${CMAKE_CURRENT_SOURCE_DIR}/src/thread/async_worker_create.c"
188
197
  "${CMAKE_CURRENT_SOURCE_DIR}/src/thread/async_worker_init.S"
189
198
  )
190
199
  target_include_directories(${EMNAPI_BASIC_NAPI_RS_MT_TARGET_NAME} PUBLIC ${EMNAPI_INCLUDE})
191
200
  target_compile_definitions(${EMNAPI_BASIC_NAPI_RS_MT_TARGET_NAME}
192
201
  PUBLIC ${EMNAPI_DEFINES} "NAPI_EXTERN=__attribute__((__import_module__(\"env\")))"
193
- PRIVATE "EMNAPI_DISABLE_UV"
194
202
  )
195
203
  endif()
196
204
 
197
205
  if(EMNAPI_BUILD_BASIC_MT)
198
206
  add_library(${EMNAPI_BASIC_MT_TARGET_NAME} STATIC
199
207
  ${ENAPI_BASIC_SRC}
208
+ ${UV_SRC}
200
209
  "${CMAKE_CURRENT_SOURCE_DIR}/src/thread/async_worker_create.c"
201
210
  "${CMAKE_CURRENT_SOURCE_DIR}/src/thread/async_worker_init.S"
202
211
  )
@@ -204,7 +213,6 @@ if(EMNAPI_BUILD_BASIC_MT)
204
213
  target_include_directories(${EMNAPI_BASIC_MT_TARGET_NAME} PUBLIC ${EMNAPI_INCLUDE})
205
214
  target_compile_definitions(${EMNAPI_BASIC_MT_TARGET_NAME}
206
215
  PUBLIC ${EMNAPI_DEFINES}
207
- PRIVATE "EMNAPI_DISABLE_UV"
208
216
  )
209
217
 
210
218
  if(IS_EMSCRIPTEN)
@@ -231,15 +239,6 @@ if(EMNAPI_BUILD_MT)
231
239
  set_target_properties(${EMNAPI_MT_TARGET_NAME} PROPERTIES INTERFACE_LINK_DEPENDS ${EMNAPI_JS_LIB})
232
240
  target_link_options(${EMNAPI_MT_TARGET_NAME} INTERFACE "--js-library=${EMNAPI_JS_LIB}")
233
241
  endif()
234
- if(EMNAPI_WORKER_POOL_SIZE)
235
- target_compile_definitions(${EMNAPI_MT_TARGET_NAME} PRIVATE "EMNAPI_WORKER_POOL_SIZE=${EMNAPI_WORKER_POOL_SIZE}")
236
- endif()
237
- if(EMNAPI_NEXTTICK_TYPE)
238
- target_compile_definitions(${EMNAPI_MT_TARGET_NAME} PRIVATE "EMNAPI_NEXTTICK_TYPE=${EMNAPI_NEXTTICK_TYPE}")
239
- endif()
240
- if(EMNAPI_USE_PROXYING)
241
- target_compile_definitions(${EMNAPI_MT_TARGET_NAME} PRIVATE "EMNAPI_USE_PROXYING=${EMNAPI_USE_PROXYING}")
242
- endif()
243
242
  endif()
244
243
 
245
244
  if(IS_EMSCRIPTEN)