visaljs 0.0.7 → 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.
- package/README.md +63 -2
- package/THIRD_PARTY_LICENSES +1216 -0
- package/cli.js +4413 -324
- package/node/include/js_node.h +57 -1
- package/node/include/js_uv.h +8 -1
- package/node/prelude/_stream_duplex.js +4 -0
- package/node/prelude/_stream_passthrough.js +4 -0
- package/node/prelude/_stream_readable.js +4 -0
- package/node/prelude/_stream_transform.js +4 -0
- package/node/prelude/_stream_writable.js +4 -0
- package/node/prelude/assert.js +1334 -0
- package/node/prelude/assert_strict.js +12 -0
- package/node/prelude/async_hooks.js +1 -1
- package/node/prelude/buffer.js +43 -3
- package/node/prelude/child_process.js +1098 -0
- package/node/prelude/cluster.js +52 -0
- package/node/prelude/console.js +328 -0
- package/node/prelude/constants.js +10 -0
- package/node/prelude/crypto.js +1 -1
- package/node/prelude/diagnostics_channel.js +1 -1
- package/node/prelude/dns.js +1 -1
- package/node/prelude/domain.js +115 -0
- package/node/prelude/events.js +144 -16
- package/node/prelude/fs.js +1138 -151
- package/node/prelude/fs_promises.js +117 -11
- package/node/prelude/http.js +104 -27
- package/node/prelude/http2.js +1 -1
- package/node/prelude/https.js +148 -0
- package/node/prelude/inspector.js +27 -0
- package/node/prelude/inspector_promises.js +4 -0
- package/node/prelude/internal/async_context.js +1 -1
- package/node/prelude/internal/buffer_transcode.js +44 -0
- package/node/prelude/internal/comparisons.js +916 -0
- package/node/prelude/internal/compression_streams.js +153 -0
- package/node/prelude/internal/crypto/asym.js +27 -14
- package/node/prelude/internal/crypto/cipher.js +16 -5
- package/node/prelude/internal/crypto/diffiehellman.js +3 -2
- package/node/prelude/internal/crypto/hash.js +2 -1
- package/node/prelude/internal/crypto/kdf.js +14 -9
- package/node/prelude/internal/crypto/keys.js +63 -50
- package/node/prelude/internal/crypto/random.js +2 -1
- package/node/prelude/internal/crypto/util.js +4 -4
- package/node/prelude/internal/dotenv.js +98 -0
- package/node/prelude/internal/errors.js +21 -5
- package/node/prelude/internal/events_extras.js +116 -0
- package/node/prelude/internal/events_on.js +100 -0
- package/node/prelude/internal/features.js +55 -0
- package/node/prelude/internal/fetch.js +364 -0
- package/node/prelude/internal/form_data.js +376 -0
- package/node/prelude/internal/fs_bigint_stats.js +41 -0
- package/node/prelude/internal/fs_blob.js +19 -0
- package/node/prelude/internal/fs_cp.js +709 -0
- package/node/prelude/internal/fs_dir.js +166 -0
- package/node/prelude/internal/fs_filehandle.js +287 -0
- package/node/prelude/internal/fs_glob.js +296 -0
- package/node/prelude/internal/fs_statfs.js +42 -0
- package/node/prelude/internal/fs_stats.js +89 -0
- package/node/prelude/internal/fs_streams.js +541 -0
- package/node/prelude/internal/fs_utils.js +286 -0
- package/node/prelude/internal/fs_watch.js +580 -0
- package/node/prelude/internal/http_agent.js +26 -0
- package/node/prelude/internal/mime.js +249 -0
- package/node/prelude/internal/net.js +1 -0
- package/node/prelude/internal/parse_args.js +288 -0
- package/node/prelude/internal/perf_histogram.js +435 -0
- package/node/prelude/internal/perf_observe.js +119 -0
- package/node/prelude/internal/performance_global.js +19 -0
- package/node/prelude/internal/process_events.js +49 -1
- package/node/prelude/internal/process_memory.js +14 -0
- package/node/prelude/internal/process_more.js +414 -0
- package/node/prelude/internal/process_signals.js +2 -1
- package/node/prelude/internal/process_stdin.js +52 -0
- package/node/prelude/internal/process_stdio.js +36 -0
- package/node/prelude/internal/querystring.js +0 -0
- package/node/prelude/internal/readline.js +338 -0
- package/node/prelude/internal/socketaddress.js +8 -4
- package/node/prelude/internal/source_map.js +122 -0
- package/node/prelude/internal/stream_compose.js +74 -0
- package/node/prelude/internal/stream_from.js +6 -0
- package/node/prelude/internal/stream_operators.js +23 -0
- package/node/prelude/internal/stream_pipeline.js +7 -0
- package/node/prelude/internal/stream_transform.js +10 -0
- package/node/prelude/internal/stream_web_adapters.js +143 -0
- package/node/prelude/internal/streams/add_abort_signal.js +58 -0
- package/node/prelude/internal/streams/compose.js +244 -0
- package/node/prelude/internal/streams/destroy.js +358 -0
- package/node/prelude/internal/streams/duplex.js +199 -0
- package/node/prelude/internal/streams/duplexify.js +378 -0
- package/node/prelude/internal/streams/end_of_stream.js +387 -0
- package/node/prelude/internal/streams/errors.js +216 -0
- package/node/prelude/internal/streams/from.js +211 -0
- package/node/prelude/internal/streams/legacy.js +120 -0
- package/node/prelude/internal/streams/operators.js +375 -0
- package/node/prelude/internal/streams/passthrough.js +45 -0
- package/node/prelude/internal/streams/pipeline.js +468 -0
- package/node/prelude/internal/streams/readable.js +1835 -0
- package/node/prelude/internal/streams/state.js +48 -0
- package/node/prelude/internal/streams/transform.js +203 -0
- package/node/prelude/internal/streams/utils.js +355 -0
- package/node/prelude/internal/streams/validators.js +108 -0
- package/node/prelude/internal/streams/writable.js +1160 -0
- package/node/prelude/internal/structured_clone.js +238 -0
- package/node/prelude/internal/system_errors.js +37 -0
- package/node/prelude/internal/test_runner/mock.js +431 -0
- package/node/prelude/internal/test_runner/reporters.js +404 -0
- package/node/prelude/internal/test_runner/test.js +1571 -0
- package/node/prelude/internal/timers.js +38 -7
- package/node/prelude/internal/timers_global.js +1 -1
- package/node/prelude/internal/tls/common.js +8 -2
- package/node/prelude/internal/tls/wrap.js +3 -15
- package/node/prelude/internal/tls/x509.js +1 -1
- package/node/prelude/internal/tty_read_stream.js +39 -0
- package/node/prelude/internal/tty_streams.js +3 -0
- package/node/prelude/internal/util_debuglog.js +68 -0
- package/node/prelude/internal/util_diff.js +63 -0
- package/node/prelude/internal/util_more.js +111 -0
- package/node/prelude/internal/util_styles.js +76 -0
- package/node/prelude/internal/zlib_engines.js +1 -1
- package/node/prelude/module.js +194 -7
- package/node/prelude/net.js +2 -1
- package/node/prelude/os.js +88 -11
- package/node/prelude/path.js +11 -7
- package/node/prelude/path_posix.js +1 -1
- package/node/prelude/path_win32.js +1 -1
- package/node/prelude/perf_hooks.js +147 -0
- package/node/prelude/process.js +36 -1
- package/node/prelude/punycode.js +188 -0
- package/node/prelude/querystring.js +1 -1
- package/node/prelude/readline.js +8 -0
- package/node/prelude/readline_promises.js +88 -0
- package/node/prelude/repl.js +38 -0
- package/node/prelude/sea.js +23 -0
- package/node/prelude/stream.js +70 -1332
- package/node/prelude/stream_consumers.js +34 -0
- package/node/prelude/stream_promises.js +1 -1
- package/node/prelude/stream_web.js +15 -2
- package/node/prelude/string_decoder.js +1 -1
- package/node/prelude/sys.js +7 -0
- package/node/prelude/test.js +56 -0
- package/node/prelude/test_reporters.js +269 -0
- package/node/prelude/timers.js +7 -84
- package/node/prelude/timers_promises.js +1 -1
- package/node/prelude/tls.js +2 -1
- package/node/prelude/trace_events.js +52 -0
- package/node/prelude/tty.js +10 -4
- package/node/prelude/url.js +88 -27
- package/node/prelude/util.js +121 -5
- package/node/prelude/util_types.js +4 -3
- package/node/prelude/v8.js +814 -0
- package/node/prelude/vm.js +86 -0
- package/node/prelude/wasi.js +10 -0
- package/node/prelude/worker_threads.js +56 -0
- package/node/prelude/zlib.js +58 -25
- package/node/src/host_brotli.c +59 -11
- package/node/src/host_fs.c +342 -11
- package/node/src/host_fswatch.c +170 -0
- package/node/src/host_http.c +143 -20
- package/node/src/host_loop.c +25 -2
- package/node/src/host_net.c +55 -7
- package/node/src/host_os.c +55 -1
- package/node/src/host_proc.c +291 -0
- package/node/src/host_process.c +488 -0
- package/node/src/host_sys.c +64 -2
- package/node/src/host_zlib.c +27 -7
- package/node/src/host_zstd.c +41 -6
- package/node/third_party/hdrhistogram/LICENSE +42 -0
- package/node/third_party/hdrhistogram/README.md +5 -0
- package/node/third_party/libuv/LICENSE +0 -0
- package/node/third_party/libuv/LICENSE-extra +36 -0
- package/node/third_party/libuv/include/uv/aix.h +0 -0
- package/node/third_party/libuv/include/uv/bsd.h +0 -0
- package/node/third_party/libuv/include/uv/darwin.h +0 -0
- package/node/third_party/libuv/include/uv/errno.h +0 -0
- package/node/third_party/libuv/include/uv/linux.h +0 -0
- package/node/third_party/libuv/include/uv/os390.h +0 -0
- package/node/third_party/libuv/include/uv/posix.h +0 -0
- package/node/third_party/libuv/include/uv/sunos.h +0 -0
- package/node/third_party/libuv/include/uv/threadpool.h +0 -0
- package/node/third_party/libuv/include/uv/tree.h +0 -0
- package/node/third_party/libuv/include/uv/unix.h +0 -0
- package/node/third_party/libuv/include/uv/version.h +0 -0
- package/node/third_party/libuv/include/uv/win.h +0 -0
- package/node/third_party/libuv/include/uv.h +0 -0
- package/node/third_party/libuv/src/fs-poll.c +0 -0
- package/node/third_party/libuv/src/heap-inl.h +0 -0
- package/node/third_party/libuv/src/idna.c +0 -0
- package/node/third_party/libuv/src/idna.h +0 -0
- package/node/third_party/libuv/src/inet.c +0 -0
- package/node/third_party/libuv/src/queue.h +0 -0
- package/node/third_party/libuv/src/random.c +0 -0
- package/node/third_party/libuv/src/strscpy.c +0 -0
- package/node/third_party/libuv/src/strscpy.h +0 -0
- package/node/third_party/libuv/src/strtok.c +0 -0
- package/node/third_party/libuv/src/strtok.h +0 -0
- package/node/third_party/libuv/src/thread-common.c +0 -0
- package/node/third_party/libuv/src/threadpool.c +0 -0
- package/node/third_party/libuv/src/timer.c +0 -0
- package/node/third_party/libuv/src/unix/async.c +0 -0
- package/node/third_party/libuv/src/unix/bsd-ifaddrs.c +0 -0
- package/node/third_party/libuv/src/unix/core.c +0 -0
- package/node/third_party/libuv/src/unix/darwin-proctitle.c +0 -0
- package/node/third_party/libuv/src/unix/darwin-stub.h +0 -0
- package/node/third_party/libuv/src/unix/darwin-syscalls.h +0 -0
- package/node/third_party/libuv/src/unix/darwin.c +0 -0
- package/node/third_party/libuv/src/unix/dl.c +0 -0
- package/node/third_party/libuv/src/unix/fs.c +0 -0
- package/node/third_party/libuv/src/unix/fsevents.c +0 -0
- package/node/third_party/libuv/src/unix/getaddrinfo.c +0 -0
- package/node/third_party/libuv/src/unix/getnameinfo.c +0 -0
- package/node/third_party/libuv/src/unix/internal.h +0 -0
- package/node/third_party/libuv/src/unix/kqueue.c +0 -0
- package/node/third_party/libuv/src/unix/linux.c +0 -0
- package/node/third_party/libuv/src/unix/loop-watcher.c +0 -0
- package/node/third_party/libuv/src/unix/loop.c +0 -0
- package/node/third_party/libuv/src/unix/pipe.c +0 -0
- package/node/third_party/libuv/src/unix/poll.c +0 -0
- package/node/third_party/libuv/src/unix/process.c +0 -0
- package/node/third_party/libuv/src/unix/procfs-exepath.c +0 -0
- package/node/third_party/libuv/src/unix/proctitle.c +0 -0
- package/node/third_party/libuv/src/unix/random-devurandom.c +0 -0
- package/node/third_party/libuv/src/unix/random-getentropy.c +0 -0
- package/node/third_party/libuv/src/unix/random-getrandom.c +0 -0
- package/node/third_party/libuv/src/unix/random-sysctl-linux.c +0 -0
- package/node/third_party/libuv/src/unix/signal.c +0 -0
- package/node/third_party/libuv/src/unix/stream.c +0 -0
- package/node/third_party/libuv/src/unix/tcp.c +0 -0
- package/node/third_party/libuv/src/unix/thread.c +0 -0
- package/node/third_party/libuv/src/unix/tty.c +0 -0
- package/node/third_party/libuv/src/unix/udp.c +0 -0
- package/node/third_party/libuv/src/uv-common.c +0 -0
- package/node/third_party/libuv/src/uv-common.h +0 -0
- package/node/third_party/libuv/src/uv-data-getter-setters.c +0 -0
- package/node/third_party/libuv/src/version.c +0 -0
- package/node/third_party/llhttp/LICENSE +0 -0
- package/node/third_party/llhttp/api.c +0 -0
- package/node/third_party/llhttp/http.c +0 -0
- package/node/third_party/llhttp/llhttp.c +0 -0
- package/node/third_party/llhttp/llhttp.h +0 -0
- package/node/third_party/nodejs/LICENSE +47 -0
- package/node/third_party/nodejs/README.md +5 -0
- package/node/third_party/parseargs/LICENSE +21 -0
- package/node/third_party/parseargs/README.md +5 -0
- package/node/third_party/punycode/LICENSE +20 -0
- package/node/third_party/punycode/README.md +5 -0
- package/node/third_party/zlib/LICENSE.chromium +27 -0
- package/package.json +1 -1
- package/prebuilt/darwin-arm64/boringssl-4a47438eaf7e73ba.a +0 -0
- package/prebuilt/darwin-arm64/brotli-7995bbdacc52e51c.a +0 -0
- package/prebuilt/darwin-arm64/uv-72ab666eae197cd8.a +0 -0
- package/prebuilt/darwin-arm64/zlib-4ce2317a4c3f5fb5.a +0 -0
- package/prebuilt/darwin-arm64/zstd-015315ac7c784c73.a +0 -0
- package/prebuilt/darwin-x64/boringssl-4a47438eaf7e73ba.a +0 -0
- package/prebuilt/darwin-x64/brotli-7995bbdacc52e51c.a +0 -0
- package/prebuilt/darwin-x64/uv-72ab666eae197cd8.a +0 -0
- package/prebuilt/darwin-x64/zlib-4ce2317a4c3f5fb5.a +0 -0
- package/prebuilt/darwin-x64/zstd-015315ac7c784c73.a +0 -0
- package/prebuilt/linux-arm64/boringssl-4a47438eaf7e73ba.a +0 -0
- package/prebuilt/linux-arm64/brotli-65481ff838ce9def.a +0 -0
- package/prebuilt/linux-arm64/uv-f1353f50ff983f3c.a +0 -0
- package/prebuilt/linux-arm64/zlib-4ce2317a4c3f5fb5.a +0 -0
- package/prebuilt/linux-arm64/zstd-015315ac7c784c73.a +0 -0
- package/prebuilt/linux-arm64-musl/boringssl-4a47438eaf7e73ba.a +0 -0
- package/prebuilt/linux-arm64-musl/brotli-65481ff838ce9def.a +0 -0
- package/prebuilt/linux-arm64-musl/uv-f1353f50ff983f3c.a +0 -0
- package/prebuilt/linux-arm64-musl/zlib-4ce2317a4c3f5fb5.a +0 -0
- package/prebuilt/linux-arm64-musl/zstd-015315ac7c784c73.a +0 -0
- package/prebuilt/linux-x64/boringssl-4a47438eaf7e73ba.a +0 -0
- package/prebuilt/linux-x64/brotli-65481ff838ce9def.a +0 -0
- package/prebuilt/linux-x64/uv-f1353f50ff983f3c.a +0 -0
- package/prebuilt/linux-x64/zlib-4ce2317a4c3f5fb5.a +0 -0
- package/prebuilt/linux-x64/zstd-015315ac7c784c73.a +0 -0
- package/prebuilt/linux-x64-musl/boringssl-4a47438eaf7e73ba.a +0 -0
- package/prebuilt/linux-x64-musl/brotli-65481ff838ce9def.a +0 -0
- package/prebuilt/linux-x64-musl/uv-f1353f50ff983f3c.a +0 -0
- package/prebuilt/linux-x64-musl/zlib-4ce2317a4c3f5fb5.a +0 -0
- package/prebuilt/linux-x64-musl/zstd-015315ac7c784c73.a +0 -0
- package/prebuilt/win32-x64/boringssl-ce573858472b7fc9.a +0 -0
- package/prebuilt/win32-x64/brotli-20d86a61f30baeb3.a +0 -0
- package/prebuilt/win32-x64/uv-b11bae65d7fced82.a +0 -0
- package/prebuilt/win32-x64/zlib-4ce2317a4c3f5fb5.a +0 -0
- package/prebuilt/win32-x64/zstd-015315ac7c784c73.a +0 -0
- package/runtime/include/js_atoms.gen.h +0 -0
- package/runtime/include/js_atoms.h +1 -1
- package/runtime/include/js_bigint.h +1 -1
- package/runtime/include/js_buffer.h +4 -4
- package/runtime/include/js_builtins.h +41 -3
- package/runtime/include/js_console.h +9 -4
- package/runtime/include/js_convert.h +1 -1
- package/runtime/include/js_core.def +5 -4
- package/runtime/include/js_crypto.h +1 -1
- package/runtime/include/js_error.h +1 -1
- package/runtime/include/js_exception.h +21 -1
- package/runtime/include/js_function.h +33 -9
- package/runtime/include/js_gc.h +172 -30
- package/runtime/include/js_generator.h +2 -2
- package/runtime/include/js_host.h +19 -1
- package/runtime/include/js_jobs.h +5 -5
- package/runtime/include/js_module.h +1 -1
- package/runtime/include/js_object.h +142 -15
- package/runtime/include/js_ops.h +107 -5
- package/runtime/include/js_promise.h +3 -3
- package/runtime/include/js_regexp.h +1 -1
- package/runtime/include/js_runtime.h +0 -0
- package/runtime/include/js_symbol.h +1 -1
- package/runtime/include/js_web.h +2 -1
- package/runtime/include/jscell.h +22 -15
- package/runtime/include/jscontext.h +74 -39
- package/runtime/include/jsnum.h +1 -1
- package/runtime/include/jsstring.h +19 -6
- package/runtime/include/jsvalue.h +7 -3
- package/runtime/src/arguments.c +2 -2
- package/runtime/src/array.c +4 -1
- package/runtime/src/arraybuffer.c +19 -7
- package/runtime/src/async_iter.c +4 -3
- package/runtime/src/atoms.c +1 -1
- package/runtime/src/base64.c +2 -2
- package/runtime/src/bigint.c +1 -1
- package/runtime/src/blob.c +22 -9
- package/runtime/src/boringssl_support.cc +1 -1
- package/runtime/src/buffer.c +299 -91
- package/runtime/src/builtin_table.c +1 -1
- package/runtime/src/builtins.c +30 -4
- package/runtime/src/builtins_util.h +0 -0
- package/runtime/src/collections.c +18 -3
- package/runtime/src/components.c +1 -1
- package/runtime/src/console.c +14 -7
- package/runtime/src/convert.c +0 -0
- package/runtime/src/core_all.c +1 -1
- package/runtime/src/crypto.c +1 -1
- package/runtime/src/crypto_asym.c +1 -1
- package/runtime/src/crypto_bn.c +1 -1
- package/runtime/src/crypto_cipher.c +10 -3
- package/runtime/src/crypto_hash.c +1 -1
- package/runtime/src/crypto_host.c +1 -1
- package/runtime/src/crypto_internal.h +1 -1
- package/runtime/src/crypto_kdf.c +1 -1
- package/runtime/src/crypto_key.c +14 -1
- package/runtime/src/crypto_pkey.c +1 -1
- package/runtime/src/crypto_subtle.c +142 -58
- package/runtime/src/crypto_tls.c +1 -1
- package/runtime/src/date.c +5 -2
- package/runtime/src/domexception.c +2 -2
- package/runtime/src/elements.c +56 -17
- package/runtime/src/elements.h +7 -2
- package/runtime/src/encoding.c +1 -1
- package/runtime/src/error.c +4 -4
- package/runtime/src/events.c +23 -14
- package/runtime/src/exception.c +1 -1
- package/runtime/src/fetch.c +241 -17
- package/runtime/src/function.c +31 -19
- package/runtime/src/gc.c +1716 -207
- package/runtime/src/gc_visit.h +87 -0
- package/runtime/src/generator.c +5 -3
- package/runtime/src/global.c +14 -6
- package/runtime/src/headers.c +10 -10
- package/runtime/src/inspect.c +76 -17
- package/runtime/src/internal.h +5 -2
- package/runtime/src/iterate.c +94 -2
- package/runtime/src/iterator.c +1 -1
- package/runtime/src/jobs.c +11 -5
- package/runtime/src/jsnum.c +2 -2
- package/runtime/src/json.c +1 -1
- package/runtime/src/math.c +9 -1
- package/runtime/src/module.c +3 -3
- package/runtime/src/number.c +0 -0
- package/runtime/src/object.c +107 -74
- package/runtime/src/ops.c +21 -3
- package/runtime/src/os.c +192 -1
- package/runtime/src/os.h +33 -2
- package/runtime/src/process.c +73 -8
- package/runtime/src/promise.c +4 -4
- package/runtime/src/proxy.c +1 -1
- package/runtime/src/reflect.c +1 -1
- package/runtime/src/regexp.c +134 -2
- package/runtime/src/regexp_anchor.h +1 -1
- package/runtime/src/regexp_message.h +1 -1
- package/runtime/src/shape.c +10 -19
- package/runtime/src/shape.h +0 -0
- package/runtime/src/streams.c +22 -8
- package/runtime/src/streams.h +0 -0
- package/runtime/src/string.c +64 -25
- package/runtime/src/string_builtins.c +7 -7
- package/runtime/src/symbol.c +2 -7
- package/runtime/src/test_host.c +3 -3
- package/runtime/src/tls_roots.gen.h +102 -620
- package/runtime/src/typedarray.c +8 -3
- package/runtime/src/tznames.gen.h +2 -1
- package/runtime/src/uri.c +1 -1
- package/runtime/src/url.c +42 -39
- package/runtime/src/weak.c +15 -12
- package/runtime/src/web.c +21 -3
- package/runtime/src/wrapper.c +0 -0
- package/runtime/src/writable.c +7 -6
- package/runtime/third_party/ada-idna/LICENSE-MIT +0 -0
- package/runtime/third_party/ada-idna/README.md +7 -7
- package/runtime/third_party/ada-idna/convert.mjs +89 -27
- package/runtime/third_party/ada-idna/idna.c +30 -31
- package/runtime/third_party/ada-idna/idna.h +0 -0
- package/runtime/third_party/ada-idna/idna_tables.h +2272 -1952
- package/runtime/third_party/boringssl/third_party/fiat/LICENSE +15 -0
- package/runtime/third_party/mozilla-ca/LICENSE +373 -0
- package/runtime/third_party/mozilla-ca/README.md +9 -0
- package/runtime/third_party/nodejs/LICENSE +47 -0
- package/runtime/third_party/nodejs/README.md +7 -0
- package/runtime/third_party/quickjs-dtoa/LICENSE +0 -0
- package/runtime/third_party/quickjs-dtoa/README.md +1 -1
- package/runtime/third_party/quickjs-dtoa/dtoa.c +0 -0
- package/runtime/third_party/quickjs-dtoa/dtoa.h +0 -0
- package/runtime/third_party/quickjs-dtoa/dtoa_compat.h +0 -0
- package/runtime/third_party/quickjs-regexp/LICENSE +0 -0
- package/runtime/third_party/quickjs-regexp/README.md +2 -2
- package/runtime/third_party/quickjs-regexp/cutils.c +0 -0
- package/runtime/third_party/quickjs-regexp/cutils.h +0 -0
- package/runtime/third_party/quickjs-regexp/libregexp-opcode.h +0 -0
- package/runtime/third_party/quickjs-regexp/libregexp.c +0 -0
- package/runtime/third_party/quickjs-regexp/libregexp.h +0 -0
- package/runtime/third_party/quickjs-regexp/libunicode-table.h +0 -0
- package/runtime/third_party/quickjs-regexp/libunicode.c +0 -0
- package/runtime/third_party/quickjs-regexp/libunicode.h +0 -0
- package/runtime/third_party/unicode/LICENSE +39 -0
- package/runtime/third_party/unicode/README.md +9 -0
- package/runtime/third_party/v8-ieee754/LICENSE +0 -0
- package/runtime/third_party/v8-ieee754/LICENSE.fdlibm +10 -0
- package/runtime/third_party/v8-ieee754/README.md +3 -2
- package/runtime/third_party/v8-ieee754/convert.py +0 -0
- package/runtime/third_party/v8-ieee754/ieee754.c +0 -0
- package/runtime/third_party/v8-ieee754/ieee754.h +0 -0
- package/runtime/tools/regexp_compile.c +2 -2
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
// node:fs's argument validation, as Node's lib/internal/fs/utils.js: paths (a string, a Buffer or
|
|
2
|
+
// a file: URL, without null bytes), file descriptors, flags, modes, offsets and lengths,
|
|
3
|
+
// positions, options, timestamps, and rm's and rmdir's options, with Node's errors. A validated
|
|
4
|
+
// path is given as the string the host primitives take.
|
|
5
|
+
// Ported from Node.js (Copyright Node.js contributors, MIT): node/third_party/nodejs/LICENSE.
|
|
6
|
+
import { fsConstants } from "visaljs:host";
|
|
7
|
+
import { codeError } from "./errors.js";
|
|
8
|
+
import { codes, fsSystemError } from "./streams/errors.js";
|
|
9
|
+
import {
|
|
10
|
+
kEmptyObject, validateAbortSignal, validateBoolean, validateBuffer, validateFunction, validateInt32, validateInteger, validateObject,
|
|
11
|
+
validateUint32,
|
|
12
|
+
} from "./streams/validators.js";
|
|
13
|
+
|
|
14
|
+
const { ERR_INCOMPATIBLE_OPTION_PAIR, ERR_INVALID_ARG_TYPE, ERR_INVALID_ARG_VALUE, ERR_OUT_OF_RANGE } = codes;
|
|
15
|
+
|
|
16
|
+
/* the platform's fs constants, as the host gives them */
|
|
17
|
+
const C = (() => {
|
|
18
|
+
const out = { __proto__: null };
|
|
19
|
+
const flat = fsConstants();
|
|
20
|
+
for (let i = 0; i < flat.length; i += 2) out[flat[i]] = flat[i + 1];
|
|
21
|
+
return out;
|
|
22
|
+
})();
|
|
23
|
+
const F_OK = C.F_OK ?? 0, W_OK = C.W_OK ?? 0, R_OK = C.R_OK ?? 0, X_OK = C.X_OK ?? 0;
|
|
24
|
+
const { COPYFILE_EXCL = 1, COPYFILE_FICLONE = 2, COPYFILE_FICLONE_FORCE = 4, O_APPEND, O_CREAT, O_EXCL, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC,
|
|
25
|
+
O_WRONLY } = C;
|
|
26
|
+
|
|
27
|
+
export const kMinimumAccessMode = Math.min(F_OK, W_OK, R_OK, X_OK);
|
|
28
|
+
export const kMaximumAccessMode = F_OK | W_OK | R_OK | X_OK;
|
|
29
|
+
const kDefaultCopyMode = 0;
|
|
30
|
+
const kMinimumCopyMode = Math.min(kDefaultCopyMode, COPYFILE_EXCL, COPYFILE_FICLONE, COPYFILE_FICLONE_FORCE);
|
|
31
|
+
const kMaximumCopyMode = COPYFILE_EXCL | COPYFILE_FICLONE | COPYFILE_FICLONE_FORCE;
|
|
32
|
+
|
|
33
|
+
/* most platforms don't read or write 2 GiB or more at once */
|
|
34
|
+
export const kIoMaxLength = 2 ** 31 - 1;
|
|
35
|
+
export const kMaxUserId = 2 ** 32 - 1;
|
|
36
|
+
|
|
37
|
+
const isUint8Array = (value) => value instanceof Uint8Array;
|
|
38
|
+
const isWindows = process.platform === "win32";
|
|
39
|
+
|
|
40
|
+
export function assertEncoding(encoding) {
|
|
41
|
+
if (encoding && !Buffer.isEncoding(encoding)) throw new ERR_INVALID_ARG_VALUE("encoding", encoding, "is invalid encoding");
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function copyObject(source) {
|
|
45
|
+
const target = {};
|
|
46
|
+
for (const key in source) target[key] = source[key];
|
|
47
|
+
return target;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export function getOptions(options, defaultOptions = kEmptyObject) {
|
|
51
|
+
if (options == null || typeof options === "function") return defaultOptions;
|
|
52
|
+
if (typeof options === "string") {
|
|
53
|
+
defaultOptions = { ...defaultOptions };
|
|
54
|
+
defaultOptions.encoding = options;
|
|
55
|
+
options = defaultOptions;
|
|
56
|
+
} else if (typeof options !== "object") {
|
|
57
|
+
throw new ERR_INVALID_ARG_TYPE("options", ["string", "Object"], options);
|
|
58
|
+
}
|
|
59
|
+
if (options.encoding !== "buffer") assertEncoding(options.encoding);
|
|
60
|
+
if (options.signal !== undefined) validateAbortSignal(options.signal, "options.signal");
|
|
61
|
+
return options;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function stringToFlags(flags, name = "flags") {
|
|
65
|
+
if (typeof flags === "number") {
|
|
66
|
+
validateInt32(flags, name);
|
|
67
|
+
return flags + 0; /* -0 is +0 */
|
|
68
|
+
}
|
|
69
|
+
if (flags == null) return O_RDONLY;
|
|
70
|
+
switch (flags) {
|
|
71
|
+
case "r": return O_RDONLY;
|
|
72
|
+
case "rs":
|
|
73
|
+
case "sr": return O_RDONLY | O_SYNC;
|
|
74
|
+
case "r+": return O_RDWR;
|
|
75
|
+
case "rs+":
|
|
76
|
+
case "sr+": return O_RDWR | O_SYNC;
|
|
77
|
+
case "w": return O_TRUNC | O_CREAT | O_WRONLY;
|
|
78
|
+
case "wx":
|
|
79
|
+
case "xw": return O_TRUNC | O_CREAT | O_WRONLY | O_EXCL;
|
|
80
|
+
case "w+": return O_TRUNC | O_CREAT | O_RDWR;
|
|
81
|
+
case "wx+":
|
|
82
|
+
case "xw+": return O_TRUNC | O_CREAT | O_RDWR | O_EXCL;
|
|
83
|
+
case "a": return O_APPEND | O_CREAT | O_WRONLY;
|
|
84
|
+
case "ax":
|
|
85
|
+
case "xa": return O_APPEND | O_CREAT | O_WRONLY | O_EXCL;
|
|
86
|
+
case "as":
|
|
87
|
+
case "sa": return O_APPEND | O_CREAT | O_WRONLY | O_SYNC;
|
|
88
|
+
case "a+": return O_APPEND | O_CREAT | O_RDWR;
|
|
89
|
+
case "ax+":
|
|
90
|
+
case "xa+": return O_APPEND | O_CREAT | O_RDWR | O_EXCL;
|
|
91
|
+
case "as+":
|
|
92
|
+
case "sa+": return O_APPEND | O_CREAT | O_RDWR | O_SYNC;
|
|
93
|
+
}
|
|
94
|
+
throw new ERR_INVALID_ARG_VALUE("flags", flags);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** a Date or a number (seconds), or a string of one, as a fractional UNIX timestamp */
|
|
98
|
+
export function toUnixTimestamp(time, name = "time") {
|
|
99
|
+
if (typeof time === "string" && +time == time) return +time;
|
|
100
|
+
if (Number.isFinite(time)) {
|
|
101
|
+
if (time < 0) return Date.now() / 1000;
|
|
102
|
+
return time;
|
|
103
|
+
}
|
|
104
|
+
if (time instanceof Date) return time.getTime() / 1000;
|
|
105
|
+
throw new ERR_INVALID_ARG_TYPE(name, ["Date", "Time in seconds"], time);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export function validateOffsetLengthRead(offset, length, bufferLength) {
|
|
109
|
+
if (offset < 0) throw new ERR_OUT_OF_RANGE("offset", ">= 0", offset);
|
|
110
|
+
if (length < 0) throw new ERR_OUT_OF_RANGE("length", ">= 0", length);
|
|
111
|
+
if (offset + length > bufferLength) throw new ERR_OUT_OF_RANGE("length", `<= ${bufferLength - offset}`, length);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export function validateOffsetLengthWrite(offset, length, byteLength) {
|
|
115
|
+
if (offset > byteLength) throw new ERR_OUT_OF_RANGE("offset", `<= ${byteLength}`, offset);
|
|
116
|
+
if (length > byteLength - offset) throw new ERR_OUT_OF_RANGE("length", `<= ${byteLength - offset}`, length);
|
|
117
|
+
if (length < 0) throw new ERR_OUT_OF_RANGE("length", ">= 0", length);
|
|
118
|
+
validateInt32(length, "length", 0);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export function validatePath(path, propName = "path") {
|
|
122
|
+
if (typeof path !== "string" && !isUint8Array(path)) throw new ERR_INVALID_ARG_TYPE(propName, ["string", "Buffer", "URL"], path);
|
|
123
|
+
if (typeof path === "string" ? !path.includes("\u0000") : !path.includes(0)) return;
|
|
124
|
+
throw new ERR_INVALID_ARG_VALUE(propName, path, "must be a string, Uint8Array, or URL without null bytes");
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/* url's fileURLToPath, for a path given as a file: URL (node:url's, without linking the module): the
|
|
128
|
+
* scheme checked, no host (a UNC server on Windows), no encoded slash, then decoded */
|
|
129
|
+
function fileURLToPath(url) {
|
|
130
|
+
if (url.protocol !== "file:") throw codeError(TypeError, "ERR_INVALID_URL_SCHEME", "The URL must be of scheme file");
|
|
131
|
+
let pathname = url.pathname;
|
|
132
|
+
for (let n = 0; n < pathname.length; n++) {
|
|
133
|
+
if (pathname[n] !== "%") continue;
|
|
134
|
+
const third = pathname.codePointAt(n + 2) | 0x20;
|
|
135
|
+
if ((pathname[n + 1] === "2" && third === 102) || (isWindows && pathname[n + 1] === "5" && third === 99)) {
|
|
136
|
+
throw codeError(TypeError, "ERR_INVALID_FILE_URL_PATH",
|
|
137
|
+
`File URL path must not include encoded ${isWindows ? "\\ or / characters" : "/ characters"}`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (!isWindows) {
|
|
141
|
+
if (url.hostname !== "") throw codeError(TypeError, "ERR_INVALID_FILE_URL_HOST", `File URL host must be "localhost" or empty on ${process.platform}`);
|
|
142
|
+
return pathname.includes("%") ? decodeURIComponent(pathname) : pathname;
|
|
143
|
+
}
|
|
144
|
+
pathname = pathname.replace(/\//g, "\\");
|
|
145
|
+
if (pathname.includes("%")) pathname = decodeURIComponent(pathname);
|
|
146
|
+
if (url.hostname !== "") return `\\\\${url.hostname}${pathname}`;
|
|
147
|
+
const letter = pathname.charCodeAt(1) | 0x20;
|
|
148
|
+
if (letter < 97 || letter > 122 || pathname.charCodeAt(2) !== 58) throw codeError(TypeError, "ERR_INVALID_FILE_URL_PATH", "File URL path must be absolute");
|
|
149
|
+
return pathname.slice(1);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/** url's toPathIfFileURL: a URL as its path, anything else as it is */
|
|
153
|
+
export function toPathIfFileURL(fileURLOrPath) {
|
|
154
|
+
const isURL = fileURLOrPath != null && fileURLOrPath.href && fileURLOrPath.protocol && fileURLOrPath.auth === undefined &&
|
|
155
|
+
fileURLOrPath.path === undefined;
|
|
156
|
+
return isURL ? fileURLToPath(fileURLOrPath) : fileURLOrPath;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/** Node's getValidatedPath; the path as the host primitives take it: a string (a Buffer's bytes
|
|
160
|
+
* as UTF-8) */
|
|
161
|
+
export function getValidatedPath(fileURLOrPath, propName = "path") {
|
|
162
|
+
const path = toPathIfFileURL(fileURLOrPath);
|
|
163
|
+
validatePath(path, propName);
|
|
164
|
+
return typeof path === "string" ? path : Buffer.from(path.buffer, path.byteOffset, path.byteLength).toString("utf8");
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export function getValidatedFd(fd, propName = "fd") {
|
|
168
|
+
if (Object.is(fd, -0)) return 0;
|
|
169
|
+
validateInt32(fd, propName, 0);
|
|
170
|
+
return fd;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export function validateBufferArray(buffers, propName = "buffers") {
|
|
174
|
+
if (!Array.isArray(buffers)) throw new ERR_INVALID_ARG_TYPE(propName, "ArrayBufferView[]", buffers);
|
|
175
|
+
for (let i = 0; i < buffers.length; i++) {
|
|
176
|
+
if (!ArrayBuffer.isView(buffers[i])) throw new ERR_INVALID_ARG_TYPE(propName, "ArrayBufferView[]", buffers);
|
|
177
|
+
}
|
|
178
|
+
return buffers;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
let nonPortableTemplateWarn = true;
|
|
182
|
+
export function warnOnNonPortableTemplate(template) {
|
|
183
|
+
if (nonPortableTemplateWarn &&
|
|
184
|
+
((typeof template === "string" && template.endsWith("X")) || (typeof template !== "string" && template.at(-1) === 0x58))) {
|
|
185
|
+
process.emitWarning("mkdtemp() templates ending with X are not portable. For details see: https://nodejs.org/api/fs.html");
|
|
186
|
+
nonPortableTemplateWarn = false;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
const defaultCpOptions = {
|
|
191
|
+
dereference: false, errorOnExist: false, filter: undefined, force: true, preserveTimestamps: false, recursive: false, verbatimSymlinks: false,
|
|
192
|
+
};
|
|
193
|
+
export const defaultRmOptions = { recursive: false, force: false, retryDelay: 100, maxRetries: 0 };
|
|
194
|
+
const defaultRmdirOptions = { retryDelay: 100, maxRetries: 0, recursive: false };
|
|
195
|
+
|
|
196
|
+
export function validateCpOptions(options) {
|
|
197
|
+
if (options === undefined) return { ...defaultCpOptions };
|
|
198
|
+
validateObject(options, "options");
|
|
199
|
+
options = { ...defaultCpOptions, ...options };
|
|
200
|
+
validateBoolean(options.dereference, "options.dereference");
|
|
201
|
+
validateBoolean(options.errorOnExist, "options.errorOnExist");
|
|
202
|
+
validateBoolean(options.force, "options.force");
|
|
203
|
+
validateBoolean(options.preserveTimestamps, "options.preserveTimestamps");
|
|
204
|
+
validateBoolean(options.recursive, "options.recursive");
|
|
205
|
+
validateBoolean(options.verbatimSymlinks, "options.verbatimSymlinks");
|
|
206
|
+
options.mode = getValidMode(options.mode, "copyFile");
|
|
207
|
+
if (options.dereference === true && options.verbatimSymlinks === true) throw new ERR_INCOMPATIBLE_OPTION_PAIR("dereference", "verbatimSymlinks");
|
|
208
|
+
if (options.filter !== undefined) validateFunction(options.filter, "options.filter");
|
|
209
|
+
return options;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/** rm's EISDIR: a directory without recursive */
|
|
213
|
+
export function rmIsDirectory(path) {
|
|
214
|
+
return fsSystemError("ERR_FS_EISDIR", "Path is a directory", { code: "EISDIR", message: "is a directory", path, syscall: "rm", errno: C.EISDIR ?? 21 });
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
export function validateRmdirOptions(options, defaults = defaultRmdirOptions) {
|
|
218
|
+
if (options === undefined) return defaults;
|
|
219
|
+
validateObject(options, "options");
|
|
220
|
+
options = { ...defaults, ...options };
|
|
221
|
+
validateBoolean(options.recursive, "options.recursive");
|
|
222
|
+
validateInt32(options.retryDelay, "options.retryDelay", 0);
|
|
223
|
+
validateUint32(options.maxRetries, "options.maxRetries");
|
|
224
|
+
return options;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/** rm's options, checked before its lstat (validateRmOptions's first part) */
|
|
228
|
+
export function validateRmOptionsShape(options) {
|
|
229
|
+
options = validateRmdirOptions(options, defaultRmOptions);
|
|
230
|
+
validateBoolean(options.force, "options.force");
|
|
231
|
+
return options;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
let recursiveRmdirWarned;
|
|
235
|
+
export function emitRecursiveRmdirWarning() {
|
|
236
|
+
if (recursiveRmdirWarned === undefined) recursiveRmdirWarned = process.noDeprecation;
|
|
237
|
+
if (!recursiveRmdirWarned) {
|
|
238
|
+
process.emitWarning("In future versions of Node.js, fs.rmdir(path, { recursive: true }) will be removed. Use fs.rm(path, { recursive: true }) instead",
|
|
239
|
+
"DeprecationWarning", "DEP0147");
|
|
240
|
+
recursiveRmdirWarned = true;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
export function getValidMode(mode, type) {
|
|
245
|
+
let min = kMinimumAccessMode;
|
|
246
|
+
let max = kMaximumAccessMode;
|
|
247
|
+
let def = F_OK;
|
|
248
|
+
if (type === "copyFile") {
|
|
249
|
+
min = kMinimumCopyMode;
|
|
250
|
+
max = kMaximumCopyMode;
|
|
251
|
+
def = mode || kDefaultCopyMode;
|
|
252
|
+
}
|
|
253
|
+
if (mode == null) return def;
|
|
254
|
+
validateInteger(mode, "mode", min, max);
|
|
255
|
+
return mode;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export function validateStringAfterArrayBufferView(buffer, name) {
|
|
259
|
+
if (typeof buffer !== "string") throw new ERR_INVALID_ARG_TYPE(name, ["string", "Buffer", "TypedArray", "DataView"], buffer);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
export function validatePosition(position, name, length) {
|
|
263
|
+
if (typeof position === "number") {
|
|
264
|
+
validateInteger(position, name, -1);
|
|
265
|
+
} else if (typeof position === "bigint") {
|
|
266
|
+
/* BigInt from the value itself: naming it would link BigInt into every program that uses fs */
|
|
267
|
+
const big = position.constructor;
|
|
268
|
+
const maxPosition = big(2) ** big(63) - big(1) - big(length);
|
|
269
|
+
if (!(position >= big(-1) && position <= maxPosition)) throw new ERR_OUT_OF_RANGE(name, `>= -1 && <= ${maxPosition}`, position);
|
|
270
|
+
} else {
|
|
271
|
+
throw new ERR_INVALID_ARG_TYPE(name, ["integer", "bigint"], position);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/** a mode: a number, or an octal string (parseFileMode) */
|
|
276
|
+
export function parseFileMode(value, name, def) {
|
|
277
|
+
value ??= def;
|
|
278
|
+
if (typeof value === "string") {
|
|
279
|
+
if (!/^[0-7]+$/.test(value)) throw new ERR_INVALID_ARG_VALUE(name, value, "must be a 32-bit unsigned integer or an octal string");
|
|
280
|
+
value = Number.parseInt(value, 8);
|
|
281
|
+
}
|
|
282
|
+
validateUint32(value, name);
|
|
283
|
+
return value;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
export { isWindows, validateBuffer };
|