@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
@@ -1,566 +0,0 @@
1
- // Copyright Joyent, Inc. and other Node contributors.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a
4
- // copy of this software and associated documentation files (the
5
- // "Software"), to deal in the Software without restriction, including
6
- // without limitation the rights to use, copy, modify, merge, publish,
7
- // distribute, sublicense, and/or sell copies of the Software, and to permit
8
- // persons to whom the Software is furnished to do so, subject to the
9
- // following conditions:
10
- //
11
- // The above copyright notice and this permission notice shall be included
12
- // in all copies or substantial portions of the Software.
13
- //
14
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
17
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
21
-
22
- #ifndef SRC_UTIL_INL_H_
23
- #define SRC_UTIL_INL_H_
24
-
25
- #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
26
-
27
- #include <cmath>
28
- #include <cstring>
29
- #include "util.h"
30
-
31
- // These are defined by <sys/byteorder.h> or <netinet/in.h> on some systems.
32
- // To avoid warnings, undefine them before redefining them.
33
- #ifdef BSWAP_2
34
- # undef BSWAP_2
35
- #endif
36
- #ifdef BSWAP_4
37
- # undef BSWAP_4
38
- #endif
39
- #ifdef BSWAP_8
40
- # undef BSWAP_8
41
- #endif
42
-
43
- #if defined(_MSC_VER)
44
- #include <intrin.h>
45
- #define BSWAP_2(x) _byteswap_ushort(x)
46
- #define BSWAP_4(x) _byteswap_ulong(x)
47
- #define BSWAP_8(x) _byteswap_uint64(x)
48
- #else
49
- #define BSWAP_2(x) ((x) << 8) | ((x) >> 8)
50
- #define BSWAP_4(x) \
51
- (((x) & 0xFF) << 24) | \
52
- (((x) & 0xFF00) << 8) | \
53
- (((x) >> 8) & 0xFF00) | \
54
- (((x) >> 24) & 0xFF)
55
- #define BSWAP_8(x) \
56
- (((x) & 0xFF00000000000000ull) >> 56) | \
57
- (((x) & 0x00FF000000000000ull) >> 40) | \
58
- (((x) & 0x0000FF0000000000ull) >> 24) | \
59
- (((x) & 0x000000FF00000000ull) >> 8) | \
60
- (((x) & 0x00000000FF000000ull) << 8) | \
61
- (((x) & 0x0000000000FF0000ull) << 24) | \
62
- (((x) & 0x000000000000FF00ull) << 40) | \
63
- (((x) & 0x00000000000000FFull) << 56)
64
- #endif
65
-
66
- namespace node {
67
-
68
- template <typename T>
69
- ListNode<T>::ListNode() : prev_(this), next_(this) {}
70
-
71
- template <typename T>
72
- ListNode<T>::~ListNode() {
73
- Remove();
74
- }
75
-
76
- template <typename T>
77
- void ListNode<T>::Remove() {
78
- prev_->next_ = next_;
79
- next_->prev_ = prev_;
80
- prev_ = this;
81
- next_ = this;
82
- }
83
-
84
- template <typename T>
85
- bool ListNode<T>::IsEmpty() const {
86
- return prev_ == this;
87
- }
88
-
89
- template <typename T, ListNode<T> (T::*M)>
90
- ListHead<T, M>::Iterator::Iterator(ListNode<T>* node) : node_(node) {}
91
-
92
- template <typename T, ListNode<T> (T::*M)>
93
- T* ListHead<T, M>::Iterator::operator*() const {
94
- return ContainerOf(M, node_);
95
- }
96
-
97
- template <typename T, ListNode<T> (T::*M)>
98
- const typename ListHead<T, M>::Iterator&
99
- ListHead<T, M>::Iterator::operator++() {
100
- node_ = node_->next_;
101
- return *this;
102
- }
103
-
104
- template <typename T, ListNode<T> (T::*M)>
105
- bool ListHead<T, M>::Iterator::operator!=(const Iterator& that) const {
106
- return node_ != that.node_;
107
- }
108
-
109
- template <typename T, ListNode<T> (T::*M)>
110
- ListHead<T, M>::~ListHead() {
111
- while (IsEmpty() == false)
112
- head_.next_->Remove();
113
- }
114
-
115
- template <typename T, ListNode<T> (T::*M)>
116
- void ListHead<T, M>::PushBack(T* element) {
117
- ListNode<T>* that = &(element->*M);
118
- head_.prev_->next_ = that;
119
- that->prev_ = head_.prev_;
120
- that->next_ = &head_;
121
- head_.prev_ = that;
122
- }
123
-
124
- template <typename T, ListNode<T> (T::*M)>
125
- void ListHead<T, M>::PushFront(T* element) {
126
- ListNode<T>* that = &(element->*M);
127
- head_.next_->prev_ = that;
128
- that->prev_ = &head_;
129
- that->next_ = head_.next_;
130
- head_.next_ = that;
131
- }
132
-
133
- template <typename T, ListNode<T> (T::*M)>
134
- bool ListHead<T, M>::IsEmpty() const {
135
- return head_.IsEmpty();
136
- }
137
-
138
- template <typename T, ListNode<T> (T::*M)>
139
- T* ListHead<T, M>::PopFront() {
140
- if (IsEmpty())
141
- return nullptr;
142
- ListNode<T>* node = head_.next_;
143
- node->Remove();
144
- return ContainerOf(M, node);
145
- }
146
-
147
- template <typename T, ListNode<T> (T::*M)>
148
- typename ListHead<T, M>::Iterator ListHead<T, M>::begin() const {
149
- return Iterator(head_.next_);
150
- }
151
-
152
- template <typename T, ListNode<T> (T::*M)>
153
- typename ListHead<T, M>::Iterator ListHead<T, M>::end() const {
154
- return Iterator(const_cast<ListNode<T>*>(&head_));
155
- }
156
-
157
- template <typename Inner, typename Outer>
158
- constexpr uintptr_t OffsetOf(Inner Outer::*field) {
159
- return reinterpret_cast<uintptr_t>(&(static_cast<Outer*>(nullptr)->*field));
160
- }
161
-
162
- template <typename Inner, typename Outer>
163
- ContainerOfHelper<Inner, Outer>::ContainerOfHelper(Inner Outer::*field,
164
- Inner* pointer)
165
- : pointer_(
166
- reinterpret_cast<Outer*>(
167
- reinterpret_cast<uintptr_t>(pointer) - OffsetOf(field))) {}
168
-
169
- template <typename Inner, typename Outer>
170
- template <typename TypeName>
171
- ContainerOfHelper<Inner, Outer>::operator TypeName*() const {
172
- return static_cast<TypeName*>(pointer_);
173
- }
174
-
175
- template <typename Inner, typename Outer>
176
- constexpr ContainerOfHelper<Inner, Outer> ContainerOf(Inner Outer::*field,
177
- Inner* pointer) {
178
- return ContainerOfHelper<Inner, Outer>(field, pointer);
179
- }
180
-
181
- inline v8::Local<v8::String> OneByteString(v8::Isolate* isolate,
182
- const char* data,
183
- int length) {
184
- return v8::String::NewFromOneByte(isolate,
185
- reinterpret_cast<const uint8_t*>(data),
186
- v8::NewStringType::kNormal,
187
- length).ToLocalChecked();
188
- }
189
-
190
- inline v8::Local<v8::String> OneByteString(v8::Isolate* isolate,
191
- const signed char* data,
192
- int length) {
193
- return v8::String::NewFromOneByte(isolate,
194
- reinterpret_cast<const uint8_t*>(data),
195
- v8::NewStringType::kNormal,
196
- length).ToLocalChecked();
197
- }
198
-
199
- inline v8::Local<v8::String> OneByteString(v8::Isolate* isolate,
200
- const unsigned char* data,
201
- int length) {
202
- return v8::String::NewFromOneByte(
203
- isolate, data, v8::NewStringType::kNormal, length)
204
- .ToLocalChecked();
205
- }
206
-
207
- void SwapBytes16(char* data, size_t nbytes) {
208
- CHECK_EQ(nbytes % 2, 0);
209
-
210
- #if defined(_MSC_VER)
211
- if (AlignUp(data, sizeof(uint16_t)) == data) {
212
- // MSVC has no strict aliasing, and is able to highly optimize this case.
213
- uint16_t* data16 = reinterpret_cast<uint16_t*>(data);
214
- size_t len16 = nbytes / sizeof(*data16);
215
- for (size_t i = 0; i < len16; i++) {
216
- data16[i] = BSWAP_2(data16[i]);
217
- }
218
- return;
219
- }
220
- #endif
221
-
222
- uint16_t temp;
223
- for (size_t i = 0; i < nbytes; i += sizeof(temp)) {
224
- memcpy(&temp, &data[i], sizeof(temp));
225
- temp = BSWAP_2(temp);
226
- memcpy(&data[i], &temp, sizeof(temp));
227
- }
228
- }
229
-
230
- void SwapBytes32(char* data, size_t nbytes) {
231
- CHECK_EQ(nbytes % 4, 0);
232
-
233
- #if defined(_MSC_VER)
234
- // MSVC has no strict aliasing, and is able to highly optimize this case.
235
- if (AlignUp(data, sizeof(uint32_t)) == data) {
236
- uint32_t* data32 = reinterpret_cast<uint32_t*>(data);
237
- size_t len32 = nbytes / sizeof(*data32);
238
- for (size_t i = 0; i < len32; i++) {
239
- data32[i] = BSWAP_4(data32[i]);
240
- }
241
- return;
242
- }
243
- #endif
244
-
245
- uint32_t temp;
246
- for (size_t i = 0; i < nbytes; i += sizeof(temp)) {
247
- memcpy(&temp, &data[i], sizeof(temp));
248
- temp = BSWAP_4(temp);
249
- memcpy(&data[i], &temp, sizeof(temp));
250
- }
251
- }
252
-
253
- void SwapBytes64(char* data, size_t nbytes) {
254
- CHECK_EQ(nbytes % 8, 0);
255
-
256
- #if defined(_MSC_VER)
257
- if (AlignUp(data, sizeof(uint64_t)) == data) {
258
- // MSVC has no strict aliasing, and is able to highly optimize this case.
259
- uint64_t* data64 = reinterpret_cast<uint64_t*>(data);
260
- size_t len64 = nbytes / sizeof(*data64);
261
- for (size_t i = 0; i < len64; i++) {
262
- data64[i] = BSWAP_8(data64[i]);
263
- }
264
- return;
265
- }
266
- #endif
267
-
268
- uint64_t temp;
269
- for (size_t i = 0; i < nbytes; i += sizeof(temp)) {
270
- memcpy(&temp, &data[i], sizeof(temp));
271
- temp = BSWAP_8(temp);
272
- memcpy(&data[i], &temp, sizeof(temp));
273
- }
274
- }
275
-
276
- char ToLower(char c) {
277
- return c >= 'A' && c <= 'Z' ? c + ('a' - 'A') : c;
278
- }
279
-
280
- std::string ToLower(const std::string& in) {
281
- std::string out(in.size(), 0);
282
- for (size_t i = 0; i < in.size(); ++i)
283
- out[i] = ToLower(in[i]);
284
- return out;
285
- }
286
-
287
- char ToUpper(char c) {
288
- return c >= 'a' && c <= 'z' ? (c - 'a') + 'A' : c;
289
- }
290
-
291
- std::string ToUpper(const std::string& in) {
292
- std::string out(in.size(), 0);
293
- for (size_t i = 0; i < in.size(); ++i)
294
- out[i] = ToUpper(in[i]);
295
- return out;
296
- }
297
-
298
- bool StringEqualNoCase(const char* a, const char* b) {
299
- while (ToLower(*a) == ToLower(*b++)) {
300
- if (*a++ == '\0')
301
- return true;
302
- }
303
- return false;
304
- }
305
-
306
- bool StringEqualNoCaseN(const char* a, const char* b, size_t length) {
307
- for (size_t i = 0; i < length; i++) {
308
- if (ToLower(a[i]) != ToLower(b[i]))
309
- return false;
310
- if (a[i] == '\0')
311
- return true;
312
- }
313
- return true;
314
- }
315
-
316
- template <typename T>
317
- inline T MultiplyWithOverflowCheck(T a, T b) {
318
- auto ret = a * b;
319
- if (a != 0)
320
- CHECK_EQ(b, ret / a);
321
-
322
- return ret;
323
- }
324
-
325
- // These should be used in our code as opposed to the native
326
- // versions as they abstract out some platform and or
327
- // compiler version specific functionality.
328
- // malloc(0) and realloc(ptr, 0) have implementation-defined behavior in
329
- // that the standard allows them to either return a unique pointer or a
330
- // nullptr for zero-sized allocation requests. Normalize by always using
331
- // a nullptr.
332
- template <typename T>
333
- T* UncheckedRealloc(T* pointer, size_t n) {
334
- size_t full_size = MultiplyWithOverflowCheck(sizeof(T), n);
335
-
336
- if (full_size == 0) {
337
- free(pointer);
338
- return nullptr;
339
- }
340
-
341
- void* allocated = realloc(pointer, full_size);
342
-
343
- if (UNLIKELY(allocated == nullptr)) {
344
- // Tell V8 that memory is low and retry.
345
- LowMemoryNotification();
346
- allocated = realloc(pointer, full_size);
347
- }
348
-
349
- return static_cast<T*>(allocated);
350
- }
351
-
352
- // As per spec realloc behaves like malloc if passed nullptr.
353
- template <typename T>
354
- inline T* UncheckedMalloc(size_t n) {
355
- if (n == 0) n = 1;
356
- return UncheckedRealloc<T>(nullptr, n);
357
- }
358
-
359
- template <typename T>
360
- inline T* UncheckedCalloc(size_t n) {
361
- if (n == 0) n = 1;
362
- MultiplyWithOverflowCheck(sizeof(T), n);
363
- return static_cast<T*>(calloc(n, sizeof(T)));
364
- }
365
-
366
- template <typename T>
367
- inline T* Realloc(T* pointer, size_t n) {
368
- T* ret = UncheckedRealloc(pointer, n);
369
- CHECK_IMPLIES(n > 0, ret != nullptr);
370
- return ret;
371
- }
372
-
373
- template <typename T>
374
- inline T* Malloc(size_t n) {
375
- T* ret = UncheckedMalloc<T>(n);
376
- CHECK_IMPLIES(n > 0, ret != nullptr);
377
- return ret;
378
- }
379
-
380
- template <typename T>
381
- inline T* Calloc(size_t n) {
382
- T* ret = UncheckedCalloc<T>(n);
383
- CHECK_IMPLIES(n > 0, ret != nullptr);
384
- return ret;
385
- }
386
-
387
- // Shortcuts for char*.
388
- inline char* Malloc(size_t n) { return Malloc<char>(n); }
389
- inline char* Calloc(size_t n) { return Calloc<char>(n); }
390
- inline char* UncheckedMalloc(size_t n) { return UncheckedMalloc<char>(n); }
391
- inline char* UncheckedCalloc(size_t n) { return UncheckedCalloc<char>(n); }
392
-
393
- // This is a helper in the .cc file so including util-inl.h doesn't include more
394
- // headers than we really need to.
395
- void ThrowErrStringTooLong(v8::Isolate* isolate);
396
-
397
- v8::MaybeLocal<v8::Value> ToV8Value(v8::Local<v8::Context> context,
398
- const std::string& str,
399
- v8::Isolate* isolate) {
400
- if (isolate == nullptr) isolate = context->GetIsolate();
401
- if (UNLIKELY(str.size() >= static_cast<size_t>(v8::String::kMaxLength))) {
402
- // V8 only has a TODO comment about adding an exception when the maximum
403
- // string size is exceeded.
404
- ThrowErrStringTooLong(isolate);
405
- return v8::MaybeLocal<v8::Value>();
406
- }
407
-
408
- return v8::String::NewFromUtf8(
409
- isolate, str.data(), v8::NewStringType::kNormal, str.size())
410
- .FromMaybe(v8::Local<v8::String>());
411
- }
412
-
413
- template <typename T>
414
- v8::MaybeLocal<v8::Value> ToV8Value(v8::Local<v8::Context> context,
415
- const std::vector<T>& vec,
416
- v8::Isolate* isolate) {
417
- if (isolate == nullptr) isolate = context->GetIsolate();
418
- v8::EscapableHandleScope handle_scope(isolate);
419
-
420
- MaybeStackBuffer<v8::Local<v8::Value>, 128> arr(vec.size());
421
- arr.SetLength(vec.size());
422
- for (size_t i = 0; i < vec.size(); ++i) {
423
- if (!ToV8Value(context, vec[i], isolate).ToLocal(&arr[i]))
424
- return v8::MaybeLocal<v8::Value>();
425
- }
426
-
427
- return handle_scope.Escape(v8::Array::New(isolate, arr.out(), arr.length()));
428
- }
429
-
430
- template <typename T, typename U>
431
- v8::MaybeLocal<v8::Value> ToV8Value(v8::Local<v8::Context> context,
432
- const std::unordered_map<T, U>& map,
433
- v8::Isolate* isolate) {
434
- if (isolate == nullptr) isolate = context->GetIsolate();
435
- v8::EscapableHandleScope handle_scope(isolate);
436
-
437
- v8::Local<v8::Map> ret = v8::Map::New(isolate);
438
- for (const auto& item : map) {
439
- v8::Local<v8::Value> first, second;
440
- if (!ToV8Value(context, item.first, isolate).ToLocal(&first) ||
441
- !ToV8Value(context, item.second, isolate).ToLocal(&second) ||
442
- ret->Set(context, first, second).IsEmpty()) {
443
- return v8::MaybeLocal<v8::Value>();
444
- }
445
- }
446
-
447
- return handle_scope.Escape(ret);
448
- }
449
-
450
- template <typename T, typename >
451
- v8::MaybeLocal<v8::Value> ToV8Value(v8::Local<v8::Context> context,
452
- const T& number,
453
- v8::Isolate* isolate) {
454
- if (isolate == nullptr) isolate = context->GetIsolate();
455
-
456
- using Limits = std::numeric_limits<T>;
457
- // Choose Uint32, Int32, or Double depending on range checks.
458
- // These checks should all collapse at compile time.
459
- if (static_cast<uint32_t>(Limits::max()) <=
460
- std::numeric_limits<uint32_t>::max() &&
461
- static_cast<uint32_t>(Limits::min()) >=
462
- std::numeric_limits<uint32_t>::min() && Limits::is_exact) {
463
- return v8::Integer::NewFromUnsigned(isolate, static_cast<uint32_t>(number));
464
- }
465
-
466
- if (static_cast<int32_t>(Limits::max()) <=
467
- std::numeric_limits<int32_t>::max() &&
468
- static_cast<int32_t>(Limits::min()) >=
469
- std::numeric_limits<int32_t>::min() && Limits::is_exact) {
470
- return v8::Integer::New(isolate, static_cast<int32_t>(number));
471
- }
472
-
473
- return v8::Number::New(isolate, static_cast<double>(number));
474
- }
475
-
476
- SlicedArguments::SlicedArguments(
477
- const v8::FunctionCallbackInfo<v8::Value>& args, size_t start) {
478
- const size_t length = static_cast<size_t>(args.Length());
479
- if (start >= length) return;
480
- const size_t size = length - start;
481
-
482
- AllocateSufficientStorage(size);
483
- for (size_t i = 0; i < size; ++i)
484
- (*this)[i] = args[i + start];
485
- }
486
-
487
- template <typename T, size_t S>
488
- ArrayBufferViewContents<T, S>::ArrayBufferViewContents(
489
- v8::Local<v8::Value> value) {
490
- CHECK(value->IsArrayBufferView());
491
- Read(value.As<v8::ArrayBufferView>());
492
- }
493
-
494
- template <typename T, size_t S>
495
- ArrayBufferViewContents<T, S>::ArrayBufferViewContents(
496
- v8::Local<v8::Object> value) {
497
- CHECK(value->IsArrayBufferView());
498
- Read(value.As<v8::ArrayBufferView>());
499
- }
500
-
501
- template <typename T, size_t S>
502
- ArrayBufferViewContents<T, S>::ArrayBufferViewContents(
503
- v8::Local<v8::ArrayBufferView> abv) {
504
- Read(abv);
505
- }
506
-
507
- template <typename T, size_t S>
508
- void ArrayBufferViewContents<T, S>::Read(v8::Local<v8::ArrayBufferView> abv) {
509
- static_assert(sizeof(T) == 1, "Only supports one-byte data at the moment");
510
- length_ = abv->ByteLength();
511
- if (length_ > sizeof(stack_storage_) || abv->HasBuffer()) {
512
- data_ = static_cast<T*>(abv->Buffer()->GetBackingStore()->Data()) +
513
- abv->ByteOffset();
514
- } else {
515
- abv->CopyContents(stack_storage_, sizeof(stack_storage_));
516
- data_ = stack_storage_;
517
- }
518
- }
519
-
520
- // ECMA262 20.1.2.5
521
- inline bool IsSafeJsInt(v8::Local<v8::Value> v) {
522
- if (!v->IsNumber()) return false;
523
- double v_d = v.As<v8::Number>()->Value();
524
- if (std::isnan(v_d)) return false;
525
- if (std::isinf(v_d)) return false;
526
- if (std::trunc(v_d) != v_d) return false; // not int
527
- if (std::abs(v_d) <= static_cast<double>(kMaxSafeJsInteger)) return true;
528
- return false;
529
- }
530
-
531
- constexpr size_t FastStringKey::HashImpl(const char* str) {
532
- // Low-quality hash (djb2), but just fine for current use cases.
533
- size_t h = 5381;
534
- while (*str != '\0') {
535
- h = h * 33 + *(str++); // NOLINT(readability/pointer_notation)
536
- }
537
- return h;
538
- }
539
-
540
- constexpr size_t FastStringKey::Hash::operator()(
541
- const FastStringKey& key) const {
542
- return key.cached_hash_;
543
- }
544
-
545
- constexpr bool FastStringKey::operator==(const FastStringKey& other) const {
546
- const char* p1 = name_;
547
- const char* p2 = other.name_;
548
- if (p1 == p2) return true;
549
- do {
550
- if (*(p1++) != *(p2++)) return false;
551
- } while (*p1 != '\0');
552
- return *p2 == '\0';
553
- }
554
-
555
- constexpr FastStringKey::FastStringKey(const char* name)
556
- : name_(name), cached_hash_(HashImpl(name)) {}
557
-
558
- constexpr const char* FastStringKey::c_str() const {
559
- return name_;
560
- }
561
-
562
- } // namespace node
563
-
564
- #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
565
-
566
- #endif // SRC_UTIL_INL_H_