@encharm/cws 4.4.1 → 4.5.2

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 (606) hide show
  1. package/binding.gyp +1 -1
  2. package/dist/bindings/cws_darwin_arm64_node115.node +0 -0
  3. package/dist/bindings/cws_darwin_arm64_node127.node +0 -0
  4. package/dist/bindings/cws_darwin_arm64_node137.node +0 -0
  5. package/dist/bindings/cws_linux_arm64_node115.node +0 -0
  6. package/dist/bindings/cws_linux_arm64_node127.node +0 -0
  7. package/dist/bindings/cws_linux_x64_node115.node +0 -0
  8. package/dist/bindings/cws_linux_x64_node127.node +0 -0
  9. package/dist/bindings/cws_linux_x64_node137.node +0 -0
  10. package/dist/bindings/cws_win32_x64_node108.node +0 -0
  11. package/dist/bindings/cws_win32_x64_node115.node +0 -0
  12. package/dist/bindings/cws_win32_x64_node127.node +0 -0
  13. package/dist/bindings/cws_win32_x64_node83.node +0 -0
  14. package/dist/bindings/cws_win32_x64_node93.node +0 -0
  15. package/package.json +1 -1
  16. package/src/Addon.h +13 -23
  17. package/src/Socket.h +0 -1
  18. package/src/headers/22/acorn_version.h +6 -0
  19. package/src/headers/22/aliased_buffer-inl.h +243 -0
  20. package/src/headers/22/aliased_buffer.h +206 -0
  21. package/src/headers/{18 → 22}/async_wrap-inl.h +8 -6
  22. package/src/headers/{18 → 22}/async_wrap.h +65 -59
  23. package/src/headers/{18 → 22}/base_object-inl.h +57 -117
  24. package/src/headers/{18 → 22}/base_object.h +58 -30
  25. package/src/headers/22/base_object_types.h +74 -0
  26. package/src/headers/22/blob_serializer_deserializer-inl.h +385 -0
  27. package/src/headers/22/blob_serializer_deserializer.h +132 -0
  28. package/src/headers/{16 → 22}/callback_queue.h +1 -0
  29. package/src/headers/{16 → 22}/cares_wrap.h +27 -20
  30. package/src/headers/22/cjs_module_lexer_version.h +6 -0
  31. package/src/headers/22/cleanup_queue-inl.h +62 -0
  32. package/src/headers/22/cleanup_queue.h +85 -0
  33. package/src/headers/22/compile_cache.h +104 -0
  34. package/src/headers/{18 → 22}/crypto/crypto_clienthello.h +1 -1
  35. package/src/headers/{18 → 22}/crypto/crypto_context.h +31 -7
  36. package/src/headers/{18 → 22}/crypto/crypto_keys.h +118 -148
  37. package/src/headers/{18 → 22}/crypto/crypto_tls.h +20 -5
  38. package/src/headers/{18 → 22}/crypto/crypto_util.h +219 -263
  39. package/src/headers/22/crypto/ncrypto.h +752 -0
  40. package/src/headers/{16 → 22}/debug_utils-inl.h +15 -7
  41. package/src/headers/{18 → 22}/debug_utils.h +25 -19
  42. package/src/headers/22/encoding_binding.h +59 -0
  43. package/src/headers/{14 → 22}/env-inl.h +276 -409
  44. package/src/headers/22/env.h +1266 -0
  45. package/src/headers/22/env_properties.h +497 -0
  46. package/src/headers/{18 → 22}/handle_wrap.h +2 -0
  47. package/src/headers/{18 → 22}/histogram.h +88 -48
  48. package/src/headers/{16 → 22}/inspector_agent.h +17 -1
  49. package/src/headers/{16 → 22}/inspector_profiler.h +15 -13
  50. package/src/headers/22/js_native_api.h +619 -0
  51. package/src/headers/{18 → 22}/js_native_api_types.h +46 -1
  52. package/src/headers/22/js_native_api_v8.h +485 -0
  53. package/src/headers/{18 → 22}/js_native_api_v8_internals.h +6 -0
  54. package/src/headers/22/json_parser.h +40 -0
  55. package/src/headers/{16 → 22}/json_utils.h +19 -8
  56. package/src/headers/{18 → 22}/memory_tracker-inl.h +16 -13
  57. package/src/headers/{14 → 22}/memory_tracker.h +13 -8
  58. package/src/headers/{16 → 22}/module_wrap.h +49 -19
  59. package/src/headers/22/ncrypto/ncrypto.h +752 -0
  60. package/src/headers/{18 → 22}/node.h +465 -68
  61. package/src/headers/{18 → 22}/node_api.h +66 -81
  62. package/src/headers/{18 → 22}/node_api_internals.h +8 -4
  63. package/src/headers/{18 → 22}/node_api_types.h +5 -0
  64. package/src/headers/22/node_binding.h +154 -0
  65. package/src/headers/{18 → 22}/node_blob.h +46 -78
  66. package/src/headers/{18 → 22}/node_bob-inl.h +1 -2
  67. package/src/headers/{18 → 22}/node_bob.h +2 -6
  68. package/src/headers/{18 → 22}/node_buffer.h +1 -1
  69. package/src/headers/22/node_builtins.h +220 -0
  70. package/src/headers/{18 → 22}/node_constants.h +3 -5
  71. package/src/headers/22/node_context_data.h +168 -0
  72. package/src/headers/22/node_contextify.h +199 -0
  73. package/src/headers/{16 → 22}/node_crypto.h +1 -2
  74. package/src/headers/22/node_dotenv.h +45 -0
  75. package/src/headers/{18 → 22}/node_errors.h +86 -27
  76. package/src/headers/22/node_exit_code.h +54 -0
  77. package/src/headers/22/node_external_reference.h +249 -0
  78. package/src/headers/{18 → 22}/node_file-inl.h +127 -30
  79. package/src/headers/{16 → 22}/node_file.h +122 -11
  80. package/src/headers/{18 → 22}/node_http2.h +28 -11
  81. package/src/headers/{16 → 22}/node_http2_state.h +34 -25
  82. package/src/headers/{18 → 22}/node_http_common-inl.h +2 -1
  83. package/src/headers/{18 → 22}/node_http_common.h +56 -55
  84. package/src/headers/{16 → 22}/node_i18n.h +5 -18
  85. package/src/headers/{18 → 22}/node_internals.h +121 -59
  86. package/src/headers/{18 → 22}/node_main_instance.h +4 -31
  87. package/src/headers/{18 → 22}/node_messaging.h +27 -10
  88. package/src/headers/{18 → 22}/node_metadata.h +23 -1
  89. package/src/headers/{18 → 22}/node_options-inl.h +24 -11
  90. package/src/headers/{18 → 22}/node_options.h +124 -39
  91. package/src/headers/{18 → 22}/node_perf.h +0 -2
  92. package/src/headers/{18 → 22}/node_perf_common.h +20 -9
  93. package/src/headers/{18 → 22}/node_platform.h +11 -5
  94. package/src/headers/{18 → 22}/node_process.h +26 -14
  95. package/src/headers/22/node_realm-inl.h +145 -0
  96. package/src/headers/22/node_realm.h +184 -0
  97. package/src/headers/{16 → 22}/node_report.h +13 -17
  98. package/src/headers/{16 → 22}/node_revert.h +3 -3
  99. package/src/headers/{16 → 22}/node_root_certs.h +902 -461
  100. package/src/headers/22/node_sea.h +64 -0
  101. package/src/headers/22/node_shadow_realm.h +46 -0
  102. package/src/headers/22/node_snapshot_builder.h +57 -0
  103. package/src/headers/22/node_snapshotable.h +174 -0
  104. package/src/headers/{18 → 22}/node_sockaddr.h +2 -2
  105. package/src/headers/{16 → 22}/node_stat_watcher.h +2 -1
  106. package/src/headers/22/node_threadsafe_cow-inl.h +54 -0
  107. package/src/headers/22/node_threadsafe_cow.h +105 -0
  108. package/src/headers/22/node_union_bytes.h +81 -0
  109. package/src/headers/22/node_url.h +96 -0
  110. package/src/headers/22/node_v8.h +77 -0
  111. package/src/headers/{14 → 22}/node_v8_platform-inl.h +17 -6
  112. package/src/headers/{16 → 22}/node_version.h +21 -9
  113. package/src/headers/22/node_wasi.h +185 -0
  114. package/src/headers/{14 → 22}/node_watchdog.h +2 -0
  115. package/src/headers/{18 → 22}/node_worker.h +7 -2
  116. package/src/headers/22/permission/child_process_permission.h +31 -0
  117. package/src/headers/22/permission/fs_permission.h +167 -0
  118. package/src/headers/22/permission/inspector_permission.h +31 -0
  119. package/src/headers/22/permission/permission.h +99 -0
  120. package/src/headers/22/permission/permission_base.h +60 -0
  121. package/src/headers/22/permission/wasi_permission.h +31 -0
  122. package/src/headers/22/permission/worker_permission.h +31 -0
  123. package/src/headers/{16 → 22}/req_wrap-inl.h +7 -6
  124. package/src/headers/{14 → 22}/spawn_sync.h +3 -3
  125. package/src/headers/{18 → 22}/stream_base-inl.h +0 -135
  126. package/src/headers/{18 → 22}/stream_base.h +35 -16
  127. package/src/headers/{18 → 22}/stream_pipe.h +3 -4
  128. package/src/headers/{16 → 22}/stream_wrap.h +2 -1
  129. package/src/headers/{18 → 22}/string_bytes.h +5 -14
  130. package/src/headers/{14 → 22}/string_decoder-inl.h +0 -6
  131. package/src/headers/{16 → 22}/string_decoder.h +0 -1
  132. package/src/headers/{18 → 22}/tcp_wrap.h +1 -1
  133. package/src/headers/{18 → 22}/threadpoolwork-inl.h +14 -1
  134. package/src/headers/22/timers.h +76 -0
  135. package/src/headers/{18 → 22}/tracing/trace_event.h +7 -5
  136. package/src/headers/{16 → 22}/udp_wrap.h +8 -5
  137. package/src/headers/22/undici_version.h +6 -0
  138. package/src/headers/{18 → 22}/util-inl.h +97 -127
  139. package/src/headers/{18 → 22}/util.h +293 -106
  140. package/src/headers/{18 → 22}/v8-fast-api-calls.h +103 -58
  141. package/src/headers/24/acorn_version.h +6 -0
  142. package/src/headers/24/addon_permission.h +31 -0
  143. package/src/headers/{16/tracing → 24}/agent.h +1 -1
  144. package/src/headers/24/aliased_buffer-inl.h +244 -0
  145. package/src/headers/24/aliased_buffer.h +206 -0
  146. package/src/headers/24/amaro_version.h +6 -0
  147. package/src/headers/24/application.h +165 -0
  148. package/src/headers/24/async_context_frame.h +33 -0
  149. package/src/headers/{14 → 24}/async_wrap-inl.h +8 -6
  150. package/src/headers/{16 → 24}/async_wrap.h +86 -88
  151. package/src/headers/{16 → 24}/base_object-inl.h +75 -119
  152. package/src/headers/{16 → 24}/base_object.h +84 -40
  153. package/src/headers/24/base_object_types.h +74 -0
  154. package/src/headers/24/bindingdata.h +272 -0
  155. package/src/headers/24/blob_serializer_deserializer-inl.h +385 -0
  156. package/src/headers/24/blob_serializer_deserializer.h +132 -0
  157. package/src/headers/{18 → 24}/callback_queue.h +1 -0
  158. package/src/headers/{18 → 24}/cares_wrap.h +68 -144
  159. package/src/headers/24/child_process_permission.h +31 -0
  160. package/src/headers/24/cid.h +127 -0
  161. package/src/headers/24/cjs_module_lexer_version.h +6 -0
  162. package/src/headers/24/cleanup_queue-inl.h +36 -0
  163. package/src/headers/24/cleanup_queue.h +79 -0
  164. package/src/headers/24/compile_cache.h +113 -0
  165. package/src/headers/24/cppgc_helpers-inl.h +65 -0
  166. package/src/headers/24/cppgc_helpers.h +162 -0
  167. package/src/headers/24/crypto/crypto_aes.h +97 -0
  168. package/src/headers/24/crypto/crypto_argon2.h +86 -0
  169. package/src/headers/{16 → 24}/crypto/crypto_bio.h +8 -9
  170. package/src/headers/24/crypto/crypto_chacha20_poly1305.h +64 -0
  171. package/src/headers/{18 → 24}/crypto/crypto_cipher.h +48 -58
  172. package/src/headers/{16 → 24}/crypto/crypto_clienthello-inl.h +2 -2
  173. package/src/headers/{16 → 24}/crypto/crypto_clienthello.h +1 -1
  174. package/src/headers/24/crypto/crypto_common.h +48 -0
  175. package/src/headers/{16 → 24}/crypto/crypto_context.h +46 -22
  176. package/src/headers/{18 → 24}/crypto/crypto_dh.h +27 -57
  177. package/src/headers/{18 → 24}/crypto/crypto_dsa.h +7 -34
  178. package/src/headers/{18 → 24}/crypto/crypto_ec.h +42 -49
  179. package/src/headers/{18 → 24}/crypto/crypto_hash.h +11 -11
  180. package/src/headers/{18 → 24}/crypto/crypto_hkdf.h +10 -14
  181. package/src/headers/{18 → 24}/crypto/crypto_hmac.h +11 -13
  182. package/src/headers/24/crypto/crypto_kem.h +113 -0
  183. package/src/headers/{18 → 24}/crypto/crypto_keygen.h +59 -74
  184. package/src/headers/{16 → 24}/crypto/crypto_keys.h +134 -154
  185. package/src/headers/24/crypto/crypto_ml_dsa.h +21 -0
  186. package/src/headers/{18 → 24}/crypto/crypto_pbkdf2.h +9 -11
  187. package/src/headers/{18 → 24}/crypto/crypto_random.h +28 -34
  188. package/src/headers/{18 → 24}/crypto/crypto_rsa.h +30 -35
  189. package/src/headers/{18 → 24}/crypto/crypto_scrypt.h +8 -10
  190. package/src/headers/{18 → 24}/crypto/crypto_sig.h +36 -48
  191. package/src/headers/{16 → 24}/crypto/crypto_tls.h +35 -18
  192. package/src/headers/{16 → 24}/crypto/crypto_util.h +183 -321
  193. package/src/headers/24/crypto/crypto_x509.h +140 -0
  194. package/src/headers/24/data.h +148 -0
  195. package/src/headers/{14 → 24}/debug_utils-inl.h +17 -8
  196. package/src/headers/{16 → 24}/debug_utils.h +31 -22
  197. package/src/headers/24/defs.h +254 -0
  198. package/src/headers/24/embedded_data.h +17 -0
  199. package/src/headers/24/encoding_binding.h +60 -0
  200. package/src/headers/24/endpoint.h +421 -0
  201. package/src/headers/{16 → 24}/env-inl.h +198 -540
  202. package/src/headers/24/env.h +1257 -0
  203. package/src/headers/24/env_properties.h +561 -0
  204. package/src/headers/24/fs_permission.h +167 -0
  205. package/src/headers/{16 → 24}/handle_wrap.h +4 -2
  206. package/src/headers/{16 → 24}/histogram-inl.h +34 -15
  207. package/src/headers/24/histogram.h +279 -0
  208. package/src/headers/24/http3.h +44 -0
  209. package/src/headers/{18 → 24}/inspector_agent.h +23 -2
  210. package/src/headers/24/inspector_permission.h +31 -0
  211. package/src/headers/{18 → 24}/inspector_profiler.h +15 -15
  212. package/src/headers/24/io_agent.h +30 -0
  213. package/src/headers/{18 → 24}/js_native_api.h +74 -30
  214. package/src/headers/{16 → 24}/js_native_api_types.h +61 -10
  215. package/src/headers/{18 → 24}/js_native_api_v8.h +205 -160
  216. package/src/headers/{16 → 24}/js_native_api_v8_internals.h +12 -6
  217. package/src/headers/24/json_parser.h +40 -0
  218. package/src/headers/{18 → 24}/json_utils.h +19 -8
  219. package/src/headers/24/logstream.h +81 -0
  220. package/src/headers/24/main_thread_interface.h +116 -0
  221. package/src/headers/{16 → 24}/memory_tracker-inl.h +115 -17
  222. package/src/headers/{16 → 24}/memory_tracker.h +58 -9
  223. package/src/headers/24/module_wrap.h +229 -0
  224. package/src/headers/24/ncrypto.h +1625 -0
  225. package/src/headers/24/network_agent.h +118 -0
  226. package/src/headers/24/network_inspector.h +45 -0
  227. package/src/headers/24/network_resource_manager.h +29 -0
  228. package/src/headers/{16 → 24}/node.h +560 -72
  229. package/src/headers/24/node_api.h +269 -0
  230. package/src/headers/24/node_api_internals.h +46 -0
  231. package/src/headers/{16 → 24}/node_api_types.h +13 -11
  232. package/src/headers/24/node_binding.h +163 -0
  233. package/src/headers/{16 → 24}/node_blob.h +46 -78
  234. package/src/headers/{16 → 24}/node_bob-inl.h +1 -2
  235. package/src/headers/{16 → 24}/node_bob.h +2 -6
  236. package/src/headers/{14 → 24}/node_buffer.h +1 -1
  237. package/src/headers/24/node_builtins.h +223 -0
  238. package/src/headers/24/node_config_file.h +65 -0
  239. package/src/headers/{14 → 24}/node_constants.h +3 -5
  240. package/src/headers/24/node_context_data.h +168 -0
  241. package/src/headers/24/node_contextify.h +261 -0
  242. package/src/headers/{18 → 24}/node_crypto.h +7 -2
  243. package/src/headers/24/node_debug.h +25 -0
  244. package/src/headers/24/node_dotenv.h +45 -0
  245. package/src/headers/{16 → 24}/node_errors.h +146 -32
  246. package/src/headers/24/node_exit_code.h +54 -0
  247. package/src/headers/{18 → 24}/node_external_reference.h +44 -22
  248. package/src/headers/{16 → 24}/node_file-inl.h +156 -50
  249. package/src/headers/{18 → 24}/node_file.h +129 -15
  250. package/src/headers/{16 → 24}/node_http2.h +53 -18
  251. package/src/headers/{14 → 24}/node_http2_state.h +35 -25
  252. package/src/headers/{16 → 24}/node_http_common-inl.h +8 -10
  253. package/src/headers/{16 → 24}/node_http_common.h +63 -59
  254. package/src/headers/{18 → 24}/node_i18n.h +5 -18
  255. package/src/headers/{16 → 24}/node_internals.h +131 -76
  256. package/src/headers/24/node_json.h +24 -0
  257. package/src/headers/24/node_large_page.h +34 -0
  258. package/src/headers/24/node_locks.h +180 -0
  259. package/src/headers/{14 → 24}/node_main_instance.h +15 -44
  260. package/src/headers/{16 → 24}/node_mem-inl.h +7 -7
  261. package/src/headers/{16 → 24}/node_messaging.h +27 -11
  262. package/src/headers/{16 → 24}/node_metadata.h +44 -2
  263. package/src/headers/24/node_modules.h +93 -0
  264. package/src/headers/{16 → 24}/node_options-inl.h +93 -46
  265. package/src/headers/{16 → 24}/node_options.h +251 -63
  266. package/src/headers/{16 → 24}/node_perf.h +6 -25
  267. package/src/headers/{16 → 24}/node_perf_common.h +23 -10
  268. package/src/headers/24/node_platform.h +286 -0
  269. package/src/headers/24/node_process.h +111 -0
  270. package/src/headers/24/node_realm-inl.h +153 -0
  271. package/src/headers/24/node_realm.h +236 -0
  272. package/src/headers/{18 → 24}/node_report.h +13 -17
  273. package/src/headers/{18 → 24}/node_revert.h +3 -3
  274. package/src/headers/{18 → 24}/node_root_certs.h +1010 -710
  275. package/src/headers/24/node_sea.h +74 -0
  276. package/src/headers/24/node_shadow_realm.h +46 -0
  277. package/src/headers/24/node_snapshot_builder.h +57 -0
  278. package/src/headers/24/node_snapshotable.h +174 -0
  279. package/src/headers/{16 → 24}/node_sockaddr-inl.h +11 -20
  280. package/src/headers/{16 → 24}/node_sockaddr.h +9 -20
  281. package/src/headers/24/node_sqlite.h +270 -0
  282. package/src/headers/{18 → 24}/node_stat_watcher.h +2 -1
  283. package/src/headers/24/node_string.h +101 -0
  284. package/src/headers/24/node_task_runner.h +92 -0
  285. package/src/headers/24/node_threadsafe_cow-inl.h +54 -0
  286. package/src/headers/24/node_threadsafe_cow.h +105 -0
  287. package/src/headers/24/node_union_bytes.h +81 -0
  288. package/src/headers/24/node_url.h +101 -0
  289. package/src/headers/24/node_url_pattern.h +118 -0
  290. package/src/headers/24/node_v8.h +77 -0
  291. package/src/headers/{18 → 24}/node_v8_platform-inl.h +22 -31
  292. package/src/headers/{18 → 24}/node_version.h +18 -6
  293. package/src/headers/24/node_wasi.h +185 -0
  294. package/src/headers/24/node_wasm_web_api.h +55 -0
  295. package/src/headers/{18 → 24}/node_watchdog.h +2 -0
  296. package/src/headers/24/node_webstorage.h +60 -0
  297. package/src/headers/{16 → 24}/node_worker.h +24 -10
  298. package/src/headers/24/packet.h +155 -0
  299. package/src/headers/24/path.h +33 -0
  300. package/src/headers/24/permission/addon_permission.h +31 -0
  301. package/src/headers/24/permission/child_process_permission.h +31 -0
  302. package/src/headers/24/permission/fs_permission.h +167 -0
  303. package/src/headers/24/permission/inspector_permission.h +31 -0
  304. package/src/headers/24/permission/permission.h +100 -0
  305. package/src/headers/24/permission/permission_base.h +65 -0
  306. package/src/headers/24/permission/wasi_permission.h +31 -0
  307. package/src/headers/24/permission/worker_permission.h +31 -0
  308. package/src/headers/24/permission.h +100 -0
  309. package/src/headers/24/permission_base.h +65 -0
  310. package/src/headers/24/preferredaddress.h +72 -0
  311. package/src/headers/24/protocol_helper.h +27 -0
  312. package/src/headers/24/queue.h +306 -0
  313. package/src/headers/{18 → 24}/req_wrap-inl.h +12 -6
  314. package/src/headers/{16 → 24}/req_wrap.h +3 -1
  315. package/src/headers/24/runtime_agent.h +41 -0
  316. package/src/headers/24/session.h +528 -0
  317. package/src/headers/24/sessionticket.h +108 -0
  318. package/src/headers/{18 → 24}/spawn_sync.h +9 -8
  319. package/src/headers/{16 → 24}/stream_base-inl.h +3 -133
  320. package/src/headers/{16 → 24}/stream_base.h +43 -19
  321. package/src/headers/{16 → 24}/stream_pipe.h +7 -4
  322. package/src/headers/{18 → 24}/stream_wrap.h +2 -3
  323. package/src/headers/24/streams.h +370 -0
  324. package/src/headers/{16 → 24}/string_bytes.h +8 -21
  325. package/src/headers/{18 → 24}/string_decoder-inl.h +0 -6
  326. package/src/headers/{18 → 24}/string_decoder.h +0 -1
  327. package/src/headers/24/target_agent.h +75 -0
  328. package/src/headers/{16 → 24}/tcp_wrap.h +3 -1
  329. package/src/headers/{14 → 24}/threadpoolwork-inl.h +14 -1
  330. package/src/headers/24/timer_wrap-inl.h +32 -0
  331. package/src/headers/{16 → 24}/timer_wrap.h +7 -4
  332. package/src/headers/24/timers.h +75 -0
  333. package/src/headers/24/tlscontext.h +228 -0
  334. package/src/headers/24/tokens.h +256 -0
  335. package/src/headers/{14/tracing → 24}/trace_event.h +7 -5
  336. package/src/headers/24/traced_value.h +129 -0
  337. package/src/headers/24/tracing_agent.h +43 -0
  338. package/src/headers/24/transportparams.h +166 -0
  339. package/src/headers/{16 → 24}/tty_wrap.h +0 -1
  340. package/src/headers/{18 → 24}/udp_wrap.h +8 -5
  341. package/src/headers/24/undici_version.h +6 -0
  342. package/src/headers/{16 → 24}/util-inl.h +267 -131
  343. package/src/headers/{16 → 24}/util.h +338 -146
  344. package/src/headers/24/v8-external-memory-accounter.h +60 -0
  345. package/src/headers/24/v8-fast-api-calls.h +819 -0
  346. package/src/headers/24/v8-inspector.h +426 -0
  347. package/src/headers/24/wasi_permission.h +31 -0
  348. package/src/headers/24/worker_agent.h +40 -0
  349. package/src/headers/24/worker_inspector.h +124 -0
  350. package/src/headers/24/worker_permission.h +31 -0
  351. package/src/headers/24/zlib_version.h +6 -0
  352. package/dist/bindings/cws_darwin_arm64_node83.node +0 -0
  353. package/dist/bindings/cws_darwin_arm64_node93.node +0 -0
  354. package/dist/bindings/cws_darwin_x64_node83.node +0 -0
  355. package/dist/bindings/cws_darwin_x64_node93.node +0 -0
  356. package/dist/bindings/cws_linux_arm64_node83.node +0 -0
  357. package/dist/bindings/cws_linux_arm64_node93.node +0 -0
  358. package/dist/bindings/cws_linux_x64_node83.node +0 -0
  359. package/dist/bindings/cws_linux_x64_node93.node +0 -0
  360. package/src/headers/14/aliased_buffer.h +0 -263
  361. package/src/headers/14/allocated_buffer-inl.h +0 -110
  362. package/src/headers/14/allocated_buffer.h +0 -73
  363. package/src/headers/14/async_wrap.h +0 -230
  364. package/src/headers/14/base64.h +0 -183
  365. package/src/headers/14/base_object-inl.h +0 -371
  366. package/src/headers/14/base_object.h +0 -281
  367. package/src/headers/14/callback_queue-inl.h +0 -97
  368. package/src/headers/14/callback_queue.h +0 -78
  369. package/src/headers/14/debug_utils.h +0 -181
  370. package/src/headers/14/env.h +0 -1388
  371. package/src/headers/14/handle_wrap.h +0 -117
  372. package/src/headers/14/histogram-inl.h +0 -83
  373. package/src/headers/14/histogram.h +0 -98
  374. package/src/headers/14/inspector_agent.h +0 -149
  375. package/src/headers/14/inspector_profiler.h +0 -137
  376. package/src/headers/14/js_native_api.h +0 -544
  377. package/src/headers/14/js_native_api_types.h +0 -143
  378. package/src/headers/14/js_native_api_v8.h +0 -301
  379. package/src/headers/14/js_native_api_v8_internals.h +0 -38
  380. package/src/headers/14/json_utils.h +0 -161
  381. package/src/headers/14/memory_tracker-inl.h +0 -355
  382. package/src/headers/14/module_wrap.h +0 -99
  383. package/src/headers/14/node.h +0 -1032
  384. package/src/headers/14/node_api.h +0 -255
  385. package/src/headers/14/node_api_types.h +0 -44
  386. package/src/headers/14/node_binding.h +0 -99
  387. package/src/headers/14/node_context_data.h +0 -44
  388. package/src/headers/14/node_contextify.h +0 -161
  389. package/src/headers/14/node_crypto.h +0 -865
  390. package/src/headers/14/node_crypto_bio.h +0 -195
  391. package/src/headers/14/node_crypto_clienthello-inl.h +0 -91
  392. package/src/headers/14/node_crypto_clienthello.h +0 -132
  393. package/src/headers/14/node_crypto_common.h +0 -138
  394. package/src/headers/14/node_crypto_groups.h +0 -415
  395. package/src/headers/14/node_dtrace.h +0 -86
  396. package/src/headers/14/node_errors.h +0 -214
  397. package/src/headers/14/node_file-inl.h +0 -306
  398. package/src/headers/14/node_file.h +0 -417
  399. package/src/headers/14/node_http2.h +0 -1191
  400. package/src/headers/14/node_http_common-inl.h +0 -194
  401. package/src/headers/14/node_http_common.h +0 -529
  402. package/src/headers/14/node_i18n.h +0 -144
  403. package/src/headers/14/node_internals.h +0 -405
  404. package/src/headers/14/node_mem.h +0 -45
  405. package/src/headers/14/node_messaging.h +0 -303
  406. package/src/headers/14/node_metadata.h +0 -109
  407. package/src/headers/14/node_mutex.h +0 -247
  408. package/src/headers/14/node_native_module.h +0 -101
  409. package/src/headers/14/node_native_module_env.h +0 -66
  410. package/src/headers/14/node_options-inl.h +0 -451
  411. package/src/headers/14/node_options.h +0 -481
  412. package/src/headers/14/node_perf.h +0 -181
  413. package/src/headers/14/node_perf_common.h +0 -97
  414. package/src/headers/14/node_platform.h +0 -189
  415. package/src/headers/14/node_process.h +0 -40
  416. package/src/headers/14/node_report.h +0 -47
  417. package/src/headers/14/node_revert.h +0 -72
  418. package/src/headers/14/node_root_certs.h +0 -3458
  419. package/src/headers/14/node_sockaddr-inl.h +0 -170
  420. package/src/headers/14/node_sockaddr.h +0 -123
  421. package/src/headers/14/node_stat_watcher.h +0 -70
  422. package/src/headers/14/node_union_bytes.h +0 -103
  423. package/src/headers/14/node_url.h +0 -188
  424. package/src/headers/14/node_version.h +0 -98
  425. package/src/headers/14/node_wasi.h +0 -108
  426. package/src/headers/14/node_win32_etw_provider-inl.h +0 -287
  427. package/src/headers/14/node_win32_etw_provider.h +0 -99
  428. package/src/headers/14/node_worker.h +0 -141
  429. package/src/headers/14/pipe_wrap.h +0 -78
  430. package/src/headers/14/req_wrap-inl.h +0 -170
  431. package/src/headers/14/req_wrap.h +0 -77
  432. package/src/headers/14/stream_base-inl.h +0 -275
  433. package/src/headers/14/stream_base.h +0 -434
  434. package/src/headers/14/stream_pipe.h +0 -73
  435. package/src/headers/14/stream_wrap.h +0 -130
  436. package/src/headers/14/string_bytes.h +0 -129
  437. package/src/headers/14/string_decoder.h +0 -50
  438. package/src/headers/14/string_search.h +0 -638
  439. package/src/headers/14/tcp_wrap.h +0 -101
  440. package/src/headers/14/tls_wrap.h +0 -222
  441. package/src/headers/14/tracing/agent.h +0 -195
  442. package/src/headers/14/tracing/traced_value.h +0 -70
  443. package/src/headers/14/tty_wrap.h +0 -64
  444. package/src/headers/14/udp_wrap.h +0 -227
  445. package/src/headers/14/util-inl.h +0 -566
  446. package/src/headers/14/util.h +0 -804
  447. package/src/headers/14/v8abbr.h +0 -124
  448. package/src/headers/16/aliased_buffer.h +0 -315
  449. package/src/headers/16/allocated_buffer-inl.h +0 -110
  450. package/src/headers/16/allocated_buffer.h +0 -73
  451. package/src/headers/16/async_wrap-inl.h +0 -94
  452. package/src/headers/16/base64-inl.h +0 -189
  453. package/src/headers/16/base64.h +0 -69
  454. package/src/headers/16/crypto/crypto_aes.h +0 -89
  455. package/src/headers/16/crypto/crypto_cipher.h +0 -286
  456. package/src/headers/16/crypto/crypto_common.h +0 -187
  457. package/src/headers/16/crypto/crypto_dh.h +0 -157
  458. package/src/headers/16/crypto/crypto_dsa.h +0 -76
  459. package/src/headers/16/crypto/crypto_ec.h +0 -169
  460. package/src/headers/16/crypto/crypto_groups.h +0 -415
  461. package/src/headers/16/crypto/crypto_hash.h +0 -89
  462. package/src/headers/16/crypto/crypto_hkdf.h +0 -66
  463. package/src/headers/16/crypto/crypto_hmac.h +0 -94
  464. package/src/headers/16/crypto/crypto_keygen.h +0 -301
  465. package/src/headers/16/crypto/crypto_pbkdf2.h +0 -76
  466. package/src/headers/16/crypto/crypto_random.h +0 -130
  467. package/src/headers/16/crypto/crypto_rsa.h +0 -141
  468. package/src/headers/16/crypto/crypto_scrypt.h +0 -87
  469. package/src/headers/16/crypto/crypto_sig.h +0 -167
  470. package/src/headers/16/crypto/crypto_spkac.h +0 -20
  471. package/src/headers/16/crypto/crypto_timing.h +0 -20
  472. package/src/headers/16/crypto/crypto_x509.h +0 -141
  473. package/src/headers/16/env.h +0 -1629
  474. package/src/headers/16/histogram.h +0 -216
  475. package/src/headers/16/js_native_api.h +0 -561
  476. package/src/headers/16/js_native_api_v8.h +0 -451
  477. package/src/headers/16/node.d +0 -315
  478. package/src/headers/16/node.stp +0 -146
  479. package/src/headers/16/node_api.h +0 -275
  480. package/src/headers/16/node_api_internals.h +0 -30
  481. package/src/headers/16/node_binding.h +0 -99
  482. package/src/headers/16/node_buffer.h +0 -92
  483. package/src/headers/16/node_constants.h +0 -84
  484. package/src/headers/16/node_context_data.h +0 -44
  485. package/src/headers/16/node_contextify.h +0 -196
  486. package/src/headers/16/node_dtrace.h +0 -86
  487. package/src/headers/16/node_external_reference.h +0 -129
  488. package/src/headers/16/node_main_instance.h +0 -103
  489. package/src/headers/16/node_native_module.h +0 -101
  490. package/src/headers/16/node_native_module_env.h +0 -68
  491. package/src/headers/16/node_platform.h +0 -192
  492. package/src/headers/16/node_process.h +0 -43
  493. package/src/headers/16/node_provider.d +0 -80
  494. package/src/headers/16/node_snapshotable.h +0 -137
  495. package/src/headers/16/node_union_bytes.h +0 -103
  496. package/src/headers/16/node_url.h +0 -205
  497. package/src/headers/16/node_v8.h +0 -41
  498. package/src/headers/16/node_v8_platform-inl.h +0 -194
  499. package/src/headers/16/node_wasi.h +0 -108
  500. package/src/headers/16/node_watchdog.h +0 -152
  501. package/src/headers/16/node_win32_etw_provider-inl.h +0 -288
  502. package/src/headers/16/node_win32_etw_provider.h +0 -99
  503. package/src/headers/16/spawn_sync.h +0 -242
  504. package/src/headers/16/string_decoder-inl.h +0 -37
  505. package/src/headers/16/string_search.h +0 -638
  506. package/src/headers/16/threadpoolwork-inl.h +0 -57
  507. package/src/headers/16/tracing/node_trace_buffer.h +0 -83
  508. package/src/headers/16/tracing/node_trace_writer.h +0 -75
  509. package/src/headers/16/tracing/trace_event.h +0 -720
  510. package/src/headers/16/tracing/traced_value.h +0 -70
  511. package/src/headers/16/v8abbr.h +0 -123
  512. package/src/headers/16/v8ustack.d +0 -695
  513. package/src/headers/18/aliased_buffer.h +0 -315
  514. package/src/headers/18/aliased_struct-inl.h +0 -54
  515. package/src/headers/18/aliased_struct.h +0 -63
  516. package/src/headers/18/base64-inl.h +0 -189
  517. package/src/headers/18/base64.h +0 -69
  518. package/src/headers/18/connect_wrap.h +0 -26
  519. package/src/headers/18/connection_wrap.h +0 -30
  520. package/src/headers/18/crypto/crypto_aes.h +0 -89
  521. package/src/headers/18/crypto/crypto_bio.h +0 -194
  522. package/src/headers/18/crypto/crypto_clienthello-inl.h +0 -90
  523. package/src/headers/18/crypto/crypto_common.h +0 -151
  524. package/src/headers/18/crypto/crypto_groups.h +0 -415
  525. package/src/headers/18/crypto/crypto_x509.h +0 -143
  526. package/src/headers/18/debug_utils-inl.h +0 -223
  527. package/src/headers/18/diagnosticfilename-inl.h +0 -33
  528. package/src/headers/18/env-inl.h +0 -1308
  529. package/src/headers/18/env.h +0 -1667
  530. package/src/headers/18/inspector_io.h +0 -78
  531. package/src/headers/18/inspector_socket.h +0 -60
  532. package/src/headers/18/inspector_socket_server.h +0 -110
  533. package/src/headers/18/js_stream.h +0 -52
  534. package/src/headers/18/memory_tracker.h +0 -284
  535. package/src/headers/18/module_wrap.h +0 -116
  536. package/src/headers/18/node_binding.h +0 -99
  537. package/src/headers/18/node_context_data.h +0 -44
  538. package/src/headers/18/node_contextify.h +0 -196
  539. package/src/headers/18/node_dir.h +0 -52
  540. package/src/headers/18/node_dtrace.h +0 -86
  541. package/src/headers/18/node_http2_state.h +0 -149
  542. package/src/headers/18/node_mem-inl.h +0 -112
  543. package/src/headers/18/node_native_module.h +0 -109
  544. package/src/headers/18/node_native_module_env.h +0 -71
  545. package/src/headers/18/node_object_wrap.h +0 -132
  546. package/src/headers/18/node_snapshot_builder.h +0 -43
  547. package/src/headers/18/node_snapshotable.h +0 -130
  548. package/src/headers/18/node_union_bytes.h +0 -103
  549. package/src/headers/18/node_url.h +0 -205
  550. package/src/headers/18/node_v8.h +0 -41
  551. package/src/headers/18/node_wasi.h +0 -108
  552. package/src/headers/18/node_win32_etw_provider-inl.h +0 -288
  553. package/src/headers/18/node_win32_etw_provider.h +0 -99
  554. package/src/headers/18/string_search.h +0 -638
  555. package/src/headers/18/tracing/node_trace_buffer.h +0 -83
  556. package/src/headers/18/tracing/node_trace_writer.h +0 -75
  557. package/src/headers/18/tracing/trace_event_common.h +0 -1109
  558. package/src/headers/18/tracing/traced_value.h +0 -70
  559. package/src/headers/18/v8abbr.h +0 -123
  560. /package/src/headers/{14 → 22}/aliased_struct-inl.h +0 -0
  561. /package/src/headers/{14 → 22}/aliased_struct.h +0 -0
  562. /package/src/headers/{16 → 22}/callback_queue-inl.h +0 -0
  563. /package/src/headers/{14 → 22}/connect_wrap.h +0 -0
  564. /package/src/headers/{14 → 22}/connection_wrap.h +0 -0
  565. /package/src/headers/{14 → 22}/diagnosticfilename-inl.h +0 -0
  566. /package/src/headers/{18 → 22}/histogram-inl.h +0 -0
  567. /package/src/headers/{14 → 22}/inspector_io.h +0 -0
  568. /package/src/headers/{14 → 22}/inspector_socket.h +0 -0
  569. /package/src/headers/{14 → 22}/inspector_socket_server.h +0 -0
  570. /package/src/headers/{14 → 22}/js_stream.h +0 -0
  571. /package/src/headers/{14 → 22}/node_dir.h +0 -0
  572. /package/src/headers/{14 → 22}/node_mem-inl.h +0 -0
  573. /package/src/headers/{16 → 22}/node_mem.h +0 -0
  574. /package/src/headers/{16 → 22}/node_mutex.h +0 -0
  575. /package/src/headers/{14 → 22}/node_object_wrap.h +0 -0
  576. /package/src/headers/{16 → 22}/node_process-inl.h +0 -0
  577. /package/src/headers/{18 → 22}/node_sockaddr-inl.h +0 -0
  578. /package/src/headers/{18 → 22}/node_wasm_web_api.h +0 -0
  579. /package/src/headers/{16 → 22}/pipe_wrap.h +0 -0
  580. /package/src/headers/{18 → 22}/req_wrap.h +0 -0
  581. /package/src/headers/{18 → 22}/timer_wrap-inl.h +0 -0
  582. /package/src/headers/{18 → 22}/timer_wrap.h +0 -0
  583. /package/src/headers/{18 → 22}/tracing/agent.h +0 -0
  584. /package/src/headers/{14 → 22}/tracing/trace_event_common.h +0 -0
  585. /package/src/headers/{18 → 22}/tty_wrap.h +0 -0
  586. /package/src/headers/{16 → 24}/aliased_struct-inl.h +0 -0
  587. /package/src/headers/{16 → 24}/aliased_struct.h +0 -0
  588. /package/src/headers/{18 → 24}/callback_queue-inl.h +0 -0
  589. /package/src/headers/{16 → 24}/connect_wrap.h +0 -0
  590. /package/src/headers/{16 → 24}/connection_wrap.h +0 -0
  591. /package/src/headers/{18 → 24}/crypto/crypto_spkac.h +0 -0
  592. /package/src/headers/{18 → 24}/crypto/crypto_timing.h +0 -0
  593. /package/src/headers/{16 → 24}/diagnosticfilename-inl.h +0 -0
  594. /package/src/headers/{16 → 24}/inspector_io.h +0 -0
  595. /package/src/headers/{16 → 24}/inspector_socket.h +0 -0
  596. /package/src/headers/{16 → 24}/inspector_socket_server.h +0 -0
  597. /package/src/headers/{16 → 24}/js_stream.h +0 -0
  598. /package/src/headers/{16 → 24}/node_dir.h +0 -0
  599. /package/src/headers/{18 → 24}/node_mem.h +0 -0
  600. /package/src/headers/{18 → 24}/node_mutex.h +0 -0
  601. /package/src/headers/{16 → 24}/node_object_wrap.h +0 -0
  602. /package/src/headers/{18 → 24}/node_process-inl.h +0 -0
  603. /package/src/headers/{14/tracing → 24}/node_trace_buffer.h +0 -0
  604. /package/src/headers/{14/tracing → 24}/node_trace_writer.h +0 -0
  605. /package/src/headers/{18 → 24}/pipe_wrap.h +0 -0
  606. /package/src/headers/{16/tracing → 24}/trace_event_common.h +0 -0
