koffi 0.9.33 → 0.9.34

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 (360) hide show
  1. package/README.md +65 -95
  2. package/package.json +1 -1
  3. package/src/call_arm32.cc +18 -8
  4. package/src/ffi.cc +1 -2
  5. package/vendor/node-addon-api/CODE_OF_CONDUCT.md +0 -4
  6. package/vendor/node-addon-api/CONTRIBUTING.md +0 -93
  7. package/vendor/node-addon-api/appveyor.yml +0 -37
  8. package/vendor/node-addon-api/benchmark/README.md +0 -47
  9. package/vendor/node-addon-api/benchmark/binding.gyp +0 -25
  10. package/vendor/node-addon-api/benchmark/function_args.cc +0 -217
  11. package/vendor/node-addon-api/benchmark/function_args.js +0 -60
  12. package/vendor/node-addon-api/benchmark/index.js +0 -34
  13. package/vendor/node-addon-api/benchmark/property_descriptor.cc +0 -91
  14. package/vendor/node-addon-api/benchmark/property_descriptor.js +0 -37
  15. package/vendor/node-addon-api/doc/addon.md +0 -163
  16. package/vendor/node-addon-api/doc/array.md +0 -81
  17. package/vendor/node-addon-api/doc/array_buffer.md +0 -155
  18. package/vendor/node-addon-api/doc/async_context.md +0 -86
  19. package/vendor/node-addon-api/doc/async_operations.md +0 -31
  20. package/vendor/node-addon-api/doc/async_worker.md +0 -427
  21. package/vendor/node-addon-api/doc/async_worker_variants.md +0 -557
  22. package/vendor/node-addon-api/doc/bigint.md +0 -97
  23. package/vendor/node-addon-api/doc/boolean.md +0 -68
  24. package/vendor/node-addon-api/doc/buffer.md +0 -150
  25. package/vendor/node-addon-api/doc/callback_scope.md +0 -54
  26. package/vendor/node-addon-api/doc/callbackinfo.md +0 -97
  27. package/vendor/node-addon-api/doc/checker-tool.md +0 -32
  28. package/vendor/node-addon-api/doc/class_property_descriptor.md +0 -123
  29. package/vendor/node-addon-api/doc/cmake-js.md +0 -68
  30. package/vendor/node-addon-api/doc/conversion-tool.md +0 -28
  31. package/vendor/node-addon-api/doc/creating_a_release.md +0 -62
  32. package/vendor/node-addon-api/doc/dataview.md +0 -248
  33. package/vendor/node-addon-api/doc/date.md +0 -68
  34. package/vendor/node-addon-api/doc/env.md +0 -196
  35. package/vendor/node-addon-api/doc/error.md +0 -120
  36. package/vendor/node-addon-api/doc/error_handling.md +0 -254
  37. package/vendor/node-addon-api/doc/escapable_handle_scope.md +0 -80
  38. package/vendor/node-addon-api/doc/external.md +0 -63
  39. package/vendor/node-addon-api/doc/function.md +0 -402
  40. package/vendor/node-addon-api/doc/function_reference.md +0 -238
  41. package/vendor/node-addon-api/doc/generator.md +0 -13
  42. package/vendor/node-addon-api/doc/handle_scope.md +0 -63
  43. package/vendor/node-addon-api/doc/hierarchy.md +0 -91
  44. package/vendor/node-addon-api/doc/instance_wrap.md +0 -408
  45. package/vendor/node-addon-api/doc/maybe.md +0 -76
  46. package/vendor/node-addon-api/doc/memory_management.md +0 -27
  47. package/vendor/node-addon-api/doc/name.md +0 -29
  48. package/vendor/node-addon-api/doc/node-gyp.md +0 -82
  49. package/vendor/node-addon-api/doc/number.md +0 -163
  50. package/vendor/node-addon-api/doc/object.md +0 -411
  51. package/vendor/node-addon-api/doc/object_lifetime_management.md +0 -83
  52. package/vendor/node-addon-api/doc/object_reference.md +0 -117
  53. package/vendor/node-addon-api/doc/object_wrap.md +0 -588
  54. package/vendor/node-addon-api/doc/prebuild_tools.md +0 -16
  55. package/vendor/node-addon-api/doc/promises.md +0 -79
  56. package/vendor/node-addon-api/doc/property_descriptor.md +0 -286
  57. package/vendor/node-addon-api/doc/propertylvalue.md +0 -50
  58. package/vendor/node-addon-api/doc/range_error.md +0 -59
  59. package/vendor/node-addon-api/doc/reference.md +0 -113
  60. package/vendor/node-addon-api/doc/setup.md +0 -110
  61. package/vendor/node-addon-api/doc/string.md +0 -93
  62. package/vendor/node-addon-api/doc/symbol.md +0 -61
  63. package/vendor/node-addon-api/doc/threadsafe.md +0 -121
  64. package/vendor/node-addon-api/doc/threadsafe_function.md +0 -290
  65. package/vendor/node-addon-api/doc/type_error.md +0 -59
  66. package/vendor/node-addon-api/doc/typed_array.md +0 -78
  67. package/vendor/node-addon-api/doc/typed_array_of.md +0 -137
  68. package/vendor/node-addon-api/doc/typed_threadsafe_function.md +0 -306
  69. package/vendor/node-addon-api/doc/value.md +0 -340
  70. package/vendor/node-addon-api/doc/version_management.md +0 -43
  71. package/vendor/node-addon-api/package.json +0 -415
  72. package/vendor/node-addon-api/test/README.md +0 -91
  73. package/vendor/node-addon-api/test/addon.cc +0 -36
  74. package/vendor/node-addon-api/test/addon.js +0 -11
  75. package/vendor/node-addon-api/test/addon_build/index.js +0 -49
  76. package/vendor/node-addon-api/test/addon_build/tpl/addon.cc +0 -17
  77. package/vendor/node-addon-api/test/addon_build/tpl/binding.gyp +0 -62
  78. package/vendor/node-addon-api/test/addon_build/tpl/index.js +0 -9
  79. package/vendor/node-addon-api/test/addon_build/tpl/package.json +0 -11
  80. package/vendor/node-addon-api/test/addon_data.cc +0 -99
  81. package/vendor/node-addon-api/test/addon_data.js +0 -46
  82. package/vendor/node-addon-api/test/array_buffer.cc +0 -243
  83. package/vendor/node-addon-api/test/array_buffer.js +0 -69
  84. package/vendor/node-addon-api/test/async_context.cc +0 -36
  85. package/vendor/node-addon-api/test/async_context.js +0 -122
  86. package/vendor/node-addon-api/test/async_progress_queue_worker.cc +0 -83
  87. package/vendor/node-addon-api/test/async_progress_queue_worker.js +0 -46
  88. package/vendor/node-addon-api/test/async_progress_worker.cc +0 -134
  89. package/vendor/node-addon-api/test/async_progress_worker.js +0 -61
  90. package/vendor/node-addon-api/test/async_worker.cc +0 -106
  91. package/vendor/node-addon-api/test/async_worker.js +0 -179
  92. package/vendor/node-addon-api/test/async_worker_nocallback.js +0 -13
  93. package/vendor/node-addon-api/test/async_worker_persistent.cc +0 -63
  94. package/vendor/node-addon-api/test/async_worker_persistent.js +0 -24
  95. package/vendor/node-addon-api/test/basic_types/array.cc +0 -40
  96. package/vendor/node-addon-api/test/basic_types/array.js +0 -35
  97. package/vendor/node-addon-api/test/basic_types/boolean.cc +0 -38
  98. package/vendor/node-addon-api/test/basic_types/boolean.js +0 -35
  99. package/vendor/node-addon-api/test/basic_types/number.cc +0 -99
  100. package/vendor/node-addon-api/test/basic_types/number.js +0 -114
  101. package/vendor/node-addon-api/test/basic_types/value.cc +0 -120
  102. package/vendor/node-addon-api/test/basic_types/value.js +0 -133
  103. package/vendor/node-addon-api/test/bigint.cc +0 -91
  104. package/vendor/node-addon-api/test/bigint.js +0 -53
  105. package/vendor/node-addon-api/test/binding-swallowexcept.cc +0 -12
  106. package/vendor/node-addon-api/test/binding.cc +0 -173
  107. package/vendor/node-addon-api/test/binding.gyp +0 -124
  108. package/vendor/node-addon-api/test/buffer.cc +0 -183
  109. package/vendor/node-addon-api/test/buffer.js +0 -69
  110. package/vendor/node-addon-api/test/callbackscope.cc +0 -22
  111. package/vendor/node-addon-api/test/callbackscope.js +0 -49
  112. package/vendor/node-addon-api/test/common/index.js +0 -114
  113. package/vendor/node-addon-api/test/common/test_helper.h +0 -71
  114. package/vendor/node-addon-api/test/dataview/dataview.cc +0 -48
  115. package/vendor/node-addon-api/test/dataview/dataview.js +0 -35
  116. package/vendor/node-addon-api/test/dataview/dataview_read_write.cc +0 -115
  117. package/vendor/node-addon-api/test/dataview/dataview_read_write.js +0 -90
  118. package/vendor/node-addon-api/test/date.cc +0 -44
  119. package/vendor/node-addon-api/test/date.js +0 -18
  120. package/vendor/node-addon-api/test/env_cleanup.cc +0 -88
  121. package/vendor/node-addon-api/test/env_cleanup.js +0 -56
  122. package/vendor/node-addon-api/test/error.cc +0 -287
  123. package/vendor/node-addon-api/test/error.js +0 -81
  124. package/vendor/node-addon-api/test/error_handling_for_primitives.cc +0 -13
  125. package/vendor/node-addon-api/test/error_handling_for_primitives.js +0 -29
  126. package/vendor/node-addon-api/test/error_terminating_environment.js +0 -95
  127. package/vendor/node-addon-api/test/external.cc +0 -81
  128. package/vendor/node-addon-api/test/external.js +0 -88
  129. package/vendor/node-addon-api/test/function.cc +0 -324
  130. package/vendor/node-addon-api/test/function.js +0 -133
  131. package/vendor/node-addon-api/test/function_reference.cc +0 -202
  132. package/vendor/node-addon-api/test/function_reference.js +0 -157
  133. package/vendor/node-addon-api/test/globalObject/global_object.cc +0 -61
  134. package/vendor/node-addon-api/test/globalObject/global_object_delete_property.cc +0 -31
  135. package/vendor/node-addon-api/test/globalObject/global_object_delete_property.js +0 -61
  136. package/vendor/node-addon-api/test/globalObject/global_object_get_property.cc +0 -40
  137. package/vendor/node-addon-api/test/globalObject/global_object_get_property.js +0 -57
  138. package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.cc +0 -28
  139. package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.js +0 -48
  140. package/vendor/node-addon-api/test/globalObject/global_object_set_property.cc +0 -31
  141. package/vendor/node-addon-api/test/globalObject/global_object_set_property.js +0 -58
  142. package/vendor/node-addon-api/test/handlescope.cc +0 -60
  143. package/vendor/node-addon-api/test/handlescope.js +0 -14
  144. package/vendor/node-addon-api/test/index.js +0 -159
  145. package/vendor/node-addon-api/test/maybe/check.cc +0 -23
  146. package/vendor/node-addon-api/test/maybe/index.js +0 -38
  147. package/vendor/node-addon-api/test/memory_management.cc +0 -17
  148. package/vendor/node-addon-api/test/memory_management.js +0 -9
  149. package/vendor/node-addon-api/test/movable_callbacks.cc +0 -23
  150. package/vendor/node-addon-api/test/movable_callbacks.js +0 -21
  151. package/vendor/node-addon-api/test/name.cc +0 -108
  152. package/vendor/node-addon-api/test/name.js +0 -59
  153. package/vendor/node-addon-api/test/napi_child.js +0 -14
  154. package/vendor/node-addon-api/test/object/delete_property.cc +0 -38
  155. package/vendor/node-addon-api/test/object/delete_property.js +0 -41
  156. package/vendor/node-addon-api/test/object/finalizer.cc +0 -29
  157. package/vendor/node-addon-api/test/object/finalizer.js +0 -28
  158. package/vendor/node-addon-api/test/object/get_property.cc +0 -34
  159. package/vendor/node-addon-api/test/object/get_property.js +0 -40
  160. package/vendor/node-addon-api/test/object/has_own_property.cc +0 -34
  161. package/vendor/node-addon-api/test/object/has_own_property.js +0 -34
  162. package/vendor/node-addon-api/test/object/has_property.cc +0 -38
  163. package/vendor/node-addon-api/test/object/has_property.js +0 -37
  164. package/vendor/node-addon-api/test/object/object.cc +0 -350
  165. package/vendor/node-addon-api/test/object/object.js +0 -217
  166. package/vendor/node-addon-api/test/object/object_deprecated.cc +0 -66
  167. package/vendor/node-addon-api/test/object/object_deprecated.js +0 -47
  168. package/vendor/node-addon-api/test/object/object_freeze_seal.cc +0 -25
  169. package/vendor/node-addon-api/test/object/object_freeze_seal.js +0 -61
  170. package/vendor/node-addon-api/test/object/set_property.cc +0 -45
  171. package/vendor/node-addon-api/test/object/set_property.js +0 -30
  172. package/vendor/node-addon-api/test/object/subscript_operator.cc +0 -58
  173. package/vendor/node-addon-api/test/object/subscript_operator.js +0 -17
  174. package/vendor/node-addon-api/test/object_reference.cc +0 -219
  175. package/vendor/node-addon-api/test/object_reference.js +0 -259
  176. package/vendor/node-addon-api/test/objectwrap.cc +0 -268
  177. package/vendor/node-addon-api/test/objectwrap.js +0 -284
  178. package/vendor/node-addon-api/test/objectwrap_constructor_exception.cc +0 -26
  179. package/vendor/node-addon-api/test/objectwrap_constructor_exception.js +0 -18
  180. package/vendor/node-addon-api/test/objectwrap_function.cc +0 -45
  181. package/vendor/node-addon-api/test/objectwrap_function.js +0 -22
  182. package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.cc +0 -30
  183. package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.js +0 -13
  184. package/vendor/node-addon-api/test/objectwrap_removewrap.cc +0 -45
  185. package/vendor/node-addon-api/test/objectwrap_removewrap.js +0 -40
  186. package/vendor/node-addon-api/test/objectwrap_worker_thread.js +0 -19
  187. package/vendor/node-addon-api/test/promise.cc +0 -29
  188. package/vendor/node-addon-api/test/promise.js +0 -18
  189. package/vendor/node-addon-api/test/reference.cc +0 -24
  190. package/vendor/node-addon-api/test/reference.js +0 -14
  191. package/vendor/node-addon-api/test/run_script.cc +0 -56
  192. package/vendor/node-addon-api/test/run_script.js +0 -45
  193. package/vendor/node-addon-api/test/symbol.cc +0 -79
  194. package/vendor/node-addon-api/test/symbol.js +0 -73
  195. package/vendor/node-addon-api/test/testUtil.js +0 -54
  196. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.cc +0 -195
  197. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.js +0 -188
  198. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.cc +0 -63
  199. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.js +0 -12
  200. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.cc +0 -115
  201. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.js +0 -14
  202. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.cc +0 -26
  203. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.js +0 -7
  204. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.cc +0 -225
  205. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.js +0 -59
  206. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.cc +0 -42
  207. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.js +0 -53
  208. package/vendor/node-addon-api/test/thunking_manual.cc +0 -140
  209. package/vendor/node-addon-api/test/thunking_manual.js +0 -17
  210. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.cc +0 -215
  211. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.js +0 -188
  212. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.cc +0 -68
  213. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.js +0 -12
  214. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.cc +0 -127
  215. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.js +0 -14
  216. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.cc +0 -28
  217. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.js +0 -7
  218. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.cc +0 -237
  219. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.js +0 -59
  220. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.cc +0 -53
  221. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.js +0 -53
  222. package/vendor/node-addon-api/test/typedarray-bigint.js +0 -58
  223. package/vendor/node-addon-api/test/typedarray.cc +0 -216
  224. package/vendor/node-addon-api/test/typedarray.js +0 -69
  225. package/vendor/node-addon-api/test/version_management.cc +0 -27
  226. package/vendor/node-addon-api/test/version_management.js +0 -31
  227. package/vendor/node-addon-api/unit-test/README.md +0 -28
  228. package/vendor/node-addon-api/unit-test/binding-file-template.js +0 -39
  229. package/vendor/node-addon-api/unit-test/binding.gyp +0 -72
  230. package/vendor/node-addon-api/unit-test/exceptions.js +0 -32
  231. package/vendor/node-addon-api/unit-test/generate-binding-cc.js +0 -61
  232. package/vendor/node-addon-api/unit-test/injectTestParams.js +0 -101
  233. package/vendor/node-addon-api/unit-test/listOfTestModules.js +0 -88
  234. package/vendor/node-addon-api/unit-test/matchModules.js +0 -65
  235. package/vendor/node-addon-api/unit-test/setup.js +0 -13
  236. package/vendor/node-addon-api/unit-test/spawnTask.js +0 -26
  237. package/vendor/node-addon-api/unit-test/test.js +0 -30
  238. package/vendor/raylib/projects/VS2019/examples/audio_module_playing.vcxproj +0 -387
  239. package/vendor/raylib/projects/VS2019/examples/audio_multichannel_sound.vcxproj +0 -387
  240. package/vendor/raylib/projects/VS2019/examples/audio_music_stream.vcxproj +0 -387
  241. package/vendor/raylib/projects/VS2019/examples/audio_raw_stream.vcxproj +0 -387
  242. package/vendor/raylib/projects/VS2019/examples/audio_sound_loading.vcxproj +0 -387
  243. package/vendor/raylib/projects/VS2019/examples/core_2d_camera.vcxproj +0 -387
  244. package/vendor/raylib/projects/VS2019/examples/core_2d_camera_platformer.vcxproj +0 -387
  245. package/vendor/raylib/projects/VS2019/examples/core_3d_camera_first_person.vcxproj +0 -387
  246. package/vendor/raylib/projects/VS2019/examples/core_3d_camera_free.vcxproj +0 -387
  247. package/vendor/raylib/projects/VS2019/examples/core_3d_camera_mode.vcxproj +0 -387
  248. package/vendor/raylib/projects/VS2019/examples/core_3d_picking.vcxproj +0 -387
  249. package/vendor/raylib/projects/VS2019/examples/core_basic_window.vcxproj +0 -387
  250. package/vendor/raylib/projects/VS2019/examples/core_custom_logging.vcxproj +0 -387
  251. package/vendor/raylib/projects/VS2019/examples/core_drop_files.vcxproj +0 -387
  252. package/vendor/raylib/projects/VS2019/examples/core_input_gamepad.vcxproj +0 -387
  253. package/vendor/raylib/projects/VS2019/examples/core_input_gestures.vcxproj +0 -387
  254. package/vendor/raylib/projects/VS2019/examples/core_input_keys.vcxproj +0 -387
  255. package/vendor/raylib/projects/VS2019/examples/core_input_mouse.vcxproj +0 -387
  256. package/vendor/raylib/projects/VS2019/examples/core_input_mouse_wheel.vcxproj +0 -387
  257. package/vendor/raylib/projects/VS2019/examples/core_input_multitouch.vcxproj +0 -387
  258. package/vendor/raylib/projects/VS2019/examples/core_loading_thread.vcxproj +0 -387
  259. package/vendor/raylib/projects/VS2019/examples/core_quat_conversion.vcxproj +0 -387
  260. package/vendor/raylib/projects/VS2019/examples/core_random_values.vcxproj +0 -387
  261. package/vendor/raylib/projects/VS2019/examples/core_scissor_test.vcxproj +0 -387
  262. package/vendor/raylib/projects/VS2019/examples/core_split_screen.vcxproj +0 -387
  263. package/vendor/raylib/projects/VS2019/examples/core_storage_values.vcxproj +0 -387
  264. package/vendor/raylib/projects/VS2019/examples/core_vr_simulator.vcxproj +0 -387
  265. package/vendor/raylib/projects/VS2019/examples/core_window_flags.vcxproj +0 -387
  266. package/vendor/raylib/projects/VS2019/examples/core_window_letterbox.vcxproj +0 -387
  267. package/vendor/raylib/projects/VS2019/examples/core_world_screen.vcxproj +0 -387
  268. package/vendor/raylib/projects/VS2019/examples/easings_testbed.vcxproj +0 -387
  269. package/vendor/raylib/projects/VS2019/examples/embedded_files_loading.vcxproj +0 -387
  270. package/vendor/raylib/projects/VS2019/examples/models_animation.vcxproj +0 -387
  271. package/vendor/raylib/projects/VS2019/examples/models_billboard.vcxproj +0 -387
  272. package/vendor/raylib/projects/VS2019/examples/models_box_collisions.vcxproj +0 -387
  273. package/vendor/raylib/projects/VS2019/examples/models_cubicmap.vcxproj +0 -387
  274. package/vendor/raylib/projects/VS2019/examples/models_first_person_maze.vcxproj +0 -387
  275. package/vendor/raylib/projects/VS2019/examples/models_geometric_shapes.vcxproj +0 -387
  276. package/vendor/raylib/projects/VS2019/examples/models_heightmap.vcxproj +0 -387
  277. package/vendor/raylib/projects/VS2019/examples/models_loading.vcxproj +0 -387
  278. package/vendor/raylib/projects/VS2019/examples/models_loading_gltf.vcxproj +0 -387
  279. package/vendor/raylib/projects/VS2019/examples/models_loading_vox.vcxproj +0 -387
  280. package/vendor/raylib/projects/VS2019/examples/models_mesh_generation.vcxproj +0 -387
  281. package/vendor/raylib/projects/VS2019/examples/models_mesh_picking.vcxproj +0 -387
  282. package/vendor/raylib/projects/VS2019/examples/models_orthographic_projection.vcxproj +0 -387
  283. package/vendor/raylib/projects/VS2019/examples/models_rlgl_solar_system.vcxproj +0 -387
  284. package/vendor/raylib/projects/VS2019/examples/models_skybox.vcxproj +0 -387
  285. package/vendor/raylib/projects/VS2019/examples/models_waving_cubes.vcxproj +0 -387
  286. package/vendor/raylib/projects/VS2019/examples/models_yaw_pitch_roll.vcxproj +0 -387
  287. package/vendor/raylib/projects/VS2019/examples/physics_demo.vcxproj +0 -387
  288. package/vendor/raylib/projects/VS2019/examples/physics_friction.vcxproj +0 -387
  289. package/vendor/raylib/projects/VS2019/examples/physics_movement.vcxproj +0 -387
  290. package/vendor/raylib/projects/VS2019/examples/physics_restitution.vcxproj +0 -387
  291. package/vendor/raylib/projects/VS2019/examples/physics_shatter.vcxproj +0 -387
  292. package/vendor/raylib/projects/VS2019/examples/raudio_standalone.vcxproj +0 -387
  293. package/vendor/raylib/projects/VS2019/examples/rlgl_standalone.vcxproj +0 -391
  294. package/vendor/raylib/projects/VS2019/examples/shaders_basic_lighting.vcxproj +0 -387
  295. package/vendor/raylib/projects/VS2019/examples/shaders_custom_uniform.vcxproj +0 -387
  296. package/vendor/raylib/projects/VS2019/examples/shaders_eratosthenes.vcxproj +0 -387
  297. package/vendor/raylib/projects/VS2019/examples/shaders_fog.vcxproj +0 -387
  298. package/vendor/raylib/projects/VS2019/examples/shaders_hot_reloading.vcxproj +0 -387
  299. package/vendor/raylib/projects/VS2019/examples/shaders_julia_set.vcxproj +0 -387
  300. package/vendor/raylib/projects/VS2019/examples/shaders_mesh_instancing.vcxproj +0 -387
  301. package/vendor/raylib/projects/VS2019/examples/shaders_model_shader.vcxproj +0 -387
  302. package/vendor/raylib/projects/VS2019/examples/shaders_multi_sample2d.vcxproj +0 -387
  303. package/vendor/raylib/projects/VS2019/examples/shaders_palette_switch.vcxproj +0 -387
  304. package/vendor/raylib/projects/VS2019/examples/shaders_postprocessing.vcxproj +0 -387
  305. package/vendor/raylib/projects/VS2019/examples/shaders_raymarching.vcxproj +0 -387
  306. package/vendor/raylib/projects/VS2019/examples/shaders_shapes_textures.vcxproj +0 -387
  307. package/vendor/raylib/projects/VS2019/examples/shaders_simple_mask.vcxproj +0 -387
  308. package/vendor/raylib/projects/VS2019/examples/shaders_spotlight.vcxproj +0 -387
  309. package/vendor/raylib/projects/VS2019/examples/shaders_texture_drawing.vcxproj +0 -387
  310. package/vendor/raylib/projects/VS2019/examples/shaders_texture_waves.vcxproj +0 -387
  311. package/vendor/raylib/projects/VS2019/examples/shapes_basic_shapes.vcxproj +0 -387
  312. package/vendor/raylib/projects/VS2019/examples/shapes_bouncing_ball.vcxproj +0 -387
  313. package/vendor/raylib/projects/VS2019/examples/shapes_collision_area.vcxproj +0 -387
  314. package/vendor/raylib/projects/VS2019/examples/shapes_colors_palette.vcxproj +0 -387
  315. package/vendor/raylib/projects/VS2019/examples/shapes_draw_circle_sector.vcxproj +0 -387
  316. package/vendor/raylib/projects/VS2019/examples/shapes_draw_rectangle_rounded.vcxproj +0 -387
  317. package/vendor/raylib/projects/VS2019/examples/shapes_draw_ring.vcxproj +0 -387
  318. package/vendor/raylib/projects/VS2019/examples/shapes_easings_ball_anim.vcxproj +0 -387
  319. package/vendor/raylib/projects/VS2019/examples/shapes_easings_box_anim.vcxproj +0 -387
  320. package/vendor/raylib/projects/VS2019/examples/shapes_easings_rectangle_array.vcxproj +0 -387
  321. package/vendor/raylib/projects/VS2019/examples/shapes_following_eyes.vcxproj +0 -387
  322. package/vendor/raylib/projects/VS2019/examples/shapes_lines_bezier.vcxproj +0 -387
  323. package/vendor/raylib/projects/VS2019/examples/shapes_logo_raylib.vcxproj +0 -387
  324. package/vendor/raylib/projects/VS2019/examples/shapes_logo_raylib_anim.vcxproj +0 -387
  325. package/vendor/raylib/projects/VS2019/examples/shapes_rectangle_scaling.vcxproj +0 -387
  326. package/vendor/raylib/projects/VS2019/examples/text_font_filters.vcxproj +0 -387
  327. package/vendor/raylib/projects/VS2019/examples/text_font_loading.vcxproj +0 -387
  328. package/vendor/raylib/projects/VS2019/examples/text_font_sdf.vcxproj +0 -387
  329. package/vendor/raylib/projects/VS2019/examples/text_font_spritefont.vcxproj +0 -387
  330. package/vendor/raylib/projects/VS2019/examples/text_format_text.vcxproj +0 -387
  331. package/vendor/raylib/projects/VS2019/examples/text_input_box.vcxproj +0 -387
  332. package/vendor/raylib/projects/VS2019/examples/text_raylib_fonts.vcxproj +0 -387
  333. package/vendor/raylib/projects/VS2019/examples/text_rectangle_bounds.vcxproj +0 -387
  334. package/vendor/raylib/projects/VS2019/examples/text_unicode.vcxproj +0 -387
  335. package/vendor/raylib/projects/VS2019/examples/text_writing_anim.vcxproj +0 -387
  336. package/vendor/raylib/projects/VS2019/examples/textures_background_scrolling.vcxproj +0 -387
  337. package/vendor/raylib/projects/VS2019/examples/textures_blend_modes.vcxproj +0 -387
  338. package/vendor/raylib/projects/VS2019/examples/textures_bunnymark.vcxproj +0 -387
  339. package/vendor/raylib/projects/VS2019/examples/textures_draw_tiled.vcxproj +0 -387
  340. package/vendor/raylib/projects/VS2019/examples/textures_image_drawing.vcxproj +0 -387
  341. package/vendor/raylib/projects/VS2019/examples/textures_image_generation.vcxproj +0 -387
  342. package/vendor/raylib/projects/VS2019/examples/textures_image_loading.vcxproj +0 -387
  343. package/vendor/raylib/projects/VS2019/examples/textures_image_processing.vcxproj +0 -387
  344. package/vendor/raylib/projects/VS2019/examples/textures_image_text.vcxproj +0 -387
  345. package/vendor/raylib/projects/VS2019/examples/textures_logo_raylib.vcxproj +0 -387
  346. package/vendor/raylib/projects/VS2019/examples/textures_mouse_painting.vcxproj +0 -387
  347. package/vendor/raylib/projects/VS2019/examples/textures_npatch_drawing.vcxproj +0 -387
  348. package/vendor/raylib/projects/VS2019/examples/textures_particles_blending.vcxproj +0 -387
  349. package/vendor/raylib/projects/VS2019/examples/textures_raw_data.vcxproj +0 -387
  350. package/vendor/raylib/projects/VS2019/examples/textures_rectangle.vcxproj +0 -387
  351. package/vendor/raylib/projects/VS2019/examples/textures_sprite_button.vcxproj +0 -387
  352. package/vendor/raylib/projects/VS2019/examples/textures_sprite_explosion.vcxproj +0 -387
  353. package/vendor/raylib/projects/VS2019/examples/textures_srcrec_dstrec.vcxproj +0 -387
  354. package/vendor/raylib/projects/VS2019/examples/textures_to_image.vcxproj +0 -387
  355. package/vendor/raylib/projects/VS2019/raylib/raylib.vcxproj +0 -341
  356. package/vendor/raylib/projects/VS2019/raylib.sln +0 -2274
  357. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj +0 -226
  358. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.filters +0 -10
  359. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.user +0 -4
  360. package/vendor/raylib/projects/VS2019-Android/raylib_android.sln +0 -75
