koffi 0.9.34 → 0.9.37
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.
- package/CMakeLists.txt +2 -1
- package/README.md +16 -13
- package/package.json +5 -4
- package/src/call_arm32.cc +6 -2
- package/src/call_arm64.cc +6 -2
- package/src/call_x64_sysv.cc +6 -2
- package/src/call_x64_win.cc +6 -2
- package/src/call_x86.cc +7 -3
- package/src/ffi.cc +77 -59
- package/src/ffi.hh +2 -2
- package/src/parser.cc +246 -0
- package/src/parser.hh +63 -0
- package/src/util.cc +23 -0
- package/src/util.hh +3 -0
- package/test/registry/machines.json +70 -0
- package/test/test.js +116 -7
- package/test/tests/misc.js +16 -16
- package/test/tests/raylib.js +8 -8
- package/test/tests/sqlite.js +9 -9
- package/vendor/node-addon-api/CODE_OF_CONDUCT.md +4 -0
- package/vendor/node-addon-api/CONTRIBUTING.md +93 -0
- package/vendor/node-addon-api/appveyor.yml +37 -0
- package/vendor/node-addon-api/benchmark/README.md +47 -0
- package/vendor/node-addon-api/benchmark/binding.gyp +25 -0
- package/vendor/node-addon-api/benchmark/function_args.cc +217 -0
- package/vendor/node-addon-api/benchmark/function_args.js +60 -0
- package/vendor/node-addon-api/benchmark/index.js +34 -0
- package/vendor/node-addon-api/benchmark/property_descriptor.cc +91 -0
- package/vendor/node-addon-api/benchmark/property_descriptor.js +37 -0
- package/vendor/node-addon-api/doc/addon.md +163 -0
- package/vendor/node-addon-api/doc/array.md +81 -0
- package/vendor/node-addon-api/doc/array_buffer.md +155 -0
- package/vendor/node-addon-api/doc/async_context.md +86 -0
- package/vendor/node-addon-api/doc/async_operations.md +31 -0
- package/vendor/node-addon-api/doc/async_worker.md +427 -0
- package/vendor/node-addon-api/doc/async_worker_variants.md +557 -0
- package/vendor/node-addon-api/doc/bigint.md +97 -0
- package/vendor/node-addon-api/doc/boolean.md +68 -0
- package/vendor/node-addon-api/doc/buffer.md +150 -0
- package/vendor/node-addon-api/doc/callback_scope.md +54 -0
- package/vendor/node-addon-api/doc/callbackinfo.md +97 -0
- package/vendor/node-addon-api/doc/checker-tool.md +32 -0
- package/vendor/node-addon-api/doc/class_property_descriptor.md +123 -0
- package/vendor/node-addon-api/doc/cmake-js.md +68 -0
- package/vendor/node-addon-api/doc/conversion-tool.md +28 -0
- package/vendor/node-addon-api/doc/creating_a_release.md +62 -0
- package/vendor/node-addon-api/doc/dataview.md +248 -0
- package/vendor/node-addon-api/doc/date.md +68 -0
- package/vendor/node-addon-api/doc/env.md +196 -0
- package/vendor/node-addon-api/doc/error.md +120 -0
- package/vendor/node-addon-api/doc/error_handling.md +254 -0
- package/vendor/node-addon-api/doc/escapable_handle_scope.md +80 -0
- package/vendor/node-addon-api/doc/external.md +63 -0
- package/vendor/node-addon-api/doc/function.md +402 -0
- package/vendor/node-addon-api/doc/function_reference.md +238 -0
- package/vendor/node-addon-api/doc/generator.md +13 -0
- package/vendor/node-addon-api/doc/handle_scope.md +63 -0
- package/vendor/node-addon-api/doc/hierarchy.md +91 -0
- package/vendor/node-addon-api/doc/instance_wrap.md +408 -0
- package/vendor/node-addon-api/doc/maybe.md +76 -0
- package/vendor/node-addon-api/doc/memory_management.md +27 -0
- package/vendor/node-addon-api/doc/name.md +29 -0
- package/vendor/node-addon-api/doc/node-gyp.md +82 -0
- package/vendor/node-addon-api/doc/number.md +163 -0
- package/vendor/node-addon-api/doc/object.md +411 -0
- package/vendor/node-addon-api/doc/object_lifetime_management.md +83 -0
- package/vendor/node-addon-api/doc/object_reference.md +117 -0
- package/vendor/node-addon-api/doc/object_wrap.md +588 -0
- package/vendor/node-addon-api/doc/prebuild_tools.md +16 -0
- package/vendor/node-addon-api/doc/promises.md +79 -0
- package/vendor/node-addon-api/doc/property_descriptor.md +286 -0
- package/vendor/node-addon-api/doc/propertylvalue.md +50 -0
- package/vendor/node-addon-api/doc/range_error.md +59 -0
- package/vendor/node-addon-api/doc/reference.md +113 -0
- package/vendor/node-addon-api/doc/setup.md +110 -0
- package/vendor/node-addon-api/doc/string.md +93 -0
- package/vendor/node-addon-api/doc/symbol.md +61 -0
- package/vendor/node-addon-api/doc/threadsafe.md +121 -0
- package/vendor/node-addon-api/doc/threadsafe_function.md +290 -0
- package/vendor/node-addon-api/doc/type_error.md +59 -0
- package/vendor/node-addon-api/doc/typed_array.md +78 -0
- package/vendor/node-addon-api/doc/typed_array_of.md +137 -0
- package/vendor/node-addon-api/doc/typed_threadsafe_function.md +306 -0
- package/vendor/node-addon-api/doc/value.md +340 -0
- package/vendor/node-addon-api/doc/version_management.md +43 -0
- package/vendor/node-addon-api/package.json +415 -0
- package/vendor/node-addon-api/test/README.md +91 -0
- package/vendor/node-addon-api/test/addon.cc +36 -0
- package/vendor/node-addon-api/test/addon.js +11 -0
- package/vendor/node-addon-api/test/addon_build/index.js +49 -0
- package/vendor/node-addon-api/test/addon_build/tpl/addon.cc +17 -0
- package/vendor/node-addon-api/test/addon_build/tpl/binding.gyp +62 -0
- package/vendor/node-addon-api/test/addon_build/tpl/index.js +9 -0
- package/vendor/node-addon-api/test/addon_build/tpl/package.json +11 -0
- package/vendor/node-addon-api/test/addon_data.cc +99 -0
- package/vendor/node-addon-api/test/addon_data.js +46 -0
- package/vendor/node-addon-api/test/array_buffer.cc +243 -0
- package/vendor/node-addon-api/test/array_buffer.js +69 -0
- package/vendor/node-addon-api/test/async_context.cc +36 -0
- package/vendor/node-addon-api/test/async_context.js +122 -0
- package/vendor/node-addon-api/test/async_progress_queue_worker.cc +83 -0
- package/vendor/node-addon-api/test/async_progress_queue_worker.js +46 -0
- package/vendor/node-addon-api/test/async_progress_worker.cc +134 -0
- package/vendor/node-addon-api/test/async_progress_worker.js +61 -0
- package/vendor/node-addon-api/test/async_worker.cc +106 -0
- package/vendor/node-addon-api/test/async_worker.js +179 -0
- package/vendor/node-addon-api/test/async_worker_nocallback.js +13 -0
- package/vendor/node-addon-api/test/async_worker_persistent.cc +63 -0
- package/vendor/node-addon-api/test/async_worker_persistent.js +24 -0
- package/vendor/node-addon-api/test/basic_types/array.cc +40 -0
- package/vendor/node-addon-api/test/basic_types/array.js +35 -0
- package/vendor/node-addon-api/test/basic_types/boolean.cc +38 -0
- package/vendor/node-addon-api/test/basic_types/boolean.js +35 -0
- package/vendor/node-addon-api/test/basic_types/number.cc +99 -0
- package/vendor/node-addon-api/test/basic_types/number.js +114 -0
- package/vendor/node-addon-api/test/basic_types/value.cc +120 -0
- package/vendor/node-addon-api/test/basic_types/value.js +133 -0
- package/vendor/node-addon-api/test/bigint.cc +91 -0
- package/vendor/node-addon-api/test/bigint.js +53 -0
- package/vendor/node-addon-api/test/binding-swallowexcept.cc +12 -0
- package/vendor/node-addon-api/test/binding.cc +173 -0
- package/vendor/node-addon-api/test/binding.gyp +124 -0
- package/vendor/node-addon-api/test/buffer.cc +183 -0
- package/vendor/node-addon-api/test/buffer.js +69 -0
- package/vendor/node-addon-api/test/callbackscope.cc +22 -0
- package/vendor/node-addon-api/test/callbackscope.js +49 -0
- package/vendor/node-addon-api/test/common/index.js +114 -0
- package/vendor/node-addon-api/test/common/test_helper.h +71 -0
- package/vendor/node-addon-api/test/dataview/dataview.cc +48 -0
- package/vendor/node-addon-api/test/dataview/dataview.js +35 -0
- package/vendor/node-addon-api/test/dataview/dataview_read_write.cc +115 -0
- package/vendor/node-addon-api/test/dataview/dataview_read_write.js +90 -0
- package/vendor/node-addon-api/test/date.cc +44 -0
- package/vendor/node-addon-api/test/date.js +18 -0
- package/vendor/node-addon-api/test/env_cleanup.cc +88 -0
- package/vendor/node-addon-api/test/env_cleanup.js +56 -0
- package/vendor/node-addon-api/test/error.cc +287 -0
- package/vendor/node-addon-api/test/error.js +81 -0
- package/vendor/node-addon-api/test/error_handling_for_primitives.cc +13 -0
- package/vendor/node-addon-api/test/error_handling_for_primitives.js +29 -0
- package/vendor/node-addon-api/test/error_terminating_environment.js +95 -0
- package/vendor/node-addon-api/test/external.cc +81 -0
- package/vendor/node-addon-api/test/external.js +88 -0
- package/vendor/node-addon-api/test/function.cc +324 -0
- package/vendor/node-addon-api/test/function.js +133 -0
- package/vendor/node-addon-api/test/function_reference.cc +202 -0
- package/vendor/node-addon-api/test/function_reference.js +157 -0
- package/vendor/node-addon-api/test/globalObject/global_object.cc +61 -0
- package/vendor/node-addon-api/test/globalObject/global_object_delete_property.cc +31 -0
- package/vendor/node-addon-api/test/globalObject/global_object_delete_property.js +61 -0
- package/vendor/node-addon-api/test/globalObject/global_object_get_property.cc +40 -0
- package/vendor/node-addon-api/test/globalObject/global_object_get_property.js +57 -0
- package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.cc +28 -0
- package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.js +48 -0
- package/vendor/node-addon-api/test/globalObject/global_object_set_property.cc +31 -0
- package/vendor/node-addon-api/test/globalObject/global_object_set_property.js +58 -0
- package/vendor/node-addon-api/test/handlescope.cc +60 -0
- package/vendor/node-addon-api/test/handlescope.js +14 -0
- package/vendor/node-addon-api/test/index.js +159 -0
- package/vendor/node-addon-api/test/maybe/check.cc +23 -0
- package/vendor/node-addon-api/test/maybe/index.js +38 -0
- package/vendor/node-addon-api/test/memory_management.cc +17 -0
- package/vendor/node-addon-api/test/memory_management.js +9 -0
- package/vendor/node-addon-api/test/movable_callbacks.cc +23 -0
- package/vendor/node-addon-api/test/movable_callbacks.js +21 -0
- package/vendor/node-addon-api/test/name.cc +108 -0
- package/vendor/node-addon-api/test/name.js +59 -0
- package/vendor/node-addon-api/test/napi_child.js +14 -0
- package/vendor/node-addon-api/test/object/delete_property.cc +38 -0
- package/vendor/node-addon-api/test/object/delete_property.js +41 -0
- package/vendor/node-addon-api/test/object/finalizer.cc +29 -0
- package/vendor/node-addon-api/test/object/finalizer.js +28 -0
- package/vendor/node-addon-api/test/object/get_property.cc +34 -0
- package/vendor/node-addon-api/test/object/get_property.js +40 -0
- package/vendor/node-addon-api/test/object/has_own_property.cc +34 -0
- package/vendor/node-addon-api/test/object/has_own_property.js +34 -0
- package/vendor/node-addon-api/test/object/has_property.cc +38 -0
- package/vendor/node-addon-api/test/object/has_property.js +37 -0
- package/vendor/node-addon-api/test/object/object.cc +350 -0
- package/vendor/node-addon-api/test/object/object.js +217 -0
- package/vendor/node-addon-api/test/object/object_deprecated.cc +66 -0
- package/vendor/node-addon-api/test/object/object_deprecated.js +47 -0
- package/vendor/node-addon-api/test/object/object_freeze_seal.cc +25 -0
- package/vendor/node-addon-api/test/object/object_freeze_seal.js +61 -0
- package/vendor/node-addon-api/test/object/set_property.cc +45 -0
- package/vendor/node-addon-api/test/object/set_property.js +30 -0
- package/vendor/node-addon-api/test/object/subscript_operator.cc +58 -0
- package/vendor/node-addon-api/test/object/subscript_operator.js +17 -0
- package/vendor/node-addon-api/test/object_reference.cc +219 -0
- package/vendor/node-addon-api/test/object_reference.js +259 -0
- package/vendor/node-addon-api/test/objectwrap.cc +268 -0
- package/vendor/node-addon-api/test/objectwrap.js +284 -0
- package/vendor/node-addon-api/test/objectwrap_constructor_exception.cc +26 -0
- package/vendor/node-addon-api/test/objectwrap_constructor_exception.js +18 -0
- package/vendor/node-addon-api/test/objectwrap_function.cc +45 -0
- package/vendor/node-addon-api/test/objectwrap_function.js +22 -0
- package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.cc +30 -0
- package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.js +13 -0
- package/vendor/node-addon-api/test/objectwrap_removewrap.cc +45 -0
- package/vendor/node-addon-api/test/objectwrap_removewrap.js +40 -0
- package/vendor/node-addon-api/test/objectwrap_worker_thread.js +19 -0
- package/vendor/node-addon-api/test/promise.cc +29 -0
- package/vendor/node-addon-api/test/promise.js +18 -0
- package/vendor/node-addon-api/test/reference.cc +24 -0
- package/vendor/node-addon-api/test/reference.js +14 -0
- package/vendor/node-addon-api/test/run_script.cc +56 -0
- package/vendor/node-addon-api/test/run_script.js +45 -0
- package/vendor/node-addon-api/test/symbol.cc +79 -0
- package/vendor/node-addon-api/test/symbol.js +73 -0
- package/vendor/node-addon-api/test/testUtil.js +54 -0
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.cc +195 -0
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.js +188 -0
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.cc +63 -0
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.js +12 -0
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.cc +115 -0
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.js +14 -0
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.cc +26 -0
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.js +7 -0
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.cc +225 -0
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.js +59 -0
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.cc +42 -0
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.js +53 -0
- package/vendor/node-addon-api/test/thunking_manual.cc +140 -0
- package/vendor/node-addon-api/test/thunking_manual.js +17 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.cc +215 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.js +188 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.cc +68 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.js +12 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.cc +127 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.js +14 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.cc +28 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.js +7 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.cc +237 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.js +59 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.cc +53 -0
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.js +53 -0
- package/vendor/node-addon-api/test/typedarray-bigint.js +58 -0
- package/vendor/node-addon-api/test/typedarray.cc +216 -0
- package/vendor/node-addon-api/test/typedarray.js +69 -0
- package/vendor/node-addon-api/test/version_management.cc +27 -0
- package/vendor/node-addon-api/test/version_management.js +31 -0
- package/vendor/node-addon-api/unit-test/README.md +28 -0
- package/vendor/node-addon-api/unit-test/binding-file-template.js +39 -0
- package/vendor/node-addon-api/unit-test/binding.gyp +72 -0
- package/vendor/node-addon-api/unit-test/exceptions.js +32 -0
- package/vendor/node-addon-api/unit-test/generate-binding-cc.js +61 -0
- package/vendor/node-addon-api/unit-test/injectTestParams.js +101 -0
- package/vendor/node-addon-api/unit-test/listOfTestModules.js +88 -0
- package/vendor/node-addon-api/unit-test/matchModules.js +65 -0
- package/vendor/node-addon-api/unit-test/setup.js +13 -0
- package/vendor/node-addon-api/unit-test/spawnTask.js +26 -0
- package/vendor/node-addon-api/unit-test/test.js +30 -0
- package/vendor/raylib/projects/VS2019/examples/audio_module_playing.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/audio_multichannel_sound.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/audio_music_stream.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/audio_raw_stream.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/audio_sound_loading.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_2d_camera.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_2d_camera_platformer.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_3d_camera_first_person.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_3d_camera_free.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_3d_camera_mode.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_3d_picking.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_basic_window.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_custom_logging.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_drop_files.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_input_gamepad.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_input_gestures.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_input_keys.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_input_mouse.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_input_mouse_wheel.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_input_multitouch.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_loading_thread.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_quat_conversion.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_random_values.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_scissor_test.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_split_screen.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_storage_values.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_vr_simulator.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_window_flags.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_window_letterbox.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/core_world_screen.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/easings_testbed.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/embedded_files_loading.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_animation.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_billboard.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_box_collisions.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_cubicmap.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_first_person_maze.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_geometric_shapes.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_heightmap.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_loading.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_loading_gltf.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_loading_vox.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_mesh_generation.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_mesh_picking.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_orthographic_projection.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_rlgl_solar_system.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_skybox.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_waving_cubes.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/models_yaw_pitch_roll.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/physics_demo.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/physics_friction.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/physics_movement.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/physics_restitution.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/physics_shatter.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/raudio_standalone.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/rlgl_standalone.vcxproj +391 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_basic_lighting.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_custom_uniform.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_eratosthenes.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_fog.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_hot_reloading.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_julia_set.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_mesh_instancing.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_model_shader.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_multi_sample2d.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_palette_switch.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_postprocessing.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_raymarching.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_shapes_textures.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_simple_mask.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_spotlight.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_texture_drawing.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shaders_texture_waves.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_basic_shapes.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_bouncing_ball.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_collision_area.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_colors_palette.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_draw_circle_sector.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_draw_rectangle_rounded.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_draw_ring.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_easings_ball_anim.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_easings_box_anim.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_easings_rectangle_array.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_following_eyes.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_lines_bezier.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_logo_raylib.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_logo_raylib_anim.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/shapes_rectangle_scaling.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/text_font_filters.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/text_font_loading.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/text_font_sdf.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/text_font_spritefont.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/text_format_text.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/text_input_box.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/text_raylib_fonts.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/text_rectangle_bounds.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/text_unicode.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/text_writing_anim.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_background_scrolling.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_blend_modes.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_bunnymark.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_draw_tiled.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_image_drawing.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_image_generation.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_image_loading.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_image_processing.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_image_text.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_logo_raylib.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_mouse_painting.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_npatch_drawing.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_particles_blending.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_raw_data.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_rectangle.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_sprite_button.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_sprite_explosion.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_srcrec_dstrec.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/examples/textures_to_image.vcxproj +387 -0
- package/vendor/raylib/projects/VS2019/raylib/raylib.vcxproj +341 -0
- package/vendor/raylib/projects/VS2019/raylib.sln +2274 -0
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj +226 -0
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.filters +10 -0
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.user +4 -0
- package/vendor/raylib/projects/VS2019-Android/raylib_android.sln +75 -0
|
@@ -0,0 +1,415 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
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
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
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)
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
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
|
+
})()
|
|
@@ -0,0 +1,17 @@
|
|
|
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)
|
|
@@ -0,0 +1,62 @@
|
|
|
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
|
+
}
|