@volter/tabnode 0.2.14-volter.88
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/LICENSE +22 -0
- package/README.md +78 -0
- package/THIRD-PARTY-NOTICES.md +12 -0
- package/dist/__sw__.js +526 -0
- package/dist/assets/runtime-worker-4MKaHFVb.js +75221 -0
- package/dist/assets/runtime-worker-4MKaHFVb.js.map +1 -0
- package/dist/code-transforms.d.ts +21 -0
- package/dist/code-transforms.d.ts.map +1 -0
- package/dist/config/cdn.d.ts +12 -0
- package/dist/config/cdn.d.ts.map +1 -0
- package/dist/create-runtime.d.ts +22 -0
- package/dist/create-runtime.d.ts.map +1 -0
- package/dist/host-globals.d.ts +62 -0
- package/dist/host-globals.d.ts.map +1 -0
- package/dist/index.cjs +36021 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +127 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +36020 -0
- package/dist/index.mjs.map +1 -0
- package/dist/node-internals.d.ts +68 -0
- package/dist/node-internals.d.ts.map +1 -0
- package/dist/node-lib/binding/blob.d.ts +12 -0
- package/dist/node-lib/binding/blob.d.ts.map +1 -0
- package/dist/node-lib/binding/buffer.d.ts +144 -0
- package/dist/node-lib/binding/buffer.d.ts.map +1 -0
- package/dist/node-lib/binding/cares_wrap.d.ts +14 -0
- package/dist/node-lib/binding/cares_wrap.d.ts.map +1 -0
- package/dist/node-lib/binding/fds.d.ts +30 -0
- package/dist/node-lib/binding/fds.d.ts.map +1 -0
- package/dist/node-lib/binding/fs.d.ts +157 -0
- package/dist/node-lib/binding/fs.d.ts.map +1 -0
- package/dist/node-lib/binding/handles.d.ts +81 -0
- package/dist/node-lib/binding/handles.d.ts.map +1 -0
- package/dist/node-lib/binding/http_parser.d.ts +122 -0
- package/dist/node-lib/binding/http_parser.d.ts.map +1 -0
- package/dist/node-lib/binding/index.d.ts +3 -0
- package/dist/node-lib/binding/index.d.ts.map +1 -0
- package/dist/node-lib/binding/llhttp-wasm.d.ts +22 -0
- package/dist/node-lib/binding/llhttp-wasm.d.ts.map +1 -0
- package/dist/node-lib/binding/misc.d.ts +123 -0
- package/dist/node-lib/binding/misc.d.ts.map +1 -0
- package/dist/node-lib/binding/pipe_wrap.d.ts +84 -0
- package/dist/node-lib/binding/pipe_wrap.d.ts.map +1 -0
- package/dist/node-lib/binding/process_wrap.d.ts +173 -0
- package/dist/node-lib/binding/process_wrap.d.ts.map +1 -0
- package/dist/node-lib/binding/spawn_sync.d.ts +30 -0
- package/dist/node-lib/binding/spawn_sync.d.ts.map +1 -0
- package/dist/node-lib/binding/stream_wrap.d.ts +191 -0
- package/dist/node-lib/binding/stream_wrap.d.ts.map +1 -0
- package/dist/node-lib/binding/stubs.d.ts +23 -0
- package/dist/node-lib/binding/stubs.d.ts.map +1 -0
- package/dist/node-lib/binding/tcp_wrap.d.ts +98 -0
- package/dist/node-lib/binding/tcp_wrap.d.ts.map +1 -0
- package/dist/node-lib/binding/tty_wrap.d.ts +36 -0
- package/dist/node-lib/binding/tty_wrap.d.ts.map +1 -0
- package/dist/node-lib/binding/util.d.ts +126 -0
- package/dist/node-lib/binding/util.d.ts.map +1 -0
- package/dist/node-lib/binding/uv.d.ts +32 -0
- package/dist/node-lib/binding/uv.d.ts.map +1 -0
- package/dist/node-lib/binding/zlib-pako.d.ts +22 -0
- package/dist/node-lib/binding/zlib-pako.d.ts.map +1 -0
- package/dist/node-lib/binding/zlib.d.ts +38 -0
- package/dist/node-lib/binding/zlib.d.ts.map +1 -0
- package/dist/node-lib/buffer-module.d.ts +51 -0
- package/dist/node-lib/buffer-module.d.ts.map +1 -0
- package/dist/node-lib/child-process-module.d.ts +26 -0
- package/dist/node-lib/child-process-module.d.ts.map +1 -0
- package/dist/node-lib/events-module.d.ts +58 -0
- package/dist/node-lib/events-module.d.ts.map +1 -0
- package/dist/node-lib/fs-module.d.ts +5 -0
- package/dist/node-lib/fs-module.d.ts.map +1 -0
- package/dist/node-lib/http-bridge.d.ts +43 -0
- package/dist/node-lib/http-bridge.d.ts.map +1 -0
- package/dist/node-lib/http-module.d.ts +35 -0
- package/dist/node-lib/http-module.d.ts.map +1 -0
- package/dist/node-lib/internals/addresses.d.ts +40 -0
- package/dist/node-lib/internals/addresses.d.ts.map +1 -0
- package/dist/node-lib/internals/buffer-and-streams.d.ts +96 -0
- package/dist/node-lib/internals/buffer-and-streams.d.ts.map +1 -0
- package/dist/node-lib/internals/child-process.d.ts +27 -0
- package/dist/node-lib/internals/child-process.d.ts.map +1 -0
- package/dist/node-lib/internals/events-util.d.ts +83 -0
- package/dist/node-lib/internals/events-util.d.ts.map +1 -0
- package/dist/node-lib/internals/index.d.ts +2 -0
- package/dist/node-lib/internals/index.d.ts.map +1 -0
- package/dist/node-lib/internals/modules.d.ts +67 -0
- package/dist/node-lib/internals/modules.d.ts.map +1 -0
- package/dist/node-lib/internals/readline-access.d.ts +2 -0
- package/dist/node-lib/internals/readline-access.d.ts.map +1 -0
- package/dist/node-lib/internals/runtime.d.ts +150 -0
- package/dist/node-lib/internals/runtime.d.ts.map +1 -0
- package/dist/node-lib/internals/util.d.ts +33 -0
- package/dist/node-lib/internals/util.d.ts.map +1 -0
- package/dist/node-lib/lazy.d.ts +31 -0
- package/dist/node-lib/lazy.d.ts.map +1 -0
- package/dist/node-lib/load.d.ts +27 -0
- package/dist/node-lib/load.d.ts.map +1 -0
- package/dist/node-lib/module-hooks.d.ts +89 -0
- package/dist/node-lib/module-hooks.d.ts.map +1 -0
- package/dist/node-lib/net-module.d.ts +181 -0
- package/dist/node-lib/net-module.d.ts.map +1 -0
- package/dist/node-lib/node-versions.d.ts +27 -0
- package/dist/node-lib/node-versions.d.ts.map +1 -0
- package/dist/node-lib/public-modules.d.ts +2 -0
- package/dist/node-lib/public-modules.d.ts.map +1 -0
- package/dist/node-lib/require-hook.d.ts +15 -0
- package/dist/node-lib/require-hook.d.ts.map +1 -0
- package/dist/node-lib/small-modules.d.ts +16 -0
- package/dist/node-lib/small-modules.d.ts.map +1 -0
- package/dist/node-lib/sources.d.ts +4 -0
- package/dist/node-lib/sources.d.ts.map +1 -0
- package/dist/node-lib/stream-module.d.ts +77 -0
- package/dist/node-lib/stream-module.d.ts.map +1 -0
- package/dist/node-lib/timers.d.ts +19 -0
- package/dist/node-lib/timers.d.ts.map +1 -0
- package/dist/node-lib/util-module.d.ts +76 -0
- package/dist/node-lib/util-module.d.ts.map +1 -0
- package/dist/node-resolution.d.ts +50 -0
- package/dist/node-resolution.d.ts.map +1 -0
- package/dist/node-resolver.d.ts +7 -0
- package/dist/node-resolver.d.ts.map +1 -0
- package/dist/npm/index.d.ts +73 -0
- package/dist/npm/index.d.ts.map +1 -0
- package/dist/npm/registry.d.ts +111 -0
- package/dist/npm/registry.d.ts.map +1 -0
- package/dist/npm/resolver.d.ts +79 -0
- package/dist/npm/resolver.d.ts.map +1 -0
- package/dist/npm/tarball.d.ts +28 -0
- package/dist/npm/tarball.d.ts.map +1 -0
- package/dist/process-tokens.d.ts +77 -0
- package/dist/process-tokens.d.ts.map +1 -0
- package/dist/punycode-source.d.ts +3 -0
- package/dist/punycode-source.d.ts.map +1 -0
- package/dist/runtime-interface.d.ts +74 -0
- package/dist/runtime-interface.d.ts.map +1 -0
- package/dist/runtime.d.ts +144 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/server-bridge.d.ts +147 -0
- package/dist/server-bridge.d.ts.map +1 -0
- package/dist/shims/async_hooks.d.ts +50 -0
- package/dist/shims/async_hooks.d.ts.map +1 -0
- package/dist/shims/child_process.d.ts +104 -0
- package/dist/shims/child_process.d.ts.map +1 -0
- package/dist/shims/cluster.d.ts +52 -0
- package/dist/shims/cluster.d.ts.map +1 -0
- package/dist/shims/command-line.d.ts +43 -0
- package/dist/shims/command-line.d.ts.map +1 -0
- package/dist/shims/constants.d.ts +222 -0
- package/dist/shims/constants.d.ts.map +1 -0
- package/dist/shims/crypto-constants.d.ts +12 -0
- package/dist/shims/crypto-constants.d.ts.map +1 -0
- package/dist/shims/crypto.d.ts +144 -0
- package/dist/shims/crypto.d.ts.map +1 -0
- package/dist/shims/dgram.d.ts +34 -0
- package/dist/shims/dgram.d.ts.map +1 -0
- package/dist/shims/dns.d.ts +91 -0
- package/dist/shims/dns.d.ts.map +1 -0
- package/dist/shims/domain.d.ts +25 -0
- package/dist/shims/domain.d.ts.map +1 -0
- package/dist/shims/esbuild.d.ts +205 -0
- package/dist/shims/esbuild.d.ts.map +1 -0
- package/dist/shims/fs.d.ts +25 -0
- package/dist/shims/fs.d.ts.map +1 -0
- package/dist/shims/http2.d.ts +81 -0
- package/dist/shims/http2.d.ts.map +1 -0
- package/dist/shims/inspector.d.ts +25 -0
- package/dist/shims/inspector.d.ts.map +1 -0
- package/dist/shims/module.d.ts +22 -0
- package/dist/shims/module.d.ts.map +1 -0
- package/dist/shims/os.d.ts +159 -0
- package/dist/shims/os.d.ts.map +1 -0
- package/dist/shims/path.d.ts +52 -0
- package/dist/shims/path.d.ts.map +1 -0
- package/dist/shims/perf_hooks.d.ts +50 -0
- package/dist/shims/perf_hooks.d.ts.map +1 -0
- package/dist/shims/process.d.ts +226 -0
- package/dist/shims/process.d.ts.map +1 -0
- package/dist/shims/rollup.d.ts +71 -0
- package/dist/shims/rollup.d.ts.map +1 -0
- package/dist/shims/string_decoder.d.ts +41 -0
- package/dist/shims/string_decoder.d.ts.map +1 -0
- package/dist/shims/sync-child.d.ts +64 -0
- package/dist/shims/sync-child.d.ts.map +1 -0
- package/dist/shims/tls.d.ts +53 -0
- package/dist/shims/tls.d.ts.map +1 -0
- package/dist/shims/url.d.ts +84 -0
- package/dist/shims/url.d.ts.map +1 -0
- package/dist/shims/v8.d.ts +73 -0
- package/dist/shims/v8.d.ts.map +1 -0
- package/dist/shims/vfs-adapter.d.ts +126 -0
- package/dist/shims/vfs-adapter.d.ts.map +1 -0
- package/dist/shims/vm.d.ts +52 -0
- package/dist/shims/vm.d.ts.map +1 -0
- package/dist/shims/wasi.d.ts +78 -0
- package/dist/shims/wasi.d.ts.map +1 -0
- package/dist/shims/worker_threads.d.ts +66 -0
- package/dist/shims/worker_threads.d.ts.map +1 -0
- package/dist/shims/zlib-constants.d.ts +66 -0
- package/dist/shims/zlib-constants.d.ts.map +1 -0
- package/dist/shims/zlib.d.ts +102 -0
- package/dist/shims/zlib.d.ts.map +1 -0
- package/dist/transform.d.ts +24 -0
- package/dist/transform.d.ts.map +1 -0
- package/dist/types/package-json.d.ts +18 -0
- package/dist/types/package-json.d.ts.map +1 -0
- package/dist/utils/binary-encoding.d.ts +13 -0
- package/dist/utils/binary-encoding.d.ts.map +1 -0
- package/dist/utils/glob.d.ts +19 -0
- package/dist/utils/glob.d.ts.map +1 -0
- package/dist/utils/hash.d.ts +6 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/virtual-fs.d.ts +259 -0
- package/dist/virtual-fs.d.ts.map +1 -0
- package/dist/vite-plugin.cjs +50 -0
- package/dist/vite-plugin.cjs.map +1 -0
- package/dist/vite-plugin.d.ts +36 -0
- package/dist/vite-plugin.d.ts.map +1 -0
- package/dist/vite-plugin.mjs +31 -0
- package/dist/vite-plugin.mjs.map +1 -0
- package/dist/worker/runtime-worker.d.ts +8 -0
- package/dist/worker/runtime-worker.d.ts.map +1 -0
- package/dist/worker-runtime.d.ts +50 -0
- package/dist/worker-runtime.d.ts.map +1 -0
- package/package.json +88 -0
- package/src/code-transforms.ts +560 -0
- package/src/config/cdn.ts +13 -0
- package/src/create-runtime.ts +89 -0
- package/src/host-globals.ts +121 -0
- package/src/index.ts +235 -0
- package/src/node-internals.ts +283 -0
- package/src/node-lib/LICENSE +47 -0
- package/src/node-lib/_http_agent.js +547 -0
- package/src/node-lib/_http_client.js +996 -0
- package/src/node-lib/_http_common.js +269 -0
- package/src/node-lib/_http_incoming.js +453 -0
- package/src/node-lib/_http_outgoing.js +1262 -0
- package/src/node-lib/_http_server.js +1230 -0
- package/src/node-lib/assert/strict.js +3 -0
- package/src/node-lib/assert.js +844 -0
- package/src/node-lib/binding/blob.ts +35 -0
- package/src/node-lib/binding/buffer.ts +465 -0
- package/src/node-lib/binding/cares_wrap.ts +57 -0
- package/src/node-lib/binding/fds.ts +80 -0
- package/src/node-lib/binding/fs.ts +857 -0
- package/src/node-lib/binding/handles.ts +187 -0
- package/src/node-lib/binding/http_parser.ts +536 -0
- package/src/node-lib/binding/index.ts +77 -0
- package/src/node-lib/binding/llhttp-wasm.ts +670 -0
- package/src/node-lib/binding/misc.ts +252 -0
- package/src/node-lib/binding/pipe_wrap.ts +166 -0
- package/src/node-lib/binding/process_wrap.ts +371 -0
- package/src/node-lib/binding/spawn_sync.ts +141 -0
- package/src/node-lib/binding/stream_wrap.ts +413 -0
- package/src/node-lib/binding/stubs.ts +19 -0
- package/src/node-lib/binding/tcp_wrap.ts +254 -0
- package/src/node-lib/binding/tty_wrap.ts +56 -0
- package/src/node-lib/binding/util.ts +274 -0
- package/src/node-lib/binding/uv.ts +102 -0
- package/src/node-lib/binding/zlib-pako.ts +50 -0
- package/src/node-lib/binding/zlib.ts +259 -0
- package/src/node-lib/buffer-module.ts +70 -0
- package/src/node-lib/buffer.js +1373 -0
- package/src/node-lib/child-process-module.ts +58 -0
- package/src/node-lib/child_process.js +1046 -0
- package/src/node-lib/constants.js +41 -0
- package/src/node-lib/diagnostics_channel.js +438 -0
- package/src/node-lib/events-module.ts +80 -0
- package/src/node-lib/events.js +1223 -0
- package/src/node-lib/fs-module.ts +43 -0
- package/src/node-lib/fs.js +3377 -0
- package/src/node-lib/http-bridge.ts +299 -0
- package/src/node-lib/http-module.ts +53 -0
- package/src/node-lib/http.js +198 -0
- package/src/node-lib/https.js +429 -0
- package/src/node-lib/internal/assert/assertion_error.js +417 -0
- package/src/node-lib/internal/assert/calltracker.js +153 -0
- package/src/node-lib/internal/assert/myers_diff.js +177 -0
- package/src/node-lib/internal/assert/utils.js +278 -0
- package/src/node-lib/internal/buffer.js +1120 -0
- package/src/node-lib/internal/child_process/serialization.js +169 -0
- package/src/node-lib/internal/child_process.js +1135 -0
- package/src/node-lib/internal/constants.js +56 -0
- package/src/node-lib/internal/deps/minimatch/index.js +1628 -0
- package/src/node-lib/internal/errors.js +1912 -0
- package/src/node-lib/internal/events/abort_listener.js +54 -0
- package/src/node-lib/internal/events/symbols.js +11 -0
- package/src/node-lib/internal/fixed_queue.js +119 -0
- package/src/node-lib/internal/freelist.js +30 -0
- package/src/node-lib/internal/fs/cp/cp-sync.js +242 -0
- package/src/node-lib/internal/fs/cp/cp.js +382 -0
- package/src/node-lib/internal/fs/dir.js +369 -0
- package/src/node-lib/internal/fs/glob.js +763 -0
- package/src/node-lib/internal/fs/promises.js +1312 -0
- package/src/node-lib/internal/fs/read/context.js +129 -0
- package/src/node-lib/internal/fs/recursive_watch.js +275 -0
- package/src/node-lib/internal/fs/rimraf.js +311 -0
- package/src/node-lib/internal/fs/streams.js +571 -0
- package/src/node-lib/internal/fs/sync_write_stream.js +49 -0
- package/src/node-lib/internal/fs/utils.js +987 -0
- package/src/node-lib/internal/fs/watchers.js +418 -0
- package/src/node-lib/internal/http.js +62 -0
- package/src/node-lib/internal/mime.js +389 -0
- package/src/node-lib/internal/modules/customization_hooks.js +406 -0
- package/src/node-lib/internal/net.js +95 -0
- package/src/node-lib/internal/querystring.js +119 -0
- package/src/node-lib/internal/readline/callbacks.js +132 -0
- package/src/node-lib/internal/readline/emitKeypressEvents.js +99 -0
- package/src/node-lib/internal/readline/interface.js +1418 -0
- package/src/node-lib/internal/readline/promises.js +144 -0
- package/src/node-lib/internal/readline/utils.js +405 -0
- package/src/node-lib/internal/socket_list.js +108 -0
- package/src/node-lib/internal/stream_base_commons.js +280 -0
- package/src/node-lib/internal/streams/add-abort-signal.js +60 -0
- package/src/node-lib/internal/streams/compose.js +257 -0
- package/src/node-lib/internal/streams/destroy.js +361 -0
- package/src/node-lib/internal/streams/duplex.js +203 -0
- package/src/node-lib/internal/streams/duplexify.js +379 -0
- package/src/node-lib/internal/streams/duplexpair.js +62 -0
- package/src/node-lib/internal/streams/end-of-stream.js +331 -0
- package/src/node-lib/internal/streams/from.js +208 -0
- package/src/node-lib/internal/streams/lazy_transform.js +57 -0
- package/src/node-lib/internal/streams/legacy.js +125 -0
- package/src/node-lib/internal/streams/operators.js +436 -0
- package/src/node-lib/internal/streams/passthrough.js +47 -0
- package/src/node-lib/internal/streams/pipeline.js +465 -0
- package/src/node-lib/internal/streams/readable.js +1762 -0
- package/src/node-lib/internal/streams/state.js +51 -0
- package/src/node-lib/internal/streams/transform.js +204 -0
- package/src/node-lib/internal/streams/utils.js +363 -0
- package/src/node-lib/internal/streams/writable.js +1163 -0
- package/src/node-lib/internal/tty.js +260 -0
- package/src/node-lib/internal/util/colors.js +40 -0
- package/src/node-lib/internal/util/comparisons.js +1028 -0
- package/src/node-lib/internal/util/debuglog.js +524 -0
- package/src/node-lib/internal/util/inspect.js +2535 -0
- package/src/node-lib/internal/util/parse_args/parse_args.js +412 -0
- package/src/node-lib/internal/util/parse_args/utils.js +197 -0
- package/src/node-lib/internal/util.js +1003 -0
- package/src/node-lib/internal/validators.js +654 -0
- package/src/node-lib/internals/addresses.ts +159 -0
- package/src/node-lib/internals/buffer-and-streams.ts +224 -0
- package/src/node-lib/internals/child-process.ts +64 -0
- package/src/node-lib/internals/events-util.ts +105 -0
- package/src/node-lib/internals/index.ts +66 -0
- package/src/node-lib/internals/modules.ts +117 -0
- package/src/node-lib/internals/readline-access.ts +16 -0
- package/src/node-lib/internals/runtime.ts +277 -0
- package/src/node-lib/internals/util.ts +98 -0
- package/src/node-lib/lazy.ts +158 -0
- package/src/node-lib/load.ts +390 -0
- package/src/node-lib/module-hooks.ts +281 -0
- package/src/node-lib/net-module.ts +248 -0
- package/src/node-lib/net.js +2540 -0
- package/src/node-lib/node-versions.ts +34 -0
- package/src/node-lib/os.js +356 -0
- package/src/node-lib/path.js +1694 -0
- package/src/node-lib/primordials.js +743 -0
- package/src/node-lib/public-modules.ts +109 -0
- package/src/node-lib/punycode.js +455 -0
- package/src/node-lib/querystring.js +484 -0
- package/src/node-lib/readline/promises.js +73 -0
- package/src/node-lib/readline.js +523 -0
- package/src/node-lib/require-hook.ts +27 -0
- package/src/node-lib/small-modules.ts +35 -0
- package/src/node-lib/sources.ts +200 -0
- package/src/node-lib/stream/promises.js +44 -0
- package/src/node-lib/stream-module.ts +101 -0
- package/src/node-lib/stream.js +152 -0
- package/src/node-lib/timers.ts +33 -0
- package/src/node-lib/tty.js +168 -0
- package/src/node-lib/util-module.ts +104 -0
- package/src/node-lib/util.js +689 -0
- package/src/node-lib/wasi.js +179 -0
- package/src/node-lib/zlib.js +1036 -0
- package/src/node-resolution.ts +241 -0
- package/src/node-resolver.ts +33 -0
- package/src/npm/index.ts +425 -0
- package/src/npm/registry.ts +235 -0
- package/src/npm/resolver.ts +589 -0
- package/src/npm/tarball.ts +246 -0
- package/src/process-tokens.ts +156 -0
- package/src/punycode-source.ts +6 -0
- package/src/runtime-interface.ts +85 -0
- package/src/runtime.ts +3073 -0
- package/src/server-bridge.ts +971 -0
- package/src/shims/async_hooks.ts +181 -0
- package/src/shims/child_process.ts +1591 -0
- package/src/shims/cluster.ts +79 -0
- package/src/shims/command-line.ts +79 -0
- package/src/shims/constants.ts +68 -0
- package/src/shims/crypto-constants.ts +11 -0
- package/src/shims/crypto.ts +1061 -0
- package/src/shims/dgram.ts +47 -0
- package/src/shims/dns.ts +185 -0
- package/src/shims/domain.ts +58 -0
- package/src/shims/esbuild.ts +1638 -0
- package/src/shims/fs.ts +82 -0
- package/src/shims/http2.ts +96 -0
- package/src/shims/inspector.ts +30 -0
- package/src/shims/module.ts +86 -0
- package/src/shims/os.ts +195 -0
- package/src/shims/path.ts +246 -0
- package/src/shims/perf_hooks.ts +92 -0
- package/src/shims/process.ts +804 -0
- package/src/shims/rollup.ts +149 -0
- package/src/shims/string_decoder.ts +396 -0
- package/src/shims/sync-child.ts +469 -0
- package/src/shims/tls.ts +94 -0
- package/src/shims/url.ts +217 -0
- package/src/shims/v8.ts +113 -0
- package/src/shims/vfs-adapter.ts +408 -0
- package/src/shims/vm.ts +132 -0
- package/src/shims/wasi.ts +1440 -0
- package/src/shims/worker_threads.ts +114 -0
- package/src/shims/zlib-constants.ts +65 -0
- package/src/shims/zlib.ts +228 -0
- package/src/transform.ts +324 -0
- package/src/types/external.d.ts +55 -0
- package/src/types/package-json.ts +17 -0
- package/src/types/pako-zlib.d.ts +30 -0
- package/src/types/sha.js.d.ts +14 -0
- package/src/utils/binary-encoding.ts +43 -0
- package/src/utils/glob.ts +54 -0
- package/src/utils/hash.ts +12 -0
- package/src/virtual-fs.ts +1048 -0
- package/src/vite-plugin.ts +76 -0
- package/src/worker/runtime-worker.ts +128 -0
- package/src/worker-runtime.ts +145 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Copyright Joyent, Inc. and other Node contributors.
|
|
2
|
+
//
|
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a
|
|
4
|
+
// copy of this software and associated documentation files (the
|
|
5
|
+
// "Software"), to deal in the Software without restriction, including
|
|
6
|
+
// without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
|
8
|
+
// persons to whom the Software is furnished to do so, subject to the
|
|
9
|
+
// following conditions:
|
|
10
|
+
//
|
|
11
|
+
// The above copyright notice and this permission notice shall be included
|
|
12
|
+
// in all copies or substantial portions of the Software.
|
|
13
|
+
//
|
|
14
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
15
|
+
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
|
17
|
+
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
18
|
+
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
19
|
+
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
|
20
|
+
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
21
|
+
|
|
22
|
+
'use strict';
|
|
23
|
+
|
|
24
|
+
const {
|
|
25
|
+
ObjectAssign,
|
|
26
|
+
ObjectFreeze,
|
|
27
|
+
} = primordials;
|
|
28
|
+
|
|
29
|
+
// This module is deprecated in documentation only. Users should be directed
|
|
30
|
+
// towards using the specific constants exposed by the individual modules on
|
|
31
|
+
// which they are most relevant.
|
|
32
|
+
// Deprecation Code: DEP0008
|
|
33
|
+
const constants = internalBinding('constants');
|
|
34
|
+
ObjectAssign(exports,
|
|
35
|
+
constants.os.dlopen,
|
|
36
|
+
constants.os.errno,
|
|
37
|
+
constants.os.priority,
|
|
38
|
+
constants.os.signals,
|
|
39
|
+
constants.fs,
|
|
40
|
+
constants.crypto);
|
|
41
|
+
ObjectFreeze(exports);
|
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const {
|
|
4
|
+
ArrayPrototypeAt,
|
|
5
|
+
ArrayPrototypeIndexOf,
|
|
6
|
+
ArrayPrototypePush,
|
|
7
|
+
ArrayPrototypePushApply,
|
|
8
|
+
ArrayPrototypeSlice,
|
|
9
|
+
ArrayPrototypeSplice,
|
|
10
|
+
ObjectDefineProperty,
|
|
11
|
+
ObjectGetPrototypeOf,
|
|
12
|
+
ObjectSetPrototypeOf,
|
|
13
|
+
Promise,
|
|
14
|
+
PromisePrototypeThen,
|
|
15
|
+
PromiseReject,
|
|
16
|
+
PromiseResolve,
|
|
17
|
+
ReflectApply,
|
|
18
|
+
SafeFinalizationRegistry,
|
|
19
|
+
SafeMap,
|
|
20
|
+
SymbolHasInstance,
|
|
21
|
+
} = primordials;
|
|
22
|
+
|
|
23
|
+
const {
|
|
24
|
+
codes: {
|
|
25
|
+
ERR_INVALID_ARG_TYPE,
|
|
26
|
+
},
|
|
27
|
+
} = require('internal/errors');
|
|
28
|
+
const {
|
|
29
|
+
validateFunction,
|
|
30
|
+
} = require('internal/validators');
|
|
31
|
+
|
|
32
|
+
const { triggerUncaughtException } = internalBinding('errors');
|
|
33
|
+
|
|
34
|
+
const { WeakReference } = require('internal/util');
|
|
35
|
+
|
|
36
|
+
// Can't delete when weakref count reaches 0 as it could increment again.
|
|
37
|
+
// Only GC can be used as a valid time to clean up the channels map.
|
|
38
|
+
class WeakRefMap extends SafeMap {
|
|
39
|
+
#finalizers = new SafeFinalizationRegistry((key) => {
|
|
40
|
+
this.delete(key);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
set(key, value) {
|
|
44
|
+
this.#finalizers.register(value, key);
|
|
45
|
+
return super.set(key, new WeakReference(value));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
get(key) {
|
|
49
|
+
return super.get(key)?.get();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
incRef(key) {
|
|
53
|
+
return super.get(key)?.incRef();
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
decRef(key) {
|
|
57
|
+
return super.get(key)?.decRef();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function markActive(channel) {
|
|
62
|
+
// eslint-disable-next-line no-use-before-define
|
|
63
|
+
ObjectSetPrototypeOf(channel, ActiveChannel.prototype);
|
|
64
|
+
channel._subscribers = [];
|
|
65
|
+
channel._stores = new SafeMap();
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function maybeMarkInactive(channel) {
|
|
69
|
+
// When there are no more active subscribers or bound, restore to fast prototype.
|
|
70
|
+
if (!channel._subscribers.length && !channel._stores.size) {
|
|
71
|
+
// eslint-disable-next-line no-use-before-define
|
|
72
|
+
ObjectSetPrototypeOf(channel, Channel.prototype);
|
|
73
|
+
channel._subscribers = undefined;
|
|
74
|
+
channel._stores = undefined;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function defaultTransform(data) {
|
|
79
|
+
return data;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function wrapStoreRun(store, data, next, transform = defaultTransform) {
|
|
83
|
+
return () => {
|
|
84
|
+
let context;
|
|
85
|
+
try {
|
|
86
|
+
context = transform(data);
|
|
87
|
+
} catch (err) {
|
|
88
|
+
process.nextTick(() => {
|
|
89
|
+
triggerUncaughtException(err, false);
|
|
90
|
+
});
|
|
91
|
+
return next();
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return store.run(context, next);
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// TODO(qard): should there be a C++ channel interface?
|
|
99
|
+
class ActiveChannel {
|
|
100
|
+
subscribe(subscription) {
|
|
101
|
+
validateFunction(subscription, 'subscription');
|
|
102
|
+
this._subscribers = ArrayPrototypeSlice(this._subscribers);
|
|
103
|
+
ArrayPrototypePush(this._subscribers, subscription);
|
|
104
|
+
channels.incRef(this.name);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
unsubscribe(subscription) {
|
|
108
|
+
const index = ArrayPrototypeIndexOf(this._subscribers, subscription);
|
|
109
|
+
if (index === -1) return false;
|
|
110
|
+
|
|
111
|
+
const before = ArrayPrototypeSlice(this._subscribers, 0, index);
|
|
112
|
+
const after = ArrayPrototypeSlice(this._subscribers, index + 1);
|
|
113
|
+
this._subscribers = before;
|
|
114
|
+
ArrayPrototypePushApply(this._subscribers, after);
|
|
115
|
+
|
|
116
|
+
channels.decRef(this.name);
|
|
117
|
+
maybeMarkInactive(this);
|
|
118
|
+
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
bindStore(store, transform) {
|
|
123
|
+
const replacing = this._stores.has(store);
|
|
124
|
+
if (!replacing) channels.incRef(this.name);
|
|
125
|
+
this._stores.set(store, transform);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
unbindStore(store) {
|
|
129
|
+
if (!this._stores.has(store)) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
this._stores.delete(store);
|
|
134
|
+
|
|
135
|
+
channels.decRef(this.name);
|
|
136
|
+
maybeMarkInactive(this);
|
|
137
|
+
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
get hasSubscribers() {
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
publish(data) {
|
|
146
|
+
const subscribers = this._subscribers;
|
|
147
|
+
for (let i = 0; i < (subscribers?.length || 0); i++) {
|
|
148
|
+
try {
|
|
149
|
+
const onMessage = subscribers[i];
|
|
150
|
+
onMessage(data, this.name);
|
|
151
|
+
} catch (err) {
|
|
152
|
+
process.nextTick(() => {
|
|
153
|
+
triggerUncaughtException(err, false);
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
runStores(data, fn, thisArg, ...args) {
|
|
160
|
+
let run = () => {
|
|
161
|
+
this.publish(data);
|
|
162
|
+
return ReflectApply(fn, thisArg, args);
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
for (const entry of this._stores.entries()) {
|
|
166
|
+
const store = entry[0];
|
|
167
|
+
const transform = entry[1];
|
|
168
|
+
run = wrapStoreRun(store, data, run, transform);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return run();
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
class Channel {
|
|
176
|
+
constructor(name) {
|
|
177
|
+
this._subscribers = undefined;
|
|
178
|
+
this._stores = undefined;
|
|
179
|
+
this.name = name;
|
|
180
|
+
|
|
181
|
+
channels.set(name, this);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
static [SymbolHasInstance](instance) {
|
|
185
|
+
const prototype = ObjectGetPrototypeOf(instance);
|
|
186
|
+
return prototype === Channel.prototype ||
|
|
187
|
+
prototype === ActiveChannel.prototype;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
subscribe(subscription) {
|
|
191
|
+
markActive(this);
|
|
192
|
+
this.subscribe(subscription);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
unsubscribe() {
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
bindStore(store, transform) {
|
|
200
|
+
markActive(this);
|
|
201
|
+
this.bindStore(store, transform);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
unbindStore() {
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
get hasSubscribers() {
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
publish() {}
|
|
213
|
+
|
|
214
|
+
runStores(data, fn, thisArg, ...args) {
|
|
215
|
+
return ReflectApply(fn, thisArg, args);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
const channels = new WeakRefMap();
|
|
220
|
+
|
|
221
|
+
function channel(name) {
|
|
222
|
+
const channel = channels.get(name);
|
|
223
|
+
if (channel) return channel;
|
|
224
|
+
|
|
225
|
+
if (typeof name !== 'string' && typeof name !== 'symbol') {
|
|
226
|
+
throw new ERR_INVALID_ARG_TYPE('channel', ['string', 'symbol'], name);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
return new Channel(name);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
function subscribe(name, subscription) {
|
|
233
|
+
return channel(name).subscribe(subscription);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
function unsubscribe(name, subscription) {
|
|
237
|
+
return channel(name).unsubscribe(subscription);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
function hasSubscribers(name) {
|
|
241
|
+
const channel = channels.get(name);
|
|
242
|
+
if (!channel) return false;
|
|
243
|
+
|
|
244
|
+
return channel.hasSubscribers;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
const traceEvents = [
|
|
248
|
+
'start',
|
|
249
|
+
'end',
|
|
250
|
+
'asyncStart',
|
|
251
|
+
'asyncEnd',
|
|
252
|
+
'error',
|
|
253
|
+
];
|
|
254
|
+
|
|
255
|
+
function assertChannel(value, name) {
|
|
256
|
+
if (!(value instanceof Channel)) {
|
|
257
|
+
throw new ERR_INVALID_ARG_TYPE(name, ['Channel'], value);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
function tracingChannelFrom(nameOrChannels, name) {
|
|
262
|
+
if (typeof nameOrChannels === 'string') {
|
|
263
|
+
return channel(`tracing:${nameOrChannels}:${name}`);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
if (typeof nameOrChannels === 'object' && nameOrChannels !== null) {
|
|
267
|
+
const channel = nameOrChannels[name];
|
|
268
|
+
assertChannel(channel, `nameOrChannels.${name}`);
|
|
269
|
+
return channel;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
throw new ERR_INVALID_ARG_TYPE('nameOrChannels',
|
|
273
|
+
['string', 'object', 'TracingChannel'],
|
|
274
|
+
nameOrChannels);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
class TracingChannel {
|
|
278
|
+
constructor(nameOrChannels) {
|
|
279
|
+
for (let i = 0; i < traceEvents.length; ++i) {
|
|
280
|
+
const eventName = traceEvents[i];
|
|
281
|
+
ObjectDefineProperty(this, eventName, {
|
|
282
|
+
__proto__: null,
|
|
283
|
+
value: tracingChannelFrom(nameOrChannels, eventName),
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
get hasSubscribers() {
|
|
289
|
+
return this.start?.hasSubscribers ||
|
|
290
|
+
this.end?.hasSubscribers ||
|
|
291
|
+
this.asyncStart?.hasSubscribers ||
|
|
292
|
+
this.asyncEnd?.hasSubscribers ||
|
|
293
|
+
this.error?.hasSubscribers;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
subscribe(handlers) {
|
|
297
|
+
for (let i = 0; i < traceEvents.length; ++i) {
|
|
298
|
+
const name = traceEvents[i];
|
|
299
|
+
if (!handlers[name]) continue;
|
|
300
|
+
|
|
301
|
+
this[name]?.subscribe(handlers[name]);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
unsubscribe(handlers) {
|
|
306
|
+
let done = true;
|
|
307
|
+
|
|
308
|
+
for (let i = 0; i < traceEvents.length; ++i) {
|
|
309
|
+
const name = traceEvents[i];
|
|
310
|
+
if (!handlers[name]) continue;
|
|
311
|
+
|
|
312
|
+
if (!this[name]?.unsubscribe(handlers[name])) {
|
|
313
|
+
done = false;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
return done;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
traceSync(fn, context = {}, thisArg, ...args) {
|
|
321
|
+
if (!this.hasSubscribers) {
|
|
322
|
+
return ReflectApply(fn, thisArg, args);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
const { start, end, error } = this;
|
|
326
|
+
|
|
327
|
+
return start.runStores(context, () => {
|
|
328
|
+
try {
|
|
329
|
+
const result = ReflectApply(fn, thisArg, args);
|
|
330
|
+
context.result = result;
|
|
331
|
+
return result;
|
|
332
|
+
} catch (err) {
|
|
333
|
+
context.error = err;
|
|
334
|
+
error.publish(context);
|
|
335
|
+
throw err;
|
|
336
|
+
} finally {
|
|
337
|
+
end.publish(context);
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
tracePromise(fn, context = {}, thisArg, ...args) {
|
|
343
|
+
if (!this.hasSubscribers) {
|
|
344
|
+
return ReflectApply(fn, thisArg, args);
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
const { start, end, asyncStart, asyncEnd, error } = this;
|
|
348
|
+
|
|
349
|
+
function reject(err) {
|
|
350
|
+
context.error = err;
|
|
351
|
+
error.publish(context);
|
|
352
|
+
asyncStart.publish(context);
|
|
353
|
+
// TODO: Is there a way to have asyncEnd _after_ the continuation?
|
|
354
|
+
asyncEnd.publish(context);
|
|
355
|
+
return PromiseReject(err);
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
function resolve(result) {
|
|
359
|
+
context.result = result;
|
|
360
|
+
asyncStart.publish(context);
|
|
361
|
+
// TODO: Is there a way to have asyncEnd _after_ the continuation?
|
|
362
|
+
asyncEnd.publish(context);
|
|
363
|
+
return result;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
return start.runStores(context, () => {
|
|
367
|
+
try {
|
|
368
|
+
let promise = ReflectApply(fn, thisArg, args);
|
|
369
|
+
// Convert thenables to native promises
|
|
370
|
+
if (!(promise instanceof Promise)) {
|
|
371
|
+
promise = PromiseResolve(promise);
|
|
372
|
+
}
|
|
373
|
+
return PromisePrototypeThen(promise, resolve, reject);
|
|
374
|
+
} catch (err) {
|
|
375
|
+
context.error = err;
|
|
376
|
+
error.publish(context);
|
|
377
|
+
throw err;
|
|
378
|
+
} finally {
|
|
379
|
+
end.publish(context);
|
|
380
|
+
}
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
traceCallback(fn, position = -1, context = {}, thisArg, ...args) {
|
|
385
|
+
if (!this.hasSubscribers) {
|
|
386
|
+
return ReflectApply(fn, thisArg, args);
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
const { start, end, asyncStart, asyncEnd, error } = this;
|
|
390
|
+
|
|
391
|
+
function wrappedCallback(err, res) {
|
|
392
|
+
if (err) {
|
|
393
|
+
context.error = err;
|
|
394
|
+
error.publish(context);
|
|
395
|
+
} else {
|
|
396
|
+
context.result = res;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
// Using runStores here enables manual context failure recovery
|
|
400
|
+
asyncStart.runStores(context, () => {
|
|
401
|
+
try {
|
|
402
|
+
return ReflectApply(callback, this, arguments);
|
|
403
|
+
} finally {
|
|
404
|
+
asyncEnd.publish(context);
|
|
405
|
+
}
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
const callback = ArrayPrototypeAt(args, position);
|
|
410
|
+
validateFunction(callback, 'callback');
|
|
411
|
+
ArrayPrototypeSplice(args, position, 1, wrappedCallback);
|
|
412
|
+
|
|
413
|
+
return start.runStores(context, () => {
|
|
414
|
+
try {
|
|
415
|
+
return ReflectApply(fn, thisArg, args);
|
|
416
|
+
} catch (err) {
|
|
417
|
+
context.error = err;
|
|
418
|
+
error.publish(context);
|
|
419
|
+
throw err;
|
|
420
|
+
} finally {
|
|
421
|
+
end.publish(context);
|
|
422
|
+
}
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
function tracingChannel(nameOrChannels) {
|
|
428
|
+
return new TracingChannel(nameOrChannels);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
module.exports = {
|
|
432
|
+
channel,
|
|
433
|
+
hasSubscribers,
|
|
434
|
+
subscribe,
|
|
435
|
+
tracingChannel,
|
|
436
|
+
unsubscribe,
|
|
437
|
+
Channel,
|
|
438
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `events`, as Node's own `lib/events.js`.
|
|
3
|
+
*
|
|
4
|
+
* What died: the engine's `EventEmitter` was hand-written, 254 lines over a
|
|
5
|
+
* `Map` of arrays. Node's own `test-events-*`: 0 of 9 passed. The gaps were
|
|
6
|
+
* not exotic -- `events.once`, `events.on`, `captureRejections`, the
|
|
7
|
+
* `MaxListenersExceededWarning`, `getEventListeners`, an emitter's
|
|
8
|
+
* `[kCapture]`, the `error` event's special handling -- and each one was a
|
|
9
|
+
* program in the tab finding it. `stream` found one from the inside: Node's
|
|
10
|
+
* `readable.js` assigns `addListener = on`, so an `on` that delegated to
|
|
11
|
+
* `addListener` was an infinite recursion.
|
|
12
|
+
*
|
|
13
|
+
* What this is: Node's `lib/events.js` v22.18.0, vendored unmodified, over
|
|
14
|
+
* `internal/fixed_queue`, `internal/events/symbols` and the engine's own
|
|
15
|
+
* `internal/event_target` binding. `EventEmitter`, `once`, `on`,
|
|
16
|
+
* `setMaxListeners`, `addAbortListener` and the rest are Node's own code.
|
|
17
|
+
*
|
|
18
|
+
* The rule for this file: it binds, it does not implement.
|
|
19
|
+
*/
|
|
20
|
+
import { lazyExport } from './lazy';
|
|
21
|
+
|
|
22
|
+
/** A listener, as the engine's own shims type one. */
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
|
+
export type EventListener = (...args: any[]) => void;
|
|
25
|
+
|
|
26
|
+
/** Node's `EventEmitter`, as every part of the engine reads one. */
|
|
27
|
+
export interface EventEmitter {
|
|
28
|
+
addListener(event: string | symbol, listener: EventListener): this;
|
|
29
|
+
on(event: string | symbol, listener: EventListener): this;
|
|
30
|
+
once(event: string | symbol, listener: EventListener): this;
|
|
31
|
+
removeListener(event: string | symbol, listener: EventListener): this;
|
|
32
|
+
off(event: string | symbol, listener: EventListener): this;
|
|
33
|
+
removeAllListeners(event?: string | symbol): this;
|
|
34
|
+
setMaxListeners(n: number): this;
|
|
35
|
+
getMaxListeners(): number;
|
|
36
|
+
listeners(event: string | symbol): Array<EventListener>;
|
|
37
|
+
rawListeners(event: string | symbol): Array<EventListener>;
|
|
38
|
+
emit(event: string | symbol, ...args: unknown[]): boolean;
|
|
39
|
+
listenerCount(event: string | symbol, listener?: EventListener): number;
|
|
40
|
+
prependListener(event: string | symbol, listener: EventListener): this;
|
|
41
|
+
prependOnceListener(event: string | symbol, listener: EventListener): this;
|
|
42
|
+
eventNames(): Array<string | symbol>;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** The whole of Node's `events` module object. */
|
|
46
|
+
export interface EventsModule {
|
|
47
|
+
EventEmitter: new (options?: { captureRejections?: boolean }) => EventEmitter;
|
|
48
|
+
EventEmitterAsyncResource: unknown;
|
|
49
|
+
once(emitter: unknown, name: string | symbol, options?: unknown): Promise<unknown[]>;
|
|
50
|
+
on(emitter: unknown, name: string | symbol, options?: unknown): AsyncIterableIterator<unknown[]>;
|
|
51
|
+
getEventListeners(emitter: unknown, name: string | symbol): Array<EventListener>;
|
|
52
|
+
getMaxListeners(emitter: unknown): number;
|
|
53
|
+
setMaxListeners(n?: number, ...emitters: unknown[]): void;
|
|
54
|
+
addAbortListener(signal: AbortSignal, listener: EventListener): Disposable;
|
|
55
|
+
listenerCount(emitter: unknown, type: string | symbol): number;
|
|
56
|
+
init: unknown;
|
|
57
|
+
captureRejectionSymbol: symbol;
|
|
58
|
+
errorMonitor: symbol;
|
|
59
|
+
usingDomains: boolean;
|
|
60
|
+
defaultMaxListeners: number;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* The class itself, named before the loader can build it: the engine's own
|
|
65
|
+
* files construct and subclass it, and `./lazy.ts` says why a name here
|
|
66
|
+
* stands for the thing rather than being it.
|
|
67
|
+
*/
|
|
68
|
+
export const EventEmitter = lazyExport<EventsModule['EventEmitter']>('events', 'EventEmitter');
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* The module, which in Node IS the class: `events.js` ends with
|
|
72
|
+
* `module.exports = EventEmitter` and hangs `once`, `on`, `getEventListeners`
|
|
73
|
+
* and the rest off it, so `require("events") === require("events")
|
|
74
|
+
* .EventEmitter` and `new (require("events"))()` is an emitter. One object
|
|
75
|
+
* here too, for the same reason -- a guest that constructs the module got
|
|
76
|
+
* "not a constructor" when this was a separate object standing beside it.
|
|
77
|
+
*/
|
|
78
|
+
export const eventsModule = EventEmitter as unknown as EventsModule;
|
|
79
|
+
|
|
80
|
+
export default eventsModule;
|