@depup/typebox 1.1.6-depup.0
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/README.md +25 -0
- package/build/compile/code.d.mts +12 -0
- package/build/compile/code.mjs +65 -0
- package/build/compile/compile.d.mts +6 -0
- package/build/compile/compile.mjs +11 -0
- package/build/compile/index.d.mts +8 -0
- package/build/compile/index.mjs +14 -0
- package/build/compile/validator.d.mts +42 -0
- package/build/compile/validator.mjs +116 -0
- package/build/error/errors.d.mts +214 -0
- package/build/error/errors.mjs +17 -0
- package/build/error/index.d.mts +1 -0
- package/build/error/index.mjs +1 -0
- package/build/format/_registry.d.mts +15 -0
- package/build/format/_registry.mjs +96 -0
- package/build/format/date-time.d.mts +6 -0
- package/build/format/date-time.mjs +11 -0
- package/build/format/date.d.mts +6 -0
- package/build/format/date.mjs +19 -0
- package/build/format/duration.d.mts +5 -0
- package/build/format/duration.mjs +8 -0
- package/build/format/email.d.mts +2 -0
- package/build/format/email.mjs +5 -0
- package/build/format/format.d.mts +22 -0
- package/build/format/format.mjs +22 -0
- package/build/format/hostname.d.mts +2 -0
- package/build/format/hostname.mjs +5 -0
- package/build/format/idn-email.d.mts +2 -0
- package/build/format/idn-email.mjs +5 -0
- package/build/format/idn-hostname.d.mts +5 -0
- package/build/format/idn-hostname.mjs +128 -0
- package/build/format/index.d.mts +4 -0
- package/build/format/index.mjs +4 -0
- package/build/format/ipv4.d.mts +6 -0
- package/build/format/ipv4.mjs +9 -0
- package/build/format/ipv6.d.mts +6 -0
- package/build/format/ipv6.mjs +9 -0
- package/build/format/iri-reference.d.mts +5 -0
- package/build/format/iri-reference.mjs +59 -0
- package/build/format/iri.d.mts +5 -0
- package/build/format/iri.mjs +13 -0
- package/build/format/json-pointer-uri-fragment.d.mts +6 -0
- package/build/format/json-pointer-uri-fragment.mjs +9 -0
- package/build/format/json-pointer.d.mts +6 -0
- package/build/format/json-pointer.mjs +9 -0
- package/build/format/regex.d.mts +6 -0
- package/build/format/regex.mjs +17 -0
- package/build/format/relative-json-pointer.d.mts +6 -0
- package/build/format/relative-json-pointer.mjs +9 -0
- package/build/format/time.d.mts +5 -0
- package/build/format/time.mjs +27 -0
- package/build/format/uri-reference.d.mts +6 -0
- package/build/format/uri-reference.mjs +9 -0
- package/build/format/uri-template.d.mts +6 -0
- package/build/format/uri-template.mjs +10 -0
- package/build/format/uri.d.mts +6 -0
- package/build/format/uri.mjs +9 -0
- package/build/format/url.d.mts +6 -0
- package/build/format/url.mjs +9 -0
- package/build/format/uuid.d.mts +6 -0
- package/build/format/uuid.mjs +9 -0
- package/build/guard/emit.d.mts +58 -0
- package/build/guard/emit.mjs +194 -0
- package/build/guard/globals.d.mts +35 -0
- package/build/guard/globals.mjs +90 -0
- package/build/guard/guard.d.mts +63 -0
- package/build/guard/guard.mjs +208 -0
- package/build/guard/index.d.mts +6 -0
- package/build/guard/index.mjs +6 -0
- package/build/guard/native.d.mts +20 -0
- package/build/guard/native.mjs +60 -0
- package/build/guard/string.d.mts +10 -0
- package/build/guard/string.mjs +158 -0
- package/build/index.d.mts +8 -0
- package/build/index.mjs +14 -0
- package/build/schema/build.d.mts +35 -0
- package/build/schema/build.mjs +99 -0
- package/build/schema/check.d.mts +6 -0
- package/build/schema/check.mjs +14 -0
- package/build/schema/compile.d.mts +22 -0
- package/build/schema/compile.mjs +46 -0
- package/build/schema/engine/_context.d.mts +32 -0
- package/build/schema/engine/_context.mjs +98 -0
- package/build/schema/engine/_exact_optional.d.mts +3 -0
- package/build/schema/engine/_exact_optional.mjs +20 -0
- package/build/schema/engine/_externals.d.mts +9 -0
- package/build/schema/engine/_externals.mjs +34 -0
- package/build/schema/engine/_functions.d.mts +6 -0
- package/build/schema/engine/_functions.mjs +47 -0
- package/build/schema/engine/_guard.d.mts +6 -0
- package/build/schema/engine/_guard.mjs +26 -0
- package/build/schema/engine/_reducer.d.mts +4 -0
- package/build/schema/engine/_reducer.mjs +45 -0
- package/build/schema/engine/_refine.d.mts +6 -0
- package/build/schema/engine/_refine.mjs +29 -0
- package/build/schema/engine/_stack.d.mts +18 -0
- package/build/schema/engine/_stack.mjs +73 -0
- package/build/schema/engine/_unique.d.mts +2 -0
- package/build/schema/engine/_unique.mjs +5 -0
- package/build/schema/engine/additionalItems.d.mts +6 -0
- package/build/schema/engine/additionalItems.mjs +50 -0
- package/build/schema/engine/additionalProperties.d.mts +9 -0
- package/build/schema/engine/additionalProperties.mjs +110 -0
- package/build/schema/engine/allOf.d.mts +6 -0
- package/build/schema/engine/allOf.mjs +47 -0
- package/build/schema/engine/anyOf.d.mts +6 -0
- package/build/schema/engine/anyOf.mjs +52 -0
- package/build/schema/engine/boolean.d.mts +5 -0
- package/build/schema/engine/boolean.mjs +25 -0
- package/build/schema/engine/const.d.mts +6 -0
- package/build/schema/engine/const.mjs +30 -0
- package/build/schema/engine/contains.d.mts +6 -0
- package/build/schema/engine/contains.mjs +42 -0
- package/build/schema/engine/dependencies.d.mts +6 -0
- package/build/schema/engine/dependencies.mjs +45 -0
- package/build/schema/engine/dependentRequired.d.mts +6 -0
- package/build/schema/engine/dependentRequired.mjs +40 -0
- package/build/schema/engine/dependentSchemas.d.mts +6 -0
- package/build/schema/engine/dependentSchemas.mjs +38 -0
- package/build/schema/engine/enum.d.mts +6 -0
- package/build/schema/engine/enum.mjs +33 -0
- package/build/schema/engine/exclusiveMaximum.d.mts +6 -0
- package/build/schema/engine/exclusiveMaximum.mjs +25 -0
- package/build/schema/engine/exclusiveMinimum.d.mts +6 -0
- package/build/schema/engine/exclusiveMinimum.mjs +25 -0
- package/build/schema/engine/format.d.mts +6 -0
- package/build/schema/engine/format.mjs +26 -0
- package/build/schema/engine/if.d.mts +6 -0
- package/build/schema/engine/if.mjs +47 -0
- package/build/schema/engine/index.d.mts +49 -0
- package/build/schema/engine/index.mjs +55 -0
- package/build/schema/engine/items.d.mts +6 -0
- package/build/schema/engine/items.mjs +68 -0
- package/build/schema/engine/maxContains.d.mts +6 -0
- package/build/schema/engine/maxContains.mjs +42 -0
- package/build/schema/engine/maxItems.d.mts +6 -0
- package/build/schema/engine/maxItems.mjs +25 -0
- package/build/schema/engine/maxLength.d.mts +6 -0
- package/build/schema/engine/maxLength.mjs +25 -0
- package/build/schema/engine/maxProperties.d.mts +6 -0
- package/build/schema/engine/maxProperties.mjs +25 -0
- package/build/schema/engine/maximum.d.mts +6 -0
- package/build/schema/engine/maximum.mjs +25 -0
- package/build/schema/engine/minContains.d.mts +6 -0
- package/build/schema/engine/minContains.mjs +41 -0
- package/build/schema/engine/minItems.d.mts +6 -0
- package/build/schema/engine/minItems.mjs +25 -0
- package/build/schema/engine/minLength.d.mts +6 -0
- package/build/schema/engine/minLength.mjs +25 -0
- package/build/schema/engine/minProperties.d.mts +6 -0
- package/build/schema/engine/minProperties.mjs +25 -0
- package/build/schema/engine/minimum.d.mts +6 -0
- package/build/schema/engine/minimum.mjs +25 -0
- package/build/schema/engine/multipleOf.d.mts +6 -0
- package/build/schema/engine/multipleOf.mjs +25 -0
- package/build/schema/engine/not.d.mts +6 -0
- package/build/schema/engine/not.mjs +37 -0
- package/build/schema/engine/oneOf.d.mts +6 -0
- package/build/schema/engine/oneOf.mjs +58 -0
- package/build/schema/engine/pattern.d.mts +6 -0
- package/build/schema/engine/pattern.mjs +28 -0
- package/build/schema/engine/patternProperties.d.mts +6 -0
- package/build/schema/engine/patternProperties.mjs +44 -0
- package/build/schema/engine/prefixItems.d.mts +6 -0
- package/build/schema/engine/prefixItems.mjs +35 -0
- package/build/schema/engine/properties.d.mts +6 -0
- package/build/schema/engine/properties.mjs +75 -0
- package/build/schema/engine/propertyNames.d.mts +6 -0
- package/build/schema/engine/propertyNames.mjs +39 -0
- package/build/schema/engine/recursiveRef.d.mts +6 -0
- package/build/schema/engine/recursiveRef.mjs +25 -0
- package/build/schema/engine/ref.d.mts +6 -0
- package/build/schema/engine/ref.mjs +58 -0
- package/build/schema/engine/required.d.mts +6 -0
- package/build/schema/engine/required.mjs +32 -0
- package/build/schema/engine/schema.d.mts +6 -0
- package/build/schema/engine/schema.mjs +336 -0
- package/build/schema/engine/type.d.mts +6 -0
- package/build/schema/engine/type.mjs +74 -0
- package/build/schema/engine/unevaluatedItems.d.mts +6 -0
- package/build/schema/engine/unevaluatedItems.mjs +51 -0
- package/build/schema/engine/unevaluatedProperties.d.mts +6 -0
- package/build/schema/engine/unevaluatedProperties.mjs +51 -0
- package/build/schema/engine/uniqueItems.d.mts +6 -0
- package/build/schema/engine/uniqueItems.mjs +51 -0
- package/build/schema/errors.d.mts +6 -0
- package/build/schema/errors.mjs +24 -0
- package/build/schema/index.d.mts +3 -0
- package/build/schema/index.mjs +9 -0
- package/build/schema/parse.d.mts +13 -0
- package/build/schema/parse.mjs +27 -0
- package/build/schema/pointer/index.d.mts +2 -0
- package/build/schema/pointer/index.mjs +2 -0
- package/build/schema/pointer/pointer-get.d.mts +9 -0
- package/build/schema/pointer/pointer-get.mjs +2 -0
- package/build/schema/pointer/pointer.d.mts +10 -0
- package/build/schema/pointer/pointer.mjs +96 -0
- package/build/schema/resolve/index.d.mts +1 -0
- package/build/schema/resolve/index.mjs +1 -0
- package/build/schema/resolve/ref.d.mts +2 -0
- package/build/schema/resolve/ref.mjs +96 -0
- package/build/schema/resolve/resolve.d.mts +1 -0
- package/build/schema/resolve/resolve.mjs +1 -0
- package/build/schema/schema.d.mts +10 -0
- package/build/schema/schema.mjs +10 -0
- package/build/schema/static/additionalProperties.d.mts +7 -0
- package/build/schema/static/additionalProperties.mjs +2 -0
- package/build/schema/static/allOf.d.mts +3 -0
- package/build/schema/static/allOf.mjs +2 -0
- package/build/schema/static/anyOf.d.mts +3 -0
- package/build/schema/static/anyOf.mjs +2 -0
- package/build/schema/static/const.d.mts +1 -0
- package/build/schema/static/const.mjs +2 -0
- package/build/schema/static/enum.d.mts +1 -0
- package/build/schema/static/enum.mjs +2 -0
- package/build/schema/static/if.d.mts +15 -0
- package/build/schema/static/if.mjs +2 -0
- package/build/schema/static/index.d.mts +1 -0
- package/build/schema/static/index.mjs +1 -0
- package/build/schema/static/items.d.mts +7 -0
- package/build/schema/static/items.mjs +2 -0
- package/build/schema/static/oneOf.d.mts +3 -0
- package/build/schema/static/oneOf.mjs +2 -0
- package/build/schema/static/patternProperties.d.mts +7 -0
- package/build/schema/static/patternProperties.mjs +2 -0
- package/build/schema/static/prefixItems.d.mts +3 -0
- package/build/schema/static/prefixItems.mjs +2 -0
- package/build/schema/static/properties.d.mts +11 -0
- package/build/schema/static/properties.mjs +2 -0
- package/build/schema/static/ref.d.mts +8 -0
- package/build/schema/static/ref.mjs +2 -0
- package/build/schema/static/required.d.mts +13 -0
- package/build/schema/static/required.mjs +2 -0
- package/build/schema/static/schema.d.mts +55 -0
- package/build/schema/static/schema.mjs +2 -0
- package/build/schema/static/static.d.mts +4 -0
- package/build/schema/static/static.mjs +2 -0
- package/build/schema/static/type.d.mts +4 -0
- package/build/schema/static/type.mjs +2 -0
- package/build/schema/static/unevaluatedProperties.d.mts +7 -0
- package/build/schema/static/unevaluatedProperties.mjs +2 -0
- package/build/schema/static/~comparer.d.mts +6 -0
- package/build/schema/static/~comparer.mjs +2 -0
- package/build/schema/static/~elements.d.mts +18 -0
- package/build/schema/static/~elements.mjs +2 -0
- package/build/schema/static/~non-readonly.d.mts +7 -0
- package/build/schema/static/~non-readonly.mjs +2 -0
- package/build/schema/static/~readonly.d.mts +6 -0
- package/build/schema/static/~readonly.mjs +2 -0
- package/build/schema/types/_guard.d.mts +10 -0
- package/build/schema/types/_guard.mjs +16 -0
- package/build/schema/types/_refine.d.mts +13 -0
- package/build/schema/types/_refine.mjs +18 -0
- package/build/schema/types/additionalItems.d.mts +9 -0
- package/build/schema/types/additionalItems.mjs +14 -0
- package/build/schema/types/additionalProperties.d.mts +9 -0
- package/build/schema/types/additionalProperties.mjs +14 -0
- package/build/schema/types/allOf.d.mts +9 -0
- package/build/schema/types/allOf.mjs +15 -0
- package/build/schema/types/anchor.d.mts +8 -0
- package/build/schema/types/anchor.mjs +12 -0
- package/build/schema/types/anyOf.d.mts +9 -0
- package/build/schema/types/anyOf.mjs +15 -0
- package/build/schema/types/const.d.mts +9 -0
- package/build/schema/types/const.mjs +12 -0
- package/build/schema/types/contains.d.mts +9 -0
- package/build/schema/types/contains.mjs +14 -0
- package/build/schema/types/contentEncoding.d.mts +9 -0
- package/build/schema/types/contentEncoding.mjs +13 -0
- package/build/schema/types/contentMediaType.d.mts +9 -0
- package/build/schema/types/contentMediaType.mjs +13 -0
- package/build/schema/types/default.d.mts +9 -0
- package/build/schema/types/default.mjs +12 -0
- package/build/schema/types/defs.d.mts +6 -0
- package/build/schema/types/defs.mjs +12 -0
- package/build/schema/types/dependencies.d.mts +11 -0
- package/build/schema/types/dependencies.mjs +16 -0
- package/build/schema/types/dependentRequired.d.mts +9 -0
- package/build/schema/types/dependentRequired.mjs +15 -0
- package/build/schema/types/dependentSchemas.d.mts +9 -0
- package/build/schema/types/dependentSchemas.mjs +15 -0
- package/build/schema/types/dynamicAnchor.d.mts +8 -0
- package/build/schema/types/dynamicAnchor.mjs +12 -0
- package/build/schema/types/dynamicRef.d.mts +8 -0
- package/build/schema/types/dynamicRef.mjs +12 -0
- package/build/schema/types/else.d.mts +9 -0
- package/build/schema/types/else.mjs +14 -0
- package/build/schema/types/enum.d.mts +9 -0
- package/build/schema/types/enum.mjs +13 -0
- package/build/schema/types/exclusiveMaximum.d.mts +9 -0
- package/build/schema/types/exclusiveMaximum.mjs +13 -0
- package/build/schema/types/exclusiveMinimum.d.mts +9 -0
- package/build/schema/types/exclusiveMinimum.mjs +13 -0
- package/build/schema/types/format.d.mts +9 -0
- package/build/schema/types/format.mjs +13 -0
- package/build/schema/types/id.d.mts +9 -0
- package/build/schema/types/id.mjs +13 -0
- package/build/schema/types/if.d.mts +9 -0
- package/build/schema/types/if.mjs +14 -0
- package/build/schema/types/index.d.mts +54 -0
- package/build/schema/types/index.mjs +60 -0
- package/build/schema/types/items.d.mts +19 -0
- package/build/schema/types/items.mjs +26 -0
- package/build/schema/types/maxContains.d.mts +9 -0
- package/build/schema/types/maxContains.mjs +13 -0
- package/build/schema/types/maxItems.d.mts +9 -0
- package/build/schema/types/maxItems.mjs +13 -0
- package/build/schema/types/maxLength.d.mts +9 -0
- package/build/schema/types/maxLength.mjs +13 -0
- package/build/schema/types/maxProperties.d.mts +9 -0
- package/build/schema/types/maxProperties.mjs +13 -0
- package/build/schema/types/maximum.d.mts +9 -0
- package/build/schema/types/maximum.mjs +13 -0
- package/build/schema/types/minContains.d.mts +9 -0
- package/build/schema/types/minContains.mjs +13 -0
- package/build/schema/types/minItems.d.mts +9 -0
- package/build/schema/types/minItems.mjs +13 -0
- package/build/schema/types/minLength.d.mts +9 -0
- package/build/schema/types/minLength.mjs +13 -0
- package/build/schema/types/minProperties.d.mts +9 -0
- package/build/schema/types/minProperties.mjs +13 -0
- package/build/schema/types/minimum.d.mts +9 -0
- package/build/schema/types/minimum.mjs +13 -0
- package/build/schema/types/multipleOf.d.mts +9 -0
- package/build/schema/types/multipleOf.mjs +13 -0
- package/build/schema/types/not.d.mts +9 -0
- package/build/schema/types/not.mjs +14 -0
- package/build/schema/types/oneOf.d.mts +9 -0
- package/build/schema/types/oneOf.mjs +15 -0
- package/build/schema/types/pattern.d.mts +9 -0
- package/build/schema/types/pattern.mjs +14 -0
- package/build/schema/types/patternProperties.d.mts +9 -0
- package/build/schema/types/patternProperties.mjs +15 -0
- package/build/schema/types/prefixItems.d.mts +8 -0
- package/build/schema/types/prefixItems.mjs +14 -0
- package/build/schema/types/properties.d.mts +9 -0
- package/build/schema/types/properties.mjs +15 -0
- package/build/schema/types/propertyNames.d.mts +9 -0
- package/build/schema/types/propertyNames.mjs +15 -0
- package/build/schema/types/recursiveAnchor.d.mts +12 -0
- package/build/schema/types/recursiveAnchor.mjs +19 -0
- package/build/schema/types/recursiveRef.d.mts +8 -0
- package/build/schema/types/recursiveRef.mjs +12 -0
- package/build/schema/types/ref.d.mts +9 -0
- package/build/schema/types/ref.mjs +13 -0
- package/build/schema/types/required.d.mts +9 -0
- package/build/schema/types/required.mjs +14 -0
- package/build/schema/types/schema.d.mts +9 -0
- package/build/schema/types/schema.mjs +14 -0
- package/build/schema/types/then.d.mts +9 -0
- package/build/schema/types/then.mjs +14 -0
- package/build/schema/types/type.d.mts +9 -0
- package/build/schema/types/type.mjs +15 -0
- package/build/schema/types/unevaluatedItems.d.mts +9 -0
- package/build/schema/types/unevaluatedItems.mjs +14 -0
- package/build/schema/types/unevaluatedProperties.d.mts +9 -0
- package/build/schema/types/unevaluatedProperties.mjs +14 -0
- package/build/schema/types/uniqueItems.d.mts +9 -0
- package/build/schema/types/uniqueItems.mjs +13 -0
- package/build/system/arguments/arguments.d.mts +5 -0
- package/build/system/arguments/arguments.mjs +9 -0
- package/build/system/arguments/index.d.mts +1 -0
- package/build/system/arguments/index.mjs +1 -0
- package/build/system/environment/can-evaluate.d.mts +2 -0
- package/build/system/environment/can-evaluate.mjs +26 -0
- package/build/system/environment/environment.d.mts +1 -0
- package/build/system/environment/environment.mjs +1 -0
- package/build/system/environment/index.d.mts +1 -0
- package/build/system/environment/index.mjs +1 -0
- package/build/system/hashing/hash.d.mts +4 -0
- package/build/system/hashing/hash.mjs +232 -0
- package/build/system/hashing/index.d.mts +1 -0
- package/build/system/hashing/index.mjs +1 -0
- package/build/system/index.d.mts +4 -0
- package/build/system/index.mjs +4 -0
- package/build/system/locale/_config.d.mts +7 -0
- package/build/system/locale/_config.mjs +15 -0
- package/build/system/locale/_locale.d.mts +40 -0
- package/build/system/locale/_locale.mjs +40 -0
- package/build/system/locale/ar_001.d.mts +3 -0
- package/build/system/locale/ar_001.mjs +41 -0
- package/build/system/locale/bn_BD.d.mts +3 -0
- package/build/system/locale/bn_BD.mjs +41 -0
- package/build/system/locale/cs_CZ.d.mts +3 -0
- package/build/system/locale/cs_CZ.mjs +41 -0
- package/build/system/locale/de_DE.d.mts +3 -0
- package/build/system/locale/de_DE.mjs +41 -0
- package/build/system/locale/el_GR.d.mts +3 -0
- package/build/system/locale/el_GR.mjs +41 -0
- package/build/system/locale/en_US.d.mts +3 -0
- package/build/system/locale/en_US.mjs +40 -0
- package/build/system/locale/es_419.d.mts +3 -0
- package/build/system/locale/es_419.mjs +41 -0
- package/build/system/locale/es_AR.d.mts +3 -0
- package/build/system/locale/es_AR.mjs +41 -0
- package/build/system/locale/es_ES.d.mts +3 -0
- package/build/system/locale/es_ES.mjs +41 -0
- package/build/system/locale/es_MX.d.mts +3 -0
- package/build/system/locale/es_MX.mjs +41 -0
- package/build/system/locale/fa_IR.d.mts +3 -0
- package/build/system/locale/fa_IR.mjs +41 -0
- package/build/system/locale/fil_PH.d.mts +3 -0
- package/build/system/locale/fil_PH.mjs +41 -0
- package/build/system/locale/fr_CA.d.mts +3 -0
- package/build/system/locale/fr_CA.mjs +41 -0
- package/build/system/locale/fr_FR.d.mts +3 -0
- package/build/system/locale/fr_FR.mjs +41 -0
- package/build/system/locale/ha_NG.d.mts +3 -0
- package/build/system/locale/ha_NG.mjs +41 -0
- package/build/system/locale/hi_IN.d.mts +3 -0
- package/build/system/locale/hi_IN.mjs +41 -0
- package/build/system/locale/hu_HU.d.mts +3 -0
- package/build/system/locale/hu_HU.mjs +41 -0
- package/build/system/locale/id_ID.d.mts +3 -0
- package/build/system/locale/id_ID.mjs +41 -0
- package/build/system/locale/index.d.mts +1 -0
- package/build/system/locale/index.mjs +1 -0
- package/build/system/locale/it_IT.d.mts +3 -0
- package/build/system/locale/it_IT.mjs +41 -0
- package/build/system/locale/ja_JP.d.mts +3 -0
- package/build/system/locale/ja_JP.mjs +41 -0
- package/build/system/locale/ko_KR.d.mts +3 -0
- package/build/system/locale/ko_KR.mjs +41 -0
- package/build/system/locale/ms_MY.d.mts +3 -0
- package/build/system/locale/ms_MY.mjs +41 -0
- package/build/system/locale/nl_NL.d.mts +3 -0
- package/build/system/locale/nl_NL.mjs +41 -0
- package/build/system/locale/pl_PL.d.mts +3 -0
- package/build/system/locale/pl_PL.mjs +41 -0
- package/build/system/locale/pt_BR.d.mts +3 -0
- package/build/system/locale/pt_BR.mjs +41 -0
- package/build/system/locale/pt_PT.d.mts +3 -0
- package/build/system/locale/pt_PT.mjs +41 -0
- package/build/system/locale/ro_RO.d.mts +3 -0
- package/build/system/locale/ro_RO.mjs +41 -0
- package/build/system/locale/ru_RU.d.mts +3 -0
- package/build/system/locale/ru_RU.mjs +41 -0
- package/build/system/locale/sv_SE.d.mts +3 -0
- package/build/system/locale/sv_SE.mjs +41 -0
- package/build/system/locale/sw_TZ.d.mts +3 -0
- package/build/system/locale/sw_TZ.mjs +41 -0
- package/build/system/locale/th_TH.d.mts +3 -0
- package/build/system/locale/th_TH.mjs +41 -0
- package/build/system/locale/tr_TR.d.mts +3 -0
- package/build/system/locale/tr_TR.mjs +41 -0
- package/build/system/locale/uk_UA.d.mts +3 -0
- package/build/system/locale/uk_UA.mjs +41 -0
- package/build/system/locale/ur_PK.d.mts +3 -0
- package/build/system/locale/ur_PK.mjs +41 -0
- package/build/system/locale/vi_VN.d.mts +3 -0
- package/build/system/locale/vi_VN.mjs +41 -0
- package/build/system/locale/yo_NG.d.mts +3 -0
- package/build/system/locale/yo_NG.mjs +41 -0
- package/build/system/locale/zh_Hans.d.mts +3 -0
- package/build/system/locale/zh_Hans.mjs +41 -0
- package/build/system/locale/zh_Hant.d.mts +3 -0
- package/build/system/locale/zh_Hant.mjs +41 -0
- package/build/system/memory/assign.d.mts +14 -0
- package/build/system/memory/assign.mjs +10 -0
- package/build/system/memory/clone.d.mts +6 -0
- package/build/system/memory/clone.mjs +63 -0
- package/build/system/memory/create.d.mts +8 -0
- package/build/system/memory/create.mjs +29 -0
- package/build/system/memory/discard.d.mts +4 -0
- package/build/system/memory/discard.mjs +16 -0
- package/build/system/memory/index.d.mts +1 -0
- package/build/system/memory/index.mjs +1 -0
- package/build/system/memory/memory.d.mts +6 -0
- package/build/system/memory/memory.mjs +7 -0
- package/build/system/memory/metrics.d.mts +14 -0
- package/build/system/memory/metrics.mjs +8 -0
- package/build/system/memory/update.d.mts +7 -0
- package/build/system/memory/update.mjs +32 -0
- package/build/system/settings/index.d.mts +1 -0
- package/build/system/settings/index.mjs +1 -0
- package/build/system/settings/settings.d.mts +56 -0
- package/build/system/settings/settings.mjs +32 -0
- package/build/system/system.d.mts +6 -0
- package/build/system/system.mjs +6 -0
- package/build/system/unreachable/index.d.mts +1 -0
- package/build/system/unreachable/index.mjs +1 -0
- package/build/system/unreachable/unreachable.d.mts +3 -0
- package/build/system/unreachable/unreachable.mjs +6 -0
- package/build/type/action/_optional.d.mts +19 -0
- package/build/type/action/_optional.mjs +40 -0
- package/build/type/action/_readonly.d.mts +19 -0
- package/build/type/action/_readonly.mjs +40 -0
- package/build/type/action/awaited.d.mts +11 -0
- package/build/type/action/awaited.mjs +11 -0
- package/build/type/action/capitalize.d.mts +11 -0
- package/build/type/action/capitalize.mjs +11 -0
- package/build/type/action/conditional.d.mts +11 -0
- package/build/type/action/conditional.mjs +11 -0
- package/build/type/action/constructor-parameters.d.mts +11 -0
- package/build/type/action/constructor-parameters.mjs +11 -0
- package/build/type/action/evaluate.d.mts +11 -0
- package/build/type/action/evaluate.mjs +11 -0
- package/build/type/action/exclude.d.mts +11 -0
- package/build/type/action/exclude.mjs +11 -0
- package/build/type/action/extract.d.mts +11 -0
- package/build/type/action/extract.mjs +11 -0
- package/build/type/action/index.d.mts +27 -0
- package/build/type/action/index.mjs +27 -0
- package/build/type/action/indexed.d.mts +14 -0
- package/build/type/action/indexed.mjs +14 -0
- package/build/type/action/instance-type.d.mts +11 -0
- package/build/type/action/instance-type.mjs +11 -0
- package/build/type/action/interface.d.mts +14 -0
- package/build/type/action/interface.mjs +19 -0
- package/build/type/action/keyof.d.mts +11 -0
- package/build/type/action/keyof.mjs +11 -0
- package/build/type/action/lowercase.d.mts +11 -0
- package/build/type/action/lowercase.mjs +11 -0
- package/build/type/action/mapped.d.mts +12 -0
- package/build/type/action/mapped.mjs +11 -0
- package/build/type/action/module.d.mts +12 -0
- package/build/type/action/module.mjs +11 -0
- package/build/type/action/non-nullable.d.mts +11 -0
- package/build/type/action/non-nullable.mjs +11 -0
- package/build/type/action/omit.d.mts +14 -0
- package/build/type/action/omit.mjs +14 -0
- package/build/type/action/options.d.mts +12 -0
- package/build/type/action/options.mjs +11 -0
- package/build/type/action/parameters.d.mts +11 -0
- package/build/type/action/parameters.mjs +11 -0
- package/build/type/action/partial.d.mts +11 -0
- package/build/type/action/partial.mjs +11 -0
- package/build/type/action/pick.d.mts +14 -0
- package/build/type/action/pick.mjs +14 -0
- package/build/type/action/readonly-type.d.mts +11 -0
- package/build/type/action/readonly-type.mjs +11 -0
- package/build/type/action/required.d.mts +11 -0
- package/build/type/action/required.mjs +11 -0
- package/build/type/action/return-type.d.mts +11 -0
- package/build/type/action/return-type.mjs +11 -0
- package/build/type/action/uncapitalize.d.mts +11 -0
- package/build/type/action/uncapitalize.mjs +11 -0
- package/build/type/action/uppercase.d.mts +11 -0
- package/build/type/action/uppercase.mjs +11 -0
- package/build/type/engine/awaited/index.d.mts +1 -0
- package/build/type/engine/awaited/index.mjs +1 -0
- package/build/type/engine/awaited/instantiate.d.mts +10 -0
- package/build/type/engine/awaited/instantiate.mjs +19 -0
- package/build/type/engine/call/instantiate.d.mts +20 -0
- package/build/type/engine/call/instantiate.mjs +38 -0
- package/build/type/engine/call/resolve-arguments.d.mts +13 -0
- package/build/type/engine/call/resolve-arguments.mjs +39 -0
- package/build/type/engine/call/resolve-target.d.mts +25 -0
- package/build/type/engine/call/resolve-target.mjs +27 -0
- package/build/type/engine/conditional/index.d.mts +1 -0
- package/build/type/engine/conditional/index.mjs +1 -0
- package/build/type/engine/conditional/instantiate.d.mts +10 -0
- package/build/type/engine/conditional/instantiate.mjs +19 -0
- package/build/type/engine/constructor-parameters/index.d.mts +1 -0
- package/build/type/engine/constructor-parameters/index.mjs +1 -0
- package/build/type/engine/constructor-parameters/instantiate.d.mts +14 -0
- package/build/type/engine/constructor-parameters/instantiate.mjs +21 -0
- package/build/type/engine/cyclic/candidates.d.mts +9 -0
- package/build/type/engine/cyclic/candidates.mjs +19 -0
- package/build/type/engine/cyclic/check.d.mts +24 -0
- package/build/type/engine/cyclic/check.mjs +54 -0
- package/build/type/engine/cyclic/dependencies.d.mts +25 -0
- package/build/type/engine/cyclic/dependencies.mjs +53 -0
- package/build/type/engine/cyclic/extends.d.mts +31 -0
- package/build/type/engine/cyclic/extends.mjs +53 -0
- package/build/type/engine/cyclic/index.d.mts +6 -0
- package/build/type/engine/cyclic/index.mjs +6 -0
- package/build/type/engine/cyclic/instantiate.d.mts +20 -0
- package/build/type/engine/cyclic/instantiate.mjs +29 -0
- package/build/type/engine/cyclic/target.d.mts +10 -0
- package/build/type/engine/cyclic/target.mjs +16 -0
- package/build/type/engine/enum/enum-to-union.d.mts +14 -0
- package/build/type/engine/enum/enum-to-union.mjs +24 -0
- package/build/type/engine/enum/index.d.mts +2 -0
- package/build/type/engine/enum/index.mjs +2 -0
- package/build/type/engine/enum/typescript-enum-to-enum-values.d.mts +8 -0
- package/build/type/engine/enum/typescript-enum-to-enum-values.mjs +9 -0
- package/build/type/engine/evaluate/broaden.d.mts +16 -0
- package/build/type/engine/evaluate/broaden.mjs +48 -0
- package/build/type/engine/evaluate/compare.d.mts +15 -0
- package/build/type/engine/evaluate/compare.mjs +21 -0
- package/build/type/engine/evaluate/composite.d.mts +30 -0
- package/build/type/engine/evaluate/composite.mjs +63 -0
- package/build/type/engine/evaluate/distribute.d.mts +27 -0
- package/build/type/engine/evaluate/distribute.mjs +55 -0
- package/build/type/engine/evaluate/evaluate.d.mts +14 -0
- package/build/type/engine/evaluate/evaluate.mjs +27 -0
- package/build/type/engine/evaluate/flatten.d.mts +6 -0
- package/build/type/engine/evaluate/flatten.mjs +11 -0
- package/build/type/engine/evaluate/index.d.mts +8 -0
- package/build/type/engine/evaluate/index.mjs +8 -0
- package/build/type/engine/evaluate/instantiate.d.mts +8 -0
- package/build/type/engine/evaluate/instantiate.mjs +17 -0
- package/build/type/engine/evaluate/narrow.d.mts +5 -0
- package/build/type/engine/evaluate/narrow.mjs +11 -0
- package/build/type/engine/exclude/index.d.mts +1 -0
- package/build/type/engine/exclude/index.mjs +1 -0
- package/build/type/engine/exclude/instantiate.d.mts +16 -0
- package/build/type/engine/exclude/instantiate.mjs +36 -0
- package/build/type/engine/extract/index.d.mts +1 -0
- package/build/type/engine/extract/index.mjs +1 -0
- package/build/type/engine/extract/instantiate.d.mts +16 -0
- package/build/type/engine/extract/instantiate.mjs +36 -0
- package/build/type/engine/helpers/index.d.mts +3 -0
- package/build/type/engine/helpers/index.mjs +3 -0
- package/build/type/engine/helpers/keys-to-indexer.d.mts +7 -0
- package/build/type/engine/helpers/keys-to-indexer.mjs +15 -0
- package/build/type/engine/helpers/keys.d.mts +3 -0
- package/build/type/engine/helpers/keys.mjs +8 -0
- package/build/type/engine/helpers/union.d.mts +7 -0
- package/build/type/engine/helpers/union.mjs +2 -0
- package/build/type/engine/index.d.mts +31 -0
- package/build/type/engine/index.mjs +37 -0
- package/build/type/engine/indexable/from-cyclic.d.mts +6 -0
- package/build/type/engine/indexable/from-cyclic.mjs +8 -0
- package/build/type/engine/indexable/from-enum.d.mts +6 -0
- package/build/type/engine/indexable/from-enum.mjs +8 -0
- package/build/type/engine/indexable/from-intersect.d.mts +5 -0
- package/build/type/engine/indexable/from-intersect.mjs +8 -0
- package/build/type/engine/indexable/from-literal.d.mts +3 -0
- package/build/type/engine/indexable/from-literal.mjs +5 -0
- package/build/type/engine/indexable/from-template-literal.d.mts +5 -0
- package/build/type/engine/indexable/from-template-literal.mjs +8 -0
- package/build/type/engine/indexable/from-type.d.mts +17 -0
- package/build/type/engine/indexable/from-type.mjs +22 -0
- package/build/type/engine/indexable/from-union.d.mts +4 -0
- package/build/type/engine/indexable/from-union.mjs +7 -0
- package/build/type/engine/indexable/to-indexable-keys.d.mts +10 -0
- package/build/type/engine/indexable/to-indexable-keys.mjs +12 -0
- package/build/type/engine/indexable/to-indexable.d.mts +9 -0
- package/build/type/engine/indexable/to-indexable.mjs +14 -0
- package/build/type/engine/indexed/array-indexer.d.mts +12 -0
- package/build/type/engine/indexed/array-indexer.mjs +18 -0
- package/build/type/engine/indexed/from-array.d.mts +15 -0
- package/build/type/engine/indexed/from-array.mjs +26 -0
- package/build/type/engine/indexed/from-object.d.mts +9 -0
- package/build/type/engine/indexed/from-object.mjs +18 -0
- package/build/type/engine/indexed/from-tuple.d.mts +13 -0
- package/build/type/engine/indexed/from-tuple.mjs +28 -0
- package/build/type/engine/indexed/index.d.mts +1 -0
- package/build/type/engine/indexed/index.mjs +1 -0
- package/build/type/engine/indexed/instantiate.d.mts +21 -0
- package/build/type/engine/indexed/instantiate.mjs +37 -0
- package/build/type/engine/instance-type/index.d.mts +1 -0
- package/build/type/engine/instance-type/index.mjs +1 -0
- package/build/type/engine/instance-type/instantiate.d.mts +12 -0
- package/build/type/engine/instance-type/instantiate.mjs +20 -0
- package/build/type/engine/instantiate.d.mts +167 -0
- package/build/type/engine/instantiate.mjs +172 -0
- package/build/type/engine/interface/index.d.mts +1 -0
- package/build/type/engine/interface/index.mjs +1 -0
- package/build/type/engine/interface/instantiate.d.mts +16 -0
- package/build/type/engine/interface/instantiate.mjs +19 -0
- package/build/type/engine/intrinsics/from-literal.d.mts +5 -0
- package/build/type/engine/intrinsics/from-literal.mjs +9 -0
- package/build/type/engine/intrinsics/from-template-literal.d.mts +6 -0
- package/build/type/engine/intrinsics/from-template-literal.mjs +8 -0
- package/build/type/engine/intrinsics/from-type.d.mts +10 -0
- package/build/type/engine/intrinsics/from-type.mjs +13 -0
- package/build/type/engine/intrinsics/from-union.d.mts +6 -0
- package/build/type/engine/intrinsics/from-union.mjs +7 -0
- package/build/type/engine/intrinsics/index.d.mts +1 -0
- package/build/type/engine/intrinsics/index.mjs +1 -0
- package/build/type/engine/intrinsics/instantiate.d.mts +34 -0
- package/build/type/engine/intrinsics/instantiate.mjs +48 -0
- package/build/type/engine/intrinsics/mapping.d.mts +9 -0
- package/build/type/engine/intrinsics/mapping.mjs +4 -0
- package/build/type/engine/keyof/from-any.d.mts +6 -0
- package/build/type/engine/keyof/from-any.mjs +8 -0
- package/build/type/engine/keyof/from-array.d.mts +4 -0
- package/build/type/engine/keyof/from-array.mjs +5 -0
- package/build/type/engine/keyof/from-object.d.mts +10 -0
- package/build/type/engine/keyof/from-object.mjs +20 -0
- package/build/type/engine/keyof/from-record.d.mts +4 -0
- package/build/type/engine/keyof/from-record.mjs +5 -0
- package/build/type/engine/keyof/from-tuple.d.mts +5 -0
- package/build/type/engine/keyof/from-tuple.mjs +7 -0
- package/build/type/engine/keyof/index.d.mts +1 -0
- package/build/type/engine/keyof/index.mjs +1 -0
- package/build/type/engine/keyof/instantiate.d.mts +27 -0
- package/build/type/engine/keyof/instantiate.mjs +45 -0
- package/build/type/engine/mapped/index.d.mts +1 -0
- package/build/type/engine/mapped/index.mjs +1 -0
- package/build/type/engine/mapped/instantiate.d.mts +28 -0
- package/build/type/engine/mapped/instantiate.mjs +47 -0
- package/build/type/engine/mapped/mapped-keys.d.mts +14 -0
- package/build/type/engine/mapped/mapped-keys.mjs +29 -0
- package/build/type/engine/module/index.d.mts +1 -0
- package/build/type/engine/module/index.mjs +1 -0
- package/build/type/engine/module/instantiate.d.mts +21 -0
- package/build/type/engine/module/instantiate.mjs +33 -0
- package/build/type/engine/non-nullable/index.d.mts +1 -0
- package/build/type/engine/non-nullable/index.mjs +1 -0
- package/build/type/engine/non-nullable/instantiate.d.mts +15 -0
- package/build/type/engine/non-nullable/instantiate.mjs +21 -0
- package/build/type/engine/object/collapse.d.mts +12 -0
- package/build/type/engine/object/collapse.mjs +14 -0
- package/build/type/engine/object/from-cyclic.d.mts +6 -0
- package/build/type/engine/object/from-cyclic.mjs +8 -0
- package/build/type/engine/object/from-intersect.d.mts +17 -0
- package/build/type/engine/object/from-intersect.mjs +21 -0
- package/build/type/engine/object/from-object.d.mts +3 -0
- package/build/type/engine/object/from-object.mjs +4 -0
- package/build/type/engine/object/from-tuple.d.mts +6 -0
- package/build/type/engine/object/from-tuple.mjs +9 -0
- package/build/type/engine/object/from-type.d.mts +14 -0
- package/build/type/engine/object/from-type.mjs +19 -0
- package/build/type/engine/object/from-union.d.mts +12 -0
- package/build/type/engine/object/from-union.mjs +26 -0
- package/build/type/engine/object/index.d.mts +1 -0
- package/build/type/engine/object/index.mjs +1 -0
- package/build/type/engine/omit/index.d.mts +1 -0
- package/build/type/engine/omit/index.mjs +1 -0
- package/build/type/engine/omit/instantiate.d.mts +16 -0
- package/build/type/engine/omit/instantiate.mjs +31 -0
- package/build/type/engine/options/index.d.mts +1 -0
- package/build/type/engine/options/index.mjs +1 -0
- package/build/type/engine/options/instantiate.d.mts +8 -0
- package/build/type/engine/options/instantiate.mjs +13 -0
- package/build/type/engine/parameters/index.d.mts +1 -0
- package/build/type/engine/parameters/index.mjs +1 -0
- package/build/type/engine/parameters/instantiate.d.mts +14 -0
- package/build/type/engine/parameters/instantiate.mjs +21 -0
- package/build/type/engine/partial/from-cyclic.d.mts +10 -0
- package/build/type/engine/partial/from-cyclic.mjs +11 -0
- package/build/type/engine/partial/from-intersect.d.mts +5 -0
- package/build/type/engine/partial/from-intersect.mjs +7 -0
- package/build/type/engine/partial/from-object.d.mts +8 -0
- package/build/type/engine/partial/from-object.mjs +11 -0
- package/build/type/engine/partial/from-type.d.mts +12 -0
- package/build/type/engine/partial/from-type.mjs +16 -0
- package/build/type/engine/partial/from-union.d.mts +5 -0
- package/build/type/engine/partial/from-union.mjs +7 -0
- package/build/type/engine/partial/index.d.mts +1 -0
- package/build/type/engine/partial/index.mjs +1 -0
- package/build/type/engine/partial/instantiate.d.mts +9 -0
- package/build/type/engine/partial/instantiate.mjs +14 -0
- package/build/type/engine/patterns/index.d.mts +2 -0
- package/build/type/engine/patterns/index.mjs +2 -0
- package/build/type/engine/patterns/pattern.d.mts +6 -0
- package/build/type/engine/patterns/pattern.mjs +11 -0
- package/build/type/engine/patterns/template.d.mts +7 -0
- package/build/type/engine/patterns/template.mjs +20 -0
- package/build/type/engine/pick/index.d.mts +1 -0
- package/build/type/engine/pick/index.mjs +1 -0
- package/build/type/engine/pick/instantiate.d.mts +17 -0
- package/build/type/engine/pick/instantiate.mjs +31 -0
- package/build/type/engine/readonly-type/from-array.d.mts +5 -0
- package/build/type/engine/readonly-type/from-array.mjs +7 -0
- package/build/type/engine/readonly-type/from-cyclic.d.mts +10 -0
- package/build/type/engine/readonly-type/from-cyclic.mjs +11 -0
- package/build/type/engine/readonly-type/from-intersect.d.mts +5 -0
- package/build/type/engine/readonly-type/from-intersect.mjs +7 -0
- package/build/type/engine/readonly-type/from-object.d.mts +8 -0
- package/build/type/engine/readonly-type/from-object.mjs +11 -0
- package/build/type/engine/readonly-type/from-tuple.d.mts +5 -0
- package/build/type/engine/readonly-type/from-tuple.mjs +7 -0
- package/build/type/engine/readonly-type/from-type.d.mts +16 -0
- package/build/type/engine/readonly-type/from-type.mjs +22 -0
- package/build/type/engine/readonly-type/from-union.d.mts +5 -0
- package/build/type/engine/readonly-type/from-union.mjs +7 -0
- package/build/type/engine/readonly-type/index.d.mts +1 -0
- package/build/type/engine/readonly-type/index.mjs +1 -0
- package/build/type/engine/readonly-type/instantiate.d.mts +9 -0
- package/build/type/engine/readonly-type/instantiate.mjs +14 -0
- package/build/type/engine/record/from-key-any.d.mts +4 -0
- package/build/type/engine/record/from-key-any.mjs +6 -0
- package/build/type/engine/record/from-key-boolean.d.mts +7 -0
- package/build/type/engine/record/from-key-boolean.mjs +5 -0
- package/build/type/engine/record/from-key-enum.d.mts +6 -0
- package/build/type/engine/record/from-key-enum.mjs +8 -0
- package/build/type/engine/record/from-key-integer.d.mts +5 -0
- package/build/type/engine/record/from-key-integer.mjs +7 -0
- package/build/type/engine/record/from-key-intersect.d.mts +5 -0
- package/build/type/engine/record/from-key-intersect.mjs +8 -0
- package/build/type/engine/record/from-key-literal.d.mts +11 -0
- package/build/type/engine/record/from-key-literal.mjs +10 -0
- package/build/type/engine/record/from-key-number.d.mts +5 -0
- package/build/type/engine/record/from-key-number.mjs +7 -0
- package/build/type/engine/record/from-key-string.d.mts +5 -0
- package/build/type/engine/record/from-key-string.mjs +12 -0
- package/build/type/engine/record/from-key-template-literal.d.mts +8 -0
- package/build/type/engine/record/from-key-template-literal.mjs +12 -0
- package/build/type/engine/record/from-key-union.d.mts +20 -0
- package/build/type/engine/record/from-key-union.mjs +39 -0
- package/build/type/engine/record/from-key.d.mts +24 -0
- package/build/type/engine/record/from-key.mjs +40 -0
- package/build/type/engine/record/index.d.mts +1 -0
- package/build/type/engine/record/index.mjs +1 -0
- package/build/type/engine/record/instantiate.d.mts +9 -0
- package/build/type/engine/record/instantiate.mjs +16 -0
- package/build/type/engine/record/record-create.d.mts +3 -0
- package/build/type/engine/record/record-create.mjs +7 -0
- package/build/type/engine/ref/index.d.mts +1 -0
- package/build/type/engine/ref/index.mjs +1 -0
- package/build/type/engine/ref/instantiate.d.mts +6 -0
- package/build/type/engine/ref/instantiate.mjs +10 -0
- package/build/type/engine/required/from-cyclic.d.mts +10 -0
- package/build/type/engine/required/from-cyclic.mjs +11 -0
- package/build/type/engine/required/from-intersect.d.mts +5 -0
- package/build/type/engine/required/from-intersect.mjs +7 -0
- package/build/type/engine/required/from-object.d.mts +8 -0
- package/build/type/engine/required/from-object.mjs +11 -0
- package/build/type/engine/required/from-type.d.mts +12 -0
- package/build/type/engine/required/from-type.mjs +16 -0
- package/build/type/engine/required/from-union.d.mts +5 -0
- package/build/type/engine/required/from-union.mjs +7 -0
- package/build/type/engine/required/index.d.mts +1 -0
- package/build/type/engine/required/index.mjs +1 -0
- package/build/type/engine/required/instantiate.d.mts +9 -0
- package/build/type/engine/required/instantiate.mjs +14 -0
- package/build/type/engine/rest/index.d.mts +1 -0
- package/build/type/engine/rest/index.mjs +1 -0
- package/build/type/engine/rest/spread.d.mts +12 -0
- package/build/type/engine/rest/spread.mjs +19 -0
- package/build/type/engine/return-type/index.d.mts +1 -0
- package/build/type/engine/return-type/index.mjs +1 -0
- package/build/type/engine/return-type/instantiate.d.mts +11 -0
- package/build/type/engine/return-type/instantiate.mjs +18 -0
- package/build/type/engine/template-literal/create.d.mts +1 -0
- package/build/type/engine/template-literal/create.mjs +5 -0
- package/build/type/engine/template-literal/decode.d.mts +30 -0
- package/build/type/engine/template-literal/decode.mjs +87 -0
- package/build/type/engine/template-literal/encode.d.mts +31 -0
- package/build/type/engine/template-literal/encode.mjs +80 -0
- package/build/type/engine/template-literal/index.d.mts +6 -0
- package/build/type/engine/template-literal/index.mjs +6 -0
- package/build/type/engine/template-literal/instantiate.d.mts +9 -0
- package/build/type/engine/template-literal/instantiate.mjs +14 -0
- package/build/type/engine/template-literal/is-finite.d.mts +12 -0
- package/build/type/engine/template-literal/is-finite.mjs +30 -0
- package/build/type/engine/template-literal/is-pattern.d.mts +6 -0
- package/build/type/engine/template-literal/is-pattern.mjs +9 -0
- package/build/type/engine/template-literal/static.d.mts +18 -0
- package/build/type/engine/template-literal/static.mjs +2 -0
- package/build/type/engine/tuple/to-object.d.mts +12 -0
- package/build/type/engine/tuple/to-object.mjs +13 -0
- package/build/type/extends/any.d.mts +9 -0
- package/build/type/extends/any.mjs +12 -0
- package/build/type/extends/array.d.mts +20 -0
- package/build/type/extends/array.mjs +21 -0
- package/build/type/extends/async-iterator.d.mts +7 -0
- package/build/type/extends/async-iterator.mjs +9 -0
- package/build/type/extends/bigint.d.mts +7 -0
- package/build/type/extends/bigint.mjs +9 -0
- package/build/type/extends/boolean.d.mts +7 -0
- package/build/type/extends/boolean.mjs +9 -0
- package/build/type/extends/constructor.d.mts +8 -0
- package/build/type/extends/constructor.mjs +16 -0
- package/build/type/extends/enum.d.mts +7 -0
- package/build/type/extends/enum.mjs +6 -0
- package/build/type/extends/extends-left.d.mts +55 -0
- package/build/type/extends/extends-left.mjs +83 -0
- package/build/type/extends/extends-right.d.mts +25 -0
- package/build/type/extends/extends-right.mjs +59 -0
- package/build/type/extends/extends.d.mts +11 -0
- package/build/type/extends/extends.mjs +15 -0
- package/build/type/extends/function.d.mts +8 -0
- package/build/type/extends/function.mjs +16 -0
- package/build/type/extends/index.d.mts +2 -0
- package/build/type/extends/index.mjs +2 -0
- package/build/type/extends/inference.d.mts +34 -0
- package/build/type/extends/inference.mjs +72 -0
- package/build/type/extends/integer.d.mts +8 -0
- package/build/type/extends/integer.mjs +10 -0
- package/build/type/extends/intersect.d.mts +6 -0
- package/build/type/extends/intersect.mjs +15 -0
- package/build/type/extends/iterator.d.mts +7 -0
- package/build/type/extends/iterator.mjs +9 -0
- package/build/type/extends/literal.d.mts +18 -0
- package/build/type/extends/literal.mjs +44 -0
- package/build/type/extends/never.d.mts +8 -0
- package/build/type/extends/never.mjs +9 -0
- package/build/type/extends/null.d.mts +7 -0
- package/build/type/extends/null.mjs +9 -0
- package/build/type/extends/number.d.mts +7 -0
- package/build/type/extends/number.mjs +9 -0
- package/build/type/extends/object.d.mts +25 -0
- package/build/type/extends/object.mjs +89 -0
- package/build/type/extends/parameters.d.mts +15 -0
- package/build/type/extends/parameters.mjs +37 -0
- package/build/type/extends/promise.d.mts +7 -0
- package/build/type/extends/promise.mjs +9 -0
- package/build/type/extends/result.d.mts +21 -0
- package/build/type/extends/result.mjs +33 -0
- package/build/type/extends/return-type.d.mts +7 -0
- package/build/type/extends/return-type.mjs +9 -0
- package/build/type/extends/string.d.mts +7 -0
- package/build/type/extends/string.mjs +9 -0
- package/build/type/extends/symbol.d.mts +7 -0
- package/build/type/extends/symbol.mjs +9 -0
- package/build/type/extends/template-literal.d.mts +6 -0
- package/build/type/extends/template-literal.mjs +7 -0
- package/build/type/extends/tuple.d.mts +25 -0
- package/build/type/extends/tuple.mjs +82 -0
- package/build/type/extends/undefined.d.mts +8 -0
- package/build/type/extends/undefined.mjs +10 -0
- package/build/type/extends/union.d.mts +11 -0
- package/build/type/extends/union.mjs +36 -0
- package/build/type/extends/unknown.d.mts +9 -0
- package/build/type/extends/unknown.mjs +12 -0
- package/build/type/extends/void.d.mts +7 -0
- package/build/type/extends/void.mjs +9 -0
- package/build/type/index.d.mts +5 -0
- package/build/type/index.mjs +5 -0
- package/build/type/script/index.d.mts +1 -0
- package/build/type/script/index.mjs +1 -0
- package/build/type/script/mapping.d.mts +365 -0
- package/build/type/script/mapping.mjs +532 -0
- package/build/type/script/parser.d.mts +260 -0
- package/build/type/script/parser.mjs +135 -0
- package/build/type/script/script.d.mts +17 -0
- package/build/type/script/script.mjs +21 -0
- package/build/type/script/token/bigint.d.mts +8 -0
- package/build/type/script/token/bigint.mjs +20 -0
- package/build/type/script/token/const.d.mts +11 -0
- package/build/type/script/token/const.mjs +18 -0
- package/build/type/script/token/ident.d.mts +16 -0
- package/build/type/script/token/ident.mjs +35 -0
- package/build/type/script/token/index.d.mts +9 -0
- package/build/type/script/token/index.mjs +9 -0
- package/build/type/script/token/integer.d.mts +19 -0
- package/build/type/script/token/integer.mjs +45 -0
- package/build/type/script/token/internal/char.d.mts +75 -0
- package/build/type/script/token/internal/char.mjs +26 -0
- package/build/type/script/token/internal/guard.d.mts +1 -0
- package/build/type/script/token/internal/guard.mjs +15 -0
- package/build/type/script/token/internal/many.d.mts +7 -0
- package/build/type/script/token/internal/many.mjs +17 -0
- package/build/type/script/token/internal/optional.d.mts +5 -0
- package/build/type/script/token/internal/optional.mjs +12 -0
- package/build/type/script/token/internal/result.d.mts +2 -0
- package/build/type/script/token/internal/result.mjs +7 -0
- package/build/type/script/token/internal/take.d.mts +6 -0
- package/build/type/script/token/internal/take.mjs +19 -0
- package/build/type/script/token/internal/trim.d.mts +19 -0
- package/build/type/script/token/internal/trim.mjs +34 -0
- package/build/type/script/token/number.d.mts +20 -0
- package/build/type/script/token/number.mjs +65 -0
- package/build/type/script/token/span.d.mts +10 -0
- package/build/type/script/token/span.mjs +35 -0
- package/build/type/script/token/string.d.mts +11 -0
- package/build/type/script/token/string.mjs +24 -0
- package/build/type/script/token/until.d.mts +6 -0
- package/build/type/script/token/until.mjs +21 -0
- package/build/type/script/token/until_1.d.mts +5 -0
- package/build/type/script/token/until_1.mjs +16 -0
- package/build/type/types/_codec.d.mts +30 -0
- package/build/type/types/_codec.mjs +60 -0
- package/build/type/types/_immutable.d.mts +16 -0
- package/build/type/types/_immutable.mjs +26 -0
- package/build/type/types/_optional.d.mts +16 -0
- package/build/type/types/_optional.mjs +27 -0
- package/build/type/types/_readonly.d.mts +16 -0
- package/build/type/types/_readonly.mjs +26 -0
- package/build/type/types/_refine.d.mts +19 -0
- package/build/type/types/_refine.mjs +20 -0
- package/build/type/types/any.d.mts +10 -0
- package/build/type/types/any.mjs +18 -0
- package/build/type/types/array.d.mts +17 -0
- package/build/type/types/array.mjs +24 -0
- package/build/type/types/async-iterator.d.mts +16 -0
- package/build/type/types/async-iterator.mjs +24 -0
- package/build/type/types/base.d.mts +50 -0
- package/build/type/types/base.mjs +84 -0
- package/build/type/types/bigint.d.mts +12 -0
- package/build/type/types/bigint.mjs +21 -0
- package/build/type/types/boolean.d.mts +11 -0
- package/build/type/types/boolean.mjs +17 -0
- package/build/type/types/call.d.mts +16 -0
- package/build/type/types/call.mjs +21 -0
- package/build/type/types/constructor.d.mts +18 -0
- package/build/type/types/constructor.mjs +24 -0
- package/build/type/types/cyclic.d.mts +16 -0
- package/build/type/types/cyclic.mjs +29 -0
- package/build/type/types/deferred.d.mts +12 -0
- package/build/type/types/deferred.mjs +16 -0
- package/build/type/types/enum.d.mts +16 -0
- package/build/type/types/enum.mjs +17 -0
- package/build/type/types/function.d.mts +21 -0
- package/build/type/types/function.mjs +25 -0
- package/build/type/types/generic.d.mts +13 -0
- package/build/type/types/generic.mjs +17 -0
- package/build/type/types/identifier.d.mts +11 -0
- package/build/type/types/identifier.mjs +17 -0
- package/build/type/types/index.d.mts +48 -0
- package/build/type/types/index.mjs +54 -0
- package/build/type/types/infer.d.mts +15 -0
- package/build/type/types/infer.mjs +20 -0
- package/build/type/types/integer.d.mts +12 -0
- package/build/type/types/integer.mjs +21 -0
- package/build/type/types/intersect.d.mts +15 -0
- package/build/type/types/intersect.mjs +24 -0
- package/build/type/types/iterator.d.mts +16 -0
- package/build/type/types/iterator.mjs +24 -0
- package/build/type/types/literal.d.mts +31 -0
- package/build/type/types/literal.mjs +62 -0
- package/build/type/types/never.d.mts +12 -0
- package/build/type/types/never.mjs +21 -0
- package/build/type/types/null.d.mts +11 -0
- package/build/type/types/null.mjs +17 -0
- package/build/type/types/number.d.mts +12 -0
- package/build/type/types/number.mjs +21 -0
- package/build/type/types/object.d.mts +18 -0
- package/build/type/types/object.mjs +28 -0
- package/build/type/types/parameter.d.mts +17 -0
- package/build/type/types/parameter.mjs +21 -0
- package/build/type/types/promise.d.mts +16 -0
- package/build/type/types/promise.mjs +24 -0
- package/build/type/types/properties.d.mts +42 -0
- package/build/type/types/properties.mjs +16 -0
- package/build/type/types/record.d.mts +48 -0
- package/build/type/types/record.mjs +63 -0
- package/build/type/types/ref.d.mts +19 -0
- package/build/type/types/ref.mjs +17 -0
- package/build/type/types/rest.d.mts +11 -0
- package/build/type/types/rest.mjs +17 -0
- package/build/type/types/schema.d.mts +199 -0
- package/build/type/types/schema.mjs +15 -0
- package/build/type/types/static.d.mts +48 -0
- package/build/type/types/static.mjs +3 -0
- package/build/type/types/string.d.mts +12 -0
- package/build/type/types/string.mjs +22 -0
- package/build/type/types/symbol.d.mts +11 -0
- package/build/type/types/symbol.mjs +17 -0
- package/build/type/types/template-literal.d.mts +26 -0
- package/build/type/types/template-literal.mjs +31 -0
- package/build/type/types/this.d.mts +14 -0
- package/build/type/types/this.mjs +17 -0
- package/build/type/types/tuple.d.mts +38 -0
- package/build/type/types/tuple.mjs +25 -0
- package/build/type/types/undefined.d.mts +11 -0
- package/build/type/types/undefined.mjs +17 -0
- package/build/type/types/union.d.mts +15 -0
- package/build/type/types/union.mjs +24 -0
- package/build/type/types/unknown.d.mts +10 -0
- package/build/type/types/unknown.mjs +17 -0
- package/build/type/types/unsafe.d.mts +11 -0
- package/build/type/types/unsafe.mjs +18 -0
- package/build/type/types/void.d.mts +11 -0
- package/build/type/types/void.mjs +17 -0
- package/build/typebox.d.mts +73 -0
- package/build/typebox.mjs +89 -0
- package/build/value/assert/assert.d.mts +14 -0
- package/build/value/assert/assert.mjs +27 -0
- package/build/value/assert/index.d.mts +1 -0
- package/build/value/assert/index.mjs +1 -0
- package/build/value/check/check.d.mts +5 -0
- package/build/value/check/check.mjs +11 -0
- package/build/value/check/index.d.mts +1 -0
- package/build/value/check/index.mjs +1 -0
- package/build/value/clean/additional.d.mts +2 -0
- package/build/value/clean/additional.mjs +6 -0
- package/build/value/clean/clean.d.mts +15 -0
- package/build/value/clean/clean.mjs +15 -0
- package/build/value/clean/from-array.d.mts +2 -0
- package/build/value/clean/from-array.mjs +8 -0
- package/build/value/clean/from-base.d.mts +2 -0
- package/build/value/clean/from-base.mjs +4 -0
- package/build/value/clean/from-cyclic.d.mts +2 -0
- package/build/value/clean/from-cyclic.mjs +6 -0
- package/build/value/clean/from-intersect.d.mts +2 -0
- package/build/value/clean/from-intersect.mjs +26 -0
- package/build/value/clean/from-object.d.mts +2 -0
- package/build/value/clean/from-object.mjs +31 -0
- package/build/value/clean/from-record.d.mts +2 -0
- package/build/value/clean/from-record.mjs +32 -0
- package/build/value/clean/from-ref.d.mts +2 -0
- package/build/value/clean/from-ref.mjs +8 -0
- package/build/value/clean/from-tuple.d.mts +2 -0
- package/build/value/clean/from-tuple.mjs +14 -0
- package/build/value/clean/from-type.d.mts +2 -0
- package/build/value/clean/from-type.mjs +23 -0
- package/build/value/clean/from-union.d.mts +2 -0
- package/build/value/clean/from-union.mjs +12 -0
- package/build/value/clean/index.d.mts +1 -0
- package/build/value/clean/index.mjs +1 -0
- package/build/value/clone/clone.d.mts +5 -0
- package/build/value/clone/clone.mjs +82 -0
- package/build/value/clone/index.d.mts +1 -0
- package/build/value/clone/index.mjs +1 -0
- package/build/value/codec/callback.d.mts +2 -0
- package/build/value/codec/callback.mjs +25 -0
- package/build/value/codec/decode.d.mts +22 -0
- package/build/value/codec/decode.mjs +55 -0
- package/build/value/codec/encode.d.mts +12 -0
- package/build/value/codec/encode.mjs +50 -0
- package/build/value/codec/from-array.d.mts +2 -0
- package/build/value/codec/from-array.mjs +38 -0
- package/build/value/codec/from-cyclic.d.mts +2 -0
- package/build/value/codec/from-cyclic.mjs +8 -0
- package/build/value/codec/from-intersect.d.mts +2 -0
- package/build/value/codec/from-intersect.mjs +28 -0
- package/build/value/codec/from-object.d.mts +2 -0
- package/build/value/codec/from-object.mjs +45 -0
- package/build/value/codec/from-record.d.mts +2 -0
- package/build/value/codec/from-record.mjs +44 -0
- package/build/value/codec/from-ref.d.mts +2 -0
- package/build/value/codec/from-ref.mjs +10 -0
- package/build/value/codec/from-tuple.d.mts +2 -0
- package/build/value/codec/from-tuple.mjs +35 -0
- package/build/value/codec/from-type.d.mts +2 -0
- package/build/value/codec/from-type.mjs +22 -0
- package/build/value/codec/from-union.d.mts +2 -0
- package/build/value/codec/from-union.mjs +42 -0
- package/build/value/codec/has.d.mts +5 -0
- package/build/value/codec/has.mjs +93 -0
- package/build/value/codec/index.d.mts +3 -0
- package/build/value/codec/index.mjs +3 -0
- package/build/value/convert/convert.d.mts +13 -0
- package/build/value/convert/convert.mjs +15 -0
- package/build/value/convert/from-additional.d.mts +6 -0
- package/build/value/convert/from-additional.mjs +18 -0
- package/build/value/convert/from-array.d.mts +2 -0
- package/build/value/convert/from-array.mjs +8 -0
- package/build/value/convert/from-base.d.mts +2 -0
- package/build/value/convert/from-base.mjs +4 -0
- package/build/value/convert/from-bigint.d.mts +2 -0
- package/build/value/convert/from-bigint.mjs +9 -0
- package/build/value/convert/from-boolean.d.mts +2 -0
- package/build/value/convert/from-boolean.mjs +9 -0
- package/build/value/convert/from-cyclic.d.mts +2 -0
- package/build/value/convert/from-cyclic.mjs +6 -0
- package/build/value/convert/from-enum.d.mts +2 -0
- package/build/value/convert/from-enum.mjs +7 -0
- package/build/value/convert/from-integer.d.mts +2 -0
- package/build/value/convert/from-integer.mjs +9 -0
- package/build/value/convert/from-intersect.d.mts +2 -0
- package/build/value/convert/from-intersect.mjs +8 -0
- package/build/value/convert/from-literal.d.mts +2 -0
- package/build/value/convert/from-literal.mjs +44 -0
- package/build/value/convert/from-null.d.mts +2 -0
- package/build/value/convert/from-null.mjs +9 -0
- package/build/value/convert/from-number.d.mts +2 -0
- package/build/value/convert/from-number.mjs +9 -0
- package/build/value/convert/from-object.d.mts +2 -0
- package/build/value/convert/from-object.mjs +28 -0
- package/build/value/convert/from-record.d.mts +2 -0
- package/build/value/convert/from-record.mjs +23 -0
- package/build/value/convert/from-ref.d.mts +2 -0
- package/build/value/convert/from-ref.mjs +8 -0
- package/build/value/convert/from-string.d.mts +2 -0
- package/build/value/convert/from-string.mjs +9 -0
- package/build/value/convert/from-template-literal.d.mts +2 -0
- package/build/value/convert/from-template-literal.mjs +7 -0
- package/build/value/convert/from-tuple.d.mts +2 -0
- package/build/value/convert/from-tuple.mjs +11 -0
- package/build/value/convert/from-type.d.mts +2 -0
- package/build/value/convert/from-type.mjs +45 -0
- package/build/value/convert/from-undefined.d.mts +2 -0
- package/build/value/convert/from-undefined.mjs +9 -0
- package/build/value/convert/from-union.d.mts +2 -0
- package/build/value/convert/from-union.mjs +13 -0
- package/build/value/convert/from-void.d.mts +2 -0
- package/build/value/convert/from-void.mjs +9 -0
- package/build/value/convert/index.d.mts +1 -0
- package/build/value/convert/index.mjs +1 -0
- package/build/value/convert/try/index.d.mts +1 -0
- package/build/value/convert/try/index.mjs +1 -0
- package/build/value/convert/try/try-bigint.d.mts +2 -0
- package/build/value/convert/try/try-bigint.mjs +74 -0
- package/build/value/convert/try/try-boolean.d.mts +2 -0
- package/build/value/convert/try/try-boolean.mjs +64 -0
- package/build/value/convert/try/try-null.d.mts +2 -0
- package/build/value/convert/try/try-null.mjs +61 -0
- package/build/value/convert/try/try-number.d.mts +2 -0
- package/build/value/convert/try/try-number.mjs +76 -0
- package/build/value/convert/try/try-result.d.mts +8 -0
- package/build/value/convert/try/try-result.mjs +18 -0
- package/build/value/convert/try/try-string.d.mts +2 -0
- package/build/value/convert/try/try-string.mjs +56 -0
- package/build/value/convert/try/try-undefined.d.mts +2 -0
- package/build/value/convert/try/try-undefined.mjs +61 -0
- package/build/value/convert/try/try.d.mts +7 -0
- package/build/value/convert/try/try.mjs +7 -0
- package/build/value/create/create.d.mts +5 -0
- package/build/value/create/create.mjs +11 -0
- package/build/value/create/error.d.mts +5 -0
- package/build/value/create/error.mjs +7 -0
- package/build/value/create/from-array.d.mts +2 -0
- package/build/value/create/from-array.mjs +10 -0
- package/build/value/create/from-async-iterator.d.mts +2 -0
- package/build/value/create/from-async-iterator.mjs +5 -0
- package/build/value/create/from-base.d.mts +2 -0
- package/build/value/create/from-base.mjs +4 -0
- package/build/value/create/from-bigint.d.mts +2 -0
- package/build/value/create/from-bigint.mjs +7 -0
- package/build/value/create/from-boolean.d.mts +2 -0
- package/build/value/create/from-boolean.mjs +4 -0
- package/build/value/create/from-constructor.d.mts +2 -0
- package/build/value/create/from-constructor.mjs +10 -0
- package/build/value/create/from-cyclic.d.mts +2 -0
- package/build/value/create/from-cyclic.mjs +6 -0
- package/build/value/create/from-default.d.mts +3 -0
- package/build/value/create/from-default.mjs +10 -0
- package/build/value/create/from-enum.d.mts +2 -0
- package/build/value/create/from-enum.mjs +6 -0
- package/build/value/create/from-function.d.mts +2 -0
- package/build/value/create/from-function.mjs +6 -0
- package/build/value/create/from-integer.d.mts +2 -0
- package/build/value/create/from-integer.mjs +8 -0
- package/build/value/create/from-intersect.d.mts +2 -0
- package/build/value/create/from-intersect.mjs +8 -0
- package/build/value/create/from-iterator.d.mts +2 -0
- package/build/value/create/from-iterator.mjs +5 -0
- package/build/value/create/from-literal.d.mts +2 -0
- package/build/value/create/from-literal.mjs +4 -0
- package/build/value/create/from-never.d.mts +2 -0
- package/build/value/create/from-never.mjs +5 -0
- package/build/value/create/from-null.d.mts +2 -0
- package/build/value/create/from-null.mjs +4 -0
- package/build/value/create/from-number.d.mts +2 -0
- package/build/value/create/from-number.mjs +8 -0
- package/build/value/create/from-object.d.mts +2 -0
- package/build/value/create/from-object.mjs +9 -0
- package/build/value/create/from-promise.d.mts +2 -0
- package/build/value/create/from-promise.mjs +5 -0
- package/build/value/create/from-record.d.mts +2 -0
- package/build/value/create/from-record.mjs +8 -0
- package/build/value/create/from-ref.d.mts +2 -0
- package/build/value/create/from-ref.mjs +9 -0
- package/build/value/create/from-string.d.mts +2 -0
- package/build/value/create/from-string.mjs +9 -0
- package/build/value/create/from-symbol.d.mts +2 -0
- package/build/value/create/from-symbol.mjs +4 -0
- package/build/value/create/from-template-literal.d.mts +2 -0
- package/build/value/create/from-template-literal.mjs +11 -0
- package/build/value/create/from-tuple.d.mts +2 -0
- package/build/value/create/from-tuple.mjs +5 -0
- package/build/value/create/from-type.d.mts +2 -0
- package/build/value/create/from-type.mjs +69 -0
- package/build/value/create/from-undefined.d.mts +2 -0
- package/build/value/create/from-undefined.mjs +4 -0
- package/build/value/create/from-union.d.mts +2 -0
- package/build/value/create/from-union.mjs +9 -0
- package/build/value/create/from-void.d.mts +2 -0
- package/build/value/create/from-void.mjs +4 -0
- package/build/value/create/index.d.mts +2 -0
- package/build/value/create/index.mjs +2 -0
- package/build/value/default/default.d.mts +13 -0
- package/build/value/default/default.mjs +15 -0
- package/build/value/default/from-array.d.mts +2 -0
- package/build/value/default/from-array.mjs +12 -0
- package/build/value/default/from-base.d.mts +2 -0
- package/build/value/default/from-base.mjs +5 -0
- package/build/value/default/from-cyclic.d.mts +2 -0
- package/build/value/default/from-cyclic.mjs +7 -0
- package/build/value/default/from-default.d.mts +3 -0
- package/build/value/default/from-default.mjs +13 -0
- package/build/value/default/from-intersect.d.mts +2 -0
- package/build/value/default/from-intersect.mjs +9 -0
- package/build/value/default/from-object.d.mts +2 -0
- package/build/value/default/from-object.mjs +32 -0
- package/build/value/default/from-record.d.mts +2 -0
- package/build/value/default/from-record.mjs +26 -0
- package/build/value/default/from-ref.d.mts +2 -0
- package/build/value/default/from-ref.mjs +9 -0
- package/build/value/default/from-tuple.d.mts +2 -0
- package/build/value/default/from-tuple.mjs +14 -0
- package/build/value/default/from-type.d.mts +2 -0
- package/build/value/default/from-type.mjs +27 -0
- package/build/value/default/from-union.d.mts +2 -0
- package/build/value/default/from-union.mjs +14 -0
- package/build/value/default/index.d.mts +1 -0
- package/build/value/default/index.mjs +1 -0
- package/build/value/delta/diff.d.mts +10 -0
- package/build/value/delta/diff.mjs +129 -0
- package/build/value/delta/edit.d.mts +24 -0
- package/build/value/delta/edit.mjs +17 -0
- package/build/value/delta/index.d.mts +3 -0
- package/build/value/delta/index.mjs +3 -0
- package/build/value/delta/patch.d.mts +8 -0
- package/build/value/delta/patch.mjs +42 -0
- package/build/value/equal/equal.d.mts +2 -0
- package/build/value/equal/equal.mjs +6 -0
- package/build/value/equal/index.d.mts +1 -0
- package/build/value/equal/index.mjs +1 -0
- package/build/value/errors/errors.d.mts +16 -0
- package/build/value/errors/errors.mjs +17 -0
- package/build/value/errors/index.d.mts +1 -0
- package/build/value/errors/index.mjs +1 -0
- package/build/value/hash/hash.d.mts +6 -0
- package/build/value/hash/hash.mjs +10 -0
- package/build/value/hash/index.d.mts +1 -0
- package/build/value/hash/index.mjs +1 -0
- package/build/value/index.d.mts +20 -0
- package/build/value/index.mjs +26 -0
- package/build/value/mutate/error.d.mts +3 -0
- package/build/value/mutate/error.mjs +6 -0
- package/build/value/mutate/from-array.d.mts +2 -0
- package/build/value/mutate/from-array.mjs +16 -0
- package/build/value/mutate/from-object.d.mts +2 -0
- package/build/value/mutate/from-object.mjs +27 -0
- package/build/value/mutate/from-unknown.d.mts +2 -0
- package/build/value/mutate/from-unknown.mjs +7 -0
- package/build/value/mutate/from-value.d.mts +2 -0
- package/build/value/mutate/from-value.mjs +12 -0
- package/build/value/mutate/index.d.mts +1 -0
- package/build/value/mutate/index.mjs +1 -0
- package/build/value/mutate/mutate.d.mts +9 -0
- package/build/value/mutate/mutate.mjs +39 -0
- package/build/value/parse/index.d.mts +1 -0
- package/build/value/parse/index.mjs +1 -0
- package/build/value/parse/parse.d.mts +11 -0
- package/build/value/parse/parse.mjs +47 -0
- package/build/value/pipeline/index.d.mts +1 -0
- package/build/value/pipeline/index.mjs +1 -0
- package/build/value/pipeline/pipeline.d.mts +10 -0
- package/build/value/pipeline/pipeline.mjs +15 -0
- package/build/value/pointer/index.d.mts +1 -0
- package/build/value/pointer/index.mjs +1 -0
- package/build/value/repair/error.d.mts +7 -0
- package/build/value/repair/error.mjs +8 -0
- package/build/value/repair/from-array.d.mts +2 -0
- package/build/value/repair/from-array.mjs +39 -0
- package/build/value/repair/from-base.d.mts +2 -0
- package/build/value/repair/from-base.mjs +8 -0
- package/build/value/repair/from-enum.d.mts +2 -0
- package/build/value/repair/from-enum.mjs +7 -0
- package/build/value/repair/from-intersect.d.mts +2 -0
- package/build/value/repair/from-intersect.mjs +8 -0
- package/build/value/repair/from-object.d.mts +2 -0
- package/build/value/repair/from-object.mjs +33 -0
- package/build/value/repair/from-record.d.mts +2 -0
- package/build/value/repair/from-record.mjs +33 -0
- package/build/value/repair/from-ref.d.mts +2 -0
- package/build/value/repair/from-ref.mjs +9 -0
- package/build/value/repair/from-template-literal.d.mts +2 -0
- package/build/value/repair/from-template-literal.mjs +7 -0
- package/build/value/repair/from-tuple.d.mts +2 -0
- package/build/value/repair/from-tuple.mjs +12 -0
- package/build/value/repair/from-type.d.mts +2 -0
- package/build/value/repair/from-type.mjs +86 -0
- package/build/value/repair/from-union.d.mts +2 -0
- package/build/value/repair/from-union.mjs +71 -0
- package/build/value/repair/from-unknown.d.mts +2 -0
- package/build/value/repair/from-unknown.mjs +12 -0
- package/build/value/repair/index.d.mts +1 -0
- package/build/value/repair/index.mjs +1 -0
- package/build/value/repair/repair.d.mts +17 -0
- package/build/value/repair/repair.mjs +20 -0
- package/build/value/shared/index.d.mts +1 -0
- package/build/value/shared/index.mjs +2 -0
- package/build/value/shared/optional-undefined.d.mts +2 -0
- package/build/value/shared/optional-undefined.mjs +15 -0
- package/build/value/value.d.mts +16 -0
- package/build/value/value.mjs +16 -0
- package/changes.json +5 -0
- package/license +23 -0
- package/package.json +99 -0
- package/readme.md +285 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TLiteral } from '../../types/literal.mjs';
|
|
3
|
+
import { type TNumber } from '../../types/number.mjs';
|
|
4
|
+
import { type TInteger } from '../../types/integer.mjs';
|
|
5
|
+
import { type TObject } from '../../types/object.mjs';
|
|
6
|
+
import { type TProperties } from '../../types/properties.mjs';
|
|
7
|
+
import { type TString } from '../../types/string.mjs';
|
|
8
|
+
import { type TRecord, StringKey } from '../../types/record.mjs';
|
|
9
|
+
import { type TFlatten } from '../evaluate/flatten.mjs';
|
|
10
|
+
type TStringOrNumberCheck<Types extends TSchema[]> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? Left extends TString | TNumber | TInteger ? true : TStringOrNumberCheck<Right> : false);
|
|
11
|
+
type TTryBuildRecord<Types extends TSchema[], Value extends TSchema, Result extends TSchema | undefined = (TStringOrNumberCheck<Types> extends true ? TRecord<typeof StringKey, Value> : undefined)> = Result;
|
|
12
|
+
type TCreateProperties<Variants extends TSchema[], Value extends TSchema, Result extends TProperties = {}> = (Variants extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? Left extends TLiteral<string | number> ? TCreateProperties<Right, Value, Result & {
|
|
13
|
+
[_ in Left['const']]: Value;
|
|
14
|
+
}> : TCreateProperties<Right, Value, Result> : {
|
|
15
|
+
[Key in keyof Result]: Result[Key];
|
|
16
|
+
});
|
|
17
|
+
type TCreateObject<Variants extends TSchema[], Value extends TSchema, Properties extends TProperties = TCreateProperties<Variants, Value>, Result extends TSchema = TObject<Properties>> = Result;
|
|
18
|
+
export type TFromUnionKey<Types extends TSchema[], Value extends TSchema, Flattened extends TSchema[] = TFlatten<Types>, Record extends TSchema | undefined = TTryBuildRecord<Flattened, Value>, Result extends TSchema = (Record extends TSchema ? Record : TCreateObject<Flattened, Value>)> = Result;
|
|
19
|
+
export declare function FromUnionKey<Types extends TSchema[], Value extends TSchema>(types: [...Types], value: Value): TFromUnionKey<Types, Value>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
// deno-lint-ignore-file
|
|
3
|
+
import { Guard } from '../../../guard/index.mjs';
|
|
4
|
+
import { IsSchema } from '../../types/schema.mjs';
|
|
5
|
+
import { IsLiteral } from '../../types/literal.mjs';
|
|
6
|
+
import { IsNumber } from '../../types/number.mjs';
|
|
7
|
+
import { IsInteger } from '../../types/integer.mjs';
|
|
8
|
+
import { Object } from '../../types/object.mjs';
|
|
9
|
+
import { IsString } from '../../types/string.mjs';
|
|
10
|
+
import { StringKey } from '../../types/record.mjs';
|
|
11
|
+
import { Flatten } from '../evaluate/flatten.mjs';
|
|
12
|
+
import { CreateRecord } from './record-create.mjs';
|
|
13
|
+
function StringOrNumberCheck(types) {
|
|
14
|
+
return types.some(type => IsString(type) || IsNumber(type) || IsInteger(type));
|
|
15
|
+
}
|
|
16
|
+
function TryBuildRecord(types, value) {
|
|
17
|
+
return (Guard.IsEqual(StringOrNumberCheck(types), true)
|
|
18
|
+
? CreateRecord(StringKey, value)
|
|
19
|
+
: undefined);
|
|
20
|
+
}
|
|
21
|
+
function CreateProperties(types, value) {
|
|
22
|
+
return types.reduce((result, left) => {
|
|
23
|
+
return IsLiteral(left) && (Guard.IsString(left.const) || Guard.IsNumber(left.const))
|
|
24
|
+
? { ...result, [left.const]: value }
|
|
25
|
+
: result;
|
|
26
|
+
}, {});
|
|
27
|
+
}
|
|
28
|
+
function CreateObject(types, value) {
|
|
29
|
+
const properties = CreateProperties(types, value);
|
|
30
|
+
const result = Object(properties);
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
export function FromUnionKey(types, value) {
|
|
34
|
+
const flattened = Flatten(types);
|
|
35
|
+
const record = TryBuildRecord(flattened, value);
|
|
36
|
+
return (IsSchema(record) // maybe IsRecord?
|
|
37
|
+
? record
|
|
38
|
+
: CreateObject(flattened, value));
|
|
39
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TAny } from '../../types/any.mjs';
|
|
3
|
+
import { type TBoolean } from '../../types/boolean.mjs';
|
|
4
|
+
import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
|
|
5
|
+
import { type TIntersect } from '../../types/intersect.mjs';
|
|
6
|
+
import { type TInteger } from '../../types/integer.mjs';
|
|
7
|
+
import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
|
|
8
|
+
import { type TNumber } from '../../types/number.mjs';
|
|
9
|
+
import { type TObject } from '../../types/object.mjs';
|
|
10
|
+
import { type TString } from '../../types/string.mjs';
|
|
11
|
+
import { type TTemplateLiteral } from '../../types/template-literal.mjs';
|
|
12
|
+
import { type TUnion } from '../../types/union.mjs';
|
|
13
|
+
import { type TFromAnyKey } from './from-key-any.mjs';
|
|
14
|
+
import { type TFromBooleanKey } from './from-key-boolean.mjs';
|
|
15
|
+
import { type TFromEnumKey } from './from-key-enum.mjs';
|
|
16
|
+
import { type TFromIntegerKey } from './from-key-integer.mjs';
|
|
17
|
+
import { type TFromIntersectKey } from './from-key-intersect.mjs';
|
|
18
|
+
import { type TFromLiteralKey } from './from-key-literal.mjs';
|
|
19
|
+
import { type TFromNumberKey } from './from-key-number.mjs';
|
|
20
|
+
import { type TFromStringKey } from './from-key-string.mjs';
|
|
21
|
+
import { type TFromTemplateKey } from './from-key-template-literal.mjs';
|
|
22
|
+
import { type TFromUnionKey } from './from-key-union.mjs';
|
|
23
|
+
export type TFromKey<Key extends TSchema, Value extends TSchema, Result extends TSchema = (Key extends TAny ? TFromAnyKey<Value> : Key extends TBoolean ? TFromBooleanKey<Value> : Key extends TEnum<infer Values extends TEnumValue[]> ? TFromEnumKey<Values, Value> : Key extends TInteger ? TFromIntegerKey<Key, Value> : Key extends TIntersect<infer Types extends TSchema[]> ? TFromIntersectKey<Types, Value> : Key extends TLiteral<infer LiteralValue extends TLiteralValue> ? TFromLiteralKey<LiteralValue, Value> : Key extends TNumber ? TFromNumberKey<Key, Value> : Key extends TString ? TFromStringKey<Key, Value> : Key extends TTemplateLiteral<infer Pattern extends string> ? TFromTemplateKey<Pattern, Value> : Key extends TUnion<infer Types extends TSchema[]> ? TFromUnionKey<Types, Value> : TObject<{}>)> = Result;
|
|
24
|
+
export declare function FromKey<Key extends TSchema, Value extends TSchema>(key: Key, value: Value): TFromKey<Key, Value>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
// deno-lint-ignore-file
|
|
3
|
+
import { IsAny } from '../../types/any.mjs';
|
|
4
|
+
import { IsBoolean } from '../../types/boolean.mjs';
|
|
5
|
+
import { IsEnum } from '../../types/enum.mjs';
|
|
6
|
+
import { IsIntersect } from '../../types/intersect.mjs';
|
|
7
|
+
import { IsInteger } from '../../types/integer.mjs';
|
|
8
|
+
import { IsLiteral } from '../../types/literal.mjs';
|
|
9
|
+
import { IsNumber } from '../../types/number.mjs';
|
|
10
|
+
import { Object } from '../../types/object.mjs';
|
|
11
|
+
import { IsString } from '../../types/string.mjs';
|
|
12
|
+
import { IsTemplateLiteral } from '../../types/template-literal.mjs';
|
|
13
|
+
import { IsUnion } from '../../types/union.mjs';
|
|
14
|
+
// ------------------------------------------------------------------
|
|
15
|
+
// Keys and Deferred
|
|
16
|
+
// ------------------------------------------------------------------
|
|
17
|
+
import { FromAnyKey } from './from-key-any.mjs';
|
|
18
|
+
import { FromBooleanKey } from './from-key-boolean.mjs';
|
|
19
|
+
import { FromEnumKey } from './from-key-enum.mjs';
|
|
20
|
+
import { FromIntegerKey } from './from-key-integer.mjs';
|
|
21
|
+
import { FromIntersectKey } from './from-key-intersect.mjs';
|
|
22
|
+
import { FromLiteralKey } from './from-key-literal.mjs';
|
|
23
|
+
import { FromNumberKey } from './from-key-number.mjs';
|
|
24
|
+
import { FromStringKey } from './from-key-string.mjs';
|
|
25
|
+
import { FromTemplateKey } from './from-key-template-literal.mjs';
|
|
26
|
+
import { FromUnionKey } from './from-key-union.mjs';
|
|
27
|
+
export function FromKey(key, value) {
|
|
28
|
+
const result = (IsAny(key) ? FromAnyKey(value) :
|
|
29
|
+
IsBoolean(key) ? FromBooleanKey(value) :
|
|
30
|
+
IsEnum(key) ? FromEnumKey(key.enum, value) :
|
|
31
|
+
IsInteger(key) ? FromIntegerKey(key, value) :
|
|
32
|
+
IsIntersect(key) ? FromIntersectKey(key.allOf, value) :
|
|
33
|
+
IsLiteral(key) ? FromLiteralKey(key.const, value) :
|
|
34
|
+
IsNumber(key) ? FromNumberKey(key, value) :
|
|
35
|
+
IsUnion(key) ? FromUnionKey(key.anyOf, value) :
|
|
36
|
+
IsString(key) ? FromStringKey(key, value) :
|
|
37
|
+
IsTemplateLiteral(key) ? FromTemplateKey(key.pattern, value) :
|
|
38
|
+
Object({}));
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './instantiate.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './instantiate.mjs';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
|
|
2
|
+
import { type TProperties } from '../../types/properties.mjs';
|
|
3
|
+
import { type TRecordDeferred } from '../../types/record.mjs';
|
|
4
|
+
import { type TFromKey } from './from-key.mjs';
|
|
5
|
+
import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
|
|
6
|
+
type TRecordImmediate<Context extends TProperties, State extends TState, Key extends TSchema, Value extends TSchema, InstantatedKey extends TSchema = TInstantiateType<Context, State, Key>, InstantiatedValue extends TSchema = TInstantiateType<Context, State, Value>, Result extends TSchema = TFromKey<InstantatedKey, InstantiatedValue>> = Result;
|
|
7
|
+
export type TRecordInstantiate<Context extends TProperties, State extends TState, Key extends TSchema, Value extends TSchema> = TCanInstantiate<Context, [Key]> extends true ? TRecordImmediate<Context, State, Key, Value> : TRecordDeferred<Key, Value>;
|
|
8
|
+
export declare function RecordInstantiate<Context extends TProperties, State extends TState, Key extends TSchema, Value extends TSchema>(context: Context, state: State, key: Key, value: Value, options: TSchemaOptions): TRecordInstantiate<Context, State, Key, Value>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
// deno-lint-ignore-file
|
|
3
|
+
import { Memory } from '../../../system/memory/index.mjs';
|
|
4
|
+
import { RecordDeferred } from '../../types/record.mjs';
|
|
5
|
+
import { FromKey } from './from-key.mjs';
|
|
6
|
+
import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
|
|
7
|
+
function RecordImmediate(context, state, key, value, options) {
|
|
8
|
+
const instanstiatedKey = InstantiateType(context, state, key);
|
|
9
|
+
const instantiatedValue = InstantiateType(context, state, value);
|
|
10
|
+
return Memory.Update(FromKey(instanstiatedKey, instantiatedValue), {}, options);
|
|
11
|
+
}
|
|
12
|
+
export function RecordInstantiate(context, state, key, value, options) {
|
|
13
|
+
return (CanInstantiate(context, [key])
|
|
14
|
+
? RecordImmediate(context, state, key, value, options)
|
|
15
|
+
: RecordDeferred(key, value, options));
|
|
16
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Memory } from '../../../system/memory/index.mjs';
|
|
3
|
+
export function CreateRecord(key, value) {
|
|
4
|
+
const type = 'object';
|
|
5
|
+
const patternProperties = { [key]: value };
|
|
6
|
+
return Memory.Create({ ['~kind']: 'Record' }, { type, patternProperties });
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './instantiate.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './instantiate.mjs';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TProperties } from '../../types/properties.mjs';
|
|
2
|
+
import { type TState, type TInstantiateType } from '../instantiate.mjs';
|
|
3
|
+
import { type TCyclicCheck } from '../cyclic/check.mjs';
|
|
4
|
+
import { type TRef } from '../../types/ref.mjs';
|
|
5
|
+
export type TRefInstantiate<Context extends TProperties, State extends TState, Type extends TRef, Ref extends string> = (Ref extends keyof Context ? TCyclicCheck<[Ref], Context, Context[Ref]> extends true ? Type : TInstantiateType<Context, State, Context[Ref]> : Type);
|
|
6
|
+
export declare function RefInstantiate<Context extends TProperties, State extends TState, Type extends TRef, Ref extends string>(context: Context, state: State, type: Type, ref: Ref): TRefInstantiate<Context, State, Type, Ref>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { InstantiateType } from '../instantiate.mjs';
|
|
3
|
+
import { CyclicCheck } from '../cyclic/check.mjs';
|
|
4
|
+
export function RefInstantiate(context, state, type, ref) {
|
|
5
|
+
return (ref in context
|
|
6
|
+
? CyclicCheck([ref], context, context[ref])
|
|
7
|
+
? type
|
|
8
|
+
: InstantiateType(context, state, context[ref])
|
|
9
|
+
: type);
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Memory } from '../../../system/memory/index.mjs';
|
|
2
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
3
|
+
import { type TCyclic } from '../../types/cyclic.mjs';
|
|
4
|
+
import { type TProperties } from '../../types/properties.mjs';
|
|
5
|
+
import { type TFromType } from './from-type.mjs';
|
|
6
|
+
import { type TCyclicTarget } from '../cyclic/target.mjs';
|
|
7
|
+
export type TFromCyclic<Defs extends TProperties, Ref extends string, Target extends TSchema = TCyclicTarget<Defs, Ref>, Partial extends TSchema = TFromType<Target>, Result extends TSchema = TCyclic<Memory.TAssign<Defs, {
|
|
8
|
+
[_ in Ref]: Partial;
|
|
9
|
+
}>, Ref>> = Result;
|
|
10
|
+
export declare function FromCyclic<Defs extends TProperties, Ref extends string>(defs: Defs, ref: Ref): TFromCyclic<Defs, Ref>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Memory } from '../../../system/memory/index.mjs';
|
|
3
|
+
import { Cyclic } from '../../types/cyclic.mjs';
|
|
4
|
+
import { FromType } from './from-type.mjs';
|
|
5
|
+
import { CyclicTarget } from '../cyclic/target.mjs';
|
|
6
|
+
export function FromCyclic(defs, ref) {
|
|
7
|
+
const target = CyclicTarget(defs, ref);
|
|
8
|
+
const partial = FromType(target);
|
|
9
|
+
const result = Cyclic(Memory.Assign(defs, { [ref]: partial }), ref);
|
|
10
|
+
return result;
|
|
11
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TFromType } from './from-type.mjs';
|
|
3
|
+
import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
|
|
4
|
+
export type TFromIntersect<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromIntersect<Right, [...Result, TFromType<Left>]> : TEvaluateIntersect<Result>);
|
|
5
|
+
export declare function FromIntersect<Types extends TSchema[]>(types: [...Types]): TFromIntersect<Types>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TObject } from '../../types/object.mjs';
|
|
3
|
+
import { type TOptionalRemove } from '../../types/_optional.mjs';
|
|
4
|
+
import { type TProperties } from '../../types/properties.mjs';
|
|
5
|
+
export type TFromObject<Properties extends TProperties, Mapped extends TProperties = {
|
|
6
|
+
[Key in keyof Properties]: TOptionalRemove<Properties[Key]>;
|
|
7
|
+
}, Result extends TSchema = TObject<Mapped>> = Result;
|
|
8
|
+
export declare function FromObject<Properties extends TProperties>(properties: Properties): TFromObject<Properties>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Guard } from '../../../guard/index.mjs';
|
|
3
|
+
import { Object } from '../../types/object.mjs';
|
|
4
|
+
import { OptionalRemove } from '../../types/_optional.mjs';
|
|
5
|
+
export function FromObject(properties) {
|
|
6
|
+
const mapped = Guard.Keys(properties).reduce((result, left) => {
|
|
7
|
+
return { ...result, [left]: OptionalRemove(properties[left]) };
|
|
8
|
+
}, {});
|
|
9
|
+
const result = Object(mapped);
|
|
10
|
+
return result;
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TCyclic } from '../../types/cyclic.mjs';
|
|
3
|
+
import { type TIntersect } from '../../types/intersect.mjs';
|
|
4
|
+
import { type TObject } from '../../types/object.mjs';
|
|
5
|
+
import { type TProperties } from '../../types/properties.mjs';
|
|
6
|
+
import { type TUnion } from '../../types/union.mjs';
|
|
7
|
+
import { type TFromCyclic } from './from-cyclic.mjs';
|
|
8
|
+
import { type TFromIntersect } from './from-intersect.mjs';
|
|
9
|
+
import { type TFromUnion } from './from-union.mjs';
|
|
10
|
+
import { type TFromObject } from './from-object.mjs';
|
|
11
|
+
export type TFromType<Type extends TSchema> = (Type extends TCyclic<infer Defs extends TProperties, infer Ref extends string> ? TFromCyclic<Defs, Ref> : Type extends TIntersect<infer Types extends TSchema[]> ? TFromIntersect<Types> : Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Types> : Type extends TObject<infer Properties extends TProperties> ? TFromObject<Properties> : TObject<{}>);
|
|
12
|
+
export declare function FromType<Type extends TSchema>(type: Type): TFromType<Type>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { IsCyclic } from '../../types/cyclic.mjs';
|
|
3
|
+
import { IsIntersect } from '../../types/intersect.mjs';
|
|
4
|
+
import { Object, IsObject } from '../../types/object.mjs';
|
|
5
|
+
import { IsUnion } from '../../types/union.mjs';
|
|
6
|
+
import { FromCyclic } from './from-cyclic.mjs';
|
|
7
|
+
import { FromIntersect } from './from-intersect.mjs';
|
|
8
|
+
import { FromUnion } from './from-union.mjs';
|
|
9
|
+
import { FromObject } from './from-object.mjs';
|
|
10
|
+
export function FromType(type) {
|
|
11
|
+
return (IsCyclic(type) ? FromCyclic(type.$defs, type.$ref) :
|
|
12
|
+
IsIntersect(type) ? FromIntersect(type.allOf) :
|
|
13
|
+
IsUnion(type) ? FromUnion(type.anyOf) :
|
|
14
|
+
IsObject(type) ? FromObject(type.properties) :
|
|
15
|
+
Object({}));
|
|
16
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TUnion } from '../../types/union.mjs';
|
|
3
|
+
import { type TFromType } from './from-type.mjs';
|
|
4
|
+
export type TFromUnion<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromUnion<Right, [...Result, TFromType<Left>]> : TUnion<Result>);
|
|
5
|
+
export declare function FromUnion<Types extends TSchema[]>(types: [...Types]): TFromUnion<Types>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './instantiate.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './instantiate.mjs';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
|
|
2
|
+
import { type TProperties } from '../../types/properties.mjs';
|
|
3
|
+
import { type TFromType } from './from-type.mjs';
|
|
4
|
+
import { type TRequiredDeferred } from '../../action/required.mjs';
|
|
5
|
+
import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
|
|
6
|
+
type TRequiredImmediate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>> = TFromType<InstantiatedType>;
|
|
7
|
+
export type TRequiredInstantiate<Context extends TProperties, State extends TState, Type extends TSchema> = TCanInstantiate<Context, [Type]> extends true ? TRequiredImmediate<Context, State, Type> : TRequiredDeferred<Type>;
|
|
8
|
+
export declare function RequiredInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TRequiredInstantiate<Context, State, Type>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Memory } from '../../../system/memory/index.mjs';
|
|
3
|
+
import { FromType } from './from-type.mjs';
|
|
4
|
+
import { RequiredDeferred } from '../../action/required.mjs';
|
|
5
|
+
import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
|
|
6
|
+
function RequiredImmediate(context, state, type, options) {
|
|
7
|
+
const instaniatedType = InstantiateType(context, state, type);
|
|
8
|
+
return Memory.Update(FromType(instaniatedType), {}, options);
|
|
9
|
+
}
|
|
10
|
+
export function RequiredInstantiate(context, state, type, options) {
|
|
11
|
+
return (CanInstantiate(context, [type])
|
|
12
|
+
? RequiredImmediate(context, state, type, options)
|
|
13
|
+
: RequiredDeferred(type, options));
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './spread.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './spread.mjs';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TInfer } from '../../types/infer.mjs';
|
|
3
|
+
import { type TNever } from '../../types/never.mjs';
|
|
4
|
+
import { type TRest } from '../../types/rest.mjs';
|
|
5
|
+
import { type TRef } from '../../types/ref.mjs';
|
|
6
|
+
import { type TTuple } from '../../types/tuple.mjs';
|
|
7
|
+
type TSpreadElement<Type extends TSchema, Result extends TSchema[] = (Type extends TRest<infer Rest extends TSchema> ? (Rest extends TTuple<infer Elements extends TSchema[]> ? TRestSpread<Elements> : Rest extends TInfer<string, TSchema> ? [Type] : Rest extends TRef<string> ? [Type] : [
|
|
8
|
+
TNever
|
|
9
|
+
]) : [Type])> = Result;
|
|
10
|
+
export type TRestSpread<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TRestSpread<Right, [...Result, ...TSpreadElement<Left>]> : Result);
|
|
11
|
+
export declare function RestSpread<Types extends TSchema[]>(types: [...Types]): TRestSpread<Types>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { IsInfer } from '../../types/infer.mjs';
|
|
3
|
+
import { Never } from '../../types/never.mjs';
|
|
4
|
+
import { IsRest } from '../../types/rest.mjs';
|
|
5
|
+
import { IsRef } from '../../types/ref.mjs';
|
|
6
|
+
import { IsTuple } from '../../types/tuple.mjs';
|
|
7
|
+
function SpreadElement(type) {
|
|
8
|
+
const result = (IsRest(type) ? (IsTuple(type.items) ? RestSpread(type.items.items) :
|
|
9
|
+
IsInfer(type.items) ? [type] :
|
|
10
|
+
IsRef(type.items) ? [type] :
|
|
11
|
+
[Never()]) : [type]);
|
|
12
|
+
return result;
|
|
13
|
+
}
|
|
14
|
+
export function RestSpread(types) {
|
|
15
|
+
const result = types.reduce((result, left) => {
|
|
16
|
+
return [...result, ...SpreadElement(left)];
|
|
17
|
+
}, []);
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './instantiate.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './instantiate.mjs';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
|
|
2
|
+
import { type TProperties } from '../../types/properties.mjs';
|
|
3
|
+
import { type TFunction } from '../../types/function.mjs';
|
|
4
|
+
import { type TNever } from '../../types/never.mjs';
|
|
5
|
+
import { type TReturnTypeDeferred } from '../../action/return-type.mjs';
|
|
6
|
+
import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
|
|
7
|
+
type TReturnTypeAction<Type extends TSchema> = Type extends TFunction<TSchema[], infer ReturnType extends TSchema> ? ReturnType : TNever;
|
|
8
|
+
type TReturnTypeImmediate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>> = TReturnTypeAction<InstantiatedType>;
|
|
9
|
+
export type TReturnTypeInstantiate<Context extends TProperties, State extends TState, Type extends TSchema> = TCanInstantiate<Context, [Type]> extends true ? TReturnTypeImmediate<Context, State, Type> : TReturnTypeDeferred<Type>;
|
|
10
|
+
export declare function ReturnTypeInstantiate<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type, options: TSchemaOptions): TReturnTypeInstantiate<Context, State, Type>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Memory } from '../../../system/memory/index.mjs';
|
|
3
|
+
import { IsFunction } from '../../types/function.mjs';
|
|
4
|
+
import { Never } from '../../types/never.mjs';
|
|
5
|
+
import { ReturnTypeDeferred } from '../../action/return-type.mjs';
|
|
6
|
+
import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
|
|
7
|
+
function ReturnTypeAction(type) {
|
|
8
|
+
return (IsFunction(type) ? type.returnType : Never());
|
|
9
|
+
}
|
|
10
|
+
function ReturnTypeImmediate(context, state, type, options) {
|
|
11
|
+
const instantiatedType = InstantiateType(context, state, type);
|
|
12
|
+
return Memory.Update(ReturnTypeAction(instantiatedType), {}, options);
|
|
13
|
+
}
|
|
14
|
+
export function ReturnTypeInstantiate(context, state, type, options) {
|
|
15
|
+
return (CanInstantiate(context, [type])
|
|
16
|
+
? ReturnTypeImmediate(context, state, type, options)
|
|
17
|
+
: ReturnTypeDeferred(type, options));
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function TemplateLiteralCreate<Pattern extends string>(pattern: Pattern): never;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { TUnreachable } from '../../../system/unreachable/index.mjs';
|
|
2
|
+
import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
|
|
3
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
4
|
+
import { type TString } from '../../types/string.mjs';
|
|
5
|
+
import { type TTemplateLiteral } from '../../types/template-literal.mjs';
|
|
6
|
+
import { type TUnion } from '../../types/union.mjs';
|
|
7
|
+
import { type TParsePatternIntoTypes } from '../patterns/pattern.mjs';
|
|
8
|
+
import { type TIsTemplateLiteralFinite } from './is-finite.mjs';
|
|
9
|
+
type TFromLiteralPush<Variants extends string[], Value extends TLiteralValue, Result extends string[] = []> = Variants extends [infer Left extends string, ...infer Right extends string[]] ? TFromLiteralPush<Right, Value, [...Result, `${Left}${Value}`]> : Result;
|
|
10
|
+
type TFromLiteral<Variants extends string[], Value extends TLiteralValue> = Variants extends [] ? [`${Value}`] : TFromLiteralPush<Variants, Value>;
|
|
11
|
+
type TFromUnion<Variants extends string[], Types extends TSchema[], Result extends string[] = []> = Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromUnion<Variants, Right, [...Result, ...TFromType<Variants, Left>]> : Result;
|
|
12
|
+
type TFromType<Variants extends string[], Type extends TSchema, Result extends string[] = (Type extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Variants, Types> : Type extends TLiteral<infer Value extends TLiteralValue> ? TFromLiteral<Variants, Value> : TUnreachable)> = Result;
|
|
13
|
+
type TDecodeFromSpan<Variants extends string[], Types extends TSchema[]> = Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TDecodeFromSpan<TFromType<Variants, Left>, Right> : Variants;
|
|
14
|
+
type TVariantsToLiterals<Variants extends string[], Result extends TSchema[] = []> = Variants extends [infer Left extends string, ...infer Right extends string[]] ? TVariantsToLiterals<Right, [...Result, TLiteral<Left>]> : Result;
|
|
15
|
+
type TDecodeTypesAsUnion<Types extends TSchema[], Variants extends string[] = TDecodeFromSpan<[], Types>, Literals extends TSchema[] = TVariantsToLiterals<Variants>, Result extends TSchema = TUnion<Literals>> = Result;
|
|
16
|
+
type TDecodeTypes<Types extends TSchema[], Result extends TSchema = (Types extends [] ? TUnreachable : Types extends [infer Type extends TLiteral] ? Type : TDecodeTypesAsUnion<Types>)> = Result;
|
|
17
|
+
/** Decodes a TemplateLiteral into a Type. */
|
|
18
|
+
export type TTemplateLiteralDecodeUnsafe<Pattern extends string, Types extends TSchema[] = TParsePatternIntoTypes<Pattern>, Result extends TSchema = (Types extends [] ? TString : TIsTemplateLiteralFinite<Types> extends true ? TDecodeTypes<Types> : TTemplateLiteral<Pattern>)> = Result;
|
|
19
|
+
/**
|
|
20
|
+
* (Internal) Decodes a TemplateLiteral pattern into a Type. This function is unsafe. Decoding a non-finite
|
|
21
|
+
* TemplateLiteral pattern may produce another TemplateLiteral pattern. During enumeration, this
|
|
22
|
+
* TemplateLiteral -> TemplateLiteral behavior can cause a StackOverflow. A better in-flight template-literal
|
|
23
|
+
* decoding algorithm is needed. (for review)
|
|
24
|
+
*/
|
|
25
|
+
export declare function TemplateLiteralDecodeUnsafe<Pattern extends string>(pattern: Pattern): TTemplateLiteralDecodeUnsafe<Pattern>;
|
|
26
|
+
/** Decodes a TemplateLiteral pattern but returns TString if the pattern in non-finite. */
|
|
27
|
+
export type TTemplateLiteralDecode<Pattern extends string, Decoded extends TSchema = TTemplateLiteralDecodeUnsafe<Pattern>, Result extends TSchema = Decoded extends TTemplateLiteral ? TString : Decoded> = Result;
|
|
28
|
+
/** Decodes a TemplateLiteral pattern but returns TString if the pattern in non-finite. */
|
|
29
|
+
export declare function TemplateLiteralDecode<Pattern extends string>(pattern: Pattern): TTemplateLiteralDecode<Pattern>;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Unreachable } from '../../../system/unreachable/index.mjs';
|
|
3
|
+
import { Guard } from '../../../guard/index.mjs';
|
|
4
|
+
import { Literal, IsLiteral } from '../../types/literal.mjs';
|
|
5
|
+
import { IsSchema } from '../../types/schema.mjs';
|
|
6
|
+
import { String } from '../../types/string.mjs';
|
|
7
|
+
import { IsTemplateLiteral } from '../../types/template-literal.mjs';
|
|
8
|
+
import { Union, IsUnion } from '../../types/union.mjs';
|
|
9
|
+
import { ParsePatternIntoTypes } from '../patterns/pattern.mjs';
|
|
10
|
+
import { IsTemplateLiteralFinite } from './is-finite.mjs';
|
|
11
|
+
import { TemplateLiteralCreate } from './create.mjs';
|
|
12
|
+
function FromLiteralPush(variants, value, result = []) {
|
|
13
|
+
const [left, ...right] = variants;
|
|
14
|
+
return (Guard.IsString(left) ? FromLiteralPush(right, value, [...result, `${left}${value}`]) : result);
|
|
15
|
+
}
|
|
16
|
+
function FromLiteral(variants, value) {
|
|
17
|
+
return (Guard.IsEqual(variants.length, 0) ? [`${value}`] : FromLiteralPush(variants, value));
|
|
18
|
+
}
|
|
19
|
+
function FromUnion(variants, types, result = []) {
|
|
20
|
+
const [left, ...right] = types;
|
|
21
|
+
return (IsSchema(left)
|
|
22
|
+
? FromUnion(variants, right, [...result, ...FromType(variants, left)])
|
|
23
|
+
: result);
|
|
24
|
+
}
|
|
25
|
+
// ------------------------------------------------------------------
|
|
26
|
+
// deno-coverage-ignore-start - symmetric unreachable | internal
|
|
27
|
+
//
|
|
28
|
+
// Parsed TemplateLiteral patterns only yield Literal or Union but
|
|
29
|
+
// we keep the fall-through to assert that no other types can reach
|
|
30
|
+
// here without error.
|
|
31
|
+
//
|
|
32
|
+
// ------------------------------------------------------------------
|
|
33
|
+
function FromType(variants, type) {
|
|
34
|
+
const result = (IsUnion(type) ? FromUnion(variants, type.anyOf) :
|
|
35
|
+
IsLiteral(type) ? FromLiteral(variants, type.const) :
|
|
36
|
+
Unreachable() // []
|
|
37
|
+
);
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
function DecodeFromSpan(variants, types) {
|
|
41
|
+
const [left, ...right] = types;
|
|
42
|
+
return (IsSchema(left) ? DecodeFromSpan(FromType(variants, left), right) : variants);
|
|
43
|
+
}
|
|
44
|
+
function VariantsToLiterals(variants) {
|
|
45
|
+
return variants.map(variant => Literal(variant));
|
|
46
|
+
}
|
|
47
|
+
function DecodeTypesAsUnion(types) {
|
|
48
|
+
const variants = DecodeFromSpan([], types);
|
|
49
|
+
const literals = VariantsToLiterals(variants);
|
|
50
|
+
const result = Union(literals);
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
// ------------------------------------------------------------------
|
|
54
|
+
// deno-coverage-ignore-start - internal
|
|
55
|
+
//
|
|
56
|
+
// Cannot invoke the 0-length condition as the TemplateLiteral
|
|
57
|
+
// parsers always return at least 1 TLiteral or TUnion. We would
|
|
58
|
+
// return a empty string TLiteral for this case, but will use
|
|
59
|
+
// Unreachable to catch parse inputs that trigger 0-length.
|
|
60
|
+
//
|
|
61
|
+
// ------------------------------------------------------------------
|
|
62
|
+
function DecodeTypes(types) {
|
|
63
|
+
return (Guard.IsEqual(types.length, 0) ? Unreachable() : // Literal('') :
|
|
64
|
+
Guard.IsEqual(types.length, 1) && IsLiteral(types[0]) ? types[0] :
|
|
65
|
+
DecodeTypesAsUnion(types));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* (Internal) Decodes a TemplateLiteral pattern into a Type. This function is unsafe. Decoding a non-finite
|
|
69
|
+
* TemplateLiteral pattern may produce another TemplateLiteral pattern. During enumeration, this
|
|
70
|
+
* TemplateLiteral -> TemplateLiteral behavior can cause a StackOverflow. A better in-flight template-literal
|
|
71
|
+
* decoding algorithm is needed. (for review)
|
|
72
|
+
*/
|
|
73
|
+
export function TemplateLiteralDecodeUnsafe(pattern) {
|
|
74
|
+
const types = ParsePatternIntoTypes(pattern);
|
|
75
|
+
const result = Guard.IsEqual(types.length, 0) // Failed to Parse | IsTemplateLiteralPattern
|
|
76
|
+
? String() // ... Pattern cannot be typed, so discard
|
|
77
|
+
: IsTemplateLiteralFinite(types)
|
|
78
|
+
? DecodeTypes(types)
|
|
79
|
+
: TemplateLiteralCreate(pattern);
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
/** Decodes a TemplateLiteral pattern but returns TString if the pattern in non-finite. */
|
|
83
|
+
export function TemplateLiteralDecode(pattern) {
|
|
84
|
+
const decoded = TemplateLiteralDecodeUnsafe(pattern);
|
|
85
|
+
const result = IsTemplateLiteral(decoded) ? String() : decoded;
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
|
|
3
|
+
import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
|
|
4
|
+
import { type TUnion } from '../../types/union.mjs';
|
|
5
|
+
import { type TTemplateLiteral } from '../../types/template-literal.mjs';
|
|
6
|
+
import { type TBigInt, BigIntPattern } from '../../types/bigint.mjs';
|
|
7
|
+
import { type TString, StringPattern } from '../../types/string.mjs';
|
|
8
|
+
import { type TNumber, NumberPattern } from '../../types/number.mjs';
|
|
9
|
+
import { type TInteger, IntegerPattern } from '../../types/integer.mjs';
|
|
10
|
+
import { type TBoolean } from '../../types/boolean.mjs';
|
|
11
|
+
import { NeverPattern } from '../../types/never.mjs';
|
|
12
|
+
import { type TEnumValuesToVariants } from '../enum/enum-to-union.mjs';
|
|
13
|
+
type TJoinString<Input extends string[], Result extends string = ''> = (Input extends [infer Left extends string, ...infer Right extends string[]] ? Result extends '' ? TJoinString<Right, Left> : TJoinString<Right, `${Result}|${Left}`> : Result);
|
|
14
|
+
type TUnwrapTemplateLiteralPattern<Pattern extends string> = (Pattern extends `^${infer Pattern extends string}$` ? Pattern : never);
|
|
15
|
+
type TEncodeLiteral<Value extends TLiteralValue, Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${Value}`>);
|
|
16
|
+
type TEncodeBigInt<Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${typeof BigIntPattern}`>);
|
|
17
|
+
type TEncodeInteger<Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${typeof IntegerPattern}`>);
|
|
18
|
+
type TEncodeNumber<Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${typeof NumberPattern}`>);
|
|
19
|
+
type TEncodeBoolean<Right extends TSchema[], Pattern extends string> = (TEncodeType<TUnion<[TLiteral<'false'>, TLiteral<'true'>]>, Right, Pattern>);
|
|
20
|
+
type TEncodeString<Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${typeof StringPattern}`>);
|
|
21
|
+
type TEncodeTemplateLiteral<TemplatePattern extends string, Right extends TSchema[], Pattern extends string> = (TEncodeTypes<Right, `${Pattern}${TUnwrapTemplateLiteralPattern<TemplatePattern>}`>);
|
|
22
|
+
type TEncodeEnum<Types extends TEnumValue[], Right extends TSchema[], Pattern extends string, Variants extends TSchema[] = TEnumValuesToVariants<Types>> = TEncodeUnion<Variants, Right, Pattern>;
|
|
23
|
+
type TEncodeUnion<Types extends TSchema[], Right extends TSchema[], Pattern extends string, Result extends string[] = []> = Types extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TEncodeUnion<Tail, Right, Pattern, [...Result, TEncodeType<Head, [], ''>]> : TEncodeTypes<Right, `${Pattern}(${TJoinString<Result>})`>;
|
|
24
|
+
type TEncodeType<Type extends TSchema, Right extends TSchema[], Pattern extends string> = (Type extends TEnum<infer Values extends TEnumValue[]> ? TEncodeEnum<Values, Right, Pattern> : Type extends TInteger ? TEncodeInteger<Right, Pattern> : Type extends TLiteral<infer Value extends TLiteralValue> ? TEncodeLiteral<Value, Right, Pattern> : Type extends TBigInt ? TEncodeBigInt<Right, Pattern> : Type extends TBoolean ? TEncodeBoolean<Right, Pattern> : Type extends TNumber ? TEncodeNumber<Right, Pattern> : Type extends TString ? TEncodeString<Right, Pattern> : Type extends TTemplateLiteral<infer TemplatePattern extends string> ? TEncodeTemplateLiteral<TemplatePattern, Right, Pattern> : Type extends TUnion<infer Types extends TSchema[]> ? TEncodeUnion<Types, Right, Pattern> : typeof NeverPattern);
|
|
25
|
+
type TEncodeTypes<Types extends TSchema[], Pattern extends string> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TEncodeType<Left, Right, Pattern> : Pattern);
|
|
26
|
+
type TEncodePattern<Types extends TSchema[], Encoded extends string = TEncodeTypes<Types, ''>, Result extends string = `^${Encoded}$`> = Result;
|
|
27
|
+
/** Encodes a TemplateLiteral type sequence into a TemplateLiteral */
|
|
28
|
+
export type TTemplateLiteralEncode<Types extends TSchema[], Pattern extends string = TEncodePattern<Types>, Result extends TSchema = TTemplateLiteral<Pattern>> = Result;
|
|
29
|
+
/** Encodes a TemplateLiteral type sequence into a TemplateLiteral */
|
|
30
|
+
export declare function TemplateLiteralEncode<Types extends TSchema[]>(types: [...Types]): TTemplateLiteralEncode<Types>;
|
|
31
|
+
export {};
|