@encharm/cws 4.0.2 → 4.3.0

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 (410) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/LICENSE +3 -2
  3. package/README.md +9 -2
  4. package/binding.gyp +2 -2
  5. package/dist/bindings/cws_darwin_arm64_node108.node +0 -0
  6. package/dist/bindings/cws_darwin_arm64_node64.node +0 -0
  7. package/dist/bindings/cws_darwin_arm64_node72.node +0 -0
  8. package/dist/bindings/cws_darwin_arm64_node79.node +0 -0
  9. package/dist/bindings/cws_darwin_arm64_node83.node +0 -0
  10. package/dist/bindings/cws_darwin_arm64_node93.node +0 -0
  11. package/dist/bindings/cws_darwin_x64_node108.node +0 -0
  12. package/dist/bindings/cws_darwin_x64_node64.node +0 -0
  13. package/dist/bindings/cws_darwin_x64_node72.node +0 -0
  14. package/dist/bindings/cws_darwin_x64_node79.node +0 -0
  15. package/dist/bindings/cws_darwin_x64_node83.node +0 -0
  16. package/dist/bindings/cws_darwin_x64_node93.node +0 -0
  17. package/dist/bindings/cws_linux_x64_node108.node +0 -0
  18. package/dist/bindings/cws_linux_x64_node64.node +0 -0
  19. package/dist/bindings/cws_linux_x64_node72.node +0 -0
  20. package/dist/bindings/cws_linux_x64_node79.node +0 -0
  21. package/dist/bindings/cws_linux_x64_node83.node +0 -0
  22. package/dist/bindings/cws_linux_x64_node93.node +0 -0
  23. package/dist/bindings/cws_win32_x64_node108.node +0 -0
  24. package/dist/bindings/cws_win32_x64_node64.node +0 -0
  25. package/dist/bindings/cws_win32_x64_node72.node +0 -0
  26. package/dist/bindings/cws_win32_x64_node79.node +0 -0
  27. package/dist/bindings/cws_win32_x64_node83.node +0 -0
  28. package/dist/bindings/cws_win32_x64_node93.node +0 -0
  29. package/dist/client.d.ts +1 -0
  30. package/dist/client.js +4 -0
  31. package/dist/index.js +3 -2
  32. package/dist/server.js +1 -0
  33. package/dist/shared.js +2 -1
  34. package/package.json +1 -1
  35. package/src/Addon.cpp +1 -0
  36. package/src/Addon.h +35 -2
  37. package/src/HTTPSocket.cpp +1 -1
  38. package/src/LICENSE +4 -0
  39. package/src/Socket.h +12 -3
  40. package/src/headers/{13 → 18}/aliased_buffer.h +61 -9
  41. package/src/headers/18/aliased_struct-inl.h +54 -0
  42. package/src/headers/18/aliased_struct.h +63 -0
  43. package/src/headers/{12 → 18}/async_wrap-inl.h +0 -0
  44. package/src/headers/{12 → 18}/async_wrap.h +26 -2
  45. package/src/headers/{12/base64.h → 18/base64-inl.h} +78 -86
  46. package/src/headers/18/base64.h +69 -0
  47. package/src/headers/{12 → 18}/base_object-inl.h +46 -25
  48. package/src/headers/{12 → 18}/base_object.h +82 -17
  49. package/src/headers/{12 → 18}/callback_queue-inl.h +9 -9
  50. package/src/headers/{12 → 18}/callback_queue.h +13 -5
  51. package/src/headers/18/cares_wrap.h +523 -0
  52. package/src/headers/{12 → 18}/connect_wrap.h +0 -0
  53. package/src/headers/{12 → 18}/connection_wrap.h +0 -0
  54. package/src/headers/18/crypto/crypto_aes.h +89 -0
  55. package/src/headers/{13/node_crypto_bio.h → 18/crypto/crypto_bio.h} +3 -4
  56. package/src/headers/18/crypto/crypto_cipher.h +291 -0
  57. package/src/headers/{13/node_crypto_clienthello-inl.h → 18/crypto/crypto_clienthello-inl.h} +4 -5
  58. package/src/headers/{13/node_crypto_clienthello.h → 18/crypto/crypto_clienthello.h} +3 -4
  59. package/src/headers/{12/node_crypto_common.h → 18/crypto/crypto_common.h} +49 -36
  60. package/src/headers/18/crypto/crypto_context.h +147 -0
  61. package/src/headers/18/crypto/crypto_dh.h +156 -0
  62. package/src/headers/18/crypto/crypto_dsa.h +77 -0
  63. package/src/headers/18/crypto/crypto_ec.h +170 -0
  64. package/src/headers/{12/node_crypto_groups.h → 18/crypto/crypto_groups.h} +3 -3
  65. package/src/headers/18/crypto/crypto_hash.h +89 -0
  66. package/src/headers/18/crypto/crypto_hkdf.h +65 -0
  67. package/src/headers/18/crypto/crypto_hmac.h +94 -0
  68. package/src/headers/18/crypto/crypto_keygen.h +305 -0
  69. package/src/headers/18/crypto/crypto_keys.h +420 -0
  70. package/src/headers/18/crypto/crypto_pbkdf2.h +76 -0
  71. package/src/headers/18/crypto/crypto_random.h +130 -0
  72. package/src/headers/18/crypto/crypto_rsa.h +141 -0
  73. package/src/headers/18/crypto/crypto_scrypt.h +87 -0
  74. package/src/headers/18/crypto/crypto_sig.h +168 -0
  75. package/src/headers/18/crypto/crypto_spkac.h +21 -0
  76. package/src/headers/18/crypto/crypto_timing.h +20 -0
  77. package/src/headers/{12/tls_wrap.h → 18/crypto/crypto_tls.h} +137 -66
  78. package/src/headers/18/crypto/crypto_util.h +791 -0
  79. package/src/headers/18/crypto/crypto_x509.h +143 -0
  80. package/src/headers/{12 → 18}/debug_utils-inl.h +0 -0
  81. package/src/headers/{13 → 18}/debug_utils.h +7 -4
  82. package/src/headers/{12 → 18}/diagnosticfilename-inl.h +0 -0
  83. package/src/headers/{12 → 18}/env-inl.h +397 -304
  84. package/src/headers/{12 → 18}/env.h +397 -172
  85. package/src/headers/{12 → 18}/handle_wrap.h +7 -3
  86. package/src/headers/18/histogram-inl.h +107 -0
  87. package/src/headers/18/histogram.h +239 -0
  88. package/src/headers/{13 → 18}/inspector_agent.h +4 -7
  89. package/src/headers/{12 → 18}/inspector_io.h +0 -0
  90. package/src/headers/{13 → 18}/inspector_profiler.h +17 -5
  91. package/src/headers/{12 → 18}/inspector_socket.h +0 -0
  92. package/src/headers/{12 → 18}/inspector_socket_server.h +0 -0
  93. package/src/headers/18/js_native_api.h +571 -0
  94. package/src/headers/{13 → 18}/js_native_api_types.h +30 -7
  95. package/src/headers/{12 → 18}/js_native_api_v8.h +220 -83
  96. package/src/headers/{12 → 18}/js_native_api_v8_internals.h +6 -5
  97. package/src/headers/{12 → 18}/js_stream.h +0 -0
  98. package/src/headers/{12 → 18}/json_utils.h +0 -0
  99. package/src/headers/{13 → 18}/memory_tracker-inl.h +6 -5
  100. package/src/headers/{13 → 18}/memory_tracker.h +0 -7
  101. package/src/headers/{13 → 18}/module_wrap.h +24 -7
  102. package/src/headers/{13 → 18}/node.h +329 -68
  103. package/src/headers/18/node_api.h +288 -0
  104. package/src/headers/18/node_api_internals.h +38 -0
  105. package/src/headers/{12 → 18}/node_api_types.h +12 -9
  106. package/src/headers/{12 → 18}/node_binding.h +0 -0
  107. package/src/headers/18/node_blob.h +191 -0
  108. package/src/headers/18/node_bob-inl.h +37 -0
  109. package/src/headers/18/node_bob.h +111 -0
  110. package/src/headers/{13 → 18}/node_buffer.h +0 -0
  111. package/src/headers/{13 → 18}/node_constants.h +5 -1
  112. package/src/headers/{12 → 18}/node_context_data.h +5 -0
  113. package/src/headers/{12 → 18}/node_contextify.h +37 -2
  114. package/src/headers/{10/node_javascript.h → 18/node_crypto.h} +30 -14
  115. package/src/headers/{12 → 18}/node_dir.h +0 -0
  116. package/src/headers/{12 → 18}/node_dtrace.h +0 -0
  117. package/src/headers/{12 → 18}/node_errors.h +90 -24
  118. package/src/headers/18/node_external_reference.h +145 -0
  119. package/src/headers/{13 → 18}/node_file-inl.h +38 -21
  120. package/src/headers/{12 → 18}/node_file.h +74 -13
  121. package/src/headers/{13 → 18}/node_http2.h +365 -269
  122. package/src/headers/{12 → 18}/node_http2_state.h +40 -50
  123. package/src/headers/{13 → 18}/node_http_common-inl.h +25 -5
  124. package/src/headers/{13 → 18}/node_http_common.h +24 -20
  125. package/src/headers/{13 → 18}/node_i18n.h +2 -1
  126. package/src/headers/{12 → 18}/node_internals.h +39 -41
  127. package/src/headers/{12 → 18}/node_main_instance.h +15 -18
  128. package/src/headers/{12 → 18}/node_mem-inl.h +0 -0
  129. package/src/headers/{12 → 18}/node_mem.h +1 -1
  130. package/src/headers/{13 → 18}/node_messaging.h +170 -23
  131. package/src/headers/{12 → 18}/node_metadata.h +17 -4
  132. package/src/headers/{12 → 18}/node_mutex.h +77 -1
  133. package/src/headers/{12 → 18}/node_native_module.h +11 -1
  134. package/src/headers/{12 → 18}/node_native_module_env.h +14 -8
  135. package/src/headers/{12 → 18}/node_object_wrap.h +0 -0
  136. package/src/headers/{13 → 18}/node_options-inl.h +51 -21
  137. package/src/headers/{13 → 18}/node_options.h +46 -14
  138. package/src/headers/18/node_perf.h +168 -0
  139. package/src/headers/{12 → 18}/node_perf_common.h +16 -22
  140. package/src/headers/{12 → 18}/node_platform.h +21 -16
  141. package/src/headers/18/node_process-inl.h +26 -0
  142. package/src/headers/18/node_process.h +97 -0
  143. package/src/headers/{13 → 18}/node_report.h +2 -2
  144. package/src/headers/{13 → 18}/node_revert.h +10 -0
  145. package/src/headers/{12 → 18}/node_root_certs.h +439 -651
  146. package/src/headers/18/node_snapshot_builder.h +43 -0
  147. package/src/headers/18/node_snapshotable.h +130 -0
  148. package/src/headers/{12 → 18}/node_sockaddr-inl.h +100 -4
  149. package/src/headers/18/node_sockaddr.h +405 -0
  150. package/src/headers/{13 → 18}/node_stat_watcher.h +7 -1
  151. package/src/headers/{12 → 18}/node_union_bytes.h +0 -0
  152. package/src/headers/{13 → 18}/node_url.h +18 -1
  153. package/src/headers/18/node_v8.h +41 -0
  154. package/src/headers/{12 → 18}/node_v8_platform-inl.h +10 -0
  155. package/src/headers/{13 → 18}/node_version.h +7 -7
  156. package/src/headers/{12 → 18}/node_wasi.h +0 -0
  157. package/src/headers/18/node_wasm_web_api.h +55 -0
  158. package/src/headers/{13 → 18}/node_watchdog.h +0 -0
  159. package/src/headers/{10 → 18}/node_win32_etw_provider-inl.h +7 -6
  160. package/src/headers/{10 → 18}/node_win32_etw_provider.h +0 -0
  161. package/src/headers/{13 → 18}/node_worker.h +24 -17
  162. package/src/headers/{12 → 18}/pipe_wrap.h +2 -0
  163. package/src/headers/{12 → 18}/req_wrap-inl.h +0 -0
  164. package/src/headers/{13 → 18}/req_wrap.h +1 -1
  165. package/src/headers/{12 → 18}/spawn_sync.h +0 -0
  166. package/src/headers/{13 → 18}/stream_base-inl.h +58 -22
  167. package/src/headers/{13 → 18}/stream_base.h +29 -3
  168. package/src/headers/{13 → 18}/stream_pipe.h +8 -3
  169. package/src/headers/{12 → 18}/stream_wrap.h +4 -1
  170. package/src/headers/{13 → 18}/string_bytes.h +0 -7
  171. package/src/headers/{12 → 18}/string_decoder-inl.h +0 -0
  172. package/src/headers/{10 → 18}/string_decoder.h +0 -0
  173. package/src/headers/{13 → 18}/string_search.h +2 -2
  174. package/src/headers/{12 → 18}/tcp_wrap.h +4 -0
  175. package/src/headers/{12 → 18}/threadpoolwork-inl.h +0 -0
  176. package/src/headers/18/timer_wrap-inl.h +32 -0
  177. package/src/headers/18/timer_wrap.h +85 -0
  178. package/src/headers/{13 → 18}/tracing/agent.h +1 -1
  179. package/src/headers/{12 → 18}/tracing/node_trace_buffer.h +0 -0
  180. package/src/headers/{12 → 18}/tracing/node_trace_writer.h +0 -0
  181. package/src/headers/{13 → 18}/tracing/trace_event.h +23 -13
  182. package/src/headers/{12 → 18}/tracing/trace_event_common.h +0 -0
  183. package/src/headers/{12 → 18}/tracing/traced_value.h +0 -0
  184. package/src/headers/{13 → 18}/tty_wrap.h +2 -1
  185. package/src/headers/{13 → 18}/udp_wrap.h +5 -0
  186. package/src/headers/{13 → 18}/util-inl.h +69 -15
  187. package/src/headers/{13 → 18}/util.h +93 -31
  188. package/src/headers/18/v8-fast-api-calls.h +939 -0
  189. package/src/headers/{12 → 18}/v8abbr.h +2 -2
  190. package/dist/bindings/cws_darwin_64.node +0 -0
  191. package/dist/bindings/cws_darwin_72.node +0 -0
  192. package/dist/bindings/cws_darwin_79.node +0 -0
  193. package/dist/bindings/cws_darwin_83.node +0 -0
  194. package/dist/bindings/cws_darwin_93.node +0 -0
  195. package/dist/bindings/cws_linux_64.node +0 -0
  196. package/dist/bindings/cws_linux_72.node +0 -0
  197. package/dist/bindings/cws_linux_79.node +0 -0
  198. package/dist/bindings/cws_linux_83.node +0 -0
  199. package/dist/bindings/cws_linux_93.node +0 -0
  200. package/dist/bindings/cws_win32_64.node +0 -0
  201. package/dist/bindings/cws_win32_72.node +0 -0
  202. package/dist/bindings/cws_win32_79.node +0 -0
  203. package/dist/bindings/cws_win32_83.node +0 -0
  204. package/dist/bindings/cws_win32_93.node +0 -0
  205. package/src/headers/10/aliased_buffer.h +0 -241
  206. package/src/headers/10/async_wrap-inl.h +0 -106
  207. package/src/headers/10/async_wrap.h +0 -218
  208. package/src/headers/10/base64.h +0 -197
  209. package/src/headers/10/base_object-inl.h +0 -132
  210. package/src/headers/10/base_object.h +0 -115
  211. package/src/headers/10/connect_wrap.h +0 -28
  212. package/src/headers/10/connection_wrap.h +0 -30
  213. package/src/headers/10/debug_utils.h +0 -128
  214. package/src/headers/10/env-inl.h +0 -906
  215. package/src/headers/10/env.h +0 -1046
  216. package/src/headers/10/handle_wrap.h +0 -114
  217. package/src/headers/10/inspector_agent.h +0 -137
  218. package/src/headers/10/inspector_io.h +0 -97
  219. package/src/headers/10/inspector_socket.h +0 -59
  220. package/src/headers/10/inspector_socket_server.h +0 -104
  221. package/src/headers/10/js_stream.h +0 -57
  222. package/src/headers/10/memory_tracker-inl.h +0 -318
  223. package/src/headers/10/memory_tracker.h +0 -246
  224. package/src/headers/10/module_wrap.h +0 -100
  225. package/src/headers/10/node.h +0 -863
  226. package/src/headers/10/node_api.h +0 -752
  227. package/src/headers/10/node_api_types.h +0 -171
  228. package/src/headers/10/node_buffer.h +0 -90
  229. package/src/headers/10/node_code_cache.h +0 -17
  230. package/src/headers/10/node_constants.h +0 -74
  231. package/src/headers/10/node_context_data.h +0 -39
  232. package/src/headers/10/node_contextify.h +0 -141
  233. package/src/headers/10/node_counters.h +0 -59
  234. package/src/headers/10/node_crypto.h +0 -699
  235. package/src/headers/10/node_crypto_bio.h +0 -177
  236. package/src/headers/10/node_crypto_clienthello-inl.h +0 -92
  237. package/src/headers/10/node_crypto_clienthello.h +0 -131
  238. package/src/headers/10/node_crypto_groups.h +0 -416
  239. package/src/headers/10/node_dtrace.h +0 -84
  240. package/src/headers/10/node_errors.h +0 -118
  241. package/src/headers/10/node_file.h +0 -373
  242. package/src/headers/10/node_http2.h +0 -1304
  243. package/src/headers/10/node_http2_state.h +0 -158
  244. package/src/headers/10/node_i18n.h +0 -69
  245. package/src/headers/10/node_internals.h +0 -952
  246. package/src/headers/10/node_messaging.h +0 -219
  247. package/src/headers/10/node_mutex.h +0 -191
  248. package/src/headers/10/node_object_wrap.h +0 -130
  249. package/src/headers/10/node_options-inl.h +0 -444
  250. package/src/headers/10/node_options.h +0 -397
  251. package/src/headers/10/node_perf.h +0 -134
  252. package/src/headers/10/node_perf_common.h +0 -96
  253. package/src/headers/10/node_persistent.h +0 -30
  254. package/src/headers/10/node_platform.h +0 -170
  255. package/src/headers/10/node_revert.h +0 -75
  256. package/src/headers/10/node_root_certs.h +0 -3393
  257. package/src/headers/10/node_stat_watcher.h +0 -65
  258. package/src/headers/10/node_url.h +0 -193
  259. package/src/headers/10/node_version.h +0 -120
  260. package/src/headers/10/node_watchdog.h +0 -114
  261. package/src/headers/10/node_win32_perfctr_provider.h +0 -58
  262. package/src/headers/10/node_worker.h +0 -94
  263. package/src/headers/10/pipe_wrap.h +0 -76
  264. package/src/headers/10/req_wrap-inl.h +0 -166
  265. package/src/headers/10/req_wrap.h +0 -61
  266. package/src/headers/10/sharedarraybuffer_metadata.h +0 -67
  267. package/src/headers/10/spawn_sync.h +0 -240
  268. package/src/headers/10/stream_base-inl.h +0 -458
  269. package/src/headers/10/stream_base.h +0 -378
  270. package/src/headers/10/stream_pipe.h +0 -72
  271. package/src/headers/10/stream_wrap.h +0 -130
  272. package/src/headers/10/string_bytes.h +0 -126
  273. package/src/headers/10/string_decoder-inl.h +0 -38
  274. package/src/headers/10/string_search.h +0 -620
  275. package/src/headers/10/tcp_wrap.h +0 -99
  276. package/src/headers/10/tls_wrap.h +0 -195
  277. package/src/headers/10/tracing/agent.h +0 -178
  278. package/src/headers/10/tracing/node_trace_buffer.h +0 -83
  279. package/src/headers/10/tracing/node_trace_writer.h +0 -75
  280. package/src/headers/10/tracing/trace_event.h +0 -706
  281. package/src/headers/10/tracing/trace_event_common.h +0 -1102
  282. package/src/headers/10/tracing/traced_value.h +0 -68
  283. package/src/headers/10/tty_wrap.h +0 -63
  284. package/src/headers/10/udp_wrap.h +0 -102
  285. package/src/headers/10/util-inl.h +0 -459
  286. package/src/headers/10/util.h +0 -508
  287. package/src/headers/10/v8abbr.h +0 -121
  288. package/src/headers/12/aliased_buffer.h +0 -263
  289. package/src/headers/12/debug_utils.h +0 -181
  290. package/src/headers/12/histogram-inl.h +0 -83
  291. package/src/headers/12/histogram.h +0 -98
  292. package/src/headers/12/http_parser_adaptor.h +0 -24
  293. package/src/headers/12/inspector_agent.h +0 -147
  294. package/src/headers/12/inspector_profiler.h +0 -137
  295. package/src/headers/12/js_native_api.h +0 -541
  296. package/src/headers/12/js_native_api_types.h +0 -139
  297. package/src/headers/12/memory_tracker-inl.h +0 -339
  298. package/src/headers/12/memory_tracker.h +0 -283
  299. package/src/headers/12/module_wrap.h +0 -99
  300. package/src/headers/12/node.h +0 -887
  301. package/src/headers/12/node_api.h +0 -239
  302. package/src/headers/12/node_buffer.h +0 -92
  303. package/src/headers/12/node_constants.h +0 -80
  304. package/src/headers/12/node_crypto.h +0 -800
  305. package/src/headers/12/node_crypto_bio.h +0 -195
  306. package/src/headers/12/node_crypto_clienthello-inl.h +0 -91
  307. package/src/headers/12/node_crypto_clienthello.h +0 -132
  308. package/src/headers/12/node_file-inl.h +0 -289
  309. package/src/headers/12/node_http2.h +0 -1311
  310. package/src/headers/12/node_http_parser_impl.h +0 -994
  311. package/src/headers/12/node_i18n.h +0 -144
  312. package/src/headers/12/node_messaging.h +0 -227
  313. package/src/headers/12/node_options-inl.h +0 -447
  314. package/src/headers/12/node_options.h +0 -479
  315. package/src/headers/12/node_perf.h +0 -181
  316. package/src/headers/12/node_process.h +0 -41
  317. package/src/headers/12/node_report.h +0 -47
  318. package/src/headers/12/node_revert.h +0 -78
  319. package/src/headers/12/node_sockaddr.h +0 -123
  320. package/src/headers/12/node_stat_watcher.h +0 -66
  321. package/src/headers/12/node_url.h +0 -188
  322. package/src/headers/12/node_version.h +0 -98
  323. package/src/headers/12/node_watchdog.h +0 -152
  324. package/src/headers/12/node_win32_etw_provider-inl.h +0 -287
  325. package/src/headers/12/node_win32_etw_provider.h +0 -99
  326. package/src/headers/12/node_worker.h +0 -142
  327. package/src/headers/12/req_wrap.h +0 -77
  328. package/src/headers/12/sharedarraybuffer_metadata.h +0 -72
  329. package/src/headers/12/stream_base-inl.h +0 -323
  330. package/src/headers/12/stream_base.h +0 -431
  331. package/src/headers/12/stream_pipe.h +0 -72
  332. package/src/headers/12/string_bytes.h +0 -142
  333. package/src/headers/12/string_decoder.h +0 -50
  334. package/src/headers/12/string_search.h +0 -638
  335. package/src/headers/12/tracing/agent.h +0 -195
  336. package/src/headers/12/tracing/trace_event.h +0 -710
  337. package/src/headers/12/tty_wrap.h +0 -64
  338. package/src/headers/12/udp_wrap.h +0 -222
  339. package/src/headers/12/util-inl.h +0 -529
  340. package/src/headers/12/util.h +0 -765
  341. package/src/headers/13/async_wrap-inl.h +0 -94
  342. package/src/headers/13/async_wrap.h +0 -224
  343. package/src/headers/13/base64.h +0 -197
  344. package/src/headers/13/base_object-inl.h +0 -353
  345. package/src/headers/13/base_object.h +0 -229
  346. package/src/headers/13/connect_wrap.h +0 -26
  347. package/src/headers/13/connection_wrap.h +0 -30
  348. package/src/headers/13/debug_utils-inl.h +0 -223
  349. package/src/headers/13/diagnosticfilename-inl.h +0 -33
  350. package/src/headers/13/env-inl.h +0 -1293
  351. package/src/headers/13/env.h +0 -1469
  352. package/src/headers/13/handle_wrap.h +0 -117
  353. package/src/headers/13/histogram-inl.h +0 -83
  354. package/src/headers/13/histogram.h +0 -98
  355. package/src/headers/13/inspector_io.h +0 -78
  356. package/src/headers/13/inspector_socket.h +0 -60
  357. package/src/headers/13/inspector_socket_server.h +0 -110
  358. package/src/headers/13/js_native_api.h +0 -541
  359. package/src/headers/13/js_native_api_v8.h +0 -303
  360. package/src/headers/13/js_native_api_v8_internals.h +0 -38
  361. package/src/headers/13/js_stream.h +0 -52
  362. package/src/headers/13/json_utils.h +0 -160
  363. package/src/headers/13/node_api.h +0 -239
  364. package/src/headers/13/node_api_types.h +0 -44
  365. package/src/headers/13/node_binding.h +0 -99
  366. package/src/headers/13/node_context_data.h +0 -39
  367. package/src/headers/13/node_contextify.h +0 -161
  368. package/src/headers/13/node_crypto.h +0 -800
  369. package/src/headers/13/node_crypto_common.h +0 -138
  370. package/src/headers/13/node_crypto_groups.h +0 -415
  371. package/src/headers/13/node_dir.h +0 -52
  372. package/src/headers/13/node_dtrace.h +0 -86
  373. package/src/headers/13/node_errors.h +0 -210
  374. package/src/headers/13/node_file.h +0 -364
  375. package/src/headers/13/node_http2_state.h +0 -144
  376. package/src/headers/13/node_internals.h +0 -405
  377. package/src/headers/13/node_main_instance.h +0 -97
  378. package/src/headers/13/node_mem-inl.h +0 -112
  379. package/src/headers/13/node_mem.h +0 -41
  380. package/src/headers/13/node_metadata.h +0 -109
  381. package/src/headers/13/node_mutex.h +0 -247
  382. package/src/headers/13/node_native_module.h +0 -99
  383. package/src/headers/13/node_native_module_env.h +0 -65
  384. package/src/headers/13/node_object_wrap.h +0 -132
  385. package/src/headers/13/node_perf.h +0 -181
  386. package/src/headers/13/node_perf_common.h +0 -97
  387. package/src/headers/13/node_platform.h +0 -190
  388. package/src/headers/13/node_process.h +0 -41
  389. package/src/headers/13/node_root_certs.h +0 -3424
  390. package/src/headers/13/node_sockaddr-inl.h +0 -170
  391. package/src/headers/13/node_sockaddr.h +0 -123
  392. package/src/headers/13/node_union_bytes.h +0 -103
  393. package/src/headers/13/node_v8_platform-inl.h +0 -184
  394. package/src/headers/13/node_wasi.h +0 -108
  395. package/src/headers/13/node_win32_etw_provider-inl.h +0 -287
  396. package/src/headers/13/node_win32_etw_provider.h +0 -99
  397. package/src/headers/13/pipe_wrap.h +0 -78
  398. package/src/headers/13/req_wrap-inl.h +0 -170
  399. package/src/headers/13/spawn_sync.h +0 -242
  400. package/src/headers/13/stream_wrap.h +0 -130
  401. package/src/headers/13/string_decoder-inl.h +0 -37
  402. package/src/headers/13/string_decoder.h +0 -50
  403. package/src/headers/13/tcp_wrap.h +0 -101
  404. package/src/headers/13/threadpoolwork-inl.h +0 -57
  405. package/src/headers/13/tls_wrap.h +0 -221
  406. package/src/headers/13/tracing/node_trace_buffer.h +0 -83
  407. package/src/headers/13/tracing/node_trace_writer.h +0 -75
  408. package/src/headers/13/tracing/trace_event_common.h +0 -1109
  409. package/src/headers/13/tracing/traced_value.h +0 -70
  410. package/src/headers/13/v8abbr.h +0 -124
