@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,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.OperatorUnionMany = exports.OperatorIntersectMany = exports.OperatorComplement = exports.OperatorUnion = exports.OperatorIntersect = exports.OperatorDistinct = exports.OperatorSubset = exports.OperatorIncludes = void 0;
|
|
5
|
+
/** Returns true if element S is in the set of T */
|
|
6
|
+
// prettier-ignore
|
|
4
7
|
function OperatorIncludes(T, S) {
|
|
5
8
|
const [L, ...R] = T;
|
|
6
9
|
return (T.length > 0
|
|
@@ -10,6 +13,8 @@ function OperatorIncludes(T, S) {
|
|
|
10
13
|
: false);
|
|
11
14
|
}
|
|
12
15
|
exports.OperatorIncludes = OperatorIncludes;
|
|
16
|
+
/** Returns true if T is a subset of S */
|
|
17
|
+
// prettier-ignore
|
|
13
18
|
function OperatorSubset(T, S) {
|
|
14
19
|
const [L, ...R] = T;
|
|
15
20
|
return (T.length > 0
|
|
@@ -19,6 +24,8 @@ function OperatorSubset(T, S) {
|
|
|
19
24
|
: true);
|
|
20
25
|
}
|
|
21
26
|
exports.OperatorSubset = OperatorSubset;
|
|
27
|
+
/** Returns a distinct set of elements */
|
|
28
|
+
// prettier-ignore
|
|
22
29
|
function OperatorDistinct(T, Acc = []) {
|
|
23
30
|
const [L, ...R] = T;
|
|
24
31
|
return (T.length > 0
|
|
@@ -28,6 +35,8 @@ function OperatorDistinct(T, Acc = []) {
|
|
|
28
35
|
: Acc);
|
|
29
36
|
}
|
|
30
37
|
exports.OperatorDistinct = OperatorDistinct;
|
|
38
|
+
/** Returns the Intersect of the given sets */
|
|
39
|
+
// prettier-ignore
|
|
31
40
|
function OperatorIntersect(T, S) {
|
|
32
41
|
const [L, ...R] = T;
|
|
33
42
|
return (T.length > 0
|
|
@@ -37,6 +46,8 @@ function OperatorIntersect(T, S) {
|
|
|
37
46
|
: []);
|
|
38
47
|
}
|
|
39
48
|
exports.OperatorIntersect = OperatorIntersect;
|
|
49
|
+
/** Returns the Union of the given sets */
|
|
50
|
+
// prettier-ignore
|
|
40
51
|
function OperatorUnion(T, S) {
|
|
41
52
|
const [L, ...R] = T;
|
|
42
53
|
return (T.length > 0
|
|
@@ -46,6 +57,8 @@ function OperatorUnion(T, S) {
|
|
|
46
57
|
: S);
|
|
47
58
|
}
|
|
48
59
|
exports.OperatorUnion = OperatorUnion;
|
|
60
|
+
/** Returns the Complement by omitting elements in T that are in S */
|
|
61
|
+
// prettier-ignore
|
|
49
62
|
function OperatorComplement(T, S) {
|
|
50
63
|
const [L, ...R] = T;
|
|
51
64
|
return (T.length > 0
|
|
@@ -55,6 +68,8 @@ function OperatorComplement(T, S) {
|
|
|
55
68
|
: []);
|
|
56
69
|
}
|
|
57
70
|
exports.OperatorComplement = OperatorComplement;
|
|
71
|
+
/** Returns the Intersect of multiple sets */
|
|
72
|
+
// prettier-ignore
|
|
58
73
|
function OperatorIntersectMany(T) {
|
|
59
74
|
return (T.length === 1
|
|
60
75
|
? T[0]
|
|
@@ -66,6 +81,7 @@ function OperatorIntersectMany(T) {
|
|
|
66
81
|
})());
|
|
67
82
|
}
|
|
68
83
|
exports.OperatorIntersectMany = OperatorIntersectMany;
|
|
84
|
+
/** Returns the Union of multiple sets */
|
|
69
85
|
function OperatorUnionMany(T) {
|
|
70
86
|
return (T.length === 1
|
|
71
87
|
? T[0]
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Optional = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
5
6
|
const type_1 = require("../clone/type");
|
|
7
|
+
/** `[Json]` Creates an Optional property */
|
|
6
8
|
function Optional(schema) {
|
|
7
9
|
return { ...(0, type_1.CloneType)(schema), [index_1.OptionalKind]: 'Optional' };
|
|
8
10
|
}
|
|
@@ -3,4 +3,5 @@ import type { TFunction } from '../function/index';
|
|
|
3
3
|
import type { Ensure } from '../helpers/index';
|
|
4
4
|
import { type TTuple } from '../tuple/index';
|
|
5
5
|
export type TParameters<T extends TFunction> = Ensure<TTuple<T['parameters']>>;
|
|
6
|
+
/** `[JavaScript]` Extracts the Parameters from the given Function type */
|
|
6
7
|
export declare function Parameters<T extends TFunction<TSchema[], TSchema>>(schema: T, options?: SchemaOptions): TParameters<T>;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Parameters = void 0;
|
|
4
5
|
const index_1 = require("../tuple/index");
|
|
5
6
|
const type_1 = require("../clone/type");
|
|
7
|
+
/** `[JavaScript]` Extracts the Parameters from the given Function type */
|
|
6
8
|
function Parameters(schema, options = {}) {
|
|
7
9
|
return (0, index_1.Tuple)((0, type_1.CloneRest)(schema.parameters), { ...options });
|
|
8
10
|
}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.PartialFromMappedResult = void 0;
|
|
4
5
|
const index_1 = require("../mapped/index");
|
|
5
6
|
const partial_1 = require("./partial");
|
|
7
|
+
// prettier-ignore
|
|
6
8
|
function FromProperties(K, options) {
|
|
7
9
|
return globalThis.Object.getOwnPropertyNames(K).reduce((Acc, K2) => {
|
|
8
10
|
return { ...Acc, [K2]: (0, partial_1.Partial)(K[K2], options) };
|
|
9
11
|
}, {});
|
|
10
12
|
}
|
|
13
|
+
// prettier-ignore
|
|
11
14
|
function FromMappedResult(K, options) {
|
|
12
15
|
return FromProperties(K.properties, options);
|
|
13
16
|
}
|
|
17
|
+
// prettier-ignore
|
|
14
18
|
function PartialFromMappedResult(T, options) {
|
|
15
19
|
const P = FromMappedResult(T, options);
|
|
16
20
|
return (0, index_1.MappedResult)(P);
|
|
@@ -20,6 +20,8 @@ declare function FromProperties<T extends TProperties>(T: T): TProperties;
|
|
|
20
20
|
type PartialResolve<T extends TSchema> = (T extends TRecursive<infer S> ? TRecursive<PartialResolve<S>> : T extends TIntersect<infer S> ? TIntersect<FromIntersect<S>> : T extends TUnion<infer S> ? TUnion<FromUnion<S>> : T extends TObject<infer S> ? TObject<FromProperties<S>> : TObject<{}>);
|
|
21
21
|
declare function PartialResolve<T extends TSchema>(T: T): PartialResolve<T>;
|
|
22
22
|
export type TPartial<T extends TSchema> = PartialResolve<T>;
|
|
23
|
+
/** `[Json]` Constructs a type where all properties are optional */
|
|
23
24
|
export declare function Partial<T extends TMappedResult>(T: T, options?: SchemaOptions): TPartialFromMappedResult<T>;
|
|
25
|
+
/** `[Json]` Constructs a type where all properties are optional */
|
|
24
26
|
export declare function Partial<T extends TSchema>(T: T, options?: SchemaOptions): TPartial<T>;
|
|
25
27
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Partial = void 0;
|
|
4
5
|
const index_1 = require("../optional/index");
|
|
@@ -9,30 +10,39 @@ const index_5 = require("../discard/index");
|
|
|
9
10
|
const index_6 = require("../symbols/index");
|
|
10
11
|
const type_1 = require("../clone/type");
|
|
11
12
|
const partial_from_mapped_result_1 = require("./partial-from-mapped-result");
|
|
13
|
+
// ------------------------------------------------------------------
|
|
14
|
+
// TypeGuard
|
|
15
|
+
// ------------------------------------------------------------------
|
|
16
|
+
// prettier-ignore
|
|
12
17
|
const type_2 = require("../guard/type");
|
|
18
|
+
// prettier-ignore
|
|
13
19
|
function FromIntersect(T) {
|
|
14
20
|
const [L, ...R] = T;
|
|
15
21
|
return (T.length > 0
|
|
16
22
|
? [PartialResolve(L), ...FromIntersect(R)]
|
|
17
23
|
: []);
|
|
18
24
|
}
|
|
25
|
+
// prettier-ignore
|
|
19
26
|
function FromUnion(T) {
|
|
20
27
|
const [L, ...R] = T;
|
|
21
28
|
return (T.length > 0
|
|
22
29
|
? [PartialResolve(L), ...FromUnion(R)]
|
|
23
30
|
: []);
|
|
24
31
|
}
|
|
32
|
+
// prettier-ignore
|
|
25
33
|
function FromProperties(T) {
|
|
26
34
|
return globalThis.Object.getOwnPropertyNames(T).reduce((Acc, K) => {
|
|
27
35
|
return { ...Acc, [K]: (0, index_1.Optional)(T[K]) };
|
|
28
36
|
}, {});
|
|
29
37
|
}
|
|
38
|
+
// prettier-ignore
|
|
30
39
|
function PartialResolve(T) {
|
|
31
40
|
return ((0, type_2.TIntersect)(T) ? (0, index_3.Intersect)(FromIntersect(T.allOf)) :
|
|
32
41
|
(0, type_2.TUnion)(T) ? (0, index_4.Union)(FromUnion(T.anyOf)) :
|
|
33
42
|
(0, type_2.TObject)(T) ? (0, index_2.Object)(FromProperties(T.properties)) :
|
|
34
43
|
(0, index_2.Object)({}));
|
|
35
44
|
}
|
|
45
|
+
/** `[Json]` Constructs a type where all properties are optional */
|
|
36
46
|
function Partial(T, options = {}) {
|
|
37
47
|
if ((0, type_2.TMappedResult)(T)) {
|
|
38
48
|
return (0, partial_from_mapped_result_1.PartialFromMappedResult)(T, options);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.PatternStringExact = exports.PatternNumberExact = exports.PatternBooleanExact = exports.PatternString = exports.PatternNumber = exports.PatternBoolean = void 0;
|
|
4
5
|
exports.PatternBoolean = '(true|false)';
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.PickFromMappedKey = void 0;
|
|
4
5
|
const index_1 = require("../mapped/index");
|
|
5
6
|
const pick_1 = require("./pick");
|
|
7
|
+
// prettier-ignore
|
|
6
8
|
function FromPropertyKey(T, K, options) {
|
|
7
9
|
return {
|
|
8
10
|
[K]: (0, pick_1.Pick)(T, [K], options)
|
|
9
11
|
};
|
|
10
12
|
}
|
|
13
|
+
// prettier-ignore
|
|
11
14
|
function FromPropertyKeys(T, K, options) {
|
|
12
15
|
const [LK, ...RK] = K;
|
|
13
16
|
return (K.length > 0
|
|
14
17
|
? { ...FromPropertyKey(T, LK, options), ...FromPropertyKeys(T, RK, options) }
|
|
15
18
|
: {});
|
|
16
19
|
}
|
|
20
|
+
// prettier-ignore
|
|
17
21
|
function FromMappedKey(T, K, options) {
|
|
18
22
|
return FromPropertyKeys(T, K.keys, options);
|
|
19
23
|
}
|
|
24
|
+
// prettier-ignore
|
|
20
25
|
function PickFromMappedKey(T, K, options) {
|
|
21
26
|
const P = FromMappedKey(T, K, options);
|
|
22
27
|
return (0, index_1.MappedResult)(P);
|
|
@@ -16,7 +16,10 @@ declare function FromProperties<T extends TProperties, K extends PropertyKey[]>(
|
|
|
16
16
|
export type PickResolve<T extends TProperties, K extends PropertyKey[]> = T extends TRecursive<infer S> ? TRecursive<PickResolve<S, K>> : T extends TIntersect<infer S> ? TIntersect<FromIntersect<S, K>> : T extends TUnion<infer S> ? TUnion<FromUnion<S, K>> : T extends TObject<infer S> ? TObject<FromProperties<S, K>> : TObject<{}>;
|
|
17
17
|
export declare function PickResolve<T extends TSchema, K extends PropertyKey[]>(T: T, K: [...K]): PickResolve<T, K>;
|
|
18
18
|
export type TPick<T extends TSchema, K extends PropertyKey[]> = PickResolve<T, K>;
|
|
19
|
+
/** `[Json]` Constructs a type whose keys are picked from the given type */
|
|
19
20
|
export declare function Pick<T extends TSchema, K extends TMappedKey>(T: T, K: K): TPickFromMappedKey<T, K>;
|
|
21
|
+
/** `[Json]` Constructs a type whose keys are picked from the given type */
|
|
20
22
|
export declare function Pick<T extends TSchema, K extends TSchema, I extends PropertyKey[] = TIndexPropertyKeys<K>>(T: T, K: K, options?: SchemaOptions): TPick<T, I>;
|
|
23
|
+
/** `[Json]` Constructs a type whose keys are picked from the given type */
|
|
21
24
|
export declare function Pick<T extends TSchema, K extends PropertyKey[]>(T: T, K: readonly [...K], options?: SchemaOptions): TPick<T, K>;
|
|
22
25
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Pick = exports.PickResolve = void 0;
|
|
4
5
|
const index_1 = require("../intersect/index");
|
|
@@ -9,18 +10,25 @@ const index_5 = require("../discard/index");
|
|
|
9
10
|
const index_6 = require("../symbols/index");
|
|
10
11
|
const type_1 = require("../clone/type");
|
|
11
12
|
const pick_from_mapped_key_1 = require("./pick-from-mapped-key");
|
|
13
|
+
// ------------------------------------------------------------------
|
|
14
|
+
// TypeGuard
|
|
15
|
+
// ------------------------------------------------------------------
|
|
16
|
+
// prettier-ignore
|
|
12
17
|
const type_2 = require("../guard/type");
|
|
13
18
|
function FromIntersect(T, K) {
|
|
14
19
|
return T.map((T) => PickResolve(T, K));
|
|
15
20
|
}
|
|
21
|
+
// prettier-ignore
|
|
16
22
|
function FromUnion(T, K) {
|
|
17
23
|
return T.map((T) => PickResolve(T, K));
|
|
18
24
|
}
|
|
25
|
+
// prettier-ignore
|
|
19
26
|
function FromProperties(T, K) {
|
|
20
27
|
return K.reduce((Acc, K) => {
|
|
21
28
|
return K in T ? { ...Acc, [K]: T[K] } : Acc;
|
|
22
29
|
}, {});
|
|
23
30
|
}
|
|
31
|
+
// prettier-ignore
|
|
24
32
|
function PickResolve(T, K) {
|
|
25
33
|
return ((0, type_2.TIntersect)(T) ? (0, index_1.Intersect)(FromIntersect(T.allOf, K)) :
|
|
26
34
|
(0, type_2.TUnion)(T) ? (0, index_2.Union)(FromUnion(T.anyOf, K)) :
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Promise = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
5
6
|
const type_1 = require("../clone/type");
|
|
7
|
+
/** `[JavaScript]` Creates a Promise type */
|
|
6
8
|
function Promise(item, options = {}) {
|
|
7
9
|
return {
|
|
8
10
|
...options,
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Readonly = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
5
6
|
const type_1 = require("../clone/type");
|
|
7
|
+
/** `[Json]` Creates a Readonly property */
|
|
6
8
|
function Readonly(schema) {
|
|
7
9
|
return { ...(0, type_1.CloneType)(schema), [index_1.ReadonlyKind]: 'Readonly' };
|
|
8
10
|
}
|
|
@@ -2,4 +2,5 @@ import type { TSchema } from '../schema/index';
|
|
|
2
2
|
import { type TReadonly } from '../readonly/index';
|
|
3
3
|
import { type TOptional } from '../optional/index';
|
|
4
4
|
export type TReadonlyOptional<T extends TSchema> = TOptional<T> & TReadonly<T>;
|
|
5
|
+
/** `[Json]` Creates a Readonly and Optional property */
|
|
5
6
|
export declare function ReadonlyOptional<T extends TSchema>(schema: T): TReadonly<TOptional<T>>;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.ReadonlyOptional = void 0;
|
|
4
5
|
const index_1 = require("../readonly/index");
|
|
5
6
|
const index_2 = require("../optional/index");
|
|
7
|
+
/** `[Json]` Creates a Readonly and Optional property */
|
|
6
8
|
function ReadonlyOptional(schema) {
|
|
7
9
|
return (0, index_1.Readonly)((0, index_2.Optional)(schema));
|
|
8
10
|
}
|
|
@@ -16,7 +16,7 @@ type FromTemplateLiteralKeyFinite<K extends TTemplateLiteral, T extends TSchema,
|
|
|
16
16
|
[_ in I]: T;
|
|
17
17
|
}>>>);
|
|
18
18
|
type FromTemplateLiteralKey<K extends TTemplateLiteral, T extends TSchema> = IsTemplateLiteralFinite<K> extends false ? FromTemplateLiteralKeyInfinite<K, T> : FromTemplateLiteralKeyFinite<K, T>;
|
|
19
|
-
declare function FromTemplateLiteralKey<K extends TTemplateLiteral, T extends TSchema>(K: K, T: T): FromTemplateLiteralKey<K, T>;
|
|
19
|
+
declare function FromTemplateLiteralKey<K extends TTemplateLiteral, T extends TSchema>(K: K, T: T, options: ObjectOptions): FromTemplateLiteralKey<K, T>;
|
|
20
20
|
type FromEnumKey<K extends Record<string, string | number>, T extends TSchema> = Ensure<TObject<{
|
|
21
21
|
[_ in K[keyof K]]: T;
|
|
22
22
|
}>>;
|
|
@@ -28,26 +28,28 @@ type FromUnionKeyLiteralNumber<K extends TLiteral<number>, T extends TSchema> =
|
|
|
28
28
|
};
|
|
29
29
|
type FromUnionKeyRest<K extends TSchema[], T extends TSchema> = K extends [infer L extends TSchema, ...infer R extends TSchema[]] ? (L extends TUnion<infer S> ? FromUnionKeyRest<S, T> & FromUnionKeyRest<R, T> : L extends TLiteral<string> ? FromUnionKeyLiteralString<L, T> & FromUnionKeyRest<R, T> : L extends TLiteral<number> ? FromUnionKeyLiteralNumber<L, T> & FromUnionKeyRest<R, T> : {}) : {};
|
|
30
30
|
type FromUnionKey<K extends TSchema[], T extends TSchema, P extends TProperties = FromUnionKeyRest<K, T>> = (Ensure<TObject<P>>);
|
|
31
|
-
declare function FromUnionKey<K extends TSchema[], T extends TSchema>(K: K, T: T): FromUnionKey<K, T>;
|
|
31
|
+
declare function FromUnionKey<K extends TSchema[], T extends TSchema>(K: K, T: T, options: ObjectOptions): FromUnionKey<K, T>;
|
|
32
32
|
type FromLiteralKey<K extends TLiteralValue, T extends TSchema> = (Ensure<TObject<{
|
|
33
33
|
[_ in Assert<K, PropertyKey>]: T;
|
|
34
34
|
}>>);
|
|
35
|
-
declare function FromLiteralKey<K extends TLiteralValue, T extends TSchema>(K: K, T: T): FromLiteralKey<K, T>;
|
|
35
|
+
declare function FromLiteralKey<K extends TLiteralValue, T extends TSchema>(K: K, T: T, options: ObjectOptions): FromLiteralKey<K, T>;
|
|
36
36
|
type FromStringKey<_ extends TString, T extends TSchema> = (Ensure<TRecord<TString, T>>);
|
|
37
|
-
declare function FromStringKey<K extends TString, T extends TSchema>(K: K, T: T): FromStringKey<K, T>;
|
|
37
|
+
declare function FromStringKey<K extends TString, T extends TSchema>(K: K, T: T, options: ObjectOptions): FromStringKey<K, T>;
|
|
38
38
|
type FromIntegerKey<_ extends TSchema, T extends TSchema> = (Ensure<TRecord<TNumber, T>>);
|
|
39
|
-
declare function FromIntegerKey<K extends TInteger, T extends TSchema>(_: K, T: T): FromIntegerKey<K, T>;
|
|
39
|
+
declare function FromIntegerKey<K extends TInteger, T extends TSchema>(_: K, T: T, options: ObjectOptions): FromIntegerKey<K, T>;
|
|
40
40
|
type FromNumberKey<_ extends TSchema, T extends TSchema> = (Ensure<TRecord<TNumber, T>>);
|
|
41
|
-
declare function FromNumberKey<K extends TNumber, T extends TSchema>(_: K, T: T): FromIntegerKey<K, T>;
|
|
42
|
-
|
|
41
|
+
declare function FromNumberKey<K extends TNumber, T extends TSchema>(_: K, T: T, options: ObjectOptions): FromIntegerKey<K, T>;
|
|
42
|
+
type RecordStatic<K extends TSchema, T extends TSchema, P extends unknown[]> = (Record<Assert<Static<K>, PropertyKey>, Static<T, P>>);
|
|
43
43
|
export interface TRecord<K extends TSchema = TSchema, T extends TSchema = TSchema> extends TSchema {
|
|
44
44
|
[Kind]: 'Record';
|
|
45
|
-
static:
|
|
45
|
+
static: RecordStatic<K, T, this['params']>;
|
|
46
46
|
type: 'object';
|
|
47
47
|
patternProperties: {
|
|
48
48
|
[pattern: string]: T;
|
|
49
49
|
};
|
|
50
50
|
additionalProperties: TAdditionalProperties;
|
|
51
51
|
}
|
|
52
|
-
export
|
|
52
|
+
export type TRecordOrObject<K extends TSchema, T extends TSchema> = K extends TTemplateLiteral ? FromTemplateLiteralKey<K, T> : K extends TEnum<infer S> ? FromEnumKey<S, T> : K extends TUnion<infer S> ? FromUnionKey<S, T> : K extends TLiteral<infer S> ? FromLiteralKey<S, T> : K extends TInteger ? FromIntegerKey<K, T> : K extends TNumber ? FromNumberKey<K, T> : K extends TString ? FromStringKey<K, T> : TNever;
|
|
53
|
+
/** `[Json]` Creates a Record type */
|
|
54
|
+
export declare function Record<K extends TSchema, T extends TSchema>(K: K, T: T, options?: ObjectOptions): TRecordOrObject<K, T>;
|
|
53
55
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Record = void 0;
|
|
4
5
|
const index_1 = require("../object/index");
|
|
@@ -10,46 +11,71 @@ const index_6 = require("../indexed/index");
|
|
|
10
11
|
const index_7 = require("../symbols/index");
|
|
11
12
|
const type_1 = require("../clone/type");
|
|
12
13
|
const value_1 = require("../guard/value");
|
|
14
|
+
// ------------------------------------------------------------------
|
|
15
|
+
// TypeGuard
|
|
16
|
+
// ------------------------------------------------------------------
|
|
17
|
+
// prettier-ignore
|
|
13
18
|
const type_2 = require("../guard/type");
|
|
14
|
-
|
|
15
|
-
|
|
19
|
+
// ------------------------------------------------------------------
|
|
20
|
+
// RecordCreateFromPattern
|
|
21
|
+
// ------------------------------------------------------------------
|
|
22
|
+
// prettier-ignore
|
|
23
|
+
function RecordCreateFromPattern(pattern, T, options) {
|
|
24
|
+
return {
|
|
25
|
+
...options,
|
|
26
|
+
[index_7.Kind]: 'Record',
|
|
27
|
+
type: 'object',
|
|
28
|
+
patternProperties: { [pattern]: (0, type_1.CloneType)(T) }
|
|
29
|
+
};
|
|
16
30
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
31
|
+
// ------------------------------------------------------------------
|
|
32
|
+
// RecordCreateFromKeys
|
|
33
|
+
// ------------------------------------------------------------------
|
|
34
|
+
// prettier-ignore
|
|
35
|
+
function RecordCreateFromKeys(K, T, options) {
|
|
36
|
+
const P = K.reduce((Acc, K) => ({ ...Acc, [K]: (0, type_1.CloneType)(T) }), {});
|
|
37
|
+
return (0, index_1.Object)(P, { ...options, [index_7.Hint]: 'Record' });
|
|
20
38
|
}
|
|
21
|
-
|
|
39
|
+
// prettier-ignore
|
|
40
|
+
function FromTemplateLiteralKey(K, T, options) {
|
|
22
41
|
const expression = (0, index_4.TemplateLiteralParseExact)(K.pattern);
|
|
23
42
|
return ((0, index_4.IsTemplateLiteralFinite)(expression)
|
|
24
|
-
?
|
|
25
|
-
:
|
|
43
|
+
? RecordCreateFromKeys((0, index_6.IndexPropertyKeys)(K), T, options)
|
|
44
|
+
: RecordCreateFromPattern(K.pattern, T, options));
|
|
26
45
|
}
|
|
27
|
-
|
|
28
|
-
|
|
46
|
+
// prettier-ignore
|
|
47
|
+
function FromUnionKey(K, T, options) {
|
|
48
|
+
return RecordCreateFromKeys((0, index_6.IndexPropertyKeys)((0, index_3.Union)(K)), T, options);
|
|
29
49
|
}
|
|
30
|
-
|
|
31
|
-
|
|
50
|
+
// prettier-ignore
|
|
51
|
+
function FromLiteralKey(K, T, options) {
|
|
52
|
+
return RecordCreateFromKeys([K.toString()], T, options);
|
|
32
53
|
}
|
|
33
|
-
|
|
54
|
+
// prettier-ignore
|
|
55
|
+
function FromStringKey(K, T, options) {
|
|
34
56
|
const pattern = (0, value_1.IsUndefined)(K.pattern) ? index_5.PatternStringExact : K.pattern;
|
|
35
|
-
return
|
|
57
|
+
return RecordCreateFromPattern(pattern, T, options);
|
|
36
58
|
}
|
|
37
|
-
|
|
38
|
-
|
|
59
|
+
// prettier-ignore
|
|
60
|
+
function FromIntegerKey(_, T, options) {
|
|
61
|
+
return RecordCreateFromPattern(index_5.PatternNumberExact, T, options);
|
|
39
62
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
function RecordResolve(K, T) {
|
|
44
|
-
return ((0, type_2.TUnion)(K) ? FromUnionKey(K.anyOf, T) :
|
|
45
|
-
(0, type_2.TTemplateLiteral)(K) ? FromTemplateLiteralKey(K, T) :
|
|
46
|
-
(0, type_2.TLiteral)(K) ? FromLiteralKey(K.const, T) :
|
|
47
|
-
(0, type_2.TString)(K) ? FromStringKey(K, T) :
|
|
48
|
-
(0, type_2.TInteger)(K) ? FromIntegerKey(K, T) :
|
|
49
|
-
(0, type_2.TNumber)(K) ? FromNumberKey(K, T) :
|
|
50
|
-
(0, index_2.Never)());
|
|
63
|
+
// prettier-ignore
|
|
64
|
+
function FromNumberKey(_, T, options) {
|
|
65
|
+
return RecordCreateFromPattern(index_5.PatternNumberExact, T, options);
|
|
51
66
|
}
|
|
67
|
+
// ------------------------------------------------------------------
|
|
68
|
+
// TRecordOrObject
|
|
69
|
+
// ------------------------------------------------------------------
|
|
70
|
+
/** `[Json]` Creates a Record type */
|
|
52
71
|
function Record(K, T, options = {}) {
|
|
53
|
-
|
|
72
|
+
// prettier-ignore
|
|
73
|
+
return ((0, type_2.TUnion)(K) ? FromUnionKey(K.anyOf, T, options) :
|
|
74
|
+
(0, type_2.TTemplateLiteral)(K) ? FromTemplateLiteralKey(K, T, options) :
|
|
75
|
+
(0, type_2.TLiteral)(K) ? FromLiteralKey(K.const, T, options) :
|
|
76
|
+
(0, type_2.TString)(K) ? FromStringKey(K, T, options) :
|
|
77
|
+
(0, type_2.TInteger)(K) ? FromIntegerKey(K, T, options) :
|
|
78
|
+
(0, type_2.TNumber)(K) ? FromNumberKey(K, T, options) :
|
|
79
|
+
(0, index_2.Never)(options));
|
|
54
80
|
}
|
|
55
81
|
exports.Record = Record;
|
|
@@ -11,5 +11,6 @@ export interface TRecursive<T extends TSchema> extends TSchema {
|
|
|
11
11
|
[Hint]: 'Recursive';
|
|
12
12
|
static: RecursiveStatic<T>;
|
|
13
13
|
}
|
|
14
|
+
/** `[Json]` Creates a Recursive type */
|
|
14
15
|
export declare function Recursive<T extends TSchema>(callback: (thisType: TThis) => T, options?: SchemaOptions): TRecursive<T>;
|
|
15
16
|
export {};
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Recursive = void 0;
|
|
4
5
|
const type_1 = require("../clone/type");
|
|
5
6
|
const value_1 = require("../guard/value");
|
|
6
7
|
const index_1 = require("../symbols/index");
|
|
8
|
+
// Auto Tracked For Recursive Types without ID's
|
|
7
9
|
let Ordinal = 0;
|
|
10
|
+
/** `[Json]` Creates a Recursive type */
|
|
8
11
|
function Recursive(callback, options = {}) {
|
|
9
12
|
if ((0, value_1.IsUndefined)(options.$id))
|
|
10
13
|
options.$id = `T${Ordinal++}`;
|
|
11
14
|
const thisType = callback({ [index_1.Kind]: 'This', $ref: `${options.$id}` });
|
|
12
15
|
thisType.$id = options.$id;
|
|
16
|
+
// prettier-ignore
|
|
13
17
|
return (0, type_1.CloneType)({ ...options, [index_1.Hint]: 'Recursive', ...thisType });
|
|
14
18
|
}
|
|
15
19
|
exports.Recursive = Recursive;
|
|
@@ -6,5 +6,7 @@ export interface TRef<T extends TSchema = TSchema> extends TSchema {
|
|
|
6
6
|
static: Static<T, this['params']>;
|
|
7
7
|
$ref: string;
|
|
8
8
|
}
|
|
9
|
+
/** `[Json]` Creates a Ref type. The referenced type must contain a $id */
|
|
9
10
|
export declare function Ref<T extends TSchema>(schema: T, options?: SchemaOptions): TRef<T>;
|
|
11
|
+
/** `[Json]` Creates a Ref type. */
|
|
10
12
|
export declare function Ref<T extends TSchema>($ref: string, options?: SchemaOptions): TRef<T>;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Ref = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
5
6
|
const value_1 = require("../guard/value");
|
|
7
|
+
/** `[Json]` Creates a Ref type. */
|
|
6
8
|
function Ref(unresolved, options = {}) {
|
|
7
9
|
if ((0, value_1.IsString)(unresolved))
|
|
8
10
|
return { ...options, [index_1.Kind]: 'Ref', $ref: unresolved };
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { SchemaOptions } from '../schema/index';
|
|
2
2
|
import type { TString } from '../string/index';
|
|
3
3
|
export type TRegExp = TString;
|
|
4
|
+
/** `[JavaScript]` Creates a String type from a Regular Expression pattern */
|
|
4
5
|
export declare function RegExp(pattern: string, options?: SchemaOptions): TRegExp;
|
|
6
|
+
/** `[JavaScript]` Creates a String type from a Regular Expression */
|
|
5
7
|
export declare function RegExp(regex: RegExp, options?: SchemaOptions): TRegExp;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.RegExp = void 0;
|
|
4
5
|
const value_1 = require("../guard/value");
|
|
5
6
|
const index_1 = require("../symbols/index");
|
|
7
|
+
/** `[JavaScript]` Creates a String type */
|
|
6
8
|
function RegExp(unresolved, options = {}) {
|
|
7
9
|
const pattern = (0, value_1.IsString)(unresolved) ? unresolved : unresolved.source;
|
|
8
10
|
return { ...options, [index_1.Kind]: 'String', type: 'string', pattern };
|