@encharm/cws 4.4.1 → 4.5.1

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 (485) hide show
  1. package/dist/bindings/cws_darwin_arm64_node115.node +0 -0
  2. package/dist/bindings/cws_darwin_arm64_node127.node +0 -0
  3. package/dist/bindings/cws_linux_arm64_node115.node +0 -0
  4. package/dist/bindings/cws_linux_arm64_node127.node +0 -0
  5. package/dist/bindings/cws_linux_x64_node115.node +0 -0
  6. package/dist/bindings/cws_linux_x64_node127.node +0 -0
  7. package/dist/bindings/cws_win32_x64_node108.node +0 -0
  8. package/dist/bindings/cws_win32_x64_node115.node +0 -0
  9. package/dist/bindings/cws_win32_x64_node127.node +0 -0
  10. package/dist/bindings/cws_win32_x64_node83.node +0 -0
  11. package/dist/bindings/cws_win32_x64_node93.node +0 -0
  12. package/package.json +1 -1
  13. package/src/Addon.h +8 -23
  14. package/src/Socket.h +0 -1
  15. package/src/headers/22/acorn_version.h +6 -0
  16. package/src/headers/22/aliased_buffer-inl.h +243 -0
  17. package/src/headers/22/aliased_buffer.h +206 -0
  18. package/src/headers/{18 → 22}/async_wrap-inl.h +8 -6
  19. package/src/headers/{18 → 22}/async_wrap.h +65 -59
  20. package/src/headers/{16 → 22}/base_object-inl.h +57 -117
  21. package/src/headers/{18 → 22}/base_object.h +58 -30
  22. package/src/headers/22/base_object_types.h +74 -0
  23. package/src/headers/22/blob_serializer_deserializer-inl.h +385 -0
  24. package/src/headers/22/blob_serializer_deserializer.h +132 -0
  25. package/src/headers/{16 → 22}/callback_queue.h +1 -0
  26. package/src/headers/{16 → 22}/cares_wrap.h +27 -20
  27. package/src/headers/22/cjs_module_lexer_version.h +6 -0
  28. package/src/headers/22/cleanup_queue-inl.h +62 -0
  29. package/src/headers/22/cleanup_queue.h +85 -0
  30. package/src/headers/22/compile_cache.h +104 -0
  31. package/src/headers/{18 → 22}/crypto/crypto_clienthello.h +1 -1
  32. package/src/headers/{18 → 22}/crypto/crypto_context.h +31 -7
  33. package/src/headers/{18 → 22}/crypto/crypto_keys.h +118 -148
  34. package/src/headers/{18 → 22}/crypto/crypto_tls.h +20 -5
  35. package/src/headers/{18 → 22}/crypto/crypto_util.h +219 -263
  36. package/src/headers/22/crypto/ncrypto.h +752 -0
  37. package/src/headers/{16 → 22}/debug_utils-inl.h +15 -7
  38. package/src/headers/{18 → 22}/debug_utils.h +25 -19
  39. package/src/headers/22/encoding_binding.h +59 -0
  40. package/src/headers/{14 → 22}/env-inl.h +276 -409
  41. package/src/headers/22/env.h +1266 -0
  42. package/src/headers/22/env_properties.h +497 -0
  43. package/src/headers/{18 → 22}/handle_wrap.h +2 -0
  44. package/src/headers/{18 → 22}/histogram.h +88 -48
  45. package/src/headers/{16 → 22}/inspector_agent.h +17 -1
  46. package/src/headers/{16 → 22}/inspector_profiler.h +15 -13
  47. package/src/headers/{18 → 22}/js_native_api.h +78 -30
  48. package/src/headers/{18 → 22}/js_native_api_types.h +46 -1
  49. package/src/headers/{18 → 22}/js_native_api_v8.h +206 -161
  50. package/src/headers/{18 → 22}/js_native_api_v8_internals.h +6 -0
  51. package/src/headers/22/json_parser.h +40 -0
  52. package/src/headers/{16 → 22}/json_utils.h +19 -8
  53. package/src/headers/{18 → 22}/memory_tracker-inl.h +16 -13
  54. package/src/headers/{14 → 22}/memory_tracker.h +13 -8
  55. package/src/headers/{16 → 22}/module_wrap.h +49 -19
  56. package/src/headers/22/ncrypto/ncrypto.h +752 -0
  57. package/src/headers/{18 → 22}/node.h +465 -68
  58. package/src/headers/{18 → 22}/node_api.h +66 -81
  59. package/src/headers/{18 → 22}/node_api_internals.h +8 -4
  60. package/src/headers/{18 → 22}/node_api_types.h +5 -0
  61. package/src/headers/22/node_binding.h +154 -0
  62. package/src/headers/{18 → 22}/node_blob.h +46 -78
  63. package/src/headers/{18 → 22}/node_bob-inl.h +1 -2
  64. package/src/headers/{18 → 22}/node_bob.h +2 -6
  65. package/src/headers/{18 → 22}/node_buffer.h +1 -1
  66. package/src/headers/22/node_builtins.h +220 -0
  67. package/src/headers/{18 → 22}/node_constants.h +3 -5
  68. package/src/headers/22/node_context_data.h +168 -0
  69. package/src/headers/22/node_contextify.h +199 -0
  70. package/src/headers/{16 → 22}/node_crypto.h +1 -2
  71. package/src/headers/22/node_dotenv.h +45 -0
  72. package/src/headers/{18 → 22}/node_errors.h +86 -27
  73. package/src/headers/22/node_exit_code.h +54 -0
  74. package/src/headers/22/node_external_reference.h +249 -0
  75. package/src/headers/{18 → 22}/node_file-inl.h +127 -30
  76. package/src/headers/{16 → 22}/node_file.h +122 -11
  77. package/src/headers/{18 → 22}/node_http2.h +28 -11
  78. package/src/headers/{16 → 22}/node_http2_state.h +34 -25
  79. package/src/headers/{18 → 22}/node_http_common-inl.h +2 -1
  80. package/src/headers/{18 → 22}/node_http_common.h +56 -55
  81. package/src/headers/{16 → 22}/node_i18n.h +5 -18
  82. package/src/headers/{18 → 22}/node_internals.h +121 -59
  83. package/src/headers/{18 → 22}/node_main_instance.h +4 -31
  84. package/src/headers/{18 → 22}/node_messaging.h +27 -10
  85. package/src/headers/{18 → 22}/node_metadata.h +23 -1
  86. package/src/headers/{18 → 22}/node_options-inl.h +24 -11
  87. package/src/headers/{18 → 22}/node_options.h +124 -39
  88. package/src/headers/{18 → 22}/node_perf.h +0 -2
  89. package/src/headers/{18 → 22}/node_perf_common.h +20 -9
  90. package/src/headers/{18 → 22}/node_platform.h +11 -5
  91. package/src/headers/{18 → 22}/node_process.h +26 -14
  92. package/src/headers/22/node_realm-inl.h +145 -0
  93. package/src/headers/22/node_realm.h +184 -0
  94. package/src/headers/{16 → 22}/node_report.h +13 -17
  95. package/src/headers/{16 → 22}/node_revert.h +3 -3
  96. package/src/headers/{16 → 22}/node_root_certs.h +902 -461
  97. package/src/headers/22/node_sea.h +64 -0
  98. package/src/headers/22/node_shadow_realm.h +46 -0
  99. package/src/headers/22/node_snapshot_builder.h +57 -0
  100. package/src/headers/22/node_snapshotable.h +174 -0
  101. package/src/headers/{18 → 22}/node_sockaddr.h +2 -2
  102. package/src/headers/{16 → 22}/node_stat_watcher.h +2 -1
  103. package/src/headers/22/node_threadsafe_cow-inl.h +54 -0
  104. package/src/headers/22/node_threadsafe_cow.h +105 -0
  105. package/src/headers/22/node_union_bytes.h +81 -0
  106. package/src/headers/22/node_url.h +96 -0
  107. package/src/headers/22/node_v8.h +77 -0
  108. package/src/headers/{14 → 22}/node_v8_platform-inl.h +17 -6
  109. package/src/headers/{18 → 22}/node_version.h +20 -8
  110. package/src/headers/22/node_wasi.h +185 -0
  111. package/src/headers/{14 → 22}/node_watchdog.h +2 -0
  112. package/src/headers/{18 → 22}/node_worker.h +7 -2
  113. package/src/headers/22/permission/child_process_permission.h +31 -0
  114. package/src/headers/22/permission/fs_permission.h +167 -0
  115. package/src/headers/22/permission/inspector_permission.h +31 -0
  116. package/src/headers/22/permission/permission.h +99 -0
  117. package/src/headers/22/permission/permission_base.h +60 -0
  118. package/src/headers/22/permission/wasi_permission.h +31 -0
  119. package/src/headers/22/permission/worker_permission.h +31 -0
  120. package/src/headers/{16 → 22}/req_wrap-inl.h +7 -6
  121. package/src/headers/{14 → 22}/spawn_sync.h +3 -3
  122. package/src/headers/{18 → 22}/stream_base-inl.h +0 -135
  123. package/src/headers/{18 → 22}/stream_base.h +35 -16
  124. package/src/headers/{18 → 22}/stream_pipe.h +3 -4
  125. package/src/headers/{16 → 22}/stream_wrap.h +2 -1
  126. package/src/headers/{18 → 22}/string_bytes.h +5 -14
  127. package/src/headers/{14 → 22}/string_decoder-inl.h +0 -6
  128. package/src/headers/{16 → 22}/string_decoder.h +0 -1
  129. package/src/headers/{18 → 22}/tcp_wrap.h +1 -1
  130. package/src/headers/{18 → 22}/threadpoolwork-inl.h +14 -1
  131. package/src/headers/22/timers.h +76 -0
  132. package/src/headers/{18 → 22}/tracing/trace_event.h +7 -5
  133. package/src/headers/{16 → 22}/udp_wrap.h +8 -5
  134. package/src/headers/22/undici_version.h +6 -0
  135. package/src/headers/{18 → 22}/util-inl.h +97 -127
  136. package/src/headers/{18 → 22}/util.h +293 -106
  137. package/src/headers/{18 → 22}/v8-fast-api-calls.h +103 -58
  138. package/dist/bindings/cws_darwin_arm64_node83.node +0 -0
  139. package/dist/bindings/cws_darwin_arm64_node93.node +0 -0
  140. package/dist/bindings/cws_darwin_x64_node83.node +0 -0
  141. package/dist/bindings/cws_darwin_x64_node93.node +0 -0
  142. package/dist/bindings/cws_linux_arm64_node83.node +0 -0
  143. package/dist/bindings/cws_linux_arm64_node93.node +0 -0
  144. package/dist/bindings/cws_linux_x64_node83.node +0 -0
  145. package/dist/bindings/cws_linux_x64_node93.node +0 -0
  146. package/src/headers/14/aliased_buffer.h +0 -263
  147. package/src/headers/14/allocated_buffer-inl.h +0 -110
  148. package/src/headers/14/allocated_buffer.h +0 -73
  149. package/src/headers/14/async_wrap-inl.h +0 -94
  150. package/src/headers/14/async_wrap.h +0 -230
  151. package/src/headers/14/base64.h +0 -183
  152. package/src/headers/14/base_object-inl.h +0 -371
  153. package/src/headers/14/base_object.h +0 -281
  154. package/src/headers/14/callback_queue-inl.h +0 -97
  155. package/src/headers/14/callback_queue.h +0 -78
  156. package/src/headers/14/debug_utils-inl.h +0 -223
  157. package/src/headers/14/debug_utils.h +0 -181
  158. package/src/headers/14/env.h +0 -1388
  159. package/src/headers/14/handle_wrap.h +0 -117
  160. package/src/headers/14/histogram-inl.h +0 -83
  161. package/src/headers/14/histogram.h +0 -98
  162. package/src/headers/14/inspector_agent.h +0 -149
  163. package/src/headers/14/inspector_profiler.h +0 -137
  164. package/src/headers/14/js_native_api.h +0 -544
  165. package/src/headers/14/js_native_api_types.h +0 -143
  166. package/src/headers/14/js_native_api_v8.h +0 -301
  167. package/src/headers/14/js_native_api_v8_internals.h +0 -38
  168. package/src/headers/14/json_utils.h +0 -161
  169. package/src/headers/14/memory_tracker-inl.h +0 -355
  170. package/src/headers/14/module_wrap.h +0 -99
  171. package/src/headers/14/node.h +0 -1032
  172. package/src/headers/14/node_api.h +0 -255
  173. package/src/headers/14/node_api_types.h +0 -44
  174. package/src/headers/14/node_binding.h +0 -99
  175. package/src/headers/14/node_buffer.h +0 -92
  176. package/src/headers/14/node_constants.h +0 -84
  177. package/src/headers/14/node_context_data.h +0 -44
  178. package/src/headers/14/node_contextify.h +0 -161
  179. package/src/headers/14/node_crypto.h +0 -865
  180. package/src/headers/14/node_crypto_bio.h +0 -195
  181. package/src/headers/14/node_crypto_clienthello-inl.h +0 -91
  182. package/src/headers/14/node_crypto_clienthello.h +0 -132
  183. package/src/headers/14/node_crypto_common.h +0 -138
  184. package/src/headers/14/node_crypto_groups.h +0 -415
  185. package/src/headers/14/node_dtrace.h +0 -86
  186. package/src/headers/14/node_errors.h +0 -214
  187. package/src/headers/14/node_file-inl.h +0 -306
  188. package/src/headers/14/node_file.h +0 -417
  189. package/src/headers/14/node_http2.h +0 -1191
  190. package/src/headers/14/node_http2_state.h +0 -149
  191. package/src/headers/14/node_http_common-inl.h +0 -194
  192. package/src/headers/14/node_http_common.h +0 -529
  193. package/src/headers/14/node_i18n.h +0 -144
  194. package/src/headers/14/node_internals.h +0 -405
  195. package/src/headers/14/node_main_instance.h +0 -96
  196. package/src/headers/14/node_mem.h +0 -45
  197. package/src/headers/14/node_messaging.h +0 -303
  198. package/src/headers/14/node_metadata.h +0 -109
  199. package/src/headers/14/node_mutex.h +0 -247
  200. package/src/headers/14/node_native_module.h +0 -101
  201. package/src/headers/14/node_native_module_env.h +0 -66
  202. package/src/headers/14/node_options-inl.h +0 -451
  203. package/src/headers/14/node_options.h +0 -481
  204. package/src/headers/14/node_perf.h +0 -181
  205. package/src/headers/14/node_perf_common.h +0 -97
  206. package/src/headers/14/node_platform.h +0 -189
  207. package/src/headers/14/node_process.h +0 -40
  208. package/src/headers/14/node_report.h +0 -47
  209. package/src/headers/14/node_revert.h +0 -72
  210. package/src/headers/14/node_root_certs.h +0 -3458
  211. package/src/headers/14/node_sockaddr-inl.h +0 -170
  212. package/src/headers/14/node_sockaddr.h +0 -123
  213. package/src/headers/14/node_stat_watcher.h +0 -70
  214. package/src/headers/14/node_union_bytes.h +0 -103
  215. package/src/headers/14/node_url.h +0 -188
  216. package/src/headers/14/node_version.h +0 -98
  217. package/src/headers/14/node_wasi.h +0 -108
  218. package/src/headers/14/node_win32_etw_provider-inl.h +0 -287
  219. package/src/headers/14/node_win32_etw_provider.h +0 -99
  220. package/src/headers/14/node_worker.h +0 -141
  221. package/src/headers/14/pipe_wrap.h +0 -78
  222. package/src/headers/14/req_wrap-inl.h +0 -170
  223. package/src/headers/14/req_wrap.h +0 -77
  224. package/src/headers/14/stream_base-inl.h +0 -275
  225. package/src/headers/14/stream_base.h +0 -434
  226. package/src/headers/14/stream_pipe.h +0 -73
  227. package/src/headers/14/stream_wrap.h +0 -130
  228. package/src/headers/14/string_bytes.h +0 -129
  229. package/src/headers/14/string_decoder.h +0 -50
  230. package/src/headers/14/string_search.h +0 -638
  231. package/src/headers/14/tcp_wrap.h +0 -101
  232. package/src/headers/14/threadpoolwork-inl.h +0 -57
  233. package/src/headers/14/tls_wrap.h +0 -222
  234. package/src/headers/14/tracing/agent.h +0 -195
  235. package/src/headers/14/tracing/node_trace_buffer.h +0 -83
  236. package/src/headers/14/tracing/node_trace_writer.h +0 -75
  237. package/src/headers/14/tracing/trace_event.h +0 -720
  238. package/src/headers/14/tracing/traced_value.h +0 -70
  239. package/src/headers/14/tty_wrap.h +0 -64
  240. package/src/headers/14/udp_wrap.h +0 -227
  241. package/src/headers/14/util-inl.h +0 -566
  242. package/src/headers/14/util.h +0 -804
  243. package/src/headers/14/v8abbr.h +0 -124
  244. package/src/headers/16/aliased_buffer.h +0 -315
  245. package/src/headers/16/aliased_struct-inl.h +0 -54
  246. package/src/headers/16/aliased_struct.h +0 -63
  247. package/src/headers/16/allocated_buffer-inl.h +0 -110
  248. package/src/headers/16/allocated_buffer.h +0 -73
  249. package/src/headers/16/async_wrap-inl.h +0 -94
  250. package/src/headers/16/async_wrap.h +0 -246
  251. package/src/headers/16/base64-inl.h +0 -189
  252. package/src/headers/16/base64.h +0 -69
  253. package/src/headers/16/base_object.h +0 -294
  254. package/src/headers/16/connect_wrap.h +0 -26
  255. package/src/headers/16/connection_wrap.h +0 -30
  256. package/src/headers/16/crypto/crypto_aes.h +0 -89
  257. package/src/headers/16/crypto/crypto_bio.h +0 -194
  258. package/src/headers/16/crypto/crypto_cipher.h +0 -286
  259. package/src/headers/16/crypto/crypto_clienthello-inl.h +0 -90
  260. package/src/headers/16/crypto/crypto_clienthello.h +0 -131
  261. package/src/headers/16/crypto/crypto_common.h +0 -187
  262. package/src/headers/16/crypto/crypto_context.h +0 -147
  263. package/src/headers/16/crypto/crypto_dh.h +0 -157
  264. package/src/headers/16/crypto/crypto_dsa.h +0 -76
  265. package/src/headers/16/crypto/crypto_ec.h +0 -169
  266. package/src/headers/16/crypto/crypto_groups.h +0 -415
  267. package/src/headers/16/crypto/crypto_hash.h +0 -89
  268. package/src/headers/16/crypto/crypto_hkdf.h +0 -66
  269. package/src/headers/16/crypto/crypto_hmac.h +0 -94
  270. package/src/headers/16/crypto/crypto_keygen.h +0 -301
  271. package/src/headers/16/crypto/crypto_keys.h +0 -412
  272. package/src/headers/16/crypto/crypto_pbkdf2.h +0 -76
  273. package/src/headers/16/crypto/crypto_random.h +0 -130
  274. package/src/headers/16/crypto/crypto_rsa.h +0 -141
  275. package/src/headers/16/crypto/crypto_scrypt.h +0 -87
  276. package/src/headers/16/crypto/crypto_sig.h +0 -167
  277. package/src/headers/16/crypto/crypto_spkac.h +0 -20
  278. package/src/headers/16/crypto/crypto_timing.h +0 -20
  279. package/src/headers/16/crypto/crypto_tls.h +0 -292
  280. package/src/headers/16/crypto/crypto_util.h +0 -736
  281. package/src/headers/16/crypto/crypto_x509.h +0 -141
  282. package/src/headers/16/debug_utils.h +0 -184
  283. package/src/headers/16/diagnosticfilename-inl.h +0 -33
  284. package/src/headers/16/env-inl.h +0 -1277
  285. package/src/headers/16/env.h +0 -1629
  286. package/src/headers/16/handle_wrap.h +0 -121
  287. package/src/headers/16/histogram-inl.h +0 -88
  288. package/src/headers/16/histogram.h +0 -216
  289. package/src/headers/16/inspector_io.h +0 -78
  290. package/src/headers/16/inspector_socket.h +0 -60
  291. package/src/headers/16/inspector_socket_server.h +0 -110
  292. package/src/headers/16/js_native_api.h +0 -561
  293. package/src/headers/16/js_native_api_types.h +0 -160
  294. package/src/headers/16/js_native_api_v8.h +0 -451
  295. package/src/headers/16/js_native_api_v8_internals.h +0 -39
  296. package/src/headers/16/js_stream.h +0 -52
  297. package/src/headers/16/memory_tracker-inl.h +0 -356
  298. package/src/headers/16/memory_tracker.h +0 -284
  299. package/src/headers/16/node.d +0 -315
  300. package/src/headers/16/node.h +0 -1132
  301. package/src/headers/16/node.stp +0 -146
  302. package/src/headers/16/node_api.h +0 -275
  303. package/src/headers/16/node_api_internals.h +0 -30
  304. package/src/headers/16/node_api_types.h +0 -50
  305. package/src/headers/16/node_binding.h +0 -99
  306. package/src/headers/16/node_blob.h +0 -191
  307. package/src/headers/16/node_bob-inl.h +0 -37
  308. package/src/headers/16/node_bob.h +0 -111
  309. package/src/headers/16/node_buffer.h +0 -92
  310. package/src/headers/16/node_constants.h +0 -84
  311. package/src/headers/16/node_context_data.h +0 -44
  312. package/src/headers/16/node_contextify.h +0 -196
  313. package/src/headers/16/node_dir.h +0 -52
  314. package/src/headers/16/node_dtrace.h +0 -86
  315. package/src/headers/16/node_errors.h +0 -277
  316. package/src/headers/16/node_external_reference.h +0 -129
  317. package/src/headers/16/node_file-inl.h +0 -306
  318. package/src/headers/16/node_http2.h +0 -1140
  319. package/src/headers/16/node_http_common-inl.h +0 -200
  320. package/src/headers/16/node_http_common.h +0 -531
  321. package/src/headers/16/node_internals.h +0 -421
  322. package/src/headers/16/node_main_instance.h +0 -103
  323. package/src/headers/16/node_mem-inl.h +0 -112
  324. package/src/headers/16/node_messaging.h +0 -373
  325. package/src/headers/16/node_metadata.h +0 -122
  326. package/src/headers/16/node_native_module.h +0 -101
  327. package/src/headers/16/node_native_module_env.h +0 -68
  328. package/src/headers/16/node_object_wrap.h +0 -132
  329. package/src/headers/16/node_options-inl.h +0 -477
  330. package/src/headers/16/node_options.h +0 -494
  331. package/src/headers/16/node_perf.h +0 -185
  332. package/src/headers/16/node_perf_common.h +0 -89
  333. package/src/headers/16/node_platform.h +0 -192
  334. package/src/headers/16/node_process.h +0 -43
  335. package/src/headers/16/node_provider.d +0 -80
  336. package/src/headers/16/node_snapshotable.h +0 -137
  337. package/src/headers/16/node_sockaddr-inl.h +0 -266
  338. package/src/headers/16/node_sockaddr.h +0 -405
  339. package/src/headers/16/node_union_bytes.h +0 -103
  340. package/src/headers/16/node_url.h +0 -205
  341. package/src/headers/16/node_v8.h +0 -41
  342. package/src/headers/16/node_v8_platform-inl.h +0 -194
  343. package/src/headers/16/node_version.h +0 -98
  344. package/src/headers/16/node_wasi.h +0 -108
  345. package/src/headers/16/node_watchdog.h +0 -152
  346. package/src/headers/16/node_win32_etw_provider-inl.h +0 -288
  347. package/src/headers/16/node_win32_etw_provider.h +0 -99
  348. package/src/headers/16/node_worker.h +0 -145
  349. package/src/headers/16/req_wrap.h +0 -77
  350. package/src/headers/16/spawn_sync.h +0 -242
  351. package/src/headers/16/stream_base-inl.h +0 -303
  352. package/src/headers/16/stream_base.h +0 -454
  353. package/src/headers/16/stream_pipe.h +0 -73
  354. package/src/headers/16/string_bytes.h +0 -122
  355. package/src/headers/16/string_decoder-inl.h +0 -37
  356. package/src/headers/16/string_search.h +0 -638
  357. package/src/headers/16/tcp_wrap.h +0 -103
  358. package/src/headers/16/threadpoolwork-inl.h +0 -57
  359. package/src/headers/16/timer_wrap.h +0 -84
  360. package/src/headers/16/tracing/agent.h +0 -195
  361. package/src/headers/16/tracing/node_trace_buffer.h +0 -83
  362. package/src/headers/16/tracing/node_trace_writer.h +0 -75
  363. package/src/headers/16/tracing/trace_event.h +0 -720
  364. package/src/headers/16/tracing/trace_event_common.h +0 -1109
  365. package/src/headers/16/tracing/traced_value.h +0 -70
  366. package/src/headers/16/tty_wrap.h +0 -66
  367. package/src/headers/16/util-inl.h +0 -575
  368. package/src/headers/16/util.h +0 -824
  369. package/src/headers/16/v8abbr.h +0 -123
  370. package/src/headers/16/v8ustack.d +0 -695
  371. package/src/headers/18/aliased_buffer.h +0 -315
  372. package/src/headers/18/aliased_struct-inl.h +0 -54
  373. package/src/headers/18/aliased_struct.h +0 -63
  374. package/src/headers/18/base64-inl.h +0 -189
  375. package/src/headers/18/base64.h +0 -69
  376. package/src/headers/18/base_object-inl.h +0 -374
  377. package/src/headers/18/callback_queue-inl.h +0 -97
  378. package/src/headers/18/callback_queue.h +0 -78
  379. package/src/headers/18/cares_wrap.h +0 -523
  380. package/src/headers/18/connect_wrap.h +0 -26
  381. package/src/headers/18/connection_wrap.h +0 -30
  382. package/src/headers/18/crypto/crypto_aes.h +0 -89
  383. package/src/headers/18/crypto/crypto_bio.h +0 -194
  384. package/src/headers/18/crypto/crypto_cipher.h +0 -291
  385. package/src/headers/18/crypto/crypto_clienthello-inl.h +0 -90
  386. package/src/headers/18/crypto/crypto_common.h +0 -151
  387. package/src/headers/18/crypto/crypto_dh.h +0 -156
  388. package/src/headers/18/crypto/crypto_dsa.h +0 -77
  389. package/src/headers/18/crypto/crypto_ec.h +0 -170
  390. package/src/headers/18/crypto/crypto_groups.h +0 -415
  391. package/src/headers/18/crypto/crypto_hash.h +0 -89
  392. package/src/headers/18/crypto/crypto_hkdf.h +0 -65
  393. package/src/headers/18/crypto/crypto_hmac.h +0 -94
  394. package/src/headers/18/crypto/crypto_keygen.h +0 -305
  395. package/src/headers/18/crypto/crypto_pbkdf2.h +0 -76
  396. package/src/headers/18/crypto/crypto_random.h +0 -130
  397. package/src/headers/18/crypto/crypto_rsa.h +0 -141
  398. package/src/headers/18/crypto/crypto_scrypt.h +0 -87
  399. package/src/headers/18/crypto/crypto_sig.h +0 -168
  400. package/src/headers/18/crypto/crypto_spkac.h +0 -21
  401. package/src/headers/18/crypto/crypto_timing.h +0 -20
  402. package/src/headers/18/crypto/crypto_x509.h +0 -143
  403. package/src/headers/18/debug_utils-inl.h +0 -223
  404. package/src/headers/18/diagnosticfilename-inl.h +0 -33
  405. package/src/headers/18/env-inl.h +0 -1308
  406. package/src/headers/18/env.h +0 -1667
  407. package/src/headers/18/inspector_agent.h +0 -144
  408. package/src/headers/18/inspector_io.h +0 -78
  409. package/src/headers/18/inspector_profiler.h +0 -149
  410. package/src/headers/18/inspector_socket.h +0 -60
  411. package/src/headers/18/inspector_socket_server.h +0 -110
  412. package/src/headers/18/js_stream.h +0 -52
  413. package/src/headers/18/json_utils.h +0 -161
  414. package/src/headers/18/memory_tracker.h +0 -284
  415. package/src/headers/18/module_wrap.h +0 -116
  416. package/src/headers/18/node_binding.h +0 -99
  417. package/src/headers/18/node_context_data.h +0 -44
  418. package/src/headers/18/node_contextify.h +0 -196
  419. package/src/headers/18/node_crypto.h +0 -57
  420. package/src/headers/18/node_dir.h +0 -52
  421. package/src/headers/18/node_dtrace.h +0 -86
  422. package/src/headers/18/node_external_reference.h +0 -145
  423. package/src/headers/18/node_file.h +0 -426
  424. package/src/headers/18/node_http2_state.h +0 -149
  425. package/src/headers/18/node_i18n.h +0 -145
  426. package/src/headers/18/node_mem-inl.h +0 -112
  427. package/src/headers/18/node_mem.h +0 -45
  428. package/src/headers/18/node_mutex.h +0 -323
  429. package/src/headers/18/node_native_module.h +0 -109
  430. package/src/headers/18/node_native_module_env.h +0 -71
  431. package/src/headers/18/node_object_wrap.h +0 -132
  432. package/src/headers/18/node_process-inl.h +0 -26
  433. package/src/headers/18/node_report.h +0 -47
  434. package/src/headers/18/node_revert.h +0 -82
  435. package/src/headers/18/node_root_certs.h +0 -3246
  436. package/src/headers/18/node_snapshot_builder.h +0 -43
  437. package/src/headers/18/node_snapshotable.h +0 -130
  438. package/src/headers/18/node_stat_watcher.h +0 -72
  439. package/src/headers/18/node_union_bytes.h +0 -103
  440. package/src/headers/18/node_url.h +0 -205
  441. package/src/headers/18/node_v8.h +0 -41
  442. package/src/headers/18/node_v8_platform-inl.h +0 -194
  443. package/src/headers/18/node_wasi.h +0 -108
  444. package/src/headers/18/node_watchdog.h +0 -152
  445. package/src/headers/18/node_win32_etw_provider-inl.h +0 -288
  446. package/src/headers/18/node_win32_etw_provider.h +0 -99
  447. package/src/headers/18/pipe_wrap.h +0 -80
  448. package/src/headers/18/req_wrap-inl.h +0 -170
  449. package/src/headers/18/spawn_sync.h +0 -242
  450. package/src/headers/18/stream_wrap.h +0 -133
  451. package/src/headers/18/string_decoder-inl.h +0 -37
  452. package/src/headers/18/string_decoder.h +0 -50
  453. package/src/headers/18/string_search.h +0 -638
  454. package/src/headers/18/tracing/node_trace_buffer.h +0 -83
  455. package/src/headers/18/tracing/node_trace_writer.h +0 -75
  456. package/src/headers/18/tracing/trace_event_common.h +0 -1109
  457. package/src/headers/18/tracing/traced_value.h +0 -70
  458. package/src/headers/18/udp_wrap.h +0 -227
  459. package/src/headers/18/v8abbr.h +0 -123
  460. /package/src/headers/{14 → 22}/aliased_struct-inl.h +0 -0
  461. /package/src/headers/{14 → 22}/aliased_struct.h +0 -0
  462. /package/src/headers/{16 → 22}/callback_queue-inl.h +0 -0
  463. /package/src/headers/{14 → 22}/connect_wrap.h +0 -0
  464. /package/src/headers/{14 → 22}/connection_wrap.h +0 -0
  465. /package/src/headers/{14 → 22}/diagnosticfilename-inl.h +0 -0
  466. /package/src/headers/{18 → 22}/histogram-inl.h +0 -0
  467. /package/src/headers/{14 → 22}/inspector_io.h +0 -0
  468. /package/src/headers/{14 → 22}/inspector_socket.h +0 -0
  469. /package/src/headers/{14 → 22}/inspector_socket_server.h +0 -0
  470. /package/src/headers/{14 → 22}/js_stream.h +0 -0
  471. /package/src/headers/{14 → 22}/node_dir.h +0 -0
  472. /package/src/headers/{14 → 22}/node_mem-inl.h +0 -0
  473. /package/src/headers/{16 → 22}/node_mem.h +0 -0
  474. /package/src/headers/{16 → 22}/node_mutex.h +0 -0
  475. /package/src/headers/{14 → 22}/node_object_wrap.h +0 -0
  476. /package/src/headers/{16 → 22}/node_process-inl.h +0 -0
  477. /package/src/headers/{18 → 22}/node_sockaddr-inl.h +0 -0
  478. /package/src/headers/{18 → 22}/node_wasm_web_api.h +0 -0
  479. /package/src/headers/{16 → 22}/pipe_wrap.h +0 -0
  480. /package/src/headers/{18 → 22}/req_wrap.h +0 -0
  481. /package/src/headers/{18 → 22}/timer_wrap-inl.h +0 -0
  482. /package/src/headers/{18 → 22}/timer_wrap.h +0 -0
  483. /package/src/headers/{18 → 22}/tracing/agent.h +0 -0
  484. /package/src/headers/{14 → 22}/tracing/trace_event_common.h +0 -0
  485. /package/src/headers/{18 → 22}/tty_wrap.h +0 -0