@@ -1,318 +0,0 @@
1
- #ifndef SRC_MEMORY_TRACKER_INL_H_
2
- #define SRC_MEMORY_TRACKER_INL_H_
3
-
4
- #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
-
6
- #include "memory_tracker.h"
7
-
8
- namespace node {
9
-
10
- // Fallback edge_name if node_name is not available, or "" if edge_name
11
- // is not available either.
12
- inline const char* GetNodeName(const char* node_name, const char* edge_name) {
13
- if (node_name != nullptr) {
14
- return node_name;
15
- }
16
- if (edge_name != nullptr) {
17
- return edge_name;
18
- }
19
- return "";
20
- }
21
-
22
- class MemoryRetainerNode : public v8::EmbedderGraph::Node {
23
- public:
24
- inline MemoryRetainerNode(MemoryTracker* tracker,
25
- const MemoryRetainer* retainer)
26
- : retainer_(retainer) {
27
- CHECK_NOT_NULL(retainer_);
28
- v8::HandleScope handle_scope(tracker->isolate());
29
- v8::Local<v8::Object> obj = retainer_->WrappedObject();
30
- if (!obj.IsEmpty()) wrapper_node_ = tracker->graph()->V8Node(obj);
31
-
32
- name_ = retainer_->MemoryInfoName();
33
- size_ = retainer_->SelfSize();
34
- }
35
-
36
- inline MemoryRetainerNode(MemoryTracker* tracker,
37
- const char* name,
38
- size_t size,
39
- bool is_root_node = false)
40
- : retainer_(nullptr) {
41
- name_ = name;
42
- size_ = size;
43
- is_root_node_ = is_root_node;
44
- }
45
-
46
- const char* Name() override { return name_.c_str(); }
47
- const char* NamePrefix() override { return "Node /"; }
48
- size_t SizeInBytes() override { return size_; }
49
- // TODO(addaleax): Merging this with the "official" WrapperNode() method
50
- // seems to lose accuracy, e.g. SizeInBytes() is disregarded.
51
- // Figure out whether to do anything about that.
52
- Node* JSWrapperNode() { return wrapper_node_; }
53
-
54
- bool IsRootNode() override {
55
- if (retainer_ != nullptr) {
56
- return retainer_->IsRootNode();
57
- }
58
- return is_root_node_;
59
- }
60
-
61
- private:
62
- friend class MemoryTracker;
63
-
64
- // If retainer_ is not nullptr, then it must have a wrapper_node_,
65
- // and we have
66
- // name_ == retainer_->MemoryInfoName()
67
- // size_ == retainer_->SelfSize()
68
- // is_root_node_ == retainer_->IsRootNode()
69
- const MemoryRetainer* retainer_;
70
- Node* wrapper_node_ = nullptr;
71
-
72
- // Otherwise (retainer == nullptr), we set these fields in an ad-hoc way
73
- bool is_root_node_ = false;
74
- std::string name_;
75
- size_t size_ = 0;
76
- };
77
-
78
- void MemoryTracker::TrackFieldWithSize(const char* edge_name,
79
- size_t size,
80
- const char* node_name) {
81
- if (size > 0) AddNode(GetNodeName(node_name, edge_name), size, edge_name);
82
- }
83
-
84
- void MemoryTracker::TrackField(const char* edge_name,
85
- const MemoryRetainer& value,
86
- const char* node_name) {
87
- TrackField(edge_name, &value);
88
- }
89
-
90
- void MemoryTracker::TrackField(const char* edge_name,
91
- const MemoryRetainer* value,
92
- const char* node_name) {
93
- if (value == nullptr) return;
94
- auto it = seen_.find(value);
95
- if (it != seen_.end()) {
96
- // For ABI compatibility, we did not backport the virtual function
97
- // AddEdge() with a name as last argument back to v10.x.
98
- graph_->AddEdge(CurrentNode(), it->second/*, edge_name */);
99
- } else {
100
- Track(value, edge_name);
101
- }
102
- }
103
-
104
- template <typename T>
105
- void MemoryTracker::TrackField(const char* edge_name,
106
- const std::unique_ptr<T>& value,
107
- const char* node_name) {
108
- if (value.get() == nullptr) {
109
- return;
110
- }
111
- TrackField(edge_name, value.get(), node_name);
112
- }
113
-
114
- template <typename T, typename Iterator>
115
- void MemoryTracker::TrackField(const char* edge_name,
116
- const T& value,
117
- const char* node_name,
118
- const char* element_name,
119
- bool subtract_from_self) {
120
- // If the container is empty, the size has been accounted into the parent's
121
- // self size
122
- if (value.begin() == value.end()) return;
123
- // Fall back to edge name if node names are not provided
124
- if (CurrentNode() != nullptr && subtract_from_self) {
125
- // Shift the self size of this container out to a separate node
126
- CurrentNode()->size_ -= sizeof(T);
127
- }
128
- PushNode(GetNodeName(node_name, edge_name), sizeof(T), edge_name);
129
- for (Iterator it = value.begin(); it != value.end(); ++it) {
130
- // Use nullptr as edge names so the elements appear as indexed properties
131
- TrackField(nullptr, *it, element_name);
132
- }
133
- PopNode();
134
- }
135
-
136
- template <typename T>
137
- void MemoryTracker::TrackField(const char* edge_name,
138
- const std::queue<T>& value,
139
- const char* node_name,
140
- const char* element_name) {
141
- struct ContainerGetter : public std::queue<T> {
142
- static const typename std::queue<T>::container_type& Get(
143
- const std::queue<T>& value) {
144
- return value.*&ContainerGetter::c;
145
- }
146
- };
147
-
148
- const auto& container = ContainerGetter::Get(value);
149
- TrackField(edge_name, container, node_name, element_name);
150
- }
151
-
152
- template <typename T, typename test_for_number, typename dummy>
153
- void MemoryTracker::TrackField(const char* edge_name,
154
- const T& value,
155
- const char* node_name) {
156
- // For numbers, creating new nodes is not worth the overhead.
157
- CurrentNode()->size_ += sizeof(T);
158
- }
159
-
160
- template <typename T, typename U>
161
- void MemoryTracker::TrackField(const char* edge_name,
162
- const std::pair<T, U>& value,
163
- const char* node_name) {
164
- PushNode(node_name == nullptr ? "pair" : node_name,
165
- sizeof(const std::pair<T, U>),
166
- edge_name);
167
- // TODO(joyeecheung): special case if one of these is a number type
168
- // that meets the test_for_number trait so that their sizes don't get
169
- // merged into the pair node
170
- TrackField("first", value.first);
171
- TrackField("second", value.second);
172
- PopNode();
173
- }
174
-
175
- template <typename T>
176
- void MemoryTracker::TrackField(const char* edge_name,
177
- const std::basic_string<T>& value,
178
- const char* node_name) {
179
- TrackFieldWithSize(edge_name, value.size() * sizeof(T), "std::basic_string");
180
- }
181
-
182
- template <typename T, typename Traits>
183
- void MemoryTracker::TrackField(const char* edge_name,
184
- const v8::Persistent<T, Traits>& value,
185
- const char* node_name) {
186
- TrackField(edge_name, value.Get(isolate_));
187
- }
188
-
189
- template <typename T>
190
- void MemoryTracker::TrackField(const char* edge_name,
191
- const v8::Local<T>& value,
192
- const char* node_name) {
193
- if (!value.IsEmpty()) {
194
- // For ABI compatibility, we did not backport the virtual function
195
- // AddEdge() with a name as last argument back to v10.x.
196
- graph_->AddEdge(CurrentNode(), graph_->V8Node(value)/*, edge_name */);
197
- }
198
- }
199
-
200
- template <typename T>
201
- void MemoryTracker::TrackField(const char* edge_name,
202
- const MallocedBuffer<T>& value,
203
- const char* node_name) {
204
- TrackFieldWithSize(edge_name, value.size, "MallocedBuffer");
205
- }
206
-
207
- void MemoryTracker::TrackField(const char* name,
208
- const uv_buf_t& value,
209
- const char* node_name) {
210
- TrackFieldWithSize(name, value.len, "uv_buf_t");
211
- }
212
-
213
- void MemoryTracker::TrackField(const char* name,
214
- const uv_timer_t& value,
215
- const char* node_name) {
216
- TrackFieldWithSize(name, sizeof(value), "uv_timer_t");
217
- }
218
-
219
- void MemoryTracker::TrackField(const char* name,
220
- const uv_async_t& value,
221
- const char* node_name) {
222
- TrackFieldWithSize(name, sizeof(value), "uv_async_t");
223
- }
224
-
225
- template <class NativeT, class V8T>
226
- void MemoryTracker::TrackField(const char* name,
227
- const AliasedBuffer<NativeT, V8T>& value,
228
- const char* node_name) {
229
- TrackField(name, value.GetJSArray(), "AliasedBuffer");
230
- }
231
-
232
- void MemoryTracker::Track(const MemoryRetainer* retainer,
233
- const char* edge_name) {
234
- v8::HandleScope handle_scope(isolate_);
235
- auto it = seen_.find(retainer);
236
- if (it != seen_.end()) {
237
- if (CurrentNode() != nullptr) {
238
- // For ABI compatibility, we did not backport the virtual function
239
- // AddEdge() with a name as last argument back to v10.x.
240
- graph_->AddEdge(CurrentNode(), it->second/*, edge_name */);
241
- }
242
- return; // It has already been tracked, no need to call MemoryInfo again
243
- }
244
- MemoryRetainerNode* n = PushNode(retainer, edge_name);
245
- retainer->MemoryInfo(this);
246
- CHECK_EQ(CurrentNode(), n);
247
- CHECK_NE(n->size_, 0);
248
- PopNode();
249
- }
250
-
251
- MemoryRetainerNode* MemoryTracker::CurrentNode() const {
252
- if (node_stack_.empty()) return nullptr;
253
- return node_stack_.top();
254
- }
255
-
256
- MemoryRetainerNode* MemoryTracker::AddNode(const MemoryRetainer* retainer,
257
- const char* edge_name) {
258
- auto it = seen_.find(retainer);
259
- if (it != seen_.end()) {
260
- return it->second;
261
- }
262
-
263
- MemoryRetainerNode* n = new MemoryRetainerNode(this, retainer);
264
- graph_->AddNode(std::unique_ptr<v8::EmbedderGraph::Node>(n));
265
- seen_[retainer] = n;
266
- if (CurrentNode() != nullptr) {
267
- // For ABI compatibility, we did not backport the virtual function
268
- // AddEdge() with a name as last argument back to v10.x.
269
- graph_->AddEdge(CurrentNode(), n/*, edge_name */);
270
- }
271
-
272
- if (n->JSWrapperNode() != nullptr) {
273
- graph_->AddEdge(n, n->JSWrapperNode()/*, "wrapped" */);
274
- graph_->AddEdge(n->JSWrapperNode(), n/*, "wrapper" */);
275
- }
276
-
277
- return n;
278
- }
279
-
280
- MemoryRetainerNode* MemoryTracker::AddNode(const char* node_name,
281
- size_t size,
282
- const char* edge_name) {
283
- MemoryRetainerNode* n = new MemoryRetainerNode(this, node_name, size);
284
- graph_->AddNode(std::unique_ptr<v8::EmbedderGraph::Node>(n));
285
-
286
- if (CurrentNode() != nullptr) {
287
- // For ABI compatibility, we did not backport the virtual function
288
- // AddEdge() with a name as last argument back to v10.x.
289
- graph_->AddEdge(CurrentNode(), n/*, edge_name*/);
290
- }
291
-
292
- return n;
293
- }
294
-
295
- MemoryRetainerNode* MemoryTracker::PushNode(const MemoryRetainer* retainer,
296
- const char* edge_name) {
297
- MemoryRetainerNode* n = AddNode(retainer, edge_name);
298
- node_stack_.push(n);
299
- return n;
300
- }
301
-
302
- MemoryRetainerNode* MemoryTracker::PushNode(const char* node_name,
303
- size_t size,
304
- const char* edge_name) {
305
- MemoryRetainerNode* n = AddNode(node_name, size, edge_name);
306
- node_stack_.push(n);
307
- return n;
308
- }
309
-
310
- void MemoryTracker::PopNode() {
311
- node_stack_.pop();
312
- }
313
-
314
- } // namespace node
315
-
316
- #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
317
-
318
- #endif // SRC_MEMORY_TRACKER_INL_H_
@@ -1,246 +0,0 @@
1
- #ifndef SRC_MEMORY_TRACKER_H_
2
- #define SRC_MEMORY_TRACKER_H_
3
-
4
- #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
-
6
- #include <unordered_map>
7
- #include <queue>
8
- #include <stack>
9
- #include <string>
10
- #include <limits>
11
- #include <uv.h>
12
- #include "aliased_buffer.h"
13
- #include "v8-profiler.h"
14
-
15
- namespace node {
16
-
17
- // Set the node name of a MemoryRetainer to klass
18
- #define SET_MEMORY_INFO_NAME(Klass) \
19
- inline std::string MemoryInfoName() const override { return #Klass; }
20
-
21
- // Set the self size of a MemoryRetainer to the stack-allocated size of a
22
- // certain class
23
- #define SET_SELF_SIZE(Klass) \
24
- inline size_t SelfSize() const override { return sizeof(Klass); }
25
-
26
- // Used when there is no additional fields to track
27
- #define SET_NO_MEMORY_INFO() \
28
- inline void MemoryInfo(node::MemoryTracker* tracker) const override {}
29
-
30
- class MemoryTracker;
31
- class MemoryRetainerNode;
32
-
33
- namespace crypto {
34
- class NodeBIO;
35
- }
36
-
37
- /* Example:
38
- *
39
- * class ExampleRetainer : public MemoryRetainer {
40
- * public:
41
- * // Or use SET_NO_MEMORY_INFO() when there is no additional fields
42
- * // to track.
43
- * void MemoryInfo(MemoryTracker* tracker) const override {
44
- * // Node name and size comes from the MemoryInfoName and SelfSize of
45
- * // AnotherRetainerClass
46
- * tracker->TrackField("another_retainer", another_retainer_);
47
- *
48
- * // Add non_pointer_retainer as a separate node into the graph
49
- * // and track its memory information recursively.
50
- * // Note that we need to make sure its size is not accounted in
51
- * // ExampleRetainer::SelfSize().
52
- * tracker->TrackField("non_pointer_retainer", &non_pointer_retainer_);
53
- *
54
- * // Specify node name and size explicitly
55
- * tracker->TrackFieldWithSize("internal_member",
56
- * internal_member_.size(),
57
- * "InternalClass");
58
- * // Node name falls back to the edge name,
59
- * // elements in the container appear as grandchildren nodes
60
- * tracker->TrackField("vector", vector_);
61
- * // Node name and size come from the JS object
62
- * tracker->TrackField("target", target_);
63
- * }
64
- *
65
- * // Or use SET_MEMORY_INFO_NAME(ExampleRetainer)
66
- * std::string MemoryInfoName() const override {
67
- * return "ExampleRetainer";
68
- * }
69
- *
70
- * // Classes that only want to return its sizeof() value can use the
71
- * // SET_SELF_SIZE(Class) macro instead.
72
- * size_t SelfSize() const override {
73
- * // We need to exclude the size of non_pointer_retainer so that
74
- * // we can track it separately in ExampleRetainer::MemoryInfo().
75
- * return sizeof(ExampleRetainer) - sizeof(NonPointerRetainerClass);
76
- * }
77
- *
78
- * // Note: no need to implement these two methods when implementing
79
- * // a BaseObject or an AsyncWrap class
80
- * bool IsRootNode() const override { return !wrapped_.IsWeak(); }
81
- * v8::Local<v8::Object> WrappedObject() const override {
82
- * return node::PersistentToLocal(wrapped_);
83
- * }
84
- *
85
- * private:
86
- * AnotherRetainerClass* another_retainer_;
87
- * NonPointerRetainerClass non_pointer_retainer;
88
- * InternalClass internal_member_;
89
- * std::vector<uv_async_t> vector_;
90
- * node::Persistent<Object> target_;
91
- *
92
- * node::Persistent<Object> wrapped_;
93
- * }
94
- *
95
- * This creates the following graph:
96
- * Node / ExampleRetainer
97
- * |> another_retainer :: Node / AnotherRetainerClass
98
- * |> internal_member :: Node / InternalClass
99
- * |> vector :: Node / vector (elements will be grandchildren)
100
- * |> [1] :: Node / uv_async_t (uv_async_t has predefined names)
101
- * |> [2] :: Node / uv_async_t
102
- * |> ...
103
- * |> target :: TargetClass (JS class name of the target object)
104
- * |> wrapped :: WrappedClass (JS class name of the wrapped object)
105
- * |> wrapper :: Node / ExampleRetainer (back reference)
106
- */
107
- class MemoryRetainer {
108
- public:
109
- virtual ~MemoryRetainer() {}
110
-
111
- // Subclasses should implement these methods to provide information
112
- // for the V8 heap snapshot generator.
113
- // The MemoryInfo() method is assumed to be called within a context
114
- // where all the edges start from the node of the current retainer,
115
- // and point to the nodes as specified by tracker->Track* calls.
116
- virtual void MemoryInfo(MemoryTracker* tracker) const = 0;
117
- virtual std::string MemoryInfoName() const = 0;
118
- virtual size_t SelfSize() const = 0;
119
-
120
- virtual v8::Local<v8::Object> WrappedObject() const {
121
- return v8::Local<v8::Object>();
122
- }
123
-
124
- virtual bool IsRootNode() const { return false; }
125
- };
126
-
127
- class MemoryTracker {
128
- public:
129
- // Used to specify node name and size explicitly
130
- inline void TrackFieldWithSize(const char* edge_name,
131
- size_t size,
132
- const char* node_name = nullptr);
133
- // Shortcut to extract the underlying object out of the smart pointer
134
- template <typename T>
135
- inline void TrackField(const char* edge_name,
136
- const std::unique_ptr<T>& value,
137
- const char* node_name = nullptr);
138
-
139
- // For containers, the elements will be graphed as grandchildren nodes
140
- // if the container is not empty.
141
- // By default, we assume the parent count the stack size of the container
142
- // into its SelfSize so that will be subtracted from the parent size when we
143
- // spin off a new node for the container.
144
- // TODO(joyeecheung): use RTTI to retrieve the class name at runtime?
145
- template <typename T, typename Iterator = typename T::const_iterator>
146
- inline void TrackField(const char* edge_name,
147
- const T& value,
148
- const char* node_name = nullptr,
149
- const char* element_name = nullptr,
150
- bool subtract_from_self = true);
151
- template <typename T>
152
- inline void TrackField(const char* edge_name,
153
- const std::queue<T>& value,
154
- const char* node_name = nullptr,
155
- const char* element_name = nullptr);
156
- template <typename T, typename U>
157
- inline void TrackField(const char* edge_name,
158
- const std::pair<T, U>& value,
159
- const char* node_name = nullptr);
160
-
161
- // For the following types, node_name will be ignored and predefined names
162
- // will be used instead. They are only in the signature for template
163
- // expansion.
164
- inline void TrackField(const char* edge_name,
165
- const MemoryRetainer& value,
166
- const char* node_name = nullptr);
167
- inline void TrackField(const char* edge_name,
168
- const MemoryRetainer* value,
169
- const char* node_name = nullptr);
170
- template <typename T>
171
- inline void TrackField(const char* edge_name,
172
- const std::basic_string<T>& value,
173
- const char* node_name = nullptr);
174
- template <typename T,
175
- typename test_for_number = typename std::
176
- enable_if<std::numeric_limits<T>::is_specialized, bool>::type,
177
- typename dummy = bool>
178
- inline void TrackField(const char* edge_name,
179
- const T& value,
180
- const char* node_name = nullptr);
181
- template <typename T, typename Traits>
182
- inline void TrackField(const char* edge_name,
183
- const v8::Persistent<T, Traits>& value,
184
- const char* node_name = nullptr);
185
- template <typename T>
186
- inline void TrackField(const char* edge_name,
187
- const v8::Local<T>& value,
188
- const char* node_name = nullptr);
189
- template <typename T>
190
- inline void TrackField(const char* edge_name,
191
- const MallocedBuffer<T>& value,
192
- const char* node_name = nullptr);
193
- inline void TrackField(const char* edge_name,
194
- const uv_buf_t& value,
195
- const char* node_name = nullptr);
196
- inline void TrackField(const char* edge_name,
197
- const uv_timer_t& value,
198
- const char* node_name = nullptr);
199
- inline void TrackField(const char* edge_name,
200
- const uv_async_t& value,
201
- const char* node_name = nullptr);
202
- template <class NativeT, class V8T>
203
- inline void TrackField(const char* edge_name,
204
- const AliasedBuffer<NativeT, V8T>& value,
205
- const char* node_name = nullptr);
206
-
207
- // Put a memory container into the graph, create an edge from
208
- // the current node if there is one on the stack.
209
- inline void Track(const MemoryRetainer* retainer,
210
- const char* edge_name = nullptr);
211
-
212
- inline v8::EmbedderGraph* graph() { return graph_; }
213
- inline v8::Isolate* isolate() { return isolate_; }
214
-
215
- inline explicit MemoryTracker(v8::Isolate* isolate,
216
- v8::EmbedderGraph* graph)
217
- : isolate_(isolate), graph_(graph) {}
218
-
219
- private:
220
- typedef std::unordered_map<const MemoryRetainer*, MemoryRetainerNode*>
221
- NodeMap;
222
-
223
- inline MemoryRetainerNode* CurrentNode() const;
224
- inline MemoryRetainerNode* AddNode(const MemoryRetainer* retainer,
225
- const char* edge_name = nullptr);
226
- inline MemoryRetainerNode* PushNode(const MemoryRetainer* retainer,
227
- const char* edge_name = nullptr);
228
- inline MemoryRetainerNode* AddNode(const char* node_name,
229
- size_t size,
230
- const char* edge_name = nullptr);
231
- inline MemoryRetainerNode* PushNode(const char* node_name,
232
- size_t size,
233
- const char* edge_name = nullptr);
234
- inline void PopNode();
235
-
236
- v8::Isolate* isolate_;
237
- v8::EmbedderGraph* graph_;
238
- std::stack<MemoryRetainerNode*> node_stack_;
239
- NodeMap seen_;
240
- };
241
-
242
- } // namespace node
243
-
244
- #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
245
-
246
- #endif // SRC_MEMORY_TRACKER_H_
@@ -1,100 +0,0 @@
1
- #ifndef SRC_MODULE_WRAP_H_
2
- #define SRC_MODULE_WRAP_H_
3
-
4
- #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
-
6
- #include <unordered_map>
7
- #include <string>
8
- #include <vector>
9
- #include "node_url.h"
10
- #include "base_object-inl.h"
11
-
12
- namespace node {
13
- namespace loader {
14
-
15
- enum PackageMainCheck : bool {
16
- CheckMain = true,
17
- IgnoreMain = false
18
- };
19
-
20
- enum ScriptType : int {
21
- kScript,
22
- kModule,
23
- kFunction,
24
- };
25
-
26
- enum HostDefinedOptions : int {
27
- kType = 8,
28
- kID = 9,
29
- kLength = 10,
30
- };
31
-
32
- v8::Maybe<url::URL> Resolve(Environment* env,
33
- const std::string& specifier,
34
- const url::URL& base,
35
- PackageMainCheck read_pkg_json = CheckMain);
36
-
37
- class ModuleWrap : public BaseObject {
38
- public:
39
- static const std::string EXTENSIONS[];
40
- static void Initialize(v8::Local<v8::Object> target,
41
- v8::Local<v8::Value> unused,
42
- v8::Local<v8::Context> context);
43
- static void HostInitializeImportMetaObjectCallback(
44
- v8::Local<v8::Context> context,
45
- v8::Local<v8::Module> module,
46
- v8::Local<v8::Object> meta);
47
-
48
- void MemoryInfo(MemoryTracker* tracker) const override {
49
- tracker->TrackField("url", url_);
50
- tracker->TrackField("resolve_cache", resolve_cache_);
51
- }
52
-
53
- inline uint32_t id() { return id_; }
54
- static ModuleWrap* GetFromID(node::Environment*, uint32_t id);
55
-
56
- SET_MEMORY_INFO_NAME(ModuleWrap)
57
- SET_SELF_SIZE(ModuleWrap)
58
-
59
- private:
60
- ModuleWrap(Environment* env,
61
- v8::Local<v8::Object> object,
62
- v8::Local<v8::Module> module,
63
- v8::Local<v8::String> url);
64
- ~ModuleWrap();
65
-
66
- static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
67
- static void Link(const v8::FunctionCallbackInfo<v8::Value>& args);
68
- static void Instantiate(const v8::FunctionCallbackInfo<v8::Value>& args);
69
- static void Evaluate(const v8::FunctionCallbackInfo<v8::Value>& args);
70
- static void Namespace(const v8::FunctionCallbackInfo<v8::Value>& args);
71
- static void GetStatus(const v8::FunctionCallbackInfo<v8::Value>& args);
72
- static void GetError(const v8::FunctionCallbackInfo<v8::Value>& args);
73
- static void GetStaticDependencySpecifiers(
74
- const v8::FunctionCallbackInfo<v8::Value>& args);
75
-
76
- static void Resolve(const v8::FunctionCallbackInfo<v8::Value>& args);
77
- static void SetImportModuleDynamicallyCallback(
78
- const v8::FunctionCallbackInfo<v8::Value>& args);
79
- static void SetInitializeImportMetaObjectCallback(
80
- const v8::FunctionCallbackInfo<v8::Value>& args);
81
- static v8::MaybeLocal<v8::Module> ResolveCallback(
82
- v8::Local<v8::Context> context,
83
- v8::Local<v8::String> specifier,
84
- v8::Local<v8::Module> referrer);
85
- static ModuleWrap* GetFromModule(node::Environment*, v8::Local<v8::Module>);
86
-
87
- Persistent<v8::Module> module_;
88
- Persistent<v8::String> url_;
89
- bool linked_ = false;
90
- std::unordered_map<std::string, Persistent<v8::Promise>> resolve_cache_;
91
- Persistent<v8::Context> context_;
92
- uint32_t id_;
93
- };
94
-
95
- } // namespace loader
96
- } // namespace node
97
-
98
- #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
99
-
100
- #endif // SRC_MODULE_WRAP_H_