visaljs 0.0.6 → 0.0.8

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 (428) hide show
  1. package/README.md +63 -2
  2. package/THIRD_PARTY_LICENSES +1216 -0
  3. package/cli.js +4414 -325
  4. package/node/include/js_node.h +57 -1
  5. package/node/include/js_uv.h +8 -1
  6. package/node/prelude/_stream_duplex.js +4 -0
  7. package/node/prelude/_stream_passthrough.js +4 -0
  8. package/node/prelude/_stream_readable.js +4 -0
  9. package/node/prelude/_stream_transform.js +4 -0
  10. package/node/prelude/_stream_writable.js +4 -0
  11. package/node/prelude/assert.js +1334 -0
  12. package/node/prelude/assert_strict.js +12 -0
  13. package/node/prelude/async_hooks.js +1 -1
  14. package/node/prelude/buffer.js +43 -3
  15. package/node/prelude/child_process.js +1098 -0
  16. package/node/prelude/cluster.js +52 -0
  17. package/node/prelude/console.js +328 -0
  18. package/node/prelude/constants.js +10 -0
  19. package/node/prelude/crypto.js +1 -1
  20. package/node/prelude/diagnostics_channel.js +1 -1
  21. package/node/prelude/dns.js +1 -1
  22. package/node/prelude/domain.js +115 -0
  23. package/node/prelude/events.js +144 -16
  24. package/node/prelude/fs.js +1138 -151
  25. package/node/prelude/fs_promises.js +117 -11
  26. package/node/prelude/http.js +104 -27
  27. package/node/prelude/http2.js +1 -1
  28. package/node/prelude/https.js +148 -0
  29. package/node/prelude/inspector.js +27 -0
  30. package/node/prelude/inspector_promises.js +4 -0
  31. package/node/prelude/internal/async_context.js +1 -1
  32. package/node/prelude/internal/buffer_transcode.js +44 -0
  33. package/node/prelude/internal/comparisons.js +916 -0
  34. package/node/prelude/internal/compression_streams.js +153 -0
  35. package/node/prelude/internal/crypto/asym.js +27 -14
  36. package/node/prelude/internal/crypto/cipher.js +16 -5
  37. package/node/prelude/internal/crypto/diffiehellman.js +3 -2
  38. package/node/prelude/internal/crypto/hash.js +2 -1
  39. package/node/prelude/internal/crypto/kdf.js +14 -9
  40. package/node/prelude/internal/crypto/keys.js +63 -50
  41. package/node/prelude/internal/crypto/random.js +2 -1
  42. package/node/prelude/internal/crypto/util.js +4 -4
  43. package/node/prelude/internal/dotenv.js +98 -0
  44. package/node/prelude/internal/errors.js +21 -5
  45. package/node/prelude/internal/events_extras.js +116 -0
  46. package/node/prelude/internal/events_on.js +100 -0
  47. package/node/prelude/internal/features.js +55 -0
  48. package/node/prelude/internal/fetch.js +364 -0
  49. package/node/prelude/internal/form_data.js +376 -0
  50. package/node/prelude/internal/fs_bigint_stats.js +41 -0
  51. package/node/prelude/internal/fs_blob.js +19 -0
  52. package/node/prelude/internal/fs_cp.js +709 -0
  53. package/node/prelude/internal/fs_dir.js +166 -0
  54. package/node/prelude/internal/fs_filehandle.js +287 -0
  55. package/node/prelude/internal/fs_glob.js +296 -0
  56. package/node/prelude/internal/fs_statfs.js +42 -0
  57. package/node/prelude/internal/fs_stats.js +89 -0
  58. package/node/prelude/internal/fs_streams.js +541 -0
  59. package/node/prelude/internal/fs_utils.js +286 -0
  60. package/node/prelude/internal/fs_watch.js +580 -0
  61. package/node/prelude/internal/http_agent.js +26 -0
  62. package/node/prelude/internal/mime.js +249 -0
  63. package/node/prelude/internal/net.js +1 -0
  64. package/node/prelude/internal/parse_args.js +288 -0
  65. package/node/prelude/internal/perf_histogram.js +435 -0
  66. package/node/prelude/internal/perf_observe.js +119 -0
  67. package/node/prelude/internal/performance_global.js +19 -0
  68. package/node/prelude/internal/process_events.js +49 -1
  69. package/node/prelude/internal/process_memory.js +14 -0
  70. package/node/prelude/internal/process_more.js +414 -0
  71. package/node/prelude/internal/process_signals.js +2 -1
  72. package/node/prelude/internal/process_stdin.js +52 -0
  73. package/node/prelude/internal/process_stdio.js +36 -0
  74. package/node/prelude/internal/querystring.js +0 -0
  75. package/node/prelude/internal/readline.js +338 -0
  76. package/node/prelude/internal/socketaddress.js +8 -4
  77. package/node/prelude/internal/source_map.js +122 -0
  78. package/node/prelude/internal/stream_compose.js +74 -0
  79. package/node/prelude/internal/stream_from.js +6 -0
  80. package/node/prelude/internal/stream_operators.js +23 -0
  81. package/node/prelude/internal/stream_pipeline.js +7 -0
  82. package/node/prelude/internal/stream_transform.js +10 -0
  83. package/node/prelude/internal/stream_web_adapters.js +143 -0
  84. package/node/prelude/internal/streams/add_abort_signal.js +58 -0
  85. package/node/prelude/internal/streams/compose.js +244 -0
  86. package/node/prelude/internal/streams/destroy.js +358 -0
  87. package/node/prelude/internal/streams/duplex.js +199 -0
  88. package/node/prelude/internal/streams/duplexify.js +378 -0
  89. package/node/prelude/internal/streams/end_of_stream.js +387 -0
  90. package/node/prelude/internal/streams/errors.js +216 -0
  91. package/node/prelude/internal/streams/from.js +211 -0
  92. package/node/prelude/internal/streams/legacy.js +120 -0
  93. package/node/prelude/internal/streams/operators.js +375 -0
  94. package/node/prelude/internal/streams/passthrough.js +45 -0
  95. package/node/prelude/internal/streams/pipeline.js +468 -0
  96. package/node/prelude/internal/streams/readable.js +1835 -0
  97. package/node/prelude/internal/streams/state.js +48 -0
  98. package/node/prelude/internal/streams/transform.js +203 -0
  99. package/node/prelude/internal/streams/utils.js +355 -0
  100. package/node/prelude/internal/streams/validators.js +108 -0
  101. package/node/prelude/internal/streams/writable.js +1160 -0
  102. package/node/prelude/internal/structured_clone.js +238 -0
  103. package/node/prelude/internal/system_errors.js +37 -0
  104. package/node/prelude/internal/test_runner/mock.js +431 -0
  105. package/node/prelude/internal/test_runner/reporters.js +404 -0
  106. package/node/prelude/internal/test_runner/test.js +1571 -0
  107. package/node/prelude/internal/timers.js +38 -7
  108. package/node/prelude/internal/timers_global.js +1 -1
  109. package/node/prelude/internal/tls/common.js +8 -2
  110. package/node/prelude/internal/tls/wrap.js +3 -15
  111. package/node/prelude/internal/tls/x509.js +1 -1
  112. package/node/prelude/internal/tty_read_stream.js +39 -0
  113. package/node/prelude/internal/tty_streams.js +3 -0
  114. package/node/prelude/internal/util_debuglog.js +68 -0
  115. package/node/prelude/internal/util_diff.js +63 -0
  116. package/node/prelude/internal/util_more.js +111 -0
  117. package/node/prelude/internal/util_styles.js +76 -0
  118. package/node/prelude/internal/zlib_engines.js +1 -1
  119. package/node/prelude/module.js +194 -7
  120. package/node/prelude/net.js +2 -1
  121. package/node/prelude/os.js +88 -11
  122. package/node/prelude/path.js +11 -7
  123. package/node/prelude/path_posix.js +1 -1
  124. package/node/prelude/path_win32.js +1 -1
  125. package/node/prelude/perf_hooks.js +147 -0
  126. package/node/prelude/process.js +36 -1
  127. package/node/prelude/punycode.js +188 -0
  128. package/node/prelude/querystring.js +1 -1
  129. package/node/prelude/readline.js +8 -0
  130. package/node/prelude/readline_promises.js +88 -0
  131. package/node/prelude/repl.js +38 -0
  132. package/node/prelude/sea.js +23 -0
  133. package/node/prelude/stream.js +70 -1332
  134. package/node/prelude/stream_consumers.js +34 -0
  135. package/node/prelude/stream_promises.js +1 -1
  136. package/node/prelude/stream_web.js +15 -2
  137. package/node/prelude/string_decoder.js +1 -1
  138. package/node/prelude/sys.js +7 -0
  139. package/node/prelude/test.js +56 -0
  140. package/node/prelude/test_reporters.js +269 -0
  141. package/node/prelude/timers.js +7 -84
  142. package/node/prelude/timers_promises.js +1 -1
  143. package/node/prelude/tls.js +2 -1
  144. package/node/prelude/trace_events.js +52 -0
  145. package/node/prelude/tty.js +10 -4
  146. package/node/prelude/url.js +88 -27
  147. package/node/prelude/util.js +121 -5
  148. package/node/prelude/util_types.js +4 -3
  149. package/node/prelude/v8.js +814 -0
  150. package/node/prelude/vm.js +86 -0
  151. package/node/prelude/wasi.js +10 -0
  152. package/node/prelude/worker_threads.js +56 -0
  153. package/node/prelude/zlib.js +58 -25
  154. package/node/src/host_brotli.c +59 -11
  155. package/node/src/host_fs.c +342 -11
  156. package/node/src/host_fswatch.c +170 -0
  157. package/node/src/host_http.c +143 -20
  158. package/node/src/host_loop.c +25 -2
  159. package/node/src/host_net.c +55 -7
  160. package/node/src/host_os.c +55 -1
  161. package/node/src/host_proc.c +291 -0
  162. package/node/src/host_process.c +488 -0
  163. package/node/src/host_sys.c +64 -2
  164. package/node/src/host_zlib.c +27 -7
  165. package/node/src/host_zstd.c +41 -6
  166. package/node/third_party/hdrhistogram/LICENSE +42 -0
  167. package/node/third_party/hdrhistogram/README.md +5 -0
  168. package/node/third_party/libuv/LICENSE +0 -0
  169. package/node/third_party/libuv/LICENSE-extra +36 -0
  170. package/node/third_party/libuv/include/uv/aix.h +0 -0
  171. package/node/third_party/libuv/include/uv/bsd.h +0 -0
  172. package/node/third_party/libuv/include/uv/darwin.h +0 -0
  173. package/node/third_party/libuv/include/uv/errno.h +0 -0
  174. package/node/third_party/libuv/include/uv/linux.h +0 -0
  175. package/node/third_party/libuv/include/uv/os390.h +0 -0
  176. package/node/third_party/libuv/include/uv/posix.h +0 -0
  177. package/node/third_party/libuv/include/uv/sunos.h +0 -0
  178. package/node/third_party/libuv/include/uv/threadpool.h +0 -0
  179. package/node/third_party/libuv/include/uv/tree.h +0 -0
  180. package/node/third_party/libuv/include/uv/unix.h +0 -0
  181. package/node/third_party/libuv/include/uv/version.h +0 -0
  182. package/node/third_party/libuv/include/uv/win.h +0 -0
  183. package/node/third_party/libuv/include/uv.h +0 -0
  184. package/node/third_party/libuv/src/fs-poll.c +0 -0
  185. package/node/third_party/libuv/src/heap-inl.h +0 -0
  186. package/node/third_party/libuv/src/idna.c +0 -0
  187. package/node/third_party/libuv/src/idna.h +0 -0
  188. package/node/third_party/libuv/src/inet.c +0 -0
  189. package/node/third_party/libuv/src/queue.h +0 -0
  190. package/node/third_party/libuv/src/random.c +0 -0
  191. package/node/third_party/libuv/src/strscpy.c +0 -0
  192. package/node/third_party/libuv/src/strscpy.h +0 -0
  193. package/node/third_party/libuv/src/strtok.c +0 -0
  194. package/node/third_party/libuv/src/strtok.h +0 -0
  195. package/node/third_party/libuv/src/thread-common.c +0 -0
  196. package/node/third_party/libuv/src/threadpool.c +0 -0
  197. package/node/third_party/libuv/src/timer.c +0 -0
  198. package/node/third_party/libuv/src/unix/async.c +0 -0
  199. package/node/third_party/libuv/src/unix/bsd-ifaddrs.c +0 -0
  200. package/node/third_party/libuv/src/unix/core.c +0 -0
  201. package/node/third_party/libuv/src/unix/darwin-proctitle.c +0 -0
  202. package/node/third_party/libuv/src/unix/darwin-stub.h +0 -0
  203. package/node/third_party/libuv/src/unix/darwin-syscalls.h +0 -0
  204. package/node/third_party/libuv/src/unix/darwin.c +0 -0
  205. package/node/third_party/libuv/src/unix/dl.c +0 -0
  206. package/node/third_party/libuv/src/unix/fs.c +0 -0
  207. package/node/third_party/libuv/src/unix/fsevents.c +0 -0
  208. package/node/third_party/libuv/src/unix/getaddrinfo.c +0 -0
  209. package/node/third_party/libuv/src/unix/getnameinfo.c +0 -0
  210. package/node/third_party/libuv/src/unix/internal.h +0 -0
  211. package/node/third_party/libuv/src/unix/kqueue.c +0 -0
  212. package/node/third_party/libuv/src/unix/linux.c +0 -0
  213. package/node/third_party/libuv/src/unix/loop-watcher.c +0 -0
  214. package/node/third_party/libuv/src/unix/loop.c +0 -0
  215. package/node/third_party/libuv/src/unix/pipe.c +0 -0
  216. package/node/third_party/libuv/src/unix/poll.c +0 -0
  217. package/node/third_party/libuv/src/unix/process.c +0 -0
  218. package/node/third_party/libuv/src/unix/procfs-exepath.c +0 -0
  219. package/node/third_party/libuv/src/unix/proctitle.c +0 -0
  220. package/node/third_party/libuv/src/unix/random-devurandom.c +0 -0
  221. package/node/third_party/libuv/src/unix/random-getentropy.c +0 -0
  222. package/node/third_party/libuv/src/unix/random-getrandom.c +0 -0
  223. package/node/third_party/libuv/src/unix/random-sysctl-linux.c +0 -0
  224. package/node/third_party/libuv/src/unix/signal.c +0 -0
  225. package/node/third_party/libuv/src/unix/stream.c +0 -0
  226. package/node/third_party/libuv/src/unix/tcp.c +0 -0
  227. package/node/third_party/libuv/src/unix/thread.c +0 -0
  228. package/node/third_party/libuv/src/unix/tty.c +0 -0
  229. package/node/third_party/libuv/src/unix/udp.c +0 -0
  230. package/node/third_party/libuv/src/uv-common.c +0 -0
  231. package/node/third_party/libuv/src/uv-common.h +0 -0
  232. package/node/third_party/libuv/src/uv-data-getter-setters.c +0 -0
  233. package/node/third_party/libuv/src/version.c +0 -0
  234. package/node/third_party/llhttp/LICENSE +0 -0
  235. package/node/third_party/llhttp/api.c +0 -0
  236. package/node/third_party/llhttp/http.c +0 -0
  237. package/node/third_party/llhttp/llhttp.c +0 -0
  238. package/node/third_party/llhttp/llhttp.h +0 -0
  239. package/node/third_party/nodejs/LICENSE +47 -0
  240. package/node/third_party/nodejs/README.md +5 -0
  241. package/node/third_party/parseargs/LICENSE +21 -0
  242. package/node/third_party/parseargs/README.md +5 -0
  243. package/node/third_party/punycode/LICENSE +20 -0
  244. package/node/third_party/punycode/README.md +5 -0
  245. package/node/third_party/zlib/LICENSE.chromium +27 -0
  246. package/package.json +1 -5
  247. package/prebuilt/darwin-arm64/boringssl-4a47438eaf7e73ba.a +0 -0
  248. package/prebuilt/darwin-arm64/brotli-7995bbdacc52e51c.a +0 -0
  249. package/prebuilt/darwin-arm64/uv-72ab666eae197cd8.a +0 -0
  250. package/prebuilt/darwin-arm64/zlib-4ce2317a4c3f5fb5.a +0 -0
  251. package/prebuilt/darwin-arm64/zstd-015315ac7c784c73.a +0 -0
  252. package/prebuilt/darwin-x64/boringssl-4a47438eaf7e73ba.a +0 -0
  253. package/prebuilt/darwin-x64/brotli-7995bbdacc52e51c.a +0 -0
  254. package/prebuilt/darwin-x64/uv-72ab666eae197cd8.a +0 -0
  255. package/prebuilt/darwin-x64/zlib-4ce2317a4c3f5fb5.a +0 -0
  256. package/prebuilt/darwin-x64/zstd-015315ac7c784c73.a +0 -0
  257. package/prebuilt/linux-arm64/boringssl-4a47438eaf7e73ba.a +0 -0
  258. package/prebuilt/linux-arm64/brotli-65481ff838ce9def.a +0 -0
  259. package/prebuilt/linux-arm64/uv-f1353f50ff983f3c.a +0 -0
  260. package/prebuilt/linux-arm64/zlib-4ce2317a4c3f5fb5.a +0 -0
  261. package/prebuilt/linux-arm64/zstd-015315ac7c784c73.a +0 -0
  262. package/prebuilt/linux-arm64-musl/boringssl-4a47438eaf7e73ba.a +0 -0
  263. package/prebuilt/linux-arm64-musl/brotli-65481ff838ce9def.a +0 -0
  264. package/prebuilt/linux-arm64-musl/uv-f1353f50ff983f3c.a +0 -0
  265. package/prebuilt/linux-arm64-musl/zlib-4ce2317a4c3f5fb5.a +0 -0
  266. package/prebuilt/linux-arm64-musl/zstd-015315ac7c784c73.a +0 -0
  267. package/prebuilt/linux-x64/boringssl-4a47438eaf7e73ba.a +0 -0
  268. package/prebuilt/linux-x64/brotli-65481ff838ce9def.a +0 -0
  269. package/prebuilt/linux-x64/uv-f1353f50ff983f3c.a +0 -0
  270. package/prebuilt/linux-x64/zlib-4ce2317a4c3f5fb5.a +0 -0
  271. package/prebuilt/linux-x64/zstd-015315ac7c784c73.a +0 -0
  272. package/prebuilt/linux-x64-musl/boringssl-4a47438eaf7e73ba.a +0 -0
  273. package/prebuilt/linux-x64-musl/brotli-65481ff838ce9def.a +0 -0
  274. package/prebuilt/linux-x64-musl/uv-f1353f50ff983f3c.a +0 -0
  275. package/prebuilt/linux-x64-musl/zlib-4ce2317a4c3f5fb5.a +0 -0
  276. package/prebuilt/linux-x64-musl/zstd-015315ac7c784c73.a +0 -0
  277. package/prebuilt/win32-x64/boringssl-ce573858472b7fc9.a +0 -0
  278. package/prebuilt/win32-x64/brotli-20d86a61f30baeb3.a +0 -0
  279. package/prebuilt/win32-x64/uv-b11bae65d7fced82.a +0 -0
  280. package/prebuilt/win32-x64/zlib-4ce2317a4c3f5fb5.a +0 -0
  281. package/prebuilt/win32-x64/zstd-015315ac7c784c73.a +0 -0
  282. package/runtime/include/js_atoms.gen.h +0 -0
  283. package/runtime/include/js_atoms.h +1 -1
  284. package/runtime/include/js_bigint.h +1 -1
  285. package/runtime/include/js_buffer.h +4 -4
  286. package/runtime/include/js_builtins.h +41 -3
  287. package/runtime/include/js_console.h +9 -4
  288. package/runtime/include/js_convert.h +1 -1
  289. package/runtime/include/js_core.def +5 -4
  290. package/runtime/include/js_crypto.h +1 -1
  291. package/runtime/include/js_error.h +1 -1
  292. package/runtime/include/js_exception.h +21 -1
  293. package/runtime/include/js_function.h +33 -9
  294. package/runtime/include/js_gc.h +172 -30
  295. package/runtime/include/js_generator.h +2 -2
  296. package/runtime/include/js_host.h +19 -1
  297. package/runtime/include/js_jobs.h +5 -5
  298. package/runtime/include/js_module.h +1 -1
  299. package/runtime/include/js_object.h +142 -15
  300. package/runtime/include/js_ops.h +107 -5
  301. package/runtime/include/js_promise.h +3 -3
  302. package/runtime/include/js_regexp.h +1 -1
  303. package/runtime/include/js_runtime.h +0 -0
  304. package/runtime/include/js_symbol.h +1 -1
  305. package/runtime/include/js_web.h +2 -1
  306. package/runtime/include/jscell.h +22 -15
  307. package/runtime/include/jscontext.h +74 -39
  308. package/runtime/include/jsnum.h +1 -1
  309. package/runtime/include/jsstring.h +19 -6
  310. package/runtime/include/jsvalue.h +7 -3
  311. package/runtime/src/arguments.c +2 -2
  312. package/runtime/src/array.c +4 -1
  313. package/runtime/src/arraybuffer.c +19 -7
  314. package/runtime/src/async_iter.c +4 -3
  315. package/runtime/src/atoms.c +1 -1
  316. package/runtime/src/base64.c +2 -2
  317. package/runtime/src/bigint.c +1 -1
  318. package/runtime/src/blob.c +22 -9
  319. package/runtime/src/boringssl_support.cc +1 -1
  320. package/runtime/src/buffer.c +299 -91
  321. package/runtime/src/builtin_table.c +1 -1
  322. package/runtime/src/builtins.c +30 -4
  323. package/runtime/src/builtins_util.h +0 -0
  324. package/runtime/src/collections.c +18 -3
  325. package/runtime/src/components.c +1 -1
  326. package/runtime/src/console.c +14 -7
  327. package/runtime/src/convert.c +0 -0
  328. package/runtime/src/core_all.c +1 -1
  329. package/runtime/src/crypto.c +1 -1
  330. package/runtime/src/crypto_asym.c +1 -1
  331. package/runtime/src/crypto_bn.c +1 -1
  332. package/runtime/src/crypto_cipher.c +10 -3
  333. package/runtime/src/crypto_hash.c +1 -1
  334. package/runtime/src/crypto_host.c +1 -1
  335. package/runtime/src/crypto_internal.h +1 -1
  336. package/runtime/src/crypto_kdf.c +1 -1
  337. package/runtime/src/crypto_key.c +14 -1
  338. package/runtime/src/crypto_pkey.c +1 -1
  339. package/runtime/src/crypto_subtle.c +142 -58
  340. package/runtime/src/crypto_tls.c +1 -1
  341. package/runtime/src/date.c +5 -2
  342. package/runtime/src/domexception.c +2 -2
  343. package/runtime/src/elements.c +56 -17
  344. package/runtime/src/elements.h +7 -2
  345. package/runtime/src/encoding.c +1 -1
  346. package/runtime/src/error.c +4 -4
  347. package/runtime/src/events.c +23 -14
  348. package/runtime/src/exception.c +1 -1
  349. package/runtime/src/fetch.c +241 -17
  350. package/runtime/src/function.c +31 -19
  351. package/runtime/src/gc.c +1716 -207
  352. package/runtime/src/gc_visit.h +87 -0
  353. package/runtime/src/generator.c +5 -3
  354. package/runtime/src/global.c +14 -6
  355. package/runtime/src/headers.c +10 -10
  356. package/runtime/src/inspect.c +76 -17
  357. package/runtime/src/internal.h +5 -2
  358. package/runtime/src/iterate.c +94 -2
  359. package/runtime/src/iterator.c +1 -1
  360. package/runtime/src/jobs.c +11 -5
  361. package/runtime/src/jsnum.c +2 -2
  362. package/runtime/src/json.c +1 -1
  363. package/runtime/src/math.c +9 -1
  364. package/runtime/src/module.c +3 -3
  365. package/runtime/src/number.c +0 -0
  366. package/runtime/src/object.c +107 -74
  367. package/runtime/src/ops.c +21 -3
  368. package/runtime/src/os.c +192 -1
  369. package/runtime/src/os.h +33 -2
  370. package/runtime/src/process.c +73 -8
  371. package/runtime/src/promise.c +4 -4
  372. package/runtime/src/proxy.c +1 -1
  373. package/runtime/src/reflect.c +1 -1
  374. package/runtime/src/regexp.c +134 -2
  375. package/runtime/src/regexp_anchor.h +1 -1
  376. package/runtime/src/regexp_message.h +1 -1
  377. package/runtime/src/shape.c +10 -19
  378. package/runtime/src/shape.h +0 -0
  379. package/runtime/src/streams.c +22 -8
  380. package/runtime/src/streams.h +0 -0
  381. package/runtime/src/string.c +64 -25
  382. package/runtime/src/string_builtins.c +7 -7
  383. package/runtime/src/symbol.c +2 -7
  384. package/runtime/src/test_host.c +3 -3
  385. package/runtime/src/tls_roots.gen.h +102 -620
  386. package/runtime/src/typedarray.c +8 -3
  387. package/runtime/src/tznames.gen.h +2 -1
  388. package/runtime/src/uri.c +1 -1
  389. package/runtime/src/url.c +42 -39
  390. package/runtime/src/weak.c +15 -12
  391. package/runtime/src/web.c +21 -3
  392. package/runtime/src/wrapper.c +0 -0
  393. package/runtime/src/writable.c +7 -6
  394. package/runtime/third_party/ada-idna/LICENSE-MIT +0 -0
  395. package/runtime/third_party/ada-idna/README.md +7 -7
  396. package/runtime/third_party/ada-idna/convert.mjs +89 -27
  397. package/runtime/third_party/ada-idna/idna.c +30 -31
  398. package/runtime/third_party/ada-idna/idna.h +0 -0
  399. package/runtime/third_party/ada-idna/idna_tables.h +2272 -1952
  400. package/runtime/third_party/boringssl/third_party/fiat/LICENSE +15 -0
  401. package/runtime/third_party/mozilla-ca/LICENSE +373 -0
  402. package/runtime/third_party/mozilla-ca/README.md +9 -0
  403. package/runtime/third_party/nodejs/LICENSE +47 -0
  404. package/runtime/third_party/nodejs/README.md +7 -0
  405. package/runtime/third_party/quickjs-dtoa/LICENSE +0 -0
  406. package/runtime/third_party/quickjs-dtoa/README.md +1 -1
  407. package/runtime/third_party/quickjs-dtoa/dtoa.c +0 -0
  408. package/runtime/third_party/quickjs-dtoa/dtoa.h +0 -0
  409. package/runtime/third_party/quickjs-dtoa/dtoa_compat.h +0 -0
  410. package/runtime/third_party/quickjs-regexp/LICENSE +0 -0
  411. package/runtime/third_party/quickjs-regexp/README.md +2 -2
  412. package/runtime/third_party/quickjs-regexp/cutils.c +0 -0
  413. package/runtime/third_party/quickjs-regexp/cutils.h +0 -0
  414. package/runtime/third_party/quickjs-regexp/libregexp-opcode.h +0 -0
  415. package/runtime/third_party/quickjs-regexp/libregexp.c +0 -0
  416. package/runtime/third_party/quickjs-regexp/libregexp.h +0 -0
  417. package/runtime/third_party/quickjs-regexp/libunicode-table.h +0 -0
  418. package/runtime/third_party/quickjs-regexp/libunicode.c +0 -0
  419. package/runtime/third_party/quickjs-regexp/libunicode.h +0 -0
  420. package/runtime/third_party/unicode/LICENSE +39 -0
  421. package/runtime/third_party/unicode/README.md +9 -0
  422. package/runtime/third_party/v8-ieee754/LICENSE +0 -0
  423. package/runtime/third_party/v8-ieee754/LICENSE.fdlibm +10 -0
  424. package/runtime/third_party/v8-ieee754/README.md +3 -2
  425. package/runtime/third_party/v8-ieee754/convert.py +0 -0
  426. package/runtime/third_party/v8-ieee754/ieee754.c +0 -0
  427. package/runtime/third_party/v8-ieee754/ieee754.h +0 -0
  428. package/runtime/tools/regexp_compile.c +2 -2
