@blade-hq/agent-client 1.1.1 → 1.1.3
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 +48 -25
- package/dist/blade-client.d.ts +2 -14
- package/dist/index.d.ts +5 -2
- package/dist/index.js +212 -106
- package/dist/index.js.map +1 -1
- package/dist/resources/models.d.ts +15 -0
- package/dist/resources/sessions.d.ts +8 -1
- package/dist/session/agent-session.d.ts +10 -0
- package/dist/session/definition.d.ts +49 -0
- package/dist/shared/projection/helpers.d.ts +1 -1
- package/dist/types/rest.d.ts +378 -10
- package/dist/version.d.ts +4 -42
- package/node_modules/@ark/schema/LICENSE +7 -0
- package/node_modules/@ark/schema/README.md +18 -0
- package/node_modules/@ark/schema/out/config.d.ts +58 -0
- package/node_modules/@ark/schema/out/config.js +95 -0
- package/node_modules/@ark/schema/out/constraint.d.ts +67 -0
- package/node_modules/@ark/schema/out/constraint.js +136 -0
- package/node_modules/@ark/schema/out/generic.d.ts +73 -0
- package/node_modules/@ark/schema/out/generic.js +76 -0
- package/node_modules/@ark/schema/out/index.d.ts +47 -0
- package/node_modules/@ark/schema/out/index.js +47 -0
- package/node_modules/@ark/schema/out/intrinsic.d.ts +24 -0
- package/node_modules/@ark/schema/out/intrinsic.js +56 -0
- package/node_modules/@ark/schema/out/kinds.d.ts +73 -0
- package/node_modules/@ark/schema/out/kinds.js +71 -0
- package/node_modules/@ark/schema/out/module.d.ts +24 -0
- package/node_modules/@ark/schema/out/module.js +15 -0
- package/node_modules/@ark/schema/out/node.d.ts +154 -0
- package/node_modules/@ark/schema/out/node.js +438 -0
- package/node_modules/@ark/schema/out/parse.d.ts +52 -0
- package/node_modules/@ark/schema/out/parse.js +215 -0
- package/node_modules/@ark/schema/out/predicate.d.ts +52 -0
- package/node_modules/@ark/schema/out/predicate.js +63 -0
- package/node_modules/@ark/schema/out/refinements/after.d.ts +41 -0
- package/node_modules/@ark/schema/out/refinements/after.js +35 -0
- package/node_modules/@ark/schema/out/refinements/before.d.ts +41 -0
- package/node_modules/@ark/schema/out/refinements/before.js +41 -0
- package/node_modules/@ark/schema/out/refinements/divisor.d.ts +43 -0
- package/node_modules/@ark/schema/out/refinements/divisor.js +58 -0
- package/node_modules/@ark/schema/out/refinements/exactLength.d.ts +49 -0
- package/node_modules/@ark/schema/out/refinements/exactLength.js +55 -0
- package/node_modules/@ark/schema/out/refinements/kinds.d.ts +34 -0
- package/node_modules/@ark/schema/out/refinements/kinds.js +25 -0
- package/node_modules/@ark/schema/out/refinements/max.d.ts +37 -0
- package/node_modules/@ark/schema/out/refinements/max.js +45 -0
- package/node_modules/@ark/schema/out/refinements/maxLength.d.ts +40 -0
- package/node_modules/@ark/schema/out/refinements/maxLength.js +49 -0
- package/node_modules/@ark/schema/out/refinements/min.d.ts +37 -0
- package/node_modules/@ark/schema/out/refinements/min.js +39 -0
- package/node_modules/@ark/schema/out/refinements/minLength.d.ts +40 -0
- package/node_modules/@ark/schema/out/refinements/minLength.js +47 -0
- package/node_modules/@ark/schema/out/refinements/pattern.d.ts +43 -0
- package/node_modules/@ark/schema/out/refinements/pattern.js +52 -0
- package/node_modules/@ark/schema/out/refinements/range.d.ts +106 -0
- package/node_modules/@ark/schema/out/refinements/range.js +103 -0
- package/node_modules/@ark/schema/out/roots/alias.d.ts +45 -0
- package/node_modules/@ark/schema/out/roots/alias.js +115 -0
- package/node_modules/@ark/schema/out/roots/basis.d.ts +12 -0
- package/node_modules/@ark/schema/out/roots/basis.js +26 -0
- package/node_modules/@ark/schema/out/roots/domain.d.ts +45 -0
- package/node_modules/@ark/schema/out/roots/domain.js +72 -0
- package/node_modules/@ark/schema/out/roots/intersection.d.ts +98 -0
- package/node_modules/@ark/schema/out/roots/intersection.js +292 -0
- package/node_modules/@ark/schema/out/roots/morph.d.ts +62 -0
- package/node_modules/@ark/schema/out/roots/morph.js +159 -0
- package/node_modules/@ark/schema/out/roots/proto.d.ts +53 -0
- package/node_modules/@ark/schema/out/roots/proto.js +101 -0
- package/node_modules/@ark/schema/out/roots/root.d.ts +145 -0
- package/node_modules/@ark/schema/out/roots/root.js +455 -0
- package/node_modules/@ark/schema/out/roots/union.d.ts +99 -0
- package/node_modules/@ark/schema/out/roots/union.js +718 -0
- package/node_modules/@ark/schema/out/roots/unit.d.ts +41 -0
- package/node_modules/@ark/schema/out/roots/unit.js +86 -0
- package/node_modules/@ark/schema/out/roots/utils.d.ts +3 -0
- package/node_modules/@ark/schema/out/roots/utils.js +6 -0
- package/node_modules/@ark/schema/out/scope.d.ts +158 -0
- package/node_modules/@ark/schema/out/scope.js +481 -0
- package/node_modules/@ark/schema/out/shared/compile.d.ts +62 -0
- package/node_modules/@ark/schema/out/shared/compile.js +145 -0
- package/node_modules/@ark/schema/out/shared/declare.d.ts +80 -0
- package/node_modules/@ark/schema/out/shared/declare.js +1 -0
- package/node_modules/@ark/schema/out/shared/disjoint.d.ts +41 -0
- package/node_modules/@ark/schema/out/shared/disjoint.js +65 -0
- package/node_modules/@ark/schema/out/shared/errors.d.ts +145 -0
- package/node_modules/@ark/schema/out/shared/errors.js +252 -0
- package/node_modules/@ark/schema/out/shared/implement.d.ts +151 -0
- package/node_modules/@ark/schema/out/shared/implement.js +98 -0
- package/node_modules/@ark/schema/out/shared/intersections.d.ts +10 -0
- package/node_modules/@ark/schema/out/shared/intersections.js +132 -0
- package/node_modules/@ark/schema/out/shared/jsonSchema.d.ts +93 -0
- package/node_modules/@ark/schema/out/shared/jsonSchema.js +1 -0
- package/node_modules/@ark/schema/out/shared/registry.d.ts +7 -0
- package/node_modules/@ark/schema/out/shared/registry.js +10 -0
- package/node_modules/@ark/schema/out/shared/standardSchema.d.ts +122 -0
- package/node_modules/@ark/schema/out/shared/standardSchema.js +2 -0
- package/node_modules/@ark/schema/out/shared/toJsonSchema.d.ts +139 -0
- package/node_modules/@ark/schema/out/shared/toJsonSchema.js +40 -0
- package/node_modules/@ark/schema/out/shared/traversal.d.ts +117 -0
- package/node_modules/@ark/schema/out/shared/traversal.js +226 -0
- package/node_modules/@ark/schema/out/shared/utils.d.ts +34 -0
- package/node_modules/@ark/schema/out/shared/utils.js +8 -0
- package/node_modules/@ark/schema/out/structure/index.d.ts +46 -0
- package/node_modules/@ark/schema/out/structure/index.js +89 -0
- package/node_modules/@ark/schema/out/structure/optional.d.ts +49 -0
- package/node_modules/@ark/schema/out/structure/optional.js +127 -0
- package/node_modules/@ark/schema/out/structure/prop.d.ts +45 -0
- package/node_modules/@ark/schema/out/structure/prop.js +85 -0
- package/node_modules/@ark/schema/out/structure/required.d.ts +39 -0
- package/node_modules/@ark/schema/out/structure/required.js +38 -0
- package/node_modules/@ark/schema/out/structure/sequence.d.ts +110 -0
- package/node_modules/@ark/schema/out/structure/sequence.js +521 -0
- package/node_modules/@ark/schema/out/structure/shared.d.ts +4 -0
- package/node_modules/@ark/schema/out/structure/shared.js +4 -0
- package/node_modules/@ark/schema/out/structure/structure.d.ts +113 -0
- package/node_modules/@ark/schema/out/structure/structure.js +747 -0
- package/node_modules/@ark/schema/package.json +51 -0
- package/node_modules/@ark/util/LICENSE +7 -0
- package/node_modules/@ark/util/out/arrays.d.ts +166 -0
- package/node_modules/@ark/util/out/arrays.js +147 -0
- package/node_modules/@ark/util/out/clone.d.ts +4 -0
- package/node_modules/@ark/util/out/clone.js +33 -0
- package/node_modules/@ark/util/out/describe.d.ts +25 -0
- package/node_modules/@ark/util/out/describe.js +1 -0
- package/node_modules/@ark/util/out/domain.d.ts +48 -0
- package/node_modules/@ark/util/out/domain.js +25 -0
- package/node_modules/@ark/util/out/errors.d.ts +29 -0
- package/node_modules/@ark/util/out/errors.js +17 -0
- package/node_modules/@ark/util/out/flatMorph.d.ts +41 -0
- package/node_modules/@ark/util/out/flatMorph.js +24 -0
- package/node_modules/@ark/util/out/functions.d.ts +33 -0
- package/node_modules/@ark/util/out/functions.js +53 -0
- package/node_modules/@ark/util/out/generics.d.ts +59 -0
- package/node_modules/@ark/util/out/generics.js +5 -0
- package/node_modules/@ark/util/out/get.d.ts +9 -0
- package/node_modules/@ark/util/out/get.js +7 -0
- package/node_modules/@ark/util/out/hkt.d.ts +27 -0
- package/node_modules/@ark/util/out/hkt.js +5 -0
- package/node_modules/@ark/util/out/index.d.ts +24 -0
- package/node_modules/@ark/util/out/index.js +24 -0
- package/node_modules/@ark/util/out/intersections.d.ts +50 -0
- package/node_modules/@ark/util/out/intersections.js +1 -0
- package/node_modules/@ark/util/out/isomorphic.d.ts +5 -0
- package/node_modules/@ark/util/out/isomorphic.js +19 -0
- package/node_modules/@ark/util/out/keys.d.ts +18 -0
- package/node_modules/@ark/util/out/keys.js +1 -0
- package/node_modules/@ark/util/out/lazily.d.ts +1 -0
- package/node_modules/@ark/util/out/lazily.js +16 -0
- package/node_modules/@ark/util/out/numbers.d.ts +72 -0
- package/node_modules/@ark/util/out/numbers.js +138 -0
- package/node_modules/@ark/util/out/objectKinds.d.ts +205 -0
- package/node_modules/@ark/util/out/objectKinds.js +150 -0
- package/node_modules/@ark/util/out/path.d.ts +22 -0
- package/node_modules/@ark/util/out/path.js +65 -0
- package/node_modules/@ark/util/out/primitive.d.ts +16 -0
- package/node_modules/@ark/util/out/primitive.js +3 -0
- package/node_modules/@ark/util/out/records.d.ts +183 -0
- package/node_modules/@ark/util/out/records.js +63 -0
- package/node_modules/@ark/util/out/registry.d.ts +21 -0
- package/node_modules/@ark/util/out/registry.js +49 -0
- package/node_modules/@ark/util/out/scanner.d.ts +44 -0
- package/node_modules/@ark/util/out/scanner.js +87 -0
- package/node_modules/@ark/util/out/serialize.d.ts +34 -0
- package/node_modules/@ark/util/out/serialize.js +150 -0
- package/node_modules/@ark/util/out/strings.d.ts +33 -0
- package/node_modules/@ark/util/out/strings.js +59 -0
- package/node_modules/@ark/util/out/traits.d.ts +89 -0
- package/node_modules/@ark/util/out/traits.js +75 -0
- package/node_modules/@ark/util/out/unionToTuple.d.ts +14 -0
- package/node_modules/@ark/util/out/unionToTuple.js +1 -0
- package/node_modules/@ark/util/package.json +39 -0
- package/node_modules/@ark/util/tsconfig.base.json +18 -0
- package/node_modules/@socket.io/component-emitter/LICENSE +24 -0
- package/node_modules/@socket.io/component-emitter/Readme.md +79 -0
- package/node_modules/@socket.io/component-emitter/lib/cjs/index.d.ts +179 -0
- package/node_modules/@socket.io/component-emitter/lib/cjs/index.js +176 -0
- package/node_modules/@socket.io/component-emitter/lib/cjs/package.json +4 -0
- package/node_modules/@socket.io/component-emitter/lib/esm/index.d.ts +179 -0
- package/node_modules/@socket.io/component-emitter/lib/esm/index.js +169 -0
- package/node_modules/@socket.io/component-emitter/lib/esm/package.json +4 -0
- package/node_modules/@socket.io/component-emitter/package.json +28 -0
- package/node_modules/arkregex/LICENSE +7 -0
- package/node_modules/arkregex/README.md +61 -0
- package/node_modules/arkregex/out/charset.d.ts +15 -0
- package/node_modules/arkregex/out/charset.js +1 -0
- package/node_modules/arkregex/out/escape.d.ts +29 -0
- package/node_modules/arkregex/out/escape.js +10 -0
- package/node_modules/arkregex/out/execArray.d.ts +23 -0
- package/node_modules/arkregex/out/execArray.js +1 -0
- package/node_modules/arkregex/out/group.d.ts +33 -0
- package/node_modules/arkregex/out/group.js +6 -0
- package/node_modules/arkregex/out/index.d.ts +1 -0
- package/node_modules/arkregex/out/index.js +1 -0
- package/node_modules/arkregex/out/parse.d.ts +10 -0
- package/node_modules/arkregex/out/parse.js +1 -0
- package/node_modules/arkregex/out/quantify.d.ts +43 -0
- package/node_modules/arkregex/out/quantify.js +2 -0
- package/node_modules/arkregex/out/regex.d.ts +38 -0
- package/node_modules/arkregex/out/regex.js +2 -0
- package/node_modules/arkregex/out/state.d.ts +359 -0
- package/node_modules/arkregex/out/state.js +2 -0
- package/node_modules/arkregex/package.json +42 -0
- package/node_modules/arktype/LICENSE +7 -0
- package/node_modules/arktype/README.md +157 -0
- package/node_modules/arktype/out/attributes.d.ts +104 -0
- package/node_modules/arktype/out/attributes.js +3 -0
- package/node_modules/arktype/out/config.d.ts +35 -0
- package/node_modules/arktype/out/config.js +3 -0
- package/node_modules/arktype/out/declare.d.ts +35 -0
- package/node_modules/arktype/out/declare.js +1 -0
- package/node_modules/arktype/out/fn.d.ts +61 -0
- package/node_modules/arktype/out/fn.js +54 -0
- package/node_modules/arktype/out/generic.d.ts +118 -0
- package/node_modules/arktype/out/generic.js +37 -0
- package/node_modules/arktype/out/index.d.ts +12 -0
- package/node_modules/arktype/out/index.js +9 -0
- package/node_modules/arktype/out/keywords/Array.d.ts +20 -0
- package/node_modules/arktype/out/keywords/Array.js +21 -0
- package/node_modules/arktype/out/keywords/FormData.d.ts +15 -0
- package/node_modules/arktype/out/keywords/FormData.js +40 -0
- package/node_modules/arktype/out/keywords/TypedArray.d.ts +19 -0
- package/node_modules/arktype/out/keywords/TypedArray.js +16 -0
- package/node_modules/arktype/out/keywords/builtins.d.ts +18 -0
- package/node_modules/arktype/out/keywords/builtins.js +11 -0
- package/node_modules/arktype/out/keywords/constructors.d.ts +31 -0
- package/node_modules/arktype/out/keywords/constructors.js +16 -0
- package/node_modules/arktype/out/keywords/keywords.d.ts +70 -0
- package/node_modules/arktype/out/keywords/keywords.js +48 -0
- package/node_modules/arktype/out/keywords/number.d.ts +23 -0
- package/node_modules/arktype/out/keywords/number.js +49 -0
- package/node_modules/arktype/out/keywords/string.d.ts +334 -0
- package/node_modules/arktype/out/keywords/string.js +463 -0
- package/node_modules/arktype/out/keywords/ts.d.ts +108 -0
- package/node_modules/arktype/out/keywords/ts.js +82 -0
- package/node_modules/arktype/out/match.d.ts +152 -0
- package/node_modules/arktype/out/match.js +95 -0
- package/node_modules/arktype/out/module.d.ts +22 -0
- package/node_modules/arktype/out/module.js +3 -0
- package/node_modules/arktype/out/nary.d.ts +473 -0
- package/node_modules/arktype/out/nary.js +1 -0
- package/node_modules/arktype/out/parser/ast/bounds.d.ts +18 -0
- package/node_modules/arktype/out/parser/ast/bounds.js +1 -0
- package/node_modules/arktype/out/parser/ast/default.d.ts +8 -0
- package/node_modules/arktype/out/parser/ast/default.js +1 -0
- package/node_modules/arktype/out/parser/ast/divisor.d.ts +9 -0
- package/node_modules/arktype/out/parser/ast/divisor.js +1 -0
- package/node_modules/arktype/out/parser/ast/generic.d.ts +17 -0
- package/node_modules/arktype/out/parser/ast/generic.js +1 -0
- package/node_modules/arktype/out/parser/ast/infer.d.ts +25 -0
- package/node_modules/arktype/out/parser/ast/infer.js +1 -0
- package/node_modules/arktype/out/parser/ast/keyof.d.ts +7 -0
- package/node_modules/arktype/out/parser/ast/keyof.js +1 -0
- package/node_modules/arktype/out/parser/ast/utils.d.ts +8 -0
- package/node_modules/arktype/out/parser/ast/utils.js +1 -0
- package/node_modules/arktype/out/parser/ast/validate.d.ts +30 -0
- package/node_modules/arktype/out/parser/ast/validate.js +3 -0
- package/node_modules/arktype/out/parser/definition.d.ts +30 -0
- package/node_modules/arktype/out/parser/definition.js +74 -0
- package/node_modules/arktype/out/parser/objectLiteral.d.ts +70 -0
- package/node_modules/arktype/out/parser/objectLiteral.js +113 -0
- package/node_modules/arktype/out/parser/property.d.ts +34 -0
- package/node_modules/arktype/out/parser/property.js +16 -0
- package/node_modules/arktype/out/parser/reduce/dynamic.d.ts +42 -0
- package/node_modules/arktype/out/parser/reduce/dynamic.js +153 -0
- package/node_modules/arktype/out/parser/reduce/shared.d.ts +39 -0
- package/node_modules/arktype/out/parser/reduce/shared.js +25 -0
- package/node_modules/arktype/out/parser/reduce/static.d.ts +186 -0
- package/node_modules/arktype/out/parser/reduce/static.js +1 -0
- package/node_modules/arktype/out/parser/shift/operand/date.d.ts +11 -0
- package/node_modules/arktype/out/parser/shift/operand/date.js +23 -0
- package/node_modules/arktype/out/parser/shift/operand/enclosed.d.ts +57 -0
- package/node_modules/arktype/out/parser/shift/operand/enclosed.js +78 -0
- package/node_modules/arktype/out/parser/shift/operand/genericArgs.d.ts +27 -0
- package/node_modules/arktype/out/parser/shift/operand/genericArgs.js +16 -0
- package/node_modules/arktype/out/parser/shift/operand/operand.d.ts +8 -0
- package/node_modules/arktype/out/parser/shift/operand/operand.js +16 -0
- package/node_modules/arktype/out/parser/shift/operand/unenclosed.d.ts +43 -0
- package/node_modules/arktype/out/parser/shift/operand/unenclosed.js +59 -0
- package/node_modules/arktype/out/parser/shift/operator/bounds.d.ts +24 -0
- package/node_modules/arktype/out/parser/shift/operator/bounds.js +91 -0
- package/node_modules/arktype/out/parser/shift/operator/brand.d.ts +7 -0
- package/node_modules/arktype/out/parser/shift/operator/brand.js +6 -0
- package/node_modules/arktype/out/parser/shift/operator/default.d.ts +24 -0
- package/node_modules/arktype/out/parser/shift/operator/default.js +15 -0
- package/node_modules/arktype/out/parser/shift/operator/divisor.d.ts +8 -0
- package/node_modules/arktype/out/parser/shift/operator/divisor.js +13 -0
- package/node_modules/arktype/out/parser/shift/operator/operator.d.ts +14 -0
- package/node_modules/arktype/out/parser/shift/operator/operator.js +28 -0
- package/node_modules/arktype/out/parser/shift/tokens.d.ts +33 -0
- package/node_modules/arktype/out/parser/shift/tokens.js +37 -0
- package/node_modules/arktype/out/parser/string.d.ts +30 -0
- package/node_modules/arktype/out/parser/string.js +42 -0
- package/node_modules/arktype/out/parser/tupleExpressions.d.ts +79 -0
- package/node_modules/arktype/out/parser/tupleExpressions.js +75 -0
- package/node_modules/arktype/out/parser/tupleLiteral.d.ts +95 -0
- package/node_modules/arktype/out/parser/tupleLiteral.js +128 -0
- package/node_modules/arktype/out/scope.d.ts +158 -0
- package/node_modules/arktype/out/scope.js +106 -0
- package/node_modules/arktype/out/type.d.ts +144 -0
- package/node_modules/arktype/out/type.js +55 -0
- package/node_modules/arktype/out/variants/array.d.ts +12 -0
- package/node_modules/arktype/out/variants/array.js +1 -0
- package/node_modules/arktype/out/variants/base.d.ts +542 -0
- package/node_modules/arktype/out/variants/base.js +1 -0
- package/node_modules/arktype/out/variants/date.d.ts +10 -0
- package/node_modules/arktype/out/variants/date.js +1 -0
- package/node_modules/arktype/out/variants/instantiate.d.ts +12 -0
- package/node_modules/arktype/out/variants/instantiate.js +1 -0
- package/node_modules/arktype/out/variants/number.d.ts +11 -0
- package/node_modules/arktype/out/variants/number.js +1 -0
- package/node_modules/arktype/out/variants/object.d.ts +107 -0
- package/node_modules/arktype/out/variants/object.js +1 -0
- package/node_modules/arktype/out/variants/string.d.ts +15 -0
- package/node_modules/arktype/out/variants/string.js +1 -0
- package/node_modules/arktype/package.json +57 -0
- package/node_modules/debug/LICENSE +20 -0
- package/node_modules/debug/README.md +481 -0
- package/node_modules/debug/package.json +64 -0
- package/node_modules/debug/src/browser.js +272 -0
- package/node_modules/debug/src/common.js +292 -0
- package/node_modules/debug/src/index.js +10 -0
- package/node_modules/debug/src/node.js +263 -0
- package/node_modules/engine.io-client/LICENSE +22 -0
- package/node_modules/engine.io-client/README.md +331 -0
- package/node_modules/engine.io-client/build/cjs/browser-entrypoint.d.ts +3 -0
- package/node_modules/engine.io-client/build/cjs/browser-entrypoint.js +4 -0
- package/node_modules/engine.io-client/build/cjs/contrib/has-cors.d.ts +1 -0
- package/node_modules/engine.io-client/build/cjs/contrib/has-cors.js +14 -0
- package/node_modules/engine.io-client/build/cjs/contrib/parseqs.d.ts +15 -0
- package/node_modules/engine.io-client/build/cjs/contrib/parseqs.js +38 -0
- package/node_modules/engine.io-client/build/cjs/contrib/parseuri.d.ts +1 -0
- package/node_modules/engine.io-client/build/cjs/contrib/parseuri.js +67 -0
- package/node_modules/engine.io-client/build/cjs/globals.d.ts +4 -0
- package/node_modules/engine.io-client/build/cjs/globals.js +26 -0
- package/node_modules/engine.io-client/build/cjs/globals.node.d.ts +21 -0
- package/node_modules/engine.io-client/build/cjs/globals.node.js +97 -0
- package/node_modules/engine.io-client/build/cjs/index.d.ts +15 -0
- package/node_modules/engine.io-client/build/cjs/index.js +32 -0
- package/node_modules/engine.io-client/build/cjs/package.json +10 -0
- package/node_modules/engine.io-client/build/cjs/socket.d.ts +482 -0
- package/node_modules/engine.io-client/build/cjs/socket.js +765 -0
- package/node_modules/engine.io-client/build/cjs/transport.d.ts +106 -0
- package/node_modules/engine.io-client/build/cjs/transport.js +153 -0
- package/node_modules/engine.io-client/build/cjs/transports/index.d.ts +8 -0
- package/node_modules/engine.io-client/build/cjs/transports/index.js +11 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling-fetch.d.ts +15 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling-fetch.js +60 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.d.ts +108 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js +285 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.d.ts +11 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.js +44 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling.d.ts +52 -0
- package/node_modules/engine.io-client/build/cjs/transports/polling.js +165 -0
- package/node_modules/engine.io-client/build/cjs/transports/websocket.d.ts +36 -0
- package/node_modules/engine.io-client/build/cjs/transports/websocket.js +136 -0
- package/node_modules/engine.io-client/build/cjs/transports/websocket.node.d.ts +14 -0
- package/node_modules/engine.io-client/build/cjs/transports/websocket.node.js +68 -0
- package/node_modules/engine.io-client/build/cjs/transports/webtransport.d.ts +18 -0
- package/node_modules/engine.io-client/build/cjs/transports/webtransport.js +94 -0
- package/node_modules/engine.io-client/build/cjs/util.d.ts +7 -0
- package/node_modules/engine.io-client/build/cjs/util.js +65 -0
- package/node_modules/engine.io-client/build/esm/browser-entrypoint.d.ts +3 -0
- package/node_modules/engine.io-client/build/esm/browser-entrypoint.js +2 -0
- package/node_modules/engine.io-client/build/esm/contrib/has-cors.d.ts +1 -0
- package/node_modules/engine.io-client/build/esm/contrib/has-cors.js +11 -0
- package/node_modules/engine.io-client/build/esm/contrib/parseqs.d.ts +15 -0
- package/node_modules/engine.io-client/build/esm/contrib/parseqs.js +34 -0
- package/node_modules/engine.io-client/build/esm/contrib/parseuri.d.ts +1 -0
- package/node_modules/engine.io-client/build/esm/contrib/parseuri.js +64 -0
- package/node_modules/engine.io-client/build/esm/globals.d.ts +4 -0
- package/node_modules/engine.io-client/build/esm/globals.js +22 -0
- package/node_modules/engine.io-client/build/esm/globals.node.d.ts +21 -0
- package/node_modules/engine.io-client/build/esm/globals.node.js +91 -0
- package/node_modules/engine.io-client/build/esm/index.d.ts +15 -0
- package/node_modules/engine.io-client/build/esm/index.js +15 -0
- package/node_modules/engine.io-client/build/esm/package.json +10 -0
- package/node_modules/engine.io-client/build/esm/socket.d.ts +482 -0
- package/node_modules/engine.io-client/build/esm/socket.js +727 -0
- package/node_modules/engine.io-client/build/esm/transport.d.ts +106 -0
- package/node_modules/engine.io-client/build/esm/transport.js +142 -0
- package/node_modules/engine.io-client/build/esm/transports/index.d.ts +8 -0
- package/node_modules/engine.io-client/build/esm/transports/index.js +8 -0
- package/node_modules/engine.io-client/build/esm/transports/polling-fetch.d.ts +15 -0
- package/node_modules/engine.io-client/build/esm/transports/polling-fetch.js +56 -0
- package/node_modules/engine.io-client/build/esm/transports/polling-xhr.d.ts +108 -0
- package/node_modules/engine.io-client/build/esm/transports/polling-xhr.js +271 -0
- package/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.d.ts +11 -0
- package/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.js +17 -0
- package/node_modules/engine.io-client/build/esm/transports/polling.d.ts +52 -0
- package/node_modules/engine.io-client/build/esm/transports/polling.js +145 -0
- package/node_modules/engine.io-client/build/esm/transports/websocket.d.ts +36 -0
- package/node_modules/engine.io-client/build/esm/transports/websocket.js +125 -0
- package/node_modules/engine.io-client/build/esm/transports/websocket.node.d.ts +14 -0
- package/node_modules/engine.io-client/build/esm/transports/websocket.node.js +41 -0
- package/node_modules/engine.io-client/build/esm/transports/webtransport.d.ts +18 -0
- package/node_modules/engine.io-client/build/esm/transports/webtransport.js +80 -0
- package/node_modules/engine.io-client/build/esm/util.d.ts +7 -0
- package/node_modules/engine.io-client/build/esm/util.js +59 -0
- package/node_modules/engine.io-client/build/esm-debug/browser-entrypoint.d.ts +3 -0
- package/node_modules/engine.io-client/build/esm-debug/browser-entrypoint.js +2 -0
- package/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.d.ts +1 -0
- package/node_modules/engine.io-client/build/esm-debug/contrib/has-cors.js +11 -0
- package/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.d.ts +15 -0
- package/node_modules/engine.io-client/build/esm-debug/contrib/parseqs.js +34 -0
- package/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.d.ts +1 -0
- package/node_modules/engine.io-client/build/esm-debug/contrib/parseuri.js +64 -0
- package/node_modules/engine.io-client/build/esm-debug/globals.d.ts +4 -0
- package/node_modules/engine.io-client/build/esm-debug/globals.js +22 -0
- package/node_modules/engine.io-client/build/esm-debug/globals.node.d.ts +21 -0
- package/node_modules/engine.io-client/build/esm-debug/globals.node.js +91 -0
- package/node_modules/engine.io-client/build/esm-debug/index.d.ts +15 -0
- package/node_modules/engine.io-client/build/esm-debug/index.js +15 -0
- package/node_modules/engine.io-client/build/esm-debug/package.json +10 -0
- package/node_modules/engine.io-client/build/esm-debug/socket.d.ts +482 -0
- package/node_modules/engine.io-client/build/esm-debug/socket.js +756 -0
- package/node_modules/engine.io-client/build/esm-debug/transport.d.ts +106 -0
- package/node_modules/engine.io-client/build/esm-debug/transport.js +145 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/index.d.ts +8 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/index.js +8 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-fetch.d.ts +15 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-fetch.js +56 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.d.ts +108 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.js +276 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.d.ts +11 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.node.js +17 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling.d.ts +52 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/polling.js +158 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/websocket.d.ts +36 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/websocket.js +128 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.d.ts +14 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/websocket.node.js +41 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/webtransport.d.ts +18 -0
- package/node_modules/engine.io-client/build/esm-debug/transports/webtransport.js +87 -0
- package/node_modules/engine.io-client/build/esm-debug/util.d.ts +7 -0
- package/node_modules/engine.io-client/build/esm-debug/util.js +59 -0
- package/node_modules/engine.io-client/dist/engine.io.esm.min.js +7 -0
- package/node_modules/engine.io-client/dist/engine.io.esm.min.js.map +1 -0
- package/node_modules/engine.io-client/dist/engine.io.js +3064 -0
- package/node_modules/engine.io-client/dist/engine.io.js.map +1 -0
- package/node_modules/engine.io-client/dist/engine.io.min.js +7 -0
- package/node_modules/engine.io-client/dist/engine.io.min.js.map +1 -0
- package/node_modules/engine.io-client/package.json +95 -0
- package/node_modules/engine.io-parser/LICENSE +22 -0
- package/node_modules/engine.io-parser/Readme.md +158 -0
- package/node_modules/engine.io-parser/build/cjs/commons.d.ts +14 -0
- package/node_modules/engine.io-parser/build/cjs/commons.js +19 -0
- package/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.d.ts +2 -0
- package/node_modules/engine.io-parser/build/cjs/contrib/base64-arraybuffer.js +48 -0
- package/node_modules/engine.io-parser/build/cjs/decodePacket.browser.d.ts +2 -0
- package/node_modules/engine.io-parser/build/cjs/decodePacket.browser.js +66 -0
- package/node_modules/engine.io-parser/build/cjs/decodePacket.d.ts +2 -0
- package/node_modules/engine.io-parser/build/cjs/decodePacket.js +59 -0
- package/node_modules/engine.io-parser/build/cjs/encodePacket.browser.d.ts +4 -0
- package/node_modules/engine.io-parser/build/cjs/encodePacket.browser.js +72 -0
- package/node_modules/engine.io-parser/build/cjs/encodePacket.d.ts +3 -0
- package/node_modules/engine.io-parser/build/cjs/encodePacket.js +38 -0
- package/node_modules/engine.io-parser/build/cjs/index.d.ts +9 -0
- package/node_modules/engine.io-parser/build/cjs/index.js +164 -0
- package/node_modules/engine.io-parser/build/cjs/package.json +8 -0
- package/node_modules/engine.io-parser/build/esm/commons.d.ts +14 -0
- package/node_modules/engine.io-parser/build/esm/commons.js +14 -0
- package/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.d.ts +2 -0
- package/node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js +43 -0
- package/node_modules/engine.io-parser/build/esm/decodePacket.browser.d.ts +2 -0
- package/node_modules/engine.io-parser/build/esm/decodePacket.browser.js +62 -0
- package/node_modules/engine.io-parser/build/esm/decodePacket.d.ts +2 -0
- package/node_modules/engine.io-parser/build/esm/decodePacket.js +55 -0
- package/node_modules/engine.io-parser/build/esm/encodePacket.browser.d.ts +4 -0
- package/node_modules/engine.io-parser/build/esm/encodePacket.browser.js +68 -0
- package/node_modules/engine.io-parser/build/esm/encodePacket.d.ts +3 -0
- package/node_modules/engine.io-parser/build/esm/encodePacket.js +33 -0
- package/node_modules/engine.io-parser/build/esm/index.d.ts +9 -0
- package/node_modules/engine.io-parser/build/esm/index.js +156 -0
- package/node_modules/engine.io-parser/build/esm/package.json +8 -0
- package/node_modules/engine.io-parser/package.json +46 -0
- package/node_modules/ms/index.js +162 -0
- package/node_modules/ms/license.md +21 -0
- package/node_modules/ms/package.json +38 -0
- package/node_modules/ms/readme.md +59 -0
- package/node_modules/socket.io-client/LICENSE +21 -0
- package/node_modules/socket.io-client/README.md +29 -0
- package/node_modules/socket.io-client/build/cjs/browser-entrypoint.d.ts +2 -0
- package/node_modules/socket.io-client/build/cjs/browser-entrypoint.js +4 -0
- package/node_modules/socket.io-client/build/cjs/contrib/backo2.d.ts +12 -0
- package/node_modules/socket.io-client/build/cjs/contrib/backo2.js +69 -0
- package/node_modules/socket.io-client/build/cjs/index.d.ts +29 -0
- package/node_modules/socket.io-client/build/cjs/index.js +76 -0
- package/node_modules/socket.io-client/build/cjs/manager.d.ts +295 -0
- package/node_modules/socket.io-client/build/cjs/manager.js +416 -0
- package/node_modules/socket.io-client/build/cjs/on.d.ts +2 -0
- package/node_modules/socket.io-client/build/cjs/on.js +9 -0
- package/node_modules/socket.io-client/build/cjs/socket.d.ts +593 -0
- package/node_modules/socket.io-client/build/cjs/socket.js +909 -0
- package/node_modules/socket.io-client/build/cjs/url.d.ts +33 -0
- package/node_modules/socket.io-client/build/cjs/url.js +69 -0
- package/node_modules/socket.io-client/build/esm/browser-entrypoint.d.ts +2 -0
- package/node_modules/socket.io-client/build/esm/browser-entrypoint.js +2 -0
- package/node_modules/socket.io-client/build/esm/contrib/backo2.d.ts +12 -0
- package/node_modules/socket.io-client/build/esm/contrib/backo2.js +66 -0
- package/node_modules/socket.io-client/build/esm/index.d.ts +29 -0
- package/node_modules/socket.io-client/build/esm/index.js +58 -0
- package/node_modules/socket.io-client/build/esm/manager.d.ts +295 -0
- package/node_modules/socket.io-client/build/esm/manager.js +367 -0
- package/node_modules/socket.io-client/build/esm/on.d.ts +2 -0
- package/node_modules/socket.io-client/build/esm/on.js +6 -0
- package/node_modules/socket.io-client/build/esm/package.json +5 -0
- package/node_modules/socket.io-client/build/esm/socket.d.ts +593 -0
- package/node_modules/socket.io-client/build/esm/socket.js +880 -0
- package/node_modules/socket.io-client/build/esm/url.d.ts +33 -0
- package/node_modules/socket.io-client/build/esm/url.js +59 -0
- package/node_modules/socket.io-client/build/esm-debug/browser-entrypoint.d.ts +2 -0
- package/node_modules/socket.io-client/build/esm-debug/browser-entrypoint.js +2 -0
- package/node_modules/socket.io-client/build/esm-debug/contrib/backo2.d.ts +12 -0
- package/node_modules/socket.io-client/build/esm-debug/contrib/backo2.js +66 -0
- package/node_modules/socket.io-client/build/esm-debug/index.d.ts +29 -0
- package/node_modules/socket.io-client/build/esm-debug/index.js +62 -0
- package/node_modules/socket.io-client/build/esm-debug/manager.d.ts +295 -0
- package/node_modules/socket.io-client/build/esm-debug/manager.js +386 -0
- package/node_modules/socket.io-client/build/esm-debug/on.d.ts +2 -0
- package/node_modules/socket.io-client/build/esm-debug/on.js +6 -0
- package/node_modules/socket.io-client/build/esm-debug/package.json +5 -0
- package/node_modules/socket.io-client/build/esm-debug/socket.d.ts +593 -0
- package/node_modules/socket.io-client/build/esm-debug/socket.js +902 -0
- package/node_modules/socket.io-client/build/esm-debug/url.d.ts +33 -0
- package/node_modules/socket.io-client/build/esm-debug/url.js +63 -0
- package/node_modules/socket.io-client/dist/socket.io.esm.min.js +7 -0
- package/node_modules/socket.io-client/dist/socket.io.esm.min.js.map +1 -0
- package/node_modules/socket.io-client/dist/socket.io.js +4955 -0
- package/node_modules/socket.io-client/dist/socket.io.js.map +1 -0
- package/node_modules/socket.io-client/dist/socket.io.min.js +7 -0
- package/node_modules/socket.io-client/dist/socket.io.min.js.map +1 -0
- package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js +7 -0
- package/node_modules/socket.io-client/dist/socket.io.msgpack.min.js.map +1 -0
- package/node_modules/socket.io-client/package.json +101 -0
- package/node_modules/socket.io-parser/LICENSE +20 -0
- package/node_modules/socket.io-parser/Readme.md +81 -0
- package/node_modules/socket.io-parser/build/cjs/binary.d.ts +20 -0
- package/node_modules/socket.io-parser/build/cjs/binary.js +87 -0
- package/node_modules/socket.io-parser/build/cjs/index.d.ts +91 -0
- package/node_modules/socket.io-parser/build/cjs/index.js +359 -0
- package/node_modules/socket.io-parser/build/cjs/is-binary.d.ts +7 -0
- package/node_modules/socket.io-parser/build/cjs/is-binary.js +54 -0
- package/node_modules/socket.io-parser/build/cjs/package.json +3 -0
- package/node_modules/socket.io-parser/build/esm/binary.d.ts +20 -0
- package/node_modules/socket.io-parser/build/esm/binary.js +83 -0
- package/node_modules/socket.io-parser/build/esm/index.d.ts +91 -0
- package/node_modules/socket.io-parser/build/esm/index.js +348 -0
- package/node_modules/socket.io-parser/build/esm/is-binary.d.ts +7 -0
- package/node_modules/socket.io-parser/build/esm/is-binary.js +50 -0
- package/node_modules/socket.io-parser/build/esm/package.json +3 -0
- package/node_modules/socket.io-parser/build/esm-debug/binary.d.ts +20 -0
- package/node_modules/socket.io-parser/build/esm-debug/binary.js +83 -0
- package/node_modules/socket.io-parser/build/esm-debug/index.d.ts +91 -0
- package/node_modules/socket.io-parser/build/esm-debug/index.js +353 -0
- package/node_modules/socket.io-parser/build/esm-debug/is-binary.d.ts +7 -0
- package/node_modules/socket.io-parser/build/esm-debug/is-binary.js +50 -0
- package/node_modules/socket.io-parser/build/esm-debug/package.json +3 -0
- package/node_modules/socket.io-parser/package.json +44 -0
- package/node_modules/ws/LICENSE +20 -0
- package/node_modules/ws/README.md +548 -0
- package/node_modules/ws/browser.js +8 -0
- package/node_modules/ws/index.js +13 -0
- package/node_modules/ws/lib/buffer-util.js +131 -0
- package/node_modules/ws/lib/constants.js +18 -0
- package/node_modules/ws/lib/event-target.js +292 -0
- package/node_modules/ws/lib/extension.js +203 -0
- package/node_modules/ws/lib/limiter.js +55 -0
- package/node_modules/ws/lib/permessage-deflate.js +528 -0
- package/node_modules/ws/lib/receiver.js +706 -0
- package/node_modules/ws/lib/sender.js +602 -0
- package/node_modules/ws/lib/stream.js +161 -0
- package/node_modules/ws/lib/subprotocol.js +62 -0
- package/node_modules/ws/lib/validation.js +152 -0
- package/node_modules/ws/lib/websocket-server.js +550 -0
- package/node_modules/ws/lib/websocket.js +1388 -0
- package/node_modules/ws/package.json +69 -0
- package/node_modules/ws/wrapper.mjs +8 -0
- package/node_modules/xmlhttprequest-ssl/LICENSE +22 -0
- package/node_modules/xmlhttprequest-ssl/README.md +67 -0
- package/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js +689 -0
- package/node_modules/xmlhttprequest-ssl/package.json +40 -0
- package/package.json +34 -4
- package/public-api.md +85 -23
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ArkErrors, BaseRoot, GenericRoot } from "@ark/schema";
|
|
2
|
+
import { Callable, Hkt } from "@ark/util";
|
|
3
|
+
export class InternalTypeParser extends Callable {
|
|
4
|
+
constructor($) {
|
|
5
|
+
const attach = Object.assign({
|
|
6
|
+
errors: ArkErrors,
|
|
7
|
+
hkt: Hkt,
|
|
8
|
+
$: $,
|
|
9
|
+
raw: $.parse,
|
|
10
|
+
module: $.constructor.module,
|
|
11
|
+
scope: $.constructor.scope,
|
|
12
|
+
declare: $.declare,
|
|
13
|
+
define: $.define,
|
|
14
|
+
match: $.match,
|
|
15
|
+
generic: $.generic,
|
|
16
|
+
schema: $.schema,
|
|
17
|
+
// this won't be defined during bootstrapping, but externally always will be
|
|
18
|
+
keywords: $.ambient,
|
|
19
|
+
unit: $.unit,
|
|
20
|
+
enumerated: $.enumerated,
|
|
21
|
+
instanceOf: $.instanceOf,
|
|
22
|
+
valueOf: $.valueOf,
|
|
23
|
+
or: $.or,
|
|
24
|
+
and: $.and,
|
|
25
|
+
merge: $.merge,
|
|
26
|
+
pipe: $.pipe,
|
|
27
|
+
fn: $.fn
|
|
28
|
+
},
|
|
29
|
+
// also won't be defined during bootstrapping
|
|
30
|
+
$.ambientAttachments);
|
|
31
|
+
super((...args) => {
|
|
32
|
+
if (args.length === 1) {
|
|
33
|
+
// treat as a simple definition
|
|
34
|
+
return $.parse(args[0]);
|
|
35
|
+
}
|
|
36
|
+
if (args.length === 2 &&
|
|
37
|
+
typeof args[0] === "string" &&
|
|
38
|
+
args[0][0] === "<" &&
|
|
39
|
+
args[0][args[0].length - 1] === ">") {
|
|
40
|
+
// if there are exactly two args, the first of which looks like <${string}>,
|
|
41
|
+
// treat as a generic
|
|
42
|
+
const paramString = args[0].slice(1, -1);
|
|
43
|
+
const params = $.parseGenericParams(paramString, {});
|
|
44
|
+
return new GenericRoot(params, args[1], $, $, null);
|
|
45
|
+
}
|
|
46
|
+
// otherwise, treat as a tuple expression. technically, this also allows
|
|
47
|
+
// non-expression tuple definitions to be parsed, but it's not a supported
|
|
48
|
+
// part of the API as specified by the associated types
|
|
49
|
+
return $.parse(args);
|
|
50
|
+
}, {
|
|
51
|
+
attach
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export const Type = BaseRoot;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ExactLength, ExclusiveNumericRangeSchema, InclusiveNumericRangeSchema } from "@ark/schema";
|
|
2
|
+
import type { ObjectType } from "./object.ts";
|
|
3
|
+
interface Type<
|
|
4
|
+
/** @ts-ignore cast variance */
|
|
5
|
+
out t extends readonly unknown[] = readonly unknown[], $ = {}> extends ObjectType<t, $> {
|
|
6
|
+
atLeastLength(schema: InclusiveNumericRangeSchema): this;
|
|
7
|
+
atMostLength(schema: InclusiveNumericRangeSchema): this;
|
|
8
|
+
moreThanLength(schema: ExclusiveNumericRangeSchema): this;
|
|
9
|
+
lessThanLength(schema: ExclusiveNumericRangeSchema): this;
|
|
10
|
+
exactlyLength(schema: ExactLength.Schema): this;
|
|
11
|
+
}
|
|
12
|
+
export type { Type as ArrayType };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,542 @@
|
|
|
1
|
+
import type { BaseNode, BaseRoot, Disjoint, JsonSchema, NodeSelector, Predicate, StandardSchemaV1, ToJsonSchema, TypeMeta, UndeclaredKeyBehavior } from "@ark/schema";
|
|
2
|
+
import type { anyOrNever, array, Callable, ErrorMessage, inferred, JsonStructure, unset } from "@ark/util";
|
|
3
|
+
import type { defaultFor, distill, inferIntersection, inferPipe, InferredMorph, Out, To } from "../attributes.ts";
|
|
4
|
+
import type { ArkAmbient } from "../config.ts";
|
|
5
|
+
import type { type } from "../keywords/keywords.ts";
|
|
6
|
+
import type { NaryPipeParser } from "../nary.ts";
|
|
7
|
+
import type { Scope } from "../scope.ts";
|
|
8
|
+
import type { ArrayType } from "./array.ts";
|
|
9
|
+
import type { instantiateType } from "./instantiate.ts";
|
|
10
|
+
/** @ts-ignore cast variance */
|
|
11
|
+
export interface Inferred<out t = unknown, $ = {}> {
|
|
12
|
+
internal: BaseRoot;
|
|
13
|
+
[inferred]: t;
|
|
14
|
+
/**
|
|
15
|
+
* precompiled JS used to optimize validation
|
|
16
|
+
*
|
|
17
|
+
* ⚠️ will be `undefined` in [jitless](https://arktype.io/docs/configuration#jitless) mode
|
|
18
|
+
*/
|
|
19
|
+
precompilation: string | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* generic parameter representing this Type
|
|
22
|
+
*
|
|
23
|
+
* 🥸 inference-only property that will be `undefined` at runtime
|
|
24
|
+
*
|
|
25
|
+
* ⚠️ May contain types representing morphs or default values that would
|
|
26
|
+
* be inaccurate if used directly for runtime values. In those cases,
|
|
27
|
+
* you should use {@link infer} or {@link inferIn} on this object instead.
|
|
28
|
+
*/
|
|
29
|
+
t: t;
|
|
30
|
+
/**
|
|
31
|
+
* #### {@link Scope} in which chained methods are parsed
|
|
32
|
+
*/
|
|
33
|
+
$: Scope<$>;
|
|
34
|
+
/**
|
|
35
|
+
* #### type of output this returns
|
|
36
|
+
*
|
|
37
|
+
* 🥸 inference-only property that will be `undefined` at runtime
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* const parseNumber = type("string").pipe(s => Number.parseInt(s))
|
|
41
|
+
* type ParsedNumber = typeof parseNumber.infer // number
|
|
42
|
+
*/
|
|
43
|
+
infer: this["inferOut"];
|
|
44
|
+
/**
|
|
45
|
+
* type of output this returns
|
|
46
|
+
*
|
|
47
|
+
* 🔗 alias of {@link infer}
|
|
48
|
+
* 🥸 inference-only property that will be `undefined` at runtime
|
|
49
|
+
*
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* const parseNumber = type("string").pipe(s => Number.parseInt(s))
|
|
53
|
+
* type ParsedNumber = typeof parseNumber.infer // number
|
|
54
|
+
*/
|
|
55
|
+
inferOut: distill.Out<t>;
|
|
56
|
+
/**
|
|
57
|
+
* type of output that can be introspected at runtime (e.g. via {@link out})
|
|
58
|
+
*
|
|
59
|
+
* ⚠️ If your Type contains morphs, they will be inferred as `unknown` unless
|
|
60
|
+
* they are an ArkType keyword or have an explicitly defined output validator.
|
|
61
|
+
*
|
|
62
|
+
* 🥸 inference-only property that will be `undefined` at runtime
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* const Unmorphed = type("string")
|
|
66
|
+
* // with no morphs, we can introspect the input and output as a single Type
|
|
67
|
+
* type UnmorphedOut = typeof Unmorphed.inferIntrospectableOut // string
|
|
68
|
+
*
|
|
69
|
+
* const Morphed = type("string").pipe(s => s.length)
|
|
70
|
+
* // with a standard user-defined morph, TypeScript can infer a
|
|
71
|
+
* // return type from your function, but we have no way to
|
|
72
|
+
* // know the shape at runtime
|
|
73
|
+
* type MorphOut = typeof Morphed.inferIntrospectableOut // unknown
|
|
74
|
+
*
|
|
75
|
+
* const Validated = type("string").pipe(s => s.length).to("number")
|
|
76
|
+
* // morphs with validated output, including all morph keywords, are introspectable
|
|
77
|
+
* type ValidatedMorphOut = typeof Validated.inferIntrospectableOut
|
|
78
|
+
*/
|
|
79
|
+
inferIntrospectableOut: distill.introspectable.Out<t>;
|
|
80
|
+
/**
|
|
81
|
+
* #### type of input this allows
|
|
82
|
+
*
|
|
83
|
+
* 🥸 inference-only property that will be `undefined` at runtime
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* const parseNumber = type("string").pipe(s => Number.parseInt(s))
|
|
87
|
+
* type UnparsedNumber = typeof parseNumber.inferIn // string
|
|
88
|
+
*/
|
|
89
|
+
inferIn: distill.In<t>;
|
|
90
|
+
/**
|
|
91
|
+
* #### internal JSON representation
|
|
92
|
+
*/
|
|
93
|
+
json: JsonStructure;
|
|
94
|
+
/**
|
|
95
|
+
* alias of {@link json} for `JSON.stringify` compatibility
|
|
96
|
+
*/
|
|
97
|
+
toJSON(): JsonStructure;
|
|
98
|
+
/**
|
|
99
|
+
* #### generate a JSON Schema
|
|
100
|
+
*
|
|
101
|
+
* @throws {ToJsonSchema.Error} if this cannot be converted to JSON Schema
|
|
102
|
+
*/
|
|
103
|
+
toJsonSchema(options?: ToJsonSchema.Options): JsonSchema;
|
|
104
|
+
/**
|
|
105
|
+
* #### metadata like custom descriptions and error messages
|
|
106
|
+
*
|
|
107
|
+
* ✅ type {@link https://arktype.io/docs/configuration#custom | can be customized} for your project
|
|
108
|
+
*/
|
|
109
|
+
meta: ArkAmbient.meta;
|
|
110
|
+
/**
|
|
111
|
+
* #### human-readable English description
|
|
112
|
+
*
|
|
113
|
+
* ✅ works best for primitive values
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* const N = type("0 < number <= 100")
|
|
117
|
+
* console.log(N.description) // positive and at most 100
|
|
118
|
+
*/
|
|
119
|
+
description: string;
|
|
120
|
+
/**
|
|
121
|
+
* #### syntax string similar to native TypeScript
|
|
122
|
+
*
|
|
123
|
+
* ✅ works well for both primitives and structures
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* const Loc = type({ coords: ["number", "number"] })
|
|
127
|
+
* console.log(Loc.expression) // { coords: [number, number] }
|
|
128
|
+
*/
|
|
129
|
+
expression: string;
|
|
130
|
+
/**
|
|
131
|
+
* #### validate and return transformed data or throw
|
|
132
|
+
*
|
|
133
|
+
* ✅ sugar to avoid checking for {@link type.errors} if they are unrecoverable
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* const CriticalPayload = type({
|
|
137
|
+
* superImportantValue: "string"
|
|
138
|
+
* })
|
|
139
|
+
* // throws TraversalError: superImportantValue must be a string (was missing)
|
|
140
|
+
* const data = CriticalPayload.assert({ irrelevantValue: "whoops" })
|
|
141
|
+
* console.log(data.superImportantValue) // valid output can be accessed directly
|
|
142
|
+
*
|
|
143
|
+
* @throws {TraversalError}
|
|
144
|
+
*/
|
|
145
|
+
assert: (data: unknown) => this["infer"];
|
|
146
|
+
/**
|
|
147
|
+
* #### check input without applying morphs
|
|
148
|
+
*
|
|
149
|
+
* ✅ good for stuff like filtering that doesn't benefit from detailed errors
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* const Numeric = type("number | bigint")
|
|
153
|
+
* // [0, 2n]
|
|
154
|
+
* const numerics = [0, "one", 2n].filter(Numeric.allows)
|
|
155
|
+
*/
|
|
156
|
+
allows: (data: unknown) => data is this["inferIn"];
|
|
157
|
+
/**
|
|
158
|
+
* #### add metadata to shallow references
|
|
159
|
+
*
|
|
160
|
+
* ⚠️ does not affect error messages within properties of an object
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* const NotOdd = type("number % 2").configure({ description: "not odd" })
|
|
164
|
+
* // all constraints at the root are affected
|
|
165
|
+
* const odd = NotOdd(3) // must be not odd (was 3)
|
|
166
|
+
* const nonNumber = NotOdd("two") // must be not odd (was "two")
|
|
167
|
+
*
|
|
168
|
+
* const NotOddBox = type({
|
|
169
|
+
* // we should have referenced notOdd or added meta here
|
|
170
|
+
* notOdd: "number % 2",
|
|
171
|
+
* // but instead chained from the root object
|
|
172
|
+
* }).configure({ description: "not odd" })
|
|
173
|
+
* // error message at path notOdd is not affected
|
|
174
|
+
* const oddProp = NotOddBox({ notOdd: 3 }) // notOdd must be even (was 3)
|
|
175
|
+
* // error message at root is affected, leading to a misleading description
|
|
176
|
+
* const nonObject = NotOddBox(null) // must be not odd (was null)
|
|
177
|
+
*/
|
|
178
|
+
configure: NodeSelector.SelectableFn<TypeMeta.MappableInput, this>;
|
|
179
|
+
/**
|
|
180
|
+
* #### add description to shallow references
|
|
181
|
+
*
|
|
182
|
+
* 🔗 equivalent to `.configure({ description })` (see {@link configure})
|
|
183
|
+
* ⚠️ does not affect error messages within properties of an object
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* const AToZ = type(/^a.*z$/).describe("a string like 'a...z'")
|
|
187
|
+
* const good = AToZ("alcatraz") // "alcatraz"
|
|
188
|
+
* // ArkErrors: must be a string like 'a...z' (was "albatross")
|
|
189
|
+
* const badPattern = AToZ("albatross")
|
|
190
|
+
*/
|
|
191
|
+
describe: NodeSelector.SelectableFn<string, this>;
|
|
192
|
+
/**
|
|
193
|
+
* #### apply undeclared key behavior
|
|
194
|
+
*
|
|
195
|
+
* - `"ignore"` (default) - allow and preserve extra properties
|
|
196
|
+
* - `"reject"` - disallow extra properties
|
|
197
|
+
* - `"delete"` - clone and remove extra properties from output
|
|
198
|
+
*/
|
|
199
|
+
onUndeclaredKey(behavior: UndeclaredKeyBehavior): this;
|
|
200
|
+
/**
|
|
201
|
+
* #### deeply apply undeclared key behavior
|
|
202
|
+
*
|
|
203
|
+
* - `"ignore"` (default) - allow and preserve extra properties
|
|
204
|
+
* - `"reject"` - disallow extra properties
|
|
205
|
+
* - `"delete"` - clone and remove extra properties from output
|
|
206
|
+
*/
|
|
207
|
+
onDeepUndeclaredKey(behavior: UndeclaredKeyBehavior): this;
|
|
208
|
+
/**
|
|
209
|
+
* #### alias for {@link assert} with typed input
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* const T = type({ foo: "string" });
|
|
213
|
+
* // TypeScript: foo must be a string (was 5)
|
|
214
|
+
* const data = T.from({ foo: 5 });
|
|
215
|
+
*/
|
|
216
|
+
from(literal: this["inferIn"]): this["infer"];
|
|
217
|
+
/**
|
|
218
|
+
* #### deeply extract inputs
|
|
219
|
+
*
|
|
220
|
+
* ✅ will never include morphs
|
|
221
|
+
* ✅ good for generating JSON Schema or other non-transforming formats
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* const User = type({
|
|
225
|
+
* age: "string.numeric.parse"
|
|
226
|
+
* })
|
|
227
|
+
* // { age: 25 } (age parsed to a number)
|
|
228
|
+
* const out = User({ age: "25" })
|
|
229
|
+
* // { age: "25" } (age is still a string)
|
|
230
|
+
* const inOut = User.in({ age: "25" })
|
|
231
|
+
*/
|
|
232
|
+
get in(): instantiateType<this["inferIn"], $>;
|
|
233
|
+
/**
|
|
234
|
+
* #### deeply extract outputs
|
|
235
|
+
*
|
|
236
|
+
* ✅ will never include morphs
|
|
237
|
+
* ⚠️ if your type includes morphs, their output will likely be unknown unless they
|
|
238
|
+
* were defined with an explicit output validator via `.to(outputDef)` or `.pipe(morph, outputType)`
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* const join = type("string[]").pipe(a => a.join(","))
|
|
242
|
+
*
|
|
243
|
+
* const T = type({
|
|
244
|
+
* // all keywords have introspectable output
|
|
245
|
+
* keyword: "string.numeric.parse",
|
|
246
|
+
* // TypeScript knows this returns a string, but we can't introspect that at runtime
|
|
247
|
+
* unvalidated: join,
|
|
248
|
+
* // if needed, it can be made introspectable with an output validator
|
|
249
|
+
* validated: join.to("string")
|
|
250
|
+
* })
|
|
251
|
+
*
|
|
252
|
+
* // Type<{ keyword: number; unvalidated: unknown; validated: string }>
|
|
253
|
+
* const baseOut = base.out
|
|
254
|
+
*/
|
|
255
|
+
get out(): instantiateType<this["inferIntrospectableOut"], $>;
|
|
256
|
+
/**
|
|
257
|
+
* #### add a compile-time brand to output
|
|
258
|
+
*
|
|
259
|
+
* 🥸 inference-only function that does nothing runtime
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* const Palindrome = type("string")
|
|
263
|
+
* .narrow(s => s === [...s].reverse().join(""))
|
|
264
|
+
* .brand("palindrome")
|
|
265
|
+
* // Brand<string, "palindrome">
|
|
266
|
+
* const out = Palindrome.assert("racecar")
|
|
267
|
+
*/
|
|
268
|
+
brand<const name extends string, r = instantiateType<type.brand<t, name>, $>>(name: name): r extends infer _ ? _ : never;
|
|
269
|
+
/**
|
|
270
|
+
* #### an array of this
|
|
271
|
+
*
|
|
272
|
+
* @example
|
|
273
|
+
* // Type<{ rebmun: number }[]>
|
|
274
|
+
* const T = type({ rebmun: "number" }).array();
|
|
275
|
+
*/
|
|
276
|
+
array(): ArrayType<t[], $>;
|
|
277
|
+
/**
|
|
278
|
+
* #### {@link https://arktype.io/docs/objects#properties-optional | optional definition}
|
|
279
|
+
*
|
|
280
|
+
* ⚠️ unlike most other methods, this creates a definition rather than a Type (read why)
|
|
281
|
+
*
|
|
282
|
+
* @example
|
|
283
|
+
* const Prop = type({ foo: "number" })
|
|
284
|
+
* // Type<{ bar?: { foo: number } }>
|
|
285
|
+
* const Obj = type({ bar: Prop.optional() })
|
|
286
|
+
*/
|
|
287
|
+
optional(): [this, "?"];
|
|
288
|
+
/**
|
|
289
|
+
* #### {@link https://arktype.io/docs/objects#properties-defaultable | defaultable definition}
|
|
290
|
+
*
|
|
291
|
+
* ✅ object defaults can be returned from a function
|
|
292
|
+
* ⚠️ throws if the default value is not allowed
|
|
293
|
+
* ⚠️ unlike most other methods, this creates a definition rather than a Type (read why)
|
|
294
|
+
*
|
|
295
|
+
* @example
|
|
296
|
+
* // Type<{ count: Default<number, 0> }>
|
|
297
|
+
* const State = type({ count: type.number.default(0) })
|
|
298
|
+
* const Prop = type({ nested: "boolean" })
|
|
299
|
+
* const ForObj = type({
|
|
300
|
+
* key: Prop.default(() => ({ nested: false }))
|
|
301
|
+
* })
|
|
302
|
+
*/
|
|
303
|
+
default<const value extends defaultFor<this["inferIn"]>>(value: value): [this, "=", value];
|
|
304
|
+
/**
|
|
305
|
+
* #### apply a predicate function to input
|
|
306
|
+
*
|
|
307
|
+
* ⚠️ the behavior of {@link narrow}, this method's output counterpart, is usually more desirable
|
|
308
|
+
* ✅ most useful for morphs with input types that are re-used externally
|
|
309
|
+
* 🥸 {@link https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates | Type predicates} can be used as casts
|
|
310
|
+
*
|
|
311
|
+
* @example
|
|
312
|
+
* const stringifyUser = type({ name: "string" }).pipe(user => JSON.stringify(user))
|
|
313
|
+
* const stringifySafe = stringifyUser.filter(user => user.name !== "Bobby Tables")
|
|
314
|
+
* // Type<(In: `${string}Z`) => To<Date>>
|
|
315
|
+
* const WithPredicate = type("string.date.parse").filter((s): s is `${string}Z` =>
|
|
316
|
+
* s.endsWith("Z")
|
|
317
|
+
* )
|
|
318
|
+
*/
|
|
319
|
+
filter<narrowed extends this["inferIn"] = never, r = instantiateType<[
|
|
320
|
+
narrowed
|
|
321
|
+
] extends [never] ? t : t extends InferredMorph<never, infer o> ? (In: narrowed) => o : narrowed, $>>(predicate: Predicate.Castable<this["inferIn"], narrowed>): r extends infer _ ? _ : never;
|
|
322
|
+
/**
|
|
323
|
+
* #### apply a predicate function to output
|
|
324
|
+
*
|
|
325
|
+
* ✅ go-to fallback for validation not composable via built-in types and operators
|
|
326
|
+
* ✅ runs after all other validators and morphs, if present
|
|
327
|
+
* 🥸 {@link https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates | Type predicates} can be used as casts
|
|
328
|
+
*
|
|
329
|
+
* @example
|
|
330
|
+
* const Palindrome = type("string").narrow(s => s === [...s].reverse().join(""))
|
|
331
|
+
*
|
|
332
|
+
* const PalindromicEmail = type("string.date.parse").narrow((date, ctx) =>
|
|
333
|
+
* date.getFullYear() === 2025 || ctx.mustBe("the current year")
|
|
334
|
+
* )
|
|
335
|
+
* // Type<`${string}.tsx`>
|
|
336
|
+
* const WithPredicate = type("string").narrow((s): s is `${string}.tsx` => /\.tsx?$/.test(s))
|
|
337
|
+
*/
|
|
338
|
+
narrow<narrowed extends this["infer"] = never, r = instantiateType<[
|
|
339
|
+
narrowed
|
|
340
|
+
] extends [never] ? t : t extends InferredMorph<infer i, infer o> ? o extends To ? (In: i) => To<narrowed> : (In: i) => Out<narrowed> : narrowed, $>>(predicate: Predicate.Castable<this["infer"], narrowed>): r extends infer _ ? _ : never;
|
|
341
|
+
/**
|
|
342
|
+
* #### pipe output through arbitrary transformations or other Types
|
|
343
|
+
*
|
|
344
|
+
* @example
|
|
345
|
+
* const User = type({ name: "string" })
|
|
346
|
+
*
|
|
347
|
+
* // parse a string and validate that the result as a user
|
|
348
|
+
* const parseUser = type("string").pipe(s => JSON.parse(s), user)
|
|
349
|
+
*/
|
|
350
|
+
pipe: ChainedPipeParser<$, t>;
|
|
351
|
+
/**
|
|
352
|
+
* #### parse a definition as an output validator
|
|
353
|
+
*
|
|
354
|
+
* 🔗 `to({ name: "string" })` is equivalent to `.pipe(type({ name: "string" }))`
|
|
355
|
+
*
|
|
356
|
+
* @example
|
|
357
|
+
* // parse a string and validate that the result as a user
|
|
358
|
+
* const parseUser = type("string").pipe(s => JSON.parse(s)).to({ name: "string" })
|
|
359
|
+
*/
|
|
360
|
+
to<const def, r = instantiateType<inferPipe<t, type.infer<def, $>>, $>>(def: type.validate<def, $>): r extends infer _ ? _ : never;
|
|
361
|
+
/**
|
|
362
|
+
* #### query internal node references
|
|
363
|
+
*
|
|
364
|
+
* @experimental filters and returns the Type's internal representation from `@ark/schema`
|
|
365
|
+
*
|
|
366
|
+
* @example
|
|
367
|
+
* // ["blue", "red"]
|
|
368
|
+
* const values = type("'red' | 'blue'").select("unit").map(u => u.unit)
|
|
369
|
+
*/
|
|
370
|
+
select: BaseNode["select"];
|
|
371
|
+
}
|
|
372
|
+
/** @ts-ignore cast variance */
|
|
373
|
+
interface Type<out t = unknown, $ = {}> extends Callable<(data: unknown) => distill.Out<t> | ArkEnv.onFail>, Inferred<t, $> {
|
|
374
|
+
/**
|
|
375
|
+
* #### cast the way this is inferred
|
|
376
|
+
*
|
|
377
|
+
* 🥸 inference-only function that does nothing runtime
|
|
378
|
+
*
|
|
379
|
+
* @example
|
|
380
|
+
* // Type<`LEEEEEEEE${string}ROY`>
|
|
381
|
+
* const Leeroy = type(/^LE{8,}ROY$/).as<`LEEEEEEEE${string}ROY`>()
|
|
382
|
+
*/
|
|
383
|
+
as<castTo = unset>(...args: validateChainedAsArgs<castTo>): instantiateType<castTo, $>;
|
|
384
|
+
/**
|
|
385
|
+
* #### intersect the parsed Type, throwing if the result is unsatisfiable
|
|
386
|
+
*
|
|
387
|
+
* @example
|
|
388
|
+
* // Type<{ foo: number; bar: string }>
|
|
389
|
+
* const T = type({ foo: "number" }).and({ bar: "string" })
|
|
390
|
+
* // ParseError: Intersection at foo of number and string results in an unsatisfiable type
|
|
391
|
+
* const Bad = type({ foo: "number" }).and({ foo: "string" })
|
|
392
|
+
*/
|
|
393
|
+
and<const def, r = instantiateType<inferIntersection<t, type.infer<def, $>>, $>>(def: type.validate<def, $>): r extends infer _ ? _ : never;
|
|
394
|
+
/**
|
|
395
|
+
* #### union with the parsed Type
|
|
396
|
+
*
|
|
397
|
+
* ⚠️ a union that could apply different morphs to the same data is a ParseError ({@link https://arktype.io/docs/expressions#union-morphs | docs})
|
|
398
|
+
*
|
|
399
|
+
* @example
|
|
400
|
+
* // Type<string | { box: string }>
|
|
401
|
+
* const T = type("string").or({ box: "string" })
|
|
402
|
+
*/
|
|
403
|
+
or<const def, r = instantiateType<t | type.infer<def, $>, $>>(def: type.validate<def, $>): r extends infer _ ? _ : never;
|
|
404
|
+
/**
|
|
405
|
+
* #### intersect the parsed Type, returning an introspectable {@link Disjoint} if the result is unsatisfiable
|
|
406
|
+
*
|
|
407
|
+
* @example
|
|
408
|
+
* // Type<{ foo: number; bar: string }>
|
|
409
|
+
* const T = type({ foo: "number" }).intersect({ bar: "string" })
|
|
410
|
+
* const Bad = type("number > 10").intersect("number < 5")
|
|
411
|
+
* // logs "Intersection of > 10 and < 5 results in an unsatisfiable type"
|
|
412
|
+
* if (Bad instanceof Disjoint) console.log(`${bad.summary}`)
|
|
413
|
+
*/
|
|
414
|
+
intersect<const def, r = instantiateType<inferIntersection<t, type.infer<def, $>>, $>>(def: type.validate<def, $>): r extends infer _ ? _ | Disjoint : never;
|
|
415
|
+
/**
|
|
416
|
+
* #### check if the parsed Type's constraints are identical
|
|
417
|
+
*
|
|
418
|
+
* ✅ equal types have identical input and output constraints and transforms
|
|
419
|
+
* ✅ ignores associated {@link meta}, which does not affect the set of allowed values
|
|
420
|
+
*
|
|
421
|
+
* @example
|
|
422
|
+
* const DivisibleBy6 = type.number.divisibleBy(6).moreThan(0)
|
|
423
|
+
* // false (left side must also be positive)
|
|
424
|
+
* DivisibleBy6.equals("number % 6")
|
|
425
|
+
* // false (right side has an additional <100 constraint)
|
|
426
|
+
* console.log(DivisibleBy6.equals("0 < (number % 6) < 100"))
|
|
427
|
+
* const ThirdTry = type("(number % 2) > 0").divisibleBy(3)
|
|
428
|
+
* // true (types are normalized and reduced)
|
|
429
|
+
* console.log(DivisibleBy6.equals(ThirdTry))
|
|
430
|
+
*/
|
|
431
|
+
equals<const def>(def: type.validate<def, $>): boolean;
|
|
432
|
+
/**
|
|
433
|
+
* #### narrow this based on an {@link equals} check
|
|
434
|
+
*
|
|
435
|
+
* ✅ ignores associated {@link meta}, which does not affect the set of allowed values
|
|
436
|
+
*
|
|
437
|
+
* @example
|
|
438
|
+
* const N = type.raw(`${Math.random()}`)
|
|
439
|
+
* // Type<0.5> | undefined
|
|
440
|
+
* const Ez = N.ifEquals("0.5")
|
|
441
|
+
*/
|
|
442
|
+
ifEquals<const def, r = type.instantiate<def, $>>(def: type.validate<def, $>): r extends infer _ ? _ | undefined : never;
|
|
443
|
+
/**
|
|
444
|
+
* #### check if this is a subtype of the parsed Type
|
|
445
|
+
*
|
|
446
|
+
* ✅ a subtype must include all constraints from the base type
|
|
447
|
+
* ✅ unlike {@link equals}, additional constraints may be present
|
|
448
|
+
* ✅ ignores associated {@link meta}, which does not affect the set of allowed values
|
|
449
|
+
*
|
|
450
|
+
* @example
|
|
451
|
+
* type.string.extends("unknown") // true
|
|
452
|
+
* type.string.extends(/^a.*z$/) // false
|
|
453
|
+
*/
|
|
454
|
+
extends<const def>(other: type.validate<def, $>): boolean;
|
|
455
|
+
/**
|
|
456
|
+
* #### narrow this based on an {@link extends} check
|
|
457
|
+
*
|
|
458
|
+
* ✅ ignores associated {@link meta}, which does not affect the set of allowed values
|
|
459
|
+
*
|
|
460
|
+
* @example
|
|
461
|
+
* const N = type(Math.random() > 0.5 ? "true" : "0") // Type<0 | true>
|
|
462
|
+
* const Ez = N.ifExtends("boolean") // Type<true> | undefined
|
|
463
|
+
*/
|
|
464
|
+
ifExtends<const def, r = type.instantiate<def, $>>(other: type.validate<def, $>): r extends infer _ ? _ | undefined : never;
|
|
465
|
+
/**
|
|
466
|
+
* #### check if a value could satisfy this and the parsed Type
|
|
467
|
+
*
|
|
468
|
+
* ⚠️ will return true unless a {@link Disjoint} can be proven
|
|
469
|
+
*
|
|
470
|
+
* @example
|
|
471
|
+
* type.string.overlaps("string | number") // true (e.g. "foo")
|
|
472
|
+
* type("string | number").overlaps("1") // true (1)
|
|
473
|
+
* type("number > 0").overlaps("number < 0") // false (no values exist)
|
|
474
|
+
*
|
|
475
|
+
* const NoAt = type("string").narrow(s => !s.includes("@"))
|
|
476
|
+
* NoAt.overlaps("string.email") // true (no values exist, but not provable)
|
|
477
|
+
*/
|
|
478
|
+
overlaps<const def>(r: type.validate<def, $>): boolean;
|
|
479
|
+
/**
|
|
480
|
+
* #### extract branches {@link extend}ing the parsed Type
|
|
481
|
+
*
|
|
482
|
+
* @example
|
|
483
|
+
* // Type<true | 0 | 2>
|
|
484
|
+
* const T = type("boolean | 0 | 'one' | 2 | bigint").extract("number | 0n | true")
|
|
485
|
+
*/
|
|
486
|
+
extract<const def, r = instantiateType<t extends type.infer<def, $> ? t : never, $>>(r: type.validate<def, $>): r extends infer _ extends r ? _ : never;
|
|
487
|
+
/**
|
|
488
|
+
* #### exclude branches {@link extend}ing the parsed Type
|
|
489
|
+
*
|
|
490
|
+
* @example
|
|
491
|
+
*
|
|
492
|
+
* // Type<false | 'one' | bigint>
|
|
493
|
+
* const T = type("boolean | 0 | 'one' | 2 | bigint").exclude("number | 0n | true")
|
|
494
|
+
*/
|
|
495
|
+
exclude<const def, r = instantiateType<t extends type.infer<def, $> ? never : t, $>>(r: type.validate<def, $>): r extends infer _ ? _ : never;
|
|
496
|
+
/**
|
|
497
|
+
* @experimental
|
|
498
|
+
* Map and optionally reduce branches of a union. Types that are not unions
|
|
499
|
+
* are treated as a single branch.
|
|
500
|
+
*
|
|
501
|
+
* @param mapBranch - the mapping function, accepting a branch Type
|
|
502
|
+
* Returning another `Type` is common, but any value can be returned and
|
|
503
|
+
* inferred as part of the output.
|
|
504
|
+
*
|
|
505
|
+
* @param [reduceMapped] - an operation to perform on the mapped branches
|
|
506
|
+
* Can be used to e.g. merge an array of returned Types representing
|
|
507
|
+
* branches back to a single union.
|
|
508
|
+
*/
|
|
509
|
+
distribute<mapOut, reduceOut = mapOut[]>(mapBranch: (branch: Type, i: number, branches: array<Type>) => mapOut, reduceMapped?: (mappedBranches: mapOut[]) => reduceOut): reduceOut;
|
|
510
|
+
/** The Type's [StandardSchema](https://github.com/standard-schema/standard-schema) properties */
|
|
511
|
+
"~standard": StandardSchemaV1.ArkTypeProps<this["inferIn"] extends infer _ ? _ : never, this["inferOut"] extends infer _ ? _ : never>;
|
|
512
|
+
/** @deprecated */
|
|
513
|
+
apply: Function["apply"];
|
|
514
|
+
/** @deprecated */
|
|
515
|
+
bind: Function["bind"];
|
|
516
|
+
/** @deprecated */
|
|
517
|
+
call: Function["call"];
|
|
518
|
+
/** @deprecated */
|
|
519
|
+
caller: Function;
|
|
520
|
+
/** @deprecated */
|
|
521
|
+
length: number;
|
|
522
|
+
/** @deprecated */
|
|
523
|
+
name: string;
|
|
524
|
+
/** @deprecated */
|
|
525
|
+
prototype: Function["prototype"];
|
|
526
|
+
/** @deprecated */
|
|
527
|
+
arguments: Function["arguments"];
|
|
528
|
+
/** @deprecated */
|
|
529
|
+
Symbol: never;
|
|
530
|
+
}
|
|
531
|
+
export interface ChainedPipeParser<$, t> extends NaryPipeParser<$, t> {
|
|
532
|
+
try: NaryPipeParser<$, t>;
|
|
533
|
+
}
|
|
534
|
+
type validateChainedAsArgs<t> = [
|
|
535
|
+
t
|
|
536
|
+
] extends [unset] ? [
|
|
537
|
+
t
|
|
538
|
+
] extends [anyOrNever] ? [
|
|
539
|
+
] : [
|
|
540
|
+
ErrorMessage<"as requires an explicit type parameter like myType.as<t>()">
|
|
541
|
+
] : [];
|
|
542
|
+
export type { Type as BaseType };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ExclusiveDateRangeSchema, InclusiveDateRangeSchema } from "@ark/schema";
|
|
2
|
+
import type { ObjectType } from "./object.ts";
|
|
3
|
+
/** @ts-ignore cast variance */
|
|
4
|
+
interface Type<out t extends globalThis.Date = globalThis.Date, $ = {}> extends ObjectType<t, $> {
|
|
5
|
+
atOrAfter(schema: InclusiveDateRangeSchema): this;
|
|
6
|
+
atOrBefore(schema: InclusiveDateRangeSchema): this;
|
|
7
|
+
laterThan(schema: ExclusiveDateRangeSchema): this;
|
|
8
|
+
earlierThan(schema: ExclusiveDateRangeSchema): this;
|
|
9
|
+
}
|
|
10
|
+
export type { Type as DateType };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { anyOrNever, array } from "@ark/util";
|
|
2
|
+
import type { ArrayType } from "./array.ts";
|
|
3
|
+
import type { BaseType } from "./base.ts";
|
|
4
|
+
import type { DateType } from "./date.ts";
|
|
5
|
+
import type { NumberType } from "./number.ts";
|
|
6
|
+
import type { ObjectType } from "./object.ts";
|
|
7
|
+
import type { StringType } from "./string.ts";
|
|
8
|
+
export type instantiateType<t, $> = [
|
|
9
|
+
t
|
|
10
|
+
] extends [anyOrNever] ? BaseType<t, $> : [t] extends [object] ? [
|
|
11
|
+
t
|
|
12
|
+
] extends [array] ? ArrayType<t, $> : [t] extends [Date] ? DateType<t, $> : ObjectType<t, $> : [t] extends [string] ? StringType<t, $> : [t] extends [number] ? NumberType<t, $> : BaseType<t, $>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Divisor, ExclusiveNumericRangeSchema, InclusiveNumericRangeSchema } from "@ark/schema";
|
|
2
|
+
import type { BaseType } from "./base.ts";
|
|
3
|
+
/** @ts-ignore cast variance */
|
|
4
|
+
interface Type<out t extends number = number, $ = {}> extends BaseType<t, $> {
|
|
5
|
+
divisibleBy(schema: Divisor.Schema): this;
|
|
6
|
+
atLeast(schema: InclusiveNumericRangeSchema): this;
|
|
7
|
+
atMost(schema: InclusiveNumericRangeSchema): this;
|
|
8
|
+
moreThan(schema: ExclusiveNumericRangeSchema): this;
|
|
9
|
+
lessThan(schema: ExclusiveNumericRangeSchema): this;
|
|
10
|
+
}
|
|
11
|
+
export type { Type as NumberType };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|