@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,7 +1,13 @@
|
|
|
1
1
|
export type FormatRegistryValidationFunction = (value: string) => boolean;
|
|
2
|
+
/** Returns the entries in this registry */
|
|
2
3
|
export declare function Entries(): Map<string, FormatRegistryValidationFunction>;
|
|
4
|
+
/** Clears all user defined string formats */
|
|
3
5
|
export declare function Clear(): void;
|
|
6
|
+
/** Deletes a registered format */
|
|
4
7
|
export declare function Delete(format: string): boolean;
|
|
8
|
+
/** Returns true if the user defined string format exists */
|
|
5
9
|
export declare function Has(format: string): boolean;
|
|
10
|
+
/** Sets a validation function for a user defined string format */
|
|
6
11
|
export declare function Set(format: string, func: FormatRegistryValidationFunction): void;
|
|
12
|
+
/** Gets a validation function for a user defined string format */
|
|
7
13
|
export declare function Get(format: string): FormatRegistryValidationFunction | undefined;
|
|
@@ -1,27 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Get = exports.Set = exports.Has = exports.Delete = exports.Clear = exports.Entries = void 0;
|
|
5
|
+
/** A registry for user defined string formats */
|
|
4
6
|
const map = new Map();
|
|
7
|
+
/** Returns the entries in this registry */
|
|
5
8
|
function Entries() {
|
|
6
9
|
return new Map(map);
|
|
7
10
|
}
|
|
8
11
|
exports.Entries = Entries;
|
|
12
|
+
/** Clears all user defined string formats */
|
|
9
13
|
function Clear() {
|
|
10
14
|
return map.clear();
|
|
11
15
|
}
|
|
12
16
|
exports.Clear = Clear;
|
|
17
|
+
/** Deletes a registered format */
|
|
13
18
|
function Delete(format) {
|
|
14
19
|
return map.delete(format);
|
|
15
20
|
}
|
|
16
21
|
exports.Delete = Delete;
|
|
22
|
+
/** Returns true if the user defined string format exists */
|
|
17
23
|
function Has(format) {
|
|
18
24
|
return map.has(format);
|
|
19
25
|
}
|
|
20
26
|
exports.Has = Has;
|
|
27
|
+
/** Sets a validation function for a user defined string format */
|
|
21
28
|
function Set(format, func) {
|
|
22
29
|
map.set(format, func);
|
|
23
30
|
}
|
|
24
31
|
exports.Set = Set;
|
|
32
|
+
/** Gets a validation function for a user defined string format */
|
|
25
33
|
function Get(format) {
|
|
26
34
|
return map.get(format);
|
|
27
35
|
}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
export type TypeRegistryValidationFunction<TSchema> = (schema: TSchema, value: unknown) => boolean;
|
|
2
|
+
/** Returns the entries in this registry */
|
|
2
3
|
export declare function Entries(): Map<string, TypeRegistryValidationFunction<any>>;
|
|
4
|
+
/** Clears all user defined types */
|
|
3
5
|
export declare function Clear(): void;
|
|
6
|
+
/** Deletes a registered type */
|
|
4
7
|
export declare function Delete(kind: string): boolean;
|
|
8
|
+
/** Returns true if this registry contains this kind */
|
|
5
9
|
export declare function Has(kind: string): boolean;
|
|
10
|
+
/** Sets a validation function for a user defined type */
|
|
6
11
|
export declare function Set<TSchema = unknown>(kind: string, func: TypeRegistryValidationFunction<TSchema>): void;
|
|
12
|
+
/** Gets a custom validation function for a user defined type */
|
|
7
13
|
export declare function Get(kind: string): TypeRegistryValidationFunction<any> | undefined;
|
|
@@ -1,27 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Get = exports.Set = exports.Has = exports.Delete = exports.Clear = exports.Entries = void 0;
|
|
5
|
+
/** A registry for user defined types */
|
|
4
6
|
const map = new Map();
|
|
7
|
+
/** Returns the entries in this registry */
|
|
5
8
|
function Entries() {
|
|
6
9
|
return new Map(map);
|
|
7
10
|
}
|
|
8
11
|
exports.Entries = Entries;
|
|
12
|
+
/** Clears all user defined types */
|
|
9
13
|
function Clear() {
|
|
10
14
|
return map.clear();
|
|
11
15
|
}
|
|
12
16
|
exports.Clear = Clear;
|
|
17
|
+
/** Deletes a registered type */
|
|
13
18
|
function Delete(kind) {
|
|
14
19
|
return map.delete(kind);
|
|
15
20
|
}
|
|
16
21
|
exports.Delete = Delete;
|
|
22
|
+
/** Returns true if this registry contains this kind */
|
|
17
23
|
function Has(kind) {
|
|
18
24
|
return map.has(kind);
|
|
19
25
|
}
|
|
20
26
|
exports.Has = Has;
|
|
27
|
+
/** Sets a validation function for a user defined type */
|
|
21
28
|
function Set(kind, func) {
|
|
22
29
|
map.set(kind, func);
|
|
23
30
|
}
|
|
24
31
|
exports.Set = Set;
|
|
32
|
+
/** Gets a custom validation function for a user defined type */
|
|
25
33
|
function Get(kind) {
|
|
26
34
|
return map.get(kind);
|
|
27
35
|
}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.RequiredFromMappedResult = void 0;
|
|
4
5
|
const index_1 = require("../mapped/index");
|
|
5
6
|
const required_1 = require("./required");
|
|
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, required_1.Required)(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 RequiredFromMappedResult(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 RequiredResolve<T extends TSchema> = (T extends TRecursive<infer S> ? TRecursive<RequiredResolve<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 RequiredResolve<T extends TSchema>(T: T): RequiredResolve<T>;
|
|
22
22
|
export type TRequired<T extends TSchema> = RequiredResolve<T>;
|
|
23
|
+
/** `[Json]` Constructs a type where all properties are required */
|
|
23
24
|
export declare function Required<T extends TMappedResult>(T: T, options?: SchemaOptions): TRequiredFromMappedResult<T>;
|
|
25
|
+
/** `[Json]` Constructs a type where all properties are required */
|
|
24
26
|
export declare function Required<T extends TSchema>(T: T, options?: SchemaOptions): TRequired<T>;
|
|
25
27
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Required = void 0;
|
|
4
5
|
const index_1 = require("../intersect/index");
|
|
@@ -8,30 +9,39 @@ const index_4 = require("../symbols/index");
|
|
|
8
9
|
const type_1 = require("../clone/type");
|
|
9
10
|
const index_5 = require("../discard/index");
|
|
10
11
|
const required_from_mapped_result_1 = require("./required-from-mapped-result");
|
|
12
|
+
// ------------------------------------------------------------------
|
|
13
|
+
// TypeGuard
|
|
14
|
+
// ------------------------------------------------------------------
|
|
15
|
+
// prettier-ignore
|
|
11
16
|
const type_2 = require("../guard/type");
|
|
17
|
+
// prettier-ignore
|
|
12
18
|
function FromIntersect(T) {
|
|
13
19
|
const [L, ...R] = T;
|
|
14
20
|
return (T.length > 0
|
|
15
21
|
? [RequiredResolve(L), ...FromIntersect(R)]
|
|
16
22
|
: []);
|
|
17
23
|
}
|
|
24
|
+
// prettier-ignore
|
|
18
25
|
function FromUnion(T) {
|
|
19
26
|
const [L, ...R] = T;
|
|
20
27
|
return (T.length > 0
|
|
21
28
|
? [RequiredResolve(L), ...FromUnion(R)]
|
|
22
29
|
: []);
|
|
23
30
|
}
|
|
31
|
+
// prettier-ignore
|
|
24
32
|
function FromProperties(T) {
|
|
25
33
|
return globalThis.Object.getOwnPropertyNames(T).reduce((Acc, K) => {
|
|
26
34
|
return { ...Acc, [K]: (0, index_5.Discard)(T[K], [index_4.OptionalKind]) };
|
|
27
35
|
}, {});
|
|
28
36
|
}
|
|
37
|
+
// prettier-ignore
|
|
29
38
|
function RequiredResolve(T) {
|
|
30
39
|
return ((0, type_2.TIntersect)(T) ? (0, index_1.Intersect)(FromIntersect(T.allOf)) :
|
|
31
40
|
(0, type_2.TUnion)(T) ? (0, index_2.Union)(FromUnion(T.anyOf)) :
|
|
32
41
|
(0, type_2.TObject)(T) ? (0, index_3.Object)(FromProperties(T.properties)) :
|
|
33
42
|
(0, index_3.Object)({}));
|
|
34
43
|
}
|
|
44
|
+
/** `[Json]` Constructs a type where all properties are required */
|
|
35
45
|
function Required(T, options = {}) {
|
|
36
46
|
if ((0, type_2.TMappedResult)(T)) {
|
|
37
47
|
return (0, required_from_mapped_result_1.RequiredFromMappedResult)(T, options);
|
|
@@ -6,4 +6,5 @@ export type RestResolve<T extends TSchema> = T extends TIntersect<infer S> ? [..
|
|
|
6
6
|
];
|
|
7
7
|
export declare function RestResolve<T extends TSchema>(T: T): RestResolve<T>;
|
|
8
8
|
export type TRest<T extends TSchema> = RestResolve<T>;
|
|
9
|
+
/** `[Json]` Extracts interior Rest elements from Tuple, Intersect and Union types */
|
|
9
10
|
export declare function Rest<T extends TSchema>(T: T): TRest<T>;
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Rest = exports.RestResolve = void 0;
|
|
4
5
|
const type_1 = require("../clone/type");
|
|
6
|
+
// ------------------------------------------------------------------
|
|
7
|
+
// TypeGuard
|
|
8
|
+
// ------------------------------------------------------------------
|
|
9
|
+
// prettier-ignore
|
|
5
10
|
const type_2 = require("../guard/type");
|
|
6
11
|
function RestResolve(T) {
|
|
7
12
|
return ((0, type_2.TIntersect)(T) ? [...T.allOf] : (0, type_2.TUnion)(T) ? [...T.anyOf] : (0, type_2.TTuple)(T) ? [...(T.items ?? [])] : []);
|
|
8
13
|
}
|
|
9
14
|
exports.RestResolve = RestResolve;
|
|
15
|
+
/** `[Json]` Extracts interior Rest elements from Tuple, Intersect and Union types */
|
|
10
16
|
function Rest(T) {
|
|
11
17
|
return (0, type_1.CloneRest)(RestResolve(T));
|
|
12
18
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SchemaOptions } from '../schema/index';
|
|
2
2
|
import type { TFunction } from '../function/index';
|
|
3
3
|
export type TReturnType<T extends TFunction> = T['returns'];
|
|
4
|
+
/** `[JavaScript]` Extracts the ReturnType from the given Function type */
|
|
4
5
|
export declare function ReturnType<T extends TFunction<any[], any>>(schema: T, options?: SchemaOptions): TReturnType<T>;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.ReturnType = void 0;
|
|
4
5
|
const type_1 = require("../clone/type");
|
|
6
|
+
/** `[JavaScript]` Extracts the ReturnType from the given Function type */
|
|
5
7
|
function ReturnType(schema, options = {}) {
|
|
6
8
|
return (0, type_1.CloneType)(schema.returns, options);
|
|
7
9
|
}
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import { Kind, Hint, ReadonlyKind, OptionalKind } from '../symbols/index';
|
|
2
2
|
export interface SchemaOptions {
|
|
3
3
|
$schema?: string;
|
|
4
|
+
/** Id for this schema */
|
|
4
5
|
$id?: string;
|
|
6
|
+
/** Title of this schema */
|
|
5
7
|
title?: string;
|
|
8
|
+
/** Description of this schema */
|
|
6
9
|
description?: string;
|
|
10
|
+
/** Default value for this schema */
|
|
7
11
|
default?: any;
|
|
12
|
+
/** Example values matching this schema */
|
|
8
13
|
examples?: any;
|
|
14
|
+
/** Optional annotation for readOnly */
|
|
9
15
|
readOnly?: boolean;
|
|
16
|
+
/** Optional annotation for writeOnly */
|
|
10
17
|
writeOnly?: boolean;
|
|
11
18
|
[prop: string]: any;
|
|
12
19
|
}
|
|
@@ -24,8 +24,11 @@ export type DecodeProperties<T extends TProperties> = {
|
|
|
24
24
|
};
|
|
25
25
|
export type DecodeRest<T extends TSchema[]> = T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [DecodeType<L>, ...DecodeRest<R>] : [];
|
|
26
26
|
export type DecodeType<T extends TSchema> = (T extends TOptional<infer S extends TSchema> ? TOptional<DecodeType<S>> : T extends TReadonly<infer S extends TSchema> ? TReadonly<DecodeType<S>> : T extends TTransform<infer _, infer R> ? TUnsafe<R> : T extends TArray<infer S extends TSchema> ? TArray<DecodeType<S>> : T extends TAsyncIterator<infer S extends TSchema> ? TAsyncIterator<DecodeType<S>> : T extends TConstructor<infer P extends TSchema[], infer R extends TSchema> ? TConstructor<DecodeRest<P>, DecodeType<R>> : T extends TEnum<infer S> ? TEnum<S> : T extends TFunction<infer P extends TSchema[], infer R extends TSchema> ? TFunction<DecodeRest<P>, DecodeType<R>> : T extends TIntersect<infer S extends TSchema[]> ? TIntersect<DecodeRest<S>> : T extends TIterator<infer S extends TSchema> ? TIterator<DecodeType<S>> : T extends TNot<infer S extends TSchema> ? TNot<DecodeType<S>> : T extends TObject<infer S> ? TObject<Evaluate<DecodeProperties<S>>> : T extends TPromise<infer S extends TSchema> ? TPromise<DecodeType<S>> : T extends TRecord<infer K, infer S> ? TRecord<K, DecodeType<S>> : T extends TRecursive<infer S extends TSchema> ? TRecursive<DecodeType<S>> : T extends TRef<infer S extends TSchema> ? TRef<DecodeType<S>> : T extends TTuple<infer S extends TSchema[]> ? TTuple<DecodeRest<S>> : T extends TUnion<infer S extends TSchema[]> ? TUnion<DecodeRest<S>> : T);
|
|
27
|
+
/** Creates an decoded static type from a TypeBox type */
|
|
27
28
|
export type StaticDecode<T extends TSchema, P extends unknown[] = []> = Static<DecodeType<T>, P>;
|
|
29
|
+
/** Creates an encoded static type from a TypeBox type */
|
|
28
30
|
export type StaticEncode<T extends TSchema, P extends unknown[] = []> = Static<T, P>;
|
|
31
|
+
/** Creates a static type from a TypeBox type */
|
|
29
32
|
export type Static<T extends TSchema, P extends unknown[] = []> = (T & {
|
|
30
33
|
params: P;
|
|
31
34
|
})['static'];
|
|
@@ -3,11 +3,17 @@ import { Kind } from '../symbols/index';
|
|
|
3
3
|
export type StringFormatOption = 'date-time' | 'time' | 'date' | 'email' | 'idn-email' | 'hostname' | 'idn-hostname' | 'ipv4' | 'ipv6' | 'uri' | 'uri-reference' | 'iri' | 'uuid' | 'iri-reference' | 'uri-template' | 'json-pointer' | 'relative-json-pointer' | 'regex' | ({} & string);
|
|
4
4
|
export type StringContentEncodingOption = '7bit' | '8bit' | 'binary' | 'quoted-printable' | 'base64' | ({} & string);
|
|
5
5
|
export interface StringOptions extends SchemaOptions {
|
|
6
|
+
/** The maximum string length */
|
|
6
7
|
maxLength?: number;
|
|
8
|
+
/** The minimum string length */
|
|
7
9
|
minLength?: number;
|
|
10
|
+
/** A regular expression pattern this string should match */
|
|
8
11
|
pattern?: string;
|
|
12
|
+
/** A format this string should match */
|
|
9
13
|
format?: StringFormatOption;
|
|
14
|
+
/** The content encoding for this string */
|
|
10
15
|
contentEncoding?: StringContentEncodingOption;
|
|
16
|
+
/** The content media type for this string */
|
|
11
17
|
contentMediaType?: string;
|
|
12
18
|
}
|
|
13
19
|
export interface TString extends TSchema, StringOptions {
|
|
@@ -15,4 +21,5 @@ export interface TString extends TSchema, StringOptions {
|
|
|
15
21
|
static: string;
|
|
16
22
|
type: 'string';
|
|
17
23
|
}
|
|
24
|
+
/** `[Json]` Creates a String type */
|
|
18
25
|
export declare function String(options?: StringOptions): TString;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.String = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
6
|
+
/** `[Json]` Creates a String type */
|
|
5
7
|
function String(options = {}) {
|
|
6
8
|
return { ...options, [index_1.Kind]: 'String', type: 'string' };
|
|
7
9
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Symbol = void 0;
|
|
4
5
|
const index_1 = require("../symbols/index");
|
|
6
|
+
/** `[JavaScript]` Creates a Symbol type */
|
|
5
7
|
function Symbol(options) {
|
|
6
8
|
return { ...options, [index_1.Kind]: 'Symbol', type: 'symbol' };
|
|
7
9
|
}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
/** Symbol key applied to transform types */
|
|
1
2
|
export declare const TransformKind: unique symbol;
|
|
3
|
+
/** Symbol key applied to readonly types */
|
|
2
4
|
export declare const ReadonlyKind: unique symbol;
|
|
5
|
+
/** Symbol key applied to optional types */
|
|
3
6
|
export declare const OptionalKind: unique symbol;
|
|
7
|
+
/** Symbol key applied to types */
|
|
4
8
|
export declare const Hint: unique symbol;
|
|
9
|
+
/** Symbol key applied to types */
|
|
5
10
|
export declare const Kind: unique symbol;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Kind = exports.Hint = exports.OptionalKind = exports.ReadonlyKind = exports.TransformKind = void 0;
|
|
5
|
+
/** Symbol key applied to transform types */
|
|
4
6
|
exports.TransformKind = Symbol.for('TypeBox.Transform');
|
|
7
|
+
/** Symbol key applied to readonly types */
|
|
5
8
|
exports.ReadonlyKind = Symbol.for('TypeBox.Readonly');
|
|
9
|
+
/** Symbol key applied to optional types */
|
|
6
10
|
exports.OptionalKind = Symbol.for('TypeBox.Optional');
|
|
11
|
+
/** Symbol key applied to types */
|
|
7
12
|
exports.Hint = Symbol.for('TypeBox.Hint');
|
|
13
|
+
/** Symbol key applied to types */
|
|
8
14
|
exports.Kind = Symbol.for('TypeBox.Kind');
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.IsTemplateLiteralFinite = exports.TemplateLiteralFiniteError = void 0;
|
|
5
|
+
// ------------------------------------------------------------------
|
|
6
|
+
// TemplateLiteralFiniteError
|
|
7
|
+
// ------------------------------------------------------------------
|
|
4
8
|
class TemplateLiteralFiniteError extends Error {
|
|
5
9
|
}
|
|
6
10
|
exports.TemplateLiteralFiniteError = TemplateLiteralFiniteError;
|
|
11
|
+
// ------------------------------------------------------------------
|
|
12
|
+
// IsTemplateLiteralFiniteCheck
|
|
13
|
+
// ------------------------------------------------------------------
|
|
14
|
+
// prettier-ignore
|
|
7
15
|
function IsNumberExpression(expression) {
|
|
8
16
|
return (expression.type === 'or' &&
|
|
9
17
|
expression.expr.length === 2 &&
|
|
@@ -12,6 +20,7 @@ function IsNumberExpression(expression) {
|
|
|
12
20
|
expression.expr[1].type === 'const' &&
|
|
13
21
|
expression.expr[1].const === '[1-9][0-9]*');
|
|
14
22
|
}
|
|
23
|
+
// prettier-ignore
|
|
15
24
|
function IsBooleanExpression(expression) {
|
|
16
25
|
return (expression.type === 'or' &&
|
|
17
26
|
expression.expr.length === 2 &&
|
|
@@ -20,9 +29,11 @@ function IsBooleanExpression(expression) {
|
|
|
20
29
|
expression.expr[1].type === 'const' &&
|
|
21
30
|
expression.expr[1].const === 'false');
|
|
22
31
|
}
|
|
32
|
+
// prettier-ignore
|
|
23
33
|
function IsStringExpression(expression) {
|
|
24
34
|
return expression.type === 'const' && expression.const === '.*';
|
|
25
35
|
}
|
|
36
|
+
// prettier-ignore
|
|
26
37
|
function IsTemplateLiteralFinite(expression) {
|
|
27
38
|
return (IsBooleanExpression(expression) ? true :
|
|
28
39
|
IsNumberExpression(expression) || IsStringExpression(expression) ? false :
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.TemplateLiteralGenerate = exports.TemplateLiteralGenerateError = void 0;
|
|
5
|
+
// ------------------------------------------------------------------
|
|
6
|
+
// GenerateFromExpression
|
|
7
|
+
// ------------------------------------------------------------------
|
|
8
|
+
// prettier-ignore
|
|
4
9
|
function* GenerateReduce(buffer) {
|
|
5
10
|
if (buffer.length === 1)
|
|
6
11
|
return yield* buffer[0];
|
|
@@ -10,16 +15,22 @@ function* GenerateReduce(buffer) {
|
|
|
10
15
|
}
|
|
11
16
|
}
|
|
12
17
|
}
|
|
18
|
+
// prettier-ignore
|
|
13
19
|
function* GenerateAnd(expression) {
|
|
14
20
|
return yield* GenerateReduce(expression.expr.map((expr) => [...TemplateLiteralGenerate(expr)]));
|
|
15
21
|
}
|
|
22
|
+
// prettier-ignore
|
|
16
23
|
function* GenerateOr(expression) {
|
|
17
24
|
for (const expr of expression.expr)
|
|
18
25
|
yield* TemplateLiteralGenerate(expr);
|
|
19
26
|
}
|
|
27
|
+
// prettier-ignore
|
|
20
28
|
function* GenerateConst(expression) {
|
|
21
29
|
return yield expression.const;
|
|
22
30
|
}
|
|
31
|
+
// ------------------------------------------------------------------
|
|
32
|
+
// TemplateLiteralGenerateError
|
|
33
|
+
// ------------------------------------------------------------------
|
|
23
34
|
class TemplateLiteralGenerateError extends Error {
|
|
24
35
|
}
|
|
25
36
|
exports.TemplateLiteralGenerateError = TemplateLiteralGenerateError;
|
|
@@ -13,5 +13,7 @@ export type ExpressionOr = {
|
|
|
13
13
|
type: 'or';
|
|
14
14
|
expr: Expression[];
|
|
15
15
|
};
|
|
16
|
+
/** Parses a pattern and returns an expression tree */
|
|
16
17
|
export declare function TemplateLiteralParse(pattern: string): Expression;
|
|
18
|
+
/** Parses a pattern and strips forward and trailing ^ and $ */
|
|
17
19
|
export declare function TemplateLiteralParseExact(pattern: string): Expression;
|
|
@@ -1,21 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.TemplateLiteralParseExact = exports.TemplateLiteralParse = exports.TemplateLiteralParserError = void 0;
|
|
5
|
+
// ------------------------------------------------------------------
|
|
6
|
+
// TemplateLiteralParserError
|
|
7
|
+
// ------------------------------------------------------------------
|
|
4
8
|
class TemplateLiteralParserError extends Error {
|
|
5
9
|
}
|
|
6
10
|
exports.TemplateLiteralParserError = TemplateLiteralParserError;
|
|
11
|
+
// prettier-ignore
|
|
7
12
|
function IsNonEscaped(pattern, index, char) {
|
|
8
13
|
return pattern[index] === char && pattern.charCodeAt(index - 1) !== 92;
|
|
9
14
|
}
|
|
15
|
+
// prettier-ignore
|
|
10
16
|
function IsOpenParen(pattern, index) {
|
|
11
17
|
return IsNonEscaped(pattern, index, '(');
|
|
12
18
|
}
|
|
19
|
+
// prettier-ignore
|
|
13
20
|
function IsCloseParen(pattern, index) {
|
|
14
21
|
return IsNonEscaped(pattern, index, ')');
|
|
15
22
|
}
|
|
23
|
+
// prettier-ignore
|
|
16
24
|
function IsSeparator(pattern, index) {
|
|
17
25
|
return IsNonEscaped(pattern, index, '|');
|
|
18
26
|
}
|
|
27
|
+
// prettier-ignore
|
|
19
28
|
function IsGroup(pattern) {
|
|
20
29
|
if (!(IsOpenParen(pattern, 0) && IsCloseParen(pattern, pattern.length - 1)))
|
|
21
30
|
return false;
|
|
@@ -30,9 +39,11 @@ function IsGroup(pattern) {
|
|
|
30
39
|
}
|
|
31
40
|
return true;
|
|
32
41
|
}
|
|
42
|
+
// prettier-ignore
|
|
33
43
|
function InGroup(pattern) {
|
|
34
44
|
return pattern.slice(1, pattern.length - 1);
|
|
35
45
|
}
|
|
46
|
+
// prettier-ignore
|
|
36
47
|
function IsPrecedenceOr(pattern) {
|
|
37
48
|
let count = 0;
|
|
38
49
|
for (let index = 0; index < pattern.length; index++) {
|
|
@@ -45,6 +56,7 @@ function IsPrecedenceOr(pattern) {
|
|
|
45
56
|
}
|
|
46
57
|
return false;
|
|
47
58
|
}
|
|
59
|
+
// prettier-ignore
|
|
48
60
|
function IsPrecedenceAnd(pattern) {
|
|
49
61
|
for (let index = 0; index < pattern.length; index++) {
|
|
50
62
|
if (IsOpenParen(pattern, index))
|
|
@@ -52,6 +64,7 @@ function IsPrecedenceAnd(pattern) {
|
|
|
52
64
|
}
|
|
53
65
|
return false;
|
|
54
66
|
}
|
|
67
|
+
// prettier-ignore
|
|
55
68
|
function Or(pattern) {
|
|
56
69
|
let [count, start] = [0, 0];
|
|
57
70
|
const expressions = [];
|
|
@@ -76,6 +89,7 @@ function Or(pattern) {
|
|
|
76
89
|
return expressions[0];
|
|
77
90
|
return { type: 'or', expr: expressions };
|
|
78
91
|
}
|
|
92
|
+
// prettier-ignore
|
|
79
93
|
function And(pattern) {
|
|
80
94
|
function Group(value, index) {
|
|
81
95
|
if (!IsOpenParen(value, index))
|
|
@@ -118,6 +132,8 @@ function And(pattern) {
|
|
|
118
132
|
(expressions.length === 1) ? expressions[0] :
|
|
119
133
|
{ type: 'and', expr: expressions });
|
|
120
134
|
}
|
|
135
|
+
/** Parses a pattern and returns an expression tree */
|
|
136
|
+
// prettier-ignore
|
|
121
137
|
function TemplateLiteralParse(pattern) {
|
|
122
138
|
return (IsGroup(pattern) ? TemplateLiteralParse(InGroup(pattern)) :
|
|
123
139
|
IsPrecedenceOr(pattern) ? Or(pattern) :
|
|
@@ -125,6 +141,8 @@ function TemplateLiteralParse(pattern) {
|
|
|
125
141
|
{ type: 'const', const: pattern });
|
|
126
142
|
}
|
|
127
143
|
exports.TemplateLiteralParse = TemplateLiteralParse;
|
|
144
|
+
/** Parses a pattern and strips forward and trailing ^ and $ */
|
|
145
|
+
// prettier-ignore
|
|
128
146
|
function TemplateLiteralParseExact(pattern) {
|
|
129
147
|
return TemplateLiteralParse(pattern.slice(1, pattern.length - 1));
|
|
130
148
|
}
|