typebox 0.0.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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,13 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Guard } from '../../guard/index.mjs';
|
|
3
|
+
// ------------------------------------------------------------------
|
|
4
|
+
// Guard
|
|
5
|
+
// ------------------------------------------------------------------
|
|
6
|
+
/**
|
|
7
|
+
* Returns true if the schema contains a valid $ref property
|
|
8
|
+
* @specification Json Schema 7
|
|
9
|
+
*/
|
|
10
|
+
export function IsRef(schema) {
|
|
11
|
+
return Guard.HasPropertyKey(schema, '$ref')
|
|
12
|
+
&& Guard.IsString(schema.$ref);
|
|
13
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type XSchema } from './schema.mjs';
|
|
2
|
+
export interface XRequired<Required extends string[] = string[]> {
|
|
3
|
+
required: Required;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Returns true if the schema contains a valid required property
|
|
7
|
+
* @specification Json Schema 7
|
|
8
|
+
*/
|
|
9
|
+
export declare function IsRequired(schema: XSchema): schema is XRequired;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Guard } from '../../guard/index.mjs';
|
|
3
|
+
// ------------------------------------------------------------------
|
|
4
|
+
// Guard
|
|
5
|
+
// ------------------------------------------------------------------
|
|
6
|
+
/**
|
|
7
|
+
* Returns true if the schema contains a valid required property
|
|
8
|
+
* @specification Json Schema 7
|
|
9
|
+
*/
|
|
10
|
+
export function IsRequired(schema) {
|
|
11
|
+
return Guard.HasPropertyKey(schema, 'required')
|
|
12
|
+
&& Guard.IsArray(schema.required)
|
|
13
|
+
&& schema.required.every(value => Guard.IsString(value));
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type XSchema = object;
|
|
2
|
+
/** Returns true if this value is object like */
|
|
3
|
+
export declare function IsSchema(value: unknown): value is XSchema;
|
|
4
|
+
export type XSchemaBoolean = boolean;
|
|
5
|
+
/** Returns true if this value is a boolean */
|
|
6
|
+
export declare function IsBooleanSchema(value: unknown): value is XSchemaBoolean;
|
|
7
|
+
export type XSchemaLike = XSchema | XSchemaBoolean;
|
|
8
|
+
/** Returns true if this value is schema like */
|
|
9
|
+
export declare function IsSchemaLike(value: unknown): value is XSchemaLike;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Guard } from '../../guard/index.mjs';
|
|
3
|
+
/** Returns true if this value is object like */
|
|
4
|
+
export function IsSchema(value) {
|
|
5
|
+
return Guard.IsObject(value) && !Guard.IsArray(value);
|
|
6
|
+
}
|
|
7
|
+
/** Returns true if this value is a boolean */
|
|
8
|
+
export function IsBooleanSchema(value) {
|
|
9
|
+
return Guard.IsBoolean(value);
|
|
10
|
+
}
|
|
11
|
+
/** Returns true if this value is schema like */
|
|
12
|
+
export function IsSchemaLike(value) {
|
|
13
|
+
return IsSchema(value) || IsBooleanSchema(value);
|
|
14
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import type { XSchemaLike } from '../types/schema.mjs';
|
|
2
|
+
import type { XStandardSchemaV1, XStandardValidatorV1 } from './_standard.mjs';
|
|
3
|
+
import type { XAdditionalProperties } from './additionalProperties.mjs';
|
|
4
|
+
import type { XAnyOf } from './anyOf.mjs';
|
|
5
|
+
import type { XAllOf } from './allOf.mjs';
|
|
6
|
+
import type { XConst } from './const.mjs';
|
|
7
|
+
import type { XEnum } from './enum.mjs';
|
|
8
|
+
import type { XItems } from './items.mjs';
|
|
9
|
+
import type { XOneOf } from './oneOf.mjs';
|
|
10
|
+
import type { XPatternProperties } from './patternProperties.mjs';
|
|
11
|
+
import type { XPrefixItems } from './prefixItems.mjs';
|
|
12
|
+
import type { XProperties } from './properties.mjs';
|
|
13
|
+
import type { XRequired } from './required.mjs';
|
|
14
|
+
export type StaticXStandardSchemaV1<Validator extends XStandardValidatorV1, ValidateResult extends unknown = ReturnType<Validator['validate']>, RemoveAsync extends unknown = Exclude<ValidateResult, Promise<any>>, RemoveIssue extends unknown = Exclude<RemoveAsync, {
|
|
15
|
+
issues: any;
|
|
16
|
+
}>, Result extends unknown = RemoveIssue extends {
|
|
17
|
+
value: infer Value;
|
|
18
|
+
} ? Value : unknown> = Result;
|
|
19
|
+
type StaticXAdditionalProperties<Schema extends XSchemaLike, Result extends Record<PropertyKey, unknown> = (Schema extends true ? {
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
} : Schema extends false ? {} : {
|
|
22
|
+
[key: string]: XStatic<Schema>;
|
|
23
|
+
})> = Result;
|
|
24
|
+
type StaticXAllOf<Schemas extends XSchemaLike[], Result extends unknown = unknown> = Schemas extends [infer Left extends XSchemaLike, ...infer Right extends XSchemaLike[]] ? StaticXAllOf<Right, XStatic<Left> & Result> : Result;
|
|
25
|
+
type StaticXAnyOf<Schemas extends XSchemaLike[], Result extends unknown = never> = Schemas extends [infer Left extends XSchemaLike, ...infer Right extends XSchemaLike[]] ? StaticXAnyOf<Right, XStatic<Left> | Result> : Result;
|
|
26
|
+
type StaticXConst<Value extends unknown> = Value;
|
|
27
|
+
type StaticXEnum<Values extends unknown[], Result extends unknown = never> = Values extends [infer Left extends unknown, ...infer Right extends unknown[]] ? StaticXEnum<Right, Left | Result> : Result;
|
|
28
|
+
type StaticXItemsUnsized<Schema extends XSchemaLike> = XStatic<Schema>[];
|
|
29
|
+
type StaticXItemsSized<Schema extends XSchemaLike[], Result extends unknown[] = []> = Schema extends [infer Left extends XSchemaLike, ...infer Right extends XSchemaLike[]] ? StaticXItemsSized<Right, [...Result, XStatic<Left>]> : Result;
|
|
30
|
+
type StaticXItems<Schemas extends XSchemaLike[] | XSchemaLike, Result extends unknown = (Schemas extends XSchemaLike[] ? StaticXItemsSized<[...Schemas]> : Schemas extends XSchemaLike ? StaticXItemsUnsized<Schemas> : never)> = Result;
|
|
31
|
+
type StaticXOneOf<Schemas extends XSchemaLike[], Result extends unknown = never> = Schemas extends [infer Left extends XSchemaLike, ...infer Right extends XSchemaLike[]] ? StaticXOneOf<Right, XStatic<Left> | Result> : Result;
|
|
32
|
+
type StaticXPatternProperties<Properties extends Record<PropertyKey, XSchemaLike> = Record<PropertyKey, XSchemaLike>, InferredProperties extends Record<PropertyKey, unknown> = {
|
|
33
|
+
[Key in keyof Properties]: XStatic<Properties[Key]>;
|
|
34
|
+
}, EvaluatedProperties extends unknown = {
|
|
35
|
+
[key: string]: InferredProperties[keyof InferredProperties];
|
|
36
|
+
}> = EvaluatedProperties;
|
|
37
|
+
type StaticXPrefixItems<Schemas extends XSchemaLike[], Result extends unknown[] = []> = Schemas extends [infer Left extends XSchemaLike, ...infer Right extends XSchemaLike[]] ? StaticXPrefixItems<Right, [...Result, XStatic<Left>]> : Result;
|
|
38
|
+
type StaticXProperties<Properties extends Record<PropertyKey, XSchemaLike>, Readonly extends Record<PropertyKey, unknown> = {
|
|
39
|
+
readonly [Key in keyof Properties as Properties[Key] extends {
|
|
40
|
+
readOnly: true;
|
|
41
|
+
} ? Key : never]?: XStatic<Properties[Key]>;
|
|
42
|
+
}, Standard extends Record<PropertyKey, unknown> = {
|
|
43
|
+
[Key in keyof Properties as Properties[Key] extends {
|
|
44
|
+
readOnly: true;
|
|
45
|
+
} ? never : Key]?: XStatic<Properties[Key]>;
|
|
46
|
+
}, Result extends Record<PropertyKey, unknown> = Readonly & Standard> = Result;
|
|
47
|
+
type RequiredSelectProperty<Properties extends Record<PropertyKey, XSchemaLike>, Key extends string, Result extends Record<PropertyKey, unknown> = (Key extends keyof Properties ? Properties[Key] extends {
|
|
48
|
+
readOnly: true;
|
|
49
|
+
} ? {
|
|
50
|
+
readonly [_ in Key]: XStatic<Properties[Key]>;
|
|
51
|
+
} : {
|
|
52
|
+
[_ in Key]: XStatic<Properties[Key]>;
|
|
53
|
+
} : {
|
|
54
|
+
[_ in Key]: unknown;
|
|
55
|
+
})> = Result;
|
|
56
|
+
type RequiredSelectProperties<Properties extends Record<PropertyKey, XSchemaLike>, Keys extends string[], Result extends Record<PropertyKey, unknown> = {}> = Keys extends [infer Left extends string, ...infer Right extends string[]] ? RequiredSelectProperties<Properties, Right, Result & RequiredSelectProperty<Properties, Left>> : Result;
|
|
57
|
+
type RequiredGetProperties<Schema extends XSchemaLike, Result extends Record<PropertyKey, unknown> = (Schema extends XProperties<infer Properties extends Record<PropertyKey, XSchemaLike>> ? Properties : {})> = Result;
|
|
58
|
+
type StaticXRequired<Schema extends XSchemaLike, Keys extends string[], Properties extends Record<PropertyKey, XSchemaLike> = RequiredGetProperties<Schema>, Result extends Record<PropertyKey, unknown> = RequiredSelectProperties<Properties, Keys>> = Result;
|
|
59
|
+
type StaticXKeywords<Schema, Result extends unknown[] = [
|
|
60
|
+
Schema extends XAdditionalProperties<infer Type extends XSchemaLike> ? StaticXAdditionalProperties<Type> : unknown,
|
|
61
|
+
Schema extends XAllOf<infer Types extends XSchemaLike[]> ? StaticXAllOf<Types> : unknown,
|
|
62
|
+
Schema extends XAnyOf<infer Types extends XSchemaLike[]> ? StaticXAnyOf<Types> : unknown,
|
|
63
|
+
Schema extends XConst<infer Value extends unknown> ? StaticXConst<Value> : unknown,
|
|
64
|
+
Schema extends XEnum<infer Values extends unknown[]> ? StaticXEnum<Values> : unknown,
|
|
65
|
+
Schema extends XItems<infer Types extends XSchemaLike[] | XSchemaLike> ? StaticXItems<Types> : unknown,
|
|
66
|
+
Schema extends XOneOf<infer Types extends XSchemaLike[]> ? StaticXOneOf<Types> : unknown,
|
|
67
|
+
Schema extends XPatternProperties<infer Properties extends Record<PropertyKey, XSchemaLike>> ? StaticXPatternProperties<Properties> : unknown,
|
|
68
|
+
Schema extends XPrefixItems<infer Types extends XSchemaLike[]> ? StaticXPrefixItems<Types> : unknown,
|
|
69
|
+
Schema extends XProperties<infer Properties extends Record<PropertyKey, XSchemaLike>> ? StaticXProperties<Properties> : unknown,
|
|
70
|
+
Schema extends XRequired<infer Keys extends string[]> ? StaticXRequired<Schema, Keys> : unknown,
|
|
71
|
+
Schema extends {
|
|
72
|
+
type: 'array';
|
|
73
|
+
} ? {} : unknown,
|
|
74
|
+
Schema extends {
|
|
75
|
+
type: 'bigint';
|
|
76
|
+
} ? bigint : unknown,
|
|
77
|
+
Schema extends {
|
|
78
|
+
type: 'boolean';
|
|
79
|
+
} ? boolean : unknown,
|
|
80
|
+
Schema extends {
|
|
81
|
+
type: 'integer';
|
|
82
|
+
} ? number : unknown,
|
|
83
|
+
Schema extends {
|
|
84
|
+
type: 'object';
|
|
85
|
+
} ? object : unknown,
|
|
86
|
+
Schema extends {
|
|
87
|
+
type: 'null';
|
|
88
|
+
} ? null : unknown,
|
|
89
|
+
Schema extends {
|
|
90
|
+
type: 'number';
|
|
91
|
+
} ? number : unknown,
|
|
92
|
+
Schema extends {
|
|
93
|
+
type: 'string';
|
|
94
|
+
} ? string : unknown,
|
|
95
|
+
Schema extends {
|
|
96
|
+
type: 'symbol';
|
|
97
|
+
} ? symbol : unknown,
|
|
98
|
+
Schema extends {
|
|
99
|
+
type: 'undefined';
|
|
100
|
+
} ? undefined : unknown
|
|
101
|
+
]> = Result;
|
|
102
|
+
type StaticXReduce<Schemas extends unknown[], Result extends unknown = unknown> = (Schemas extends [infer Left extends unknown, ...infer Right extends unknown[]] ? StaticXReduce<Right, Result & Left> : Result);
|
|
103
|
+
type StaticXNonReadonlyTuple<Schemas extends readonly unknown[]> = (Schemas extends [infer Left, ...infer Right extends unknown[]] ? [StaticXNonReadonly<Left>, ...StaticXNonReadonlyTuple<Right>] : []);
|
|
104
|
+
type StaticXNonReadonlyArray<Schema extends unknown, Result extends unknown[] = StaticXNonReadonly<Schema>[]> = Result;
|
|
105
|
+
type StaticXNonReadonlyObject<Schema extends object, Result extends Record<PropertyKey, unknown> = {
|
|
106
|
+
-readonly [K in keyof Schema]: StaticXNonReadonly<Schema[K]>;
|
|
107
|
+
}> = Result;
|
|
108
|
+
type StaticXNonReadonly<Schema> = (Schema extends readonly [...infer Rest extends unknown[]] ? StaticXNonReadonlyTuple<Rest> : Schema extends readonly (infer U)[] ? StaticXNonReadonlyArray<U> : Schema extends object ? StaticXNonReadonlyObject<Schema> : Schema);
|
|
109
|
+
type StaticXEvaluate<Schema extends unknown, Result extends unknown = Schema extends object ? {
|
|
110
|
+
[Key in keyof Schema]: Schema[Key];
|
|
111
|
+
} : Schema> = Result;
|
|
112
|
+
type StaticXSchema<Schema extends unknown, NonReadonly extends unknown = StaticXNonReadonly<Schema>, Keywords extends unknown[] = StaticXKeywords<NonReadonly>, Reduced extends unknown = StaticXReduce<Keywords>, Result extends unknown = StaticXEvaluate<Reduced>> = Result;
|
|
113
|
+
/** Statically infers a JSON Schema or Standard Schema */
|
|
114
|
+
export type XStatic<Schema extends XSchemaLike, Result extends unknown = (Schema extends XStandardSchemaV1<infer Validator extends XStandardValidatorV1> ? StaticXStandardSchemaV1<Validator> : StaticXSchema<Schema>)> = Result;
|
|
115
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type XSchema, type XSchemaLike } from './schema.mjs';
|
|
2
|
+
export interface XThen<Then extends XSchemaLike = XSchemaLike> {
|
|
3
|
+
then: Then;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Returns true if the schema contains a valid then property
|
|
7
|
+
* @specification Json Schema 7
|
|
8
|
+
*/
|
|
9
|
+
export declare function IsThen(schema: XSchema): schema is XThen;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Guard } from '../../guard/index.mjs';
|
|
3
|
+
import { IsSchemaLike } from './schema.mjs';
|
|
4
|
+
// ------------------------------------------------------------------
|
|
5
|
+
// Guard
|
|
6
|
+
// ------------------------------------------------------------------
|
|
7
|
+
/**
|
|
8
|
+
* Returns true if the schema contains a valid then property
|
|
9
|
+
* @specification Json Schema 7
|
|
10
|
+
*/
|
|
11
|
+
export function IsThen(schema) {
|
|
12
|
+
return Guard.HasPropertyKey(schema, 'then')
|
|
13
|
+
&& IsSchemaLike(schema.then);
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type XSchema } from './schema.mjs';
|
|
2
|
+
export interface XType<Type extends string | string[] = string | string[]> {
|
|
3
|
+
type: Type;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Returns true if the schema contains a valid type property
|
|
7
|
+
* @specification Json Schema 7
|
|
8
|
+
*/
|
|
9
|
+
export declare function IsType(schema: XSchema): schema is XType;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Guard } from '../../guard/index.mjs';
|
|
3
|
+
// ------------------------------------------------------------------
|
|
4
|
+
// Guard
|
|
5
|
+
// ------------------------------------------------------------------
|
|
6
|
+
/**
|
|
7
|
+
* Returns true if the schema contains a valid type property
|
|
8
|
+
* @specification Json Schema 7
|
|
9
|
+
*/
|
|
10
|
+
export function IsType(schema) {
|
|
11
|
+
return Guard.HasPropertyKey(schema, 'type')
|
|
12
|
+
&& (Guard.IsString(schema.type)
|
|
13
|
+
|| (Guard.IsArray(schema.type)
|
|
14
|
+
&& schema.type.every(value => Guard.IsString(value))));
|
|
15
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type XSchema, type XSchemaLike } from './schema.mjs';
|
|
2
|
+
export interface XUnevaluatedItems<unevaluatedItems extends XSchemaLike = XSchemaLike> {
|
|
3
|
+
unevaluatedItems: XSchemaLike;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Returns true if the schema contains a valid unevaluatedItems property
|
|
7
|
+
* @specification Json Schema 2019-09
|
|
8
|
+
*/
|
|
9
|
+
export declare function IsUnevaluatedItems(schema: XSchema): schema is XUnevaluatedItems;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Guard } from '../../guard/index.mjs';
|
|
3
|
+
import { IsSchemaLike } from './schema.mjs';
|
|
4
|
+
// ------------------------------------------------------------------
|
|
5
|
+
// Guard
|
|
6
|
+
// ------------------------------------------------------------------
|
|
7
|
+
/**
|
|
8
|
+
* Returns true if the schema contains a valid unevaluatedItems property
|
|
9
|
+
* @specification Json Schema 2019-09
|
|
10
|
+
*/
|
|
11
|
+
export function IsUnevaluatedItems(schema) {
|
|
12
|
+
return Guard.HasPropertyKey(schema, 'unevaluatedItems')
|
|
13
|
+
&& IsSchemaLike(schema.unevaluatedItems);
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type XSchema, type XSchemaLike } from './schema.mjs';
|
|
2
|
+
export interface XUnevaluatedProperties<UnevaluatedProperties extends XSchemaLike = XSchemaLike> {
|
|
3
|
+
unevaluatedProperties: UnevaluatedProperties;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Returns true if the schema contains a valid unevaluatedProperties property
|
|
7
|
+
* @specification Json Schema 2019-09
|
|
8
|
+
*/
|
|
9
|
+
export declare function IsUnevaluatedProperties(schema: XSchema): schema is XUnevaluatedProperties;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Guard } from '../../guard/index.mjs';
|
|
3
|
+
import { IsSchemaLike } from './schema.mjs';
|
|
4
|
+
// ------------------------------------------------------------------
|
|
5
|
+
// Guard
|
|
6
|
+
// ------------------------------------------------------------------
|
|
7
|
+
/**
|
|
8
|
+
* Returns true if the schema contains a valid unevaluatedProperties property
|
|
9
|
+
* @specification Json Schema 2019-09
|
|
10
|
+
*/
|
|
11
|
+
export function IsUnevaluatedProperties(schema) {
|
|
12
|
+
return Guard.HasPropertyKey(schema, 'unevaluatedProperties')
|
|
13
|
+
&& IsSchemaLike(schema.unevaluatedProperties);
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type XSchema } from './schema.mjs';
|
|
2
|
+
export interface XUniqueItems<UniqueItems extends boolean = boolean> {
|
|
3
|
+
uniqueItems: UniqueItems;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Returns true if the schema contains a valid uniqueItems property
|
|
7
|
+
* @specification Json Schema 7
|
|
8
|
+
*/
|
|
9
|
+
export declare function IsUniqueItems(schema: XSchema): schema is XUniqueItems;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Guard } from '../../guard/index.mjs';
|
|
3
|
+
// ------------------------------------------------------------------
|
|
4
|
+
// Guard
|
|
5
|
+
// ------------------------------------------------------------------
|
|
6
|
+
/**
|
|
7
|
+
* Returns true if the schema contains a valid uniqueItems property
|
|
8
|
+
* @specification Json Schema 7
|
|
9
|
+
*/
|
|
10
|
+
export function IsUniqueItems(schema) {
|
|
11
|
+
return Guard.HasPropertyKey(schema, 'uniqueItems')
|
|
12
|
+
&& Guard.IsBoolean(schema.uniqueItems);
|
|
13
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Match arguments for overloaded functions that use the `...args: unknown[]` pattern. Arguments
|
|
3
|
+
* are parsed using argument length only.
|
|
4
|
+
*/
|
|
5
|
+
export function Match(args, match) {
|
|
6
|
+
return (match[args.length]?.(...args) ?? (() => {
|
|
7
|
+
throw Error('Invalid Arguments');
|
|
8
|
+
})());
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as Arguments from './arguments.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as Arguments from './arguments.mjs';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Settings } from '../settings/index.mjs';
|
|
2
|
+
import { Guard } from '../../guard/index.mjs';
|
|
3
|
+
let supported = undefined;
|
|
4
|
+
// ------------------------------------------------------------------
|
|
5
|
+
// TryEval
|
|
6
|
+
// ------------------------------------------------------------------
|
|
7
|
+
// deno-coverage-ignore-start - catch is environment dependent
|
|
8
|
+
function TryEval() {
|
|
9
|
+
try {
|
|
10
|
+
new globalThis.Function('null')();
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
// deno-coverage-ignore-stop
|
|
18
|
+
// ------------------------------------------------------------------
|
|
19
|
+
// CanEvaluate
|
|
20
|
+
// ------------------------------------------------------------------
|
|
21
|
+
/** Returns true if the environment supports dynamic JavaScript evaluation */
|
|
22
|
+
export function CanEvaluate() {
|
|
23
|
+
if (Guard.IsUndefined(supported))
|
|
24
|
+
supported = TryEval();
|
|
25
|
+
return supported && Settings.Get().useEval;
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './can-evaluate.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './can-evaluate.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as Environment from './environment.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as Environment from './environment.mjs';
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
2
|
+
import { Unreachable } from '../unreachable/index.mjs';
|
|
3
|
+
import { Guard, GlobalsGuard } from '../../guard/index.mjs';
|
|
4
|
+
// ------------------------------------------------------------------
|
|
5
|
+
// InstanceKeys
|
|
6
|
+
//
|
|
7
|
+
// Retrieves all enumerable and non-enumerable own property keys
|
|
8
|
+
// and inherited prototype keys (excluding symbols and the 'constructor')
|
|
9
|
+
// from an object instance.
|
|
10
|
+
//
|
|
11
|
+
// This function is useful for differentiating between class instances
|
|
12
|
+
// based on their structural keys rather than relying on the
|
|
13
|
+
// constructor name. It provides a more reliable structural comparison
|
|
14
|
+
// by capturing both own and prototype properties.
|
|
15
|
+
//
|
|
16
|
+
// ------------------------------------------------------------------
|
|
17
|
+
function InstanceKeys(value) {
|
|
18
|
+
const propertyKeys = new Set();
|
|
19
|
+
let current = value;
|
|
20
|
+
while (current && current !== Object.prototype) {
|
|
21
|
+
for (const key of Reflect.ownKeys(current)) {
|
|
22
|
+
if (key !== 'constructor' && typeof key !== 'symbol')
|
|
23
|
+
propertyKeys.add(key);
|
|
24
|
+
}
|
|
25
|
+
current = Object.getPrototypeOf(current);
|
|
26
|
+
}
|
|
27
|
+
return [...propertyKeys];
|
|
28
|
+
}
|
|
29
|
+
// ------------------------------------------------------------------
|
|
30
|
+
// IsIEEE754
|
|
31
|
+
//
|
|
32
|
+
// TypeBox guards do not consider +/- Infinity or NaN as valid
|
|
33
|
+
// numbers, but they are valid IEEE754 numbers. We use a special
|
|
34
|
+
// guard to ensure these numbers are considered for hashing.
|
|
35
|
+
//
|
|
36
|
+
// ------------------------------------------------------------------
|
|
37
|
+
function IsIEEE754(value) {
|
|
38
|
+
return typeof value === 'number';
|
|
39
|
+
}
|
|
40
|
+
// ------------------------------------------------------------------
|
|
41
|
+
// ByteMarker
|
|
42
|
+
// ------------------------------------------------------------------
|
|
43
|
+
var ByteMarker;
|
|
44
|
+
(function (ByteMarker) {
|
|
45
|
+
ByteMarker[ByteMarker["Array"] = 0] = "Array";
|
|
46
|
+
ByteMarker[ByteMarker["BigInt"] = 1] = "BigInt";
|
|
47
|
+
ByteMarker[ByteMarker["Boolean"] = 2] = "Boolean";
|
|
48
|
+
ByteMarker[ByteMarker["Date"] = 3] = "Date";
|
|
49
|
+
ByteMarker[ByteMarker["Constructor"] = 4] = "Constructor";
|
|
50
|
+
ByteMarker[ByteMarker["Function"] = 5] = "Function";
|
|
51
|
+
ByteMarker[ByteMarker["Null"] = 6] = "Null";
|
|
52
|
+
ByteMarker[ByteMarker["Number"] = 7] = "Number";
|
|
53
|
+
ByteMarker[ByteMarker["Object"] = 8] = "Object";
|
|
54
|
+
ByteMarker[ByteMarker["RegExp"] = 9] = "RegExp";
|
|
55
|
+
ByteMarker[ByteMarker["String"] = 10] = "String";
|
|
56
|
+
ByteMarker[ByteMarker["Symbol"] = 11] = "Symbol";
|
|
57
|
+
ByteMarker[ByteMarker["TypeArray"] = 12] = "TypeArray";
|
|
58
|
+
ByteMarker[ByteMarker["Undefined"] = 13] = "Undefined";
|
|
59
|
+
})(ByteMarker || (ByteMarker = {}));
|
|
60
|
+
// ------------------------------------------------------------------
|
|
61
|
+
// State
|
|
62
|
+
// ------------------------------------------------------------------
|
|
63
|
+
let Accumulator = BigInt('14695981039346656037');
|
|
64
|
+
const [Prime, Size] = [BigInt('1099511628211'), BigInt('18446744073709551616' /* 2 ^ 64 */)];
|
|
65
|
+
const Bytes = Array.from({ length: 256 }).map((_, i) => BigInt(i));
|
|
66
|
+
const F64 = new Float64Array(1);
|
|
67
|
+
const F64In = new DataView(F64.buffer);
|
|
68
|
+
const F64Out = new Uint8Array(F64.buffer);
|
|
69
|
+
// ------------------------------------------------------------------
|
|
70
|
+
// Operation
|
|
71
|
+
// ------------------------------------------------------------------
|
|
72
|
+
function FNV1A64_OP(byte) {
|
|
73
|
+
Accumulator = Accumulator ^ Bytes[byte];
|
|
74
|
+
Accumulator = (Accumulator * Prime) % Size;
|
|
75
|
+
}
|
|
76
|
+
// ------------------------------------------------------------------
|
|
77
|
+
// Array
|
|
78
|
+
// ------------------------------------------------------------------
|
|
79
|
+
function FromArray(value) {
|
|
80
|
+
FNV1A64_OP(ByteMarker.Array);
|
|
81
|
+
for (const item of value) {
|
|
82
|
+
FromValue(item);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// ------------------------------------------------------------------
|
|
86
|
+
// BigInt
|
|
87
|
+
// ------------------------------------------------------------------
|
|
88
|
+
function FromBigInt(value) {
|
|
89
|
+
FNV1A64_OP(ByteMarker.BigInt);
|
|
90
|
+
F64In.setBigInt64(0, value);
|
|
91
|
+
for (const byte of F64Out) {
|
|
92
|
+
FNV1A64_OP(byte);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// ------------------------------------------------------------------
|
|
96
|
+
// Boolean
|
|
97
|
+
// ------------------------------------------------------------------
|
|
98
|
+
function FromBoolean(value) {
|
|
99
|
+
FNV1A64_OP(ByteMarker.Boolean);
|
|
100
|
+
FNV1A64_OP(value ? 1 : 0);
|
|
101
|
+
}
|
|
102
|
+
// ------------------------------------------------------------------
|
|
103
|
+
// Constructor
|
|
104
|
+
// ------------------------------------------------------------------
|
|
105
|
+
function FromConstructor(value) {
|
|
106
|
+
FNV1A64_OP(ByteMarker.Constructor);
|
|
107
|
+
FromValue(value.toString());
|
|
108
|
+
}
|
|
109
|
+
// ------------------------------------------------------------------
|
|
110
|
+
// Date
|
|
111
|
+
// ------------------------------------------------------------------
|
|
112
|
+
function FromDate(value) {
|
|
113
|
+
FNV1A64_OP(ByteMarker.Date);
|
|
114
|
+
FromValue(value.getTime());
|
|
115
|
+
}
|
|
116
|
+
// ------------------------------------------------------------------
|
|
117
|
+
// Function
|
|
118
|
+
// ------------------------------------------------------------------
|
|
119
|
+
function FromFunction(value) {
|
|
120
|
+
FNV1A64_OP(ByteMarker.Function);
|
|
121
|
+
FromValue(value.toString());
|
|
122
|
+
}
|
|
123
|
+
// ------------------------------------------------------------------
|
|
124
|
+
// Null
|
|
125
|
+
// ------------------------------------------------------------------
|
|
126
|
+
function FromNull(_value) {
|
|
127
|
+
FNV1A64_OP(ByteMarker.Null);
|
|
128
|
+
}
|
|
129
|
+
// ------------------------------------------------------------------
|
|
130
|
+
// Number | IEEE754
|
|
131
|
+
// ------------------------------------------------------------------
|
|
132
|
+
function FromNumber(value) {
|
|
133
|
+
FNV1A64_OP(ByteMarker.Number);
|
|
134
|
+
F64In.setFloat64(0, value, true /* little-endian */);
|
|
135
|
+
for (const byte of F64Out) {
|
|
136
|
+
FNV1A64_OP(byte);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// ------------------------------------------------------------------
|
|
140
|
+
// Object
|
|
141
|
+
// ------------------------------------------------------------------
|
|
142
|
+
function FromObject(value) {
|
|
143
|
+
FNV1A64_OP(ByteMarker.Object);
|
|
144
|
+
for (const key of InstanceKeys(value).sort()) {
|
|
145
|
+
FromValue(key);
|
|
146
|
+
FromValue(value[key]);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// ------------------------------------------------------------------
|
|
150
|
+
// RegExp
|
|
151
|
+
// ------------------------------------------------------------------
|
|
152
|
+
function FromRegExp(value) {
|
|
153
|
+
FNV1A64_OP(ByteMarker.RegExp);
|
|
154
|
+
FromString(value.toString());
|
|
155
|
+
}
|
|
156
|
+
// ------------------------------------------------------------------
|
|
157
|
+
// String
|
|
158
|
+
// ------------------------------------------------------------------
|
|
159
|
+
const encoder = new TextEncoder();
|
|
160
|
+
function FromString(value) {
|
|
161
|
+
FNV1A64_OP(ByteMarker.String);
|
|
162
|
+
for (const byte of encoder.encode(value)) {
|
|
163
|
+
FNV1A64_OP(byte);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// ------------------------------------------------------------------
|
|
167
|
+
// Symbol
|
|
168
|
+
// ------------------------------------------------------------------
|
|
169
|
+
function FromSymbol(value) {
|
|
170
|
+
FNV1A64_OP(ByteMarker.Symbol);
|
|
171
|
+
FromValue(value.toString());
|
|
172
|
+
}
|
|
173
|
+
// ------------------------------------------------------------------
|
|
174
|
+
// TypeArray
|
|
175
|
+
// ------------------------------------------------------------------
|
|
176
|
+
function FromTypeArray(value) {
|
|
177
|
+
FNV1A64_OP(ByteMarker.TypeArray);
|
|
178
|
+
const buffer = new Uint8Array(value.buffer);
|
|
179
|
+
for (let i = 0; i < buffer.length; i++) {
|
|
180
|
+
FNV1A64_OP(buffer[i]);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// ------------------------------------------------------------------
|
|
184
|
+
// Undefined
|
|
185
|
+
// ------------------------------------------------------------------
|
|
186
|
+
function FromUndefined(_value) {
|
|
187
|
+
return FNV1A64_OP(ByteMarker.Undefined);
|
|
188
|
+
}
|
|
189
|
+
// ------------------------------------------------------------------
|
|
190
|
+
// Hash
|
|
191
|
+
//
|
|
192
|
+
// deno-coverage-ignore-start - unreachable
|
|
193
|
+
//
|
|
194
|
+
// This function should all JavaScript values so we can't reach the
|
|
195
|
+
// fall-through. We use Unreachable to assert that no values pass
|
|
196
|
+
// through. We will need to handle these should they arise.
|
|
197
|
+
//
|
|
198
|
+
// ------------------------------------------------------------------
|
|
199
|
+
function FromValue(value) {
|
|
200
|
+
return (GlobalsGuard.IsTypeArray(value) ? FromTypeArray(value) :
|
|
201
|
+
GlobalsGuard.IsDate(value) ? FromDate(value) :
|
|
202
|
+
GlobalsGuard.IsRegExp(value) ? FromRegExp(value) :
|
|
203
|
+
GlobalsGuard.IsBoolean(value) ? FromBoolean(value.valueOf()) :
|
|
204
|
+
GlobalsGuard.IsString(value) ? FromString(value.valueOf()) :
|
|
205
|
+
GlobalsGuard.IsNumber(value) ? FromNumber(value.valueOf()) :
|
|
206
|
+
IsIEEE754(value) ? FromNumber(value) :
|
|
207
|
+
Guard.IsArray(value) ? FromArray(value) :
|
|
208
|
+
Guard.IsBoolean(value) ? FromBoolean(value) :
|
|
209
|
+
Guard.IsBigInt(value) ? FromBigInt(value) :
|
|
210
|
+
Guard.IsConstructor(value) ? FromConstructor(value) :
|
|
211
|
+
Guard.IsNull(value) ? FromNull(value) :
|
|
212
|
+
Guard.IsObject(value) ? FromObject(value) :
|
|
213
|
+
Guard.IsString(value) ? FromString(value) :
|
|
214
|
+
Guard.IsSymbol(value) ? FromSymbol(value) :
|
|
215
|
+
Guard.IsUndefined(value) ? FromUndefined(value) :
|
|
216
|
+
Guard.IsFunction(value) ? FromFunction(value) :
|
|
217
|
+
Unreachable());
|
|
218
|
+
}
|
|
219
|
+
// deno-coverage-ignore-stop
|
|
220
|
+
// ------------------------------------------------------------------
|
|
221
|
+
// Hash
|
|
222
|
+
// ------------------------------------------------------------------
|
|
223
|
+
/** Generates a FNV1A-64 non cryptographic hash of the given value */
|
|
224
|
+
export function HashCode(value) {
|
|
225
|
+
Accumulator = BigInt('14695981039346656037');
|
|
226
|
+
FromValue(value);
|
|
227
|
+
return Accumulator;
|
|
228
|
+
}
|
|
229
|
+
/** Generates a FNV1A-64 non cryptographic hash of the given value */
|
|
230
|
+
export function Hash(value) {
|
|
231
|
+
return HashCode(value).toString(16).padStart(16, '0');
|
|
232
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as Hashing from './hash.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as Hashing from './hash.mjs';
|