koffi 0.9.3 → 0.9.6

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 (330) hide show
  1. package/CMakeLists.txt +63 -60
  2. package/README.md +162 -153
  3. package/package.json +19 -18
  4. package/src/call.hh +27 -27
  5. package/src/call_arm32.cc +514 -0
  6. package/src/call_arm32_fwd.S +108 -0
  7. package/src/call_arm64.cc +497 -482
  8. package/src/call_arm64_fwd.S +110 -115
  9. package/src/call_x64_sysv.cc +477 -477
  10. package/src/call_x64_sysv_fwd.S +131 -131
  11. package/src/call_x64_win.cc +243 -243
  12. package/src/call_x64_win_fwd.asm +105 -105
  13. package/src/call_x86.cc +259 -259
  14. package/src/call_x86_fwd.S +48 -48
  15. package/src/call_x86_fwd.asm +50 -50
  16. package/src/ffi.cc +504 -504
  17. package/src/ffi.hh +136 -135
  18. package/src/util.cc +297 -296
  19. package/src/util.hh +80 -80
  20. package/vendor/dragonbox/CMakeLists.txt +122 -122
  21. package/vendor/dragonbox/LICENSE-Apache2-LLVM +218 -218
  22. package/vendor/dragonbox/LICENSE-Boost +23 -23
  23. package/vendor/dragonbox/README.md +277 -277
  24. package/vendor/dragonbox/cmake/dragonboxConfig.cmake +1 -1
  25. package/vendor/dragonbox/include/dragonbox/dragonbox.h +2674 -2670
  26. package/vendor/dragonbox/include/dragonbox/dragonbox_to_chars.h +108 -108
  27. package/vendor/dragonbox/other_files/Dragonbox.pdf +0 -0
  28. package/vendor/dragonbox/other_files/unknown_win64_vc2019.html +539 -539
  29. package/vendor/dragonbox/source/dragonbox_to_chars.cpp +303 -303
  30. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/CMakeLists.txt +23 -23
  31. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/fp_to_chars.cpp +238 -238
  32. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/fp_to_chars.h +95 -95
  33. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/grisu_exact.h +2666 -2666
  34. package/vendor/dragonbox/subproject/3rdparty/ryu/CMakeLists.txt +16 -16
  35. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/common.h +114 -114
  36. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s.c +509 -509
  37. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s_full_table.h +367 -367
  38. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s_intrinsics.h +357 -357
  39. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/digit_table.h +35 -35
  40. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s.c +345 -345
  41. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s_full_table.h +55 -55
  42. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s_intrinsics.h +128 -128
  43. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/ryu.h +46 -46
  44. package/vendor/dragonbox/subproject/3rdparty/schubfach/CMakeLists.txt +21 -21
  45. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_32.cc +699 -699
  46. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_32.h +31 -31
  47. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_64.cc +1354 -1354
  48. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_64.h +31 -31
  49. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/example_shaded_plots.m +68 -68
  50. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/license.txt +25 -25
  51. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_distribution.m +92 -92
  52. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_distribution_prctile.m +121 -121
  53. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_histogram_shaded.m +99 -99
  54. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_shaded.m +93 -93
  55. package/vendor/dragonbox/subproject/benchmark/CMakeLists.txt +64 -64
  56. package/vendor/dragonbox/subproject/benchmark/include/benchmark.h +40 -40
  57. package/vendor/dragonbox/subproject/benchmark/matlab/plot_benchmarks.m +21 -21
  58. package/vendor/dragonbox/subproject/benchmark/matlab/plot_digit_benchmark.m +78 -78
  59. package/vendor/dragonbox/subproject/benchmark/matlab/plot_uniform_benchmark.m +95 -95
  60. package/vendor/dragonbox/subproject/benchmark/source/benchmark.cpp +237 -237
  61. package/vendor/dragonbox/subproject/benchmark/source/dragonbox.cpp +30 -30
  62. package/vendor/dragonbox/subproject/benchmark/source/grisu_exact.cpp +36 -36
  63. package/vendor/dragonbox/subproject/benchmark/source/ryu.cpp +27 -27
  64. package/vendor/dragonbox/subproject/benchmark/source/schubfach.cpp +31 -31
  65. package/vendor/dragonbox/subproject/common/CMakeLists.txt +41 -41
  66. package/vendor/dragonbox/subproject/common/include/best_rational_approx.h +96 -96
  67. package/vendor/dragonbox/subproject/common/include/big_uint.h +217 -217
  68. package/vendor/dragonbox/subproject/common/include/continued_fractions.h +173 -173
  69. package/vendor/dragonbox/subproject/common/include/good_rational_approx.h +266 -266
  70. package/vendor/dragonbox/subproject/common/include/random_float.h +182 -182
  71. package/vendor/dragonbox/subproject/common/include/rational_continued_fractions.h +56 -56
  72. package/vendor/dragonbox/subproject/common/source/big_uint.cpp +601 -601
  73. package/vendor/dragonbox/subproject/meta/CMakeLists.txt +40 -40
  74. package/vendor/dragonbox/subproject/meta/results/binary32_generated_cache.txt +81 -81
  75. package/vendor/dragonbox/subproject/meta/results/binary64_compressed_cache_error_table.txt +9 -9
  76. package/vendor/dragonbox/subproject/meta/results/binary64_generated_cache.txt +622 -622
  77. package/vendor/dragonbox/subproject/meta/source/generate_cache.cpp +126 -126
  78. package/vendor/dragonbox/subproject/meta/source/live_test.cpp +81 -81
  79. package/vendor/dragonbox/subproject/meta/source/perf_test.cpp +104 -104
  80. package/vendor/dragonbox/subproject/meta/source/sandbox.cpp +20 -20
  81. package/vendor/dragonbox/subproject/test/CMakeLists.txt +69 -69
  82. package/vendor/dragonbox/subproject/test/results/binary32.csv +255 -255
  83. package/vendor/dragonbox/subproject/test/results/binary64.csv +2047 -2047
  84. package/vendor/dragonbox/subproject/test/results/plot_required_bits.m +17 -17
  85. package/vendor/dragonbox/subproject/test/source/test_all_shorter_interval_cases.cpp +88 -88
  86. package/vendor/dragonbox/subproject/test/source/uniform_random_test.cpp +95 -95
  87. package/vendor/dragonbox/subproject/test/source/verify_cache_precision.cpp +337 -337
  88. package/vendor/dragonbox/subproject/test/source/verify_compressed_cache.cpp +154 -154
  89. package/vendor/dragonbox/subproject/test/source/verify_fast_multiplication.cpp +168 -168
  90. package/vendor/dragonbox/subproject/test/source/verify_log_computation.cpp +251 -251
  91. package/vendor/dragonbox/subproject/test/source/verify_magic_division.cpp +113 -113
  92. package/vendor/libcc/libcc.cc +7651 -7651
  93. package/vendor/libcc/libcc.hh +4312 -4312
  94. package/vendor/node-addon-api/CHANGELOG.md +859 -859
  95. package/vendor/node-addon-api/CODE_OF_CONDUCT.md +4 -4
  96. package/vendor/node-addon-api/CONTRIBUTING.md +93 -93
  97. package/vendor/node-addon-api/LICENSE.md +12 -12
  98. package/vendor/node-addon-api/README.md +293 -293
  99. package/vendor/node-addon-api/appveyor.yml +37 -37
  100. package/vendor/node-addon-api/benchmark/README.md +47 -47
  101. package/vendor/node-addon-api/benchmark/binding.gyp +25 -25
  102. package/vendor/node-addon-api/benchmark/function_args.cc +217 -217
  103. package/vendor/node-addon-api/benchmark/function_args.js +60 -60
  104. package/vendor/node-addon-api/benchmark/index.js +34 -34
  105. package/vendor/node-addon-api/benchmark/property_descriptor.cc +91 -91
  106. package/vendor/node-addon-api/benchmark/property_descriptor.js +37 -37
  107. package/vendor/node-addon-api/common.gypi +21 -21
  108. package/vendor/node-addon-api/doc/addon.md +163 -163
  109. package/vendor/node-addon-api/doc/array.md +81 -81
  110. package/vendor/node-addon-api/doc/array_buffer.md +155 -155
  111. package/vendor/node-addon-api/doc/async_context.md +86 -86
  112. package/vendor/node-addon-api/doc/async_operations.md +31 -31
  113. package/vendor/node-addon-api/doc/async_worker.md +427 -427
  114. package/vendor/node-addon-api/doc/async_worker_variants.md +557 -557
  115. package/vendor/node-addon-api/doc/bigint.md +97 -97
  116. package/vendor/node-addon-api/doc/boolean.md +68 -68
  117. package/vendor/node-addon-api/doc/buffer.md +150 -150
  118. package/vendor/node-addon-api/doc/callback_scope.md +54 -54
  119. package/vendor/node-addon-api/doc/callbackinfo.md +97 -97
  120. package/vendor/node-addon-api/doc/checker-tool.md +32 -32
  121. package/vendor/node-addon-api/doc/class_property_descriptor.md +115 -115
  122. package/vendor/node-addon-api/doc/cmake-js.md +68 -68
  123. package/vendor/node-addon-api/doc/conversion-tool.md +27 -27
  124. package/vendor/node-addon-api/doc/creating_a_release.md +62 -62
  125. package/vendor/node-addon-api/doc/dataview.md +248 -248
  126. package/vendor/node-addon-api/doc/date.md +68 -68
  127. package/vendor/node-addon-api/doc/env.md +196 -196
  128. package/vendor/node-addon-api/doc/error.md +120 -120
  129. package/vendor/node-addon-api/doc/error_handling.md +254 -254
  130. package/vendor/node-addon-api/doc/escapable_handle_scope.md +80 -80
  131. package/vendor/node-addon-api/doc/external.md +63 -63
  132. package/vendor/node-addon-api/doc/function.md +402 -402
  133. package/vendor/node-addon-api/doc/function_reference.md +238 -238
  134. package/vendor/node-addon-api/doc/generator.md +13 -13
  135. package/vendor/node-addon-api/doc/handle_scope.md +63 -63
  136. package/vendor/node-addon-api/doc/hierarchy.md +91 -91
  137. package/vendor/node-addon-api/doc/instance_wrap.md +408 -408
  138. package/vendor/node-addon-api/doc/maybe.md +76 -76
  139. package/vendor/node-addon-api/doc/memory_management.md +27 -27
  140. package/vendor/node-addon-api/doc/name.md +29 -29
  141. package/vendor/node-addon-api/doc/node-gyp.md +82 -82
  142. package/vendor/node-addon-api/doc/number.md +163 -163
  143. package/vendor/node-addon-api/doc/object.md +432 -432
  144. package/vendor/node-addon-api/doc/object_lifetime_management.md +83 -83
  145. package/vendor/node-addon-api/doc/object_reference.md +117 -117
  146. package/vendor/node-addon-api/doc/object_wrap.md +561 -561
  147. package/vendor/node-addon-api/doc/prebuild_tools.md +16 -16
  148. package/vendor/node-addon-api/doc/promises.md +79 -79
  149. package/vendor/node-addon-api/doc/property_descriptor.md +286 -286
  150. package/vendor/node-addon-api/doc/propertylvalue.md +50 -50
  151. package/vendor/node-addon-api/doc/range_error.md +59 -59
  152. package/vendor/node-addon-api/doc/reference.md +113 -113
  153. package/vendor/node-addon-api/doc/setup.md +110 -110
  154. package/vendor/node-addon-api/doc/string.md +93 -93
  155. package/vendor/node-addon-api/doc/symbol.md +60 -60
  156. package/vendor/node-addon-api/doc/threadsafe.md +121 -121
  157. package/vendor/node-addon-api/doc/threadsafe_function.md +290 -290
  158. package/vendor/node-addon-api/doc/type_error.md +59 -59
  159. package/vendor/node-addon-api/doc/typed_array.md +78 -78
  160. package/vendor/node-addon-api/doc/typed_array_of.md +137 -137
  161. package/vendor/node-addon-api/doc/typed_threadsafe_function.md +306 -306
  162. package/vendor/node-addon-api/doc/value.md +340 -340
  163. package/vendor/node-addon-api/doc/version_management.md +43 -43
  164. package/vendor/node-addon-api/except.gypi +25 -25
  165. package/vendor/node-addon-api/index.js +11 -11
  166. package/vendor/node-addon-api/napi-inl.deprecated.h +192 -192
  167. package/vendor/node-addon-api/napi-inl.h +6209 -6209
  168. package/vendor/node-addon-api/napi.h +2983 -2983
  169. package/vendor/node-addon-api/node_api.gyp +9 -9
  170. package/vendor/node-addon-api/noexcept.gypi +26 -26
  171. package/vendor/node-addon-api/package-support.json +21 -21
  172. package/vendor/node-addon-api/package.json +399 -399
  173. package/vendor/node-addon-api/test/README.md +91 -91
  174. package/vendor/node-addon-api/test/addon.cc +36 -36
  175. package/vendor/node-addon-api/test/addon.js +11 -11
  176. package/vendor/node-addon-api/test/addon_build/index.js +49 -49
  177. package/vendor/node-addon-api/test/addon_build/tpl/addon.cc +17 -17
  178. package/vendor/node-addon-api/test/addon_build/tpl/binding.gyp +62 -62
  179. package/vendor/node-addon-api/test/addon_build/tpl/index.js +9 -9
  180. package/vendor/node-addon-api/test/addon_build/tpl/package.json +11 -11
  181. package/vendor/node-addon-api/test/addon_data.cc +99 -99
  182. package/vendor/node-addon-api/test/addon_data.js +46 -46
  183. package/vendor/node-addon-api/test/array_buffer.cc +243 -243
  184. package/vendor/node-addon-api/test/array_buffer.js +69 -69
  185. package/vendor/node-addon-api/test/async_context.cc +21 -21
  186. package/vendor/node-addon-api/test/async_context.js +86 -86
  187. package/vendor/node-addon-api/test/async_progress_queue_worker.cc +83 -83
  188. package/vendor/node-addon-api/test/async_progress_queue_worker.js +46 -46
  189. package/vendor/node-addon-api/test/async_progress_worker.cc +134 -134
  190. package/vendor/node-addon-api/test/async_progress_worker.js +61 -61
  191. package/vendor/node-addon-api/test/async_worker.cc +106 -106
  192. package/vendor/node-addon-api/test/async_worker.js +179 -179
  193. package/vendor/node-addon-api/test/async_worker_nocallback.js +13 -13
  194. package/vendor/node-addon-api/test/async_worker_persistent.cc +63 -63
  195. package/vendor/node-addon-api/test/async_worker_persistent.js +24 -24
  196. package/vendor/node-addon-api/test/basic_types/array.cc +40 -40
  197. package/vendor/node-addon-api/test/basic_types/array.js +35 -35
  198. package/vendor/node-addon-api/test/basic_types/boolean.cc +38 -38
  199. package/vendor/node-addon-api/test/basic_types/boolean.js +35 -35
  200. package/vendor/node-addon-api/test/basic_types/number.cc +99 -99
  201. package/vendor/node-addon-api/test/basic_types/number.js +114 -114
  202. package/vendor/node-addon-api/test/basic_types/value.cc +120 -120
  203. package/vendor/node-addon-api/test/basic_types/value.js +133 -133
  204. package/vendor/node-addon-api/test/bigint.cc +91 -91
  205. package/vendor/node-addon-api/test/bigint.js +53 -53
  206. package/vendor/node-addon-api/test/binding-swallowexcept.cc +12 -12
  207. package/vendor/node-addon-api/test/binding.cc +171 -171
  208. package/vendor/node-addon-api/test/binding.gyp +117 -117
  209. package/vendor/node-addon-api/test/buffer.cc +183 -183
  210. package/vendor/node-addon-api/test/buffer.js +69 -69
  211. package/vendor/node-addon-api/test/callbackscope.cc +22 -22
  212. package/vendor/node-addon-api/test/callbackscope.js +49 -49
  213. package/vendor/node-addon-api/test/common/index.js +113 -113
  214. package/vendor/node-addon-api/test/common/test_helper.h +61 -61
  215. package/vendor/node-addon-api/test/dataview/dataview.cc +48 -48
  216. package/vendor/node-addon-api/test/dataview/dataview.js +35 -35
  217. package/vendor/node-addon-api/test/dataview/dataview_read_write.cc +115 -115
  218. package/vendor/node-addon-api/test/dataview/dataview_read_write.js +90 -90
  219. package/vendor/node-addon-api/test/date.cc +44 -44
  220. package/vendor/node-addon-api/test/date.js +18 -18
  221. package/vendor/node-addon-api/test/env_cleanup.cc +88 -88
  222. package/vendor/node-addon-api/test/env_cleanup.js +56 -56
  223. package/vendor/node-addon-api/test/error.cc +287 -287
  224. package/vendor/node-addon-api/test/error.js +81 -81
  225. package/vendor/node-addon-api/test/error_handling_for_primitives.cc +13 -13
  226. package/vendor/node-addon-api/test/error_handling_for_primitives.js +29 -29
  227. package/vendor/node-addon-api/test/error_terminating_environment.js +94 -94
  228. package/vendor/node-addon-api/test/external.cc +81 -81
  229. package/vendor/node-addon-api/test/external.js +88 -88
  230. package/vendor/node-addon-api/test/function.cc +295 -295
  231. package/vendor/node-addon-api/test/function.js +121 -121
  232. package/vendor/node-addon-api/test/function_reference.cc +202 -202
  233. package/vendor/node-addon-api/test/function_reference.js +157 -157
  234. package/vendor/node-addon-api/test/globalObject/global_object.cc +61 -61
  235. package/vendor/node-addon-api/test/globalObject/global_object_delete_property.cc +31 -31
  236. package/vendor/node-addon-api/test/globalObject/global_object_delete_property.js +61 -61
  237. package/vendor/node-addon-api/test/globalObject/global_object_get_property.cc +40 -40
  238. package/vendor/node-addon-api/test/globalObject/global_object_get_property.js +57 -57
  239. package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.cc +28 -28
  240. package/vendor/node-addon-api/test/globalObject/global_object_has_own_property.js +48 -48
  241. package/vendor/node-addon-api/test/globalObject/global_object_set_property.cc +30 -30
  242. package/vendor/node-addon-api/test/globalObject/global_object_set_property.js +58 -58
  243. package/vendor/node-addon-api/test/handlescope.cc +60 -60
  244. package/vendor/node-addon-api/test/handlescope.js +14 -14
  245. package/vendor/node-addon-api/test/index.js +136 -136
  246. package/vendor/node-addon-api/test/maybe/check.cc +23 -23
  247. package/vendor/node-addon-api/test/maybe/index.js +38 -38
  248. package/vendor/node-addon-api/test/memory_management.cc +17 -17
  249. package/vendor/node-addon-api/test/memory_management.js +9 -9
  250. package/vendor/node-addon-api/test/movable_callbacks.cc +23 -23
  251. package/vendor/node-addon-api/test/movable_callbacks.js +21 -21
  252. package/vendor/node-addon-api/test/name.cc +108 -108
  253. package/vendor/node-addon-api/test/name.js +59 -59
  254. package/vendor/node-addon-api/test/napi_child.js +14 -14
  255. package/vendor/node-addon-api/test/object/delete_property.cc +38 -38
  256. package/vendor/node-addon-api/test/object/delete_property.js +41 -41
  257. package/vendor/node-addon-api/test/object/finalizer.cc +29 -29
  258. package/vendor/node-addon-api/test/object/finalizer.js +28 -28
  259. package/vendor/node-addon-api/test/object/get_property.cc +34 -34
  260. package/vendor/node-addon-api/test/object/get_property.js +40 -40
  261. package/vendor/node-addon-api/test/object/has_own_property.cc +34 -34
  262. package/vendor/node-addon-api/test/object/has_own_property.js +34 -34
  263. package/vendor/node-addon-api/test/object/has_property.cc +38 -38
  264. package/vendor/node-addon-api/test/object/has_property.js +37 -37
  265. package/vendor/node-addon-api/test/object/object.cc +348 -348
  266. package/vendor/node-addon-api/test/object/object.js +217 -217
  267. package/vendor/node-addon-api/test/object/object_deprecated.cc +66 -66
  268. package/vendor/node-addon-api/test/object/object_deprecated.js +47 -47
  269. package/vendor/node-addon-api/test/object/object_freeze_seal.cc +25 -25
  270. package/vendor/node-addon-api/test/object/object_freeze_seal.js +61 -61
  271. package/vendor/node-addon-api/test/object/set_property.cc +37 -37
  272. package/vendor/node-addon-api/test/object/set_property.js +29 -29
  273. package/vendor/node-addon-api/test/object/subscript_operator.cc +42 -42
  274. package/vendor/node-addon-api/test/object/subscript_operator.js +17 -17
  275. package/vendor/node-addon-api/test/object_reference.cc +219 -219
  276. package/vendor/node-addon-api/test/object_reference.js +259 -259
  277. package/vendor/node-addon-api/test/objectwrap.cc +268 -268
  278. package/vendor/node-addon-api/test/objectwrap.js +284 -284
  279. package/vendor/node-addon-api/test/objectwrap_constructor_exception.cc +26 -26
  280. package/vendor/node-addon-api/test/objectwrap_constructor_exception.js +18 -18
  281. package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.cc +30 -30
  282. package/vendor/node-addon-api/test/objectwrap_multiple_inheritance.js +13 -13
  283. package/vendor/node-addon-api/test/objectwrap_removewrap.cc +45 -45
  284. package/vendor/node-addon-api/test/objectwrap_removewrap.js +40 -40
  285. package/vendor/node-addon-api/test/objectwrap_worker_thread.js +19 -19
  286. package/vendor/node-addon-api/test/promise.cc +29 -29
  287. package/vendor/node-addon-api/test/promise.js +18 -18
  288. package/vendor/node-addon-api/test/reference.cc +24 -24
  289. package/vendor/node-addon-api/test/reference.js +14 -14
  290. package/vendor/node-addon-api/test/run_script.cc +56 -56
  291. package/vendor/node-addon-api/test/run_script.js +45 -45
  292. package/vendor/node-addon-api/test/symbol.cc +79 -79
  293. package/vendor/node-addon-api/test/symbol.js +73 -73
  294. package/vendor/node-addon-api/test/testUtil.js +54 -54
  295. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.cc +195 -195
  296. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function.js +188 -188
  297. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.cc +63 -63
  298. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ctx.js +12 -12
  299. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.cc +115 -115
  300. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_existing_tsfn.js +14 -14
  301. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.cc +26 -26
  302. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_ptr.js +7 -7
  303. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.cc +225 -225
  304. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_sum.js +59 -59
  305. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.cc +42 -42
  306. package/vendor/node-addon-api/test/threadsafe_function/threadsafe_function_unref.js +53 -53
  307. package/vendor/node-addon-api/test/thunking_manual.cc +140 -140
  308. package/vendor/node-addon-api/test/thunking_manual.js +17 -17
  309. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.cc +215 -215
  310. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function.js +188 -188
  311. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.cc +68 -68
  312. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ctx.js +12 -12
  313. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.cc +127 -127
  314. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_existing_tsfn.js +14 -14
  315. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.cc +28 -28
  316. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_ptr.js +7 -7
  317. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.cc +237 -237
  318. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_sum.js +59 -59
  319. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.cc +53 -53
  320. package/vendor/node-addon-api/test/typed_threadsafe_function/typed_threadsafe_function_unref.js +53 -53
  321. package/vendor/node-addon-api/test/typedarray-bigint.js +58 -58
  322. package/vendor/node-addon-api/test/typedarray.cc +216 -216
  323. package/vendor/node-addon-api/test/typedarray.js +69 -69
  324. package/vendor/node-addon-api/test/version_management.cc +27 -27
  325. package/vendor/node-addon-api/test/version_management.js +31 -31
  326. package/vendor/node-addon-api/tools/README.md +73 -73
  327. package/vendor/node-addon-api/tools/check-napi.js +100 -100
  328. package/vendor/node-addon-api/tools/clang-format.js +68 -68
  329. package/vendor/node-addon-api/tools/conversion.js +309 -309
  330. package/vendor/node-addon-api/tools/eslint-format.js +71 -71
