typebox 0.0.1 → 1.0.0-rc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/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 +12 -0
- package/build/compile/index.mjs +13 -0
- package/build/compile/validator.d.mts +30 -0
- package/build/compile/validator.mjs +83 -0
- package/build/error/errors.d.mts +213 -0
- package/build/error/errors.mjs +1 -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 +56 -0
- package/build/guard/emit.mjs +183 -0
- package/build/guard/globals.d.mts +35 -0
- package/build/guard/globals.mjs +90 -0
- package/build/guard/guard.d.mts +57 -0
- package/build/guard/guard.mjs +180 -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/index.d.mts +8 -0
- package/build/index.mjs +14 -0
- package/build/schema/build.d.mts +35 -0
- package/build/schema/build.mjs +97 -0
- package/build/schema/check.d.mts +5 -0
- package/build/schema/check.mjs +12 -0
- package/build/schema/deref/deref.d.mts +4 -0
- package/build/schema/deref/deref.mjs +77 -0
- package/build/schema/deref/index.d.mts +1 -0
- package/build/schema/deref/index.mjs +1 -0
- package/build/schema/engine/_context.d.mts +42 -0
- package/build/schema/engine/_context.mjs +121 -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 +5 -0
- package/build/schema/engine/_functions.mjs +46 -0
- package/build/schema/engine/_reducer.d.mts +3 -0
- package/build/schema/engine/_reducer.mjs +45 -0
- package/build/schema/engine/_refine.d.mts +5 -0
- package/build/schema/engine/_refine.mjs +29 -0
- package/build/schema/engine/_standard.d.mts +5 -0
- package/build/schema/engine/_standard.mjs +27 -0
- package/build/schema/engine/additionalItems.d.mts +5 -0
- package/build/schema/engine/additionalItems.mjs +48 -0
- package/build/schema/engine/additionalProperties.d.mts +8 -0
- package/build/schema/engine/additionalProperties.mjs +103 -0
- package/build/schema/engine/allOf.d.mts +5 -0
- package/build/schema/engine/allOf.mjs +47 -0
- package/build/schema/engine/anyOf.d.mts +5 -0
- package/build/schema/engine/anyOf.mjs +52 -0
- package/build/schema/engine/boolean.d.mts +4 -0
- package/build/schema/engine/boolean.mjs +25 -0
- package/build/schema/engine/const.d.mts +5 -0
- package/build/schema/engine/const.mjs +30 -0
- package/build/schema/engine/contains.d.mts +5 -0
- package/build/schema/engine/contains.mjs +40 -0
- package/build/schema/engine/dependencies.d.mts +5 -0
- package/build/schema/engine/dependencies.mjs +45 -0
- package/build/schema/engine/dependentRequired.d.mts +5 -0
- package/build/schema/engine/dependentRequired.mjs +40 -0
- package/build/schema/engine/dependentSchemas.d.mts +5 -0
- package/build/schema/engine/dependentSchemas.mjs +38 -0
- package/build/schema/engine/enum.d.mts +5 -0
- package/build/schema/engine/enum.mjs +33 -0
- package/build/schema/engine/exclusiveMaximum.d.mts +5 -0
- package/build/schema/engine/exclusiveMaximum.mjs +25 -0
- package/build/schema/engine/exclusiveMinimum.d.mts +5 -0
- package/build/schema/engine/exclusiveMinimum.mjs +25 -0
- package/build/schema/engine/format.d.mts +5 -0
- package/build/schema/engine/format.mjs +26 -0
- package/build/schema/engine/if.d.mts +5 -0
- package/build/schema/engine/if.mjs +47 -0
- package/build/schema/engine/index.d.mts +47 -0
- package/build/schema/engine/index.mjs +53 -0
- package/build/schema/engine/items.d.mts +5 -0
- package/build/schema/engine/items.mjs +65 -0
- package/build/schema/engine/maxContains.d.mts +5 -0
- package/build/schema/engine/maxContains.mjs +40 -0
- package/build/schema/engine/maxItems.d.mts +5 -0
- package/build/schema/engine/maxItems.mjs +25 -0
- package/build/schema/engine/maxLength.d.mts +5 -0
- package/build/schema/engine/maxLength.mjs +25 -0
- package/build/schema/engine/maxProperties.d.mts +5 -0
- package/build/schema/engine/maxProperties.mjs +25 -0
- package/build/schema/engine/maximum.d.mts +5 -0
- package/build/schema/engine/maximum.mjs +25 -0
- package/build/schema/engine/minContains.d.mts +5 -0
- package/build/schema/engine/minContains.mjs +39 -0
- package/build/schema/engine/minItems.d.mts +5 -0
- package/build/schema/engine/minItems.mjs +25 -0
- package/build/schema/engine/minLength.d.mts +5 -0
- package/build/schema/engine/minLength.mjs +25 -0
- package/build/schema/engine/minProperties.d.mts +5 -0
- package/build/schema/engine/minProperties.mjs +25 -0
- package/build/schema/engine/minimum.d.mts +5 -0
- package/build/schema/engine/minimum.mjs +25 -0
- package/build/schema/engine/multipleOf.d.mts +5 -0
- package/build/schema/engine/multipleOf.mjs +25 -0
- package/build/schema/engine/not.d.mts +5 -0
- package/build/schema/engine/not.mjs +36 -0
- package/build/schema/engine/oneOf.d.mts +5 -0
- package/build/schema/engine/oneOf.mjs +58 -0
- package/build/schema/engine/pattern.d.mts +5 -0
- package/build/schema/engine/pattern.mjs +28 -0
- package/build/schema/engine/patternProperties.d.mts +5 -0
- package/build/schema/engine/patternProperties.mjs +42 -0
- package/build/schema/engine/prefixItems.d.mts +5 -0
- package/build/schema/engine/prefixItems.mjs +35 -0
- package/build/schema/engine/properties.d.mts +5 -0
- package/build/schema/engine/properties.mjs +41 -0
- package/build/schema/engine/propertyNames.d.mts +5 -0
- package/build/schema/engine/propertyNames.mjs +37 -0
- package/build/schema/engine/ref.d.mts +5 -0
- package/build/schema/engine/ref.mjs +43 -0
- package/build/schema/engine/required.d.mts +5 -0
- package/build/schema/engine/required.mjs +32 -0
- package/build/schema/engine/schema.d.mts +5 -0
- package/build/schema/engine/schema.mjs +322 -0
- package/build/schema/engine/type.d.mts +5 -0
- package/build/schema/engine/type.mjs +74 -0
- package/build/schema/engine/unevaluatedItems.d.mts +5 -0
- package/build/schema/engine/unevaluatedItems.mjs +49 -0
- package/build/schema/engine/unevaluatedProperties.d.mts +5 -0
- package/build/schema/engine/unevaluatedProperties.mjs +49 -0
- package/build/schema/engine/uniqueItems.d.mts +5 -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 +16 -0
- package/build/schema/index.mjs +19 -0
- package/build/schema/schema.d.mts +5 -0
- package/build/schema/schema.mjs +5 -0
- package/build/schema/types/_refine.d.mts +13 -0
- package/build/schema/types/_refine.mjs +18 -0
- package/build/schema/types/_standard.d.mts +14 -0
- package/build/schema/types/_standard.mjs +19 -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/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/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 +51 -0
- package/build/schema/types/index.mjs +57 -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/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/static.d.mts +115 -0
- package/build/schema/types/static.mjs +2 -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 +23 -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 +37 -0
- package/build/system/settings/settings.mjs +28 -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 +26 -0
- package/build/type/action/index.mjs +26 -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/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 +7 -0
- package/build/type/engine/enum/typescript-enum-to-enum-values.mjs +6 -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 +26 -0
- package/build/type/engine/evaluate/distribute.mjs +53 -0
- package/build/type/engine/evaluate/evaluate.d.mts +11 -0
- package/build/type/engine/evaluate/evaluate.mjs +19 -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 +30 -0
- package/build/type/engine/index.mjs +36 -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 +162 -0
- package/build/type/engine/instantiate.mjs +165 -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-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 +25 -0
- package/build/type/engine/keyof/instantiate.mjs +42 -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 +14 -0
- package/build/type/engine/object/from-intersect.mjs +17 -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 +7 -0
- package/build/type/engine/patterns/pattern.mjs +13 -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/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 +11 -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 +20 -0
- package/build/type/engine/template-literal/decode.mjs +73 -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/finite.d.mts +12 -0
- package/build/type/engine/template-literal/finite.mjs +30 -0
- package/build/type/engine/template-literal/index.d.mts +5 -0
- package/build/type/engine/template-literal/index.mjs +5 -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/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 +7 -0
- package/build/type/extends/array.mjs +9 -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 +17 -0
- package/build/type/extends/literal.mjs +41 -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 +358 -0
- package/build/type/script/mapping.mjs +525 -0
- package/build/type/script/parser.d.mts +256 -0
- package/build/type/script/parser.mjs +132 -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 +73 -0
- package/build/type/script/token/internal/char.mjs +25 -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 +59 -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 +16 -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 +40 -0
- package/build/type/types/base.mjs +78 -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 +15 -0
- package/build/type/types/enum.mjs +17 -0
- package/build/type/types/function.d.mts +18 -0
- package/build/type/types/function.mjs +24 -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 +47 -0
- package/build/type/types/index.mjs +53 -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 +22 -0
- package/build/type/types/literal.mjs +41 -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 +17 -0
- package/build/type/types/object.mjs +27 -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 +44 -0
- package/build/type/types/record.mjs +61 -0
- package/build/type/types/ref.d.mts +13 -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 +47 -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 +24 -0
- package/build/type/types/template-literal.mjs +26 -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 +37 -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 +10 -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 +71 -0
- package/build/typebox.mjs +87 -0
- package/build/value/assert/assert.d.mts +8 -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 +25 -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 +60 -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 +19 -0
- package/build/value/codec/decode.mjs +48 -0
- package/build/value/codec/encode.d.mts +9 -0
- package/build/value/codec/encode.mjs +43 -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 +44 -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 +85 -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 +7 -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 +23 -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 +6 -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 +8 -0
- package/build/value/default/from-object.d.mts +2 -0
- package/build/value/default/from-object.mjs +30 -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 +20 -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/pointer/pointer.d.mts +17 -0
- package/build/value/pointer/pointer.mjs +137 -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-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 +7 -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 +59 -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/value.d.mts +16 -0
- package/build/value/value.mjs +16 -0
- package/license +23 -0
- package/package.json +75 -7
- package/readme.md +235 -0
- package/index.ts +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Unreachable } from '../../../system/unreachable/index.mjs';
|
|
3
|
+
import { IsArray } from '../../types/array.mjs';
|
|
4
|
+
import { IsAsyncIterator } from '../../types/async-iterator.mjs';
|
|
5
|
+
import { IsConstructor } from '../../types/constructor.mjs';
|
|
6
|
+
import { IsFunction } from '../../types/function.mjs';
|
|
7
|
+
import { IsIntersect } from '../../types/intersect.mjs';
|
|
8
|
+
import { IsIterator } from '../../types/iterator.mjs';
|
|
9
|
+
import { IsObject } from '../../types/object.mjs';
|
|
10
|
+
import { IsPromise } from '../../types/promise.mjs';
|
|
11
|
+
import { PropertyValues } from '../../types/properties.mjs';
|
|
12
|
+
import { IsRecord, RecordValue } from '../../types/record.mjs';
|
|
13
|
+
import { IsTuple } from '../../types/tuple.mjs';
|
|
14
|
+
import { IsUnion } from '../../types/union.mjs';
|
|
15
|
+
import { IsRef } from '../../types/ref.mjs';
|
|
16
|
+
import { IsInterfaceDeferred } from '../../action/interface.mjs';
|
|
17
|
+
function FromRef(context, ref, result) {
|
|
18
|
+
return (result.includes(ref)
|
|
19
|
+
? result
|
|
20
|
+
: ref in context
|
|
21
|
+
? FromType(context, context[ref], [...result, ref])
|
|
22
|
+
: Unreachable());
|
|
23
|
+
}
|
|
24
|
+
function FromProperties(context, properties, result) {
|
|
25
|
+
const types = PropertyValues(properties);
|
|
26
|
+
return FromTypes(context, types, result);
|
|
27
|
+
}
|
|
28
|
+
function FromTypes(context, types, result) {
|
|
29
|
+
return types.reduce((result, left) => {
|
|
30
|
+
return FromType(context, left, result);
|
|
31
|
+
}, result);
|
|
32
|
+
}
|
|
33
|
+
function FromType(context, type, result) {
|
|
34
|
+
return (IsRef(type) ? FromRef(context, type.$ref, result) :
|
|
35
|
+
IsArray(type) ? FromType(context, type.items, result) :
|
|
36
|
+
IsAsyncIterator(type) ? FromType(context, type.iteratorItems, result) :
|
|
37
|
+
IsConstructor(type) ? FromTypes(context, [...type.parameters, type.instanceType], result) :
|
|
38
|
+
IsFunction(type) ? FromTypes(context, [...type.parameters, type.returnType], result) :
|
|
39
|
+
IsInterfaceDeferred(type) ? FromProperties(context, type.parameters[1], result) :
|
|
40
|
+
IsIntersect(type) ? FromTypes(context, type.allOf, result) :
|
|
41
|
+
IsIterator(type) ? FromType(context, type.iteratorItems, result) :
|
|
42
|
+
IsObject(type) ? FromProperties(context, type.properties, result) :
|
|
43
|
+
IsPromise(type) ? FromType(context, type.item, result) :
|
|
44
|
+
IsUnion(type) ? FromTypes(context, type.anyOf, result) :
|
|
45
|
+
IsTuple(type) ? FromTypes(context, type.items, result) :
|
|
46
|
+
IsRecord(type) ? FromType(context, RecordValue(type), result) :
|
|
47
|
+
result);
|
|
48
|
+
}
|
|
49
|
+
/** Returns dependent cyclic keys for the given type. This function is used to dead-type-eliminate (DTE) for initializing TCyclic types. */
|
|
50
|
+
export function CyclicDependencies(context, key, type) {
|
|
51
|
+
const result = FromType(context, type, [key]);
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TAny } from '../../types/any.mjs';
|
|
3
|
+
import { type TArray } from '../../types/array.mjs';
|
|
4
|
+
import { type TAsyncIterator } from '../../types/async-iterator.mjs';
|
|
5
|
+
import { type TConstructor } from '../../types/constructor.mjs';
|
|
6
|
+
import { type TCyclic } from '../../types/cyclic.mjs';
|
|
7
|
+
import { type TFunction } from '../../types/function.mjs';
|
|
8
|
+
import { type TIntersect } from '../../types/intersect.mjs';
|
|
9
|
+
import { type TIterator } from '../../types/iterator.mjs';
|
|
10
|
+
import { type TObject } from '../../types/object.mjs';
|
|
11
|
+
import { type TPromise } from '../../types/promise.mjs';
|
|
12
|
+
import { type TProperties } from '../../types/properties.mjs';
|
|
13
|
+
import { type TRecord } from '../../types/record.mjs';
|
|
14
|
+
import { type TRef } from '../../types/ref.mjs';
|
|
15
|
+
import { type TTuple } from '../../types/tuple.mjs';
|
|
16
|
+
import { type TUnion } from '../../types/union.mjs';
|
|
17
|
+
import { type TUnknown } from '../../types/unknown.mjs';
|
|
18
|
+
type TFromRef<_Ref extends string> = (TAny);
|
|
19
|
+
type TFromProperties<Properties extends TProperties, Result extends TProperties = {
|
|
20
|
+
[Key in keyof Properties]: TFromType<Properties[Key]>;
|
|
21
|
+
}> = {
|
|
22
|
+
[Key in keyof Result]: Result[Key];
|
|
23
|
+
};
|
|
24
|
+
type TFromTypes<Types extends TSchema[], Result extends TSchema[] = []> = Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TFromTypes<Right, [...Result, TFromType<Left>]> : Result;
|
|
25
|
+
type TFromType<Type extends TSchema> = (Type extends TRef<infer Ref extends string> ? TFromRef<Ref> : Type extends TArray<infer Type extends TSchema> ? TArray<TFromType<Type>> : Type extends TAsyncIterator<infer Type extends TSchema> ? TAsyncIterator<TFromType<Type>> : Type extends TConstructor<infer Parameters extends TSchema[], infer InstanceType extends TSchema> ? TFunction<TFromTypes<Parameters>, TFromType<InstanceType>> : Type extends TFunction<infer Parameters extends TSchema[], infer ReturnType extends TSchema> ? TFunction<TFromTypes<Parameters>, TFromType<ReturnType>> : Type extends TIntersect<infer Types extends TSchema[]> ? TIntersect<TFromTypes<Types>> : Type extends TIterator<infer Type extends TSchema> ? TIterator<TFromType<Type>> : Type extends TObject<infer Properties extends TProperties> ? TObject<TFromProperties<Properties>> : Type extends TPromise<infer Type extends TSchema> ? TPromise<TFromType<Type>> : Type extends TRecord<infer Pattern extends string, infer Value extends TSchema> ? TRecord<Pattern, TFromType<Value>> : Type extends TUnion<infer Types extends TSchema[]> ? TUnion<TFromTypes<Types>> : Type extends TTuple<infer Types extends TSchema[]> ? TTuple<TFromTypes<Types>> : Type);
|
|
26
|
+
type TCyclicAnyFromParameters<Defs extends TProperties, Ref extends string> = (Ref extends keyof Defs ? TFromType<Defs[Ref]> : TUnknown);
|
|
27
|
+
/** Transforms TCyclic TRef's into TAny's. This function is used prior to TExtends checks to enable cyclics to be structurally checked and terminated (with TAny) at first point of recursion, what would otherwise be a recursive TRef.*/
|
|
28
|
+
export type TCyclicExtends<Type extends TCyclic, Result extends TSchema = TCyclicAnyFromParameters<Type['$defs'], Type['$ref']>> = Result;
|
|
29
|
+
/** Transforms TCyclic TRef's into TAny's. This function is used prior to TExtends checks to enable cyclics to be structurally checked and terminated (with TAny) at first point of recursion, what would otherwise be a recursive TRef.*/
|
|
30
|
+
export declare function CyclicExtends<Type extends TCyclic>(type: Type): TCyclicExtends<Type>;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Guard } from '../../../guard/index.mjs';
|
|
3
|
+
import { Any } from '../../types/any.mjs';
|
|
4
|
+
import { Array, IsArray, ArrayOptions } from '../../types/array.mjs';
|
|
5
|
+
import { AsyncIterator, IsAsyncIterator } from '../../types/async-iterator.mjs';
|
|
6
|
+
import { Constructor, IsConstructor } from '../../types/constructor.mjs';
|
|
7
|
+
import { Function, IsFunction } from '../../types/function.mjs';
|
|
8
|
+
import { Intersect, IsIntersect } from '../../types/intersect.mjs';
|
|
9
|
+
import { Iterator, IsIterator } from '../../types/iterator.mjs';
|
|
10
|
+
import { Object, IsObject } from '../../types/object.mjs';
|
|
11
|
+
import { Promise, IsPromise } from '../../types/promise.mjs';
|
|
12
|
+
import { IsRecord, Record, RecordKey, RecordValue } from '../../types/record.mjs';
|
|
13
|
+
import { IsRef } from '../../types/ref.mjs';
|
|
14
|
+
import { Tuple, IsTuple } from '../../types/tuple.mjs';
|
|
15
|
+
import { Union, IsUnion } from '../../types/union.mjs';
|
|
16
|
+
import { Unknown } from '../../types/unknown.mjs';
|
|
17
|
+
function FromRef(_ref) {
|
|
18
|
+
return Any();
|
|
19
|
+
}
|
|
20
|
+
function FromProperties(properties) {
|
|
21
|
+
return Guard.Keys(properties).reduce((result, key) => {
|
|
22
|
+
return { ...result, [key]: FromType(properties[key]) };
|
|
23
|
+
}, {});
|
|
24
|
+
}
|
|
25
|
+
function FromTypes(types) {
|
|
26
|
+
return types.reduce((result, left) => {
|
|
27
|
+
return [...result, FromType(left)];
|
|
28
|
+
}, []);
|
|
29
|
+
}
|
|
30
|
+
function FromType(type) {
|
|
31
|
+
return (IsRef(type) ? FromRef(type.$ref) :
|
|
32
|
+
IsArray(type) ? Array(FromType(type.items), ArrayOptions(type)) :
|
|
33
|
+
IsAsyncIterator(type) ? AsyncIterator(FromType(type.iteratorItems)) :
|
|
34
|
+
IsConstructor(type) ? Constructor(FromTypes(type.parameters), FromType(type.instanceType)) :
|
|
35
|
+
IsFunction(type) ? Function(FromTypes(type.parameters), FromType(type.returnType)) :
|
|
36
|
+
IsIntersect(type) ? Intersect(FromTypes(type.allOf)) :
|
|
37
|
+
IsIterator(type) ? Iterator(FromType(type.iteratorItems)) :
|
|
38
|
+
IsObject(type) ? Object(FromProperties(type.properties)) :
|
|
39
|
+
IsPromise(type) ? Promise(FromType(type.item)) :
|
|
40
|
+
IsRecord(type) ? Record(RecordKey(type), FromType(RecordValue(type))) :
|
|
41
|
+
IsUnion(type) ? Union(FromTypes(type.anyOf)) :
|
|
42
|
+
IsTuple(type) ? Tuple(FromTypes(type.items)) :
|
|
43
|
+
type);
|
|
44
|
+
}
|
|
45
|
+
function CyclicAnyFromParameters(defs, ref) {
|
|
46
|
+
return (ref in defs
|
|
47
|
+
? FromType(defs[ref])
|
|
48
|
+
: Unknown());
|
|
49
|
+
}
|
|
50
|
+
/** Transforms TCyclic TRef's into TAny's. This function is used prior to TExtends checks to enable cyclics to be structurally checked and terminated (with TAny) at first point of recursion, what would otherwise be a recursive TRef.*/
|
|
51
|
+
export function CyclicExtends(type) {
|
|
52
|
+
return CyclicAnyFromParameters(type.$defs, type.$ref);
|
|
53
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TProperties } from '../../types/properties.mjs';
|
|
3
|
+
import { type TCyclic } from '../../types/cyclic.mjs';
|
|
4
|
+
import { type TObject } from '../../types/object.mjs';
|
|
5
|
+
import { type TCyclicDependencies } from '../cyclic/dependencies.mjs';
|
|
6
|
+
import { type TInterfaceDeferred } from '../../action/index.mjs';
|
|
7
|
+
import { type TInstantiateProperties } from '../instantiate.mjs';
|
|
8
|
+
import { type TInstantiateTypes } from '../instantiate.mjs';
|
|
9
|
+
import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
|
|
10
|
+
type TCyclicInterface<Context extends TProperties, Heritage extends TSchema[], Properties extends TProperties, InstantiatedHeritage extends TSchema[] = TInstantiateTypes<Context, {
|
|
11
|
+
callstack: [];
|
|
12
|
+
}, Heritage>, instantiatedProperties extends TProperties = TInstantiateProperties<{}, {
|
|
13
|
+
callstack: [];
|
|
14
|
+
}, Properties>, EvaluatedInterface extends TSchema = TEvaluateIntersect<[...InstantiatedHeritage, TObject<instantiatedProperties>]>> = EvaluatedInterface;
|
|
15
|
+
type TCyclicDefinitions<Context extends TProperties, Dependencies extends string[], Result extends TProperties = {
|
|
16
|
+
[Key in Extract<keyof Context, Dependencies[number]>]: Context[Key] extends TInterfaceDeferred<infer Heritage extends TSchema[], infer Properties extends TProperties> ? TCyclicInterface<Context, Heritage, Properties> : Context[Key];
|
|
17
|
+
}> = Result;
|
|
18
|
+
export type TInstantiateCyclic<Context extends TProperties, Ref extends string, Type extends TSchema, Dependencies extends string[] = TCyclicDependencies<Context, Ref, Type>, Definitions extends TProperties = TCyclicDefinitions<Context, Dependencies>, Result extends TSchema = TCyclic<Definitions, Ref>> = Result;
|
|
19
|
+
export declare function InstantiateCyclic<Context extends TProperties, Ref extends string, Type extends TSchema>(context: Context, ref: Ref, type: Type): TInstantiateCyclic<Context, Ref, Type>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Guard } from '../../../guard/index.mjs';
|
|
3
|
+
import { Cyclic } from '../../types/cyclic.mjs';
|
|
4
|
+
import { Object } from '../../types/object.mjs';
|
|
5
|
+
import { CyclicDependencies } from '../cyclic/dependencies.mjs';
|
|
6
|
+
import { IsInterfaceDeferred } from '../../action/index.mjs';
|
|
7
|
+
import { InstantiateProperties } from '../instantiate.mjs';
|
|
8
|
+
import { InstantiateTypes } from '../instantiate.mjs';
|
|
9
|
+
import { EvaluateIntersect } from '../evaluate/evaluate.mjs';
|
|
10
|
+
function CyclicInterface(context, heritage, properties) {
|
|
11
|
+
const instantiatedHeritage = InstantiateTypes(context, { callstack: [] }, heritage);
|
|
12
|
+
const instantiatedProperties = InstantiateProperties({}, { callstack: [] }, properties);
|
|
13
|
+
const evaluatedInterface = EvaluateIntersect([...instantiatedHeritage, Object(instantiatedProperties)]);
|
|
14
|
+
return evaluatedInterface;
|
|
15
|
+
}
|
|
16
|
+
function CyclicDefinitions(context, dependencies) {
|
|
17
|
+
const keys = Guard.Keys(context).filter(key => dependencies.includes(key));
|
|
18
|
+
return keys.reduce((result, key) => {
|
|
19
|
+
const type = context[key];
|
|
20
|
+
const instantiatedType = IsInterfaceDeferred(type) ? CyclicInterface(context, type.parameters[0], type.parameters[1]) : type;
|
|
21
|
+
return { ...result, [key]: instantiatedType };
|
|
22
|
+
}, {});
|
|
23
|
+
}
|
|
24
|
+
export function InstantiateCyclic(context, ref, type) {
|
|
25
|
+
const dependencies = CyclicDependencies(context, ref, type);
|
|
26
|
+
const definitions = CyclicDefinitions(context, dependencies);
|
|
27
|
+
const result = Cyclic(definitions, ref);
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TProperties } from '../../types/properties.mjs';
|
|
3
|
+
import { type TNever } from '../../types/never.mjs';
|
|
4
|
+
import { type TRef } from '../../types/ref.mjs';
|
|
5
|
+
type TResolve<Defs extends TProperties, Ref extends string> = (Ref extends keyof Defs ? Defs[Ref] extends TRef<infer Ref extends string> ? TResolve<Defs, Ref> : Defs[Ref] : TNever);
|
|
6
|
+
/** Returns the target Type from the Defs or Never if target is non-resolvable */
|
|
7
|
+
export type TCyclicTarget<Defs extends TProperties, Ref extends string, Result extends TSchema = TResolve<Defs, Ref>> = Result;
|
|
8
|
+
/** Returns the target Type from the Defs or Never if target is non-resolvable */
|
|
9
|
+
export declare function CyclicTarget<Defs extends TProperties, Ref extends string>(defs: Defs, ref: Ref): TCyclicTarget<Defs, Ref>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Never } from '../../types/never.mjs';
|
|
3
|
+
import { IsRef } from '../../types/ref.mjs';
|
|
4
|
+
function Resolve(defs, ref) {
|
|
5
|
+
return (ref in defs
|
|
6
|
+
? IsRef(defs[ref])
|
|
7
|
+
// @ts-ignore 5.0.4 - does not see $ref
|
|
8
|
+
? Resolve(defs, defs[ref].$ref)
|
|
9
|
+
: defs[ref]
|
|
10
|
+
: Never());
|
|
11
|
+
}
|
|
12
|
+
/** Returns the target Type from the Defs or Never if target is non-resolvable */
|
|
13
|
+
export function CyclicTarget(defs, ref) {
|
|
14
|
+
const result = Resolve(defs, ref);
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
|
|
3
|
+
import { type TUnion } from '../../types/union.mjs';
|
|
4
|
+
import { type TLiteral } from '../../types/literal.mjs';
|
|
5
|
+
import { type TNull } from '../../types/null.mjs';
|
|
6
|
+
import { type TNever } from '../../types/never.mjs';
|
|
7
|
+
type TFromEnumValue<Value extends TEnumValue, Result extends TSchema = Value extends string | number ? TLiteral<Value> : Value extends null ? TNull : TNever> = Result;
|
|
8
|
+
export type TEnumValuesToVariants<Values extends TEnumValue[], Result extends TSchema[] = []> = (Values extends [infer Left extends TEnumValue, ...infer Right extends TEnumValue[]] ? TEnumValuesToVariants<Right, [...Result, TFromEnumValue<Left>]> : Result);
|
|
9
|
+
export declare function EnumValuesToVariants<Values extends TEnumValue[]>(values: [...Values]): TEnumValuesToVariants<Values>;
|
|
10
|
+
export type TEnumValuesToUnion<Values extends TEnumValue[], Variants extends TSchema[] = TEnumValuesToVariants<Values>, Results extends TSchema = TUnion<Variants>> = Results;
|
|
11
|
+
export declare function EnumValuesToUnion<Values extends TEnumValue[]>(values: [...Values]): TEnumValuesToUnion<Values>;
|
|
12
|
+
export type TEnumToUnion<Type extends TEnum, Result extends TSchema = TEnumValuesToUnion<Type['enum']>> = Result;
|
|
13
|
+
export declare function EnumToUnion<Type extends TEnum>(type: Type): TEnumToUnion<Type>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Guard } from '../../../guard/index.mjs';
|
|
3
|
+
import { Union } from '../../types/union.mjs';
|
|
4
|
+
import { Literal } from '../../types/literal.mjs';
|
|
5
|
+
import { Null } from '../../types/null.mjs';
|
|
6
|
+
import { Never } from '../../types/never.mjs';
|
|
7
|
+
function FromEnumValue(value) {
|
|
8
|
+
return (Guard.IsString(value) || Guard.IsNumber(value) ? Literal(value) :
|
|
9
|
+
Guard.IsNull(value) ? Null() :
|
|
10
|
+
Never());
|
|
11
|
+
}
|
|
12
|
+
export function EnumValuesToVariants(values) {
|
|
13
|
+
const result = values.map(value => FromEnumValue(value));
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
export function EnumValuesToUnion(values) {
|
|
17
|
+
const variants = EnumValuesToVariants(values);
|
|
18
|
+
const result = Union(variants);
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
export function EnumToUnion(type) {
|
|
22
|
+
const result = EnumValuesToUnion(type.enum);
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type TEnumValue } from '../../types/enum.mjs';
|
|
2
|
+
import { type TUnionToTuple } from '../helpers/union.mjs';
|
|
3
|
+
export type TTSEnumLike = Record<PropertyKey, TEnumValue>;
|
|
4
|
+
type TReduceEnumValues<Keys extends string[], Type extends TTSEnumLike, Result extends TEnumValue[] = []> = (Keys extends [infer Left extends string, ...infer Right extends string[]] ? TReduceEnumValues<Right, Type, [...Result, Type[Left]]> : Result);
|
|
5
|
+
export type TTSEnumToEnumValues<Type extends TTSEnumLike, EnumKeys extends string[] = TUnionToTuple<Extract<keyof Type, string>>, Elements extends TEnumValue[] = TReduceEnumValues<EnumKeys, Type>> = Elements;
|
|
6
|
+
export declare function TSEnumToEnumValues<Type extends TTSEnumLike>(type: Type): TTSEnumToEnumValues<Type>;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TAny } from '../../types/any.mjs';
|
|
3
|
+
import { type TNever } from '../../types/never.mjs';
|
|
4
|
+
import { type TObject } from '../../types/object.mjs';
|
|
5
|
+
import { type TUnion } from '../../types/union.mjs';
|
|
6
|
+
import { type TCompare, ResultRightInside, ResultLeftInside, ResultEqual } from './compare.mjs';
|
|
7
|
+
import { type TFlatten } from './flatten.mjs';
|
|
8
|
+
import { type TEvaluateType } from './evaluate.mjs';
|
|
9
|
+
type TBroadFilter<Type extends TSchema, Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TCompare<Type, Left> extends typeof ResultRightInside ? TBroadFilter<Type, Right, [...Result]> : TBroadFilter<Type, Right, [...Result, Left]> : Result);
|
|
10
|
+
type TIsBroadestType<Type extends TSchema, Types extends TSchema[]> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TCompare<Type, Left> extends typeof ResultLeftInside | typeof ResultEqual ? false : TIsBroadestType<Type, Right> : true);
|
|
11
|
+
type TBroadenType<Type extends TSchema, Types extends TSchema[], Evaluated extends TSchema = TEvaluateType<Type>, Result extends TSchema[] = (Evaluated extends TAny ? [Evaluated] : TIsBroadestType<Evaluated, Types> extends true ? [...TBroadFilter<Evaluated, Types>, Evaluated] : Types)> = Result;
|
|
12
|
+
type TBroadenTypes<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? Left extends TObject ? TBroadenTypes<Right, [...Result, Left]> : TBroadenTypes<Right, TBroadenType<Left, Result>> : Result);
|
|
13
|
+
export type TBroaden<Types extends TSchema[], Broadened extends TSchema[] = TBroadenTypes<Types>, Flattened extends TSchema[] = TFlatten<Broadened>, Result extends TSchema = (Flattened extends [] ? TNever : Flattened extends [infer Type extends TSchema] ? Type : TUnion<Flattened>)> = Result;
|
|
14
|
+
/** Broadens a set of types and returns either the most broad type, or union or disjoint types. */
|
|
15
|
+
export declare function Broaden<Types extends TSchema[]>(types: [...Types]): TBroaden<Types>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Guard } from '../../../guard/index.mjs';
|
|
3
|
+
import { IsSchema } from '../../types/schema.mjs';
|
|
4
|
+
import { IsAny } from '../../types/any.mjs';
|
|
5
|
+
import { Never } from '../../types/never.mjs';
|
|
6
|
+
import { IsObject } from '../../types/object.mjs';
|
|
7
|
+
import { Union } from '../../types/union.mjs';
|
|
8
|
+
import { Compare, ResultRightInside, ResultLeftInside, ResultEqual } from './compare.mjs';
|
|
9
|
+
import { Flatten } from './flatten.mjs';
|
|
10
|
+
import { EvaluateType } from './evaluate.mjs';
|
|
11
|
+
function BroadFilter(type, types) {
|
|
12
|
+
return types.filter(left => {
|
|
13
|
+
return Compare(type, left) === ResultRightInside
|
|
14
|
+
? false
|
|
15
|
+
: true;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function IsBroadestType(type, types) {
|
|
19
|
+
const result = types.some(left => {
|
|
20
|
+
const result = Compare(type, left);
|
|
21
|
+
return Guard.IsEqual(result, ResultLeftInside) || Guard.IsEqual(result, ResultEqual);
|
|
22
|
+
});
|
|
23
|
+
return Guard.IsEqual(result, false);
|
|
24
|
+
}
|
|
25
|
+
function BroadenType(type, types) {
|
|
26
|
+
const evaluated = EvaluateType(type);
|
|
27
|
+
return (IsAny(evaluated) ? [evaluated] :
|
|
28
|
+
IsBroadestType(evaluated, types)
|
|
29
|
+
? [...BroadFilter(evaluated, types), evaluated]
|
|
30
|
+
: types);
|
|
31
|
+
}
|
|
32
|
+
function BroadenTypes(types, result = []) {
|
|
33
|
+
const [left, ...right] = types;
|
|
34
|
+
return (IsSchema(left)
|
|
35
|
+
? IsObject(left)
|
|
36
|
+
? BroadenTypes(right, [...result, left]) // special: push object type
|
|
37
|
+
: BroadenTypes(right, BroadenType(left, result))
|
|
38
|
+
: result);
|
|
39
|
+
}
|
|
40
|
+
/** Broadens a set of types and returns either the most broad type, or union or disjoint types. */
|
|
41
|
+
export function Broaden(types) {
|
|
42
|
+
const broadened = BroadenTypes(types);
|
|
43
|
+
const flattened = Flatten(broadened);
|
|
44
|
+
const result = (flattened.length === 0 ? Never() :
|
|
45
|
+
flattened.length === 1 ? flattened[0] :
|
|
46
|
+
Union(flattened));
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/index.mjs';
|
|
2
|
+
import { type TUnknown } from '../../types/unknown.mjs';
|
|
3
|
+
import { type TExtends, ExtendsResult } from "../../extends/index.mjs";
|
|
4
|
+
export declare const ResultEqual = "equal";
|
|
5
|
+
export declare const ResultDisjoint = "disjoint";
|
|
6
|
+
export declare const ResultLeftInside = "left-inside";
|
|
7
|
+
export declare const ResultRightInside = "right-inside";
|
|
8
|
+
export type TCompareResult = typeof ResultEqual | typeof ResultDisjoint | typeof ResultLeftInside | typeof ResultRightInside;
|
|
9
|
+
/** Compares left and right types and determines their set relationship */
|
|
10
|
+
export type TCompare<Left extends TSchema, Right extends TSchema, Extends extends [ExtendsResult.TResult, ExtendsResult.TResult] = [
|
|
11
|
+
Left extends TUnknown ? ExtendsResult.TExtendsFalse : TExtends<{}, Left, Right>,
|
|
12
|
+
Left extends TUnknown ? ExtendsResult.TExtendsTrue : TExtends<{}, Right, Left>
|
|
13
|
+
]> = (Extends extends [ExtendsResult.TExtendsTrueLike, ExtendsResult.TExtendsTrueLike] ? typeof ResultEqual : Extends extends [ExtendsResult.TExtendsTrueLike, ExtendsResult.TExtendsFalse] ? typeof ResultLeftInside : Extends extends [ExtendsResult.TExtendsFalse, ExtendsResult.TExtendsTrueLike] ? typeof ResultRightInside : typeof ResultDisjoint);
|
|
14
|
+
/** Compares left and right types and determines their set relationship. */
|
|
15
|
+
export declare function Compare<Left extends TSchema, Right extends TSchema>(left: Left, right: Right): TCompare<Left, Right>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { IsUnknown } from '../../types/unknown.mjs';
|
|
3
|
+
import { Extends, ExtendsResult } from "../../extends/index.mjs";
|
|
4
|
+
// ------------------------------------------------------------------
|
|
5
|
+
// TCompare
|
|
6
|
+
// ------------------------------------------------------------------
|
|
7
|
+
export const ResultEqual = 'equal';
|
|
8
|
+
export const ResultDisjoint = 'disjoint';
|
|
9
|
+
export const ResultLeftInside = 'left-inside';
|
|
10
|
+
export const ResultRightInside = 'right-inside';
|
|
11
|
+
/** Compares left and right types and determines their set relationship. */
|
|
12
|
+
export function Compare(left, right) {
|
|
13
|
+
const extendsCheck = [
|
|
14
|
+
IsUnknown(left) ? ExtendsResult.ExtendsFalse() : Extends({}, left, right),
|
|
15
|
+
IsUnknown(left) ? ExtendsResult.ExtendsTrue({}) : Extends({}, right, left),
|
|
16
|
+
];
|
|
17
|
+
return (ExtendsResult.IsExtendsTrueLike(extendsCheck[0]) && ExtendsResult.IsExtendsTrueLike(extendsCheck[1]) ? ResultEqual :
|
|
18
|
+
ExtendsResult.IsExtendsTrueLike(extendsCheck[0]) && ExtendsResult.IsExtendsFalse(extendsCheck[1]) ? ResultLeftInside :
|
|
19
|
+
ExtendsResult.IsExtendsFalse(extendsCheck[0]) && ExtendsResult.IsExtendsTrueLike(extendsCheck[1]) ? ResultRightInside :
|
|
20
|
+
ResultDisjoint);
|
|
21
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type TUnreachable } from '../../../system/unreachable/index.mjs';
|
|
2
|
+
import { type TReadonly, type TReadonlyAdd, type TReadonlyRemove } from '../../types/_readonly.mjs';
|
|
3
|
+
import { type TOptional, type TOptionalAdd, type TOptionalRemove } from '../../types/_optional.mjs';
|
|
4
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
5
|
+
import { type TProperties } from '../../types/properties.mjs';
|
|
6
|
+
import { type TObject } from '../../types/object.mjs';
|
|
7
|
+
import { type TNever } from '../../types/never.mjs';
|
|
8
|
+
import { type TTuple } from '../../types/tuple.mjs';
|
|
9
|
+
import { type TTupleElementsToProperties } from '../tuple/to-object.mjs';
|
|
10
|
+
import { type TEvaluateIntersect } from './evaluate.mjs';
|
|
11
|
+
type TIsReadonlyProperty<Left extends TSchema, Right extends TSchema> = (Left extends TReadonly<Left> ? Right extends TReadonly<Right> ? true : false : false);
|
|
12
|
+
type TIsOptionalProperty<Left extends TSchema, Right extends TSchema> = (Left extends TOptional<Left> ? Right extends TOptional<Right> ? true : false : false);
|
|
13
|
+
type TCompositeProperty<Left extends TSchema, Right extends TSchema, IsReadonly extends boolean = TIsReadonlyProperty<Left, Right>, IsOptional extends boolean = TIsOptionalProperty<Left, Right>, Evaluated extends TSchema = TEvaluateIntersect<[Left, Right]>, Property extends TSchema = TReadonlyRemove<TOptionalRemove<Evaluated>>> = ([
|
|
14
|
+
IsReadonly,
|
|
15
|
+
IsOptional
|
|
16
|
+
] extends [true, true] ? TReadonlyAdd<TOptionalAdd<Property>> : [
|
|
17
|
+
IsReadonly,
|
|
18
|
+
IsOptional
|
|
19
|
+
] extends [true, false] ? TReadonlyAdd<Property> : [
|
|
20
|
+
IsReadonly,
|
|
21
|
+
IsOptional
|
|
22
|
+
] extends [false, true] ? TOptionalAdd<Property> : Property);
|
|
23
|
+
type TCompositePropertyKey<Left extends TProperties, Right extends TProperties, Key extends PropertyKey, Result extends TSchema = (Key extends keyof Left ? Key extends keyof Right ? TCompositeProperty<Left[Key], Right[Key]> : Left[Key] : Key extends keyof Right ? Right[Key] : TNever)> = Result;
|
|
24
|
+
type TCompositeProperties<Left extends TProperties, Right extends TProperties, Result extends TProperties = {
|
|
25
|
+
[Key in keyof (Right & Left)]: TCompositePropertyKey<Left, Right, Key>;
|
|
26
|
+
}> = Result;
|
|
27
|
+
type TGetProperties<Type extends TSchema, Result extends TProperties = (Type extends TObject<infer Properties extends TProperties> ? Properties : Type extends TTuple<infer Types extends TSchema[]> ? TTupleElementsToProperties<Types> : TUnreachable)> = Result;
|
|
28
|
+
export type TComposite<Left extends TSchema, Right extends TSchema, LeftProperties extends TProperties = TGetProperties<Left>, RightProperties extends TProperties = TGetProperties<Right>, Properties extends TProperties = TCompositeProperties<LeftProperties, RightProperties>, Result extends TSchema = TObject<Properties>> = Result;
|
|
29
|
+
export declare function Composite<Left extends TSchema, Right extends TSchema>(left: Left, right: Right): TComposite<Left, Right>;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
// deno-lint-ignore-file
|
|
3
|
+
import { Unreachable } from '../../../system/unreachable/index.mjs';
|
|
4
|
+
import { Guard } from '../../../guard/index.mjs';
|
|
5
|
+
import { ReadonlyAdd, ReadonlyRemove, IsReadonly } from '../../types/_readonly.mjs';
|
|
6
|
+
import { OptionalAdd, OptionalRemove, IsOptional } from '../../types/_optional.mjs';
|
|
7
|
+
import { Object, IsObject } from '../../types/object.mjs';
|
|
8
|
+
import { Never } from '../../types/never.mjs';
|
|
9
|
+
import { IsTuple } from '../../types/tuple.mjs';
|
|
10
|
+
import { TupleElementsToProperties } from '../tuple/to-object.mjs';
|
|
11
|
+
import { EvaluateIntersect } from './evaluate.mjs';
|
|
12
|
+
function IsReadonlyProperty(left, right) {
|
|
13
|
+
return (IsReadonly(left) ? IsReadonly(right) ? true : false : false);
|
|
14
|
+
}
|
|
15
|
+
function IsOptionalProperty(left, right) {
|
|
16
|
+
return (IsOptional(left) ? IsOptional(right) ? true : false : false);
|
|
17
|
+
}
|
|
18
|
+
function CompositeProperty(left, right) {
|
|
19
|
+
const isReadonly = IsReadonlyProperty(left, right);
|
|
20
|
+
const isOptional = IsOptionalProperty(left, right);
|
|
21
|
+
const evaluated = EvaluateIntersect([left, right]);
|
|
22
|
+
// Modifiers need to be discarded and re-applied
|
|
23
|
+
const property = ReadonlyRemove(OptionalRemove(evaluated));
|
|
24
|
+
return (isReadonly && isOptional ? ReadonlyAdd(OptionalAdd(property)) :
|
|
25
|
+
isReadonly && !isOptional ? ReadonlyAdd(property) :
|
|
26
|
+
!isReadonly && isOptional ? OptionalAdd(property) :
|
|
27
|
+
property);
|
|
28
|
+
}
|
|
29
|
+
function CompositePropertyKey(left, right, key) {
|
|
30
|
+
return (key in left
|
|
31
|
+
? key in right
|
|
32
|
+
? CompositeProperty(left[key], right[key])
|
|
33
|
+
: left[key]
|
|
34
|
+
: key in right
|
|
35
|
+
? right[key]
|
|
36
|
+
: Never());
|
|
37
|
+
}
|
|
38
|
+
function CompositeProperties(left, right) {
|
|
39
|
+
const keys = new Set([...Guard.Keys(right), ...Guard.Keys(left)]);
|
|
40
|
+
return [...keys].reduce((result, key) => {
|
|
41
|
+
return { ...result, [key]: CompositePropertyKey(left, right, key) };
|
|
42
|
+
}, {});
|
|
43
|
+
}
|
|
44
|
+
// ------------------------------------------------------------------
|
|
45
|
+
// deno-coverage-ignore-start - symmetric unreachable | internal
|
|
46
|
+
//
|
|
47
|
+
// Composite is called by Distribute which provisions the type as
|
|
48
|
+
// either TObject ot TTuple. Fall-through unreachable.
|
|
49
|
+
//
|
|
50
|
+
// ------------------------------------------------------------------
|
|
51
|
+
function GetProperties(type) {
|
|
52
|
+
const result = (IsObject(type) ? type.properties :
|
|
53
|
+
IsTuple(type) ? TupleElementsToProperties(type.items) :
|
|
54
|
+
Unreachable() // {}
|
|
55
|
+
);
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
export function Composite(left, right) {
|
|
59
|
+
const leftProperties = GetProperties(left);
|
|
60
|
+
const rightProperties = GetProperties(right);
|
|
61
|
+
const properties = CompositeProperties(leftProperties, rightProperties);
|
|
62
|
+
return Object(properties);
|
|
63
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TIntersect } from '../../types/intersect.mjs';
|
|
3
|
+
import { type TUnion } from '../../types/union.mjs';
|
|
4
|
+
import { type TObject } from '../../types/object.mjs';
|
|
5
|
+
import { type TTuple } from '../../types/tuple.mjs';
|
|
6
|
+
import { type TComposite } from './composite.mjs';
|
|
7
|
+
import { type TNarrow } from './narrow.mjs';
|
|
8
|
+
import { type TEvaluateType } from "./evaluate.mjs";
|
|
9
|
+
import { type TEvaluateIntersect } from "./evaluate.mjs";
|
|
10
|
+
type TCanDistribute<Type extends TSchema> = Type extends TObject | TTuple ? true : false;
|
|
11
|
+
type TDistributeNormalize<Type extends TSchema> = Type extends TIntersect<infer Types extends TSchema[]> ? TEvaluateIntersect<Types> : Type;
|
|
12
|
+
type TDistributeOperation<Left extends TSchema, Right extends TSchema, NormalLeft extends TSchema = TDistributeNormalize<Left>, NormalRight extends TSchema = TDistributeNormalize<Right>, IsObjectLeft extends boolean = TCanDistribute<NormalLeft>, IsObjectRight extends boolean = TCanDistribute<NormalRight>, Result extends TSchema = ([
|
|
13
|
+
IsObjectLeft,
|
|
14
|
+
IsObjectRight
|
|
15
|
+
] extends [true, true] ? TComposite<TEvaluateType<NormalLeft>, NormalRight> : [
|
|
16
|
+
IsObjectLeft,
|
|
17
|
+
IsObjectRight
|
|
18
|
+
] extends [true, false] ? TEvaluateType<NormalLeft> : [
|
|
19
|
+
IsObjectLeft,
|
|
20
|
+
IsObjectRight
|
|
21
|
+
] extends [false, true] ? NormalRight : TNarrow<TEvaluateType<NormalLeft>, NormalRight>)> = Result;
|
|
22
|
+
type TDistributeType<Type extends TSchema, Distribution extends TSchema[], Result extends TSchema[] = []> = (Distribution extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TDistributeType<Type, Right, [...Result, TDistributeOperation<Type, Left>]> : Result extends [] ? [Type] : Result);
|
|
23
|
+
type TDistributeUnion<Types extends TSchema[], Distribution extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TDistributeUnion<Right, Distribution, [...Result, ...TDistribute<[Left], Distribution>]> : Result);
|
|
24
|
+
export type TDistribute<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? Left extends TUnion<infer UnionTypes extends TSchema[]> ? TDistribute<Right, TDistributeUnion<UnionTypes, Result>> : TDistribute<Right, TDistributeType<Left, Result>> : Result);
|
|
25
|
+
export declare function Distribute<Types extends TSchema[]>(types: [...Types], result?: TSchema[]): TDistribute<Types>;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
// deno-fmt-ignore-file
|
|
3
|
+
import { Guard } from '../../../guard/index.mjs';
|
|
4
|
+
import { IsSchema } from '../../types/schema.mjs';
|
|
5
|
+
import { IsIntersect } from '../../types/intersect.mjs';
|
|
6
|
+
import { IsUnion } from '../../types/union.mjs';
|
|
7
|
+
import { IsObject } from '../../types/object.mjs';
|
|
8
|
+
import { IsTuple } from '../../types/tuple.mjs';
|
|
9
|
+
import { Composite } from './composite.mjs';
|
|
10
|
+
import { Narrow } from './narrow.mjs';
|
|
11
|
+
import { EvaluateType } from "./evaluate.mjs";
|
|
12
|
+
import { EvaluateIntersect } from "./evaluate.mjs";
|
|
13
|
+
function CanDistribute(type) {
|
|
14
|
+
return IsObject(type) || IsTuple(type);
|
|
15
|
+
}
|
|
16
|
+
function DistributeNormalize(type) {
|
|
17
|
+
return (IsIntersect(type)
|
|
18
|
+
? EvaluateIntersect(type.allOf)
|
|
19
|
+
: type);
|
|
20
|
+
}
|
|
21
|
+
function DistributeOperation(left, right) {
|
|
22
|
+
const normalLeft = DistributeNormalize(left);
|
|
23
|
+
const normalRight = DistributeNormalize(right);
|
|
24
|
+
const isObjectLeft = CanDistribute(normalLeft);
|
|
25
|
+
const IsObjectRight = CanDistribute(normalRight);
|
|
26
|
+
const result = (isObjectLeft && IsObjectRight ? Composite(EvaluateType(normalLeft), normalRight) :
|
|
27
|
+
isObjectLeft && !IsObjectRight ? EvaluateType(normalLeft) :
|
|
28
|
+
!isObjectLeft && IsObjectRight ? normalRight :
|
|
29
|
+
Narrow(EvaluateType(normalLeft), normalRight));
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
function DistributeType(type, types, result = []) {
|
|
33
|
+
const [left, ...right] = types;
|
|
34
|
+
return (!Guard.IsUndefined(left) // TSchema[]
|
|
35
|
+
? DistributeType(type, right, [...result, DistributeOperation(type, left)])
|
|
36
|
+
: result.length === 0
|
|
37
|
+
? [type]
|
|
38
|
+
: result);
|
|
39
|
+
}
|
|
40
|
+
function DistributeUnion(types, distribution, result = []) {
|
|
41
|
+
const [left, ...right] = types;
|
|
42
|
+
return (IsSchema(left)
|
|
43
|
+
? DistributeUnion(right, distribution, [...result, ...Distribute([left], distribution)])
|
|
44
|
+
: result);
|
|
45
|
+
}
|
|
46
|
+
export function Distribute(types, result = []) {
|
|
47
|
+
const [left, ...right] = types;
|
|
48
|
+
return (IsSchema(left)
|
|
49
|
+
? IsUnion(left)
|
|
50
|
+
? Distribute(right, DistributeUnion(left.anyOf, result))
|
|
51
|
+
: Distribute(right, DistributeType(left, result))
|
|
52
|
+
: result);
|
|
53
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type TSchema } from '../../types/schema.mjs';
|
|
2
|
+
import { type TIntersect } from '../../types/intersect.mjs';
|
|
3
|
+
import { type TUnion } from '../../types/union.mjs';
|
|
4
|
+
import { type TDistribute } from './distribute.mjs';
|
|
5
|
+
import { type TBroaden } from './broaden.mjs';
|
|
6
|
+
export type TEvaluateIntersect<Types extends TSchema[], Distribution extends TSchema[] = TDistribute<Types>, Result extends TSchema = TBroaden<Distribution>> = Result;
|
|
7
|
+
export declare function EvaluateIntersect<Types extends TSchema[]>(types: [...Types]): TEvaluateIntersect<Types>;
|
|
8
|
+
export type TEvaluateUnion<Types extends TSchema[], Result extends TSchema = TBroaden<Types>> = Result;
|
|
9
|
+
export declare function EvaluateUnion<Types extends TSchema[]>(types: [...Types]): TEvaluateUnion<Types>;
|
|
10
|
+
export type TEvaluateType<Type extends TSchema, Result extends TSchema = (Type extends TIntersect<infer Types extends TSchema[]> ? TEvaluateIntersect<Types> : Type extends TUnion<infer Types extends TSchema[]> ? TEvaluateUnion<Types> : Type)> = Result;
|
|
11
|
+
export declare function EvaluateType<Type extends TSchema>(type: Type): TEvaluateType<Type>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { IsIntersect } from '../../types/intersect.mjs';
|
|
3
|
+
import { IsUnion } from '../../types/union.mjs';
|
|
4
|
+
import { Distribute } from './distribute.mjs';
|
|
5
|
+
import { Broaden } from './broaden.mjs';
|
|
6
|
+
export function EvaluateIntersect(types) {
|
|
7
|
+
const distribution = Distribute(types);
|
|
8
|
+
const result = Broaden(distribution);
|
|
9
|
+
return result;
|
|
10
|
+
}
|
|
11
|
+
export function EvaluateUnion(types) {
|
|
12
|
+
const result = Broaden(types);
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
export function EvaluateType(type) {
|
|
16
|
+
return (IsIntersect(type) ? EvaluateIntersect(type.allOf) :
|
|
17
|
+
IsUnion(type) ? EvaluateUnion(type.anyOf) :
|
|
18
|
+
type);
|
|
19
|
+
}
|