@openclaw/tavily-plugin 2026.7.1-beta.2 → 2026.7.1-beta.4
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/node_modules/typebox/build/compile/validator.d.mts +2 -7
- package/node_modules/typebox/build/compile/validator.mjs +6 -36
- package/node_modules/typebox/build/error/errors.d.mts +1 -7
- package/node_modules/typebox/build/format/_idna.mjs +36 -6
- package/node_modules/typebox/build/format/_puny.mjs +4 -1
- package/node_modules/typebox/build/format/uuid.d.mts +2 -2
- package/node_modules/typebox/build/format/uuid.mjs +3 -3
- package/node_modules/typebox/build/guard/emit.d.mts +0 -4
- package/node_modules/typebox/build/guard/emit.mjs +0 -8
- package/node_modules/typebox/build/guard/guard.d.mts +4 -8
- package/node_modules/typebox/build/guard/guard.mjs +5 -13
- package/node_modules/typebox/build/schema/engine/boolean.d.mts +3 -3
- package/node_modules/typebox/build/schema/engine/boolean.mjs +4 -4
- package/node_modules/typebox/build/schema/engine/index.d.mts +0 -1
- package/node_modules/typebox/build/schema/engine/index.mjs +0 -1
- package/node_modules/typebox/build/schema/engine/schema.mjs +5 -10
- package/node_modules/typebox/build/schema/engine/type.mjs +14 -18
- package/node_modules/typebox/build/schema/types/dependencies.mjs +1 -1
- package/node_modules/typebox/build/schema/types/index.d.mts +0 -1
- package/node_modules/typebox/build/schema/types/index.mjs +0 -1
- package/node_modules/typebox/build/schema/types/schema.d.mts +1 -1
- package/node_modules/typebox/build/schema/types/schema.mjs +2 -2
- package/node_modules/typebox/build/system/locale/ar_001.mjs +0 -1
- package/node_modules/typebox/build/system/locale/bn_BD.mjs +0 -1
- package/node_modules/typebox/build/system/locale/cs_CZ.mjs +0 -1
- package/node_modules/typebox/build/system/locale/de_DE.mjs +0 -1
- package/node_modules/typebox/build/system/locale/el_GR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/en_US.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_419.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_AR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_ES.mjs +0 -1
- package/node_modules/typebox/build/system/locale/es_MX.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fa_IR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fil_PH.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fr_CA.mjs +0 -1
- package/node_modules/typebox/build/system/locale/fr_FR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ha_NG.mjs +0 -1
- package/node_modules/typebox/build/system/locale/hi_IN.mjs +0 -1
- package/node_modules/typebox/build/system/locale/hu_HU.mjs +0 -1
- package/node_modules/typebox/build/system/locale/id_ID.mjs +0 -1
- package/node_modules/typebox/build/system/locale/it_IT.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ja_JP.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ko_KR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ms_MY.mjs +0 -1
- package/node_modules/typebox/build/system/locale/nl_NL.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pl_PL.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pt_BR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/pt_PT.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ro_RO.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ru_RU.mjs +0 -1
- package/node_modules/typebox/build/system/locale/sv_SE.mjs +0 -1
- package/node_modules/typebox/build/system/locale/sw_TZ.mjs +0 -1
- package/node_modules/typebox/build/system/locale/th_TH.mjs +0 -1
- package/node_modules/typebox/build/system/locale/tr_TR.mjs +0 -1
- package/node_modules/typebox/build/system/locale/uk_UA.mjs +0 -1
- package/node_modules/typebox/build/system/locale/ur_PK.mjs +0 -1
- package/node_modules/typebox/build/system/locale/vi_VN.mjs +0 -1
- package/node_modules/typebox/build/system/locale/yo_NG.mjs +0 -1
- package/node_modules/typebox/build/system/locale/zh_Hans.mjs +0 -1
- package/node_modules/typebox/build/system/locale/zh_Hant.mjs +0 -1
- package/node_modules/typebox/build/system/memory/clone.d.mts +2 -3
- package/node_modules/typebox/build/system/memory/clone.mjs +73 -26
- package/node_modules/typebox/build/system/settings/settings.d.mts +15 -0
- package/node_modules/typebox/build/system/settings/settings.mjs +3 -1
- package/node_modules/typebox/build/type/action/_add_immutable.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_immutable.mjs +11 -0
- package/node_modules/typebox/build/type/action/_add_optional.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_optional.mjs +11 -0
- package/node_modules/typebox/build/type/action/_add_readonly.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_add_readonly.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_immutable.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_immutable.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_optional.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_optional.mjs +11 -0
- package/node_modules/typebox/build/type/action/_remove_readonly.d.mts +11 -0
- package/node_modules/typebox/build/type/action/_remove_readonly.mjs +11 -0
- package/node_modules/typebox/build/type/action/conditional.d.mts +2 -3
- package/node_modules/typebox/build/type/action/conditional.mjs +2 -1
- package/node_modules/typebox/build/type/action/index.d.mts +7 -4
- package/node_modules/typebox/build/type/action/index.mjs +7 -4
- package/node_modules/typebox/build/type/action/mapped.d.mts +2 -3
- package/node_modules/typebox/build/type/action/mapped.mjs +2 -1
- package/node_modules/typebox/build/type/action/module.d.mts +8 -7
- package/node_modules/typebox/build/type/action/module.mjs +7 -6
- package/node_modules/typebox/build/type/action/readonly_object.d.mts +0 -5
- package/node_modules/typebox/build/type/action/readonly_object.mjs +0 -5
- package/node_modules/typebox/build/type/action/with.d.mts +11 -0
- package/node_modules/typebox/build/type/action/with.mjs +11 -0
- package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +1 -1
- package/node_modules/typebox/build/type/engine/call/instantiate.d.mts +1 -3
- package/node_modules/typebox/build/type/engine/call/instantiate.mjs +3 -2
- package/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs +2 -2
- package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +3 -4
- package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +2 -1
- package/node_modules/typebox/build/type/engine/cyclic/candidates.d.mts +2 -3
- package/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +3 -6
- package/node_modules/typebox/build/type/engine/cyclic/check.d.mts +6 -9
- package/node_modules/typebox/build/type/engine/cyclic/check.mjs +10 -16
- package/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +9 -15
- package/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/cyclic/extends.mjs +8 -14
- package/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +2 -5
- package/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +3 -2
- package/node_modules/typebox/build/type/engine/enum/index.d.mts +0 -1
- package/node_modules/typebox/build/type/engine/enum/index.mjs +0 -1
- package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +1 -2
- package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +2 -6
- package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +10 -6
- package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +10 -6
- package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +3 -3
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +17 -5
- package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +34 -8
- package/node_modules/typebox/build/type/engine/exclude/operation.d.mts +5 -6
- package/node_modules/typebox/build/type/engine/exclude/operation.mjs +11 -12
- package/node_modules/typebox/build/type/engine/extract/operation.d.mts +5 -6
- package/node_modules/typebox/build/type/engine/extract/operation.mjs +11 -12
- package/node_modules/typebox/build/type/engine/immutable/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/index.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/index.mjs +2 -2
- package/node_modules/typebox/build/type/engine/indexable/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/indexable/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/indexable/from_enum.d.mts +3 -3
- package/node_modules/typebox/build/type/engine/indexable/from_enum.mjs +4 -4
- package/node_modules/typebox/build/type/engine/indexable/from_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/engine/indexable/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/indexable/from_type.mjs +9 -6
- package/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +5 -2
- package/node_modules/typebox/build/type/engine/instantiate.d.mts +44 -31
- package/node_modules/typebox/build/type/engine/instantiate.mjs +82 -83
- package/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +3 -6
- package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +2 -1
- package/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +5 -1
- package/node_modules/typebox/build/type/engine/mapped/mapped_operation.d.mts +4 -4
- package/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs +3 -3
- package/node_modules/typebox/build/type/engine/mapped/mapped_variants.d.mts +5 -4
- package/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs +10 -5
- package/node_modules/typebox/build/type/engine/module/instantiate.d.mts +7 -9
- package/node_modules/typebox/build/type/engine/module/instantiate.mjs +17 -15
- package/node_modules/typebox/build/type/engine/object/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/object/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/object/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/object/from_type.mjs +8 -5
- package/node_modules/typebox/build/type/engine/object/from_union.mjs +2 -2
- package/node_modules/typebox/build/type/engine/optional/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/optional/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +3 -4
- package/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +2 -1
- package/node_modules/typebox/build/type/engine/partial/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/partial/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/partial/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/partial/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/partial/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/partial/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/partial/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/partial/from_type.mjs +7 -4
- package/node_modules/typebox/build/type/engine/priority/index.d.mts +1 -0
- package/node_modules/typebox/build/type/engine/priority/index.mjs +1 -0
- package/node_modules/typebox/build/type/engine/priority/priority.d.mts +20 -0
- package/node_modules/typebox/build/type/engine/priority/priority.mjs +28 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_add.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +14 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.d.mts +10 -0
- package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.mjs +14 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_array.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs +2 -2
- package/node_modules/typebox/build/type/engine/readonly_object/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs +8 -5
- package/node_modules/typebox/build/type/engine/record/from_key_enum.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_enum.mjs +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_template_literal.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs +2 -2
- package/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +3 -3
- package/node_modules/typebox/build/type/engine/ref/instantiate.mjs +6 -6
- package/node_modules/typebox/build/type/engine/required/from_dependent.d.mts +5 -0
- package/node_modules/typebox/build/type/engine/required/from_dependent.mjs +8 -0
- package/node_modules/typebox/build/type/engine/required/from_intersect.d.mts +1 -1
- package/node_modules/typebox/build/type/engine/required/from_intersect.mjs +3 -2
- package/node_modules/typebox/build/type/engine/required/from_object.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/required/from_object.mjs +2 -2
- package/node_modules/typebox/build/type/engine/required/from_type.d.mts +3 -1
- package/node_modules/typebox/build/type/engine/required/from_type.mjs +7 -4
- package/node_modules/typebox/build/type/engine/template_literal/decode.mjs +3 -3
- package/node_modules/typebox/build/type/engine/template_literal/encode.d.mts +2 -2
- package/node_modules/typebox/build/type/engine/template_literal/encode.mjs +6 -6
- package/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs +1 -1
- package/node_modules/typebox/build/type/engine/template_literal/is_pattern.mjs +1 -0
- package/node_modules/typebox/build/type/engine/this/expand_this.d.mts +1 -4
- package/node_modules/typebox/build/type/engine/this/expand_this.mjs +7 -13
- package/node_modules/typebox/build/type/engine/with/instantiate.d.mts +8 -0
- package/node_modules/typebox/build/type/engine/{options → with}/instantiate.mjs +5 -5
- package/node_modules/typebox/build/type/extends/dependent.d.mts +6 -0
- package/node_modules/typebox/build/type/extends/dependent.mjs +6 -0
- package/node_modules/typebox/build/type/extends/enum.d.mts +4 -4
- package/node_modules/typebox/build/type/extends/enum.mjs +3 -2
- package/node_modules/typebox/build/type/extends/extends_left.d.mts +5 -7
- package/node_modules/typebox/build/type/extends/extends_left.mjs +24 -27
- package/node_modules/typebox/build/type/extends/extends_right.d.mts +7 -5
- package/node_modules/typebox/build/type/extends/extends_right.mjs +20 -15
- package/node_modules/typebox/build/type/extends/inference.mjs +1 -1
- package/node_modules/typebox/build/type/extends/object.d.mts +8 -1
- package/node_modules/typebox/build/type/extends/object.mjs +25 -3
- package/node_modules/typebox/build/type/extends/parameters.mjs +2 -2
- package/node_modules/typebox/build/type/extends/record.d.mts +13 -0
- package/node_modules/typebox/build/type/extends/record.mjs +23 -0
- package/node_modules/typebox/build/type/extends/template_literal.d.mts +3 -3
- package/node_modules/typebox/build/type/extends/template_literal.mjs +3 -3
- package/node_modules/typebox/build/type/extends/tuple.d.mts +3 -6
- package/node_modules/typebox/build/type/extends/tuple.mjs +6 -5
- package/node_modules/typebox/build/type/extends/union.mjs +2 -2
- package/node_modules/typebox/build/type/script/mapping.d.mts +84 -99
- package/node_modules/typebox/build/type/script/mapping.mjs +81 -85
- package/node_modules/typebox/build/type/script/parser.d.mts +40 -40
- package/node_modules/typebox/build/type/script/parser.mjs +22 -22
- package/node_modules/typebox/build/type/script/script.d.mts +3 -4
- package/node_modules/typebox/build/type/script/script.mjs +3 -2
- package/node_modules/typebox/build/type/script/token/internal/guard.d.mts +1 -1
- package/node_modules/typebox/build/type/script/token/internal/guard.mjs +1 -1
- package/node_modules/typebox/build/type/script/token/internal/take.mjs +1 -1
- package/node_modules/typebox/build/type/script/token/until.mjs +2 -2
- package/node_modules/typebox/build/type/types/_codec.d.mts +12 -12
- package/node_modules/typebox/build/type/types/_codec.mjs +0 -1
- package/node_modules/typebox/build/type/types/_immutable.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_immutable.mjs +2 -10
- package/node_modules/typebox/build/type/types/_optional.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_optional.mjs +2 -11
- package/node_modules/typebox/build/type/types/_readonly.d.mts +2 -9
- package/node_modules/typebox/build/type/types/_readonly.mjs +2 -10
- package/node_modules/typebox/build/type/types/_refine.d.mts +8 -10
- package/node_modules/typebox/build/type/types/_refine.mjs +1 -2
- package/node_modules/typebox/build/type/types/call.d.mts +3 -3
- package/node_modules/typebox/build/type/types/call.mjs +3 -2
- package/node_modules/typebox/build/type/types/deferred.d.mts +1 -0
- package/node_modules/typebox/build/type/types/deferred.mjs +1 -1
- package/node_modules/typebox/build/type/types/dependent.d.mts +17 -0
- package/node_modules/typebox/build/type/types/dependent.mjs +24 -0
- package/node_modules/typebox/build/type/types/enum.d.mts +3 -1
- package/node_modules/typebox/build/type/types/enum.mjs +5 -0
- package/node_modules/typebox/build/type/types/index.d.mts +1 -4
- package/node_modules/typebox/build/type/types/index.mjs +1 -4
- package/node_modules/typebox/build/type/types/number.d.mts +1 -1
- package/node_modules/typebox/build/type/types/number.mjs +1 -1
- package/node_modules/typebox/build/type/types/record.d.mts +13 -7
- package/node_modules/typebox/build/type/types/record.mjs +15 -9
- package/node_modules/typebox/build/type/types/static.d.mts +2 -5
- package/node_modules/typebox/build/typebox.d.mts +4 -8
- package/node_modules/typebox/build/typebox.mjs +4 -8
- package/node_modules/typebox/build/value/clean/clean.mjs +4 -2
- package/node_modules/typebox/build/value/clean/from_intersect.mjs +2 -2
- package/node_modules/typebox/build/value/clean/from_type.mjs +8 -10
- package/node_modules/typebox/build/value/clean/from_union.d.mts +1 -1
- package/node_modules/typebox/build/value/clean/from_union.mjs +1 -2
- package/node_modules/typebox/build/value/clone/clone.mjs +2 -73
- package/node_modules/typebox/build/value/codec/decode.mjs +4 -2
- package/node_modules/typebox/build/value/codec/encode.mjs +4 -2
- package/node_modules/typebox/build/value/codec/from_array.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_object.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_record.mjs +2 -7
- package/node_modules/typebox/build/value/codec/from_tuple.mjs +1 -4
- package/node_modules/typebox/build/value/codec/from_union.mjs +2 -3
- package/node_modules/typebox/build/value/convert/from_enum.mjs +3 -4
- package/node_modules/typebox/build/value/convert/from_template_literal.d.mts +1 -1
- package/node_modules/typebox/build/value/convert/from_template_literal.mjs +2 -3
- package/node_modules/typebox/build/value/convert/from_type.mjs +19 -21
- package/node_modules/typebox/build/value/create/from_enum.mjs +2 -2
- package/node_modules/typebox/build/value/create/from_type.mjs +23 -31
- package/node_modules/typebox/build/value/default/from_object.mjs +1 -1
- package/node_modules/typebox/build/value/default/from_type.mjs +8 -10
- package/node_modules/typebox/build/value/index.d.mts +0 -1
- package/node_modules/typebox/build/value/index.mjs +0 -1
- package/node_modules/typebox/build/value/repair/from_enum.mjs +2 -3
- package/node_modules/typebox/build/value/repair/from_type.mjs +24 -22
- package/node_modules/typebox/build/value/shared/union_priority_sort.d.mts +6 -2
- package/node_modules/typebox/build/value/shared/union_priority_sort.mjs +62 -26
- package/node_modules/typebox/build/value/value.d.mts +0 -1
- package/node_modules/typebox/build/value/value.mjs +0 -1
- package/node_modules/typebox/package.json +25 -25
- package/node_modules/typebox/readme.md +97 -80
- package/npm-shrinkwrap.json +6 -6
- package/package.json +5 -5
- package/node_modules/typebox/build/schema/engine/_guard.d.mts +0 -6
- package/node_modules/typebox/build/schema/engine/_guard.mjs +0 -26
- package/node_modules/typebox/build/schema/types/_guard.d.mts +0 -10
- package/node_modules/typebox/build/schema/types/_guard.mjs +0 -16
- package/node_modules/typebox/build/type/action/_optional.d.mts +0 -19
- package/node_modules/typebox/build/type/action/_optional.mjs +0 -40
- package/node_modules/typebox/build/type/action/_readonly.d.mts +0 -19
- package/node_modules/typebox/build/type/action/_readonly.mjs +0 -40
- package/node_modules/typebox/build/type/action/awaited.d.mts +0 -15
- package/node_modules/typebox/build/type/action/awaited.mjs +0 -15
- package/node_modules/typebox/build/type/action/options.d.mts +0 -11
- package/node_modules/typebox/build/type/action/options.mjs +0 -11
- package/node_modules/typebox/build/type/engine/awaited/instantiate.d.mts +0 -11
- package/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +0 -20
- package/node_modules/typebox/build/type/engine/enum/enum_to_union.d.mts +0 -14
- package/node_modules/typebox/build/type/engine/enum/enum_to_union.mjs +0 -24
- package/node_modules/typebox/build/type/engine/options/index.d.mts +0 -1
- package/node_modules/typebox/build/type/engine/options/index.mjs +0 -1
- package/node_modules/typebox/build/type/engine/options/instantiate.d.mts +0 -8
- package/node_modules/typebox/build/type/extends/async_iterator.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/async_iterator.mjs +0 -9
- package/node_modules/typebox/build/type/extends/iterator.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/iterator.mjs +0 -9
- package/node_modules/typebox/build/type/extends/promise.d.mts +0 -7
- package/node_modules/typebox/build/type/extends/promise.mjs +0 -9
- package/node_modules/typebox/build/type/types/async_iterator.d.mts +0 -20
- package/node_modules/typebox/build/type/types/async_iterator.mjs +0 -28
- package/node_modules/typebox/build/type/types/base.d.mts +0 -50
- package/node_modules/typebox/build/type/types/base.mjs +0 -84
- package/node_modules/typebox/build/type/types/iterator.d.mts +0 -20
- package/node_modules/typebox/build/type/types/iterator.mjs +0 -28
- package/node_modules/typebox/build/type/types/promise.d.mts +0 -21
- package/node_modules/typebox/build/type/types/promise.mjs +0 -29
- package/node_modules/typebox/build/value/clean/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/clean/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/convert/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/convert/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/create/from_async_iterator.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_async_iterator.mjs +0 -5
- package/node_modules/typebox/build/value/create/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_base.mjs +0 -4
- package/node_modules/typebox/build/value/create/from_iterator.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_iterator.mjs +0 -5
- package/node_modules/typebox/build/value/create/from_promise.d.mts +0 -2
- package/node_modules/typebox/build/value/create/from_promise.mjs +0 -5
- package/node_modules/typebox/build/value/default/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/default/from_base.mjs +0 -5
- package/node_modules/typebox/build/value/mutate/error.d.mts +0 -3
- package/node_modules/typebox/build/value/mutate/error.mjs +0 -6
- package/node_modules/typebox/build/value/mutate/from_array.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_array.mjs +0 -16
- package/node_modules/typebox/build/value/mutate/from_object.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_object.mjs +0 -40
- package/node_modules/typebox/build/value/mutate/from_unknown.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_unknown.mjs +0 -7
- package/node_modules/typebox/build/value/mutate/from_value.d.mts +0 -2
- package/node_modules/typebox/build/value/mutate/from_value.mjs +0 -12
- package/node_modules/typebox/build/value/mutate/index.d.mts +0 -1
- package/node_modules/typebox/build/value/mutate/index.mjs +0 -1
- package/node_modules/typebox/build/value/mutate/mutate.d.mts +0 -11
- package/node_modules/typebox/build/value/mutate/mutate.mjs +0 -41
- package/node_modules/typebox/build/value/repair/from_base.d.mts +0 -2
- package/node_modules/typebox/build/value/repair/from_base.mjs +0 -8
- /package/node_modules/typebox/build/type/engine/{awaited → with}/index.d.mts +0 -0
- /package/node_modules/typebox/build/type/engine/{awaited → with}/index.mjs +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
|
-
import { TemplateLiteralDecode } from '../template_literal/decode.mjs';
|
|
3
2
|
import { FromType } from './from_type.mjs';
|
|
3
|
+
import { EvaluateTemplateLiteral } from '../evaluate/evaluate.mjs';
|
|
4
4
|
export function FromTemplateLiteral(pattern) {
|
|
5
|
-
const
|
|
6
|
-
const result = FromType(
|
|
5
|
+
const evaluated = EvaluateTemplateLiteral(pattern);
|
|
6
|
+
const result = FromType(evaluated);
|
|
7
7
|
return result;
|
|
8
8
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TSchema } from '../../types/schema.mjs';
|
|
2
2
|
import { type TCyclic } from '../../types/cyclic.mjs';
|
|
3
|
+
import { type TDependent } from '../../types/dependent.mjs';
|
|
3
4
|
import { type TEnum, type TEnumValue } from '../../types/enum.mjs';
|
|
4
5
|
import { type TIntersect } from '../../types/intersect.mjs';
|
|
5
6
|
import { type TLiteral, type TLiteralValue } from '../../types/literal.mjs';
|
|
@@ -7,11 +8,12 @@ import { type TProperties } from '../../types/properties.mjs';
|
|
|
7
8
|
import { type TTemplateLiteral } from '../../types/template_literal.mjs';
|
|
8
9
|
import { type TUnion } from '../../types/union.mjs';
|
|
9
10
|
import { type TFromCyclic } from './from_cyclic.mjs';
|
|
11
|
+
import { type TFromDependent } from './from_dependent.mjs';
|
|
10
12
|
import { type TFromEnum } from './from_enum.mjs';
|
|
11
13
|
import { type TFromIntersect } from './from_intersect.mjs';
|
|
12
14
|
import { type TFromLiteral } from './from_literal.mjs';
|
|
13
15
|
import { type TFromTemplateLiteral } from './from_template_literal.mjs';
|
|
14
16
|
import { type TFromUnion } from './from_union.mjs';
|
|
15
|
-
export type TFromType<Indexer extends TSchema, Result extends string[] = (Indexer extends TCyclic<infer Defs extends TProperties, infer Ref extends string> ? TFromCyclic<Defs, Ref> : Indexer extends TEnum<infer Values extends TEnumValue[]> ? TFromEnum<Values> : Indexer extends TIntersect<infer Types extends TSchema[]> ? TFromIntersect<Types> : Indexer extends TLiteral<infer Value extends TLiteralValue> ? TFromLiteral<Value> : Indexer extends TTemplateLiteral<infer Pattern extends string> ? TFromTemplateLiteral<Pattern> : Indexer extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Types> : [
|
|
17
|
+
export type TFromType<Indexer extends TSchema, Result extends string[] = (Indexer extends TCyclic<infer Defs extends TProperties, infer Ref extends string> ? TFromCyclic<Defs, Ref> : Indexer extends TDependent<infer If extends TSchema, infer Then extends TSchema, infer Else extends TSchema> ? TFromDependent<If, Then, Else> : Indexer extends TEnum<infer Values extends TEnumValue[]> ? TFromEnum<Values> : Indexer extends TIntersect<infer Types extends TSchema[]> ? TFromIntersect<Types> : Indexer extends TLiteral<infer Value extends TLiteralValue> ? TFromLiteral<Value> : Indexer extends TTemplateLiteral<infer Pattern extends string> ? TFromTemplateLiteral<Pattern> : Indexer extends TUnion<infer Types extends TSchema[]> ? TFromUnion<Types> : [
|
|
16
18
|
])> = Result;
|
|
17
19
|
export declare function FromType<Indexer extends TSchema>(type: Indexer): TFromType<Indexer>;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { IsCyclic } from '../../types/cyclic.mjs';
|
|
3
|
+
import { IsDependent } from '../../types/dependent.mjs';
|
|
3
4
|
import { IsEnum } from '../../types/enum.mjs';
|
|
4
5
|
import { IsIntersect } from '../../types/intersect.mjs';
|
|
5
6
|
import { IsLiteral } from '../../types/literal.mjs';
|
|
6
7
|
import { IsTemplateLiteral } from '../../types/template_literal.mjs';
|
|
7
8
|
import { IsUnion } from '../../types/union.mjs';
|
|
8
9
|
import { FromCyclic } from './from_cyclic.mjs';
|
|
10
|
+
import { FromDependent } from './from_dependent.mjs';
|
|
9
11
|
import { FromEnum } from './from_enum.mjs';
|
|
10
12
|
import { FromIntersect } from './from_intersect.mjs';
|
|
11
13
|
import { FromLiteral } from './from_literal.mjs';
|
|
@@ -13,10 +15,11 @@ import { FromTemplateLiteral } from './from_template_literal.mjs';
|
|
|
13
15
|
import { FromUnion } from './from_union.mjs';
|
|
14
16
|
export function FromType(type) {
|
|
15
17
|
return (IsCyclic(type) ? FromCyclic(type.$defs, type.$ref) :
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
IsDependent(type) ? FromDependent(type.if, type.then, type.else) :
|
|
19
|
+
IsEnum(type) ? FromEnum(type.enum) :
|
|
20
|
+
IsIntersect(type) ? FromIntersect(type.allOf) :
|
|
21
|
+
IsLiteral(type) ? FromLiteral(type.const) :
|
|
22
|
+
IsTemplateLiteral(type) ? FromTemplateLiteral(type.pattern) :
|
|
23
|
+
IsUnion(type) ? FromUnion(type.anyOf) :
|
|
24
|
+
[]);
|
|
22
25
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
|
|
2
2
|
import { type TCyclic } from '../../types/cyclic.mjs';
|
|
3
|
+
import { type TDependent } from '../../types/dependent.mjs';
|
|
3
4
|
import { type TIntersect } from '../../types/intersect.mjs';
|
|
4
5
|
import { type TProperties } from '../../types/properties.mjs';
|
|
5
6
|
import { type TUnion } from '../../types/union.mjs';
|
|
@@ -7,7 +8,7 @@ import { type TState, type TInstantiateType, type TCanInstantiate } from '../ins
|
|
|
7
8
|
import { type TIndexDeferred } from '../../action/indexed.mjs';
|
|
8
9
|
import { type TCollapseToObject } from '../object/index.mjs';
|
|
9
10
|
import { type TFromType } from './from_type.mjs';
|
|
10
|
-
type TNormalizeType<Type extends TSchema, Result extends TSchema = (Type extends TCyclic
|
|
11
|
+
type TNormalizeType<Type extends TSchema, Result extends TSchema = (Type extends TCyclic ? TCollapseToObject<Type> : Type extends TDependent ? TCollapseToObject<Type> : Type extends TIntersect ? TCollapseToObject<Type> : Type extends TUnion ? TCollapseToObject<Type> : Type)> = Result;
|
|
11
12
|
export type TIndexAction<Type extends TSchema, Indexer extends TSchema, Result extends TSchema = TCanInstantiate<[Type, Indexer]> extends true ? TFromType<TNormalizeType<Type>, Indexer> : TIndexDeferred<Type, Indexer>> = Result;
|
|
12
13
|
export declare function IndexAction<Type extends TSchema, Indexer extends TSchema>(type: Type, indexer: Indexer, options: TSchemaOptions): TIndexAction<Type, Indexer>;
|
|
13
14
|
export type TIndexInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, Indexer extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>, InstantiatedIndexer extends TSchema = TInstantiateType<Context, State, Indexer>> = TIndexAction<InstantiatedType, InstantiatedIndexer>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { Memory } from '../../../system/memory/index.mjs';
|
|
3
3
|
import { IsCyclic } from '../../types/cyclic.mjs';
|
|
4
|
+
import { IsDependent } from '../../types/dependent.mjs';
|
|
4
5
|
import { IsIntersect } from '../../types/intersect.mjs';
|
|
5
6
|
import { IsUnion } from '../../types/union.mjs';
|
|
6
7
|
import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
|
|
@@ -8,8 +9,10 @@ import { IndexDeferred } from '../../action/indexed.mjs';
|
|
|
8
9
|
import { CollapseToObject } from '../object/index.mjs';
|
|
9
10
|
import { FromType } from './from_type.mjs';
|
|
10
11
|
function NormalizeType(type) {
|
|
11
|
-
const result = (IsCyclic(type) ||
|
|
12
|
-
type)
|
|
12
|
+
const result = (IsCyclic(type) ||
|
|
13
|
+
IsDependent(type) ||
|
|
14
|
+
IsIntersect(type) ||
|
|
15
|
+
IsUnion(type)) ? CollapseToObject(type) : type;
|
|
13
16
|
return result;
|
|
14
17
|
}
|
|
15
18
|
export function IndexAction(type, indexer, options) {
|
|
@@ -1,27 +1,31 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { type
|
|
3
|
-
import { type
|
|
1
|
+
import { type TAddImmutableAction } from './immutable/instantiate_add.mjs';
|
|
2
|
+
import { type TAddReadonlyAction } from './readonly/instantiate_add.mjs';
|
|
3
|
+
import { type TAddOptionalAction } from './optional/instantiate_add.mjs';
|
|
4
4
|
import { type TSchema } from '../types/schema.mjs';
|
|
5
5
|
import { type TArray } from '../types/array.mjs';
|
|
6
|
-
import { type TAsyncIterator } from '../types/async_iterator.mjs';
|
|
7
6
|
import { type TConstructor } from '../types/constructor.mjs';
|
|
8
7
|
import { type TDeferred } from '../types/deferred.mjs';
|
|
9
8
|
import { type TFunction } from '../types/function.mjs';
|
|
10
9
|
import { type TCall } from '../types/call.mjs';
|
|
11
10
|
import { type TIdentifier } from '../types/identifier.mjs';
|
|
11
|
+
import { type TDependent } from '../types/dependent.mjs';
|
|
12
12
|
import { type TIntersect } from '../types/intersect.mjs';
|
|
13
|
-
import { type TIterator } from '../types/iterator.mjs';
|
|
14
13
|
import { type TObject } from '../types/object.mjs';
|
|
15
|
-
import { type TPromise } from '../types/promise.mjs';
|
|
16
14
|
import { type TProperties } from '../types/properties.mjs';
|
|
17
15
|
import { type TRecord } from '../types/record.mjs';
|
|
18
16
|
import { type TTuple } from '../types/tuple.mjs';
|
|
19
17
|
import { type TUnion } from '../types/union.mjs';
|
|
20
18
|
import { type TRef } from '../types/ref.mjs';
|
|
21
19
|
import { type TRest } from '../types/rest.mjs';
|
|
22
|
-
import { type
|
|
23
|
-
import { type
|
|
24
|
-
import { type
|
|
20
|
+
import { type TAddImmutableInstantiate } from './immutable/instantiate_add.mjs';
|
|
21
|
+
import { type TRemoveImmutableInstantiate } from './immutable/instantiate_remove.mjs';
|
|
22
|
+
import { type TAddReadonlyInstantiate } from './readonly/instantiate_add.mjs';
|
|
23
|
+
import { type TRemoveReadonlyInstantiate } from './readonly/instantiate_remove.mjs';
|
|
24
|
+
import { type TAddOptionalInstantiate } from './optional/instantiate_add.mjs';
|
|
25
|
+
import { type TRemoveOptionalInstantiate } from './optional/instantiate_remove.mjs';
|
|
26
|
+
import { type TOptional } from '../types/_optional.mjs';
|
|
27
|
+
import { type TImmutable } from '../types/_immutable.mjs';
|
|
28
|
+
import { type TReadonly } from '../types/_readonly.mjs';
|
|
25
29
|
import { type TCallInstantiate } from './call/instantiate.mjs';
|
|
26
30
|
import { type TCapitalizeInstantiate } from './intrinsics/instantiate.mjs';
|
|
27
31
|
import { type TConditionalInstantiate } from './conditional/index.mjs';
|
|
@@ -38,7 +42,6 @@ import { type TMappedInstantiate } from './mapped/instantiate.mjs';
|
|
|
38
42
|
import { type TModuleInstantiate } from './module/instantiate.mjs';
|
|
39
43
|
import { type TNonNullableInstantiate } from './non_nullable/instantiate.mjs';
|
|
40
44
|
import { type TOmitInstantiate } from './omit/instantiate.mjs';
|
|
41
|
-
import { type TOptionsInstantiate } from './options/instantiate.mjs';
|
|
42
45
|
import { type TParametersInstantiate } from './parameters/instantiate.mjs';
|
|
43
46
|
import { type TPartialInstantiate } from './partial/instantiate.mjs';
|
|
44
47
|
import { type TPickInstantiate } from './pick/instantiate.mjs';
|
|
@@ -50,20 +53,15 @@ import { type TReturnTypeInstantiate } from './return_type/instantiate.mjs';
|
|
|
50
53
|
import { type TTemplateLiteralInstantiate } from './template_literal/instantiate.mjs';
|
|
51
54
|
import { type TUncapitalizeInstantiate } from './intrinsics/instantiate.mjs';
|
|
52
55
|
import { type TUppercaseInstantiate } from './intrinsics/instantiate.mjs';
|
|
56
|
+
import { type TWithInstantiate } from './with/instantiate.mjs';
|
|
53
57
|
import { type TRestSpread } from './rest/index.mjs';
|
|
54
|
-
export interface TState {
|
|
55
|
-
callstack:
|
|
58
|
+
export interface TState<CallStack extends string[] = string[], Visited extends string[] = string[]> {
|
|
59
|
+
callstack: CallStack;
|
|
60
|
+
visited: Visited;
|
|
56
61
|
}
|
|
62
|
+
export declare function State<CallStack extends string[], Visited extends string[]>(callstack: CallStack, visited: Visited): TState<CallStack, Visited>;
|
|
57
63
|
export type TCanInstantiate<Types extends TSchema[]> = Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? Left extends TRef ? false : TCanInstantiate<Right> : true;
|
|
58
64
|
export declare function CanInstantiate<Types extends TSchema[]>(types: [...Types]): TCanInstantiate<Types>;
|
|
59
|
-
type ModifierAction = 'add' | 'remove' | 'none';
|
|
60
|
-
type TModifierActions<Type extends TSchema, Readonly extends ModifierAction, Optional extends ModifierAction> = (Type extends TReadonlyRemoveAction<infer Type extends TSchema> ? TModifierActions<Type, 'remove', Optional> : Type extends TOptionalRemoveAction<infer Type extends TSchema> ? TModifierActions<Type, Readonly, 'remove'> : Type extends TReadonlyAddAction<infer Type extends TSchema> ? TModifierActions<Type, 'add', Optional> : Type extends TOptionalAddAction<infer Type extends TSchema> ? TModifierActions<Type, Readonly, 'add'> : [
|
|
61
|
-
Type,
|
|
62
|
-
Readonly,
|
|
63
|
-
Optional
|
|
64
|
-
]);
|
|
65
|
-
type TApplyReadonly<Action extends ModifierAction, Type extends TSchema> = (Action extends 'remove' ? TReadonlyRemove<Type> : Action extends 'add' ? TReadonlyAdd<Type> : Type);
|
|
66
|
-
type TApplyOptional<Action extends ModifierAction, Type extends TSchema> = (Action extends 'remove' ? TOptionalRemove<Type> : Action extends 'add' ? TOptionalAdd<Type> : Type);
|
|
67
65
|
export type TInstantiateProperties<Context extends TProperties, State extends TState, Properties extends TProperties, Result extends TProperties = {
|
|
68
66
|
[Key in keyof Properties]: TInstantiateType<Context, State, Properties[Key]>;
|
|
69
67
|
}> = Result;
|
|
@@ -72,10 +70,26 @@ export type TInstantiateElements<Context extends TProperties, State extends TSta
|
|
|
72
70
|
export declare function InstantiateElements<Context extends TProperties, State extends TState, Types extends TSchema[]>(context: Context, state: State, types: [...Types]): TInstantiateElements<Context, State, Types>;
|
|
73
71
|
export type TInstantiateTypes<Context extends TProperties, State extends TState, Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TInstantiateTypes<Context, State, Right, [...Result, TInstantiateType<Context, State, Left>]> : Result);
|
|
74
72
|
export declare function InstantiateTypes<Context extends TProperties, State extends TState, Types extends TSchema[]>(context: Context, state: State, types: [...Types]): TInstantiateTypes<Context, State, Types>;
|
|
73
|
+
type TWithModifiers<Type extends TSchema, InstantiatedType extends TSchema, WithOptional extends TSchema = Type extends TOptional ? TAddOptionalAction<InstantiatedType> : InstantiatedType, WithReadonly extends TSchema = Type extends TReadonly ? TAddReadonlyAction<WithOptional> : WithOptional, WithImmutable extends TSchema = Type extends TImmutable ? TAddImmutableAction<WithReadonly> : WithReadonly> = WithImmutable;
|
|
75
74
|
type TInstantiateDeferred<Context extends TProperties, State extends TState, Action extends string, Parameters extends TSchema[]> = ([
|
|
76
75
|
Action,
|
|
77
76
|
Parameters
|
|
78
|
-
] extends ['
|
|
77
|
+
] extends ['AddImmutable', [infer Type extends TSchema]] ? TAddImmutableInstantiate<Context, State, Type> : [
|
|
78
|
+
Action,
|
|
79
|
+
Parameters
|
|
80
|
+
] extends ['RemoveImmutable', [infer Type extends TSchema]] ? TRemoveImmutableInstantiate<Context, State, Type> : [
|
|
81
|
+
Action,
|
|
82
|
+
Parameters
|
|
83
|
+
] extends ['AddReadonly', [infer Type extends TSchema]] ? TAddReadonlyInstantiate<Context, State, Type> : [
|
|
84
|
+
Action,
|
|
85
|
+
Parameters
|
|
86
|
+
] extends ['RemoveReadonly', [infer Type extends TSchema]] ? TRemoveReadonlyInstantiate<Context, State, Type> : [
|
|
87
|
+
Action,
|
|
88
|
+
Parameters
|
|
89
|
+
] extends ['AddOptional', [infer Type extends TSchema]] ? TAddOptionalInstantiate<Context, State, Type> : [
|
|
90
|
+
Action,
|
|
91
|
+
Parameters
|
|
92
|
+
] extends ['RemoveOptional', [infer Type extends TSchema]] ? TRemoveOptionalInstantiate<Context, State, Type> : [
|
|
79
93
|
Action,
|
|
80
94
|
Parameters
|
|
81
95
|
] extends ['Capitalize', [infer Type extends TSchema]] ? TCapitalizeInstantiate<Context, State, Type> : [
|
|
@@ -114,7 +128,7 @@ type TInstantiateDeferred<Context extends TProperties, State extends TState, Act
|
|
|
114
128
|
] extends ['Mapped', [infer Name extends TIdentifier, infer Key extends TSchema, infer As extends TSchema, infer Property extends TSchema]] ? TMappedInstantiate<Context, State, Name, Key, As, Property> : [
|
|
115
129
|
Action,
|
|
116
130
|
Parameters
|
|
117
|
-
] extends ['Module', [infer
|
|
131
|
+
] extends ['Module', [infer Declarations extends TProperties]] ? TModuleInstantiate<Context, State, Declarations> : [
|
|
118
132
|
Action,
|
|
119
133
|
Parameters
|
|
120
134
|
] extends ['NonNullable', [infer Type extends TSchema]] ? TNonNullableInstantiate<Context, State, Type> : [
|
|
@@ -123,9 +137,6 @@ type TInstantiateDeferred<Context extends TProperties, State extends TState, Act
|
|
|
123
137
|
] extends ['Pick', [infer Type extends TSchema, infer Indexer extends TSchema]] ? TPickInstantiate<Context, State, Type, Indexer> : [
|
|
124
138
|
Action,
|
|
125
139
|
Parameters
|
|
126
|
-
] extends ['Options', [infer Type extends TSchema, infer Options extends TSchema]] ? TOptionsInstantiate<Context, State, Type, Options> : [
|
|
127
|
-
Action,
|
|
128
|
-
Parameters
|
|
129
140
|
] extends ['Parameters', [infer Type extends TSchema]] ? TParametersInstantiate<Context, State, Type> : [
|
|
130
141
|
Action,
|
|
131
142
|
Parameters
|
|
@@ -153,13 +164,15 @@ type TInstantiateDeferred<Context extends TProperties, State extends TState, Act
|
|
|
153
164
|
] extends ['Uncapitalize', [infer Type extends TSchema]] ? TUncapitalizeInstantiate<Context, State, Type> : [
|
|
154
165
|
Action,
|
|
155
166
|
Parameters
|
|
156
|
-
] extends ['Uppercase', [infer Type extends TSchema]] ? TUppercaseInstantiate<Context, State, Type> :
|
|
157
|
-
|
|
158
|
-
|
|
167
|
+
] extends ['Uppercase', [infer Type extends TSchema]] ? TUppercaseInstantiate<Context, State, Type> : [
|
|
168
|
+
Action,
|
|
169
|
+
Parameters
|
|
170
|
+
] extends ['With', [infer Type extends TSchema, infer Options extends TSchema]] ? TWithInstantiate<Context, State, Type, Options> : TDeferred<Action, Parameters>);
|
|
171
|
+
type TInstantiateImmediate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiatedType extends TSchema = (Type extends TRef<infer Ref extends string> ? TRefInstantiate<Context, State, Type, Ref> : Type extends TArray<infer Type extends TSchema> ? TArray<TInstantiateType<Context, State, Type>> : Type extends TCall<infer Target extends TSchema, infer Parameters extends TSchema[]> ? TCallInstantiate<Context, State, Target, Parameters> : Type extends TConstructor<infer Parameters extends TSchema[], infer InstanceType extends TSchema> ? TConstructor<TInstantiateTypes<Context, State, Parameters>, TInstantiateType<Context, State, InstanceType>> : Type extends TFunction<infer Parameters extends TSchema[], infer ReturnType extends TSchema> ? TFunction<TInstantiateTypes<Context, State, Parameters>, TInstantiateType<Context, State, ReturnType>> : Type extends TDependent<infer If extends TSchema, infer Then extends TSchema, infer Else extends TSchema> ? TDependent<TInstantiateType<Context, State, If>, TInstantiateType<Context, State, Then>, TInstantiateType<Context, State, Else>> : Type extends TIntersect<infer Types extends TSchema[]> ? TIntersect<TInstantiateTypes<Context, State, Types>> : Type extends TObject<infer Properties extends TProperties> ? TObject<TInstantiateProperties<Context, State, Properties>> : Type extends TRecord<infer Key extends string, infer Type extends TSchema> ? TRecord<Key, TInstantiateType<Context, State, Type>> : Type extends TRest<infer Type extends TSchema> ? TRest<TInstantiateType<Context, State, Type>> : Type extends TTuple<infer Types extends TSchema[]> ? TTuple<TInstantiateElements<Context, State, Types>> : Type extends TUnion<infer Types extends TSchema[]> ? TUnion<TInstantiateTypes<Context, State, Types>> : Type), WithModifiers extends TSchema = TWithModifiers<Type, InstantiatedType>> = WithModifiers;
|
|
172
|
+
export type TInstantiateType<Context extends TProperties, State extends TState, Type extends TSchema, Result extends TSchema = Type extends TDeferred<infer Action extends string, infer Types extends TSchema[]> ? TInstantiateDeferred<Context, State, Action, Types> : TInstantiateImmediate<Context, State, Type>> = Result;
|
|
173
|
+
export declare function InstantiateType<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, type: Type): TInstantiateImmediate<Context, State, Type>;
|
|
159
174
|
/** Instantiates computed schematics using the given context and type. */
|
|
160
|
-
export type TInstantiate<Context extends TProperties, Type extends TSchema> = (TInstantiateType<Context,
|
|
161
|
-
callstack: [];
|
|
162
|
-
}, Type>);
|
|
175
|
+
export type TInstantiate<Context extends TProperties, Type extends TSchema> = (TInstantiateType<Context, TState<[], []>, Type>);
|
|
163
176
|
/** Instantiates computed schematics using the given context and type. */
|
|
164
177
|
export declare function Instantiate<Context extends TProperties, Type extends TSchema>(context: Context, type: Type): TInstantiate<Context, Type>;
|
|
165
178
|
export {};
|
|
@@ -4,37 +4,37 @@ import { Guard } from '../../guard/index.mjs';
|
|
|
4
4
|
// ------------------------------------------------------------------
|
|
5
5
|
// Modifiers
|
|
6
6
|
// ------------------------------------------------------------------
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
// ------------------------------------------------------------------
|
|
11
|
-
// Types
|
|
12
|
-
// ------------------------------------------------------------------
|
|
13
|
-
import { IsBase } from '../types/base.mjs';
|
|
7
|
+
import { AddImmutableAction } from './immutable/instantiate_add.mjs';
|
|
8
|
+
import { AddReadonlyAction } from './readonly/instantiate_add.mjs';
|
|
9
|
+
import { AddOptionalAction } from './optional/instantiate_add.mjs';
|
|
14
10
|
import { _Array_, IsArray, ArrayOptions } from '../types/array.mjs';
|
|
15
|
-
import { AsyncIterator, IsAsyncIterator, AsyncIteratorOptions } from '../types/async_iterator.mjs';
|
|
16
11
|
import { Constructor, IsConstructor, ConstructorOptions } from '../types/constructor.mjs';
|
|
17
12
|
import { Deferred, IsDeferred } from '../types/deferred.mjs';
|
|
18
13
|
import { _Function_, IsFunction, FunctionOptions } from '../types/function.mjs';
|
|
19
14
|
import { IsCall } from '../types/call.mjs';
|
|
15
|
+
import { Dependent, IsDependent, DependentOptions } from '../types/dependent.mjs';
|
|
20
16
|
import { Intersect, IsIntersect, IntersectOptions } from '../types/intersect.mjs';
|
|
21
|
-
import { Iterator, IsIterator, IteratorOptions } from '../types/iterator.mjs';
|
|
22
17
|
import { Object, IsObject, ObjectOptions } from '../types/object.mjs';
|
|
23
|
-
import { _Promise_, IsPromise, PromiseOptions } from '../types/promise.mjs';
|
|
24
18
|
import { RecordFromPattern, IsRecord, RecordPattern, RecordValue } from '../types/record.mjs';
|
|
25
19
|
import { Tuple, IsTuple, TupleOptions } from '../types/tuple.mjs';
|
|
26
20
|
import { Union, IsUnion, UnionOptions } from '../types/union.mjs';
|
|
27
21
|
import { IsRef } from '../types/ref.mjs';
|
|
28
22
|
import { Rest, IsRest } from '../types/rest.mjs';
|
|
29
23
|
// ------------------------------------------------------------------
|
|
30
|
-
// Modifier
|
|
24
|
+
// Modifier Instantiate
|
|
31
25
|
// ------------------------------------------------------------------
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
26
|
+
import { AddImmutableInstantiate } from './immutable/instantiate_add.mjs';
|
|
27
|
+
import { RemoveImmutableInstantiate } from './immutable/instantiate_remove.mjs';
|
|
28
|
+
import { AddReadonlyInstantiate } from './readonly/instantiate_add.mjs';
|
|
29
|
+
import { RemoveReadonlyInstantiate } from './readonly/instantiate_remove.mjs';
|
|
30
|
+
import { AddOptionalInstantiate } from './optional/instantiate_add.mjs';
|
|
31
|
+
import { RemoveOptionalInstantiate } from './optional/instantiate_remove.mjs';
|
|
32
|
+
import { IsOptional } from '../types/_optional.mjs';
|
|
33
|
+
import { IsImmutable } from '../types/_immutable.mjs';
|
|
34
|
+
import { IsReadonly } from '../types/_readonly.mjs';
|
|
34
35
|
// ------------------------------------------------------------------
|
|
35
36
|
// Instantiate
|
|
36
37
|
// ------------------------------------------------------------------
|
|
37
|
-
import { AwaitedInstantiate } from './awaited/instantiate.mjs';
|
|
38
38
|
import { CallInstantiate } from './call/instantiate.mjs';
|
|
39
39
|
import { CapitalizeInstantiate } from './intrinsics/instantiate.mjs';
|
|
40
40
|
import { ConditionalInstantiate } from './conditional/index.mjs';
|
|
@@ -51,7 +51,6 @@ import { MappedInstantiate } from './mapped/instantiate.mjs';
|
|
|
51
51
|
import { ModuleInstantiate } from './module/instantiate.mjs';
|
|
52
52
|
import { NonNullableInstantiate } from './non_nullable/instantiate.mjs';
|
|
53
53
|
import { OmitInstantiate } from './omit/instantiate.mjs';
|
|
54
|
-
import { OptionsInstantiate } from './options/instantiate.mjs';
|
|
55
54
|
import { ParametersInstantiate } from './parameters/instantiate.mjs';
|
|
56
55
|
import { PartialInstantiate } from './partial/instantiate.mjs';
|
|
57
56
|
import { PickInstantiate } from './pick/instantiate.mjs';
|
|
@@ -63,29 +62,16 @@ import { ReturnTypeInstantiate } from './return_type/instantiate.mjs';
|
|
|
63
62
|
import { TemplateLiteralInstantiate } from './template_literal/instantiate.mjs';
|
|
64
63
|
import { UncapitalizeInstantiate } from './intrinsics/instantiate.mjs';
|
|
65
64
|
import { UppercaseInstantiate } from './intrinsics/instantiate.mjs';
|
|
65
|
+
import { WithInstantiate } from './with/instantiate.mjs';
|
|
66
66
|
import { RestSpread } from './rest/index.mjs';
|
|
67
|
+
export function State(callstack, visited) {
|
|
68
|
+
return { callstack, visited };
|
|
69
|
+
}
|
|
67
70
|
export function CanInstantiate(types) {
|
|
68
|
-
return Guard.
|
|
71
|
+
return Guard.ShiftLeft(types, (left, right) => IsRef(left)
|
|
69
72
|
? false
|
|
70
73
|
: CanInstantiate(right), () => true);
|
|
71
74
|
}
|
|
72
|
-
function ModifierActions(type, readonly, optional) {
|
|
73
|
-
return (IsReadonlyRemoveAction(type) ? ModifierActions(type.type, 'remove', optional) :
|
|
74
|
-
IsOptionalRemoveAction(type) ? ModifierActions(type.type, readonly, 'remove') :
|
|
75
|
-
IsReadonlyAddAction(type) ? ModifierActions(type.type, 'add', optional) :
|
|
76
|
-
IsOptionalAddAction(type) ? ModifierActions(type.type, readonly, 'add') :
|
|
77
|
-
[type, readonly, optional]);
|
|
78
|
-
}
|
|
79
|
-
function ApplyReadonly(action, type) {
|
|
80
|
-
return (Guard.IsEqual(action, 'remove') ? ReadonlyRemove(type) :
|
|
81
|
-
Guard.IsEqual(action, 'add') ? ReadonlyAdd(type) :
|
|
82
|
-
type);
|
|
83
|
-
}
|
|
84
|
-
function ApplyOptional(action, type) {
|
|
85
|
-
return (Guard.IsEqual(action, 'remove') ? OptionalRemove(type) :
|
|
86
|
-
Guard.IsEqual(action, 'add') ? OptionalAdd(type) :
|
|
87
|
-
type);
|
|
88
|
-
}
|
|
89
75
|
export function InstantiateProperties(context, state, properties) {
|
|
90
76
|
return Guard.Keys(properties).reduce((result, key) => {
|
|
91
77
|
return { ...result, [key]: InstantiateType(context, state, properties[key]) };
|
|
@@ -99,61 +85,74 @@ export function InstantiateElements(context, state, types) {
|
|
|
99
85
|
export function InstantiateTypes(context, state, types) {
|
|
100
86
|
return types.map(type => InstantiateType(context, state, type));
|
|
101
87
|
}
|
|
88
|
+
function WithModifiers(type, instantiatedType) {
|
|
89
|
+
const withOptional = IsOptional(type) ? AddOptionalAction(instantiatedType, {}) : instantiatedType;
|
|
90
|
+
const withReadonly = IsReadonly(type) ? AddReadonlyAction(withOptional, {}) : withOptional;
|
|
91
|
+
const withImmutable = IsImmutable(type) ? AddImmutableAction(withReadonly, {}) : withReadonly;
|
|
92
|
+
return withImmutable;
|
|
93
|
+
}
|
|
102
94
|
function InstantiateDeferred(context, state, action, parameters, options) {
|
|
103
|
-
return (
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
95
|
+
return (
|
|
96
|
+
// Modifiers
|
|
97
|
+
Guard.IsEqual(action, 'AddImmutable') ? AddImmutableInstantiate(context, state, parameters[0], options) :
|
|
98
|
+
Guard.IsEqual(action, 'RemoveImmutable') ? RemoveImmutableInstantiate(context, state, parameters[0], options) :
|
|
99
|
+
Guard.IsEqual(action, 'AddReadonly') ? AddReadonlyInstantiate(context, state, parameters[0], options) :
|
|
100
|
+
Guard.IsEqual(action, 'RemoveReadonly') ? RemoveReadonlyInstantiate(context, state, parameters[0], options) :
|
|
101
|
+
Guard.IsEqual(action, 'AddOptional') ? AddOptionalInstantiate(context, state, parameters[0], options) :
|
|
102
|
+
Guard.IsEqual(action, 'RemoveOptional') ? RemoveOptionalInstantiate(context, state, parameters[0], options) :
|
|
103
|
+
// Actions
|
|
104
|
+
Guard.IsEqual(action, 'Capitalize') ? CapitalizeInstantiate(context, state, parameters[0], options) :
|
|
105
|
+
Guard.IsEqual(action, 'Conditional') ? ConditionalInstantiate(context, state, parameters[0], parameters[1], parameters[2], parameters[3], options) :
|
|
106
|
+
Guard.IsEqual(action, 'ConstructorParameters') ? ConstructorParametersInstantiate(context, state, parameters[0], options) :
|
|
107
|
+
Guard.IsEqual(action, 'Evaluate') ? EvaluateInstantiate(context, state, parameters[0], options) :
|
|
108
|
+
Guard.IsEqual(action, 'Exclude') ? ExcludeInstantiate(context, state, parameters[0], parameters[1], options) :
|
|
109
|
+
Guard.IsEqual(action, 'Extract') ? ExtractInstantiate(context, state, parameters[0], parameters[1], options) :
|
|
110
|
+
Guard.IsEqual(action, 'Index') ? IndexInstantiate(context, state, parameters[0], parameters[1], options) :
|
|
111
|
+
Guard.IsEqual(action, 'InstanceType') ? InstanceTypeInstantiate(context, state, parameters[0], options) :
|
|
112
|
+
Guard.IsEqual(action, 'Interface') ? InterfaceInstantiate(context, state, parameters[0], parameters[1], options) :
|
|
113
|
+
Guard.IsEqual(action, 'KeyOf') ? KeyOfInstantiate(context, state, parameters[0], options) :
|
|
114
|
+
Guard.IsEqual(action, 'Lowercase') ? LowercaseInstantiate(context, state, parameters[0], options) :
|
|
115
|
+
Guard.IsEqual(action, 'Mapped') ? MappedInstantiate(context, state, parameters[0], parameters[1], parameters[2], parameters[3], options) :
|
|
116
|
+
Guard.IsEqual(action, 'Module') ? ModuleInstantiate(context, state, parameters[0], options) :
|
|
117
|
+
Guard.IsEqual(action, 'NonNullable') ? NonNullableInstantiate(context, state, parameters[0], options) :
|
|
118
|
+
Guard.IsEqual(action, 'Pick') ? PickInstantiate(context, state, parameters[0], parameters[1], options) :
|
|
119
|
+
Guard.IsEqual(action, 'Parameters') ? ParametersInstantiate(context, state, parameters[0], options) :
|
|
120
|
+
Guard.IsEqual(action, 'Partial') ? PartialInstantiate(context, state, parameters[0], options) :
|
|
121
|
+
Guard.IsEqual(action, 'Omit') ? OmitInstantiate(context, state, parameters[0], parameters[1], options) :
|
|
122
|
+
Guard.IsEqual(action, 'ReadonlyObject') ? ReadonlyObjectInstantiate(context, state, parameters[0], options) :
|
|
123
|
+
Guard.IsEqual(action, 'Record') ? RecordInstantiate(context, state, parameters[0], parameters[1], options) :
|
|
124
|
+
Guard.IsEqual(action, 'Required') ? RequiredInstantiate(context, state, parameters[0], options) :
|
|
125
|
+
Guard.IsEqual(action, 'ReturnType') ? ReturnTypeInstantiate(context, state, parameters[0], options) :
|
|
126
|
+
Guard.IsEqual(action, 'TemplateLiteral') ? TemplateLiteralInstantiate(context, state, parameters[0], options) :
|
|
127
|
+
Guard.IsEqual(action, 'Uncapitalize') ? UncapitalizeInstantiate(context, state, parameters[0], options) :
|
|
128
|
+
Guard.IsEqual(action, 'Uppercase') ? UppercaseInstantiate(context, state, parameters[0], options) :
|
|
129
|
+
Guard.IsEqual(action, 'With') ? WithInstantiate(context, state, parameters[0], parameters[1]) :
|
|
130
|
+
Deferred(action, parameters, options));
|
|
131
131
|
}
|
|
132
|
-
|
|
133
|
-
const
|
|
134
|
-
const modifiers = ModifierActions(input, IsReadonly(input) ? 'add' : 'none', IsOptional(input) ? 'add' : 'none');
|
|
135
|
-
const type = IsBase(modifiers[0]) ? modifiers[0].Clone() : modifiers[0];
|
|
136
|
-
const instantiated = (IsRef(type) ? RefInstantiate(context, state, type, type.$ref) :
|
|
132
|
+
function InstantiateImmediate(context, state, type) {
|
|
133
|
+
const instantiatedType = (IsRef(type) ? RefInstantiate(context, state, type, type.$ref) :
|
|
137
134
|
IsArray(type) ? _Array_(InstantiateType(context, state, type.items), ArrayOptions(type)) :
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
IsUnion(type) ? Union(InstantiateTypes(context, state, type.anyOf), UnionOptions(type)) :
|
|
151
|
-
type);
|
|
152
|
-
const withImmutable = immutable ? Immutable(instantiated) : instantiated;
|
|
153
|
-
const withModifiers = ApplyReadonly(modifiers[1], ApplyOptional(modifiers[2], withImmutable));
|
|
135
|
+
IsCall(type) ? CallInstantiate(context, state, type.target, type.arguments) :
|
|
136
|
+
IsConstructor(type) ? Constructor(InstantiateTypes(context, state, type.parameters), InstantiateType(context, state, type.instanceType), ConstructorOptions(type)) :
|
|
137
|
+
IsFunction(type) ? _Function_(InstantiateTypes(context, state, type.parameters), InstantiateType(context, state, type.returnType), FunctionOptions(type)) :
|
|
138
|
+
IsDependent(type) ? Dependent(InstantiateType(context, state, type.if), InstantiateType(context, state, type.then), InstantiateType(context, state, type.else), DependentOptions(type)) :
|
|
139
|
+
IsIntersect(type) ? Intersect(InstantiateTypes(context, state, type.allOf), IntersectOptions(type)) :
|
|
140
|
+
IsObject(type) ? Object(InstantiateProperties(context, state, type.properties), ObjectOptions(type)) :
|
|
141
|
+
IsRecord(type) ? RecordFromPattern(RecordPattern(type), InstantiateType(context, state, RecordValue(type))) :
|
|
142
|
+
IsRest(type) ? Rest(InstantiateType(context, state, type.items)) :
|
|
143
|
+
IsTuple(type) ? Tuple(InstantiateElements(context, state, type.items), TupleOptions(type)) :
|
|
144
|
+
IsUnion(type) ? Union(InstantiateTypes(context, state, type.anyOf), UnionOptions(type)) :
|
|
145
|
+
type);
|
|
146
|
+
const withModifiers = WithModifiers(type, instantiatedType);
|
|
154
147
|
return withModifiers;
|
|
155
148
|
}
|
|
149
|
+
export function InstantiateType(context, state, type) {
|
|
150
|
+
const result = IsDeferred(type)
|
|
151
|
+
? InstantiateDeferred(context, state, type.action, type.parameters, type.options)
|
|
152
|
+
: InstantiateImmediate(context, state, type);
|
|
153
|
+
return result;
|
|
154
|
+
}
|
|
156
155
|
/** Instantiates computed schematics using the given context and type. */
|
|
157
156
|
export function Instantiate(context, type) {
|
|
158
|
-
return InstantiateType(context,
|
|
157
|
+
return InstantiateType(context, State([], []), type);
|
|
159
158
|
}
|
|
@@ -3,16 +3,13 @@ import { type TProperties } from '../../types/properties.mjs';
|
|
|
3
3
|
import { type TObject } from '../../types/object.mjs';
|
|
4
4
|
import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
|
|
5
5
|
import { type TInterfaceDeferred } from '../../action/index.mjs';
|
|
6
|
-
import { type
|
|
6
|
+
import { type TCanInstantiate } from '../instantiate.mjs';
|
|
7
7
|
import { type TInstantiateProperties } from '../instantiate.mjs';
|
|
8
8
|
import { type TInstantiateTypes } from '../instantiate.mjs';
|
|
9
|
+
import { type TState } from '../instantiate.mjs';
|
|
9
10
|
type TInterfaceOperation<Heritage extends TSchema[], Properties extends TProperties, Result extends TSchema = TEvaluateIntersect<[...Heritage, TObject<Properties>]>> = Result;
|
|
10
11
|
export type TInterfaceAction<Heritage extends TSchema[], Properties extends TProperties, Result extends TSchema = TCanInstantiate<Heritage> extends true ? TInterfaceOperation<Heritage, Properties> : TInterfaceDeferred<Heritage, Properties>> = Result;
|
|
11
12
|
export declare function InterfaceAction<Heritage extends TSchema[], Properties extends TProperties>(heritage: [...Heritage], properties: Properties, options: TSchemaOptions): TInterfaceAction<Heritage, Properties>;
|
|
12
|
-
export type TInterfaceInstantiate<Context extends TProperties, State extends TState, Heritage extends TSchema[], Properties extends TProperties, InstantiatedHeritage extends TSchema[] = TInstantiateTypes<Context,
|
|
13
|
-
callstack: [];
|
|
14
|
-
}, Heritage>, InstantiatedProperties extends TProperties = TInstantiateProperties<Context, {
|
|
15
|
-
callstack: [];
|
|
16
|
-
}, Properties>> = TInterfaceAction<InstantiatedHeritage, InstantiatedProperties>;
|
|
13
|
+
export type TInterfaceInstantiate<Context extends TProperties, State extends TState, Heritage extends TSchema[], Properties extends TProperties, InstantiatedHeritage extends TSchema[] = TInstantiateTypes<Context, State, Heritage>, InstantiatedProperties extends TProperties = TInstantiateProperties<Context, State, Properties>> = TInterfaceAction<InstantiatedHeritage, InstantiatedProperties>;
|
|
17
14
|
export declare function InterfaceInstantiate<Context extends TProperties, State extends TState, Heritage extends TSchema[], Properties extends TProperties>(context: Context, state: State, heritage: [...Heritage], properties: Properties, options: TSchemaOptions): TInterfaceInstantiate<Context, State, Heritage, Properties>;
|
|
18
15
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type TSchema } from '../../types/schema.mjs';
|
|
2
2
|
import { type TMappingType, type TMappingFunc } from './mapping.mjs';
|
|
3
|
-
import { type TTemplateLiteralDecode } from '../template_literal/decode.mjs';
|
|
4
3
|
import { type TFromType } from './from_type.mjs';
|
|
5
|
-
|
|
4
|
+
import { type TEvaluateTemplateLiteral } from '../evaluate/index.mjs';
|
|
5
|
+
export type TFromTemplateLiteral<Mapping extends TMappingType, Pattern extends string, Evaluated extends TSchema = TEvaluateTemplateLiteral<Pattern>, Result extends TSchema = TFromType<Mapping, Evaluated>> = Result;
|
|
6
6
|
export declare function FromTemplateLiteral(mapping: TMappingFunc, pattern: string): TSchema;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
|
-
import { TemplateLiteralDecode } from '../template_literal/decode.mjs';
|
|
3
2
|
import { FromType } from './from_type.mjs';
|
|
3
|
+
import { EvaluateTemplateLiteral } from '../evaluate/index.mjs';
|
|
4
4
|
export function FromTemplateLiteral(mapping, pattern) {
|
|
5
|
-
const
|
|
6
|
-
const result = FromType(mapping,
|
|
5
|
+
const evaluated = EvaluateTemplateLiteral(pattern);
|
|
6
|
+
const result = FromType(mapping, evaluated);
|
|
7
7
|
return result;
|
|
8
8
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs';
|
|
2
2
|
import { type TProperties } from '../../types/properties.mjs';
|
|
3
3
|
import { type TCyclic } from '../../types/cyclic.mjs';
|
|
4
|
+
import { type TDependent } from '../../types/dependent.mjs';
|
|
4
5
|
import { type TIntersect } from '../../types/intersect.mjs';
|
|
5
6
|
import { type TUnion } from '../../types/union.mjs';
|
|
6
7
|
import { type TKeyOfDeferred } from '../../action/keyof.mjs';
|
|
7
8
|
import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
|
|
8
9
|
import { type TCollapseToObject } from '../object/index.mjs';
|
|
9
10
|
import { type TFromType } from './from_type.mjs';
|
|
10
|
-
type TNormalizeType<Type extends TSchema, Result extends TSchema = (Type extends TCyclic
|
|
11
|
+
type TNormalizeType<Type extends TSchema, Result extends TSchema = (Type extends TCyclic ? TCollapseToObject<Type> : Type extends TDependent ? TCollapseToObject<Type> : Type extends TIntersect ? TCollapseToObject<Type> : Type extends TUnion ? TCollapseToObject<Type> : Type)> = Result;
|
|
11
12
|
export type TKeyOfAction<Type extends TSchema, Result extends TSchema = TCanInstantiate<[Type]> extends true ? TFromType<TNormalizeType<Type>> : TKeyOfDeferred<Type>> = Result;
|
|
12
13
|
export declare function KeyOfAction<Type extends TSchema>(type: Type, options: TSchemaOptions): TKeyOfAction<Type>;
|
|
13
14
|
export type TKeyOfInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>> = TKeyOfAction<InstantiatedType>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// deno-fmt-ignore-file
|
|
2
2
|
import { Memory } from '../../../system/memory/index.mjs';
|
|
3
3
|
import { IsCyclic } from '../../types/cyclic.mjs';
|
|
4
|
+
import { IsDependent } from '../../types/dependent.mjs';
|
|
4
5
|
import { IsIntersect } from '../../types/intersect.mjs';
|
|
5
6
|
import { IsUnion } from '../../types/union.mjs';
|
|
6
7
|
import { KeyOfDeferred } from '../../action/keyof.mjs';
|
|
@@ -11,7 +12,10 @@ import { CollapseToObject } from '../object/index.mjs';
|
|
|
11
12
|
// ------------------------------------------------------------------
|
|
12
13
|
import { FromType } from './from_type.mjs';
|
|
13
14
|
function NormalizeType(type) {
|
|
14
|
-
const result = (IsCyclic(type) ||
|
|
15
|
+
const result = (IsCyclic(type) ||
|
|
16
|
+
IsDependent(type) ||
|
|
17
|
+
IsIntersect(type) ||
|
|
18
|
+
IsUnion(type)) ? CollapseToObject(type) : type;
|
|
15
19
|
return result;
|
|
16
20
|
}
|
|
17
21
|
export function KeyOfAction(type, options) {
|
|
@@ -5,11 +5,11 @@ import { type TObject } from '../../types/object.mjs';
|
|
|
5
5
|
import { type TProperties } from '../../types/properties.mjs';
|
|
6
6
|
import { type TIdentifier } from '../../types/identifier.mjs';
|
|
7
7
|
import { type TTemplateLiteral } from '../../types/template_literal.mjs';
|
|
8
|
-
import { type
|
|
9
|
-
import { type
|
|
10
|
-
import { type
|
|
8
|
+
import { type TInstantiateType, type TState } from '../instantiate.mjs';
|
|
9
|
+
import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
|
|
10
|
+
import { type TEvaluateTemplateLiteral } from '../evaluate/evaluate.mjs';
|
|
11
11
|
import { type TMappedVariants } from './mapped_variants.mjs';
|
|
12
|
-
type TCanonicalAs<InstantiatedAs extends TSchema, Result extends TSchema = InstantiatedAs extends TTemplateLiteral<infer Pattern extends string> ?
|
|
12
|
+
type TCanonicalAs<InstantiatedAs extends TSchema, Result extends TSchema = InstantiatedAs extends TTemplateLiteral<infer Pattern extends string> ? TEvaluateTemplateLiteral<Pattern> : InstantiatedAs> = Result;
|
|
13
13
|
type TMappedVariant<Context extends TProperties, State extends TState, Identifier extends TIdentifier, Variant extends TSchema, As extends TSchema, Property extends TSchema, VariantContext extends TProperties = Memory.TAssign<Context, {
|
|
14
14
|
[_ in Identifier['name']]: Variant;
|
|
15
15
|
}>, InstantiatedAs extends TSchema = TInstantiateType<VariantContext, State, As>, CanonicalAs extends TSchema = TCanonicalAs<InstantiatedAs>, InstantiatedProperty extends TSchema = TInstantiateType<VariantContext, State, Property>, Result extends TProperties = CanonicalAs extends TLiteral<string | number> ? {
|