@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,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Iterator = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
5
6
|
const type_1 = require("../clone/type");
|
|
7
|
+
/** `[JavaScript]` Creates an Iterator type */
|
|
6
8
|
function Iterator(items, options = {}) {
|
|
7
9
|
return {
|
|
8
10
|
...options,
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.KeyOfFromMappedResult = void 0;
|
|
4
5
|
const index_1 = require("../mapped/index");
|
|
5
6
|
const keyof_1 = require("./keyof");
|
|
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, keyof_1.KeyOf)(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 KeyOfFromMappedResult(T, options) {
|
|
15
19
|
const P = FromMappedResult(T, options);
|
|
16
20
|
return (0, index_1.MappedResult)(P);
|
|
@@ -23,6 +23,8 @@ type FromProperties<T extends TProperties> = (UnionToTuple<keyof T>);
|
|
|
23
23
|
declare function FromProperties<T extends TProperties>(T: T): FromProperties<T>;
|
|
24
24
|
export type KeyOfPropertyKeys<T extends TSchema> = (T extends TRecursive<infer S> ? KeyOfPropertyKeys<S> : T extends TIntersect<infer S> ? FromIntersect<S> : T extends TUnion<infer S> ? FromUnion<S> : T extends TTuple<infer S> ? FromTuple<S> : T extends TArray<infer S> ? FromArray<S> : T extends TObject<infer S> ? FromProperties<S> : [
|
|
25
25
|
]);
|
|
26
|
+
/** Returns a tuple of PropertyKeys derived from the given TSchema. */
|
|
26
27
|
export declare function KeyOfPropertyKeys<T extends TSchema>(T: T): KeyOfPropertyKeys<T>;
|
|
28
|
+
/** Returns a regular expression pattern derived from the given TSchema */
|
|
27
29
|
export declare function KeyOfPattern(schema: TSchema): string;
|
|
28
30
|
export {};
|
|
@@ -1,34 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.KeyOfPattern = exports.KeyOfPropertyKeys = void 0;
|
|
4
5
|
const index_1 = require("../helpers/index");
|
|
5
6
|
const index_2 = require("../operators/index");
|
|
7
|
+
// ------------------------------------------------------------------
|
|
8
|
+
// TypeGuard
|
|
9
|
+
// ------------------------------------------------------------------
|
|
10
|
+
// prettier-ignore
|
|
6
11
|
const type_1 = require("../guard/type");
|
|
12
|
+
// prettier-ignore
|
|
7
13
|
function FromRest(T) {
|
|
8
14
|
const [L, ...R] = T;
|
|
9
15
|
return (T.length > 0
|
|
10
16
|
? [KeyOfPropertyKeys(L), ...FromRest(R)]
|
|
11
17
|
: []);
|
|
12
18
|
}
|
|
19
|
+
// prettier-ignore
|
|
13
20
|
function FromIntersect(T, C = FromRest(T)) {
|
|
14
21
|
return (0, index_2.OperatorUnionMany)(C);
|
|
15
22
|
}
|
|
23
|
+
// prettier-ignore
|
|
16
24
|
function FromUnion(T) {
|
|
17
25
|
const C = FromRest(T);
|
|
18
26
|
return (0, index_2.OperatorIntersectMany)(C);
|
|
19
27
|
}
|
|
28
|
+
// prettier-ignore
|
|
20
29
|
function FromTuple(T, I = '0') {
|
|
21
30
|
const [_, ...R] = T;
|
|
22
31
|
return (T.length > 0
|
|
23
32
|
? [I, ...FromTuple(R, (0, index_1.Increment)(I))]
|
|
24
33
|
: []);
|
|
25
34
|
}
|
|
35
|
+
// prettier-ignore
|
|
26
36
|
function FromArray(_) {
|
|
27
37
|
return (['[number]']);
|
|
28
38
|
}
|
|
39
|
+
// prettier-ignore
|
|
29
40
|
function FromProperties(T) {
|
|
30
41
|
return (globalThis.Object.getOwnPropertyNames(T));
|
|
31
42
|
}
|
|
43
|
+
// ------------------------------------------------------------------
|
|
44
|
+
// FromPatternProperties
|
|
45
|
+
// ------------------------------------------------------------------
|
|
46
|
+
// prettier-ignore
|
|
32
47
|
function FromPatternProperties(patternProperties) {
|
|
33
48
|
if (!includePatternProperties)
|
|
34
49
|
return [];
|
|
@@ -39,6 +54,8 @@ function FromPatternProperties(patternProperties) {
|
|
|
39
54
|
: key;
|
|
40
55
|
});
|
|
41
56
|
}
|
|
57
|
+
/** Returns a tuple of PropertyKeys derived from the given TSchema. */
|
|
58
|
+
// prettier-ignore
|
|
42
59
|
function KeyOfPropertyKeys(T) {
|
|
43
60
|
return ((0, type_1.TIntersect)(T) ? FromIntersect(T.allOf) :
|
|
44
61
|
(0, type_1.TUnion)(T) ? FromUnion(T.anyOf) :
|
|
@@ -49,7 +66,11 @@ function KeyOfPropertyKeys(T) {
|
|
|
49
66
|
[]);
|
|
50
67
|
}
|
|
51
68
|
exports.KeyOfPropertyKeys = KeyOfPropertyKeys;
|
|
69
|
+
// ----------------------------------------------------------------
|
|
70
|
+
// KeyOfPattern
|
|
71
|
+
// ----------------------------------------------------------------
|
|
52
72
|
let includePatternProperties = false;
|
|
73
|
+
/** Returns a regular expression pattern derived from the given TSchema */
|
|
53
74
|
function KeyOfPattern(schema) {
|
|
54
75
|
includePatternProperties = true;
|
|
55
76
|
const keys = KeyOfPropertyKeys(schema);
|
|
@@ -10,6 +10,8 @@ import { type TKeyOfFromMappedResult } from './keyof-from-mapped-result';
|
|
|
10
10
|
type FromLiterals<T extends TLiteralValue[]> = (T extends [infer L extends TLiteralValue, ...infer R extends TLiteralValue[]] ? L extends '[number]' ? [TNumber, ...FromLiterals<R>] : [TLiteral<L>, ...FromLiterals<R>] : []);
|
|
11
11
|
declare function FromLiterals<T extends TLiteralValue[]>(T: [...T]): FromLiterals<T>;
|
|
12
12
|
export type TKeyOf<T extends TSchema> = (Ensure<UnionEvaluated<FromLiterals<KeyOfPropertyKeys<T>>>>);
|
|
13
|
+
/** `[Json]` Creates a KeyOf type */
|
|
13
14
|
export declare function KeyOf<T extends TMappedResult>(T: T, options?: SchemaOptions): TKeyOfFromMappedResult<T>;
|
|
15
|
+
/** `[Json]` Creates a KeyOf type */
|
|
14
16
|
export declare function KeyOf<T extends TSchema>(T: T, options?: SchemaOptions): TKeyOf<T>;
|
|
15
17
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.KeyOf = void 0;
|
|
4
5
|
const index_1 = require("../literal/index");
|
|
@@ -7,7 +8,12 @@ const keyof_property_keys_1 = require("./keyof-property-keys");
|
|
|
7
8
|
const index_3 = require("../union/index");
|
|
8
9
|
const type_1 = require("../clone/type");
|
|
9
10
|
const keyof_from_mapped_result_1 = require("./keyof-from-mapped-result");
|
|
11
|
+
// ------------------------------------------------------------------
|
|
12
|
+
// TypeGuard
|
|
13
|
+
// ------------------------------------------------------------------
|
|
14
|
+
// prettier-ignore
|
|
10
15
|
const type_2 = require("../guard/type");
|
|
16
|
+
// prettier-ignore
|
|
11
17
|
function FromLiterals(T) {
|
|
12
18
|
const [L, ...R] = T;
|
|
13
19
|
return (T.length > 0
|
|
@@ -16,6 +22,7 @@ function FromLiterals(T) {
|
|
|
16
22
|
: [(0, index_1.Literal)(L), ...FromLiterals(R)]
|
|
17
23
|
: []);
|
|
18
24
|
}
|
|
25
|
+
/** `[Json]` Creates a KeyOf type */
|
|
19
26
|
function KeyOf(T, options = {}) {
|
|
20
27
|
if ((0, type_2.TMappedResult)(T)) {
|
|
21
28
|
return (0, keyof_from_mapped_result_1.KeyOfFromMappedResult)(T, options);
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.MappedResult = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
6
|
+
// prettier-ignore
|
|
5
7
|
function MappedResult(properties) {
|
|
6
8
|
return {
|
|
7
9
|
[index_1.Kind]: 'MappedResult',
|
|
@@ -38,6 +38,8 @@ type FromMappedFunctionReturnType<K extends PropertyKey[], T extends TSchema> =
|
|
|
38
38
|
declare function FromMappedFunctionReturnType<K extends PropertyKey[], T extends TSchema>(K: [...K], T: T): FromMappedFunctionReturnType<K, T>;
|
|
39
39
|
export type TMappedFunction<K extends PropertyKey[], I = TMappedKey<K>> = (T: I) => TSchema;
|
|
40
40
|
export type TMapped<K extends PropertyKey[], F extends TMappedFunction<K>, R extends TProperties = Evaluate<FromMappedFunctionReturnType<K, ReturnType<F>>>> = Ensure<TObject<R>>;
|
|
41
|
+
/** `[Json]` Creates a Mapped object type */
|
|
41
42
|
export declare function Mapped<K extends TSchema, I extends PropertyKey[] = TIndexPropertyKeys<K>, F extends TMappedFunction<I> = TMappedFunction<I>, R extends TMapped<I, F> = TMapped<I, F>>(key: K, map: F, options?: ObjectOptions): R;
|
|
43
|
+
/** `[Json]` Creates a Mapped object type */
|
|
42
44
|
export declare function Mapped<K extends PropertyKey[], F extends TMappedFunction<K> = TMappedFunction<K>, R extends TMapped<K, F> = TMapped<K, F>>(key: [...K], map: F, options?: ObjectOptions): R;
|
|
43
45
|
export {};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Mapped = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
5
6
|
const type_1 = require("../clone/type");
|
|
6
7
|
const index_2 = require("../discard/index");
|
|
8
|
+
// evaluation types
|
|
7
9
|
const index_3 = require("../array/index");
|
|
8
10
|
const index_4 = require("../async-iterator/index");
|
|
9
11
|
const index_5 = require("../constructor/index");
|
|
@@ -18,39 +20,54 @@ const index_13 = require("../promise/index");
|
|
|
18
20
|
const index_14 = require("../readonly/index");
|
|
19
21
|
const index_15 = require("../tuple/index");
|
|
20
22
|
const index_16 = require("../union/index");
|
|
23
|
+
// mapping types
|
|
21
24
|
const mapped_result_1 = require("./mapped-result");
|
|
25
|
+
// ------------------------------------------------------------------
|
|
26
|
+
// TypeGuard
|
|
27
|
+
// ------------------------------------------------------------------
|
|
28
|
+
// prettier-ignore
|
|
22
29
|
const type_2 = require("../guard/type");
|
|
30
|
+
// prettier-ignore
|
|
23
31
|
function FromMappedResult(K, P) {
|
|
24
32
|
return (K in P
|
|
25
33
|
? FromSchemaType(K, P[K])
|
|
26
34
|
: (0, mapped_result_1.MappedResult)(P));
|
|
27
35
|
}
|
|
36
|
+
// prettier-ignore
|
|
28
37
|
function MappedKeyToMappedResultProperties(K, P) {
|
|
29
38
|
const [L, ...R] = P;
|
|
30
39
|
return (P.length > 0
|
|
31
40
|
? { [L]: (0, index_10.Literal)(L), ...MappedKeyToMappedResultProperties(K, R) }
|
|
32
41
|
: {});
|
|
33
42
|
}
|
|
43
|
+
// prettier-ignore
|
|
34
44
|
function FromMappedKey(K, P) {
|
|
35
45
|
const R = MappedKeyToMappedResultProperties(K, P);
|
|
36
46
|
return FromMappedResult(K, R);
|
|
37
47
|
}
|
|
48
|
+
// prettier-ignore
|
|
38
49
|
function FromRest(K, T) {
|
|
39
50
|
const [L, ...R] = T;
|
|
40
51
|
return (T.length > 0
|
|
41
52
|
? [FromSchemaType(K, L), ...FromRest(K, R)]
|
|
42
53
|
: []);
|
|
43
54
|
}
|
|
55
|
+
// prettier-ignore
|
|
44
56
|
function FromProperties(K, T) {
|
|
45
57
|
return globalThis.Object.getOwnPropertyNames(T).reduce((Acc, K2) => {
|
|
46
58
|
return { ...Acc, [K2]: FromSchemaType(K, T[K2]) };
|
|
47
59
|
}, {});
|
|
48
60
|
}
|
|
61
|
+
// prettier-ignore
|
|
49
62
|
function FromSchemaType(K, T) {
|
|
50
|
-
return (
|
|
63
|
+
return (
|
|
64
|
+
// unevaluated modifier types
|
|
65
|
+
(0, type_2.TOptional)(T) ? (0, index_12.Optional)(FromSchemaType(K, (0, index_2.Discard)(T, [index_1.OptionalKind]))) :
|
|
51
66
|
(0, type_2.TReadonly)(T) ? (0, index_14.Readonly)(FromSchemaType(K, (0, index_2.Discard)(T, [index_1.ReadonlyKind]))) :
|
|
67
|
+
// unevaluated mapped types
|
|
52
68
|
(0, type_2.TMappedResult)(T) ? FromMappedResult(K, T.properties) :
|
|
53
69
|
(0, type_2.TMappedKey)(T) ? FromMappedKey(K, T.keys) :
|
|
70
|
+
// unevaluated types
|
|
54
71
|
(0, type_2.TConstructor)(T) ? (0, index_5.Constructor)(FromRest(K, T.parameters), FromSchemaType(K, T.returns)) :
|
|
55
72
|
(0, type_2.TFunction)(T) ? (0, index_6.Function)(FromRest(K, T.parameters), FromSchemaType(K, T.returns)) :
|
|
56
73
|
(0, type_2.TAsyncIterator)(T) ? (0, index_4.AsyncIterator)(FromSchemaType(K, T.items)) :
|
|
@@ -63,12 +80,14 @@ function FromSchemaType(K, T) {
|
|
|
63
80
|
(0, type_2.TPromise)(T) ? (0, index_13.Promise)(FromSchemaType(K, T.item)) :
|
|
64
81
|
T);
|
|
65
82
|
}
|
|
83
|
+
// prettier-ignore
|
|
66
84
|
function FromMappedFunctionReturnType(K, T) {
|
|
67
85
|
const [L, ...R] = K;
|
|
68
86
|
return (K.length > 0
|
|
69
87
|
? { [L]: FromSchemaType(L, T), ...FromMappedFunctionReturnType(R, T) }
|
|
70
88
|
: {});
|
|
71
89
|
}
|
|
90
|
+
/** `[Json]` Creates a Mapped object type */
|
|
72
91
|
function Mapped(key, map, options = {}) {
|
|
73
92
|
const K = (0, type_2.TSchema)(key) ? (0, index_7.IndexPropertyKeys)(key) : key;
|
|
74
93
|
const RT = map({ [index_1.Kind]: 'MappedKey', keys: K });
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.OptionalFromUnion = exports.OptionalFromIntersect = void 0;
|
|
4
5
|
const index_1 = require("../intersect/index");
|
|
@@ -6,7 +7,12 @@ const index_2 = require("../union/index");
|
|
|
6
7
|
const index_3 = require("../optional/index");
|
|
7
8
|
const index_4 = require("../discard/index");
|
|
8
9
|
const index_5 = require("../symbols/index");
|
|
10
|
+
// ------------------------------------------------------------------
|
|
11
|
+
// TypeGuard
|
|
12
|
+
// ------------------------------------------------------------------
|
|
13
|
+
// prettier-ignore
|
|
9
14
|
const type_1 = require("../guard/type");
|
|
15
|
+
// prettier-ignore
|
|
10
16
|
function IsOptionalFromIntersect(T) {
|
|
11
17
|
const [L, ...R] = T;
|
|
12
18
|
return (T.length > 0
|
|
@@ -15,6 +21,7 @@ function IsOptionalFromIntersect(T) {
|
|
|
15
21
|
: false
|
|
16
22
|
: true);
|
|
17
23
|
}
|
|
24
|
+
// prettier-ignore
|
|
18
25
|
function IsOptionalFromUnion(T) {
|
|
19
26
|
const [L, ...R] = T;
|
|
20
27
|
return (T.length > 0
|
|
@@ -23,12 +30,15 @@ function IsOptionalFromUnion(T) {
|
|
|
23
30
|
: IsOptionalFromUnion(R)
|
|
24
31
|
: false);
|
|
25
32
|
}
|
|
33
|
+
// prettier-ignore
|
|
26
34
|
function RemoveOptionalFromRest(T) {
|
|
27
35
|
return (T.map(T => RemoveOptionalFromSchema(T)));
|
|
28
36
|
}
|
|
37
|
+
// prettier-ignore
|
|
29
38
|
function RemoveOptionalFromSchema(T) {
|
|
30
39
|
return ((0, index_4.Discard)(T, [index_5.OptionalKind]));
|
|
31
40
|
}
|
|
41
|
+
// prettier-ignore
|
|
32
42
|
function OptionalFromIntersect(T) {
|
|
33
43
|
const D = RemoveOptionalFromRest(T);
|
|
34
44
|
return (IsOptionalFromIntersect(T)
|
|
@@ -36,6 +46,7 @@ function OptionalFromIntersect(T) {
|
|
|
36
46
|
: (0, index_1.Intersect)(T));
|
|
37
47
|
}
|
|
38
48
|
exports.OptionalFromIntersect = OptionalFromIntersect;
|
|
49
|
+
// prettier-ignore
|
|
39
50
|
function OptionalFromUnion(T) {
|
|
40
51
|
const D = RemoveOptionalFromRest(T);
|
|
41
52
|
return (IsOptionalFromUnion(T)
|
|
@@ -14,4 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
|
|
17
18
|
__exportStar(require("./never"), exports);
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Not = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
5
6
|
const type_1 = require("../clone/type");
|
|
7
|
+
/** `[Json]` Creates a Not type */
|
|
6
8
|
function Not(schema, options) {
|
|
7
9
|
return {
|
|
8
10
|
...options,
|
|
@@ -22,8 +22,11 @@ export type TPropertyKey = string | number;
|
|
|
22
22
|
export type TProperties = Record<TPropertyKey, TSchema>;
|
|
23
23
|
export type TAdditionalProperties = undefined | TSchema | boolean;
|
|
24
24
|
export interface ObjectOptions extends SchemaOptions {
|
|
25
|
+
/** Additional property constraints for this object */
|
|
25
26
|
additionalProperties?: TAdditionalProperties;
|
|
27
|
+
/** The minimum number of properties allowed on this object */
|
|
26
28
|
minProperties?: number;
|
|
29
|
+
/** The maximum number of properties allowed on this object */
|
|
27
30
|
maxProperties?: number;
|
|
28
31
|
}
|
|
29
32
|
export interface TObject<T extends TProperties = TProperties> extends TSchema, ObjectOptions {
|
|
@@ -34,6 +37,8 @@ export interface TObject<T extends TProperties = TProperties> extends TSchema, O
|
|
|
34
37
|
properties: T;
|
|
35
38
|
required?: string[];
|
|
36
39
|
}
|
|
40
|
+
/** `[Json]` Creates an Object type */
|
|
37
41
|
export declare function _Object<T extends TProperties>(properties: T, options?: ObjectOptions): TObject<T>;
|
|
42
|
+
/** `[Json]` Creates an Object type */
|
|
38
43
|
export declare const Object: typeof _Object;
|
|
39
44
|
export {};
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Object = exports._Object = void 0;
|
|
4
5
|
const type_1 = require("../clone/type");
|
|
5
6
|
const index_1 = require("../symbols/index");
|
|
7
|
+
// ------------------------------------------------------------------
|
|
8
|
+
// TypeGuard
|
|
9
|
+
// ------------------------------------------------------------------
|
|
10
|
+
// prettier-ignore
|
|
6
11
|
const type_2 = require("../guard/type");
|
|
12
|
+
/** `[Json]` Creates an Object type */
|
|
7
13
|
function _Object(properties, options = {}) {
|
|
8
14
|
const propertyKeys = globalThis.Object.getOwnPropertyNames(properties);
|
|
9
15
|
const optionalKeys = propertyKeys.filter((key) => (0, type_2.TOptional)(properties[key]));
|
|
@@ -15,4 +21,5 @@ function _Object(properties, options = {}) {
|
|
|
15
21
|
: { ...options, ...clonedAdditionalProperties, [index_1.Kind]: 'Object', type: 'object', properties: clonedProperties });
|
|
16
22
|
}
|
|
17
23
|
exports._Object = _Object;
|
|
24
|
+
/** `[Json]` Creates an Object type */
|
|
18
25
|
exports.Object = _Object;
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.OmitFromMappedKey = void 0;
|
|
4
5
|
const index_1 = require("../mapped/index");
|
|
5
6
|
const omit_1 = require("./omit");
|
|
7
|
+
// prettier-ignore
|
|
6
8
|
function FromPropertyKey(T, K, options) {
|
|
7
9
|
return {
|
|
8
10
|
[K]: (0, omit_1.Omit)(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 OmitFromMappedKey(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 OmitResolve<T extends TProperties, K extends PropertyKey[]> = T extends TRecursive<infer S> ? TRecursive<OmitResolve<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 OmitResolve<T extends TSchema, K extends PropertyKey[]>(T: T, K: [...K]): OmitResolve<T, K>;
|
|
18
18
|
export type TOmit<T extends TSchema, K extends PropertyKey[]> = OmitResolve<T, K>;
|
|
19
|
+
/** `[Json]` Constructs a type whose keys are picked from the given type */
|
|
19
20
|
export declare function Omit<T extends TSchema, K extends TMappedKey>(T: T, K: K): TOmitFromMappedKey<T, K>;
|
|
21
|
+
/** `[Json]` Constructs a type whose keys are omitted from the given type */
|
|
20
22
|
export declare function Omit<T extends TSchema, K extends TSchema, I extends PropertyKey[] = TIndexPropertyKeys<K>>(T: T, K: K, options?: SchemaOptions): TOmit<T, I>;
|
|
23
|
+
/** `[Json]` Constructs a type whose keys are omitted from the given type */
|
|
21
24
|
export declare function Omit<T extends TSchema, K extends PropertyKey[]>(T: T, K: readonly [...K], options?: SchemaOptions): TOmit<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.Omit = exports.OmitResolve = void 0;
|
|
4
5
|
const index_1 = require("../intersect/index");
|
|
@@ -9,22 +10,34 @@ 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 omit_from_mapped_key_1 = require("./omit-from-mapped-key");
|
|
13
|
+
// ------------------------------------------------------------------
|
|
14
|
+
// TypeGuard
|
|
15
|
+
// ------------------------------------------------------------------
|
|
16
|
+
// prettier-ignore
|
|
12
17
|
const type_2 = require("../guard/type");
|
|
18
|
+
// prettier-ignore
|
|
13
19
|
function FromIntersect(T, K) {
|
|
14
20
|
return T.map((T) => OmitResolve(T, K));
|
|
15
21
|
}
|
|
22
|
+
// prettier-ignore
|
|
16
23
|
function FromUnion(T, K) {
|
|
17
24
|
return T.map((T) => OmitResolve(T, K));
|
|
18
25
|
}
|
|
26
|
+
// ------------------------------------------------------------------
|
|
27
|
+
// FromProperty
|
|
28
|
+
// ------------------------------------------------------------------
|
|
29
|
+
// prettier-ignore
|
|
19
30
|
function FromProperty(T, K) {
|
|
20
31
|
const { [K]: _, ...R } = T;
|
|
21
32
|
return R;
|
|
22
33
|
}
|
|
34
|
+
// prettier-ignore
|
|
23
35
|
function FromProperties(T, K) {
|
|
24
36
|
return K.reduce((T, K2) => {
|
|
25
37
|
return FromProperty(T, K2);
|
|
26
38
|
}, T);
|
|
27
39
|
}
|
|
40
|
+
// prettier-ignore
|
|
28
41
|
function OmitResolve(T, K) {
|
|
29
42
|
return ((0, type_2.TIntersect)(T) ? (0, index_1.Intersect)(FromIntersect(T.allOf, K)) :
|
|
30
43
|
(0, type_2.TUnion)(T) ? (0, index_2.Union)(FromUnion(T.anyOf, K)) :
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
export type OperatorIncludes<T extends PropertyKey[], S extends PropertyKey> = (T extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? S extends L ? true : OperatorIncludes<R, S> : false);
|
|
2
|
+
/** Returns true if element S is in the set of T */
|
|
2
3
|
export declare function OperatorIncludes<T extends PropertyKey[], S extends PropertyKey>(T: [...T], S: S): OperatorIncludes<T, S>;
|
|
3
4
|
export type OperatorSubset<T extends PropertyKey[], S extends PropertyKey[]> = T extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? OperatorIncludes<S, L> extends true ? OperatorSubset<R, S> : false : true;
|
|
5
|
+
/** Returns true if T is a subset of S */
|
|
4
6
|
export declare function OperatorSubset<T extends PropertyKey[], S extends PropertyKey[]>(T: [...T], S: [...S]): OperatorSubset<T, S>;
|
|
5
7
|
export type OperatorDistinct<T extends PropertyKey[], Acc extends PropertyKey[] = []> = T extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? OperatorIncludes<Acc, L> extends false ? OperatorDistinct<R, [...Acc, L]> : OperatorDistinct<R, [...Acc]> : Acc;
|
|
8
|
+
/** Returns a distinct set of elements */
|
|
6
9
|
export declare function OperatorDistinct<T extends PropertyKey[]>(T: [...T], Acc?: PropertyKey[]): OperatorDistinct<T>;
|
|
7
10
|
export type OperatorIntersect<T extends PropertyKey[], S extends PropertyKey[]> = (T extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? OperatorIncludes<S, L> extends true ? [L, ...OperatorIntersect<R, S>] : [...OperatorIntersect<R, S>] : []);
|
|
11
|
+
/** Returns the Intersect of the given sets */
|
|
8
12
|
export declare function OperatorIntersect<T extends PropertyKey[], S extends PropertyKey[]>(T: [...T], S: [...S]): OperatorIntersect<T, S>;
|
|
9
13
|
export type OperatorUnion<T extends PropertyKey[], S extends PropertyKey[]> = (T extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? OperatorIncludes<S, L> extends true ? [...OperatorUnion<R, S>] : [L, ...OperatorUnion<R, S>] : S);
|
|
14
|
+
/** Returns the Union of the given sets */
|
|
10
15
|
export declare function OperatorUnion<T extends PropertyKey[], S extends PropertyKey[]>(T: [...T], S: [...S]): OperatorUnion<T, S>;
|
|
11
16
|
export type OperatorComplement<T extends PropertyKey[], S extends PropertyKey[]> = (T extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? OperatorIncludes<S, L> extends true ? [...OperatorComplement<R, S>] : [L, ...OperatorComplement<R, S>] : []);
|
|
17
|
+
/** Returns the Complement by omitting elements in T that are in S */
|
|
12
18
|
export declare function OperatorComplement<T extends PropertyKey[], S extends PropertyKey[]>(T: [...T], S: [...S]): OperatorComplement<T, S>;
|
|
13
19
|
export type OperatorIntersectMany<T extends PropertyKey[][]> = (T extends [infer L extends PropertyKey[]] ? L : T extends [infer L extends PropertyKey[], ...infer R extends PropertyKey[][]] ? OperatorIntersect<L, OperatorIntersectMany<R>> : []);
|
|
20
|
+
/** Returns the Intersect of multiple sets */
|
|
14
21
|
export declare function OperatorIntersectMany<T extends PropertyKey[][]>(T: [...T]): OperatorIntersectMany<T>;
|
|
15
22
|
export type OperatorUnionMany<T extends PropertyKey[][]> = (T extends [infer L extends PropertyKey[]] ? L : T extends [infer L extends PropertyKey[], ...infer R extends PropertyKey[][]] ? OperatorUnion<L, OperatorUnionMany<R>> : []);
|
|
23
|
+
/** Returns the Union of multiple sets */
|
|
16
24
|
export declare function OperatorUnionMany<T extends PropertyKey[][]>(T: [...T]): OperatorUnionMany<T>;
|