@sinclair/typebox 0.32.0-dev-16 → 0.32.0-dev-18
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/build/import/compiler/compiler.d.mts +9 -0
- package/build/import/compiler/compiler.mjs +60 -6
- package/build/import/errors/errors.d.mts +3 -0
- package/build/import/errors/errors.mjs +28 -3
- package/build/import/errors/function.d.mts +3 -0
- package/build/import/errors/function.mjs +4 -0
- package/build/import/index.mjs +9 -0
- package/build/import/system/policy.d.mts +10 -0
- package/build/import/system/policy.mjs +13 -0
- package/build/import/system/system.d.mts +3 -0
- package/build/import/system/system.mjs +9 -0
- package/build/import/type/any/any.d.mts +1 -0
- package/build/import/type/any/any.mjs +1 -0
- package/build/import/type/array/array.d.mts +7 -0
- package/build/import/type/array/array.mjs +1 -0
- package/build/import/type/async-iterator/async-iterator.d.mts +1 -0
- package/build/import/type/async-iterator/async-iterator.mjs +1 -0
- package/build/import/type/awaited/awaited.d.mts +7 -6
- package/build/import/type/awaited/awaited.mjs +23 -13
- package/build/import/type/bigint/bigint.d.mts +1 -0
- package/build/import/type/bigint/bigint.mjs +1 -0
- package/build/import/type/boolean/boolean.d.mts +1 -0
- package/build/import/type/boolean/boolean.mjs +1 -0
- package/build/import/type/clone/type.d.mts +2 -0
- package/build/import/type/clone/type.mjs +2 -0
- package/build/import/type/clone/value.d.mts +1 -0
- package/build/import/type/clone/value.mjs +2 -0
- package/build/import/type/composite/composite.d.mts +1 -0
- package/build/import/type/composite/composite.mjs +1 -0
- package/build/import/type/const/const.d.mts +2 -1
- package/build/import/type/const/const.mjs +5 -1
- package/build/import/type/constructor/constructor.d.mts +1 -0
- package/build/import/type/constructor/constructor.mjs +1 -0
- package/build/import/type/constructor-parameters/constructor-parameters.d.mts +1 -0
- package/build/import/type/constructor-parameters/constructor-parameters.mjs +1 -0
- package/build/import/type/date/date.d.mts +6 -0
- package/build/import/type/date/date.mjs +1 -0
- package/build/import/type/deref/deref.d.mts +1 -0
- package/build/import/type/deref/deref.mjs +18 -0
- package/build/import/type/enum/enum.d.mts +1 -0
- package/build/import/type/enum/enum.mjs +1 -0
- package/build/import/type/exclude/exclude-from-mapped-result.mjs +3 -0
- package/build/import/type/exclude/exclude.d.mts +2 -0
- package/build/import/type/exclude/exclude.mjs +3 -0
- package/build/import/type/extends/extends-check.mjs +173 -1
- package/build/import/type/extends/extends-from-mapped-key.mjs +4 -0
- package/build/import/type/extends/extends-from-mapped-result.mjs +3 -0
- package/build/import/type/extends/extends-undefined.d.mts +1 -0
- package/build/import/type/extends/extends-undefined.mjs +3 -0
- package/build/import/type/extends/extends.d.mts +3 -0
- package/build/import/type/extends/extends.mjs +7 -0
- package/build/import/type/extract/extract-from-mapped-result.mjs +3 -0
- package/build/import/type/extract/extract.d.mts +2 -0
- package/build/import/type/extract/extract.mjs +3 -0
- package/build/import/type/function/function.d.mts +1 -0
- package/build/import/type/function/function.mjs +1 -0
- package/build/import/type/guard/type.d.mts +46 -0
- package/build/import/type/guard/type.mjs +84 -1
- package/build/import/type/guard/value.d.mts +14 -0
- package/build/import/type/guard/value.mjs +14 -0
- package/build/import/type/helpers/helpers.d.mts +1 -0
- package/build/import/type/helpers/helpers.mjs +1 -0
- package/build/import/type/indexed/index.d.mts +0 -1
- package/build/import/type/indexed/index.mjs +0 -1
- package/build/import/type/indexed/indexed-from-mapped-key.d.mts +2 -2
- package/build/import/type/indexed/indexed-from-mapped-key.mjs +10 -3
- package/build/import/type/indexed/indexed-property-keys.d.mts +1 -0
- package/build/import/type/indexed/indexed-property-keys.mjs +9 -0
- package/build/import/type/indexed/indexed.d.mts +40 -4
- package/build/import/type/indexed/indexed.mjs +84 -5
- package/build/import/type/instance-type/instance-type.d.mts +1 -0
- package/build/import/type/instance-type/instance-type.mjs +1 -0
- package/build/import/type/integer/integer.d.mts +1 -0
- package/build/import/type/integer/integer.mjs +1 -0
- package/build/import/type/intersect/intersect-create.mjs +8 -0
- package/build/import/type/intersect/intersect-evaluated.d.mts +1 -0
- package/build/import/type/intersect/intersect-evaluated.mjs +9 -0
- package/build/import/type/intersect/intersect.d.mts +1 -0
- package/build/import/type/intersect/intersect.mjs +5 -0
- package/build/import/type/intrinsic/capitalize.d.mts +1 -0
- package/build/import/type/intrinsic/capitalize.mjs +1 -0
- package/build/import/type/intrinsic/intrinsic-from-mapped-key.mjs +4 -0
- package/build/import/type/intrinsic/intrinsic.d.mts +2 -0
- package/build/import/type/intrinsic/intrinsic.mjs +16 -1
- package/build/import/type/intrinsic/lowercase.d.mts +1 -0
- package/build/import/type/intrinsic/lowercase.mjs +1 -0
- package/build/import/type/intrinsic/uncapitalize.d.mts +1 -0
- package/build/import/type/intrinsic/uncapitalize.mjs +1 -0
- package/build/import/type/intrinsic/uppercase.d.mts +1 -0
- package/build/import/type/intrinsic/uppercase.mjs +1 -0
- package/build/import/type/iterator/iterator.d.mts +1 -0
- package/build/import/type/iterator/iterator.mjs +1 -0
- package/build/import/type/keyof/keyof-from-mapped-result.mjs +3 -0
- package/build/import/type/keyof/keyof-property-keys.d.mts +2 -0
- package/build/import/type/keyof/keyof-property-keys.mjs +20 -0
- package/build/import/type/keyof/keyof.d.mts +2 -0
- package/build/import/type/keyof/keyof.mjs +6 -0
- package/build/import/type/literal/literal.d.mts +1 -0
- package/build/import/type/literal/literal.mjs +1 -0
- package/build/import/type/mapped/mapped-key.mjs +1 -0
- package/build/import/type/mapped/mapped-result.mjs +1 -0
- package/build/import/type/mapped/mapped.d.mts +2 -0
- package/build/import/type/mapped/mapped.mjs +19 -1
- package/build/import/type/modifiers/modifiers.mjs +10 -0
- package/build/import/type/never/never.d.mts +1 -0
- package/build/import/type/never/never.mjs +1 -0
- package/build/import/type/not/not.d.mts +1 -0
- package/build/import/type/not/not.mjs +1 -0
- package/build/import/type/null/null.d.mts +1 -0
- package/build/import/type/null/null.mjs +1 -0
- package/build/import/type/number/number.d.mts +1 -0
- package/build/import/type/number/number.mjs +1 -0
- package/build/import/type/object/object.d.mts +5 -0
- package/build/import/type/object/object.mjs +6 -0
- package/build/import/type/omit/omit-from-mapped-key.mjs +4 -0
- package/build/import/type/omit/omit.d.mts +3 -0
- package/build/import/type/omit/omit.mjs +12 -0
- package/build/import/type/operators/operators.d.mts +8 -0
- package/build/import/type/operators/operators.mjs +15 -0
- package/build/import/type/optional/optional.d.mts +1 -0
- package/build/import/type/optional/optional.mjs +1 -0
- package/build/import/type/parameters/parameters.d.mts +1 -0
- package/build/import/type/parameters/parameters.mjs +1 -0
- package/build/import/type/partial/partial-from-mapped-result.mjs +3 -0
- package/build/import/type/partial/partial.d.mts +2 -0
- package/build/import/type/partial/partial.mjs +9 -0
- package/build/import/type/pick/pick-from-mapped-key.mjs +4 -0
- package/build/import/type/pick/pick.d.mts +3 -0
- package/build/import/type/pick/pick.mjs +7 -0
- package/build/import/type/promise/promise.d.mts +1 -0
- package/build/import/type/promise/promise.mjs +1 -0
- package/build/import/type/readonly/readonly.d.mts +1 -0
- package/build/import/type/readonly/readonly.mjs +1 -0
- package/build/import/type/readonly-optional/readonly-optional.d.mts +1 -0
- package/build/import/type/readonly-optional/readonly-optional.mjs +1 -0
- package/build/import/type/record/record.d.mts +11 -9
- package/build/import/type/record/record.mjs +53 -28
- package/build/import/type/recursive/recursive.d.mts +1 -0
- package/build/import/type/recursive/recursive.mjs +3 -0
- package/build/import/type/ref/ref.d.mts +2 -0
- package/build/import/type/ref/ref.mjs +1 -0
- package/build/import/type/regexp/regexp.d.mts +2 -0
- package/build/import/type/regexp/regexp.mjs +1 -0
- package/build/import/type/registry/format.d.mts +6 -0
- package/build/import/type/registry/format.mjs +7 -0
- package/build/import/type/registry/type.d.mts +6 -0
- package/build/import/type/registry/type.mjs +7 -0
- package/build/import/type/required/required-from-mapped-result.mjs +3 -0
- package/build/import/type/required/required.d.mts +2 -0
- package/build/import/type/required/required.mjs +9 -0
- package/build/import/type/rest/rest.d.mts +1 -0
- package/build/import/type/rest/rest.mjs +5 -0
- package/build/import/type/return-type/return-type.d.mts +1 -0
- package/build/import/type/return-type/return-type.mjs +1 -0
- package/build/import/type/schema/schema.d.mts +7 -0
- package/build/import/type/static/static.d.mts +3 -0
- package/build/import/type/strict/strict.d.mts +1 -0
- package/build/import/type/strict/strict.mjs +1 -0
- package/build/import/type/string/string.d.mts +7 -0
- package/build/import/type/string/string.mjs +1 -0
- package/build/import/type/symbol/symbol.d.mts +1 -0
- package/build/import/type/symbol/symbol.mjs +1 -0
- package/build/import/type/symbols/symbols.d.mts +5 -0
- package/build/import/type/symbols/symbols.mjs +5 -0
- package/build/import/type/template-literal/finite.mjs +10 -0
- package/build/import/type/template-literal/generate.mjs +10 -0
- package/build/import/type/template-literal/parser.d.mts +2 -0
- package/build/import/type/template-literal/parser.mjs +17 -0
- package/build/import/type/template-literal/pattern.mjs +11 -0
- package/build/import/type/template-literal/syntax.d.mts +1 -0
- package/build/import/type/template-literal/syntax.mjs +8 -0
- package/build/import/type/template-literal/template-literal.d.mts +2 -0
- package/build/import/type/template-literal/template-literal.mjs +2 -0
- package/build/import/type/template-literal/union.d.mts +1 -0
- package/build/import/type/template-literal/union.mjs +4 -0
- package/build/import/type/transform/transform.d.mts +1 -0
- package/build/import/type/transform/transform.mjs +9 -0
- package/build/import/type/tuple/tuple.d.mts +1 -0
- package/build/import/type/tuple/tuple.mjs +3 -0
- package/build/import/type/type/index.d.mts +1 -0
- package/build/import/type/type/index.mjs +7 -0
- package/build/import/type/type/javascript.d.mts +19 -0
- package/build/import/type/type/javascript.mjs +18 -0
- package/build/import/type/type/json.d.mts +64 -3
- package/build/import/type/type/json.mjs +55 -1
- package/build/import/type/type/type.mjs +3 -0
- package/build/import/type/uint8array/uint8array.d.mts +1 -0
- package/build/import/type/uint8array/uint8array.mjs +1 -0
- package/build/import/type/undefined/undefined.d.mts +1 -0
- package/build/import/type/undefined/undefined.mjs +1 -0
- package/build/import/type/union/union-evaluated.d.mts +1 -0
- package/build/import/type/union/union-evaluated.mjs +10 -0
- package/build/import/type/union/union.d.mts +1 -0
- package/build/import/type/union/union.mjs +2 -0
- package/build/import/type/unknown/unknown.d.mts +1 -0
- package/build/import/type/unknown/unknown.mjs +1 -0
- package/build/import/type/unsafe/unsafe.d.mts +1 -0
- package/build/import/type/unsafe/unsafe.mjs +1 -0
- package/build/import/type/void/void.d.mts +1 -0
- package/build/import/type/void/void.mjs +1 -0
- package/build/import/value/cast/cast.d.mts +2 -0
- package/build/import/value/cast/cast.mjs +28 -0
- package/build/import/value/check/check.d.mts +2 -0
- package/build/import/value/check/check.mjs +19 -1
- package/build/import/value/clean/clean.d.mts +2 -0
- package/build/import/value/clean/clean.mjs +12 -1
- package/build/import/value/clone/clone.d.mts +1 -0
- package/build/import/value/clone/clone.mjs +7 -0
- package/build/import/value/convert/convert.d.mts +2 -0
- package/build/import/value/convert/convert.mjs +30 -1
- package/build/import/value/create/create.d.mts +2 -0
- package/build/import/value/create/create.mjs +17 -0
- package/build/import/value/default/default.d.mts +2 -0
- package/build/import/value/default/default.mjs +19 -0
- package/build/import/value/delta/delta.mjs +15 -0
- package/build/import/value/deref/deref.d.mts +1 -0
- package/build/import/value/deref/deref.mjs +1 -0
- package/build/import/value/equal/equal.d.mts +1 -0
- package/build/import/value/equal/equal.mjs +7 -0
- package/build/import/value/guard/guard.d.mts +20 -0
- package/build/import/value/guard/guard.mjs +30 -0
- package/build/import/value/hash/hash.d.mts +1 -0
- package/build/import/value/hash/hash.mjs +19 -0
- package/build/import/value/index.mjs +12 -0
- package/build/import/value/mutate/mutate.d.mts +1 -0
- package/build/import/value/mutate/mutate.mjs +11 -0
- package/build/import/value/pointer/pointer.d.mts +5 -0
- package/build/import/value/pointer/pointer.mjs +18 -0
- package/build/import/value/transform/decode.d.mts +5 -0
- package/build/import/value/transform/decode.mjs +23 -0
- package/build/import/value/transform/encode.d.mts +6 -0
- package/build/import/value/transform/encode.mjs +25 -0
- package/build/import/value/transform/has.d.mts +1 -0
- package/build/import/value/transform/has.mjs +16 -0
- package/build/import/value/value/value.d.mts +24 -0
- package/build/import/value/value/value.mjs +15 -0
- package/build/require/compiler/compiler.d.ts +9 -0
- package/build/require/compiler/compiler.js +61 -6
- package/build/require/compiler/index.js +1 -0
- package/build/require/errors/errors.d.ts +3 -0
- package/build/require/errors/errors.js +29 -3
- package/build/require/errors/function.d.ts +3 -0
- package/build/require/errors/function.js +5 -0
- package/build/require/errors/index.js +1 -0
- package/build/require/index.js +10 -0
- package/build/require/system/index.js +1 -0
- package/build/require/system/policy.d.ts +10 -0
- package/build/require/system/policy.js +14 -0
- package/build/require/system/system.d.ts +3 -0
- package/build/require/system/system.js +10 -0
- package/build/require/type/any/any.d.ts +1 -0
- package/build/require/type/any/any.js +2 -0
- package/build/require/type/any/index.js +1 -0
- package/build/require/type/array/array.d.ts +7 -0
- package/build/require/type/array/array.js +2 -0
- package/build/require/type/array/index.js +1 -0
- package/build/require/type/async-iterator/async-iterator.d.ts +1 -0
- package/build/require/type/async-iterator/async-iterator.js +2 -0
- package/build/require/type/async-iterator/index.js +1 -0
- package/build/require/type/awaited/awaited.d.ts +7 -6
- package/build/require/type/awaited/awaited.js +25 -15
- package/build/require/type/awaited/index.js +1 -0
- package/build/require/type/bigint/bigint.d.ts +1 -0
- package/build/require/type/bigint/bigint.js +2 -0
- package/build/require/type/bigint/index.js +1 -0
- package/build/require/type/boolean/boolean.d.ts +1 -0
- package/build/require/type/boolean/boolean.js +2 -0
- package/build/require/type/boolean/index.js +1 -0
- package/build/require/type/clone/index.js +1 -0
- package/build/require/type/clone/type.d.ts +2 -0
- package/build/require/type/clone/type.js +3 -0
- package/build/require/type/clone/value.d.ts +1 -0
- package/build/require/type/clone/value.js +3 -0
- package/build/require/type/composite/composite.d.ts +1 -0
- package/build/require/type/composite/composite.js +2 -0
- package/build/require/type/composite/index.js +1 -0
- package/build/require/type/const/const.d.ts +2 -1
- package/build/require/type/const/const.js +6 -1
- package/build/require/type/const/index.js +1 -0
- package/build/require/type/constructor/constructor.d.ts +1 -0
- package/build/require/type/constructor/constructor.js +2 -0
- package/build/require/type/constructor/index.js +1 -0
- package/build/require/type/constructor-parameters/constructor-parameters.d.ts +1 -0
- package/build/require/type/constructor-parameters/constructor-parameters.js +2 -0
- package/build/require/type/constructor-parameters/index.js +1 -0
- package/build/require/type/date/date.d.ts +6 -0
- package/build/require/type/date/date.js +2 -0
- package/build/require/type/date/index.js +1 -0
- package/build/require/type/deref/deref.d.ts +1 -0
- package/build/require/type/deref/deref.js +19 -0
- package/build/require/type/deref/index.js +1 -0
- package/build/require/type/discard/discard.js +1 -0
- package/build/require/type/discard/index.js +1 -0
- package/build/require/type/enum/enum.d.ts +1 -0
- package/build/require/type/enum/enum.js +2 -0
- package/build/require/type/enum/index.js +1 -0
- package/build/require/type/exclude/exclude-from-mapped-result.js +4 -0
- package/build/require/type/exclude/exclude.d.ts +2 -0
- package/build/require/type/exclude/exclude.js +4 -0
- package/build/require/type/exclude/index.js +1 -0
- package/build/require/type/extends/extends-check.js +174 -1
- package/build/require/type/extends/extends-from-mapped-key.js +5 -0
- package/build/require/type/extends/extends-from-mapped-result.js +4 -0
- package/build/require/type/extends/extends-undefined.d.ts +1 -0
- package/build/require/type/extends/extends-undefined.js +4 -0
- package/build/require/type/extends/extends.d.ts +3 -0
- package/build/require/type/extends/extends.js +8 -0
- package/build/require/type/extends/index.js +1 -0
- package/build/require/type/extract/extract-from-mapped-result.js +4 -0
- package/build/require/type/extract/extract.d.ts +2 -0
- package/build/require/type/extract/extract.js +4 -0
- package/build/require/type/extract/index.js +1 -0
- package/build/require/type/function/function.d.ts +1 -0
- package/build/require/type/function/function.js +2 -0
- package/build/require/type/function/index.js +1 -0
- package/build/require/type/guard/index.js +1 -0
- package/build/require/type/guard/type.d.ts +46 -0
- package/build/require/type/guard/type.js +85 -1
- package/build/require/type/guard/value.d.ts +14 -0
- package/build/require/type/guard/value.js +15 -0
- package/build/require/type/helpers/helpers.d.ts +1 -0
- package/build/require/type/helpers/helpers.js +2 -0
- package/build/require/type/helpers/index.js +1 -0
- package/build/require/type/index.js +1 -0
- package/build/require/type/indexed/index.d.ts +0 -1
- package/build/require/type/indexed/index.js +1 -1
- package/build/require/type/indexed/indexed-from-mapped-key.d.ts +2 -2
- package/build/require/type/indexed/indexed-from-mapped-key.js +11 -3
- package/build/require/type/indexed/indexed-property-keys.d.ts +1 -0
- package/build/require/type/indexed/indexed-property-keys.js +10 -0
- package/build/require/type/indexed/indexed.d.ts +40 -4
- package/build/require/type/indexed/indexed.js +84 -4
- package/build/require/type/instance-type/index.js +1 -0
- package/build/require/type/instance-type/instance-type.d.ts +1 -0
- package/build/require/type/instance-type/instance-type.js +2 -0
- package/build/require/type/integer/index.js +1 -0
- package/build/require/type/integer/integer.d.ts +1 -0
- package/build/require/type/integer/integer.js +2 -0
- package/build/require/type/intersect/index.js +1 -0
- package/build/require/type/intersect/intersect-create.js +9 -0
- package/build/require/type/intersect/intersect-evaluated.d.ts +1 -0
- package/build/require/type/intersect/intersect-evaluated.js +10 -0
- package/build/require/type/intersect/intersect-type.js +1 -0
- package/build/require/type/intersect/intersect.d.ts +1 -0
- package/build/require/type/intersect/intersect.js +6 -0
- package/build/require/type/intrinsic/capitalize.d.ts +1 -0
- package/build/require/type/intrinsic/capitalize.js +2 -0
- package/build/require/type/intrinsic/index.js +1 -0
- package/build/require/type/intrinsic/intrinsic-from-mapped-key.js +5 -0
- package/build/require/type/intrinsic/intrinsic.d.ts +2 -0
- package/build/require/type/intrinsic/intrinsic.js +17 -1
- package/build/require/type/intrinsic/lowercase.d.ts +1 -0
- package/build/require/type/intrinsic/lowercase.js +2 -0
- package/build/require/type/intrinsic/uncapitalize.d.ts +1 -0
- package/build/require/type/intrinsic/uncapitalize.js +2 -0
- package/build/require/type/intrinsic/uppercase.d.ts +1 -0
- package/build/require/type/intrinsic/uppercase.js +2 -0
- package/build/require/type/iterator/index.js +1 -0
- package/build/require/type/iterator/iterator.d.ts +1 -0
- package/build/require/type/iterator/iterator.js +2 -0
- package/build/require/type/keyof/index.js +1 -0
- package/build/require/type/keyof/keyof-from-mapped-result.js +4 -0
- package/build/require/type/keyof/keyof-property-keys.d.ts +2 -0
- package/build/require/type/keyof/keyof-property-keys.js +21 -0
- package/build/require/type/keyof/keyof.d.ts +2 -0
- package/build/require/type/keyof/keyof.js +7 -0
- package/build/require/type/literal/index.js +1 -0
- package/build/require/type/literal/literal.d.ts +1 -0
- package/build/require/type/literal/literal.js +2 -0
- package/build/require/type/mapped/index.js +1 -0
- package/build/require/type/mapped/mapped-key.js +2 -0
- package/build/require/type/mapped/mapped-result.js +2 -0
- package/build/require/type/mapped/mapped.d.ts +2 -0
- package/build/require/type/mapped/mapped.js +20 -1
- package/build/require/type/modifiers/index.js +1 -0
- package/build/require/type/modifiers/modifiers.js +11 -0
- package/build/require/type/never/index.js +1 -0
- package/build/require/type/never/never.d.ts +1 -0
- package/build/require/type/never/never.js +2 -0
- package/build/require/type/not/index.js +1 -0
- package/build/require/type/not/not.d.ts +1 -0
- package/build/require/type/not/not.js +2 -0
- package/build/require/type/null/index.js +1 -0
- package/build/require/type/null/null.d.ts +1 -0
- package/build/require/type/null/null.js +2 -0
- package/build/require/type/number/index.js +1 -0
- package/build/require/type/number/number.d.ts +1 -0
- package/build/require/type/number/number.js +2 -0
- package/build/require/type/object/index.js +1 -0
- package/build/require/type/object/object.d.ts +5 -0
- package/build/require/type/object/object.js +7 -0
- package/build/require/type/omit/index.js +1 -0
- package/build/require/type/omit/omit-from-mapped-key.js +5 -0
- package/build/require/type/omit/omit.d.ts +3 -0
- package/build/require/type/omit/omit.js +13 -0
- package/build/require/type/operators/index.js +1 -0
- package/build/require/type/operators/operators.d.ts +8 -0
- package/build/require/type/operators/operators.js +16 -0
- package/build/require/type/optional/index.js +1 -0
- package/build/require/type/optional/optional.d.ts +1 -0
- package/build/require/type/optional/optional.js +2 -0
- package/build/require/type/parameters/index.js +1 -0
- package/build/require/type/parameters/parameters.d.ts +1 -0
- package/build/require/type/parameters/parameters.js +2 -0
- package/build/require/type/partial/index.js +1 -0
- package/build/require/type/partial/partial-from-mapped-result.js +4 -0
- package/build/require/type/partial/partial.d.ts +2 -0
- package/build/require/type/partial/partial.js +10 -0
- package/build/require/type/patterns/index.js +1 -0
- package/build/require/type/patterns/patterns.js +1 -0
- package/build/require/type/pick/index.js +1 -0
- package/build/require/type/pick/pick-from-mapped-key.js +5 -0
- package/build/require/type/pick/pick.d.ts +3 -0
- package/build/require/type/pick/pick.js +8 -0
- package/build/require/type/promise/index.js +1 -0
- package/build/require/type/promise/promise.d.ts +1 -0
- package/build/require/type/promise/promise.js +2 -0
- package/build/require/type/readonly/index.js +1 -0
- package/build/require/type/readonly/readonly.d.ts +1 -0
- package/build/require/type/readonly/readonly.js +2 -0
- package/build/require/type/readonly-optional/index.js +1 -0
- package/build/require/type/readonly-optional/readonly-optional.d.ts +1 -0
- package/build/require/type/readonly-optional/readonly-optional.js +2 -0
- package/build/require/type/record/index.js +1 -0
- package/build/require/type/record/record.d.ts +11 -9
- package/build/require/type/record/record.js +54 -28
- package/build/require/type/recursive/index.js +1 -0
- package/build/require/type/recursive/recursive.d.ts +1 -0
- package/build/require/type/recursive/recursive.js +4 -0
- package/build/require/type/ref/index.js +1 -0
- package/build/require/type/ref/ref.d.ts +2 -0
- package/build/require/type/ref/ref.js +2 -0
- package/build/require/type/regexp/index.js +1 -0
- package/build/require/type/regexp/regexp.d.ts +2 -0
- package/build/require/type/regexp/regexp.js +2 -0
- package/build/require/type/registry/format.d.ts +6 -0
- package/build/require/type/registry/format.js +8 -0
- package/build/require/type/registry/index.js +1 -0
- package/build/require/type/registry/type.d.ts +6 -0
- package/build/require/type/registry/type.js +8 -0
- package/build/require/type/required/index.js +1 -0
- package/build/require/type/required/required-from-mapped-result.js +4 -0
- package/build/require/type/required/required.d.ts +2 -0
- package/build/require/type/required/required.js +10 -0
- package/build/require/type/rest/index.js +1 -0
- package/build/require/type/rest/rest.d.ts +1 -0
- package/build/require/type/rest/rest.js +6 -0
- package/build/require/type/return-type/index.js +1 -0
- package/build/require/type/return-type/return-type.d.ts +1 -0
- package/build/require/type/return-type/return-type.js +2 -0
- package/build/require/type/schema/anyschema.js +1 -0
- package/build/require/type/schema/index.js +1 -0
- package/build/require/type/schema/schema.d.ts +7 -0
- package/build/require/type/schema/schema.js +1 -0
- package/build/require/type/static/index.js +1 -0
- package/build/require/type/static/static.d.ts +3 -0
- package/build/require/type/static/static.js +1 -0
- package/build/require/type/strict/index.js +1 -0
- package/build/require/type/strict/strict.d.ts +1 -0
- package/build/require/type/strict/strict.js +2 -0
- package/build/require/type/string/index.js +1 -0
- package/build/require/type/string/string.d.ts +7 -0
- package/build/require/type/string/string.js +2 -0
- package/build/require/type/symbol/index.js +1 -0
- package/build/require/type/symbol/symbol.d.ts +1 -0
- package/build/require/type/symbol/symbol.js +2 -0
- package/build/require/type/symbols/index.js +1 -0
- package/build/require/type/symbols/symbols.d.ts +5 -0
- package/build/require/type/symbols/symbols.js +6 -0
- package/build/require/type/template-literal/finite.js +11 -0
- package/build/require/type/template-literal/generate.js +11 -0
- package/build/require/type/template-literal/index.js +1 -0
- package/build/require/type/template-literal/parser.d.ts +2 -0
- package/build/require/type/template-literal/parser.js +18 -0
- package/build/require/type/template-literal/pattern.js +12 -0
- package/build/require/type/template-literal/syntax.d.ts +1 -0
- package/build/require/type/template-literal/syntax.js +9 -0
- package/build/require/type/template-literal/template-literal.d.ts +2 -0
- package/build/require/type/template-literal/template-literal.js +3 -0
- package/build/require/type/template-literal/union.d.ts +1 -0
- package/build/require/type/template-literal/union.js +5 -0
- package/build/require/type/transform/index.js +1 -0
- package/build/require/type/transform/transform.d.ts +1 -0
- package/build/require/type/transform/transform.js +10 -0
- package/build/require/type/tuple/index.js +1 -0
- package/build/require/type/tuple/tuple.d.ts +1 -0
- package/build/require/type/tuple/tuple.js +4 -0
- package/build/require/type/type/index.d.ts +1 -0
- package/build/require/type/type/index.js +8 -0
- package/build/require/type/type/javascript.d.ts +19 -0
- package/build/require/type/type/javascript.js +19 -0
- package/build/require/type/type/json.d.ts +64 -3
- package/build/require/type/type/json.js +56 -1
- package/build/require/type/type/type.js +4 -0
- package/build/require/type/uint8array/index.js +1 -0
- package/build/require/type/uint8array/uint8array.d.ts +1 -0
- package/build/require/type/uint8array/uint8array.js +2 -0
- package/build/require/type/undefined/index.js +1 -0
- package/build/require/type/undefined/undefined.d.ts +1 -0
- package/build/require/type/undefined/undefined.js +2 -0
- package/build/require/type/union/index.js +1 -0
- package/build/require/type/union/union-create.js +1 -0
- package/build/require/type/union/union-evaluated.d.ts +1 -0
- package/build/require/type/union/union-evaluated.js +11 -0
- package/build/require/type/union/union-type.js +1 -0
- package/build/require/type/union/union.d.ts +1 -0
- package/build/require/type/union/union.js +3 -0
- package/build/require/type/unknown/index.js +1 -0
- package/build/require/type/unknown/unknown.d.ts +1 -0
- package/build/require/type/unknown/unknown.js +2 -0
- package/build/require/type/unsafe/index.js +1 -0
- package/build/require/type/unsafe/unsafe.d.ts +1 -0
- package/build/require/type/unsafe/unsafe.js +2 -0
- package/build/require/type/void/index.js +1 -0
- package/build/require/type/void/void.d.ts +1 -0
- package/build/require/type/void/void.js +2 -0
- package/build/require/value/cast/cast.d.ts +2 -0
- package/build/require/value/cast/cast.js +29 -0
- package/build/require/value/cast/index.js +1 -0
- package/build/require/value/check/check.d.ts +2 -0
- package/build/require/value/check/check.js +20 -1
- package/build/require/value/check/index.js +1 -0
- package/build/require/value/clean/clean.d.ts +2 -0
- package/build/require/value/clean/clean.js +13 -1
- package/build/require/value/clean/index.js +1 -0
- package/build/require/value/clone/clone.d.ts +1 -0
- package/build/require/value/clone/clone.js +8 -0
- package/build/require/value/clone/index.js +1 -0
- package/build/require/value/convert/convert.d.ts +2 -0
- package/build/require/value/convert/convert.js +31 -1
- package/build/require/value/convert/index.js +1 -0
- package/build/require/value/create/create.d.ts +2 -0
- package/build/require/value/create/create.js +18 -0
- package/build/require/value/create/index.js +1 -0
- package/build/require/value/default/default.d.ts +2 -0
- package/build/require/value/default/default.js +20 -0
- package/build/require/value/default/index.js +1 -0
- package/build/require/value/delta/delta.js +16 -0
- package/build/require/value/delta/index.js +1 -0
- package/build/require/value/deref/deref.d.ts +1 -0
- package/build/require/value/deref/deref.js +2 -0
- package/build/require/value/deref/index.js +1 -0
- package/build/require/value/equal/equal.d.ts +1 -0
- package/build/require/value/equal/equal.js +8 -0
- package/build/require/value/equal/index.js +1 -0
- package/build/require/value/guard/guard.d.ts +20 -0
- package/build/require/value/guard/guard.js +31 -0
- package/build/require/value/guard/index.js +1 -0
- package/build/require/value/hash/hash.d.ts +1 -0
- package/build/require/value/hash/hash.js +20 -0
- package/build/require/value/hash/index.js +1 -0
- package/build/require/value/index.js +13 -0
- package/build/require/value/mutate/index.js +1 -0
- package/build/require/value/mutate/mutate.d.ts +1 -0
- package/build/require/value/mutate/mutate.js +12 -0
- package/build/require/value/pointer/index.js +1 -0
- package/build/require/value/pointer/pointer.d.ts +5 -0
- package/build/require/value/pointer/pointer.js +19 -0
- package/build/require/value/transform/decode.d.ts +5 -0
- package/build/require/value/transform/decode.js +24 -0
- package/build/require/value/transform/encode.d.ts +6 -0
- package/build/require/value/transform/encode.js +26 -0
- package/build/require/value/transform/has.d.ts +1 -0
- package/build/require/value/transform/has.js +17 -0
- package/build/require/value/transform/index.js +1 -0
- package/build/require/value/value/index.js +1 -0
- package/build/require/value/value/value.d.ts +24 -0
- package/build/require/value/value/value.js +16 -0
- package/license +3 -1
- package/package.json +1 -1
- package/readme.md +4 -5
- package/build/import/type/indexed/indexed-result.d.mts +0 -33
- package/build/import/type/indexed/indexed-result.mjs +0 -65
- package/build/require/type/indexed/indexed-result.d.ts +0 -33
- package/build/require/type/indexed/indexed-result.js +0 -69
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.TypeCompiler = exports.Policy = exports.TypeCompilerTypeGuardError = exports.TypeCompilerUnknownTypeError = exports.TypeCheck = void 0;
|
|
4
5
|
const index_1 = require("../value/transform/index");
|
|
@@ -13,6 +14,9 @@ const index_8 = require("../type/registry/index");
|
|
|
13
14
|
const index_9 = require("../type/keyof/index");
|
|
14
15
|
const extends_undefined_1 = require("../type/extends/extends-undefined");
|
|
15
16
|
const index_10 = require("../type/never/index");
|
|
17
|
+
// ------------------------------------------------------------------
|
|
18
|
+
// TypeCheck
|
|
19
|
+
// ------------------------------------------------------------------
|
|
16
20
|
class TypeCheck {
|
|
17
21
|
constructor(schema, references, checkFunc, code) {
|
|
18
22
|
this.schema = schema;
|
|
@@ -21,20 +25,25 @@ class TypeCheck {
|
|
|
21
25
|
this.code = code;
|
|
22
26
|
this.hasTransform = (0, index_1.HasTransform)(schema, references);
|
|
23
27
|
}
|
|
28
|
+
/** Returns the generated assertion code used to validate this type. */
|
|
24
29
|
Code() {
|
|
25
30
|
return this.code;
|
|
26
31
|
}
|
|
32
|
+
/** Returns an iterator for each error in this value. */
|
|
27
33
|
Errors(value) {
|
|
28
34
|
return (0, index_3.Errors)(this.schema, this.references, value);
|
|
29
35
|
}
|
|
36
|
+
/** Returns true if the value matches the compiled type. */
|
|
30
37
|
Check(value) {
|
|
31
38
|
return this.checkFunc(value);
|
|
32
39
|
}
|
|
40
|
+
/** Decodes a value or throws if error */
|
|
33
41
|
Decode(value) {
|
|
34
42
|
if (!this.checkFunc(value))
|
|
35
43
|
throw new index_1.TransformDecodeCheckError(this.schema, value, this.Errors(value).First());
|
|
36
44
|
return this.hasTransform ? (0, index_1.TransformDecode)(this.schema, this.references, value) : value;
|
|
37
45
|
}
|
|
46
|
+
/** Encodes a value or throws if error */
|
|
38
47
|
Encode(value) {
|
|
39
48
|
const encoded = this.hasTransform ? (0, index_1.TransformEncode)(this.schema, this.references, value) : value;
|
|
40
49
|
if (!this.checkFunc(encoded))
|
|
@@ -43,6 +52,9 @@ class TypeCheck {
|
|
|
43
52
|
}
|
|
44
53
|
}
|
|
45
54
|
exports.TypeCheck = TypeCheck;
|
|
55
|
+
// ------------------------------------------------------------------
|
|
56
|
+
// Character
|
|
57
|
+
// ------------------------------------------------------------------
|
|
46
58
|
var Character;
|
|
47
59
|
(function (Character) {
|
|
48
60
|
function DollarSign(code) {
|
|
@@ -62,6 +74,9 @@ var Character;
|
|
|
62
74
|
}
|
|
63
75
|
Character.IsNumeric = IsNumeric;
|
|
64
76
|
})(Character || (Character = {}));
|
|
77
|
+
// ------------------------------------------------------------------
|
|
78
|
+
// MemberExpression
|
|
79
|
+
// ------------------------------------------------------------------
|
|
65
80
|
var MemberExpression;
|
|
66
81
|
(function (MemberExpression) {
|
|
67
82
|
function IsFirstCharacterNumeric(value) {
|
|
@@ -88,6 +103,9 @@ var MemberExpression;
|
|
|
88
103
|
}
|
|
89
104
|
MemberExpression.Encode = Encode;
|
|
90
105
|
})(MemberExpression || (MemberExpression = {}));
|
|
106
|
+
// ------------------------------------------------------------------
|
|
107
|
+
// Identifier
|
|
108
|
+
// ------------------------------------------------------------------
|
|
91
109
|
var Identifier;
|
|
92
110
|
(function (Identifier) {
|
|
93
111
|
function Encode($id) {
|
|
@@ -105,6 +123,9 @@ var Identifier;
|
|
|
105
123
|
}
|
|
106
124
|
Identifier.Encode = Encode;
|
|
107
125
|
})(Identifier || (Identifier = {}));
|
|
126
|
+
// ------------------------------------------------------------------
|
|
127
|
+
// LiteralString
|
|
128
|
+
// ------------------------------------------------------------------
|
|
108
129
|
var LiteralString;
|
|
109
130
|
(function (LiteralString) {
|
|
110
131
|
function Escape(content) {
|
|
@@ -112,6 +133,9 @@ var LiteralString;
|
|
|
112
133
|
}
|
|
113
134
|
LiteralString.Escape = Escape;
|
|
114
135
|
})(LiteralString || (LiteralString = {}));
|
|
136
|
+
// ------------------------------------------------------------------
|
|
137
|
+
// Errors
|
|
138
|
+
// ------------------------------------------------------------------
|
|
115
139
|
class TypeCompilerUnknownTypeError extends Error {
|
|
116
140
|
constructor(schema) {
|
|
117
141
|
super('Unknown type');
|
|
@@ -126,6 +150,9 @@ class TypeCompilerTypeGuardError extends Error {
|
|
|
126
150
|
}
|
|
127
151
|
}
|
|
128
152
|
exports.TypeCompilerTypeGuardError = TypeCompilerTypeGuardError;
|
|
153
|
+
// ------------------------------------------------------------------
|
|
154
|
+
// Policy
|
|
155
|
+
// ------------------------------------------------------------------
|
|
129
156
|
var Policy;
|
|
130
157
|
(function (Policy) {
|
|
131
158
|
function IsExactOptionalProperty(value, key, expression) {
|
|
@@ -151,11 +178,18 @@ var Policy;
|
|
|
151
178
|
}
|
|
152
179
|
Policy.IsVoidLike = IsVoidLike;
|
|
153
180
|
})(Policy || (exports.Policy = Policy = {}));
|
|
181
|
+
/** Compiles Types for Runtime Type Checking */
|
|
154
182
|
var TypeCompiler;
|
|
155
183
|
(function (TypeCompiler) {
|
|
184
|
+
// ----------------------------------------------------------------
|
|
185
|
+
// Guards
|
|
186
|
+
// ----------------------------------------------------------------
|
|
156
187
|
function IsAnyOrUnknown(schema) {
|
|
157
188
|
return schema[index_7.Kind] === 'Any' || schema[index_7.Kind] === 'Unknown';
|
|
158
189
|
}
|
|
190
|
+
// ----------------------------------------------------------------
|
|
191
|
+
// Types
|
|
192
|
+
// ----------------------------------------------------------------
|
|
159
193
|
function* TAny(schema, references, value) {
|
|
160
194
|
yield 'true';
|
|
161
195
|
}
|
|
@@ -337,6 +371,8 @@ var TypeCompiler;
|
|
|
337
371
|
}
|
|
338
372
|
function* TRef(schema, references, value) {
|
|
339
373
|
const target = (0, index_5.Deref)(schema, references);
|
|
374
|
+
// Reference: If we have seen this reference before we can just yield and return the function call.
|
|
375
|
+
// If this isn't the case we defer to visit to generate and set the function for subsequent passes.
|
|
340
376
|
if (state.functions.has(schema.$ref))
|
|
341
377
|
return yield `${CreateFunctionName(schema.$ref)}(${value})`;
|
|
342
378
|
yield* Visit(target, references, value);
|
|
@@ -364,6 +400,7 @@ var TypeCompiler;
|
|
|
364
400
|
yield `${variable}.test(${value})`;
|
|
365
401
|
}
|
|
366
402
|
function* TThis(schema, references, value) {
|
|
403
|
+
// Note: This types are assured to be hoisted prior to this call. Just yield the function.
|
|
367
404
|
yield `${CreateFunctionName(schema.$ref)}(${value})`;
|
|
368
405
|
}
|
|
369
406
|
function* TTuple(schema, references, value) {
|
|
@@ -404,6 +441,9 @@ var TypeCompiler;
|
|
|
404
441
|
function* Visit(schema, references, value, useHoisting = true) {
|
|
405
442
|
const references_ = (0, index_2.IsString)(schema.$id) ? [...references, schema] : references;
|
|
406
443
|
const schema_ = schema;
|
|
444
|
+
// --------------------------------------------------------------
|
|
445
|
+
// Hoisting
|
|
446
|
+
// --------------------------------------------------------------
|
|
407
447
|
if (useHoisting && (0, index_2.IsString)(schema.$id)) {
|
|
408
448
|
const functionName = CreateFunctionName(schema.$id);
|
|
409
449
|
if (state.functions.has(functionName)) {
|
|
@@ -482,12 +522,19 @@ var TypeCompiler;
|
|
|
482
522
|
return yield* TKind(schema_, references_, value);
|
|
483
523
|
}
|
|
484
524
|
}
|
|
525
|
+
// ----------------------------------------------------------------
|
|
526
|
+
// Compiler State
|
|
527
|
+
// ----------------------------------------------------------------
|
|
528
|
+
// prettier-ignore
|
|
485
529
|
const state = {
|
|
486
|
-
language: 'javascript',
|
|
487
|
-
functions: new Map(),
|
|
488
|
-
variables: new Map(),
|
|
489
|
-
instances: new Map()
|
|
530
|
+
language: 'javascript', // target language
|
|
531
|
+
functions: new Map(), // local functions
|
|
532
|
+
variables: new Map(), // local variables
|
|
533
|
+
instances: new Map() // exterior kind instances
|
|
490
534
|
};
|
|
535
|
+
// ----------------------------------------------------------------
|
|
536
|
+
// Compiler Factory
|
|
537
|
+
// ----------------------------------------------------------------
|
|
491
538
|
function CreateExpression(schema, references, value, useHoisting = true) {
|
|
492
539
|
return `(${[...Visit(schema, references, value, useHoisting)].join(' && ')})`;
|
|
493
540
|
}
|
|
@@ -513,24 +560,31 @@ var TypeCompiler;
|
|
|
513
560
|
function CreateReturns(type) {
|
|
514
561
|
return state.language === 'typescript' ? `: ${type}` : '';
|
|
515
562
|
}
|
|
563
|
+
// ----------------------------------------------------------------
|
|
564
|
+
// Compile
|
|
565
|
+
// ----------------------------------------------------------------
|
|
516
566
|
function Build(schema, references, options) {
|
|
517
|
-
const functionCode = CreateFunction('check', schema, references, 'value');
|
|
567
|
+
const functionCode = CreateFunction('check', schema, references, 'value'); // will populate functions and variables
|
|
518
568
|
const parameter = CreateParameter('value', 'any');
|
|
519
569
|
const returns = CreateReturns('boolean');
|
|
520
570
|
const functions = [...state.functions.values()];
|
|
521
571
|
const variables = [...state.variables.values()];
|
|
522
|
-
|
|
572
|
+
// prettier-ignore
|
|
573
|
+
const checkFunction = (0, index_2.IsString)(schema.$id) // ensure top level schemas with $id's are hoisted
|
|
523
574
|
? `return function check(${parameter})${returns} {\n return ${CreateFunctionName(schema.$id)}(value)\n}`
|
|
524
575
|
: `return ${functionCode}`;
|
|
525
576
|
return [...variables, ...functions, checkFunction].join('\n');
|
|
526
577
|
}
|
|
578
|
+
/** Generates the code used to assert this type and returns it as a string */
|
|
527
579
|
function Code(...args) {
|
|
528
580
|
const defaults = { language: 'javascript' };
|
|
581
|
+
// prettier-ignore
|
|
529
582
|
const [schema, references, options] = (args.length === 2 && (0, index_2.IsArray)(args[1]) ? [args[0], args[1], defaults] :
|
|
530
583
|
args.length === 2 && !(0, index_2.IsArray)(args[1]) ? [args[0], [], args[1]] :
|
|
531
584
|
args.length === 3 ? [args[0], args[1], args[2]] :
|
|
532
585
|
args.length === 1 ? [args[0], [], defaults] :
|
|
533
586
|
[null, [], defaults]);
|
|
587
|
+
// compiler-reset
|
|
534
588
|
state.language = options.language;
|
|
535
589
|
state.variables.clear();
|
|
536
590
|
state.functions.clear();
|
|
@@ -543,6 +597,7 @@ var TypeCompiler;
|
|
|
543
597
|
return Build(schema, references, options);
|
|
544
598
|
}
|
|
545
599
|
TypeCompiler.Code = Code;
|
|
600
|
+
/** Compiles a TypeBox type for optimal runtime type checking. Types must be valid TypeBox types of TSchema */
|
|
546
601
|
function Compile(schema, references = []) {
|
|
547
602
|
const generatedCode = Code(schema, references, { language: 'javascript' });
|
|
548
603
|
const compiledFunction = globalThis.Function('kind', 'format', 'hash', generatedCode);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.TypeCompilerUnknownTypeError = exports.TypeCompilerTypeGuardError = exports.TypeCheck = exports.TypeCompiler = exports.ValueErrorIterator = exports.ValueErrorType = void 0;
|
|
4
5
|
var index_1 = require("../errors/index");
|
|
@@ -79,7 +79,10 @@ export declare class ValueErrorIterator {
|
|
|
79
79
|
private readonly iterator;
|
|
80
80
|
constructor(iterator: IterableIterator<ValueError>);
|
|
81
81
|
[Symbol.iterator](): IterableIterator<ValueError>;
|
|
82
|
+
/** Returns the first value error or undefined if no errors */
|
|
82
83
|
First(): ValueError | undefined;
|
|
83
84
|
}
|
|
85
|
+
/** Returns an iterator for each error in this value. */
|
|
84
86
|
export declare function Errors<T extends TSchema>(schema: T, references: TSchema[], value: unknown): ValueErrorIterator;
|
|
87
|
+
/** Returns an iterator for each error in this value. */
|
|
85
88
|
export declare function Errors<T extends TSchema>(schema: T, value: unknown): ValueErrorIterator;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Errors = exports.ValueErrorIterator = exports.ValueErrorsUnknownTypeError = exports.ValueErrorType = void 0;
|
|
4
5
|
const index_1 = require("../value/guard/index");
|
|
@@ -11,6 +12,9 @@ const index_5 = require("../value/deref/index");
|
|
|
11
12
|
const index_6 = require("../value/hash/index");
|
|
12
13
|
const index_7 = require("../type/symbols/index");
|
|
13
14
|
const index_8 = require("../type/never/index");
|
|
15
|
+
// --------------------------------------------------------------------------
|
|
16
|
+
// ValueErrorType
|
|
17
|
+
// --------------------------------------------------------------------------
|
|
14
18
|
var ValueErrorType;
|
|
15
19
|
(function (ValueErrorType) {
|
|
16
20
|
ValueErrorType[ValueErrorType["ArrayContains"] = 0] = "ArrayContains";
|
|
@@ -77,6 +81,9 @@ var ValueErrorType;
|
|
|
77
81
|
ValueErrorType[ValueErrorType["Union"] = 61] = "Union";
|
|
78
82
|
ValueErrorType[ValueErrorType["Void"] = 62] = "Void";
|
|
79
83
|
})(ValueErrorType || (exports.ValueErrorType = ValueErrorType = {}));
|
|
84
|
+
// --------------------------------------------------------------------------
|
|
85
|
+
// ValueErrors
|
|
86
|
+
// --------------------------------------------------------------------------
|
|
80
87
|
class ValueErrorsUnknownTypeError extends Error {
|
|
81
88
|
constructor(schema) {
|
|
82
89
|
super('Unknown type');
|
|
@@ -84,12 +91,21 @@ class ValueErrorsUnknownTypeError extends Error {
|
|
|
84
91
|
}
|
|
85
92
|
}
|
|
86
93
|
exports.ValueErrorsUnknownTypeError = ValueErrorsUnknownTypeError;
|
|
94
|
+
// --------------------------------------------------------------------------
|
|
95
|
+
// EscapeKey
|
|
96
|
+
// --------------------------------------------------------------------------
|
|
87
97
|
function EscapeKey(key) {
|
|
88
|
-
return key.replace(/~/g, '~0').replace(/\//g, '~1');
|
|
98
|
+
return key.replace(/~/g, '~0').replace(/\//g, '~1'); // RFC6901 Path
|
|
89
99
|
}
|
|
100
|
+
// --------------------------------------------------------------------------
|
|
101
|
+
// Guards
|
|
102
|
+
// --------------------------------------------------------------------------
|
|
90
103
|
function IsDefined(value) {
|
|
91
104
|
return value !== undefined;
|
|
92
105
|
}
|
|
106
|
+
// --------------------------------------------------------------------------
|
|
107
|
+
// ValueErrorIterator
|
|
108
|
+
// --------------------------------------------------------------------------
|
|
93
109
|
class ValueErrorIterator {
|
|
94
110
|
constructor(iterator) {
|
|
95
111
|
this.iterator = iterator;
|
|
@@ -97,15 +113,22 @@ class ValueErrorIterator {
|
|
|
97
113
|
[Symbol.iterator]() {
|
|
98
114
|
return this.iterator;
|
|
99
115
|
}
|
|
116
|
+
/** Returns the first value error or undefined if no errors */
|
|
100
117
|
First() {
|
|
101
118
|
const next = this.iterator.next();
|
|
102
119
|
return next.done ? undefined : next.value;
|
|
103
120
|
}
|
|
104
121
|
}
|
|
105
122
|
exports.ValueErrorIterator = ValueErrorIterator;
|
|
123
|
+
// --------------------------------------------------------------------------
|
|
124
|
+
// Create
|
|
125
|
+
// --------------------------------------------------------------------------
|
|
106
126
|
function Create(type, schema, path, value) {
|
|
107
127
|
return { type, schema, path, value, message: (0, function_1.GetErrorFunction)()(schema, type) };
|
|
108
128
|
}
|
|
129
|
+
// --------------------------------------------------------------------------
|
|
130
|
+
// Types
|
|
131
|
+
// --------------------------------------------------------------------------
|
|
109
132
|
function* TAny(schema, references, path, value) { }
|
|
110
133
|
function* TArray(schema, references, path, value) {
|
|
111
134
|
if (!(0, index_1.IsArray)(value)) {
|
|
@@ -120,6 +143,7 @@ function* TArray(schema, references, path, value) {
|
|
|
120
143
|
for (let i = 0; i < value.length; i++) {
|
|
121
144
|
yield* Visit(schema.items, references, `${path}/${i}`, value[i]);
|
|
122
145
|
}
|
|
146
|
+
// prettier-ignore
|
|
123
147
|
if (schema.uniqueItems === true && !((function () { const set = new Set(); for (const element of value) {
|
|
124
148
|
const hashed = (0, index_6.Hash)(element);
|
|
125
149
|
if (set.has(hashed)) {
|
|
@@ -131,6 +155,7 @@ function* TArray(schema, references, path, value) {
|
|
|
131
155
|
} return true; })())) {
|
|
132
156
|
yield Create(ValueErrorType.ArrayUniqueItems, schema, path, value);
|
|
133
157
|
}
|
|
158
|
+
// contains
|
|
134
159
|
if (!(IsDefined(schema.contains) || IsDefined(schema.minContains) || IsDefined(schema.maxContains))) {
|
|
135
160
|
return;
|
|
136
161
|
}
|
|
@@ -240,7 +265,7 @@ function* TIntersect(schema, references, path, value) {
|
|
|
240
265
|
if (!keyCheck.test(valueKey)) {
|
|
241
266
|
const next = Visit(schema.unevaluatedProperties, references, `${path}/${valueKey}`, value[valueKey]).next();
|
|
242
267
|
if (!next.done)
|
|
243
|
-
yield next.value;
|
|
268
|
+
yield next.value; // yield interior
|
|
244
269
|
}
|
|
245
270
|
}
|
|
246
271
|
}
|
|
@@ -432,7 +457,7 @@ function* TUnion(schema, references, path, value) {
|
|
|
432
457
|
for (const subschema of schema.anyOf) {
|
|
433
458
|
const errors = [...Visit(subschema, references, path, value)];
|
|
434
459
|
if (errors.length === 0)
|
|
435
|
-
return;
|
|
460
|
+
return; // matched
|
|
436
461
|
count += errors.length;
|
|
437
462
|
}
|
|
438
463
|
if (count > 0) {
|
|
@@ -529,6 +554,7 @@ function* Visit(schema, references, path, value) {
|
|
|
529
554
|
return yield* TKind(schema_, references_, path, value);
|
|
530
555
|
}
|
|
531
556
|
}
|
|
557
|
+
/** Returns an iterator for each error in this value. */
|
|
532
558
|
function Errors(...args) {
|
|
533
559
|
const iterator = args.length === 3 ? Visit(args[0], args[1], '', args[2]) : Visit(args[0], [], '', args[1]);
|
|
534
560
|
return new ValueErrorIterator(iterator);
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { TSchema } from '../type/schema/index';
|
|
2
2
|
import { ValueErrorType } from './errors';
|
|
3
|
+
/** Creates an error message using en-US as the default locale */
|
|
3
4
|
export declare function DefaultErrorFunction(schema: TSchema, errorType: ValueErrorType): string;
|
|
4
5
|
export type ErrorFunction = (schema: TSchema, type: ValueErrorType) => string;
|
|
6
|
+
/** Sets the error function used to generate error messages */
|
|
5
7
|
export declare function SetErrorFunction(callback: ErrorFunction): void;
|
|
8
|
+
/** Gets the error function used to generate error messages */
|
|
6
9
|
export declare function GetErrorFunction(): ErrorFunction;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.GetErrorFunction = exports.SetErrorFunction = exports.DefaultErrorFunction = void 0;
|
|
4
5
|
const index_1 = require("../type/symbols/index");
|
|
5
6
|
const errors_1 = require("./errors");
|
|
7
|
+
/** Creates an error message using en-US as the default locale */
|
|
6
8
|
function DefaultErrorFunction(schema, errorType) {
|
|
7
9
|
switch (errorType) {
|
|
8
10
|
case errors_1.ValueErrorType.ArrayContains:
|
|
@@ -136,11 +138,14 @@ function DefaultErrorFunction(schema, errorType) {
|
|
|
136
138
|
}
|
|
137
139
|
}
|
|
138
140
|
exports.DefaultErrorFunction = DefaultErrorFunction;
|
|
141
|
+
/** Manages error message providers */
|
|
139
142
|
let errorFunction = DefaultErrorFunction;
|
|
143
|
+
/** Sets the error function used to generate error messages */
|
|
140
144
|
function SetErrorFunction(callback) {
|
|
141
145
|
errorFunction = callback;
|
|
142
146
|
}
|
|
143
147
|
exports.SetErrorFunction = SetErrorFunction;
|
|
148
|
+
/** Gets the error function used to generate error messages */
|
|
144
149
|
function GetErrorFunction() {
|
|
145
150
|
return errorFunction;
|
|
146
151
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.SetErrorFunction = exports.GetErrorFunction = exports.DefaultErrorFunction = exports.ValueErrorsUnknownTypeError = exports.ValueErrorType = exports.ValueErrorIterator = exports.Errors = void 0;
|
|
4
5
|
var errors_1 = require("./errors");
|
package/build/require/index.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Lowercase = exports.Capitalize = exports.IntrinsicFromMappedKey = exports.Intrinsic = exports.Iterator = exports.IntersectEvaluated = exports.Intersect = exports.Integer = exports.InstanceType = exports.IndexFromMappedKey = exports.IndexPropertyKeys = exports.Index = exports.Increment = exports.Function = exports.Extract = exports.ExtendsUndefinedCheck = exports.ExtendsResult = exports.ExtendsCheck = exports.Extends = exports.Exclude = exports.Enum = exports.Deref = exports.Date = exports.ConstructorParameters = exports.Constructor = exports.Const = exports.Composite = exports.Boolean = exports.BigInt = exports.Awaited = exports.AsyncIterator = exports.Array = exports.Any = exports.CloneRest = exports.CloneType = exports.ValueGuard = exports.TypeGuard = exports.FormatRegistry = exports.TypeRegistry = exports.PatternStringExact = exports.PatternString = exports.PatternNumberExact = exports.PatternNumber = exports.PatternBooleanExact = exports.PatternBoolean = exports.TransformKind = exports.OptionalKind = exports.ReadonlyKind = exports.Hint = exports.Kind = void 0;
|
|
4
5
|
exports.Type = exports.Void = exports.Unsafe = exports.Unknown = exports.UnionEvaluated = exports.Union = exports.Undefined = exports.Uint8Array = exports.Tuple = exports.TransformEncodeBuilder = exports.TransformDecodeBuilder = exports.Transform = exports.TemplateLiteralGenerate = exports.TemplateLiteralParseExact = exports.TemplateLiteralParse = exports.IsTemplateLiteralFinite = exports.TemplateLiteral = exports.Symbol = exports.String = exports.Strict = exports.ReturnType = exports.Rest = exports.Required = exports.RegExp = exports.Ref = exports.Recursive = exports.Record = exports.ReadonlyOptional = exports.Readonly = exports.Promise = exports.Pick = exports.PartialFromMappedResult = exports.Partial = exports.Parameters = exports.Optional = exports.Omit = exports.Object = exports.Number = exports.Null = exports.Not = exports.Never = exports.MappedResult = exports.MappedKey = exports.Mapped = exports.Literal = exports.KeyOfPattern = exports.KeyOfPropertyKeys = exports.KeyOf = exports.Uppercase = exports.Uncapitalize = void 0;
|
|
5
6
|
exports.JavaScriptTypeBuilder = exports.JsonTypeBuilder = void 0;
|
|
7
|
+
// ------------------------------------------------------------------
|
|
8
|
+
// Infrastructure
|
|
9
|
+
// ------------------------------------------------------------------
|
|
6
10
|
var index_1 = require("./type/symbols/index");
|
|
7
11
|
Object.defineProperty(exports, "Kind", { enumerable: true, get: function () { return index_1.Kind; } });
|
|
8
12
|
Object.defineProperty(exports, "Hint", { enumerable: true, get: function () { return index_1.Hint; } });
|
|
@@ -25,6 +29,9 @@ Object.defineProperty(exports, "ValueGuard", { enumerable: true, get: function (
|
|
|
25
29
|
var type_1 = require("./type/clone/type");
|
|
26
30
|
Object.defineProperty(exports, "CloneType", { enumerable: true, get: function () { return type_1.CloneType; } });
|
|
27
31
|
Object.defineProperty(exports, "CloneRest", { enumerable: true, get: function () { return type_1.CloneRest; } });
|
|
32
|
+
// ------------------------------------------------------------------
|
|
33
|
+
// Type
|
|
34
|
+
// ------------------------------------------------------------------
|
|
28
35
|
var index_5 = require("./type/any/index");
|
|
29
36
|
Object.defineProperty(exports, "Any", { enumerable: true, get: function () { return index_5.Any; } });
|
|
30
37
|
var index_6 = require("./type/array/index");
|
|
@@ -166,6 +173,9 @@ var index_62 = require("./type/unsafe/index");
|
|
|
166
173
|
Object.defineProperty(exports, "Unsafe", { enumerable: true, get: function () { return index_62.Unsafe; } });
|
|
167
174
|
var index_63 = require("./type/void/index");
|
|
168
175
|
Object.defineProperty(exports, "Void", { enumerable: true, get: function () { return index_63.Void; } });
|
|
176
|
+
// ------------------------------------------------------------------
|
|
177
|
+
// Namespace
|
|
178
|
+
// ------------------------------------------------------------------
|
|
169
179
|
var index_64 = require("./type/type/index");
|
|
170
180
|
Object.defineProperty(exports, "Type", { enumerable: true, get: function () { return index_64.Type; } });
|
|
171
181
|
Object.defineProperty(exports, "JsonTypeBuilder", { enumerable: true, get: function () { return index_64.JsonTypeBuilder; } });
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
export declare namespace TypeSystemPolicy {
|
|
2
|
+
/** Shared assertion routines used by the value and errors modules */
|
|
3
|
+
/** Sets whether TypeBox should assert optional properties using the TypeScript `exactOptionalPropertyTypes` assertion policy. The default is `false` */
|
|
2
4
|
let ExactOptionalPropertyTypes: boolean;
|
|
5
|
+
/** Sets whether arrays should be treated as a kind of objects. The default is `false` */
|
|
3
6
|
let AllowArrayObject: boolean;
|
|
7
|
+
/** Sets whether `NaN` or `Infinity` should be treated as valid numeric values. The default is `false` */
|
|
4
8
|
let AllowNaN: boolean;
|
|
9
|
+
/** Sets whether `null` should validate for void types. The default is `false` */
|
|
5
10
|
let AllowNullVoid: boolean;
|
|
11
|
+
/** Asserts this value using the ExactOptionalPropertyTypes policy */
|
|
6
12
|
function IsExactOptionalProperty(value: Record<keyof any, unknown>, key: string): boolean;
|
|
13
|
+
/** Asserts this value using the AllowArrayObjects policy */
|
|
7
14
|
function IsObjectLike(value: unknown): value is Record<keyof any, unknown>;
|
|
15
|
+
/** Asserts this value as a record using the AllowArrayObjects policy */
|
|
8
16
|
function IsRecordLike(value: unknown): value is Record<keyof any, unknown>;
|
|
17
|
+
/** Asserts this value using the AllowNaN policy */
|
|
9
18
|
function IsNumberLike(value: unknown): value is number;
|
|
19
|
+
/** Asserts this value using the AllowVoidNull policy */
|
|
10
20
|
function IsVoidLike(value: unknown): value is void;
|
|
11
21
|
}
|
|
@@ -1,31 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.TypeSystemPolicy = void 0;
|
|
4
5
|
const index_1 = require("../value/guard/index");
|
|
5
6
|
var TypeSystemPolicy;
|
|
6
7
|
(function (TypeSystemPolicy) {
|
|
8
|
+
// ------------------------------------------------------------------
|
|
9
|
+
// TypeSystemPolicy
|
|
10
|
+
// ------------------------------------------------------------------
|
|
11
|
+
/** Shared assertion routines used by the value and errors modules */
|
|
12
|
+
/** Sets whether TypeBox should assert optional properties using the TypeScript `exactOptionalPropertyTypes` assertion policy. The default is `false` */
|
|
7
13
|
TypeSystemPolicy.ExactOptionalPropertyTypes = false;
|
|
14
|
+
/** Sets whether arrays should be treated as a kind of objects. The default is `false` */
|
|
8
15
|
TypeSystemPolicy.AllowArrayObject = false;
|
|
16
|
+
/** Sets whether `NaN` or `Infinity` should be treated as valid numeric values. The default is `false` */
|
|
9
17
|
TypeSystemPolicy.AllowNaN = false;
|
|
18
|
+
/** Sets whether `null` should validate for void types. The default is `false` */
|
|
10
19
|
TypeSystemPolicy.AllowNullVoid = false;
|
|
20
|
+
/** Asserts this value using the ExactOptionalPropertyTypes policy */
|
|
11
21
|
function IsExactOptionalProperty(value, key) {
|
|
12
22
|
return TypeSystemPolicy.ExactOptionalPropertyTypes ? key in value : value[key] !== undefined;
|
|
13
23
|
}
|
|
14
24
|
TypeSystemPolicy.IsExactOptionalProperty = IsExactOptionalProperty;
|
|
25
|
+
/** Asserts this value using the AllowArrayObjects policy */
|
|
15
26
|
function IsObjectLike(value) {
|
|
16
27
|
const isObject = (0, index_1.IsObject)(value);
|
|
17
28
|
return TypeSystemPolicy.AllowArrayObject ? isObject : isObject && !(0, index_1.IsArray)(value);
|
|
18
29
|
}
|
|
19
30
|
TypeSystemPolicy.IsObjectLike = IsObjectLike;
|
|
31
|
+
/** Asserts this value as a record using the AllowArrayObjects policy */
|
|
20
32
|
function IsRecordLike(value) {
|
|
21
33
|
return IsObjectLike(value) && !(value instanceof Date) && !(value instanceof Uint8Array);
|
|
22
34
|
}
|
|
23
35
|
TypeSystemPolicy.IsRecordLike = IsRecordLike;
|
|
36
|
+
/** Asserts this value using the AllowNaN policy */
|
|
24
37
|
function IsNumberLike(value) {
|
|
25
38
|
const isNumber = (0, index_1.IsNumber)(value);
|
|
26
39
|
return TypeSystemPolicy.AllowNaN ? isNumber : isNumber && Number.isFinite(value);
|
|
27
40
|
}
|
|
28
41
|
TypeSystemPolicy.IsNumberLike = IsNumberLike;
|
|
42
|
+
/** Asserts this value using the AllowVoidNull policy */
|
|
29
43
|
function IsVoidLike(value) {
|
|
30
44
|
const isUndefined = (0, index_1.IsUndefined)(value);
|
|
31
45
|
return TypeSystemPolicy.AllowNullVoid ? isUndefined || value === null : isUndefined;
|
|
@@ -4,7 +4,10 @@ export declare class TypeSystemDuplicateTypeKind extends Error {
|
|
|
4
4
|
export declare class TypeSystemDuplicateFormat extends Error {
|
|
5
5
|
constructor(kind: string);
|
|
6
6
|
}
|
|
7
|
+
/** Creates user defined types and formats and provides overrides for value checking behaviours */
|
|
7
8
|
export declare namespace TypeSystem {
|
|
9
|
+
/** Creates a new type */
|
|
8
10
|
function Type<Type, Options = Record<PropertyKey, unknown>>(kind: string, check: (options: Options, value: unknown) => boolean): (options?: Partial<Options>) => import("../type/unsafe/unsafe").TUnsafe<Type>;
|
|
11
|
+
/** Creates a new string format */
|
|
9
12
|
function Format<F extends string>(format: F, check: (value: string) => boolean): F;
|
|
10
13
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.TypeSystem = exports.TypeSystemDuplicateFormat = exports.TypeSystemDuplicateTypeKind = void 0;
|
|
4
5
|
const index_1 = require("../type/registry/index");
|
|
5
6
|
const index_2 = require("../type/unsafe/index");
|
|
6
7
|
const index_3 = require("../type/symbols/index");
|
|
8
|
+
// ------------------------------------------------------------------
|
|
9
|
+
// Errors
|
|
10
|
+
// ------------------------------------------------------------------
|
|
7
11
|
class TypeSystemDuplicateTypeKind extends Error {
|
|
8
12
|
constructor(kind) {
|
|
9
13
|
super(`Duplicate type kind '${kind}' detected`);
|
|
@@ -16,8 +20,13 @@ class TypeSystemDuplicateFormat extends Error {
|
|
|
16
20
|
}
|
|
17
21
|
}
|
|
18
22
|
exports.TypeSystemDuplicateFormat = TypeSystemDuplicateFormat;
|
|
23
|
+
// ------------------------------------------------------------------
|
|
24
|
+
// TypeSystem
|
|
25
|
+
// ------------------------------------------------------------------
|
|
26
|
+
/** Creates user defined types and formats and provides overrides for value checking behaviours */
|
|
19
27
|
var TypeSystem;
|
|
20
28
|
(function (TypeSystem) {
|
|
29
|
+
/** Creates a new type */
|
|
21
30
|
function Type(kind, check) {
|
|
22
31
|
if (index_1.TypeRegistry.Has(kind))
|
|
23
32
|
throw new TypeSystemDuplicateTypeKind(kind);
|
|
@@ -25,6 +34,7 @@ var TypeSystem;
|
|
|
25
34
|
return (options = {}) => (0, index_2.Unsafe)({ ...options, [index_3.Kind]: kind });
|
|
26
35
|
}
|
|
27
36
|
TypeSystem.Type = Type;
|
|
37
|
+
/** Creates a new string format */
|
|
28
38
|
function Format(format, check) {
|
|
29
39
|
if (index_1.FormatRegistry.Has(format))
|
|
30
40
|
throw new TypeSystemDuplicateFormat(format);
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Any = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
6
|
+
/** `[Json]` Creates an Any type */
|
|
5
7
|
function Any(options = {}) {
|
|
6
8
|
return { ...options, [index_1.Kind]: 'Any' };
|
|
7
9
|
}
|
|
@@ -2,11 +2,17 @@ import type { TSchema, SchemaOptions } from '../schema/index';
|
|
|
2
2
|
import type { Static } from '../static/index';
|
|
3
3
|
import { Kind } from '../symbols/index';
|
|
4
4
|
export interface ArrayOptions extends SchemaOptions {
|
|
5
|
+
/** The minimum number of items in this array */
|
|
5
6
|
minItems?: number;
|
|
7
|
+
/** The maximum number of items in this array */
|
|
6
8
|
maxItems?: number;
|
|
9
|
+
/** Should this schema contain unique items */
|
|
7
10
|
uniqueItems?: boolean;
|
|
11
|
+
/** A schema for which some elements should match */
|
|
8
12
|
contains?: TSchema;
|
|
13
|
+
/** A minimum number of contains schema matches */
|
|
9
14
|
minContains?: number;
|
|
15
|
+
/** A maximum number of contains schema matches */
|
|
10
16
|
maxContains?: number;
|
|
11
17
|
}
|
|
12
18
|
export interface TArray<T extends TSchema = TSchema> extends TSchema, ArrayOptions {
|
|
@@ -15,4 +21,5 @@ export interface TArray<T extends TSchema = TSchema> extends TSchema, ArrayOptio
|
|
|
15
21
|
type: 'array';
|
|
16
22
|
items: T;
|
|
17
23
|
}
|
|
24
|
+
/** `[Json]` Creates an Array type */
|
|
18
25
|
export declare function Array<T extends TSchema>(schema: T, options?: ArrayOptions): TArray<T>;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Array = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
5
6
|
const type_1 = require("../clone/type");
|
|
7
|
+
/** `[Json]` Creates an Array type */
|
|
6
8
|
function Array(schema, options = {}) {
|
|
7
9
|
return {
|
|
8
10
|
...options,
|
|
@@ -7,4 +7,5 @@ export interface TAsyncIterator<T extends TSchema = TSchema> extends TSchema {
|
|
|
7
7
|
type: 'AsyncIterator';
|
|
8
8
|
items: T;
|
|
9
9
|
}
|
|
10
|
+
/** `[JavaScript]` Creates a AsyncIterator type */
|
|
10
11
|
export declare function AsyncIterator<T extends TSchema>(items: T, options?: SchemaOptions): TAsyncIterator<T>;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.AsyncIterator = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
5
6
|
const type_1 = require("../clone/type");
|
|
7
|
+
/** `[JavaScript]` Creates a AsyncIterator type */
|
|
6
8
|
function AsyncIterator(items, options = {}) {
|
|
7
9
|
return {
|
|
8
10
|
...options,
|