@depup/typebox 1.1.23-depup.0 → 1.3.9-depup.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/build/compile/code.mjs +2 -2
- package/build/compile/validator.d.mts +7 -14
- package/build/compile/validator.mjs +32 -57
- package/build/error/errors.d.mts +1 -7
- package/build/format/_idna.mjs +36 -6
- package/build/format/_puny.mjs +4 -1
- package/build/format/_registry.mjs +9 -9
- package/build/format/format.d.mts +9 -9
- package/build/format/format.mjs +9 -9
- package/build/format/uuid.d.mts +2 -2
- package/build/format/uuid.mjs +3 -3
- package/build/guard/emit.d.mts +3 -5
- package/build/guard/emit.mjs +12 -13
- package/build/guard/guard.d.mts +15 -7
- package/build/guard/guard.mjs +40 -15
- package/build/guard/string.mjs +16 -4
- package/build/schema/build.d.mts +11 -7
- package/build/schema/build.mjs +28 -9
- package/build/schema/check.d.mts +3 -3
- package/build/schema/compile.d.mts +4 -4
- package/build/schema/compile.mjs +9 -9
- package/build/schema/engine/_context.mjs +3 -3
- package/build/schema/engine/_functions.mjs +34 -16
- package/build/schema/engine/_refine.mjs +4 -4
- package/build/schema/engine/_stack.d.mts +4 -4
- package/build/schema/engine/_stack.mjs +52 -18
- package/build/schema/engine/additionalItems.mjs +17 -7
- package/build/schema/engine/additionalProperties.mjs +1 -1
- package/build/schema/engine/boolean.d.mts +3 -3
- package/build/schema/engine/boolean.mjs +4 -4
- package/build/schema/engine/contains.mjs +18 -6
- package/build/schema/engine/dynamicRef.d.mts +6 -0
- package/build/schema/engine/dynamicRef.mjs +25 -0
- package/build/schema/engine/enum.mjs +1 -1
- package/build/schema/engine/index.d.mts +0 -1
- package/build/schema/engine/index.mjs +0 -1
- package/build/schema/engine/items.mjs +26 -6
- package/build/schema/engine/maxContains.mjs +3 -3
- package/build/schema/engine/minContains.mjs +14 -4
- package/build/schema/engine/not.mjs +4 -2
- package/build/schema/engine/oneOf.mjs +7 -6
- package/build/schema/engine/recursiveRef.mjs +3 -3
- package/build/schema/engine/ref.mjs +4 -10
- package/build/schema/engine/schema.mjs +15 -15
- package/build/schema/engine/type.mjs +15 -19
- package/build/schema/parse.d.mts +3 -3
- package/build/schema/pointer/index.d.mts +1 -1
- package/build/schema/pointer/index.mjs +1 -1
- package/build/schema/pointer/pointer.mjs +11 -1
- package/build/schema/resolve/ref.d.mts +1 -0
- package/build/schema/resolve/ref.mjs +61 -11
- package/build/schema/static/_canonical.d.mts +7 -0
- package/build/schema/static/{~elements.d.mts → _elements.d.mts} +3 -3
- package/build/schema/static/items.d.mts +1 -1
- package/build/schema/static/prefixItems.d.mts +1 -1
- package/build/schema/static/properties.d.mts +27 -6
- package/build/schema/static/ref.d.mts +1 -1
- package/build/schema/static/required.d.mts +1 -11
- package/build/schema/static/schema.d.mts +3 -2
- package/build/schema/static/static.d.mts +2 -2
- package/build/schema/types/_refine.d.mts +2 -2
- package/build/schema/types/_refine.mjs +4 -4
- package/build/schema/types/dependencies.mjs +1 -1
- package/build/schema/types/index.d.mts +0 -1
- package/build/schema/types/index.mjs +0 -1
- package/build/schema/types/schema.d.mts +1 -1
- package/build/schema/types/schema.mjs +2 -2
- package/build/system/locale/_config.d.mts +1 -1
- package/build/system/locale/ar_001.d.mts +1 -1
- package/build/system/locale/ar_001.mjs +0 -1
- package/build/system/locale/bn_BD.d.mts +1 -1
- package/build/system/locale/bn_BD.mjs +0 -1
- package/build/system/locale/cs_CZ.d.mts +1 -1
- package/build/system/locale/cs_CZ.mjs +0 -1
- package/build/system/locale/de_DE.d.mts +1 -1
- package/build/system/locale/de_DE.mjs +0 -1
- package/build/system/locale/el_GR.d.mts +1 -1
- package/build/system/locale/el_GR.mjs +0 -1
- package/build/system/locale/en_US.d.mts +1 -1
- package/build/system/locale/en_US.mjs +0 -1
- package/build/system/locale/es_419.d.mts +1 -1
- package/build/system/locale/es_419.mjs +0 -1
- package/build/system/locale/es_AR.d.mts +1 -1
- package/build/system/locale/es_AR.mjs +0 -1
- package/build/system/locale/es_ES.d.mts +1 -1
- package/build/system/locale/es_ES.mjs +0 -1
- package/build/system/locale/es_MX.d.mts +1 -1
- package/build/system/locale/es_MX.mjs +0 -1
- package/build/system/locale/fa_IR.d.mts +1 -1
- package/build/system/locale/fa_IR.mjs +0 -1
- package/build/system/locale/fil_PH.d.mts +1 -1
- package/build/system/locale/fil_PH.mjs +0 -1
- package/build/system/locale/fr_CA.d.mts +1 -1
- package/build/system/locale/fr_CA.mjs +0 -1
- package/build/system/locale/fr_FR.d.mts +1 -1
- package/build/system/locale/fr_FR.mjs +0 -1
- package/build/system/locale/ha_NG.d.mts +1 -1
- package/build/system/locale/ha_NG.mjs +0 -1
- package/build/system/locale/hi_IN.d.mts +1 -1
- package/build/system/locale/hi_IN.mjs +0 -1
- package/build/system/locale/hu_HU.d.mts +1 -1
- package/build/system/locale/hu_HU.mjs +0 -1
- package/build/system/locale/id_ID.d.mts +1 -1
- package/build/system/locale/id_ID.mjs +0 -1
- package/build/system/locale/it_IT.d.mts +1 -1
- package/build/system/locale/it_IT.mjs +0 -1
- package/build/system/locale/ja_JP.d.mts +1 -1
- package/build/system/locale/ja_JP.mjs +0 -1
- package/build/system/locale/ko_KR.d.mts +1 -1
- package/build/system/locale/ko_KR.mjs +0 -1
- package/build/system/locale/ms_MY.d.mts +1 -1
- package/build/system/locale/ms_MY.mjs +0 -1
- package/build/system/locale/nl_NL.d.mts +1 -1
- package/build/system/locale/nl_NL.mjs +0 -1
- package/build/system/locale/pl_PL.d.mts +1 -1
- package/build/system/locale/pl_PL.mjs +0 -1
- package/build/system/locale/pt_BR.d.mts +1 -1
- package/build/system/locale/pt_BR.mjs +0 -1
- package/build/system/locale/pt_PT.d.mts +1 -1
- package/build/system/locale/pt_PT.mjs +0 -1
- package/build/system/locale/ro_RO.d.mts +1 -1
- package/build/system/locale/ro_RO.mjs +0 -1
- package/build/system/locale/ru_RU.d.mts +1 -1
- package/build/system/locale/ru_RU.mjs +0 -1
- package/build/system/locale/sv_SE.d.mts +1 -1
- package/build/system/locale/sv_SE.mjs +0 -1
- package/build/system/locale/sw_TZ.d.mts +1 -1
- package/build/system/locale/sw_TZ.mjs +0 -1
- package/build/system/locale/th_TH.d.mts +1 -1
- package/build/system/locale/th_TH.mjs +0 -1
- package/build/system/locale/tr_TR.d.mts +1 -1
- package/build/system/locale/tr_TR.mjs +0 -1
- package/build/system/locale/uk_UA.d.mts +1 -1
- package/build/system/locale/uk_UA.mjs +0 -1
- package/build/system/locale/ur_PK.d.mts +1 -1
- package/build/system/locale/ur_PK.mjs +0 -1
- package/build/system/locale/vi_VN.d.mts +1 -1
- package/build/system/locale/vi_VN.mjs +0 -1
- package/build/system/locale/yo_NG.d.mts +1 -1
- package/build/system/locale/yo_NG.mjs +0 -1
- package/build/system/locale/zh_Hans.d.mts +1 -1
- package/build/system/locale/zh_Hans.mjs +0 -1
- package/build/system/locale/zh_Hant.d.mts +1 -1
- package/build/system/locale/zh_Hant.mjs +0 -1
- package/build/system/memory/clone.d.mts +2 -3
- package/build/system/memory/clone.mjs +73 -26
- package/build/system/settings/settings.d.mts +15 -0
- package/build/system/settings/settings.mjs +3 -1
- package/build/type/action/_add_immutable.d.mts +11 -0
- package/build/type/action/_add_immutable.mjs +11 -0
- package/build/type/action/_add_optional.d.mts +11 -0
- package/build/type/action/_add_optional.mjs +11 -0
- package/build/type/action/_add_readonly.d.mts +11 -0
- package/build/type/action/_add_readonly.mjs +11 -0
- package/build/type/action/_remove_immutable.d.mts +11 -0
- package/build/type/action/_remove_immutable.mjs +11 -0
- package/build/type/action/_remove_optional.d.mts +11 -0
- package/build/type/action/_remove_optional.mjs +11 -0
- package/build/type/action/_remove_readonly.d.mts +11 -0
- package/build/type/action/_remove_readonly.mjs +11 -0
- package/build/type/action/capitalize.d.mts +2 -2
- package/build/type/action/capitalize.mjs +2 -3
- package/build/type/action/conditional.d.mts +3 -2
- package/build/type/action/conditional.mjs +3 -2
- package/build/type/action/{constructor-parameters.d.mts → constructor_parameters.d.mts} +2 -2
- package/build/type/action/{constructor-parameters.mjs → constructor_parameters.mjs} +2 -3
- package/build/type/action/evaluate.d.mts +2 -2
- package/build/type/action/evaluate.mjs +2 -3
- package/build/type/action/exclude.d.mts +2 -2
- package/build/type/action/exclude.mjs +2 -3
- package/build/type/action/extract.d.mts +2 -2
- package/build/type/action/extract.mjs +2 -3
- package/build/type/action/index.d.mts +12 -9
- package/build/type/action/index.mjs +12 -9
- package/build/type/action/indexed.d.mts +3 -3
- package/build/type/action/indexed.mjs +3 -4
- package/build/type/action/{instance-type.d.mts → instance_type.d.mts} +2 -2
- package/build/type/action/{instance-type.mjs → instance_type.mjs} +2 -3
- package/build/type/action/interface.d.mts +2 -2
- package/build/type/action/interface.mjs +5 -3
- package/build/type/action/keyof.d.mts +2 -2
- package/build/type/action/keyof.mjs +2 -3
- package/build/type/action/lowercase.d.mts +2 -2
- package/build/type/action/lowercase.mjs +2 -3
- package/build/type/action/mapped.d.mts +3 -2
- package/build/type/action/mapped.mjs +3 -2
- package/build/type/action/module.d.mts +8 -7
- package/build/type/action/module.mjs +7 -6
- package/build/type/action/{non-nullable.d.mts → non_nullable.d.mts} +2 -2
- package/build/type/action/{non-nullable.mjs → non_nullable.mjs} +2 -3
- package/build/type/action/omit.d.mts +3 -3
- package/build/type/action/omit.mjs +3 -4
- package/build/type/action/parameters.d.mts +2 -2
- package/build/type/action/parameters.mjs +2 -3
- package/build/type/action/partial.d.mts +3 -3
- package/build/type/action/partial.mjs +2 -3
- package/build/type/action/pick.d.mts +3 -3
- package/build/type/action/pick.mjs +3 -4
- package/build/type/action/readonly_object.d.mts +16 -0
- package/build/type/action/readonly_object.mjs +19 -0
- package/build/type/action/required.d.mts +2 -2
- package/build/type/action/required.mjs +2 -3
- package/build/type/action/{return-type.d.mts → return_type.d.mts} +2 -2
- package/build/type/action/{return-type.mjs → return_type.mjs} +2 -3
- package/build/type/action/uncapitalize.d.mts +2 -2
- package/build/type/action/uncapitalize.mjs +2 -3
- package/build/type/action/uppercase.d.mts +2 -2
- package/build/type/action/uppercase.mjs +2 -3
- package/build/type/action/with.d.mts +11 -0
- package/build/type/action/with.mjs +11 -0
- package/build/type/engine/call/{distribute-arguments.mjs → distribute_arguments.mjs} +1 -7
- package/build/type/engine/call/instantiate.d.mts +4 -6
- package/build/type/engine/call/instantiate.mjs +6 -5
- package/build/type/engine/call/{resolve-arguments.mjs → resolve_arguments.mjs} +3 -9
- package/build/type/engine/conditional/instantiate.d.mts +4 -2
- package/build/type/engine/conditional/instantiate.mjs +13 -9
- package/build/type/engine/constructor_parameters/instantiate.d.mts +14 -0
- package/build/type/engine/constructor_parameters/instantiate.mjs +25 -0
- package/build/type/engine/cyclic/candidates.d.mts +3 -4
- package/build/type/engine/cyclic/candidates.mjs +3 -6
- package/build/type/engine/cyclic/check.d.mts +6 -9
- package/build/type/engine/cyclic/check.mjs +13 -22
- package/build/type/engine/cyclic/dependencies.d.mts +1 -4
- package/build/type/engine/cyclic/dependencies.mjs +9 -15
- package/build/type/engine/cyclic/extends.d.mts +1 -4
- package/build/type/engine/cyclic/extends.mjs +8 -14
- package/build/type/engine/cyclic/instantiate.d.mts +2 -5
- package/build/type/engine/cyclic/instantiate.mjs +3 -2
- package/build/type/engine/enum/index.d.mts +1 -2
- package/build/type/engine/enum/index.mjs +1 -2
- package/build/type/engine/evaluate/broaden.d.mts +1 -2
- package/build/type/engine/evaluate/broaden.mjs +2 -6
- package/build/type/engine/evaluate/composite.d.mts +11 -7
- package/build/type/engine/evaluate/composite.mjs +11 -7
- package/build/type/engine/evaluate/distribute.d.mts +2 -1
- package/build/type/engine/evaluate/distribute.mjs +7 -17
- package/build/type/engine/evaluate/evaluate.d.mts +17 -5
- package/build/type/engine/evaluate/evaluate.mjs +34 -8
- package/build/type/engine/evaluate/flatten.d.mts +1 -1
- package/build/type/engine/evaluate/instantiate.d.mts +3 -3
- package/build/type/engine/evaluate/instantiate.mjs +5 -10
- package/build/type/engine/evaluate/narrow.d.mts +3 -3
- package/build/type/engine/exclude/instantiate.d.mts +4 -11
- package/build/type/engine/exclude/instantiate.mjs +7 -28
- package/build/type/engine/exclude/operation.d.mts +10 -0
- package/build/type/engine/exclude/operation.mjs +23 -0
- package/build/type/engine/extract/instantiate.d.mts +4 -11
- package/build/type/engine/extract/instantiate.mjs +7 -28
- package/build/type/engine/extract/operation.d.mts +10 -0
- package/build/type/engine/extract/operation.mjs +23 -0
- package/build/type/engine/helpers/index.d.mts +1 -1
- package/build/type/engine/helpers/index.mjs +1 -1
- package/build/type/engine/immutable/instantiate_add.d.mts +10 -0
- package/build/type/engine/immutable/instantiate_add.mjs +14 -0
- package/build/type/engine/immutable/instantiate_remove.d.mts +10 -0
- package/build/type/engine/immutable/instantiate_remove.mjs +14 -0
- package/build/type/engine/index.d.mts +8 -8
- package/build/type/engine/index.mjs +8 -8
- package/build/type/engine/indexable/{from-cyclic.d.mts → from_cyclic.d.mts} +1 -1
- package/build/type/engine/{object/from-cyclic.mjs → indexable/from_cyclic.mjs} +1 -1
- package/build/type/engine/indexable/from_dependent.d.mts +5 -0
- package/build/type/engine/indexable/from_dependent.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 → from_intersect.d.mts} +1 -1
- package/build/type/engine/indexable/{from-intersect.mjs → from_intersect.mjs} +1 -1
- package/build/type/engine/indexable/{from-literal.d.mts → from_literal.d.mts} +1 -1
- 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 +19 -0
- package/build/type/engine/indexable/from_type.mjs +25 -0
- package/build/type/engine/indexable/{from-union.d.mts → from_union.d.mts} +1 -1
- package/build/type/engine/indexable/{from-union.mjs → from_union.mjs} +1 -1
- package/build/type/engine/indexable/{to-indexable-keys.d.mts → to_indexable_keys.d.mts} +1 -1
- package/build/type/engine/indexable/{to-indexable-keys.mjs → to_indexable_keys.mjs} +1 -1
- package/build/type/engine/indexed/from_object.d.mts +16 -0
- package/build/type/engine/indexed/from_object.mjs +40 -0
- package/build/type/engine/indexed/{from-tuple.d.mts → from_tuple.d.mts} +1 -1
- package/build/type/engine/indexed/{from-tuple.mjs → from_tuple.mjs} +1 -1
- package/build/type/engine/indexed/from_type.d.mts +11 -0
- package/build/type/engine/indexed/from_type.mjs +14 -0
- package/build/type/engine/indexed/instantiate.d.mts +7 -12
- package/build/type/engine/indexed/instantiate.mjs +13 -22
- package/build/type/engine/instance_type/instantiate.d.mts +12 -0
- package/build/type/engine/{instance-type → instance_type}/instantiate.mjs +10 -9
- package/build/type/engine/instantiate.d.mts +53 -42
- package/build/type/engine/instantiate.mjs +92 -106
- package/build/type/engine/interface/instantiate.d.mts +6 -7
- package/build/type/engine/interface/instantiate.mjs +12 -8
- package/build/type/engine/intrinsics/{from-template-literal.d.mts → from_template_literal.d.mts} +3 -3
- package/build/type/engine/intrinsics/from_template_literal.mjs +8 -0
- package/build/type/engine/intrinsics/{from-type.d.mts → from_type.d.mts} +4 -4
- package/build/type/engine/intrinsics/{from-type.mjs → from_type.mjs} +4 -4
- package/build/type/engine/intrinsics/{from-union.d.mts → from_union.d.mts} +1 -1
- package/build/type/engine/intrinsics/{from-union.mjs → from_union.mjs} +1 -1
- package/build/type/engine/intrinsics/instantiate.d.mts +13 -9
- package/build/type/engine/intrinsics/instantiate.mjs +29 -25
- package/build/type/engine/keyof/from_type.d.mts +15 -0
- package/build/type/engine/keyof/from_type.mjs +23 -0
- package/build/type/engine/keyof/instantiate.d.mts +6 -17
- package/build/type/engine/keyof/instantiate.mjs +12 -28
- package/build/type/engine/mapped/instantiate.d.mts +4 -19
- package/build/type/engine/mapped/instantiate.mjs +7 -42
- package/build/type/engine/mapped/mapped_operation.d.mts +22 -0
- package/build/type/engine/mapped/mapped_operation.mjs +42 -0
- package/build/type/engine/mapped/mapped_variants.d.mts +17 -0
- package/build/type/engine/mapped/mapped_variants.mjs +39 -0
- package/build/type/engine/module/instantiate.d.mts +7 -9
- package/build/type/engine/module/instantiate.mjs +17 -15
- package/build/type/engine/non_nullable/instantiate.d.mts +14 -0
- package/build/type/engine/non_nullable/instantiate.mjs +22 -0
- package/build/type/engine/object/collapse.d.mts +1 -1
- package/build/type/engine/object/collapse.mjs +1 -1
- package/build/type/engine/object/{from-cyclic.d.mts → from_cyclic.d.mts} +1 -1
- package/build/type/engine/{indexable/from-cyclic.mjs → object/from_cyclic.mjs} +1 -1
- package/build/type/engine/object/from_dependent.d.mts +5 -0
- package/build/type/engine/object/from_dependent.mjs +8 -0
- package/build/type/engine/object/{from-intersect.d.mts → from_intersect.d.mts} +1 -1
- package/build/type/engine/object/{from-intersect.mjs → from_intersect.mjs} +1 -1
- package/build/type/engine/object/{from-tuple.d.mts → from_tuple.d.mts} +2 -2
- package/build/type/engine/object/{from-tuple.mjs → from_tuple.mjs} +2 -2
- package/build/type/engine/object/from_type.d.mts +16 -0
- package/build/type/engine/object/from_type.mjs +23 -0
- package/build/type/engine/object/{from-union.d.mts → from_union.d.mts} +1 -1
- package/build/type/engine/object/{from-union.mjs → from_union.mjs} +4 -11
- package/build/type/engine/omit/from_type.d.mts +12 -0
- package/build/type/engine/omit/from_type.mjs +18 -0
- package/build/type/engine/omit/instantiate.d.mts +4 -11
- package/build/type/engine/omit/instantiate.mjs +7 -22
- package/build/type/engine/optional/instantiate_add.d.mts +10 -0
- package/build/type/engine/optional/instantiate_add.mjs +14 -0
- package/build/type/engine/optional/instantiate_remove.d.mts +10 -0
- package/build/type/engine/optional/instantiate_remove.mjs +14 -0
- package/build/type/engine/parameters/instantiate.d.mts +7 -7
- package/build/type/engine/parameters/instantiate.mjs +14 -11
- package/build/type/engine/{readonly-type/from-cyclic.d.mts → partial/from_cyclic.d.mts} +1 -1
- package/build/type/engine/partial/{from-cyclic.mjs → from_cyclic.mjs} +1 -1
- package/build/type/engine/partial/from_dependent.d.mts +5 -0
- package/build/type/engine/partial/from_dependent.mjs +8 -0
- package/build/type/engine/partial/from_intersect.d.mts +5 -0
- package/build/type/engine/partial/from_intersect.mjs +8 -0
- package/build/type/engine/{readonly-type/from-object.d.mts → partial/from_object.d.mts} +2 -2
- package/build/type/engine/partial/{from-object.mjs → from_object.mjs} +2 -2
- package/build/type/engine/partial/from_type.d.mts +14 -0
- package/build/type/engine/partial/from_type.mjs +20 -0
- package/build/type/engine/{readonly-type/from-union.d.mts → partial/from_union.d.mts} +1 -1
- package/build/type/engine/{readonly-type/from-union.mjs → partial/from_union.mjs} +1 -1
- package/build/type/engine/partial/instantiate.d.mts +4 -4
- package/build/type/engine/partial/instantiate.mjs +8 -7
- package/build/type/engine/pick/from_type.d.mts +13 -0
- package/build/type/engine/pick/from_type.mjs +20 -0
- package/build/type/engine/pick/instantiate.d.mts +4 -12
- package/build/type/engine/pick/instantiate.mjs +7 -23
- package/build/type/engine/priority/index.d.mts +1 -0
- package/build/type/engine/priority/index.mjs +1 -0
- package/build/type/engine/priority/priority.d.mts +20 -0
- package/build/type/engine/priority/priority.mjs +28 -0
- package/build/type/engine/readonly/instantiate_add.d.mts +10 -0
- package/build/type/engine/readonly/instantiate_add.mjs +14 -0
- package/build/type/engine/readonly/instantiate_remove.d.mts +10 -0
- package/build/type/engine/readonly/instantiate_remove.mjs +14 -0
- package/build/type/engine/{readonly-type/from-array.d.mts → readonly_object/from_array.d.mts} +2 -2
- package/build/type/engine/{readonly-type/from-array.mjs → readonly_object/from_array.mjs} +2 -2
- package/build/type/engine/{partial/from-cyclic.d.mts → readonly_object/from_cyclic.d.mts} +1 -1
- package/build/type/engine/{required/from-cyclic.mjs → readonly_object/from_cyclic.mjs} +1 -1
- package/build/type/engine/readonly_object/from_dependent.d.mts +5 -0
- package/build/type/engine/readonly_object/from_dependent.mjs +8 -0
- package/build/type/engine/readonly_object/from_intersect.d.mts +5 -0
- package/build/type/engine/readonly_object/from_intersect.mjs +8 -0
- package/build/type/engine/{partial/from-object.d.mts → readonly_object/from_object.d.mts} +2 -2
- package/build/type/engine/{readonly-type/from-object.mjs → readonly_object/from_object.mjs} +2 -2
- package/build/type/engine/{readonly-type/from-tuple.d.mts → readonly_object/from_tuple.d.mts} +2 -2
- package/build/type/engine/{readonly-type/from-tuple.mjs → readonly_object/from_tuple.mjs} +2 -2
- package/build/type/engine/readonly_object/from_type.d.mts +18 -0
- package/build/type/engine/readonly_object/from_type.mjs +25 -0
- package/build/type/engine/{partial/from-union.d.mts → readonly_object/from_union.d.mts} +1 -1
- package/build/type/engine/{partial/from-union.mjs → readonly_object/from_union.mjs} +1 -1
- package/build/type/engine/readonly_object/instantiate.d.mts +9 -0
- package/build/type/engine/readonly_object/instantiate.mjs +15 -0
- package/build/type/engine/record/{from-key.d.mts → from_key.d.mts} +11 -11
- package/build/type/engine/record/{from-key.mjs → from_key.mjs} +11 -11
- package/build/type/engine/record/{from-key-any.mjs → from_key_any.mjs} +1 -1
- package/build/type/engine/record/{from-key-enum.d.mts → from_key_enum.d.mts} +3 -3
- package/build/type/engine/record/from_key_enum.mjs +8 -0
- package/build/type/engine/record/{from-key-integer.mjs → from_key_integer.mjs} +1 -1
- package/build/type/engine/record/{from-key-intersect.d.mts → from_key_intersect.d.mts} +1 -1
- package/build/type/engine/record/{from-key-intersect.mjs → from_key_intersect.mjs} +1 -1
- package/build/type/engine/record/{from-key-number.mjs → from_key_number.mjs} +1 -1
- package/build/type/engine/record/{from-key-string.mjs → from_key_string.mjs} +1 -1
- package/build/type/engine/record/{from-key-template-literal.d.mts → from_key_template_literal.d.mts} +4 -4
- package/build/type/engine/record/from_key_template_literal.mjs +12 -0
- package/build/type/engine/record/{from-key-union.mjs → from_key_union.mjs} +1 -1
- package/build/type/engine/record/instantiate.d.mts +4 -4
- package/build/type/engine/record/instantiate.mjs +9 -8
- package/build/type/engine/ref/instantiate.d.mts +4 -4
- package/build/type/engine/ref/instantiate.mjs +6 -6
- package/build/type/engine/required/{from-cyclic.d.mts → from_cyclic.d.mts} +1 -1
- package/build/type/engine/{readonly-type/from-cyclic.mjs → required/from_cyclic.mjs} +1 -1
- package/build/type/engine/required/from_dependent.d.mts +5 -0
- package/build/type/engine/required/from_dependent.mjs +8 -0
- package/build/type/engine/required/from_intersect.d.mts +5 -0
- package/build/type/engine/required/from_intersect.mjs +8 -0
- package/build/type/engine/required/{from-object.d.mts → from_object.d.mts} +2 -2
- package/build/type/engine/required/{from-object.mjs → from_object.mjs} +2 -2
- package/build/type/engine/required/from_type.d.mts +14 -0
- package/build/type/engine/required/from_type.mjs +20 -0
- package/build/type/engine/required/{from-union.d.mts → from_union.d.mts} +1 -1
- package/build/type/engine/required/{from-union.mjs → from_union.mjs} +1 -1
- package/build/type/engine/required/instantiate.d.mts +4 -4
- package/build/type/engine/required/instantiate.mjs +8 -7
- package/build/type/engine/return_type/instantiate.d.mts +12 -0
- package/build/type/engine/return_type/instantiate.mjs +21 -0
- package/build/type/engine/{template-literal → template_literal}/decode.d.mts +4 -4
- package/build/type/engine/{template-literal → template_literal}/decode.mjs +6 -12
- package/build/type/engine/{template-literal → template_literal}/encode.d.mts +6 -4
- package/build/type/engine/{template-literal → template_literal}/encode.mjs +17 -16
- package/build/type/engine/{template-literal → template_literal}/index.d.mts +2 -2
- package/build/type/engine/{template-literal → template_literal}/index.mjs +2 -2
- package/build/type/engine/{template-literal → template_literal}/instantiate.d.mts +4 -4
- package/build/type/engine/template_literal/instantiate.mjs +15 -0
- package/build/type/engine/{template-literal/is-finite.mjs → template_literal/is_finite.mjs} +3 -7
- package/build/type/engine/{template-literal/is-pattern.mjs → template_literal/is_pattern.mjs} +1 -0
- package/build/type/engine/this/expand_this.d.mts +16 -0
- package/build/type/engine/this/expand_this.mjs +26 -0
- package/build/type/engine/with/instantiate.d.mts +8 -0
- package/build/type/engine/with/instantiate.mjs +14 -0
- package/build/type/extends/any.d.mts +1 -1
- package/build/type/extends/any.mjs +1 -1
- package/build/type/extends/array.d.mts +2 -2
- package/build/type/extends/array.mjs +2 -2
- package/build/type/extends/bigint.d.mts +1 -1
- package/build/type/extends/bigint.mjs +1 -1
- package/build/type/extends/boolean.d.mts +1 -1
- package/build/type/extends/boolean.mjs +1 -1
- package/build/type/extends/constructor.d.mts +1 -1
- package/build/type/extends/constructor.mjs +1 -1
- package/build/type/extends/dependent.d.mts +6 -0
- package/build/type/extends/dependent.mjs +6 -0
- package/build/type/extends/enum.d.mts +5 -5
- package/build/type/extends/enum.mjs +4 -3
- package/build/type/extends/extends.d.mts +5 -3
- package/build/type/extends/extends.mjs +10 -8
- package/build/type/extends/{extends-left.d.mts → extends_left.d.mts} +7 -9
- package/build/type/extends/{extends-left.mjs → extends_left.mjs} +26 -29
- package/build/type/extends/{extends-right.d.mts → extends_right.d.mts} +9 -7
- package/build/type/extends/extends_right.mjs +49 -0
- package/build/type/extends/function.d.mts +1 -1
- package/build/type/extends/function.mjs +1 -1
- package/build/type/extends/inference.d.mts +1 -1
- package/build/type/extends/inference.mjs +2 -2
- package/build/type/extends/integer.d.mts +1 -1
- package/build/type/extends/integer.mjs +1 -1
- package/build/type/extends/intersect.d.mts +1 -1
- package/build/type/extends/intersect.mjs +1 -1
- package/build/type/extends/literal.d.mts +2 -2
- package/build/type/extends/literal.mjs +2 -2
- package/build/type/extends/never.d.mts +1 -1
- package/build/type/extends/never.mjs +1 -1
- package/build/type/extends/null.d.mts +1 -1
- package/build/type/extends/null.mjs +1 -1
- package/build/type/extends/number.d.mts +1 -1
- package/build/type/extends/number.mjs +1 -1
- package/build/type/extends/object.d.mts +10 -3
- package/build/type/extends/object.mjs +27 -5
- package/build/type/extends/parameters.d.mts +1 -1
- package/build/type/extends/parameters.mjs +4 -3
- package/build/type/extends/record.d.mts +13 -0
- package/build/type/extends/record.mjs +23 -0
- package/build/type/extends/result.d.mts +1 -4
- package/build/type/extends/result.mjs +0 -3
- package/build/type/extends/{return-type.d.mts → return_type.d.mts} +1 -1
- package/build/type/extends/{return-type.mjs → return_type.mjs} +1 -1
- package/build/type/extends/string.d.mts +1 -1
- package/build/type/extends/string.mjs +1 -1
- package/build/type/extends/symbol.d.mts +1 -1
- package/build/type/extends/symbol.mjs +1 -1
- 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 +5 -8
- package/build/type/extends/tuple.mjs +8 -7
- package/build/type/extends/undefined.d.mts +1 -1
- package/build/type/extends/undefined.mjs +1 -1
- package/build/type/extends/union.d.mts +1 -1
- package/build/type/extends/union.mjs +4 -3
- package/build/type/extends/unknown.d.mts +1 -1
- package/build/type/extends/unknown.mjs +1 -1
- package/build/type/extends/void.d.mts +1 -1
- package/build/type/extends/void.mjs +1 -1
- package/build/type/script/mapping.d.mts +110 -119
- package/build/type/script/mapping.mjs +109 -113
- package/build/type/script/parser.d.mts +57 -61
- package/build/type/script/parser.mjs +38 -40
- package/build/type/script/script.d.mts +3 -4
- package/build/type/script/script.mjs +3 -2
- package/build/type/script/token/internal/guard.d.mts +1 -1
- package/build/type/script/token/internal/guard.mjs +1 -1
- package/build/type/script/token/internal/take.mjs +5 -9
- package/build/type/script/token/until.mjs +4 -7
- package/build/type/types/_codec.d.mts +12 -12
- package/build/type/types/_codec.mjs +0 -1
- package/build/type/types/_immutable.d.mts +2 -9
- package/build/type/types/_immutable.mjs +2 -10
- package/build/type/types/_optional.d.mts +2 -9
- package/build/type/types/_optional.mjs +2 -11
- package/build/type/types/_readonly.d.mts +2 -9
- package/build/type/types/_readonly.mjs +2 -10
- package/build/type/types/_refine.d.mts +13 -8
- package/build/type/types/_refine.mjs +20 -4
- package/build/type/types/array.d.mts +2 -1
- package/build/type/types/array.mjs +2 -1
- package/build/type/types/call.d.mts +3 -3
- package/build/type/types/call.mjs +3 -2
- package/build/type/types/deferred.d.mts +1 -0
- package/build/type/types/deferred.mjs +1 -1
- package/build/type/types/dependent.d.mts +17 -0
- package/build/type/types/{iterator.mjs → dependent.mjs} +9 -9
- package/build/type/types/enum.d.mts +5 -3
- package/build/type/types/enum.mjs +7 -2
- package/build/type/types/function.mjs +1 -1
- package/build/type/types/index.d.mts +2 -5
- package/build/type/types/index.mjs +2 -5
- package/build/type/types/number.d.mts +1 -1
- package/build/type/types/number.mjs +1 -1
- package/build/type/types/object.mjs +1 -1
- package/build/type/types/properties.d.mts +2 -1
- package/build/type/types/record.d.mts +19 -15
- package/build/type/types/record.mjs +19 -17
- package/build/type/types/static.d.mts +3 -6
- package/build/type/types/{template-literal.d.mts → template_literal.d.mts} +6 -4
- package/build/type/types/{template-literal.mjs → template_literal.mjs} +10 -4
- package/build/type/types/unsafe.d.mts +1 -2
- package/build/type/types/unsafe.mjs +5 -3
- package/build/typebox.d.mts +11 -15
- package/build/typebox.mjs +10 -14
- package/build/value/clean/clean.mjs +5 -3
- package/build/value/clean/{from-array.mjs → from_array.mjs} +1 -1
- package/build/value/clean/{from-cyclic.mjs → from_cyclic.mjs} +1 -1
- package/build/value/clean/{from-intersect.mjs → from_intersect.mjs} +3 -3
- package/build/value/clean/{from-object.mjs → from_object.mjs} +1 -1
- package/build/value/clean/{from-record.mjs → from_record.mjs} +1 -1
- package/build/value/clean/{from-ref.mjs → from_ref.mjs} +1 -1
- package/build/value/clean/{from-tuple.mjs → from_tuple.mjs} +1 -1
- package/build/value/clean/from_type.mjs +21 -0
- package/build/value/clean/{from-union.mjs → from_union.mjs} +2 -3
- package/build/value/clone/clone.mjs +2 -72
- package/build/value/codec/decode.mjs +5 -3
- package/build/value/codec/encode.mjs +5 -3
- package/build/value/codec/{from-array.mjs → from_array.mjs} +2 -5
- package/build/value/codec/{from-cyclic.mjs → from_cyclic.mjs} +1 -1
- package/build/value/codec/{from-intersect.mjs → from_intersect.mjs} +1 -1
- package/build/value/codec/{from-object.mjs → from_object.mjs} +3 -6
- package/build/value/codec/{from-record.mjs → from_record.mjs} +3 -8
- package/build/value/codec/{from-ref.mjs → from_ref.mjs} +1 -1
- package/build/value/codec/{from-tuple.mjs → from_tuple.mjs} +2 -5
- package/build/value/codec/{from-type.mjs → from_type.mjs} +8 -8
- package/build/value/codec/{from-union.mjs → from_union.mjs} +3 -4
- package/build/value/convert/convert.mjs +1 -1
- package/build/value/convert/{from-additional.mjs → from_additional.mjs} +1 -1
- package/build/value/convert/{from-array.mjs → from_array.mjs} +1 -1
- package/build/value/convert/{from-cyclic.mjs → from_cyclic.mjs} +1 -1
- package/build/value/convert/from_enum.mjs +6 -0
- package/build/value/convert/{from-intersect.mjs → from_intersect.mjs} +1 -1
- package/build/value/convert/{from-literal.d.mts → from_literal.d.mts} +1 -1
- package/build/value/convert/{from-object.mjs → from_object.mjs} +3 -3
- package/build/value/convert/{from-record.mjs → from_record.mjs} +2 -2
- package/build/value/convert/{from-ref.mjs → from_ref.mjs} +1 -1
- package/build/value/convert/{from-template-literal.d.mts → from_template_literal.d.mts} +1 -1
- package/build/value/convert/from_template_literal.mjs +6 -0
- package/build/value/convert/{from-tuple.mjs → from_tuple.mjs} +1 -1
- package/build/value/convert/from_type.mjs +43 -0
- package/build/value/convert/{from-union.mjs → from_union.mjs} +1 -1
- package/build/value/convert/try/try.d.mts +8 -8
- package/build/value/convert/try/try.mjs +8 -8
- package/build/value/convert/try/{try-array.d.mts → try_array.d.mts} +1 -1
- package/build/value/convert/try/{try-array.mjs → try_array.mjs} +1 -1
- package/build/value/convert/try/{try-bigint.d.mts → try_bigint.d.mts} +1 -1
- package/build/value/convert/try/{try-bigint.mjs → try_bigint.mjs} +1 -1
- package/build/value/convert/try/{try-boolean.d.mts → try_boolean.d.mts} +1 -1
- package/build/value/convert/try/{try-boolean.mjs → try_boolean.mjs} +1 -1
- package/build/value/convert/try/{try-null.d.mts → try_null.d.mts} +1 -1
- package/build/value/convert/try/{try-null.mjs → try_null.mjs} +1 -1
- package/build/value/convert/try/{try-number.d.mts → try_number.d.mts} +1 -1
- package/build/value/convert/try/{try-number.mjs → try_number.mjs} +2 -2
- package/build/value/convert/try/{try-string.d.mts → try_string.d.mts} +1 -1
- package/build/value/convert/try/{try-string.mjs → try_string.mjs} +1 -1
- package/build/value/convert/try/{try-undefined.d.mts → try_undefined.d.mts} +1 -1
- package/build/value/convert/try/{try-undefined.mjs → try_undefined.mjs} +1 -1
- package/build/value/create/create.mjs +1 -1
- package/build/value/create/{from-array.mjs → from_array.mjs} +1 -1
- package/build/value/create/{from-constructor.mjs → from_constructor.mjs} +1 -1
- package/build/value/create/{from-cyclic.mjs → from_cyclic.mjs} +1 -1
- package/build/value/create/from_enum.mjs +6 -0
- package/build/value/create/{from-function.mjs → from_function.mjs} +1 -1
- package/build/value/create/{from-intersect.mjs → from_intersect.mjs} +1 -1
- package/build/value/create/{from-object.mjs → from_object.mjs} +1 -1
- package/build/value/create/{from-ref.mjs → from_ref.mjs} +1 -1
- package/build/value/create/{from-template-literal.mjs → from_template_literal.mjs} +2 -2
- package/build/value/create/{from-tuple.mjs → from_tuple.mjs} +1 -1
- package/build/value/create/from_type.mjs +61 -0
- package/build/value/create/{from-union.mjs → from_union.mjs} +1 -1
- package/build/value/default/default.mjs +1 -1
- package/build/value/default/{from-array.mjs → from_array.mjs} +1 -1
- package/build/value/{clean/from-cyclic.d.mts → default/from_cyclic.d.mts} +1 -1
- package/build/value/default/{from-cyclic.mjs → from_cyclic.mjs} +1 -1
- package/build/value/default/{from-intersect.mjs → from_intersect.mjs} +1 -1
- package/build/value/default/{from-object.mjs → from_object.mjs} +2 -2
- package/build/value/default/{from-record.mjs → from_record.mjs} +1 -1
- package/build/value/default/{from-ref.mjs → from_ref.mjs} +1 -1
- package/build/value/default/{from-tuple.mjs → from_tuple.mjs} +1 -1
- package/build/value/default/from_type.mjs +25 -0
- package/build/value/default/{from-union.mjs → from_union.mjs} +1 -1
- package/build/value/delta/diff.mjs +6 -0
- package/build/value/errors/errors.d.mts +2 -2
- package/build/value/errors/errors.mjs +1 -1
- package/build/value/index.d.mts +0 -1
- package/build/value/index.mjs +0 -1
- package/build/value/repair/{from-array.mjs → from_array.mjs} +1 -1
- package/build/value/repair/from_enum.mjs +6 -0
- package/build/value/repair/from_intersect.d.mts +2 -0
- package/build/value/repair/{from-intersect.mjs → from_intersect.mjs} +1 -1
- package/build/value/repair/{from-object.mjs → from_object.mjs} +1 -1
- package/build/value/repair/{from-record.mjs → from_record.mjs} +1 -1
- package/build/value/repair/{from-ref.mjs → from_ref.mjs} +1 -1
- package/build/value/{convert/from-template-literal.mjs → repair/from_template_literal.mjs} +2 -2
- package/build/value/repair/{from-tuple.mjs → from_tuple.mjs} +1 -1
- package/build/value/repair/{from-type.mjs → from_type.mjs} +34 -32
- package/build/value/{clean/from-union.d.mts → repair/from_union.d.mts} +1 -1
- package/build/value/repair/{from-union.mjs → from_union.mjs} +2 -2
- package/build/value/repair/repair.mjs +1 -1
- package/build/value/shared/index.d.mts +3 -3
- package/build/value/shared/index.mjs +3 -3
- package/build/value/shared/union_priority_sort.d.mts +7 -0
- package/build/value/shared/union_priority_sort.mjs +72 -0
- package/build/value/value.d.mts +0 -1
- package/build/value/value.mjs +0 -1
- package/changes.json +1 -1
- package/package.json +22 -22
- package/readme.md +214 -95
- package/build/schema/engine/_guard.d.mts +0 -6
- package/build/schema/engine/_guard.mjs +0 -26
- package/build/schema/static/~non-readonly.d.mts +0 -7
- package/build/schema/static/~readonly.d.mts +0 -6
- package/build/schema/static/~readonly.mjs +0 -2
- package/build/schema/types/_guard.d.mts +0 -10
- package/build/schema/types/_guard.mjs +0 -16
- package/build/type/action/_optional.d.mts +0 -19
- package/build/type/action/_optional.mjs +0 -40
- package/build/type/action/_readonly.d.mts +0 -19
- package/build/type/action/_readonly.mjs +0 -40
- package/build/type/action/awaited.d.mts +0 -11
- package/build/type/action/awaited.mjs +0 -12
- package/build/type/action/options.d.mts +0 -12
- package/build/type/action/options.mjs +0 -12
- package/build/type/action/readonly-type.d.mts +0 -11
- package/build/type/action/readonly-type.mjs +0 -12
- package/build/type/engine/awaited/instantiate.d.mts +0 -10
- package/build/type/engine/awaited/instantiate.mjs +0 -19
- package/build/type/engine/constructor-parameters/instantiate.d.mts +0 -14
- package/build/type/engine/constructor-parameters/instantiate.mjs +0 -22
- package/build/type/engine/enum/enum-to-union.d.mts +0 -14
- package/build/type/engine/enum/enum-to-union.mjs +0 -24
- package/build/type/engine/indexable/from-enum.d.mts +0 -6
- package/build/type/engine/indexable/from-enum.mjs +0 -8
- package/build/type/engine/indexable/from-template-literal.d.mts +0 -5
- package/build/type/engine/indexable/from-template-literal.mjs +0 -8
- package/build/type/engine/indexable/from-type.d.mts +0 -17
- package/build/type/engine/indexable/from-type.mjs +0 -22
- package/build/type/engine/indexed/from-object.d.mts +0 -9
- package/build/type/engine/indexed/from-object.mjs +0 -18
- package/build/type/engine/instance-type/instantiate.d.mts +0 -12
- package/build/type/engine/intrinsics/from-template-literal.mjs +0 -8
- package/build/type/engine/mapped/mapped-variants.d.mts +0 -15
- package/build/type/engine/mapped/mapped-variants.mjs +0 -29
- package/build/type/engine/non-nullable/instantiate.d.mts +0 -15
- package/build/type/engine/non-nullable/instantiate.mjs +0 -22
- package/build/type/engine/object/from-type.d.mts +0 -14
- package/build/type/engine/object/from-type.mjs +0 -20
- package/build/type/engine/options/instantiate.d.mts +0 -8
- package/build/type/engine/options/instantiate.mjs +0 -13
- package/build/type/engine/partial/from-intersect.d.mts +0 -5
- package/build/type/engine/partial/from-intersect.mjs +0 -7
- package/build/type/engine/partial/from-type.d.mts +0 -12
- package/build/type/engine/partial/from-type.mjs +0 -17
- package/build/type/engine/readonly-type/from-intersect.d.mts +0 -5
- package/build/type/engine/readonly-type/from-intersect.mjs +0 -7
- package/build/type/engine/readonly-type/from-type.d.mts +0 -16
- package/build/type/engine/readonly-type/from-type.mjs +0 -22
- package/build/type/engine/readonly-type/instantiate.d.mts +0 -9
- package/build/type/engine/readonly-type/instantiate.mjs +0 -14
- package/build/type/engine/record/from-key-enum.mjs +0 -8
- package/build/type/engine/record/from-key-template-literal.mjs +0 -12
- package/build/type/engine/required/from-intersect.d.mts +0 -5
- package/build/type/engine/required/from-intersect.mjs +0 -7
- package/build/type/engine/required/from-type.d.mts +0 -12
- package/build/type/engine/required/from-type.mjs +0 -17
- package/build/type/engine/return-type/index.d.mts +0 -1
- package/build/type/engine/return-type/index.mjs +0 -1
- package/build/type/engine/return-type/instantiate.d.mts +0 -11
- package/build/type/engine/return-type/instantiate.mjs +0 -18
- package/build/type/engine/template-literal/instantiate.mjs +0 -14
- package/build/type/extends/async-iterator.d.mts +0 -7
- package/build/type/extends/async-iterator.mjs +0 -9
- package/build/type/extends/extends-right.mjs +0 -43
- package/build/type/extends/iterator.d.mts +0 -7
- package/build/type/extends/iterator.mjs +0 -9
- package/build/type/extends/promise.d.mts +0 -7
- package/build/type/extends/promise.mjs +0 -9
- package/build/type/extends/template-literal.d.mts +0 -6
- package/build/type/extends/template-literal.mjs +0 -7
- package/build/type/types/async-iterator.d.mts +0 -16
- package/build/type/types/async-iterator.mjs +0 -24
- package/build/type/types/base.d.mts +0 -50
- package/build/type/types/base.mjs +0 -84
- package/build/type/types/iterator.d.mts +0 -16
- package/build/type/types/promise.d.mts +0 -16
- package/build/type/types/promise.mjs +0 -24
- package/build/value/clean/from-base.d.mts +0 -2
- package/build/value/clean/from-base.mjs +0 -4
- package/build/value/clean/from-type.mjs +0 -23
- package/build/value/convert/from-base.d.mts +0 -2
- package/build/value/convert/from-base.mjs +0 -4
- package/build/value/convert/from-enum.mjs +0 -7
- package/build/value/convert/from-type.mjs +0 -45
- package/build/value/create/from-async-iterator.d.mts +0 -2
- package/build/value/create/from-async-iterator.mjs +0 -5
- package/build/value/create/from-base.d.mts +0 -2
- package/build/value/create/from-base.mjs +0 -4
- package/build/value/create/from-enum.mjs +0 -6
- package/build/value/create/from-iterator.d.mts +0 -2
- package/build/value/create/from-iterator.mjs +0 -5
- package/build/value/create/from-promise.d.mts +0 -2
- package/build/value/create/from-promise.mjs +0 -5
- package/build/value/create/from-type.mjs +0 -69
- package/build/value/default/from-base.d.mts +0 -2
- package/build/value/default/from-base.mjs +0 -5
- package/build/value/default/from-intersect.d.mts +0 -2
- package/build/value/default/from-type.mjs +0 -27
- package/build/value/mutate/error.d.mts +0 -3
- package/build/value/mutate/error.mjs +0 -6
- package/build/value/mutate/from-array.d.mts +0 -2
- package/build/value/mutate/from-array.mjs +0 -16
- package/build/value/mutate/from-object.d.mts +0 -2
- package/build/value/mutate/from-object.mjs +0 -27
- package/build/value/mutate/from-unknown.d.mts +0 -2
- package/build/value/mutate/from-unknown.mjs +0 -7
- package/build/value/mutate/from-value.d.mts +0 -2
- package/build/value/mutate/from-value.mjs +0 -12
- package/build/value/mutate/index.d.mts +0 -1
- package/build/value/mutate/index.mjs +0 -1
- package/build/value/mutate/mutate.d.mts +0 -9
- package/build/value/mutate/mutate.mjs +0 -39
- package/build/value/repair/from-base.d.mts +0 -2
- package/build/value/repair/from-base.mjs +0 -8
- package/build/value/repair/from-enum.mjs +0 -7
- package/build/value/repair/from-template-literal.mjs +0 -7
- package/build/value/shared/union-priority-sort.d.mts +0 -3
- package/build/value/shared/union-priority-sort.mjs +0 -36
- /package/build/format/{date-time.d.mts → date_time.d.mts} +0 -0
- /package/build/format/{date-time.mjs → date_time.mjs} +0 -0
- /package/build/format/{idn-email.d.mts → idn_email.d.mts} +0 -0
- /package/build/format/{idn-email.mjs → idn_email.mjs} +0 -0
- /package/build/format/{idn-hostname.d.mts → idn_hostname.d.mts} +0 -0
- /package/build/format/{idn-hostname.mjs → idn_hostname.mjs} +0 -0
- /package/build/format/{iri-reference.d.mts → iri_reference.d.mts} +0 -0
- /package/build/format/{iri-reference.mjs → iri_reference.mjs} +0 -0
- /package/build/format/{json-pointer.d.mts → json_pointer.d.mts} +0 -0
- /package/build/format/{json-pointer.mjs → json_pointer.mjs} +0 -0
- /package/build/format/{json-pointer-uri-fragment.d.mts → json_pointer_uri_fragment.d.mts} +0 -0
- /package/build/format/{json-pointer-uri-fragment.mjs → json_pointer_uri_fragment.mjs} +0 -0
- /package/build/format/{relative-json-pointer.d.mts → relative_json_pointer.d.mts} +0 -0
- /package/build/format/{relative-json-pointer.mjs → relative_json_pointer.mjs} +0 -0
- /package/build/format/{uri-reference.d.mts → uri_reference.d.mts} +0 -0
- /package/build/format/{uri-reference.mjs → uri_reference.mjs} +0 -0
- /package/build/format/{uri-template.d.mts → uri_template.d.mts} +0 -0
- /package/build/format/{uri-template.mjs → uri_template.mjs} +0 -0
- /package/build/schema/pointer/{pointer-get.d.mts → pointer_get.d.mts} +0 -0
- /package/build/schema/pointer/{pointer-get.mjs → pointer_get.mjs} +0 -0
- /package/build/schema/static/{~comparer.mjs → _canonical.mjs} +0 -0
- /package/build/schema/static/{~comparer.d.mts → _comparer.d.mts} +0 -0
- /package/build/schema/static/{~elements.mjs → _comparer.mjs} +0 -0
- /package/build/schema/static/{~non-readonly.mjs → _elements.mjs} +0 -0
- /package/build/type/engine/call/{distribute-arguments.d.mts → distribute_arguments.d.mts} +0 -0
- /package/build/type/engine/call/{resolve-arguments.d.mts → resolve_arguments.d.mts} +0 -0
- /package/build/type/engine/call/{resolve-target.d.mts → resolve_target.d.mts} +0 -0
- /package/build/type/engine/call/{resolve-target.mjs → resolve_target.mjs} +0 -0
- /package/build/type/engine/{awaited → constructor_parameters}/index.d.mts +0 -0
- /package/build/type/engine/{awaited → constructor_parameters}/index.mjs +0 -0
- /package/build/type/engine/enum/{typescript-enum-to-enum-values.d.mts → typescript_enum_to_enum_values.d.mts} +0 -0
- /package/build/type/engine/enum/{typescript-enum-to-enum-values.mjs → typescript_enum_to_enum_values.mjs} +0 -0
- /package/build/type/engine/helpers/{keys-to-indexer.d.mts → keys_to_indexer.d.mts} +0 -0
- /package/build/type/engine/helpers/{keys-to-indexer.mjs → keys_to_indexer.mjs} +0 -0
- /package/build/type/engine/indexable/{from-literal.mjs → from_literal.mjs} +0 -0
- /package/build/type/engine/indexable/{to-indexable.d.mts → to_indexable.d.mts} +0 -0
- /package/build/type/engine/indexable/{to-indexable.mjs → to_indexable.mjs} +0 -0
- /package/build/type/engine/indexed/{array-indexer.d.mts → array_indexer.d.mts} +0 -0
- /package/build/type/engine/indexed/{array-indexer.mjs → array_indexer.mjs} +0 -0
- /package/build/type/engine/indexed/{from-array.d.mts → from_array.d.mts} +0 -0
- /package/build/type/engine/indexed/{from-array.mjs → from_array.mjs} +0 -0
- /package/build/type/engine/{constructor-parameters → instance_type}/index.d.mts +0 -0
- /package/build/type/engine/{constructor-parameters → instance_type}/index.mjs +0 -0
- /package/build/type/engine/intrinsics/{from-literal.d.mts → from_literal.d.mts} +0 -0
- /package/build/type/engine/intrinsics/{from-literal.mjs → from_literal.mjs} +0 -0
- /package/build/type/engine/keyof/{from-any.d.mts → from_any.d.mts} +0 -0
- /package/build/type/engine/keyof/{from-any.mjs → from_any.mjs} +0 -0
- /package/build/type/engine/keyof/{from-array.d.mts → from_array.d.mts} +0 -0
- /package/build/type/engine/keyof/{from-array.mjs → from_array.mjs} +0 -0
- /package/build/type/engine/keyof/{from-object.d.mts → from_object.d.mts} +0 -0
- /package/build/type/engine/keyof/{from-object.mjs → from_object.mjs} +0 -0
- /package/build/type/engine/keyof/{from-record.d.mts → from_record.d.mts} +0 -0
- /package/build/type/engine/keyof/{from-record.mjs → from_record.mjs} +0 -0
- /package/build/type/engine/keyof/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
- /package/build/type/engine/keyof/{from-tuple.mjs → from_tuple.mjs} +0 -0
- /package/build/type/engine/{instance-type → non_nullable}/index.d.mts +0 -0
- /package/build/type/engine/{instance-type → non_nullable}/index.mjs +0 -0
- /package/build/type/engine/object/{from-object.d.mts → from_object.d.mts} +0 -0
- /package/build/type/engine/object/{from-object.mjs → from_object.mjs} +0 -0
- /package/build/type/engine/{non-nullable → readonly_object}/index.d.mts +0 -0
- /package/build/type/engine/{non-nullable → readonly_object}/index.mjs +0 -0
- /package/build/type/engine/record/{from-key-any.d.mts → from_key_any.d.mts} +0 -0
- /package/build/type/engine/record/{from-key-boolean.d.mts → from_key_boolean.d.mts} +0 -0
- /package/build/type/engine/record/{from-key-boolean.mjs → from_key_boolean.mjs} +0 -0
- /package/build/type/engine/record/{from-key-integer.d.mts → from_key_integer.d.mts} +0 -0
- /package/build/type/engine/record/{from-key-literal.d.mts → from_key_literal.d.mts} +0 -0
- /package/build/type/engine/record/{from-key-literal.mjs → from_key_literal.mjs} +0 -0
- /package/build/type/engine/record/{from-key-number.d.mts → from_key_number.d.mts} +0 -0
- /package/build/type/engine/record/{from-key-string.d.mts → from_key_string.d.mts} +0 -0
- /package/build/type/engine/record/{from-key-union.d.mts → from_key_union.d.mts} +0 -0
- /package/build/type/engine/record/{record-create.d.mts → record_create.d.mts} +0 -0
- /package/build/type/engine/record/{record-create.mjs → record_create.mjs} +0 -0
- /package/build/type/engine/{options → return_type}/index.d.mts +0 -0
- /package/build/type/engine/{options → return_type}/index.mjs +0 -0
- /package/build/type/engine/{template-literal → template_literal}/create.d.mts +0 -0
- /package/build/type/engine/{template-literal → template_literal}/create.mjs +0 -0
- /package/build/type/engine/{template-literal/is-finite.d.mts → template_literal/is_finite.d.mts} +0 -0
- /package/build/type/engine/{template-literal/is-pattern.d.mts → template_literal/is_pattern.d.mts} +0 -0
- /package/build/type/engine/{template-literal → template_literal}/static.d.mts +0 -0
- /package/build/type/engine/{template-literal → template_literal}/static.mjs +0 -0
- /package/build/type/engine/tuple/{to-object.d.mts → to_object.d.mts} +0 -0
- /package/build/type/engine/tuple/{to-object.mjs → to_object.mjs} +0 -0
- /package/build/type/engine/{readonly-type → with}/index.d.mts +0 -0
- /package/build/type/engine/{readonly-type → with}/index.mjs +0 -0
- /package/build/value/clean/{from-array.d.mts → from_array.d.mts} +0 -0
- /package/build/value/{convert/from-cyclic.d.mts → clean/from_cyclic.d.mts} +0 -0
- /package/build/value/clean/{from-intersect.d.mts → from_intersect.d.mts} +0 -0
- /package/build/value/clean/{from-object.d.mts → from_object.d.mts} +0 -0
- /package/build/value/clean/{from-record.d.mts → from_record.d.mts} +0 -0
- /package/build/value/clean/{from-ref.d.mts → from_ref.d.mts} +0 -0
- /package/build/value/clean/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
- /package/build/value/clean/{from-type.d.mts → from_type.d.mts} +0 -0
- /package/build/value/{repair/from-union.d.mts → clean/from_union.d.mts} +0 -0
- /package/build/value/codec/{from-array.d.mts → from_array.d.mts} +0 -0
- /package/build/value/codec/{from-cyclic.d.mts → from_cyclic.d.mts} +0 -0
- /package/build/value/codec/{from-intersect.d.mts → from_intersect.d.mts} +0 -0
- /package/build/value/codec/{from-object.d.mts → from_object.d.mts} +0 -0
- /package/build/value/codec/{from-record.d.mts → from_record.d.mts} +0 -0
- /package/build/value/codec/{from-ref.d.mts → from_ref.d.mts} +0 -0
- /package/build/value/codec/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
- /package/build/value/codec/{from-type.d.mts → from_type.d.mts} +0 -0
- /package/build/value/codec/{from-union.d.mts → from_union.d.mts} +0 -0
- /package/build/value/convert/{from-additional.d.mts → from_additional.d.mts} +0 -0
- /package/build/value/convert/{from-array.d.mts → from_array.d.mts} +0 -0
- /package/build/value/convert/{from-bigint.d.mts → from_bigint.d.mts} +0 -0
- /package/build/value/convert/{from-bigint.mjs → from_bigint.mjs} +0 -0
- /package/build/value/convert/{from-boolean.d.mts → from_boolean.d.mts} +0 -0
- /package/build/value/convert/{from-boolean.mjs → from_boolean.mjs} +0 -0
- /package/build/value/{default/from-cyclic.d.mts → convert/from_cyclic.d.mts} +0 -0
- /package/build/value/convert/{from-enum.d.mts → from_enum.d.mts} +0 -0
- /package/build/value/convert/{from-integer.d.mts → from_integer.d.mts} +0 -0
- /package/build/value/convert/{from-integer.mjs → from_integer.mjs} +0 -0
- /package/build/value/convert/{from-intersect.d.mts → from_intersect.d.mts} +0 -0
- /package/build/value/convert/{from-literal.mjs → from_literal.mjs} +0 -0
- /package/build/value/convert/{from-null.d.mts → from_null.d.mts} +0 -0
- /package/build/value/convert/{from-null.mjs → from_null.mjs} +0 -0
- /package/build/value/convert/{from-number.d.mts → from_number.d.mts} +0 -0
- /package/build/value/convert/{from-number.mjs → from_number.mjs} +0 -0
- /package/build/value/convert/{from-object.d.mts → from_object.d.mts} +0 -0
- /package/build/value/convert/{from-record.d.mts → from_record.d.mts} +0 -0
- /package/build/value/convert/{from-ref.d.mts → from_ref.d.mts} +0 -0
- /package/build/value/convert/{from-string.d.mts → from_string.d.mts} +0 -0
- /package/build/value/convert/{from-string.mjs → from_string.mjs} +0 -0
- /package/build/value/convert/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
- /package/build/value/convert/{from-type.d.mts → from_type.d.mts} +0 -0
- /package/build/value/convert/{from-undefined.d.mts → from_undefined.d.mts} +0 -0
- /package/build/value/convert/{from-undefined.mjs → from_undefined.mjs} +0 -0
- /package/build/value/convert/{from-union.d.mts → from_union.d.mts} +0 -0
- /package/build/value/convert/{from-void.d.mts → from_void.d.mts} +0 -0
- /package/build/value/convert/{from-void.mjs → from_void.mjs} +0 -0
- /package/build/value/convert/try/{try-result.d.mts → try_result.d.mts} +0 -0
- /package/build/value/convert/try/{try-result.mjs → try_result.mjs} +0 -0
- /package/build/value/create/{from-array.d.mts → from_array.d.mts} +0 -0
- /package/build/value/create/{from-bigint.d.mts → from_bigint.d.mts} +0 -0
- /package/build/value/create/{from-bigint.mjs → from_bigint.mjs} +0 -0
- /package/build/value/create/{from-boolean.d.mts → from_boolean.d.mts} +0 -0
- /package/build/value/create/{from-boolean.mjs → from_boolean.mjs} +0 -0
- /package/build/value/create/{from-constructor.d.mts → from_constructor.d.mts} +0 -0
- /package/build/value/create/{from-cyclic.d.mts → from_cyclic.d.mts} +0 -0
- /package/build/value/create/{from-default.d.mts → from_default.d.mts} +0 -0
- /package/build/value/create/{from-default.mjs → from_default.mjs} +0 -0
- /package/build/value/create/{from-enum.d.mts → from_enum.d.mts} +0 -0
- /package/build/value/create/{from-function.d.mts → from_function.d.mts} +0 -0
- /package/build/value/create/{from-integer.d.mts → from_integer.d.mts} +0 -0
- /package/build/value/create/{from-integer.mjs → from_integer.mjs} +0 -0
- /package/build/value/create/{from-intersect.d.mts → from_intersect.d.mts} +0 -0
- /package/build/value/create/{from-literal.d.mts → from_literal.d.mts} +0 -0
- /package/build/value/create/{from-literal.mjs → from_literal.mjs} +0 -0
- /package/build/value/create/{from-never.d.mts → from_never.d.mts} +0 -0
- /package/build/value/create/{from-never.mjs → from_never.mjs} +0 -0
- /package/build/value/create/{from-null.d.mts → from_null.d.mts} +0 -0
- /package/build/value/create/{from-null.mjs → from_null.mjs} +0 -0
- /package/build/value/create/{from-number.d.mts → from_number.d.mts} +0 -0
- /package/build/value/create/{from-number.mjs → from_number.mjs} +0 -0
- /package/build/value/create/{from-object.d.mts → from_object.d.mts} +0 -0
- /package/build/value/create/{from-record.d.mts → from_record.d.mts} +0 -0
- /package/build/value/create/{from-record.mjs → from_record.mjs} +0 -0
- /package/build/value/create/{from-ref.d.mts → from_ref.d.mts} +0 -0
- /package/build/value/create/{from-string.d.mts → from_string.d.mts} +0 -0
- /package/build/value/create/{from-string.mjs → from_string.mjs} +0 -0
- /package/build/value/create/{from-symbol.d.mts → from_symbol.d.mts} +0 -0
- /package/build/value/create/{from-symbol.mjs → from_symbol.mjs} +0 -0
- /package/build/value/create/{from-template-literal.d.mts → from_template_literal.d.mts} +0 -0
- /package/build/value/create/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
- /package/build/value/create/{from-type.d.mts → from_type.d.mts} +0 -0
- /package/build/value/create/{from-undefined.d.mts → from_undefined.d.mts} +0 -0
- /package/build/value/create/{from-undefined.mjs → from_undefined.mjs} +0 -0
- /package/build/value/create/{from-union.d.mts → from_union.d.mts} +0 -0
- /package/build/value/create/{from-void.d.mts → from_void.d.mts} +0 -0
- /package/build/value/create/{from-void.mjs → from_void.mjs} +0 -0
- /package/build/value/default/{from-array.d.mts → from_array.d.mts} +0 -0
- /package/build/value/default/{from-default.d.mts → from_default.d.mts} +0 -0
- /package/build/value/default/{from-default.mjs → from_default.mjs} +0 -0
- /package/build/value/{repair/from-intersect.d.mts → default/from_intersect.d.mts} +0 -0
- /package/build/value/default/{from-object.d.mts → from_object.d.mts} +0 -0
- /package/build/value/default/{from-record.d.mts → from_record.d.mts} +0 -0
- /package/build/value/default/{from-ref.d.mts → from_ref.d.mts} +0 -0
- /package/build/value/default/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
- /package/build/value/default/{from-type.d.mts → from_type.d.mts} +0 -0
- /package/build/value/default/{from-union.d.mts → from_union.d.mts} +0 -0
- /package/build/value/repair/{from-array.d.mts → from_array.d.mts} +0 -0
- /package/build/value/repair/{from-enum.d.mts → from_enum.d.mts} +0 -0
- /package/build/value/repair/{from-object.d.mts → from_object.d.mts} +0 -0
- /package/build/value/repair/{from-record.d.mts → from_record.d.mts} +0 -0
- /package/build/value/repair/{from-ref.d.mts → from_ref.d.mts} +0 -0
- /package/build/value/repair/{from-template-literal.d.mts → from_template_literal.d.mts} +0 -0
- /package/build/value/repair/{from-tuple.d.mts → from_tuple.d.mts} +0 -0
- /package/build/value/repair/{from-type.d.mts → from_type.d.mts} +0 -0
- /package/build/value/repair/{from-unknown.d.mts → from_unknown.d.mts} +0 -0
- /package/build/value/repair/{from-unknown.mjs → from_unknown.mjs} +0 -0
- /package/build/value/shared/{optional-undefined.d.mts → optional_undefined.d.mts} +0 -0
- /package/build/value/shared/{optional-undefined.mjs → optional_undefined.mjs} +0 -0
- /package/build/value/shared/{union-score-select.d.mts → union_score_select.d.mts} +0 -0
- /package/build/value/shared/{union-score-select.mjs → union_score_select.mjs} +0 -0
package/README.md
CHANGED
|
@@ -13,8 +13,8 @@ npm install @depup/typebox
|
|
|
13
13
|
|
|
14
14
|
| Field | Value |
|
|
15
15
|
|-------|-------|
|
|
16
|
-
| Original | [typebox](https://www.npmjs.com/package/typebox) @ 1.
|
|
17
|
-
| Processed | 2026-
|
|
16
|
+
| Original | [typebox](https://www.npmjs.com/package/typebox) @ 1.3.9 |
|
|
17
|
+
| Processed | 2026-08-02 |
|
|
18
18
|
| Smoke test | passed |
|
|
19
19
|
| Deps updated | 0 |
|
|
20
20
|
|
package/build/compile/code.mjs
CHANGED
|
@@ -45,8 +45,8 @@ function FunctionSection(build) {
|
|
|
45
45
|
// ------------------------------------------------------------------
|
|
46
46
|
function ExportSection(build) {
|
|
47
47
|
const body = build.UseUnevaluated()
|
|
48
|
-
? `const context = new CheckContext({}, {}); return ${build.
|
|
49
|
-
: `return ${build.
|
|
48
|
+
? `const context = new CheckContext({}, {}); return ${build.Entry()}`
|
|
49
|
+
: `return ${build.Entry()}`;
|
|
50
50
|
return [
|
|
51
51
|
Separator(),
|
|
52
52
|
TsIgnore(),
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
import { type TLocalizedValidationError } from '../error/index.mjs';
|
|
2
|
-
import { type StaticDecode, type StaticEncode, type TProperties, type TSchema
|
|
3
|
-
export declare class Validator<Context extends TProperties = TProperties, Type extends TSchema = TSchema, Encode extends unknown = StaticEncode<Type, Context>, Decode extends unknown = StaticDecode<Type, Context>>
|
|
4
|
-
private readonly context;
|
|
5
|
-
private readonly type;
|
|
6
|
-
private readonly isAccelerated;
|
|
2
|
+
import { type StaticDecode, type StaticEncode, type TProperties, type TSchema } from '../type/index.mjs';
|
|
3
|
+
export declare class Validator<Context extends TProperties = TProperties, Type extends TSchema = TSchema, Encode extends unknown = StaticEncode<Type, Context>, Decode extends unknown = StaticDecode<Type, Context>> {
|
|
7
4
|
private readonly hasCodec;
|
|
8
|
-
private readonly
|
|
9
|
-
private readonly
|
|
10
|
-
/** Constructs a Validator
|
|
5
|
+
private readonly buildResult;
|
|
6
|
+
private readonly evaluateResult;
|
|
7
|
+
/** Constructs a Validator. */
|
|
11
8
|
constructor(context: Context, type: Type);
|
|
12
|
-
/** Constructs a Validator with the given arguments. */
|
|
13
|
-
constructor(context: Context, type: Type, isEvaluated: boolean, hasCodec: boolean, code: string, check: (value: unknown) => boolean);
|
|
14
9
|
/** Returns true if this Validator is using JIT acceleration. */
|
|
15
10
|
IsAccelerated(): boolean;
|
|
16
11
|
/** Returns the Context for this validator. */
|
|
@@ -21,6 +16,8 @@ export declare class Validator<Context extends TProperties = TProperties, Type e
|
|
|
21
16
|
Code(): string;
|
|
22
17
|
/** Performs a type-guard check on the provided value. */
|
|
23
18
|
Check(value: unknown): value is Encode;
|
|
19
|
+
/** Validates a value and returns it. Will throw if invalid. */
|
|
20
|
+
Parse(value: unknown): Encode;
|
|
24
21
|
/** Inspects a value and returns a detailed list of validation errors. */
|
|
25
22
|
Errors(value: unknown): TLocalizedValidationError[];
|
|
26
23
|
/** Cleans a value using the Validator type. */
|
|
@@ -31,10 +28,6 @@ export declare class Validator<Context extends TProperties = TProperties, Type e
|
|
|
31
28
|
Create(): Encode;
|
|
32
29
|
/** Creates defaults using the Validator type. */
|
|
33
30
|
Default(value: unknown): unknown;
|
|
34
|
-
/** Clones this validator. */
|
|
35
|
-
Clone(): Validator<Context, Type>;
|
|
36
|
-
/** Validates a value and returns it. Will throw if invalid. */
|
|
37
|
-
Parse(value: unknown): Encode;
|
|
38
31
|
/** Decodes a value */
|
|
39
32
|
Decode(value: unknown): Decode;
|
|
40
33
|
/** Encodes a value */
|
|
@@ -1,116 +1,91 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { Settings } from '../system/settings/index.mjs';
|
|
3
|
-
import { Arguments } from '../system/arguments/index.mjs';
|
|
4
|
-
import { Environment } from '../system/environment/index.mjs';
|
|
5
|
-
import { Base } from '../type/index.mjs';
|
|
6
3
|
import { Errors, Clean, Convert, Create, Default, Decode, Encode, HasCodec, Parser, ParseError } from '../value/index.mjs';
|
|
7
4
|
import { Build } from '../schema/index.mjs';
|
|
8
5
|
// ------------------------------------------------------------------
|
|
9
6
|
// Validator<...>
|
|
10
7
|
// ------------------------------------------------------------------
|
|
11
|
-
export class Validator
|
|
8
|
+
export class Validator {
|
|
12
9
|
/** Constructs a Validator. */
|
|
13
|
-
constructor(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
2: (context, type) => [context, type]
|
|
18
|
-
});
|
|
19
|
-
if (matched.length === 6) {
|
|
20
|
-
const [context, type, isEvaluated, hasCodec, code, check] = matched;
|
|
21
|
-
this.context = context;
|
|
22
|
-
this.type = type;
|
|
23
|
-
this.isAccelerated = isEvaluated;
|
|
24
|
-
this.hasCodec = hasCodec;
|
|
25
|
-
this.code = code;
|
|
26
|
-
this.check = check;
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
const [context, type] = matched;
|
|
30
|
-
const result = Build(context, type).Evaluate();
|
|
31
|
-
this.hasCodec = HasCodec(context, type);
|
|
32
|
-
this.context = context;
|
|
33
|
-
this.type = type;
|
|
34
|
-
this.isAccelerated = result.IsAccelerated;
|
|
35
|
-
this.code = result.Code;
|
|
36
|
-
this.check = result.Check;
|
|
37
|
-
}
|
|
10
|
+
constructor(context, type) {
|
|
11
|
+
this.hasCodec = HasCodec(context, type);
|
|
12
|
+
this.buildResult = Build(context, type);
|
|
13
|
+
this.evaluateResult = this.buildResult.Evaluate();
|
|
38
14
|
}
|
|
39
15
|
// ----------------------------------------------------------------
|
|
40
16
|
// IsAccelerated
|
|
41
17
|
// ----------------------------------------------------------------
|
|
42
18
|
/** Returns true if this Validator is using JIT acceleration. */
|
|
43
19
|
IsAccelerated() {
|
|
44
|
-
return this.
|
|
20
|
+
return this.evaluateResult.IsAccelerated();
|
|
45
21
|
}
|
|
46
22
|
// ----------------------------------------------------------------
|
|
47
|
-
// Context
|
|
23
|
+
// Context & Type
|
|
48
24
|
// ----------------------------------------------------------------
|
|
49
25
|
/** Returns the Context for this validator. */
|
|
50
26
|
Context() {
|
|
51
|
-
return this.
|
|
27
|
+
return this.buildResult.Context();
|
|
52
28
|
}
|
|
53
29
|
/** Returns the underlying Type used to construct this Validator. */
|
|
54
30
|
Type() {
|
|
55
|
-
return this.
|
|
31
|
+
return this.buildResult.Schema();
|
|
56
32
|
}
|
|
57
33
|
// ----------------------------------------------------------------
|
|
58
34
|
// Code
|
|
59
35
|
// ----------------------------------------------------------------
|
|
60
36
|
/** Returns the generated code for this validator. */
|
|
61
37
|
Code() {
|
|
62
|
-
return this.
|
|
38
|
+
return this.evaluateResult.Code();
|
|
63
39
|
}
|
|
64
40
|
// ----------------------------------------------------------------
|
|
65
|
-
//
|
|
41
|
+
// Standard Validator
|
|
66
42
|
// ----------------------------------------------------------------
|
|
67
43
|
/** Performs a type-guard check on the provided value. */
|
|
68
44
|
Check(value) {
|
|
69
|
-
return this.
|
|
45
|
+
return this.evaluateResult.Check(value);
|
|
46
|
+
}
|
|
47
|
+
/** Validates a value and returns it. Will throw if invalid. */
|
|
48
|
+
Parse(value) {
|
|
49
|
+
const checked = this.Check(value);
|
|
50
|
+
if (checked)
|
|
51
|
+
return value;
|
|
52
|
+
if (Settings.Get().correctiveParse)
|
|
53
|
+
return Parser(this.Context(), this.Type(), value);
|
|
54
|
+
throw new ParseError(value, this.Errors(value));
|
|
70
55
|
}
|
|
71
56
|
/** Inspects a value and returns a detailed list of validation errors. */
|
|
72
57
|
Errors(value) {
|
|
73
|
-
if (
|
|
58
|
+
if (this.IsAccelerated() && this.Check(value))
|
|
74
59
|
return [];
|
|
75
|
-
return Errors(this.
|
|
60
|
+
return Errors(this.Context(), this.Type(), value);
|
|
76
61
|
}
|
|
62
|
+
// ----------------------------------------------------------------
|
|
63
|
+
// Value.* Operations
|
|
64
|
+
// ----------------------------------------------------------------
|
|
77
65
|
/** Cleans a value using the Validator type. */
|
|
78
66
|
Clean(value) {
|
|
79
|
-
return Clean(this.
|
|
67
|
+
return Clean(this.Context(), this.Type(), value);
|
|
80
68
|
}
|
|
81
69
|
/** Converts a value using the Validator type. */
|
|
82
70
|
Convert(value) {
|
|
83
|
-
return Convert(this.
|
|
71
|
+
return Convert(this.Context(), this.Type(), value);
|
|
84
72
|
}
|
|
85
73
|
/** Creates a value using the Validator type. */
|
|
86
74
|
Create() {
|
|
87
|
-
return Create(this.
|
|
75
|
+
return Create(this.Context(), this.Type());
|
|
88
76
|
}
|
|
89
77
|
/** Creates defaults using the Validator type. */
|
|
90
78
|
Default(value) {
|
|
91
|
-
return Default(this.
|
|
92
|
-
}
|
|
93
|
-
/** Clones this validator. */
|
|
94
|
-
Clone() {
|
|
95
|
-
return new Validator(this.context, this.type, this.isAccelerated, this.hasCodec, this.code, this.check);
|
|
96
|
-
}
|
|
97
|
-
/** Validates a value and returns it. Will throw if invalid. */
|
|
98
|
-
Parse(value) {
|
|
99
|
-
const checked = this.Check(value);
|
|
100
|
-
if (checked)
|
|
101
|
-
return value;
|
|
102
|
-
if (Settings.Get().correctiveParse)
|
|
103
|
-
return Parser(this.context, this.type, value);
|
|
104
|
-
throw new ParseError(value, this.Errors(value));
|
|
79
|
+
return Default(this.Context(), this.Type(), value);
|
|
105
80
|
}
|
|
106
81
|
/** Decodes a value */
|
|
107
82
|
Decode(value) {
|
|
108
|
-
const result = this.hasCodec ? Decode(this.
|
|
83
|
+
const result = this.hasCodec ? Decode(this.Context(), this.Type(), value) : this.Parse(value);
|
|
109
84
|
return result;
|
|
110
85
|
}
|
|
111
86
|
/** Encodes a value */
|
|
112
87
|
Encode(value) {
|
|
113
|
-
const result = this.hasCodec ? Encode(this.
|
|
88
|
+
const result = this.hasCodec ? Encode(this.Context(), this.Type(), value) : this.Parse(value);
|
|
114
89
|
return result;
|
|
115
90
|
}
|
|
116
91
|
}
|
package/build/error/errors.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type TValidationError = TAdditionalPropertiesError | TAnyOfError | TBooleanError | TConstError | TContainsError | TDependenciesError | TDependentRequiredError | TEnumError | TExclusiveMaximumError | TExclusiveMinimumError | TFormatError |
|
|
1
|
+
export type TValidationError = TAdditionalPropertiesError | TAnyOfError | TBooleanError | TConstError | TContainsError | TDependenciesError | TDependentRequiredError | TEnumError | TExclusiveMaximumError | TExclusiveMinimumError | TFormatError | TIfError | TMaximumError | TMaxItemsError | TMaxLengthError | TMaxPropertiesError | TMinimumError | TMinItemsError | TMinLengthError | TMinPropertiesError | TMultipleOfError | TNotError | TOneOfError | TPatternError | TPropertyNamesError | TRefineError | TRequiredError | TTypeError | TUnevaluatedItemsError | TUnevaluatedPropertiesError | TUniqueItemsError;
|
|
2
2
|
export declare function IsValidationError(value: unknown): value is TValidationError;
|
|
3
3
|
export type TLocalizedValidationError = TValidationError & {
|
|
4
4
|
message: string;
|
|
@@ -78,12 +78,6 @@ export interface TFormatError extends TValidationErrorBase {
|
|
|
78
78
|
format: string;
|
|
79
79
|
};
|
|
80
80
|
}
|
|
81
|
-
export interface TGuardError extends TValidationErrorBase {
|
|
82
|
-
keyword: '~guard';
|
|
83
|
-
params: {
|
|
84
|
-
errors: object[];
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
81
|
export interface TIfError extends TValidationErrorBase {
|
|
88
82
|
keyword: 'if';
|
|
89
83
|
params: {
|
package/build/format/_idna.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Unreachable } from '../system/unreachable/index.mjs';
|
|
1
2
|
import * as Puny from './_puny.mjs';
|
|
2
3
|
// ------------------------------------------------------------------
|
|
3
4
|
// Unicode General Category Helper (RFC 5892)
|
|
@@ -34,7 +35,8 @@ const RFC5892_DISALLOWED = new Set([
|
|
|
34
35
|
// ------------------------------------------------------------------
|
|
35
36
|
// A set of Virama (halant) code points used to validate CONTEXTJ
|
|
36
37
|
// rules (RFC 5892 Appendix A.1). These characters allow a subsequent
|
|
37
|
-
// Zero Width Joiner (U+
|
|
38
|
+
// Zero Width Non-Joiner (U+200C) or Zero Width Joiner (U+200D) to
|
|
39
|
+
// be valid in a label.
|
|
38
40
|
// ------------------------------------------------------------------
|
|
39
41
|
const VIRAMA_CPS = new Set([
|
|
40
42
|
0x094d,
|
|
@@ -101,8 +103,10 @@ function IsVirama(cp) {
|
|
|
101
103
|
// IsUnicodeLabel
|
|
102
104
|
// ------------------------------------------------------------------
|
|
103
105
|
function IsUnicodeLabel(value) {
|
|
106
|
+
// deno-coverage-ignore-start - unable to reach via format guards
|
|
104
107
|
if (value.length === 0)
|
|
105
|
-
return false
|
|
108
|
+
return Unreachable(); // false
|
|
109
|
+
// deno-coverage-ignore-stop
|
|
106
110
|
// Use spread to handle surrogate pairs and provide O(1) neighbor access
|
|
107
111
|
const cps = [...value].map((c) => c.codePointAt(0));
|
|
108
112
|
const len = cps.length;
|
|
@@ -145,10 +149,17 @@ function IsUnicodeLabel(value) {
|
|
|
145
149
|
if (prev === undefined || !IsHebrew(prev))
|
|
146
150
|
return false;
|
|
147
151
|
break; // Hebrew GERESH
|
|
148
|
-
case
|
|
152
|
+
case 0x200c: // ZWNJ - RFC 5892 Appendix A.1
|
|
153
|
+
// Note: Full validation requires a Unicode joining type table. We reject
|
|
154
|
+
// only when preceded by ASCII (U+0000-U+007F), which can never satisfy
|
|
155
|
+
// the Virama or cursive-joining rules.
|
|
156
|
+
if (prev === undefined || (prev < 0x0080 && !IsVirama(prev)))
|
|
157
|
+
return false;
|
|
158
|
+
break;
|
|
159
|
+
case 0x200d: // ZWJ - RFC 5892 Appendix A.2
|
|
149
160
|
if (prev === undefined || !IsVirama(prev))
|
|
150
161
|
return false;
|
|
151
|
-
break;
|
|
162
|
+
break;
|
|
152
163
|
case 0x30fb: /* Checked at end via hasJapanese */
|
|
153
164
|
break; // KATAKANA MIDDLE DOT
|
|
154
165
|
}
|
|
@@ -192,10 +203,29 @@ function IsPuny(value) {
|
|
|
192
203
|
}
|
|
193
204
|
function IsPunyLabel(value) {
|
|
194
205
|
try {
|
|
195
|
-
|
|
206
|
+
const payload = value.slice(4).toLowerCase();
|
|
207
|
+
// 1. Structural Validation (RFC 3492 syntax)
|
|
208
|
+
//
|
|
209
|
+
// If the payload contains a hyphen, it MUST be a delimiter separating basic
|
|
210
|
+
// ASCII characters from the variable-length integers. A payload consisting
|
|
211
|
+
// of ONLY a hyphen or starting with multiple hyphens without basic ASCII
|
|
212
|
+
// characters (like "-9uc") is fundamentally malformed.
|
|
213
|
+
//
|
|
214
|
+
const lastHyphen = payload.lastIndexOf('-');
|
|
215
|
+
if (lastHyphen === 0) {
|
|
216
|
+
// Catches "-9uc" right here because the delimiter is at index 0, meaning 0
|
|
217
|
+
// basic ASCII characters preceded it, which is non-canonical.
|
|
218
|
+
return false;
|
|
219
|
+
}
|
|
220
|
+
// 2. Decode the payload
|
|
221
|
+
const decoded = Puny.Decode(payload);
|
|
222
|
+
if (!decoded)
|
|
223
|
+
return false;
|
|
224
|
+
// 3. Validate the output rules against RFC 5892
|
|
225
|
+
return IsUnicodeLabel(decoded);
|
|
196
226
|
}
|
|
197
227
|
catch {
|
|
198
|
-
return false;
|
|
228
|
+
return false;
|
|
199
229
|
}
|
|
200
230
|
}
|
|
201
231
|
// ------------------------------------------------------------------
|
package/build/format/_puny.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Unreachable } from '../system/unreachable/index.mjs';
|
|
1
2
|
// ------------------------------------------------------------------
|
|
2
3
|
// PunyCode (RFC 3492)
|
|
3
4
|
// ------------------------------------------------------------------
|
|
@@ -52,8 +53,10 @@ export function Decode(value) {
|
|
|
52
53
|
digit = ch - 0x61; // a-z => 0-25
|
|
53
54
|
else if (ch >= 0x30 && ch <= 0x39)
|
|
54
55
|
digit = ch - 0x30 + 26; // 0-9 => 26-35
|
|
56
|
+
// deno-coverage-ignore-start - _idna.ts maps input to lowercase, so we can't reach here
|
|
55
57
|
else if (ch >= 0x41 && ch <= 0x5a)
|
|
56
|
-
digit = ch - 0x41
|
|
58
|
+
Unreachable(); // digit = ch - 0x41 // A-Z => 0-25
|
|
59
|
+
// deno-coverage-ignore-stop
|
|
57
60
|
else
|
|
58
61
|
throw new Error('Invalid punycode: bad digit character');
|
|
59
62
|
i += digit * w;
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { IsDateTime } from './
|
|
1
|
+
import { IsDateTime } from './date_time.mjs';
|
|
2
2
|
import { IsDate } from './date.mjs';
|
|
3
3
|
import { IsDuration } from './duration.mjs';
|
|
4
4
|
import { IsEmail } from './email.mjs';
|
|
5
5
|
import { IsHostname } from './hostname.mjs';
|
|
6
|
-
import { IsIdnEmail } from './
|
|
7
|
-
import { IsIdnHostname } from './
|
|
6
|
+
import { IsIdnEmail } from './idn_email.mjs';
|
|
7
|
+
import { IsIdnHostname } from './idn_hostname.mjs';
|
|
8
8
|
import { IsIPv4 } from './ipv4.mjs';
|
|
9
9
|
import { IsIPv6 } from './ipv6.mjs';
|
|
10
|
-
import { IsIriReference } from './
|
|
10
|
+
import { IsIriReference } from './iri_reference.mjs';
|
|
11
11
|
import { IsIri } from './iri.mjs';
|
|
12
|
-
import { IsJsonPointerUriFragment } from './
|
|
13
|
-
import { IsJsonPointer } from './
|
|
12
|
+
import { IsJsonPointerUriFragment } from './json_pointer_uri_fragment.mjs';
|
|
13
|
+
import { IsJsonPointer } from './json_pointer.mjs';
|
|
14
14
|
import { IsRegex } from './regex.mjs';
|
|
15
|
-
import { IsRelativeJsonPointer } from './
|
|
15
|
+
import { IsRelativeJsonPointer } from './relative_json_pointer.mjs';
|
|
16
16
|
import { IsTime } from './time.mjs';
|
|
17
|
-
import { IsUriReference } from './
|
|
18
|
-
import { IsUriTemplate } from './
|
|
17
|
+
import { IsUriReference } from './uri_reference.mjs';
|
|
18
|
+
import { IsUriTemplate } from './uri_template.mjs';
|
|
19
19
|
import { IsUri } from './uri.mjs';
|
|
20
20
|
import { IsUrl } from './url.mjs';
|
|
21
21
|
import { IsUuid } from './uuid.mjs';
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
export * from './_registry.mjs';
|
|
2
|
-
export { IsDateTime } from './
|
|
2
|
+
export { IsDateTime } from './date_time.mjs';
|
|
3
3
|
export { IsDate } from './date.mjs';
|
|
4
4
|
export { IsDuration } from './duration.mjs';
|
|
5
5
|
export { IsEmail } from './email.mjs';
|
|
6
6
|
export { IsHostname } from './hostname.mjs';
|
|
7
|
-
export { IsIdnEmail } from './
|
|
8
|
-
export { IsIdnHostname } from './
|
|
7
|
+
export { IsIdnEmail } from './idn_email.mjs';
|
|
8
|
+
export { IsIdnHostname } from './idn_hostname.mjs';
|
|
9
9
|
export { IsIPv4 } from './ipv4.mjs';
|
|
10
10
|
export { IsIPv6 } from './ipv6.mjs';
|
|
11
|
-
export { IsIriReference } from './
|
|
11
|
+
export { IsIriReference } from './iri_reference.mjs';
|
|
12
12
|
export { IsIri } from './iri.mjs';
|
|
13
|
-
export { IsJsonPointerUriFragment } from './
|
|
14
|
-
export { IsJsonPointer } from './
|
|
13
|
+
export { IsJsonPointerUriFragment } from './json_pointer_uri_fragment.mjs';
|
|
14
|
+
export { IsJsonPointer } from './json_pointer.mjs';
|
|
15
15
|
export { IsRegex } from './regex.mjs';
|
|
16
|
-
export { IsRelativeJsonPointer } from './
|
|
16
|
+
export { IsRelativeJsonPointer } from './relative_json_pointer.mjs';
|
|
17
17
|
export { IsTime } from './time.mjs';
|
|
18
|
-
export { IsUriReference } from './
|
|
19
|
-
export { IsUriTemplate } from './
|
|
18
|
+
export { IsUriReference } from './uri_reference.mjs';
|
|
19
|
+
export { IsUriTemplate } from './uri_template.mjs';
|
|
20
20
|
export { IsUri } from './uri.mjs';
|
|
21
21
|
export { IsUrl } from './url.mjs';
|
|
22
22
|
export { IsUuid } from './uuid.mjs';
|
package/build/format/format.mjs
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
export * from './_registry.mjs';
|
|
2
|
-
export { IsDateTime } from './
|
|
2
|
+
export { IsDateTime } from './date_time.mjs';
|
|
3
3
|
export { IsDate } from './date.mjs';
|
|
4
4
|
export { IsDuration } from './duration.mjs';
|
|
5
5
|
export { IsEmail } from './email.mjs';
|
|
6
6
|
export { IsHostname } from './hostname.mjs';
|
|
7
|
-
export { IsIdnEmail } from './
|
|
8
|
-
export { IsIdnHostname } from './
|
|
7
|
+
export { IsIdnEmail } from './idn_email.mjs';
|
|
8
|
+
export { IsIdnHostname } from './idn_hostname.mjs';
|
|
9
9
|
export { IsIPv4 } from './ipv4.mjs';
|
|
10
10
|
export { IsIPv6 } from './ipv6.mjs';
|
|
11
|
-
export { IsIriReference } from './
|
|
11
|
+
export { IsIriReference } from './iri_reference.mjs';
|
|
12
12
|
export { IsIri } from './iri.mjs';
|
|
13
|
-
export { IsJsonPointerUriFragment } from './
|
|
14
|
-
export { IsJsonPointer } from './
|
|
13
|
+
export { IsJsonPointerUriFragment } from './json_pointer_uri_fragment.mjs';
|
|
14
|
+
export { IsJsonPointer } from './json_pointer.mjs';
|
|
15
15
|
export { IsRegex } from './regex.mjs';
|
|
16
|
-
export { IsRelativeJsonPointer } from './
|
|
16
|
+
export { IsRelativeJsonPointer } from './relative_json_pointer.mjs';
|
|
17
17
|
export { IsTime } from './time.mjs';
|
|
18
|
-
export { IsUriReference } from './
|
|
19
|
-
export { IsUriTemplate } from './
|
|
18
|
+
export { IsUriReference } from './uri_reference.mjs';
|
|
19
|
+
export { IsUriTemplate } from './uri_template.mjs';
|
|
20
20
|
export { IsUri } from './uri.mjs';
|
|
21
21
|
export { IsUrl } from './url.mjs';
|
|
22
22
|
export { IsUuid } from './uuid.mjs';
|
package/build/format/uuid.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Returns true if the value is a uuid
|
|
3
|
-
* @specification
|
|
4
|
-
* @
|
|
3
|
+
* @specification https://www.rfc-editor.org/info/rfc4122/
|
|
4
|
+
* @specification https://www.rfc-editor.org/info/rfc9562/
|
|
5
5
|
*/
|
|
6
6
|
export declare function IsUuid(value: string): boolean;
|
package/build/format/uuid.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const Uuid = /^
|
|
1
|
+
const Uuid = /^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;
|
|
2
2
|
/**
|
|
3
3
|
* Returns true if the value is a uuid
|
|
4
|
-
* @specification
|
|
5
|
-
* @
|
|
4
|
+
* @specification https://www.rfc-editor.org/info/rfc4122/
|
|
5
|
+
* @specification https://www.rfc-editor.org/info/rfc9562/
|
|
6
6
|
*/
|
|
7
7
|
export function IsUuid(value) {
|
|
8
8
|
return Uuid.test(value);
|
package/build/guard/emit.d.mts
CHANGED
|
@@ -3,16 +3,12 @@ export declare function Or(left: string, right: string): string;
|
|
|
3
3
|
export declare function Not(expr: string): string;
|
|
4
4
|
/** Returns true if this value is an array */
|
|
5
5
|
export declare function IsArray(value: string): string;
|
|
6
|
-
/** Returns true if this value is an async iterator */
|
|
7
|
-
export declare function IsAsyncIterator(value: unknown): string;
|
|
8
6
|
/** Returns true if this value is bigint */
|
|
9
7
|
export declare function IsBigInt(value: string): string;
|
|
10
8
|
/** Returns true if this value is a boolean */
|
|
11
9
|
export declare function IsBoolean(value: string): string;
|
|
12
10
|
/** Returns true if this value is integer */
|
|
13
11
|
export declare function IsInteger(value: string): string;
|
|
14
|
-
/** Returns true if this value is an iterator */
|
|
15
|
-
export declare function IsIterator(value: unknown): string;
|
|
16
12
|
/** Returns true if this value is null */
|
|
17
13
|
export declare function IsNull(value: string): string;
|
|
18
14
|
/** Returns true if this value is number */
|
|
@@ -37,6 +33,9 @@ export declare function IsGreaterEqualThan(left: string, right: string): string;
|
|
|
37
33
|
export declare function IsMinLength(value: string, length: string): string;
|
|
38
34
|
export declare function IsMaxLength(value: string, length: string): string;
|
|
39
35
|
export declare function Every(value: string, offset: string, params: [value: string, index: string], expression: string): string;
|
|
36
|
+
export declare function Some(value: string, params: [value: string, index: string], expression: string): string;
|
|
37
|
+
export declare function SomeAll(value: string, params: [value: string, index: string], expression: string): string;
|
|
38
|
+
export declare function Counted(value: string, params: [value: string, index: string], expression: string): string;
|
|
40
39
|
export declare function Entries(value: string): string;
|
|
41
40
|
export declare function Keys(value: string): string;
|
|
42
41
|
export declare function HasPropertyKey(value: string, key: string): string;
|
|
@@ -54,5 +53,4 @@ export declare function If(condition: string, then: string): string;
|
|
|
54
53
|
export declare function Return(expression: string): string;
|
|
55
54
|
export declare function ReduceAnd(operands: string[]): string;
|
|
56
55
|
export declare function ReduceOr(operands: string[]): string;
|
|
57
|
-
export declare function PrefixIncrement(expression: string): string;
|
|
58
56
|
export declare function MultipleOf(dividend: string, divisor: string): string;
|
package/build/guard/emit.mjs
CHANGED
|
@@ -26,10 +26,6 @@ export function Not(expr) {
|
|
|
26
26
|
export function IsArray(value) {
|
|
27
27
|
return `Array.isArray(${value})`;
|
|
28
28
|
}
|
|
29
|
-
/** Returns true if this value is an async iterator */
|
|
30
|
-
export function IsAsyncIterator(value) {
|
|
31
|
-
return `Guard.IsAsyncIterator(${value})`;
|
|
32
|
-
}
|
|
33
29
|
/** Returns true if this value is bigint */
|
|
34
30
|
export function IsBigInt(value) {
|
|
35
31
|
return `typeof ${value} === "bigint"`;
|
|
@@ -42,10 +38,6 @@ export function IsBoolean(value) {
|
|
|
42
38
|
export function IsInteger(value) {
|
|
43
39
|
return `Number.isInteger(${value})`;
|
|
44
40
|
}
|
|
45
|
-
/** Returns true if this value is an iterator */
|
|
46
|
-
export function IsIterator(value) {
|
|
47
|
-
return `Guard.IsIterator(${value})`;
|
|
48
|
-
}
|
|
49
41
|
/** Returns true if this value is null */
|
|
50
42
|
export function IsNull(value) {
|
|
51
43
|
return `${value} === null`;
|
|
@@ -118,6 +110,15 @@ export function Every(value, offset, params, expression) {
|
|
|
118
110
|
? `${value}.every((${params[0]}, ${params[1]}) => ${expression})`
|
|
119
111
|
: `((value, callback) => { for(let index = ${offset}; index < value.length; index++) if (!callback(value[index], index)) return false; return true })(${value}, (${params[0]}, ${params[1]}) => ${expression})`;
|
|
120
112
|
}
|
|
113
|
+
export function Some(value, params, expression) {
|
|
114
|
+
return `${value}.some((${params[0]}, ${params[1]}) => ${expression})`;
|
|
115
|
+
}
|
|
116
|
+
export function SomeAll(value, params, expression) {
|
|
117
|
+
return `((value, callback) => { let result = false; for(let index = 0; index < value.length; index++) if (callback(value[index], index)) result = true; return result })(${value}, (${params[0]}, ${params[1]}) => ${expression})`;
|
|
118
|
+
}
|
|
119
|
+
export function Counted(value, params, expression) {
|
|
120
|
+
return `${value}.reduce((result, ${params[0]}, ${params[1]}) => (${expression}) ? ++result : result, 0)`;
|
|
121
|
+
}
|
|
121
122
|
// --------------------------------------------------------------------------
|
|
122
123
|
// Objects
|
|
123
124
|
// --------------------------------------------------------------------------
|
|
@@ -153,6 +154,8 @@ export function Member(left, right) {
|
|
|
153
154
|
return `${left}${IsIdentifier(right) ? `.${right}` : `[${Constant(right)}]`}`;
|
|
154
155
|
}
|
|
155
156
|
export function Constant(value) {
|
|
157
|
+
if (!G.IsValueLike(value))
|
|
158
|
+
throw Error('Unsupported Constant');
|
|
156
159
|
return G.IsString(value) ? JSON.stringify(value) : `${value}`;
|
|
157
160
|
}
|
|
158
161
|
export function Ternary(condition, true_, false_) {
|
|
@@ -180,15 +183,11 @@ export function ReduceAnd(operands) {
|
|
|
180
183
|
return G.IsEqual(operands.length, 0) ? 'true' : operands.reduce((left, right) => And(left, right));
|
|
181
184
|
}
|
|
182
185
|
export function ReduceOr(operands) {
|
|
183
|
-
// deno-coverage-ignore - we never observe 0 operands
|
|
184
186
|
return G.IsEqual(operands.length, 0) ? 'false' : operands.reduce((left, right) => Or(left, right));
|
|
185
187
|
}
|
|
186
188
|
// --------------------------------------------------------------------------
|
|
187
|
-
//
|
|
189
|
+
// MultipleOf
|
|
188
190
|
// --------------------------------------------------------------------------
|
|
189
|
-
export function PrefixIncrement(expression) {
|
|
190
|
-
return `++${expression}`;
|
|
191
|
-
}
|
|
192
191
|
export function MultipleOf(dividend, divisor) {
|
|
193
192
|
return `Guard.IsMultipleOf(${dividend}, ${divisor})`;
|
|
194
193
|
}
|
package/build/guard/guard.d.mts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/** Returns true if this value is an array */
|
|
2
2
|
export declare function IsArray(value: unknown): value is unknown[];
|
|
3
|
-
/** Returns true if this value is an async iterator */
|
|
4
|
-
export declare function IsAsyncIterator(value: unknown): value is AsyncIterableIterator<unknown>;
|
|
5
3
|
/** Returns true if this value is bigint */
|
|
6
4
|
export declare function IsBigInt(value: unknown): value is bigint;
|
|
7
5
|
/** Returns true if this value is a boolean */
|
|
@@ -12,8 +10,6 @@ export declare function IsConstructor(value: unknown): value is new (...args: ne
|
|
|
12
10
|
export declare function IsFunction(value: unknown): value is globalThis.Function;
|
|
13
11
|
/** Returns true if this value is integer */
|
|
14
12
|
export declare function IsInteger(value: unknown): value is number;
|
|
15
|
-
/** Returns true if this value is an iterator */
|
|
16
|
-
export declare function IsIterator(value: unknown): value is IterableIterator<unknown>;
|
|
17
13
|
/** Returns true if this value is null */
|
|
18
14
|
export declare function IsNull(value: unknown): value is null;
|
|
19
15
|
/** Returns true if this value is number */
|
|
@@ -43,8 +39,20 @@ export declare function GraphemeCount(value: string): number;
|
|
|
43
39
|
export declare function IsMaxLength(value: string, length: number): boolean;
|
|
44
40
|
/** Returns true if the string has at least the given number of graphemes */
|
|
45
41
|
export declare function IsMinLength(value: string, length: number): boolean;
|
|
42
|
+
/** Returns true if every element from offset satisfies the callback, short-circuiting on the first failure */
|
|
46
43
|
export declare function Every<T>(value: T[], offset: number, callback: (value: T, index: number) => boolean): boolean;
|
|
44
|
+
/** Returns true if every element from offset satisfies the callback, using exhaustive enumeration */
|
|
47
45
|
export declare function EveryAll<T>(value: T[], offset: number, callback: (value: T, index: number) => boolean): boolean;
|
|
46
|
+
/** Returns true if some element satisfies the callback, short-circuiting on the first success */
|
|
47
|
+
export declare function Some<T>(value: T[], callback: (value: T, index: number) => boolean): boolean;
|
|
48
|
+
/** Returns true if some element satisfies the callback, using exhaustive enumeration */
|
|
49
|
+
export declare function SomeAll<T>(value: T[], callback: (value: T, index: number) => boolean): boolean;
|
|
50
|
+
/** Returns the count of elements that satisfy the callback */
|
|
51
|
+
export declare function Counted(value: unknown[], callback: (value: unknown, index: number) => boolean): number;
|
|
52
|
+
/** Shifts the left-most element from an array and dispatches to the true arm, or the false arm if empty */
|
|
53
|
+
export declare function ShiftLeft<T, True extends (left: T, right: T[]) => unknown, False extends () => unknown>(array: T[], true_: True, false_: False): ReturnType<True> | ReturnType<False>;
|
|
54
|
+
/** Returns true if the PropertyKey is Unsafe (ref: prototype-pollution). */
|
|
55
|
+
export declare function IsUnsafePropertyKey(key: PropertyKey): boolean;
|
|
48
56
|
/** Returns true if this value has this property key */
|
|
49
57
|
export declare function HasPropertyKey<Key extends PropertyKey>(value: object, key: Key): value is {
|
|
50
58
|
[_ in Key]: unknown;
|
|
@@ -53,11 +61,11 @@ export declare function HasPropertyKey<Key extends PropertyKey>(value: object, k
|
|
|
53
61
|
export declare function EntriesRegExp<Value extends unknown = unknown>(value: Record<PropertyKey, Value>): [RegExp, Value][];
|
|
54
62
|
/** Returns object entries as `[string, Value][]` */
|
|
55
63
|
export declare function Entries<Value extends unknown = unknown>(value: Record<PropertyKey, Value>): [string, Value][];
|
|
56
|
-
/** Returns
|
|
64
|
+
/** Returns property keys for this object via `Object.getOwnPropertyNames({ ... })` */
|
|
57
65
|
export declare function Keys(value: Record<PropertyKey, unknown>): string[];
|
|
58
|
-
/** Returns the property keys for this object via `Object.
|
|
66
|
+
/** Returns the property keys for this object via `Object.getOwnPropertySymbols({ ... })` */
|
|
59
67
|
export declare function Symbols(value: Record<PropertyKey, unknown>): symbol[];
|
|
60
68
|
/** Returns the property values for the given object via `Object.values()` */
|
|
61
69
|
export declare function Values(value: Record<PropertyKey, unknown>): unknown[];
|
|
62
|
-
/**
|
|
70
|
+
/** Returns true if left and right values are structurally equal */
|
|
63
71
|
export declare function IsDeepEqual(left: unknown, right: unknown): boolean;
|