package/README.md CHANGED
@@ -1,14 +1,14 @@
1
1
  # Table of contents
2
2
 
3
3
  - [Introduction](#introduction)
4
+ - [Benchmarks](#benchmarks)
5
+ * [atoi results](#atoi-results)
6
+ * [Raylib results](#raylib-results)
4
7
  - [Installation](#installation)
5
8
  * [Windows](#windows)
6
9
  * [Other platforms](#other-platforms)
7
10
  - [Get started](#get-started)
8
11
  - [Tests](#tests)
9
- - [Benchmarks](#benchmarks)
10
- * [atoi results](#atoi-results)
11
- * [Raylib results](#raylib-results)
12
12
 
13
13
  # Introduction
14
14
 
@@ -27,12 +27,13 @@ The following platforms __are officially supported and tested__ at the moment:
27
27
  * FreeBSD ARM64 Little Endian
28
28
  * macOS x86_64
29
29
 
30
- The following platforms will __soon be officially supported__:
30
+ The following platforms will __soon be officially supported__, when I can get my hand on a machine...:
31
31
 
32
32
  * macOS ARM64
33
33
 
34
34
  The following platforms __may be supported__ but are not tested:
35
35
 
36
+ * Linux ARM32 (full software FP) Little Endian
36
37
  * NetBSD x86_64
37
38
  * NetBSD ARM64
38
39
  * OpenBSD x86_64
@@ -40,6 +41,65 @@ The following platforms __may be supported__ but are not tested:
40
41
 
41
42
  This is still in development, bugs are to expected. More tests will come in the near future.
42
43
 
44
+ # Benchmarks
45
+
46
+ In order to run it, go to `koffi/benchmark` and run `../../cnoke/cnoke.js` (or `node ..\..\cnoke\cnoke.js` on Windows) before doing anything else.
47
+
48
+ Once this is done, you can execute each implementation, e.g. `build/atoi_cc` or `./atoi_koffi.js`. You can optionally define a custom number of iterations, e.g. `./atoi_koffi.js 10000000`.
49
+
50
+ ## atoi results
51
+
52
+ This test is based around repeated calls to a simple standard C function atoi, and has three implementations:
53
+ - the first one is the reference, it calls atoi through an N-API module, and is close to the theoretical limit of a perfect (no overhead) Node.js > C FFI implementation.
54
+ - the second one calls atoi through Koffi
55
+ - the third one uses the official Node.js FFI implementation, node-ffi-napi
56
+
57
+ Because atoi is a small call, the FFI overhead is clearly visible.
58
+
59
+ ### Linux
60
+
61
+ The results below were measured on my x86_64 Linux machine (AMD® Ryzen™ 7 5800H 16G):
62
+
63
+ Benchmark | Iterations | Total time | Overhead
64
+ ------------- | ---------- | ----------- | ----------
65
+ atoi_napi | 20000000 | 1.10s | (baseline)
66
+ atoi_koffi | 20000000 | 1.91s | x1.73
67
+ atoi_node_ffi | 20000000 | 640.49s | x582
68
+
69
+ ### Windows
70
+
71
+ The results below were measured on my x86_64 Windows machine (AMD® Ryzen™ 7 5800H 16G):
72
+
73
+ Benchmark | Iterations | Total time | Overhead
74
+ ------------- | ---------- | ----------- | ----------
75
+ atoi_napi | 20000000 | 1.94s | (baseline)
76
+ atoi_koffi | 20000000 | 3.15s | x1.62
77
+ atoi_node_ffi | 20000000 | 640.49s | x242
78
+
79
+ ## Raylib results
80
+
81
+ This benchmark uses the CPU-based image drawing functions in Raylib. The calls are much heavier than in the atoi benchmark, thus the FFI overhead is reduced. In this implemenetation, the baseline is a full C++ version of the code.
82
+
83
+ ### Linux
84
+
85
+ The results below were measured on my x86_64 Linux machine (AMD® Ryzen™ 7 5800H 16G):
86
+
87
+ Benchmark | Iterations | Total time | Overhead
88
+ --------------- | ---------- | ----------- | ----------
89
+ raylib_cc | 100 | 4.14s | (baseline)
90
+ raylib_koffi | 100 | 6.25s | x1.51
91
+ raylib_node_ffi | 100 | 27.13s | x6.55
92
+
93
+ ### Windows
94
+
95
+ The results below were measured on my x86_64 Windows machine (AMD® Ryzen™ 7 5800H 16G):
96
+
97
+ Benchmark | Iterations | Total time | Overhead
98
+ --------------- | ---------- | ----------- | ----------
99
+ raylib_cc | 100 | 8.39s | (baseline)
100
+ raylib_koffi | 100 | 11.51s | x1.37
101
+ raylib_node_ffi | 100 | 31.47s | x3.8
102
+
43
103
  # Installation
44
104
 
45
105
  ## Windows
@@ -251,94 +311,4 @@ Each machine is configured to run a VNC server available locally, which you can
251
311
 
252
312
  ```sh
253
313
  node test.js info debian_x64
254
- ```
255
-
256
- # Benchmarks
257
-
258
- At this stage, two benchmarks are implemented:
259
- * The first one is based around repeated calls to atoi, and has four implementations: one in C++, one calling atoi through an NAPI module, one using Koffi, and one with node-ffi-napi. This is a simple function, thus the JS and FFI overhead is clearly visible.
260
- * The second one is based around Raylib, and will execute much more heavier functions repeatdly. Also in three versions: Koffi, node-ffi-napi and C code.
261
-
262
- In order to run it, go to `koffi/benchmark` and run `../../cnoke/cnoke.js` (or `node ..\..\cnoke\cnoke.js` on Windows) before doing anything else.
263
-
264
- Once this is done, you can execute each implementation, e.g. `build/atoi_cc` or `./atoi_koffi.js`. You can optionally define a custom number of iterations, e.g. `./atoi_koffi.js 10000000`.
265
-
266
- ## atoi results
267
-
268
- Here are some results from 2022-04-24 on Linux on my machine (AMD® Ryzen™ 7 5800H 16G):
269
-
270
- ```sh
271
- $ build/atoi_cc
272
- Iterations: 20000000
273
- Time: 0.24s
274
-
275
- $ ./atoi_napi.js
276
- Iterations: 20000000
277
- Time: 1.10s
278
-
279
- $ ./atoi_koffi.js
280
- Iterations: 20000000
281
- Time: 1.91s
282
-
283
- # Note: the Node-FFI version does a few setTimeout calls to force the GC to run (around 20
284
- # for the example below), without which Node will consume all memory because the GC never appears
285
- # to run, or not enough. It's not ideal but on the other hand it counts as another limitation
286
- # to Node-FFI performance.
287
- $ ./atoi_node_ffi.js
288
- Iterations: 20000000
289
- Time: 640.49s
290
- ```
291
-
292
- And on Windows on the same machine (AMD® Ryzen™ 7 5800H 16G):
293
-
294
- ```sh
295
- $ build\atoi_cc.exe
296
- Iterations: 20000000
297
- Time: 0.25s
298
-
299
- $ node atoi_napi.js
300
- Iterations: 20000000
301
- Time: 1.94s
302
-
303
- $ node atoi_koffi.js
304
- Iterations: 20000000
305
- Time: 3.15s
306
-
307
- $ node atoi_node_ffi.js
308
- Iterations: 20000000
309
- Time: 267.20s
310
- ```
311
-
312
- ## Raylib results
313
-
314
- Here are some results from 2022-04-24 on Linux on my machine (AMD® Ryzen™ 7 5800H 16G):
315
-
316
- ```sh
317
- $ build/raylib_cc
318
- Iterations: 100
319
- Time: 4.14s
320
-
321
- $ ./raylib_koffi.js
322
- Iterations: 100
323
- Time: 6.25s
324
-
325
- $ ./raylib_node_ffi.js
326
- Iterations: 100
327
- Time: 27.13s
328
- ```
329
-
330
- And on Windows on the same machine (AMD® Ryzen™ 7 5800H 16G):
331
-
332
- ```sh
333
- $ build\raylib_cc.exe
334
- Iterations: 100
335
- Time: 8.39s
336
-
337
- $ node raylib_koffi.js
338
- Iterations: 100
339
- Time: 11.51s
340
-
341
- $ node raylib_node_ffi.js
342
- Iterations: 100
343
- Time: 32.47s
344
- ```
314
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "koffi",
3
- "version": "0.9.33",
3
+ "version": "0.9.34",
4
4
  "description": "Fast and simple FFI (foreign function interface) for Node.js",
5
5
  "keywords": [
6
6
  "foreign",
package/src/call_arm32.cc CHANGED
@@ -39,6 +39,7 @@ extern "C" HfaRet ForwardCallXDDDD(const void *func, uint8_t *sp);
39
39
 
40
40
  static bool IsHFA(const TypeInfo *type)
41
41
  {
42
+ #ifdef __ARM_PCS_VFP
42
43
  if (type->primitive != PrimitiveKind::Record)
43
44
  return false;
44
45
 
@@ -54,6 +55,9 @@ static bool IsHFA(const TypeInfo *type)
54
55
  }
55
56
 
56
57
  return true;
58
+ #else
59
+ return false;
60
+ #endif
57
61
  }
58
62
 
59
63
  bool AnalyseFunction(InstanceData *, FunctionInfo *func)
@@ -107,17 +111,23 @@ bool AnalyseFunction(InstanceData *, FunctionInfo *func)
107
111
  case PrimitiveKind::Float64: {
108
112
  Size need = param.type->size / 4;
109
113
 
110
- if (param.variadic) {
111
- if (need <= gpr_avail) {
112
- param.gpr_count = need;
113
- gpr_avail -= need;
114
+ #ifdef __ARM_PCS_VFP
115
+ bool vfp = !param.variadic;
116
+ #else
117
+ bool vfp = false;
118
+ #endif
119
+
120
+ if (vfp) {
121
+ if (need <= vec_avail) {
122
+ param.vec_count = need;
123
+ vec_avail -= need;
114
124
  } else {
115
125
  started_stack = true;
116
126
  }
117
127
  } else {
118
- if (need <= vec_avail) {
119
- param.vec_count = need;
120
- vec_avail -= need;
128
+ if (need <= gpr_avail) {
129
+ param.gpr_count = need;
130
+ gpr_avail -= need;
121
131
  } else {
122
132
  started_stack = true;
123
133
  }
@@ -136,7 +146,7 @@ bool AnalyseFunction(InstanceData *, FunctionInfo *func)
136
146
  vec_avail = 0;
137
147
  started_stack = true;
138
148
  }
139
- } else if (param.type->size) {
149
+ } else {
140
150
  int gpr_count = (param.type->size + 3) / 4;
141
151
 
142
152
  if (gpr_count <= gpr_avail) {
package/src/ffi.cc CHANGED
@@ -284,7 +284,7 @@ static Napi::Value TranslateVariadicCall(const Napi::CallbackInfo &info)
284
284
  return env.Null();
285
285
  }
286
286
 
287
- for (Size i = func.parameters.len; i < info.Length(); i += 2) {
287
+ for (Size i = func.parameters.len; i < (Size)info.Length(); i += 2) {
288
288
  ParameterInfo param = {};
289
289
 
290
290
  param.type = ResolveType(instance, info[i], &param.directions);
@@ -585,7 +585,6 @@ static Napi::Object InitBaseTypes(Napi::Env env)
585
585
  RegisterPrimitiveType(instance, "float", PrimitiveKind::Float32, 4, alignof(float));
586
586
  RegisterPrimitiveType(instance, "double", PrimitiveKind::Float64, 8, alignof(double));
587
587
  RegisterPrimitiveType(instance, "string", PrimitiveKind::String, RG_SIZE(void *), alignof(void *));
588
- RegisterPrimitiveType(instance, "str", PrimitiveKind::String, RG_SIZE(void *), alignof(void *));
589
588
 
590
589
  Napi::Object types = Napi::Object::New(env);
591
590
  for (TypeInfo &type: instance->types) {
@@ -1,4 +0,0 @@
1
- # Code of Conduct
2
-
3
- The Node.js Code of Conduct, which applies to this project, can be found at
4
- https://github.com/nodejs/admin/blob/HEAD/CODE_OF_CONDUCT.md.
@@ -1,93 +0,0 @@
1
-
2
- # Developer's Certificate of Origin 1.1
3
-
4
- By making a contribution to this project, I certify that:
5
-
6
- (a) The contribution was created in whole or in part by me and I
7
- have the right to submit it under the open source license
8
- indicated in the file; or
9
-
10
- (b) The contribution is based upon previous work that, to the best
11
- of my knowledge, is covered under an appropriate open source
12
- license and I have the right under that license to submit that
13
- work with modifications, whether created in whole or in part
14
- by me, under the same open source license (unless I am
15
- permitted to submit under a different license), as indicated
16
- in the file; or
17
-
18
- (c) The contribution was provided directly to me by some other
19
- person who certified (a), (b) or (c) and I have not modified
20
- it.
21
-
22
- (d) I understand and agree that this project and the contribution
23
- are public and that a record of the contribution (including all
24
- personal information I submit with it, including my sign-off) is
25
- maintained indefinitely and may be redistributed consistent with
26
- this project or the open source license(s) involved.
27
-
28
- # **node-addon-api** Contribution Philosophy
29
-
30
- The **node-addon-api** team loves contributions. There are many ways in which you can
31
- contribute to **node-addon-api**:
32
- - Source code fixes
33
- - Additional tests
34
- - Documentation improvements
35
- - Joining the Node-API working group and participating in meetings
36
-
37
- ## Source changes
38
-
39
- **node-addon-api** is meant to be a thin convenience wrapper around Node-API. With this
40
- in mind, contributions of any new APIs that wrap around a core Node-API API will
41
- be considered for merge. However, changes that wrap existing **node-addon-api**
42
- APIs are encouraged to instead be provided as an ecosystem module. The
43
- **node-addon-api** team is happy to link to a curated set of modules that build on
44
- top of **node-addon-api** if they have broad usefulness to the community and promote
45
- a recommended idiom or pattern.
46
-
47
- ### Rationale
48
-
49
- The Node-API team considered a couple different approaches with regards to changes
50
- extending **node-addon-api**
51
- - Larger core module - Incorporate these helpers and patterns into **node-addon-api**
52
- - Extras package - Create a new package (strawman name '**node-addon-api**-extras')
53
- that contain utility classes and methods that help promote good patterns and
54
- idioms while writing native addons with **node-addon-api**.
55
- - Ecosystem - Encourage creation of a module ecosystem around **node-addon-api**
56
- where folks can build on top of it.
57
-
58
- #### Larger Core
59
- This is probably our simplest option in terms of immediate action needed. It
60
- would involve landing any open PRs against **node-addon-api**, and continuing to
61
- encourage folks to make PRs for utility helpers against the same repository.
62
-
63
- The downside of the approach is the following:
64
- - Less coherency for our API set
65
- - More maintenance burden on the Node-API WG core team.
66
-
67
- #### Extras Package
68
- This involves us spinning up a new package which contains the utility classes
69
- and methods. This has the benefit of having a separate module where helpers
70
- which make it easier to implement certain patterns and idioms for native addons
71
- easier.
72
-
73
- The downside of this approach is the following:
74
- - Potential for confusion - we'll need to provide clear documentation to help the
75
- community understand where a particular contribution should be directed to (what
76
- belongs in **node-addon-api** vs **node-addon-api-extras**)
77
- - Need to define the level of support/API guarantees
78
- - Unclear if the maintenance burden on the Node-API WG is reduced or not
79
-
80
- #### Ecosystem
81
- This doesn't require a ton of up-front work from the Node-API WG. Instead of
82
- accepting utility PRs into **node-addon-api** or creating and maintaining a new
83
- module, the WG will encourage the creation of an ecosystem of modules that
84
- build on top of **node-addon-api**, and provide some level of advertising for these
85
- modules (listing them out on the repository/wiki, using them in workshops/tutorials
86
- etc).
87
-
88
- The downside of this approach is the following:
89
- - Potential for lack of visibility - evangelism and education is hard, and module
90
- authors might not find right patterns and instead implement things themselves
91
- - There might be greater friction for the Node-API WG in evolving APIs since the
92
- ecosystem would have taken dependencies on the API shape of **node-addon-api**
93
-
@@ -1,37 +0,0 @@
1
- environment:
2
- # https://github.com/jasongin/nvs/blob/HEAD/doc/CI.md
3
- NVS_VERSION: 1.4.2
4
- matrix:
5
- - NODEJS_VERSION: node/10
6
- - NODEJS_VERSION: node/12
7
- - NODEJS_VERSION: node/14
8
- - NODEJS_VERSION: nightly
9
-
10
- os: Visual Studio 2017
11
- platform:
12
- - x86
13
- - x64
14
-
15
- install:
16
- # nvs
17
- - git clone --branch v%NVS_VERSION% --depth 1 https://github.com/jasongin/nvs %LOCALAPPDATA%\nvs
18
- - set PATH=%LOCALAPPDATA%\nvs;%PATH%
19
- - nvs --version
20
- # node.js
21
- - nvs add %NODEJS_VERSION%/%PLATFORM%
22
- - nvs use %NODEJS_VERSION%/%PLATFORM%
23
- - node --version
24
- - node -p process.arch
25
- - npm --version
26
- # app
27
- - npm install
28
-
29
- test_script:
30
- - npm test
31
-
32
- build: off
33
-
34
- version: "{build}"
35
-
36
- cache:
37
- - node_modules
@@ -1,47 +0,0 @@
1
- # Benchmarks
2
-
3
- ## Running the benchmarks
4
-
5
- From the parent directory, run
6
-
7
- ```bash
8
- npm run-script benchmark
9
- ```
10
-
11
- The above script supports the following arguments:
12
-
13
- * `--benchmarks=...`: A semicolon-separated list of benchmark names. These names
14
- will be mapped to file names in this directory by appending `.js`.
15
-
16
- ## Adding benchmarks
17
-
18
- The steps below should be followed when adding new benchmarks.
19
-
20
- 0. Decide on a name for the benchmark. This name will be used in several places.
21
- This example will use the name `new_benchmark`.
22
-
23
- 0. Create files `new_benchmark.cc` and `new_benchmark.js` in this directory.
24
-
25
- 0. Copy an existing benchmark in `binding.gyp` and change the target name prefix
26
- and the source file name to `new_benchmark`. This should result in two new
27
- targets which look like this:
28
-
29
- ```gyp
30
- {
31
- 'target_name': 'new_benchmark',
32
- 'sources': [ 'new_benchmark.cc' ],
33
- 'includes': [ '../except.gypi' ],
34
- },
35
- {
36
- 'target_name': 'new_benchmark_noexcept',
37
- 'sources': [ 'new_benchmark.cc' ],
38
- 'includes': [ '../noexcept.gypi' ],
39
- },
40
- ```
41
-
42
- There should always be a pair of targets: one bearing the name of the
43
- benchmark and configured with C++ exceptions enabled, and one bearing the
44
- same name followed by the suffix `_noexcept` and configured with C++
45
- exceptions disabled. This will ensure that the benchmark can be written to
46
- cover both the case where C++ exceptions are enabled and the case where they
47
- are disabled.
@@ -1,25 +0,0 @@
1
- {
2
- 'target_defaults': { 'includes': ['../common.gypi'] },
3
- 'targets': [
4
- {
5
- 'target_name': 'function_args',
6
- 'sources': [ 'function_args.cc' ],
7
- 'includes': [ '../except.gypi' ],
8
- },
9
- {
10
- 'target_name': 'function_args_noexcept',
11
- 'sources': [ 'function_args.cc' ],
12
- 'includes': [ '../noexcept.gypi' ],
13
- },
14
- {
15
- 'target_name': 'property_descriptor',
16
- 'sources': [ 'property_descriptor.cc' ],
17
- 'includes': [ '../except.gypi' ],
18
- },
19
- {
20
- 'target_name': 'property_descriptor_noexcept',
21
- 'sources': [ 'property_descriptor.cc' ],
22
- 'includes': [ '../noexcept.gypi' ],
23
- },
24
- ]
25
- }