koffi 1.0.5 → 1.1.0-beta.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 (268) hide show
  1. package/README.md +46 -21
  2. package/build/qemu/1.1.0-beta.0/koffi_darwin_x64.tar.gz +0 -0
  3. package/build/qemu/1.1.0-beta.0/koffi_freebsd_arm64.tar.gz +0 -0
  4. package/build/qemu/1.1.0-beta.0/koffi_freebsd_ia32.tar.gz +0 -0
  5. package/build/qemu/1.1.0-beta.0/koffi_freebsd_x64.tar.gz +0 -0
  6. package/build/qemu/1.1.0-beta.0/koffi_linux_arm.tar.gz +0 -0
  7. package/build/qemu/1.1.0-beta.0/koffi_linux_arm64.tar.gz +0 -0
  8. package/build/qemu/1.1.0-beta.0/koffi_linux_ia32.tar.gz +0 -0
  9. package/build/qemu/1.1.0-beta.0/koffi_linux_x64.tar.gz +0 -0
  10. package/build/qemu/1.1.0-beta.0/koffi_win32_ia32.tar.gz +0 -0
  11. package/build/qemu/1.1.0-beta.0/koffi_win32_x64.tar.gz +0 -0
  12. package/package.json +1 -1
  13. package/qemu/qemu.js +11 -5
  14. package/qemu/registry/machines.json +20 -10
  15. package/src/abi_arm32.cc +13 -6
  16. package/src/abi_arm64.cc +13 -6
  17. package/src/abi_x64_sysv.cc +13 -6
  18. package/src/abi_x64_win.cc +13 -6
  19. package/src/abi_x86.cc +13 -6
  20. package/src/call.cc +25 -26
  21. package/src/call.hh +27 -41
  22. package/src/ffi.cc +152 -17
  23. package/src/ffi.hh +24 -10
  24. package/test/misc.c +2 -2
  25. package/build/qemu/1.0.5/koffi_darwin_x64.tar.gz +0 -0
  26. package/build/qemu/1.0.5/koffi_freebsd_arm64.tar.gz +0 -0
  27. package/build/qemu/1.0.5/koffi_freebsd_ia32.tar.gz +0 -0
  28. package/build/qemu/1.0.5/koffi_freebsd_x64.tar.gz +0 -0
  29. package/build/qemu/1.0.5/koffi_linux_arm.tar.gz +0 -0
  30. package/build/qemu/1.0.5/koffi_linux_arm64.tar.gz +0 -0
  31. package/build/qemu/1.0.5/koffi_linux_ia32.tar.gz +0 -0
  32. package/build/qemu/1.0.5/koffi_linux_x64.tar.gz +0 -0
  33. package/build/qemu/1.0.5/koffi_win32_ia32.tar.gz +0 -0
  34. package/build/qemu/1.0.5/koffi_win32_x64.tar.gz +0 -0
  35. package/test/misc.js +0 -227
  36. package/vendor/node-addon-api/CODE_OF_CONDUCT.md +0 -4
  37. package/vendor/node-addon-api/CONTRIBUTING.md +0 -93
  38. package/vendor/node-addon-api/appveyor.yml +0 -37
  39. package/vendor/node-addon-api/benchmark/README.md +0 -47
  40. package/vendor/node-addon-api/benchmark/binding.gyp +0 -25
  41. package/vendor/node-addon-api/benchmark/function_args.cc +0 -217
  42. package/vendor/node-addon-api/benchmark/function_args.js +0 -60
  43. package/vendor/node-addon-api/benchmark/index.js +0 -34
  44. package/vendor/node-addon-api/benchmark/property_descriptor.cc +0 -91
  45. package/vendor/node-addon-api/benchmark/property_descriptor.js +0 -37
  46. package/vendor/node-addon-api/doc/addon.md +0 -163
  47. package/vendor/node-addon-api/doc/array.md +0 -81
  48. package/vendor/node-addon-api/doc/array_buffer.md +0 -155
  49. package/vendor/node-addon-api/doc/async_context.md +0 -86
  50. package/vendor/node-addon-api/doc/async_operations.md +0 -31
  51. package/vendor/node-addon-api/doc/async_worker.md +0 -427
  52. package/vendor/node-addon-api/doc/async_worker_variants.md +0 -557
  53. package/vendor/node-addon-api/doc/bigint.md +0 -97
  54. package/vendor/node-addon-api/doc/boolean.md +0 -68
  55. package/vendor/node-addon-api/doc/buffer.md +0 -150
  56. package/vendor/node-addon-api/doc/callback_scope.md +0 -54
  57. package/vendor/node-addon-api/doc/callbackinfo.md +0 -97
  58. package/vendor/node-addon-api/doc/checker-tool.md +0 -32
  59. package/vendor/node-addon-api/doc/class_property_descriptor.md +0 -123
  60. package/vendor/node-addon-api/doc/cmake-js.md +0 -68
  61. package/vendor/node-addon-api/doc/conversion-tool.md +0 -28
  62. package/vendor/node-addon-api/doc/creating_a_release.md +0 -62
  63. package/vendor/node-addon-api/doc/dataview.md +0 -248
  64. package/vendor/node-addon-api/doc/date.md +0 -68
  65. package/vendor/node-addon-api/doc/env.md +0 -196
  66. package/vendor/node-addon-api/doc/error.md +0 -120
  67. package/vendor/node-addon-api/doc/error_handling.md +0 -254
  68. package/vendor/node-addon-api/doc/escapable_handle_scope.md +0 -80
  69. package/vendor/node-addon-api/doc/external.md +0 -63
  70. package/vendor/node-addon-api/doc/function.md +0 -402
  71. package/vendor/node-addon-api/doc/function_reference.md +0 -238
  72. package/vendor/node-addon-api/doc/generator.md +0 -13
  73. package/vendor/node-addon-api/doc/handle_scope.md +0 -63
  74. package/vendor/node-addon-api/doc/hierarchy.md +0 -91
  75. package/vendor/node-addon-api/doc/instance_wrap.md +0 -408
  76. package/vendor/node-addon-api/doc/maybe.md +0 -76
  77. package/vendor/node-addon-api/doc/memory_management.md +0 -27
  78. package/vendor/node-addon-api/doc/name.md +0 -29
  79. package/vendor/node-addon-api/doc/node-gyp.md +0 -82
  80. package/vendor/node-addon-api/doc/number.md +0 -163
  81. package/vendor/node-addon-api/doc/object.md +0 -411
  82. package/vendor/node-addon-api/doc/object_lifetime_management.md +0 -83
  83. package/vendor/node-addon-api/doc/object_reference.md +0 -117
  84. package/vendor/node-addon-api/doc/object_wrap.md +0 -588
  85. package/vendor/node-addon-api/doc/prebuild_tools.md +0 -16
  86. package/vendor/node-addon-api/doc/promises.md +0 -79
  87. package/vendor/node-addon-api/doc/property_descriptor.md +0 -286
  88. package/vendor/node-addon-api/doc/propertylvalue.md +0 -50
  89. package/vendor/node-addon-api/doc/range_error.md +0 -59
  90. package/vendor/node-addon-api/doc/reference.md +0 -113
  91. package/vendor/node-addon-api/doc/setup.md +0 -110
  92. package/vendor/node-addon-api/doc/string.md +0 -93
  93. package/vendor/node-addon-api/doc/symbol.md +0 -61
  94. package/vendor/node-addon-api/doc/threadsafe.md +0 -121
  95. package/vendor/node-addon-api/doc/threadsafe_function.md +0 -290
  96. package/vendor/node-addon-api/doc/type_error.md +0 -59
  97. package/vendor/node-addon-api/doc/typed_array.md +0 -78
  98. package/vendor/node-addon-api/doc/typed_array_of.md +0 -137
  99. package/vendor/node-addon-api/doc/typed_threadsafe_function.md +0 -306
  100. package/vendor/node-addon-api/doc/value.md +0 -340
  101. package/vendor/node-addon-api/doc/version_management.md +0 -43
  102. package/vendor/node-addon-api/package.json +0 -415
  103. package/vendor/node-addon-api/test/README.md +0 -91
  104. package/vendor/node-addon-api/test/addon.cc +0 -36
  105. package/vendor/node-addon-api/test/addon.js +0 -11
  106. package/vendor/node-addon-api/test/addon_build/index.js +0 -49
  107. package/vendor/node-addon-api/test/addon_build/tpl/addon.cc +0 -17
  108. package/vendor/node-addon-api/test/addon_build/tpl/binding.gyp +0 -62
  109. package/vendor/node-addon-api/test/addon_build/tpl/index.js +0 -9
  110. package/vendor/node-addon-api/test/addon_build/tpl/package.json +0 -11
  111. package/vendor/node-addon-api/test/addon_data.cc +0 -99
  112. package/vendor/node-addon-api/test/addon_data.js +0 -46
  113. package/vendor/node-addon-api/test/array_buffer.cc +0 -243
  114. package/vendor/node-addon-api/test/array_buffer.js +0 -69
  115. package/vendor/node-addon-api/test/async_context.cc +0 -36
  116. package/vendor/node-addon-api/test/async_context.js +0 -122
  117. package/vendor/node-addon-api/test/async_progress_queue_worker.cc +0 -83
  118. package/vendor/node-addon-api/test/async_progress_queue_worker.js +0 -46
  119. package/vendor/node-addon-api/test/async_progress_worker.cc +0 -134
  120. package/vendor/node-addon-api/test/async_progress_worker.js +0 -61
  121. package/vendor/node-addon-api/test/async_worker.cc +0 -106
  122. package/vendor/node-addon-api/test/async_worker.js +0 -179
  123. package/vendor/node-addon-api/test/async_worker_nocallback.js +0 -13
  124. package/vendor/node-addon-api/test/async_worker_persistent.cc +0 -63
  125. package/vendor/node-addon-api/test/async_worker_persistent.js +0 -24
  126. package/vendor/node-addon-api/test/basic_types/array.cc +0 -40
  127. package/vendor/node-addon-api/test/basic_types/array.js +0 -35
  128. package/vendor/node-addon-api/test/basic_types/boolean.cc +0 -38
  129. package/vendor/node-addon-api/test/basic_types/boolean.js +0 -35
  130. package/vendor/node-addon-api/test/basic_types/number.cc +0 -99
  131. package/vendor/node-addon-api/test/basic_types/number.js +0 -114
  132. package/vendor/node-addon-api/test/basic_types/value.cc +0 -120
  133. package/vendor/node-addon-api/test/basic_types/value.js +0 -133
  134. package/vendor/node-addon-api/test/bigint.cc +0 -91
  135. package/vendor/node-addon-api/test/bigint.js +0 -53
  136. package/vendor/node-addon-api/test/binding-swallowexcept.cc +0 -12
  137. package/vendor/node-addon-api/test/binding.cc +0 -173
  138. package/vendor/node-addon-api/test/binding.gyp +0 -124
  139. package/vendor/node-addon-api/test/buffer.cc +0 -183
  140. package/vendor/node-addon-api/test/buffer.js +0 -69
  141. package/vendor/node-addon-api/test/callbackscope.cc +0 -22
  142. package/vendor/node-addon-api/test/callbackscope.js +0 -49
  143. package/vendor/node-addon-api/test/common/index.js +0 -114
  144. package/vendor/node-addon-api/test/common/test_helper.h +0 -71
  145. package/vendor/node-addon-api/test/dataview/dataview.cc +0 -48
  146. package/vendor/node-addon-api/test/dataview/dataview.js +0 -35
  147. package/vendor/node-addon-api/test/dataview/dataview_read_write.cc +0 -115
  148. package/vendor/node-addon-api/test/dataview/dataview_read_write.js +0 -90
  149. package/vendor/node-addon-api/test/date.cc +0 -44
  150. package/vendor/node-addon-api/test/date.js +0 -18
  151. package/vendor/node-addon-api/test/env_cleanup.cc +0 -88
  152. package/vendor/node-addon-api/test/env_cleanup.js +0 -56
  153. package/vendor/node-addon-api/test/error.cc +0 -287
  154. package/vendor/node-addon-api/test/error.js +0 -81
  155. package/vendor/node-addon-api/test/error_handling_for_primitives.cc +0 -13
  156. package/vendor/node-addon-api/test/error_handling_for_primitives.js +0 -29
  157. package/vendor/node-addon-api/test/error_terminating_environment.js +0 -95
  158. package/vendor/node-addon-api/test/external.cc +0 -81
  159. package/vendor/node-addon-api/test/external.js +0 -88
  160. package/vendor/node-addon-api/test/function.cc +0 -324
  161. package/vendor/node-addon-api/test/function.js +0 -133
  162. package/vendor/node-addon-api/test/function_reference.cc +0 -202
  163. package/vendor/node-addon-api/test/function_reference.js +0 -157
  164. package/vendor/node-addon-api/test/globalObject/global_object.cc +0 -61
  165. package/vendor/node-addon-api/test/globalObject/global_object_delete_property.cc +0 -31
  166. package/vendor/node-addon-api/test/globalObject/global_object_delete_property.js +0 -61
  167. package/vendor/node-addon-api/test/globalObject/global_object_get_property.cc +0 -40
  168. package/vendor/node-addon-api/test/globalObject/global_object_get_property.js +0 -57
  169. package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.cc +0 -28
  170. package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.js +0 -48
  171. package/vendor/node-addon-api/test/globalObject/global_object_set_property.cc +0 -31
  172. package/vendor/node-addon-api/test/globalObject/global_object_set_property.js +0 -58
  173. package/vendor/node-addon-api/test/handlescope.cc +0 -60
  174. package/vendor/node-addon-api/test/handlescope.js +0 -14
  175. package/vendor/node-addon-api/test/index.js +0 -159
  176. package/vendor/node-addon-api/test/maybe/check.cc +0 -23
  177. package/vendor/node-addon-api/test/maybe/index.js +0 -38
  178. package/vendor/node-addon-api/test/memory_management.cc +0 -17
  179. package/vendor/node-addon-api/test/memory_management.js +0 -9
  180. package/vendor/node-addon-api/test/movable_callbacks.cc +0 -23
  181. package/vendor/node-addon-api/test/movable_callbacks.js +0 -21
  182. package/vendor/node-addon-api/test/name.cc +0 -108
  183. package/vendor/node-addon-api/test/name.js +0 -59
  184. package/vendor/node-addon-api/test/napi_child.js +0 -14
  185. package/vendor/node-addon-api/test/object/delete_property.cc +0 -38
  186. package/vendor/node-addon-api/test/object/delete_property.js +0 -41
  187. package/vendor/node-addon-api/test/object/finalizer.cc +0 -29
  188. package/vendor/node-addon-api/test/object/finalizer.js +0 -28
  189. package/vendor/node-addon-api/test/object/get_property.cc +0 -34
  190. package/vendor/node-addon-api/test/object/get_property.js +0 -40
  191. package/vendor/node-addon-api/test/object/has_own_property.cc +0 -34
  192. package/vendor/node-addon-api/test/object/has_own_property.js +0 -34
  193. package/vendor/node-addon-api/test/object/has_property.cc +0 -38
  194. package/vendor/node-addon-api/test/object/has_property.js +0 -37
  195. package/vendor/node-addon-api/test/object/object.cc +0 -350
  196. package/vendor/node-addon-api/test/object/object.js +0 -217
  197. package/vendor/node-addon-api/test/object/object_deprecated.cc +0 -66
  198. package/vendor/node-addon-api/test/object/object_deprecated.js +0 -47
  199. package/vendor/node-addon-api/test/object/object_freeze_seal.cc +0 -25
  200. package/vendor/node-addon-api/test/object/object_freeze_seal.js +0 -61
  201. package/vendor/node-addon-api/test/object/set_property.cc +0 -45
  202. package/vendor/node-addon-api/test/object/set_property.js +0 -30
  203. package/vendor/node-addon-api/test/object/subscript_operator.cc +0 -58
  204. package/vendor/node-addon-api/test/object/subscript_operator.js +0 -17
  205. package/vendor/node-addon-api/test/object_reference.cc +0 -219
  206. package/vendor/node-addon-api/test/object_reference.js +0 -259
  207. package/vendor/node-addon-api/test/objectwrap.cc +0 -268
  208. package/vendor/node-addon-api/test/objectwrap.js +0 -284
  209. package/vendor/node-addon-api/test/objectwrap_constructor_exception.cc +0 -26
  210. package/vendor/node-addon-api/test/objectwrap_constructor_exception.js +0 -18
  211. package/vendor/node-addon-api/test/objectwrap_function.cc +0 -45
  212. package/vendor/node-addon-api/test/objectwrap_function.js +0 -22
  213. package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.cc +0 -30
  214. package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.js +0 -13
  215. package/vendor/node-addon-api/test/objectwrap_removewrap.cc +0 -45
  216. package/vendor/node-addon-api/test/objectwrap_removewrap.js +0 -40
  217. package/vendor/node-addon-api/test/objectwrap_worker_thread.js +0 -19
  218. package/vendor/node-addon-api/test/promise.cc +0 -29
  219. package/vendor/node-addon-api/test/promise.js +0 -18
  220. package/vendor/node-addon-api/test/reference.cc +0 -24
  221. package/vendor/node-addon-api/test/reference.js +0 -14
  222. package/vendor/node-addon-api/test/run_script.cc +0 -56
  223. package/vendor/node-addon-api/test/run_script.js +0 -45
  224. package/vendor/node-addon-api/test/symbol.cc +0 -79
  225. package/vendor/node-addon-api/test/symbol.js +0 -73
  226. package/vendor/node-addon-api/test/testUtil.js +0 -54
  227. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.cc +0 -195
  228. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.js +0 -188
  229. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.cc +0 -63
  230. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.js +0 -12
  231. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.cc +0 -115
  232. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.js +0 -14
  233. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.cc +0 -26
  234. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.js +0 -7
  235. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.cc +0 -225
  236. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.js +0 -59
  237. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.cc +0 -42
  238. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.js +0 -53
  239. package/vendor/node-addon-api/test/thunking_manual.cc +0 -140
  240. package/vendor/node-addon-api/test/thunking_manual.js +0 -17
  241. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.cc +0 -215
  242. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.js +0 -188
  243. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.cc +0 -68
  244. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.js +0 -12
  245. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.cc +0 -127
  246. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.js +0 -14
  247. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.cc +0 -28
  248. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.js +0 -7
  249. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.cc +0 -237
  250. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.js +0 -59
  251. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.cc +0 -53
  252. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.js +0 -53
  253. package/vendor/node-addon-api/test/typedarray-bigint.js +0 -58
  254. package/vendor/node-addon-api/test/typedarray.cc +0 -216
  255. package/vendor/node-addon-api/test/typedarray.js +0 -69
  256. package/vendor/node-addon-api/test/version_management.cc +0 -27
  257. package/vendor/node-addon-api/test/version_management.js +0 -31
  258. package/vendor/node-addon-api/unit-test/README.md +0 -28
  259. package/vendor/node-addon-api/unit-test/binding-file-template.js +0 -39
  260. package/vendor/node-addon-api/unit-test/binding.gyp +0 -72
  261. package/vendor/node-addon-api/unit-test/exceptions.js +0 -32
  262. package/vendor/node-addon-api/unit-test/generate-binding-cc.js +0 -61
  263. package/vendor/node-addon-api/unit-test/injectTestParams.js +0 -101
  264. package/vendor/node-addon-api/unit-test/listOfTestModules.js +0 -88
  265. package/vendor/node-addon-api/unit-test/matchModules.js +0 -65
  266. package/vendor/node-addon-api/unit-test/setup.js +0 -13
  267. package/vendor/node-addon-api/unit-test/spawnTask.js +0 -26
  268. package/vendor/node-addon-api/unit-test/test.js +0 -30
