@sinclair/typebox 0.31.28 → 0.32.0-dev-2
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/{compiler → cjs/compiler}/compiler.js +118 -107
- package/{compiler → cjs/compiler}/index.js +3 -3
- package/{errors → cjs/errors}/errors.js +48 -44
- package/cjs/index.js +205 -0
- package/cjs/system/errors.js +192 -0
- package/{value → cjs/system}/index.js +13 -14
- package/cjs/system/policy.js +74 -0
- package/cjs/system/system.js +71 -0
- package/cjs/type/any/any.js +36 -0
- package/{system → cjs/type/any}/index.js +2 -5
- package/cjs/type/array/array.js +42 -0
- package/cjs/type/array/index.js +44 -0
- package/cjs/type/async-iterator/async-iterator.js +42 -0
- package/cjs/type/async-iterator/index.js +44 -0
- package/cjs/type/awaited/awaited.js +66 -0
- package/cjs/type/awaited/index.js +44 -0
- package/cjs/type/bigint/bigint.js +40 -0
- package/cjs/type/bigint/index.js +44 -0
- package/cjs/type/boolean/boolean.js +40 -0
- package/cjs/type/boolean/index.js +44 -0
- package/cjs/type/clone/index.js +32 -0
- package/cjs/type/clone/type.js +41 -0
- package/cjs/type/clone/value.js +58 -0
- package/cjs/type/composite/composite.js +47 -0
- package/cjs/type/composite/index.js +44 -0
- package/cjs/type/const/const.js +84 -0
- package/cjs/type/const/index.js +44 -0
- package/cjs/type/constructor/constructor.js +43 -0
- package/cjs/type/constructor/index.js +44 -0
- package/cjs/type/constructor-parameters/constructor-parameters.js +37 -0
- package/cjs/type/constructor-parameters/index.js +44 -0
- package/cjs/type/date/date.js +40 -0
- package/cjs/type/date/index.js +44 -0
- package/cjs/type/deref/deref.js +136 -0
- package/cjs/type/deref/index.js +44 -0
- package/cjs/type/discard/discard.js +38 -0
- package/cjs/type/discard/index.js +44 -0
- package/cjs/type/enum/enum.js +46 -0
- package/cjs/type/enum/index.js +44 -0
- package/cjs/type/exclude/exclude.js +54 -0
- package/cjs/type/exclude/index.js +44 -0
- package/cjs/type/extends/extends-check.js +654 -0
- package/cjs/type/extends/extends-undefined.js +51 -0
- package/cjs/type/extends/extends.js +47 -0
- package/cjs/type/extends/index.js +46 -0
- package/cjs/type/extract/extract.js +54 -0
- package/cjs/type/extract/index.js +44 -0
- package/cjs/type/function/function.js +43 -0
- package/cjs/type/function/index.js +44 -0
- package/cjs/type/guard/index.js +32 -0
- package/cjs/type/guard/type.js +515 -0
- package/cjs/type/guard/value.js +100 -0
- package/cjs/type/helpers/helpers.js +35 -0
- package/cjs/type/helpers/index.js +44 -0
- package/cjs/type/index.js +113 -0
- package/cjs/type/indexed/index.js +46 -0
- package/cjs/type/indexed/indexed-key.js +65 -0
- package/cjs/type/indexed/indexed-type.js +106 -0
- package/cjs/type/indexed/indexed.js +41 -0
- package/cjs/type/instance-type/index.js +44 -0
- package/cjs/type/instance-type/instance-type.js +36 -0
- package/cjs/type/integer/index.js +44 -0
- package/cjs/type/integer/integer.js +40 -0
- package/cjs/type/intersect/index.js +44 -0
- package/cjs/type/intersect/intersect.js +59 -0
- package/cjs/type/intrinsic/index.js +44 -0
- package/cjs/type/intrinsic/intrinsic.js +106 -0
- package/cjs/type/iterator/index.js +44 -0
- package/cjs/type/iterator/iterator.js +42 -0
- package/cjs/type/keyof/index.js +46 -0
- package/cjs/type/keyof/keyof-string.js +103 -0
- package/cjs/type/keyof/keyof-type.js +48 -0
- package/cjs/type/keyof/keyof.js +38 -0
- package/cjs/type/literal/index.js +44 -0
- package/cjs/type/literal/literal.js +41 -0
- package/cjs/type/mapped/index.js +44 -0
- package/cjs/type/mapped/mapped.js +47 -0
- package/cjs/type/modifiers/index.js +44 -0
- package/cjs/type/modifiers/modifiers.js +78 -0
- package/cjs/type/never/index.js +44 -0
- package/cjs/type/never/never.js +40 -0
- package/cjs/type/not/index.js +44 -0
- package/cjs/type/not/not.js +41 -0
- package/cjs/type/null/index.js +44 -0
- package/cjs/type/null/null.js +40 -0
- package/cjs/type/number/index.js +44 -0
- package/cjs/type/number/number.js +40 -0
- package/cjs/type/object/index.js +44 -0
- package/cjs/type/object/object.js +47 -0
- package/cjs/type/omit/index.js +44 -0
- package/cjs/type/omit/omit.js +75 -0
- package/cjs/type/operators/index.js +44 -0
- package/cjs/type/operators/operators.js +119 -0
- package/cjs/type/optional/index.js +44 -0
- package/cjs/type/optional/optional.js +37 -0
- package/cjs/type/parameters/index.js +44 -0
- package/cjs/type/parameters/parameters.js +37 -0
- package/cjs/type/partial/index.js +44 -0
- package/cjs/type/partial/partial.js +73 -0
- package/cjs/type/patterns/index.js +44 -0
- package/cjs/type/patterns/patterns.js +36 -0
- package/cjs/type/pick/index.js +44 -0
- package/cjs/type/pick/pick.js +66 -0
- package/cjs/type/promise/index.js +44 -0
- package/cjs/type/promise/promise.js +42 -0
- package/cjs/type/readonly/index.js +44 -0
- package/cjs/type/readonly/readonly.js +37 -0
- package/cjs/type/readonly-optional/index.js +44 -0
- package/cjs/type/readonly-optional/readonly-optional.js +37 -0
- package/cjs/type/record/index.js +44 -0
- package/cjs/type/record/record.js +97 -0
- package/cjs/type/recursive/index.js +44 -0
- package/cjs/type/recursive/recursive.js +48 -0
- package/cjs/type/ref/index.js +44 -0
- package/cjs/type/ref/ref.js +45 -0
- package/cjs/type/regexp/index.js +44 -0
- package/cjs/type/regexp/regexp.js +38 -0
- package/cjs/type/registry/format.js +62 -0
- package/cjs/type/registry/index.js +32 -0
- package/cjs/type/registry/type.js +62 -0
- package/cjs/type/required/index.js +44 -0
- package/cjs/type/required/required.js +72 -0
- package/cjs/type/rest/index.js +44 -0
- package/cjs/type/rest/rest.js +41 -0
- package/cjs/type/return-type/index.js +44 -0
- package/cjs/type/return-type/return-type.js +36 -0
- package/cjs/type/schema/anyschema.js +29 -0
- package/cjs/type/schema/index.js +45 -0
- package/cjs/type/schema/schema.js +30 -0
- package/cjs/type/static/index.js +44 -0
- package/cjs/type/static/static.js +29 -0
- package/cjs/type/strict/index.js +44 -0
- package/cjs/type/strict/strict.js +35 -0
- package/cjs/type/string/index.js +44 -0
- package/cjs/type/string/string.js +36 -0
- package/cjs/type/symbol/index.js +44 -0
- package/cjs/type/symbol/symbol.js +36 -0
- package/cjs/type/symbols/index.js +44 -0
- package/cjs/type/symbols/symbols.js +40 -0
- package/cjs/type/template-literal/finite.js +71 -0
- package/cjs/type/template-literal/generate.js +74 -0
- package/cjs/type/template-literal/index.js +50 -0
- package/cjs/type/template-literal/parser.js +175 -0
- package/cjs/type/template-literal/pattern.js +61 -0
- package/cjs/type/template-literal/syntax.js +87 -0
- package/cjs/type/template-literal/template-literal.js +43 -0
- package/cjs/type/template-literal/union.js +48 -0
- package/cjs/type/transform/index.js +44 -0
- package/cjs/type/transform/transform.js +72 -0
- package/cjs/type/tuple/index.js +44 -0
- package/cjs/type/tuple/tuple.js +42 -0
- package/cjs/type/type/index.js +44 -0
- package/cjs/type/type/javascript.js +120 -0
- package/cjs/type/type/json.js +255 -0
- package/cjs/type/type/type.js +153 -0
- package/cjs/type/uint8array/index.js +44 -0
- package/cjs/type/uint8array/uint8array.js +36 -0
- package/cjs/type/undefined/index.js +44 -0
- package/cjs/type/undefined/undefined.js +36 -0
- package/cjs/type/union/index.js +44 -0
- package/cjs/type/union/union.js +50 -0
- package/cjs/type/unknown/index.js +44 -0
- package/cjs/type/unknown/unknown.js +39 -0
- package/cjs/type/unsafe/index.js +44 -0
- package/cjs/type/unsafe/unsafe.js +39 -0
- package/cjs/type/void/index.js +44 -0
- package/cjs/type/void/void.js +40 -0
- package/{value → cjs/value/cast}/cast.js +62 -83
- package/cjs/value/cast/index.js +44 -0
- package/cjs/value/check/check.js +468 -0
- package/cjs/value/check/index.js +44 -0
- package/cjs/value/clean/clean.js +167 -0
- package/cjs/value/clean/index.js +44 -0
- package/{value → cjs/value/clone}/clone.js +6 -6
- package/cjs/value/clone/index.js +44 -0
- package/{value → cjs/value/convert}/convert.js +93 -116
- package/cjs/value/convert/index.js +44 -0
- package/{value → cjs/value/create}/create.js +69 -62
- package/cjs/value/create/index.js +44 -0
- package/cjs/value/default/default.js +175 -0
- package/cjs/value/default/index.js +44 -0
- package/{value → cjs/value/delta}/delta.js +57 -53
- package/cjs/value/delta/index.js +44 -0
- package/{value → cjs/value/deref}/deref.js +1 -2
- package/cjs/value/deref/index.js +44 -0
- package/{value → cjs/value/equal}/equal.js +14 -14
- package/cjs/value/equal/index.js +44 -0
- package/cjs/value/guard/index.js +44 -0
- package/{value → cjs/value/hash}/hash.js +26 -26
- package/cjs/value/hash/index.js +44 -0
- package/cjs/value/index.js +123 -0
- package/cjs/value/mutate/index.js +44 -0
- package/{value → cjs/value/mutate}/mutate.js +25 -25
- package/cjs/value/pointer/index.js +31 -0
- package/cjs/value/pointer/pointer.js +151 -0
- package/cjs/value/transform/decode.js +211 -0
- package/cjs/value/transform/encode.js +219 -0
- package/cjs/value/transform/has.js +146 -0
- package/cjs/value/transform/index.js +46 -0
- package/cjs/value/value/index.js +31 -0
- package/cjs/value/value/value.js +125 -0
- package/{compiler/compiler.d.ts → esm/compiler/compiler.d.mts} +25 -18
- package/esm/compiler/compiler.mjs +658 -0
- package/{compiler/index.d.ts → esm/compiler/index.d.mts} +2 -2
- package/esm/compiler/index.mjs +29 -0
- package/{errors/errors.d.ts → esm/errors/errors.d.mts} +7 -7
- package/esm/errors/errors.mjs +583 -0
- package/esm/errors/index.d.mts +1 -0
- package/esm/errors/index.mjs +28 -0
- package/esm/index.d.mts +71 -0
- package/esm/index.mjs +105 -0
- package/esm/system/errors.d.mts +14 -0
- package/esm/system/errors.mjs +188 -0
- package/esm/system/index.d.mts +4 -0
- package/esm/system/index.mjs +31 -0
- package/esm/system/policy.d.mts +21 -0
- package/esm/system/policy.mjs +71 -0
- package/esm/system/system.d.mts +13 -0
- package/esm/system/system.mjs +66 -0
- package/esm/type/any/any.d.mts +8 -0
- package/esm/type/any/any.mjs +32 -0
- package/esm/type/any/index.d.mts +1 -0
- package/esm/type/any/index.mjs +28 -0
- package/esm/type/array/array.d.mts +25 -0
- package/esm/type/array/array.mjs +38 -0
- package/esm/type/array/index.d.mts +1 -0
- package/esm/type/array/index.mjs +28 -0
- package/esm/type/async-iterator/async-iterator.d.mts +11 -0
- package/esm/type/async-iterator/async-iterator.mjs +38 -0
- package/esm/type/async-iterator/index.d.mts +1 -0
- package/esm/type/async-iterator/index.mjs +28 -0
- package/esm/type/awaited/awaited.d.mts +12 -0
- package/esm/type/awaited/awaited.mjs +61 -0
- package/esm/type/awaited/index.d.mts +1 -0
- package/esm/type/awaited/index.mjs +28 -0
- package/esm/type/bigint/bigint.d.mts +16 -0
- package/esm/type/bigint/bigint.mjs +36 -0
- package/esm/type/bigint/index.d.mts +1 -0
- package/esm/type/bigint/index.mjs +28 -0
- package/esm/type/boolean/boolean.d.mts +9 -0
- package/esm/type/boolean/boolean.mjs +36 -0
- package/esm/type/boolean/index.d.mts +1 -0
- package/esm/type/boolean/index.mjs +28 -0
- package/esm/type/clone/index.d.mts +2 -0
- package/esm/type/clone/index.mjs +29 -0
- package/esm/type/clone/type.d.mts +5 -0
- package/esm/type/clone/type.mjs +36 -0
- package/esm/type/clone/value.d.mts +2 -0
- package/esm/type/clone/value.mjs +54 -0
- package/esm/type/composite/composite.d.mts +15 -0
- package/esm/type/composite/composite.mjs +42 -0
- package/esm/type/composite/index.d.mts +1 -0
- package/esm/type/composite/index.mjs +28 -0
- package/esm/type/const/const.d.mts +30 -0
- package/esm/type/const/const.mjs +80 -0
- package/esm/type/const/index.d.mts +1 -0
- package/esm/type/const/index.mjs +28 -0
- package/esm/type/constructor/constructor.d.mts +17 -0
- package/esm/type/constructor/constructor.mjs +39 -0
- package/esm/type/constructor/index.d.mts +1 -0
- package/esm/type/constructor/index.mjs +28 -0
- package/esm/type/constructor-parameters/constructor-parameters.d.mts +7 -0
- package/esm/type/constructor-parameters/constructor-parameters.mjs +33 -0
- package/esm/type/constructor-parameters/index.d.mts +1 -0
- package/esm/type/constructor-parameters/index.mjs +28 -0
- package/esm/type/date/date.d.mts +21 -0
- package/esm/type/date/date.mjs +36 -0
- package/esm/type/date/index.d.mts +1 -0
- package/esm/type/date/index.mjs +28 -0
- package/esm/type/deref/deref.d.mts +24 -0
- package/esm/type/deref/deref.mjs +131 -0
- package/esm/type/deref/index.d.mts +1 -0
- package/esm/type/deref/index.mjs +28 -0
- package/esm/type/discard/discard.d.mts +1 -0
- package/esm/type/discard/discard.mjs +34 -0
- package/esm/type/discard/index.d.mts +1 -0
- package/esm/type/discard/index.mjs +28 -0
- package/esm/type/enum/enum.d.mts +14 -0
- package/esm/type/enum/enum.mjs +42 -0
- package/esm/type/enum/index.d.mts +1 -0
- package/esm/type/enum/index.mjs +28 -0
- package/esm/type/exclude/exclude.d.mts +21 -0
- package/esm/type/exclude/exclude.mjs +49 -0
- package/esm/type/exclude/index.d.mts +1 -0
- package/esm/type/exclude/index.mjs +28 -0
- package/esm/type/extends/extends-check.d.mts +9 -0
- package/esm/type/extends/extends-check.mjs +649 -0
- package/esm/type/extends/extends-undefined.d.mts +3 -0
- package/esm/type/extends/extends-undefined.mjs +47 -0
- package/esm/type/extends/extends.d.mts +9 -0
- package/esm/type/extends/extends.mjs +42 -0
- package/esm/type/extends/index.d.mts +3 -0
- package/esm/type/extends/index.mjs +30 -0
- package/esm/type/extract/extract.d.mts +20 -0
- package/esm/type/extract/extract.mjs +49 -0
- package/esm/type/extract/index.d.mts +1 -0
- package/esm/type/extract/index.mjs +28 -0
- package/esm/type/function/function.d.mts +17 -0
- package/esm/type/function/function.mjs +39 -0
- package/esm/type/function/index.d.mts +1 -0
- package/esm/type/function/index.mjs +28 -0
- package/esm/type/guard/index.d.mts +2 -0
- package/esm/type/guard/index.mjs +29 -0
- package/esm/type/guard/type.d.mts +130 -0
- package/esm/type/guard/type.mjs +469 -0
- package/esm/type/guard/value.d.mts +28 -0
- package/esm/type/guard/value.mjs +83 -0
- package/esm/type/helpers/helpers.d.mts +42 -0
- package/esm/type/helpers/helpers.mjs +31 -0
- package/esm/type/helpers/index.d.mts +1 -0
- package/esm/type/helpers/index.mjs +28 -0
- package/esm/type/index.d.mts +70 -0
- package/esm/type/index.mjs +97 -0
- package/esm/type/indexed/index.d.mts +3 -0
- package/esm/type/indexed/index.mjs +30 -0
- package/esm/type/indexed/indexed-key.d.mts +17 -0
- package/esm/type/indexed/indexed-key.mjs +61 -0
- package/esm/type/indexed/indexed-type.d.mts +33 -0
- package/esm/type/indexed/indexed-type.mjs +102 -0
- package/esm/type/indexed/indexed.d.mts +8 -0
- package/esm/type/indexed/indexed.mjs +37 -0
- package/esm/type/instance-type/index.d.mts +1 -0
- package/esm/type/instance-type/index.mjs +28 -0
- package/esm/type/instance-type/instance-type.d.mts +5 -0
- package/esm/type/instance-type/instance-type.mjs +32 -0
- package/esm/type/integer/index.d.mts +1 -0
- package/esm/type/integer/index.mjs +28 -0
- package/esm/type/integer/integer.d.mts +16 -0
- package/esm/type/integer/integer.mjs +36 -0
- package/esm/type/intersect/index.d.mts +1 -0
- package/esm/type/intersect/index.mjs +28 -0
- package/esm/type/intersect/intersect.d.mts +22 -0
- package/esm/type/intersect/intersect.mjs +54 -0
- package/esm/type/intrinsic/index.d.mts +1 -0
- package/esm/type/intrinsic/index.mjs +28 -0
- package/esm/type/intrinsic/intrinsic.d.mts +27 -0
- package/esm/type/intrinsic/intrinsic.mjs +98 -0
- package/esm/type/iterator/index.d.mts +1 -0
- package/esm/type/iterator/index.mjs +28 -0
- package/esm/type/iterator/iterator.d.mts +11 -0
- package/esm/type/iterator/iterator.mjs +38 -0
- package/esm/type/keyof/index.d.mts +3 -0
- package/esm/type/keyof/index.mjs +30 -0
- package/esm/type/keyof/keyof-string.d.mts +30 -0
- package/esm/type/keyof/keyof-string.mjs +98 -0
- package/esm/type/keyof/keyof-type.d.mts +11 -0
- package/esm/type/keyof/keyof-type.mjs +44 -0
- package/esm/type/keyof/keyof.d.mts +5 -0
- package/esm/type/keyof/keyof.mjs +34 -0
- package/esm/type/literal/index.d.mts +1 -0
- package/esm/type/literal/index.mjs +28 -0
- package/esm/type/literal/literal.d.mts +10 -0
- package/esm/type/literal/literal.mjs +37 -0
- package/esm/type/mapped/index.d.mts +1 -0
- package/esm/type/mapped/index.mjs +28 -0
- package/esm/type/mapped/mapped.d.mts +26 -0
- package/esm/type/mapped/mapped.mjs +43 -0
- package/esm/type/modifiers/index.d.mts +1 -0
- package/esm/type/modifiers/index.mjs +28 -0
- package/esm/type/modifiers/modifiers.d.mts +18 -0
- package/esm/type/modifiers/modifiers.mjs +73 -0
- package/esm/type/never/index.d.mts +1 -0
- package/esm/type/never/index.mjs +28 -0
- package/esm/type/never/never.d.mts +9 -0
- package/esm/type/never/never.mjs +36 -0
- package/esm/type/not/index.d.mts +1 -0
- package/esm/type/not/index.mjs +28 -0
- package/esm/type/not/not.d.mts +10 -0
- package/esm/type/not/not.mjs +37 -0
- package/esm/type/null/index.d.mts +1 -0
- package/esm/type/null/index.mjs +28 -0
- package/esm/type/null/null.d.mts +9 -0
- package/esm/type/null/null.mjs +36 -0
- package/esm/type/number/index.d.mts +1 -0
- package/esm/type/number/index.mjs +28 -0
- package/esm/type/number/number.d.mts +16 -0
- package/esm/type/number/number.mjs +36 -0
- package/esm/type/object/index.d.mts +1 -0
- package/esm/type/object/index.mjs +28 -0
- package/esm/type/object/object.d.mts +44 -0
- package/esm/type/object/object.mjs +43 -0
- package/esm/type/omit/index.d.mts +1 -0
- package/esm/type/omit/index.mjs +28 -0
- package/esm/type/omit/omit.d.mts +21 -0
- package/esm/type/omit/omit.mjs +70 -0
- package/esm/type/operators/index.d.mts +1 -0
- package/esm/type/operators/index.mjs +28 -0
- package/esm/type/operators/operators.d.mts +24 -0
- package/esm/type/operators/operators.mjs +108 -0
- package/esm/type/optional/index.d.mts +1 -0
- package/esm/type/optional/index.mjs +28 -0
- package/esm/type/optional/optional.d.mts +7 -0
- package/esm/type/optional/optional.mjs +33 -0
- package/esm/type/parameters/index.d.mts +1 -0
- package/esm/type/parameters/index.mjs +28 -0
- package/esm/type/parameters/parameters.d.mts +7 -0
- package/esm/type/parameters/parameters.mjs +33 -0
- package/esm/type/partial/index.d.mts +1 -0
- package/esm/type/partial/index.mjs +28 -0
- package/esm/type/partial/partial.d.mts +23 -0
- package/esm/type/partial/partial.mjs +68 -0
- package/esm/type/patterns/index.d.mts +1 -0
- package/esm/type/patterns/index.mjs +28 -0
- package/esm/type/patterns/patterns.d.mts +6 -0
- package/esm/type/patterns/patterns.mjs +33 -0
- package/esm/type/pick/index.d.mts +1 -0
- package/esm/type/pick/index.mjs +28 -0
- package/esm/type/pick/pick.d.mts +21 -0
- package/esm/type/pick/pick.mjs +61 -0
- package/esm/type/promise/index.d.mts +1 -0
- package/esm/type/promise/index.mjs +28 -0
- package/esm/type/promise/promise.d.mts +11 -0
- package/esm/type/promise/promise.mjs +38 -0
- package/esm/type/readonly/index.d.mts +1 -0
- package/esm/type/readonly/index.mjs +28 -0
- package/esm/type/readonly/readonly.d.mts +7 -0
- package/esm/type/readonly/readonly.mjs +33 -0
- package/esm/type/readonly-optional/index.d.mts +1 -0
- package/esm/type/readonly-optional/index.mjs +28 -0
- package/esm/type/readonly-optional/readonly-optional.d.mts +6 -0
- package/esm/type/readonly-optional/readonly-optional.mjs +33 -0
- package/esm/type/record/index.d.mts +1 -0
- package/esm/type/record/index.mjs +28 -0
- package/esm/type/record/record.d.mts +55 -0
- package/esm/type/record/record.mjs +92 -0
- package/esm/type/recursive/index.d.mts +1 -0
- package/esm/type/recursive/index.mjs +28 -0
- package/esm/type/recursive/recursive.d.mts +15 -0
- package/esm/type/recursive/recursive.mjs +44 -0
- package/esm/type/ref/index.d.mts +1 -0
- package/esm/type/ref/index.mjs +28 -0
- package/esm/type/ref/ref.d.mts +12 -0
- package/esm/type/ref/ref.mjs +41 -0
- package/esm/type/regexp/index.d.mts +1 -0
- package/esm/type/regexp/index.mjs +28 -0
- package/esm/type/regexp/regexp.d.mts +7 -0
- package/esm/type/regexp/regexp.mjs +34 -0
- package/esm/type/registry/format.d.mts +13 -0
- package/esm/type/registry/format.mjs +53 -0
- package/esm/type/registry/index.d.mts +2 -0
- package/esm/type/registry/index.mjs +29 -0
- package/esm/type/registry/type.d.mts +13 -0
- package/esm/type/registry/type.mjs +53 -0
- package/esm/type/required/index.d.mts +1 -0
- package/esm/type/required/index.mjs +28 -0
- package/esm/type/required/required.d.mts +23 -0
- package/esm/type/required/required.mjs +67 -0
- package/esm/type/rest/index.d.mts +1 -0
- package/esm/type/rest/index.mjs +28 -0
- package/esm/type/rest/rest.d.mts +10 -0
- package/esm/type/rest/rest.mjs +36 -0
- package/esm/type/return-type/index.d.mts +1 -0
- package/esm/type/return-type/index.mjs +28 -0
- package/esm/type/return-type/return-type.d.mts +5 -0
- package/esm/type/return-type/return-type.mjs +32 -0
- package/esm/type/schema/anyschema.d.mts +32 -0
- package/esm/type/schema/anyschema.mjs +28 -0
- package/esm/type/schema/index.d.mts +2 -0
- package/esm/type/schema/index.mjs +29 -0
- package/esm/type/schema/schema.d.mts +29 -0
- package/esm/type/schema/schema.mjs +28 -0
- package/esm/type/static/index.d.mts +1 -0
- package/esm/type/static/index.mjs +28 -0
- package/esm/type/static/static.d.mts +34 -0
- package/esm/type/static/static.mjs +28 -0
- package/esm/type/strict/index.d.mts +1 -0
- package/esm/type/strict/index.mjs +28 -0
- package/esm/type/strict/strict.d.mts +3 -0
- package/esm/type/strict/strict.mjs +31 -0
- package/esm/type/string/index.d.mts +1 -0
- package/esm/type/string/index.mjs +28 -0
- package/esm/type/string/string.d.mts +25 -0
- package/esm/type/string/string.mjs +32 -0
- package/esm/type/symbol/index.d.mts +1 -0
- package/esm/type/symbol/index.mjs +28 -0
- package/esm/type/symbol/symbol.d.mts +10 -0
- package/esm/type/symbol/symbol.mjs +32 -0
- package/esm/type/symbols/index.d.mts +1 -0
- package/esm/type/symbols/index.mjs +28 -0
- package/esm/type/symbols/symbols.d.mts +10 -0
- package/esm/type/symbols/symbols.mjs +37 -0
- package/esm/type/template-literal/finite.d.mts +16 -0
- package/esm/type/template-literal/finite.mjs +66 -0
- package/esm/type/template-literal/generate.d.mts +15 -0
- package/esm/type/template-literal/generate.mjs +69 -0
- package/esm/type/template-literal/index.d.mts +7 -0
- package/esm/type/template-literal/index.mjs +34 -0
- package/esm/type/template-literal/parser.d.mts +19 -0
- package/esm/type/template-literal/parser.mjs +169 -0
- package/esm/type/template-literal/pattern.d.mts +4 -0
- package/esm/type/template-literal/pattern.mjs +56 -0
- package/esm/type/template-literal/syntax.d.mts +20 -0
- package/esm/type/template-literal/syntax.mjs +83 -0
- package/esm/type/template-literal/template-literal.d.mts +30 -0
- package/esm/type/template-literal/template-literal.mjs +39 -0
- package/esm/type/template-literal/union.d.mts +7 -0
- package/esm/type/template-literal/union.mjs +44 -0
- package/esm/type/transform/index.d.mts +1 -0
- package/esm/type/transform/index.mjs +28 -0
- package/esm/type/transform/transform.d.mts +29 -0
- package/esm/type/transform/transform.mjs +69 -0
- package/esm/type/tuple/index.d.mts +1 -0
- package/esm/type/tuple/index.mjs +28 -0
- package/esm/type/tuple/tuple.d.mts +15 -0
- package/esm/type/tuple/tuple.mjs +38 -0
- package/esm/type/type/index.d.mts +6 -0
- package/esm/type/type/index.mjs +40 -0
- package/esm/type/type/javascript.d.mts +58 -0
- package/esm/type/type/javascript.mjs +116 -0
- package/esm/type/type/json.d.mts +139 -0
- package/esm/type/type/json.mjs +251 -0
- package/esm/type/type/type.d.mts +58 -0
- package/esm/type/type/type.mjs +88 -0
- package/esm/type/uint8array/index.d.mts +1 -0
- package/esm/type/uint8array/index.mjs +28 -0
- package/esm/type/uint8array/uint8array.d.mts +13 -0
- package/esm/type/uint8array/uint8array.mjs +32 -0
- package/esm/type/undefined/index.d.mts +1 -0
- package/esm/type/undefined/index.mjs +28 -0
- package/esm/type/undefined/undefined.d.mts +9 -0
- package/esm/type/undefined/undefined.mjs +32 -0
- package/esm/type/union/index.d.mts +1 -0
- package/esm/type/union/index.mjs +28 -0
- package/esm/type/union/union.d.mts +16 -0
- package/esm/type/union/union.mjs +45 -0
- package/esm/type/unknown/index.d.mts +1 -0
- package/esm/type/unknown/index.mjs +28 -0
- package/esm/type/unknown/unknown.d.mts +8 -0
- package/esm/type/unknown/unknown.mjs +35 -0
- package/esm/type/unsafe/index.d.mts +1 -0
- package/esm/type/unsafe/index.mjs +28 -0
- package/esm/type/unsafe/unsafe.d.mts +11 -0
- package/esm/type/unsafe/unsafe.mjs +35 -0
- package/esm/type/void/index.d.mts +1 -0
- package/esm/type/void/index.mjs +28 -0
- package/esm/type/void/void.d.mts +9 -0
- package/esm/type/void/void.mjs +36 -0
- package/esm/value/cast/cast.d.mts +23 -0
- package/esm/value/cast/cast.mjs +260 -0
- package/esm/value/cast/index.d.mts +1 -0
- package/esm/value/cast/index.mjs +28 -0
- package/esm/value/check/check.d.mts +10 -0
- package/{value/check.js → esm/value/check/check.mjs} +52 -51
- package/esm/value/check/index.d.mts +1 -0
- package/esm/value/check/index.mjs +28 -0
- package/esm/value/clean/clean.d.mts +5 -0
- package/esm/value/clean/clean.mjs +163 -0
- package/esm/value/clean/index.d.mts +1 -0
- package/esm/value/clean/index.mjs +28 -0
- package/esm/value/clone/clone.mjs +64 -0
- package/esm/value/clone/index.d.mts +1 -0
- package/esm/value/clone/index.mjs +28 -0
- package/esm/value/convert/convert.d.mts +9 -0
- package/esm/value/convert/convert.mjs +287 -0
- package/esm/value/convert/index.d.mts +1 -0
- package/esm/value/convert/index.mjs +28 -0
- package/esm/value/create/create.d.mts +31 -0
- package/esm/value/create/create.mjs +504 -0
- package/esm/value/create/index.d.mts +1 -0
- package/esm/value/create/index.mjs +28 -0
- package/esm/value/default/default.d.mts +5 -0
- package/esm/value/default/default.mjs +171 -0
- package/esm/value/default/index.d.mts +1 -0
- package/esm/value/default/index.mjs +28 -0
- package/esm/value/delta/delta.d.mts +41 -0
- package/esm/value/delta/delta.mjs +194 -0
- package/esm/value/delta/index.d.mts +1 -0
- package/esm/value/delta/index.mjs +28 -0
- package/{value/deref.d.ts → esm/value/deref/deref.d.mts} +4 -2
- package/esm/value/deref/deref.mjs +41 -0
- package/esm/value/deref/index.d.mts +1 -0
- package/esm/value/deref/index.mjs +28 -0
- package/esm/value/equal/equal.mjs +73 -0
- package/esm/value/equal/index.d.mts +1 -0
- package/esm/value/equal/index.mjs +28 -0
- package/esm/value/guard/guard.mjs +123 -0
- package/esm/value/guard/index.d.mts +1 -0
- package/esm/value/guard/index.mjs +28 -0
- package/{value/hash.d.ts → esm/value/hash/hash.d.mts} +0 -13
- package/esm/value/hash/hash.mjs +173 -0
- package/esm/value/hash/index.d.mts +1 -0
- package/esm/value/hash/index.mjs +28 -0
- package/esm/value/index.d.mts +18 -0
- package/esm/value/index.mjs +57 -0
- package/esm/value/mutate/index.d.mts +1 -0
- package/esm/value/mutate/index.mjs +28 -0
- package/{value/mutate.d.ts → esm/value/mutate/mutate.d.mts} +1 -1
- package/esm/value/mutate/mutate.mjs +123 -0
- package/esm/value/pointer/index.d.mts +1 -0
- package/esm/value/pointer/index.mjs +28 -0
- package/esm/value/pointer/pointer.d.mts +21 -0
- package/esm/value/pointer/pointer.mjs +146 -0
- package/esm/value/transform/decode.d.mts +19 -0
- package/esm/value/transform/decode.mjs +210 -0
- package/esm/value/transform/encode.d.mts +20 -0
- package/esm/value/transform/encode.mjs +218 -0
- package/esm/value/transform/has.d.mts +3 -0
- package/esm/value/transform/has.mjs +142 -0
- package/esm/value/transform/index.d.mts +3 -0
- package/esm/value/transform/index.mjs +30 -0
- package/esm/value/value/index.d.mts +1 -0
- package/esm/value/value/index.mjs +28 -0
- package/esm/value/value/value.d.mts +53 -0
- package/esm/value/value/value.mjs +107 -0
- package/package.json +37 -27
- package/readme.md +183 -155
- package/errors/index.d.ts +0 -1
- package/system/index.d.ts +0 -2
- package/system/system.d.ts +0 -48
- package/system/system.js +0 -274
- package/typebox.d.ts +0 -962
- package/typebox.js +0 -2364
- package/value/cast.d.ts +0 -24
- package/value/check.d.ts +0 -9
- package/value/convert.d.ts +0 -10
- package/value/create.d.ts +0 -30
- package/value/delta.d.ts +0 -41
- package/value/index.d.ts +0 -5
- package/value/pointer.d.ts +0 -24
- package/value/pointer.js +0 -148
- package/value/transform.d.ts +0 -37
- package/value/transform.js +0 -473
- package/value/value.d.ts +0 -47
- package/value/value.js +0 -117
- /package/{errors → cjs/errors}/index.js +0 -0
- /package/{value → cjs/value/guard}/guard.js +0 -0
- /package/{value/clone.d.ts → esm/value/clone/clone.d.mts} +0 -0
- /package/{value/equal.d.ts → esm/value/equal/equal.d.mts} +0 -0
- /package/{value/guard.d.ts → esm/value/guard/guard.d.mts} +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*--------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
@sinclair/typebox/value
|
|
4
|
+
|
|
5
|
+
The MIT License (MIT)
|
|
6
|
+
|
|
7
|
+
Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
|
|
8
|
+
|
|
9
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
11
|
+
in the Software without restriction, including without limitation the rights
|
|
12
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
14
|
+
furnished to do so, subject to the following conditions:
|
|
15
|
+
|
|
16
|
+
The above copyright notice and this permission notice shall be included in
|
|
17
|
+
all copies or substantial portions of the Software.
|
|
18
|
+
|
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
25
|
+
THE SOFTWARE.
|
|
26
|
+
|
|
27
|
+
---------------------------------------------------------------------------*/
|
|
28
|
+
export * from './cast.mjs';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TSchema } from '../../type/schema/index.mjs';
|
|
2
|
+
import type { Static } from '../../type/static/index.mjs';
|
|
3
|
+
export declare class ValueCheckUnknownTypeError extends Error {
|
|
4
|
+
readonly schema: TSchema;
|
|
5
|
+
constructor(schema: TSchema);
|
|
6
|
+
}
|
|
7
|
+
/** Returns true if the value matches the given type. */
|
|
8
|
+
export declare function Check<T extends TSchema>(schema: T, references: TSchema[], value: unknown): value is Static<T>;
|
|
9
|
+
/** Returns true if the value matches the given type. */
|
|
10
|
+
export declare function Check<T extends TSchema>(schema: T, value: unknown): value is Static<T>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*--------------------------------------------------------------------------
|
|
3
2
|
|
|
4
3
|
@sinclair/typebox/value
|
|
@@ -26,28 +25,31 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
26
25
|
THE SOFTWARE.
|
|
27
26
|
|
|
28
27
|
---------------------------------------------------------------------------*/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
import { IsArray, IsUint8Array, IsDate, IsPromise, IsFunction, IsAsyncIterator, IsIterator, IsBoolean, IsNumber, IsBigInt, IsString, IsSymbol, IsInteger, IsNull, IsUndefined } from '../guard/index.mjs';
|
|
29
|
+
import { TypeSystemPolicy } from '../../system/index.mjs';
|
|
30
|
+
import { Deref } from '../deref/index.mjs';
|
|
31
|
+
import { Hash } from '../hash/index.mjs';
|
|
32
|
+
import { Kind } from '../../type/symbols/index.mjs';
|
|
33
|
+
import { KeyOfStringResolvePattern } from '../../type/keyof/index.mjs';
|
|
34
|
+
import { ExtendsUndefinedCheck } from '../../type/extends/index.mjs';
|
|
35
|
+
import { TSchema as IsSchemaType } from '../../type/guard/type.mjs';
|
|
36
|
+
import { TypeRegistry, FormatRegistry } from '../../type/registry/index.mjs';
|
|
37
|
+
import { Never } from '../../type/never/index.mjs';
|
|
36
38
|
// --------------------------------------------------------------------------
|
|
37
39
|
// Errors
|
|
38
40
|
// --------------------------------------------------------------------------
|
|
39
|
-
class ValueCheckUnknownTypeError extends
|
|
41
|
+
export class ValueCheckUnknownTypeError extends Error {
|
|
42
|
+
schema;
|
|
40
43
|
constructor(schema) {
|
|
41
44
|
super(`Unknown type`);
|
|
42
45
|
this.schema = schema;
|
|
43
46
|
}
|
|
44
47
|
}
|
|
45
|
-
exports.ValueCheckUnknownTypeError = ValueCheckUnknownTypeError;
|
|
46
48
|
// --------------------------------------------------------------------------
|
|
47
49
|
// TypeGuards
|
|
48
50
|
// --------------------------------------------------------------------------
|
|
49
51
|
function IsAnyOrUnknown(schema) {
|
|
50
|
-
return schema[
|
|
52
|
+
return schema[Kind] === 'Any' || schema[Kind] === 'Unknown';
|
|
51
53
|
}
|
|
52
54
|
// --------------------------------------------------------------------------
|
|
53
55
|
// Guards
|
|
@@ -62,7 +64,7 @@ function TAny(schema, references, value) {
|
|
|
62
64
|
return true;
|
|
63
65
|
}
|
|
64
66
|
function TArray(schema, references, value) {
|
|
65
|
-
if (!
|
|
67
|
+
if (!IsArray(value))
|
|
66
68
|
return false;
|
|
67
69
|
if (IsDefined(schema.minItems) && !(value.length >= schema.minItems)) {
|
|
68
70
|
return false;
|
|
@@ -75,7 +77,7 @@ function TArray(schema, references, value) {
|
|
|
75
77
|
}
|
|
76
78
|
// prettier-ignore
|
|
77
79
|
if (schema.uniqueItems === true && !((function () { const set = new Set(); for (const element of value) {
|
|
78
|
-
const hashed =
|
|
80
|
+
const hashed = Hash(element);
|
|
79
81
|
if (set.has(hashed)) {
|
|
80
82
|
return false;
|
|
81
83
|
}
|
|
@@ -86,27 +88,27 @@ function TArray(schema, references, value) {
|
|
|
86
88
|
return false;
|
|
87
89
|
}
|
|
88
90
|
// contains
|
|
89
|
-
if (!(IsDefined(schema.contains) ||
|
|
91
|
+
if (!(IsDefined(schema.contains) || IsNumber(schema.minContains) || IsNumber(schema.maxContains))) {
|
|
90
92
|
return true; // exit
|
|
91
93
|
}
|
|
92
|
-
const containsSchema = IsDefined(schema.contains) ? schema.contains :
|
|
94
|
+
const containsSchema = IsDefined(schema.contains) ? schema.contains : Never();
|
|
93
95
|
const containsCount = value.reduce((acc, value) => (Visit(containsSchema, references, value) ? acc + 1 : acc), 0);
|
|
94
96
|
if (containsCount === 0) {
|
|
95
97
|
return false;
|
|
96
98
|
}
|
|
97
|
-
if (
|
|
99
|
+
if (IsNumber(schema.minContains) && containsCount < schema.minContains) {
|
|
98
100
|
return false;
|
|
99
101
|
}
|
|
100
|
-
if (
|
|
102
|
+
if (IsNumber(schema.maxContains) && containsCount > schema.maxContains) {
|
|
101
103
|
return false;
|
|
102
104
|
}
|
|
103
105
|
return true;
|
|
104
106
|
}
|
|
105
107
|
function TAsyncIterator(schema, references, value) {
|
|
106
|
-
return
|
|
108
|
+
return IsAsyncIterator(value);
|
|
107
109
|
}
|
|
108
110
|
function TBigInt(schema, references, value) {
|
|
109
|
-
if (!
|
|
111
|
+
if (!IsBigInt(value))
|
|
110
112
|
return false;
|
|
111
113
|
if (IsDefined(schema.exclusiveMaximum) && !(value < schema.exclusiveMaximum)) {
|
|
112
114
|
return false;
|
|
@@ -126,13 +128,13 @@ function TBigInt(schema, references, value) {
|
|
|
126
128
|
return true;
|
|
127
129
|
}
|
|
128
130
|
function TBoolean(schema, references, value) {
|
|
129
|
-
return
|
|
131
|
+
return IsBoolean(value);
|
|
130
132
|
}
|
|
131
133
|
function TConstructor(schema, references, value) {
|
|
132
134
|
return Visit(schema.returns, references, value.prototype);
|
|
133
135
|
}
|
|
134
136
|
function TDate(schema, references, value) {
|
|
135
|
-
if (!
|
|
137
|
+
if (!IsDate(value))
|
|
136
138
|
return false;
|
|
137
139
|
if (IsDefined(schema.exclusiveMaximumTimestamp) && !(value.getTime() < schema.exclusiveMaximumTimestamp)) {
|
|
138
140
|
return false;
|
|
@@ -152,10 +154,10 @@ function TDate(schema, references, value) {
|
|
|
152
154
|
return true;
|
|
153
155
|
}
|
|
154
156
|
function TFunction(schema, references, value) {
|
|
155
|
-
return
|
|
157
|
+
return IsFunction(value);
|
|
156
158
|
}
|
|
157
159
|
function TInteger(schema, references, value) {
|
|
158
|
-
if (!
|
|
160
|
+
if (!IsInteger(value)) {
|
|
159
161
|
return false;
|
|
160
162
|
}
|
|
161
163
|
if (IsDefined(schema.exclusiveMaximum) && !(value < schema.exclusiveMaximum)) {
|
|
@@ -178,12 +180,12 @@ function TInteger(schema, references, value) {
|
|
|
178
180
|
function TIntersect(schema, references, value) {
|
|
179
181
|
const check1 = schema.allOf.every((schema) => Visit(schema, references, value));
|
|
180
182
|
if (schema.unevaluatedProperties === false) {
|
|
181
|
-
const keyPattern = new RegExp(
|
|
183
|
+
const keyPattern = new RegExp(KeyOfStringResolvePattern(schema));
|
|
182
184
|
const check2 = Object.getOwnPropertyNames(value).every((key) => keyPattern.test(key));
|
|
183
185
|
return check1 && check2;
|
|
184
186
|
}
|
|
185
|
-
else if (
|
|
186
|
-
const keyCheck = new RegExp(
|
|
187
|
+
else if (IsSchemaType(schema.unevaluatedProperties)) {
|
|
188
|
+
const keyCheck = new RegExp(KeyOfStringResolvePattern(schema));
|
|
187
189
|
const check2 = Object.getOwnPropertyNames(value).every((key) => keyCheck.test(key) || Visit(schema.unevaluatedProperties, references, value[key]));
|
|
188
190
|
return check1 && check2;
|
|
189
191
|
}
|
|
@@ -192,7 +194,7 @@ function TIntersect(schema, references, value) {
|
|
|
192
194
|
}
|
|
193
195
|
}
|
|
194
196
|
function TIterator(schema, references, value) {
|
|
195
|
-
return
|
|
197
|
+
return IsIterator(value);
|
|
196
198
|
}
|
|
197
199
|
function TLiteral(schema, references, value) {
|
|
198
200
|
return value === schema.const;
|
|
@@ -204,10 +206,10 @@ function TNot(schema, references, value) {
|
|
|
204
206
|
return !Visit(schema.not, references, value);
|
|
205
207
|
}
|
|
206
208
|
function TNull(schema, references, value) {
|
|
207
|
-
return
|
|
209
|
+
return IsNull(value);
|
|
208
210
|
}
|
|
209
211
|
function TNumber(schema, references, value) {
|
|
210
|
-
if (!
|
|
212
|
+
if (!TypeSystemPolicy.IsNumberLike(value))
|
|
211
213
|
return false;
|
|
212
214
|
if (IsDefined(schema.exclusiveMaximum) && !(value < schema.exclusiveMaximum)) {
|
|
213
215
|
return false;
|
|
@@ -227,7 +229,7 @@ function TNumber(schema, references, value) {
|
|
|
227
229
|
return true;
|
|
228
230
|
}
|
|
229
231
|
function TObject(schema, references, value) {
|
|
230
|
-
if (!
|
|
232
|
+
if (!TypeSystemPolicy.IsObjectLike(value))
|
|
231
233
|
return false;
|
|
232
234
|
if (IsDefined(schema.minProperties) && !(Object.getOwnPropertyNames(value).length >= schema.minProperties)) {
|
|
233
235
|
return false;
|
|
@@ -242,12 +244,12 @@ function TObject(schema, references, value) {
|
|
|
242
244
|
if (!Visit(property, references, value[knownKey])) {
|
|
243
245
|
return false;
|
|
244
246
|
}
|
|
245
|
-
if ((
|
|
247
|
+
if ((ExtendsUndefinedCheck(property) || IsAnyOrUnknown(property)) && !(knownKey in value)) {
|
|
246
248
|
return false;
|
|
247
249
|
}
|
|
248
250
|
}
|
|
249
251
|
else {
|
|
250
|
-
if (
|
|
252
|
+
if (TypeSystemPolicy.IsExactOptionalProperty(value, knownKey) && !Visit(property, references, value[knownKey])) {
|
|
251
253
|
return false;
|
|
252
254
|
}
|
|
253
255
|
}
|
|
@@ -271,10 +273,10 @@ function TObject(schema, references, value) {
|
|
|
271
273
|
}
|
|
272
274
|
}
|
|
273
275
|
function TPromise(schema, references, value) {
|
|
274
|
-
return
|
|
276
|
+
return IsPromise(value);
|
|
275
277
|
}
|
|
276
278
|
function TRecord(schema, references, value) {
|
|
277
|
-
if (!
|
|
279
|
+
if (!TypeSystemPolicy.IsRecordLike(value)) {
|
|
278
280
|
return false;
|
|
279
281
|
}
|
|
280
282
|
if (IsDefined(schema.minProperties) && !(Object.getOwnPropertyNames(value).length >= schema.minProperties)) {
|
|
@@ -301,10 +303,10 @@ function TRecord(schema, references, value) {
|
|
|
301
303
|
return check1 && check2 && check3;
|
|
302
304
|
}
|
|
303
305
|
function TRef(schema, references, value) {
|
|
304
|
-
return Visit(
|
|
306
|
+
return Visit(Deref(schema, references), references, value);
|
|
305
307
|
}
|
|
306
308
|
function TString(schema, references, value) {
|
|
307
|
-
if (!
|
|
309
|
+
if (!IsString(value)) {
|
|
308
310
|
return false;
|
|
309
311
|
}
|
|
310
312
|
if (IsDefined(schema.minLength)) {
|
|
@@ -321,24 +323,24 @@ function TString(schema, references, value) {
|
|
|
321
323
|
return false;
|
|
322
324
|
}
|
|
323
325
|
if (IsDefined(schema.format)) {
|
|
324
|
-
if (!
|
|
326
|
+
if (!FormatRegistry.Has(schema.format))
|
|
325
327
|
return false;
|
|
326
|
-
const func =
|
|
328
|
+
const func = FormatRegistry.Get(schema.format);
|
|
327
329
|
return func(value);
|
|
328
330
|
}
|
|
329
331
|
return true;
|
|
330
332
|
}
|
|
331
333
|
function TSymbol(schema, references, value) {
|
|
332
|
-
return
|
|
334
|
+
return IsSymbol(value);
|
|
333
335
|
}
|
|
334
336
|
function TTemplateLiteral(schema, references, value) {
|
|
335
|
-
return
|
|
337
|
+
return IsString(value) && new RegExp(schema.pattern).test(value);
|
|
336
338
|
}
|
|
337
339
|
function TThis(schema, references, value) {
|
|
338
|
-
return Visit(
|
|
340
|
+
return Visit(Deref(schema, references), references, value);
|
|
339
341
|
}
|
|
340
342
|
function TTuple(schema, references, value) {
|
|
341
|
-
if (!
|
|
343
|
+
if (!IsArray(value)) {
|
|
342
344
|
return false;
|
|
343
345
|
}
|
|
344
346
|
if (schema.items === undefined && !(value.length === 0)) {
|
|
@@ -357,13 +359,13 @@ function TTuple(schema, references, value) {
|
|
|
357
359
|
return true;
|
|
358
360
|
}
|
|
359
361
|
function TUndefined(schema, references, value) {
|
|
360
|
-
return
|
|
362
|
+
return IsUndefined(value);
|
|
361
363
|
}
|
|
362
364
|
function TUnion(schema, references, value) {
|
|
363
365
|
return schema.anyOf.some((inner) => Visit(inner, references, value));
|
|
364
366
|
}
|
|
365
367
|
function TUint8Array(schema, references, value) {
|
|
366
|
-
if (!
|
|
368
|
+
if (!IsUint8Array(value)) {
|
|
367
369
|
return false;
|
|
368
370
|
}
|
|
369
371
|
if (IsDefined(schema.maxByteLength) && !(value.length <= schema.maxByteLength)) {
|
|
@@ -378,18 +380,18 @@ function TUnknown(schema, references, value) {
|
|
|
378
380
|
return true;
|
|
379
381
|
}
|
|
380
382
|
function TVoid(schema, references, value) {
|
|
381
|
-
return
|
|
383
|
+
return TypeSystemPolicy.IsVoidLike(value);
|
|
382
384
|
}
|
|
383
385
|
function TKind(schema, references, value) {
|
|
384
|
-
if (!
|
|
386
|
+
if (!TypeRegistry.Has(schema[Kind]))
|
|
385
387
|
return false;
|
|
386
|
-
const func =
|
|
388
|
+
const func = TypeRegistry.Get(schema[Kind]);
|
|
387
389
|
return func(schema, value);
|
|
388
390
|
}
|
|
389
391
|
function Visit(schema, references, value) {
|
|
390
392
|
const references_ = IsDefined(schema.$id) ? [...references, schema] : references;
|
|
391
393
|
const schema_ = schema;
|
|
392
|
-
switch (schema_[
|
|
394
|
+
switch (schema_[Kind]) {
|
|
393
395
|
case 'Any':
|
|
394
396
|
return TAny(schema_, references_, value);
|
|
395
397
|
case 'Array':
|
|
@@ -451,13 +453,12 @@ function Visit(schema, references, value) {
|
|
|
451
453
|
case 'Void':
|
|
452
454
|
return TVoid(schema_, references_, value);
|
|
453
455
|
default:
|
|
454
|
-
if (!
|
|
456
|
+
if (!TypeRegistry.Has(schema_[Kind]))
|
|
455
457
|
throw new ValueCheckUnknownTypeError(schema_);
|
|
456
458
|
return TKind(schema_, references_, value);
|
|
457
459
|
}
|
|
458
460
|
}
|
|
459
461
|
/** Returns true if the value matches the given type. */
|
|
460
|
-
function Check(...args) {
|
|
462
|
+
export function Check(...args) {
|
|
461
463
|
return args.length === 3 ? Visit(args[0], args[1], args[2]) : Visit(args[0], [], args[1]);
|
|
462
464
|
}
|
|
463
|
-
exports.Check = Check;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './check.mjs';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*--------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
@sinclair/typebox/value
|
|
4
|
+
|
|
5
|
+
The MIT License (MIT)
|
|
6
|
+
|
|
7
|
+
Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
|
|
8
|
+
|
|
9
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
11
|
+
in the Software without restriction, including without limitation the rights
|
|
12
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
14
|
+
furnished to do so, subject to the following conditions:
|
|
15
|
+
|
|
16
|
+
The above copyright notice and this permission notice shall be included in
|
|
17
|
+
all copies or substantial portions of the Software.
|
|
18
|
+
|
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
25
|
+
THE SOFTWARE.
|
|
26
|
+
|
|
27
|
+
---------------------------------------------------------------------------*/
|
|
28
|
+
export * from './check.mjs';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { TSchema } from '../../type/schema/index.mjs';
|
|
2
|
+
/** `[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. */
|
|
3
|
+
export declare function Clean<T extends TSchema>(schema: T, references: TSchema[], value: unknown): unknown;
|
|
4
|
+
/** `[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. */
|
|
5
|
+
export declare function Clean<T extends TSchema>(schema: T): unknown;
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/*--------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
@sinclair/typebox/value
|
|
4
|
+
|
|
5
|
+
The MIT License (MIT)
|
|
6
|
+
|
|
7
|
+
Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
|
|
8
|
+
|
|
9
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
11
|
+
in the Software without restriction, including without limitation the rights
|
|
12
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
14
|
+
furnished to do so, subject to the following conditions:
|
|
15
|
+
|
|
16
|
+
The above copyright notice and this permission notice shall be included in
|
|
17
|
+
all copies or substantial portions of the Software.
|
|
18
|
+
|
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
25
|
+
THE SOFTWARE.
|
|
26
|
+
|
|
27
|
+
---------------------------------------------------------------------------*/
|
|
28
|
+
import { IsString, IsObject, IsArray, IsUndefined } from '../guard/index.mjs';
|
|
29
|
+
import { TSchema as IsSchemaType } from '../../type/guard/type.mjs';
|
|
30
|
+
import { KeyOfStringResolve } from '../../type/keyof/keyof-string.mjs';
|
|
31
|
+
import { Check } from '../check/index.mjs';
|
|
32
|
+
import { Clone } from '../clone/index.mjs';
|
|
33
|
+
import { Deref } from '../deref/index.mjs';
|
|
34
|
+
import { Kind } from '../../type/symbols/index.mjs';
|
|
35
|
+
// ------------------------------------------------------------------
|
|
36
|
+
// IsSchema
|
|
37
|
+
// ------------------------------------------------------------------
|
|
38
|
+
function IsSchema(schema) {
|
|
39
|
+
return IsSchemaType(schema);
|
|
40
|
+
}
|
|
41
|
+
// ------------------------------------------------------------------
|
|
42
|
+
// IsCheckable
|
|
43
|
+
// ------------------------------------------------------------------
|
|
44
|
+
function IsCheckable(schema) {
|
|
45
|
+
return IsSchemaType(schema) && schema[Kind] !== 'Unsafe';
|
|
46
|
+
}
|
|
47
|
+
// ------------------------------------------------------------------
|
|
48
|
+
// Types
|
|
49
|
+
// ------------------------------------------------------------------
|
|
50
|
+
function TArray(schema, references, value) {
|
|
51
|
+
if (!IsArray(value))
|
|
52
|
+
return value;
|
|
53
|
+
return value.map((value) => Visit(schema.items, references, value));
|
|
54
|
+
}
|
|
55
|
+
function TIntersect(schema, references, value) {
|
|
56
|
+
const unevaluatedProperties = schema.unevaluatedProperties;
|
|
57
|
+
const intersections = schema.allOf.map((schema) => Visit(schema, references, Clone(value)));
|
|
58
|
+
const composite = intersections.reduce((acc, value) => (IsObject(value) ? { ...acc, ...value } : value), {});
|
|
59
|
+
if (!IsObject(value) || !IsObject(composite) || !IsSchema(unevaluatedProperties))
|
|
60
|
+
return composite;
|
|
61
|
+
const knownkeys = KeyOfStringResolve(schema);
|
|
62
|
+
for (const key of Object.getOwnPropertyNames(value)) {
|
|
63
|
+
if (knownkeys.includes(key))
|
|
64
|
+
continue;
|
|
65
|
+
if (Check(unevaluatedProperties, references, value[key])) {
|
|
66
|
+
composite[key] = Visit(unevaluatedProperties, references, value[key]);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return composite;
|
|
70
|
+
}
|
|
71
|
+
function TObject(schema, references, value) {
|
|
72
|
+
if (!IsObject(value) || IsArray(value))
|
|
73
|
+
return value; // Check IsArray for AllowArrayObject configuration
|
|
74
|
+
const additionalProperties = schema.additionalProperties;
|
|
75
|
+
for (const key of Object.getOwnPropertyNames(value)) {
|
|
76
|
+
if (key in schema.properties) {
|
|
77
|
+
value[key] = Visit(schema.properties[key], references, value[key]);
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (IsSchema(additionalProperties) && Check(additionalProperties, references, value[key])) {
|
|
81
|
+
value[key] = Visit(additionalProperties, references, value[key]);
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
delete value[key];
|
|
85
|
+
}
|
|
86
|
+
return value;
|
|
87
|
+
}
|
|
88
|
+
function TRecord(schema, references, value) {
|
|
89
|
+
if (!IsObject(value))
|
|
90
|
+
return value;
|
|
91
|
+
const additionalProperties = schema.additionalProperties;
|
|
92
|
+
const propertyKeys = Object.keys(value);
|
|
93
|
+
const [propertyKey, propertySchema] = Object.entries(schema.patternProperties)[0];
|
|
94
|
+
const propertyKeyTest = new RegExp(propertyKey);
|
|
95
|
+
for (const key of propertyKeys) {
|
|
96
|
+
if (propertyKeyTest.test(key)) {
|
|
97
|
+
value[key] = Visit(propertySchema, references, value[key]);
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
if (IsSchema(additionalProperties) && Check(additionalProperties, references, value[key])) {
|
|
101
|
+
value[key] = Visit(additionalProperties, references, value[key]);
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
delete value[key];
|
|
105
|
+
}
|
|
106
|
+
return value;
|
|
107
|
+
}
|
|
108
|
+
function TRef(schema, references, value) {
|
|
109
|
+
return Visit(Deref(schema, references), references, value);
|
|
110
|
+
}
|
|
111
|
+
function TThis(schema, references, value) {
|
|
112
|
+
return Visit(Deref(schema, references), references, value);
|
|
113
|
+
}
|
|
114
|
+
function TTuple(schema, references, value) {
|
|
115
|
+
if (!IsArray(value))
|
|
116
|
+
return value;
|
|
117
|
+
if (IsUndefined(schema.items))
|
|
118
|
+
return [];
|
|
119
|
+
const length = Math.min(value.length, schema.items.length);
|
|
120
|
+
for (let i = 0; i < length; i++) {
|
|
121
|
+
value[i] = Visit(schema.items[i], references, value[i]);
|
|
122
|
+
}
|
|
123
|
+
// prettier-ignore
|
|
124
|
+
return value.length > length
|
|
125
|
+
? value.slice(0, length)
|
|
126
|
+
: value;
|
|
127
|
+
}
|
|
128
|
+
function TUnion(schema, references, value) {
|
|
129
|
+
for (const inner of schema.anyOf) {
|
|
130
|
+
if (IsCheckable(inner) && Check(inner, value)) {
|
|
131
|
+
return Visit(inner, references, value);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return value;
|
|
135
|
+
}
|
|
136
|
+
function Visit(schema, references, value) {
|
|
137
|
+
const references_ = IsString(schema.$id) ? [...references, schema] : references;
|
|
138
|
+
const schema_ = schema;
|
|
139
|
+
switch (schema_[Kind]) {
|
|
140
|
+
case 'Array':
|
|
141
|
+
return TArray(schema_, references_, value);
|
|
142
|
+
case 'Intersect':
|
|
143
|
+
return TIntersect(schema_, references_, value);
|
|
144
|
+
case 'Object':
|
|
145
|
+
return TObject(schema_, references_, value);
|
|
146
|
+
case 'Record':
|
|
147
|
+
return TRecord(schema_, references_, value);
|
|
148
|
+
case 'Ref':
|
|
149
|
+
return TRef(schema_, references_, value);
|
|
150
|
+
case 'This':
|
|
151
|
+
return TThis(schema_, references_, value);
|
|
152
|
+
case 'Tuple':
|
|
153
|
+
return TTuple(schema_, references_, value);
|
|
154
|
+
case 'Union':
|
|
155
|
+
return TUnion(schema_, references_, value);
|
|
156
|
+
default:
|
|
157
|
+
return value;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/** `[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. */
|
|
161
|
+
export function Clean(...args) {
|
|
162
|
+
return args.length === 3 ? Visit(args[0], args[1], args[2]) : Visit(args[0], [], args[1]);
|
|
163
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './clean.mjs';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*--------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
@sinclair/typebox/value
|
|
4
|
+
|
|
5
|
+
The MIT License (MIT)
|
|
6
|
+
|
|
7
|
+
Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
|
|
8
|
+
|
|
9
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
11
|
+
in the Software without restriction, including without limitation the rights
|
|
12
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
14
|
+
furnished to do so, subject to the following conditions:
|
|
15
|
+
|
|
16
|
+
The above copyright notice and this permission notice shall be included in
|
|
17
|
+
all copies or substantial portions of the Software.
|
|
18
|
+
|
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
25
|
+
THE SOFTWARE.
|
|
26
|
+
|
|
27
|
+
---------------------------------------------------------------------------*/
|
|
28
|
+
export * from './clean.mjs';
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/*--------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
@sinclair/typebox/value
|
|
4
|
+
|
|
5
|
+
The MIT License (MIT)
|
|
6
|
+
|
|
7
|
+
Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
|
|
8
|
+
|
|
9
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
11
|
+
in the Software without restriction, including without limitation the rights
|
|
12
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
14
|
+
furnished to do so, subject to the following conditions:
|
|
15
|
+
|
|
16
|
+
The above copyright notice and this permission notice shall be included in
|
|
17
|
+
all copies or substantial portions of the Software.
|
|
18
|
+
|
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
25
|
+
THE SOFTWARE.
|
|
26
|
+
|
|
27
|
+
---------------------------------------------------------------------------*/
|
|
28
|
+
import { IsArray, IsDate, IsPlainObject, IsTypedArray, IsValueType } from '../guard/index.mjs';
|
|
29
|
+
// --------------------------------------------------------------------------
|
|
30
|
+
// Clonable
|
|
31
|
+
// --------------------------------------------------------------------------
|
|
32
|
+
function ObjectType(value) {
|
|
33
|
+
const keys = [...Object.getOwnPropertyNames(value), ...Object.getOwnPropertySymbols(value)];
|
|
34
|
+
return keys.reduce((acc, key) => ({ ...acc, [key]: Clone(value[key]) }), {});
|
|
35
|
+
}
|
|
36
|
+
function ArrayType(value) {
|
|
37
|
+
return value.map((element) => Clone(element));
|
|
38
|
+
}
|
|
39
|
+
function TypedArrayType(value) {
|
|
40
|
+
return value.slice();
|
|
41
|
+
}
|
|
42
|
+
function DateType(value) {
|
|
43
|
+
return new Date(value.toISOString());
|
|
44
|
+
}
|
|
45
|
+
function ValueType(value) {
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
// --------------------------------------------------------------------------
|
|
49
|
+
// Clone
|
|
50
|
+
// --------------------------------------------------------------------------
|
|
51
|
+
/** Returns a clone of the given value */
|
|
52
|
+
export function Clone(value) {
|
|
53
|
+
if (IsArray(value))
|
|
54
|
+
return ArrayType(value);
|
|
55
|
+
if (IsDate(value))
|
|
56
|
+
return DateType(value);
|
|
57
|
+
if (IsPlainObject(value))
|
|
58
|
+
return ObjectType(value);
|
|
59
|
+
if (IsTypedArray(value))
|
|
60
|
+
return TypedArrayType(value);
|
|
61
|
+
if (IsValueType(value))
|
|
62
|
+
return ValueType(value);
|
|
63
|
+
throw new Error('ValueClone: Unable to clone value');
|
|
64
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './clone.mjs';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*--------------------------------------------------------------------------
|
|
2
|
+
|
|
3
|
+
@sinclair/typebox/value
|
|
4
|
+
|
|
5
|
+
The MIT License (MIT)
|
|
6
|
+
|
|
7
|
+
Copyright (c) 2017-2023 Haydn Paterson (sinclair) <haydn.developer@gmail.com>
|
|
8
|
+
|
|
9
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
11
|
+
in the Software without restriction, including without limitation the rights
|
|
12
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
14
|
+
furnished to do so, subject to the following conditions:
|
|
15
|
+
|
|
16
|
+
The above copyright notice and this permission notice shall be included in
|
|
17
|
+
all copies or substantial portions of the Software.
|
|
18
|
+
|
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
25
|
+
THE SOFTWARE.
|
|
26
|
+
|
|
27
|
+
---------------------------------------------------------------------------*/
|
|
28
|
+
export * from './clone.mjs';
|