@blade-hq/agent-client 1.1.1 → 1.1.2
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,80 @@
|
|
|
1
|
+
import type { merge, show } from "@ark/util";
|
|
2
|
+
import type { UnknownErrorConfigs } from "../config.ts";
|
|
3
|
+
import type { nodeOfKind, reducibleKindOf } from "../kinds.ts";
|
|
4
|
+
import type { Disjoint } from "./disjoint.ts";
|
|
5
|
+
import type { ArkErrors } from "./errors.ts";
|
|
6
|
+
import type { NarrowedAttachments, NodeKind } from "./implement.ts";
|
|
7
|
+
import type { JsonSchema } from "./jsonSchema.ts";
|
|
8
|
+
type withMetaPrefixedKeys<o> = {
|
|
9
|
+
[k in keyof o as k extends string ? `meta.${k}` : never]: o[k];
|
|
10
|
+
};
|
|
11
|
+
export interface DefaultArkEnv {
|
|
12
|
+
meta(): {};
|
|
13
|
+
onFail(errors: ArkErrors): ArkErrors;
|
|
14
|
+
}
|
|
15
|
+
interface NodeMeta extends JsonSchema.UniversalMeta, UnknownErrorConfigs {
|
|
16
|
+
alias?: string;
|
|
17
|
+
onFail?: ArkErrors.Handler;
|
|
18
|
+
}
|
|
19
|
+
declare global {
|
|
20
|
+
export interface ArkEnv extends DefaultArkEnv {
|
|
21
|
+
}
|
|
22
|
+
export namespace ArkEnv {
|
|
23
|
+
type meta = show<NodeMeta & ReturnType<ArkEnv["meta"]>>;
|
|
24
|
+
type onFail = ReturnType<ArkEnv["onFail"]>;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export type TypeMeta = Omit<ArkEnv.meta, "onFail">;
|
|
28
|
+
export declare namespace TypeMeta {
|
|
29
|
+
type Collapsible<meta extends TypeMeta = TypeMeta> = meta | string;
|
|
30
|
+
type Mapper<meta extends TypeMeta = TypeMeta> = (existing: Readonly<meta>) => meta;
|
|
31
|
+
type MappableInput<meta extends TypeMeta = TypeMeta> = Collapsible<meta> | Mapper<meta>;
|
|
32
|
+
namespace MappableInput {
|
|
33
|
+
type Internal = MappableInput<ArkEnv.meta>;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export interface BaseNormalizedSchema extends withMetaPrefixedKeys<TypeMeta> {
|
|
37
|
+
readonly meta?: ArkEnv.meta | string;
|
|
38
|
+
}
|
|
39
|
+
interface DeclarationInput {
|
|
40
|
+
kind: NodeKind;
|
|
41
|
+
schema: unknown;
|
|
42
|
+
normalizedSchema: BaseNormalizedSchema;
|
|
43
|
+
inner: object;
|
|
44
|
+
errorContext?: BaseErrorContext;
|
|
45
|
+
reducibleTo?: NodeKind;
|
|
46
|
+
intersectionIsOpen?: true;
|
|
47
|
+
prerequisite?: unknown;
|
|
48
|
+
childKind?: NodeKind;
|
|
49
|
+
}
|
|
50
|
+
export interface BaseErrorContext<kind extends NodeKind = NodeKind> {
|
|
51
|
+
readonly description?: string;
|
|
52
|
+
readonly code: kind;
|
|
53
|
+
readonly meta: ArkEnv.meta;
|
|
54
|
+
}
|
|
55
|
+
export type defaultErrorContext<d extends DeclarationInput> = show<BaseErrorContext<d["kind"]> & d["inner"]>;
|
|
56
|
+
export type declareNode<d extends {
|
|
57
|
+
[k in keyof d]: k extends keyof DeclarationInput ? DeclarationInput[k] : never;
|
|
58
|
+
} & DeclarationInput> = merge<{
|
|
59
|
+
intersectionIsOpen: false;
|
|
60
|
+
prerequisite: prerequisiteOf<d>;
|
|
61
|
+
childKind: never;
|
|
62
|
+
reducibleTo: d["kind"];
|
|
63
|
+
errorContext: null;
|
|
64
|
+
}, d>;
|
|
65
|
+
type prerequisiteOf<d extends DeclarationInput> = "prerequisite" extends keyof d ? d["prerequisite"] : unknown;
|
|
66
|
+
export type attachmentsOf<d extends BaseNodeDeclaration> = NarrowedAttachments<d> & attachedInner<d>;
|
|
67
|
+
type attachedInner<d extends BaseNodeDeclaration> = "intersection" & d["kind"] extends never ? d["inner"] : {};
|
|
68
|
+
export interface BaseNodeDeclaration {
|
|
69
|
+
kind: NodeKind;
|
|
70
|
+
schema: unknown;
|
|
71
|
+
normalizedSchema: BaseNormalizedSchema;
|
|
72
|
+
inner: {};
|
|
73
|
+
reducibleTo: NodeKind;
|
|
74
|
+
prerequisite: any;
|
|
75
|
+
intersectionIsOpen: boolean;
|
|
76
|
+
childKind: NodeKind;
|
|
77
|
+
errorContext: BaseErrorContext | null;
|
|
78
|
+
}
|
|
79
|
+
export type ownIntersectionResult<d extends BaseNodeDeclaration> = nodeOfKind<reducibleKindOf<d["kind"]>> | Disjoint;
|
|
80
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type Key } from "@ark/util";
|
|
2
|
+
import type { nodeOfKind } from "../kinds.ts";
|
|
3
|
+
import type { BaseNode } from "../node.ts";
|
|
4
|
+
import type { BoundKind } from "../refinements/kinds.ts";
|
|
5
|
+
import type { Domain } from "../roots/domain.ts";
|
|
6
|
+
import type { BaseRoot } from "../roots/root.ts";
|
|
7
|
+
import type { Prop } from "../structure/prop.ts";
|
|
8
|
+
export interface DisjointEntry<kind extends DisjointKind = DisjointKind> {
|
|
9
|
+
kind: kind;
|
|
10
|
+
l: OperandsByDisjointKind[kind];
|
|
11
|
+
r: OperandsByDisjointKind[kind];
|
|
12
|
+
path: Key[];
|
|
13
|
+
optional: boolean;
|
|
14
|
+
}
|
|
15
|
+
type OperandsByDisjointKind = {
|
|
16
|
+
domain: nodeOfKind<"domain"> | Domain.Enumerable;
|
|
17
|
+
unit: nodeOfKind<"unit">;
|
|
18
|
+
proto: nodeOfKind<"proto">;
|
|
19
|
+
presence: BaseRoot;
|
|
20
|
+
range: nodeOfKind<BoundKind>;
|
|
21
|
+
assignability: BaseNode;
|
|
22
|
+
union: readonly BaseRoot[];
|
|
23
|
+
};
|
|
24
|
+
export type DisjointEntryContext = {
|
|
25
|
+
path?: Key[];
|
|
26
|
+
optional?: true;
|
|
27
|
+
};
|
|
28
|
+
export declare class Disjoint extends Array<DisjointEntry> {
|
|
29
|
+
static init<kind extends DisjointKind>(kind: kind, l: OperandsByDisjointKind[kind], r: OperandsByDisjointKind[kind], ctx?: DisjointEntryContext): Disjoint;
|
|
30
|
+
add<kind extends DisjointKind>(kind: kind, l: OperandsByDisjointKind[kind], r: OperandsByDisjointKind[kind], ctx?: DisjointEntryContext): Disjoint;
|
|
31
|
+
get summary(): string;
|
|
32
|
+
describeReasons(): string;
|
|
33
|
+
throw(): never;
|
|
34
|
+
invert(): Disjoint;
|
|
35
|
+
withPrefixKey(key: PropertyKey, kind: Prop.Kind): Disjoint;
|
|
36
|
+
toNeverIfDisjoint(): BaseRoot;
|
|
37
|
+
}
|
|
38
|
+
export type DisjointKind = keyof OperandsByDisjointKind;
|
|
39
|
+
export declare const writeUnsatisfiableExpressionError: <expression extends string>(expression: expression) => writeUnsatisfiableExpressionError<expression>;
|
|
40
|
+
export type writeUnsatisfiableExpressionError<expression extends string> = `${expression} results in an unsatisfiable type`;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { isArray, stringifyPath, throwParseError } from "@ark/util";
|
|
2
|
+
import { $ark } from "./registry.js";
|
|
3
|
+
import { isNode } from "./utils.js";
|
|
4
|
+
export class Disjoint extends Array {
|
|
5
|
+
static init(kind, l, r, ctx) {
|
|
6
|
+
return new Disjoint({
|
|
7
|
+
kind,
|
|
8
|
+
l,
|
|
9
|
+
r,
|
|
10
|
+
path: ctx?.path ?? [],
|
|
11
|
+
optional: ctx?.optional ?? false
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
add(kind, l, r, ctx) {
|
|
15
|
+
this.push({
|
|
16
|
+
kind,
|
|
17
|
+
l,
|
|
18
|
+
r,
|
|
19
|
+
path: ctx?.path ?? [],
|
|
20
|
+
optional: ctx?.optional ?? false
|
|
21
|
+
});
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
get summary() {
|
|
25
|
+
return this.describeReasons();
|
|
26
|
+
}
|
|
27
|
+
describeReasons() {
|
|
28
|
+
if (this.length === 1) {
|
|
29
|
+
const { path, l, r } = this[0];
|
|
30
|
+
const pathString = stringifyPath(path);
|
|
31
|
+
return writeUnsatisfiableExpressionError(`Intersection${pathString && ` at ${pathString}`} of ${describeReasons(l, r)}`);
|
|
32
|
+
}
|
|
33
|
+
return `The following intersections result in unsatisfiable types:\n• ${this.map(({ path, l, r }) => `${path}: ${describeReasons(l, r)}`).join("\n• ")}`;
|
|
34
|
+
}
|
|
35
|
+
throw() {
|
|
36
|
+
return throwParseError(this.describeReasons());
|
|
37
|
+
}
|
|
38
|
+
invert() {
|
|
39
|
+
const result = this.map(entry => ({
|
|
40
|
+
...entry,
|
|
41
|
+
l: entry.r,
|
|
42
|
+
r: entry.l
|
|
43
|
+
}));
|
|
44
|
+
// Workaround for Static Hermes, which doesn't preserve the Array subclass here
|
|
45
|
+
// https://github.com/arktypeio/arktype/issues/1027
|
|
46
|
+
if (!(result instanceof Disjoint))
|
|
47
|
+
return new Disjoint(...result);
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
withPrefixKey(key, kind) {
|
|
51
|
+
return this.map(entry => ({
|
|
52
|
+
...entry,
|
|
53
|
+
path: [key, ...entry.path],
|
|
54
|
+
optional: entry.optional || kind === "optional"
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
toNeverIfDisjoint() {
|
|
58
|
+
return $ark.intrinsic.never;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const describeReasons = (l, r) => `${describeReason(l)} and ${describeReason(r)}`;
|
|
62
|
+
const describeReason = (value) => isNode(value) ? value.expression
|
|
63
|
+
: isArray(value) ? value.map(describeReason).join(" | ") || "never"
|
|
64
|
+
: String(value);
|
|
65
|
+
export const writeUnsatisfiableExpressionError = (expression) => `${expression} results in an unsatisfiable type`;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { CastableBase, ReadonlyArray, ReadonlyPath, type JsonArray, type JsonObject, type array, type merge, type propwiseXor, type show } from "@ark/util";
|
|
2
|
+
import type { Prerequisite, errorContext } from "../kinds.ts";
|
|
3
|
+
import type { NodeKind } from "./implement.ts";
|
|
4
|
+
import type { StandardSchemaV1 } from "./standardSchema.ts";
|
|
5
|
+
import type { Traversal } from "./traversal.ts";
|
|
6
|
+
import { arkKind } from "./utils.ts";
|
|
7
|
+
export type ArkErrorResult = ArkError | ArkErrors;
|
|
8
|
+
export declare class ArkError<code extends ArkErrorCode = ArkErrorCode> extends CastableBase<ArkErrorContextInput<code>> {
|
|
9
|
+
readonly [arkKind] = "error";
|
|
10
|
+
path: ReadonlyPath;
|
|
11
|
+
data: Prerequisite<code>;
|
|
12
|
+
private nodeConfig;
|
|
13
|
+
protected input: ArkErrorContextInput<code>;
|
|
14
|
+
protected ctx: Traversal;
|
|
15
|
+
constructor(input: ArkErrorContextInput<code>, ctx: Traversal);
|
|
16
|
+
transform(f: (input: ArkErrorContextInput<code>) => ArkErrorContextInput): ArkError;
|
|
17
|
+
hasCode<code extends ArkErrorCode>(code: code): this is ArkError<code>;
|
|
18
|
+
get propString(): string;
|
|
19
|
+
get expected(): string;
|
|
20
|
+
get actual(): string;
|
|
21
|
+
get problem(): string;
|
|
22
|
+
get message(): string;
|
|
23
|
+
get flat(): ArkError[];
|
|
24
|
+
toJSON(): JsonObject;
|
|
25
|
+
toString(): string;
|
|
26
|
+
throw(): never;
|
|
27
|
+
}
|
|
28
|
+
export declare namespace ArkErrors {
|
|
29
|
+
type Handler<returns = unknown> = (errors: ArkErrors) => returns;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A ReadonlyArray of `ArkError`s returned by a Type on invalid input.
|
|
33
|
+
*
|
|
34
|
+
* Subsequent errors added at an existing path are merged into an
|
|
35
|
+
* ArkError intersection.
|
|
36
|
+
*/
|
|
37
|
+
export declare class ArkErrors extends ReadonlyArray<ArkError> implements StandardSchemaV1.FailureResult {
|
|
38
|
+
readonly [arkKind] = "errors";
|
|
39
|
+
protected ctx: Traversal;
|
|
40
|
+
constructor(ctx: Traversal);
|
|
41
|
+
/**
|
|
42
|
+
* Errors by a pathString representing their location.
|
|
43
|
+
*/
|
|
44
|
+
byPath: Record<string, ArkError>;
|
|
45
|
+
/**
|
|
46
|
+
* {@link byPath} flattened so that each value is an array of ArkError instances at that path.
|
|
47
|
+
*
|
|
48
|
+
* ✅ Since "intersection" errors will be flattened to their constituent `.errors`,
|
|
49
|
+
* they will never be directly present in this representation.
|
|
50
|
+
*/
|
|
51
|
+
get flatByPath(): Record<string, ArkError[]>;
|
|
52
|
+
/**
|
|
53
|
+
* {@link byPath} flattened so that each value is an array of problem strings at that path.
|
|
54
|
+
*/
|
|
55
|
+
get flatProblemsByPath(): Record<string, string[]>;
|
|
56
|
+
/**
|
|
57
|
+
* All pathStrings at which errors are present mapped to the errors occuring
|
|
58
|
+
* at that path or any nested path within it.
|
|
59
|
+
*/
|
|
60
|
+
byAncestorPath: Record<string, ArkError[]>;
|
|
61
|
+
count: number;
|
|
62
|
+
private mutable;
|
|
63
|
+
/**
|
|
64
|
+
* Throw a TraversalError based on these errors.
|
|
65
|
+
*/
|
|
66
|
+
throw(): never;
|
|
67
|
+
/**
|
|
68
|
+
* Converts ArkErrors to TraversalError, a subclass of `Error` suitable for throwing with nice
|
|
69
|
+
* formatting.
|
|
70
|
+
*/
|
|
71
|
+
toTraversalError(): TraversalError;
|
|
72
|
+
/**
|
|
73
|
+
* Append an ArkError to this array, ignoring duplicates.
|
|
74
|
+
*/
|
|
75
|
+
add(error: ArkError): void;
|
|
76
|
+
transform(f: (e: ArkError) => ArkError): ArkErrors;
|
|
77
|
+
/**
|
|
78
|
+
* Add all errors from an ArkErrors instance, ignoring duplicates and
|
|
79
|
+
* prefixing their paths with that of the current Traversal.
|
|
80
|
+
*/
|
|
81
|
+
merge(errors: ArkErrors): void;
|
|
82
|
+
/**
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
affectsPath(path: ReadonlyPath): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* A human-readable summary of all errors.
|
|
88
|
+
*/
|
|
89
|
+
get summary(): string;
|
|
90
|
+
/**
|
|
91
|
+
* Alias of this ArkErrors instance for StandardSchema compatibility.
|
|
92
|
+
*/
|
|
93
|
+
get issues(): this;
|
|
94
|
+
toJSON(): JsonArray;
|
|
95
|
+
toString(): string;
|
|
96
|
+
private addAncestorPaths;
|
|
97
|
+
}
|
|
98
|
+
export declare class TraversalError extends Error {
|
|
99
|
+
readonly name = "TraversalError";
|
|
100
|
+
arkErrors: ArkErrors;
|
|
101
|
+
constructor(errors: ArkErrors);
|
|
102
|
+
}
|
|
103
|
+
export interface DerivableErrorContext<code extends ArkErrorCode = ArkErrorCode> {
|
|
104
|
+
expected: string;
|
|
105
|
+
actual: string;
|
|
106
|
+
problem: string;
|
|
107
|
+
message: string;
|
|
108
|
+
data: Prerequisite<code>;
|
|
109
|
+
path: array<PropertyKey>;
|
|
110
|
+
propString: string;
|
|
111
|
+
}
|
|
112
|
+
export type DerivableErrorContextInput<code extends ArkErrorCode = ArkErrorCode> = Partial<DerivableErrorContext<code>> & propwiseXor<{
|
|
113
|
+
path?: array<PropertyKey>;
|
|
114
|
+
}, {
|
|
115
|
+
relativePath?: array<PropertyKey>;
|
|
116
|
+
prefixPath?: array<PropertyKey>;
|
|
117
|
+
}>;
|
|
118
|
+
export type ArkErrorCode = {
|
|
119
|
+
[kind in NodeKind]: errorContext<kind> extends null ? never : kind;
|
|
120
|
+
}[NodeKind];
|
|
121
|
+
type ArkErrorContextInputsByCode = {
|
|
122
|
+
[code in ArkErrorCode]: errorContext<code> & DerivableErrorContextInput<code>;
|
|
123
|
+
};
|
|
124
|
+
export type ArkErrorContextInput<code extends ArkErrorCode = ArkErrorCode> = merge<ArkErrorContextInputsByCode[code], {
|
|
125
|
+
meta?: ArkEnv.meta;
|
|
126
|
+
}>;
|
|
127
|
+
export type NodeErrorContextInput<code extends ArkErrorCode = ArkErrorCode> = ArkErrorContextInputsByCode[code] & {
|
|
128
|
+
meta: ArkEnv.meta;
|
|
129
|
+
};
|
|
130
|
+
export type MessageContext<code extends ArkErrorCode = ArkErrorCode> = Omit<ArkError<code>, "message">;
|
|
131
|
+
export type ProblemContext<code extends ArkErrorCode = ArkErrorCode> = Omit<MessageContext<code>, "problem">;
|
|
132
|
+
export type CustomErrorInput = show<{
|
|
133
|
+
code?: undefined;
|
|
134
|
+
} & DerivableErrorContextInput>;
|
|
135
|
+
export type ArkErrorInput = string | ArkErrorContextInput | CustomErrorInput;
|
|
136
|
+
export type ProblemConfig<code extends ArkErrorCode = ArkErrorCode> = string | ProblemWriter<code>;
|
|
137
|
+
export type ProblemWriter<code extends ArkErrorCode = ArkErrorCode> = (context: ProblemContext<code>) => string;
|
|
138
|
+
export type MessageConfig<code extends ArkErrorCode = ArkErrorCode> = string | MessageWriter<code>;
|
|
139
|
+
export type MessageWriter<code extends ArkErrorCode = ArkErrorCode> = (context: MessageContext<code>) => string;
|
|
140
|
+
export type getAssociatedDataForError<code extends ArkErrorCode> = code extends NodeKind ? Prerequisite<code> : unknown;
|
|
141
|
+
export type ExpectedConfig<code extends ArkErrorCode = ArkErrorCode> = string | ExpectedWriter<code>;
|
|
142
|
+
export type ExpectedWriter<code extends ArkErrorCode = ArkErrorCode> = (source: errorContext<code>) => string;
|
|
143
|
+
export type ActualConfig<code extends ArkErrorCode = ArkErrorCode> = string | ActualWriter<code>;
|
|
144
|
+
export type ActualWriter<code extends ArkErrorCode = ArkErrorCode> = (data: getAssociatedDataForError<code>) => string;
|
|
145
|
+
export {};
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { CastableBase, ReadonlyArray, ReadonlyPath, append, conflatenateAll, defineProperties, flatMorph, stringifyPath } from "@ark/util";
|
|
2
|
+
import { arkKind } from "./utils.js";
|
|
3
|
+
export class ArkError extends CastableBase {
|
|
4
|
+
[arkKind] = "error";
|
|
5
|
+
path;
|
|
6
|
+
data;
|
|
7
|
+
nodeConfig;
|
|
8
|
+
input;
|
|
9
|
+
ctx;
|
|
10
|
+
// TS gets confused by <code>, so internally we just use the base type for input
|
|
11
|
+
constructor({ prefixPath, relativePath, ...input }, ctx) {
|
|
12
|
+
super();
|
|
13
|
+
this.input = input;
|
|
14
|
+
this.ctx = ctx;
|
|
15
|
+
defineProperties(this, input);
|
|
16
|
+
const data = ctx.data;
|
|
17
|
+
if (input.code === "union") {
|
|
18
|
+
input.errors = input.errors.flatMap(innerError => {
|
|
19
|
+
// flatten union errors to avoid repeating context like "foo must be foo must be"...
|
|
20
|
+
const flat = innerError.hasCode("union") ? innerError.errors : [innerError];
|
|
21
|
+
if (!prefixPath && !relativePath)
|
|
22
|
+
return flat;
|
|
23
|
+
return flat.map(e => e.transform(e => ({
|
|
24
|
+
...e,
|
|
25
|
+
path: conflatenateAll(prefixPath, e.path, relativePath)
|
|
26
|
+
})));
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
this.nodeConfig = ctx.config[this.code];
|
|
30
|
+
const basePath = [...(input.path ?? ctx.path)];
|
|
31
|
+
if (relativePath)
|
|
32
|
+
basePath.push(...relativePath);
|
|
33
|
+
if (prefixPath)
|
|
34
|
+
basePath.unshift(...prefixPath);
|
|
35
|
+
this.path = new ReadonlyPath(...basePath);
|
|
36
|
+
this.data = "data" in input ? input.data : data;
|
|
37
|
+
}
|
|
38
|
+
transform(f) {
|
|
39
|
+
return new ArkError(f({
|
|
40
|
+
data: this.data,
|
|
41
|
+
path: this.path,
|
|
42
|
+
...this.input
|
|
43
|
+
}), this.ctx);
|
|
44
|
+
}
|
|
45
|
+
hasCode(code) {
|
|
46
|
+
return this.code === code;
|
|
47
|
+
}
|
|
48
|
+
get propString() {
|
|
49
|
+
return stringifyPath(this.path);
|
|
50
|
+
}
|
|
51
|
+
get expected() {
|
|
52
|
+
if (this.input.expected)
|
|
53
|
+
return this.input.expected;
|
|
54
|
+
const config = this.meta?.expected ?? this.nodeConfig.expected;
|
|
55
|
+
return typeof config === "function" ? config(this.input) : config;
|
|
56
|
+
}
|
|
57
|
+
get actual() {
|
|
58
|
+
if (this.input.actual)
|
|
59
|
+
return this.input.actual;
|
|
60
|
+
const config = this.meta?.actual ?? this.nodeConfig.actual;
|
|
61
|
+
return typeof config === "function" ? config(this.data) : config;
|
|
62
|
+
}
|
|
63
|
+
get problem() {
|
|
64
|
+
if (this.input.problem)
|
|
65
|
+
return this.input.problem;
|
|
66
|
+
const config = this.meta?.problem ?? this.nodeConfig.problem;
|
|
67
|
+
return typeof config === "function" ? config(this) : config;
|
|
68
|
+
}
|
|
69
|
+
get message() {
|
|
70
|
+
if (this.input.message)
|
|
71
|
+
return this.input.message;
|
|
72
|
+
const config = this.meta?.message ?? this.nodeConfig.message;
|
|
73
|
+
return typeof config === "function" ? config(this) : config;
|
|
74
|
+
}
|
|
75
|
+
get flat() {
|
|
76
|
+
return this.hasCode("intersection") ? [...this.errors] : [this];
|
|
77
|
+
}
|
|
78
|
+
toJSON() {
|
|
79
|
+
return {
|
|
80
|
+
data: this.data,
|
|
81
|
+
path: this.path,
|
|
82
|
+
...this.input,
|
|
83
|
+
expected: this.expected,
|
|
84
|
+
actual: this.actual,
|
|
85
|
+
problem: this.problem,
|
|
86
|
+
message: this.message
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
toString() {
|
|
90
|
+
return this.message;
|
|
91
|
+
}
|
|
92
|
+
throw() {
|
|
93
|
+
throw this;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* A ReadonlyArray of `ArkError`s returned by a Type on invalid input.
|
|
98
|
+
*
|
|
99
|
+
* Subsequent errors added at an existing path are merged into an
|
|
100
|
+
* ArkError intersection.
|
|
101
|
+
*/
|
|
102
|
+
export class ArkErrors extends ReadonlyArray {
|
|
103
|
+
[arkKind] = "errors";
|
|
104
|
+
ctx;
|
|
105
|
+
constructor(ctx) {
|
|
106
|
+
super();
|
|
107
|
+
this.ctx = ctx;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Errors by a pathString representing their location.
|
|
111
|
+
*/
|
|
112
|
+
byPath = Object.create(null);
|
|
113
|
+
/**
|
|
114
|
+
* {@link byPath} flattened so that each value is an array of ArkError instances at that path.
|
|
115
|
+
*
|
|
116
|
+
* ✅ Since "intersection" errors will be flattened to their constituent `.errors`,
|
|
117
|
+
* they will never be directly present in this representation.
|
|
118
|
+
*/
|
|
119
|
+
get flatByPath() {
|
|
120
|
+
return flatMorph(this.byPath, (k, v) => [k, v.flat]);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* {@link byPath} flattened so that each value is an array of problem strings at that path.
|
|
124
|
+
*/
|
|
125
|
+
get flatProblemsByPath() {
|
|
126
|
+
return flatMorph(this.byPath, (k, v) => [k, v.flat.map(e => e.problem)]);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* All pathStrings at which errors are present mapped to the errors occuring
|
|
130
|
+
* at that path or any nested path within it.
|
|
131
|
+
*/
|
|
132
|
+
byAncestorPath = Object.create(null);
|
|
133
|
+
count = 0;
|
|
134
|
+
mutable = this;
|
|
135
|
+
/**
|
|
136
|
+
* Throw a TraversalError based on these errors.
|
|
137
|
+
*/
|
|
138
|
+
throw() {
|
|
139
|
+
throw this.toTraversalError();
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Converts ArkErrors to TraversalError, a subclass of `Error` suitable for throwing with nice
|
|
143
|
+
* formatting.
|
|
144
|
+
*/
|
|
145
|
+
toTraversalError() {
|
|
146
|
+
return new TraversalError(this);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Append an ArkError to this array, ignoring duplicates.
|
|
150
|
+
*/
|
|
151
|
+
add(error) {
|
|
152
|
+
const existing = this.byPath[error.propString];
|
|
153
|
+
if (existing) {
|
|
154
|
+
if (error === existing)
|
|
155
|
+
return;
|
|
156
|
+
// If the existing error is an error for a value constrained to "never",
|
|
157
|
+
// then we don't want to intersect the error messages.
|
|
158
|
+
if (existing.hasCode("union") && existing.errors.length === 0)
|
|
159
|
+
return;
|
|
160
|
+
// If the new error is an error for a value constrained to "never",
|
|
161
|
+
// then we want to override any existing errors.
|
|
162
|
+
const errorIntersection = error.hasCode("union") && error.errors.length === 0 ?
|
|
163
|
+
error
|
|
164
|
+
: new ArkError({
|
|
165
|
+
code: "intersection",
|
|
166
|
+
errors: existing.hasCode("intersection") ?
|
|
167
|
+
[...existing.errors, error]
|
|
168
|
+
: [existing, error]
|
|
169
|
+
}, this.ctx);
|
|
170
|
+
const existingIndex = this.indexOf(existing);
|
|
171
|
+
this.mutable[existingIndex === -1 ? this.length : existingIndex] =
|
|
172
|
+
errorIntersection;
|
|
173
|
+
this.byPath[error.propString] = errorIntersection;
|
|
174
|
+
// add the original error here rather than the intersection
|
|
175
|
+
// since the intersection is reflected by the array of errors at
|
|
176
|
+
// this path
|
|
177
|
+
this.addAncestorPaths(error);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
this.byPath[error.propString] = error;
|
|
181
|
+
this.addAncestorPaths(error);
|
|
182
|
+
this.mutable.push(error);
|
|
183
|
+
}
|
|
184
|
+
this.count++;
|
|
185
|
+
}
|
|
186
|
+
transform(f) {
|
|
187
|
+
const result = new ArkErrors(this.ctx);
|
|
188
|
+
for (const e of this)
|
|
189
|
+
result.add(f(e));
|
|
190
|
+
return result;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Add all errors from an ArkErrors instance, ignoring duplicates and
|
|
194
|
+
* prefixing their paths with that of the current Traversal.
|
|
195
|
+
*/
|
|
196
|
+
merge(errors) {
|
|
197
|
+
for (const e of errors) {
|
|
198
|
+
this.add(new ArkError({ ...e, path: [...this.ctx.path, ...e.path] }, this.ctx));
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* @internal
|
|
203
|
+
*/
|
|
204
|
+
affectsPath(path) {
|
|
205
|
+
if (this.length === 0)
|
|
206
|
+
return false;
|
|
207
|
+
return (
|
|
208
|
+
// this would occur if there is an existing error at a prefix of path
|
|
209
|
+
// e.g. the path is ["foo", "bar"] and there is an error at ["foo"]
|
|
210
|
+
path.stringifyAncestors().some(s => s in this.byPath) ||
|
|
211
|
+
// this would occur if there is an existing error at a suffix of path
|
|
212
|
+
// e.g. the path is ["foo"] and there is an error at ["foo", "bar"]
|
|
213
|
+
path.stringify() in this.byAncestorPath);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* A human-readable summary of all errors.
|
|
217
|
+
*/
|
|
218
|
+
get summary() {
|
|
219
|
+
return this.toString();
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Alias of this ArkErrors instance for StandardSchema compatibility.
|
|
223
|
+
*/
|
|
224
|
+
get issues() {
|
|
225
|
+
return this;
|
|
226
|
+
}
|
|
227
|
+
toJSON() {
|
|
228
|
+
return [...this.map(e => e.toJSON())];
|
|
229
|
+
}
|
|
230
|
+
toString() {
|
|
231
|
+
return this.join("\n");
|
|
232
|
+
}
|
|
233
|
+
addAncestorPaths(error) {
|
|
234
|
+
for (const propString of error.path.stringifyAncestors()) {
|
|
235
|
+
this.byAncestorPath[propString] = append(this.byAncestorPath[propString], error);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
export class TraversalError extends Error {
|
|
240
|
+
name = "TraversalError";
|
|
241
|
+
constructor(errors) {
|
|
242
|
+
if (errors.length === 1)
|
|
243
|
+
super(errors.summary);
|
|
244
|
+
else
|
|
245
|
+
super("\n" + errors.map(error => ` • ${indent(error)}`).join("\n"));
|
|
246
|
+
Object.defineProperty(this, "arkErrors", {
|
|
247
|
+
value: errors,
|
|
248
|
+
enumerable: false
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
const indent = (error) => error.toString().split("\n").join("\n ");
|