@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,60 +1,76 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.HasTransform = void 0;
|
|
4
5
|
const type_1 = require("../../type/guard/type");
|
|
5
6
|
const index_1 = require("../guard/index");
|
|
6
7
|
const index_2 = require("../deref/index");
|
|
7
8
|
const index_3 = require("../../type/symbols/index");
|
|
9
|
+
// prettier-ignore
|
|
8
10
|
function TArray(schema, references) {
|
|
9
11
|
return (0, type_1.TTransform)(schema) || Visit(schema.items, references);
|
|
10
12
|
}
|
|
13
|
+
// prettier-ignore
|
|
11
14
|
function TAsyncIterator(schema, references) {
|
|
12
15
|
return (0, type_1.TTransform)(schema) || Visit(schema.items, references);
|
|
13
16
|
}
|
|
17
|
+
// prettier-ignore
|
|
14
18
|
function TConstructor(schema, references) {
|
|
15
19
|
return (0, type_1.TTransform)(schema) || Visit(schema.returns, references) || schema.parameters.some((schema) => Visit(schema, references));
|
|
16
20
|
}
|
|
21
|
+
// prettier-ignore
|
|
17
22
|
function TFunction(schema, references) {
|
|
18
23
|
return (0, type_1.TTransform)(schema) || Visit(schema.returns, references) || schema.parameters.some((schema) => Visit(schema, references));
|
|
19
24
|
}
|
|
25
|
+
// prettier-ignore
|
|
20
26
|
function TIntersect(schema, references) {
|
|
21
27
|
return (0, type_1.TTransform)(schema) || (0, type_1.TTransform)(schema.unevaluatedProperties) || schema.allOf.some((schema) => Visit(schema, references));
|
|
22
28
|
}
|
|
29
|
+
// prettier-ignore
|
|
23
30
|
function TIterator(schema, references) {
|
|
24
31
|
return (0, type_1.TTransform)(schema) || Visit(schema.items, references);
|
|
25
32
|
}
|
|
33
|
+
// prettier-ignore
|
|
26
34
|
function TNot(schema, references) {
|
|
27
35
|
return (0, type_1.TTransform)(schema) || Visit(schema.not, references);
|
|
28
36
|
}
|
|
37
|
+
// prettier-ignore
|
|
29
38
|
function TObject(schema, references) {
|
|
30
39
|
return ((0, type_1.TTransform)(schema) ||
|
|
31
40
|
Object.values(schema.properties).some((schema) => Visit(schema, references)) ||
|
|
32
41
|
((0, type_1.TSchema)(schema.additionalProperties) && Visit(schema.additionalProperties, references)));
|
|
33
42
|
}
|
|
43
|
+
// prettier-ignore
|
|
34
44
|
function TPromise(schema, references) {
|
|
35
45
|
return (0, type_1.TTransform)(schema) || Visit(schema.item, references);
|
|
36
46
|
}
|
|
47
|
+
// prettier-ignore
|
|
37
48
|
function TRecord(schema, references) {
|
|
38
49
|
const pattern = Object.getOwnPropertyNames(schema.patternProperties)[0];
|
|
39
50
|
const property = schema.patternProperties[pattern];
|
|
40
51
|
return (0, type_1.TTransform)(schema) || Visit(property, references) || ((0, type_1.TSchema)(schema.additionalProperties) && (0, type_1.TTransform)(schema.additionalProperties));
|
|
41
52
|
}
|
|
53
|
+
// prettier-ignore
|
|
42
54
|
function TRef(schema, references) {
|
|
43
55
|
if ((0, type_1.TTransform)(schema))
|
|
44
56
|
return true;
|
|
45
57
|
return Visit((0, index_2.Deref)(schema, references), references);
|
|
46
58
|
}
|
|
59
|
+
// prettier-ignore
|
|
47
60
|
function TThis(schema, references) {
|
|
48
61
|
if ((0, type_1.TTransform)(schema))
|
|
49
62
|
return true;
|
|
50
63
|
return Visit((0, index_2.Deref)(schema, references), references);
|
|
51
64
|
}
|
|
65
|
+
// prettier-ignore
|
|
52
66
|
function TTuple(schema, references) {
|
|
53
67
|
return (0, type_1.TTransform)(schema) || (!(0, index_1.IsUndefined)(schema.items) && schema.items.some((schema) => Visit(schema, references)));
|
|
54
68
|
}
|
|
69
|
+
// prettier-ignore
|
|
55
70
|
function TUnion(schema, references) {
|
|
56
71
|
return (0, type_1.TTransform)(schema) || schema.anyOf.some((schema) => Visit(schema, references));
|
|
57
72
|
}
|
|
73
|
+
// prettier-ignore
|
|
58
74
|
function Visit(schema, references) {
|
|
59
75
|
const references_ = (0, index_1.IsString)(schema.$id) ? [...references, schema] : references;
|
|
60
76
|
const schema_ = schema;
|
|
@@ -96,6 +112,7 @@ function Visit(schema, references) {
|
|
|
96
112
|
}
|
|
97
113
|
}
|
|
98
114
|
const visited = new Set();
|
|
115
|
+
/** Returns true if this schema contains a transform codec */
|
|
99
116
|
function HasTransform(schema, references) {
|
|
100
117
|
visited.clear();
|
|
101
118
|
return Visit(schema, references);
|
|
@@ -3,27 +3,51 @@ import { Edit } from '../delta/index';
|
|
|
3
3
|
import { ValueErrorIterator } from '../../errors/index';
|
|
4
4
|
import type { TSchema } from '../../type/schema/index';
|
|
5
5
|
import type { Static, StaticDecode, StaticEncode } from '../../type/static/index';
|
|
6
|
+
/** Casts a value into a given type. The return value will retain as much information of the original value as possible. */
|
|
6
7
|
export declare function Cast<T extends TSchema>(schema: T, references: TSchema[], value: unknown): Static<T>;
|
|
8
|
+
/** Casts a value into a given type. The return value will retain as much information of the original value as possible. */
|
|
7
9
|
export declare function Cast<T extends TSchema>(schema: T, value: unknown): Static<T>;
|
|
10
|
+
/** Creates a value from the given type and references */
|
|
8
11
|
export declare function Create<T extends TSchema>(schema: T, references: TSchema[]): Static<T>;
|
|
12
|
+
/** Creates a value from the given type */
|
|
9
13
|
export declare function Create<T extends TSchema>(schema: T): Static<T>;
|
|
14
|
+
/** Returns true if the value matches the given type and references */
|
|
10
15
|
export declare function Check<T extends TSchema>(schema: T, references: TSchema[], value: unknown): value is Static<T>;
|
|
16
|
+
/** Returns true if the value matches the given type */
|
|
11
17
|
export declare function Check<T extends TSchema>(schema: T, value: unknown): value is Static<T>;
|
|
18
|
+
/** `[Mutable]` Removes excess properties from a value and returns the result. This function does not check the value and returns an unknown type. You should Check the result before use. Clean is a mutable operation. To avoid mutation, Clone the value first. */
|
|
12
19
|
export declare function Clean<T extends TSchema>(schema: T, references: TSchema[], value: unknown): unknown;
|
|
20
|
+
/** `[Mutable]` Removes excess properties from a value and returns the result. This function does not check the value and returns an unknown type. You should Check the result before use. Clean is a mutable operation. To avoid mutation, Clone the value first. */
|
|
13
21
|
export declare function Clean<T extends TSchema>(schema: T, value: unknown): unknown;
|
|
22
|
+
/** Converts any type mismatched values to their target type if a reasonable conversion is possible */
|
|
14
23
|
export declare function Convert<T extends TSchema>(schema: T, references: TSchema[], value: unknown): unknown;
|
|
24
|
+
/** Converts any type mismatched values to their target type if a reasonable conversion is possibl. */
|
|
15
25
|
export declare function Convert<T extends TSchema>(schema: T, value: unknown): unknown;
|
|
26
|
+
/** Returns a structural clone of the given value */
|
|
16
27
|
export declare function Clone<T>(value: T): T;
|
|
28
|
+
/** Decodes a value or throws if error */
|
|
17
29
|
export declare function Decode<T extends TSchema, R = StaticDecode<T>>(schema: T, references: TSchema[], value: unknown): R;
|
|
30
|
+
/** Decodes a value or throws if error */
|
|
18
31
|
export declare function Decode<T extends TSchema, R = StaticDecode<T>>(schema: T, value: unknown): R;
|
|
32
|
+
/** `[Mutable]` Generates missing properties on a value using default schema annotations if available. This function does not check the value and returns an unknown type. You should Check the result before use. Default is a mutable operation. To avoid mutation, Clone the value first. */
|
|
19
33
|
export declare function Default<T extends TSchema>(schema: T, references: TSchema[], value: unknown): unknown;
|
|
34
|
+
/** `[Mutable]` Generates missing properties on a value using default schema annotations if available. This function does not check the value and returns an unknown type. You should Check the result before use. Default is a mutable operation. To avoid mutation, Clone the value first. */
|
|
20
35
|
export declare function Default<T extends TSchema>(schema: T, value: unknown): unknown;
|
|
36
|
+
/** Encodes a value or throws if error */
|
|
21
37
|
export declare function Encode<T extends TSchema, R = StaticEncode<T>>(schema: T, references: TSchema[], value: unknown): R;
|
|
38
|
+
/** Encodes a value or throws if error */
|
|
22
39
|
export declare function Encode<T extends TSchema, R = StaticEncode<T>>(schema: T, value: unknown): R;
|
|
40
|
+
/** Returns an iterator for each error in this value. */
|
|
23
41
|
export declare function Errors<T extends TSchema>(schema: T, references: TSchema[], value: unknown): ValueErrorIterator;
|
|
42
|
+
/** Returns an iterator for each error in this value. */
|
|
24
43
|
export declare function Errors<T extends TSchema>(schema: T, value: unknown): ValueErrorIterator;
|
|
44
|
+
/** Returns true if left and right values are structurally equal */
|
|
25
45
|
export declare function Equal<T>(left: T, right: unknown): right is T;
|
|
46
|
+
/** Returns edits to transform the current value into the next value */
|
|
26
47
|
export declare function Diff(current: unknown, next: unknown): Edit[];
|
|
48
|
+
/** Returns a FNV1A-64 non cryptographic hash of the given value */
|
|
27
49
|
export declare function Hash(value: unknown): bigint;
|
|
50
|
+
/** Returns a new value with edits applied to the given value */
|
|
28
51
|
export declare function Patch<T = any>(current: unknown, edits: Edit[]): T;
|
|
52
|
+
/** `[Mutable]` Performs a deep mutable value assignment while retaining internal references. */
|
|
29
53
|
export declare function Mutate(current: Mutable, next: Mutable): void;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.Mutate = exports.Patch = exports.Hash = exports.Diff = exports.Equal = exports.Errors = exports.Encode = exports.Default = exports.Decode = exports.Clone = exports.Convert = exports.Clean = exports.Check = exports.Create = exports.Cast = void 0;
|
|
4
5
|
const index_1 = require("../transform/index");
|
|
@@ -14,30 +15,37 @@ const index_10 = require("../check/index");
|
|
|
14
15
|
const index_11 = require("../default/index");
|
|
15
16
|
const index_12 = require("../delta/index");
|
|
16
17
|
const index_13 = require("../../errors/index");
|
|
18
|
+
/** Casts a value into a given type. The return value will retain as much information of the original value as possible. */
|
|
17
19
|
function Cast(...args) {
|
|
18
20
|
return index_5.Cast.apply(index_5.Cast, args);
|
|
19
21
|
}
|
|
20
22
|
exports.Cast = Cast;
|
|
23
|
+
/** Creates a value from the given type */
|
|
21
24
|
function Create(...args) {
|
|
22
25
|
return index_8.Create.apply(index_8.Create, args);
|
|
23
26
|
}
|
|
24
27
|
exports.Create = Create;
|
|
28
|
+
/** Returns true if the value matches the given type */
|
|
25
29
|
function Check(...args) {
|
|
26
30
|
return index_10.Check.apply(index_10.Check, args);
|
|
27
31
|
}
|
|
28
32
|
exports.Check = Check;
|
|
33
|
+
/** `[Mutable]` Removes excess properties from a value and returns the result. This function does not check the value and returns an unknown type. You should Check the result before use. Clean is a mutable operation. To avoid mutation, Clone the value first. */
|
|
29
34
|
function Clean(...args) {
|
|
30
35
|
return index_9.Clean.apply(index_9.Clean, args);
|
|
31
36
|
}
|
|
32
37
|
exports.Clean = Clean;
|
|
38
|
+
/** Converts any type mismatched values to their target type if a reasonable conversion is possible */
|
|
33
39
|
function Convert(...args) {
|
|
34
40
|
return index_7.Convert.apply(index_7.Convert, args);
|
|
35
41
|
}
|
|
36
42
|
exports.Convert = Convert;
|
|
43
|
+
/** Returns a structural clone of the given value */
|
|
37
44
|
function Clone(value) {
|
|
38
45
|
return (0, index_6.Clone)(value);
|
|
39
46
|
}
|
|
40
47
|
exports.Clone = Clone;
|
|
48
|
+
/** Decodes a value or throws if error */
|
|
41
49
|
function Decode(...args) {
|
|
42
50
|
const [schema, references, value] = args.length === 3 ? [args[0], args[1], args[2]] : [args[0], [], args[1]];
|
|
43
51
|
if (!Check(schema, references, value))
|
|
@@ -45,10 +53,12 @@ function Decode(...args) {
|
|
|
45
53
|
return (0, index_1.TransformDecode)(schema, references, value);
|
|
46
54
|
}
|
|
47
55
|
exports.Decode = Decode;
|
|
56
|
+
/** `[Mutable]` Generates missing properties on a value using default schema annotations if available. This function does not check the value and returns an unknown type. You should Check the result before use. Default is a mutable operation. To avoid mutation, Clone the value first. */
|
|
48
57
|
function Default(...args) {
|
|
49
58
|
return index_11.Default.apply(index_11.Default, args);
|
|
50
59
|
}
|
|
51
60
|
exports.Default = Default;
|
|
61
|
+
/** Encodes a value or throws if error */
|
|
52
62
|
function Encode(...args) {
|
|
53
63
|
const [schema, references, value] = args.length === 3 ? [args[0], args[1], args[2]] : [args[0], [], args[1]];
|
|
54
64
|
const encoded = (0, index_1.TransformEncode)(schema, references, value);
|
|
@@ -57,26 +67,32 @@ function Encode(...args) {
|
|
|
57
67
|
return encoded;
|
|
58
68
|
}
|
|
59
69
|
exports.Encode = Encode;
|
|
70
|
+
/** Returns an iterator for each error in this value. */
|
|
60
71
|
function Errors(...args) {
|
|
61
72
|
return index_13.Errors.apply(index_13.Errors, args);
|
|
62
73
|
}
|
|
63
74
|
exports.Errors = Errors;
|
|
75
|
+
/** Returns true if left and right values are structurally equal */
|
|
64
76
|
function Equal(left, right) {
|
|
65
77
|
return (0, index_4.Equal)(left, right);
|
|
66
78
|
}
|
|
67
79
|
exports.Equal = Equal;
|
|
80
|
+
/** Returns edits to transform the current value into the next value */
|
|
68
81
|
function Diff(current, next) {
|
|
69
82
|
return (0, index_12.Diff)(current, next);
|
|
70
83
|
}
|
|
71
84
|
exports.Diff = Diff;
|
|
85
|
+
/** Returns a FNV1A-64 non cryptographic hash of the given value */
|
|
72
86
|
function Hash(value) {
|
|
73
87
|
return (0, index_3.Hash)(value);
|
|
74
88
|
}
|
|
75
89
|
exports.Hash = Hash;
|
|
90
|
+
/** Returns a new value with edits applied to the given value */
|
|
76
91
|
function Patch(current, edits) {
|
|
77
92
|
return (0, index_12.Patch)(current, edits);
|
|
78
93
|
}
|
|
79
94
|
exports.Patch = Patch;
|
|
95
|
+
/** `[Mutable]` Performs a deep mutable value assignment while retaining internal references. */
|
|
80
96
|
function Mutate(current, next) {
|
|
81
97
|
(0, index_2.Mutate)(current, next);
|
|
82
98
|
}
|
package/license
CHANGED
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
|
|
21
21
|
## Install
|
|
22
22
|
|
|
23
|
-
#### Npm
|
|
24
23
|
```bash
|
|
25
24
|
$ npm install @sinclair/typebox --save
|
|
26
25
|
```
|
|
@@ -646,9 +645,9 @@ TypeBox provides an extended type set that can be used to create schematics for
|
|
|
646
645
|
|
|
647
646
|
<a name='types-modules'></a>
|
|
648
647
|
|
|
649
|
-
###
|
|
648
|
+
### Modules
|
|
650
649
|
|
|
651
|
-
TypeBox
|
|
650
|
+
TypeBox has a modular type system that supports selective type imports. Using selective imports can be useful in resource constrained environments as the technique enables modern bundlers to tree shake unused code leading to reduced bundle sizes. The following selectively imports a few types.
|
|
652
651
|
|
|
653
652
|
```typescript
|
|
654
653
|
import { Object, Number, String, Boolean, type Static } from '@sinclair/typebox'
|
|
@@ -1724,7 +1723,7 @@ For additional comparative benchmarks, please refer to [typescript-runtime-type-
|
|
|
1724
1723
|
|
|
1725
1724
|
### Compile
|
|
1726
1725
|
|
|
1727
|
-
This benchmark measures compilation performance for varying types.
|
|
1726
|
+
This benchmark measures compilation performance for varying types.
|
|
1728
1727
|
|
|
1729
1728
|
```typescript
|
|
1730
1729
|
┌────────────────────────────┬────────────┬──────────────┬──────────────┬──────────────┐
|
|
@@ -1766,7 +1765,7 @@ This benchmark measures compilation performance for varying types. You can revie
|
|
|
1766
1765
|
|
|
1767
1766
|
### Validate
|
|
1768
1767
|
|
|
1769
|
-
This benchmark measures validation performance for varying types.
|
|
1768
|
+
This benchmark measures validation performance for varying types.
|
|
1770
1769
|
|
|
1771
1770
|
```typescript
|
|
1772
1771
|
┌────────────────────────────┬────────────┬──────────────┬──────────────┬──────────────┬──────────────┐
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { type TSchema, SchemaOptions } from '../schema/index.mjs';
|
|
2
|
-
import { type TObject, type TProperties } from '../object/index.mjs';
|
|
3
|
-
import { type TNever } from '../never/index.mjs';
|
|
4
|
-
import { type TRecursive } from '../recursive/index.mjs';
|
|
5
|
-
import { type TIntersect } from '../intersect/index.mjs';
|
|
6
|
-
import { type TUnion } from '../union/index.mjs';
|
|
7
|
-
import { type TTuple } from '../tuple/index.mjs';
|
|
8
|
-
import { type TArray } from '../array/index.mjs';
|
|
9
|
-
import { IntersectEvaluated } from '../intersect/index.mjs';
|
|
10
|
-
import { UnionEvaluated } from '../union/index.mjs';
|
|
11
|
-
type FromRest<T extends TSchema[], K extends PropertyKey> = (T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [FromKey<L, K>, ...FromRest<R, K>] : []);
|
|
12
|
-
declare function FromRest<T extends TSchema[], K extends PropertyKey>(T: [...T], K: K): FromRest<T, K>;
|
|
13
|
-
type FromIntersectRest<T extends TSchema[]> = (T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? L extends TNever ? [...FromIntersectRest<R>] : [L, ...FromIntersectRest<R>] : []);
|
|
14
|
-
declare function FromIntersectRest<T extends TSchema[]>(T: [...T]): FromIntersectRest<T>;
|
|
15
|
-
type FromIntersect<T extends TSchema[], K extends PropertyKey> = (IntersectEvaluated<FromIntersectRest<FromRest<T, K>>>);
|
|
16
|
-
declare function FromIntersect<T extends TSchema[], K extends PropertyKey>(T: [...T], K: K): FromIntersect<T, K>;
|
|
17
|
-
type FromUnionRest<T extends TSchema[], S = T> = (T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? L extends TNever ? [] : FromUnionRest<R, S> : S);
|
|
18
|
-
declare function FromUnionRest<T extends TSchema[]>(T: [...T], S?: [...T]): FromUnionRest<T>;
|
|
19
|
-
type FromUnion<T extends TSchema[], K extends PropertyKey> = (UnionEvaluated<FromUnionRest<FromRest<T, K>>>);
|
|
20
|
-
declare function FromUnion<T extends TSchema[], K extends PropertyKey>(T: [...T], K: K): FromUnion<T, K>;
|
|
21
|
-
type FromTuple<T extends TSchema[], K extends PropertyKey> = (K extends keyof T ? T[K] : K extends '[number]' ? UnionEvaluated<T> : TNever);
|
|
22
|
-
declare function FromTuple<T extends TSchema[], K extends PropertyKey>(T: [...T], K: K): FromTuple<T, K>;
|
|
23
|
-
type FromArray<T extends TSchema, K extends PropertyKey> = (K extends '[number]' ? T : TNever);
|
|
24
|
-
declare function FromArray<T extends TSchema, K extends PropertyKey>(T: T, K: K): FromArray<T, K>;
|
|
25
|
-
type FromProperty<T extends TProperties, K extends PropertyKey> = (K extends keyof T ? T[K] : TNever);
|
|
26
|
-
declare function FromProperty<T extends TProperties, K extends PropertyKey>(T: T, K: K): FromProperty<T, K>;
|
|
27
|
-
type FromKey<T extends TSchema, K extends PropertyKey> = (T extends TRecursive<infer S> ? FromKey<S, K> : T extends TIntersect<infer S> ? FromIntersect<S, K> : T extends TUnion<infer S> ? FromUnion<S, K> : T extends TTuple<infer S> ? FromTuple<S, K> : T extends TArray<infer S> ? FromArray<S, K> : T extends TObject<infer S> ? FromProperty<S, K> : TNever);
|
|
28
|
-
declare function FromKey<T extends TSchema, K extends PropertyKey>(T: T, K: K): FromKey<T, K>;
|
|
29
|
-
type FromKeys<T extends TSchema, K extends PropertyKey[]> = (K extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? [FromKey<T, L>, ...FromKeys<T, R>] : []);
|
|
30
|
-
declare function FromKeys<T extends TSchema, K extends PropertyKey[]>(T: T, K: [...K]): FromKeys<T, K>;
|
|
31
|
-
export type TIndexResult<T extends TSchema, K extends PropertyKey[]> = (UnionEvaluated<FromKeys<T, K>>);
|
|
32
|
-
export declare function IndexResult<T extends TSchema, K extends PropertyKey[]>(T: T, K: [...K], options: SchemaOptions): TIndexResult<T, K>;
|
|
33
|
-
export {};
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { Never } from '../never/index.mjs';
|
|
2
|
-
import { IntersectEvaluated } from '../intersect/index.mjs';
|
|
3
|
-
import { UnionEvaluated } from '../union/index.mjs';
|
|
4
|
-
import { CloneType } from '../clone/type.mjs';
|
|
5
|
-
import { TArray as IsArrayType, TIntersect as IsIntersectType, TObject as IsObjectType, TNever as IsNeverType, TTuple as IsTupleType, TUnion as IsUnionType } from '../guard/type.mjs';
|
|
6
|
-
function FromRest(T, K) {
|
|
7
|
-
const [L, ...R] = T;
|
|
8
|
-
return (T.length > 0
|
|
9
|
-
? [FromKey(L, K), ...FromRest(R, K)]
|
|
10
|
-
: []);
|
|
11
|
-
}
|
|
12
|
-
function FromIntersectRest(T) {
|
|
13
|
-
const [L, ...R] = T;
|
|
14
|
-
return (T.length > 0
|
|
15
|
-
? IsNeverType(L)
|
|
16
|
-
? [...FromIntersectRest(R)]
|
|
17
|
-
: [L, ...FromIntersectRest(R)]
|
|
18
|
-
: []);
|
|
19
|
-
}
|
|
20
|
-
function FromIntersect(T, K) {
|
|
21
|
-
return (IntersectEvaluated(FromIntersectRest(FromRest(T, K))));
|
|
22
|
-
}
|
|
23
|
-
function FromUnionRest(T, S = T) {
|
|
24
|
-
const [L, ...R] = T;
|
|
25
|
-
return (T.length > 0
|
|
26
|
-
? IsNeverType(L)
|
|
27
|
-
? []
|
|
28
|
-
: FromUnionRest(R, S)
|
|
29
|
-
: S);
|
|
30
|
-
}
|
|
31
|
-
function FromUnion(T, K) {
|
|
32
|
-
return (UnionEvaluated(FromUnionRest(FromRest(T, K))));
|
|
33
|
-
}
|
|
34
|
-
function FromTuple(T, K) {
|
|
35
|
-
return (K in T ? T[K] :
|
|
36
|
-
K === '[number]' ? UnionEvaluated(T) :
|
|
37
|
-
Never());
|
|
38
|
-
}
|
|
39
|
-
function FromArray(T, K) {
|
|
40
|
-
return (K === '[number]'
|
|
41
|
-
? T
|
|
42
|
-
: Never());
|
|
43
|
-
}
|
|
44
|
-
function FromProperty(T, K) {
|
|
45
|
-
return (K in T
|
|
46
|
-
? T[K]
|
|
47
|
-
: Never());
|
|
48
|
-
}
|
|
49
|
-
function FromKey(T, K) {
|
|
50
|
-
return (IsIntersectType(T) ? FromIntersect(T.allOf, K) :
|
|
51
|
-
IsUnionType(T) ? FromUnion(T.anyOf, K) :
|
|
52
|
-
IsTupleType(T) ? FromTuple(T.items ?? [], K) :
|
|
53
|
-
IsArrayType(T) ? FromArray(T.items, K) :
|
|
54
|
-
IsObjectType(T) ? FromProperty(T.properties, K) :
|
|
55
|
-
Never());
|
|
56
|
-
}
|
|
57
|
-
function FromKeys(T, K) {
|
|
58
|
-
const [L, ...R] = K;
|
|
59
|
-
return (K.length > 0
|
|
60
|
-
? [FromKey(T, L), ...FromKeys(T, R)]
|
|
61
|
-
: []);
|
|
62
|
-
}
|
|
63
|
-
export function IndexResult(T, K, options) {
|
|
64
|
-
return (CloneType(UnionEvaluated(FromKeys(T, K)), options));
|
|
65
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { type TSchema, SchemaOptions } from '../schema/index';
|
|
2
|
-
import { type TObject, type TProperties } from '../object/index';
|
|
3
|
-
import { type TNever } from '../never/index';
|
|
4
|
-
import { type TRecursive } from '../recursive/index';
|
|
5
|
-
import { type TIntersect } from '../intersect/index';
|
|
6
|
-
import { type TUnion } from '../union/index';
|
|
7
|
-
import { type TTuple } from '../tuple/index';
|
|
8
|
-
import { type TArray } from '../array/index';
|
|
9
|
-
import { IntersectEvaluated } from '../intersect/index';
|
|
10
|
-
import { UnionEvaluated } from '../union/index';
|
|
11
|
-
type FromRest<T extends TSchema[], K extends PropertyKey> = (T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? [FromKey<L, K>, ...FromRest<R, K>] : []);
|
|
12
|
-
declare function FromRest<T extends TSchema[], K extends PropertyKey>(T: [...T], K: K): FromRest<T, K>;
|
|
13
|
-
type FromIntersectRest<T extends TSchema[]> = (T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? L extends TNever ? [...FromIntersectRest<R>] : [L, ...FromIntersectRest<R>] : []);
|
|
14
|
-
declare function FromIntersectRest<T extends TSchema[]>(T: [...T]): FromIntersectRest<T>;
|
|
15
|
-
type FromIntersect<T extends TSchema[], K extends PropertyKey> = (IntersectEvaluated<FromIntersectRest<FromRest<T, K>>>);
|
|
16
|
-
declare function FromIntersect<T extends TSchema[], K extends PropertyKey>(T: [...T], K: K): FromIntersect<T, K>;
|
|
17
|
-
type FromUnionRest<T extends TSchema[], S = T> = (T extends [infer L extends TSchema, ...infer R extends TSchema[]] ? L extends TNever ? [] : FromUnionRest<R, S> : S);
|
|
18
|
-
declare function FromUnionRest<T extends TSchema[]>(T: [...T], S?: [...T]): FromUnionRest<T>;
|
|
19
|
-
type FromUnion<T extends TSchema[], K extends PropertyKey> = (UnionEvaluated<FromUnionRest<FromRest<T, K>>>);
|
|
20
|
-
declare function FromUnion<T extends TSchema[], K extends PropertyKey>(T: [...T], K: K): FromUnion<T, K>;
|
|
21
|
-
type FromTuple<T extends TSchema[], K extends PropertyKey> = (K extends keyof T ? T[K] : K extends '[number]' ? UnionEvaluated<T> : TNever);
|
|
22
|
-
declare function FromTuple<T extends TSchema[], K extends PropertyKey>(T: [...T], K: K): FromTuple<T, K>;
|
|
23
|
-
type FromArray<T extends TSchema, K extends PropertyKey> = (K extends '[number]' ? T : TNever);
|
|
24
|
-
declare function FromArray<T extends TSchema, K extends PropertyKey>(T: T, K: K): FromArray<T, K>;
|
|
25
|
-
type FromProperty<T extends TProperties, K extends PropertyKey> = (K extends keyof T ? T[K] : TNever);
|
|
26
|
-
declare function FromProperty<T extends TProperties, K extends PropertyKey>(T: T, K: K): FromProperty<T, K>;
|
|
27
|
-
type FromKey<T extends TSchema, K extends PropertyKey> = (T extends TRecursive<infer S> ? FromKey<S, K> : T extends TIntersect<infer S> ? FromIntersect<S, K> : T extends TUnion<infer S> ? FromUnion<S, K> : T extends TTuple<infer S> ? FromTuple<S, K> : T extends TArray<infer S> ? FromArray<S, K> : T extends TObject<infer S> ? FromProperty<S, K> : TNever);
|
|
28
|
-
declare function FromKey<T extends TSchema, K extends PropertyKey>(T: T, K: K): FromKey<T, K>;
|
|
29
|
-
type FromKeys<T extends TSchema, K extends PropertyKey[]> = (K extends [infer L extends PropertyKey, ...infer R extends PropertyKey[]] ? [FromKey<T, L>, ...FromKeys<T, R>] : []);
|
|
30
|
-
declare function FromKeys<T extends TSchema, K extends PropertyKey[]>(T: T, K: [...K]): FromKeys<T, K>;
|
|
31
|
-
export type TIndexResult<T extends TSchema, K extends PropertyKey[]> = (UnionEvaluated<FromKeys<T, K>>);
|
|
32
|
-
export declare function IndexResult<T extends TSchema, K extends PropertyKey[]>(T: T, K: [...K], options: SchemaOptions): TIndexResult<T, K>;
|
|
33
|
-
export {};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IndexResult = void 0;
|
|
4
|
-
const index_1 = require("../never/index");
|
|
5
|
-
const index_2 = require("../intersect/index");
|
|
6
|
-
const index_3 = require("../union/index");
|
|
7
|
-
const type_1 = require("../clone/type");
|
|
8
|
-
const type_2 = require("../guard/type");
|
|
9
|
-
function FromRest(T, K) {
|
|
10
|
-
const [L, ...R] = T;
|
|
11
|
-
return (T.length > 0
|
|
12
|
-
? [FromKey(L, K), ...FromRest(R, K)]
|
|
13
|
-
: []);
|
|
14
|
-
}
|
|
15
|
-
function FromIntersectRest(T) {
|
|
16
|
-
const [L, ...R] = T;
|
|
17
|
-
return (T.length > 0
|
|
18
|
-
? (0, type_2.TNever)(L)
|
|
19
|
-
? [...FromIntersectRest(R)]
|
|
20
|
-
: [L, ...FromIntersectRest(R)]
|
|
21
|
-
: []);
|
|
22
|
-
}
|
|
23
|
-
function FromIntersect(T, K) {
|
|
24
|
-
return ((0, index_2.IntersectEvaluated)(FromIntersectRest(FromRest(T, K))));
|
|
25
|
-
}
|
|
26
|
-
function FromUnionRest(T, S = T) {
|
|
27
|
-
const [L, ...R] = T;
|
|
28
|
-
return (T.length > 0
|
|
29
|
-
? (0, type_2.TNever)(L)
|
|
30
|
-
? []
|
|
31
|
-
: FromUnionRest(R, S)
|
|
32
|
-
: S);
|
|
33
|
-
}
|
|
34
|
-
function FromUnion(T, K) {
|
|
35
|
-
return ((0, index_3.UnionEvaluated)(FromUnionRest(FromRest(T, K))));
|
|
36
|
-
}
|
|
37
|
-
function FromTuple(T, K) {
|
|
38
|
-
return (K in T ? T[K] :
|
|
39
|
-
K === '[number]' ? (0, index_3.UnionEvaluated)(T) :
|
|
40
|
-
(0, index_1.Never)());
|
|
41
|
-
}
|
|
42
|
-
function FromArray(T, K) {
|
|
43
|
-
return (K === '[number]'
|
|
44
|
-
? T
|
|
45
|
-
: (0, index_1.Never)());
|
|
46
|
-
}
|
|
47
|
-
function FromProperty(T, K) {
|
|
48
|
-
return (K in T
|
|
49
|
-
? T[K]
|
|
50
|
-
: (0, index_1.Never)());
|
|
51
|
-
}
|
|
52
|
-
function FromKey(T, K) {
|
|
53
|
-
return ((0, type_2.TIntersect)(T) ? FromIntersect(T.allOf, K) :
|
|
54
|
-
(0, type_2.TUnion)(T) ? FromUnion(T.anyOf, K) :
|
|
55
|
-
(0, type_2.TTuple)(T) ? FromTuple(T.items ?? [], K) :
|
|
56
|
-
(0, type_2.TArray)(T) ? FromArray(T.items, K) :
|
|
57
|
-
(0, type_2.TObject)(T) ? FromProperty(T.properties, K) :
|
|
58
|
-
(0, index_1.Never)());
|
|
59
|
-
}
|
|
60
|
-
function FromKeys(T, K) {
|
|
61
|
-
const [L, ...R] = K;
|
|
62
|
-
return (K.length > 0
|
|
63
|
-
? [FromKey(T, L), ...FromKeys(T, R)]
|
|
64
|
-
: []);
|
|
65
|
-
}
|
|
66
|
-
function IndexResult(T, K, options) {
|
|
67
|
-
return ((0, type_1.CloneType)((0, index_3.UnionEvaluated)(FromKeys(T, K)), options));
|
|
68
|
-
}
|
|
69
|
-
exports.IndexResult = IndexResult;
|