@@ -1,196 +1,196 @@
1
- # Env
2
-
3
- The opaque data structure containing the environment in which the request is being run.
4
-
5
- The Env object is usually created and passed by the Node.js runtime or node-addon-api infrastructure.
6
-
7
- ## Methods
8
-
9
- ### Constructor
10
-
11
- ```cpp
12
- Napi::Env::Env(napi_env env);
13
- ```
14
-
15
- - `[in] env`: The `napi_env` environment from which to construct the `Napi::Env` object.
16
-
17
- ### napi_env
18
-
19
- ```cpp
20
- operator napi_env() const;
21
- ```
22
-
23
- Returns the `napi_env` opaque data structure representing the environment.
24
-
25
- ### Global
26
-
27
- ```cpp
28
- Napi::Object Napi::Env::Global() const;
29
- ```
30
-
31
- Returns the `Napi::Object` representing the environment's JavaScript Global Object.
32
-
33
- ### Undefined
34
-
35
- ```cpp
36
- Napi::Value Napi::Env::Undefined() const;
37
- ```
38
-
39
- Returns the `Napi::Value` representing the environment's JavaScript Undefined Object.
40
-
41
- ### Null
42
-
43
- ```cpp
44
- Napi::Value Napi::Env::Null() const;
45
- ```
46
-
47
- Returns the `Napi::Value` representing the environment's JavaScript Null Object.
48
-
49
- ### IsExceptionPending
50
-
51
- ```cpp
52
- bool Napi::Env::IsExceptionPending() const;
53
- ```
54
-
55
- Returns a `bool` indicating if an exception is pending in the environment.
56
-
57
- ### GetAndClearPendingException
58
-
59
- ```cpp
60
- Napi::Error Napi::Env::GetAndClearPendingException();
61
- ```
62
-
63
- Returns an `Napi::Error` object representing the environment's pending exception, if any.
64
-
65
- ### RunScript
66
-
67
- ```cpp
68
- Napi::Value Napi::Env::RunScript(____ script);
69
- ```
70
- - `[in] script`: A string containing JavaScript code to execute.
71
-
72
- Runs JavaScript code contained in a string and returns its result.
73
-
74
- The `script` can be any of the following types:
75
- - [`Napi::String`](string.md)
76
- - `const char *`
77
- - `const std::string &`
78
-
79
- ### GetInstanceData
80
- ```cpp
81
- template <typename T> T* GetInstanceData();
82
- ```
83
-
84
- Returns the instance data that was previously associated with the environment,
85
- or `nullptr` if none was associated.
86
-
87
- ### SetInstanceData
88
-
89
- ```cpp
90
- template <typename T> using Finalizer = void (*)(Env, T*);
91
- template <typename T, Finalizer<T> fini = Env::DefaultFini<T>>
92
- void SetInstanceData(T* data);
93
- ```
94
-
95
- - `[template] fini`: A function to call when the instance data is to be deleted.
96
- Accepts a function of the form `void CleanupData(Napi::Env env, T* data)`. If
97
- not given, the default finalizer will be used, which simply uses the `delete`
98
- operator to destroy `T*` when the addon instance is unloaded.
99
- - `[in] data`: A pointer to data that will be associated with the instance of
100
- the addon for the duration of its lifecycle.
101
-
102
- Associates a data item stored at `T* data` with the current instance of the
103
- addon. The item will be passed to the function `fini` which gets called when an
104
- instance of the addon is unloaded.
105
-
106
- ### SetInstanceData
107
-
108
- ```cpp
109
- template <typename DataType, typename HintType>
110
- using FinalizerWithHint = void (*)(Env, DataType*, HintType*);
111
- template <typename DataType,
112
- typename HintType,
113
- FinalizerWithHint<DataType, HintType> fini =
114
- Env::DefaultFiniWithHint<DataType, HintType>>
115
- void SetInstanceData(DataType* data, HintType* hint);
116
- ```
117
-
118
- - `[template] fini`: A function to call when the instance data is to be deleted.
119
- Accepts a function of the form
120
- `void CleanupData(Napi::Env env, DataType* data, HintType* hint)`. If not given,
121
- the default finalizer will be used, which simply uses the `delete` operator to
122
- destroy `T*` when the addon instance is unloaded.
123
- - `[in] data`: A pointer to data that will be associated with the instance of
124
- the addon for the duration of its lifecycle.
125
- - `[in] hint`: A pointer to data that will be associated with the instance of
126
- the addon for the duration of its lifecycle and will be passed as a hint to
127
- `fini` when the addon instance is unloaded.
128
-
129
- Associates a data item stored at `T* data` with the current instance of the
130
- addon. The item will be passed to the function `fini` which gets called when an
131
- instance of the addon is unloaded. This overload accepts an additional hint to
132
- be passed to `fini`.
133
-
134
- ### AddCleanupHook
135
-
136
- ```cpp
137
- template <typename Hook>
138
- CleanupHook<Hook> AddCleanupHook(Hook hook);
139
- ```
140
-
141
- - `[in] hook`: A function to call when the environment exists. Accepts a
142
- function of the form `void ()`.
143
-
144
- Registers `hook` as a function to be run once the current Node.js environment
145
- exits. Unlike the underlying C-based Node-API, providing the same `hook`
146
- multiple times **is** allowed. The hooks will be called in reverse order, i.e.
147
- the most recently added one will be called first.
148
-
149
- Returns an `Env::CleanupHook` object, which can be used to remove the hook via
150
- its `Remove()` method.
151
-
152
- ### AddCleanupHook
153
-
154
- ```cpp
155
- template <typename Hook, typename Arg>
156
- CleanupHook<Hook, Arg> AddCleanupHook(Hook hook, Arg* arg);
157
- ```
158
-
159
- - `[in] hook`: A function to call when the environment exists. Accepts a
160
- function of the form `void (Arg* arg)`.
161
- - `[in] arg`: A pointer to data that will be passed as the argument to `hook`.
162
-
163
- Registers `hook` as a function to be run with the `arg` parameter once the
164
- current Node.js environment exits. Unlike the underlying C-based Node-API,
165
- providing the same `hook` and `arg` pair multiple times **is** allowed. The
166
- hooks will be called in reverse order, i.e. the most recently added one will be
167
- called first.
168
-
169
- Returns an `Env::CleanupHook` object, which can be used to remove the hook via
170
- its `Remove()` method.
171
-
172
- # Env::CleanupHook
173
-
174
- The `Env::CleanupHook` object allows removal of the hook added via
175
- `Env::AddCleanupHook()`
176
-
177
- ## Methods
178
-
179
- ### IsEmpty
180
-
181
- ```cpp
182
- bool IsEmpty();
183
- ```
184
-
185
- Returns `true` if the cleanup hook was **not** successfully registered.
186
-
187
- ### Remove
188
-
189
- ```cpp
190
- bool Remove(Env env);
191
- ```
192
-
193
- Unregisters the hook from running once the current Node.js environment exits.
194
-
195
- Returns `true` if the hook was successfully removed from the Node.js
196
- environment.
1
+ # Env
2
+
3
+ The opaque data structure containing the environment in which the request is being run.
4
+
5
+ The Env object is usually created and passed by the Node.js runtime or node-addon-api infrastructure.
6
+
7
+ ## Methods
8
+
9
+ ### Constructor
10
+
11
+ ```cpp
12
+ Napi::Env::Env(napi_env env);
13
+ ```
14
+
15
+ - `[in] env`: The `napi_env` environment from which to construct the `Napi::Env` object.
16
+
17
+ ### napi_env
18
+
19
+ ```cpp
20
+ operator napi_env() const;
21
+ ```
22
+
23
+ Returns the `napi_env` opaque data structure representing the environment.
24
+
25
+ ### Global
26
+
27
+ ```cpp
28
+ Napi::Object Napi::Env::Global() const;
29
+ ```
30
+
31
+ Returns the `Napi::Object` representing the environment's JavaScript Global Object.
32
+
33
+ ### Undefined
34
+
35
+ ```cpp
36
+ Napi::Value Napi::Env::Undefined() const;
37
+ ```
38
+
39
+ Returns the `Napi::Value` representing the environment's JavaScript Undefined Object.
40
+
41
+ ### Null
42
+
43
+ ```cpp
44
+ Napi::Value Napi::Env::Null() const;
45
+ ```
46
+
47
+ Returns the `Napi::Value` representing the environment's JavaScript Null Object.
48
+
49
+ ### IsExceptionPending
50
+
51
+ ```cpp
52
+ bool Napi::Env::IsExceptionPending() const;
53
+ ```
54
+
55
+ Returns a `bool` indicating if an exception is pending in the environment.
56
+
57
+ ### GetAndClearPendingException
58
+
59
+ ```cpp
60
+ Napi::Error Napi::Env::GetAndClearPendingException();
61
+ ```
62
+
63
+ Returns an `Napi::Error` object representing the environment's pending exception, if any.
64
+
65
+ ### RunScript
66
+
67
+ ```cpp
68
+ Napi::Value Napi::Env::RunScript(____ script);
69
+ ```
70
+ - `[in] script`: A string containing JavaScript code to execute.
71
+
72
+ Runs JavaScript code contained in a string and returns its result.
73
+
74
+ The `script` can be any of the following types:
75
+ - [`Napi::String`](string.md)
76
+ - `const char *`
77
+ - `const std::string &`
78
+
79
+ ### GetInstanceData
80
+ ```cpp
81
+ template <typename T> T* GetInstanceData();
82
+ ```
83
+
84
+ Returns the instance data that was previously associated with the environment,
85
+ or `nullptr` if none was associated.
86
+
87
+ ### SetInstanceData
88
+
89
+ ```cpp
90
+ template <typename T> using Finalizer = void (*)(Env, T*);
91
+ template <typename T, Finalizer<T> fini = Env::DefaultFini<T>>
92
+ void SetInstanceData(T* data);
93
+ ```
94
+
95
+ - `[template] fini`: A function to call when the instance data is to be deleted.
96
+ Accepts a function of the form `void CleanupData(Napi::Env env, T* data)`. If
97
+ not given, the default finalizer will be used, which simply uses the `delete`
98
+ operator to destroy `T*` when the addon instance is unloaded.
99
+ - `[in] data`: A pointer to data that will be associated with the instance of
100
+ the addon for the duration of its lifecycle.
101
+
102
+ Associates a data item stored at `T* data` with the current instance of the
103
+ addon. The item will be passed to the function `fini` which gets called when an
104
+ instance of the addon is unloaded.
105
+
106
+ ### SetInstanceData
107
+
108
+ ```cpp
109
+ template <typename DataType, typename HintType>
110
+ using FinalizerWithHint = void (*)(Env, DataType*, HintType*);
111
+ template <typename DataType,
112
+ typename HintType,
113
+ FinalizerWithHint<DataType, HintType> fini =
114
+ Env::DefaultFiniWithHint<DataType, HintType>>
115
+ void SetInstanceData(DataType* data, HintType* hint);
116
+ ```
117
+
118
+ - `[template] fini`: A function to call when the instance data is to be deleted.
119
+ Accepts a function of the form
120
+ `void CleanupData(Napi::Env env, DataType* data, HintType* hint)`. If not given,
121
+ the default finalizer will be used, which simply uses the `delete` operator to
122
+ destroy `T*` when the addon instance is unloaded.
123
+ - `[in] data`: A pointer to data that will be associated with the instance of
124
+ the addon for the duration of its lifecycle.
125
+ - `[in] hint`: A pointer to data that will be associated with the instance of
126
+ the addon for the duration of its lifecycle and will be passed as a hint to
127
+ `fini` when the addon instance is unloaded.
128
+
129
+ Associates a data item stored at `T* data` with the current instance of the
130
+ addon. The item will be passed to the function `fini` which gets called when an
131
+ instance of the addon is unloaded. This overload accepts an additional hint to
132
+ be passed to `fini`.
133
+
134
+ ### AddCleanupHook
135
+
136
+ ```cpp
137
+ template <typename Hook>
138
+ CleanupHook<Hook> AddCleanupHook(Hook hook);
139
+ ```
140
+
141
+ - `[in] hook`: A function to call when the environment exists. Accepts a
142
+ function of the form `void ()`.
143
+
144
+ Registers `hook` as a function to be run once the current Node.js environment
145
+ exits. Unlike the underlying C-based Node-API, providing the same `hook`
146
+ multiple times **is** allowed. The hooks will be called in reverse order, i.e.
147
+ the most recently added one will be called first.
148
+
149
+ Returns an `Env::CleanupHook` object, which can be used to remove the hook via
150
+ its `Remove()` method.
151
+
152
+ ### AddCleanupHook
153
+
154
+ ```cpp
155
+ template <typename Hook, typename Arg>
156
+ CleanupHook<Hook, Arg> AddCleanupHook(Hook hook, Arg* arg);
157
+ ```
158
+
159
+ - `[in] hook`: A function to call when the environment exists. Accepts a
160
+ function of the form `void (Arg* arg)`.
161
+ - `[in] arg`: A pointer to data that will be passed as the argument to `hook`.
162
+
163
+ Registers `hook` as a function to be run with the `arg` parameter once the
164
+ current Node.js environment exits. Unlike the underlying C-based Node-API,
165
+ providing the same `hook` and `arg` pair multiple times **is** allowed. The
166
+ hooks will be called in reverse order, i.e. the most recently added one will be
167
+ called first.
168
+
169
+ Returns an `Env::CleanupHook` object, which can be used to remove the hook via
170
+ its `Remove()` method.
171
+
172
+ # Env::CleanupHook
173
+
174
+ The `Env::CleanupHook` object allows removal of the hook added via
175
+ `Env::AddCleanupHook()`
176
+
177
+ ## Methods
178
+
179
+ ### IsEmpty
180
+
181
+ ```cpp
182
+ bool IsEmpty();
183
+ ```
184
+
185
+ Returns `true` if the cleanup hook was **not** successfully registered.
186
+
187
+ ### Remove
188
+
189
+ ```cpp
190
+ bool Remove(Env env);
191
+ ```
192
+
193
+ Unregisters the hook from running once the current Node.js environment exits.
194
+
195
+ Returns `true` if the hook was successfully removed from the Node.js
196
+ environment.
@@ -1,120 +1,120 @@
1
- # Error
2
-
3
- Class `Napi::Error` inherits from class [`Napi::ObjectReference`][] and class [`std::exception`][].
4
-
5
- The `Napi::Error` class is a representation of the JavaScript `Error` object that is thrown
6
- when runtime errors occur. The Error object can also be used as a base object for
7
- user-defined exceptions.
8
-
9
- The `Napi::Error` class is a persistent reference to a JavaScript error object thus
10
- inherits its behavior from the `Napi::ObjectReference` class (for more info see: [`Napi::ObjectReference`](object_reference.md)).
11
-
12
- If C++ exceptions are enabled (for more info see: [Setup](setup.md)), then the
13
- `Napi::Error` class extends `std::exception` and enables integrated
14
- error-handling for C++ exceptions and JavaScript exceptions.
15
-
16
- For more details about error handling refer to the section titled [Error handling](error_handling.md).
17
-
18
- ## Methods
19
-
20
- ### New
21
-
22
- Creates empty instance of an `Napi::Error` object for the specified environment.
23
-
24
- ```cpp
25
- Napi::Error::New(Napi::Env env);
26
- ```
27
-
28
- - `[in] env`: The environment in which to construct the `Napi::Error` object.
29
-
30
- Returns an instance of `Napi::Error` object.
31
-
32
- ### New
33
-
34
- Creates instance of an `Napi::Error` object.
35
-
36
- ```cpp
37
- Napi::Error::New(Napi::Env env, const char* message);
38
- ```
39
-
40
- - `[in] env`: The environment in which to construct the `Napi::Error` object.
41
- - `[in] message`: Null-terminated string to be used as the message for the `Napi::Error`.
42
-
43
- Returns instance of an `Napi::Error` object.
44
-
45
- ### New
46
-
47
- Creates instance of an `Napi::Error` object
48
-
49
- ```cpp
50
- Napi::Error::New(Napi::Env env, const std::string& message);
51
- ```
52
-
53
- - `[in] env`: The environment in which to construct the `Napi::Error` object.
54
- - `[in] message`: Reference string to be used as the message for the `Napi::Error`.
55
-
56
- Returns instance of an `Napi::Error` object.
57
-
58
- ### Fatal
59
-
60
- In case of an unrecoverable error in a native module, a fatal error can be thrown
61
- to immediately terminate the process.
62
-
63
- ```cpp
64
- static NAPI_NO_RETURN void Napi::Error::Fatal(const char* location, const char* message);
65
- ```
66
-
67
- The function call does not return, the process will be terminated.
68
-
69
- ### Constructor
70
-
71
- Creates empty instance of an `Napi::Error`.
72
-
73
- ```cpp
74
- Napi::Error::Error();
75
- ```
76
-
77
- Returns an instance of `Napi::Error` object.
78
-
79
- ### Constructor
80
-
81
- Initializes an `Napi::Error` instance from an existing JavaScript error object.
82
-
83
- ```cpp
84
- Napi::Error::Error(napi_env env, napi_value value);
85
- ```
86
-
87
- - `[in] env`: The environment in which to construct the error object.
88
- - `[in] value`: The `Napi::Error` reference to wrap.
89
-
90
- Returns instance of an `Napi::Error` object.
91
-
92
- ### Message
93
-
94
- ```cpp
95
- std::string& Napi::Error::Message() const NAPI_NOEXCEPT;
96
- ```
97
-
98
- Returns the reference to the string that represent the message of the error.
99
-
100
- ### ThrowAsJavaScriptException
101
-
102
- Throw the error as JavaScript exception.
103
-
104
- ```cpp
105
- void Napi::Error::ThrowAsJavaScriptException() const;
106
- ```
107
-
108
- Throws the error as a JavaScript exception.
109
-
110
- ### what
111
-
112
- ```cpp
113
- const char* Napi::Error::what() const NAPI_NOEXCEPT override;
114
- ```
115
-
116
- Returns a pointer to a null-terminated string that is used to identify the
117
- exception. This method can be used only if the exception mechanism is enabled.
118
-
119
- [`Napi::ObjectReference`]: ./object_reference.md
120
- [`std::exception`]: https://cplusplus.com/reference/exception/exception/
1
+ # Error
2
+
3
+ Class `Napi::Error` inherits from class [`Napi::ObjectReference`][] and class [`std::exception`][].
4
+
5
+ The `Napi::Error` class is a representation of the JavaScript `Error` object that is thrown
6
+ when runtime errors occur. The Error object can also be used as a base object for
7
+ user-defined exceptions.
8
+
9
+ The `Napi::Error` class is a persistent reference to a JavaScript error object thus
10
+ inherits its behavior from the `Napi::ObjectReference` class (for more info see: [`Napi::ObjectReference`](object_reference.md)).
11
+
12
+ If C++ exceptions are enabled (for more info see: [Setup](setup.md)), then the
13
+ `Napi::Error` class extends `std::exception` and enables integrated
14
+ error-handling for C++ exceptions and JavaScript exceptions.
15
+
16
+ For more details about error handling refer to the section titled [Error handling](error_handling.md).
17
+
18
+ ## Methods
19
+
20
+ ### New
21
+
22
+ Creates empty instance of an `Napi::Error` object for the specified environment.
23
+
24
+ ```cpp
25
+ Napi::Error::New(Napi::Env env);
26
+ ```
27
+
28
+ - `[in] env`: The environment in which to construct the `Napi::Error` object.
29
+
30
+ Returns an instance of `Napi::Error` object.
31
+
32
+ ### New
33
+
34
+ Creates instance of an `Napi::Error` object.
35
+
36
+ ```cpp
37
+ Napi::Error::New(Napi::Env env, const char* message);
38
+ ```
39
+
40
+ - `[in] env`: The environment in which to construct the `Napi::Error` object.
41
+ - `[in] message`: Null-terminated string to be used as the message for the `Napi::Error`.
42
+
43
+ Returns instance of an `Napi::Error` object.
44
+
45
+ ### New
46
+
47
+ Creates instance of an `Napi::Error` object
48
+
49
+ ```cpp
50
+ Napi::Error::New(Napi::Env env, const std::string& message);
51
+ ```
52
+
53
+ - `[in] env`: The environment in which to construct the `Napi::Error` object.
54
+ - `[in] message`: Reference string to be used as the message for the `Napi::Error`.
55
+
56
+ Returns instance of an `Napi::Error` object.
57
+
58
+ ### Fatal
59
+
60
+ In case of an unrecoverable error in a native module, a fatal error can be thrown
61
+ to immediately terminate the process.
62
+
63
+ ```cpp
64
+ static NAPI_NO_RETURN void Napi::Error::Fatal(const char* location, const char* message);
65
+ ```
66
+
67
+ The function call does not return, the process will be terminated.
68
+
69
+ ### Constructor
70
+
71
+ Creates empty instance of an `Napi::Error`.
72
+
73
+ ```cpp
74
+ Napi::Error::Error();
75
+ ```
76
+
77
+ Returns an instance of `Napi::Error` object.
78
+
79
+ ### Constructor
80
+
81
+ Initializes an `Napi::Error` instance from an existing JavaScript error object.
82
+
83
+ ```cpp
84
+ Napi::Error::Error(napi_env env, napi_value value);
85
+ ```
86
+
87
+ - `[in] env`: The environment in which to construct the error object.
88
+ - `[in] value`: The `Napi::Error` reference to wrap.
89
+
90
+ Returns instance of an `Napi::Error` object.
91
+
92
+ ### Message
93
+
94
+ ```cpp
95
+ std::string& Napi::Error::Message() const NAPI_NOEXCEPT;
96
+ ```
97
+
98
+ Returns the reference to the string that represent the message of the error.
99
+
100
+ ### ThrowAsJavaScriptException
101
+
102
+ Throw the error as JavaScript exception.
103
+
104
+ ```cpp
105
+ void Napi::Error::ThrowAsJavaScriptException() const;
106
+ ```
107
+
108
+ Throws the error as a JavaScript exception.
109
+
110
+ ### what
111
+
112
+ ```cpp
113
+ const char* Napi::Error::what() const NAPI_NOEXCEPT override;
114
+ ```
115
+
116
+ Returns a pointer to a null-terminated string that is used to identify the
117
+ exception. This method can be used only if the exception mechanism is enabled.
118
+
119
+ [`Napi::ObjectReference`]: ./object_reference.md
120
+ [`std::exception`]: https://cplusplus.com/reference/exception/exception/