@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
|
@@ -2,10 +2,11 @@ import type { TSchema, SchemaOptions } from '../schema/index';
|
|
|
2
2
|
import { type TIntersect } from '../intersect/index';
|
|
3
3
|
import { type TUnion } from '../union/index';
|
|
4
4
|
import { type TPromise } from '../promise/index';
|
|
5
|
-
type
|
|
6
|
-
declare function
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export type TAwaited<T extends TSchema> =
|
|
10
|
-
|
|
5
|
+
type FromRest<T extends TSchema[]> = T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [FromSchema<L>, ...FromRest<R>] : [];
|
|
6
|
+
declare function FromRest<T extends TSchema[]>(T: [...T]): FromRest<T>;
|
|
7
|
+
type FromSchema<T extends TSchema> = T extends TIntersect<infer S> ? TIntersect<FromRest<S>> : T extends TUnion<infer S> ? TUnion<FromRest<S>> : T extends TPromise<infer S> ? FromSchema<S> : T;
|
|
8
|
+
declare function FromSchema<T extends TSchema>(T: T): FromSchema<T>;
|
|
9
|
+
export type TAwaited<T extends TSchema> = (FromSchema<T>);
|
|
10
|
+
/** `[JavaScript]` Constructs a type by recursively unwrapping Promise types */
|
|
11
|
+
export declare function Awaited<T extends TSchema>(T: T, options?: SchemaOptions): FromSchema<T>;
|
|
11
12
|
export {};
|
|
@@ -1,33 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Awaited =
|
|
4
|
+
exports.Awaited = void 0;
|
|
4
5
|
const index_1 = require("../intersect/index");
|
|
5
6
|
const index_2 = require("../union/index");
|
|
6
7
|
const type_1 = require("../clone/type");
|
|
8
|
+
// ------------------------------------------------------------------
|
|
9
|
+
// TypeGuard
|
|
10
|
+
// ------------------------------------------------------------------
|
|
11
|
+
// prettier-ignore
|
|
7
12
|
const type_2 = require("../guard/type");
|
|
8
|
-
|
|
13
|
+
// prettier-ignore
|
|
14
|
+
function FromRest(T) {
|
|
9
15
|
const [L, ...R] = T;
|
|
10
16
|
return (T.length > 0
|
|
11
|
-
? [
|
|
17
|
+
? [FromSchema(L), ...FromRest(R)]
|
|
12
18
|
: []);
|
|
13
19
|
}
|
|
14
|
-
|
|
15
|
-
|
|
20
|
+
// prettier-ignore
|
|
21
|
+
function FromIntersect(T) {
|
|
22
|
+
return (0, index_1.Intersect)(FromRest(T));
|
|
16
23
|
}
|
|
17
|
-
|
|
18
|
-
|
|
24
|
+
// prettier-ignore
|
|
25
|
+
function FromUnion(T) {
|
|
26
|
+
return (0, index_2.Union)(FromRest(T));
|
|
19
27
|
}
|
|
20
|
-
|
|
21
|
-
|
|
28
|
+
// prettier-ignore
|
|
29
|
+
function FromPromise(T) {
|
|
30
|
+
return FromSchema(T);
|
|
22
31
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
// prettier-ignore
|
|
33
|
+
function FromSchema(T) {
|
|
34
|
+
return ((0, type_2.TIntersect)(T) ? FromIntersect(T.allOf) :
|
|
35
|
+
(0, type_2.TUnion)(T) ? FromUnion(T.anyOf) :
|
|
36
|
+
(0, type_2.TPromise)(T) ? FromPromise(T.item) :
|
|
27
37
|
T);
|
|
28
38
|
}
|
|
29
|
-
|
|
39
|
+
/** `[JavaScript]` Constructs a type by recursively unwrapping Promise types */
|
|
30
40
|
function Awaited(T, options = {}) {
|
|
31
|
-
return (0, type_1.CloneType)(
|
|
41
|
+
return (0, type_1.CloneType)(FromSchema(T), options);
|
|
32
42
|
}
|
|
33
43
|
exports.Awaited = Awaited;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { TSchema, SchemaOptions } from '../schema/index';
|
|
2
|
+
/** Clones a Rest */
|
|
2
3
|
export declare function CloneRest<T extends TSchema[]>(schemas: T): T;
|
|
4
|
+
/** Clones a Type */
|
|
3
5
|
export declare function CloneType<T extends TSchema>(schema: T, options?: SchemaOptions): T;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.CloneType = exports.CloneRest = void 0;
|
|
4
5
|
const value_1 = require("./value");
|
|
6
|
+
/** Clones a Rest */
|
|
5
7
|
function CloneRest(schemas) {
|
|
6
8
|
return schemas.map((schema) => CloneType(schema));
|
|
7
9
|
}
|
|
8
10
|
exports.CloneRest = CloneRest;
|
|
11
|
+
/** Clones a Type */
|
|
9
12
|
function CloneType(schema, options = {}) {
|
|
10
13
|
return { ...(0, value_1.Clone)(schema), ...options };
|
|
11
14
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Clone = void 0;
|
|
4
5
|
const ValueGuard = require("../guard/value");
|
|
@@ -16,6 +17,7 @@ function ObjectType(value) {
|
|
|
16
17
|
const clonedSymbols = Object.getOwnPropertySymbols(value).reduce((acc, key) => ({ ...acc, [key]: Visit(value[key]) }), {});
|
|
17
18
|
return { ...clonedProperties, ...clonedSymbols };
|
|
18
19
|
}
|
|
20
|
+
// prettier-ignore
|
|
19
21
|
function Visit(value) {
|
|
20
22
|
return (ValueGuard.IsArray(value) ? ArrayType(value) :
|
|
21
23
|
ValueGuard.IsDate(value) ? DateType(value) :
|
|
@@ -23,6 +25,7 @@ function Visit(value) {
|
|
|
23
25
|
ValueGuard.IsObject(value) ? ObjectType(value) :
|
|
24
26
|
value);
|
|
25
27
|
}
|
|
28
|
+
/** Clones a value */
|
|
26
29
|
function Clone(value) {
|
|
27
30
|
return Visit(value);
|
|
28
31
|
}
|
|
@@ -10,5 +10,6 @@ type CompositeReduce<T extends TObject[]> = UnionToTuple<CompositeKeys<T>> exten
|
|
|
10
10
|
export type CompositeResolve<T extends TObject[]> = TIntersect<T> extends TIntersect ? TObject<CompositeReduce<T>> : TObject<{}>;
|
|
11
11
|
export declare function CompositeResolve<T extends TObject[]>(T: [...T]): CompositeResolve<T>;
|
|
12
12
|
export type TComposite<T extends TObject[]> = CompositeResolve<T>;
|
|
13
|
+
/** `[Json]` Creates a Composite object type */
|
|
13
14
|
export declare function Composite<T extends TObject[]>(T: [...T], options?: ObjectOptions): TComposite<T>;
|
|
14
15
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Composite = exports.CompositeResolve = void 0;
|
|
4
5
|
const index_1 = require("../object/index");
|
|
@@ -13,6 +14,7 @@ function CompositeResolve(T) {
|
|
|
13
14
|
return (0, index_1.Object)(properties);
|
|
14
15
|
}
|
|
15
16
|
exports.CompositeResolve = CompositeResolve;
|
|
17
|
+
/** `[Json]` Creates a Composite object type */
|
|
16
18
|
function Composite(T, options) {
|
|
17
19
|
return (0, type_1.CloneType)(CompositeResolve(T), options);
|
|
18
20
|
}
|
|
@@ -25,5 +25,6 @@ declare function ConditionalReadonly<T extends TSchema, Root extends boolean>(T:
|
|
|
25
25
|
type FromValue<T, Root extends boolean> = T extends AsyncIterableIterator<unknown> ? ConditionalReadonly<TAny, Root> : T extends IterableIterator<unknown> ? ConditionalReadonly<TAny, Root> : T extends readonly unknown[] ? TReadonly<TTuple<AssertRest<FromArray<T>>>> : T extends Uint8Array ? TUint8Array : T extends Date ? TDate : T extends Record<PropertyKey, unknown> ? ConditionalReadonly<TObject<Evaluate<FromProperties<T>>>, Root> : T extends Function ? ConditionalReadonly<TFunction<[], TUnknown>, Root> : T extends undefined ? TUndefined : T extends null ? TNull : T extends symbol ? TSymbol : T extends number ? TLiteral<T> : T extends boolean ? TLiteral<T> : T extends string ? TLiteral<T> : T extends bigint ? TBigInt : TObject<{}>;
|
|
26
26
|
declare function FromValue<T, Root extends boolean>(value: T, root: Root): FromValue<T, Root>;
|
|
27
27
|
export type TConst<T> = FromValue<T, true>;
|
|
28
|
-
|
|
28
|
+
/** `[JavaScript]` Creates a readonly const type from the given value. */
|
|
29
|
+
export declare function Const</* const (not supported in 4.0) */ T>(T: T, options?: SchemaOptions): TConst<T>;
|
|
29
30
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Const = void 0;
|
|
4
5
|
const value_1 = require("../guard/value");
|
|
@@ -16,12 +17,14 @@ const index_11 = require("../undefined/index");
|
|
|
16
17
|
const index_12 = require("../uint8array/index");
|
|
17
18
|
const index_13 = require("../unknown/index");
|
|
18
19
|
const index_14 = require("../clone/index");
|
|
20
|
+
// prettier-ignore
|
|
19
21
|
function FromArray(T) {
|
|
20
22
|
const [L, ...R] = T;
|
|
21
23
|
return (T.length > 0
|
|
22
24
|
? [FromValue(L, false), ...FromArray(R)]
|
|
23
25
|
: []);
|
|
24
26
|
}
|
|
27
|
+
// prettier-ignore
|
|
25
28
|
function FromProperties(value) {
|
|
26
29
|
return globalThis.Object.getOwnPropertyNames(value).reduce((acc, key) => {
|
|
27
30
|
return { ...acc, [key]: (0, index_10.Readonly)(FromValue(value[key], false)) };
|
|
@@ -30,10 +33,11 @@ function FromProperties(value) {
|
|
|
30
33
|
function ConditionalReadonly(T, root) {
|
|
31
34
|
return (root === true ? T : (0, index_10.Readonly)(T));
|
|
32
35
|
}
|
|
36
|
+
// prettier-ignore
|
|
33
37
|
function FromValue(value, root) {
|
|
34
38
|
return ((0, value_1.IsAsyncIterator)(value) ? ConditionalReadonly((0, index_1.Any)(), root) :
|
|
35
39
|
(0, value_1.IsIterator)(value) ? ConditionalReadonly((0, index_1.Any)(), root) :
|
|
36
|
-
(0, value_1.IsArray)(value) ? (0, index_10.Readonly)((0, index_9.Tuple)(FromArray(value))) :
|
|
40
|
+
(0, value_1.IsArray)(value) ? (0, index_10.Readonly)((0, index_9.Tuple)(FromArray(value))) : // Always Readonly
|
|
37
41
|
(0, value_1.IsUint8Array)(value) ? (0, index_12.Uint8Array)() :
|
|
38
42
|
(0, value_1.IsDate)(value) ? (0, index_3.Date)() :
|
|
39
43
|
(0, value_1.IsObject)(value) ? ConditionalReadonly((0, index_7.Object)(FromProperties(value)), root) :
|
|
@@ -47,6 +51,7 @@ function FromValue(value, root) {
|
|
|
47
51
|
(0, value_1.IsString)(value) ? (0, index_5.Literal)(value) :
|
|
48
52
|
(0, index_7.Object)({}));
|
|
49
53
|
}
|
|
54
|
+
/** `[JavaScript]` Creates a readonly const type from the given value. */
|
|
50
55
|
function Const(T, options = {}) {
|
|
51
56
|
return index_14.TypeClone.CloneType(FromValue(T, true), options);
|
|
52
57
|
}
|
|
@@ -12,5 +12,6 @@ export interface TConstructor<T extends TSchema[] = TSchema[], U extends TSchema
|
|
|
12
12
|
parameters: T;
|
|
13
13
|
returns: U;
|
|
14
14
|
}
|
|
15
|
+
/** `[JavaScript]` Creates a Constructor type */
|
|
15
16
|
export declare function Constructor<T extends TSchema[], U extends TSchema>(parameters: [...T], returns: U, options?: SchemaOptions): TConstructor<T, U>;
|
|
16
17
|
export {};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Constructor = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
5
6
|
const type_1 = require("../clone/type");
|
|
7
|
+
/** `[JavaScript]` Creates a Constructor type */
|
|
6
8
|
function Constructor(parameters, returns, options) {
|
|
7
9
|
return {
|
|
8
10
|
...options,
|
|
@@ -3,4 +3,5 @@ import type { Ensure } from '../helpers/index';
|
|
|
3
3
|
import type { TConstructor } from '../constructor/index';
|
|
4
4
|
import { type TTuple } from '../tuple/index';
|
|
5
5
|
export type TConstructorParameters<T extends TConstructor<TSchema[], TSchema>> = (Ensure<TTuple<T['parameters']>>);
|
|
6
|
+
/** `[JavaScript]` Extracts the ConstructorParameters from the given Constructor type */
|
|
6
7
|
export declare function ConstructorParameters<T extends TConstructor<TSchema[], TSchema>>(schema: T, options?: SchemaOptions): TConstructorParameters<T>;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.ConstructorParameters = void 0;
|
|
4
5
|
const index_1 = require("../tuple/index");
|
|
5
6
|
const type_1 = require("../clone/type");
|
|
7
|
+
/** `[JavaScript]` Extracts the ConstructorParameters from the given Constructor type */
|
|
6
8
|
function ConstructorParameters(schema, options = {}) {
|
|
7
9
|
return (0, index_1.Tuple)((0, type_1.CloneRest)(schema.parameters), { ...options });
|
|
8
10
|
}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { TSchema, SchemaOptions } from '../schema/index';
|
|
2
2
|
import { Kind } from '../symbols/index';
|
|
3
3
|
export interface DateOptions extends SchemaOptions {
|
|
4
|
+
/** The exclusive maximum timestamp value */
|
|
4
5
|
exclusiveMaximumTimestamp?: number;
|
|
6
|
+
/** The exclusive minimum timestamp value */
|
|
5
7
|
exclusiveMinimumTimestamp?: number;
|
|
8
|
+
/** The maximum timestamp value */
|
|
6
9
|
maximumTimestamp?: number;
|
|
10
|
+
/** The minimum timestamp value */
|
|
7
11
|
minimumTimestamp?: number;
|
|
12
|
+
/** The multiple of timestamp value */
|
|
8
13
|
multipleOfTimestamp?: number;
|
|
9
14
|
}
|
|
10
15
|
export interface TDate extends TSchema, DateOptions {
|
|
@@ -12,4 +17,5 @@ export interface TDate extends TSchema, DateOptions {
|
|
|
12
17
|
static: Date;
|
|
13
18
|
type: 'date';
|
|
14
19
|
}
|
|
20
|
+
/** `[JavaScript]` Creates a Date type */
|
|
15
21
|
export declare function Date(options?: DateOptions): TDate;
|
|
@@ -19,5 +19,6 @@ declare function FromProperties(properties: TProperties, references: TSchema[]):
|
|
|
19
19
|
export type DerefResolve<T extends TSchema> = T extends TConstructor<infer S extends TSchema[], infer R extends TSchema> ? TConstructor<FromRest<S>, DerefResolve<R>> : T extends TFunction<infer S extends TSchema[], infer R extends TSchema> ? TFunction<FromRest<S>, DerefResolve<R>> : T extends TIntersect<infer S extends TSchema[]> ? TIntersect<FromRest<S>> : T extends TUnion<infer S extends TSchema[]> ? TUnion<FromRest<S>> : T extends TTuple<infer S extends TSchema[]> ? TTuple<FromRest<S>> : T extends TObject<infer S extends TProperties> ? TObject<FromProperties<S>> : T extends TArray<infer S extends TSchema> ? TArray<DerefResolve<S>> : T extends TPromise<infer S extends TSchema> ? TPromise<DerefResolve<S>> : T extends TAsyncIterator<infer S extends TSchema> ? TAsyncIterator<DerefResolve<S>> : T extends TIterator<infer S extends TSchema> ? TIterator<DerefResolve<S>> : T extends TRef<infer S extends TSchema> ? DerefResolve<S> : T;
|
|
20
20
|
export declare function DerefResolve<T extends TSchema>(schema: T, references: TSchema[]): TDeref<T>;
|
|
21
21
|
export type TDeref<T extends TSchema> = DerefResolve<T>;
|
|
22
|
+
/** `[Json]` Creates a dereferenced type */
|
|
22
23
|
export declare function Deref<T extends TSchema>(schema: T, references: TSchema[]): TDeref<T>;
|
|
23
24
|
export {};
|
|
@@ -1,40 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Deref = exports.DerefResolve = void 0;
|
|
4
5
|
const type_1 = require("../clone/type");
|
|
5
6
|
const index_1 = require("../discard/index");
|
|
6
7
|
const value_1 = require("../guard/value");
|
|
8
|
+
// ------------------------------------------------------------------
|
|
9
|
+
// TypeGuard
|
|
10
|
+
// ------------------------------------------------------------------
|
|
11
|
+
// prettier-ignore
|
|
7
12
|
const type_2 = require("../guard/type");
|
|
8
13
|
function FromRest(schema, references) {
|
|
9
14
|
return schema.map((schema) => Deref(schema, references));
|
|
10
15
|
}
|
|
16
|
+
// prettier-ignore
|
|
11
17
|
function FromProperties(properties, references) {
|
|
12
18
|
return globalThis.Object.getOwnPropertyNames(properties).reduce((acc, key) => {
|
|
13
19
|
return { ...acc, [key]: Deref(properties[key], references) };
|
|
14
20
|
}, {});
|
|
15
21
|
}
|
|
22
|
+
// prettier-ignore
|
|
16
23
|
function FromConstructor(schema, references) {
|
|
17
24
|
const clone = (0, type_1.CloneType)(schema);
|
|
18
25
|
clone.parameters = FromRest(clone.parameters, references);
|
|
19
26
|
clone.returns = Deref(clone.returns, references);
|
|
20
27
|
return clone;
|
|
21
28
|
}
|
|
29
|
+
// prettier-ignore
|
|
22
30
|
function FromFunction(schema, references) {
|
|
23
31
|
const clone = (0, type_1.CloneType)(schema);
|
|
24
32
|
clone.parameters = FromRest(clone.parameters, references);
|
|
25
33
|
clone.returns = Deref(clone.returns, references);
|
|
26
34
|
return clone;
|
|
27
35
|
}
|
|
36
|
+
// prettier-ignore
|
|
28
37
|
function FromIntersect(schema, references) {
|
|
29
38
|
const clone = (0, type_1.CloneType)(schema);
|
|
30
39
|
clone.allOf = FromRest(clone.allOf, references);
|
|
31
40
|
return clone;
|
|
32
41
|
}
|
|
42
|
+
// prettier-ignore
|
|
33
43
|
function FromUnion(schema, references) {
|
|
34
44
|
const clone = (0, type_1.CloneType)(schema);
|
|
35
45
|
clone.anyOf = FromRest(clone.anyOf, references);
|
|
36
46
|
return clone;
|
|
37
47
|
}
|
|
48
|
+
// prettier-ignore
|
|
38
49
|
function FromTuple(schema, references) {
|
|
39
50
|
const clone = (0, type_1.CloneType)(schema);
|
|
40
51
|
if ((0, value_1.IsUndefined)(clone.items))
|
|
@@ -42,31 +53,37 @@ function FromTuple(schema, references) {
|
|
|
42
53
|
clone.items = FromRest(clone.items, references);
|
|
43
54
|
return clone;
|
|
44
55
|
}
|
|
56
|
+
// prettier-ignore
|
|
45
57
|
function FromArray(schema, references) {
|
|
46
58
|
const clone = (0, type_1.CloneType)(schema);
|
|
47
59
|
clone.items = Deref(clone.items, references);
|
|
48
60
|
return clone;
|
|
49
61
|
}
|
|
62
|
+
// prettier-ignore
|
|
50
63
|
function FromObject(schema, references) {
|
|
51
64
|
const clone = (0, type_1.CloneType)(schema);
|
|
52
65
|
clone.properties = FromProperties(clone.properties, references);
|
|
53
66
|
return clone;
|
|
54
67
|
}
|
|
68
|
+
// prettier-ignore
|
|
55
69
|
function FromPromise(schema, references) {
|
|
56
70
|
const clone = (0, type_1.CloneType)(schema);
|
|
57
71
|
clone.item = Deref(clone.item, references);
|
|
58
72
|
return clone;
|
|
59
73
|
}
|
|
74
|
+
// prettier-ignore
|
|
60
75
|
function FromAsyncIterator(schema, references) {
|
|
61
76
|
const clone = (0, type_1.CloneType)(schema);
|
|
62
77
|
clone.items = Deref(clone.items, references);
|
|
63
78
|
return clone;
|
|
64
79
|
}
|
|
80
|
+
// prettier-ignore
|
|
65
81
|
function FromIterator(schema, references) {
|
|
66
82
|
const clone = (0, type_1.CloneType)(schema);
|
|
67
83
|
clone.items = Deref(clone.items, references);
|
|
68
84
|
return clone;
|
|
69
85
|
}
|
|
86
|
+
// prettier-ignore
|
|
70
87
|
function FromRef(schema, references) {
|
|
71
88
|
const target = references.find(remote => remote.$id === schema.$ref);
|
|
72
89
|
if (target === undefined)
|
|
@@ -74,6 +91,7 @@ function FromRef(schema, references) {
|
|
|
74
91
|
const discard = (0, index_1.Discard)(target, ['$id']);
|
|
75
92
|
return Deref(discard, references);
|
|
76
93
|
}
|
|
94
|
+
// prettier-ignore
|
|
77
95
|
function DerefResolve(schema, references) {
|
|
78
96
|
return ((0, type_2.TConstructor)(schema) ? FromConstructor(schema, references) :
|
|
79
97
|
(0, type_2.TFunction)(schema) ? FromFunction(schema, references) :
|
|
@@ -89,6 +107,7 @@ function DerefResolve(schema, references) {
|
|
|
89
107
|
schema);
|
|
90
108
|
}
|
|
91
109
|
exports.DerefResolve = DerefResolve;
|
|
110
|
+
/** `[Json]` Creates a dereferenced type */
|
|
92
111
|
function Deref(schema, references) {
|
|
93
112
|
return DerefResolve(schema, references);
|
|
94
113
|
}
|
|
@@ -10,4 +10,5 @@ export interface TEnum<T extends Record<string, string | number> = Record<string
|
|
|
10
10
|
static: T[keyof T];
|
|
11
11
|
anyOf: TLiteral<T[keyof T]>[];
|
|
12
12
|
}
|
|
13
|
+
/** `[Json]` Creates a Enum type */
|
|
13
14
|
export declare function Enum<V extends TEnumValue, T extends Record<TEnumKey, V>>(item: T, options?: SchemaOptions): TEnum<T>;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Enum = void 0;
|
|
4
5
|
const index_1 = require("../literal/index");
|
|
5
6
|
const index_2 = require("../symbols/index");
|
|
6
7
|
const index_3 = require("../union/index");
|
|
7
8
|
const value_1 = require("../guard/value");
|
|
9
|
+
/** `[Json]` Creates a Enum type */
|
|
8
10
|
function Enum(item, options = {}) {
|
|
9
11
|
if ((0, value_1.IsUndefined)(item))
|
|
10
12
|
throw new Error('Enum undefined or empty');
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.ExcludeFromMappedResult = void 0;
|
|
4
5
|
const index_1 = require("../mapped/index");
|
|
5
6
|
const exclude_1 = require("./exclude");
|
|
7
|
+
// prettier-ignore
|
|
6
8
|
function FromProperties(K, U, options) {
|
|
7
9
|
return globalThis.Object.getOwnPropertyNames(K).reduce((Acc, K2) => {
|
|
8
10
|
return { ...Acc, [K2]: (0, exclude_1.Exclude)(K[K2], U, options) };
|
|
9
11
|
}, {});
|
|
10
12
|
}
|
|
13
|
+
// prettier-ignore
|
|
11
14
|
function FromMappedResult(K, U, options) {
|
|
12
15
|
return FromProperties(K.properties, U, options);
|
|
13
16
|
}
|
|
17
|
+
// prettier-ignore
|
|
14
18
|
function ExcludeFromMappedResult(T, U, options) {
|
|
15
19
|
const P = FromMappedResult(T, U, options);
|
|
16
20
|
return (0, index_1.MappedResult)(P);
|
|
@@ -18,6 +18,8 @@ type ExcludeArray<T extends TSchema[], U extends TSchema> = AssertRest<UnionToTu
|
|
|
18
18
|
type ExcludeResolve<T extends TSchema, U extends TSchema> = T extends TTemplateLiteral ? ExcludeTemplateLiteral<T, U> : T extends TUnion<infer S> ? ExcludeArray<S, U> : T extends U ? TNever : T;
|
|
19
19
|
declare function ExcludeResolve<L extends TSchema, R extends TSchema>(L: L, R: R): ExcludeResolve<L, R>;
|
|
20
20
|
export type TExclude<T extends TSchema, U extends TSchema> = ExcludeResolve<T, U>;
|
|
21
|
+
/** `[Json]` Constructs a type by excluding from unionType all union members that are assignable to excludedMembers */
|
|
21
22
|
export declare function Exclude<L extends TMappedResult, R extends TSchema>(unionType: L, excludedMembers: R, options?: SchemaOptions): TExcludeFromMappedResult<L, R>;
|
|
23
|
+
/** `[Json]` Constructs a type by excluding from unionType all union members that are assignable to excludedMembers */
|
|
22
24
|
export declare function Exclude<L extends TSchema, R extends TSchema>(unionType: L, excludedMembers: R, options?: SchemaOptions): TExclude<L, R>;
|
|
23
25
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Exclude = void 0;
|
|
4
5
|
const index_1 = require("../template-literal/index");
|
|
@@ -7,7 +8,9 @@ const index_3 = require("../never/index");
|
|
|
7
8
|
const index_4 = require("../extends/index");
|
|
8
9
|
const type_1 = require("../clone/type");
|
|
9
10
|
const exclude_from_mapped_result_1 = require("./exclude-from-mapped-result");
|
|
11
|
+
// prettier-ignore
|
|
10
12
|
const type_2 = require("../guard/type");
|
|
13
|
+
// prettier-ignore
|
|
11
14
|
function ExcludeResolve(L, R) {
|
|
12
15
|
return ((0, type_2.TTemplateLiteral)(L) ? ExcludeResolve((0, index_1.TemplateLiteralToUnion)(L), R) :
|
|
13
16
|
(0, type_2.TTemplateLiteral)(R) ? ExcludeResolve(L, (0, index_1.TemplateLiteralToUnion)(R)) :
|
|
@@ -18,6 +21,7 @@ function ExcludeResolve(L, R) {
|
|
|
18
21
|
(0, index_4.ExtendsCheck)(L, R) !== index_4.ExtendsResult.False ? (0, index_3.Never)() :
|
|
19
22
|
L);
|
|
20
23
|
}
|
|
24
|
+
/** `[Json]` Constructs a type by excluding from unionType all union members that are assignable to excludedMembers */
|
|
21
25
|
function Exclude(unionType, excludedMembers, options = {}) {
|
|
22
26
|
if ((0, type_2.TMappedResult)(unionType)) {
|
|
23
27
|
return (0, exclude_from_mapped_result_1.ExcludeFromMappedResult)(unionType, excludedMembers, options);
|