@depup/typebox 1.1.21-depup.0 → 1.3.8-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/email.d.mts +1 -1
- package/build/format/email.mjs +3 -24
- package/build/format/format.d.mts +9 -9
- package/build/format/format.mjs +9 -9
- package/build/format/{idn-email.d.mts → idn_email.d.mts} +1 -1
- package/build/format/idn_email.mjs +8 -0
- 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/environment/evaluate.mjs +1 -1
- 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 +86 -98
- package/build/type/script/mapping.mjs +95 -92
- package/build/type/script/parser.d.mts +42 -40
- package/build/type/script/parser.mjs +23 -22
- 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 +7 -0
- package/build/value/convert/{from-bigint.mjs → from_bigint.mjs} +0 -3
- package/build/value/convert/{from-boolean.mjs → from_boolean.mjs} +0 -3
- 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-integer.mjs → from_integer.mjs} +0 -3
- 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-null.mjs → from_null.mjs} +0 -3
- package/build/value/convert/{from-number.mjs → from_number.mjs} +0 -3
- 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-string.mjs → from_string.mjs} +0 -3
- 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.d.mts +2 -0
- package/build/value/convert/from_type.mjs +43 -0
- package/build/value/convert/{from-undefined.mjs → from_undefined.mjs} +0 -3
- package/build/value/convert/{from-union.mjs → from_union.mjs} +1 -1
- package/build/value/convert/{from-void.mjs → from_void.mjs} +0 -3
- package/build/value/convert/try/try.d.mts +8 -7
- package/build/value/convert/try/try.mjs +8 -7
- package/build/value/convert/try/try_array.d.mts +2 -0
- package/build/value/convert/try/try_array.mjs +6 -0
- 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} +5 -34
- 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} +4 -27
- 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} +3 -20
- package/build/value/convert/try/{try-number.d.mts → try_number.d.mts} +1 -1
- package/build/value/convert/try/try_number.mjs +44 -0
- package/build/value/convert/try/{try-result.mjs → try_result.mjs} +0 -1
- package/build/value/convert/try/{try-string.d.mts → try_string.d.mts} +1 -1
- package/build/value/convert/try/try_string.mjs +12 -0
- 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} +3 -20
- 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/format/idn-email.mjs +0 -8
- 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-array.mjs +0 -8
- 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/convert/try/try-number.mjs +0 -76
- package/build/value/convert/try/try-string.mjs +0 -56
- 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/repair/from-type.d.mts +0 -2
- 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-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-boolean.d.mts → from_boolean.d.mts} +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-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-number.d.mts → from_number.d.mts} +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-tuple.d.mts → from_tuple.d.mts} +0 -0
- /package/build/value/convert/{from-undefined.d.mts → from_undefined.d.mts} +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/try/{try-result.d.mts → try_result.d.mts} +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/{convert/from-type.d.mts → default/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/{default/from-type.d.mts → repair/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/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;
|
package/build/guard/guard.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// deno-fmt-ignore-file
|
|
1
2
|
import * as String from './string.mjs';
|
|
2
3
|
// --------------------------------------------------------------------------
|
|
3
4
|
// Guards
|
|
@@ -6,10 +7,6 @@ import * as String from './string.mjs';
|
|
|
6
7
|
export function IsArray(value) {
|
|
7
8
|
return Array.isArray(value);
|
|
8
9
|
}
|
|
9
|
-
/** Returns true if this value is an async iterator */
|
|
10
|
-
export function IsAsyncIterator(value) {
|
|
11
|
-
return IsObject(value) && Symbol.asyncIterator in value;
|
|
12
|
-
}
|
|
13
10
|
/** Returns true if this value is bigint */
|
|
14
11
|
export function IsBigInt(value) {
|
|
15
12
|
return IsEqual(typeof value, 'bigint');
|
|
@@ -37,10 +34,6 @@ export function IsFunction(value) {
|
|
|
37
34
|
export function IsInteger(value) {
|
|
38
35
|
return Number.isInteger(value);
|
|
39
36
|
}
|
|
40
|
-
/** Returns true if this value is an iterator */
|
|
41
|
-
export function IsIterator(value) {
|
|
42
|
-
return IsObject(value) && Symbol.iterator in value;
|
|
43
|
-
}
|
|
44
37
|
/** Returns true if this value is null */
|
|
45
38
|
export function IsNull(value) {
|
|
46
39
|
return IsEqual(value, null);
|
|
@@ -100,7 +93,7 @@ export function IsMultipleOf(dividend, divisor) {
|
|
|
100
93
|
if (IsInteger(dividend) && (1 / divisor) % 1 === 0)
|
|
101
94
|
return true;
|
|
102
95
|
const mod = dividend % divisor;
|
|
103
|
-
return Math.min(Math.abs(mod), Math.abs(mod - divisor)) < tolerance;
|
|
96
|
+
return Math.min(Math.abs(mod), Math.abs(mod - divisor), Math.abs(mod + divisor)) < tolerance;
|
|
104
97
|
}
|
|
105
98
|
// ------------------------------------------------------------------
|
|
106
99
|
// IsClassInstance
|
|
@@ -145,6 +138,7 @@ export function IsMinLength(value, length) {
|
|
|
145
138
|
// --------------------------------------------------------------------------
|
|
146
139
|
// Array
|
|
147
140
|
// --------------------------------------------------------------------------
|
|
141
|
+
/** Returns true if every element from offset satisfies the callback, short-circuiting on the first failure */
|
|
148
142
|
export function Every(value, offset, callback) {
|
|
149
143
|
for (let index = offset; index < value.length; index++) {
|
|
150
144
|
if (!callback(value[index], index))
|
|
@@ -152,6 +146,7 @@ export function Every(value, offset, callback) {
|
|
|
152
146
|
}
|
|
153
147
|
return true;
|
|
154
148
|
}
|
|
149
|
+
/** Returns true if every element from offset satisfies the callback, using exhaustive enumeration */
|
|
155
150
|
export function EveryAll(value, offset, callback) {
|
|
156
151
|
let result = true;
|
|
157
152
|
for (let index = offset; index < value.length; index++) {
|
|
@@ -160,13 +155,41 @@ export function EveryAll(value, offset, callback) {
|
|
|
160
155
|
}
|
|
161
156
|
return result;
|
|
162
157
|
}
|
|
158
|
+
/** Returns true if some element satisfies the callback, short-circuiting on the first success */
|
|
159
|
+
export function Some(value, callback) {
|
|
160
|
+
for (let index = 0; index < value.length; index++) {
|
|
161
|
+
if (callback(value[index], index))
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
/** Returns true if some element satisfies the callback, using exhaustive enumeration */
|
|
167
|
+
export function SomeAll(value, callback) {
|
|
168
|
+
let result = false;
|
|
169
|
+
for (let index = 0; index < value.length; index++) {
|
|
170
|
+
if (callback(value[index], index))
|
|
171
|
+
result = true;
|
|
172
|
+
}
|
|
173
|
+
return result;
|
|
174
|
+
}
|
|
175
|
+
/** Returns the count of elements that satisfy the callback */
|
|
176
|
+
export function Counted(value, callback) {
|
|
177
|
+
return value.reduce((result, value, index) => callback(value, index) ? ++result : result, 0);
|
|
178
|
+
}
|
|
179
|
+
/** Shifts the left-most element from an array and dispatches to the true arm, or the false arm if empty */
|
|
180
|
+
export function ShiftLeft(array, true_, false_) {
|
|
181
|
+
return (IsEqual(array.length, 0) ? false_() : true_(array[0], array.slice(1)));
|
|
182
|
+
}
|
|
163
183
|
// --------------------------------------------------------------------------
|
|
164
184
|
// Object
|
|
165
185
|
// --------------------------------------------------------------------------
|
|
186
|
+
/** Returns true if the PropertyKey is Unsafe (ref: prototype-pollution). */
|
|
187
|
+
export function IsUnsafePropertyKey(key) {
|
|
188
|
+
return IsEqual(key, '__proto__') || IsEqual(key, 'constructor') || IsEqual(key, 'prototype');
|
|
189
|
+
}
|
|
166
190
|
/** Returns true if this value has this property key */
|
|
167
191
|
export function HasPropertyKey(value, key) {
|
|
168
|
-
|
|
169
|
-
return isProtoField ? Object.prototype.hasOwnProperty.call(value, key) : key in value;
|
|
192
|
+
return IsUnsafePropertyKey(key) ? Object.prototype.hasOwnProperty.call(value, key) : key in value;
|
|
170
193
|
}
|
|
171
194
|
/** Returns object entries as `[RegExp, Value][]` */
|
|
172
195
|
export function EntriesRegExp(value) {
|
|
@@ -176,11 +199,11 @@ export function EntriesRegExp(value) {
|
|
|
176
199
|
export function Entries(value) {
|
|
177
200
|
return Object.entries(value);
|
|
178
201
|
}
|
|
179
|
-
/** Returns
|
|
202
|
+
/** Returns property keys for this object via `Object.getOwnPropertyNames({ ... })` */
|
|
180
203
|
export function Keys(value) {
|
|
181
204
|
return Object.getOwnPropertyNames(value);
|
|
182
205
|
}
|
|
183
|
-
/** Returns the property keys for this object via `Object.
|
|
206
|
+
/** Returns the property keys for this object via `Object.getOwnPropertySymbols({ ... })` */
|
|
184
207
|
export function Symbols(value) {
|
|
185
208
|
return Object.getOwnPropertySymbols(value);
|
|
186
209
|
}
|
|
@@ -202,7 +225,9 @@ function DeepEqualArray(left, right) {
|
|
|
202
225
|
return IsArray(right) && IsEqual(left.length, right.length) &&
|
|
203
226
|
left.every((_, index) => IsDeepEqual(left[index], right[index]));
|
|
204
227
|
}
|
|
205
|
-
/**
|
|
228
|
+
/** Returns true if left and right values are structurally equal */
|
|
206
229
|
export function IsDeepEqual(left, right) {
|
|
207
|
-
return (IsArray(left) ? DeepEqualArray(left, right) :
|
|
230
|
+
return (IsArray(left) ? DeepEqualArray(left, right) :
|
|
231
|
+
IsObject(left) ? DeepEqualObject(left, right) :
|
|
232
|
+
IsEqual(left, right));
|
|
208
233
|
}
|
package/build/guard/string.mjs
CHANGED
|
@@ -5,6 +5,18 @@ function IsBetween(value, min, max) {
|
|
|
5
5
|
return value >= min && value <= max;
|
|
6
6
|
}
|
|
7
7
|
// --------------------------------------------------------------------------
|
|
8
|
+
// IsZeroWidthJoiner
|
|
9
|
+
// --------------------------------------------------------------------------
|
|
10
|
+
function IsZeroWidthJoiner(value) {
|
|
11
|
+
return (value === 0x200D);
|
|
12
|
+
}
|
|
13
|
+
// --------------------------------------------------------------------------
|
|
14
|
+
// IsHighSurrogate
|
|
15
|
+
// --------------------------------------------------------------------------
|
|
16
|
+
function IsHighSurrogate(value) {
|
|
17
|
+
return IsBetween(value, 0xD800, 0xDBFF);
|
|
18
|
+
}
|
|
19
|
+
// --------------------------------------------------------------------------
|
|
8
20
|
// IsRegionalIndicator
|
|
9
21
|
// --------------------------------------------------------------------------
|
|
10
22
|
function IsRegionalIndicator(value) {
|
|
@@ -72,10 +84,10 @@ function NextGraphemeClusterIndex(value, clusterStart) {
|
|
|
72
84
|
// IsGraphemeCodePoint
|
|
73
85
|
// --------------------------------------------------------------------------
|
|
74
86
|
function IsGraphemeCodePoint(value) {
|
|
75
|
-
return (
|
|
76
|
-
|
|
77
|
-
(value
|
|
78
|
-
|
|
87
|
+
return (IsHighSurrogate(value) ||
|
|
88
|
+
IsCombiningMark(value) ||
|
|
89
|
+
IsVariationSelector(value) ||
|
|
90
|
+
IsZeroWidthJoiner(value));
|
|
79
91
|
}
|
|
80
92
|
// --------------------------------------------------------------------------
|
|
81
93
|
// GraphemeCount
|
package/build/schema/build.d.mts
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import * as Engine from './engine/index.mjs';
|
|
2
2
|
import * as Schema from './types/index.mjs';
|
|
3
3
|
export type CheckFunction = (value: unknown) => boolean;
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
export declare class EvaluateResult {
|
|
5
|
+
private readonly isAccelerated;
|
|
6
|
+
private readonly code;
|
|
7
|
+
private readonly check;
|
|
8
|
+
constructor(isAccelerated: boolean, code: string, check: CheckFunction);
|
|
9
|
+
IsAccelerated(): boolean;
|
|
10
|
+
Code(): string;
|
|
11
|
+
Check(value: unknown): boolean;
|
|
8
12
|
}
|
|
9
13
|
export declare class BuildResult {
|
|
10
14
|
private readonly context;
|
|
11
15
|
private readonly schema;
|
|
12
16
|
private readonly external;
|
|
13
17
|
private readonly functions;
|
|
14
|
-
private readonly
|
|
18
|
+
private readonly entry;
|
|
15
19
|
private readonly useUnevaluated;
|
|
16
|
-
constructor(context: Record<PropertyKey, Schema.XSchema>, schema: Schema.XSchema, external: Engine.TExternal, functions: string[],
|
|
20
|
+
constructor(context: Record<PropertyKey, Schema.XSchema>, schema: Schema.XSchema, external: Engine.TExternal, functions: string[], entry: string, useUnevaluated: boolean);
|
|
17
21
|
/** Returns the Context used for this build */
|
|
18
22
|
Context(): Record<PropertyKey, Schema.XSchema>;
|
|
19
23
|
/** Returns the Schema used for this build */
|
|
@@ -25,7 +29,7 @@ export declare class BuildResult {
|
|
|
25
29
|
/** Returns check functions */
|
|
26
30
|
Functions(): string[];
|
|
27
31
|
/** Return entry function call. */
|
|
28
|
-
|
|
32
|
+
Entry(): string;
|
|
29
33
|
/** Evaluates the build into a validation function */
|
|
30
34
|
Evaluate(): EvaluateResult;
|
|
31
35
|
}
|
package/build/schema/build.mjs
CHANGED
|
@@ -12,8 +12,8 @@ import * as Engine from './engine/index.mjs';
|
|
|
12
12
|
function CreateCode(build) {
|
|
13
13
|
const functions = build.Functions().join(';\n');
|
|
14
14
|
const statements = build.UseUnevaluated()
|
|
15
|
-
? ['const context = new CheckContext({}, {})', `return ${build.
|
|
16
|
-
: [`return ${build.
|
|
15
|
+
? ['const context = new CheckContext({}, {})', `return ${build.Entry()}`]
|
|
16
|
+
: [`return ${build.Entry()}`];
|
|
17
17
|
return `${functions}; return (value) => { ${statements.join('; ')} }`;
|
|
18
18
|
}
|
|
19
19
|
// ------------------------------------------------------------------
|
|
@@ -40,15 +40,34 @@ function CreateCheck(build, code) {
|
|
|
40
40
|
: CreateDynamicCheck(build);
|
|
41
41
|
}
|
|
42
42
|
// ------------------------------------------------------------------
|
|
43
|
+
// EvaluateResult
|
|
44
|
+
// ------------------------------------------------------------------
|
|
45
|
+
export class EvaluateResult {
|
|
46
|
+
constructor(isAccelerated, code, check) {
|
|
47
|
+
this.isAccelerated = isAccelerated;
|
|
48
|
+
this.code = code;
|
|
49
|
+
this.check = check;
|
|
50
|
+
}
|
|
51
|
+
IsAccelerated() {
|
|
52
|
+
return this.isAccelerated;
|
|
53
|
+
}
|
|
54
|
+
Code() {
|
|
55
|
+
return this.code;
|
|
56
|
+
}
|
|
57
|
+
Check(value) {
|
|
58
|
+
return this.check(value);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// ------------------------------------------------------------------
|
|
43
62
|
// BuildResult
|
|
44
63
|
// ------------------------------------------------------------------
|
|
45
64
|
export class BuildResult {
|
|
46
|
-
constructor(context, schema, external, functions,
|
|
65
|
+
constructor(context, schema, external, functions, entry, useUnevaluated) {
|
|
47
66
|
this.context = context;
|
|
48
67
|
this.schema = schema;
|
|
49
68
|
this.external = external;
|
|
50
69
|
this.functions = functions;
|
|
51
|
-
this.
|
|
70
|
+
this.entry = entry;
|
|
52
71
|
this.useUnevaluated = useUnevaluated;
|
|
53
72
|
}
|
|
54
73
|
/** Returns the Context used for this build */
|
|
@@ -72,14 +91,14 @@ export class BuildResult {
|
|
|
72
91
|
return this.functions;
|
|
73
92
|
}
|
|
74
93
|
/** Return entry function call. */
|
|
75
|
-
|
|
76
|
-
return this.
|
|
94
|
+
Entry() {
|
|
95
|
+
return this.entry;
|
|
77
96
|
}
|
|
78
97
|
/** Evaluates the build into a validation function */
|
|
79
98
|
Evaluate() {
|
|
80
|
-
const
|
|
81
|
-
const
|
|
82
|
-
return
|
|
99
|
+
const code = CreateCode(this);
|
|
100
|
+
const check = CreateCheck(this, code);
|
|
101
|
+
return new EvaluateResult(Environment.CanEvaluate(), code, check);
|
|
83
102
|
}
|
|
84
103
|
}
|
|
85
104
|
/** Builds a schema into a optimized runtime validator */
|
package/build/schema/check.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { type Static } from '../type/types/static.mjs';
|
|
1
2
|
import * as Schema from './types/index.mjs';
|
|
2
|
-
import * as Static from './static/index.mjs';
|
|
3
3
|
/** Checks a value against the provided schema */
|
|
4
|
-
export declare function Check<const Schema extends Schema.XSchema>(schema: Schema, value: unknown): value is Static
|
|
4
|
+
export declare function Check<const Schema extends Schema.XSchema>(schema: Schema, value: unknown): value is Static<Schema>;
|
|
5
5
|
/** Checks a value against the provided schema */
|
|
6
|
-
export declare function Check<const Schema extends Schema.XSchema>(context: Record<PropertyKey, Schema.XSchema>, schema: Schema, value: unknown): value is Static
|
|
6
|
+
export declare function Check<const Schema extends Schema.XSchema>(context: Record<PropertyKey, Schema.XSchema>, schema: Schema, value: unknown): value is Static<Schema>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type TLocalizedValidationError } from '../error/index.mjs';
|
|
2
|
+
import { type Static } from '../type/types/static.mjs';
|
|
2
3
|
import * as Schema from './types/index.mjs';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
private readonly
|
|
6
|
-
private readonly result;
|
|
4
|
+
export declare class Validator<const Schema extends Schema.XSchema = Schema.XSchema, Value extends unknown = Static<Schema>> {
|
|
5
|
+
private readonly buildResult;
|
|
6
|
+
private readonly evaluateResult;
|
|
7
7
|
constructor(context: Record<string, Schema.XSchema>, schema: Schema);
|
|
8
8
|
/** Returns true if this Validator is using JIT acceleration. */
|
|
9
9
|
IsAccelerated(): boolean;
|
package/build/schema/compile.mjs
CHANGED
|
@@ -9,31 +9,31 @@ import { ParseError } from './parse.mjs';
|
|
|
9
9
|
// ------------------------------------------------------------------
|
|
10
10
|
export class Validator {
|
|
11
11
|
constructor(context, schema) {
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
12
|
+
this.buildResult = Build.Build(context, schema);
|
|
13
|
+
this.evaluateResult = this.buildResult.Evaluate();
|
|
14
14
|
}
|
|
15
15
|
/** Returns true if this Validator is using JIT acceleration. */
|
|
16
16
|
IsAccelerated() {
|
|
17
|
-
return this.
|
|
17
|
+
return this.evaluateResult.IsAccelerated();
|
|
18
18
|
}
|
|
19
19
|
/** Returns the underlying Schema used to construct this Validator. */
|
|
20
20
|
Schema() {
|
|
21
|
-
return this.
|
|
21
|
+
return this.buildResult.Schema();
|
|
22
22
|
}
|
|
23
23
|
/** Performs a type-guard check on the provided value. */
|
|
24
24
|
Check(value) {
|
|
25
|
-
return this.
|
|
25
|
+
return this.evaluateResult.Check(value);
|
|
26
26
|
}
|
|
27
27
|
/** Validates a value and returns it. Will throw if invalid. */
|
|
28
28
|
Parse(value) {
|
|
29
|
-
if (this.
|
|
29
|
+
if (this.evaluateResult.Check(value))
|
|
30
30
|
return value;
|
|
31
|
-
const [_result, errors] = Errors(this.
|
|
32
|
-
throw new ParseError(this.
|
|
31
|
+
const [_result, errors] = Errors(this.buildResult.Context(), this.buildResult.Schema(), value);
|
|
32
|
+
throw new ParseError(this.buildResult.Schema(), value, errors);
|
|
33
33
|
}
|
|
34
34
|
/** Inspects a value and returns a detailed list of validation errors. */
|
|
35
35
|
Errors(value) {
|
|
36
|
-
return Errors(this.
|
|
36
|
+
return Errors(this.buildResult.Context(), this.buildResult.Schema(), value);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
/** Compiles this schema into a high performance Validator */
|
|
@@ -7,10 +7,10 @@ import { Guard as G, EmitGuard as E } from '../../guard/index.mjs';
|
|
|
7
7
|
function HasUnevaluatedFromObject(value) {
|
|
8
8
|
return (Schema.IsUnevaluatedItems(value)
|
|
9
9
|
|| Schema.IsUnevaluatedProperties(value)
|
|
10
|
-
|| G.Keys(value)
|
|
10
|
+
|| G.Some(G.Keys(value), key => HasUnevaluatedFromUnknown(value[key])));
|
|
11
11
|
}
|
|
12
12
|
function HasUnevaluatedFromArray(value) {
|
|
13
|
-
return
|
|
13
|
+
return G.Some(value, value => HasUnevaluatedFromUnknown(value));
|
|
14
14
|
}
|
|
15
15
|
function HasUnevaluatedFromUnknown(value) {
|
|
16
16
|
return (G.IsArray(value) ? HasUnevaluatedFromArray(value) :
|
|
@@ -18,7 +18,7 @@ function HasUnevaluatedFromUnknown(value) {
|
|
|
18
18
|
false);
|
|
19
19
|
}
|
|
20
20
|
export function HasUnevaluated(context, schema) {
|
|
21
|
-
return HasUnevaluatedFromUnknown(schema) || G.Keys(context)
|
|
21
|
+
return HasUnevaluatedFromUnknown(schema) || G.Some(G.Keys(context), key => HasUnevaluatedFromUnknown(context[key]));
|
|
22
22
|
}
|
|
23
23
|
// ------------------------------------------------------------------
|
|
24
24
|
// BuildContext
|
|
@@ -1,47 +1,65 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
|
-
import * as Schema from '../types/index.mjs';
|
|
3
|
-
import { Hashing } from '../../system/hashing/index.mjs';
|
|
4
2
|
import { EmitGuard as E } from '../../guard/index.mjs';
|
|
5
3
|
import { BuildSchema } from './schema.mjs';
|
|
6
|
-
const
|
|
4
|
+
const index = [0];
|
|
5
|
+
const names = new Map;
|
|
6
|
+
const funcs = new Map();
|
|
7
|
+
// ------------------------------------------------------------------
|
|
8
|
+
// CreateName
|
|
9
|
+
// ------------------------------------------------------------------
|
|
10
|
+
function NextName() {
|
|
11
|
+
return `${index[0]++}`;
|
|
12
|
+
}
|
|
13
|
+
function CreateName(schema, href) {
|
|
14
|
+
if (!names.has(schema))
|
|
15
|
+
names.set(schema, new Map());
|
|
16
|
+
const hrefs = names.get(schema);
|
|
17
|
+
if (hrefs.has(href))
|
|
18
|
+
return hrefs.get(href);
|
|
19
|
+
const name = NextName();
|
|
20
|
+
hrefs.set(href, name);
|
|
21
|
+
return name;
|
|
22
|
+
}
|
|
7
23
|
// ------------------------------------------------------------------
|
|
8
24
|
// CreateCallExpression
|
|
9
25
|
// ------------------------------------------------------------------
|
|
10
|
-
function CreateCallExpression(context, _schema,
|
|
26
|
+
function CreateCallExpression(context, _schema, name, value) {
|
|
11
27
|
return context.UseUnevaluated()
|
|
12
|
-
? E.Call(`check_${
|
|
13
|
-
: E.Call(`check_${
|
|
28
|
+
? E.Call(`check_${name}`, ['context', value])
|
|
29
|
+
: E.Call(`check_${name}`, [value]);
|
|
14
30
|
}
|
|
15
31
|
// ------------------------------------------------------------------
|
|
16
32
|
// CreateFunctionExpression
|
|
17
33
|
// ------------------------------------------------------------------
|
|
18
|
-
function CreateFunctionExpression(stack, context, schema,
|
|
34
|
+
function CreateFunctionExpression(stack, context, schema, name) {
|
|
19
35
|
const expression = BuildSchema(stack, context, schema, 'value');
|
|
20
36
|
return context.UseUnevaluated()
|
|
21
|
-
? E.ConstDeclaration(`check_${
|
|
22
|
-
: E.ConstDeclaration(`check_${
|
|
37
|
+
? E.ConstDeclaration(`check_${name}`, E.ArrowFunction(['context', 'value'], expression))
|
|
38
|
+
: E.ConstDeclaration(`check_${name}`, E.ArrowFunction(['value'], expression));
|
|
23
39
|
}
|
|
24
40
|
// ------------------------------------------------------------------
|
|
25
41
|
// ResetFunctions
|
|
26
42
|
// ------------------------------------------------------------------
|
|
27
43
|
export function ResetFunctions() {
|
|
28
|
-
|
|
44
|
+
index[0] = 0;
|
|
45
|
+
names.clear();
|
|
46
|
+
funcs.clear();
|
|
29
47
|
}
|
|
30
48
|
// ------------------------------------------------------------------
|
|
31
49
|
// GetFunctions
|
|
32
50
|
// ------------------------------------------------------------------
|
|
33
51
|
export function GetFunctions() {
|
|
34
|
-
return [...
|
|
52
|
+
return [...funcs.values()];
|
|
35
53
|
}
|
|
36
54
|
// ------------------------------------------------------------------
|
|
37
55
|
// CreateFunction
|
|
38
56
|
// ------------------------------------------------------------------
|
|
39
57
|
export function CreateFunction(stack, context, schema, value) {
|
|
40
|
-
const
|
|
41
|
-
const call = CreateCallExpression(context, schema,
|
|
42
|
-
if (
|
|
58
|
+
const name = CreateName(schema, stack.BaseURL().href);
|
|
59
|
+
const call = CreateCallExpression(context, schema, name, value);
|
|
60
|
+
if (funcs.has(name))
|
|
43
61
|
return call;
|
|
44
|
-
|
|
45
|
-
|
|
62
|
+
funcs.set(name, '');
|
|
63
|
+
funcs.set(name, CreateFunctionExpression(stack, context, schema, name));
|
|
46
64
|
return call;
|
|
47
65
|
}
|
|
@@ -6,24 +6,24 @@ import { EmitGuard as E, Guard as G } from '../../guard/index.mjs';
|
|
|
6
6
|
// ------------------------------------------------------------------
|
|
7
7
|
export function BuildRefine(_stack, _context, schema, value) {
|
|
8
8
|
const refinements = V.CreateVariable(schema['~refine'].map((refinement) => refinement));
|
|
9
|
-
return E.Every(refinements, E.Constant(0), ['refinement', '_'], E.Call(E.Member('refinement', '
|
|
9
|
+
return E.Every(refinements, E.Constant(0), ['refinement', '_'], E.Call(E.Member('refinement', 'check'), [value]));
|
|
10
10
|
}
|
|
11
11
|
// ------------------------------------------------------------------
|
|
12
12
|
// Check
|
|
13
13
|
// ------------------------------------------------------------------
|
|
14
14
|
export function CheckRefine(_stack, _context, schema, value) {
|
|
15
|
-
return G.Every(schema['~refine'], 0, (refinement, _) => refinement.
|
|
15
|
+
return G.Every(schema['~refine'], 0, (refinement, _) => refinement.check(value));
|
|
16
16
|
}
|
|
17
17
|
// ------------------------------------------------------------------
|
|
18
18
|
// Error
|
|
19
19
|
// ------------------------------------------------------------------
|
|
20
20
|
export function ErrorRefine(_stack, context, schemaPath, instancePath, schema, value) {
|
|
21
21
|
return G.EveryAll(schema['~refine'], 0, (refinement, index) => {
|
|
22
|
-
return refinement.
|
|
22
|
+
return refinement.check(value) || context.AddError({
|
|
23
23
|
keyword: '~refine',
|
|
24
24
|
schemaPath,
|
|
25
25
|
instancePath,
|
|
26
|
-
params: { index, message: refinement.
|
|
26
|
+
params: { index, message: refinement.error(value) },
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
29
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Schema from '../types/index.mjs';
|
|
2
2
|
export declare class Stack {
|
|
3
|
+
#private;
|
|
3
4
|
private readonly context;
|
|
4
5
|
private readonly schema;
|
|
5
6
|
private readonly ids;
|
|
@@ -11,8 +12,7 @@ export declare class Stack {
|
|
|
11
12
|
Base(): Schema.XSchemaObject;
|
|
12
13
|
Push(schema: Schema.XSchema): void;
|
|
13
14
|
Pop(schema: Schema.XSchema): void;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
RecursiveRef(recursiveRef: string): Schema.XSchema | undefined;
|
|
15
|
+
Ref(ref: Schema.XRef): Schema.XSchema | undefined;
|
|
16
|
+
RecursiveRef(recursiveRef: Schema.XRecursiveRef): Schema.XSchema | undefined;
|
|
17
|
+
DynamicRef(dynamicRef: Schema.XDynamicRef): Schema.XSchema | undefined;
|
|
18
18
|
}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var _Stack_instances, _Stack_PushResourceAnchors, _Stack_PopResourceAnchors, _Stack_FromContext, _Stack_FromRef;
|
|
2
8
|
import * as Schema from '../types/index.mjs';
|
|
3
9
|
import { Guard as G } from '../../guard/index.mjs';
|
|
4
10
|
import { Resolve } from '../resolve/index.mjs';
|
|
5
11
|
export class Stack {
|
|
6
12
|
constructor(context, schema) {
|
|
13
|
+
_Stack_instances.add(this);
|
|
7
14
|
this.context = context;
|
|
8
15
|
this.schema = schema;
|
|
9
16
|
this.ids = [];
|
|
@@ -26,8 +33,10 @@ export class Stack {
|
|
|
26
33
|
Push(schema) {
|
|
27
34
|
if (!Schema.IsSchemaObject(schema))
|
|
28
35
|
return;
|
|
29
|
-
if (Schema.IsId(schema))
|
|
36
|
+
if (Schema.IsId(schema)) {
|
|
30
37
|
this.ids.push(schema);
|
|
38
|
+
__classPrivateFieldGet(this, _Stack_instances, "m", _Stack_PushResourceAnchors).call(this, schema);
|
|
39
|
+
}
|
|
31
40
|
if (Schema.IsAnchor(schema))
|
|
32
41
|
this.anchors.push(schema);
|
|
33
42
|
if (Schema.IsRecursiveAnchorTrue(schema))
|
|
@@ -38,8 +47,10 @@ export class Stack {
|
|
|
38
47
|
Pop(schema) {
|
|
39
48
|
if (!Schema.IsSchemaObject(schema))
|
|
40
49
|
return;
|
|
41
|
-
if (Schema.IsId(schema))
|
|
50
|
+
if (Schema.IsId(schema)) {
|
|
42
51
|
this.ids.pop();
|
|
52
|
+
__classPrivateFieldGet(this, _Stack_instances, "m", _Stack_PopResourceAnchors).call(this, schema);
|
|
53
|
+
}
|
|
43
54
|
if (Schema.IsAnchor(schema))
|
|
44
55
|
this.anchors.pop();
|
|
45
56
|
if (Schema.IsRecursiveAnchorTrue(schema))
|
|
@@ -47,27 +58,50 @@ export class Stack {
|
|
|
47
58
|
if (Schema.IsDynamicAnchor(schema))
|
|
48
59
|
this.dynamicAnchors.pop();
|
|
49
60
|
}
|
|
50
|
-
// ----------------------------------------------------------------
|
|
51
|
-
// Ref
|
|
52
|
-
// ----------------------------------------------------------------
|
|
53
|
-
FromContext(ref) {
|
|
54
|
-
return G.HasPropertyKey(this.context, ref) ? this.context[ref] : undefined;
|
|
55
|
-
}
|
|
56
|
-
FromRef(ref) {
|
|
57
|
-
return !ref.startsWith('#')
|
|
58
|
-
? Resolve.Ref(this.schema, ref)
|
|
59
|
-
: Resolve.Ref(this.Base(), ref);
|
|
60
|
-
}
|
|
61
61
|
Ref(ref) {
|
|
62
|
-
return this.
|
|
62
|
+
return __classPrivateFieldGet(this, _Stack_instances, "m", _Stack_FromContext).call(this, ref) ?? __classPrivateFieldGet(this, _Stack_instances, "m", _Stack_FromRef).call(this, ref);
|
|
63
63
|
}
|
|
64
64
|
// ----------------------------------------------------------------
|
|
65
65
|
// RecursiveRef
|
|
66
66
|
// ----------------------------------------------------------------
|
|
67
67
|
RecursiveRef(recursiveRef) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
return Schema.IsRecursiveAnchorTrue(this.Base())
|
|
69
|
+
? Resolve.Ref(this.recursiveAnchors[0], recursiveRef.$recursiveRef)
|
|
70
|
+
: Resolve.Ref(this.Base(), recursiveRef.$recursiveRef);
|
|
71
|
+
}
|
|
72
|
+
// ----------------------------------------------------------------
|
|
73
|
+
// DynamicRef
|
|
74
|
+
// ----------------------------------------------------------------
|
|
75
|
+
DynamicRef(dynamicRef) {
|
|
76
|
+
const root = this.schema;
|
|
77
|
+
return Resolve.DynamicRef(root, this.Base(), dynamicRef, this.dynamicAnchors);
|
|
72
78
|
}
|
|
73
79
|
}
|
|
80
|
+
_Stack_instances = new WeakSet(), _Stack_PushResourceAnchors = function _Stack_PushResourceAnchors(schema, isRoot = true) {
|
|
81
|
+
if (!Schema.IsSchemaObject(schema))
|
|
82
|
+
return;
|
|
83
|
+
const current = schema;
|
|
84
|
+
if (!isRoot && Schema.IsId(current))
|
|
85
|
+
return;
|
|
86
|
+
if (!isRoot && Schema.IsDynamicAnchor(current))
|
|
87
|
+
this.dynamicAnchors.push(current);
|
|
88
|
+
for (const key of G.Keys(current))
|
|
89
|
+
__classPrivateFieldGet(this, _Stack_instances, "m", _Stack_PushResourceAnchors).call(this, current[key], false);
|
|
90
|
+
}, _Stack_PopResourceAnchors = function _Stack_PopResourceAnchors(schema, isRoot = true) {
|
|
91
|
+
if (!Schema.IsSchemaObject(schema))
|
|
92
|
+
return;
|
|
93
|
+
const current = schema;
|
|
94
|
+
if (!isRoot && Schema.IsId(current))
|
|
95
|
+
return;
|
|
96
|
+
if (!isRoot && Schema.IsDynamicAnchor(current))
|
|
97
|
+
this.dynamicAnchors.pop();
|
|
98
|
+
for (const key of G.Keys(current))
|
|
99
|
+
__classPrivateFieldGet(this, _Stack_instances, "m", _Stack_PopResourceAnchors).call(this, current[key], false);
|
|
100
|
+
}, _Stack_FromContext = function _Stack_FromContext(ref) {
|
|
101
|
+
return G.HasPropertyKey(this.context, ref.$ref) ? this.context[ref.$ref] : undefined;
|
|
102
|
+
}, _Stack_FromRef = function _Stack_FromRef(ref) {
|
|
103
|
+
const root = this.schema;
|
|
104
|
+
return !ref.$ref.startsWith('#')
|
|
105
|
+
? Resolve.Ref(root, ref.$ref)
|
|
106
|
+
: Resolve.Ref(this.Base(), ref.$ref);
|
|
107
|
+
};
|