@scriptc/compiler 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ambient/scriptc-node-fallback.d.ts +35 -5
- package/dist/backend/executable-features.js +7 -0
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/library-pack.js +3 -0
- package/dist/backend/library-pack.js.map +1 -1
- package/dist/backend/link-plan-core.d.ts +2 -0
- package/dist/backend/link-plan-core.js +2 -0
- package/dist/backend/link-plan-core.js.map +1 -1
- package/dist/backend/link-plan.d.ts +1 -0
- package/dist/backend/link-plan.js +1 -0
- package/dist/backend/link-plan.js.map +1 -1
- package/dist/backend/llvm/array-search.js +3 -1
- package/dist/backend/llvm/array-search.js.map +1 -1
- package/dist/backend/llvm/classes.d.ts +27 -1
- package/dist/backend/llvm/classes.js +115 -22
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/classes.test.js +21 -9
- package/dist/backend/llvm/classes.test.js.map +1 -1
- package/dist/backend/llvm/common.d.ts +21 -3
- package/dist/backend/llvm/common.js +50 -3
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.d.ts +3 -1
- package/dist/backend/llvm/dense-array-access.js +61 -38
- package/dist/backend/llvm/dense-array-access.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.test.js +4 -0
- package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
- package/dist/backend/llvm/dense-array-loops.js +3 -3
- package/dist/backend/llvm/dense-array-loops.js.map +1 -1
- package/dist/backend/llvm/dyn.d.ts +9 -0
- package/dist/backend/llvm/dyn.js +62 -6
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emit-function.js +5 -2
- package/dist/backend/llvm/emit-function.js.map +1 -1
- package/dist/backend/llvm/emit-module.js +54 -32
- package/dist/backend/llvm/emit-module.js.map +1 -1
- package/dist/backend/llvm/emit-statements.d.ts +3 -2
- package/dist/backend/llvm/emit-statements.js +90 -13
- package/dist/backend/llvm/emit-statements.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +20 -9
- package/dist/backend/llvm/emitter.js +42 -31
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/expr-calls.js +17 -4
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-containers.js +6 -9
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.js +46 -4
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.js +3 -3
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.test.js +55 -0
- package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.js +11 -15
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/integer-clones.js +3 -3
- package/dist/backend/llvm/integer-clones.js.map +1 -1
- package/dist/backend/llvm/js-ic.d.ts +18 -0
- package/dist/backend/llvm/js-ic.js +712 -0
- package/dist/backend/llvm/js-ic.js.map +1 -0
- package/dist/backend/llvm/jsval.js +139 -11
- package/dist/backend/llvm/jsval.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +4 -3
- package/dist/backend/llvm/lib-process.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +22 -0
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.js +40 -31
- package/dist/backend/llvm/local-array-reads.js.map +1 -1
- package/dist/backend/llvm/map-number-lookup.d.ts +20 -4
- package/dist/backend/llvm/map-number-lookup.js +43 -7
- package/dist/backend/llvm/map-number-lookup.js.map +1 -1
- package/dist/backend/llvm/narrow-guards.js +64 -0
- package/dist/backend/llvm/narrow-guards.js.map +1 -1
- package/dist/backend/llvm/publish.d.ts +3 -0
- package/dist/backend/llvm/publish.js +36 -17
- package/dist/backend/llvm/publish.js.map +1 -1
- package/dist/backend/llvm/regions.js +2 -2
- package/dist/backend/llvm/regions.js.map +1 -1
- package/dist/backend/llvm/regions.test.js +7 -1
- package/dist/backend/llvm/regions.test.js.map +1 -1
- package/dist/backend/llvm/shapes.d.ts +8 -2
- package/dist/backend/llvm/shapes.js +9 -7
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/speculative-integers.d.ts +20 -1
- package/dist/backend/llvm/speculative-integers.js +94 -6
- package/dist/backend/llvm/speculative-integers.js.map +1 -1
- package/dist/backend/llvm/speculative-integers.test.js +55 -1
- package/dist/backend/llvm/speculative-integers.test.js.map +1 -1
- package/dist/backend/llvm/string-reads.d.ts +1 -1
- package/dist/backend/llvm/string-reads.js +4 -4
- package/dist/backend/llvm/string-reads.js.map +1 -1
- package/dist/backend/llvm/thread-slots.test.js +5 -4
- package/dist/backend/llvm/thread-slots.test.js.map +1 -1
- package/dist/backend/mangle.d.ts +5 -0
- package/dist/backend/mangle.js +7 -0
- package/dist/backend/mangle.js.map +1 -1
- package/dist/backend/native/contracts.d.ts +20 -0
- package/dist/backend/native/executable.js +20 -3
- package/dist/backend/native/executable.js.map +1 -1
- package/dist/backend/native/library.js +2 -1
- package/dist/backend/native/library.js.map +1 -1
- package/dist/backend/native-codegen.d.ts +6 -0
- package/dist/backend/native-codegen.js +19 -0
- package/dist/backend/native-codegen.js.map +1 -1
- package/dist/backend/native-codegen.test.js +27 -0
- package/dist/backend/native-codegen.test.js.map +1 -1
- package/dist/backend/native-link-info-core.d.ts +18 -0
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/native-profile.d.ts +32 -0
- package/dist/backend/native-profile.js +39 -0
- package/dist/backend/native-profile.js.map +1 -0
- package/dist/backend/native-profile.test.d.ts +1 -0
- package/dist/backend/native-profile.test.js +58 -0
- package/dist/backend/native-profile.test.js.map +1 -0
- package/dist/backend/native-tools.d.ts +14 -0
- package/dist/backend/native-tools.js +13 -0
- package/dist/backend/native-tools.js.map +1 -1
- package/dist/backend/runtime-abi.d.ts +2 -2
- package/dist/backend/runtime-abi.js +2 -2
- package/dist/backend/runtime-pack-core.d.ts +4 -0
- package/dist/backend/runtime-pack-core.js +4 -0
- package/dist/backend/runtime-pack-core.js.map +1 -1
- package/dist/backend/runtime-pack-targets.test.js +4 -1
- package/dist/backend/runtime-pack-targets.test.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +4 -1
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/target-diagnostics.js +7 -0
- package/dist/backend/target-diagnostics.js.map +1 -1
- package/dist/backend/warm-cache.js +3 -0
- package/dist/backend/warm-cache.js.map +1 -1
- package/dist/cli/command.js +63 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/host.d.ts +3 -0
- package/dist/cli/output-options.d.ts +2 -0
- package/dist/cli/output-options.js +9 -0
- package/dist/cli/output-options.js.map +1 -1
- package/dist/cli/usage.d.ts +11 -1
- package/dist/cli/usage.js +23 -0
- package/dist/cli/usage.js.map +1 -1
- package/dist/compile-types.d.ts +9 -0
- package/dist/contracts/check.js +1 -2
- package/dist/contracts/check.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +10 -0
- package/dist/executable/executable-cache.js +6 -0
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +5 -0
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/frontend/arguments-usage.d.ts +8 -0
- package/dist/frontend/arguments-usage.js +98 -0
- package/dist/frontend/arguments-usage.js.map +1 -1
- package/dist/frontend/arguments-usage.test.d.ts +1 -0
- package/dist/frontend/arguments-usage.test.js +32 -0
- package/dist/frontend/arguments-usage.test.js.map +1 -0
- package/dist/frontend/builtin-package-aliases.d.ts +24 -0
- package/dist/frontend/builtin-package-aliases.js +133 -0
- package/dist/frontend/builtin-package-aliases.js.map +1 -0
- package/dist/frontend/builtin-package-aliases.test.d.ts +1 -0
- package/dist/frontend/builtin-package-aliases.test.js +48 -0
- package/dist/frontend/builtin-package-aliases.test.js.map +1 -0
- package/dist/frontend/dts-paths.d.ts +4 -0
- package/dist/frontend/dts-paths.js +9 -1
- package/dist/frontend/dts-paths.js.map +1 -1
- package/dist/frontend/lowering/builtins/builtin-class-dyn.d.ts +8 -0
- package/dist/frontend/lowering/builtins/builtin-class-dyn.js +50 -1
- package/dist/frontend/lowering/builtins/builtin-class-dyn.js.map +1 -1
- package/dist/frontend/lowering/builtins/callable-aliases.js +3 -2
- package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
- package/dist/frontend/lowering/builtins/crypto.d.ts +3 -0
- package/dist/frontend/lowering/builtins/crypto.js +4 -1
- package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
- package/dist/frontend/lowering/builtins/ecdh.d.ts +10 -0
- package/dist/frontend/lowering/builtins/ecdh.js +208 -0
- package/dist/frontend/lowering/builtins/ecdh.js.map +1 -0
- package/dist/frontend/lowering/builtins/json.js +52 -0
- package/dist/frontend/lowering/builtins/json.js.map +1 -1
- package/dist/frontend/lowering/builtins/process.d.ts +9 -0
- package/dist/frontend/lowering/builtins/process.js +44 -0
- package/dist/frontend/lowering/builtins/process.js.map +1 -1
- package/dist/frontend/lowering/builtins/promisify-callback.d.ts +3 -0
- package/dist/frontend/lowering/builtins/promisify-callback.js +21 -3
- package/dist/frontend/lowering/builtins/promisify-callback.js.map +1 -1
- package/dist/frontend/lowering/builtins/reflection.js +26 -0
- package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
- package/dist/frontend/lowering/builtins/timers.js +5 -1
- package/dist/frontend/lowering/builtins/timers.js.map +1 -1
- package/dist/frontend/lowering/builtins/typed-array-members.d.ts +7 -0
- package/dist/frontend/lowering/builtins/typed-array-members.js +160 -0
- package/dist/frontend/lowering/builtins/typed-array-members.js.map +1 -0
- package/dist/frontend/lowering/call-signatures.d.ts +4 -0
- package/dist/frontend/lowering/call-signatures.js +126 -9
- package/dist/frontend/lowering/call-signatures.js.map +1 -1
- package/dist/frontend/lowering/cjs-exports-object.js +34 -1
- package/dist/frontend/lowering/cjs-exports-object.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.js +9 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-protocols.d.ts +10 -0
- package/dist/frontend/lowering/class-protocols.js +53 -3
- package/dist/frontend/lowering/class-protocols.js.map +1 -1
- package/dist/frontend/lowering/class-prototypes.js +6 -1
- package/dist/frontend/lowering/class-prototypes.js.map +1 -1
- package/dist/frontend/lowering/class-to-primitive.d.ts +2 -2
- package/dist/frontend/lowering/class-to-primitive.js +6 -3
- package/dist/frontend/lowering/class-to-primitive.js.map +1 -1
- package/dist/frontend/lowering/coercions/fresh-spread.d.ts +13 -0
- package/dist/frontend/lowering/coercions/fresh-spread.js +95 -0
- package/dist/frontend/lowering/coercions/fresh-spread.js.map +1 -0
- package/dist/frontend/lowering/coercions/function-adapters.js +99 -70
- package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.d.ts +8 -0
- package/dist/frontend/lowering/containers/array-callbacks.js +22 -19
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/array-construction.js +7 -0
- package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
- package/dist/frontend/lowering/containers/array-methods.js +5 -0
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/bytes.d.ts +9 -0
- package/dist/frontend/lowering/containers/bytes.js +493 -17
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/collection-methods.js +72 -3
- package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/string-and-regexp.js +49 -13
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/cycle-initialization.d.ts +26 -10
- package/dist/frontend/lowering/cycle-initialization.js +152 -35
- package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
- package/dist/frontend/lowering/expressions/array-literals.js +33 -13
- package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/binary.js +79 -5
- package/dist/frontend/lowering/expressions/binary.js.map +1 -1
- package/dist/frontend/lowering/expressions/element-access.js +13 -6
- package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
- package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +14 -2
- package/dist/frontend/lowering/expressions/keyed-field-targets.js +91 -10
- package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -1
- package/dist/frontend/lowering/expressions/narrowing.js +17 -2
- package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.js +48 -1
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.d.ts +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.js +12 -3
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
- package/dist/frontend/lowering/expressions/property-access.d.ts +5 -0
- package/dist/frontend/lowering/expressions/property-access.js +252 -9
- package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
- package/dist/frontend/lowering/expressions/relational.js +49 -4
- package/dist/frontend/lowering/expressions/relational.js.map +1 -1
- package/dist/frontend/lowering/expressions/typeof.js +13 -0
- package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
- package/dist/frontend/lowering/expressions/updates.js +1 -1
- package/dist/frontend/lowering/expressions/updates.js.map +1 -1
- package/dist/frontend/lowering/generator-delegation.d.ts +8 -0
- package/dist/frontend/lowering/generator-delegation.js +191 -1
- package/dist/frontend/lowering/generator-delegation.js.map +1 -1
- package/dist/frontend/lowering/generic-functions.d.ts +4 -0
- package/dist/frontend/lowering/generic-functions.js +213 -56
- package/dist/frontend/lowering/generic-functions.js.map +1 -1
- package/dist/frontend/lowering/handle-properties.d.ts +24 -0
- package/dist/frontend/lowering/handle-properties.js +281 -0
- package/dist/frontend/lowering/handle-properties.js.map +1 -0
- package/dist/frontend/lowering/iterable-spelling.d.ts +7 -0
- package/dist/frontend/lowering/iterable-spelling.js +38 -0
- package/dist/frontend/lowering/iterable-spelling.js.map +1 -0
- package/dist/frontend/lowering/lower-array-sort.d.ts +33 -15
- package/dist/frontend/lowering/lower-array-sort.js +117 -21
- package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
- package/dist/frontend/lowering/lower-array-sort.test.js +93 -14
- package/dist/frontend/lowering/lower-array-sort.test.js.map +1 -1
- package/dist/frontend/lowering/lower-builtin-values.js +1 -0
- package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.js +166 -7
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +4 -0
- package/dist/frontend/lowering/lower-classes.js +59 -7
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-dgram.js +62 -13
- package/dist/frontend/lowering/lower-dgram.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.js +32 -1
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.js +4 -0
- package/dist/frontend/lowering/lower-functions.js.map +1 -1
- package/dist/frontend/lowering/lower-generators.js +10 -4
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +569 -11
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.d.ts +11 -3
- package/dist/frontend/lowering/lower-modules.js +212 -67
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.js +20 -0
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-server.js +26 -1
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stdlib.js +28 -9
- package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +7 -10
- package/dist/frontend/lowering/lower-stmts.js +418 -51
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-timers.js +17 -1
- package/dist/frontend/lowering/lower-timers.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +29 -5
- package/dist/frontend/lowering/lowerer.js +172 -25
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/rebindable-functions.d.ts +8 -0
- package/dist/frontend/lowering/rebindable-functions.js +54 -0
- package/dist/frontend/lowering/rebindable-functions.js.map +1 -0
- package/dist/frontend/lowering/static-typeof.d.ts +26 -0
- package/dist/frontend/lowering/static-typeof.js +133 -0
- package/dist/frontend/lowering/static-typeof.js.map +1 -0
- package/dist/frontend/lowering/string-index-bounds.js +3 -2
- package/dist/frontend/lowering/string-index-bounds.js.map +1 -1
- package/dist/frontend/lowering/surfaces.js +30 -4
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/thenables.d.ts +16 -0
- package/dist/frontend/lowering/thenables.js +124 -0
- package/dist/frontend/lowering/thenables.js.map +1 -0
- package/dist/frontend/npm-static-builtin-aliases.d.ts +8 -0
- package/dist/frontend/npm-static-builtin-aliases.js +65 -0
- package/dist/frontend/npm-static-builtin-aliases.js.map +1 -0
- package/dist/frontend/npm-static-bundled-chunks.d.ts +8 -1
- package/dist/frontend/npm-static-bundled-chunks.js +173 -2
- package/dist/frontend/npm-static-bundled-chunks.js.map +1 -1
- package/dist/frontend/npm-static-bundled-chunks.test.js +112 -0
- package/dist/frontend/npm-static-bundled-chunks.test.js.map +1 -1
- package/dist/frontend/npm-static-bundled-esm.js +224 -4
- package/dist/frontend/npm-static-bundled-esm.js.map +1 -1
- package/dist/frontend/npm-static-bundled-esm.test.js +129 -0
- package/dist/frontend/npm-static-bundled-esm.test.js.map +1 -1
- package/dist/frontend/npm-static-enum-iife.d.ts +6 -0
- package/dist/frontend/npm-static-enum-iife.js +280 -0
- package/dist/frontend/npm-static-enum-iife.js.map +1 -0
- package/dist/frontend/npm-static-enum-iife.test.d.ts +1 -0
- package/dist/frontend/npm-static-enum-iife.test.js +116 -0
- package/dist/frontend/npm-static-enum-iife.test.js.map +1 -0
- package/dist/frontend/npm-static.d.ts +8 -0
- package/dist/frontend/npm-static.js +46 -1
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm.js +13 -0
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/package-shims.d.ts +47 -0
- package/dist/frontend/package-shims.js +300 -0
- package/dist/frontend/package-shims.js.map +1 -0
- package/dist/frontend/pipeline.js +67 -1
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/program.d.ts +8 -0
- package/dist/frontend/program.js +72 -9
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/resolve.js +13 -0
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/services.d.ts +6 -0
- package/dist/frontend/services.js +19 -0
- package/dist/frontend/services.js.map +1 -1
- package/dist/frontend/ts7/program-host.d.ts +6 -5
- package/dist/frontend/ts7/program-host.js +7 -0
- package/dist/frontend/ts7/program-host.js.map +1 -1
- package/dist/frontend/ts7/semantic-model.d.ts +3 -0
- package/dist/frontend/ts7/semantic-model.js +26 -0
- package/dist/frontend/ts7/semantic-model.js.map +1 -1
- package/dist/frontend/ts7/session.d.ts +19 -4
- package/dist/frontend/ts7/session.js.map +1 -1
- package/dist/frontend/type-mapper.js +201 -15
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +58 -6
- package/dist/index.js.map +1 -1
- package/dist/ir/array-length-stability.d.ts +3 -2
- package/dist/ir/array-length-stability.js +15 -2
- package/dist/ir/array-length-stability.js.map +1 -1
- package/dist/ir/array-length-stability.test.js +22 -1
- package/dist/ir/array-length-stability.test.js.map +1 -1
- package/dist/ir/builtin-effects.js +13 -0
- package/dist/ir/builtin-effects.js.map +1 -1
- package/dist/ir/builtin-signatures.d.ts +1 -1
- package/dist/ir/builtin-signatures.js +46 -4
- package/dist/ir/builtin-signatures.js.map +1 -1
- package/dist/ir/integer-loop-facts.d.ts +5 -0
- package/dist/ir/integer-loop-facts.js +79 -14
- package/dist/ir/integer-loop-facts.js.map +1 -1
- package/dist/ir/integer-ranges.d.ts +10 -1
- package/dist/ir/integer-ranges.js +122 -25
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/integer-ranges.test.js +191 -1
- package/dist/ir/integer-ranges.test.js.map +1 -1
- package/dist/ir/ir.js +8 -0
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/js-ic.d.ts +52 -0
- package/dist/ir/js-ic.js +199 -0
- package/dist/ir/js-ic.js.map +1 -0
- package/dist/ir/js-ic.test.d.ts +1 -0
- package/dist/ir/js-ic.test.js +148 -0
- package/dist/ir/js-ic.test.js.map +1 -0
- package/dist/ir/jsval.js +38 -4
- package/dist/ir/jsval.js.map +1 -1
- package/dist/ir/runtime-features.d.ts +39 -4
- package/dist/ir/runtime-features.js +229 -99
- package/dist/ir/runtime-features.js.map +1 -1
- package/dist/ir/traverse.js +110 -68
- package/dist/ir/traverse.js.map +1 -1
- package/dist/ir/validate.js +21 -8
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +15 -2
- package/dist/ir/validate.test.js.map +1 -1
- package/dist/library/ir-policy.js +1 -0
- package/dist/library/ir-policy.js.map +1 -1
- package/dist/native/cli.js +17 -0
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.js +33 -4
- package/dist/native/compiler.js.map +1 -1
- package/dist/native/executable-cache.js +3 -0
- package/dist/native/executable-cache.js.map +1 -1
- package/dist/native/prepare.js +3 -0
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/sanitizer.test.js +7 -0
- package/dist/native/sanitizer.test.js.map +1 -1
- package/package.json +21 -20
- package/shims/fs-extra/core/api.ts +1192 -0
- package/shims/fs-extra/index.ts +9 -0
- package/shims/undici/core/agent.ts +163 -0
- package/shims/undici/core/api.ts +93 -0
- package/shims/undici/core/client.ts +1304 -0
- package/shims/undici/core/connector.ts +157 -0
- package/shims/undici/core/diagnostics-types.ts +68 -0
- package/shims/undici/core/diagnostics.ts +16 -0
- package/shims/undici/core/dispatcher.ts +574 -0
- package/shims/undici/core/errors-v5.ts +22 -0
- package/shims/undici/core/errors-v7.ts +25 -0
- package/shims/undici/core/errors.ts +255 -0
- package/shims/undici/core/fetch.ts +635 -0
- package/shims/undici/core/pool.ts +280 -0
- package/shims/undici/core/readable.ts +268 -0
- package/shims/undici/core/request.ts +313 -0
- package/shims/undici/core/timers.ts +80 -0
- package/shims/undici/core/types.ts +167 -0
- package/shims/undici/core/util.ts +67 -0
- package/shims/undici/v5.ts +119 -0
- package/shims/undici/v7.ts +119 -0
- package/surface-manifest.json +2 -4
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// scriptc's built-in implementation of the `fs-extra` package, 8.x-11.x API.
|
|
2
|
+
//
|
|
3
|
+
// Programs whose installed fs-extra is 8.x through 11.x compile this module
|
|
4
|
+
// in its place (see packages/compiler/src/frontend/package-shims.ts), and its
|
|
5
|
+
// declarations stand in for @types/fs-extra. The default import, the
|
|
6
|
+
// namespace import and named imports all read the same exports, as they read
|
|
7
|
+
// fs-extra's single CommonJS export object under Node.
|
|
8
|
+
export * from "./core/api.ts";
|
|
9
|
+
export * as default from "./core/api.ts";
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
// undici's Agent (lib/dispatcher/agent.js): one dispatcher per origin,
|
|
2
|
+
// created by `factory` (default: a Pool, or a Client when connections is 1).
|
|
3
|
+
import { Client } from "./client.ts";
|
|
4
|
+
import { Dispatcher, DispatcherBase } from "./dispatcher.ts";
|
|
5
|
+
import { InvalidArgumentError } from "./errors.ts";
|
|
6
|
+
import { Pool } from "./pool.ts";
|
|
7
|
+
import type {
|
|
8
|
+
AgentOptions,
|
|
9
|
+
DispatchHandlers,
|
|
10
|
+
DispatchOptions,
|
|
11
|
+
PoolOptions,
|
|
12
|
+
Profile,
|
|
13
|
+
} from "./types.ts";
|
|
14
|
+
|
|
15
|
+
interface AgentEntry {
|
|
16
|
+
dispatcher: Dispatcher;
|
|
17
|
+
count: number;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export class Agent extends DispatcherBase {
|
|
21
|
+
__options: PoolOptions;
|
|
22
|
+
__factory: ((origin: string | URL, opts: object) => Dispatcher) | null;
|
|
23
|
+
__clients: Map<string, AgentEntry>;
|
|
24
|
+
__onDrain: (origin: URL, targets: Dispatcher[]) => void;
|
|
25
|
+
__onConnect: (origin: URL, targets: Dispatcher[]) => void;
|
|
26
|
+
__onDisconnect: (origin: URL, targets: Dispatcher[], err: Error) => void;
|
|
27
|
+
__onConnectionError: (origin: URL, targets: Dispatcher[], err: Error) => void;
|
|
28
|
+
|
|
29
|
+
constructor(options: AgentOptions | undefined, profile: Profile) {
|
|
30
|
+
super(profile);
|
|
31
|
+
const opts: AgentOptions = options ?? {};
|
|
32
|
+
const interceptors = opts.interceptors;
|
|
33
|
+
if (profile.major < 7 && interceptors !== undefined && interceptors.Agent !== undefined) {
|
|
34
|
+
this.__interceptors = interceptors.Agent;
|
|
35
|
+
}
|
|
36
|
+
this.__options = {
|
|
37
|
+
keepAliveTimeout: opts.keepAliveTimeout,
|
|
38
|
+
keepAliveMaxTimeout: opts.keepAliveMaxTimeout,
|
|
39
|
+
keepAliveTimeoutThreshold: opts.keepAliveTimeoutThreshold,
|
|
40
|
+
pipelining: opts.pipelining,
|
|
41
|
+
maxHeaderSize: opts.maxHeaderSize,
|
|
42
|
+
bodyTimeout: opts.bodyTimeout,
|
|
43
|
+
headersTimeout: opts.headersTimeout,
|
|
44
|
+
strictContentLength: opts.strictContentLength,
|
|
45
|
+
maxRequestsPerClient: opts.maxRequestsPerClient,
|
|
46
|
+
maxResponseSize: opts.maxResponseSize,
|
|
47
|
+
connectTimeout: opts.connectTimeout,
|
|
48
|
+
localAddress: opts.localAddress,
|
|
49
|
+
connections: opts.connections,
|
|
50
|
+
connect: opts.connect,
|
|
51
|
+
interceptors:
|
|
52
|
+
interceptors !== undefined
|
|
53
|
+
? { Pool: interceptors.Pool, Client: interceptors.Client }
|
|
54
|
+
: undefined,
|
|
55
|
+
};
|
|
56
|
+
const factory = opts.factory;
|
|
57
|
+
this.__factory = factory !== undefined ? factory : null;
|
|
58
|
+
this.__clients = new Map<string, AgentEntry>();
|
|
59
|
+
this.__onDrain = (origin: URL, targets: Dispatcher[]): void => {
|
|
60
|
+
this.emit("drain", origin, [this as Dispatcher, ...targets]);
|
|
61
|
+
};
|
|
62
|
+
this.__onConnect = (origin: URL, targets: Dispatcher[]): void => {
|
|
63
|
+
this.emit("connect", origin, [this as Dispatcher, ...targets]);
|
|
64
|
+
};
|
|
65
|
+
this.__onDisconnect = (origin: URL, targets: Dispatcher[], err: Error): void => {
|
|
66
|
+
this.emit("disconnect", origin, [this as Dispatcher, ...targets], err);
|
|
67
|
+
};
|
|
68
|
+
this.__onConnectionError = (origin: URL, targets: Dispatcher[], err: Error): void => {
|
|
69
|
+
this.emit("connectionError", origin, [this as Dispatcher, ...targets], err);
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
__runningCount(): number {
|
|
74
|
+
let ret = 0;
|
|
75
|
+
for (const entry of this.__clients.values()) ret += entry.dispatcher.__runningCount();
|
|
76
|
+
return ret;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
__dispatch(opts: DispatchOptions, handler: DispatchHandlers): boolean {
|
|
80
|
+
const origin = opts.origin;
|
|
81
|
+
if (origin === undefined || origin === "") {
|
|
82
|
+
throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
|
|
83
|
+
}
|
|
84
|
+
const key = typeof origin === "string" ? origin : origin.href;
|
|
85
|
+
const existing = this.__clients.get(key);
|
|
86
|
+
let dispatcher: Dispatcher;
|
|
87
|
+
if (existing !== undefined) {
|
|
88
|
+
dispatcher = existing.dispatcher;
|
|
89
|
+
} else {
|
|
90
|
+
const factory = this.__factory;
|
|
91
|
+
dispatcher =
|
|
92
|
+
factory !== null
|
|
93
|
+
? factory(origin, this.__options)
|
|
94
|
+
: this.__defaultFactory(origin, this.__options);
|
|
95
|
+
const entry: AgentEntry = { dispatcher, count: 0 };
|
|
96
|
+
if (this.__profile.major >= 7) {
|
|
97
|
+
// 7.x closes and forgets an origin's dispatcher once all of its
|
|
98
|
+
// connections are gone.
|
|
99
|
+
const closeIfUnused = (connected: boolean): void => {
|
|
100
|
+
const current = this.__clients.get(key);
|
|
101
|
+
if (current !== undefined) {
|
|
102
|
+
if (connected) current.count -= 1;
|
|
103
|
+
if (current.count <= 0) {
|
|
104
|
+
this.__clients.delete(key);
|
|
105
|
+
if (!current.dispatcher.__isDestroyed()) current.dispatcher.close();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
dispatcher.on("drain", this.__onDrain);
|
|
110
|
+
dispatcher.on("connect", (o: URL, targets: Dispatcher[]) => {
|
|
111
|
+
const current = this.__clients.get(key);
|
|
112
|
+
if (current !== undefined) current.count += 1;
|
|
113
|
+
this.__onConnect(o, targets);
|
|
114
|
+
});
|
|
115
|
+
dispatcher.on("disconnect", (o: URL, targets: Dispatcher[], err: Error) => {
|
|
116
|
+
closeIfUnused(true);
|
|
117
|
+
this.__onDisconnect(o, targets, err);
|
|
118
|
+
});
|
|
119
|
+
dispatcher.on("connectionError", (o: URL, targets: Dispatcher[], err: Error) => {
|
|
120
|
+
closeIfUnused(false);
|
|
121
|
+
this.__onConnectionError(o, targets, err);
|
|
122
|
+
});
|
|
123
|
+
} else {
|
|
124
|
+
dispatcher.on("drain", this.__onDrain);
|
|
125
|
+
dispatcher.on("connect", this.__onConnect);
|
|
126
|
+
dispatcher.on("disconnect", this.__onDisconnect);
|
|
127
|
+
dispatcher.on("connectionError", this.__onConnectionError);
|
|
128
|
+
}
|
|
129
|
+
this.__clients.set(key, entry);
|
|
130
|
+
}
|
|
131
|
+
return dispatcher.dispatch(opts, handler);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/** The default factory: a Client when `connections` is 1, else a Pool, of
|
|
135
|
+
* the same undici version. */
|
|
136
|
+
__defaultFactory(origin: string | URL, opts: PoolOptions): Dispatcher {
|
|
137
|
+
return opts.connections === 1
|
|
138
|
+
? this.__createClient(origin, opts)
|
|
139
|
+
: this.__createPool(origin, opts);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
__createClient(origin: string | URL, opts: PoolOptions): Dispatcher {
|
|
143
|
+
return new Client(origin, opts, this.__profile);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
__createPool(origin: string | URL, opts: PoolOptions): Dispatcher {
|
|
147
|
+
return new Pool(origin, opts, this.__profile);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
__close(): Promise<void> {
|
|
151
|
+
const closing: Promise<void>[] = [];
|
|
152
|
+
for (const entry of this.__clients.values()) closing.push(entry.dispatcher.close());
|
|
153
|
+
if (this.__profile.major >= 7) this.__clients.clear();
|
|
154
|
+
return Promise.all(closing).then(() => {});
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
__destroy(err: Error): Promise<void> {
|
|
158
|
+
const destroying: Promise<void>[] = [];
|
|
159
|
+
for (const entry of this.__clients.values()) destroying.push(entry.dispatcher.destroy(err));
|
|
160
|
+
if (this.__profile.major >= 7) this.__clients.clear();
|
|
161
|
+
return Promise.all(destroying).then(() => {});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// undici's top-level request() (index.js makeDispatcher over
|
|
2
|
+
// lib/api/api-request.js) and the global dispatcher
|
|
3
|
+
// (lib/global.js: one process-wide slot shared by every undici copy).
|
|
4
|
+
import { requestThrough } from "./dispatcher.ts";
|
|
5
|
+
import type { Dispatcher, RequestOptions, ResponseData } from "./dispatcher.ts";
|
|
6
|
+
import { parseOrigin, parseURL } from "./util.ts";
|
|
7
|
+
import type { IncomingHttpHeaders, Profile, RequestBody, UndiciHeaders } from "./types.ts";
|
|
8
|
+
|
|
9
|
+
/** request(url, options)'s options: Dispatcher.RequestOptions without
|
|
10
|
+
* origin/path, an optional method, and the dispatcher to use. */
|
|
11
|
+
export interface TopLevelRequestOptions {
|
|
12
|
+
dispatcher?: Dispatcher;
|
|
13
|
+
method?: string;
|
|
14
|
+
path?: string;
|
|
15
|
+
body?: RequestBody;
|
|
16
|
+
headers?: UndiciHeaders;
|
|
17
|
+
idempotent?: boolean;
|
|
18
|
+
blocking?: boolean;
|
|
19
|
+
headersTimeout?: number | null;
|
|
20
|
+
bodyTimeout?: number | null;
|
|
21
|
+
reset?: boolean;
|
|
22
|
+
throwOnError?: boolean;
|
|
23
|
+
opaque?: unknown;
|
|
24
|
+
signal?: AbortSignal | null;
|
|
25
|
+
onInfo?: (info: { statusCode: number; headers: IncomingHttpHeaders }) => void;
|
|
26
|
+
highWaterMark?: number;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
let globalDispatcher: Dispatcher | null = null;
|
|
30
|
+
let globalDispatcherSet = false;
|
|
31
|
+
|
|
32
|
+
export function setGlobalDispatcher(dispatcher: Dispatcher): void {
|
|
33
|
+
globalDispatcher = dispatcher;
|
|
34
|
+
globalDispatcherSet = true;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** The global dispatcher, created on first use by the asking version's
|
|
38
|
+
* Agent (undici stores whichever copy asked first). */
|
|
39
|
+
export function getGlobalDispatcher(create: () => Dispatcher): Dispatcher {
|
|
40
|
+
let dispatcher = globalDispatcher;
|
|
41
|
+
if (dispatcher === null) {
|
|
42
|
+
dispatcher = create();
|
|
43
|
+
globalDispatcher = dispatcher;
|
|
44
|
+
}
|
|
45
|
+
return dispatcher;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** True once a program installed its own global dispatcher. */
|
|
49
|
+
export function hasCustomGlobalDispatcher(): boolean {
|
|
50
|
+
return globalDispatcherSet;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function request(
|
|
54
|
+
url: string | URL,
|
|
55
|
+
options: TopLevelRequestOptions | undefined,
|
|
56
|
+
createGlobal: () => Dispatcher,
|
|
57
|
+
profile: Profile,
|
|
58
|
+
): Promise<ResponseData> {
|
|
59
|
+
// makeDispatcher validates synchronously: an invalid URL throws at the
|
|
60
|
+
// call rather than rejecting.
|
|
61
|
+
{
|
|
62
|
+
const opts: TopLevelRequestOptions = options ?? {};
|
|
63
|
+
let target: URL;
|
|
64
|
+
const path = opts.path;
|
|
65
|
+
if (path !== undefined) {
|
|
66
|
+
const prefixed = path.startsWith("/") ? path : `/${path}`;
|
|
67
|
+
target = new URL(parseOrigin(url, profile).origin + prefixed);
|
|
68
|
+
} else {
|
|
69
|
+
target = parseURL(url, profile);
|
|
70
|
+
}
|
|
71
|
+
const dispatcher = opts.dispatcher ?? getGlobalDispatcher(createGlobal);
|
|
72
|
+
const method =
|
|
73
|
+
opts.method !== undefined && opts.method !== "" ? opts.method : opts.body ? "PUT" : "GET";
|
|
74
|
+
const dispatchOptions: RequestOptions = {
|
|
75
|
+
origin: target.origin,
|
|
76
|
+
path: target.search ? `${target.pathname}${target.search}` : target.pathname,
|
|
77
|
+
method,
|
|
78
|
+
body: opts.body,
|
|
79
|
+
headers: opts.headers,
|
|
80
|
+
idempotent: opts.idempotent,
|
|
81
|
+
blocking: opts.blocking,
|
|
82
|
+
headersTimeout: opts.headersTimeout,
|
|
83
|
+
bodyTimeout: opts.bodyTimeout,
|
|
84
|
+
reset: opts.reset,
|
|
85
|
+
throwOnError: opts.throwOnError,
|
|
86
|
+
opaque: opts.opaque,
|
|
87
|
+
signal: opts.signal,
|
|
88
|
+
onInfo: opts.onInfo,
|
|
89
|
+
highWaterMark: opts.highWaterMark,
|
|
90
|
+
};
|
|
91
|
+
return requestThrough(dispatcher, dispatchOptions, profile);
|
|
92
|
+
}
|
|
93
|
+
}
|