@@ -0,0 +1,45 @@
1
+ import * as __internal_streams_transform from "./transform.js";
2
+
3
+ // Copyright Joyent, Inc. and other Node contributors.
4
+ //
5
+ // Permission is hereby granted, free of charge, to any person obtaining a
6
+ // copy of this software and associated documentation files (the
7
+ // "Software"), to deal in the Software without restriction, including
8
+ // without limitation the rights to use, copy, modify, merge, publish,
9
+ // distribute, sublicense, and/or sell copies of the Software, and to permit
10
+ // persons to whom the Software is furnished to do so, subject to the
11
+ // following conditions:
12
+ //
13
+ // The above copyright notice and this permission notice shall be included
14
+ // in all copies or substantial portions of the Software.
15
+ //
16
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17
+ // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
19
+ // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
20
+ // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
21
+ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
22
+ // USE OR OTHER DEALINGS IN THE SOFTWARE.
23
+
24
+ // a passthrough stream.
25
+ // basically just the most minimal sort of Transform stream.
26
+ // Every written chunk gets output as-is.
27
+
28
+ 'use strict';
29
+
30
+ export { PassThrough, PassThrough as default };
31
+
32
+ const Transform = __internal_streams_transform.default;
33
+ Object.setPrototypeOf(PassThrough.prototype, Transform.prototype);
34
+ Object.setPrototypeOf(PassThrough, Transform);
35
+
36
+ function PassThrough(options) {
37
+ if (!(this instanceof PassThrough))
38
+ return new PassThrough(options);
39
+
40
+ Transform.call(this, options);
41
+ }
42
+
43
+ PassThrough.prototype._transform = function(chunk, encoding, cb) {
44
+ cb(null, chunk);
45
+ };
@@ -0,0 +1,468 @@
1
+ import * as __internal_streams_end_of_stream from "./end_of_stream.js";
2
+ import * as __internal_util from "./validators.js";
3
+ import * as __internal_streams_destroy from "./destroy.js";
4
+ import * as __internal_streams_duplex from "./duplex.js";
5
+ import Readable from "./readable.js";
6
+ import PassThrough from "./passthrough.js";
7
+ import * as __internal_errors from "./errors.js";
8
+ import * as __internal_validators from "./validators.js";
9
+ import * as __internal_streams_utils from "./utils.js";
10
+
11
+ // Ported from https://github.com/mafintosh/pump with
12
+ // permission from the author, Mathias Buus (@mafintosh).
13
+
14
+ 'use strict';
15
+
16
+ const { eos } = __internal_streams_end_of_stream;
17
+ const { once, addAbortListener } = __internal_util;
18
+ const destroyImpl = __internal_streams_destroy;
19
+ const Duplex = __internal_streams_duplex.default;
20
+ const {
21
+ AbortError,
22
+ aggregateTwoErrors,
23
+ codes: {
24
+ ERR_INVALID_ARG_TYPE,
25
+ ERR_INVALID_RETURN_VALUE,
26
+ ERR_MISSING_ARGS,
27
+ ERR_STREAM_DESTROYED,
28
+ ERR_STREAM_PREMATURE_CLOSE,
29
+ ERR_STREAM_UNABLE_TO_PIPE,
30
+ },
31
+ } = __internal_errors;
32
+
33
+ const {
34
+ validateFunction,
35
+ validateAbortSignal,
36
+ } = __internal_validators;
37
+
38
+ const {
39
+ isIterable,
40
+ isReadable,
41
+ isReadableNodeStream,
42
+ isNodeStream,
43
+ isTransformStream,
44
+ isWebStream,
45
+ isReadableStream,
46
+ isReadableFinished,
47
+ } = __internal_streams_utils;
48
+
49
+
50
+ function destroyer(stream, reading, writing) {
51
+ let finished = false;
52
+ stream.on('close', () => {
53
+ finished = true;
54
+ });
55
+
56
+ const cleanup = eos(stream, { readable: reading, writable: writing }, (err) => {
57
+ finished = !err;
58
+ });
59
+
60
+ return {
61
+ destroy: (err) => {
62
+ if (finished) return;
63
+ finished = true;
64
+ destroyImpl.destroyer(stream, err || new ERR_STREAM_DESTROYED('pipe'));
65
+ },
66
+ cleanup,
67
+ };
68
+ }
69
+
70
+ function popCallback(streams) {
71
+ // Streams should never be an empty array. It should always contain at least
72
+ // a single stream. Therefore optimize for the average case instead of
73
+ // checking for length === 0 as well.
74
+ validateFunction(streams[streams.length - 1], 'streams[stream.length - 1]');
75
+ return streams.pop();
76
+ }
77
+
78
+ function makeAsyncIterable(val) {
79
+ if (isIterable(val)) {
80
+ return val;
81
+ } else if (isReadableNodeStream(val)) {
82
+ // Legacy streams are not Iterable.
83
+ return fromReadable(val);
84
+ }
85
+ throw new ERR_INVALID_ARG_TYPE(
86
+ 'val', ['Readable', 'Iterable', 'AsyncIterable'], val);
87
+ }
88
+
89
+ async function* fromReadable(val) {
90
+ yield* Readable.prototype[Symbol.asyncIterator].call(val);
91
+ }
92
+
93
+ async function pumpToNode(iterable, writable, finish, { end }) {
94
+ let error;
95
+ let onresolve = null;
96
+
97
+ const resume = (err) => {
98
+ if (err) {
99
+ error = err;
100
+ }
101
+
102
+ if (onresolve) {
103
+ const callback = onresolve;
104
+ onresolve = null;
105
+ callback();
106
+ }
107
+ };
108
+
109
+ const wait = () => new Promise((resolve, reject) => {
110
+ if (error) {
111
+ reject(error);
112
+ } else {
113
+ onresolve = () => {
114
+ if (error) {
115
+ reject(error);
116
+ } else {
117
+ resolve();
118
+ }
119
+ };
120
+ }
121
+ });
122
+
123
+ writable.on('drain', resume);
124
+ const cleanup = eos(writable, { readable: false }, resume);
125
+
126
+ try {
127
+ if (writable.writableNeedDrain) {
128
+ await wait();
129
+ }
130
+
131
+ for await (const chunk of iterable) {
132
+ if (!writable.write(chunk)) {
133
+ await wait();
134
+ }
135
+ }
136
+
137
+ if (end) {
138
+ writable.end();
139
+ await wait();
140
+ }
141
+
142
+ finish();
143
+ } catch (err) {
144
+ finish(error !== err ? aggregateTwoErrors(error, err) : err);
145
+ } finally {
146
+ cleanup();
147
+ writable.off('drain', resume);
148
+ }
149
+ }
150
+
151
+ async function pumpToWeb(readable, writable, finish, { end }) {
152
+ if (isTransformStream(writable)) {
153
+ writable = writable.writable;
154
+ }
155
+ // https://streams.spec.whatwg.org/#example-manual-write-with-backpressure
156
+ const writer = writable.getWriter();
157
+ try {
158
+ for await (const chunk of readable) {
159
+ await writer.ready;
160
+ writer.write(chunk).catch(() => {});
161
+ }
162
+
163
+ await writer.ready;
164
+
165
+ if (end) {
166
+ await writer.close();
167
+ }
168
+
169
+ finish();
170
+ } catch (err) {
171
+ try {
172
+ await writer.abort(err);
173
+ finish(err);
174
+ } catch (err) {
175
+ finish(err);
176
+ }
177
+ }
178
+ }
179
+
180
+ function pipeline(...streams) {
181
+ return pipelineImpl(streams, once(popCallback(streams)));
182
+ }
183
+
184
+ function pipelineImpl(streams, callback, opts) {
185
+ if (streams.length === 1 && Array.isArray(streams[0])) {
186
+ streams = streams[0];
187
+ }
188
+
189
+ if (streams.length < 2) {
190
+ throw new ERR_MISSING_ARGS('streams');
191
+ }
192
+
193
+ const ac = new AbortController();
194
+ const signal = ac.signal;
195
+ const outerSignal = opts?.signal;
196
+
197
+ // Need to cleanup event listeners if last stream is readable
198
+ // https://github.com/nodejs/node/issues/35452
199
+ const lastStreamCleanup = [];
200
+
201
+ validateAbortSignal(outerSignal, 'options.signal');
202
+
203
+ function abort() {
204
+ finishImpl(new AbortError(undefined, { cause: outerSignal?.reason }));
205
+ }
206
+
207
+ let disposable;
208
+ if (outerSignal) {
209
+ disposable = addAbortListener(outerSignal, abort);
210
+ }
211
+
212
+ let error;
213
+ let value;
214
+ const destroys = [];
215
+
216
+ let finishCount = 0;
217
+
218
+ function finish(err) {
219
+ finishImpl(err, --finishCount === 0);
220
+ }
221
+
222
+ function finishOnlyHandleError(err) {
223
+ finishImpl(err, false);
224
+ }
225
+
226
+ function finishImpl(err, final) {
227
+ if (err && (!error || error.code === 'ERR_STREAM_PREMATURE_CLOSE' || error.name === 'AbortError')) {
228
+ error = err;
229
+ }
230
+
231
+ if (!error && !final) {
232
+ return;
233
+ }
234
+
235
+ while (destroys.length) {
236
+ destroys.shift()(error);
237
+ }
238
+
239
+ disposable?.[Symbol.dispose]();
240
+ ac.abort();
241
+
242
+ if (final) {
243
+ if (!error) {
244
+ lastStreamCleanup.forEach((fn) => fn());
245
+ }
246
+ process.nextTick(callback, error, value);
247
+ }
248
+ }
249
+
250
+ let ret;
251
+ for (let i = 0; i < streams.length; i++) {
252
+ const stream = streams[i];
253
+ const reading = i < streams.length - 1;
254
+ const writing = i > 0;
255
+ const next = i + 1 < streams.length ? streams[i + 1] : null;
256
+ const end = reading || opts?.end !== false;
257
+ const isLastStream = i === streams.length - 1;
258
+
259
+ if (isNodeStream(stream)) {
260
+ if (next !== null && (next?.closed || next?.destroyed)) {
261
+ throw new ERR_STREAM_UNABLE_TO_PIPE();
262
+ }
263
+
264
+ if (end) {
265
+ const { destroy, cleanup } = destroyer(stream, reading, writing);
266
+ destroys.push(destroy);
267
+
268
+ if (isReadable(stream) && isLastStream) {
269
+ lastStreamCleanup.push(cleanup);
270
+ }
271
+ }
272
+
273
+ // Catch stream errors that occur after pipe/pump has completed.
274
+ function onError(err) {
275
+ if (
276
+ err &&
277
+ err.name !== 'AbortError' &&
278
+ err.code !== 'ERR_STREAM_PREMATURE_CLOSE'
279
+ ) {
280
+ finishOnlyHandleError(err);
281
+ }
282
+ }
283
+ stream.on('error', onError);
284
+ if (isReadable(stream) && isLastStream) {
285
+ lastStreamCleanup.push(() => {
286
+ stream.removeListener('error', onError);
287
+ });
288
+ }
289
+ }
290
+
291
+ if (i === 0) {
292
+ if (typeof stream === 'function') {
293
+ ret = stream({ signal });
294
+ if (!isIterable(ret)) {
295
+ throw new ERR_INVALID_RETURN_VALUE(
296
+ 'Iterable, AsyncIterable or Stream', 'source', ret);
297
+ }
298
+ } else if (isIterable(stream) || isReadableNodeStream(stream) || isTransformStream(stream)) {
299
+ ret = stream;
300
+ } else {
301
+ ret = Duplex.from(stream);
302
+ }
303
+ } else if (typeof stream === 'function') {
304
+ if (isTransformStream(ret)) {
305
+ ret = makeAsyncIterable(ret?.readable);
306
+ } else {
307
+ ret = makeAsyncIterable(ret);
308
+ }
309
+ ret = stream(ret, { signal });
310
+
311
+ if (reading) {
312
+ if (!isIterable(ret, true)) {
313
+ throw new ERR_INVALID_RETURN_VALUE(
314
+ 'AsyncIterable', `transform[${i - 1}]`, ret);
315
+ }
316
+ } else {
317
+
318
+ // If the last argument to pipeline is not a stream
319
+ // we must create a proxy stream so that pipeline(...)
320
+ // always returns a stream which can be further
321
+ // composed through `.pipe(stream)`.
322
+
323
+ const pt = new PassThrough({
324
+ objectMode: true,
325
+ });
326
+
327
+ // Handle Promises/A+ spec, `then` could be a getter that throws on
328
+ // second use.
329
+ const then = ret?.then;
330
+ if (typeof then === 'function') {
331
+ finishCount++;
332
+ then.call(ret,
333
+ (val) => {
334
+ value = val;
335
+ if (val != null) {
336
+ pt.write(val);
337
+ }
338
+ if (end) {
339
+ pt.end();
340
+ }
341
+ process.nextTick(finish);
342
+ }, (err) => {
343
+ pt.destroy(err);
344
+ process.nextTick(finish, err);
345
+ },
346
+ );
347
+ } else if (isIterable(ret, true)) {
348
+ finishCount++;
349
+ pumpToNode(ret, pt, finish, { end });
350
+ } else if (isReadableStream(ret) || isTransformStream(ret)) {
351
+ const toRead = ret.readable || ret;
352
+ finishCount++;
353
+ pumpToNode(toRead, pt, finish, { end });
354
+ } else {
355
+ throw new ERR_INVALID_RETURN_VALUE(
356
+ 'AsyncIterable or Promise', 'destination', ret);
357
+ }
358
+
359
+ ret = pt;
360
+
361
+ const { destroy, cleanup } = destroyer(ret, false, true);
362
+ destroys.push(destroy);
363
+ if (isLastStream) {
364
+ lastStreamCleanup.push(cleanup);
365
+ }
366
+ }
367
+ } else if (isNodeStream(stream)) {
368
+ if (isReadableNodeStream(ret)) {
369
+ finishCount += 2;
370
+ const cleanup = pipe(ret, stream, finish, finishOnlyHandleError, { end });
371
+ if (isReadable(stream) && isLastStream) {
372
+ lastStreamCleanup.push(cleanup);
373
+ }
374
+ } else if (isTransformStream(ret) || isReadableStream(ret)) {
375
+ const toRead = ret.readable || ret;
376
+ finishCount++;
377
+ pumpToNode(toRead, stream, finish, { end });
378
+ } else if (isIterable(ret)) {
379
+ finishCount++;
380
+ pumpToNode(ret, stream, finish, { end });
381
+ } else {
382
+ throw new ERR_INVALID_ARG_TYPE(
383
+ 'val', ['Readable', 'Iterable', 'AsyncIterable', 'ReadableStream', 'TransformStream'], ret);
384
+ }
385
+ ret = stream;
386
+ } else if (isWebStream(stream)) {
387
+ if (isReadableNodeStream(ret)) {
388
+ finishCount++;
389
+ pumpToWeb(makeAsyncIterable(ret), stream, finish, { end });
390
+ } else if (isReadableStream(ret) || isIterable(ret)) {
391
+ finishCount++;
392
+ pumpToWeb(ret, stream, finish, { end });
393
+ } else if (isTransformStream(ret)) {
394
+ finishCount++;
395
+ pumpToWeb(ret.readable, stream, finish, { end });
396
+ } else {
397
+ throw new ERR_INVALID_ARG_TYPE(
398
+ 'val', ['Readable', 'Iterable', 'AsyncIterable', 'ReadableStream', 'TransformStream'], ret);
399
+ }
400
+ ret = stream;
401
+ } else {
402
+ ret = Duplex.from(stream);
403
+ }
404
+ }
405
+
406
+ if (signal?.aborted || outerSignal?.aborted) {
407
+ process.nextTick(abort);
408
+ }
409
+
410
+ return ret;
411
+ }
412
+
413
+ function pipe(src, dst, finish, finishOnlyHandleError, { end }) {
414
+ let ended = false;
415
+ dst.on('close', () => {
416
+ if (!ended) {
417
+ // Finish if the destination closes before the source has completed.
418
+ finishOnlyHandleError(new ERR_STREAM_PREMATURE_CLOSE());
419
+ }
420
+ });
421
+
422
+ src.pipe(dst, { end: false }); // If end is true we already will have a listener to end dst.
423
+
424
+ if (end) {
425
+ // Compat. Before node v10.12.0 stdio used to throw an error so
426
+ // pipe() did/does not end() stdio destinations.
427
+ // Now they allow it but "secretly" don't close the underlying fd.
428
+
429
+ function endFn() {
430
+ ended = true;
431
+ dst.end();
432
+ }
433
+
434
+ if (isReadableFinished(src)) { // End the destination if the source has already ended.
435
+ process.nextTick(endFn);
436
+ } else {
437
+ src.once('end', endFn);
438
+ }
439
+ } else {
440
+ finish();
441
+ }
442
+
443
+ eos(src, { readable: true, writable: false }, (err) => {
444
+ const rState = src._readableState;
445
+ if (
446
+ err &&
447
+ err.code === 'ERR_STREAM_PREMATURE_CLOSE' &&
448
+ (rState?.ended && !rState.errored && !rState.errorEmitted)
449
+ ) {
450
+ // Some readable streams will emit 'close' before 'end'. However, since
451
+ // this is on the readable side 'end' should still be emitted if the
452
+ // stream has been ended and no error emitted. This should be allowed in
453
+ // favor of backwards compatibility. Since the stream is piped to a
454
+ // destination this should not result in any observable difference.
455
+ // We don't need to check if this is a writable premature close since
456
+ // eos will only fail with premature close on the reading side for
457
+ // duplex streams.
458
+ src
459
+ .once('end', finish)
460
+ .once('error', finish);
461
+ } else {
462
+ finish(err);
463
+ }
464
+ });
465
+ return eos(dst, { readable: false, writable: true }, finish);
466
+ }
467
+
468
+ export { pipelineImpl, pipeline };