@@ -240,19 +240,22 @@ class CTypeInfo {
240
240
  enum class Type : uint8_t {
241
241
  kVoid,
242
242
  kBool,
243
+ kUint8,
243
244
  kInt32,
244
245
  kUint32,
245
246
  kInt64,
246
247
  kUint64,
247
248
  kFloat32,
248
249
  kFloat64,
250
+ kPointer,
249
251
  kV8Value,
252
+ kSeqOneByteString,
250
253
  kApiObject, // This will be deprecated once all users have
251
254
  // migrated from v8::ApiObject to v8::Local<v8::Value>.
252
255
  kAny, // This is added to enable untyped representation of fast
253
256
  // call arguments for test purposes. It can represent any of
254
- // the other types stored in the same memory as a union (see
255
- // the AnyCType struct declared below). This allows for
257
+ // the other types stored in the same memory as a union
258
+ // (see AnyCType declared below). This allows for
256
259
  // uniform passing of arguments w.r.t. their location
257
260
  // (in a register or on the stack), independent of their
258
261
  // actual type. It's currently used by the arm64 simulator
@@ -302,8 +305,9 @@ class CTypeInfo {
302
305
  constexpr Flags GetFlags() const { return flags_; }
303
306
 
304
307
  static constexpr bool IsIntegralType(Type type) {
305
- return type == Type::kInt32 || type == Type::kUint32 ||
306
- type == Type::kInt64 || type == Type::kUint64;
308
+ return type == Type::kUint8 || type == Type::kInt32 ||
309
+ type == Type::kUint32 || type == Type::kInt64 ||
310
+ type == Type::kUint64;
307
311
  }
308
312
 
309
313
  static constexpr bool IsFloatingPointType(Type type) {
@@ -340,7 +344,8 @@ struct FastApiTypedArray : public FastApiTypedArrayBase {
340
344
  ValidateIndex(index);
341
345
  #endif // DEBUG
342
346
  T tmp;
343
- memcpy(&tmp, reinterpret_cast<T*>(data_) + index, sizeof(T));
347
+ memcpy(&tmp, static_cast<void*>(reinterpret_cast<T*>(data_) + index),
348
+ sizeof(T));
344
349
  return tmp;
345
350
  }
346
351
 
@@ -377,15 +382,26 @@ struct FastApiArrayBuffer {
377
382
  size_t byte_length;
378
383
  };
379
384
 
385
+ struct FastOneByteString {
386
+ const char* data;
387
+ uint32_t length;
388
+ };
389
+
380
390
  class V8_EXPORT CFunctionInfo {
381
391
  public:
392
+ enum class Int64Representation : uint8_t {
393
+ kNumber = 0, // Use numbers to represent 64 bit integers.
394
+ kBigInt = 1, // Use BigInts to represent 64 bit integers.
395
+ };
396
+
382
397
  // Construct a struct to hold a CFunction's type information.
383
398
  // |return_info| describes the function's return type.
384
399
  // |arg_info| is an array of |arg_count| CTypeInfos describing the
385
400
  // arguments. Only the last argument may be of the special type
386
401
  // CTypeInfo::kCallbackOptionsType.
387
402
  CFunctionInfo(const CTypeInfo& return_info, unsigned int arg_count,
388
- const CTypeInfo* arg_info);
403
+ const CTypeInfo* arg_info,
404
+ Int64Representation repr = Int64Representation::kNumber);
389
405
 
390
406
  const CTypeInfo& ReturnInfo() const { return return_info_; }
391
407
 
@@ -395,6 +411,8 @@ class V8_EXPORT CFunctionInfo {
395
411
  return HasOptions() ? arg_count_ - 1 : arg_count_;
396
412
  }
397
413
 
414
+ Int64Representation GetInt64Representation() const { return repr_; }
415
+
398
416
  // |index| must be less than ArgumentCount().
399
417
  // Note: if the last argument passed on construction of CFunctionInfo
400
418
  // has type CTypeInfo::kCallbackOptionsType, it is not included in
@@ -409,6 +427,7 @@ class V8_EXPORT CFunctionInfo {
409
427
 
410
428
  private:
411
429
  const CTypeInfo return_info_;
430
+ const Int64Representation repr_;
412
431
  const unsigned int arg_count_;
413
432
  const CTypeInfo* arg_info_;
414
433
  };
@@ -416,32 +435,43 @@ class V8_EXPORT CFunctionInfo {
416
435
  struct FastApiCallbackOptions;
417
436
 
418
437
  // Provided for testing.
419
- struct AnyCType {
438
+ union V8_TRIVIAL_ABI AnyCType {
420
439
  AnyCType() : int64_value(0) {}
421
440
 
422
- union {
423
- bool bool_value;
424
- int32_t int32_value;
425
- uint32_t uint32_value;
426
- int64_t int64_value;
427
- uint64_t uint64_value;
428
- float float_value;
429
- double double_value;
430
- Local<Object> object_value;
431
- Local<Array> sequence_value;
432
- const FastApiTypedArray<int32_t>* int32_ta_value;
433
- const FastApiTypedArray<uint32_t>* uint32_ta_value;
434
- const FastApiTypedArray<int64_t>* int64_ta_value;
435
- const FastApiTypedArray<uint64_t>* uint64_ta_value;
436
- const FastApiTypedArray<float>* float_ta_value;
437
- const FastApiTypedArray<double>* double_ta_value;
438
- FastApiCallbackOptions* options_value;
439
- };
441
+ #if defined(V8_ENABLE_LOCAL_OFF_STACK_CHECK) && V8_HAS_ATTRIBUTE_TRIVIAL_ABI
442
+ // In this case, Local<T> is not trivially copyable and the implicit
443
+ // copy constructor and copy assignment for the union are deleted.
444
+ AnyCType(const AnyCType& other) : int64_value(other.int64_value) {}
445
+ AnyCType& operator=(const AnyCType& other) {
446
+ int64_value = other.int64_value;
447
+ return *this;
448
+ }
449
+ #endif
450
+
451
+ bool bool_value;
452
+ int32_t int32_value;
453
+ uint32_t uint32_value;
454
+ int64_t int64_value;
455
+ uint64_t uint64_value;
456
+ float float_value;
457
+ double double_value;
458
+ void* pointer_value;
459
+ Local<Object> object_value;
460
+ Local<Array> sequence_value;
461
+ const FastApiTypedArray<uint8_t>* uint8_ta_value;
462
+ const FastApiTypedArray<int32_t>* int32_ta_value;
463
+ const FastApiTypedArray<uint32_t>* uint32_ta_value;
464
+ const FastApiTypedArray<int64_t>* int64_ta_value;
465
+ const FastApiTypedArray<uint64_t>* uint64_ta_value;
466
+ const FastApiTypedArray<float>* float_ta_value;
467
+ const FastApiTypedArray<double>* double_ta_value;
468
+ const FastOneByteString* string_value;
469
+ FastApiCallbackOptions* options_value;
440
470
  };
441
471
 
442
472
  static_assert(
443
473
  sizeof(AnyCType) == 8,
444
- "The AnyCType struct should have size == 64 bits, as this is assumed "
474
+ "The union AnyCType should have size == 64 bits, as this is assumed "
445
475
  "by EffectControlLinearizer.");
446
476
 
447
477
  class V8_EXPORT CFunction {
@@ -457,6 +487,9 @@ class V8_EXPORT CFunction {
457
487
  unsigned int ArgumentCount() const { return type_info_->ArgumentCount(); }
458
488
 
459
489
  const void* GetAddress() const { return address_; }
490
+ CFunctionInfo::Int64Representation GetInt64Representation() const {
491
+ return type_info_->GetInt64Representation();
492
+ }
460
493
  const CFunctionInfo* GetTypeInfo() const { return type_info_; }
461
494
 
462
495
  enum class OverloadResolution { kImpossible, kAtRuntime, kAtCompileTime };
@@ -544,7 +577,7 @@ struct FastApiCallbackOptions {
544
577
  * returned instance may be filled with mock data.
545
578
  */
546
579
  static FastApiCallbackOptions CreateForTesting(Isolate* isolate) {
547
- return {false, {0}};
580
+ return {false, {0}, nullptr};
548
581
  }
549
582
 
550
583
  /**
@@ -566,8 +599,13 @@ struct FastApiCallbackOptions {
566
599
  */
567
600
  union {
568
601
  uintptr_t data_ptr;
569
- v8::Value data;
602
+ v8::Local<v8::Value> data;
570
603
  };
604
+
605
+ /**
606
+ * When called from WebAssembly, a view of the calling module's memory.
607
+ */
608
+ FastApiTypedArray<uint8_t>* const wasm_memory;
571
609
  };
572
610
 
573
611
  namespace internal {
@@ -581,7 +619,8 @@ struct count<T, T, Args...>
581
619
  template <typename T, typename U, typename... Args>
582
620
  struct count<T, U, Args...> : count<T, Args...> {};
583
621
 
584
- template <typename RetBuilder, typename... ArgBuilders>
622
+ template <CFunctionInfo::Int64Representation Representation,
623
+ typename RetBuilder, typename... ArgBuilders>
585
624
  class CFunctionInfoImpl : public CFunctionInfo {
586
625
  static constexpr int kOptionsArgCount =
587
626
  count<FastApiCallbackOptions&, ArgBuilders...>();
@@ -596,17 +635,20 @@ class CFunctionInfoImpl : public CFunctionInfo {
596
635
  public:
597
636
  constexpr CFunctionInfoImpl()
598
637
  : CFunctionInfo(RetBuilder::Build(), sizeof...(ArgBuilders),
599
- arg_info_storage_),
638
+ arg_info_storage_, Representation),
600
639
  arg_info_storage_{ArgBuilders::Build()...} {
601
640
  constexpr CTypeInfo::Type kReturnType = RetBuilder::Build().GetType();
602
641
  static_assert(kReturnType == CTypeInfo::Type::kVoid ||
603
642
  kReturnType == CTypeInfo::Type::kBool ||
604
643
  kReturnType == CTypeInfo::Type::kInt32 ||
605
644
  kReturnType == CTypeInfo::Type::kUint32 ||
645
+ kReturnType == CTypeInfo::Type::kInt64 ||
646
+ kReturnType == CTypeInfo::Type::kUint64 ||
606
647
  kReturnType == CTypeInfo::Type::kFloat32 ||
607
648
  kReturnType == CTypeInfo::Type::kFloat64 ||
649
+ kReturnType == CTypeInfo::Type::kPointer ||
608
650
  kReturnType == CTypeInfo::Type::kAny,
609
- "64-bit int and api object values are not currently "
651
+ "String and api object values are not currently "
610
652
  "supported return types.");
611
653
  }
612
654
 
@@ -643,12 +685,14 @@ struct CTypeInfoTraits {};
643
685
 
644
686
  #define PRIMITIVE_C_TYPES(V) \
645
687
  V(bool, kBool) \
688
+ V(uint8_t, kUint8) \
646
689
  V(int32_t, kInt32) \
647
690
  V(uint32_t, kUint32) \
648
691
  V(int64_t, kInt64) \
649
692
  V(uint64_t, kUint64) \
650
693
  V(float, kFloat32) \
651
- V(double, kFloat64)
694
+ V(double, kFloat64) \
695
+ V(void*, kPointer)
652
696
 
653
697
  // Same as above, but includes deprecated types for compatibility.
654
698
  #define ALL_C_TYPES(V) \
@@ -682,6 +726,7 @@ PRIMITIVE_C_TYPES(DEFINE_TYPE_INFO_TRAITS)
682
726
  };
683
727
 
684
728
  #define TYPED_ARRAY_C_TYPES(V) \
729
+ V(uint8_t, kUint8) \
685
730
  V(int32_t, kInt32) \
686
731
  V(uint32_t, kUint32) \
687
732
  V(int64_t, kInt64) \
@@ -725,6 +770,18 @@ struct TypeInfoHelper<FastApiCallbackOptions&> {
725
770
  }
726
771
  };
727
772
 
773
+ template <>
774
+ struct TypeInfoHelper<const FastOneByteString&> {
775
+ static constexpr CTypeInfo::Flags Flags() { return CTypeInfo::Flags::kNone; }
776
+
777
+ static constexpr CTypeInfo::Type Type() {
778
+ return CTypeInfo::Type::kSeqOneByteString;
779
+ }
780
+ static constexpr CTypeInfo::SequenceType SequenceType() {
781
+ return CTypeInfo::SequenceType::kScalar;
782
+ }
783
+ };
784
+
728
785
  #define STATIC_ASSERT_IMPLIES(COND, ASSERTION, MSG) \
729
786
  static_assert(((COND) == 0) || (ASSERTION), MSG)
730
787
 
@@ -802,8 +859,21 @@ class CFunctionBuilderWithFunction {
802
859
  std::make_index_sequence<sizeof...(ArgBuilders)>());
803
860
  }
804
861
 
862
+ // Provided for testing purposes.
863
+ template <typename Ret, typename... Args>
864
+ auto Patch(Ret (*patching_func)(Args...)) {
865
+ static_assert(
866
+ sizeof...(Args) == sizeof...(ArgBuilders),
867
+ "The patching function must have the same number of arguments.");
868
+ fn_ = reinterpret_cast<void*>(patching_func);
869
+ return *this;
870
+ }
871
+
872
+ template <CFunctionInfo::Int64Representation Representation =
873
+ CFunctionInfo::Int64Representation::kNumber>
805
874
  auto Build() {
806
- static CFunctionInfoImpl<RetBuilder, ArgBuilders...> instance;
875
+ static CFunctionInfoImpl<Representation, RetBuilder, ArgBuilders...>
876
+ instance;
807
877
  return CFunction(fn_, &instance);
808
878
  }
809
879
 
@@ -881,31 +951,6 @@ static constexpr CTypeInfo kTypeInfoFloat64 =
881
951
  * to the requested destination type, is considered unsupported. The operation
882
952
  * returns true on success. `type_info` will be used for conversions.
883
953
  */
884
- template <const CTypeInfo* type_info, typename T>
885
- V8_DEPRECATED(
886
- "Use TryToCopyAndConvertArrayToCppBuffer<CTypeInfo::Identifier, T>()")
887
- bool V8_EXPORT V8_WARN_UNUSED_RESULT
888
- TryCopyAndConvertArrayToCppBuffer(Local<Array> src, T* dst,
889
- uint32_t max_length);
890
-
891
- template <>
892
- V8_DEPRECATED(
893
- "Use TryToCopyAndConvertArrayToCppBuffer<CTypeInfo::Identifier, T>()")
894
- inline bool V8_WARN_UNUSED_RESULT
895
- TryCopyAndConvertArrayToCppBuffer<&kTypeInfoInt32, int32_t>(
896
- Local<Array> src, int32_t* dst, uint32_t max_length) {
897
- return false;
898
- }
899
-
900
- template <>
901
- V8_DEPRECATED(
902
- "Use TryToCopyAndConvertArrayToCppBuffer<CTypeInfo::Identifier, T>()")
903
- inline bool V8_WARN_UNUSED_RESULT
904
- TryCopyAndConvertArrayToCppBuffer<&kTypeInfoFloat64, double>(
905
- Local<Array> src, double* dst, uint32_t max_length) {
906
- return false;
907
- }
908
-
909
954
  template <CTypeInfo::Identifier type_info_id, typename T>
910
955
  bool V8_EXPORT V8_WARN_UNUSED_RESULT TryToCopyAndConvertArrayToCppBuffer(
911
956
  Local<Array> src, T* dst, uint32_t max_length);
@@ -0,0 +1,6 @@
1
+ // This is an auto generated file, please do not edit.
2
+ // Refer to tools/dep_updaters/update-acorn.sh
3
+ #ifndef SRC_ACORN_VERSION_H_
4
+ #define SRC_ACORN_VERSION_H_
5
+ #define ACORN_VERSION "8.15.0"
6
+ #endif // SRC_ACORN_VERSION_H_
@@ -0,0 +1,31 @@
1
+ #ifndef SRC_PERMISSION_ADDON_PERMISSION_H_
2
+ #define SRC_PERMISSION_ADDON_PERMISSION_H_
3
+
4
+ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
+
6
+ #include <string>
7
+ #include "permission/permission_base.h"
8
+
9
+ namespace node {
10
+
11
+ namespace permission {
12
+
13
+ class AddonPermission final : public PermissionBase {
14
+ public:
15
+ void Apply(Environment* env,
16
+ const std::vector<std::string>& allow,
17
+ PermissionScope scope) override;
18
+ bool is_granted(Environment* env,
19
+ PermissionScope perm,
20
+ const std::string_view& param = "") const override;
21
+
22
+ private:
23
+ bool deny_all_;
24
+ };
25
+
26
+ } // namespace permission
27
+
28
+ } // namespace node
29
+
30
+ #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
31
+ #endif // SRC_PERMISSION_ADDON_PERMISSION_H_
@@ -76,7 +76,7 @@ class AgentWriterHandle {
76
76
  inline AgentWriterHandle(Agent* agent, int id) : agent_(agent), id_(id) {}
77
77
 
78
78
  Agent* agent_ = nullptr;
79
- int id_;
79
+ int id_ = 0;
80
80
 
81
81
  friend class Agent;
82
82
  };
@@ -0,0 +1,244 @@
1
+ #ifndef SRC_ALIASED_BUFFER_INL_H_
2
+ #define SRC_ALIASED_BUFFER_INL_H_
3
+
4
+ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
+
6
+ #include "aliased_buffer.h"
7
+ #include "memory_tracker-inl.h"
8
+ #include "util-inl.h"
9
+
10
+ namespace node {
11
+
12
+ typedef size_t AliasedBufferIndex;
13
+
14
+ template <typename NativeT, typename V8T>
15
+ AliasedBufferBase<NativeT, V8T>::AliasedBufferBase(
16
+ v8::Isolate* isolate, const size_t count, const AliasedBufferIndex* index)
17
+ : isolate_(isolate), count_(count), byte_offset_(0), index_(index) {
18
+ CHECK_GT(count, 0);
19
+ if (index != nullptr) {
20
+ // Will be deserialized later.
21
+ return;
22
+ }
23
+ const v8::HandleScope handle_scope(isolate_);
24
+ const size_t size_in_bytes =
25
+ MultiplyWithOverflowCheck(sizeof(NativeT), count);
26
+
27
+ // allocate v8 ArrayBuffer
28
+ v8::Local<v8::ArrayBuffer> ab = v8::ArrayBuffer::New(isolate_, size_in_bytes);
29
+ buffer_ = static_cast<NativeT*>(ab->Data());
30
+
31
+ // allocate v8 TypedArray
32
+ v8::Local<V8T> js_array = V8T::New(ab, byte_offset_, count);
33
+ js_array_ = v8::Global<V8T>(isolate, js_array);
34
+ }
35
+
36
+ template <typename NativeT, typename V8T>
37
+ AliasedBufferBase<NativeT, V8T>::AliasedBufferBase(
38
+ v8::Isolate* isolate,
39
+ const size_t byte_offset,
40
+ const size_t count,
41
+ const AliasedBufferBase<uint8_t, v8::Uint8Array>& backing_buffer,
42
+ const AliasedBufferIndex* index)
43
+ : isolate_(isolate),
44
+ count_(count),
45
+ byte_offset_(byte_offset),
46
+ index_(index) {
47
+ if (index != nullptr) {
48
+ // Will be deserialized later.
49
+ return;
50
+ }
51
+ const v8::HandleScope handle_scope(isolate_);
52
+ v8::Local<v8::ArrayBuffer> ab = backing_buffer.GetArrayBuffer();
53
+
54
+ // validate that the byte_offset is aligned with sizeof(NativeT)
55
+ CHECK_EQ(byte_offset & (sizeof(NativeT) - 1), 0);
56
+ // validate this fits inside the backing buffer
57
+ CHECK_LE(MultiplyWithOverflowCheck(sizeof(NativeT), count),
58
+ ab->ByteLength() - byte_offset);
59
+
60
+ buffer_ = reinterpret_cast<NativeT*>(
61
+ const_cast<uint8_t*>(backing_buffer.GetNativeBuffer() + byte_offset));
62
+
63
+ v8::Local<V8T> js_array = V8T::New(ab, byte_offset, count);
64
+ js_array_ = v8::Global<V8T>(isolate, js_array);
65
+ }
66
+
67
+ template <typename NativeT, typename V8T>
68
+ AliasedBufferBase<NativeT, V8T>::AliasedBufferBase(
69
+ const AliasedBufferBase& that)
70
+ : isolate_(that.isolate_),
71
+ count_(that.count_),
72
+ byte_offset_(that.byte_offset_),
73
+ buffer_(that.buffer_) {
74
+ js_array_ = v8::Global<V8T>(that.isolate_, that.GetJSArray());
75
+ DCHECK(is_valid());
76
+ }
77
+
78
+ template <typename NativeT, typename V8T>
79
+ AliasedBufferIndex AliasedBufferBase<NativeT, V8T>::Serialize(
80
+ v8::Local<v8::Context> context, v8::SnapshotCreator* creator) {
81
+ DCHECK(is_valid());
82
+ return creator->AddData(context, GetJSArray());
83
+ }
84
+
85
+ template <typename NativeT, typename V8T>
86
+ inline void AliasedBufferBase<NativeT, V8T>::Deserialize(
87
+ v8::Local<v8::Context> context) {
88
+ DCHECK_NOT_NULL(index_);
89
+ v8::Local<V8T> arr =
90
+ context->GetDataFromSnapshotOnce<V8T>(*index_).ToLocalChecked();
91
+ // These may not hold true for AliasedBuffers that have grown, so should
92
+ // be removed when we expand the snapshot support.
93
+ DCHECK_EQ(count_, arr->Length());
94
+ DCHECK_EQ(byte_offset_, arr->ByteOffset());
95
+ uint8_t* raw = static_cast<uint8_t*>(arr->Buffer()->Data());
96
+ buffer_ = reinterpret_cast<NativeT*>(raw + byte_offset_);
97
+ js_array_.Reset(isolate_, arr);
98
+ index_ = nullptr;
99
+ }
100
+
101
+ template <typename NativeT, typename V8T>
102
+ AliasedBufferBase<NativeT, V8T>& AliasedBufferBase<NativeT, V8T>::operator=(
103
+ AliasedBufferBase<NativeT, V8T>&& that) noexcept {
104
+ DCHECK(is_valid());
105
+ this->~AliasedBufferBase();
106
+ isolate_ = that.isolate_;
107
+ count_ = that.count_;
108
+ byte_offset_ = that.byte_offset_;
109
+ buffer_ = that.buffer_;
110
+
111
+ js_array_.Reset(isolate_, that.js_array_.Get(isolate_));
112
+
113
+ that.buffer_ = nullptr;
114
+ that.js_array_.Reset();
115
+ return *this;
116
+ }
117
+
118
+ template <typename NativeT, typename V8T>
119
+ v8::Local<V8T> AliasedBufferBase<NativeT, V8T>::GetJSArray() const {
120
+ DCHECK(is_valid());
121
+ return js_array_.Get(isolate_);
122
+ }
123
+
124
+ template <typename NativeT, typename V8T>
125
+ void AliasedBufferBase<NativeT, V8T>::Release() {
126
+ DCHECK_NULL(index_);
127
+ js_array_.Reset();
128
+ }
129
+
130
+ template <typename NativeT, typename V8T>
131
+ inline void AliasedBufferBase<NativeT, V8T>::MakeWeak() {
132
+ DCHECK(is_valid());
133
+ js_array_.SetWeak();
134
+ }
135
+
136
+ template <typename NativeT, typename V8T>
137
+ v8::Local<v8::ArrayBuffer> AliasedBufferBase<NativeT, V8T>::GetArrayBuffer()
138
+ const {
139
+ return GetJSArray()->Buffer();
140
+ }
141
+
142
+ template <typename NativeT, typename V8T>
143
+ inline const NativeT* AliasedBufferBase<NativeT, V8T>::GetNativeBuffer() const {
144
+ DCHECK(is_valid());
145
+ return buffer_;
146
+ }
147
+
148
+ template <typename NativeT, typename V8T>
149
+ inline const NativeT* AliasedBufferBase<NativeT, V8T>::operator*() const {
150
+ return GetNativeBuffer();
151
+ }
152
+
153
+ template <typename NativeT, typename V8T>
154
+ inline void AliasedBufferBase<NativeT, V8T>::SetValue(const size_t index,
155
+ NativeT value) {
156
+ DCHECK_LT(index, count_);
157
+ DCHECK(is_valid());
158
+ buffer_[index] = value;
159
+ }
160
+
161
+ template <typename NativeT, typename V8T>
162
+ inline const NativeT AliasedBufferBase<NativeT, V8T>::GetValue(
163
+ const size_t index) const {
164
+ DCHECK(is_valid());
165
+ DCHECK_LT(index, count_);
166
+ return buffer_[index];
167
+ }
168
+
169
+ template <typename NativeT, typename V8T>
170
+ typename AliasedBufferBase<NativeT, V8T>::Reference
171
+ AliasedBufferBase<NativeT, V8T>::operator[](size_t index) {
172
+ DCHECK(is_valid());
173
+ return Reference(this, index);
174
+ }
175
+
176
+ template <typename NativeT, typename V8T>
177
+ NativeT AliasedBufferBase<NativeT, V8T>::operator[](size_t index) const {
178
+ return GetValue(index);
179
+ }
180
+
181
+ template <typename NativeT, typename V8T>
182
+ size_t AliasedBufferBase<NativeT, V8T>::Length() const {
183
+ return count_;
184
+ }
185
+
186
+ template <typename NativeT, typename V8T>
187
+ void AliasedBufferBase<NativeT, V8T>::reserve(size_t new_capacity) {
188
+ DCHECK(is_valid());
189
+ DCHECK_GE(new_capacity, count_);
190
+ DCHECK_EQ(byte_offset_, 0);
191
+ const v8::HandleScope handle_scope(isolate_);
192
+
193
+ const size_t old_size_in_bytes = sizeof(NativeT) * count_;
194
+ const size_t new_size_in_bytes =
195
+ MultiplyWithOverflowCheck(sizeof(NativeT), new_capacity);
196
+
197
+ // allocate v8 new ArrayBuffer
198
+ v8::Local<v8::ArrayBuffer> ab =
199
+ v8::ArrayBuffer::New(isolate_, new_size_in_bytes);
200
+
201
+ // allocate new native buffer
202
+ NativeT* new_buffer = static_cast<NativeT*>(ab->Data());
203
+ // copy old content
204
+ memcpy(new_buffer, buffer_, old_size_in_bytes);
205
+
206
+ // allocate v8 TypedArray
207
+ v8::Local<V8T> js_array = V8T::New(ab, byte_offset_, new_capacity);
208
+
209
+ // move over old v8 TypedArray
210
+ js_array_ = std::move(v8::Global<V8T>(isolate_, js_array));
211
+
212
+ buffer_ = new_buffer;
213
+ count_ = new_capacity;
214
+ }
215
+
216
+ template <typename NativeT, typename V8T>
217
+ inline bool AliasedBufferBase<NativeT, V8T>::is_valid() const {
218
+ return index_ == nullptr && !js_array_.IsEmpty();
219
+ }
220
+
221
+ template <typename NativeT, typename V8T>
222
+ inline size_t AliasedBufferBase<NativeT, V8T>::SelfSize() const {
223
+ return sizeof(*this);
224
+ }
225
+
226
+ #define VM(NativeT, V8T) \
227
+ template <> \
228
+ inline const char* AliasedBufferBase<NativeT, v8::V8T>::MemoryInfoName() \
229
+ const { \
230
+ return "Aliased" #V8T; \
231
+ } \
232
+ template <> \
233
+ inline void AliasedBufferBase<NativeT, v8::V8T>::MemoryInfo( \
234
+ node::MemoryTracker* tracker) const { \
235
+ tracker->TrackField("js_array", js_array_); \
236
+ }
237
+ ALIASED_BUFFER_LIST(VM)
238
+ #undef VM
239
+
240
+ } // namespace node
241
+
242
+ #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
243
+
244
+ #endif // SRC_ALIASED_BUFFER_INL_H_