@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.JsonTypeBuilder = void 0;
|
|
4
5
|
const index_1 = require("../any/index");
|
|
@@ -42,136 +43,190 @@ const index_38 = require("../tuple/index");
|
|
|
42
43
|
const index_39 = require("../union/index");
|
|
43
44
|
const index_40 = require("../unknown/index");
|
|
44
45
|
const index_41 = require("../unsafe/index");
|
|
46
|
+
/** Json Type Builder with Static Resolution for TypeScript */
|
|
45
47
|
class JsonTypeBuilder {
|
|
48
|
+
// ------------------------------------------------------------------------
|
|
49
|
+
// Strict
|
|
50
|
+
// ------------------------------------------------------------------------
|
|
51
|
+
/** `[Json]` Omits compositing symbols from this schema */
|
|
46
52
|
Strict(schema) {
|
|
47
53
|
return (0, index_34.Strict)(schema);
|
|
48
54
|
}
|
|
55
|
+
// ------------------------------------------------------------------------
|
|
56
|
+
// Modifiers
|
|
57
|
+
// ------------------------------------------------------------------------
|
|
58
|
+
/** `[Json]` Creates a Readonly and Optional property */
|
|
49
59
|
ReadonlyOptional(schema) {
|
|
50
60
|
return (0, index_28.ReadonlyOptional)(schema);
|
|
51
61
|
}
|
|
62
|
+
/** `[Json]` Creates a Readonly property */
|
|
52
63
|
Readonly(schema) {
|
|
53
64
|
return (0, index_27.Readonly)(schema);
|
|
54
65
|
}
|
|
66
|
+
/** `[Json]` Creates an Optional property */
|
|
55
67
|
Optional(schema) {
|
|
56
68
|
return (0, index_24.Optional)(schema);
|
|
57
69
|
}
|
|
70
|
+
// ------------------------------------------------------------------------
|
|
71
|
+
// Types
|
|
72
|
+
// ------------------------------------------------------------------------
|
|
73
|
+
/** `[Json]` Creates an Any type */
|
|
58
74
|
Any(options = {}) {
|
|
59
75
|
return (0, index_1.Any)(options);
|
|
60
76
|
}
|
|
77
|
+
/** `[Json]` Creates an Array type */
|
|
61
78
|
Array(schema, options = {}) {
|
|
62
79
|
return (0, index_2.Array)(schema, options);
|
|
63
80
|
}
|
|
81
|
+
/** `[Json]` Creates a Boolean type */
|
|
64
82
|
Boolean(options = {}) {
|
|
65
83
|
return (0, index_3.Boolean)(options);
|
|
66
84
|
}
|
|
85
|
+
/** `[Json]` Intrinsic function to Capitalize LiteralString types */
|
|
67
86
|
Capitalize(schema, options = {}) {
|
|
68
87
|
return (0, index_14.Capitalize)(schema, options);
|
|
69
88
|
}
|
|
89
|
+
/** `[Json]` Creates a Composite object type */
|
|
70
90
|
Composite(objects, options) {
|
|
71
|
-
return (0, index_4.Composite)(objects, options);
|
|
91
|
+
return (0, index_4.Composite)(objects, options); // (error) TS 5.4.0-dev - review TComposite implementation
|
|
72
92
|
}
|
|
93
|
+
/** `[JavaScript]` Creates a readonly const type from the given value. */
|
|
73
94
|
Const(value, options = {}) {
|
|
74
95
|
return (0, index_5.Const)(value, options);
|
|
75
96
|
}
|
|
97
|
+
/** `[Json]` Creates a dereferenced type */
|
|
76
98
|
Deref(schema, references) {
|
|
77
99
|
return (0, index_6.Deref)(schema, references);
|
|
78
100
|
}
|
|
101
|
+
/** `[Json]` Creates a Enum type */
|
|
79
102
|
Enum(item, options = {}) {
|
|
80
103
|
return (0, index_7.Enum)(item, options);
|
|
81
104
|
}
|
|
105
|
+
/** `[Json]` Constructs a type by excluding from unionType all union members that are assignable to excludedMembers */
|
|
82
106
|
Exclude(unionType, excludedMembers, options = {}) {
|
|
83
107
|
return (0, index_8.Exclude)(unionType, excludedMembers, options);
|
|
84
108
|
}
|
|
109
|
+
/** `[Json]` Creates a Conditional type */
|
|
85
110
|
Extends(L, R, T, F, options = {}) {
|
|
86
111
|
return (0, index_9.Extends)(L, R, T, F, options);
|
|
87
112
|
}
|
|
113
|
+
/** `[Json]` Constructs a type by extracting from type all union members that are assignable to union */
|
|
88
114
|
Extract(type, union, options = {}) {
|
|
89
115
|
return (0, index_10.Extract)(type, union, options);
|
|
90
116
|
}
|
|
117
|
+
/** `[Json]` Returns an Indexed property type for the given keys */
|
|
91
118
|
Index(schema, unresolved, options = {}) {
|
|
92
119
|
return (0, index_11.Index)(schema, unresolved, options);
|
|
93
120
|
}
|
|
121
|
+
/** `[Json]` Creates an Integer type */
|
|
94
122
|
Integer(options = {}) {
|
|
95
123
|
return (0, index_12.Integer)(options);
|
|
96
124
|
}
|
|
125
|
+
/** `[Json]` Creates an Intersect type */
|
|
97
126
|
Intersect(T, options = {}) {
|
|
98
127
|
return (0, index_13.Intersect)(T, options);
|
|
99
128
|
}
|
|
129
|
+
/** `[Json]` Creates a KeyOf type */
|
|
100
130
|
KeyOf(schema, options = {}) {
|
|
101
131
|
return (0, index_15.KeyOf)(schema, options);
|
|
102
132
|
}
|
|
133
|
+
/** `[Json]` Creates a Literal type */
|
|
103
134
|
Literal(value, options = {}) {
|
|
104
135
|
return (0, index_16.Literal)(value, options);
|
|
105
136
|
}
|
|
137
|
+
/** `[Json]` Intrinsic function to Lowercase LiteralString types */
|
|
106
138
|
Lowercase(schema, options = {}) {
|
|
107
139
|
return (0, index_14.Lowercase)(schema, options);
|
|
108
140
|
}
|
|
141
|
+
/** `[Json]` Creates a Mapped object type */
|
|
109
142
|
Mapped(key, map, options = {}) {
|
|
110
143
|
return (0, index_17.Mapped)(key, map, options);
|
|
111
144
|
}
|
|
145
|
+
/** `[Json]` Creates a Never type */
|
|
112
146
|
Never(options = {}) {
|
|
113
147
|
return (0, index_18.Never)(options);
|
|
114
148
|
}
|
|
149
|
+
/** `[Json]` Creates a Not type */
|
|
115
150
|
Not(schema, options) {
|
|
116
151
|
return (0, index_19.Not)(schema, options);
|
|
117
152
|
}
|
|
153
|
+
/** `[Json]` Creates a Null type */
|
|
118
154
|
Null(options = {}) {
|
|
119
155
|
return (0, index_20.Null)(options);
|
|
120
156
|
}
|
|
157
|
+
/** `[Json]` Creates a Number type */
|
|
121
158
|
Number(options = {}) {
|
|
122
159
|
return (0, index_21.Number)(options);
|
|
123
160
|
}
|
|
161
|
+
/** `[Json]` Creates an Object type */
|
|
124
162
|
Object(properties, options = {}) {
|
|
125
163
|
return (0, index_22.Object)(properties, options);
|
|
126
164
|
}
|
|
165
|
+
/** `[Json]` Constructs a type whose keys are omitted from the given type */
|
|
127
166
|
Omit(schema, unresolved, options = {}) {
|
|
128
167
|
return (0, index_23.Omit)(schema, unresolved, options);
|
|
129
168
|
}
|
|
169
|
+
/** `[Json]` Constructs a type where all properties are optional */
|
|
130
170
|
Partial(schema, options = {}) {
|
|
131
171
|
return (0, index_25.Partial)(schema, options);
|
|
132
172
|
}
|
|
173
|
+
/** `[Json]` Constructs a type whose keys are picked from the given type */
|
|
133
174
|
Pick(schema, unresolved, options = {}) {
|
|
134
175
|
return (0, index_26.Pick)(schema, unresolved, options);
|
|
135
176
|
}
|
|
177
|
+
/** `[Json]` Creates a Record type */
|
|
136
178
|
Record(key, schema, options = {}) {
|
|
137
179
|
return (0, index_29.Record)(key, schema);
|
|
138
180
|
}
|
|
181
|
+
/** `[Json]` Creates a Recursive type */
|
|
139
182
|
Recursive(callback, options = {}) {
|
|
140
183
|
return (0, index_30.Recursive)(callback, options);
|
|
141
184
|
}
|
|
185
|
+
/** `[Json]` Creates a Ref type. */
|
|
142
186
|
Ref(unresolved, options = {}) {
|
|
143
187
|
return (0, index_31.Ref)(unresolved, options);
|
|
144
188
|
}
|
|
189
|
+
/** `[Json]` Constructs a type where all properties are required */
|
|
145
190
|
Required(schema, options = {}) {
|
|
146
191
|
return (0, index_32.Required)(schema, options);
|
|
147
192
|
}
|
|
193
|
+
/** `[Json]` Extracts interior Rest elements from Tuple, Intersect and Union types */
|
|
148
194
|
Rest(schema) {
|
|
149
195
|
return (0, index_33.Rest)(schema);
|
|
150
196
|
}
|
|
197
|
+
/** `[Json]` Creates a String type */
|
|
151
198
|
String(options = {}) {
|
|
152
199
|
return (0, index_35.String)(options);
|
|
153
200
|
}
|
|
201
|
+
/** `[Json]` Creates a TemplateLiteral type */
|
|
154
202
|
TemplateLiteral(unresolved, options = {}) {
|
|
155
203
|
return (0, index_36.TemplateLiteral)(unresolved, options);
|
|
156
204
|
}
|
|
205
|
+
/** `[Json]` Creates a Transform type */
|
|
157
206
|
Transform(schema) {
|
|
158
207
|
return (0, index_37.Transform)(schema);
|
|
159
208
|
}
|
|
209
|
+
/** `[Json]` Creates a Tuple type */
|
|
160
210
|
Tuple(items, options = {}) {
|
|
161
211
|
return (0, index_38.Tuple)(items, options);
|
|
162
212
|
}
|
|
213
|
+
/** `[Json]` Intrinsic function to Uncapitalize LiteralString types */
|
|
163
214
|
Uncapitalize(schema, options = {}) {
|
|
164
215
|
return (0, index_14.Uncapitalize)(schema, options);
|
|
165
216
|
}
|
|
217
|
+
/** `[Json]` Creates a Union type */
|
|
166
218
|
Union(schemas, options = {}) {
|
|
167
219
|
return (0, index_39.Union)(schemas, options);
|
|
168
220
|
}
|
|
221
|
+
/** `[Json]` Creates an Unknown type */
|
|
169
222
|
Unknown(options = {}) {
|
|
170
223
|
return (0, index_40.Unknown)(options);
|
|
171
224
|
}
|
|
225
|
+
/** `[Json]` Creates a Unsafe type that will infers as the generic argument T */
|
|
172
226
|
Unsafe(options = {}) {
|
|
173
227
|
return (0, index_41.Unsafe)(options);
|
|
174
228
|
}
|
|
229
|
+
/** `[Json]` Intrinsic function to Uppercase LiteralString types */
|
|
175
230
|
Uppercase(schema, options = {}) {
|
|
176
231
|
return (0, index_14.Uppercase)(schema, options);
|
|
177
232
|
}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
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.Partial = exports.Parameters = exports.Optional = exports.Omit = exports.Object = exports.Number = exports.Null = exports.Not = exports.Never = exports.Mapped = exports.Literal = exports.KeyOf = exports.Iterator = exports.Uppercase = exports.Lowercase = exports.Uncapitalize = exports.Capitalize = exports.Intersect = exports.Integer = exports.InstanceType = exports.Index = exports.Function = exports.Extract = 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 = void 0;
|
|
4
5
|
exports.Void = exports.Unsafe = exports.Unknown = exports.Union = exports.Undefined = exports.Uint8Array = exports.Tuple = exports.Transform = exports.TemplateLiteral = exports.Symbol = exports.String = void 0;
|
|
6
|
+
// ------------------------------------------------------------------
|
|
7
|
+
// Type: Module
|
|
8
|
+
// ------------------------------------------------------------------
|
|
5
9
|
var index_1 = require("../any/index");
|
|
6
10
|
Object.defineProperty(exports, "Any", { enumerable: true, get: function () { return index_1.Any; } });
|
|
7
11
|
var index_2 = require("../array/index");
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Uint8Array = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
6
|
+
/** `[JavaScript]` Creates a Uint8Array type */
|
|
5
7
|
function Uint8Array(options = {}) {
|
|
6
8
|
return { ...options, [index_1.Kind]: 'Uint8Array', type: 'Uint8Array' };
|
|
7
9
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Undefined = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
6
|
+
/** `[JavaScript]` Creates a Undefined type */
|
|
5
7
|
function Undefined(options = {}) {
|
|
6
8
|
return { ...options, [index_1.Kind]: 'Undefined', type: 'undefined' };
|
|
7
9
|
}
|
|
@@ -12,5 +12,6 @@ declare function RemoveOptionalFromType<T extends TSchema>(T: T): RemoveOptional
|
|
|
12
12
|
type ResolveUnion<T extends TSchema[], R extends TSchema[] = RemoveOptionalFromRest<T>> = (IsUnionOptional<T> extends true ? TOptional<TUnion<R>> : TUnion<R>);
|
|
13
13
|
declare function ResolveUnion<T extends TSchema[]>(T: T, options: SchemaOptions): ResolveUnion<T>;
|
|
14
14
|
export type UnionEvaluated<T extends TSchema[]> = (T extends [] ? TNever : T extends [TSchema] ? T[0] : ResolveUnion<T>);
|
|
15
|
+
/** `[Json]` Creates an evaluated Union type */
|
|
15
16
|
export declare function UnionEvaluated<T extends TSchema[], R = UnionEvaluated<T>>(T: [...T], options?: SchemaOptions): R;
|
|
16
17
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.UnionEvaluated = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
@@ -7,7 +8,12 @@ const index_2 = require("../discard/index");
|
|
|
7
8
|
const index_3 = require("../never/index");
|
|
8
9
|
const index_4 = require("../optional/index");
|
|
9
10
|
const union_create_1 = require("./union-create");
|
|
11
|
+
// ------------------------------------------------------------------
|
|
12
|
+
// TypeGuard
|
|
13
|
+
// ------------------------------------------------------------------
|
|
14
|
+
// prettier-ignore
|
|
10
15
|
const type_2 = require("../guard/type");
|
|
16
|
+
// prettier-ignore
|
|
11
17
|
function IsUnionOptional(T) {
|
|
12
18
|
const [L, ...R] = T;
|
|
13
19
|
return (T.length > 0
|
|
@@ -16,18 +22,23 @@ function IsUnionOptional(T) {
|
|
|
16
22
|
: IsUnionOptional(R)
|
|
17
23
|
: false);
|
|
18
24
|
}
|
|
25
|
+
// prettier-ignore
|
|
19
26
|
function RemoveOptionalFromRest(T) {
|
|
20
27
|
return (T.map(T => RemoveOptionalFromType(T)));
|
|
21
28
|
}
|
|
29
|
+
// prettier-ignore
|
|
22
30
|
function RemoveOptionalFromType(T) {
|
|
23
31
|
return ((0, index_2.Discard)(T, [index_1.OptionalKind]));
|
|
24
32
|
}
|
|
33
|
+
// prettier-ignore
|
|
25
34
|
function ResolveUnion(T, options) {
|
|
26
35
|
return (IsUnionOptional(T)
|
|
27
36
|
? (0, index_4.Optional)((0, union_create_1.UnionCreate)(RemoveOptionalFromRest(T), options))
|
|
28
37
|
: (0, union_create_1.UnionCreate)(RemoveOptionalFromRest(T), options));
|
|
29
38
|
}
|
|
39
|
+
/** `[Json]` Creates an evaluated Union type */
|
|
30
40
|
function UnionEvaluated(T, options = {}) {
|
|
41
|
+
// prettier-ignore
|
|
31
42
|
return (T.length === 0 ? (0, index_3.Never)(options) :
|
|
32
43
|
T.length === 1 ? (0, type_1.CloneType)(T[0], options) :
|
|
33
44
|
ResolveUnion(T, options));
|
|
@@ -2,4 +2,5 @@ import type { TSchema, SchemaOptions } from '../schema/index';
|
|
|
2
2
|
import { type TNever } from '../never/index';
|
|
3
3
|
import type { TUnion } from './union-type';
|
|
4
4
|
export type Union<T extends TSchema[]> = (T extends [] ? TNever : T extends [TSchema] ? T[0] : TUnion<T>);
|
|
5
|
+
/** `[Json]` Creates a Union type */
|
|
5
6
|
export declare function Union<T extends TSchema[]>(T: [...T], options?: SchemaOptions): Union<T>;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Union = void 0;
|
|
4
5
|
const index_1 = require("../never/index");
|
|
5
6
|
const type_1 = require("../clone/type");
|
|
6
7
|
const union_create_1 = require("./union-create");
|
|
8
|
+
/** `[Json]` Creates a Union type */
|
|
7
9
|
function Union(T, options = {}) {
|
|
10
|
+
// prettier-ignore
|
|
8
11
|
return (T.length === 0 ? (0, index_1.Never)(options) :
|
|
9
12
|
T.length === 1 ? (0, type_1.CloneType)(T[0], options) :
|
|
10
13
|
(0, union_create_1.UnionCreate)(T, options));
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Unsafe = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
6
|
+
/** `[Json]` Creates a Unsafe type that will infers as the generic argument T */
|
|
5
7
|
function Unsafe(options = {}) {
|
|
6
8
|
return {
|
|
7
9
|
...options,
|
|
@@ -17,5 +17,7 @@ export declare class ValueCastUnknownTypeError extends Error {
|
|
|
17
17
|
readonly schema: TSchema;
|
|
18
18
|
constructor(schema: TSchema);
|
|
19
19
|
}
|
|
20
|
+
/** Casts a value into a given type and references. The return value will retain as much information of the original value as possible. */
|
|
20
21
|
export declare function Cast<T extends TSchema>(schema: T, references: TSchema[], value: unknown): Static<T>;
|
|
22
|
+
/** Casts a value into a given type. The return value will retain as much information of the original value as possible. */
|
|
21
23
|
export declare function Cast<T extends TSchema>(schema: T, value: unknown): Static<T>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Cast = exports.ValueCastUnknownTypeError = exports.ValueCastRecursiveTypeError = exports.ValueCastNeverTypeError = exports.ValueCastArrayUniqueItemsTypeError = void 0;
|
|
4
5
|
const index_1 = require("../guard/index");
|
|
@@ -7,6 +8,9 @@ const index_3 = require("../create/index");
|
|
|
7
8
|
const index_4 = require("../check/index");
|
|
8
9
|
const index_5 = require("../clone/index");
|
|
9
10
|
const index_6 = require("../deref/index");
|
|
11
|
+
// ------------------------------------------------------------------
|
|
12
|
+
// Errors
|
|
13
|
+
// ------------------------------------------------------------------
|
|
10
14
|
class ValueCastArrayUniqueItemsTypeError extends Error {
|
|
11
15
|
constructor(schema, value) {
|
|
12
16
|
super('Array cast produced invalid data due to uniqueItems constraint');
|
|
@@ -36,6 +40,14 @@ class ValueCastUnknownTypeError extends Error {
|
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
42
|
exports.ValueCastUnknownTypeError = ValueCastUnknownTypeError;
|
|
43
|
+
// ------------------------------------------------------------------
|
|
44
|
+
// The following will score a schema against a value. For objects,
|
|
45
|
+
// the score is the tally of points awarded for each property of
|
|
46
|
+
// the value. Property points are (1.0 / propertyCount) to prevent
|
|
47
|
+
// large property counts biasing results. Properties that match
|
|
48
|
+
// literal values are maximally awarded as literals are typically
|
|
49
|
+
// used as union discriminator fields.
|
|
50
|
+
// ------------------------------------------------------------------
|
|
39
51
|
function ScoreUnion(schema, references, value) {
|
|
40
52
|
if (schema[index_2.Kind] === 'Object' && typeof value === 'object' && !(0, index_1.IsNull)(value)) {
|
|
41
53
|
const object = schema;
|
|
@@ -73,12 +85,18 @@ function CastUnion(union, references, value) {
|
|
|
73
85
|
return Cast(schema, references, value);
|
|
74
86
|
}
|
|
75
87
|
}
|
|
88
|
+
// ------------------------------------------------------------------
|
|
89
|
+
// Default
|
|
90
|
+
// ------------------------------------------------------------------
|
|
76
91
|
function DefaultClone(schema, references, value) {
|
|
77
92
|
return (0, index_4.Check)(schema, references, value) ? (0, index_5.Clone)(value) : (0, index_3.Create)(schema, references);
|
|
78
93
|
}
|
|
79
94
|
function Default(schema, references, value) {
|
|
80
95
|
return (0, index_4.Check)(schema, references, value) ? value : (0, index_3.Create)(schema, references);
|
|
81
96
|
}
|
|
97
|
+
// ------------------------------------------------------------------
|
|
98
|
+
// Cast
|
|
99
|
+
// ------------------------------------------------------------------
|
|
82
100
|
function TArray(schema, references, value) {
|
|
83
101
|
if ((0, index_4.Check)(schema, references, value))
|
|
84
102
|
return (0, index_5.Clone)(value);
|
|
@@ -125,6 +143,7 @@ function TObject(schema, references, value) {
|
|
|
125
143
|
continue;
|
|
126
144
|
result[key] = Visit(property, references, value[key]);
|
|
127
145
|
}
|
|
146
|
+
// additional schema properties
|
|
128
147
|
if (typeof schema.additionalProperties === 'object') {
|
|
129
148
|
const propertyNames = Object.getOwnPropertyNames(schema.properties);
|
|
130
149
|
for (const propertyName of Object.getOwnPropertyNames(value)) {
|
|
@@ -170,6 +189,9 @@ function Visit(schema, references, value) {
|
|
|
170
189
|
const references_ = (0, index_1.IsString)(schema.$id) ? [...references, schema] : references;
|
|
171
190
|
const schema_ = schema;
|
|
172
191
|
switch (schema[index_2.Kind]) {
|
|
192
|
+
// --------------------------------------------------------------
|
|
193
|
+
// Structural
|
|
194
|
+
// --------------------------------------------------------------
|
|
173
195
|
case 'Array':
|
|
174
196
|
return TArray(schema_, references_, value);
|
|
175
197
|
case 'Constructor':
|
|
@@ -190,14 +212,21 @@ function Visit(schema, references, value) {
|
|
|
190
212
|
return TTuple(schema_, references_, value);
|
|
191
213
|
case 'Union':
|
|
192
214
|
return TUnion(schema_, references_, value);
|
|
215
|
+
// --------------------------------------------------------------
|
|
216
|
+
// DefaultClone
|
|
217
|
+
// --------------------------------------------------------------
|
|
193
218
|
case 'Date':
|
|
194
219
|
case 'Symbol':
|
|
195
220
|
case 'Uint8Array':
|
|
196
221
|
return DefaultClone(schema, references, value);
|
|
222
|
+
// --------------------------------------------------------------
|
|
223
|
+
// Default
|
|
224
|
+
// --------------------------------------------------------------
|
|
197
225
|
default:
|
|
198
226
|
return Default(schema_, references_, value);
|
|
199
227
|
}
|
|
200
228
|
}
|
|
229
|
+
/** Casts a value into a given type. The return value will retain as much information of the original value as possible. */
|
|
201
230
|
function Cast(...args) {
|
|
202
231
|
return args.length === 3 ? Visit(args[0], args[1], args[2]) : Visit(args[0], [], args[1]);
|
|
203
232
|
}
|
|
@@ -4,5 +4,7 @@ export declare class ValueCheckUnknownTypeError extends Error {
|
|
|
4
4
|
readonly schema: TSchema;
|
|
5
5
|
constructor(schema: TSchema);
|
|
6
6
|
}
|
|
7
|
+
/** Returns true if the value matches the given type. */
|
|
7
8
|
export declare function Check<T extends TSchema>(schema: T, references: TSchema[], value: unknown): value is Static<T>;
|
|
9
|
+
/** Returns true if the value matches the given type. */
|
|
8
10
|
export declare function Check<T extends TSchema>(schema: T, value: unknown): value is Static<T>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Check = exports.ValueCheckUnknownTypeError = void 0;
|
|
4
5
|
const index_1 = require("../guard/index");
|
|
@@ -11,6 +12,9 @@ const index_7 = require("../../type/extends/index");
|
|
|
11
12
|
const type_1 = require("../../type/guard/type");
|
|
12
13
|
const index_8 = require("../../type/registry/index");
|
|
13
14
|
const index_9 = require("../../type/never/index");
|
|
15
|
+
// --------------------------------------------------------------------------
|
|
16
|
+
// Errors
|
|
17
|
+
// --------------------------------------------------------------------------
|
|
14
18
|
class ValueCheckUnknownTypeError extends Error {
|
|
15
19
|
constructor(schema) {
|
|
16
20
|
super(`Unknown type`);
|
|
@@ -18,12 +22,21 @@ class ValueCheckUnknownTypeError extends Error {
|
|
|
18
22
|
}
|
|
19
23
|
}
|
|
20
24
|
exports.ValueCheckUnknownTypeError = ValueCheckUnknownTypeError;
|
|
25
|
+
// --------------------------------------------------------------------------
|
|
26
|
+
// TypeGuards
|
|
27
|
+
// --------------------------------------------------------------------------
|
|
21
28
|
function IsAnyOrUnknown(schema) {
|
|
22
29
|
return schema[index_5.Kind] === 'Any' || schema[index_5.Kind] === 'Unknown';
|
|
23
30
|
}
|
|
31
|
+
// --------------------------------------------------------------------------
|
|
32
|
+
// Guards
|
|
33
|
+
// --------------------------------------------------------------------------
|
|
24
34
|
function IsDefined(value) {
|
|
25
35
|
return value !== undefined;
|
|
26
36
|
}
|
|
37
|
+
// --------------------------------------------------------------------------
|
|
38
|
+
// Types
|
|
39
|
+
// --------------------------------------------------------------------------
|
|
27
40
|
function TAny(schema, references, value) {
|
|
28
41
|
return true;
|
|
29
42
|
}
|
|
@@ -39,6 +52,7 @@ function TArray(schema, references, value) {
|
|
|
39
52
|
if (!value.every((value) => Visit(schema.items, references, value))) {
|
|
40
53
|
return false;
|
|
41
54
|
}
|
|
55
|
+
// prettier-ignore
|
|
42
56
|
if (schema.uniqueItems === true && !((function () { const set = new Set(); for (const element of value) {
|
|
43
57
|
const hashed = (0, index_4.Hash)(element);
|
|
44
58
|
if (set.has(hashed)) {
|
|
@@ -50,8 +64,9 @@ function TArray(schema, references, value) {
|
|
|
50
64
|
} return true; })())) {
|
|
51
65
|
return false;
|
|
52
66
|
}
|
|
67
|
+
// contains
|
|
53
68
|
if (!(IsDefined(schema.contains) || (0, index_1.IsNumber)(schema.minContains) || (0, index_1.IsNumber)(schema.maxContains))) {
|
|
54
|
-
return true;
|
|
69
|
+
return true; // exit
|
|
55
70
|
}
|
|
56
71
|
const containsSchema = IsDefined(schema.contains) ? schema.contains : (0, index_9.Never)();
|
|
57
72
|
const containsCount = value.reduce((acc, value) => (Visit(containsSchema, references, value) ? acc + 1 : acc), 0);
|
|
@@ -218,6 +233,7 @@ function TObject(schema, references, value) {
|
|
|
218
233
|
}
|
|
219
234
|
if (schema.additionalProperties === false) {
|
|
220
235
|
const valueKeys = Object.getOwnPropertyNames(value);
|
|
236
|
+
// optimization: value is valid if schemaKey length matches the valueKey length
|
|
221
237
|
if (schema.required && schema.required.length === knownKeys.length && valueKeys.length === knownKeys.length) {
|
|
222
238
|
return true;
|
|
223
239
|
}
|
|
@@ -248,9 +264,11 @@ function TRecord(schema, references, value) {
|
|
|
248
264
|
}
|
|
249
265
|
const [patternKey, patternSchema] = Object.entries(schema.patternProperties)[0];
|
|
250
266
|
const regex = new RegExp(patternKey);
|
|
267
|
+
// prettier-ignore
|
|
251
268
|
const check1 = Object.entries(value).every(([key, value]) => {
|
|
252
269
|
return (regex.test(key)) ? Visit(patternSchema, references, value) : true;
|
|
253
270
|
});
|
|
271
|
+
// prettier-ignore
|
|
254
272
|
const check2 = typeof schema.additionalProperties === 'object' ? Object.entries(value).every(([key, value]) => {
|
|
255
273
|
return (!regex.test(key)) ? Visit(schema.additionalProperties, references, value) : true;
|
|
256
274
|
}) : true;
|
|
@@ -417,6 +435,7 @@ function Visit(schema, references, value) {
|
|
|
417
435
|
return TKind(schema_, references_, value);
|
|
418
436
|
}
|
|
419
437
|
}
|
|
438
|
+
/** Returns true if the value matches the given type. */
|
|
420
439
|
function Check(...args) {
|
|
421
440
|
return args.length === 3 ? Visit(args[0], args[1], args[2]) : Visit(args[0], [], args[1]);
|
|
422
441
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { TSchema } from '../../type/schema/index';
|
|
2
|
+
/** `[Mutable]` Removes excess properties from a value and returns the result. This function does not check the value and returns an unknown type. You should Check the result before use. Clean is a mutable operation. To avoid mutation, Clone the value first. */
|
|
2
3
|
export declare function Clean<T extends TSchema>(schema: T, references: TSchema[], value: unknown): unknown;
|
|
4
|
+
/** `[Mutable]` Removes excess properties from a value and returns the result. This function does not check the value and returns an unknown type. You should Check the result before use. Clean is a mutable operation. To avoid mutation, Clone the value first. */
|
|
3
5
|
export declare function Clean<T extends TSchema>(schema: T): unknown;
|