@@ -1,494 +0,0 @@
1
- #ifndef SRC_NODE_OPTIONS_H_
2
- #define SRC_NODE_OPTIONS_H_
3
-
4
- #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
-
6
- #include <memory>
7
- #include <string>
8
- #include <unordered_map>
9
- #include <vector>
10
- #include "node_constants.h"
11
- #include "node_mutex.h"
12
- #include "util.h"
13
-
14
- namespace node {
15
-
16
- class HostPort {
17
- public:
18
- HostPort(const std::string& host_name, int port)
19
- : host_name_(host_name), port_(port) {}
20
- HostPort(const HostPort&) = default;
21
- HostPort& operator=(const HostPort&) = default;
22
- HostPort(HostPort&&) = default;
23
- HostPort& operator=(HostPort&&) = default;
24
-
25
- void set_host(const std::string& host) { host_name_ = host; }
26
-
27
- void set_port(int port) { port_ = port; }
28
-
29
- const std::string& host() const { return host_name_; }
30
-
31
- int port() const {
32
- // TODO(joyeecheung): make port a uint16_t
33
- CHECK_GE(port_, 0);
34
- return port_;
35
- }
36
-
37
- void Update(const HostPort& other) {
38
- if (!other.host_name_.empty()) host_name_ = other.host_name_;
39
- if (other.port_ >= 0) port_ = other.port_;
40
- }
41
-
42
- private:
43
- std::string host_name_;
44
- int port_;
45
- };
46
-
47
- class Options {
48
- public:
49
- virtual void CheckOptions(std::vector<std::string>* errors) {}
50
- virtual ~Options() = default;
51
- };
52
-
53
- struct InspectPublishUid {
54
- bool console;
55
- bool http;
56
- };
57
-
58
- // These options are currently essentially per-Environment, but it can be nice
59
- // to keep them separate since they are a group of options applying to a very
60
- // specific part of Node. It might also make more sense for them to be
61
- // per-Isolate, rather than per-Environment.
62
- class DebugOptions : public Options {
63
- public:
64
- DebugOptions() = default;
65
- DebugOptions(const DebugOptions&) = default;
66
- DebugOptions& operator=(const DebugOptions&) = default;
67
- DebugOptions(DebugOptions&&) = default;
68
- DebugOptions& operator=(DebugOptions&&) = default;
69
-
70
- // --inspect
71
- bool inspector_enabled = false;
72
- // --debug
73
- bool deprecated_debug = false;
74
- // --inspect-brk
75
- bool break_first_line = false;
76
- // --inspect-brk-node
77
- bool break_node_first_line = false;
78
- // --inspect-publish-uid
79
- std::string inspect_publish_uid_string = "stderr,http";
80
-
81
- InspectPublishUid inspect_publish_uid;
82
-
83
- enum { kDefaultInspectorPort = 9229 };
84
-
85
- HostPort host_port{"127.0.0.1", kDefaultInspectorPort};
86
-
87
- // Used to patch the options as if --inspect-brk is passed.
88
- void EnableBreakFirstLine() {
89
- inspector_enabled = true;
90
- break_first_line = true;
91
- }
92
-
93
- bool wait_for_connect() const {
94
- return break_first_line || break_node_first_line;
95
- }
96
-
97
- void CheckOptions(std::vector<std::string>* errors) override;
98
- };
99
-
100
- class EnvironmentOptions : public Options {
101
- public:
102
- bool abort_on_uncaught_exception = false;
103
- std::vector<std::string> conditions;
104
- std::string dns_result_order;
105
- bool enable_source_maps = false;
106
- bool experimental_json_modules = false;
107
- bool experimental_modules = false;
108
- std::string experimental_specifier_resolution;
109
- bool experimental_wasm_modules = false;
110
- bool experimental_import_meta_resolve = false;
111
- std::string module_type;
112
- std::string experimental_policy;
113
- std::string experimental_policy_integrity;
114
- bool has_policy_integrity_string;
115
- bool experimental_repl_await = true;
116
- bool experimental_vm_modules = false;
117
- bool expose_internals = false;
118
- bool frozen_intrinsics = false;
119
- int64_t heap_snapshot_near_heap_limit = 0;
120
- std::string heap_snapshot_signal;
121
- uint64_t max_http_header_size = 16 * 1024;
122
- bool deprecation = true;
123
- bool force_async_hooks_checks = true;
124
- bool allow_native_addons = true;
125
- bool global_search_paths = true;
126
- bool warnings = true;
127
- bool force_context_aware = false;
128
- bool pending_deprecation = false;
129
- bool preserve_symlinks = false;
130
- bool preserve_symlinks_main = false;
131
- bool prof_process = false;
132
- #if HAVE_INSPECTOR
133
- std::string cpu_prof_dir;
134
- static const uint64_t kDefaultCpuProfInterval = 1000;
135
- uint64_t cpu_prof_interval = kDefaultCpuProfInterval;
136
- std::string cpu_prof_name;
137
- bool cpu_prof = false;
138
- std::string heap_prof_dir;
139
- std::string heap_prof_name;
140
- static const uint64_t kDefaultHeapProfInterval = 512 * 1024;
141
- uint64_t heap_prof_interval = kDefaultHeapProfInterval;
142
- bool heap_prof = false;
143
- #endif // HAVE_INSPECTOR
144
- std::string redirect_warnings;
145
- std::string diagnostic_dir;
146
- bool test_udp_no_try_send = false;
147
- bool throw_deprecation = false;
148
- bool trace_atomics_wait = false;
149
- bool trace_deprecation = false;
150
- bool trace_exit = false;
151
- bool trace_sync_io = false;
152
- bool trace_tls = false;
153
- bool trace_uncaught = false;
154
- bool trace_warnings = false;
155
- std::string unhandled_rejections;
156
- std::string userland_loader;
157
- bool verify_base_objects =
158
- #ifdef DEBUG
159
- true;
160
- #else
161
- false;
162
- #endif // DEBUG
163
-
164
- bool syntax_check_only = false;
165
- bool has_eval_string = false;
166
- bool experimental_wasi = false;
167
- std::string eval_string;
168
- bool print_eval = false;
169
- bool force_repl = false;
170
-
171
- bool insecure_http_parser = false;
172
-
173
- bool tls_min_v1_0 = false;
174
- bool tls_min_v1_1 = false;
175
- bool tls_min_v1_2 = false;
176
- bool tls_min_v1_3 = false;
177
- bool tls_max_v1_2 = false;
178
- bool tls_max_v1_3 = false;
179
- std::string tls_keylog;
180
-
181
- std::vector<std::string> preload_modules;
182
-
183
- std::vector<std::string> user_argv;
184
-
185
- inline DebugOptions* get_debug_options() { return &debug_options_; }
186
- inline const DebugOptions& debug_options() const { return debug_options_; }
187
-
188
- void CheckOptions(std::vector<std::string>* errors) override;
189
-
190
- private:
191
- DebugOptions debug_options_;
192
- };
193
-
194
- class PerIsolateOptions : public Options {
195
- public:
196
- std::shared_ptr<EnvironmentOptions> per_env { new EnvironmentOptions() };
197
- bool track_heap_objects = false;
198
- bool node_snapshot = true;
199
- bool report_uncaught_exception = false;
200
- bool report_on_signal = false;
201
- bool experimental_top_level_await = true;
202
- std::string report_signal = "SIGUSR2";
203
- inline EnvironmentOptions* get_per_env_options();
204
- void CheckOptions(std::vector<std::string>* errors) override;
205
- };
206
-
207
- class PerProcessOptions : public Options {
208
- public:
209
- // Options shouldn't be here unless they affect the entire process scope, and
210
- // that should avoided when possible.
211
- //
212
- // When an option is used during process initialization, it does not need
213
- // protection, but any use after that will likely require synchronization
214
- // using the node::per_process::cli_options_mutex, typically:
215
- //
216
- // Mutex::ScopedLock lock(node::per_process::cli_options_mutex);
217
- std::shared_ptr<PerIsolateOptions> per_isolate { new PerIsolateOptions() };
218
-
219
- std::string title;
220
- std::string trace_event_categories;
221
- std::string trace_event_file_pattern = "node_trace.${rotation}.log";
222
- int64_t v8_thread_pool_size = 4;
223
- bool zero_fill_all_buffers = false;
224
- bool debug_arraybuffer_allocations = false;
225
- std::string disable_proto;
226
-
227
- std::vector<std::string> security_reverts;
228
- bool print_bash_completion = false;
229
- bool print_help = false;
230
- bool print_v8_help = false;
231
- bool print_version = false;
232
-
233
- #ifdef NODE_HAVE_I18N_SUPPORT
234
- std::string icu_data_dir;
235
- #endif
236
-
237
- // Per-process because they affect singleton OpenSSL shared library state,
238
- // or are used once during process initialization.
239
- #if HAVE_OPENSSL
240
- std::string openssl_config;
241
- std::string tls_cipher_list = DEFAULT_CIPHER_LIST_CORE;
242
- int64_t secure_heap = 0;
243
- int64_t secure_heap_min = 2;
244
- #ifdef NODE_OPENSSL_CERT_STORE
245
- bool ssl_openssl_cert_store = true;
246
- #else
247
- bool ssl_openssl_cert_store = false;
248
- #endif
249
- bool use_openssl_ca = false;
250
- bool use_bundled_ca = false;
251
- bool enable_fips_crypto = false;
252
- bool force_fips_crypto = false;
253
- #endif
254
-
255
- // Per-process because reports can be triggered outside a known V8 context.
256
- bool report_on_fatalerror = false;
257
- bool report_compact = false;
258
- std::string report_directory;
259
- std::string report_filename;
260
-
261
- // TODO(addaleax): Some of these could probably be per-Environment.
262
- std::string use_largepages = "off";
263
- bool trace_sigint = false;
264
- std::vector<std::string> cmdline;
265
-
266
- inline PerIsolateOptions* get_per_isolate_options();
267
- void CheckOptions(std::vector<std::string>* errors) override;
268
- };
269
-
270
- // The actual options parser, as opposed to the structs containing them:
271
-
272
- namespace options_parser {
273
-
274
- HostPort SplitHostPort(const std::string& arg,
275
- std::vector<std::string>* errors);
276
- void GetOptions(const v8::FunctionCallbackInfo<v8::Value>& args);
277
- std::string GetBashCompletion();
278
-
279
- enum OptionType {
280
- kNoOp,
281
- kV8Option,
282
- kBoolean,
283
- kInteger,
284
- kUInteger,
285
- kString,
286
- kHostPort,
287
- kStringList,
288
- };
289
-
290
- template <typename Options>
291
- class OptionsParser {
292
- public:
293
- virtual ~OptionsParser() = default;
294
-
295
- typedef Options TargetType;
296
-
297
- struct NoOp {};
298
- struct V8Option {};
299
-
300
- // These methods add a single option to the parser. Optionally, it can be
301
- // specified whether the option should be allowed from environment variable
302
- // sources (i.e. NODE_OPTIONS).
303
- void AddOption(const char* name,
304
- const char* help_text,
305
- bool Options::* field,
306
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment,
307
- bool default_is_true = false);
308
- void AddOption(const char* name,
309
- const char* help_text,
310
- uint64_t Options::* field,
311
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
312
- void AddOption(const char* name,
313
- const char* help_text,
314
- int64_t Options::* field,
315
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
316
- void AddOption(const char* name,
317
- const char* help_text,
318
- std::string Options::* field,
319
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
320
- void AddOption(const char* name,
321
- const char* help_text,
322
- std::vector<std::string> Options::* field,
323
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
324
- void AddOption(const char* name,
325
- const char* help_text,
326
- HostPort Options::* field,
327
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
328
- void AddOption(const char* name,
329
- const char* help_text,
330
- NoOp no_op_tag,
331
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
332
- void AddOption(const char* name,
333
- const char* help_text,
334
- V8Option v8_option_tag,
335
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
336
-
337
- // Adds aliases. An alias can be of the form "--option-a" -> "--option-b",
338
- // or have a more complex group expansion, like
339
- // "--option-a" -> { "--option-b", "--harmony-foobar", "--eval", "42" }
340
- // If `from` has the form "--option-a=", the alias will only be expanded if
341
- // the option is presented in that form (i.e. with a '=').
342
- // If `from` has the form "--option-a <arg>", the alias will only be expanded
343
- // if the option has a non-option argument (not starting with -) following it.
344
- void AddAlias(const char* from, const char* to);
345
- void AddAlias(const char* from, const std::vector<std::string>& to);
346
- void AddAlias(const char* from,
347
- const std::initializer_list<std::string>& to);
348
-
349
- // Add implications from some arbitrary option to a boolean one, either
350
- // in a way that makes `from` set `to` to true or to false.
351
- void Implies(const char* from, const char* to);
352
- void ImpliesNot(const char* from, const char* to);
353
-
354
- // Insert options from another options parser into this one, along with
355
- // a method that yields the target options type from this parser's options
356
- // type.
357
- template <typename ChildOptions>
358
- void Insert(const OptionsParser<ChildOptions>& child_options_parser,
359
- ChildOptions* (Options::* get_child)());
360
-
361
- // Parse a sequence of options into an options struct, a list of
362
- // arguments that were parsed as options, a list of unknown/JS engine options,
363
- // and leave the remainder in the input `args` vector.
364
- //
365
- // For example, an `args` input of
366
- //
367
- // node --foo --harmony-bar --fizzle=42 -- /path/to/cow moo
368
- //
369
- // expands as
370
- //
371
- // - `args` -> { "node", "/path/to/cow", "moo" }
372
- // - `exec_args` -> { "--foo", "--harmony-bar", "--fizzle=42" }
373
- // - `v8_args` -> `{ "node", "--harmony-bar" }
374
- // - `options->foo == true`, `options->fizzle == 42`.
375
- //
376
- // If `*error` is set, the result of the parsing should be discarded and the
377
- // contents of any of the argument vectors should be considered undefined.
378
- void Parse(std::vector<std::string>* const args,
379
- std::vector<std::string>* const exec_args,
380
- std::vector<std::string>* const v8_args,
381
- Options* const options,
382
- OptionEnvvarSettings required_env_settings,
383
- std::vector<std::string>* const errors) const;
384
-
385
- private:
386
- // We support the wide variety of different option types by remembering
387
- // how to access them, given a certain `Options` struct.
388
-
389
- // Represents a field within `Options`.
390
- class BaseOptionField {
391
- public:
392
- virtual ~BaseOptionField() = default;
393
- virtual void* LookupImpl(Options* options) const = 0;
394
-
395
- template <typename T>
396
- inline T* Lookup(Options* options) const {
397
- return static_cast<T*>(LookupImpl(options));
398
- }
399
- };
400
-
401
- // Represents a field of type T within `Options` that can be looked up
402
- // as a C++ member field.
403
- template <typename T>
404
- class SimpleOptionField : public BaseOptionField {
405
- public:
406
- explicit SimpleOptionField(T Options::* field) : field_(field) {}
407
- void* LookupImpl(Options* options) const override {
408
- return static_cast<void*>(&(options->*field_));
409
- }
410
-
411
- private:
412
- T Options::* field_;
413
- };
414
-
415
- template <typename T>
416
- inline T* Lookup(std::shared_ptr<BaseOptionField> field,
417
- Options* options) const {
418
- return field->template Lookup<T>(options);
419
- }
420
-
421
- // An option consists of:
422
- // - A type.
423
- // - A way to store/access the property value.
424
- // - The information of whether it may occur in an env var or not.
425
- struct OptionInfo {
426
- OptionType type;
427
- std::shared_ptr<BaseOptionField> field;
428
- OptionEnvvarSettings env_setting;
429
- std::string help_text;
430
- bool default_is_true = false;
431
- };
432
-
433
- // An implied option is composed of the information on where to store a
434
- // specific boolean value (if another specific option is encountered).
435
- struct Implication {
436
- OptionType type;
437
- std::string name;
438
- std::shared_ptr<BaseOptionField> target_field;
439
- bool target_value;
440
- };
441
-
442
- // These are helpers that make `Insert()` support properties of other
443
- // options structs, if we know how to access them.
444
- template <typename OriginalField, typename ChildOptions>
445
- static auto Convert(
446
- std::shared_ptr<OriginalField> original,
447
- ChildOptions* (Options::* get_child)());
448
- template <typename ChildOptions>
449
- static auto Convert(
450
- typename OptionsParser<ChildOptions>::OptionInfo original,
451
- ChildOptions* (Options::* get_child)());
452
- template <typename ChildOptions>
453
- static auto Convert(
454
- typename OptionsParser<ChildOptions>::Implication original,
455
- ChildOptions* (Options::* get_child)());
456
-
457
- std::unordered_map<std::string, OptionInfo> options_;
458
- std::unordered_map<std::string, std::vector<std::string>> aliases_;
459
- std::unordered_multimap<std::string, Implication> implications_;
460
-
461
- template <typename OtherOptions>
462
- friend class OptionsParser;
463
-
464
- friend void GetOptions(const v8::FunctionCallbackInfo<v8::Value>& args);
465
- friend std::string GetBashCompletion();
466
- };
467
-
468
- using StringVector = std::vector<std::string>;
469
- template <class OptionsType, class = Options>
470
- void Parse(
471
- StringVector* const args, StringVector* const exec_args,
472
- StringVector* const v8_args, OptionsType* const options,
473
- OptionEnvvarSettings required_env_settings, StringVector* const errors);
474
-
475
- } // namespace options_parser
476
-
477
- namespace per_process {
478
-
479
- extern Mutex cli_options_mutex;
480
- extern std::shared_ptr<PerProcessOptions> cli_options;
481
-
482
- } // namespace per_process
483
-
484
- void HandleEnvOptions(std::shared_ptr<EnvironmentOptions> env_options);
485
- void HandleEnvOptions(std::shared_ptr<EnvironmentOptions> env_options,
486
- std::function<std::string(const char*)> opt_getter);
487
-
488
- std::vector<std::string> ParseNodeOptionsEnvVar(
489
- const std::string& node_options, std::vector<std::string>* errors);
490
- } // namespace node
491
-
492
- #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
493
-
494
- #endif // SRC_NODE_OPTIONS_H_
@@ -1,185 +0,0 @@
1
- #ifndef SRC_NODE_PERF_H_
2
- #define SRC_NODE_PERF_H_
3
-
4
- #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
-
6
- #include "base_object-inl.h"
7
- #include "histogram.h"
8
- #include "node.h"
9
- #include "node_internals.h"
10
- #include "node_perf_common.h"
11
-
12
- #include "v8.h"
13
- #include "uv.h"
14
-
15
- #include <string>
16
-
17
- namespace node {
18
-
19
- class Environment;
20
- class ExternalReferenceRegistry;
21
-
22
- namespace performance {
23
-
24
- extern const uint64_t timeOrigin;
25
-
26
- inline const char* GetPerformanceMilestoneName(
27
- PerformanceMilestone milestone) {
28
- switch (milestone) {
29
- #define V(name, label) case NODE_PERFORMANCE_MILESTONE_##name: return label;
30
- NODE_PERFORMANCE_MILESTONES(V)
31
- #undef V
32
- default:
33
- UNREACHABLE();
34
- }
35
- }
36
-
37
- inline PerformanceMilestone ToPerformanceMilestoneEnum(const char* str) {
38
- #define V(name, label) \
39
- if (strcmp(str, label) == 0) return NODE_PERFORMANCE_MILESTONE_##name;
40
- NODE_PERFORMANCE_MILESTONES(V)
41
- #undef V
42
- return NODE_PERFORMANCE_MILESTONE_INVALID;
43
- }
44
-
45
- inline const char* GetPerformanceEntryTypeName(
46
- PerformanceEntryType type) {
47
- switch (type) {
48
- #define V(name, label) case NODE_PERFORMANCE_ENTRY_TYPE_##name: return label;
49
- NODE_PERFORMANCE_ENTRY_TYPES(V)
50
- #undef V
51
- default:
52
- UNREACHABLE();
53
- }
54
- }
55
-
56
- inline PerformanceEntryType ToPerformanceEntryTypeEnum(
57
- const char* type) {
58
- #define V(name, label) \
59
- if (strcmp(type, label) == 0) return NODE_PERFORMANCE_ENTRY_TYPE_##name;
60
- NODE_PERFORMANCE_ENTRY_TYPES(V)
61
- #undef V
62
- return NODE_PERFORMANCE_ENTRY_TYPE_INVALID;
63
- }
64
-
65
- enum PerformanceGCKind {
66
- NODE_PERFORMANCE_GC_MAJOR = v8::GCType::kGCTypeMarkSweepCompact,
67
- NODE_PERFORMANCE_GC_MINOR = v8::GCType::kGCTypeScavenge,
68
- NODE_PERFORMANCE_GC_INCREMENTAL = v8::GCType::kGCTypeIncrementalMarking,
69
- NODE_PERFORMANCE_GC_WEAKCB = v8::GCType::kGCTypeProcessWeakCallbacks
70
- };
71
-
72
- enum PerformanceGCFlags {
73
- NODE_PERFORMANCE_GC_FLAGS_NO =
74
- v8::GCCallbackFlags::kNoGCCallbackFlags,
75
- NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED =
76
- v8::GCCallbackFlags::kGCCallbackFlagConstructRetainedObjectInfos,
77
- NODE_PERFORMANCE_GC_FLAGS_FORCED =
78
- v8::GCCallbackFlags::kGCCallbackFlagForced,
79
- NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING =
80
- v8::GCCallbackFlags::kGCCallbackFlagSynchronousPhantomCallbackProcessing,
81
- NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE =
82
- v8::GCCallbackFlags::kGCCallbackFlagCollectAllAvailableGarbage,
83
- NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY =
84
- v8::GCCallbackFlags::kGCCallbackFlagCollectAllExternalMemory,
85
- NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE =
86
- v8::GCCallbackFlags::kGCCallbackScheduleIdleGarbageCollection
87
- };
88
-
89
- template <typename Traits>
90
- struct PerformanceEntry {
91
- using Details = typename Traits::Details;
92
- std::string name;
93
- double start_time;
94
- double duration;
95
- Details details;
96
-
97
- PerformanceEntry(
98
- const std::string& name_,
99
- double start_time_,
100
- double duration_,
101
- const Details& details_)
102
- : name(name_),
103
- start_time(start_time_),
104
- duration(duration_),
105
- details(details_) {}
106
-
107
- static v8::MaybeLocal<v8::Object> GetDetails(
108
- Environment* env,
109
- const PerformanceEntry<Traits>& entry) {
110
- return Traits::GetDetails(env, entry);
111
- }
112
-
113
- void Notify(Environment* env) {
114
- v8::HandleScope handle_scope(env->isolate());
115
- v8::Context::Scope scope(env->context());
116
- AliasedUint32Array& observers = env->performance_state()->observers;
117
- if (env->performance_entry_callback().IsEmpty() ||
118
- !observers[Traits::kType]) {
119
- return;
120
- }
121
-
122
- v8::Local<v8::Object> detail;
123
- if (!Traits::GetDetails(env, *this).ToLocal(&detail)) {
124
- // TODO(@jasnell): Handle the error here
125
- return;
126
- }
127
-
128
- v8::Local<v8::Value> argv[] = {
129
- OneByteString(env->isolate(), name.c_str()),
130
- OneByteString(env->isolate(), GetPerformanceEntryTypeName(Traits::kType)),
131
- v8::Number::New(env->isolate(), start_time),
132
- v8::Number::New(env->isolate(), duration),
133
- detail
134
- };
135
-
136
- node::MakeSyncCallback(
137
- env->isolate(),
138
- env->context()->Global(),
139
- env->performance_entry_callback(),
140
- arraysize(argv),
141
- argv);
142
- }
143
- };
144
-
145
- struct GCPerformanceEntryTraits {
146
- static constexpr PerformanceEntryType kType =
147
- NODE_PERFORMANCE_ENTRY_TYPE_GC;
148
- struct Details {
149
- PerformanceGCKind kind;
150
- PerformanceGCFlags flags;
151
-
152
- Details(PerformanceGCKind kind_, PerformanceGCFlags flags_)
153
- : kind(kind_), flags(flags_) {}
154
- };
155
-
156
- static v8::MaybeLocal<v8::Object> GetDetails(
157
- Environment* env,
158
- const PerformanceEntry<GCPerformanceEntryTraits>& entry);
159
- };
160
-
161
- using GCPerformanceEntry = PerformanceEntry<GCPerformanceEntryTraits>;
162
-
163
- class ELDHistogram : public IntervalHistogram {
164
- public:
165
- static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
166
- static void Initialize(Environment* env, v8::Local<v8::Object> target);
167
- static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
168
-
169
- ELDHistogram(
170
- Environment* env,
171
- v8::Local<v8::Object> wrap,
172
- int64_t interval);
173
-
174
- void OnInterval() override;
175
-
176
- SET_MEMORY_INFO_NAME(ELDHistogram)
177
- SET_SELF_SIZE(ELDHistogram)
178
- };
179
-
180
- } // namespace performance
181
- } // namespace node
182
-
183
- #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
184
-
185
- #endif // SRC_NODE_PERF_H_