koffi 2.16.0-beta.2 → 2.16.1

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 (425) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/build/koffi/darwin_arm64/koffi.node +0 -0
  3. package/build/koffi/darwin_x64/koffi.node +0 -0
  4. package/build/koffi/freebsd_arm64/koffi.node +0 -0
  5. package/build/koffi/freebsd_ia32/koffi.node +0 -0
  6. package/build/koffi/freebsd_x64/koffi.node +0 -0
  7. package/build/koffi/linux_arm64/koffi.node +0 -0
  8. package/build/koffi/linux_armhf/koffi.node +0 -0
  9. package/build/koffi/linux_ia32/koffi.node +0 -0
  10. package/build/koffi/linux_loong64/koffi.node +0 -0
  11. package/build/koffi/linux_riscv64d/koffi.node +0 -0
  12. package/build/koffi/linux_x64/koffi.node +0 -0
  13. package/build/koffi/musl_arm64/koffi.node +0 -0
  14. package/build/koffi/musl_x64/koffi.node +0 -0
  15. package/build/koffi/openbsd_ia32/koffi.node +0 -0
  16. package/build/koffi/openbsd_x64/koffi.node +0 -0
  17. package/build/koffi/win32_arm64/koffi.exp +0 -0
  18. package/build/koffi/win32_arm64/koffi.lib +0 -0
  19. package/build/koffi/win32_arm64/koffi.node +0 -0
  20. package/build/koffi/win32_ia32/koffi.exp +0 -0
  21. package/build/koffi/win32_ia32/koffi.lib +0 -0
  22. package/build/koffi/win32_ia32/koffi.node +0 -0
  23. package/build/koffi/win32_x64/koffi.exp +0 -0
  24. package/build/koffi/win32_x64/koffi.lib +0 -0
  25. package/build/koffi/win32_x64/koffi.node +0 -0
  26. package/index.d.ts +9 -11
  27. package/index.js +6 -9
  28. package/indirect.js +6 -9
  29. package/lib/native/base/base.cc +1 -6
  30. package/package.json +3 -3
  31. package/src/cnoke/assets/FindCNoke.cmake +27 -16
  32. package/src/cnoke/assets/toolchains.json +126 -0
  33. package/src/cnoke/cnoke.js +27 -33
  34. package/src/cnoke/src/builder.js +124 -63
  35. package/src/cnoke/src/tools.js +1 -5
  36. package/src/koffi/CMakeLists.txt +32 -21
  37. package/src/koffi/src/{abi/arm32.cc → abi_arm32.cc} +235 -246
  38. package/src/koffi/src/{abi/arm32_asm.S → abi_arm32_asm.S} +19 -15
  39. package/src/koffi/src/{abi/arm64.cc → abi_arm64.cc} +253 -300
  40. package/src/koffi/src/{abi/arm64_asm.S → abi_arm64_asm.S} +16 -10
  41. package/src/koffi/src/{abi/arm64_asm.asm → abi_arm64_asm.asm} +17 -10
  42. package/src/koffi/src/{abi/loong64_asm.S → abi_loong64_asm.S} +16 -10
  43. package/src/koffi/src/{abi/riscv64.cc → abi_riscv64.cc} +233 -244
  44. package/src/koffi/src/{abi/riscv64_asm.S → abi_riscv64_asm.S} +16 -10
  45. package/src/koffi/src/{abi/x64_sysv.cc → abi_x64_sysv.cc} +208 -220
  46. package/src/koffi/src/{abi/x64_sysv_asm.S → abi_x64_sysv_asm.S} +17 -10
  47. package/src/koffi/src/{abi/x64_win.cc → abi_x64_win.cc} +175 -230
  48. package/src/koffi/src/{abi/x64_win_asm.S → abi_x64_win_asm.S} +49 -27
  49. package/src/koffi/src/{abi/x64_win_asm.asm → abi_x64_win_asm.asm} +54 -27
  50. package/src/koffi/src/{abi/x86.cc → abi_x86.cc} +187 -252
  51. package/src/koffi/src/{abi/x86_asm.S → abi_x86_asm.S} +38 -21
  52. package/src/koffi/src/{abi/x86_asm.asm → abi_x86_asm.asm} +33 -16
  53. package/src/koffi/src/call.cc +475 -290
  54. package/src/koffi/src/call.hh +15 -18
  55. package/src/koffi/src/ffi.cc +195 -184
  56. package/src/koffi/src/ffi.hh +60 -16
  57. package/src/koffi/src/init.js +1 -0
  58. package/src/koffi/src/util.cc +113 -159
  59. package/src/koffi/src/util.hh +23 -74
  60. package/src/koffi/src/win32.cc +13 -0
  61. package/src/koffi/src/win32.hh +7 -0
  62. package/src/koffi/tools/write_trampolines.js +77 -0
  63. package/doc/README.md +0 -27
  64. package/doc/assets.ini +0 -24
  65. package/doc/build.sh +0 -9
  66. package/doc/develop.sh +0 -15
  67. package/doc/pages/404.md +0 -17
  68. package/doc/pages.ini +0 -86
  69. package/doc/static/highlight.js +0 -8
  70. package/doc/static/koffi.css +0 -11
  71. package/doc/static/koffi.png +0 -0
  72. package/doc/static/logo.webp +0 -0
  73. package/doc/static/perf_linux.png +0 -0
  74. package/doc/static/perf_windows.png +0 -0
  75. package/doc/static/print.css +0 -10
  76. package/doc/templates/code.html +0 -48
  77. package/doc/templates/page.html +0 -47
  78. package/src/koffi/cmake/raylib.cmake +0 -85
  79. package/src/koffi/cmake/sqlite3.cmake +0 -9
  80. package/src/koffi/examples/electron-builder/README.md +0 -11
  81. package/src/koffi/examples/electron-builder/package.json +0 -21
  82. package/src/koffi/examples/electron-builder/src/app.js +0 -20
  83. package/src/koffi/examples/electron-builder/src/index.html +0 -143
  84. package/src/koffi/examples/electron-builder/src/preload.js +0 -5
  85. package/src/koffi/examples/electron-forge/README.md +0 -25
  86. package/src/koffi/examples/electron-forge/forge.config.js +0 -63
  87. package/src/koffi/examples/electron-forge/package.json +0 -39
  88. package/src/koffi/examples/electron-forge/src/index.css +0 -7
  89. package/src/koffi/examples/electron-forge/src/index.html +0 -143
  90. package/src/koffi/examples/electron-forge/src/main.js +0 -52
  91. package/src/koffi/examples/electron-forge/src/preload.js +0 -5
  92. package/src/koffi/examples/electron-forge/src/renderer.js +0 -31
  93. package/src/koffi/examples/electron-forge/webpack.main.config.js +0 -11
  94. package/src/koffi/examples/electron-forge/webpack.renderer.config.js +0 -13
  95. package/src/koffi/examples/electron-forge/webpack.rules.js +0 -35
  96. package/src/koffi/examples/node-esbuild/README.md +0 -19
  97. package/src/koffi/examples/node-esbuild/index.js +0 -2
  98. package/src/koffi/examples/node-esbuild/package.json +0 -16
  99. package/src/koffi/examples/nwjs/README.md +0 -20
  100. package/src/koffi/examples/nwjs/package.json +0 -11
  101. package/src/koffi/examples/nwjs/src/index.html +0 -145
  102. package/src/koffi/examples/nwjs/src/package.json +0 -10
  103. package/src/koffi/examples/yao-pkg/README.md +0 -17
  104. package/src/koffi/examples/yao-pkg/index.js +0 -2
  105. package/src/koffi/examples/yao-pkg/package.json +0 -22
  106. package/src/koffi/src/primitives.inc +0 -39
  107. package/src/koffi/src/trampolines/armasm.inc +0 -32771
  108. package/src/koffi/src/trampolines/gnu.inc +0 -24577
  109. package/src/koffi/src/trampolines/masm32.inc +0 -32769
  110. package/src/koffi/src/trampolines/masm64.inc +0 -32769
  111. package/src/koffi/src/trampolines/prototypes.inc +0 -16388
  112. package/vendor/node-addon-api/CHANGELOG.md +0 -1272
  113. package/vendor/node-addon-api/CODE_OF_CONDUCT.md +0 -4
  114. package/vendor/node-addon-api/CONTRIBUTING.md +0 -203
  115. package/vendor/node-addon-api/appveyor.yml +0 -37
  116. package/vendor/node-addon-api/benchmark/README.md +0 -47
  117. package/vendor/node-addon-api/benchmark/binding.gyp +0 -25
  118. package/vendor/node-addon-api/benchmark/function_args.cc +0 -250
  119. package/vendor/node-addon-api/benchmark/function_args.js +0 -60
  120. package/vendor/node-addon-api/benchmark/index.js +0 -34
  121. package/vendor/node-addon-api/benchmark/property_descriptor.cc +0 -84
  122. package/vendor/node-addon-api/benchmark/property_descriptor.js +0 -38
  123. package/vendor/node-addon-api/common.gypi +0 -21
  124. package/vendor/node-addon-api/doc/README.md +0 -145
  125. package/vendor/node-addon-api/doc/addon.md +0 -163
  126. package/vendor/node-addon-api/doc/array.md +0 -81
  127. package/vendor/node-addon-api/doc/array_buffer.md +0 -165
  128. package/vendor/node-addon-api/doc/async_context.md +0 -86
  129. package/vendor/node-addon-api/doc/async_operations.md +0 -31
  130. package/vendor/node-addon-api/doc/async_worker.md +0 -428
  131. package/vendor/node-addon-api/doc/async_worker_variants.md +0 -578
  132. package/vendor/node-addon-api/doc/basic_env.md +0 -200
  133. package/vendor/node-addon-api/doc/bigint.md +0 -97
  134. package/vendor/node-addon-api/doc/boolean.md +0 -68
  135. package/vendor/node-addon-api/doc/buffer.md +0 -245
  136. package/vendor/node-addon-api/doc/callback_scope.md +0 -54
  137. package/vendor/node-addon-api/doc/callbackinfo.md +0 -97
  138. package/vendor/node-addon-api/doc/checker-tool.md +0 -32
  139. package/vendor/node-addon-api/doc/class_property_descriptor.md +0 -123
  140. package/vendor/node-addon-api/doc/cmake-js.md +0 -87
  141. package/vendor/node-addon-api/doc/contributing/creating_a_release.md +0 -95
  142. package/vendor/node-addon-api/doc/conversion-tool.md +0 -28
  143. package/vendor/node-addon-api/doc/dataview.md +0 -248
  144. package/vendor/node-addon-api/doc/date.md +0 -68
  145. package/vendor/node-addon-api/doc/env.md +0 -87
  146. package/vendor/node-addon-api/doc/error.md +0 -120
  147. package/vendor/node-addon-api/doc/error_handling.md +0 -266
  148. package/vendor/node-addon-api/doc/escapable_handle_scope.md +0 -80
  149. package/vendor/node-addon-api/doc/external.md +0 -79
  150. package/vendor/node-addon-api/doc/external_buffer.md +0 -18
  151. package/vendor/node-addon-api/doc/finalization.md +0 -153
  152. package/vendor/node-addon-api/doc/function.md +0 -402
  153. package/vendor/node-addon-api/doc/function_reference.md +0 -238
  154. package/vendor/node-addon-api/doc/generator.md +0 -13
  155. package/vendor/node-addon-api/doc/handle_scope.md +0 -77
  156. package/vendor/node-addon-api/doc/hierarchy.md +0 -95
  157. package/vendor/node-addon-api/doc/instance_wrap.md +0 -408
  158. package/vendor/node-addon-api/doc/maybe.md +0 -76
  159. package/vendor/node-addon-api/doc/memory_management.md +0 -27
  160. package/vendor/node-addon-api/doc/name.md +0 -29
  161. package/vendor/node-addon-api/doc/node-gyp.md +0 -82
  162. package/vendor/node-addon-api/doc/number.md +0 -163
  163. package/vendor/node-addon-api/doc/object.md +0 -411
  164. package/vendor/node-addon-api/doc/object_lifetime_management.md +0 -83
  165. package/vendor/node-addon-api/doc/object_reference.md +0 -117
  166. package/vendor/node-addon-api/doc/object_wrap.md +0 -604
  167. package/vendor/node-addon-api/doc/prebuild_tools.md +0 -16
  168. package/vendor/node-addon-api/doc/promises.md +0 -130
  169. package/vendor/node-addon-api/doc/property_descriptor.md +0 -286
  170. package/vendor/node-addon-api/doc/propertylvalue.md +0 -50
  171. package/vendor/node-addon-api/doc/range_error.md +0 -59
  172. package/vendor/node-addon-api/doc/reference.md +0 -113
  173. package/vendor/node-addon-api/doc/setup.md +0 -115
  174. package/vendor/node-addon-api/doc/string.md +0 -93
  175. package/vendor/node-addon-api/doc/symbol.md +0 -61
  176. package/vendor/node-addon-api/doc/syntax_error.md +0 -66
  177. package/vendor/node-addon-api/doc/threadsafe.md +0 -121
  178. package/vendor/node-addon-api/doc/threadsafe_function.md +0 -290
  179. package/vendor/node-addon-api/doc/type_error.md +0 -59
  180. package/vendor/node-addon-api/doc/type_taggable.md +0 -40
  181. package/vendor/node-addon-api/doc/typed_array.md +0 -78
  182. package/vendor/node-addon-api/doc/typed_array_of.md +0 -137
  183. package/vendor/node-addon-api/doc/typed_threadsafe_function.md +0 -306
  184. package/vendor/node-addon-api/doc/value.md +0 -368
  185. package/vendor/node-addon-api/doc/version_management.md +0 -43
  186. package/vendor/node-addon-api/eslint.config.js +0 -5
  187. package/vendor/node-addon-api/except.gypi +0 -25
  188. package/vendor/node-addon-api/index.js +0 -14
  189. package/vendor/node-addon-api/node_addon_api.gyp +0 -42
  190. package/vendor/node-addon-api/node_api.gyp +0 -9
  191. package/vendor/node-addon-api/noexcept.gypi +0 -26
  192. package/vendor/node-addon-api/nothing.c +0 -0
  193. package/vendor/node-addon-api/package-support.json +0 -21
  194. package/vendor/node-addon-api/package.json +0 -480
  195. package/vendor/node-addon-api/release-please-config.json +0 -15
  196. package/vendor/node-addon-api/test/README.md +0 -91
  197. package/vendor/node-addon-api/test/addon.cc +0 -44
  198. package/vendor/node-addon-api/test/addon.js +0 -7
  199. package/vendor/node-addon-api/test/addon_build/index.js +0 -49
  200. package/vendor/node-addon-api/test/addon_build/tpl/addon.cc +0 -18
  201. package/vendor/node-addon-api/test/addon_build/tpl/binding.gyp +0 -63
  202. package/vendor/node-addon-api/test/addon_build/tpl/index.js +0 -9
  203. package/vendor/node-addon-api/test/addon_build/tpl/package.json +0 -11
  204. package/vendor/node-addon-api/test/addon_data.cc +0 -98
  205. package/vendor/node-addon-api/test/addon_data.js +0 -24
  206. package/vendor/node-addon-api/test/array_buffer.cc +0 -243
  207. package/vendor/node-addon-api/test/array_buffer.js +0 -70
  208. package/vendor/node-addon-api/test/async_context.cc +0 -36
  209. package/vendor/node-addon-api/test/async_context.js +0 -122
  210. package/vendor/node-addon-api/test/async_progress_queue_worker.cc +0 -248
  211. package/vendor/node-addon-api/test/async_progress_queue_worker.js +0 -180
  212. package/vendor/node-addon-api/test/async_progress_worker.cc +0 -357
  213. package/vendor/node-addon-api/test/async_progress_worker.js +0 -200
  214. package/vendor/node-addon-api/test/async_worker.cc +0 -341
  215. package/vendor/node-addon-api/test/async_worker.js +0 -264
  216. package/vendor/node-addon-api/test/async_worker_nocallback.js +0 -19
  217. package/vendor/node-addon-api/test/async_worker_persistent.cc +0 -63
  218. package/vendor/node-addon-api/test/async_worker_persistent.js +0 -24
  219. package/vendor/node-addon-api/test/basic_types/array.cc +0 -40
  220. package/vendor/node-addon-api/test/basic_types/array.js +0 -34
  221. package/vendor/node-addon-api/test/basic_types/boolean.cc +0 -40
  222. package/vendor/node-addon-api/test/basic_types/boolean.js +0 -34
  223. package/vendor/node-addon-api/test/basic_types/number.cc +0 -105
  224. package/vendor/node-addon-api/test/basic_types/number.js +0 -115
  225. package/vendor/node-addon-api/test/basic_types/value.cc +0 -177
  226. package/vendor/node-addon-api/test/basic_types/value.js +0 -173
  227. package/vendor/node-addon-api/test/bigint.cc +0 -91
  228. package/vendor/node-addon-api/test/bigint.js +0 -53
  229. package/vendor/node-addon-api/test/binding-swallowexcept.cc +0 -12
  230. package/vendor/node-addon-api/test/binding.cc +0 -200
  231. package/vendor/node-addon-api/test/binding.gyp +0 -160
  232. package/vendor/node-addon-api/test/buffer.cc +0 -185
  233. package/vendor/node-addon-api/test/buffer.h +0 -26
  234. package/vendor/node-addon-api/test/buffer.js +0 -150
  235. package/vendor/node-addon-api/test/buffer_new_or_copy-inl.h +0 -68
  236. package/vendor/node-addon-api/test/buffer_no_external.cc +0 -24
  237. package/vendor/node-addon-api/test/callbackInfo.cc +0 -27
  238. package/vendor/node-addon-api/test/callbackInfo.js +0 -9
  239. package/vendor/node-addon-api/test/callbackscope.cc +0 -39
  240. package/vendor/node-addon-api/test/callbackscope.js +0 -49
  241. package/vendor/node-addon-api/test/child_processes/addon.js +0 -11
  242. package/vendor/node-addon-api/test/child_processes/addon_data.js +0 -24
  243. package/vendor/node-addon-api/test/child_processes/objectwrap_function.js +0 -22
  244. package/vendor/node-addon-api/test/child_processes/threadsafe_function_exception.js +0 -33
  245. package/vendor/node-addon-api/test/child_processes/typed_threadsafe_function_exception.js +0 -19
  246. package/vendor/node-addon-api/test/common/index.js +0 -246
  247. package/vendor/node-addon-api/test/common/test_helper.h +0 -71
  248. package/vendor/node-addon-api/test/dataview/dataview.cc +0 -48
  249. package/vendor/node-addon-api/test/dataview/dataview.js +0 -35
  250. package/vendor/node-addon-api/test/dataview/dataview_read_write.cc +0 -115
  251. package/vendor/node-addon-api/test/dataview/dataview_read_write.js +0 -92
  252. package/vendor/node-addon-api/test/date.cc +0 -45
  253. package/vendor/node-addon-api/test/date.js +0 -18
  254. package/vendor/node-addon-api/test/env_cleanup.cc +0 -100
  255. package/vendor/node-addon-api/test/env_cleanup.js +0 -55
  256. package/vendor/node-addon-api/test/env_misc.cc +0 -25
  257. package/vendor/node-addon-api/test/env_misc.js +0 -12
  258. package/vendor/node-addon-api/test/error.cc +0 -436
  259. package/vendor/node-addon-api/test/error.js +0 -111
  260. package/vendor/node-addon-api/test/error_handling_for_primitives.cc +0 -13
  261. package/vendor/node-addon-api/test/error_handling_for_primitives.js +0 -29
  262. package/vendor/node-addon-api/test/error_terminating_environment.js +0 -99
  263. package/vendor/node-addon-api/test/except_all.cc +0 -22
  264. package/vendor/node-addon-api/test/except_all.js +0 -14
  265. package/vendor/node-addon-api/test/exports.js +0 -19
  266. package/vendor/node-addon-api/test/external.cc +0 -85
  267. package/vendor/node-addon-api/test/external.js +0 -85
  268. package/vendor/node-addon-api/test/finalizer_order.cc +0 -152
  269. package/vendor/node-addon-api/test/finalizer_order.js +0 -98
  270. package/vendor/node-addon-api/test/function.cc +0 -338
  271. package/vendor/node-addon-api/test/function.js +0 -137
  272. package/vendor/node-addon-api/test/function_reference.cc +0 -204
  273. package/vendor/node-addon-api/test/function_reference.js +0 -157
  274. package/vendor/node-addon-api/test/globalObject/global_object.cc +0 -61
  275. package/vendor/node-addon-api/test/globalObject/global_object_delete_property.cc +0 -31
  276. package/vendor/node-addon-api/test/globalObject/global_object_delete_property.js +0 -58
  277. package/vendor/node-addon-api/test/globalObject/global_object_get_property.cc +0 -40
  278. package/vendor/node-addon-api/test/globalObject/global_object_get_property.js +0 -56
  279. package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.cc +0 -28
  280. package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.js +0 -46
  281. package/vendor/node-addon-api/test/globalObject/global_object_set_property.cc +0 -31
  282. package/vendor/node-addon-api/test/globalObject/global_object_set_property.js +0 -56
  283. package/vendor/node-addon-api/test/handlescope.cc +0 -86
  284. package/vendor/node-addon-api/test/handlescope.js +0 -16
  285. package/vendor/node-addon-api/test/index.js +0 -160
  286. package/vendor/node-addon-api/test/maybe/check.cc +0 -69
  287. package/vendor/node-addon-api/test/maybe/index.js +0 -50
  288. package/vendor/node-addon-api/test/memory_management.cc +0 -18
  289. package/vendor/node-addon-api/test/memory_management.js +0 -9
  290. package/vendor/node-addon-api/test/movable_callbacks.cc +0 -23
  291. package/vendor/node-addon-api/test/movable_callbacks.js +0 -21
  292. package/vendor/node-addon-api/test/name.cc +0 -110
  293. package/vendor/node-addon-api/test/name.js +0 -59
  294. package/vendor/node-addon-api/test/napi_child.js +0 -14
  295. package/vendor/node-addon-api/test/object/delete_property.cc +0 -38
  296. package/vendor/node-addon-api/test/object/delete_property.js +0 -41
  297. package/vendor/node-addon-api/test/object/finalizer.cc +0 -30
  298. package/vendor/node-addon-api/test/object/finalizer.js +0 -28
  299. package/vendor/node-addon-api/test/object/get_property.cc +0 -34
  300. package/vendor/node-addon-api/test/object/get_property.js +0 -40
  301. package/vendor/node-addon-api/test/object/has_own_property.cc +0 -34
  302. package/vendor/node-addon-api/test/object/has_own_property.js +0 -34
  303. package/vendor/node-addon-api/test/object/has_property.cc +0 -38
  304. package/vendor/node-addon-api/test/object/has_property.js +0 -37
  305. package/vendor/node-addon-api/test/object/object.cc +0 -430
  306. package/vendor/node-addon-api/test/object/object.js +0 -218
  307. package/vendor/node-addon-api/test/object/object_deprecated.cc +0 -70
  308. package/vendor/node-addon-api/test/object/object_deprecated.js +0 -42
  309. package/vendor/node-addon-api/test/object/object_freeze_seal.cc +0 -25
  310. package/vendor/node-addon-api/test/object/object_freeze_seal.js +0 -61
  311. package/vendor/node-addon-api/test/object/set_property.cc +0 -45
  312. package/vendor/node-addon-api/test/object/set_property.js +0 -30
  313. package/vendor/node-addon-api/test/object/subscript_operator.cc +0 -58
  314. package/vendor/node-addon-api/test/object/subscript_operator.js +0 -17
  315. package/vendor/node-addon-api/test/object_reference.cc +0 -417
  316. package/vendor/node-addon-api/test/object_reference.js +0 -262
  317. package/vendor/node-addon-api/test/objectwrap.cc +0 -295
  318. package/vendor/node-addon-api/test/objectwrap.js +0 -309
  319. package/vendor/node-addon-api/test/objectwrap_constructor_exception.cc +0 -26
  320. package/vendor/node-addon-api/test/objectwrap_constructor_exception.js +0 -18
  321. package/vendor/node-addon-api/test/objectwrap_function.cc +0 -43
  322. package/vendor/node-addon-api/test/objectwrap_function.js +0 -6
  323. package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.cc +0 -30
  324. package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.js +0 -13
  325. package/vendor/node-addon-api/test/objectwrap_removewrap.cc +0 -45
  326. package/vendor/node-addon-api/test/objectwrap_removewrap.js +0 -32
  327. package/vendor/node-addon-api/test/objectwrap_worker_thread.js +0 -20
  328. package/vendor/node-addon-api/test/promise.cc +0 -111
  329. package/vendor/node-addon-api/test/promise.js +0 -43
  330. package/vendor/node-addon-api/test/reference.cc +0 -78
  331. package/vendor/node-addon-api/test/reference.js +0 -20
  332. package/vendor/node-addon-api/test/require_basic_finalizers/index.js +0 -38
  333. package/vendor/node-addon-api/test/require_basic_finalizers/tpl/addon.cc +0 -12
  334. package/vendor/node-addon-api/test/require_basic_finalizers/tpl/binding.gyp +0 -48
  335. package/vendor/node-addon-api/test/require_basic_finalizers/tpl/index.js +0 -3
  336. package/vendor/node-addon-api/test/require_basic_finalizers/tpl/package.json +0 -11
  337. package/vendor/node-addon-api/test/run_script.cc +0 -56
  338. package/vendor/node-addon-api/test/run_script.js +0 -45
  339. package/vendor/node-addon-api/test/symbol.cc +0 -79
  340. package/vendor/node-addon-api/test/symbol.js +0 -66
  341. package/vendor/node-addon-api/test/testUtil.js +0 -54
  342. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.cc +0 -230
  343. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.js +0 -225
  344. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.cc +0 -155
  345. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.js +0 -13
  346. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_exception.cc +0 -50
  347. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_exception.js +0 -20
  348. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.cc +0 -125
  349. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.js +0 -14
  350. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.cc +0 -27
  351. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.js +0 -7
  352. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.cc +0 -240
  353. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.js +0 -59
  354. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.cc +0 -55
  355. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.js +0 -98
  356. package/vendor/node-addon-api/test/thunking_manual.cc +0 -127
  357. package/vendor/node-addon-api/test/thunking_manual.js +0 -16
  358. package/vendor/node-addon-api/test/type_taggable.cc +0 -66
  359. package/vendor/node-addon-api/test/type_taggable.js +0 -59
  360. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.cc +0 -215
  361. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.js +0 -188
  362. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.cc +0 -120
  363. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.js +0 -14
  364. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_exception.cc +0 -39
  365. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_exception.js +0 -13
  366. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.cc +0 -127
  367. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.js +0 -14
  368. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.cc +0 -32
  369. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.js +0 -8
  370. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.cc +0 -237
  371. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.js +0 -59
  372. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.cc +0 -67
  373. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.js +0 -98
  374. package/vendor/node-addon-api/test/typedarray-bigint.js +0 -58
  375. package/vendor/node-addon-api/test/typedarray.cc +0 -413
  376. package/vendor/node-addon-api/test/typedarray.js +0 -103
  377. package/vendor/node-addon-api/test/value_type_cast.cc +0 -60
  378. package/vendor/node-addon-api/test/value_type_cast.js +0 -106
  379. package/vendor/node-addon-api/test/version_management.cc +0 -28
  380. package/vendor/node-addon-api/test/version_management.js +0 -29
  381. package/vendor/node-addon-api/tools/README.md +0 -73
  382. package/vendor/node-addon-api/tools/check-napi.js +0 -99
  383. package/vendor/node-addon-api/tools/clang-format.js +0 -71
  384. package/vendor/node-addon-api/tools/conversion.js +0 -301
  385. package/vendor/node-addon-api/unit-test/README.md +0 -28
  386. package/vendor/node-addon-api/unit-test/binding-file-template.js +0 -39
  387. package/vendor/node-addon-api/unit-test/binding.gyp +0 -72
  388. package/vendor/node-addon-api/unit-test/exceptions.js +0 -32
  389. package/vendor/node-addon-api/unit-test/generate-binding-cc.js +0 -61
  390. package/vendor/node-addon-api/unit-test/injectTestParams.js +0 -101
  391. package/vendor/node-addon-api/unit-test/listOfTestModules.js +0 -88
  392. package/vendor/node-addon-api/unit-test/matchModules.js +0 -65
  393. package/vendor/node-addon-api/unit-test/setup.js +0 -13
  394. package/vendor/node-addon-api/unit-test/spawnTask.js +0 -26
  395. package/vendor/node-addon-api/unit-test/test.js +0 -30
  396. package/vendor/node-api-headers/CHANGELOG.md +0 -130
  397. package/vendor/node-api-headers/CODE_OF_CONDUCT.md +0 -4
  398. package/vendor/node-api-headers/CONTRIBUTING.md +0 -32
  399. package/vendor/node-api-headers/CREATING_A_RELEASE.md +0 -68
  400. package/vendor/node-api-headers/index.js +0 -17
  401. package/vendor/node-api-headers/lib/clang-utils.js +0 -50
  402. package/vendor/node-api-headers/lib/parse-utils.js +0 -92
  403. package/vendor/node-api-headers/package.json +0 -59
  404. package/vendor/node-api-headers/release-please-config.json +0 -12
  405. package/vendor/node-api-headers/scripts/update-headers.js +0 -246
  406. package/vendor/node-api-headers/scripts/write-symbols.js +0 -154
  407. package/vendor/node-api-headers/scripts/write-win32-def.js +0 -52
  408. package/vendor/node-api-headers/symbols.js +0 -257
  409. package/vendor/node-api-headers/test/parse-utils.js +0 -21
  410. /package/doc/{pages/benchmarks.md → benchmarks.md} +0 -0
  411. /package/doc/{pages/callbacks.md → callbacks.md} +0 -0
  412. /package/doc/{pages/contribute.md → contribute.md} +0 -0
  413. /package/doc/{pages/functions.md → functions.md} +0 -0
  414. /package/doc/{pages/index.md → index.md} +0 -0
  415. /package/doc/{pages/input.md → input.md} +0 -0
  416. /package/doc/{pages/migration.md → migration.md} +0 -0
  417. /package/doc/{pages/misc.md → misc.md} +0 -0
  418. /package/doc/{pages/output.md → output.md} +0 -0
  419. /package/doc/{pages/packaging.md → packaging.md} +0 -0
  420. /package/doc/{pages/platforms.md → platforms.md} +0 -0
  421. /package/doc/{pages/pointers.md → pointers.md} +0 -0
  422. /package/doc/{pages/start.md → start.md} +0 -0
  423. /package/doc/{pages/unions.md → unions.md} +0 -0
  424. /package/doc/{pages/variables.md → variables.md} +0 -0
  425. /package/src/koffi/src/{abi/loong64.cc → abi_loong64.cc} +0 -0
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports = require('./common').runTestInChildProcess({
4
- suite: 'objectwrap_function',
5
- testName: 'runTest'
6
- });
@@ -1,30 +0,0 @@
1
- #include <napi.h>
2
-
3
- class TestMIBase {
4
- public:
5
- TestMIBase() : test(0) {}
6
- virtual void dummy() {}
7
- uint32_t test;
8
- };
9
-
10
- class TestMI : public TestMIBase, public Napi::ObjectWrap<TestMI> {
11
- public:
12
- TestMI(const Napi::CallbackInfo& info) : Napi::ObjectWrap<TestMI>(info) {}
13
-
14
- Napi::Value GetTest(const Napi::CallbackInfo& info) {
15
- return Napi::Number::New(info.Env(), test);
16
- }
17
-
18
- static void Initialize(Napi::Env env, Napi::Object exports) {
19
- exports.Set(
20
- "TestMI",
21
- DefineClass(
22
- env, "TestMI", {InstanceAccessor<&TestMI::GetTest>("test")}));
23
- }
24
- };
25
-
26
- Napi::Object InitObjectWrapMultipleInheritance(Napi::Env env) {
27
- Napi::Object exports = Napi::Object::New(env);
28
- TestMI::Initialize(env, exports);
29
- return exports;
30
- }
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- const assert = require('assert');
4
-
5
- const test = bindingName => {
6
- const binding = require(bindingName);
7
- const TestMI = binding.objectwrap_multiple_inheritance.TestMI;
8
- const testmi = new TestMI();
9
-
10
- assert.strictEqual(testmi.test, 0);
11
- };
12
-
13
- module.exports = require('./common').runTestWithBindingPath(test);
@@ -1,45 +0,0 @@
1
- #include <assert.h>
2
- #include <napi.h>
3
-
4
- namespace {
5
-
6
- static int dtor_called = 0;
7
-
8
- class DtorCounter {
9
- public:
10
- ~DtorCounter() {
11
- assert(dtor_called == 0);
12
- dtor_called++;
13
- }
14
- };
15
-
16
- Napi::Value GetDtorCalled(const Napi::CallbackInfo& info) {
17
- return Napi::Number::New(info.Env(), dtor_called);
18
- }
19
-
20
- class Test : public Napi::ObjectWrap<Test> {
21
- public:
22
- Test(const Napi::CallbackInfo& info) : Napi::ObjectWrap<Test>(info) {
23
- #ifdef NAPI_CPP_EXCEPTIONS
24
- throw Napi::Error::New(Env(), "Some error");
25
- #else
26
- Napi::Error::New(Env(), "Some error").ThrowAsJavaScriptException();
27
- #endif
28
- }
29
-
30
- static void Initialize(Napi::Env env, Napi::Object exports) {
31
- exports.Set("Test", DefineClass(env, "Test", {}));
32
- exports.Set("getDtorCalled", Napi::Function::New(env, GetDtorCalled));
33
- }
34
-
35
- private:
36
- DtorCounter dtor_counter_;
37
- };
38
-
39
- } // anonymous namespace
40
-
41
- Napi::Object InitObjectWrapRemoveWrap(Napi::Env env) {
42
- Napi::Object exports = Napi::Object::New(env);
43
- Test::Initialize(env, exports);
44
- return exports;
45
- }
@@ -1,32 +0,0 @@
1
- 'use strict';
2
-
3
- if (process.argv[2] === 'child') {
4
- // Create a single wrapped instance then exit.
5
- // eslint-disable-next-line no-new
6
- new (require(process.argv[3]).objectwrap.Test)();
7
- } else {
8
- const assert = require('assert');
9
- const testUtil = require('./testUtil');
10
-
11
- module.exports = require('./common').runTestWithBindingPath(test);
12
-
13
- function test (bindingName) {
14
- return testUtil.runGCTests([
15
- 'objectwrap removewrap test',
16
- () => {
17
- const binding = require(bindingName);
18
- const Test = binding.objectwrap_removewrap.Test;
19
- const getDtorCalled = binding.objectwrap_removewrap.getDtorCalled;
20
-
21
- assert.strictEqual(getDtorCalled(), 0);
22
- assert.throws(() => {
23
- // eslint-disable-next-line no-new
24
- new Test();
25
- });
26
- assert.strictEqual(getDtorCalled(), 1);
27
- },
28
- // Test that gc does not crash.
29
- () => {}
30
- ]);
31
- }
32
- }
@@ -1,20 +0,0 @@
1
- 'use strict';
2
- const path = require('path');
3
- const { Worker, isMainThread } = require('worker_threads');
4
- const { runTestWithBuildType, whichBuildType } = require('./common');
5
-
6
- module.exports = runTestWithBuildType(test);
7
-
8
- async function test () {
9
- if (isMainThread) {
10
- const buildType = await whichBuildType();
11
- const worker = new Worker(__filename, { workerData: buildType });
12
- return new Promise((resolve, reject) => {
13
- worker.on('exit', () => {
14
- resolve();
15
- });
16
- }, () => {});
17
- } else {
18
- await require(path.join(__dirname, 'objectwrap.js'));
19
- }
20
- }
@@ -1,111 +0,0 @@
1
- #include "napi.h"
2
- #include "test_helper.h"
3
-
4
- using namespace Napi;
5
-
6
- Value IsPromise(const CallbackInfo& info) {
7
- return Boolean::New(info.Env(), info[0].IsPromise());
8
- }
9
-
10
- Value ResolvePromise(const CallbackInfo& info) {
11
- auto deferred = Promise::Deferred::New(info.Env());
12
- deferred.Resolve(info[0]);
13
- return deferred.Promise();
14
- }
15
-
16
- Value RejectPromise(const CallbackInfo& info) {
17
- auto deferred = Promise::Deferred::New(info.Env());
18
- deferred.Reject(info[0]);
19
- return deferred.Promise();
20
- }
21
-
22
- Value PromiseReturnsCorrectEnv(const CallbackInfo& info) {
23
- auto deferred = Promise::Deferred::New(info.Env());
24
- return Boolean::New(info.Env(), deferred.Env() == info.Env());
25
- }
26
-
27
- Value ThenMethodOnFulfilled(const CallbackInfo& info) {
28
- auto deferred = Promise::Deferred::New(info.Env());
29
- Function onFulfilled = info[0].As<Function>();
30
-
31
- Promise resultPromise = MaybeUnwrap(deferred.Promise().Then(onFulfilled));
32
-
33
- bool isPromise = resultPromise.IsPromise();
34
- deferred.Resolve(Number::New(info.Env(), 42));
35
-
36
- Object result = Object::New(info.Env());
37
- result["isPromise"] = Boolean::New(info.Env(), isPromise);
38
- result["promise"] = resultPromise;
39
-
40
- return result;
41
- }
42
-
43
- Value ThenMethodOnFulfilledOnRejectedResolve(const CallbackInfo& info) {
44
- auto deferred = Promise::Deferred::New(info.Env());
45
- Function onFulfilled = info[0].As<Function>();
46
- Function onRejected = info[1].As<Function>();
47
-
48
- Promise resultPromise =
49
- MaybeUnwrap(deferred.Promise().Then(onFulfilled, onRejected));
50
-
51
- bool isPromise = resultPromise.IsPromise();
52
- deferred.Resolve(Number::New(info.Env(), 42));
53
-
54
- Object result = Object::New(info.Env());
55
- result["isPromise"] = Boolean::New(info.Env(), isPromise);
56
- result["promise"] = resultPromise;
57
-
58
- return result;
59
- }
60
-
61
- Value ThenMethodOnFulfilledOnRejectedReject(const CallbackInfo& info) {
62
- auto deferred = Promise::Deferred::New(info.Env());
63
- Function onFulfilled = info[0].As<Function>();
64
- Function onRejected = info[1].As<Function>();
65
-
66
- Promise resultPromise =
67
- MaybeUnwrap(deferred.Promise().Then(onFulfilled, onRejected));
68
-
69
- bool isPromise = resultPromise.IsPromise();
70
- deferred.Reject(String::New(info.Env(), "Rejected"));
71
-
72
- Object result = Object::New(info.Env());
73
- result["isPromise"] = Boolean::New(info.Env(), isPromise);
74
- result["promise"] = resultPromise;
75
-
76
- return result;
77
- }
78
-
79
- Value CatchMethod(const CallbackInfo& info) {
80
- auto deferred = Promise::Deferred::New(info.Env());
81
- Function onRejected = info[0].As<Function>();
82
-
83
- Promise resultPromise = MaybeUnwrap(deferred.Promise().Catch(onRejected));
84
-
85
- bool isPromise = resultPromise.IsPromise();
86
- deferred.Reject(String::New(info.Env(), "Rejected"));
87
-
88
- Object result = Object::New(info.Env());
89
- result["isPromise"] = Boolean::New(info.Env(), isPromise);
90
- result["promise"] = resultPromise;
91
-
92
- return result;
93
- }
94
-
95
- Object InitPromise(Env env) {
96
- Object exports = Object::New(env);
97
-
98
- exports["isPromise"] = Function::New(env, IsPromise);
99
- exports["resolvePromise"] = Function::New(env, ResolvePromise);
100
- exports["rejectPromise"] = Function::New(env, RejectPromise);
101
- exports["promiseReturnsCorrectEnv"] =
102
- Function::New(env, PromiseReturnsCorrectEnv);
103
- exports["thenMethodOnFulfilled"] = Function::New(env, ThenMethodOnFulfilled);
104
- exports["thenMethodOnFulfilledOnRejectedResolve"] =
105
- Function::New(env, ThenMethodOnFulfilledOnRejectedResolve);
106
- exports["thenMethodOnFulfilledOnRejectedReject"] =
107
- Function::New(env, ThenMethodOnFulfilledOnRejectedReject);
108
- exports["catchMethod"] = Function::New(env, CatchMethod);
109
-
110
- return exports;
111
- }
@@ -1,43 +0,0 @@
1
- 'use strict';
2
-
3
- const assert = require('assert');
4
- const common = require('./common');
5
-
6
- module.exports = common.runTest(test);
7
-
8
- async function test (binding) {
9
- assert.strictEqual(binding.promise.isPromise({}), false);
10
-
11
- const resolving = binding.promise.resolvePromise('resolved');
12
- await assert.strictEqual(binding.promise.isPromise(resolving), true);
13
- resolving.then(common.mustCall()).catch(common.mustNotCall());
14
-
15
- const rejecting = binding.promise.rejectPromise('error');
16
- await assert.strictEqual(binding.promise.isPromise(rejecting), true);
17
- rejecting.then(common.mustNotCall()).catch(common.mustCall());
18
-
19
- assert(binding.promise.promiseReturnsCorrectEnv());
20
-
21
- const onFulfilled = (value) => value * 2;
22
- const onRejected = (reason) => reason + '!';
23
-
24
- const thenOnFulfilled = binding.promise.thenMethodOnFulfilled(onFulfilled);
25
- assert.strictEqual(thenOnFulfilled.isPromise, true);
26
- const onFulfilledValue = await thenOnFulfilled.promise;
27
- assert.strictEqual(onFulfilledValue, 84);
28
-
29
- const thenResolve = binding.promise.thenMethodOnFulfilledOnRejectedResolve(onFulfilled, onRejected);
30
- assert.strictEqual(thenResolve.isPromise, true);
31
- const thenResolveValue = await thenResolve.promise;
32
- assert.strictEqual(thenResolveValue, 84);
33
-
34
- const thenRejected = binding.promise.thenMethodOnFulfilledOnRejectedReject(onFulfilled, onRejected);
35
- assert.strictEqual(thenRejected.isPromise, true);
36
- const rejectedValue = await thenRejected.promise;
37
- assert.strictEqual(rejectedValue, 'Rejected!');
38
-
39
- const catchMethod = binding.promise.catchMethod(onRejected);
40
- assert.strictEqual(catchMethod.isPromise, true);
41
- const catchValue = await catchMethod.promise;
42
- assert.strictEqual(catchValue, 'Rejected!');
43
- }
@@ -1,78 +0,0 @@
1
- #include "assert.h"
2
- #include "napi.h"
3
- #include "test_helper.h"
4
- using namespace Napi;
5
-
6
- static Reference<Buffer<uint8_t>> weak;
7
-
8
- static void RefMoveAssignTests(const Napi::CallbackInfo& info) {
9
- Napi::Object obj = Napi::Object::New(info.Env());
10
- obj.Set("tPro", "tTEST");
11
- Napi::Reference<Napi::Object> ref = Napi::Reference<Napi::Object>::New(obj);
12
- ref.SuppressDestruct();
13
-
14
- napi_ref obj_ref = static_cast<napi_ref>(ref);
15
- Napi::Reference<Napi::Object> existingRef =
16
- Napi::Reference<Napi::Object>(info.Env(), obj_ref);
17
- assert(ref == existingRef);
18
- assert(!(ref != existingRef));
19
-
20
- std::string val =
21
- MaybeUnwrap(existingRef.Value().Get("tPro")).As<Napi::String>();
22
- assert(val == "tTEST");
23
- // ------------------------------------------------------------ //
24
- Napi::Reference<Napi::Object> copyMoveRef = std::move(existingRef);
25
- assert(copyMoveRef == ref);
26
-
27
- Napi::Reference<Napi::Object> copyAssignRef;
28
- copyAssignRef = std::move(copyMoveRef);
29
- assert(copyAssignRef == ref);
30
- }
31
-
32
- static void ReferenceRefTests(const Napi::CallbackInfo& info) {
33
- Napi::Object obj = Napi::Object::New(info.Env());
34
- Napi::Reference<Napi::Object> ref = Napi::Reference<Napi::Object>::New(obj);
35
-
36
- assert(ref.Ref() == 1);
37
- assert(ref.Unref() == 0);
38
- }
39
-
40
- static void ReferenceResetTests(const Napi::CallbackInfo& info) {
41
- Napi::Object obj = Napi::Object::New(info.Env());
42
- Napi::Reference<Napi::Object> ref = Napi::Reference<Napi::Object>::New(obj);
43
- assert(!ref.IsEmpty());
44
-
45
- ref.Reset();
46
- assert(ref.IsEmpty());
47
-
48
- Napi::Object newObject = Napi::Object::New(info.Env());
49
- newObject.Set("n-api", "node");
50
-
51
- ref.Reset(newObject, 1);
52
- assert(!ref.IsEmpty());
53
-
54
- std::string val = MaybeUnwrap(ref.Value().Get("n-api")).As<Napi::String>();
55
- assert(val == "node");
56
- }
57
-
58
- void CreateWeakArray(const CallbackInfo& info) {
59
- weak = Weak(Buffer<uint8_t>::New(info.Env(), 1));
60
- weak.SuppressDestruct();
61
- }
62
-
63
- napi_value AccessWeakArrayEmpty(const CallbackInfo& info) {
64
- Buffer<uint8_t> value = weak.Value();
65
- return Napi::Boolean::New(info.Env(), value.IsEmpty());
66
- }
67
-
68
- Object InitReference(Env env) {
69
- Object exports = Object::New(env);
70
-
71
- exports["createWeakArray"] = Function::New(env, CreateWeakArray);
72
- exports["accessWeakArrayEmpty"] = Function::New(env, AccessWeakArrayEmpty);
73
-
74
- exports["refMoveAssignTest"] = Function::New(env, RefMoveAssignTests);
75
- exports["referenceRefTest"] = Function::New(env, ReferenceRefTests);
76
- exports["refResetTest"] = Function::New(env, ReferenceResetTests);
77
- return exports;
78
- }
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- const assert = require('assert');
4
- const testUtil = require('./testUtil');
5
-
6
- module.exports = require('./common').runTest(test);
7
-
8
- function test (binding) {
9
- return testUtil.runGCTests([
10
- 'test reference',
11
- () => binding.reference.createWeakArray(),
12
- () => assert.strictEqual(true, binding.reference.accessWeakArrayEmpty()),
13
- 'test reference move op',
14
- () => binding.reference.refMoveAssignTest(),
15
- 'test reference ref',
16
- () => binding.reference.referenceRefTest(),
17
- 'test reference reset',
18
- () => binding.reference.refResetTest()
19
- ]);
20
- }
@@ -1,38 +0,0 @@
1
- 'use strict';
2
-
3
- const { promisify } = require('util');
4
- const exec = promisify(require('child_process').exec);
5
- const { copy, remove } = require('fs-extra');
6
- const path = require('path');
7
- const assert = require('assert');
8
-
9
- async function test () {
10
- const addon = 'require-basic-finalizers';
11
- const ADDON_FOLDER = path.join(__dirname, 'addons', addon);
12
-
13
- await remove(ADDON_FOLDER);
14
- await copy(path.join(__dirname, 'tpl'), ADDON_FOLDER);
15
-
16
- console.log(' >Building addon');
17
-
18
- // Fail when NODE_ADDON_API_REQUIRE_BASIC_FINALIZERS is enabled
19
- await assert.rejects(exec('npm --require-basic-finalizers install', {
20
- cwd: ADDON_FOLDER
21
- }), 'Addon unexpectedly compiled successfully');
22
-
23
- // Succeed when NODE_ADDON_API_REQUIRE_BASIC_FINALIZERS is not enabled
24
- return assert.doesNotReject(exec('npm install', {
25
- cwd: ADDON_FOLDER
26
- }));
27
- }
28
-
29
- module.exports = (function () {
30
- // This test will only run under an experimental version test.
31
- const isExperimental = Number(process.env.NAPI_VERSION) === 2147483647;
32
-
33
- if (isExperimental) {
34
- return test();
35
- } else {
36
- console.log(' >Skipped (non-experimental test run)');
37
- }
38
- })();
@@ -1,12 +0,0 @@
1
- #include <napi.h>
2
-
3
- Napi::Object Init(Napi::Env env, Napi::Object exports) {
4
- exports.Set(
5
- "external",
6
- Napi::External<int>::New(
7
- env, new int(1), [](Napi::Env /*env*/, int* data) { delete data; }));
8
-
9
- return exports;
10
- }
11
-
12
- NODE_API_MODULE(NODE_GYP_MODULE_NAME, Init)
@@ -1,48 +0,0 @@
1
- {
2
- 'target_defaults': {
3
- 'include_dirs': [
4
- "<!(node -p \"require('node-addon-api').include_dir\")"
5
- ],
6
- 'variables': {
7
- 'NAPI_VERSION%': "<!(node -p \"process.env.NAPI_VERSION || process.versions.napi\")",
8
- 'require_basic_finalizers': "<!(node -p \"process.env['npm_config_require_basic_finalizers']\")",
9
- },
10
- 'conditions': [
11
- ['NAPI_VERSION!=""', { 'defines': ['NAPI_VERSION=<@(NAPI_VERSION)'] } ],
12
- ['NAPI_VERSION==2147483647', { 'defines': ['NAPI_EXPERIMENTAL'] } ],
13
- ['require_basic_finalizers=="true"', {
14
- 'defines': ['NODE_ADDON_API_REQUIRE_BASIC_FINALIZERS'],
15
- }],
16
- ['OS=="mac"', {
17
- 'cflags+': ['-fvisibility=hidden'],
18
- 'xcode_settings': {
19
- 'OTHER_CFLAGS': ['-fvisibility=hidden']
20
- }
21
- }]
22
- ],
23
- 'sources': [
24
- 'addon.cc',
25
- ],
26
- },
27
- 'targets': [
28
- {
29
- 'target_name': 'addon',
30
- 'defines': [
31
- 'NAPI_CPP_EXCEPTIONS'
32
- ],
33
- 'cflags!': [ '-fno-exceptions' ],
34
- 'cflags_cc!': [ '-fno-exceptions' ],
35
- 'msvs_settings': {
36
- 'VCCLCompilerTool': {
37
- 'ExceptionHandling': 1,
38
- 'EnablePREfast': 'true',
39
- },
40
- },
41
- 'xcode_settings': {
42
- 'CLANG_CXX_LIBRARY': 'libc++',
43
- 'MACOSX_DEPLOYMENT_TARGET': '10.7',
44
- 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',
45
- },
46
- }
47
- ]
48
- }
@@ -1,3 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports = require('bindings')('addon');
@@ -1,11 +0,0 @@
1
- {
2
- "name": "addon",
3
- "version": "0.0.0",
4
- "description": "Node.js addon",
5
- "private": true,
6
- "scripts": {},
7
- "dependencies": {
8
- "node-addon-api": "file:../../../../"
9
- },
10
- "gypfile": true
11
- }
@@ -1,56 +0,0 @@
1
- #include "napi.h"
2
- #include "test_helper.h"
3
-
4
- using namespace Napi;
5
-
6
- namespace {
7
-
8
- Value RunPlainString(const CallbackInfo& info) {
9
- Env env = info.Env();
10
- return MaybeUnwrap(env.RunScript("1 + 2 + 3"));
11
- }
12
-
13
- Value RunStdString(const CallbackInfo& info) {
14
- Env env = info.Env();
15
- std::string str = "1 + 2 + 3";
16
- return MaybeUnwrap(env.RunScript(str));
17
- }
18
-
19
- Value RunJsString(const CallbackInfo& info) {
20
- Env env = info.Env();
21
- return MaybeUnwrapOr(env.RunScript(info[0].UnsafeAs<String>()), Value());
22
- }
23
-
24
- Value RunWithContext(const CallbackInfo& info) {
25
- Env env = info.Env();
26
-
27
- Array keys = MaybeUnwrap(info[1].As<Object>().GetPropertyNames());
28
- std::string code = "(";
29
- for (unsigned int i = 0; i < keys.Length(); i++) {
30
- if (i != 0) code += ",";
31
- code += MaybeUnwrap(keys.Get(i)).As<String>().Utf8Value();
32
- }
33
- code += ") => " + info[0].As<String>().Utf8Value();
34
-
35
- Value ret = MaybeUnwrap(env.RunScript(code));
36
- Function fn = ret.As<Function>();
37
- std::vector<napi_value> args;
38
- for (unsigned int i = 0; i < keys.Length(); i++) {
39
- Value key = MaybeUnwrap(keys.Get(i));
40
- args.push_back(MaybeUnwrap(info[1].As<Object>().Get(key)));
41
- }
42
- return MaybeUnwrap(fn.Call(args));
43
- }
44
-
45
- } // end anonymous namespace
46
-
47
- Object InitRunScript(Env env) {
48
- Object exports = Object::New(env);
49
-
50
- exports["plainString"] = Function::New(env, RunPlainString);
51
- exports["stdString"] = Function::New(env, RunStdString);
52
- exports["jsString"] = Function::New(env, RunJsString);
53
- exports["withContext"] = Function::New(env, RunWithContext);
54
-
55
- return exports;
56
- }
@@ -1,45 +0,0 @@
1
- 'use strict';
2
-
3
- const assert = require('assert');
4
- const testUtil = require('./testUtil');
5
-
6
- module.exports = require('./common').runTest(test);
7
-
8
- function test (binding) {
9
- return testUtil.runGCTests([
10
- 'Plain C string',
11
- () => {
12
- const sum = binding.run_script.plainString();
13
- assert.strictEqual(sum, 1 + 2 + 3);
14
- },
15
-
16
- 'std::string',
17
- () => {
18
- const sum = binding.run_script.stdString();
19
- assert.strictEqual(sum, 1 + 2 + 3);
20
- },
21
-
22
- 'JavaScript string',
23
- () => {
24
- const sum = binding.run_script.jsString('1 + 2 + 3');
25
- assert.strictEqual(sum, 1 + 2 + 3);
26
- },
27
-
28
- 'JavaScript, but not a string',
29
- () => {
30
- assert.throws(() => {
31
- binding.run_script.jsString(true);
32
- }, {
33
- name: 'TypeError',
34
- message: 'A string was expected'
35
- });
36
- },
37
-
38
- 'With context',
39
- () => {
40
- const a = 1; const b = 2; const c = 3;
41
- const sum = binding.run_script.withContext('a + b + c', { a, b, c });
42
- assert.strictEqual(sum, a + b + c);
43
- }
44
- ]);
45
- }