koffi 2.16.0-beta.2 → 2.16.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 (425) hide show
  1. package/CHANGELOG.md +59 -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 -238
  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 -274
  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 -236
  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 -212
  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 -206
  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 -226
  51. package/src/koffi/src/{abi/x86_asm.S → abi_x86_asm.S} +36 -21
  52. package/src/koffi/src/{abi/x86_asm.asm → abi_x86_asm.asm} +31 -16
  53. package/src/koffi/src/call.cc +473 -287
  54. package/src/koffi/src/call.hh +15 -18
  55. package/src/koffi/src/ffi.cc +167 -183
  56. package/src/koffi/src/ffi.hh +59 -13
  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,402 +0,0 @@
1
- # Function
2
-
3
- The `Napi::Function` class provides a set of methods for creating a function object in
4
- native code that can later be called from JavaScript. The created function is not
5
- automatically visible from JavaScript. Instead it needs to be part of the add-on's
6
- module exports or be returned by one of the module's exported functions.
7
-
8
- In addition the `Napi::Function` class also provides methods that can be used to call
9
- functions that were created in JavaScript and passed to the native add-on.
10
-
11
- The `Napi::Function` class inherits its behavior from the `Napi::Object` class (for more info
12
- see: [`Napi::Object`](object.md)).
13
-
14
- > For callbacks that will be called with asynchronous events from a
15
- > non-JavaScript thread, please refer to [`Napi::ThreadSafeFunction`][] for more
16
- > examples.
17
-
18
- ## Example
19
-
20
- ```cpp
21
- #include <napi.h>
22
-
23
- using namespace Napi;
24
-
25
- Value Fn(const CallbackInfo& info) {
26
- Env env = info.Env();
27
- // ...
28
- return String::New(env, "Hello World");
29
- }
30
-
31
- Object Init(Env env, Object exports) {
32
- exports.Set(String::New(env, "fn"), Function::New<Fn>(env));
33
- return exports;
34
- }
35
-
36
- NODE_API_MODULE(NODE_GYP_MODULE_NAME, Init)
37
- ```
38
-
39
- The above code can be used from JavaScript as follows:
40
-
41
- ```js
42
- const addon = require('./addon');
43
- addon.fn();
44
- ```
45
-
46
- With the `Napi::Function` class it is possible to call a JavaScript function object
47
- from a native add-on with two different methods: `Call` and `MakeCallback`.
48
- The API of these two methods is very similar, but they are used in different
49
- contexts. The `MakeCallback` method is used to call from native code back into
50
- JavaScript after returning from an [asynchronous operation](async_operations.md)
51
- and in general in situations which don't have an existing JavaScript function on
52
- the stack. The `Call` method is used when there is already a JavaScript function
53
- on the stack (for example when running a native method called from JavaScript).
54
-
55
- ## Type definitions
56
-
57
- ### Napi::Function::VoidCallback
58
-
59
- This is the type describing a callback returning `void` that will be invoked
60
- from JavaScript.
61
-
62
- ```cpp
63
- using VoidCallback = void (*)(const Napi::CallbackInfo& info);
64
- ```
65
-
66
- ### Napi::Function::Callback
67
-
68
- This is the type describing a callback returning a value that will be invoked
69
- from JavaScript.
70
-
71
-
72
- ```cpp
73
- using Callback = Value (*)(const Napi::CallbackInfo& info);
74
- ```
75
-
76
- ## Methods
77
-
78
- ### Constructor
79
-
80
- Creates a new empty instance of `Napi::Function`.
81
-
82
- ```cpp
83
- Napi::Function::Function();
84
- ```
85
-
86
- ### Constructor
87
-
88
- Creates a new instance of the `Napi::Function` object.
89
-
90
- ```cpp
91
- Napi::Function::Function(napi_env env, napi_value value);
92
- ```
93
-
94
- - `[in] env`: The `napi_env` environment in which to construct the `Napi::Function` object.
95
- - `[in] value`: The `napi_value` which is a handle for a JavaScript function.
96
-
97
- Returns a non-empty `Napi::Function` instance.
98
-
99
- ### New
100
-
101
- Creates an instance of a `Napi::Function` object.
102
-
103
- ```cpp
104
- template <Napi::VoidCallback cb>
105
- static Napi::Function New(napi_env env,
106
- const char* utf8name = nullptr,
107
- void* data = nullptr);
108
- ```
109
-
110
- - `[template] cb`: The native function to invoke when the JavaScript function is
111
- invoked.
112
- - `[in] env`: The `napi_env` environment in which to construct the `Napi::Function` object.
113
- - `[in] utf8name`: Null-terminated string to be used as the name of the function.
114
- - `[in] data`: User-provided data context. This will be passed back into the
115
- function when invoked later.
116
-
117
- Returns an instance of a `Napi::Function` object.
118
-
119
- ### New
120
-
121
- Creates an instance of a `Napi::Function` object.
122
-
123
- ```cpp
124
- template <Napi::Callback cb>
125
- static Napi::Function New(napi_env env,
126
- const char* utf8name = nullptr,
127
- void* data = nullptr);
128
- ```
129
-
130
- - `[template] cb`: The native function to invoke when the JavaScript function is
131
- invoked.
132
- - `[in] env`: The `napi_env` environment in which to construct the `Napi::Function` object.
133
- - `[in] utf8name`: Null-terminated string to be used as the name of the function.
134
- - `[in] data`: User-provided data context. This will be passed back into the
135
- function when invoked later.
136
-
137
- Returns an instance of a `Napi::Function` object.
138
-
139
- ### New
140
-
141
- Creates an instance of a `Napi::Function` object.
142
-
143
- ```cpp
144
- template <Napi::VoidCallback cb>
145
- static Napi::Function New(napi_env env,
146
- const std::string& utf8name,
147
- void* data = nullptr);
148
- ```
149
-
150
- - `[template] cb`: The native function to invoke when the JavaScript function is
151
- invoked.
152
- - `[in] env`: The `napi_env` environment in which to construct the `Napi::Function` object.
153
- - `[in] utf8name`: String to be used as the name of the function.
154
- - `[in] data`: User-provided data context. This will be passed back into the
155
- function when invoked later.
156
-
157
- Returns an instance of a `Napi::Function` object.
158
-
159
- ### New
160
-
161
- Creates an instance of a `Napi::Function` object.
162
-
163
- ```cpp
164
- template <Napi::Callback cb>
165
- static Napi::Function New(napi_env env,
166
- const std::string& utf8name,
167
- void* data = nullptr);
168
- ```
169
-
170
- - `[template] cb`: The native function to invoke when the JavaScript function is
171
- invoked.
172
- - `[in] env`: The `napi_env` environment in which to construct the `Napi::Function` object.
173
- - `[in] utf8name`: String to be used as the name of the function.
174
- - `[in] data`: User-provided data context. This will be passed back into the
175
- function when invoked later.
176
-
177
- Returns an instance of a `Napi::Function` object.
178
-
179
- ### New
180
-
181
- Creates an instance of a `Napi::Function` object.
182
-
183
- ```cpp
184
- template <typename Callable>
185
- static Napi::Function Napi::Function::New(napi_env env, Callable cb, const char* utf8name = nullptr, void* data = nullptr);
186
- ```
187
-
188
- - `[in] env`: The `napi_env` environment in which to construct the `Napi::Function` object.
189
- - `[in] cb`: Object that implements `Callable`.
190
- - `[in] utf8name`: Null-terminated string to be used as the name of the function.
191
- - `[in] data`: User-provided data context. This will be passed back into the
192
- function when invoked later.
193
-
194
- Returns an instance of a `Napi::Function` object.
195
-
196
- ### New
197
-
198
- ```cpp
199
- template <typename Callable>
200
- static Napi::Function Napi::Function::New(napi_env env, Callable cb, const std::string& utf8name, void* data = nullptr);
201
- ```
202
-
203
- - `[in] env`: The `napi_env` environment in which to construct the `Napi::Function` object.
204
- - `[in] cb`: Object that implements `Callable`.
205
- - `[in] utf8name`: String to be used as the name of the function.
206
- - `[in] data`: User-provided data context. This will be passed back into the
207
- function when invoked later.
208
-
209
- Returns an instance of a `Napi::Function` object.
210
-
211
- ### New
212
-
213
- Creates a new JavaScript value from one that represents the constructor for the
214
- object.
215
-
216
- ```cpp
217
- Napi::Object Napi::Function::New(const std::initializer_list<napi_value>& args) const;
218
- ```
219
-
220
- - `[in] args`: Initializer list of JavaScript values as `napi_value` representing
221
- the arguments of the constructor function.
222
-
223
- Returns a new JavaScript object.
224
-
225
- ### New
226
-
227
- Creates a new JavaScript value from one that represents the constructor for the
228
- object.
229
-
230
- ```cpp
231
- Napi::Object Napi::Function::New(const std::vector<napi_value>& args) const;
232
- ```
233
-
234
- - `[in] args`: Vector of JavaScript values as `napi_value` representing the
235
- arguments of the constructor function.
236
-
237
- Returns a new JavaScript object.
238
-
239
- ### New
240
-
241
- Creates a new JavaScript value from one that represents the constructor for the
242
- object.
243
-
244
- ```cpp
245
- Napi::Object Napi::Function::New(size_t argc, const napi_value* args) const;
246
- ```
247
-
248
- - `[in] argc`: The number of the arguments passed to the constructor function.
249
- - `[in] args`: Array of JavaScript values as `napi_value` representing the
250
- arguments of the constructor function.
251
-
252
- Returns a new JavaScript object.
253
-
254
- ### Call
255
-
256
- Calls a Javascript function from a native add-on.
257
-
258
- ```cpp
259
- Napi::Value Napi::Function::Call(const std::initializer_list<napi_value>& args) const;
260
- ```
261
-
262
- - `[in] args`: Initializer list of JavaScript values as `napi_value` representing
263
- the arguments of the function.
264
-
265
- Returns a `Napi::Value` representing the JavaScript value returned by the function.
266
-
267
- ### Call
268
-
269
- Calls a JavaScript function from a native add-on.
270
-
271
- ```cpp
272
- Napi::Value Napi::Function::Call(const std::vector<napi_value>& args) const;
273
- ```
274
-
275
- - `[in] args`: Vector of JavaScript values as `napi_value` representing the
276
- arguments of the function.
277
-
278
- Returns a `Napi::Value` representing the JavaScript value returned by the function.
279
-
280
- ### Call
281
-
282
- Calls a Javascript function from a native add-on.
283
-
284
- ```cpp
285
- Napi::Value Napi::Function::Call(size_t argc, const napi_value* args) const;
286
- ```
287
-
288
- - `[in] argc`: The number of the arguments passed to the function.
289
- - `[in] args`: Array of JavaScript values as `napi_value` representing the
290
- arguments of the function.
291
-
292
- Returns a `Napi::Value` representing the JavaScript value returned by the function.
293
-
294
- ### Call
295
-
296
- Calls a Javascript function from a native add-on.
297
-
298
- ```cpp
299
- Napi::Value Napi::Function::Call(napi_value recv, const std::initializer_list<napi_value>& args) const;
300
- ```
301
-
302
- - `[in] recv`: The `this` object passed to the called function.
303
- - `[in] args`: Initializer list of JavaScript values as `napi_value` representing
304
- the arguments of the function.
305
-
306
- Returns a `Napi::Value` representing the JavaScript value returned by the function.
307
-
308
- ### Call
309
-
310
- Calls a Javascript function from a native add-on.
311
-
312
- ```cpp
313
- Napi::Value Napi::Function::Call(napi_value recv, const std::vector<napi_value>& args) const;
314
- ```
315
-
316
- - `[in] recv`: The `this` object passed to the called function.
317
- - `[in] args`: Vector of JavaScript values as `napi_value` representing the
318
- arguments of the function.
319
-
320
- Returns a `Napi::Value` representing the JavaScript value returned by the function.
321
-
322
- ### Call
323
-
324
- Calls a Javascript function from a native add-on.
325
-
326
- ```cpp
327
- Napi::Value Napi::Function::Call(napi_value recv, size_t argc, const napi_value* args) const;
328
- ```
329
-
330
- - `[in] recv`: The `this` object passed to the called function.
331
- - `[in] argc`: The number of the arguments passed to the function.
332
- - `[in] args`: Array of JavaScript values as `napi_value` representing the
333
- arguments of the function.
334
-
335
- Returns a `Napi::Value` representing the JavaScript value returned by the function.
336
-
337
- ### MakeCallback
338
-
339
- Calls a Javascript function from a native add-on after an asynchronous operation.
340
-
341
- ```cpp
342
- Napi::Value Napi::Function::MakeCallback(napi_value recv, const std::initializer_list<napi_value>& args, napi_async_context context = nullptr) const;
343
- ```
344
-
345
- - `[in] recv`: The `this` object passed to the called function.
346
- - `[in] args`: Initializer list of JavaScript values as `napi_value` representing
347
- the arguments of the function.
348
- - `[in] context`: Context for the async operation that is invoking the callback.
349
- This should normally be a value previously obtained from [Napi::AsyncContext](async_context.md).
350
- However `nullptr` is also allowed, which indicates the current async context
351
- (if any) is to be used for the callback.
352
-
353
- Returns a `Napi::Value` representing the JavaScript value returned by the function.
354
-
355
- ### MakeCallback
356
-
357
- Calls a Javascript function from a native add-on after an asynchronous operation.
358
-
359
- ```cpp
360
- Napi::Value Napi::Function::MakeCallback(napi_value recv, const std::vector<napi_value>& args, napi_async_context context = nullptr) const;
361
- ```
362
-
363
- - `[in] recv`: The `this` object passed to the called function.
364
- - `[in] args`: List of JavaScript values as `napi_value` representing the
365
- arguments of the function.
366
- - `[in] context`: Context for the async operation that is invoking the callback.
367
- This should normally be a value previously obtained from [Napi::AsyncContext](async_context.md).
368
- However `nullptr` is also allowed, which indicates the current async context
369
- (if any) is to be used for the callback.
370
-
371
- Returns a `Napi::Value` representing the JavaScript value returned by the function.
372
-
373
- ### MakeCallback
374
-
375
- Calls a Javascript function from a native add-on after an asynchronous operation.
376
-
377
- ```cpp
378
- Napi::Value Napi::Function::MakeCallback(napi_value recv, size_t argc, const napi_value* args, napi_async_context context = nullptr) const;
379
- ```
380
-
381
- - `[in] recv`: The `this` object passed to the called function.
382
- - `[in] argc`: The number of the arguments passed to the function.
383
- - `[in] args`: Array of JavaScript values as `napi_value` representing the
384
- arguments of the function.
385
- - `[in] context`: Context for the async operation that is invoking the callback.
386
- This should normally be a value previously obtained from [Napi::AsyncContext](async_context.md).
387
- However `nullptr` is also allowed, which indicates the current async context
388
- (if any) is to be used for the callback.
389
-
390
- Returns a `Napi::Value` representing the JavaScript value returned by the function.
391
-
392
- ## Operator
393
-
394
- ```cpp
395
- Napi::Value Napi::Function::operator ()(const std::initializer_list<napi_value>& args) const;
396
- ```
397
-
398
- - `[in] args`: Initializer list of JavaScript values as `napi_value`.
399
-
400
- Returns a `Napi::Value` representing the JavaScript value returned by the function.
401
-
402
- [`Napi::ThreadSafeFunction`]: ./threadsafe_function.md
@@ -1,238 +0,0 @@
1
- # FunctionReference
2
-
3
- `Napi::FunctionReference` is a subclass of [`Napi::Reference`](reference.md), and
4
- is equivalent to an instance of `Napi::Reference<Napi::Function>`. This means
5
- that a `Napi::FunctionReference` holds a [`Napi::Function`](function.md), and a
6
- count of the number of references to that `Napi::Function`. When the count is
7
- greater than 0, a `Napi::FunctionReference` is not eligible for garbage collection.
8
- This ensures that the `Function` will remain accessible, even if the original
9
- reference to it is no longer available.
10
- `Napi::FunctionReference` allows the referenced JavaScript function object to be
11
- called from a native add-on with two different methods: `Call` and `MakeCallback`.
12
- See the documentation for [`Napi::Function`](function.md) for when `Call` should
13
- be used instead of `MakeCallback` and vice-versa.
14
-
15
- The `Napi::FunctionReference` class inherits its behavior from the `Napi::Reference`
16
- class (for more info see: [`Napi::Reference`](reference.md)).
17
-
18
- ## Methods
19
-
20
- ### Weak
21
-
22
- Creates a "weak" reference to the value, in that the initial reference count is
23
- set to 0.
24
-
25
- ```cpp
26
- static Napi::FunctionReference Napi::Weak(const Napi::Function& value);
27
- ```
28
-
29
- - `[in] value`: The value which is to be referenced.
30
-
31
- Returns the newly created reference.
32
-
33
- ### Persistent
34
-
35
- Creates a "persistent" reference to the value, in that the initial reference
36
- count is set to 1.
37
-
38
- ```cpp
39
- static Napi::FunctionReference Napi::Persistent(const Napi::Function& value);
40
- ```
41
-
42
- - `[in] value`: The value which is to be referenced.
43
-
44
- Returns the newly created reference.
45
-
46
- ### Constructor
47
-
48
- Creates a new empty instance of `Napi::FunctionReference`.
49
-
50
- ```cpp
51
- Napi::FunctionReference::FunctionReference();
52
- ```
53
-
54
- ### Constructor
55
-
56
- Creates a new instance of the `Napi::FunctionReference`.
57
-
58
- ```cpp
59
- Napi::FunctionReference::FunctionReference(napi_env env, napi_ref ref);
60
- ```
61
-
62
- - `[in] env`: The environment in which to construct the `Napi::FunctionReference` object.
63
- - `[in] ref`: The Node-API reference to be held by the `Napi::FunctionReference`.
64
-
65
- Returns a newly created `Napi::FunctionReference` object.
66
-
67
- ### New
68
-
69
- Constructs a new instance by calling the constructor held by this reference.
70
-
71
- ```cpp
72
- Napi::Object Napi::FunctionReference::New(const std::initializer_list<napi_value>& args) const;
73
- ```
74
-
75
- - `[in] args`: Initializer list of JavaScript values as `napi_value` representing
76
- the arguments of the constructor function.
77
-
78
- Returns a new JavaScript object.
79
-
80
- ### New
81
-
82
- Constructs a new instance by calling the constructor held by this reference.
83
-
84
- ```cpp
85
- Napi::Object Napi::FunctionReference::New(const std::vector<napi_value>& args) const;
86
- ```
87
-
88
- - `[in] args`: Vector of JavaScript values as `napi_value` representing the
89
- arguments of the constructor function.
90
-
91
- Returns a new JavaScript object.
92
-
93
- ### Call
94
-
95
- Calls a referenced Javascript function from a native add-on.
96
-
97
- ```cpp
98
- Napi::Value Napi::FunctionReference::Call(const std::initializer_list<napi_value>& args) const;
99
- ```
100
-
101
- - `[in] args`: Initializer list of JavaScript values as `napi_value` representing
102
- the arguments of the referenced function.
103
-
104
- Returns a `Napi::Value` representing the JavaScript object returned by the referenced
105
- function.
106
-
107
- ### Call
108
-
109
- Calls a referenced JavaScript function from a native add-on.
110
-
111
- ```cpp
112
- Napi::Value Napi::FunctionReference::Call(const std::vector<napi_value>& args) const;
113
- ```
114
-
115
- - `[in] args`: Vector of JavaScript values as `napi_value` representing the
116
- arguments of the referenced function.
117
-
118
- Returns a `Napi::Value` representing the JavaScript object returned by the referenced
119
- function.
120
-
121
- ### Call
122
-
123
- Calls a referenced JavaScript function from a native add-on.
124
-
125
- ```cpp
126
- Napi::Value Napi::FunctionReference::Call(napi_value recv, const std::initializer_list<napi_value>& args) const;
127
- ```
128
-
129
- - `[in] recv`: The `this` object passed to the referenced function when it's called.
130
- - `[in] args`: Initializer list of JavaScript values as `napi_value` representing
131
- the arguments of the referenced function.
132
-
133
- Returns a `Napi::Value` representing the JavaScript object returned by the referenced
134
- function.
135
-
136
- ### Call
137
-
138
- Calls a referenced JavaScript function from a native add-on.
139
-
140
- ```cpp
141
- Napi::Value Napi::FunctionReference::Call(napi_value recv, const std::vector<napi_value>& args) const;
142
- ```
143
-
144
- - `[in] recv`: The `this` object passed to the referenced function when it's called.
145
- - `[in] args`: Vector of JavaScript values as `napi_value` representing the
146
- arguments of the referenced function.
147
-
148
- Returns a `Napi::Value` representing the JavaScript object returned by the referenced
149
- function.
150
-
151
- ### Call
152
-
153
- Calls a referenced JavaScript function from a native add-on.
154
-
155
- ```cpp
156
- Napi::Value Napi::FunctionReference::Call(napi_value recv, size_t argc, const napi_value* args) const;
157
- ```
158
-
159
- - `[in] recv`: The `this` object passed to the referenced function when it's called.
160
- - `[in] argc`: The number of arguments passed to the referenced function.
161
- - `[in] args`: Array of JavaScript values as `napi_value` representing the
162
- arguments of the referenced function.
163
-
164
- Returns a `Napi::Value` representing the JavaScript object returned by the referenced
165
- function.
166
-
167
-
168
- ### MakeCallback
169
-
170
- Calls a referenced JavaScript function from a native add-on after an asynchronous
171
- operation.
172
-
173
- ```cpp
174
- Napi::Value Napi::FunctionReference::MakeCallback(napi_value recv, const std::initializer_list<napi_value>& args, napi_async_context = nullptr) const;
175
- ```
176
-
177
- - `[in] recv`: The `this` object passed to the referenced function when it's called.
178
- - `[in] args`: Initializer list of JavaScript values as `napi_value` representing
179
- the arguments of the referenced function.
180
- - `[in] context`: Context for the async operation that is invoking the callback.
181
- This should normally be a value previously obtained from [Napi::AsyncContext](async_context.md).
182
- However `nullptr` is also allowed, which indicates the current async context
183
- (if any) is to be used for the callback.
184
-
185
- Returns a `Napi::Value` representing the JavaScript object returned by the referenced
186
- function.
187
-
188
- ### MakeCallback
189
-
190
- Calls a referenced JavaScript function from a native add-on after an asynchronous
191
- operation.
192
-
193
- ```cpp
194
- Napi::Value Napi::FunctionReference::MakeCallback(napi_value recv, const std::vector<napi_value>& args, napi_async_context context = nullptr) const;
195
- ```
196
-
197
- - `[in] recv`: The `this` object passed to the referenced function when it's called.
198
- - `[in] args`: Vector of JavaScript values as `napi_value` representing the
199
- arguments of the referenced function.
200
- - `[in] context`: Context for the async operation that is invoking the callback.
201
- This should normally be a value previously obtained from [Napi::AsyncContext](async_context.md).
202
- However `nullptr` is also allowed, which indicates the current async context
203
- (if any) is to be used for the callback.
204
-
205
- Returns a `Napi::Value` representing the JavaScript object returned by the referenced
206
- function.
207
-
208
- ### MakeCallback
209
-
210
- Calls a referenced JavaScript function from a native add-on after an asynchronous
211
- operation.
212
-
213
- ```cpp
214
- Napi::Value Napi::FunctionReference::MakeCallback(napi_value recv, size_t argc, const napi_value* args, napi_async_context context = nullptr) const;
215
- ```
216
-
217
- - `[in] recv`: The `this` object passed to the referenced function when it's called.
218
- - `[in] argc`: The number of arguments passed to the referenced function.
219
- - `[in] args`: Array of JavaScript values as `napi_value` representing the
220
- arguments of the referenced function.
221
- - `[in] context`: Context for the async operation that is invoking the callback.
222
- This should normally be a value previously obtained from [Napi::AsyncContext](async_context.md).
223
- However `nullptr` is also allowed, which indicates the current async context
224
- (if any) is to be used for the callback.
225
-
226
- Returns a `Napi::Value` representing the JavaScript object returned by the referenced
227
- function.
228
-
229
- ## Operator
230
-
231
- ```cpp
232
- Napi::Value operator ()(const std::initializer_list<napi_value>& args) const;
233
- ```
234
-
235
- - `[in] args`: Initializer list of reference to JavaScript values as `napi_value`
236
-
237
- Returns a `Napi::Value` representing the JavaScript value returned by the referenced
238
- function.
@@ -1,13 +0,0 @@
1
- # Generator
2
-
3
- ## What is generator
4
-
5
- **[generator-napi-module](https://www.npmjs.com/package/generator-napi-module)** is a module to quickly generate a skeleton module using
6
- **Node-API**, the new API for Native addons. This module automatically sets up your
7
- **gyp file** to use **node-addon-api**, the C++ wrappers for Node-API and generates
8
- a wrapper JS module. Optionally, it can even configure the generated project to
9
- use **TypeScript** instead.
10
-
11
- ## **generator-napi-module** reference
12
-
13
- - [Installation and usage](https://www.npmjs.com/package/generator-napi-module#installation)