@@ -1,415 +0,0 @@
1
- {
2
- "bugs": {
3
- "url": "https://github.com/nodejs/node-addon-api/issues"
4
- },
5
- "contributors": [
6
- {
7
- "name": "Abhishek Kumar Singh",
8
- "url": "https://github.com/abhi11210646"
9
- },
10
- {
11
- "name": "Alba Mendez",
12
- "url": "https://github.com/jmendeth"
13
- },
14
- {
15
- "name": "Alexander Floh",
16
- "url": "https://github.com/alexanderfloh"
17
- },
18
- {
19
- "name": "András Timár, Dr",
20
- "url": "https://github.com/timarandras"
21
- },
22
- {
23
- "name": "Andrew Petersen",
24
- "url": "https://github.com/kirbysayshi"
25
- },
26
- {
27
- "name": "Anisha Rohra",
28
- "url": "https://github.com/anisha-rohra"
29
- },
30
- {
31
- "name": "Anna Henningsen",
32
- "url": "https://github.com/addaleax"
33
- },
34
- {
35
- "name": "Arnaud Botella",
36
- "url": "https://github.com/BotellaA"
37
- },
38
- {
39
- "name": "Arunesh Chandra",
40
- "url": "https://github.com/aruneshchandra"
41
- },
42
- {
43
- "name": "Azlan Mukhtar",
44
- "url": "https://github.com/azlan"
45
- },
46
- {
47
- "name": "Ben Berman",
48
- "url": "https://github.com/rivertam"
49
- },
50
- {
51
- "name": "Benjamin Byholm",
52
- "url": "https://github.com/kkoopa"
53
- },
54
- {
55
- "name": "Bill Gallafent",
56
- "url": "https://github.com/gallafent"
57
- },
58
- {
59
- "name": "blagoev",
60
- "url": "https://github.com/blagoev"
61
- },
62
- {
63
- "name": "Bruce A. MacNaughton",
64
- "url": "https://github.com/bmacnaughton"
65
- },
66
- {
67
- "name": "Cory Mickelson",
68
- "url": "https://github.com/corymickelson"
69
- },
70
- {
71
- "name": "Daniel Bevenius",
72
- "url": "https://github.com/danbev"
73
- },
74
- {
75
- "name": "Darshan Sen",
76
- "url": "https://github.com/RaisinTen"
77
- },
78
- {
79
- "name": "David Halls",
80
- "url": "https://github.com/davedoesdev"
81
- },
82
- {
83
- "name": "Deepak Rajamohan",
84
- "url": "https://github.com/deepakrkris"
85
- },
86
- {
87
- "name": "Dmitry Ashkadov",
88
- "url": "https://github.com/dmitryash"
89
- },
90
- {
91
- "name": "Dongjin Na",
92
- "url": "https://github.com/nadongguri"
93
- },
94
- {
95
- "name": "Doni Rubiagatra",
96
- "url": "https://github.com/rubiagatra"
97
- },
98
- {
99
- "name": "Eric Bickle",
100
- "url": "https://github.com/ebickle"
101
- },
102
- {
103
- "name": "extremeheat",
104
- "url": "https://github.com/extremeheat"
105
- },
106
- {
107
- "name": "Ferdinand Holzer",
108
- "url": "https://github.com/fholzer"
109
- },
110
- {
111
- "name": "Gabriel Schulhof",
112
- "url": "https://github.com/gabrielschulhof"
113
- },
114
- {
115
- "name": "Guenter Sandner",
116
- "url": "https://github.com/gms1"
117
- },
118
- {
119
- "name": "Gus Caplan",
120
- "url": "https://github.com/devsnek"
121
- },
122
- {
123
- "name": "Helio Frota",
124
- "url": "https://github.com/helio-frota"
125
- },
126
- {
127
- "name": "Hitesh Kanwathirtha",
128
- "url": "https://github.com/digitalinfinity"
129
- },
130
- {
131
- "name": "ikokostya",
132
- "url": "https://github.com/ikokostya"
133
- },
134
- {
135
- "name": "Jack Xia",
136
- "url": "https://github.com/JckXia"
137
- },
138
- {
139
- "name": "Jake Barnes",
140
- "url": "https://github.com/DuBistKomisch"
141
- },
142
- {
143
- "name": "Jake Yoon",
144
- "url": "https://github.com/yjaeseok"
145
- },
146
- {
147
- "name": "Jason Ginchereau",
148
- "url": "https://github.com/jasongin"
149
- },
150
- {
151
- "name": "Jeroen Janssen",
152
- "url": "https://github.com/japj"
153
- },
154
- {
155
- "name": "Jim Schlight",
156
- "url": "https://github.com/jschlight"
157
- },
158
- {
159
- "name": "Jinho Bang",
160
- "url": "https://github.com/romandev"
161
- },
162
- {
163
- "name": "José Expósito",
164
- "url": "https://github.com/JoseExposito"
165
- },
166
- {
167
- "name": "joshgarde",
168
- "url": "https://github.com/joshgarde"
169
- },
170
- {
171
- "name": "Kasumi Hanazuki",
172
- "url": "https://github.com/hanazuki"
173
- },
174
- {
175
- "name": "Kelvin",
176
- "url": "https://github.com/kelvinhammond"
177
- },
178
- {
179
- "name": "Kevin Eady",
180
- "url": "https://github.com/KevinEady"
181
- },
182
- {
183
- "name": "Kévin VOYER",
184
- "url": "https://github.com/kecsou"
185
- },
186
- {
187
- "name": "kidneysolo",
188
- "url": "https://github.com/kidneysolo"
189
- },
190
- {
191
- "name": "Koki Nishihara",
192
- "url": "https://github.com/Nishikoh"
193
- },
194
- {
195
- "name": "Konstantin Tarkus",
196
- "url": "https://github.com/koistya"
197
- },
198
- {
199
- "name": "Kyle Farnung",
200
- "url": "https://github.com/kfarnung"
201
- },
202
- {
203
- "name": "legendecas",
204
- "url": "https://github.com/legendecas"
205
- },
206
- {
207
- "name": "LongYinan",
208
- "url": "https://github.com/Brooooooklyn"
209
- },
210
- {
211
- "name": "Lovell Fuller",
212
- "url": "https://github.com/lovell"
213
- },
214
- {
215
- "name": "Luciano Martorella",
216
- "url": "https://github.com/lmartorella"
217
- },
218
- {
219
- "name": "mastergberry",
220
- "url": "https://github.com/mastergberry"
221
- },
222
- {
223
- "name": "Mathias Küsel",
224
- "url": "https://github.com/mathiask88"
225
- },
226
- {
227
- "name": "Matteo Collina",
228
- "url": "https://github.com/mcollina"
229
- },
230
- {
231
- "name": "Michael Dawson",
232
- "url": "https://github.com/mhdawson"
233
- },
234
- {
235
- "name": "Michael Price",
236
- "url": "https://github.com/mikepricedev"
237
- },
238
- {
239
- "name": "Michele Campus",
240
- "url": "https://github.com/kYroL01"
241
- },
242
- {
243
- "name": "Mikhail Cheshkov",
244
- "url": "https://github.com/mcheshkov"
245
- },
246
- {
247
- "name": "nempoBu4",
248
- "url": "https://github.com/nempoBu4"
249
- },
250
- {
251
- "name": "Nicola Del Gobbo",
252
- "url": "https://github.com/NickNaso"
253
- },
254
- {
255
- "name": "Nick Soggin",
256
- "url": "https://github.com/iSkore"
257
- },
258
- {
259
- "name": "Nikolai Vavilov",
260
- "url": "https://github.com/seishun"
261
- },
262
- {
263
- "name": "Nurbol Alpysbayev",
264
- "url": "https://github.com/anurbol"
265
- },
266
- {
267
- "name": "pacop",
268
- "url": "https://github.com/pacop"
269
- },
270
- {
271
- "name": "Philipp Renoth",
272
- "url": "https://github.com/DaAitch"
273
- },
274
- {
275
- "name": "rgerd",
276
- "url": "https://github.com/rgerd"
277
- },
278
- {
279
- "name": "Rolf Timmermans",
280
- "url": "https://github.com/rolftimmermans"
281
- },
282
- {
283
- "name": "Ross Weir",
284
- "url": "https://github.com/ross-weir"
285
- },
286
- {
287
- "name": "Ryuichi Okumura",
288
- "url": "https://github.com/okuryu"
289
- },
290
- {
291
- "name": "Sampson Gao",
292
- "url": "https://github.com/sampsongao"
293
- },
294
- {
295
- "name": "Sam Roberts",
296
- "url": "https://github.com/sam-github"
297
- },
298
- {
299
- "name": "strager",
300
- "url": "https://github.com/strager"
301
- },
302
- {
303
- "name": "Taylor Woll",
304
- "url": "https://github.com/boingoing"
305
- },
306
- {
307
- "name": "Thomas Gentilhomme",
308
- "url": "https://github.com/fraxken"
309
- },
310
- {
311
- "name": "Tim Rach",
312
- "url": "https://github.com/timrach"
313
- },
314
- {
315
- "name": "Tobias Nießen",
316
- "url": "https://github.com/tniessen"
317
- },
318
- {
319
- "name": "todoroff",
320
- "url": "https://github.com/todoroff"
321
- },
322
- {
323
- "name": "Tux3",
324
- "url": "https://github.com/tux3"
325
- },
326
- {
327
- "name": "Vlad Velmisov",
328
- "url": "https://github.com/Velmisov"
329
- },
330
- {
331
- "name": "Vladimir Morozov",
332
- "url": "https://github.com/vmoroz"
333
-
334
- },
335
- {
336
- "name": "WenheLI",
337
- "url": "https://github.com/WenheLI"
338
- },
339
- {
340
- "name": "Xuguang Mei",
341
- "url": "https://github.com/meixg"
342
- },
343
- {
344
- "name": "Yohei Kishimoto",
345
- "url": "https://github.com/morokosi"
346
- },
347
- {
348
- "name": "Yulong Wang",
349
- "url": "https://github.com/fs-eire"
350
- },
351
- {
352
- "name": "Ziqiu Zhao",
353
- "url": "https://github.com/ZzqiZQute"
354
- }
355
- ],
356
- "description": "Node.js API (Node-API)",
357
- "devDependencies": {
358
- "benchmark": "^2.1.4",
359
- "bindings": "^1.5.0",
360
- "clang-format": "^1.4.0",
361
- "eslint": "^7.32.0",
362
- "eslint-config-semistandard": "^16.0.0",
363
- "eslint-config-standard": "^16.0.3",
364
- "eslint-plugin-import": "^2.24.2",
365
- "eslint-plugin-node": "^11.1.0",
366
- "eslint-plugin-promise": "^5.1.0",
367
- "fs-extra": "^9.0.1",
368
- "path": "^0.12.7",
369
- "pre-commit": "^1.2.2",
370
- "safe-buffer": "^5.1.1"
371
- },
372
- "directories": {},
373
- "gypfile": false,
374
- "homepage": "https://github.com/nodejs/node-addon-api",
375
- "keywords": [
376
- "n-api",
377
- "napi",
378
- "addon",
379
- "native",
380
- "bindings",
381
- "c",
382
- "c++",
383
- "nan",
384
- "node-addon-api"
385
- ],
386
- "license": "MIT",
387
- "main": "index.js",
388
- "name": "node-addon-api",
389
- "readme": "README.md",
390
- "repository": {
391
- "type": "git",
392
- "url": "git://github.com/nodejs/node-addon-api.git"
393
- },
394
- "files": [
395
- "*.{c,h,gyp,gypi}",
396
- "package-support.json",
397
- "tools/"
398
- ],
399
- "scripts": {
400
- "prebenchmark": "node-gyp rebuild -C benchmark",
401
- "benchmark": "node benchmark",
402
- "pretest": "node-gyp rebuild -C test",
403
- "test": "node test",
404
- "predev": "node-gyp rebuild -C test --debug",
405
- "dev": "node test",
406
- "predev:incremental": "node-gyp configure build -C test --debug",
407
- "dev:incremental": "node test",
408
- "doc": "doxygen doc/Doxyfile",
409
- "lint": "node tools/eslint-format && node tools/clang-format",
410
- "lint:fix": "node tools/clang-format --fix && node tools/eslint-format --fix"
411
- },
412
- "pre-commit": "lint",
413
- "version": "5.0.0",
414
- "support": true
415
- }
@@ -1,91 +0,0 @@
1
- # Writing Tests
2
-
3
- There are multiple flavors of node-addon-api test builds that cover different
4
- build flags defined in `napi.h`:
5
-
6
- 1. c++ exceptions enabled,
7
- 2. c++ exceptions disabled,
8
- 3. c++ exceptions disabled, and `NODE_ADDON_API_ENABLE_MAYBE` defined.
9
-
10
- Functions in node-addon-api that call into JavaScript can have different
11
- declared return types to reflect build flavor settings. For example,
12
- `Napi::Object::Set` returns `bool` when `NODE_ADDON_API_ENABLE_MAYBE`
13
- is not defined, and `Napi::Maybe<bool>` when `NODE_ADDON_API_ENABLE_MAYBE`
14
- is defined. In source code, return type variants are defined as
15
- `Napi::MaybeOrValue<>` to prevent the duplication of most of the code base.
16
-
17
- To properly test these build flavors, all values returned by a function defined
18
- to return `Napi::MaybeOrValue<>` should be tested by using one of the following
19
- test helpers to handle possible JavaScript exceptions.
20
-
21
- There are three test helper functions to conveniently convert
22
- `Napi::MaybeOrValue<>` values to raw values.
23
-
24
- ## MaybeUnwrap
25
-
26
- ```cpp
27
- template <typename T>
28
- T MaybeUnwrap(MaybeOrValue<T> maybe);
29
- ```
30
-
31
- Converts `MaybeOrValue<T>` to `T` by checking that `MaybeOrValue` is NOT an
32
- empty `Maybe`.
33
-
34
- Returns the original value if `NODE_ADDON_API_ENABLE_MAYBE` is not defined.
35
-
36
- Example:
37
-
38
- ```cpp
39
- Object obj = info[0].As<Object>();
40
- // we are sure the parameters should not throw
41
- Value value = MaybeUnwrap(obj->Get("foobar"));
42
- ```
43
-
44
- ## MaybeUnwrapOr
45
-
46
- ```cpp
47
- template <typename T>
48
- T MaybeUnwrapOr(MaybeOrValue<T> maybe, const T& default_value = T());
49
- ```
50
-
51
- Converts `MaybeOrValue<T>` to `T` by getting the value that wrapped by the
52
- `Maybe` or return the `default_value` if the `Maybe` is empty.
53
-
54
- Returns the original value if `NODE_ADDON_API_ENABLE_MAYBE` is not defined.
55
-
56
- Example:
57
-
58
- ```cpp
59
- Value CallWithArgs(const CallbackInfo& info) {
60
- Function func = info[0].As<Function>();
61
- // We don't care if the operation is throwing or not, just return it back to node-addon-api
62
- return MaybeUnwrapOr(
63
- func.Call(std::initializer_list<napi_value>{info[1], info[2], info[3]}));
64
- }
65
- ```
66
-
67
- ## MaybeUnwrapTo
68
-
69
- ```cpp
70
- template <typename T>
71
- bool MaybeUnwrapTo(MaybeOrValue<T> maybe, T* out);
72
- ```
73
-
74
- Converts `MaybeOrValue<T>` to `T` by getting the value that wrapped by the
75
- e`Maybe` or return `false` if the Maybe is empty
76
-
77
- Copies the `value` to `out` when `NODE_ADDON_API_ENABLE_MAYBE` is not defined
78
-
79
- Example:
80
-
81
- ```cpp
82
- Object opts = info[0].As<Object>();
83
- bool hasProperty = false;
84
- // The check may throw, but we are going to suppress that.
85
- if (MaybeUnwrapTo(opts.Has("blocking"), &hasProperty)) {
86
- isBlocking = hasProperty &&
87
- MaybeUnwrap(MaybeUnwrap(opts.Get("blocking")).ToBoolean());
88
- } else {
89
- env.GetAndClearPendingException();
90
- }
91
- ```
@@ -1,36 +0,0 @@
1
- #if (NAPI_VERSION > 5)
2
- #include <stdio.h>
3
- #include "napi.h"
4
-
5
- namespace {
6
-
7
- class TestAddon : public Napi::Addon<TestAddon> {
8
- public:
9
- inline TestAddon(Napi::Env env, Napi::Object exports) {
10
- DefineAddon(exports, {
11
- InstanceMethod("increment", &TestAddon::Increment),
12
- InstanceValue("subObject", DefineProperties(Napi::Object::New(env), {
13
- InstanceMethod("decrement", &TestAddon::Decrement)
14
- }))
15
- });
16
- }
17
-
18
- private:
19
- Napi::Value Increment(const Napi::CallbackInfo& info) {
20
- return Napi::Number::New(info.Env(), ++value);
21
- }
22
-
23
- Napi::Value Decrement(const Napi::CallbackInfo& info) {
24
- return Napi::Number::New(info.Env(), --value);
25
- }
26
-
27
- uint32_t value = 42;
28
- };
29
-
30
- } // end of anonymous namespace
31
-
32
- Napi::Object InitAddon(Napi::Env env) {
33
- return TestAddon::Init(env, Napi::Object::New(env));
34
- }
35
-
36
- #endif // (NAPI_VERSION > 5)
@@ -1,11 +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
- assert.strictEqual(binding.addon.increment(), 43);
9
- assert.strictEqual(binding.addon.increment(), 44);
10
- assert.strictEqual(binding.addon.subObject.decrement(), 43);
11
- }
@@ -1,49 +0,0 @@
1
- 'use strict';
2
-
3
- const { promisify } = require('util');
4
- const exec = promisify(require('child_process').exec);
5
- const { copy, remove } = require('fs-extra');
6
- const path = require('path');
7
- const assert = require('assert')
8
-
9
- const ADDONS_FOLDER = path.join(__dirname, 'addons');
10
-
11
- const addons = [
12
- 'echo addon',
13
- 'echo-addon'
14
- ]
15
-
16
- async function beforeAll(addons) {
17
- console.log(' >Preparing native addons to build')
18
- for (const addon of addons) {
19
- await remove(path.join(ADDONS_FOLDER, addon));
20
- await copy(path.join(__dirname, 'tpl'), path.join(ADDONS_FOLDER, addon));
21
- }
22
- }
23
-
24
- async function test(addon) {
25
- console.log(` >Building addon: '${addon}'`);
26
- const { stderr, stdout } = await exec('npm install', {
27
- cwd: path.join(ADDONS_FOLDER, addon)
28
- })
29
- console.log(` >Running test for: '${addon}'`);
30
- // Disabled the checks on stderr and stdout because of this issue on npm:
31
- // Stop using process.umask(): https://github.com/npm/cli/issues/1103
32
- // We should enable the following checks again after the resolution of
33
- // the reported issue.
34
- // assert.strictEqual(stderr, '');
35
- // assert.ok(stderr.length === 0);
36
- // assert.ok(stdout.length > 0);
37
- const binding = require(`${ADDONS_FOLDER}/${addon}`);
38
- assert.strictEqual(binding.except.echo('except'), 'except');
39
- assert.strictEqual(binding.except.echo(101), 101);
40
- assert.strictEqual(binding.noexcept.echo('noexcept'), 'noexcept');
41
- assert.strictEqual(binding.noexcept.echo(103), 103);
42
- }
43
-
44
- module.exports = (async function() {
45
- await beforeAll(addons);
46
- for (const addon of addons) {
47
- await test(addon);
48
- }
49
- })()
@@ -1,17 +0,0 @@
1
- #include <napi.h>
2
-
3
- Napi::Value Echo(const Napi::CallbackInfo& info) {
4
- Napi::Env env = info.Env();
5
- if (info.Length() != 1) {
6
- Napi::TypeError::New(env, "Wrong number of arguments. One argument expected.")
7
- .ThrowAsJavaScriptException();
8
- }
9
- return info[0].As<Napi::Value>();
10
- }
11
-
12
- Napi::Object Init(Napi::Env env, Napi::Object exports) {
13
- exports.Set(Napi::String::New(env, "echo"), Napi::Function::New(env, Echo));
14
- return exports;
15
- }
16
-
17
- NODE_API_MODULE(NODE_GYP_MODULE_NAME, Init)
@@ -1,62 +0,0 @@
1
- {
2
- 'target_defaults': {
3
- 'include_dirs': [
4
- "<!(node -p \"require('node-addon-api').include_dir\")"
5
- ],
6
- 'variables': {
7
- 'NAPI_VERSION%': "<!(node -p \"process.versions.napi\")",
8
- 'disable_deprecated': "<!(node -p \"process.env['npm_config_disable_deprecated']\")"
9
- },
10
- 'conditions': [
11
- ['NAPI_VERSION!=""', { 'defines': ['NAPI_VERSION=<@(NAPI_VERSION)'] } ],
12
- ['disable_deprecated=="true"', {
13
- 'defines': ['NODE_ADDON_API_DISABLE_DEPRECATED']
14
- }],
15
- ['OS=="mac"', {
16
- 'cflags+': ['-fvisibility=hidden'],
17
- 'xcode_settings': {
18
- 'OTHER_CFLAGS': ['-fvisibility=hidden']
19
- }
20
- }]
21
- ],
22
- 'sources': [
23
- 'addon.cc',
24
- ],
25
- },
26
- 'targets': [
27
- {
28
- 'target_name': 'addon',
29
- 'defines': [ 'NAPI_CPP_EXCEPTIONS' ],
30
- 'cflags!': [ '-fno-exceptions' ],
31
- 'cflags_cc!': [ '-fno-exceptions' ],
32
- 'msvs_settings': {
33
- 'VCCLCompilerTool': {
34
- 'ExceptionHandling': 1,
35
- 'EnablePREfast': 'true',
36
- },
37
- },
38
- 'xcode_settings': {
39
- 'CLANG_CXX_LIBRARY': 'libc++',
40
- 'MACOSX_DEPLOYMENT_TARGET': '10.7',
41
- 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',
42
- },
43
- },
44
- {
45
- 'target_name': 'addon_noexcept',
46
- 'defines': [ 'NAPI_DISABLE_CPP_EXCEPTIONS' ],
47
- 'cflags': [ '-fno-exceptions' ],
48
- 'cflags_cc': [ '-fno-exceptions' ],
49
- 'msvs_settings': {
50
- 'VCCLCompilerTool': {
51
- 'ExceptionHandling': 0,
52
- 'EnablePREfast': 'true',
53
- },
54
- },
55
- 'xcode_settings': {
56
- 'CLANG_CXX_LIBRARY': 'libc++',
57
- 'MACOSX_DEPLOYMENT_TARGET': '10.7',
58
- 'GCC_ENABLE_CPP_EXCEPTIONS': 'NO',
59
- },
60
- },
61
- ],
62
- }
@@ -1,9 +0,0 @@
1
- 'use strict'
2
-
3
- const except = require('bindings')('addon')
4
- const noexcept = require('bindings')('addon_noexcept')
5
-
6
- module.exports = {
7
- except,
8
- noexcept
9
- }