koffi 0.9.4 → 0.9.5
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 +60 -60
- package/README.md +163 -153
- package/package.json +19 -18
- package/src/call.hh +27 -27
- package/src/call_arm64.cc +482 -482
- package/src/call_arm64_fwd.S +115 -115
- package/src/call_x64_sysv.cc +477 -477
- package/src/call_x64_sysv_fwd.S +131 -131
- package/src/call_x64_win.cc +243 -243
- package/src/call_x64_win_fwd.asm +105 -105
- package/src/call_x86.cc +259 -259
- package/src/call_x86_fwd.S +48 -48
- package/src/call_x86_fwd.asm +50 -50
- package/src/ffi.cc +504 -504
- package/src/ffi.hh +135 -135
- package/src/util.cc +296 -296
- package/src/util.hh +80 -80
- package/vendor/dragonbox/CMakeLists.txt +122 -122
- package/vendor/dragonbox/LICENSE-Apache2-LLVM +218 -218
- package/vendor/dragonbox/LICENSE-Boost +23 -23
- package/vendor/dragonbox/README.md +277 -277
- package/vendor/dragonbox/cmake/dragonboxConfig.cmake +1 -1
- package/vendor/dragonbox/include/dragonbox/dragonbox.h +2670 -2670
- package/vendor/dragonbox/include/dragonbox/dragonbox_to_chars.h +108 -108
- package/vendor/dragonbox/other_files/unknown_win64_vc2019.html +539 -539
- package/vendor/dragonbox/source/dragonbox_to_chars.cpp +303 -303
- package/vendor/dragonbox/subproject/3rdparty/grisu_exact/CMakeLists.txt +23 -23
- package/vendor/dragonbox/subproject/3rdparty/grisu_exact/fp_to_chars.cpp +238 -238
- package/vendor/dragonbox/subproject/3rdparty/grisu_exact/fp_to_chars.h +95 -95
- package/vendor/dragonbox/subproject/3rdparty/grisu_exact/grisu_exact.h +2666 -2666
- package/vendor/dragonbox/subproject/3rdparty/ryu/CMakeLists.txt +16 -16
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/common.h +114 -114
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s.c +509 -509
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s_full_table.h +367 -367
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s_intrinsics.h +357 -357
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/digit_table.h +35 -35
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s.c +345 -345
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s_full_table.h +55 -55
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s_intrinsics.h +128 -128
- package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/ryu.h +46 -46
- package/vendor/dragonbox/subproject/3rdparty/schubfach/CMakeLists.txt +21 -21
- package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_32.cc +699 -699
- package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_32.h +31 -31
- package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_64.cc +1354 -1354
- package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_64.h +31 -31
- package/vendor/dragonbox/subproject/3rdparty/shaded_plots/example_shaded_plots.m +68 -68
- package/vendor/dragonbox/subproject/3rdparty/shaded_plots/license.txt +25 -25
- package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_distribution.m +92 -92
- package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_distribution_prctile.m +121 -121
- package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_histogram_shaded.m +99 -99
- package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_shaded.m +93 -93
- package/vendor/dragonbox/subproject/benchmark/CMakeLists.txt +64 -64
- package/vendor/dragonbox/subproject/benchmark/include/benchmark.h +40 -40
- package/vendor/dragonbox/subproject/benchmark/matlab/plot_benchmarks.m +21 -21
- package/vendor/dragonbox/subproject/benchmark/matlab/plot_digit_benchmark.m +78 -78
- package/vendor/dragonbox/subproject/benchmark/matlab/plot_uniform_benchmark.m +95 -95
- package/vendor/dragonbox/subproject/benchmark/source/benchmark.cpp +237 -237
- package/vendor/dragonbox/subproject/benchmark/source/dragonbox.cpp +30 -30
- package/vendor/dragonbox/subproject/benchmark/source/grisu_exact.cpp +36 -36
- package/vendor/dragonbox/subproject/benchmark/source/ryu.cpp +27 -27
- package/vendor/dragonbox/subproject/benchmark/source/schubfach.cpp +31 -31
- package/vendor/dragonbox/subproject/common/CMakeLists.txt +41 -41
- package/vendor/dragonbox/subproject/common/include/best_rational_approx.h +96 -96
- package/vendor/dragonbox/subproject/common/include/big_uint.h +217 -217
- package/vendor/dragonbox/subproject/common/include/continued_fractions.h +173 -173
- package/vendor/dragonbox/subproject/common/include/good_rational_approx.h +266 -266
- package/vendor/dragonbox/subproject/common/include/random_float.h +182 -182
- package/vendor/dragonbox/subproject/common/include/rational_continued_fractions.h +56 -56
- package/vendor/dragonbox/subproject/common/source/big_uint.cpp +601 -601
- package/vendor/dragonbox/subproject/meta/CMakeLists.txt +40 -40
- package/vendor/dragonbox/subproject/meta/results/binary32_generated_cache.txt +81 -81
- package/vendor/dragonbox/subproject/meta/results/binary64_compressed_cache_error_table.txt +9 -9
- package/vendor/dragonbox/subproject/meta/results/binary64_generated_cache.txt +622 -622
- package/vendor/dragonbox/subproject/meta/source/generate_cache.cpp +126 -126
- package/vendor/dragonbox/subproject/meta/source/live_test.cpp +81 -81
- package/vendor/dragonbox/subproject/meta/source/perf_test.cpp +104 -104
- package/vendor/dragonbox/subproject/meta/source/sandbox.cpp +20 -20
- package/vendor/dragonbox/subproject/test/CMakeLists.txt +69 -69
- package/vendor/dragonbox/subproject/test/results/binary32.csv +255 -255
- package/vendor/dragonbox/subproject/test/results/binary64.csv +2047 -2047
- package/vendor/dragonbox/subproject/test/results/plot_required_bits.m +17 -17
- package/vendor/dragonbox/subproject/test/source/test_all_shorter_interval_cases.cpp +88 -88
- package/vendor/dragonbox/subproject/test/source/uniform_random_test.cpp +95 -95
- package/vendor/dragonbox/subproject/test/source/verify_cache_precision.cpp +337 -337
- package/vendor/dragonbox/subproject/test/source/verify_compressed_cache.cpp +154 -154
- package/vendor/dragonbox/subproject/test/source/verify_fast_multiplication.cpp +168 -168
- package/vendor/dragonbox/subproject/test/source/verify_log_computation.cpp +251 -251
- package/vendor/dragonbox/subproject/test/source/verify_magic_division.cpp +113 -113
- package/vendor/libcc/libcc.cc +7651 -7651
- package/vendor/libcc/libcc.hh +4312 -4312
- package/vendor/node-addon-api/CHANGELOG.md +859 -859
- package/vendor/node-addon-api/CODE_OF_CONDUCT.md +4 -4
- package/vendor/node-addon-api/CONTRIBUTING.md +93 -93
- package/vendor/node-addon-api/LICENSE.md +12 -12
- package/vendor/node-addon-api/README.md +293 -293
- package/vendor/node-addon-api/appveyor.yml +37 -37
- package/vendor/node-addon-api/benchmark/README.md +47 -47
- package/vendor/node-addon-api/benchmark/binding.gyp +25 -25
- package/vendor/node-addon-api/benchmark/function_args.cc +217 -217
- package/vendor/node-addon-api/benchmark/function_args.js +60 -60
- package/vendor/node-addon-api/benchmark/index.js +34 -34
- package/vendor/node-addon-api/benchmark/property_descriptor.cc +91 -91
- package/vendor/node-addon-api/benchmark/property_descriptor.js +37 -37
- package/vendor/node-addon-api/common.gypi +21 -21
- package/vendor/node-addon-api/doc/addon.md +163 -163
- package/vendor/node-addon-api/doc/array.md +81 -81
- package/vendor/node-addon-api/doc/array_buffer.md +155 -155
- package/vendor/node-addon-api/doc/async_context.md +86 -86
- package/vendor/node-addon-api/doc/async_operations.md +31 -31
- package/vendor/node-addon-api/doc/async_worker.md +427 -427
- package/vendor/node-addon-api/doc/async_worker_variants.md +557 -557
- package/vendor/node-addon-api/doc/bigint.md +97 -97
- package/vendor/node-addon-api/doc/boolean.md +68 -68
- package/vendor/node-addon-api/doc/buffer.md +150 -150
- package/vendor/node-addon-api/doc/callback_scope.md +54 -54
- package/vendor/node-addon-api/doc/callbackinfo.md +97 -97
- package/vendor/node-addon-api/doc/checker-tool.md +32 -32
- package/vendor/node-addon-api/doc/class_property_descriptor.md +115 -115
- package/vendor/node-addon-api/doc/cmake-js.md +68 -68
- package/vendor/node-addon-api/doc/conversion-tool.md +27 -27
- package/vendor/node-addon-api/doc/creating_a_release.md +62 -62
- package/vendor/node-addon-api/doc/dataview.md +248 -248
- package/vendor/node-addon-api/doc/date.md +68 -68
- package/vendor/node-addon-api/doc/env.md +196 -196
- package/vendor/node-addon-api/doc/error.md +120 -120
- package/vendor/node-addon-api/doc/error_handling.md +254 -254
- package/vendor/node-addon-api/doc/escapable_handle_scope.md +80 -80
- package/vendor/node-addon-api/doc/external.md +63 -63
- package/vendor/node-addon-api/doc/function.md +402 -402
- package/vendor/node-addon-api/doc/function_reference.md +238 -238
- package/vendor/node-addon-api/doc/generator.md +13 -13
- package/vendor/node-addon-api/doc/handle_scope.md +63 -63
- package/vendor/node-addon-api/doc/hierarchy.md +91 -91
- package/vendor/node-addon-api/doc/instance_wrap.md +408 -408
- package/vendor/node-addon-api/doc/maybe.md +76 -76
- package/vendor/node-addon-api/doc/memory_management.md +27 -27
- package/vendor/node-addon-api/doc/name.md +29 -29
- package/vendor/node-addon-api/doc/node-gyp.md +82 -82
- package/vendor/node-addon-api/doc/number.md +163 -163
- package/vendor/node-addon-api/doc/object.md +432 -432
- package/vendor/node-addon-api/doc/object_lifetime_management.md +83 -83
- package/vendor/node-addon-api/doc/object_reference.md +117 -117
- package/vendor/node-addon-api/doc/object_wrap.md +561 -561
- package/vendor/node-addon-api/doc/prebuild_tools.md +16 -16
- package/vendor/node-addon-api/doc/promises.md +79 -79
- package/vendor/node-addon-api/doc/property_descriptor.md +286 -286
- package/vendor/node-addon-api/doc/propertylvalue.md +50 -50
- package/vendor/node-addon-api/doc/range_error.md +59 -59
- package/vendor/node-addon-api/doc/reference.md +113 -113
- package/vendor/node-addon-api/doc/setup.md +110 -110
- package/vendor/node-addon-api/doc/string.md +93 -93
- package/vendor/node-addon-api/doc/symbol.md +60 -60
- package/vendor/node-addon-api/doc/threadsafe.md +121 -121
- package/vendor/node-addon-api/doc/threadsafe_function.md +290 -290
- package/vendor/node-addon-api/doc/type_error.md +59 -59
- package/vendor/node-addon-api/doc/typed_array.md +78 -78
- package/vendor/node-addon-api/doc/typed_array_of.md +137 -137
- package/vendor/node-addon-api/doc/typed_threadsafe_function.md +306 -306
- package/vendor/node-addon-api/doc/value.md +340 -340
- package/vendor/node-addon-api/doc/version_management.md +43 -43
- package/vendor/node-addon-api/except.gypi +25 -25
- package/vendor/node-addon-api/index.js +11 -11
- package/vendor/node-addon-api/napi-inl.deprecated.h +192 -192
- package/vendor/node-addon-api/napi-inl.h +6209 -6209
- package/vendor/node-addon-api/napi.h +2983 -2983
- package/vendor/node-addon-api/node_api.gyp +9 -9
- package/vendor/node-addon-api/noexcept.gypi +26 -26
- package/vendor/node-addon-api/package-support.json +21 -21
- package/vendor/node-addon-api/package.json +399 -399
- package/vendor/node-addon-api/test/README.md +91 -91
- package/vendor/node-addon-api/test/addon.cc +36 -36
- package/vendor/node-addon-api/test/addon.js +11 -11
- package/vendor/node-addon-api/test/addon_build/index.js +49 -49
- package/vendor/node-addon-api/test/addon_build/tpl/addon.cc +17 -17
- package/vendor/node-addon-api/test/addon_build/tpl/binding.gyp +62 -62
- package/vendor/node-addon-api/test/addon_build/tpl/index.js +9 -9
- package/vendor/node-addon-api/test/addon_build/tpl/package.json +11 -11
- package/vendor/node-addon-api/test/addon_data.cc +99 -99
- package/vendor/node-addon-api/test/addon_data.js +46 -46
- package/vendor/node-addon-api/test/array_buffer.cc +243 -243
- package/vendor/node-addon-api/test/array_buffer.js +69 -69
- package/vendor/node-addon-api/test/async_context.cc +21 -21
- package/vendor/node-addon-api/test/async_context.js +86 -86
- package/vendor/node-addon-api/test/async_progress_queue_worker.cc +83 -83
- package/vendor/node-addon-api/test/async_progress_queue_worker.js +46 -46
- package/vendor/node-addon-api/test/async_progress_worker.cc +134 -134
- package/vendor/node-addon-api/test/async_progress_worker.js +61 -61
- package/vendor/node-addon-api/test/async_worker.cc +106 -106
- package/vendor/node-addon-api/test/async_worker.js +179 -179
- package/vendor/node-addon-api/test/async_worker_nocallback.js +13 -13
- package/vendor/node-addon-api/test/async_worker_persistent.cc +63 -63
- package/vendor/node-addon-api/test/async_worker_persistent.js +24 -24
- package/vendor/node-addon-api/test/basic_types/array.cc +40 -40
- package/vendor/node-addon-api/test/basic_types/array.js +35 -35
- package/vendor/node-addon-api/test/basic_types/boolean.cc +38 -38
- package/vendor/node-addon-api/test/basic_types/boolean.js +35 -35
- package/vendor/node-addon-api/test/basic_types/number.cc +99 -99
- package/vendor/node-addon-api/test/basic_types/number.js +114 -114
- package/vendor/node-addon-api/test/basic_types/value.cc +120 -120
- package/vendor/node-addon-api/test/basic_types/value.js +133 -133
- package/vendor/node-addon-api/test/bigint.cc +91 -91
- package/vendor/node-addon-api/test/bigint.js +53 -53
- package/vendor/node-addon-api/test/binding-swallowexcept.cc +12 -12
- package/vendor/node-addon-api/test/binding.cc +171 -171
- package/vendor/node-addon-api/test/binding.gyp +117 -117
- package/vendor/node-addon-api/test/buffer.cc +183 -183
- package/vendor/node-addon-api/test/buffer.js +69 -69
- package/vendor/node-addon-api/test/callbackscope.cc +22 -22
- package/vendor/node-addon-api/test/callbackscope.js +49 -49
- package/vendor/node-addon-api/test/common/index.js +113 -113
- package/vendor/node-addon-api/test/common/test_helper.h +61 -61
- package/vendor/node-addon-api/test/dataview/dataview.cc +48 -48
- package/vendor/node-addon-api/test/dataview/dataview.js +35 -35
- package/vendor/node-addon-api/test/dataview/dataview_read_write.cc +115 -115
- package/vendor/node-addon-api/test/dataview/dataview_read_write.js +90 -90
- package/vendor/node-addon-api/test/date.cc +44 -44
- package/vendor/node-addon-api/test/date.js +18 -18
- package/vendor/node-addon-api/test/env_cleanup.cc +88 -88
- package/vendor/node-addon-api/test/env_cleanup.js +56 -56
- package/vendor/node-addon-api/test/error.cc +287 -287
- package/vendor/node-addon-api/test/error.js +81 -81
- package/vendor/node-addon-api/test/error_handling_for_primitives.cc +13 -13
- package/vendor/node-addon-api/test/error_handling_for_primitives.js +29 -29
- package/vendor/node-addon-api/test/error_terminating_environment.js +94 -94
- package/vendor/node-addon-api/test/external.cc +81 -81
- package/vendor/node-addon-api/test/external.js +88 -88
- package/vendor/node-addon-api/test/function.cc +295 -295
- package/vendor/node-addon-api/test/function.js +121 -121
- package/vendor/node-addon-api/test/function_reference.cc +202 -202
- package/vendor/node-addon-api/test/function_reference.js +157 -157
- package/vendor/node-addon-api/test/globalObject/global_object.cc +61 -61
- package/vendor/node-addon-api/test/globalObject/global_object_delete_property.cc +31 -31
- package/vendor/node-addon-api/test/globalObject/global_object_delete_property.js +61 -61
- package/vendor/node-addon-api/test/globalObject/global_object_get_property.cc +40 -40
- package/vendor/node-addon-api/test/globalObject/global_object_get_property.js +57 -57
- package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.cc +28 -28
- package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.js +48 -48
- package/vendor/node-addon-api/test/globalObject/global_object_set_property.cc +30 -30
- package/vendor/node-addon-api/test/globalObject/global_object_set_property.js +58 -58
- package/vendor/node-addon-api/test/handlescope.cc +60 -60
- package/vendor/node-addon-api/test/handlescope.js +14 -14
- package/vendor/node-addon-api/test/index.js +136 -136
- package/vendor/node-addon-api/test/maybe/check.cc +23 -23
- package/vendor/node-addon-api/test/maybe/index.js +38 -38
- package/vendor/node-addon-api/test/memory_management.cc +17 -17
- package/vendor/node-addon-api/test/memory_management.js +9 -9
- package/vendor/node-addon-api/test/movable_callbacks.cc +23 -23
- package/vendor/node-addon-api/test/movable_callbacks.js +21 -21
- package/vendor/node-addon-api/test/name.cc +108 -108
- package/vendor/node-addon-api/test/name.js +59 -59
- package/vendor/node-addon-api/test/napi_child.js +14 -14
- package/vendor/node-addon-api/test/object/delete_property.cc +38 -38
- package/vendor/node-addon-api/test/object/delete_property.js +41 -41
- package/vendor/node-addon-api/test/object/finalizer.cc +29 -29
- package/vendor/node-addon-api/test/object/finalizer.js +28 -28
- package/vendor/node-addon-api/test/object/get_property.cc +34 -34
- package/vendor/node-addon-api/test/object/get_property.js +40 -40
- package/vendor/node-addon-api/test/object/has_own_property.cc +34 -34
- package/vendor/node-addon-api/test/object/has_own_property.js +34 -34
- package/vendor/node-addon-api/test/object/has_property.cc +38 -38
- package/vendor/node-addon-api/test/object/has_property.js +37 -37
- package/vendor/node-addon-api/test/object/object.cc +348 -348
- package/vendor/node-addon-api/test/object/object.js +217 -217
- package/vendor/node-addon-api/test/object/object_deprecated.cc +66 -66
- package/vendor/node-addon-api/test/object/object_deprecated.js +47 -47
- package/vendor/node-addon-api/test/object/object_freeze_seal.cc +25 -25
- package/vendor/node-addon-api/test/object/object_freeze_seal.js +61 -61
- package/vendor/node-addon-api/test/object/set_property.cc +37 -37
- package/vendor/node-addon-api/test/object/set_property.js +29 -29
- package/vendor/node-addon-api/test/object/subscript_operator.cc +42 -42
- package/vendor/node-addon-api/test/object/subscript_operator.js +17 -17
- package/vendor/node-addon-api/test/object_reference.cc +219 -219
- package/vendor/node-addon-api/test/object_reference.js +259 -259
- package/vendor/node-addon-api/test/objectwrap.cc +268 -268
- package/vendor/node-addon-api/test/objectwrap.js +284 -284
- package/vendor/node-addon-api/test/objectwrap_constructor_exception.cc +26 -26
- package/vendor/node-addon-api/test/objectwrap_constructor_exception.js +18 -18
- package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.cc +30 -30
- package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.js +13 -13
- package/vendor/node-addon-api/test/objectwrap_removewrap.cc +45 -45
- package/vendor/node-addon-api/test/objectwrap_removewrap.js +40 -40
- package/vendor/node-addon-api/test/objectwrap_worker_thread.js +19 -19
- package/vendor/node-addon-api/test/promise.cc +29 -29
- package/vendor/node-addon-api/test/promise.js +18 -18
- package/vendor/node-addon-api/test/reference.cc +24 -24
- package/vendor/node-addon-api/test/reference.js +14 -14
- package/vendor/node-addon-api/test/run_script.cc +56 -56
- package/vendor/node-addon-api/test/run_script.js +45 -45
- package/vendor/node-addon-api/test/symbol.cc +79 -79
- package/vendor/node-addon-api/test/symbol.js +73 -73
- package/vendor/node-addon-api/test/testUtil.js +54 -54
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.cc +195 -195
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.js +188 -188
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.cc +63 -63
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.js +12 -12
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.cc +115 -115
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.js +14 -14
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.cc +26 -26
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.js +7 -7
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.cc +225 -225
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.js +59 -59
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.cc +42 -42
- package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.js +53 -53
- package/vendor/node-addon-api/test/thunking_manual.cc +140 -140
- package/vendor/node-addon-api/test/thunking_manual.js +17 -17
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.cc +215 -215
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.js +188 -188
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.cc +68 -68
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.js +12 -12
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.cc +127 -127
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.js +14 -14
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.cc +28 -28
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.js +7 -7
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.cc +237 -237
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.js +59 -59
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.cc +53 -53
- package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.js +53 -53
- package/vendor/node-addon-api/test/typedarray-bigint.js +58 -58
- package/vendor/node-addon-api/test/typedarray.cc +216 -216
- package/vendor/node-addon-api/test/typedarray.js +69 -69
- package/vendor/node-addon-api/test/version_management.cc +27 -27
- package/vendor/node-addon-api/test/version_management.js +31 -31
- package/vendor/node-addon-api/tools/README.md +73 -73
- package/vendor/node-addon-api/tools/check-napi.js +100 -100
- package/vendor/node-addon-api/tools/clang-format.js +68 -68
- package/vendor/node-addon-api/tools/conversion.js +309 -309
- package/vendor/node-addon-api/tools/eslint-format.js +71 -71
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
#include "napi.h"
|
|
2
|
-
#include "test_helper.h"
|
|
3
|
-
|
|
4
|
-
using namespace Napi;
|
|
5
|
-
|
|
6
|
-
Value GetPropertyWithNapiValue(const CallbackInfo& info) {
|
|
7
|
-
Object obj = info[0].As<Object>();
|
|
8
|
-
Name key = info[1].As<Name>();
|
|
9
|
-
return MaybeUnwrapOr(obj.Get(static_cast<napi_value>(key)), Value());
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
Value GetPropertyWithNapiWrapperValue(const CallbackInfo& info) {
|
|
13
|
-
Object obj = info[0].As<Object>();
|
|
14
|
-
Name key = info[1].As<Name>();
|
|
15
|
-
return MaybeUnwrapOr(obj.Get(key), Value());
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
Value GetPropertyWithUint32(const CallbackInfo& info) {
|
|
19
|
-
Object obj = info[0].As<Object>();
|
|
20
|
-
Number key = info[1].As<Number>();
|
|
21
|
-
return MaybeUnwrap(obj.Get(key.Uint32Value()));
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
Value GetPropertyWithCStyleString(const CallbackInfo& info) {
|
|
25
|
-
Object obj = info[0].As<Object>();
|
|
26
|
-
String jsKey = info[1].As<String>();
|
|
27
|
-
return MaybeUnwrapOr(obj.Get(jsKey.Utf8Value().c_str()), Value());
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
Value GetPropertyWithCppStyleString(const CallbackInfo& info) {
|
|
31
|
-
Object obj = info[0].As<Object>();
|
|
32
|
-
String jsKey = info[1].As<String>();
|
|
33
|
-
return MaybeUnwrapOr(obj.Get(jsKey.Utf8Value()), Value());
|
|
34
|
-
}
|
|
1
|
+
#include "napi.h"
|
|
2
|
+
#include "test_helper.h"
|
|
3
|
+
|
|
4
|
+
using namespace Napi;
|
|
5
|
+
|
|
6
|
+
Value GetPropertyWithNapiValue(const CallbackInfo& info) {
|
|
7
|
+
Object obj = info[0].As<Object>();
|
|
8
|
+
Name key = info[1].As<Name>();
|
|
9
|
+
return MaybeUnwrapOr(obj.Get(static_cast<napi_value>(key)), Value());
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
Value GetPropertyWithNapiWrapperValue(const CallbackInfo& info) {
|
|
13
|
+
Object obj = info[0].As<Object>();
|
|
14
|
+
Name key = info[1].As<Name>();
|
|
15
|
+
return MaybeUnwrapOr(obj.Get(key), Value());
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
Value GetPropertyWithUint32(const CallbackInfo& info) {
|
|
19
|
+
Object obj = info[0].As<Object>();
|
|
20
|
+
Number key = info[1].As<Number>();
|
|
21
|
+
return MaybeUnwrap(obj.Get(key.Uint32Value()));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
Value GetPropertyWithCStyleString(const CallbackInfo& info) {
|
|
25
|
+
Object obj = info[0].As<Object>();
|
|
26
|
+
String jsKey = info[1].As<String>();
|
|
27
|
+
return MaybeUnwrapOr(obj.Get(jsKey.Utf8Value().c_str()), Value());
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
Value GetPropertyWithCppStyleString(const CallbackInfo& info) {
|
|
31
|
+
Object obj = info[0].As<Object>();
|
|
32
|
+
String jsKey = info[1].As<String>();
|
|
33
|
+
return MaybeUnwrapOr(obj.Get(jsKey.Utf8Value()), Value());
|
|
34
|
+
}
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const assert = require('assert');
|
|
4
|
-
|
|
5
|
-
module.exports = require('../common').runTest(test);
|
|
6
|
-
|
|
7
|
-
function test(binding) {
|
|
8
|
-
function testGetProperty(nativeGetProperty) {
|
|
9
|
-
const obj = { test: 1 };
|
|
10
|
-
assert.strictEqual(nativeGetProperty(obj, 'test'), 1);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function testShouldReturnUndefinedIfKeyIsNotPresent(nativeGetProperty) {
|
|
14
|
-
const obj = { };
|
|
15
|
-
assert.strictEqual(nativeGetProperty(obj, 'test'), undefined);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
function testShouldThrowErrorIfKeyIsInvalid(nativeGetProperty) {
|
|
19
|
-
assert.throws(() => {
|
|
20
|
-
nativeGetProperty(undefined, 'test');
|
|
21
|
-
}, /Cannot convert undefined or null to object/);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const testObject = { 42: 100 };
|
|
25
|
-
const property = binding.object.getPropertyWithUint32(testObject, 42);
|
|
26
|
-
assert.strictEqual(property,100)
|
|
27
|
-
|
|
28
|
-
const nativeFunctions = [
|
|
29
|
-
binding.object.getPropertyWithNapiValue,
|
|
30
|
-
binding.object.getPropertyWithNapiWrapperValue,
|
|
31
|
-
binding.object.getPropertyWithCStyleString,
|
|
32
|
-
binding.object.getPropertyWithCppStyleString
|
|
33
|
-
];
|
|
34
|
-
|
|
35
|
-
nativeFunctions.forEach((nativeFunction) => {
|
|
36
|
-
testGetProperty(nativeFunction);
|
|
37
|
-
testShouldReturnUndefinedIfKeyIsNotPresent(nativeFunction);
|
|
38
|
-
testShouldThrowErrorIfKeyIsInvalid(nativeFunction);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const assert = require('assert');
|
|
4
|
+
|
|
5
|
+
module.exports = require('../common').runTest(test);
|
|
6
|
+
|
|
7
|
+
function test(binding) {
|
|
8
|
+
function testGetProperty(nativeGetProperty) {
|
|
9
|
+
const obj = { test: 1 };
|
|
10
|
+
assert.strictEqual(nativeGetProperty(obj, 'test'), 1);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function testShouldReturnUndefinedIfKeyIsNotPresent(nativeGetProperty) {
|
|
14
|
+
const obj = { };
|
|
15
|
+
assert.strictEqual(nativeGetProperty(obj, 'test'), undefined);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function testShouldThrowErrorIfKeyIsInvalid(nativeGetProperty) {
|
|
19
|
+
assert.throws(() => {
|
|
20
|
+
nativeGetProperty(undefined, 'test');
|
|
21
|
+
}, /Cannot convert undefined or null to object/);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const testObject = { 42: 100 };
|
|
25
|
+
const property = binding.object.getPropertyWithUint32(testObject, 42);
|
|
26
|
+
assert.strictEqual(property,100)
|
|
27
|
+
|
|
28
|
+
const nativeFunctions = [
|
|
29
|
+
binding.object.getPropertyWithNapiValue,
|
|
30
|
+
binding.object.getPropertyWithNapiWrapperValue,
|
|
31
|
+
binding.object.getPropertyWithCStyleString,
|
|
32
|
+
binding.object.getPropertyWithCppStyleString
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
nativeFunctions.forEach((nativeFunction) => {
|
|
36
|
+
testGetProperty(nativeFunction);
|
|
37
|
+
testShouldReturnUndefinedIfKeyIsNotPresent(nativeFunction);
|
|
38
|
+
testShouldThrowErrorIfKeyIsInvalid(nativeFunction);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
#include "napi.h"
|
|
2
|
-
#include "test_helper.h"
|
|
3
|
-
|
|
4
|
-
using namespace Napi;
|
|
5
|
-
|
|
6
|
-
Value HasOwnPropertyWithNapiValue(const CallbackInfo& info) {
|
|
7
|
-
Object obj = info[0].As<Object>();
|
|
8
|
-
Name key = info[1].As<Name>();
|
|
9
|
-
return Boolean::New(
|
|
10
|
-
info.Env(),
|
|
11
|
-
MaybeUnwrapOr(obj.HasOwnProperty(static_cast<napi_value>(key)), false));
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
Value HasOwnPropertyWithNapiWrapperValue(const CallbackInfo& info) {
|
|
15
|
-
Object obj = info[0].As<Object>();
|
|
16
|
-
Name key = info[1].As<Name>();
|
|
17
|
-
return Boolean::New(info.Env(),
|
|
18
|
-
MaybeUnwrapOr(obj.HasOwnProperty(key), false));
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
Value HasOwnPropertyWithCStyleString(const CallbackInfo& info) {
|
|
22
|
-
Object obj = info[0].As<Object>();
|
|
23
|
-
String jsKey = info[1].As<String>();
|
|
24
|
-
return Boolean::New(
|
|
25
|
-
info.Env(),
|
|
26
|
-
MaybeUnwrapOr(obj.HasOwnProperty(jsKey.Utf8Value().c_str()), false));
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
Value HasOwnPropertyWithCppStyleString(const CallbackInfo& info) {
|
|
30
|
-
Object obj = info[0].As<Object>();
|
|
31
|
-
String jsKey = info[1].As<String>();
|
|
32
|
-
return Boolean::New(
|
|
33
|
-
info.Env(), MaybeUnwrapOr(obj.HasOwnProperty(jsKey.Utf8Value()), false));
|
|
34
|
-
}
|
|
1
|
+
#include "napi.h"
|
|
2
|
+
#include "test_helper.h"
|
|
3
|
+
|
|
4
|
+
using namespace Napi;
|
|
5
|
+
|
|
6
|
+
Value HasOwnPropertyWithNapiValue(const CallbackInfo& info) {
|
|
7
|
+
Object obj = info[0].As<Object>();
|
|
8
|
+
Name key = info[1].As<Name>();
|
|
9
|
+
return Boolean::New(
|
|
10
|
+
info.Env(),
|
|
11
|
+
MaybeUnwrapOr(obj.HasOwnProperty(static_cast<napi_value>(key)), false));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
Value HasOwnPropertyWithNapiWrapperValue(const CallbackInfo& info) {
|
|
15
|
+
Object obj = info[0].As<Object>();
|
|
16
|
+
Name key = info[1].As<Name>();
|
|
17
|
+
return Boolean::New(info.Env(),
|
|
18
|
+
MaybeUnwrapOr(obj.HasOwnProperty(key), false));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
Value HasOwnPropertyWithCStyleString(const CallbackInfo& info) {
|
|
22
|
+
Object obj = info[0].As<Object>();
|
|
23
|
+
String jsKey = info[1].As<String>();
|
|
24
|
+
return Boolean::New(
|
|
25
|
+
info.Env(),
|
|
26
|
+
MaybeUnwrapOr(obj.HasOwnProperty(jsKey.Utf8Value().c_str()), false));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
Value HasOwnPropertyWithCppStyleString(const CallbackInfo& info) {
|
|
30
|
+
Object obj = info[0].As<Object>();
|
|
31
|
+
String jsKey = info[1].As<String>();
|
|
32
|
+
return Boolean::New(
|
|
33
|
+
info.Env(), MaybeUnwrapOr(obj.HasOwnProperty(jsKey.Utf8Value()), false));
|
|
34
|
+
}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const assert = require('assert');
|
|
4
|
-
|
|
5
|
-
module.exports = require('../common').runTest(test);
|
|
6
|
-
|
|
7
|
-
function test(binding) {
|
|
8
|
-
function testHasOwnProperty(nativeHasOwnProperty) {
|
|
9
|
-
const obj = { one: 1 };
|
|
10
|
-
|
|
11
|
-
Object.defineProperty(obj, 'two', { value: 2 });
|
|
12
|
-
|
|
13
|
-
assert.strictEqual(nativeHasOwnProperty(obj, 'one'), true);
|
|
14
|
-
assert.strictEqual(nativeHasOwnProperty(obj, 'two'), true);
|
|
15
|
-
assert.strictEqual('toString' in obj, true);
|
|
16
|
-
assert.strictEqual(nativeHasOwnProperty(obj, 'toString'), false);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function testShouldThrowErrorIfKeyIsInvalid(nativeHasOwnProperty) {
|
|
20
|
-
assert.throws(() => {
|
|
21
|
-
nativeHasOwnProperty(undefined, 'test');
|
|
22
|
-
}, /Cannot convert undefined or null to object/);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
testHasOwnProperty(binding.object.hasOwnPropertyWithNapiValue);
|
|
26
|
-
testHasOwnProperty(binding.object.hasOwnPropertyWithNapiWrapperValue);
|
|
27
|
-
testHasOwnProperty(binding.object.hasOwnPropertyWithCStyleString);
|
|
28
|
-
testHasOwnProperty(binding.object.hasOwnPropertyWithCppStyleString);
|
|
29
|
-
|
|
30
|
-
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasOwnPropertyWithNapiValue);
|
|
31
|
-
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasOwnPropertyWithNapiWrapperValue);
|
|
32
|
-
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasOwnPropertyWithCStyleString);
|
|
33
|
-
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasOwnPropertyWithCppStyleString);
|
|
34
|
-
}
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const assert = require('assert');
|
|
4
|
+
|
|
5
|
+
module.exports = require('../common').runTest(test);
|
|
6
|
+
|
|
7
|
+
function test(binding) {
|
|
8
|
+
function testHasOwnProperty(nativeHasOwnProperty) {
|
|
9
|
+
const obj = { one: 1 };
|
|
10
|
+
|
|
11
|
+
Object.defineProperty(obj, 'two', { value: 2 });
|
|
12
|
+
|
|
13
|
+
assert.strictEqual(nativeHasOwnProperty(obj, 'one'), true);
|
|
14
|
+
assert.strictEqual(nativeHasOwnProperty(obj, 'two'), true);
|
|
15
|
+
assert.strictEqual('toString' in obj, true);
|
|
16
|
+
assert.strictEqual(nativeHasOwnProperty(obj, 'toString'), false);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function testShouldThrowErrorIfKeyIsInvalid(nativeHasOwnProperty) {
|
|
20
|
+
assert.throws(() => {
|
|
21
|
+
nativeHasOwnProperty(undefined, 'test');
|
|
22
|
+
}, /Cannot convert undefined or null to object/);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
testHasOwnProperty(binding.object.hasOwnPropertyWithNapiValue);
|
|
26
|
+
testHasOwnProperty(binding.object.hasOwnPropertyWithNapiWrapperValue);
|
|
27
|
+
testHasOwnProperty(binding.object.hasOwnPropertyWithCStyleString);
|
|
28
|
+
testHasOwnProperty(binding.object.hasOwnPropertyWithCppStyleString);
|
|
29
|
+
|
|
30
|
+
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasOwnPropertyWithNapiValue);
|
|
31
|
+
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasOwnPropertyWithNapiWrapperValue);
|
|
32
|
+
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasOwnPropertyWithCStyleString);
|
|
33
|
+
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasOwnPropertyWithCppStyleString);
|
|
34
|
+
}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
#include "napi.h"
|
|
2
|
-
#include "test_helper.h"
|
|
3
|
-
|
|
4
|
-
using namespace Napi;
|
|
5
|
-
|
|
6
|
-
Value HasPropertyWithNapiValue(const CallbackInfo& info) {
|
|
7
|
-
Object obj = info[0].As<Object>();
|
|
8
|
-
Name key = info[1].As<Name>();
|
|
9
|
-
return Boolean::New(
|
|
10
|
-
info.Env(), MaybeUnwrapOr(obj.Has(static_cast<napi_value>(key)), false));
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
Value HasPropertyWithNapiWrapperValue(const CallbackInfo& info) {
|
|
14
|
-
Object obj = info[0].As<Object>();
|
|
15
|
-
Name key = info[1].As<Name>();
|
|
16
|
-
return Boolean::New(info.Env(), MaybeUnwrapOr(obj.Has(key), false));
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
Value HasPropertyWithCStyleString(const CallbackInfo& info) {
|
|
20
|
-
Object obj = info[0].As<Object>();
|
|
21
|
-
String jsKey = info[1].As<String>();
|
|
22
|
-
return Boolean::New(info.Env(),
|
|
23
|
-
MaybeUnwrapOr(obj.Has(jsKey.Utf8Value().c_str()), false));
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
Value HasPropertyWithUint32(const CallbackInfo& info) {
|
|
27
|
-
Object obj = info[0].As<Object>();
|
|
28
|
-
Number jsKey = info[1].As<Number>();
|
|
29
|
-
return Boolean::New(info.Env(),
|
|
30
|
-
MaybeUnwrapOr(obj.Has(jsKey.Uint32Value()), false));
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
Value HasPropertyWithCppStyleString(const CallbackInfo& info) {
|
|
34
|
-
Object obj = info[0].As<Object>();
|
|
35
|
-
String jsKey = info[1].As<String>();
|
|
36
|
-
return Boolean::New(info.Env(),
|
|
37
|
-
MaybeUnwrapOr(obj.Has(jsKey.Utf8Value()), false));
|
|
38
|
-
}
|
|
1
|
+
#include "napi.h"
|
|
2
|
+
#include "test_helper.h"
|
|
3
|
+
|
|
4
|
+
using namespace Napi;
|
|
5
|
+
|
|
6
|
+
Value HasPropertyWithNapiValue(const CallbackInfo& info) {
|
|
7
|
+
Object obj = info[0].As<Object>();
|
|
8
|
+
Name key = info[1].As<Name>();
|
|
9
|
+
return Boolean::New(
|
|
10
|
+
info.Env(), MaybeUnwrapOr(obj.Has(static_cast<napi_value>(key)), false));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
Value HasPropertyWithNapiWrapperValue(const CallbackInfo& info) {
|
|
14
|
+
Object obj = info[0].As<Object>();
|
|
15
|
+
Name key = info[1].As<Name>();
|
|
16
|
+
return Boolean::New(info.Env(), MaybeUnwrapOr(obj.Has(key), false));
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
Value HasPropertyWithCStyleString(const CallbackInfo& info) {
|
|
20
|
+
Object obj = info[0].As<Object>();
|
|
21
|
+
String jsKey = info[1].As<String>();
|
|
22
|
+
return Boolean::New(info.Env(),
|
|
23
|
+
MaybeUnwrapOr(obj.Has(jsKey.Utf8Value().c_str()), false));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
Value HasPropertyWithUint32(const CallbackInfo& info) {
|
|
27
|
+
Object obj = info[0].As<Object>();
|
|
28
|
+
Number jsKey = info[1].As<Number>();
|
|
29
|
+
return Boolean::New(info.Env(),
|
|
30
|
+
MaybeUnwrapOr(obj.Has(jsKey.Uint32Value()), false));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
Value HasPropertyWithCppStyleString(const CallbackInfo& info) {
|
|
34
|
+
Object obj = info[0].As<Object>();
|
|
35
|
+
String jsKey = info[1].As<String>();
|
|
36
|
+
return Boolean::New(info.Env(),
|
|
37
|
+
MaybeUnwrapOr(obj.Has(jsKey.Utf8Value()), false));
|
|
38
|
+
}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const assert = require('assert');
|
|
4
|
-
|
|
5
|
-
module.exports = require('../common').runTest(test);
|
|
6
|
-
|
|
7
|
-
function test(binding) {
|
|
8
|
-
function testHasProperty(nativeHasProperty) {
|
|
9
|
-
const obj = { one: 1 };
|
|
10
|
-
|
|
11
|
-
Object.defineProperty(obj, 'two', { value: 2 });
|
|
12
|
-
|
|
13
|
-
assert.strictEqual(nativeHasProperty(obj, 'one'), true);
|
|
14
|
-
assert.strictEqual(nativeHasProperty(obj, 'two'), true);
|
|
15
|
-
assert.strictEqual('toString' in obj, true);
|
|
16
|
-
assert.strictEqual(nativeHasProperty(obj, 'toString'), true);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function testShouldThrowErrorIfKeyIsInvalid(nativeHasProperty) {
|
|
20
|
-
assert.throws(() => {
|
|
21
|
-
nativeHasProperty(undefined, 'test');
|
|
22
|
-
}, /Cannot convert undefined or null to object/);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const objectWithInt32Key = { 12: 101 };
|
|
26
|
-
assert.strictEqual(binding.object.hasPropertyWithUint32(objectWithInt32Key,12),true);
|
|
27
|
-
|
|
28
|
-
testHasProperty(binding.object.hasPropertyWithNapiValue);
|
|
29
|
-
testHasProperty(binding.object.hasPropertyWithNapiWrapperValue);
|
|
30
|
-
testHasProperty(binding.object.hasPropertyWithCStyleString);
|
|
31
|
-
testHasProperty(binding.object.hasPropertyWithCppStyleString);
|
|
32
|
-
|
|
33
|
-
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasPropertyWithNapiValue);
|
|
34
|
-
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasPropertyWithNapiWrapperValue);
|
|
35
|
-
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasPropertyWithCStyleString);
|
|
36
|
-
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasPropertyWithCppStyleString);
|
|
37
|
-
}
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const assert = require('assert');
|
|
4
|
+
|
|
5
|
+
module.exports = require('../common').runTest(test);
|
|
6
|
+
|
|
7
|
+
function test(binding) {
|
|
8
|
+
function testHasProperty(nativeHasProperty) {
|
|
9
|
+
const obj = { one: 1 };
|
|
10
|
+
|
|
11
|
+
Object.defineProperty(obj, 'two', { value: 2 });
|
|
12
|
+
|
|
13
|
+
assert.strictEqual(nativeHasProperty(obj, 'one'), true);
|
|
14
|
+
assert.strictEqual(nativeHasProperty(obj, 'two'), true);
|
|
15
|
+
assert.strictEqual('toString' in obj, true);
|
|
16
|
+
assert.strictEqual(nativeHasProperty(obj, 'toString'), true);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function testShouldThrowErrorIfKeyIsInvalid(nativeHasProperty) {
|
|
20
|
+
assert.throws(() => {
|
|
21
|
+
nativeHasProperty(undefined, 'test');
|
|
22
|
+
}, /Cannot convert undefined or null to object/);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const objectWithInt32Key = { 12: 101 };
|
|
26
|
+
assert.strictEqual(binding.object.hasPropertyWithUint32(objectWithInt32Key,12),true);
|
|
27
|
+
|
|
28
|
+
testHasProperty(binding.object.hasPropertyWithNapiValue);
|
|
29
|
+
testHasProperty(binding.object.hasPropertyWithNapiWrapperValue);
|
|
30
|
+
testHasProperty(binding.object.hasPropertyWithCStyleString);
|
|
31
|
+
testHasProperty(binding.object.hasPropertyWithCppStyleString);
|
|
32
|
+
|
|
33
|
+
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasPropertyWithNapiValue);
|
|
34
|
+
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasPropertyWithNapiWrapperValue);
|
|
35
|
+
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasPropertyWithCStyleString);
|
|
36
|
+
testShouldThrowErrorIfKeyIsInvalid(binding.object.hasPropertyWithCppStyleString);
|
|
37
|
+
}
|