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,430 +0,0 @@
1
- #include "napi.h"
2
- #include "test_helper.h"
3
-
4
- using namespace Napi;
5
-
6
- // Native wrappers for testing Object::Get()
7
- Value GetPropertyWithUint32(const CallbackInfo& info);
8
- Value GetPropertyWithNapiValue(const CallbackInfo& info);
9
- Value GetPropertyWithNapiWrapperValue(const CallbackInfo& info);
10
- Value GetPropertyWithCStyleString(const CallbackInfo& info);
11
- Value GetPropertyWithCppStyleString(const CallbackInfo& info);
12
-
13
- // Native wrappers for testing Object::Set()
14
- Value SetPropertyWithUint32(const CallbackInfo& info);
15
- Value SetPropertyWithNapiValue(const CallbackInfo& info);
16
- Value SetPropertyWithNapiWrapperValue(const CallbackInfo& info);
17
- Value SetPropertyWithCStyleString(const CallbackInfo& info);
18
- Value SetPropertyWithCppStyleString(const CallbackInfo& info);
19
-
20
- // Native wrappers for testing Object::Delete()
21
- Value DeletePropertyWithUint32(const CallbackInfo& info);
22
- Value DeletePropertyWithNapiValue(const CallbackInfo& info);
23
- Value DeletePropertyWithNapiWrapperValue(const CallbackInfo& info);
24
- Value DeletePropertyWithCStyleString(const CallbackInfo& info);
25
- Value DeletePropertyWithCppStyleString(const CallbackInfo& info);
26
-
27
- // Native wrappers for testing Object::HasOwnProperty()
28
- Value HasOwnPropertyWithNapiValue(const CallbackInfo& info);
29
- Value HasOwnPropertyWithNapiWrapperValue(const CallbackInfo& info);
30
- Value HasOwnPropertyWithCStyleString(const CallbackInfo& info);
31
- Value HasOwnPropertyWithCppStyleString(const CallbackInfo& info);
32
-
33
- // Native wrappers for testing Object::Has()
34
- Value HasPropertyWithUint32(const CallbackInfo& info);
35
- Value HasPropertyWithNapiValue(const CallbackInfo& info);
36
- Value HasPropertyWithNapiWrapperValue(const CallbackInfo& info);
37
- Value HasPropertyWithCStyleString(const CallbackInfo& info);
38
- Value HasPropertyWithCppStyleString(const CallbackInfo& info);
39
-
40
- // Native wrappers for testing Object::AddFinalizer()
41
- Value AddFinalizer(const CallbackInfo& info);
42
- Value AddFinalizerWithHint(const CallbackInfo& info);
43
-
44
- // Native wrappers for testing Object::operator []
45
- Value SubscriptGetWithCStyleString(const CallbackInfo& info);
46
- Value SubscriptGetWithCppStyleString(const CallbackInfo& info);
47
- Value SubscriptGetAtIndex(const CallbackInfo& info);
48
- void SubscriptSetWithCStyleString(const CallbackInfo& info);
49
- void SubscriptSetWithCppStyleString(const CallbackInfo& info);
50
- void SubscriptSetAtIndex(const CallbackInfo& info);
51
-
52
- static bool testValue = true;
53
- // Used to test void* Data() integrity
54
- struct UserDataHolder {
55
- int32_t value;
56
- };
57
-
58
- Value TestGetter(const CallbackInfo& info) {
59
- return Boolean::New(info.Env(), testValue);
60
- }
61
-
62
- void TestSetter(const CallbackInfo& info) {
63
- testValue = info[0].As<Boolean>();
64
- }
65
-
66
- Value TestGetterWithUserData(const CallbackInfo& info) {
67
- const UserDataHolder* holder = reinterpret_cast<UserDataHolder*>(info.Data());
68
- return Number::New(info.Env(), holder->value);
69
- }
70
-
71
- void TestSetterWithUserData(const CallbackInfo& info) {
72
- UserDataHolder* holder = reinterpret_cast<UserDataHolder*>(info.Data());
73
- holder->value = info[0].As<Number>().Int32Value();
74
- }
75
-
76
- Value TestFunction(const CallbackInfo& info) {
77
- return Boolean::New(info.Env(), true);
78
- }
79
-
80
- Value TestFunctionWithUserData(const CallbackInfo& info) {
81
- UserDataHolder* holder = reinterpret_cast<UserDataHolder*>(info.Data());
82
- return Number::New(info.Env(), holder->value);
83
- }
84
-
85
- Value EmptyConstructor(const CallbackInfo& info) {
86
- auto env = info.Env();
87
- bool isEmpty = info[0].As<Boolean>();
88
- Object object = isEmpty ? Object() : Object(env, Object::New(env));
89
- return Boolean::New(env, object.IsEmpty());
90
- }
91
-
92
- Value ConstructorFromObject(const CallbackInfo& info) {
93
- auto env = info.Env();
94
- Object object = info[0].As<Object>();
95
- return Object(env, object);
96
- }
97
-
98
- Array GetPropertyNames(const CallbackInfo& info) {
99
- Object obj = info[0].As<Object>();
100
- Array arr = MaybeUnwrap(obj.GetPropertyNames());
101
- return arr;
102
- }
103
-
104
- void DefineProperties(const CallbackInfo& info) {
105
- Object obj = info[0].As<Object>();
106
- String nameType = info[1].As<String>();
107
- Env env = info.Env();
108
-
109
- Boolean trueValue = Boolean::New(env, true);
110
- UserDataHolder* holder = new UserDataHolder();
111
- holder->value = 1234;
112
-
113
- if (nameType.Utf8Value() == "literal") {
114
- obj.DefineProperties({
115
- PropertyDescriptor::Accessor(env, obj, "readonlyAccessor", TestGetter),
116
- PropertyDescriptor::Accessor(
117
- env, obj, "readwriteAccessor", TestGetter, TestSetter),
118
- PropertyDescriptor::Accessor(env,
119
- obj,
120
- "readonlyAccessorWithUserData",
121
- TestGetterWithUserData,
122
- napi_property_attributes::napi_default,
123
- reinterpret_cast<void*>(holder)),
124
- PropertyDescriptor::Accessor(env,
125
- obj,
126
- "readwriteAccessorWithUserData",
127
- TestGetterWithUserData,
128
- TestSetterWithUserData,
129
- napi_property_attributes::napi_default,
130
- reinterpret_cast<void*>(holder)),
131
-
132
- PropertyDescriptor::Accessor<TestGetter>("readonlyAccessorT"),
133
- PropertyDescriptor::Accessor<TestGetter, TestSetter>(
134
- "readwriteAccessorT"),
135
- PropertyDescriptor::Accessor<TestGetterWithUserData>(
136
- "readonlyAccessorWithUserDataT",
137
- napi_property_attributes::napi_default,
138
- reinterpret_cast<void*>(holder)),
139
- PropertyDescriptor::Accessor<TestGetterWithUserData,
140
- TestSetterWithUserData>(
141
- "readwriteAccessorWithUserDataT",
142
- napi_property_attributes::napi_default,
143
- reinterpret_cast<void*>(holder)),
144
-
145
- PropertyDescriptor::Value("readonlyValue", trueValue),
146
- PropertyDescriptor::Value("readwriteValue", trueValue, napi_writable),
147
- PropertyDescriptor::Value(
148
- "enumerableValue", trueValue, napi_enumerable),
149
- PropertyDescriptor::Value(
150
- "configurableValue", trueValue, napi_configurable),
151
- PropertyDescriptor::Function(env, obj, "function", TestFunction),
152
- PropertyDescriptor::Function(env,
153
- obj,
154
- "functionWithUserData",
155
- TestFunctionWithUserData,
156
- napi_property_attributes::napi_default,
157
- reinterpret_cast<void*>(holder)),
158
- });
159
- } else if (nameType.Utf8Value() == "string") {
160
- // VS2013 has lifetime issues when passing temporary objects into the
161
- // constructor of another object. It generates code to destruct the object
162
- // as soon as the constructor call returns. Since this isn't a common case
163
- // for using std::string objects, I'm refactoring the test to work around
164
- // the issue.
165
- std::string str1("readonlyAccessor");
166
- std::string str2("readwriteAccessor");
167
- std::string str1a("readonlyAccessorWithUserData");
168
- std::string str2a("readwriteAccessorWithUserData");
169
-
170
- std::string str1t("readonlyAccessorT");
171
- std::string str2t("readwriteAccessorT");
172
- std::string str1at("readonlyAccessorWithUserDataT");
173
- std::string str2at("readwriteAccessorWithUserDataT");
174
-
175
- std::string str3("readonlyValue");
176
- std::string str4("readwriteValue");
177
- std::string str5("enumerableValue");
178
- std::string str6("configurableValue");
179
- std::string str7("function");
180
- std::string str8("functionWithUserData");
181
-
182
- obj.DefineProperties({
183
- PropertyDescriptor::Accessor(env, obj, str1, TestGetter),
184
- PropertyDescriptor::Accessor(env, obj, str2, TestGetter, TestSetter),
185
- PropertyDescriptor::Accessor(env,
186
- obj,
187
- str1a,
188
- TestGetterWithUserData,
189
- napi_property_attributes::napi_default,
190
- reinterpret_cast<void*>(holder)),
191
- PropertyDescriptor::Accessor(env,
192
- obj,
193
- str2a,
194
- TestGetterWithUserData,
195
- TestSetterWithUserData,
196
- napi_property_attributes::napi_default,
197
- reinterpret_cast<void*>(holder)),
198
-
199
- PropertyDescriptor::Accessor<TestGetter>(str1t),
200
- PropertyDescriptor::Accessor<TestGetter, TestSetter>(str2t),
201
- PropertyDescriptor::Accessor<TestGetterWithUserData>(
202
- str1at,
203
- napi_property_attributes::napi_default,
204
- reinterpret_cast<void*>(holder)),
205
- PropertyDescriptor::Accessor<TestGetterWithUserData,
206
- TestSetterWithUserData>(
207
- str2at,
208
- napi_property_attributes::napi_default,
209
- reinterpret_cast<void*>(holder)),
210
-
211
- PropertyDescriptor::Value(str3, trueValue),
212
- PropertyDescriptor::Value(str4, trueValue, napi_writable),
213
- PropertyDescriptor::Value(str5, trueValue, napi_enumerable),
214
- PropertyDescriptor::Value(str6, trueValue, napi_configurable),
215
- PropertyDescriptor::Function(env, obj, str7, TestFunction),
216
- PropertyDescriptor::Function(env,
217
- obj,
218
- str8,
219
- TestFunctionWithUserData,
220
- napi_property_attributes::napi_default,
221
- reinterpret_cast<void*>(holder)),
222
- });
223
- } else if (nameType.Utf8Value() == "value") {
224
- obj.DefineProperties({
225
- PropertyDescriptor::Accessor(
226
- env, obj, Napi::String::New(env, "readonlyAccessor"), TestGetter),
227
- PropertyDescriptor::Accessor(
228
- env,
229
- obj,
230
- Napi::String::New(env, "readwriteAccessor"),
231
- TestGetter,
232
- TestSetter),
233
- PropertyDescriptor::Accessor(
234
- env,
235
- obj,
236
- Napi::String::New(env, "readonlyAccessorWithUserData"),
237
- TestGetterWithUserData,
238
- napi_property_attributes::napi_default,
239
- reinterpret_cast<void*>(holder)),
240
- PropertyDescriptor::Accessor(
241
- env,
242
- obj,
243
- Napi::String::New(env, "readwriteAccessorWithUserData"),
244
- TestGetterWithUserData,
245
- TestSetterWithUserData,
246
- napi_property_attributes::napi_default,
247
- reinterpret_cast<void*>(holder)),
248
-
249
- PropertyDescriptor::Accessor<TestGetter>(
250
- Napi::String::New(env, "readonlyAccessorT")),
251
- PropertyDescriptor::Accessor<TestGetter, TestSetter>(
252
- Napi::String::New(env, "readwriteAccessorT")),
253
- PropertyDescriptor::Accessor<TestGetterWithUserData>(
254
- Napi::String::New(env, "readonlyAccessorWithUserDataT"),
255
- napi_property_attributes::napi_default,
256
- reinterpret_cast<void*>(holder)),
257
- PropertyDescriptor::Accessor<TestGetterWithUserData,
258
- TestSetterWithUserData>(
259
- Napi::String::New(env, "readwriteAccessorWithUserDataT"),
260
- napi_property_attributes::napi_default,
261
- reinterpret_cast<void*>(holder)),
262
-
263
- PropertyDescriptor::Value(Napi::String::New(env, "readonlyValue"),
264
- trueValue),
265
- PropertyDescriptor::Value(
266
- Napi::String::New(env, "readwriteValue"), trueValue, napi_writable),
267
- PropertyDescriptor::Value(Napi::String::New(env, "enumerableValue"),
268
- trueValue,
269
- napi_enumerable),
270
- PropertyDescriptor::Value(Napi::String::New(env, "configurableValue"),
271
- trueValue,
272
- napi_configurable),
273
- PropertyDescriptor::Function(
274
- env, obj, Napi::String::New(env, "function"), TestFunction),
275
- PropertyDescriptor::Function(
276
- env,
277
- obj,
278
- Napi::String::New(env, "functionWithUserData"),
279
- TestFunctionWithUserData,
280
- napi_property_attributes::napi_default,
281
- reinterpret_cast<void*>(holder)),
282
- });
283
- }
284
- }
285
-
286
- void DefineValueProperty(const CallbackInfo& info) {
287
- Object obj = info[0].As<Object>();
288
- Name name = info[1].As<Name>();
289
- Value value = info[2];
290
-
291
- obj.DefineProperty(PropertyDescriptor::Value(name, value));
292
- }
293
-
294
- Value CreateObjectUsingMagic(const CallbackInfo& info) {
295
- Env env = info.Env();
296
- Object obj = Object::New(env);
297
- obj["cp_false"] = false;
298
- obj["cp_true"] = true;
299
- obj[std::string("s_true")] = true;
300
- obj[std::string("s_false")] = false;
301
- obj["0"] = 0;
302
- obj[(uint32_t)42] = 120;
303
- obj["0.0f"] = 0.0f;
304
- obj["0.0"] = 0.0;
305
- obj["-1"] = -1;
306
- obj["foo2"] = u"foo";
307
- obj[std::string("foo4")] = NAPI_WIDE_TEXT("foo");
308
- obj[std::string("foo5")] = "foo";
309
- obj[std::string("foo6")] = std::u16string(NAPI_WIDE_TEXT("foo"));
310
- obj[std::string("foo7")] = std::string("foo");
311
- obj[std::string("circular")] = obj;
312
- obj["circular2"] = obj;
313
- return obj;
314
- }
315
-
316
- #ifdef NAPI_CPP_EXCEPTIONS
317
- Value Sum(const CallbackInfo& info) {
318
- Object object = info[0].As<Object>();
319
- int64_t sum = 0;
320
-
321
- for (const auto& e : object) {
322
- sum += static_cast<Value>(e.second).As<Number>().Int64Value();
323
- }
324
-
325
- return Number::New(info.Env(), sum);
326
- }
327
-
328
- void Increment(const CallbackInfo& info) {
329
- Env env = info.Env();
330
- Object object = info[0].As<Object>();
331
-
332
- for (auto e : object) {
333
- int64_t value = static_cast<Value>(e.second).As<Number>().Int64Value();
334
- ++value;
335
- e.second = Napi::Number::New(env, value);
336
- }
337
- }
338
- #endif // NAPI_CPP_EXCEPTIONS
339
-
340
- Value InstanceOf(const CallbackInfo& info) {
341
- Object obj = info[0].UnsafeAs<Object>();
342
- Function constructor = info[1].As<Function>();
343
- return Boolean::New(info.Env(), MaybeUnwrap(obj.InstanceOf(constructor)));
344
- }
345
-
346
- Object InitObject(Env env) {
347
- Object exports = Object::New(env);
348
-
349
- exports["emptyConstructor"] = Function::New(env, EmptyConstructor);
350
- exports["constructorFromObject"] = Function::New(env, ConstructorFromObject);
351
-
352
- exports["GetPropertyNames"] = Function::New(env, GetPropertyNames);
353
- exports["defineProperties"] = Function::New(env, DefineProperties);
354
- exports["defineValueProperty"] = Function::New(env, DefineValueProperty);
355
-
356
- exports["getPropertyWithUint32"] = Function::New(env, GetPropertyWithUint32);
357
- exports["getPropertyWithNapiValue"] =
358
- Function::New(env, GetPropertyWithNapiValue);
359
- exports["getPropertyWithNapiWrapperValue"] =
360
- Function::New(env, GetPropertyWithNapiWrapperValue);
361
- exports["getPropertyWithCStyleString"] =
362
- Function::New(env, GetPropertyWithCStyleString);
363
- exports["getPropertyWithCppStyleString"] =
364
- Function::New(env, GetPropertyWithCppStyleString);
365
-
366
- exports["setPropertyWithUint32"] = Function::New(env, SetPropertyWithUint32);
367
- exports["setPropertyWithNapiValue"] =
368
- Function::New(env, SetPropertyWithNapiValue);
369
- exports["setPropertyWithNapiWrapperValue"] =
370
- Function::New(env, SetPropertyWithNapiWrapperValue);
371
- exports["setPropertyWithCStyleString"] =
372
- Function::New(env, SetPropertyWithCStyleString);
373
- exports["setPropertyWithCppStyleString"] =
374
- Function::New(env, SetPropertyWithCppStyleString);
375
-
376
- exports["deletePropertyWithUint32"] =
377
- Function::New(env, DeletePropertyWithUint32);
378
- exports["deletePropertyWithNapiValue"] =
379
- Function::New(env, DeletePropertyWithNapiValue);
380
- exports["deletePropertyWithNapiWrapperValue"] =
381
- Function::New(env, DeletePropertyWithNapiWrapperValue);
382
- exports["deletePropertyWithCStyleString"] =
383
- Function::New(env, DeletePropertyWithCStyleString);
384
- exports["deletePropertyWithCppStyleString"] =
385
- Function::New(env, DeletePropertyWithCppStyleString);
386
-
387
- exports["hasOwnPropertyWithNapiValue"] =
388
- Function::New(env, HasOwnPropertyWithNapiValue);
389
- exports["hasOwnPropertyWithNapiWrapperValue"] =
390
- Function::New(env, HasOwnPropertyWithNapiWrapperValue);
391
- exports["hasOwnPropertyWithCStyleString"] =
392
- Function::New(env, HasOwnPropertyWithCStyleString);
393
- exports["hasOwnPropertyWithCppStyleString"] =
394
- Function::New(env, HasOwnPropertyWithCppStyleString);
395
-
396
- exports["hasPropertyWithUint32"] = Function::New(env, HasPropertyWithUint32);
397
- exports["hasPropertyWithNapiValue"] =
398
- Function::New(env, HasPropertyWithNapiValue);
399
- exports["hasPropertyWithNapiWrapperValue"] =
400
- Function::New(env, HasPropertyWithNapiWrapperValue);
401
- exports["hasPropertyWithCStyleString"] =
402
- Function::New(env, HasPropertyWithCStyleString);
403
- exports["hasPropertyWithCppStyleString"] =
404
- Function::New(env, HasPropertyWithCppStyleString);
405
-
406
- exports["createObjectUsingMagic"] =
407
- Function::New(env, CreateObjectUsingMagic);
408
- #ifdef NAPI_CPP_EXCEPTIONS
409
- exports["sum"] = Function::New(env, Sum);
410
- exports["increment"] = Function::New(env, Increment);
411
- #endif // NAPI_CPP_EXCEPTIONS
412
-
413
- exports["addFinalizer"] = Function::New(env, AddFinalizer);
414
- exports["addFinalizerWithHint"] = Function::New(env, AddFinalizerWithHint);
415
-
416
- exports["instanceOf"] = Function::New(env, InstanceOf);
417
-
418
- exports["subscriptGetWithCStyleString"] =
419
- Function::New(env, SubscriptGetWithCStyleString);
420
- exports["subscriptGetWithCppStyleString"] =
421
- Function::New(env, SubscriptGetWithCppStyleString);
422
- exports["subscriptGetAtIndex"] = Function::New(env, SubscriptGetAtIndex);
423
- exports["subscriptSetWithCStyleString"] =
424
- Function::New(env, SubscriptSetWithCStyleString);
425
- exports["subscriptSetWithCppStyleString"] =
426
- Function::New(env, SubscriptSetWithCppStyleString);
427
- exports["subscriptSetAtIndex"] = Function::New(env, SubscriptSetAtIndex);
428
-
429
- return exports;
430
- }
@@ -1,218 +0,0 @@
1
- 'use strict';
2
-
3
- const assert = require('assert');
4
-
5
- module.exports = require('../common').runTest(test);
6
-
7
- function test (binding) {
8
- function assertPropertyIs (obj, key, attribute) {
9
- const propDesc = Object.getOwnPropertyDescriptor(obj, key);
10
- assert.ok(propDesc);
11
- assert.ok(propDesc[attribute]);
12
- }
13
-
14
- function assertPropertyIsNot (obj, key, attribute) {
15
- const propDesc = Object.getOwnPropertyDescriptor(obj, key);
16
- assert.ok(propDesc);
17
- assert.ok(!propDesc[attribute]);
18
- }
19
-
20
- function testDefineProperties (nameType) {
21
- const obj = {};
22
- binding.object.defineProperties(obj, nameType);
23
-
24
- // accessors
25
- assertPropertyIsNot(obj, 'readonlyAccessor', 'enumerable');
26
- assertPropertyIsNot(obj, 'readonlyAccessor', 'configurable');
27
- assert.strictEqual(obj.readonlyAccessor, true);
28
-
29
- assertPropertyIsNot(obj, 'readonlyAccessorWithUserData', 'enumerable');
30
- assertPropertyIsNot(obj, 'readonlyAccessorWithUserData', 'configurable');
31
- assert.strictEqual(obj.readonlyAccessorWithUserData, 1234, nameType);
32
-
33
- assertPropertyIsNot(obj, 'readwriteAccessor', 'enumerable');
34
- assertPropertyIsNot(obj, 'readwriteAccessor', 'configurable');
35
- obj.readwriteAccessor = false;
36
- assert.strictEqual(obj.readwriteAccessor, false);
37
- obj.readwriteAccessor = true;
38
- assert.strictEqual(obj.readwriteAccessor, true);
39
-
40
- assertPropertyIsNot(obj, 'readwriteAccessorWithUserData', 'enumerable');
41
- assertPropertyIsNot(obj, 'readwriteAccessorWithUserData', 'configurable');
42
- obj.readwriteAccessorWithUserData = 2;
43
- assert.strictEqual(obj.readwriteAccessorWithUserData, 2);
44
- obj.readwriteAccessorWithUserData = -14;
45
- assert.strictEqual(obj.readwriteAccessorWithUserData, -14);
46
-
47
- // templated accessors
48
- assertPropertyIsNot(obj, 'readonlyAccessorT', 'enumerable');
49
- assertPropertyIsNot(obj, 'readonlyAccessorT', 'configurable');
50
- assert.strictEqual(obj.readonlyAccessorT, true);
51
-
52
- assertPropertyIsNot(obj, 'readonlyAccessorWithUserDataT', 'enumerable');
53
- assertPropertyIsNot(obj, 'readonlyAccessorWithUserDataT', 'configurable');
54
- assert.strictEqual(obj.readonlyAccessorWithUserDataT, -14, nameType);
55
-
56
- assertPropertyIsNot(obj, 'readwriteAccessorT', 'enumerable');
57
- assertPropertyIsNot(obj, 'readwriteAccessorT', 'configurable');
58
- obj.readwriteAccessorT = false;
59
- assert.strictEqual(obj.readwriteAccessorT, false);
60
- obj.readwriteAccessorT = true;
61
- assert.strictEqual(obj.readwriteAccessorT, true);
62
-
63
- assertPropertyIsNot(obj, 'readwriteAccessorWithUserDataT', 'enumerable');
64
- assertPropertyIsNot(obj, 'readwriteAccessorWithUserDataT', 'configurable');
65
- obj.readwriteAccessorWithUserDataT = 2;
66
- assert.strictEqual(obj.readwriteAccessorWithUserDataT, 2);
67
- obj.readwriteAccessorWithUserDataT = -14;
68
- assert.strictEqual(obj.readwriteAccessorWithUserDataT, -14);
69
-
70
- // values
71
- assertPropertyIsNot(obj, 'readonlyValue', 'writable');
72
- assertPropertyIsNot(obj, 'readonlyValue', 'enumerable');
73
- assertPropertyIsNot(obj, 'readonlyValue', 'configurable');
74
- assert.strictEqual(obj.readonlyValue, true);
75
-
76
- assertPropertyIs(obj, 'readwriteValue', 'writable');
77
- assertPropertyIsNot(obj, 'readwriteValue', 'enumerable');
78
- assertPropertyIsNot(obj, 'readwriteValue', 'configurable');
79
- obj.readwriteValue = false;
80
- assert.strictEqual(obj.readwriteValue, false);
81
- obj.readwriteValue = true;
82
- assert.strictEqual(obj.readwriteValue, true);
83
-
84
- assertPropertyIsNot(obj, 'enumerableValue', 'writable');
85
- assertPropertyIs(obj, 'enumerableValue', 'enumerable');
86
- assertPropertyIsNot(obj, 'enumerableValue', 'configurable');
87
-
88
- assertPropertyIsNot(obj, 'configurableValue', 'writable');
89
- assertPropertyIsNot(obj, 'configurableValue', 'enumerable');
90
- assertPropertyIs(obj, 'configurableValue', 'configurable');
91
-
92
- // functions
93
- assertPropertyIsNot(obj, 'function', 'writable');
94
- assertPropertyIsNot(obj, 'function', 'enumerable');
95
- assertPropertyIsNot(obj, 'function', 'configurable');
96
- assert.strictEqual(obj.function(), true);
97
- assert.strictEqual(obj.functionWithUserData(), obj.readonlyAccessorWithUserDataT);
98
- }
99
-
100
- testDefineProperties('literal');
101
- testDefineProperties('string');
102
- testDefineProperties('value');
103
-
104
- // eslint-disable-next-line no-lone-blocks
105
- {
106
- assert.strictEqual(binding.object.emptyConstructor(true), true);
107
- assert.strictEqual(binding.object.emptyConstructor(false), false);
108
- }
109
-
110
- {
111
- const expected = { one: 1, two: 2, three: 3 };
112
- const actual = binding.object.constructorFromObject(expected);
113
- assert.deepStrictEqual(actual, expected);
114
- }
115
-
116
- {
117
- const obj = {};
118
- const testSym = Symbol('testSym');
119
- binding.object.defineValueProperty(obj, testSym, 1);
120
- assert.strictEqual(obj[testSym], 1);
121
- }
122
-
123
- {
124
- const testSym = Symbol('testSym');
125
- const obj = { one: 1, two: 2, three: 3, [testSym]: 4 };
126
- const arr = binding.object.GetPropertyNames(obj);
127
- assert.deepStrictEqual(arr, ['one', 'two', 'three']);
128
- }
129
-
130
- {
131
- const magicObject = binding.object.createObjectUsingMagic();
132
- assert.deepStrictEqual(magicObject, {
133
- 0: 0,
134
- 42: 120,
135
- cp_false: false,
136
- cp_true: true,
137
- s_true: true,
138
- s_false: false,
139
- '0.0f': 0,
140
- '0.0': 0,
141
- '-1': -1,
142
- foo2: 'foo',
143
- foo4: 'foo',
144
- foo5: 'foo',
145
- foo6: 'foo',
146
- foo7: 'foo',
147
- circular: magicObject,
148
- circular2: magicObject
149
- });
150
- }
151
-
152
- {
153
- function Ctor () {}
154
-
155
- assert.strictEqual(binding.object.instanceOf(new Ctor(), Ctor), true);
156
- assert.strictEqual(binding.object.instanceOf(new Ctor(), Object), true);
157
- assert.strictEqual(binding.object.instanceOf({}, Ctor), false);
158
- assert.strictEqual(binding.object.instanceOf(null, Ctor), false);
159
- }
160
-
161
- if ('sum' in binding.object) {
162
- {
163
- const obj = {
164
- '-forbid': -0x4B1D,
165
- '-feedcode': -0xFEEDC0DE,
166
- '+office': +0x0FF1CE,
167
- '+forbid': +0x4B1D,
168
- '+deadbeef': +0xDEADBEEF,
169
- '+feedcode': +0xFEEDC0DE
170
- };
171
-
172
- let sum = 0;
173
- for (const key in obj) {
174
- sum += obj[key];
175
- }
176
-
177
- assert.strictEqual(binding.object.sum(obj), sum);
178
- }
179
-
180
- {
181
- const obj = new Proxy({
182
- '-forbid': -0x4B1D,
183
- '-feedcode': -0xFEEDC0DE,
184
- '+office': +0x0FF1CE,
185
- '+forbid': +0x4B1D,
186
- '+deadbeef': +0xDEADBEEF,
187
- '+feedcode': +0xFEEDC0DE
188
- }, {
189
- getOwnPropertyDescriptor (target, p) {
190
- throw new Error('getOwnPropertyDescriptor error');
191
- },
192
- ownKeys (target) {
193
- throw new Error('ownKeys error');
194
- }
195
- });
196
-
197
- assert.throws(() => {
198
- binding.object.sum(obj);
199
- }, /ownKeys error/);
200
- }
201
- }
202
-
203
- if ('increment' in binding.object) {
204
- const obj = {
205
- a: 0,
206
- b: 1,
207
- c: 2
208
- };
209
-
210
- binding.object.increment(obj);
211
-
212
- assert.deepStrictEqual(obj, {
213
- a: 1,
214
- b: 2,
215
- c: 3
216
- });
217
- }
218
- }