pi2dsh 0.2.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/LICENSE +21 -0
- package/README.md +122 -0
- package/README.zh.md +122 -0
- package/dist/cli.d.mts +2 -0
- package/dist/cli.mjs +128 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/compat/pi-ai.d.mts +2597 -0
- package/dist/compat/pi-ai.d.mts.map +1 -0
- package/dist/compat/pi-ai.mjs +4669 -0
- package/dist/compat/pi-ai.mjs.map +1 -0
- package/dist/compat/pi-coding-agent.d.mts +745 -0
- package/dist/compat/pi-coding-agent.d.mts.map +1 -0
- package/dist/compat/pi-coding-agent.mjs +4 -0
- package/dist/compat/pi-tui.d.mts +3 -0
- package/dist/compat/pi-tui.mjs +3622 -0
- package/dist/compat/pi-tui.mjs.map +1 -0
- package/dist/host.d.mts +35 -0
- package/dist/host.d.mts.map +1 -0
- package/dist/host.mjs +197 -0
- package/dist/host.mjs.map +1 -0
- package/dist/index.d.mts +69 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +5 -0
- package/dist/mcp-config-jL9w70It.mjs +1535 -0
- package/dist/mcp-config-jL9w70It.mjs.map +1 -0
- package/dist/pi-coding-agent-Dsg6_0ua.mjs +2060 -0
- package/dist/pi-coding-agent-Dsg6_0ua.mjs.map +1 -0
- package/dist/pi-config-shim-CZ1wFzqM.mjs +27 -0
- package/dist/pi-config-shim-CZ1wFzqM.mjs.map +1 -0
- package/dist/pi-tui-iHoF2tFc.d.mts +1043 -0
- package/dist/pi-tui-iHoF2tFc.d.mts.map +1 -0
- package/dist/pi-tui-utils-CcaVtm-3.mjs +895 -0
- package/dist/pi-tui-utils-CcaVtm-3.mjs.map +1 -0
- package/dist/pi-types-KazmR2O5.d.mts +62 -0
- package/dist/pi-types-KazmR2O5.d.mts.map +1 -0
- package/dist/pi-uuid-Db8ShZsK.mjs +47 -0
- package/dist/pi-uuid-Db8ShZsK.mjs.map +1 -0
- package/dist/rolldown-runtime-C2Q2p085.mjs +15 -0
- package/dist/runtime-D84Hv_3m.mjs +1499 -0
- package/dist/runtime-D84Hv_3m.mjs.map +1 -0
- package/dist/runtime.d.mts +31 -0
- package/dist/runtime.d.mts.map +1 -0
- package/dist/runtime.mjs +3 -0
- package/dist/source-D7Ir-rPT.mjs +154 -0
- package/dist/source-D7Ir-rPT.mjs.map +1 -0
- package/dist/types-7IWJPPvS.d.mts +59 -0
- package/dist/types-7IWJPPvS.d.mts.map +1 -0
- package/package.json +135 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-ai.mjs","names":["IsArray","IsBigInt","IsBoolean","IsFunction","IsNull","IsNumber","IsObject","IsString","Guard.HasPropertyKey","Guard.Keys","Guard.IsUnsafePropertyKey","Guard.IsEqual","Guard.Symbols","FromObject","Guard.IsClassInstance","FromArray","GlobalsGuard.IsTypeArray","GlobalsGuard.IsRegExp","GlobalsGuard.IsMap","GlobalsGuard.IsSet","Guard.IsArray","Guard.IsObject","Settings.Get","Guard.Keys","Settings.Get","Guard.IsObject","Guard.HasPropertyKey","Guard.IsEqual","Memory.Create","Memory.Update","Memory.Update","Memory.Create","Memory.Discard","Memory.Create","Memory.Discard","_Function_","Memory.Create","Memory.Discard","Memory.Create","Memory.Create","Memory.Create","Memory.Create","Optional","Guard.HasPropertyKey","Guard.Keys","Guard.Values","_Object_","Memory.Create","Memory.Discard","Memory.Create","Guard.Keys","Memory.Update","Memory.Create","Memory.Update","Guard.IsObjectNotArray","Guard.HasPropertyKey","Guard.IsNull","Match","Arguments.Match","Memory.Create","Dependent","Memory.Create","Memory.Discard","Guard.IsObjectNotArray","Guard.Keys","Guard.IsString","Guard.IsNumber","Memory.Create","Memory.Create","Memory.Discard","Unreachable","Memory.Update","Guard.HasPropertyKey","Guard.IsObject","Guard.HasPropertyKey","Readonly","Guard.HasPropertyKey","Memory.Update","Arguments.Match","Guard.IsObjectNotArray","Guard.HasPropertyKey","Guard.IsFunction","Guard.IsArray","Guard.Every","BigInt","Memory.Create","Boolean","Memory.Create","Memory.Create","Integer","Memory.Create","Guard.IsBigInt","Guard.IsBoolean","Guard.IsNumber","Guard.IsString","Memory.Create","Memory.Create","Number","Memory.Create","Memory.Create","Parameter","Arguments.Match","Memory.Create","String","Memory.Create","Memory.Create","Memory.Discard","Guard.IsEqual","FromLiteral","Guard.ShiftLeft","FromType","FromTypes","Guard.IsEqual","Memory.Create","Guard.ShiftLeft","FromLiteral","Guard.IsEqual","FromUnion","FromType","Unreachable","String","Memory.Create","Object","Memory.Create","Memory.Discard","Memory.Discard","Memory.Update","Memory.Discard","Memory.Update","Object","Guard.Keys","Object","Guard.IsEqual","Guard.ShiftLeft","Guard.IsEqual","Distribute","ExtendsResult.IsExtendsTrueLike","Guard.ShiftLeft","Guard.ShiftLeft","Distribute","Guard.IsEqual","Guard.IsString","Guard.IsNumber","Object","Guard.IsEqual","Guard.HasPropertyKey","Guard.IsString","Guard.ShiftLeft","Guard.IsEqual","Guard.IsString","Guard.IsNumber","Object","Object","Memory.Update","Guard.IsEqual","String","Integer","Number","Guard.Keys","Memory.Create","Memory.Create","Memory.Create","Memory.Create","Guard.IsEqual","T.Array","S.CapitalizeDeferred","S.ConstructorParametersDeferred","S.EvaluateDeferred","S.ExcludeDeferred","S.ExtractDeferred","S.IndexDeferred","S.InstanceTypeDeferred","S.LowercaseDeferred","S.NonNullableDeferred","S.OmitDeferred","S.ParametersDeferred","S.PartialDeferred","S.PickDeferred","S.ReadonlyObjectDeferred","S.KeyOfDeferred","T.RecordDeferred","S.RequiredDeferred","S.ReturnTypeDeferred","S.UncapitalizeDeferred","S.UppercaseDeferred","T.CallConstruct","T.Ref","Guard.ShiftLeft","T.Parameter","T.Unknown","T.String","T.Number","T.Boolean","T.Undefined","T.Null","T.Integer","T.BigInt","T.Any","T.Object","T.Never","T.Symbol","T.Void","T.This","T.Literal","T.TemplateLiteralDeferred","T.Dependent","Guard.IsArray","S.ConditionalDeferred","S.WithDeferred","T.IsIntersect","T.Intersect","T.IsUnion","T.Union","S.AddImmutableDeferred","T.Generic","T.Infer","T.IsInteger","T.IntegerKey","T.IsNumber","T.NumberKey","T.IsSymbol","T.StringKey","T.IsString","S.AddReadonlyDeferred","S.AddOptionalDeferred","Guard.HasPropertyKey","Memory.Assign","Guard.Keys","T.Rest","T.Tuple","T._Function_","T.Constructor","S.RemoveReadonlyDeferred","S.RemoveOptionalDeferred","S.MappedDeferred","T.Identifier","S.InterfaceDeferred","S.ModuleDeferred","Match","Optional","Match","Match","AllowedDigits","Match","TakeSign","Optional","Match","Match","BigInt","TakeInitial","Match","Match","Optional","Match","Number","Match","Match","Match","String","Match","Token.Ident","Token.Const","S.GenericParameterExtendsEqualsMapping","S.GenericParameterExtendsMapping","S.GenericParameterEqualsMapping","S.GenericParameterIdentifierMapping","S.GenericParameterMapping","S.GenericParameterListMapping","S.GenericParametersMapping","S.GenericCallArgumentListMapping","S.GenericCallArgumentsMapping","S.GenericCallMapping","S.OptionalSemiColonMapping","S.KeywordStringMapping","S.KeywordNumberMapping","S.KeywordBooleanMapping","S.KeywordUndefinedMapping","S.KeywordNullMapping","S.KeywordIntegerMapping","S.KeywordBigIntMapping","S.KeywordUnknownMapping","S.KeywordAnyMapping","S.KeywordObjectMapping","S.KeywordNeverMapping","S.KeywordSymbolMapping","S.KeywordVoidMapping","S.KeywordThisMapping","S.TemplateInterpolateMapping","Token.Until","S.TemplateSpanMapping","S.TemplateBodyMapping","S.TemplateLiteralTypesMapping","TemplateLiteral","S.TemplateLiteralMapping","S.DependentMapping","Token.BigInt","S.LiteralBigIntMapping","S.LiteralBooleanMapping","Token.Number","S.LiteralNumberMapping","Token.String","S.LiteralStringMapping","KeyOf","S.KeyOfMapping","S.IndexArrayMapping","Extends","S.ExtendsMapping","S.BaseMapping","With","S.WithMapping","S.FactorMapping","S.ExprTermTailMapping","S.ExprTermMapping","S.ExprTailMapping","S.ExprMapping","S.ExprReadonlyMapping","S.ExprPipeMapping","S.GenericTypeMapping","S.InferTypeMapping","S.TypeMapping","S.PropertyKeyNumberMapping","S.PropertyKeyIdentMapping","S.PropertyKeyQuotedMapping","S.PropertyKeyIndexMapping","S.PropertyKeyMapping","S.ReadonlyMapping","S.OptionalMapping","S.PropertyMapping","S.PropertyDelimiterMapping","S.PropertyListMapping","S.PropertiesMapping","S._Object_Mapping","S.ElementNamedMapping","S.ElementBaseMapping","S.ElementMapping","S.ElementListMapping","S._Tuple_Mapping","S.ParameterReadonlyOptionalMapping","S.ParameterReadonlyMapping","S.ParameterOptionalMapping","S.ParameterTypeMapping","S.ParameterBaseMapping","S.ParameterMapping","S.ParameterListMapping","S._Function_Mapping","S._Constructor_Mapping","S.MappedReadonlyMapping","S.MappedOptionalMapping","S.MappedAsMapping","S._Mapped_Mapping","S.ReferenceMapping","S.WithBigIntMapping","S.WithNumberMapping","S.WithBooleanMapping","S.WithStringMapping","S.WithNullMapping","S.WithUndefinedMapping","S.WithPropertyMapping","S.WithPropertyListMapping","S.WithObjectMapping","S.WithElementListMapping","S.WithArrayMapping","S.WithValueMapping","S.PatternBigIntMapping","S.PatternStringMapping","S.PatternNumberMapping","S.PatternIntegerMapping","S.PatternNeverMapping","Token.Until_1","S.PatternTextMapping","S.PatternBaseMapping","S.PatternGroupMapping","S.PatternUnionMapping","S.PatternTermMapping","S.PatternBodyMapping","S.PatternMapping","S.InterfaceDeclarationHeritageListMapping","S.InterfaceDeclarationHeritageMapping","S.InterfaceDeclarationGenericMapping","S.InterfaceDeclarationMapping","S.TypeAliasDeclarationGenericMapping","S.TypeAliasDeclarationMapping","S.ExportKeywordMapping","S.ModuleDeclarationDelimiterMapping","S.ModuleDeclarationListMapping","S.ModuleDeclarationMapping","Module","S.ModuleMapping","Script","S.ScriptMapping","Guard.IsEqual","Unreachable","Guard.ShiftLeft","Memory.Update","Guard.HasPropertyKey","Guard.IsEqual","Guard.IsString","Memory.Update","ExtendsUnion","Memory.Create","Guard.IsObject","Guard.HasPropertyKey","Guard.IsEqual","Result.Match","Result.ExtendsTrue","Memory.Assign","Result.ExtendsFalse","Guard.ShiftLeft","Result.ExtendsTrue","Result.ExtendsUnion","Result.ExtendsFalse","Result.ExtendsTrue","Result.ExtendsTrue","Result.ExtendsFalse","Result.Match","Guard.ShiftLeft","Result.ExtendsTrue","Result.ExtendsTrue","Result.ExtendsTrue","Result.Match","Result.ExtendsFalse","Result.Match","Result.ExtendsTrue","Result.Match","Result.ExtendsFalse","Result.ExtendsTrue","Result.ExtendsTrue","Result.ExtendsFalse","Guard.IsBigInt","Guard.IsBoolean","Guard.IsNumber","Guard.IsString","Unreachable","Result.ExtendsTrue","Result.ExtendsTrue","Result.ExtendsTrue","Result.ExtendsTrue","Result.ExtendsFalse","Result.Match","Result.IsExtendsTrueLike","Unreachable","Guard.Keys","Memory.Assign","Guard.Values","Guard.HasPropertyKey","Guard.ShiftLeft","Object","FromObject","Guard.IsEqual","Guard.Keys","Result.ExtendsTrue","Result.ExtendsFalse","FromRecord","Result.ExtendsTrue","Result.ExtendsTrue","Memory.Create","Guard.IsObject","Guard.HasPropertyKey","Guard.IsEqual","Guard.IsString","Unreachable","Guard.ShiftLeft","Result.Match","Guard.IsArray","Result.ExtendsTrue","Memory.Assign","Result.ExtendsFalse","Result.Match","Result.ExtendsFalse","Guard.ShiftLeft","Guard.IsEqual","Result.ExtendsTrue","Result.ExtendsTrue","Guard.ShiftLeft","Result.Match","Result.ExtendsTrue","Result.ExtendsFalse","Result.ExtendsTrue","Result.ExtendsFalse","Result.ExtendsTrue","Result.ExtendsFalse","Object","Memory.Update","Guard.HasPropertyKey","Guard.IsEqual","FromRef","FromType","FromProperties","FromTypes","Guard.ShiftLeft","FromRef","FromType","Unreachable","FromProperties","FromTypes","FromRef","Guard.Keys","FromType","FromTypes","_Function_","Object","Object","Guard.Keys","ExtendsResult.IsExtendsTrueLike","ExtendsResult.IsExtendsFalse","Guard.ShiftLeft","Guard.IsEqual","Memory.Update","Guard.IsEqual","Guard.ShiftLeft","FromType","ExtendsResult.IsExtendsTrueLike","Memory.Assign","Guard.ShiftLeft","Guard.IsLessThan","Settings.Get","Guard.IsEqual","Guard.IsGreaterThan","Memory.Create","Memory.Discard","Memory.Update","FromLiteral","Guard.IsString","FromTemplateLiteral","FromType","FromUnion","FromType","FromType","FromLiteral","FromTemplateLiteral","FromUnion","Memory.Update","FromType","ExtendsResult.IsExtendsUnion","ExtendsResult.IsExtendsTrue","Memory.Update","Memory.Update","Memory.Update","ExtendsResult.IsExtendsTrueLike","Guard.ShiftLeft","Memory.Update","Guard.IsArray","FromCyclic","FromType","FromDependent","FromType","Guard.Keys","Guard.HasPropertyKey","Memory.Assign","FromIntersect","FromType","FromObject","FromTuple","FromType","Guard.Keys","Guard.ShiftLeft","FromType","FromUnion","Unreachable","FromType","FromCyclic","FromDependent","FromIntersect","FromUnion","FromTuple","FromObject","FromType","Object","FromArray","Number","ExtendsResult.IsExtendsTrueLike","Guard.IsEqual","FromCyclic","FromType","FromDependent","FromType","FromEnum","FromType","FromIntersect","FromType","FromLiteral","FromTemplateLiteral","FromType","FromUnion","FromType","FromType","FromCyclic","FromDependent","FromEnum","FromIntersect","FromLiteral","FromTemplateLiteral","FromUnion","FromType","FromType","_Function_","_Object_","FromObject","ExtendsResult.IsExtendsTrueLike","FromTuple","Guard.IsEqual","FromType","FromArray","FromObject","FromTuple","NormalizeType","Memory.Update","FromType","Memory.Update","Number","String","FromArray","Number","Unreachable","FromObject","Guard.Keys","FromTuple","FromType","FromArray","FromObject","FromTuple","Memory.Update","FromType","FromType","FromUnion","Guard.IsNumber","Memory.Assign","Object","Memory.Update","Memory.Assign","Guard.Keys","Memory.Update","Memory.Update","Guard.IsArray","Unreachable","FromKeys","Guard.Keys","FromType","Object","Memory.Update","FromType","Memory.Update","FromCyclic","FromType","Memory.Assign","FromDependent","FromType","FromIntersect","FromType","FromUnion","FromType","FromObject","Guard.Keys","Object","FromType","FromCyclic","FromDependent","FromIntersect","FromUnion","FromObject","Object","Memory.Update","FromType","Guard.IsArray","Guard.Keys","Memory.Assign","FromType","Object","Memory.Update","FromType","Array","FromCyclic","FromType","Memory.Assign","FromDependent","FromType","FromIntersect","FromType","FromObject","Guard.Keys","Object","FromUnion","FromType","FromType","FromCyclic","FromDependent","FromIntersect","FromObject","FromUnion","Memory.Update","FromType","Memory.Assign","Guard.Keys","Object","Object","Memory.Update","Memory.Update","Memory.Update","Guard.ShiftLeft","Guard.Keys","Guard.IsEqual","_Function_","Dependent","Object","Memory.Update","Arguments.Match","Guard.IsString","Parser.Script","Guard.IsArray","Guard.IsEqual","Memory.Update"],"sources":["../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/system/memory/metrics.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/system/memory/assign.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/guard/guard.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/guard/globals.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/system/memory/clone.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/system/settings/settings.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/system/memory/create.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/system/memory/discard.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/system/memory/update.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/schema.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/deferred.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/array.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/constructor.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/function.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/ref.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/generic.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/any.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/never.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/_add_optional.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/_optional.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/properties.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/object.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/unknown.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/cyclic.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/unsafe.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/system/arguments/arguments.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/infer.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/dependent.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/enum/typescript_enum_to_enum_values.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/enum.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/intersect.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/system/unreachable/unreachable.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/system/hashing/hash.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/_codec.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/_immutable.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/_add_readonly.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/_readonly.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/_refine.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/bigint.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/boolean.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/identifier.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/integer.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/literal.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/null.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/number.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/symbol.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/parameter.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/string.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/union.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/patterns/pattern.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/template_literal/create.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/template_literal/decode.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/record/record_create.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/record/from_key_any.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/record/from_key_boolean.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/tuple.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/readonly/instantiate_remove.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/_remove_readonly.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/optional/instantiate_remove.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/_remove_optional.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/tuple/to_object.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/evaluate/composite.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/evaluate/narrow.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/evaluate/distribute.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/exclude/operation.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/record/from_key_enum.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/record/from_key_integer.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/record/from_key_intersect.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/record/from_key_literal.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/record/from_key_number.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/record/from_key_string.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/evaluate/flatten.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/record/from_key_union.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/record/from_key.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/record/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/record.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/rest.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/this.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/undefined.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/void.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/mapping.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/internal/match.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/internal/take.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/internal/char.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/internal/trim.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/internal/optional.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/internal/many.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/unsigned_integer.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/integer.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/bigint.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/const.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/ident.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/unsigned_number.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/number.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/until.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/span.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/string.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/token/until_1.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/parser.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/patterns/template.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/template_literal/encode.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/template_literal/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/template_literal.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/result.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/extends_right.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/any.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/array.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/bigint.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/boolean.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/parameters.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/return_type.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/constructor.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/dependent.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/enum.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/function.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/integer.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/intersect.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/literal.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/never.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/null.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/number.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/object.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/record.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/string.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/symbol.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/template_literal.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/inference.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/tuple.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/undefined.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/union.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/unknown.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/void.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/extends_left.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/interface/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/interface.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/cyclic/check.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/cyclic/candidates.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/cyclic/extends.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/cyclic/target.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/extends/extends.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/evaluate/compare.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/evaluate/broaden.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/evaluate/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/call/resolve_target.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/call/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/types/call.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/immutable/instantiate_remove.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/intrinsics/mapping.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/intrinsics/from_literal.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/intrinsics/from_union.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/intrinsics/from_type.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/capitalize.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/lowercase.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/uncapitalize.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/uppercase.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/intrinsics/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/conditional.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/conditional/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/constructor_parameters.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/exclude.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/exclude/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/extract.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/extract/operation.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/extract/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/helpers/keys_to_indexer.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/indexed.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/object/from_cyclic.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/object/from_dependent.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/object/from_intersect.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/object/from_object.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/object/from_tuple.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/object/from_union.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/object/from_type.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/object/collapse.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/helpers/keys.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexed/from_array.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexable/from_cyclic.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexable/from_dependent.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexable/from_enum.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexable/from_intersect.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexable/from_literal.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexable/from_union.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexable/from_type.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexable/to_indexable_keys.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/this/expand_this.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexed/from_object.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexed/array_indexer.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexed/from_tuple.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexed/from_type.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexed/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/instance_type.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/instance_type/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/keyof.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/keyof/from_any.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/keyof/from_array.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/keyof/from_object.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/keyof/from_record.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/keyof/from_tuple.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/keyof/from_type.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/keyof/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/mapped.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/mapped/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/module/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/non_nullable.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/non_nullable/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/omit.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/indexable/to_indexable.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/omit/from_type.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/omit/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/parameters.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/parameters/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/partial.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/partial/from_cyclic.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/partial/from_dependent.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/partial/from_intersect.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/partial/from_union.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/partial/from_object.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/partial/from_type.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/partial/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/pick.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/pick/from_type.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/pick/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/readonly_object.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/readonly_object/from_cyclic.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/readonly_object/from_dependent.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/readonly_object/from_union.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/readonly_object/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/ref/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/required/from_cyclic.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/required/from_dependent.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/required/from_intersect.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/required/from_union.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/required/from_object.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/required/from_type.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/required.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/required/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/return_type.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/return_type/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/with.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/with/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/rest/spread.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/instantiate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/_add_immutable.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/evaluate.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/action/module.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/type/script/script.mjs","../../node_modules/.pnpm/typebox@1.3.13/node_modules/typebox/build/typebox.mjs","../../src/compat/vendor/pi-ai-overflow.ts","../../src/compat/vendor/pi-ai-retry.ts","../../src/compat/pi-ai.ts"],"sourcesContent":["/** TypeBox instantiation metrics */\nexport const Metrics = {\n assign: 0,\n create: 0,\n clone: 0,\n discard: 0,\n update: 0\n};\n","// deno-lint-ignore-file ban-types no-explicit-any\n// deno-fmt-ignore-file\nimport { Metrics } from './metrics.mjs';\n/**\n * Performs an Object assign using the Left and Right object types. We track this operation as it\n * creates a new GC handle per assignment.\n */\nexport function Assign(left, right) {\n Metrics.assign += 1;\n return { ...left, ...right };\n}\n","// deno-fmt-ignore-file\nimport * as String from './string.mjs';\n// --------------------------------------------------------------------------\n// Guards\n// --------------------------------------------------------------------------\n/** Returns true if this value is an array */\nexport function IsArray(value) {\n return Array.isArray(value);\n}\n/** Returns true if this value is bigint */\nexport function IsBigInt(value) {\n return IsEqual(typeof value, 'bigint');\n}\n/** Returns true if this value is a boolean */\nexport function IsBoolean(value) {\n return IsEqual(typeof value, 'boolean');\n}\n/** Returns true if this value is a constructor */\nexport function IsConstructor(value) {\n if (IsUndefined(value) || !IsFunction(value))\n return false;\n const result = Function.prototype.toString.call(value);\n if (/^class\\s/.test(result))\n return true;\n if (/\\[native code\\]/.test(result))\n return true;\n return false;\n}\n/** Returns true if this value is a function */\nexport function IsFunction(value) {\n return IsEqual(typeof value, 'function');\n}\n/** Returns true if this value is integer */\nexport function IsInteger(value) {\n return Number.isInteger(value);\n}\n/** Returns true if this value is null */\nexport function IsNull(value) {\n return IsEqual(value, null);\n}\n/** Returns true if this value is number */\nexport function IsNumber(value) {\n return Number.isFinite(value);\n}\n/** Returns true if this value is an object but not an array */\nexport function IsObjectNotArray(value) {\n return IsObject(value) && !IsArray(value);\n}\n/** Returns true if this value is an object */\nexport function IsObject(value) {\n return IsEqual(typeof value, 'object') && !(IsNull(value));\n}\n/** Returns true if this value is string */\nexport function IsString(value) {\n return IsEqual(typeof value, 'string');\n}\n/** Returns true if this value is symbol */\nexport function IsSymbol(value) {\n return IsEqual(typeof value, 'symbol');\n}\n/** Returns true if this value is undefined */\nexport function IsUndefined(value) {\n return IsEqual(value, undefined);\n}\n// --------------------------------------------------------------------------\n// Relational\n// --------------------------------------------------------------------------\nexport function IsEqual(left, right) {\n return left === right;\n}\nexport function IsGreaterThan(left, right) {\n return left > right;\n}\nexport function IsLessThan(left, right) {\n return left < right;\n}\nexport function IsLessEqualThan(left, right) {\n return left <= right;\n}\nexport function IsGreaterEqualThan(left, right) {\n return left >= right;\n}\n// --------------------------------------------------------------------------\n// MultipleOf\n// --------------------------------------------------------------------------\nexport function IsMultipleOf(dividend, divisor) {\n if (IsBigInt(dividend) || IsBigInt(divisor)) {\n return BigInt(dividend) % BigInt(divisor) === 0n;\n }\n const tolerance = 1e-10;\n if (!IsNumber(dividend))\n return true;\n if (IsInteger(dividend) && (1 / divisor) % 1 === 0)\n return true;\n const mod = dividend % divisor;\n return Math.min(Math.abs(mod), Math.abs(mod - divisor), Math.abs(mod + divisor)) < tolerance;\n}\n// ------------------------------------------------------------------\n// IsClassInstance\n// ------------------------------------------------------------------\n/** Returns true if the value appears to be an instance of a class. */\nexport function IsClassInstance(value) {\n if (!IsObject(value))\n return false;\n const proto = globalThis.Object.getPrototypeOf(value);\n if (IsNull(proto))\n return false;\n return IsEqual(typeof proto.constructor, 'function') &&\n !(IsEqual(proto.constructor, globalThis.Object) ||\n IsEqual(proto.constructor.name, 'Object'));\n}\n// ------------------------------------------------------------------\n// IsValueLike\n// ------------------------------------------------------------------\nexport function IsValueLike(value) {\n return IsBigInt(value) ||\n IsBoolean(value) ||\n IsNull(value) ||\n IsNumber(value) ||\n IsString(value) ||\n IsUndefined(value);\n}\n// --------------------------------------------------------------------------\n// String\n// --------------------------------------------------------------------------\n/** Returns the number of grapheme clusters in the string */\nexport function GraphemeCount(value) {\n return String.GraphemeCount(value);\n}\n/** Returns true if the string has at most the given number of graphemes */\nexport function IsMaxLength(value, length) {\n return String.IsMaxLength(value, length);\n}\n/** Returns true if the string has at least the given number of graphemes */\nexport function IsMinLength(value, length) {\n return String.IsMinLength(value, length);\n}\n// --------------------------------------------------------------------------\n// Array\n// --------------------------------------------------------------------------\n/** Returns true if every element from offset satisfies the callback, short-circuiting on the first failure */\nexport function Every(value, offset, callback) {\n for (let index = offset; index < value.length; index++) {\n if (!callback(value[index], index))\n return false;\n }\n return true;\n}\n/** Returns true if every element from offset satisfies the callback, using exhaustive enumeration */\nexport function EveryAll(value, offset, callback) {\n let result = true;\n for (let index = offset; index < value.length; index++) {\n if (!callback(value[index], index))\n result = false;\n }\n return result;\n}\n/** Returns true if some element satisfies the callback, short-circuiting on the first success */\nexport function Some(value, callback) {\n for (let index = 0; index < value.length; index++) {\n if (callback(value[index], index))\n return true;\n }\n return false;\n}\n/** Returns true if some element satisfies the callback, using exhaustive enumeration */\nexport function SomeAll(value, callback) {\n let result = false;\n for (let index = 0; index < value.length; index++) {\n if (callback(value[index], index))\n result = true;\n }\n return result;\n}\n/** Returns the count of elements that satisfy the callback */\nexport function Counted(value, callback) {\n return value.reduce((result, value, index) => callback(value, index) ? ++result : result, 0);\n}\n/** Shifts the left-most element from an array and dispatches to the true arm, or the false arm if empty */\nexport function ShiftLeft(array, true_, false_) {\n return (IsEqual(array.length, 0) ? false_() : true_(array[0], array.slice(1)));\n}\n// --------------------------------------------------------------------------\n// Object\n// --------------------------------------------------------------------------\n/** Returns true if the PropertyKey is Unsafe (ref: prototype-pollution). */\nexport function IsUnsafePropertyKey(key) {\n return IsEqual(key, '__proto__') || IsEqual(key, 'constructor') || IsEqual(key, 'prototype');\n}\n/** Returns true if this value has this property key */\nexport function HasPropertyKey(value, key) {\n return IsUnsafePropertyKey(key) ? Object.prototype.hasOwnProperty.call(value, key) : key in value;\n}\n/** Returns object entries as `[RegExp, Value][]` */\nexport function EntriesRegExp(value) {\n return Keys(value).map((key) => [new RegExp(`^${key}$`), value[key]]);\n}\n/** Returns object entries as `[string, Value][]` */\nexport function Entries(value) {\n return Object.entries(value);\n}\n/** Returns property keys for this object via `Object.getOwnPropertyNames({ ... })` */\nexport function Keys(value) {\n return Object.getOwnPropertyNames(value);\n}\n/** Returns the property keys for this object via `Object.getOwnPropertySymbols({ ... })` */\nexport function Symbols(value) {\n return Object.getOwnPropertySymbols(value);\n}\n/** Returns the property values for the given object via `Object.values()` */\nexport function Values(value) {\n return Object.values(value);\n}\n// ------------------------------------------------------------------\n// IsDeepEqual\n// ------------------------------------------------------------------\nfunction DeepEqualObject(left, right) {\n if (!IsObject(right))\n return false;\n const keys = Keys(left);\n return IsEqual(keys.length, Keys(right).length) &&\n keys.every((key) => IsDeepEqual(left[key], right[key]));\n}\nfunction DeepEqualArray(left, right) {\n return IsArray(right) && IsEqual(left.length, right.length) &&\n left.every((_, index) => IsDeepEqual(left[index], right[index]));\n}\n/** Returns true if left and right values are structurally equal */\nexport function IsDeepEqual(left, right) {\n return (IsArray(left) ? DeepEqualArray(left, right) :\n IsObject(left) ? DeepEqualObject(left, right) :\n IsEqual(left, right));\n}\n","// --------------------------------------------------------------------------\n// Primitives\n// --------------------------------------------------------------------------\nexport function IsBoolean(value) {\n return value instanceof Boolean;\n}\nexport function IsNumber(value) {\n return value instanceof Number;\n}\nexport function IsString(value) {\n return value instanceof String;\n}\n// --------------------------------------------------------------------------\n// TypeArray\n// --------------------------------------------------------------------------\nexport function IsTypeArray(value) {\n return globalThis.ArrayBuffer.isView(value);\n}\n/** Returns true if the value is a Int8Array */\nexport function IsInt8Array(value) {\n return value instanceof globalThis.Int8Array;\n}\n/** Returns true if the value is a Uint8Array */\nexport function IsUint8Array(value) {\n return value instanceof globalThis.Uint8Array;\n}\n/** Returns true if the value is a Uint8ClampedArray */\nexport function IsUint8ClampedArray(value) {\n return value instanceof globalThis.Uint8ClampedArray;\n}\n/** Returns true if the value is a Int16Array */\nexport function IsInt16Array(value) {\n return value instanceof globalThis.Int16Array;\n}\n/** Returns true if the value is a Uint16Array */\nexport function IsUint16Array(value) {\n return value instanceof globalThis.Uint16Array;\n}\n/** Returns true if the value is a Int32Array */\nexport function IsInt32Array(value) {\n return value instanceof globalThis.Int32Array;\n}\n/** Returns true if the value is a Uint32Array */\nexport function IsUint32Array(value) {\n return value instanceof globalThis.Uint32Array;\n}\n/** Returns true if the value is a Float32Array */\nexport function IsFloat32Array(value) {\n return value instanceof globalThis.Float32Array;\n}\n/** Returns true if the value is a Float64Array */\nexport function IsFloat64Array(value) {\n return value instanceof globalThis.Float64Array;\n}\n/** Returns true if the value is a BigInt64Array */\nexport function IsBigInt64Array(value) {\n return value instanceof globalThis.BigInt64Array;\n}\n/** Returns true if the value is a BigUint64Array */\nexport function IsBigUint64Array(value) {\n return value instanceof globalThis.BigUint64Array;\n}\n// ------------------------------------------------------------------\n// RegExp\n// ------------------------------------------------------------------\n/** Returns true if the value is a RegExp */\nexport function IsRegExp(value) {\n return value instanceof globalThis.RegExp;\n}\n// ------------------------------------------------------------------\n// Date\n// ------------------------------------------------------------------\n/** Returns true if the value is a Date */\nexport function IsDate(value) {\n return value instanceof globalThis.Date;\n}\n// ------------------------------------------------------------------\n// Set\n// ------------------------------------------------------------------\n/** Returns true if the value is a Set */\nexport function IsSet(value) {\n return value instanceof globalThis.Set;\n}\n// ------------------------------------------------------------------\n// Map\n// ------------------------------------------------------------------\n/** Returns true if the value is a Map */\nexport function IsMap(value) {\n return value instanceof globalThis.Map;\n}\n","// deno-fmt-ignore-file\nimport { Guard, GlobalsGuard } from '../../guard/index.mjs';\nimport { Metrics } from './metrics.mjs';\n// ------------------------------------------------------------------\n// ClassInstance\n//\n// TypeBox does not clone arbitrary class instances. Class instances\n// cannot be safely cloned without potentially breaking private\n// members of the instance.\n//\n// ------------------------------------------------------------------\nfunction FromClassInstance(value) {\n return value; // atomic\n}\n// ------------------------------------------------------------------\n// SchemaObject\n//\n// Schema objects have non-enumerable properties that MUST be preserved \n// on Clone. The following is the optimal path these objects.\n// ------------------------------------------------------------------\nfunction IsSchemaObject(value) {\n return (Guard.HasPropertyKey(value, '~kind') ||\n Guard.HasPropertyKey(value, '~unsafe'));\n}\nfunction FromSchemaObject(value) {\n const result = {};\n for (const key of Guard.Keys(value)) {\n if (Guard.IsUnsafePropertyKey(key))\n continue; // (ignore: prototype-pollution)\n const descriptor = Object.getOwnPropertyDescriptor(value, key); // safe-name!\n descriptor.value = FromValue(descriptor.value);\n if (Guard.IsEqual(descriptor.enumerable, true)) {\n result[key] = descriptor.value;\n }\n else {\n Object.defineProperty(result, key, descriptor);\n }\n }\n return result;\n}\n// ------------------------------------------------------------------\n// PlainObject\n// ------------------------------------------------------------------\nfunction FromPlainObject(value) {\n const result = {};\n for (const key of Guard.Keys(value)) {\n if (Guard.IsUnsafePropertyKey(key))\n continue; // (ignore: prototype-pollution)\n result[key] = FromValue(value[key]);\n }\n for (const key of Guard.Symbols(value)) {\n result[key] = FromValue(value[key]);\n }\n return result;\n}\n// ------------------------------------------------------------------\n// Object\n// ------------------------------------------------------------------\nfunction FromObject(value) {\n return (Guard.IsClassInstance(value) ? FromClassInstance(value) :\n IsSchemaObject(value) ? FromSchemaObject(value) :\n FromPlainObject(value));\n}\n// ------------------------------------------------------------------\n// Array\n// ------------------------------------------------------------------\nfunction FromArray(value) {\n return value.map((element) => FromValue(element));\n}\n// ------------------------------------------------------------------\n// TypeArray\n// ------------------------------------------------------------------\nfunction FromTypedArray(value) {\n return value.slice();\n}\n// ------------------------------------------------------------------\n// RegExp\n// ------------------------------------------------------------------\nfunction FromRegExp(value) {\n return new RegExp(value.source, value.flags);\n}\n// ------------------------------------------------------------------\n// Map\n// ------------------------------------------------------------------\nfunction FromMap(value) {\n return new Map(FromValue([...value.entries()]));\n}\n// ------------------------------------------------------------------\n// Set\n// ------------------------------------------------------------------\nfunction FromSet(value) {\n return new Set(FromValue([...value.values()]));\n}\nfunction FromValue(value) {\n return (GlobalsGuard.IsTypeArray(value) ? FromTypedArray(value) :\n GlobalsGuard.IsRegExp(value) ? FromRegExp(value) :\n GlobalsGuard.IsMap(value) ? FromMap(value) :\n GlobalsGuard.IsSet(value) ? FromSet(value) :\n Guard.IsArray(value) ? FromArray(value) :\n Guard.IsObject(value) ? FromObject(value) :\n value);\n}\n// ------------------------------------------------------------------\n// Clone\n// ------------------------------------------------------------------\n/**\n * Returns a Clone of the given value. This function is similar to structuredClone()\n * but also supports deep cloning instances of Map, Set and TypeArray.\n */\nexport function Clone(value) {\n Metrics.clone += 1;\n return FromValue(value);\n}\n","import { Guard } from '../../guard/index.mjs';\n// Internal mutable state\nconst settings = {\n immutableTypes: false,\n maxErrors: 8,\n maxInstantiationCount: 128,\n useAcceleration: true,\n exactOptionalPropertyTypes: false,\n enumerableKind: false,\n correctiveParse: false,\n unionPrioritySort: true\n};\n/** Resets system settings to defaults */\nexport function Reset() {\n settings.immutableTypes = false;\n settings.maxErrors = 8;\n settings.maxInstantiationCount = 128;\n settings.useAcceleration = true;\n settings.exactOptionalPropertyTypes = false;\n settings.enumerableKind = false;\n settings.correctiveParse = false;\n settings.unionPrioritySort = true;\n}\n/** Sets system settings */\nexport function Set(options) {\n for (const key of Guard.Keys(options)) {\n const value = options[key];\n if (value !== undefined) {\n Object.defineProperty(settings, key, { value });\n }\n }\n}\n/** Gets current system settings */\nexport function Get() {\n return settings;\n}\n","// deno-lint-ignore-file no-explicit-any\n// deno-fmt-ignore-file\nimport { Settings } from '../settings/index.mjs';\nimport { Metrics } from './metrics.mjs';\nfunction MergeHidden(left, right) {\n for (const key of Object.keys(right)) {\n Object.defineProperty(left, key, {\n configurable: true,\n writable: true,\n enumerable: false,\n value: right[key]\n });\n }\n return left;\n}\nfunction Merge(left, right) {\n return { ...left, ...right };\n}\n/**\n * Creates an object with hidden, enumerable, and optional property sets. This function\n * ensures types are instantiated according to configuration rules for enumerable and\n * non-enumerable properties.\n */\nexport function Create(hidden, enumerable, options = {}) {\n Metrics.create += 1;\n const settings = Settings.Get();\n const withOptions = Merge(enumerable, options);\n const withHidden = settings.enumerableKind ? Merge(withOptions, hidden) : MergeHidden(withOptions, hidden);\n return settings.immutableTypes ? Object.freeze(withHidden) : withHidden;\n}\n","// deno-lint-ignore-file no-explicit-any\n// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { Metrics } from './metrics.mjs';\nimport { Clone } from './clone.mjs';\n/** Discards multiple property keys from the given object value */\nexport function Discard(value, propertyKeys) {\n Metrics.discard += 1;\n const result = {};\n for (const key of Guard.Keys(value)) {\n if (propertyKeys.includes(key))\n continue;\n const descriptor = Object.getOwnPropertyDescriptor(value, key); // safe-name!\n descriptor.value = Clone(descriptor.value);\n Object.defineProperty(result, key, descriptor);\n }\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Settings } from '../settings/index.mjs';\nimport { Metrics } from './metrics.mjs';\nimport { Clone } from './clone.mjs';\n/**\n * Updates a value with new properties while preserving property enumerability. Use this function to modify\n * existing types without altering their configuration.\n */\nexport function Update(current, hidden, enumerable) {\n Metrics.update += 1;\n const settings = Settings.Get();\n const result = Clone(current);\n // hidden\n for (const key of Object.keys(hidden)) {\n Object.defineProperty(result, key, {\n configurable: true,\n writable: true,\n enumerable: settings.enumerableKind,\n value: hidden[key]\n });\n }\n // enumerable\n for (const key of Object.keys(enumerable)) {\n Object.defineProperty(result, key, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: enumerable[key]\n });\n }\n return result;\n}\n","// deno-lint-ignore-file\n// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\n// ------------------------------------------------------------------\n// Kind\n// ------------------------------------------------------------------\nexport function IsKind(value, kind) {\n return Guard.IsObject(value) && Guard.HasPropertyKey(value, '~kind') && Guard.IsEqual(value[\"~kind\"], kind);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\nexport function IsSchema(value) {\n return Guard.IsObject(value);\n}\n","import { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Deferred action. */\nexport function Deferred(action, parameters, options) {\n return Memory.Create({ '~kind': 'Deferred' }, { type: 'deferred', action, parameters, options }, {});\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TDeferred. */\nexport function IsDeferred(value) {\n return IsKind(value, 'Deferred');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { InstantiateType } from '../instantiate.mjs';\nfunction AddReadonlyOperation(type) {\n return Memory.Update(type, { '~readonly': true }, {});\n}\nexport function AddReadonlyAction(type, options) {\n const result = Memory.Update(AddReadonlyOperation(type), {}, options);\n return result;\n}\nexport function AddReadonlyInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return AddReadonlyAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { InstantiateType } from '../instantiate.mjs';\nfunction AddOptionalOperation(type) {\n return Memory.Update(type, { '~optional': true }, {});\n}\nexport function AddOptionalAction(type, options) {\n const result = Memory.Update(AddOptionalOperation(type), {}, options);\n return result;\n}\nexport function AddOptionalInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return AddOptionalAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates an Array type. */\nexport function _Array_(items, options) {\n return Memory.Create({ '~kind': 'Array' }, { type: 'array', items }, options);\n}\nexport { _Array_ as Array }; // Prevent Collision With Global Scope\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TArray. */\nexport function IsArray(value) {\n return IsKind(value, 'Array');\n}\n// ------------------------------------------------------------------\n// Options\n// ------------------------------------------------------------------\n/** Extracts options from a TArray. */\nexport function ArrayOptions(type) {\n return Memory.Discard(type, ['~kind', 'type', 'items']);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Constructor type. */\nexport function Constructor(parameters, instanceType, options = {}) {\n return Memory.Create({ '~kind': 'Constructor' }, { type: 'constructor', parameters, instanceType }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TConstructor. */\nexport function IsConstructor(value) {\n return IsKind(value, 'Constructor');\n}\n// ------------------------------------------------------------------\n// Options\n// ------------------------------------------------------------------\n/** Extracts options from a TConstructor. */\nexport function ConstructorOptions(type) {\n return Memory.Discard(type, ['~kind', 'type', 'parameters', 'instanceType']);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Function type. */\nexport function _Function_(parameters, returnType, options = {}) {\n return Memory.Create({ ['~kind']: 'Function' }, { type: 'function', parameters, returnType }, options);\n}\nexport { _Function_ as Function }; // Prevent Collision With Global Scope\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TFunction. */\nexport function IsFunction(value) {\n return IsKind(value, 'Function');\n}\n// ------------------------------------------------------------------\n// Options\n// ------------------------------------------------------------------\n/** Extracts options from a TFunction. */\nexport function FunctionOptions(type) {\n return Memory.Discard(type, ['~kind', 'type', 'parameters', 'returnType']);\n}\n","// deno-lint-ignore-file no-explicit-any\n// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Ref type. */\nexport function Ref(ref, options) {\n return Memory.Create({ ['~kind']: 'Ref' }, { $ref: ref }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TRef. */\nexport function IsRef(value) {\n return IsKind(value, 'Ref');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from '../types/schema.mjs';\n// ------------------------------------------------------------------\n// Type\n// ------------------------------------------------------------------\n/** Creates a Generic type. */\nexport function Generic(parameters, expression) {\n return Memory.Create({ '~kind': 'Generic' }, { type: 'generic', parameters, expression });\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TGeneric. */\nexport function IsGeneric(value) {\n return IsKind(value, 'Generic');\n}\n","// deno-fmt-ignore-file\n// deno-lint-ignore-file \nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Any type. */\nexport function Any(options) {\n return Memory.Create({ ['~kind']: 'Any' }, {}, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TAny. */\nexport function IsAny(value) {\n return IsKind(value, 'Any');\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Pattern\n// ------------------------------------------------------------------\nexport const NeverPattern = '(?!)';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Never type. */\nexport function Never(options) {\n return Memory.Create({ '~kind': 'Never' }, { not: {} }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TNever. */\nexport function IsNever(value) {\n return IsKind(value, 'Never');\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { AddOptionalAction } from '../engine/optional/instantiate_add.mjs';\n/** Creates a deferred AddOptional action. */\nexport function AddOptionalDeferred(type, options = {}) {\n return Deferred('AddOptional', [type], options);\n}\n/** Applies an AddOptional action to a type. */\nexport function AddOptional(type, options = {}) {\n return AddOptionalAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { IsSchema } from './schema.mjs';\nimport { AddOptional } from '../action/_add_optional.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Applies an Optional modifier to the given type. */\nexport function Optional(type) {\n return AddOptional(type);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TOptional */\nexport function IsOptional(value) {\n return IsSchema(value) && Guard.HasPropertyKey(value, '~optional');\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { IsOptional } from './_optional.mjs';\n/** Creates a RequiredArray derived from the given TProperties value. */\nexport function RequiredArray(properties) {\n return Guard.Keys(properties).filter((key) => !IsOptional(properties[key]));\n}\n/** Extracts a tuple of keys from a TProperties value. */\nexport function PropertyKeys(properties) {\n return Guard.Keys(properties);\n}\n/** Extracts a tuple of property values from a TProperties value. */\nexport function PropertyValues(properties) {\n return Guard.Values(properties);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\nimport { RequiredArray } from './properties.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates an Object type. */\nexport function _Object_(properties, options = {}) {\n const requiredKeys = RequiredArray(properties);\n const required = requiredKeys.length > 0 ? { required: requiredKeys } : {};\n return Memory.Create({ '~kind': 'Object' }, { type: 'object', ...required, properties }, options);\n}\nexport { _Object_ as Object }; // Prevent Collision With Global Scope\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TObject. */\nexport function IsObject(value) {\n return IsKind(value, 'Object');\n}\n// ------------------------------------------------------------------\n// Options\n// ------------------------------------------------------------------\n/** Extracts options from a TObject. */\nexport function ObjectOptions(type) {\n return Memory.Discard(type, ['~kind', 'type', 'properties', 'required']);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates an Unknown type. */\nexport function Unknown(options) {\n return Memory.Create({ ['~kind']: 'Unknown' }, {}, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TUnknown. */\nexport function IsUnknown(value) {\n return IsKind(value, 'Unknown');\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Cyclic type. */\nexport function Cyclic($defs, $ref, options) {\n // $defs require an $id per definition to enable Ajv to resolve correctly\n const defs = Guard.Keys($defs).reduce((result, key) => {\n return { ...result, [key]: Memory.Update($defs[key], {}, { $id: key }) };\n }, {});\n return Memory.Create({ ['~kind']: 'Cyclic' }, { $defs: defs, $ref }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TCyclic. */\nexport function IsCyclic(value) {\n return IsKind(value, 'Cyclic');\n}\n// ------------------------------------------------------------------\n// Options\n// ------------------------------------------------------------------\n/** Extracts options from a TCyclic. */\nexport function CyclicOptions(type) {\n return Memory.Discard(type, ['~kind', '$defs', '$ref']);\n}\n","// deno-fmt-ignore-file\n// deno-lint-ignore-file \nimport { Guard } from '../../guard/index.mjs';\nimport { Memory } from '../../system/memory/index.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Unsafe type. */\nexport function Unsafe(schema) {\n return Memory.Update(schema, { ['~unsafe']: null }, {});\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TUnsafe. */\nexport function IsUnsafe(value) {\n return Guard.IsObjectNotArray(value)\n && Guard.HasPropertyKey(value, '~unsafe')\n && Guard.IsNull(value['~unsafe']);\n}\n","/**\n * Match arguments for overloaded functions that use the `...args: unknown[]` pattern. Arguments\n * are parsed using argument length only.\n */\nexport function Match(args, match) {\n return (match[args.length]?.(...args) ?? (() => {\n throw Error('Invalid Arguments');\n })());\n}\n","// deno-fmt-ignore-file\nimport { Arguments } from '../../system/arguments/index.mjs';\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from '../types/schema.mjs';\nimport { Unknown } from '../types/unknown.mjs';\n/** Creates an Infer instruction. */\nexport function Infer(...args) {\n const [name, extends_] = Arguments.Match(args, {\n 2: (name, extends_) => [name, extends_, extends_],\n 1: (name) => [name, Unknown(), Unknown()],\n });\n return Memory.Create({ ['~kind']: 'Infer' }, { type: 'infer', name, extends: extends_ }, {});\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TInfer. */\nexport function IsInfer(value) {\n return IsKind(value, 'Infer');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Dependent type */\nexport function Dependent(if_, then_, else_, options = {}) {\n return Memory.Create({ '~kind': 'Dependent' }, { if: if_, then: then_, else: else_ }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TDependent. */\nexport function IsDependent(value) {\n return IsKind(value, 'Dependent');\n}\n// ------------------------------------------------------------------\n// Options\n// ------------------------------------------------------------------\n/** Extracts options from a IsDependent. */\nexport function DependentOptions(type) {\n return Memory.Discard(type, ['~kind', 'if', 'then', 'else']);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nexport function IsTypeScriptEnumLike(value) {\n return Guard.IsObjectNotArray(value);\n}\nexport function TypeScriptEnumToEnumValues(type) {\n const keys = Guard.Keys(type).filter((key) => isNaN(key));\n return keys.reduce((result, key) => [...result, type[key]], []);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\nimport { IsTypeScriptEnumLike } from '../engine/enum/typescript_enum_to_enum_values.mjs';\nimport { TypeScriptEnumToEnumValues } from '../engine/enum/typescript_enum_to_enum_values.mjs';\n/** Returns true if the given value is a EnumValue */\nexport function IsEnumValue(value) {\n return Guard.IsString(value) || Guard.IsNumber(value);\n}\n/** Creates an Enum type. */\nexport function Enum(value, options) {\n const values = IsTypeScriptEnumLike(value) ? TypeScriptEnumToEnumValues(value) : value;\n return Memory.Create({ '~kind': 'Enum' }, { enum: values }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TEnum. */\nexport function IsEnum(value) {\n return IsKind(value, 'Enum');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Intersect type. */\nexport function Intersect(types, options = {}) {\n return Memory.Create({ '~kind': 'Intersect' }, { allOf: types }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TIntersect. */\nexport function IsIntersect(value) {\n return IsKind(value, 'Intersect');\n}\n// ------------------------------------------------------------------\n// Options\n// ------------------------------------------------------------------\n/** Extracts options from a TIntersect. */\nexport function IntersectOptions(type) {\n return Memory.Discard(type, ['~kind', 'allOf']);\n}\n","// deno-coverage-ignore-start - unreachable by definition\n/** Used for unreachable logic */\nexport function Unreachable() {\n throw new Error('Unreachable');\n}\n// deno-coverage-ignore-stop\n","// deno-fmt-ignore-file\nimport { Unreachable } from '../unreachable/index.mjs';\nimport { Guard, GlobalsGuard } from '../../guard/index.mjs';\n// ------------------------------------------------------------------\n// InstanceKeys\n//\n// Retrieves all enumerable and non-enumerable own property keys \n// and inherited prototype keys (excluding symbols and the 'constructor') \n// from an object instance.\n//\n// This function is useful for differentiating between class instances \n// based on their structural keys rather than relying on the \n// constructor name. It provides a more reliable structural comparison \n// by capturing both own and prototype properties.\n//\n// ------------------------------------------------------------------\nfunction InstanceKeys(value) {\n const propertyKeys = new Set();\n let current = value;\n while (current && current !== Object.prototype) {\n for (const key of Reflect.ownKeys(current)) {\n if (key !== 'constructor' && typeof key !== 'symbol')\n propertyKeys.add(key);\n }\n current = Object.getPrototypeOf(current);\n }\n return [...propertyKeys];\n}\n// ------------------------------------------------------------------\n// IsIEEE754\n//\n// TypeBox guards do not consider +/- Infinity or NaN as valid\n// numbers, but they are valid IEEE754 numbers. We use a special\n// guard to ensure these numbers are considered for hashing.\n//\n// ------------------------------------------------------------------\nfunction IsIEEE754(value) {\n return typeof value === 'number';\n}\n// ------------------------------------------------------------------\n// ByteMarker\n// ------------------------------------------------------------------\nvar ByteMarker;\n(function (ByteMarker) {\n ByteMarker[ByteMarker[\"Array\"] = 0] = \"Array\";\n ByteMarker[ByteMarker[\"BigInt\"] = 1] = \"BigInt\";\n ByteMarker[ByteMarker[\"Boolean\"] = 2] = \"Boolean\";\n ByteMarker[ByteMarker[\"Date\"] = 3] = \"Date\";\n ByteMarker[ByteMarker[\"Constructor\"] = 4] = \"Constructor\";\n ByteMarker[ByteMarker[\"Function\"] = 5] = \"Function\";\n ByteMarker[ByteMarker[\"Null\"] = 6] = \"Null\";\n ByteMarker[ByteMarker[\"Number\"] = 7] = \"Number\";\n ByteMarker[ByteMarker[\"Object\"] = 8] = \"Object\";\n ByteMarker[ByteMarker[\"RegExp\"] = 9] = \"RegExp\";\n ByteMarker[ByteMarker[\"String\"] = 10] = \"String\";\n ByteMarker[ByteMarker[\"Symbol\"] = 11] = \"Symbol\";\n ByteMarker[ByteMarker[\"TypeArray\"] = 12] = \"TypeArray\";\n ByteMarker[ByteMarker[\"Undefined\"] = 13] = \"Undefined\";\n})(ByteMarker || (ByteMarker = {}));\n// ------------------------------------------------------------------\n// State\n// ------------------------------------------------------------------\nlet Accumulator = BigInt('14695981039346656037');\nconst [Prime, Size] = [BigInt('1099511628211'), BigInt('18446744073709551616' /* 2 ^ 64 */)];\nconst Bytes = Array.from({ length: 256 }).map((_, i) => BigInt(i));\nconst F64 = new Float64Array(1);\nconst F64In = new DataView(F64.buffer);\nconst F64Out = new Uint8Array(F64.buffer);\n// ------------------------------------------------------------------\n// Operation\n// ------------------------------------------------------------------\nfunction FNV1A64_OP(byte) {\n Accumulator = Accumulator ^ Bytes[byte];\n Accumulator = (Accumulator * Prime) % Size;\n}\n// ------------------------------------------------------------------\n// Array\n// ------------------------------------------------------------------\nfunction FromArray(value) {\n FNV1A64_OP(ByteMarker.Array);\n for (const item of value) {\n FromValue(item);\n }\n}\n// ------------------------------------------------------------------\n// BigInt\n// ------------------------------------------------------------------\nfunction FromBigInt(value) {\n FNV1A64_OP(ByteMarker.BigInt);\n F64In.setBigInt64(0, value);\n for (const byte of F64Out) {\n FNV1A64_OP(byte);\n }\n}\n// ------------------------------------------------------------------\n// Boolean\n// ------------------------------------------------------------------\nfunction FromBoolean(value) {\n FNV1A64_OP(ByteMarker.Boolean);\n FNV1A64_OP(value ? 1 : 0);\n}\n// ------------------------------------------------------------------\n// Constructor\n// ------------------------------------------------------------------\nfunction FromConstructor(value) {\n FNV1A64_OP(ByteMarker.Constructor);\n FromValue(value.toString());\n}\n// ------------------------------------------------------------------\n// Date\n// ------------------------------------------------------------------\nfunction FromDate(value) {\n FNV1A64_OP(ByteMarker.Date);\n FromValue(value.getTime());\n}\n// ------------------------------------------------------------------\n// Function\n// ------------------------------------------------------------------\nfunction FromFunction(value) {\n FNV1A64_OP(ByteMarker.Function);\n FromValue(value.toString());\n}\n// ------------------------------------------------------------------\n// Null\n// ------------------------------------------------------------------\nfunction FromNull(_value) {\n FNV1A64_OP(ByteMarker.Null);\n}\n// ------------------------------------------------------------------\n// Number | IEEE754\n// ------------------------------------------------------------------\nfunction FromNumber(value) {\n FNV1A64_OP(ByteMarker.Number);\n F64In.setFloat64(0, value, true /* little-endian */);\n for (const byte of F64Out) {\n FNV1A64_OP(byte);\n }\n}\n// ------------------------------------------------------------------\n// Object\n// ------------------------------------------------------------------\nfunction FromObject(value) {\n FNV1A64_OP(ByteMarker.Object);\n for (const key of InstanceKeys(value).sort()) {\n FromValue(key);\n FromValue(value[key]);\n }\n}\n// ------------------------------------------------------------------\n// RegExp\n// ------------------------------------------------------------------\nfunction FromRegExp(value) {\n FNV1A64_OP(ByteMarker.RegExp);\n FromString(value.toString());\n}\n// ------------------------------------------------------------------\n// String\n// ------------------------------------------------------------------\nconst encoder = new TextEncoder();\nfunction FromString(value) {\n FNV1A64_OP(ByteMarker.String);\n for (const byte of encoder.encode(value)) {\n FNV1A64_OP(byte);\n }\n}\n// ------------------------------------------------------------------\n// Symbol\n// ------------------------------------------------------------------\nfunction FromSymbol(value) {\n FNV1A64_OP(ByteMarker.Symbol);\n FromValue(value.toString());\n}\n// ------------------------------------------------------------------\n// TypeArray\n// ------------------------------------------------------------------\nfunction FromTypeArray(value) {\n FNV1A64_OP(ByteMarker.TypeArray);\n const buffer = new Uint8Array(value.buffer);\n for (let i = 0; i < buffer.length; i++) {\n FNV1A64_OP(buffer[i]);\n }\n}\n// ------------------------------------------------------------------\n// Undefined\n// ------------------------------------------------------------------\nfunction FromUndefined(_value) {\n return FNV1A64_OP(ByteMarker.Undefined);\n}\n// ------------------------------------------------------------------\n// Hash\n//\n// deno-coverage-ignore-start - unreachable\n//\n// This function should all JavaScript values so we can't reach the\n// fall-through. We use Unreachable to assert that no values pass\n// through. We will need to handle these should they arise.\n//\n// ------------------------------------------------------------------\nfunction FromValue(value) {\n return (GlobalsGuard.IsTypeArray(value) ? FromTypeArray(value) :\n GlobalsGuard.IsDate(value) ? FromDate(value) :\n GlobalsGuard.IsRegExp(value) ? FromRegExp(value) :\n GlobalsGuard.IsBoolean(value) ? FromBoolean(value.valueOf()) :\n GlobalsGuard.IsString(value) ? FromString(value.valueOf()) :\n GlobalsGuard.IsNumber(value) ? FromNumber(value.valueOf()) :\n IsIEEE754(value) ? FromNumber(value) :\n Guard.IsArray(value) ? FromArray(value) :\n Guard.IsBoolean(value) ? FromBoolean(value) :\n Guard.IsBigInt(value) ? FromBigInt(value) :\n Guard.IsConstructor(value) ? FromConstructor(value) :\n Guard.IsNull(value) ? FromNull(value) :\n Guard.IsObject(value) ? FromObject(value) :\n Guard.IsString(value) ? FromString(value) :\n Guard.IsSymbol(value) ? FromSymbol(value) :\n Guard.IsUndefined(value) ? FromUndefined(value) :\n Guard.IsFunction(value) ? FromFunction(value) :\n Unreachable());\n}\n// deno-coverage-ignore-stop\n// ------------------------------------------------------------------\n// Hash\n// ------------------------------------------------------------------\n/** Generates a FNV1A-64 non cryptographic hash of the given value */\nexport function HashCode(value) {\n Accumulator = BigInt('14695981039346656037');\n FromValue(value);\n return Accumulator;\n}\n/** Generates a FNV1A-64 non cryptographic hash of the given value */\nexport function Hash(value) {\n return HashCode(value).toString(16).padStart(16, '0');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/index.mjs';\nimport { Guard } from '../../guard/index.mjs';\nimport { IsSchema } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\nexport class EncodeBuilder {\n constructor(type, decode) {\n this.type = type;\n this.decode = decode;\n }\n Encode(callback) {\n const type = this.type;\n const decode = IsCodec(type) ? (value) => this.decode(type['~codec'].decode(value)) : this.decode;\n const encode = IsCodec(type) ? (value) => type['~codec'].encode(callback(value)) : callback;\n const codec = { decode, encode };\n return Memory.Update(this.type, { '~codec': codec }, {});\n }\n}\nexport class DecodeBuilder {\n constructor(type) {\n this.type = type;\n }\n Decode(callback) {\n return new EncodeBuilder(this.type, callback);\n }\n}\n// ------------------------------------------------------------------\n// Bidirectional\n// ------------------------------------------------------------------\n/** Creates a bi-directional Codec. Codec functions are called on Value.Decode and Value.Encode. */\nexport function Codec(type) {\n return new DecodeBuilder(type);\n}\n// ------------------------------------------------------------------\n// Unidirectional\n// ------------------------------------------------------------------\n/** Createsa uni-directional Codec with Decode only. The Decode function is called on Value.Decode */\nexport function Decode(type, callback) {\n return Codec(type).Decode(callback).Encode(() => {\n throw Error('Encode not implemented');\n });\n}\n/** Creates a uni-directional Codec with Encode only. The Encode function is called on Value.Encode */\nexport function Encode(type, callback) {\n return Codec(type).Decode(() => {\n throw Error('Decode not implemented');\n }).Encode(callback);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\nexport function IsCodec(value) {\n return IsSchema(value) &&\n Guard.HasPropertyKey(value, '~codec') &&\n Guard.IsObject(value['~codec']) &&\n Guard.HasPropertyKey(value['~codec'], 'encode') &&\n Guard.HasPropertyKey(value['~codec'], 'decode');\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { IsSchema } from './schema.mjs';\nimport { AddImmutable } from '../action/_add_immutable.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Applies an Immutable modifier to the given type. */\nexport function Immutable(type) {\n return AddImmutable(type);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TImmutable */\nexport function IsImmutable(value) {\n return IsSchema(value) && Guard.HasPropertyKey(value, '~immutable');\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { AddReadonlyAction } from '../engine/readonly/instantiate_add.mjs';\n/** Creates a deferred AddReadonly action. */\nexport function AddReadonlyDeferred(type, options = {}) {\n return Deferred('AddReadonly', [type], options);\n}\n/** Applies an AddReadonly action to a type. */\nexport function AddReadonly(type, options = {}) {\n return AddReadonlyAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { IsSchema } from './schema.mjs';\nimport { AddReadonly } from '../action/_add_readonly.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Applies an Readonly property modifier to the given type. */\nexport function Readonly(type) {\n return AddReadonly(type);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TReadonly */\nexport function IsReadonly(value) {\n return IsSchema(value) && Guard.HasPropertyKey(value, '~readonly');\n}\n","// deno-fmt-ignore-file\nimport { Arguments } from '../../system/arguments/index.mjs';\nimport { Memory } from '../../system/memory/index.mjs';\nimport { Guard } from '../../guard/index.mjs';\nimport { IsSchema } from './schema.mjs';\n/** Applies a Refine check to the given type. */\nexport function RefineAdd(type, refinement) {\n const refinements = IsRefine(type) ? [...type['~refine'], refinement] : [refinement];\n return Memory.Update(type, { '~refine': refinements }, {});\n}\n/** Refines a type with an explicit check */\nexport function Refine(...args) {\n const [type, check, error] = Arguments.Match(args, {\n 3: (type, check, error) => [type, check, error],\n 2: (type, check) => [type, check, () => 'Refine Error'],\n });\n return RefineAdd(type, { check, error });\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TRefinement. */\nexport function IsRefinement(value) {\n return Guard.IsObjectNotArray(value)\n && Guard.HasPropertyKey(value, 'check')\n && Guard.HasPropertyKey(value, 'error')\n && Guard.IsFunction(value.check)\n && Guard.IsFunction(value.error);\n}\n/** Returns true if the given value is a TRefine. */\nexport function IsRefine(value) {\n return IsSchema(value)\n && Guard.HasPropertyKey(value, '~refine')\n && Guard.IsArray(value['~refine'])\n && Guard.Every(value['~refine'], 0, value => IsRefinement(value));\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Pattern\n// ------------------------------------------------------------------\nexport const BigIntPattern = '-?(?:0|[1-9][0-9]*)n';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a BigInt type. */\nexport function BigInt(options) {\n return Memory.Create({ '~kind': 'BigInt' }, { type: 'bigint' }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TBigInt. */\nexport function IsBigInt(value) {\n return IsKind(value, 'BigInt');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Boolean type. */\nexport function Boolean(options) {\n return Memory.Create({ '~kind': 'Boolean' }, { type: 'boolean' }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TBoolean. */\nexport function IsBoolean(value) {\n return IsKind(value, 'Boolean');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from '../types/schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates an Identifier. */\nexport function Identifier(name) {\n return Memory.Create({ '~kind': 'Identifier' }, { name });\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TIdentifier. */\nexport function IsIdentifier(value) {\n return IsKind(value, 'Identifier');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Pattern\n// ------------------------------------------------------------------\nexport const IntegerPattern = '-?(?:0|[1-9][0-9]*)';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Integer type. */\nexport function Integer(options) {\n return Memory.Create({ '~kind': 'Integer' }, { type: 'integer' }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TInteger. */\nexport function IsInteger(value) {\n return IsKind(value, 'Integer');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { Guard } from '../../guard/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// InvalidLiteralValue\n// ------------------------------------------------------------------\nexport class InvalidLiteralValue extends Error {\n constructor(value) {\n super(`Invalid Literal value`);\n Object.defineProperty(this, 'cause', {\n value: { value },\n writable: false,\n configurable: false,\n enumerable: false\n });\n }\n}\nexport function LiteralTypeName(value) {\n return (Guard.IsBigInt(value) ? 'bigint' :\n Guard.IsBoolean(value) ? 'boolean' :\n Guard.IsNumber(value) ? 'number' :\n Guard.IsString(value) ? 'string' :\n (() => { throw new InvalidLiteralValue(value); })());\n}\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Literal type. */\nexport function Literal(value, options) {\n return Memory.Create({ '~kind': 'Literal' }, { type: LiteralTypeName(value), const: value }, options);\n}\n// ------------------------------------------------------------------\n// Guards\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TLiteralValue. */\nexport function IsLiteralValue(value) {\n return Guard.IsBigInt(value)\n || Guard.IsBoolean(value)\n || Guard.IsNumber(value)\n || Guard.IsString(value);\n}\n/** Returns true if the given value is TLiteral<bigint>. */\nexport function IsLiteralBigInt(value) {\n return IsLiteral(value) && Guard.IsBigInt(value.const);\n}\n/** Returns true if the given value is TLiteral<boolean>. */\nexport function IsLiteralBoolean(value) {\n return IsLiteral(value) && Guard.IsBoolean(value.const);\n}\n/** Returns true if the given value is TLiteral<number>. */\nexport function IsLiteralNumber(value) {\n return IsLiteral(value) && Guard.IsNumber(value.const);\n}\n/** Returns true if the given value is TLiteral<string>. */\nexport function IsLiteralString(value) {\n return IsLiteral(value) && Guard.IsString(value.const);\n}\n/** Returns true if the given value is TLiteral. */\nexport function IsLiteral(value) {\n return IsKind(value, 'Literal');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Null type. */\nexport function Null(options) {\n return Memory.Create({ '~kind': 'Null' }, { type: 'null' }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TNull. */\nexport function IsNull(value) {\n return IsKind(value, 'Null');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Pattern\n// ------------------------------------------------------------------\nexport const NumberPattern = '-?(?:0|[1-9][0-9]*)(?:\\\\.[0-9]+)?';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Number type. */\nexport function Number(options) {\n return Memory.Create({ '~kind': 'Number' }, { type: 'number' }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is a TNumber. */\nexport function IsNumber(value) {\n return IsKind(value, 'Number');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Symbol type. */\nexport function Symbol(options) {\n return Memory.Create({ '~kind': 'Symbol' }, { type: 'symbol' }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TSymbol. */\nexport function IsSymbol(value) {\n return IsKind(value, 'Symbol');\n}\n","// deno-fmt-ignore-file\nimport { Arguments } from '../../system/arguments/index.mjs';\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\nimport { Unknown } from './unknown.mjs';\n/** Creates a Parameter type. */\nexport function Parameter(...args) {\n const [name, extends_, equals] = Arguments.Match(args, {\n 3: (name, extends_, equals) => [name, extends_, equals],\n 2: (name, extends_) => [name, extends_, extends_],\n 1: (name) => [name, Unknown(), Unknown()],\n });\n return Memory.Create({ '~kind': 'Parameter' }, { name, extends: extends_, equals }, {});\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TParameter. */\nexport function IsParameter(value) {\n return IsKind(value, 'Parameter');\n}\n","// deno-lint-ignore-file\n// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// StringPattern\n// ------------------------------------------------------------------\nexport const StringPattern = '.*';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a String type. */\nexport function String(options) {\n return Memory.Create({ '~kind': 'String' }, { type: 'string' }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TString. */\nexport function IsString(value) {\n return IsKind(value, 'String');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Union type. */\nexport function Union(anyOf, options = {}) {\n return Memory.Create({ '~kind': 'Union' }, { anyOf }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TUnion. */\nexport function IsUnion(value) {\n return IsKind(value, 'Union');\n}\n// ------------------------------------------------------------------\n// Options\n// ------------------------------------------------------------------\n/** Extracts options from a TUnion. */\nexport function UnionOptions(type) {\n return Memory.Discard(type, ['~kind', 'anyOf']);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Pattern } from '../../script/parser.mjs';\n/** Parses a Pattern into a sequence of TemplateLiteral types. A result of [] indicates failure to parse. */\nexport function ParsePatternIntoTypes(pattern) {\n const parsed = Pattern(pattern);\n const result = Guard.IsEqual(parsed.length, 2)\n ? parsed[0]\n : []; // Failed to Parse\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { IsLiteral } from '../../types/literal.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nfunction FromLiteral(_value) {\n return true;\n}\nfunction FromTypesReduce(types) {\n return Guard.ShiftLeft(types, (left, right) => FromType(left)\n ? FromTypesReduce(right)\n : false, () => true);\n}\nfunction FromTypes(types) {\n const result = Guard.IsEqual(types.length, 0) ? false : FromTypesReduce(types);\n return result;\n}\nfunction FromType(type) {\n return (IsUnion(type) ? FromTypes(type.anyOf) :\n IsLiteral(type) ? FromLiteral(type.const) :\n false);\n}\n/** Returns true if the given TemplateLiteral types yields a finite variant set */\nexport function IsTemplateLiteralFinite(types) {\n const result = FromTypes(types);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nexport function TemplateLiteralCreate(pattern) {\n return Memory.Create({ ['~kind']: 'TemplateLiteral' }, { type: 'string', pattern }, {});\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Unreachable } from '../../../system/unreachable/index.mjs';\nimport { Literal, IsLiteral } from '../../types/literal.mjs';\nimport { String } from '../../types/string.mjs';\nimport { IsTemplateLiteral } from '../../types/template_literal.mjs';\nimport { Union, IsUnion } from '../../types/union.mjs';\nimport { ParsePatternIntoTypes } from '../patterns/pattern.mjs';\nimport { IsTemplateLiteralFinite } from './is_finite.mjs';\nimport { TemplateLiteralCreate } from './create.mjs';\nfunction FromLiteralPush(variants, value, result = []) {\n return Guard.ShiftLeft(variants, (left, right) => FromLiteralPush(right, value, [...result, `${left}${value}`]), () => result);\n}\nfunction FromLiteral(variants, value) {\n return (Guard.IsEqual(variants.length, 0) ? [`${value}`] : FromLiteralPush(variants, value));\n}\nfunction FromUnion(variants, types, result = []) {\n return Guard.ShiftLeft(types, (left, right) => FromUnion(variants, right, [...result, ...FromType(variants, left)]), () => result);\n}\n// ------------------------------------------------------------------\n// deno-coverage-ignore-start - symmetric unreachable | internal\n// \n// Parsed TemplateLiteral patterns only yield Literal or Union but\n// we keep the fall-through to assert that no other types can reach \n// here without error.\n//\n// ------------------------------------------------------------------\nfunction FromType(variants, type) {\n const result = (IsUnion(type) ? FromUnion(variants, type.anyOf) :\n IsLiteral(type) ? FromLiteral(variants, type.const) :\n Unreachable() // []\n );\n return result;\n}\nfunction DecodeFromSpan(variants, types) {\n return Guard.ShiftLeft(types, (left, right) => DecodeFromSpan(FromType(variants, left), right), () => variants);\n}\nfunction VariantsToLiterals(variants) {\n return variants.map(variant => Literal(variant));\n}\nfunction DecodeTypesAsUnion(types) {\n const variants = DecodeFromSpan([], types);\n const literals = VariantsToLiterals(variants);\n const result = Union(literals);\n return result;\n}\n// ------------------------------------------------------------------\n// deno-coverage-ignore-start - internal\n// \n// Cannot invoke the 0-length condition as the TemplateLiteral \n// parsers always return at least 1 TLiteral or TUnion. We would \n// return a empty string TLiteral for this case, but will use \n// Unreachable to catch parse inputs that trigger 0-length.\n//\n// ------------------------------------------------------------------\nfunction DecodeTypes(types) {\n return (Guard.IsEqual(types.length, 0) ? Unreachable() : // Literal('') :\n Guard.IsEqual(types.length, 1) && IsLiteral(types[0]) ? types[0] :\n DecodeTypesAsUnion(types));\n}\n/**\n * (Internal) Decodes a TemplateLiteral pattern into a Type. This function is unsafe. Decoding a non-finite\n * TemplateLiteral pattern may produce another TemplateLiteral pattern. During enumeration, this\n * TemplateLiteral -> TemplateLiteral behavior can cause a StackOverflow. A better in-flight template-literal\n * decoding algorithm is needed. (for review)\n */\nexport function TemplateLiteralDecodeUnsafe(pattern) {\n const types = ParsePatternIntoTypes(pattern);\n const result = Guard.IsEqual(types.length, 0) // Failed to Parse | IsTemplateLiteralPattern\n ? String() // ... Pattern cannot be typed, so discard\n : IsTemplateLiteralFinite(types)\n ? DecodeTypes(types)\n : TemplateLiteralCreate(pattern);\n return result;\n}\n/** Decodes a TemplateLiteral pattern but returns TString if the pattern in non-finite. */\nexport function TemplateLiteralDecode(pattern) {\n const decoded = TemplateLiteralDecodeUnsafe(pattern);\n const result = IsTemplateLiteral(decoded) ? String() : decoded;\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nexport function CreateRecord(key, value) {\n const type = 'object';\n const patternProperties = { [key]: value };\n return Memory.Create({ ['~kind']: 'Record' }, { type, patternProperties });\n}\n","// deno-fmt-ignore-file\nimport { StringKey } from '../../types/record.mjs';\nimport { CreateRecord } from './record_create.mjs';\nexport function FromAnyKey(value) {\n return CreateRecord(StringKey, value);\n}\n","// deno-fmt-ignore-file\nimport { Object } from '../../types/object.mjs';\nexport function FromBooleanKey(value) {\n return Object({ true: value, false: value });\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Tuple type. */\nexport function Tuple(types, options = {}) {\n const [items, minItems, additionalItems] = [types, types.length, false];\n return Memory.Create({ ['~kind']: 'Tuple' }, { type: 'array', additionalItems, items, minItems }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TTuple. */\nexport function IsTuple(value) {\n return IsKind(value, 'Tuple');\n}\n// ------------------------------------------------------------------\n// Options\n// ------------------------------------------------------------------\n/** Extracts options from a TTuple. */\nexport function TupleOptions(type) {\n return Memory.Discard(type, ['~kind', 'type', 'items', 'minItems', 'additionalItems']);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { InstantiateType } from '../instantiate.mjs';\nfunction RemoveReadonlyOperation(type) {\n return Memory.Discard(type, ['~readonly']);\n}\nexport function RemoveReadonlyAction(type, options) {\n const result = Memory.Update(RemoveReadonlyOperation(type), {}, options);\n return result;\n}\nexport function RemoveReadonlyInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return RemoveReadonlyAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { RemoveReadonlyAction } from '../engine/readonly/instantiate_remove.mjs';\n/** Creates a deferred RemoveReadonly action. */\nexport function RemoveReadonlyDeferred(type, options = {}) {\n return Deferred('RemoveReadonly', [type], options);\n}\n/** Applies an RemoveReadonly action to a type. */\nexport function RemoveReadonly(type, options = {}) {\n return RemoveReadonlyAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { InstantiateType } from '../instantiate.mjs';\nfunction RemoveOptionalOperation(type) {\n return Memory.Discard(type, ['~optional']);\n}\nexport function RemoveOptionalAction(type, options) {\n const result = Memory.Update(RemoveOptionalOperation(type), {}, options);\n return result;\n}\nexport function RemoveOptionalInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return RemoveOptionalAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { RemoveOptionalAction } from '../engine/optional/instantiate_remove.mjs';\n/** Creates a deferred RemoveOptional action. */\nexport function RemoveOptionalDeferred(type, options = {}) {\n return Deferred('RemoveOptional', [type], options);\n}\n/** Applies an RemoveOptional action to a type. */\nexport function RemoveOptional(type, options = {}) {\n return RemoveOptionalAction(type, options);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Object } from '../../types/object.mjs';\nexport function TupleElementsToProperties(types) {\n const result = types.reduceRight((result, right, index) => {\n return { [index]: right, ...result };\n }, {});\n return result;\n}\nexport function TupleToObject(type) {\n const properties = TupleElementsToProperties(type.items);\n const result = Object(properties);\n return result;\n}\n","// deno-fmt-ignore-file\n// deno-lint-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { IsReadonly } from '../../types/_readonly.mjs';\nimport { IsOptional } from '../../types/_optional.mjs';\nimport { Object, IsObject } from '../../types/object.mjs';\nimport { Never } from '../../types/never.mjs';\nimport { IsTuple } from '../../types/tuple.mjs';\nimport { AddReadonly } from '../../action/_add_readonly.mjs';\nimport { AddOptional } from '../../action/_add_optional.mjs';\nimport { RemoveReadonly } from '../../action/_remove_readonly.mjs';\nimport { RemoveOptional } from '../../action/_remove_optional.mjs';\nimport { TupleElementsToProperties } from '../tuple/to_object.mjs';\nimport { EvaluateIntersect } from './evaluate.mjs';\n/** Returns true if the type is a valid operand to Composite. */\nexport function CanComposite(type) {\n return (IsObject(type) || IsTuple(type));\n}\nfunction IsReadonlyProperty(left, right) {\n return (IsReadonly(left) ? IsReadonly(right) ? true : false : false);\n}\nfunction IsOptionalProperty(left, right) {\n return (IsOptional(left) ? IsOptional(right) ? true : false : false);\n}\nfunction CompositeProperty(left, right) {\n const isReadonly = IsReadonlyProperty(left, right);\n const isOptional = IsOptionalProperty(left, right);\n const evaluated = EvaluateIntersect([left, right]);\n // Modifiers need to be discarded and re-applied\n const property = RemoveReadonly(RemoveOptional(evaluated));\n return (isReadonly && isOptional ? AddReadonly(AddOptional(property)) :\n isReadonly && !isOptional ? AddReadonly(property) :\n !isReadonly && isOptional ? AddOptional(property) :\n property);\n}\nfunction CompositePropertyKey(left, right, key) {\n return (key in left\n ? key in right ? CompositeProperty(left[key], right[key]) : left[key]\n : key in right ? right[key] : Never());\n}\nfunction CompositeProperties(left, right) {\n const keys = new Set([...Guard.Keys(left), ...Guard.Keys(right)]);\n const result = [...keys].reduce((result, key) => {\n return { ...result, [key]: CompositePropertyKey(left, right, key) };\n }, {});\n return result;\n}\nfunction GetProperties(type) {\n const result = (IsObject(type) ? type.properties :\n IsTuple(type) ? TupleElementsToProperties(type.items) :\n {});\n return result;\n}\nexport function Composite(left, right) {\n const leftProperties = GetProperties(left);\n const rightProperties = GetProperties(right);\n const properties = CompositeProperties(leftProperties, rightProperties);\n const result = Object(properties);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { IsAny } from '../../types/any.mjs';\nimport { Never, IsNever } from '../../types/never.mjs';\nimport { IsUnknown } from '../../types/unknown.mjs';\nimport { Compare, CompareResultLeftInside, CompareResultRightInside, CompareResultEqual } from './compare.mjs';\nimport { Composite, CanComposite } from './composite.mjs';\nfunction NarrowCompareRule(left, right) {\n const result = Compare(left, right);\n return (Guard.IsEqual(result, CompareResultLeftInside) ? left :\n Guard.IsEqual(result, CompareResultRightInside) ? right :\n Guard.IsEqual(result, CompareResultEqual) ? right :\n Never());\n}\nfunction NarrowCompositeRule(left, right) {\n const canCompositeLeft = CanComposite(left);\n const canCompositeRight = CanComposite(right);\n return (canCompositeLeft && canCompositeRight ? Composite(left, right) :\n canCompositeLeft && !canCompositeRight ? left :\n !canCompositeLeft && canCompositeRight ? right :\n NarrowCompareRule(left, right));\n}\nexport function Narrow(left, right) {\n return (IsNever(left) ? left :\n IsAny(left) ? left :\n IsUnknown(left) ? right :\n IsNever(right) ? right :\n IsAny(right) ? right :\n IsUnknown(right) ? left :\n NarrowCompositeRule(left, right));\n}\n","// deno-fmt-ignore-file\n// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { Narrow } from './narrow.mjs';\nimport { EvaluateIntersect } from './evaluate.mjs';\nimport { EvaluateType } from './evaluate.mjs';\nfunction ShouldEvaluate(left, right) {\n const result = IsUnion(left) || IsUnion(right);\n return result;\n}\nfunction DistributeOperation(left, right) {\n const evaluatedLeft = EvaluateType(left);\n const evaluatedRight = EvaluateType(right);\n const shouldEvaluate = ShouldEvaluate(evaluatedLeft, evaluatedRight);\n const result = shouldEvaluate\n ? EvaluateIntersect([evaluatedLeft, evaluatedRight])\n : Narrow(evaluatedLeft, evaluatedRight);\n return result;\n}\nfunction DistributeType(type, types, result = []) {\n return Guard.ShiftLeft(types, (left, right) => DistributeType(type, right, [...result, DistributeOperation(left, type)]), () => Guard.IsEqual(result.length, 0)\n ? [type]\n : result);\n}\nfunction DistributeUnion(types, distribution, result = []) {\n return Guard.ShiftLeft(types, (left, right) => DistributeUnion(right, distribution, [...result, ...Distribute([left], distribution)]), () => result);\n}\nexport function Distribute(types, result = []) {\n return Guard.ShiftLeft(types, (left, right) => IsUnion(left)\n ? Distribute(right, DistributeUnion(left.anyOf, result))\n : Distribute(right, DistributeType(left, result)), () => result);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { Extends, ExtendsResult } from '../../extends/index.mjs';\nimport { EvaluateType } from '../evaluate/evaluate.mjs';\nimport { EvaluateUnion } from '../evaluate/evaluate.mjs';\nfunction ExcludeType(left, right) {\n const check = Extends({}, left, right);\n const result = ExtendsResult.IsExtendsTrueLike(check) ? [] : [left];\n return result;\n}\nfunction ExcludeUnion(left, right, result = []) {\n return Guard.ShiftLeft(left, (head, tail) => ExcludeUnion(tail, right, [...result, ...ExcludeType(head, right)]), () => result);\n}\nexport function ExcludeOperation(left, right) {\n const evaluated = EvaluateType(left);\n const canonical = IsUnion(evaluated) ? evaluated.anyOf : [evaluated];\n const remaining = ExcludeUnion(canonical, right);\n const result = EvaluateUnion(remaining);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { IsDependent } from '../../types/dependent.mjs';\nimport { IsEnum } from '../../types/enum.mjs';\nimport { IsIntersect } from '../../types/intersect.mjs';\nimport { Literal } from '../../types/literal.mjs';\nimport { Never } from '../../types/never.mjs';\nimport { IsTemplateLiteral } from '../../types/template_literal.mjs';\nimport { Union, IsUnion } from '../../types/union.mjs';\n// ------------------------------------------------------------------\n// Infrastructure\n// ------------------------------------------------------------------\nimport { Distribute } from './distribute.mjs';\nimport { Broaden } from './broaden.mjs';\nimport { ExcludeOperation } from '../exclude/operation.mjs';\nimport { TemplateLiteralDecode } from '../template_literal/decode.mjs';\nexport function EvaluateDependent(if_, then_, else_) {\n const intersected = EvaluateIntersect([if_, then_]);\n const excluded = ExcludeOperation(else_, if_);\n const result = EvaluateUnion([intersected, excluded]);\n return result;\n}\nexport function EvaluateEnum(values, result = []) {\n return Guard.ShiftLeft(values, (left, right) => EvaluateEnum(right, [...result, Literal(left)]), () => EvaluateUnion(result));\n}\nexport function EvaluateIntersect(types) {\n const distribution = Distribute(types);\n const broadend = Broaden(distribution);\n const result = EvaluateUnion(broadend);\n return result;\n}\nexport function EvaluateTemplateLiteral(pattern) {\n const evaluated = TemplateLiteralDecode(pattern);\n const result = EvaluateType(evaluated);\n return result;\n}\nexport function EvaluateUnion(types) {\n const broadend = Broaden(types);\n const result = EvaluateUnionFast(broadend);\n return result;\n}\nexport function EvaluateType(type) {\n const result = (IsDependent(type) ? EvaluateDependent(type.if, type.then, type.else) :\n IsEnum(type) ? EvaluateEnum(type.enum) :\n IsIntersect(type) ? EvaluateIntersect(type.allOf) :\n IsTemplateLiteral(type) ? EvaluateTemplateLiteral(type.pattern) :\n IsUnion(type) ? EvaluateUnion(type.anyOf) :\n type);\n return result;\n}\nexport function EvaluateUnionFast(types) {\n const result = (Guard.IsEqual(types.length, 1) ? types[0] :\n Guard.IsEqual(types.length, 0) ? Never() :\n Union(types));\n return result;\n}\n","// deno-fmt-ignore-file\nimport { FromKey } from './from_key.mjs';\nimport { EvaluateEnum } from '../evaluate/evaluate.mjs';\nexport function FromEnumKey(values, value) {\n const unionKey = EvaluateEnum(values);\n const result = FromKey(unionKey, value);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { IntegerKey } from '../../types/record.mjs';\nimport { CreateRecord } from './record_create.mjs';\nexport function FromIntegerKey(_key, value) {\n const result = CreateRecord(IntegerKey, value);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { EvaluateIntersect } from '../evaluate/evaluate.mjs';\nimport { FromKey } from './from_key.mjs';\nexport function FromIntersectKey(types, value) {\n const evaluatedKey = EvaluateIntersect(types);\n const result = FromKey(evaluatedKey, value);\n return result;\n}\n","// deno-fmt-ignore-file\n// deno-lint-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Object } from '../../types/object.mjs';\nexport function FromLiteralKey(key, value) {\n return (Guard.IsString(key) || Guard.IsNumber(key) ? Object({ [key]: value }) :\n Guard.IsEqual(key, false) ? Object({ false: value }) :\n Guard.IsEqual(key, true) ? Object({ true: value }) :\n Object({}));\n}\n","// deno-fmt-ignore-file\nimport { NumberKey } from '../../types/record.mjs';\nimport { CreateRecord } from './record_create.mjs';\nexport function FromNumberKey(_key, value) {\n const result = CreateRecord(NumberKey, value);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { StringKey } from '../../types/record.mjs';\nimport { CreateRecord } from './record_create.mjs';\nexport function FromStringKey(key, value) {\n // special case: override for string with raw pattern. We do not observe inference for the\n // raw string patterns, but as a pattern (assuming non-never) is in the set of string, we\n // allow overriding. Callers will need to narrow to the pattern manually. TB legacy.\n return (Guard.HasPropertyKey(key, 'pattern') && (Guard.IsString(key.pattern) || key.pattern instanceof RegExp)\n ? CreateRecord(key.pattern.toString(), value)\n : CreateRecord(StringKey, value));\n}\n","// deno-fmt-ignore-file\nimport { FromKey } from './from_key.mjs';\nimport { ParsePatternIntoTypes } from '../patterns/pattern.mjs';\nimport { IsTemplateLiteralFinite } from '../template_literal/is_finite.mjs';\nimport { EvaluateTemplateLiteral } from '../evaluate/evaluate.mjs';\nimport { CreateRecord } from './record_create.mjs';\nexport function FromTemplateKey(pattern, value) {\n const types = ParsePatternIntoTypes(pattern);\n const finite = IsTemplateLiteralFinite(types);\n const result = finite ? FromKey(EvaluateTemplateLiteral(pattern), value) : CreateRecord(pattern, value);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nfunction FlattenType(type) {\n const result = IsUnion(type) ? Flatten(type.anyOf) : [type];\n return result;\n}\nexport function Flatten(types, result = []) {\n return Guard.ShiftLeft(types, (left, right) => Flatten(right, [...result, ...FlattenType(left)]), () => result);\n}\n","// deno-fmt-ignore-file\n// deno-lint-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { IsSchema } from '../../types/schema.mjs';\nimport { IsLiteral } from '../../types/literal.mjs';\nimport { IsNumber } from '../../types/number.mjs';\nimport { IsInteger } from '../../types/integer.mjs';\nimport { Object } from '../../types/object.mjs';\nimport { IsString } from '../../types/string.mjs';\nimport { StringKey } from '../../types/record.mjs';\nimport { Flatten } from '../evaluate/flatten.mjs';\nimport { CreateRecord } from './record_create.mjs';\nfunction StringOrNumberCheck(types) {\n return types.some(type => IsString(type) || IsNumber(type) || IsInteger(type));\n}\nfunction TryBuildRecord(types, value) {\n return (Guard.IsEqual(StringOrNumberCheck(types), true)\n ? CreateRecord(StringKey, value)\n : undefined);\n}\nfunction CreateProperties(types, value) {\n return types.reduce((result, left) => {\n return IsLiteral(left) && (Guard.IsString(left.const) || Guard.IsNumber(left.const))\n ? { ...result, [left.const]: value }\n : result;\n }, {});\n}\nfunction CreateObject(types, value) {\n const properties = CreateProperties(types, value);\n const result = Object(properties);\n return result;\n}\nexport function FromUnionKey(types, value) {\n const flattened = Flatten(types);\n const record = TryBuildRecord(flattened, value);\n return (IsSchema(record) // maybe IsRecord?\n ? record\n : CreateObject(flattened, value));\n}\n","// deno-fmt-ignore-file\n// deno-lint-ignore-file\nimport { IsAny } from '../../types/any.mjs';\nimport { IsBoolean } from '../../types/boolean.mjs';\nimport { IsEnum } from '../../types/enum.mjs';\nimport { IsIntersect } from '../../types/intersect.mjs';\nimport { IsInteger } from '../../types/integer.mjs';\nimport { IsLiteral } from '../../types/literal.mjs';\nimport { IsNumber } from '../../types/number.mjs';\nimport { Object } from '../../types/object.mjs';\nimport { IsString } from '../../types/string.mjs';\nimport { IsTemplateLiteral } from '../../types/template_literal.mjs';\nimport { IsUnion } from '../../types/union.mjs';\n// ------------------------------------------------------------------\n// Keys and Deferred\n// ------------------------------------------------------------------\nimport { FromAnyKey } from './from_key_any.mjs';\nimport { FromBooleanKey } from './from_key_boolean.mjs';\nimport { FromEnumKey } from './from_key_enum.mjs';\nimport { FromIntegerKey } from './from_key_integer.mjs';\nimport { FromIntersectKey } from './from_key_intersect.mjs';\nimport { FromLiteralKey } from './from_key_literal.mjs';\nimport { FromNumberKey } from './from_key_number.mjs';\nimport { FromStringKey } from './from_key_string.mjs';\nimport { FromTemplateKey } from './from_key_template_literal.mjs';\nimport { FromUnionKey } from './from_key_union.mjs';\nexport function FromKey(key, value) {\n const result = (IsAny(key) ? FromAnyKey(value) :\n IsBoolean(key) ? FromBooleanKey(value) :\n IsEnum(key) ? FromEnumKey(key.enum, value) :\n IsInteger(key) ? FromIntegerKey(key, value) :\n IsIntersect(key) ? FromIntersectKey(key.allOf, value) :\n IsLiteral(key) ? FromLiteralKey(key.const, value) :\n IsNumber(key) ? FromNumberKey(key, value) :\n IsUnion(key) ? FromUnionKey(key.anyOf, value) :\n IsString(key) ? FromStringKey(key, value) :\n IsTemplateLiteral(key) ? FromTemplateKey(key.pattern, value) :\n Object({}));\n return result;\n}\n","// deno-fmt-ignore-file\n// deno-lint-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { RecordDeferred } from '../../types/record.mjs';\nimport { FromKey } from './from_key.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nexport function RecordAction(key, value, options) {\n const result = CanInstantiate([key])\n ? Memory.Update(FromKey(key, value), {}, options)\n : RecordDeferred(key, value, options);\n return result;\n}\nexport function RecordInstantiate(context, state, key, value, options) {\n const instantiatedKey = InstantiateType(context, state, key);\n const instantiatedValue = InstantiateType(context, state, value);\n return RecordAction(instantiatedKey, instantiatedValue, options);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { Guard } from '../../guard/index.mjs';\nimport { IsKind } from './schema.mjs';\nimport { Integer, IntegerPattern } from './integer.mjs';\nimport { Number, NumberPattern } from './number.mjs';\nimport { String, StringPattern } from './string.mjs';\nimport { Deferred } from './deferred.mjs';\nimport { TemplateLiteralDecodeUnsafe } from '../engine/template_literal/decode.mjs';\nimport { CreateRecord } from '../engine/record/record_create.mjs';\nimport { RecordAction } from '../engine/record/instantiate.mjs';\nexport const IntegerKey = `^${IntegerPattern}$`;\nexport const NumberKey = `^${NumberPattern}$`;\nexport const StringKey = `^${StringPattern}$`;\n/** Represents a deferred Record action. */\nexport function RecordDeferred(key, value, options = {}) {\n return Deferred('Record', [key, value], options);\n}\n// -------------------------------------------------------------------\n// Factory\n// -------------------------------------------------------------------\n/** Creates a Record type. */\nexport function Record(key, value, options = {}) {\n return RecordAction(key, value, options);\n}\n// -------------------------------------------------------------------\n// RecordFromPattern\n// -------------------------------------------------------------------\n/** Creates a Record type from regular expression pattern. */\nexport function RecordFromPattern(pattern, value) {\n return CreateRecord(pattern, value);\n}\n/** Transforms a Record Pattern to a Type */\nexport function RecordPatternToType(pattern) {\n const result = (Guard.IsEqual(pattern, StringKey) ? String() :\n Guard.IsEqual(pattern, IntegerKey) ? Integer() :\n Guard.IsEqual(pattern, NumberKey) ? Number() :\n TemplateLiteralDecodeUnsafe(pattern));\n return result;\n}\n/** Extracts the Pattern from a Record type */\nexport function RecordPattern(type) {\n return Guard.Keys(type.patternProperties)[0];\n}\n/** Extracts the Key from a Record type */\nexport function RecordKey(type) {\n const pattern = RecordPattern(type);\n const result = RecordPatternToType(pattern);\n return result;\n}\n/** Extracts the Value from a Record type */\nexport function RecordValue(type) {\n return type.patternProperties[RecordPattern(type)];\n}\n// -------------------------------------------------------------------\n// Guard\n// -------------------------------------------------------------------\nexport function IsRecord(value) {\n return IsKind(value, 'Record');\n}\n// -------------------------------------------------------------------\n// Options\n// -------------------------------------------------------------------\nexport function RecordOptions(type) {\n return Memory.Discard(type, ['~kind', 'type', 'patternProperties']);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from '../types/schema.mjs';\n// ------------------------------------------------------------------\n// Type\n// ------------------------------------------------------------------\n/** Creates a Rest instruction type. */\nexport function Rest(type) {\n return Memory.Create({ '~kind': 'Rest' }, { type: 'rest', items: type }, {});\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TRest. */\nexport function IsRest(value) {\n return IsKind(value, 'Rest');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a This type. */\nexport function This(options) {\n return Memory.Create({ ['~kind']: 'This' }, { $ref: '#' }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TThis. */\nexport function IsThis(value) {\n return IsKind(value, 'This');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Undefined type. */\nexport function Undefined(options) {\n return Memory.Create({ '~kind': 'Undefined' }, { type: 'undefined' }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TUndefined. */\nexport function IsUndefined(value) {\n return IsKind(value, 'Undefined');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Void type. */\nexport function Void(options) {\n return Memory.Create({ '~kind': 'Void' }, { type: 'void' }, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TVoid. */\nexport function IsVoid(value) {\n return IsKind(value, 'Void');\n}\n","// deno-fmt-ignore-file\n// deno-lint-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { Guard } from '../../guard/index.mjs';\nimport * as T from '../types/index.mjs';\nimport * as S from '../action/index.mjs';\nfunction IntrinsicOrCall(ref, parameters) {\n // deno-coverage-ignore-start\n //\n // Have extensively tested but reports show no Omit coverage (review)\n return (Guard.IsEqual(ref, 'Array') ? T.Array(parameters[0]) :\n Guard.IsEqual(ref, 'Capitalize') ? S.CapitalizeDeferred(parameters[0]) :\n Guard.IsEqual(ref, 'ConstructorParameters') ? S.ConstructorParametersDeferred(parameters[0]) :\n Guard.IsEqual(ref, 'Evaluate') ? S.EvaluateDeferred(parameters[0]) :\n Guard.IsEqual(ref, 'Exclude') ? S.ExcludeDeferred(parameters[0], parameters[1]) :\n Guard.IsEqual(ref, 'Extract') ? S.ExtractDeferred(parameters[0], parameters[1]) :\n Guard.IsEqual(ref, 'Index') ? S.IndexDeferred(parameters[0], parameters[1]) :\n Guard.IsEqual(ref, 'InstanceType') ? S.InstanceTypeDeferred(parameters[0]) :\n Guard.IsEqual(ref, 'Lowercase') ? S.LowercaseDeferred(parameters[0]) :\n Guard.IsEqual(ref, 'NonNullable') ? S.NonNullableDeferred(parameters[0]) :\n Guard.IsEqual(ref, 'Omit') ? S.OmitDeferred(parameters[0], parameters[1]) :\n Guard.IsEqual(ref, 'Parameters') ? S.ParametersDeferred(parameters[0]) :\n Guard.IsEqual(ref, 'Partial') ? S.PartialDeferred(parameters[0]) :\n Guard.IsEqual(ref, 'Pick') ? S.PickDeferred(parameters[0], parameters[1]) :\n Guard.IsEqual(ref, 'Readonly') ? S.ReadonlyObjectDeferred(parameters[0]) :\n Guard.IsEqual(ref, 'KeyOf') ? S.KeyOfDeferred(parameters[0]) :\n Guard.IsEqual(ref, 'Record') ? T.RecordDeferred(parameters[0], parameters[1]) :\n Guard.IsEqual(ref, 'Required') ? S.RequiredDeferred(parameters[0]) :\n Guard.IsEqual(ref, 'ReturnType') ? S.ReturnTypeDeferred(parameters[0]) :\n Guard.IsEqual(ref, 'Uncapitalize') ? S.UncapitalizeDeferred(parameters[0]) :\n Guard.IsEqual(ref, 'Uppercase') ? S.UppercaseDeferred(parameters[0]) :\n T.CallConstruct(T.Ref(ref), parameters));\n // deno-coverage-ignore-stop\n}\n// ------------------------------------------------------------------\n// Unreachable\n// ------------------------------------------------------------------\n// deno-coverage-ignore-start\nfunction Unreachable() {\n throw Error('Unreachable');\n}\nfunction DelimitedDecode(input, result = []) {\n return Guard.ShiftLeft(input, (left, right) => DelimitedDecode(right, [...result, left[1]]), () => result);\n}\nfunction Delimited(input) {\n return Guard.IsEqual(input.length, 3)\n ? [input[0], ...DelimitedDecode(input[1])]\n : [];\n}\nexport function GenericParameterExtendsEqualsMapping(input) {\n return T.Parameter(input[0], input[2], input[4]);\n}\nexport function GenericParameterExtendsMapping(input) {\n return T.Parameter(input[0], input[2], input[2]);\n}\nexport function GenericParameterEqualsMapping(input) {\n return T.Parameter(input[0], T.Unknown(), input[2]);\n}\nexport function GenericParameterIdentifierMapping(input) {\n return T.Parameter(input, T.Unknown(), T.Unknown());\n}\nexport function GenericParameterMapping(input) {\n return input;\n}\nexport function GenericParameterListMapping(input) {\n return Delimited(input);\n}\nexport function GenericParametersMapping(input) {\n return input[1];\n}\nexport function GenericCallArgumentListMapping(input) {\n return Delimited(input);\n}\nexport function GenericCallArgumentsMapping(input) {\n return input[1];\n}\nexport function GenericCallMapping(input) {\n return IntrinsicOrCall(input[0], input[1]);\n}\nexport function OptionalSemiColonMapping(input) {\n return null;\n}\nexport function KeywordStringMapping(input) {\n return T.String();\n}\nexport function KeywordNumberMapping(input) {\n return T.Number();\n}\nexport function KeywordBooleanMapping(input) {\n return T.Boolean();\n}\nexport function KeywordUndefinedMapping(input) {\n return T.Undefined();\n}\nexport function KeywordNullMapping(input) {\n return T.Null();\n}\nexport function KeywordIntegerMapping(input) {\n return T.Integer();\n}\nexport function KeywordBigIntMapping(input) {\n return T.BigInt();\n}\nexport function KeywordUnknownMapping(input) {\n return T.Unknown();\n}\nexport function KeywordAnyMapping(input) {\n return T.Any();\n}\nexport function KeywordObjectMapping(input) {\n return T.Object({});\n}\nexport function KeywordNeverMapping(input) {\n return T.Never();\n}\nexport function KeywordSymbolMapping(input) {\n return T.Symbol();\n}\nexport function KeywordVoidMapping(input) {\n return T.Void();\n}\nexport function KeywordThisMapping(input) {\n return T.This();\n}\nexport function LiteralBigIntMapping(input) {\n return T.Literal(BigInt(input));\n}\nexport function LiteralBooleanMapping(input) {\n return T.Literal(Guard.IsEqual(input, 'true'));\n}\nexport function LiteralNumberMapping(input) {\n return T.Literal(parseFloat(input));\n}\nexport function LiteralStringMapping(input) {\n return T.Literal(input);\n}\nexport function TemplateInterpolateMapping(input) {\n return input[1];\n}\nexport function TemplateSpanMapping(input) {\n return T.Literal(input);\n}\nexport function TemplateBodyMapping(input) {\n return (Guard.IsEqual(input.length, 3)\n ? [input[0], input[1], ...input[2]]\n : [input[0]]);\n}\nexport function TemplateLiteralTypesMapping(input) {\n return input[1];\n}\nexport function TemplateLiteralMapping(input) {\n return T.TemplateLiteralDeferred(input);\n}\nexport function DependentMapping(input) {\n return (Guard.IsEqual(input.length, 6) ? T.Dependent(input[1], input[3], input[5]) :\n T.Dependent(input[1], input[3], T.Unknown()));\n}\nexport function KeyOfMapping(input) {\n return input.length > 0;\n}\nexport function IndexArrayMapping(input) {\n return input.reduce((result, current) => {\n return Guard.IsEqual(current.length, 3)\n ? [...result, [current[1]]]\n : [...result, []];\n }, []);\n}\nexport function ExtendsMapping(input) {\n return Guard.IsEqual(input.length, 6)\n ? [input[1], input[3], input[5]]\n : [];\n}\nexport function BaseMapping(input) {\n return Guard.IsArray(input) && Guard.IsEqual(input.length, 3)\n ? input[1]\n : input;\n}\nexport function WithMapping(input) {\n return Guard.IsEqual(input.length, 2) ? input[1] : [];\n}\n// deno-coverage-ignore-start\nfunction FactorIndexArray(Type, indexArray) {\n return indexArray.reduce((result, left) => {\n const _left = left;\n return (Guard.IsEqual(_left.length, 1) ? S.IndexDeferred(result, _left[0]) :\n Guard.IsEqual(_left.length, 0) ? T.Array(result) :\n Unreachable());\n }, Type);\n}\n// deno-coverage-ignore-stop\nfunction FactorExtends(type, extend) {\n return Guard.IsEqual(extend.length, 3)\n ? S.ConditionalDeferred(type, extend[0], extend[1], extend[2])\n : type;\n}\nfunction FactorWith(type, withClause) {\n return Guard.IsArray(withClause) && Guard.IsEqual(withClause.length, 0)\n ? type\n : S.WithDeferred(type, withClause);\n}\nexport function FactorMapping(input) {\n const [keyOf, type, indexArray, extend, withClause] = input;\n return FactorWith(keyOf\n ? FactorExtends(S.KeyOfDeferred(FactorIndexArray(type, indexArray)), extend)\n : FactorExtends(FactorIndexArray(type, indexArray), extend), withClause);\n}\n// deno-coverage-ignore-start\nfunction ExprBinaryMapping(left, rest) {\n return (Guard.IsEqual(rest.length, 3) ? (() => {\n const [operator, right, next] = rest;\n const Schema = ExprBinaryMapping(right, next);\n if (Guard.IsEqual(operator, '&')) {\n return T.IsIntersect(Schema)\n ? T.Intersect([left, ...Schema.allOf])\n : T.Intersect([left, Schema]);\n }\n if (Guard.IsEqual(operator, '|')) {\n return T.IsUnion(Schema)\n ? T.Union([left, ...Schema.anyOf])\n : T.Union([left, Schema]);\n }\n Unreachable();\n })() : left);\n}\nexport function ExprTermTailMapping(input) {\n return input;\n}\nexport function ExprTermMapping(input) {\n const [left, rest] = input;\n return ExprBinaryMapping(left, rest);\n}\nexport function ExprTailMapping(input) {\n return input;\n}\nexport function ExprMapping(input) {\n const [left, rest] = input;\n return ExprBinaryMapping(left, rest);\n}\nexport function ExprReadonlyMapping(input) {\n return S.AddImmutableDeferred(input[1]);\n}\nexport function ExprPipeMapping(input) {\n return input[1];\n}\nexport function GenericTypeMapping(input) {\n return T.Generic(input[0], input[2]);\n}\n// deno-coverage-ignore-start\nexport function InferTypeMapping(input) {\n return (Guard.IsEqual(input.length, 4) ? T.Infer(input[1], input[3]) :\n Guard.IsEqual(input.length, 2) ? T.Infer(input[1], T.Unknown()) :\n Unreachable());\n}\nexport function TypeMapping(input) {\n return input;\n}\nexport function PropertyKeyNumberMapping(input) {\n return `${input}`;\n}\nexport function PropertyKeyIdentMapping(input) {\n return input;\n}\nexport function PropertyKeyQuotedMapping(input) {\n return input;\n}\n// deno-coverage-ignore-start\nexport function PropertyKeyIndexMapping(input) {\n return (T.IsInteger(input[3]) ? T.IntegerKey :\n T.IsNumber(input[3]) ? T.NumberKey :\n T.IsSymbol(input[3]) ? T.StringKey :\n T.IsString(input[3]) ? T.StringKey :\n Unreachable());\n}\nexport function PropertyKeyMapping(input) {\n return input;\n}\nexport function ReadonlyMapping(input) {\n return input.length > 0;\n}\nexport function OptionalMapping(input) {\n return input.length > 0;\n}\nexport function PropertyMapping(input) {\n const [isReadonly, key, isOptional, _colon, type] = input;\n return {\n [key]: (isReadonly && isOptional ? S.AddReadonlyDeferred(S.AddOptionalDeferred(type)) :\n isReadonly && !isOptional ? S.AddReadonlyDeferred(type) :\n !isReadonly && isOptional ? S.AddOptionalDeferred(type) :\n type)\n };\n}\nexport function PropertyDelimiterMapping(input) {\n return input;\n}\nexport function PropertyListMapping(input) {\n return Delimited(input);\n}\nfunction PropertiesReduce(propertyList) {\n return propertyList.reduce((result, left) => {\n const isPatternProperties = (Guard.HasPropertyKey(left, T.IntegerKey) || Guard.HasPropertyKey(left, T.NumberKey) || Guard.HasPropertyKey(left, T.StringKey));\n // @ts-ignore 5.0.4 - unable to observe ...left on right arm\n return (isPatternProperties\n ? [result[0], Memory.Assign(result[1], left)]\n : [Memory.Assign(result[0], left), result[1]]);\n }, [{}, {}]);\n}\nexport function PropertiesMapping(input) {\n return PropertiesReduce(input[1]);\n}\nexport function _Object_Mapping(input) {\n const [properties, patternProperties] = input;\n const options = Guard.IsEqual(Guard.Keys(patternProperties).length, 0) ? {} : { patternProperties };\n return T.Object(properties, options);\n}\n// deno-coverage-ignore-start\nexport function ElementNamedMapping(input) {\n return (Guard.IsEqual(input.length, 5) ? S.AddReadonlyDeferred(S.AddOptionalDeferred(input[4])) :\n Guard.IsEqual(input.length, 3) ? input[2] :\n Guard.IsEqual(input.length, 4) ? (Guard.IsEqual(input[2], 'readonly') ? S.AddReadonlyDeferred(input[3]) : S.AddOptionalDeferred(input[3])) :\n Unreachable());\n}\nexport function ElementBaseMapping(input) {\n if (!Guard.IsArray(input) || !Guard.IsEqual(input.length, 3))\n return input;\n const [isReadonly, type, isOptional] = input;\n return (isReadonly && isOptional ? S.AddReadonlyDeferred(S.AddOptionalDeferred(type)) :\n isReadonly && !isOptional ? S.AddReadonlyDeferred(type) :\n !isReadonly && isOptional ? S.AddOptionalDeferred(type) :\n type);\n}\n// deno-coverage-ignore-start\nexport function ElementMapping(input) {\n return (Guard.IsEqual(input.length, 2) ? T.Rest(input[1]) :\n Guard.IsEqual(input.length, 1) ? input[0] :\n Unreachable());\n}\nexport function ElementListMapping(input) {\n return Delimited(input);\n}\nexport function _Tuple_Mapping(input) {\n return T.Tuple(input[1]);\n}\nexport function ParameterReadonlyOptionalMapping(input) {\n return S.AddReadonlyDeferred(S.AddOptionalDeferred(input[4]));\n}\nexport function ParameterReadonlyMapping(input) {\n return S.AddReadonlyDeferred(input[3]);\n}\nexport function ParameterOptionalMapping(input) {\n return S.AddOptionalDeferred(input[3]);\n}\nexport function ParameterTypeMapping(input) {\n return input[2];\n}\nexport function ParameterBaseMapping(input) {\n return input;\n}\n// deno-coverage-ignore-start\nexport function ParameterMapping(input) {\n return (Guard.IsEqual(input.length, 2) ? T.Rest(input[1]) :\n Guard.IsEqual(input.length, 1) ? input[0] :\n Unreachable());\n}\nexport function ParameterListMapping(input) {\n return Delimited(input);\n}\nexport function _Function_Mapping(input) {\n return T._Function_(input[1], input[4]);\n}\nexport function _Constructor_Mapping(input) {\n return T.Constructor(input[2], input[5]);\n}\nfunction ApplyReadonly(state, type) {\n return (Guard.IsEqual(state, 'remove') ? S.RemoveReadonlyDeferred(type) :\n Guard.IsEqual(state, 'add') ? S.AddReadonlyDeferred(type) :\n type);\n}\nexport function MappedReadonlyMapping(input) {\n return (Guard.IsEqual(input.length, 2) && Guard.IsEqual(input[0], '-') ? 'remove' :\n Guard.IsEqual(input.length, 2) && Guard.IsEqual(input[0], '+') ? 'add' :\n Guard.IsEqual(input.length, 1) ? 'add' :\n 'none');\n}\nfunction ApplyOptional(state, type) {\n return (Guard.IsEqual(state, 'remove') ? S.RemoveOptionalDeferred(type) :\n Guard.IsEqual(state, 'add') ? S.AddOptionalDeferred(type) :\n type);\n}\nexport function MappedOptionalMapping(input) {\n return (Guard.IsEqual(input.length, 2) && Guard.IsEqual(input[0], '-') ? 'remove' :\n Guard.IsEqual(input.length, 2) && Guard.IsEqual(input[0], '+') ? 'add' :\n Guard.IsEqual(input.length, 1) ? 'add' :\n 'none');\n}\nexport function MappedAsMapping(input) {\n return Guard.IsEqual(input.length, 2) ? [input[1]] : [];\n}\nexport function _Mapped_Mapping(input) {\n return (Guard.IsArray(input[6]) && Guard.IsEqual(input[6].length, 1)\n ? S.MappedDeferred(T.Identifier(input[3]), input[5], input[6][0], ApplyReadonly(input[1], ApplyOptional(input[8], input[10])))\n : S.MappedDeferred(T.Identifier(input[3]), input[5], T.Ref(input[3]), ApplyReadonly(input[1], ApplyOptional(input[8], input[10]))));\n}\nexport function ReferenceMapping(input) {\n return T.Ref(input);\n}\nexport function WithBigIntMapping(input) {\n return BigInt(input);\n}\nexport function WithNumberMapping(input) {\n return parseFloat(input);\n}\nexport function WithBooleanMapping(input) {\n return Guard.IsEqual(input, 'true');\n}\nexport function WithStringMapping(input) {\n return input;\n}\nexport function WithNullMapping(input) {\n return null;\n}\nexport function WithUndefinedMapping(input) {\n return undefined;\n}\nexport function WithPropertyMapping(input) {\n return { [input[0]]: input[2] };\n}\nexport function WithPropertyListMapping(input) {\n return Delimited(input);\n}\nfunction WithObjectMappingReduce(propertyList) {\n return propertyList.reduce((result, left) => {\n return Memory.Assign(result, left);\n }, {});\n}\nexport function WithObjectMapping(input) {\n return WithObjectMappingReduce(input[1]);\n}\nexport function WithElementListMapping(input) {\n return Delimited(input);\n}\nexport function WithArrayMapping(input) {\n return input[1];\n}\nexport function WithValueMapping(input) {\n return input;\n}\nexport function PatternBigIntMapping(input) {\n return T.BigInt();\n}\nexport function PatternStringMapping(input) {\n return T.String();\n}\nexport function PatternNumberMapping(input) {\n return T.Number();\n}\nexport function PatternIntegerMapping(input) {\n return T.Integer();\n}\nexport function PatternNeverMapping(input) {\n return T.Never();\n}\nexport function PatternTextMapping(input) {\n return T.Literal(input);\n}\nexport function PatternBaseMapping(input) {\n return input;\n}\nexport function PatternGroupMapping(input) {\n return T.Union(input[1]);\n}\nexport function PatternUnionMapping(input) {\n return (input.length === 3 ? [...input[0], ...input[2]] :\n input.length === 1 ? [...input[0]] :\n []);\n}\nexport function PatternTermMapping(input) {\n return [input[0], ...input[1]];\n}\nexport function PatternBodyMapping(input) {\n return input;\n}\nexport function PatternMapping(input) {\n return input[1];\n}\nexport function InterfaceDeclarationHeritageListMapping(input) {\n return Delimited(input);\n}\nexport function InterfaceDeclarationHeritageMapping(input) {\n return Guard.IsEqual(input.length, 2) ? input[1] : [];\n}\nexport function InterfaceDeclarationGenericMapping(input) {\n const parameters = input[2];\n const heritage = input[3];\n const [properties, patternProperties] = input[4];\n const options = Guard.IsEqual(Guard.Keys(patternProperties).length, 0) ? {} : { patternProperties };\n return { [input[1]]: T.Generic(parameters, S.InterfaceDeferred(heritage, properties, options)) };\n}\nexport function InterfaceDeclarationMapping(input) {\n const heritage = input[2];\n const [properties, patternProperties] = input[3];\n const options = Guard.IsEqual(Guard.Keys(patternProperties).length, 0) ? {} : { patternProperties };\n return { [input[1]]: S.InterfaceDeferred(heritage, properties, options) };\n}\nexport function TypeAliasDeclarationGenericMapping(input) {\n return { [input[1]]: T.Generic(input[2], input[4]) };\n}\nexport function TypeAliasDeclarationMapping(input) {\n return { [input[1]]: input[3] };\n}\nexport function ExportKeywordMapping(input) {\n return null; // ignored-dont-care\n}\nexport function ModuleDeclarationDelimiterMapping(input) {\n return input;\n}\nexport function ModuleDeclarationListMapping(input) {\n return Delimited(input);\n}\nexport function ModuleDeclarationMapping(input) {\n return input[1];\n}\nexport function ModuleMapping(input) {\n const [moduleDeclaration, moduleDeclarationList] = [input[0], input[1]];\n return S.ModuleDeferred(Memory.Assign(moduleDeclaration, PropertiesReduce(moduleDeclarationList)[0]));\n}\nexport function ScriptMapping(input) {\n return input;\n}\n","// deno-coverage-ignore-start - parsebox tested\nimport { IsEqual } from './guard.mjs';\n/** Checks the value is a Tuple-2 [string, string] result */\nexport function IsMatch(value) {\n return IsEqual(value.length, 2);\n}\n/** Matches on a result and dispatches either left or right arm */\nexport function Match(input, ok, fail) {\n return IsMatch(input) ? ok(input[0], input[1]) : fail();\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { IsMatch } from './match.mjs';\nimport { IsEqual } from './guard.mjs';\nfunction TakeVariant(variant, input) {\n return (IsEqual(input.indexOf(variant), 0)\n ? [variant, input.slice(variant.length)]\n : []);\n}\n/** Takes one of the given variants or fail */\nexport function Take(variants, input) {\n // ----------------------------------------------------------------\n // Symmetric\n // ----------------------------------------------------------------\n // return Guard.ShiftLeft(variants, (valueLeft, valueRight) => \n // Match(TakeVariant(valueLeft, input), (take, rest) => \n // [take, rest],\n // () => Take(valueRight, input)),\n // () => []) as never\n // ----------------------------------------------------------------\n // Inline\n // ----------------------------------------------------------------\n for (let i = 0; i < variants.length; i++) {\n const result = TakeVariant(variants[i], input);\n if (IsMatch(result))\n return result;\n }\n return [];\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\n// ------------------------------------------------------------------\n// Range\n// ------------------------------------------------------------------\nfunction Range(start, end) {\n return Array.from({ length: end - start + 1 }, (_, i) => String.fromCharCode(start + i));\n}\nexport const Alpha = [\n ...Range(97, 122), // Lowercase\n ...Range(65, 90) // Uppercase\n];\nexport const Zero = '0';\nexport const NonZero = Range(49, 57); // 1 - 9\nexport const Digit = [Zero, ...NonZero];\n// ------------------------------------------------------------------\n// Characters\n// ------------------------------------------------------------------\nexport const WhiteSpace = ' ';\nexport const NewLine = '\\n';\nexport const TabSpace = '\\t';\nexport const UnderScore = '_';\nexport const Dot = '.';\nexport const DollarSign = '$';\nexport const Hyphen = '-';\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { IsEqual } from './guard.mjs';\nimport * as Char from './char.mjs';\nconst LineComment = '//';\nconst OpenComment = '/*';\nconst CloseComment = '*/';\nfunction DiscardMultilineComment(input) {\n const index = input.indexOf(CloseComment);\n const result = IsEqual(index, -1) ? '' : input.slice(index + 2);\n return result;\n}\nfunction DiscardLineComment(input) {\n const index = input.indexOf(Char.NewLine);\n const result = IsEqual(index, -1) ? '' : input.slice(index);\n return result;\n}\n// ...\nfunction TrimStartUntilNewline(input) {\n return input.replace(/^[ \\t\\r\\f\\v]+/, '');\n}\nexport function TrimWhitespace(input) {\n const trimmed = TrimStartUntilNewline(input);\n return (trimmed.startsWith(OpenComment) ? TrimWhitespace(DiscardMultilineComment(trimmed.slice(2))) :\n trimmed.startsWith(LineComment) ? TrimWhitespace(DiscardLineComment(trimmed.slice(2))) :\n trimmed);\n}\nexport function Trim(input) {\n const trimmed = input.trimStart();\n return (trimmed.startsWith(OpenComment) ? Trim(DiscardMultilineComment(trimmed.slice(2))) :\n trimmed.startsWith(LineComment) ? Trim(DiscardLineComment(trimmed.slice(2))) :\n trimmed);\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { Match } from './match.mjs';\nimport { Take } from './take.mjs';\n/** Matches the given Value or empty string if no match. This function never fails */\nexport function Optional(value, input) {\n return Match(Take([value], input), (Optional, Rest) => [Optional, Rest], () => ['', input]);\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { Match } from './match.mjs';\nimport { Take } from './take.mjs';\nfunction IsDiscard(discard, input) {\n return discard.includes(input);\n}\n/** Takes characters from the Input until no-match. The Discard set is used to omit characters from the match */\nexport function Many(allowed, discard, input, result = '') {\n return Match(Take(allowed, input), (Char, Rest) => IsDiscard(discard, Char)\n ? Many(allowed, discard, Rest, result)\n : Many(allowed, discard, Rest, `${result}${Char}`), () => [result, input]);\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { Match } from './internal/match.mjs';\nimport { Trim } from './internal/trim.mjs';\nimport { Take } from './internal/take.mjs';\nimport { Many } from './internal/many.mjs';\nimport { Digit } from './internal/char.mjs';\nimport { Zero } from './internal/char.mjs';\nimport { NonZero } from './internal/char.mjs';\nimport { UnderScore } from './internal/char.mjs';\nfunction TakeNonZero(input) {\n return Take(NonZero, input);\n}\nconst AllowedDigits = [...Digit, UnderScore];\nfunction TakeDigits(input) {\n return Many(AllowedDigits, [UnderScore], input);\n}\nfunction TakeUnsignedInteger(input) {\n return Match(Take([Zero], input), (Zero, ZeroRest) => [Zero, ZeroRest], () => Match(TakeNonZero(input), (NonZero, NonZeroRest) => Match(TakeDigits(NonZeroRest), (Digits, DigitsRest) => [`${NonZero}${Digits}`, DigitsRest], () => []), // fail: did not match Digits\n () => [])); // fail: did not match NonZero\n}\n/** Matches if next is a UnsignedInteger */\nexport function UnsignedInteger(input) {\n return TakeUnsignedInteger(Trim(input));\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { Match } from './internal/match.mjs';\nimport { Trim } from './internal/trim.mjs';\nimport { Optional } from './internal/optional.mjs';\nimport { Hyphen } from './internal/char.mjs';\nimport { UnsignedInteger } from './unsigned_integer.mjs';\nfunction TakeSign(input) {\n return Optional(Hyphen, input);\n}\nfunction TakeSignedInteger(input) {\n return Match(TakeSign(input), (Sign, SignRest) => Match(UnsignedInteger(SignRest), (UnsignedInteger, UnsignedIntegerRest) => [`${Sign}${UnsignedInteger}`, UnsignedIntegerRest], () => []), // fail: did not match unsigned integer\n () => []); // fail: did not match Sign\n}\n/** Matches if next is a signed or unsigned Integer */\nexport function Integer(input) {\n return TakeSignedInteger(Trim(input));\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { Match } from './internal/match.mjs';\nimport { Take } from './internal/take.mjs';\nimport { Integer } from './integer.mjs';\nfunction TakeBigInt(input) {\n return Match(Integer(input), (Integer, IntegerRest) => Match(Take(['n'], IntegerRest), (_N, NRest) => [`${Integer}`, NRest], () => []), // fail: did not match 'n'\n () => []); // fail: did not match Integer\n}\n/** Matches if next is a Integer literal with trailing 'n'. Trailing 'n' is omitted in result. */\nexport function BigInt(input) {\n return TakeBigInt(input);\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { IsEqual } from './internal/guard.mjs';\nimport { TrimWhitespace } from './internal/trim.mjs';\nimport { Trim } from './internal/trim.mjs';\nimport { Take } from './internal/take.mjs';\nimport { NewLine } from './internal/char.mjs';\nimport { WhiteSpace } from './internal/char.mjs';\nfunction TakeConst(const_, input) {\n return Take([const_], input);\n}\n/** Matches if next is the given Const value */\nexport function Const(const_, input) {\n return (IsEqual(const_, '') ? ['', input] : (const_.startsWith(NewLine) ? TakeConst(const_, TrimWhitespace(input)) :\n const_.startsWith(WhiteSpace) ? TakeConst(const_, input) :\n TakeConst(const_, Trim(input))));\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { Match } from './internal/match.mjs';\nimport { Trim } from './internal/trim.mjs';\nimport { Take } from './internal/take.mjs';\nimport { Alpha } from './internal/char.mjs';\nimport { Digit } from './internal/char.mjs';\nimport { UnderScore } from './internal/char.mjs';\nimport { DollarSign } from './internal/char.mjs';\nconst Initial = [...Alpha, UnderScore, DollarSign];\nfunction TakeInitial(input) {\n return Take(Initial, input);\n}\nconst Remaining = [...Initial, ...Digit];\nfunction TakeRemaining(input, result = '') {\n return Match(Take(Remaining, input), (Remaining, RemainingRest) => TakeRemaining(RemainingRest, `${result}${Remaining}`), () => [result, input]);\n}\nfunction TakeIdent(input) {\n return Match(TakeInitial(input), (Initial, InitialRest) => Match(TakeRemaining(InitialRest), (Remaining, RemainingRest) => [`${Initial}${Remaining}`, RemainingRest], () => []), // fail: did not match Remaining\n () => []); // fail: did not match Initial\n}\n/** Matches if next is an Ident */\nexport function Ident(input) {\n return TakeIdent(Trim(input));\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { IsEqual } from './internal/guard.mjs';\nimport { IsMatch, Match } from './internal/match.mjs';\nimport { Trim } from './internal/trim.mjs';\nimport { Take } from './internal/take.mjs';\nimport { Many } from './internal/many.mjs';\nimport { Digit, UnderScore } from './internal/char.mjs';\nimport { Dot } from './internal/char.mjs';\nimport { UnsignedInteger } from './unsigned_integer.mjs';\nconst AllowedDigits = [...Digit, UnderScore];\nfunction IsLeadingDot(input) {\n return IsMatch(Take([Dot], input));\n}\nfunction TakeFractional(input) {\n return Match(Many(AllowedDigits, [UnderScore], input), (Digits, DigitsRest) => IsEqual(Digits, '')\n ? [] // fail: no Digits\n : [Digits, DigitsRest], () => []); // fail: did not match Digits\n}\nfunction LeadingDot(input) {\n return Match(Take([Dot], input), (Dot, DotRest) => Match(TakeFractional(DotRest), (Fractional, FractionalRest) => [`0${Dot}${Fractional}`, FractionalRest], () => []), // fail: did not match Fractional\n () => []); // fail: did not match Dot\n}\nfunction LeadingInteger(input) {\n return Match(UnsignedInteger(input), (Integer, IntegerRest) => Match(Take([Dot], IntegerRest), (Dot, DotRest) => Match(TakeFractional(DotRest), (Fractional, FractionalRest) => [`${Integer}${Dot}${Fractional}`, FractionalRest], () => [`${Integer}`, DotRest]), // fail: did not match Fractional, use Integer\n () => [`${Integer}`, IntegerRest]), // fail: did not match Dot, use Integer\n () => []); // fail: did not match Integer\n}\nfunction TakeUnsignedNumber(input) {\n return (IsLeadingDot(input)\n ? LeadingDot(input)\n : LeadingInteger(input));\n}\n/** Matches if next is a UnsignedNumber */\nexport function UnsignedNumber(input) {\n return TakeUnsignedNumber(Trim(input));\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { Match } from './internal/match.mjs';\nimport { Trim } from './internal/trim.mjs';\nimport { Optional } from './internal/optional.mjs';\nimport { Hyphen } from './internal/char.mjs';\nimport { UnsignedNumber } from './unsigned_number.mjs';\nfunction TakeSign(input) {\n return Optional(Hyphen, input);\n}\nfunction TakeSignedNumber(input) {\n return Match(TakeSign(input), (Sign, SignRest) => Match(UnsignedNumber(SignRest), (UnsignedInteger, UnsignedIntegerRest) => [`${Sign}${UnsignedInteger}`, UnsignedIntegerRest], () => []), // fail: did not match unsigned integer\n () => []); // fail: did not match Sign\n}\n/** Matches if next is a signed or unsigned Number */\nexport function Number(input) {\n return TakeSignedNumber(Trim(input));\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { Match } from './internal/match.mjs';\nimport { IsEqual, ShiftLeft } from './internal/guard.mjs';\nfunction TakeOne(input) {\n const result = IsEqual(input, '') ? [] : [input.slice(0, 1), input.slice(1)];\n return result;\n}\nfunction IsInputMatchSentinal(end, input) {\n return ShiftLeft(end, (left, right) => input.startsWith(left)\n ? true\n : IsInputMatchSentinal(right, input), () => false);\n}\n/** Match Input until but not including End. No match if End not found. */\nexport function Until(end, input, result = '') {\n return Match(TakeOne(input), (One, Rest) => IsInputMatchSentinal(end, input)\n ? [result, input] // ok: at sentinal \n : Until(end, Rest, `${result}${One}`) // fail: advance + 1\n , () => []);\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { Match } from './internal/match.mjs';\nimport { Trim } from './internal/trim.mjs';\nimport { NewLine } from './internal/char.mjs';\nimport { Take } from './internal/take.mjs';\nimport { Until } from './until.mjs';\nfunction MultiLine(start, end, input) {\n return Match(Take([start], input), (_, Rest) => Match(Until([end], Rest), (Until, UntilRest) => Match(Take([end], UntilRest), (_, Rest) => [`${Until}`, Rest], () => []), // fail: did not match End\n () => []), // fail: did not match Until\n () => []); // fail: did not match Start\n}\nfunction SingleLine(start, end, input) {\n return Match(Take([start], input), (_, Rest) => Match(Until([NewLine, end], Rest), (Until, UntilRest) => Match(Take([end], UntilRest), (_, EndRest) => [`${Until}`, EndRest], () => []), // fail: did not match End\n () => []), // fail: did not match Until\n () => []); // fail: not match Start\n}\n/** Matches from Start and End capturing everything in-between. Start and End are consumed. */\nexport function Span(start, end, multiLine, input) {\n return (multiLine\n ? MultiLine(start, end, Trim(input))\n : SingleLine(start, end, Trim(input)));\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { Match } from './internal/match.mjs';\nimport { Take } from './internal/take.mjs';\nimport { Trim } from './internal/trim.mjs';\nimport { Span } from './span.mjs';\nfunction TakeInitial(quotes, input) {\n return Take(quotes, input);\n}\nfunction TakeSpan(quote, input) {\n return Span(quote, quote, false, input);\n}\nfunction TakeString(quotes, input) {\n return Match(TakeInitial(quotes, input), (Initial, InitialRest) => TakeSpan(Initial, `${Initial}${InitialRest}`), () => []); // fail: did not match Initial\n}\n/** Matches a literal String with the given quotes */\nexport function String(quotes, input) {\n return TakeString(quotes, Trim(input));\n}\n// deno-coverage-ignore-stop\n","// deno-coverage-ignore-start - parsebox tested\n// deno-fmt-ignore-file\nimport { IsEqual } from './internal/guard.mjs';\nimport { Match } from './internal/match.mjs';\nimport { Until } from './until.mjs';\n/** Match Input until but not including End. No match if End not found or match is zero-length. */\nexport function Until_1(end, input) {\n return Match(Until(end, input), (Until, UntilRest) => IsEqual(Until, '')\n ? [] // fail: match has no characters\n : [Until, UntilRest], () => []); // fail: did not match Until\n}\n// deno-coverage-ignore-stop\n","// deno-fmt-ignore-file\n// deno-lint-ignore-file\n// ------------------------------------------------------------------\n//\n// This module was auto-generated by TypeBox's parser compiler\n// infrastructure (ParseBox). The source grammar is located at:\n//\n// Source: ./design/syntax/syntax.ts\n//\n// ------------------------------------------------------------------\nimport * as S from './mapping.mjs';\nimport * as Token from './token/index.mjs';\nconst If = (result, left, right = () => []) => result.length === 2 ? left(result) : right();\nexport const GenericParameterExtendsEquals = (input) => If(If(Token.Ident(input), ([_0, input]) => If(Token.Const('extends', input), ([_1, input]) => If(Type(input), ([_2, input]) => If(Token.Const('=', input), ([_3, input]) => If(Type(input), ([_4, input]) => [[_0, _1, _2, _3, _4], input]))))), ([_0, input]) => [S.GenericParameterExtendsEqualsMapping(_0), input]);\nexport const GenericParameterExtends = (input) => If(If(Token.Ident(input), ([_0, input]) => If(Token.Const('extends', input), ([_1, input]) => If(Type(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.GenericParameterExtendsMapping(_0), input]);\nexport const GenericParameterEquals = (input) => If(If(Token.Ident(input), ([_0, input]) => If(Token.Const('=', input), ([_1, input]) => If(Type(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.GenericParameterEqualsMapping(_0), input]);\nexport const GenericParameterIdentifier = (input) => If(Token.Ident(input), ([_0, input]) => [S.GenericParameterIdentifierMapping(_0), input]);\nexport const GenericParameter = (input) => If(If(GenericParameterExtendsEquals(input), ([_0, input]) => [_0, input], () => If(GenericParameterExtends(input), ([_0, input]) => [_0, input], () => If(GenericParameterEquals(input), ([_0, input]) => [_0, input], () => If(GenericParameterIdentifier(input), ([_0, input]) => [_0, input], () => [])))), ([_0, input]) => [S.GenericParameterMapping(_0), input]);\nexport const GenericParameterList_0 = (input, result = []) => If(If(Token.Const(',', input), ([_0, input]) => If(GenericParameter(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => GenericParameterList_0(input, [...result, _0]), () => [result, input]);\nexport const GenericParameterList = (input) => If(If(If(GenericParameter(input), ([_0, input]) => If(GenericParameterList_0(input), ([_1, input]) => If(If(Token.Const(',', input), ([_0, input]) => [[_0], input], () => [[], input]), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.GenericParameterListMapping(_0), input]);\nexport const GenericParameters = (input) => If(If(Token.Const('<', input), ([_0, input]) => If(GenericParameterList(input), ([_1, input]) => If(Token.Const('>', input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.GenericParametersMapping(_0), input]);\nexport const GenericCallArgumentList_0 = (input, result = []) => If(If(Token.Const(',', input), ([_0, input]) => If(Type(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => GenericCallArgumentList_0(input, [...result, _0]), () => [result, input]);\nexport const GenericCallArgumentList = (input) => If(If(If(Type(input), ([_0, input]) => If(GenericCallArgumentList_0(input), ([_1, input]) => If(If(Token.Const(',', input), ([_0, input]) => [[_0], input], () => [[], input]), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.GenericCallArgumentListMapping(_0), input]);\nexport const GenericCallArguments = (input) => If(If(Token.Const('<', input), ([_0, input]) => If(GenericCallArgumentList(input), ([_1, input]) => If(Token.Const('>', input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.GenericCallArgumentsMapping(_0), input]);\nexport const GenericCall = (input) => If(If(Token.Ident(input), ([_0, input]) => If(GenericCallArguments(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [S.GenericCallMapping(_0), input]);\nexport const OptionalSemiColon = (input) => If(If(If(Token.Const(';', input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.OptionalSemiColonMapping(_0), input]);\nexport const KeywordString = (input) => If(Token.Const('string', input), ([_0, input]) => [S.KeywordStringMapping(_0), input]);\nexport const KeywordNumber = (input) => If(Token.Const('number', input), ([_0, input]) => [S.KeywordNumberMapping(_0), input]);\nexport const KeywordBoolean = (input) => If(Token.Const('boolean', input), ([_0, input]) => [S.KeywordBooleanMapping(_0), input]);\nexport const KeywordUndefined = (input) => If(Token.Const('undefined', input), ([_0, input]) => [S.KeywordUndefinedMapping(_0), input]);\nexport const KeywordNull = (input) => If(Token.Const('null', input), ([_0, input]) => [S.KeywordNullMapping(_0), input]);\nexport const KeywordInteger = (input) => If(Token.Const('integer', input), ([_0, input]) => [S.KeywordIntegerMapping(_0), input]);\nexport const KeywordBigInt = (input) => If(Token.Const('bigint', input), ([_0, input]) => [S.KeywordBigIntMapping(_0), input]);\nexport const KeywordUnknown = (input) => If(Token.Const('unknown', input), ([_0, input]) => [S.KeywordUnknownMapping(_0), input]);\nexport const KeywordAny = (input) => If(Token.Const('any', input), ([_0, input]) => [S.KeywordAnyMapping(_0), input]);\nexport const KeywordObject = (input) => If(Token.Const('object', input), ([_0, input]) => [S.KeywordObjectMapping(_0), input]);\nexport const KeywordNever = (input) => If(Token.Const('never', input), ([_0, input]) => [S.KeywordNeverMapping(_0), input]);\nexport const KeywordSymbol = (input) => If(Token.Const('symbol', input), ([_0, input]) => [S.KeywordSymbolMapping(_0), input]);\nexport const KeywordVoid = (input) => If(Token.Const('void', input), ([_0, input]) => [S.KeywordVoidMapping(_0), input]);\nexport const KeywordThis = (input) => If(Token.Const('this', input), ([_0, input]) => [S.KeywordThisMapping(_0), input]);\nexport const TemplateInterpolate = (input) => If(If(Token.Const('${', input), ([_0, input]) => If(Type(input), ([_1, input]) => If(Token.Const('}', input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.TemplateInterpolateMapping(_0), input]);\nexport const TemplateSpan = (input) => If(Token.Until(['${', '`'], input), ([_0, input]) => [S.TemplateSpanMapping(_0), input]);\nexport const TemplateBody = (input) => If(If(If(TemplateSpan(input), ([_0, input]) => If(TemplateInterpolate(input), ([_1, input]) => If(TemplateBody(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If(If(TemplateSpan(input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => If(If(TemplateSpan(input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => []))), ([_0, input]) => [S.TemplateBodyMapping(_0), input]);\nexport const TemplateLiteralTypes = (input) => If(If(Token.Const('`', input), ([_0, input]) => If(TemplateBody(input), ([_1, input]) => If(Token.Const('`', input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.TemplateLiteralTypesMapping(_0), input]);\nexport const TemplateLiteral = (input) => If(TemplateLiteralTypes(input), ([_0, input]) => [S.TemplateLiteralMapping(_0), input]);\nexport const Dependent = (input) => If(If(If(Token.Const('if', input), ([_0, input]) => If(Type(input), ([_1, input]) => If(Token.Const('then', input), ([_2, input]) => If(Type(input), ([_3, input]) => If(Token.Const('else', input), ([_4, input]) => If(Type(input), ([_5, input]) => [[_0, _1, _2, _3, _4, _5], input])))))), ([_0, input]) => [_0, input], () => If(If(Token.Const('if', input), ([_0, input]) => If(Type(input), ([_1, input]) => If(Token.Const('then', input), ([_2, input]) => If(Type(input), ([_3, input]) => [[_0, _1, _2, _3], input])))), ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.DependentMapping(_0), input]);\nexport const LiteralBigInt = (input) => If(Token.BigInt(input), ([_0, input]) => [S.LiteralBigIntMapping(_0), input]);\nexport const LiteralBoolean = (input) => If(If(Token.Const('true', input), ([_0, input]) => [_0, input], () => If(Token.Const('false', input), ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.LiteralBooleanMapping(_0), input]);\nexport const LiteralNumber = (input) => If(Token.Number(input), ([_0, input]) => [S.LiteralNumberMapping(_0), input]);\nexport const LiteralString = (input) => If(Token.String(['\\'', '\\\"'], input), ([_0, input]) => [S.LiteralStringMapping(_0), input]);\nexport const KeyOf = (input) => If(If(If(Token.Const('keyof', input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.KeyOfMapping(_0), input]);\nexport const IndexArray_0 = (input, result = []) => If(If(If(Token.Const('[', input), ([_0, input]) => If(Type(input), ([_1, input]) => If(Token.Const(']', input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If(If(Token.Const('[', input), ([_0, input]) => If(Token.Const(']', input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => [])), ([_0, input]) => IndexArray_0(input, [...result, _0]), () => [result, input]);\nexport const IndexArray = (input) => If(IndexArray_0(input), ([_0, input]) => [S.IndexArrayMapping(_0), input]);\nexport const Extends = (input) => If(If(If(Token.Const('extends', input), ([_0, input]) => If(Type(input), ([_1, input]) => If(Token.Const('?', input), ([_2, input]) => If(Type(input), ([_3, input]) => If(Token.Const(':', input), ([_4, input]) => If(Type(input), ([_5, input]) => [[_0, _1, _2, _3, _4, _5], input])))))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ExtendsMapping(_0), input]);\nexport const Base = (input) => If(If(If(Token.Const('(', input), ([_0, input]) => If(Type(input), ([_1, input]) => If(Token.Const(')', input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If(KeywordString(input), ([_0, input]) => [_0, input], () => If(KeywordNumber(input), ([_0, input]) => [_0, input], () => If(KeywordBoolean(input), ([_0, input]) => [_0, input], () => If(KeywordUndefined(input), ([_0, input]) => [_0, input], () => If(KeywordNull(input), ([_0, input]) => [_0, input], () => If(KeywordInteger(input), ([_0, input]) => [_0, input], () => If(KeywordBigInt(input), ([_0, input]) => [_0, input], () => If(KeywordUnknown(input), ([_0, input]) => [_0, input], () => If(KeywordAny(input), ([_0, input]) => [_0, input], () => If(KeywordObject(input), ([_0, input]) => [_0, input], () => If(KeywordNever(input), ([_0, input]) => [_0, input], () => If(KeywordSymbol(input), ([_0, input]) => [_0, input], () => If(KeywordVoid(input), ([_0, input]) => [_0, input], () => If(KeywordThis(input), ([_0, input]) => [_0, input], () => If(LiteralBigInt(input), ([_0, input]) => [_0, input], () => If(LiteralBoolean(input), ([_0, input]) => [_0, input], () => If(LiteralNumber(input), ([_0, input]) => [_0, input], () => If(LiteralString(input), ([_0, input]) => [_0, input], () => If(TemplateLiteral(input), ([_0, input]) => [_0, input], () => If(Dependent(input), ([_0, input]) => [_0, input], () => If(_Object_(input), ([_0, input]) => [_0, input], () => If(_Tuple_(input), ([_0, input]) => [_0, input], () => If(_Constructor_(input), ([_0, input]) => [_0, input], () => If(_Function_(input), ([_0, input]) => [_0, input], () => If(_Mapped_(input), ([_0, input]) => [_0, input], () => If(GenericCall(input), ([_0, input]) => [_0, input], () => If(Reference(input), ([_0, input]) => [_0, input], () => [])))))))))))))))))))))))))))), ([_0, input]) => [S.BaseMapping(_0), input]);\nexport const With = (input) => If(If(If(Token.Const('with', input), ([_0, input]) => If(WithObject(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.WithMapping(_0), input]);\nexport const Factor = (input) => If(If(KeyOf(input), ([_0, input]) => If(Base(input), ([_1, input]) => If(IndexArray(input), ([_2, input]) => If(Extends(input), ([_3, input]) => If(With(input), ([_4, input]) => [[_0, _1, _2, _3, _4], input]))))), ([_0, input]) => [S.FactorMapping(_0), input]);\nexport const ExprTermTail = (input) => If(If(If(Token.Const('&', input), ([_0, input]) => If(Factor(input), ([_1, input]) => If(ExprTermTail(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ExprTermTailMapping(_0), input]);\nexport const ExprTerm = (input) => If(If(Factor(input), ([_0, input]) => If(ExprTermTail(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [S.ExprTermMapping(_0), input]);\nexport const ExprTail = (input) => If(If(If(Token.Const('|', input), ([_0, input]) => If(ExprTerm(input), ([_1, input]) => If(ExprTail(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ExprTailMapping(_0), input]);\nexport const Expr = (input) => If(If(ExprTerm(input), ([_0, input]) => If(ExprTail(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [S.ExprMapping(_0), input]);\nexport const ExprReadonly = (input) => If(If(Token.Const('readonly', input), ([_0, input]) => If(Expr(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [S.ExprReadonlyMapping(_0), input]);\nexport const ExprPipe = (input) => If(If(Token.Const('|', input), ([_0, input]) => If(Expr(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [S.ExprPipeMapping(_0), input]);\nexport const GenericType = (input) => If(If(GenericParameters(input), ([_0, input]) => If(Token.Const('=', input), ([_1, input]) => If(Type(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.GenericTypeMapping(_0), input]);\nexport const InferType = (input) => If(If(If(Token.Const('infer', input), ([_0, input]) => If(Token.Ident(input), ([_1, input]) => If(Token.Const('extends', input), ([_2, input]) => If(Expr(input), ([_3, input]) => [[_0, _1, _2, _3], input])))), ([_0, input]) => [_0, input], () => If(If(Token.Const('infer', input), ([_0, input]) => If(Token.Ident(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.InferTypeMapping(_0), input]);\nexport const Type = (input) => If(If(InferType(input), ([_0, input]) => [_0, input], () => If(ExprPipe(input), ([_0, input]) => [_0, input], () => If(ExprReadonly(input), ([_0, input]) => [_0, input], () => If(Expr(input), ([_0, input]) => [_0, input], () => [])))), ([_0, input]) => [S.TypeMapping(_0), input]);\nexport const PropertyKeyNumber = (input) => If(Token.Number(input), ([_0, input]) => [S.PropertyKeyNumberMapping(_0), input]);\nexport const PropertyKeyIdent = (input) => If(Token.Ident(input), ([_0, input]) => [S.PropertyKeyIdentMapping(_0), input]);\nexport const PropertyKeyQuoted = (input) => If(Token.String(['\\'', '\\\"'], input), ([_0, input]) => [S.PropertyKeyQuotedMapping(_0), input]);\nexport const PropertyKeyIndex = (input) => If(If(Token.Const('[', input), ([_0, input]) => If(Token.Ident(input), ([_1, input]) => If(Token.Const(':', input), ([_2, input]) => If(If(KeywordInteger(input), ([_0, input]) => [_0, input], () => If(KeywordNumber(input), ([_0, input]) => [_0, input], () => If(KeywordString(input), ([_0, input]) => [_0, input], () => If(KeywordSymbol(input), ([_0, input]) => [_0, input], () => [])))), ([_3, input]) => If(Token.Const(']', input), ([_4, input]) => [[_0, _1, _2, _3, _4], input]))))), ([_0, input]) => [S.PropertyKeyIndexMapping(_0), input]);\nexport const PropertyKey = (input) => If(If(PropertyKeyNumber(input), ([_0, input]) => [_0, input], () => If(PropertyKeyIdent(input), ([_0, input]) => [_0, input], () => If(PropertyKeyQuoted(input), ([_0, input]) => [_0, input], () => If(PropertyKeyIndex(input), ([_0, input]) => [_0, input], () => [])))), ([_0, input]) => [S.PropertyKeyMapping(_0), input]);\nexport const Readonly = (input) => If(If(If(Token.Const('readonly', input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ReadonlyMapping(_0), input]);\nexport const Optional = (input) => If(If(If(Token.Const('?', input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.OptionalMapping(_0), input]);\nexport const Property = (input) => If(If(Readonly(input), ([_0, input]) => If(PropertyKey(input), ([_1, input]) => If(Optional(input), ([_2, input]) => If(Token.Const(':', input), ([_3, input]) => If(Type(input), ([_4, input]) => [[_0, _1, _2, _3, _4], input]))))), ([_0, input]) => [S.PropertyMapping(_0), input]);\nexport const PropertyDelimiter = (input) => If(If(If(Token.Const(',', input), ([_0, input]) => If(Token.Const('\\n', input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => If(If(Token.Const(';', input), ([_0, input]) => If(Token.Const('\\n', input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => If(If(Token.Const(',', input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => If(If(Token.Const(';', input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => If(If(Token.Const('\\n', input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => []))))), ([_0, input]) => [S.PropertyDelimiterMapping(_0), input]);\nexport const PropertyList_0 = (input, result = []) => If(If(PropertyDelimiter(input), ([_0, input]) => If(Property(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => PropertyList_0(input, [...result, _0]), () => [result, input]);\nexport const PropertyList = (input) => If(If(If(Property(input), ([_0, input]) => If(PropertyList_0(input), ([_1, input]) => If(If(PropertyDelimiter(input), ([_0, input]) => [[_0], input], () => [[], input]), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.PropertyListMapping(_0), input]);\nexport const Properties = (input) => If(If(Token.Const('{', input), ([_0, input]) => If(PropertyList(input), ([_1, input]) => If(Token.Const('}', input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.PropertiesMapping(_0), input]);\nexport const _Object_ = (input) => If(Properties(input), ([_0, input]) => [S._Object_Mapping(_0), input]);\nexport const ElementNamed = (input) => If(If(If(Token.Ident(input), ([_0, input]) => If(Token.Const('?', input), ([_1, input]) => If(Token.Const(':', input), ([_2, input]) => If(Token.Const('readonly', input), ([_3, input]) => If(Type(input), ([_4, input]) => [[_0, _1, _2, _3, _4], input]))))), ([_0, input]) => [_0, input], () => If(If(Token.Ident(input), ([_0, input]) => If(Token.Const(':', input), ([_1, input]) => If(Token.Const('readonly', input), ([_2, input]) => If(Type(input), ([_3, input]) => [[_0, _1, _2, _3], input])))), ([_0, input]) => [_0, input], () => If(If(Token.Ident(input), ([_0, input]) => If(Token.Const('?', input), ([_1, input]) => If(Token.Const(':', input), ([_2, input]) => If(Type(input), ([_3, input]) => [[_0, _1, _2, _3], input])))), ([_0, input]) => [_0, input], () => If(If(Token.Ident(input), ([_0, input]) => If(Token.Const(':', input), ([_1, input]) => If(Type(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => [])))), ([_0, input]) => [S.ElementNamedMapping(_0), input]);\nexport const ElementBase = (input) => If(If(ElementNamed(input), ([_0, input]) => [_0, input], () => If(If(Readonly(input), ([_0, input]) => If(Type(input), ([_1, input]) => If(Optional(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ElementBaseMapping(_0), input]);\nexport const Element = (input) => If(If(If(Token.Const('...', input), ([_0, input]) => If(ElementBase(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => If(If(ElementBase(input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ElementMapping(_0), input]);\nexport const ElementList_0 = (input, result = []) => If(If(Token.Const(',', input), ([_0, input]) => If(Element(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => ElementList_0(input, [...result, _0]), () => [result, input]);\nexport const ElementList = (input) => If(If(If(Element(input), ([_0, input]) => If(ElementList_0(input), ([_1, input]) => If(If(Token.Const(',', input), ([_0, input]) => [[_0], input], () => [[], input]), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ElementListMapping(_0), input]);\nexport const _Tuple_ = (input) => If(If(Token.Const('[', input), ([_0, input]) => If(ElementList(input), ([_1, input]) => If(Token.Const(']', input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S._Tuple_Mapping(_0), input]);\nexport const ParameterReadonlyOptional = (input) => If(If(Token.Ident(input), ([_0, input]) => If(Token.Const('?', input), ([_1, input]) => If(Token.Const(':', input), ([_2, input]) => If(Token.Const('readonly', input), ([_3, input]) => If(Type(input), ([_4, input]) => [[_0, _1, _2, _3, _4], input]))))), ([_0, input]) => [S.ParameterReadonlyOptionalMapping(_0), input]);\nexport const ParameterReadonly = (input) => If(If(Token.Ident(input), ([_0, input]) => If(Token.Const(':', input), ([_1, input]) => If(Token.Const('readonly', input), ([_2, input]) => If(Type(input), ([_3, input]) => [[_0, _1, _2, _3], input])))), ([_0, input]) => [S.ParameterReadonlyMapping(_0), input]);\nexport const ParameterOptional = (input) => If(If(Token.Ident(input), ([_0, input]) => If(Token.Const('?', input), ([_1, input]) => If(Token.Const(':', input), ([_2, input]) => If(Type(input), ([_3, input]) => [[_0, _1, _2, _3], input])))), ([_0, input]) => [S.ParameterOptionalMapping(_0), input]);\nexport const ParameterType = (input) => If(If(Token.Ident(input), ([_0, input]) => If(Token.Const(':', input), ([_1, input]) => If(Type(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.ParameterTypeMapping(_0), input]);\nexport const ParameterBase = (input) => If(If(ParameterReadonlyOptional(input), ([_0, input]) => [_0, input], () => If(ParameterReadonly(input), ([_0, input]) => [_0, input], () => If(ParameterOptional(input), ([_0, input]) => [_0, input], () => If(ParameterType(input), ([_0, input]) => [_0, input], () => [])))), ([_0, input]) => [S.ParameterBaseMapping(_0), input]);\nexport const Parameter = (input) => If(If(If(Token.Const('...', input), ([_0, input]) => If(ParameterBase(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => If(If(ParameterBase(input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ParameterMapping(_0), input]);\nexport const ParameterList_0 = (input, result = []) => If(If(Token.Const(',', input), ([_0, input]) => If(Parameter(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => ParameterList_0(input, [...result, _0]), () => [result, input]);\nexport const ParameterList = (input) => If(If(If(Parameter(input), ([_0, input]) => If(ParameterList_0(input), ([_1, input]) => If(If(Token.Const(',', input), ([_0, input]) => [[_0], input], () => [[], input]), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ParameterListMapping(_0), input]);\nexport const _Function_ = (input) => If(If(Token.Const('(', input), ([_0, input]) => If(ParameterList(input), ([_1, input]) => If(Token.Const(')', input), ([_2, input]) => If(Token.Const('=>', input), ([_3, input]) => If(Type(input), ([_4, input]) => [[_0, _1, _2, _3, _4], input]))))), ([_0, input]) => [S._Function_Mapping(_0), input]);\nexport const _Constructor_ = (input) => If(If(Token.Const('new', input), ([_0, input]) => If(Token.Const('(', input), ([_1, input]) => If(ParameterList(input), ([_2, input]) => If(Token.Const(')', input), ([_3, input]) => If(Token.Const('=>', input), ([_4, input]) => If(Type(input), ([_5, input]) => [[_0, _1, _2, _3, _4, _5], input])))))), ([_0, input]) => [S._Constructor_Mapping(_0), input]);\nexport const MappedReadonly = (input) => If(If(If(Token.Const('+', input), ([_0, input]) => If(Token.Const('readonly', input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => If(If(Token.Const('-', input), ([_0, input]) => If(Token.Const('readonly', input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => If(If(Token.Const('readonly', input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])))), ([_0, input]) => [S.MappedReadonlyMapping(_0), input]);\nexport const MappedOptional = (input) => If(If(If(Token.Const('+', input), ([_0, input]) => If(Token.Const('?', input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => If(If(Token.Const('-', input), ([_0, input]) => If(Token.Const('?', input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => If(If(Token.Const('?', input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])))), ([_0, input]) => [S.MappedOptionalMapping(_0), input]);\nexport const MappedAs = (input) => If(If(If(Token.Const('as', input), ([_0, input]) => If(Type(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.MappedAsMapping(_0), input]);\nexport const _Mapped_ = (input) => If(If(Token.Const('{', input), ([_0, input]) => If(MappedReadonly(input), ([_1, input]) => If(Token.Const('[', input), ([_2, input]) => If(Token.Ident(input), ([_3, input]) => If(Token.Const('in', input), ([_4, input]) => If(Type(input), ([_5, input]) => If(MappedAs(input), ([_6, input]) => If(Token.Const(']', input), ([_7, input]) => If(MappedOptional(input), ([_8, input]) => If(Token.Const(':', input), ([_9, input]) => If(Type(input), ([_10, input]) => If(OptionalSemiColon(input), ([_11, input]) => If(Token.Const('}', input), ([_12, input]) => [[_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12], input]))))))))))))), ([_0, input]) => [S._Mapped_Mapping(_0), input]);\nexport const Reference = (input) => If(Token.Ident(input), ([_0, input]) => [S.ReferenceMapping(_0), input]);\nexport const WithBigInt = (input) => If(Token.BigInt(input), ([_0, input]) => [S.WithBigIntMapping(_0), input]);\nexport const WithNumber = (input) => If(Token.Number(input), ([_0, input]) => [S.WithNumberMapping(_0), input]);\nexport const WithBoolean = (input) => If(If(Token.Const('true', input), ([_0, input]) => [_0, input], () => If(Token.Const('false', input), ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.WithBooleanMapping(_0), input]);\nexport const WithString = (input) => If(Token.String(['\\\"', '\\''], input), ([_0, input]) => [S.WithStringMapping(_0), input]);\nexport const WithNull = (input) => If(Token.Const('null', input), ([_0, input]) => [S.WithNullMapping(_0), input]);\nexport const WithUndefined = (input) => If(Token.Const('undefined', input), ([_0, input]) => [S.WithUndefinedMapping(_0), input]);\nexport const WithProperty = (input) => If(If(PropertyKey(input), ([_0, input]) => If(Token.Const(':', input), ([_1, input]) => If(WithValue(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.WithPropertyMapping(_0), input]);\nexport const WithPropertyList_0 = (input, result = []) => If(If(PropertyDelimiter(input), ([_0, input]) => If(WithProperty(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => WithPropertyList_0(input, [...result, _0]), () => [result, input]);\nexport const WithPropertyList = (input) => If(If(If(WithProperty(input), ([_0, input]) => If(WithPropertyList_0(input), ([_1, input]) => If(If(PropertyDelimiter(input), ([_0, input]) => [[_0], input], () => [[], input]), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.WithPropertyListMapping(_0), input]);\nexport const WithObject = (input) => If(If(Token.Const('{', input), ([_0, input]) => If(WithPropertyList(input), ([_1, input]) => If(Token.Const('}', input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.WithObjectMapping(_0), input]);\nexport const WithElementList_0 = (input, result = []) => If(If(Token.Const(',', input), ([_0, input]) => If(WithValue(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => WithElementList_0(input, [...result, _0]), () => [result, input]);\nexport const WithElementList = (input) => If(If(If(WithValue(input), ([_0, input]) => If(WithElementList_0(input), ([_1, input]) => If(If(Token.Const(',', input), ([_0, input]) => [[_0], input], () => [[], input]), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.WithElementListMapping(_0), input]);\nexport const WithArray = (input) => If(If(Token.Const('[', input), ([_0, input]) => If(WithElementList(input), ([_1, input]) => If(Token.Const(']', input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.WithArrayMapping(_0), input]);\nexport const WithValue = (input) => If(If(WithBigInt(input), ([_0, input]) => [_0, input], () => If(WithNumber(input), ([_0, input]) => [_0, input], () => If(WithBoolean(input), ([_0, input]) => [_0, input], () => If(WithString(input), ([_0, input]) => [_0, input], () => If(WithNull(input), ([_0, input]) => [_0, input], () => If(WithUndefined(input), ([_0, input]) => [_0, input], () => If(WithObject(input), ([_0, input]) => [_0, input], () => If(WithArray(input), ([_0, input]) => [_0, input], () => [])))))))), ([_0, input]) => [S.WithValueMapping(_0), input]);\nexport const PatternBigInt = (input) => If(Token.Const('-?(?:0|[1-9][0-9]*)n', input), ([_0, input]) => [S.PatternBigIntMapping(_0), input]);\nexport const PatternString = (input) => If(Token.Const('.*', input), ([_0, input]) => [S.PatternStringMapping(_0), input]);\nexport const PatternNumber = (input) => If(Token.Const('-?(?:0|[1-9][0-9]*)(?:\\\\.[0-9]+)?', input), ([_0, input]) => [S.PatternNumberMapping(_0), input]);\nexport const PatternInteger = (input) => If(Token.Const('-?(?:0|[1-9][0-9]*)', input), ([_0, input]) => [S.PatternIntegerMapping(_0), input]);\nexport const PatternNever = (input) => If(Token.Const('(?!)', input), ([_0, input]) => [S.PatternNeverMapping(_0), input]);\nexport const PatternText = (input) => If(Token.Until_1(['-?(?:0|[1-9][0-9]*)n', '.*', '-?(?:0|[1-9][0-9]*)(?:\\\\.[0-9]+)?', '-?(?:0|[1-9][0-9]*)', '(?!)', '(', ')', '$', '|'], input), ([_0, input]) => [S.PatternTextMapping(_0), input]);\nexport const PatternBase = (input) => If(If(PatternBigInt(input), ([_0, input]) => [_0, input], () => If(PatternString(input), ([_0, input]) => [_0, input], () => If(PatternNumber(input), ([_0, input]) => [_0, input], () => If(PatternInteger(input), ([_0, input]) => [_0, input], () => If(PatternNever(input), ([_0, input]) => [_0, input], () => If(PatternGroup(input), ([_0, input]) => [_0, input], () => If(PatternText(input), ([_0, input]) => [_0, input], () => []))))))), ([_0, input]) => [S.PatternBaseMapping(_0), input]);\nexport const PatternGroup = (input) => If(If(Token.Const('(', input), ([_0, input]) => If(PatternBody(input), ([_1, input]) => If(Token.Const(')', input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.PatternGroupMapping(_0), input]);\nexport const PatternUnion = (input) => If(If(If(PatternTerm(input), ([_0, input]) => If(Token.Const('|', input), ([_1, input]) => If(PatternUnion(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If(If(PatternTerm(input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => []))), ([_0, input]) => [S.PatternUnionMapping(_0), input]);\nexport const PatternTerm = (input) => If(If(PatternBase(input), ([_0, input]) => If(PatternBody(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [S.PatternTermMapping(_0), input]);\nexport const PatternBody = (input) => If(If(PatternUnion(input), ([_0, input]) => [_0, input], () => If(PatternTerm(input), ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.PatternBodyMapping(_0), input]);\nexport const Pattern = (input) => If(If(Token.Const('^', input), ([_0, input]) => If(PatternBody(input), ([_1, input]) => If(Token.Const('$', input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.PatternMapping(_0), input]);\nexport const InterfaceDeclarationHeritageList_0 = (input, result = []) => If(If(Token.Const(',', input), ([_0, input]) => If(Type(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => InterfaceDeclarationHeritageList_0(input, [...result, _0]), () => [result, input]);\nexport const InterfaceDeclarationHeritageList = (input) => If(If(If(Type(input), ([_0, input]) => If(InterfaceDeclarationHeritageList_0(input), ([_1, input]) => If(If(Token.Const(',', input), ([_0, input]) => [[_0], input], () => [[], input]), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.InterfaceDeclarationHeritageListMapping(_0), input]);\nexport const InterfaceDeclarationHeritage = (input) => If(If(If(Token.Const('extends', input), ([_0, input]) => If(InterfaceDeclarationHeritageList(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.InterfaceDeclarationHeritageMapping(_0), input]);\nexport const InterfaceDeclarationGeneric = (input) => If(If(Token.Const('interface', input), ([_0, input]) => If(Token.Ident(input), ([_1, input]) => If(GenericParameters(input), ([_2, input]) => If(InterfaceDeclarationHeritage(input), ([_3, input]) => If(Properties(input), ([_4, input]) => [[_0, _1, _2, _3, _4], input]))))), ([_0, input]) => [S.InterfaceDeclarationGenericMapping(_0), input]);\nexport const InterfaceDeclaration = (input) => If(If(Token.Const('interface', input), ([_0, input]) => If(Token.Ident(input), ([_1, input]) => If(InterfaceDeclarationHeritage(input), ([_2, input]) => If(Properties(input), ([_3, input]) => [[_0, _1, _2, _3], input])))), ([_0, input]) => [S.InterfaceDeclarationMapping(_0), input]);\nexport const TypeAliasDeclarationGeneric = (input) => If(If(Token.Const('type', input), ([_0, input]) => If(Token.Ident(input), ([_1, input]) => If(GenericParameters(input), ([_2, input]) => If(Token.Const('=', input), ([_3, input]) => If(Type(input), ([_4, input]) => [[_0, _1, _2, _3, _4], input]))))), ([_0, input]) => [S.TypeAliasDeclarationGenericMapping(_0), input]);\nexport const TypeAliasDeclaration = (input) => If(If(Token.Const('type', input), ([_0, input]) => If(Token.Ident(input), ([_1, input]) => If(Token.Const('=', input), ([_2, input]) => If(Type(input), ([_3, input]) => [[_0, _1, _2, _3], input])))), ([_0, input]) => [S.TypeAliasDeclarationMapping(_0), input]);\nexport const ExportKeyword = (input) => If(If(If(Token.Const('export', input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ExportKeywordMapping(_0), input]);\nexport const ModuleDeclarationDelimiter = (input) => If(If(If(Token.Const(';', input), ([_0, input]) => If(Token.Const('\\n', input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [_0, input], () => If(If(Token.Const(';', input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => If(If(Token.Const('\\n', input), ([_0, input]) => [[_0], input]), ([_0, input]) => [_0, input], () => []))), ([_0, input]) => [S.ModuleDeclarationDelimiterMapping(_0), input]);\nexport const ModuleDeclarationList_0 = (input, result = []) => If(If(ModuleDeclarationDelimiter(input), ([_0, input]) => If(ModuleDeclaration(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => ModuleDeclarationList_0(input, [...result, _0]), () => [result, input]);\nexport const ModuleDeclarationList = (input) => If(If(If(ModuleDeclaration(input), ([_0, input]) => If(ModuleDeclarationList_0(input), ([_1, input]) => If(If(ModuleDeclarationDelimiter(input), ([_0, input]) => [[_0], input], () => [[], input]), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [_0, input], () => If([[], input], ([_0, input]) => [_0, input], () => [])), ([_0, input]) => [S.ModuleDeclarationListMapping(_0), input]);\nexport const ModuleDeclaration = (input) => If(If(ExportKeyword(input), ([_0, input]) => If(If(InterfaceDeclarationGeneric(input), ([_0, input]) => [_0, input], () => If(InterfaceDeclaration(input), ([_0, input]) => [_0, input], () => If(TypeAliasDeclarationGeneric(input), ([_0, input]) => [_0, input], () => If(TypeAliasDeclaration(input), ([_0, input]) => [_0, input], () => [])))), ([_1, input]) => If(OptionalSemiColon(input), ([_2, input]) => [[_0, _1, _2], input]))), ([_0, input]) => [S.ModuleDeclarationMapping(_0), input]);\nexport const Module = (input) => If(If(ModuleDeclaration(input), ([_0, input]) => If(ModuleDeclarationList(input), ([_1, input]) => [[_0, _1], input])), ([_0, input]) => [S.ModuleMapping(_0), input]);\nexport const Script = (input) => If(If(Module(input), ([_0, input]) => [_0, input], () => If(GenericType(input), ([_0, input]) => [_0, input], () => If(Type(input), ([_0, input]) => [_0, input], () => []))), ([_0, input]) => [S.ScriptMapping(_0), input]);\n","// deno-fmt-ignore-file\nimport { Unreachable } from '../../../system/unreachable/index.mjs';\nimport { Guard } from '../../../guard/index.mjs';\nimport { TemplateLiteralTypes } from '../../script/parser.mjs';\n// ------------------------------------------------------------------\n// deno-coverage-ignore-start - symmetric unreachable\n//\n// Parser is parsing regular expression for strings and will return \n// at least 1 TLiteral at a minumum.\n//\n// ------------------------------------------------------------------\n/** Parses a Template into a TemplateLiteral types */\nexport function ParseTemplateIntoTypes(template) {\n const parsed = TemplateLiteralTypes(`\\`${template}\\``);\n const result = Guard.IsEqual(parsed.length, 2)\n ? parsed[0]\n : Unreachable(); // []\n return result;\n}\n// deno-coverage-ignore-stop\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { IsEnum } from '../../types/enum.mjs';\nimport { Literal, IsLiteral } from '../../types/literal.mjs';\nimport { Union, IsUnion } from '../../types/union.mjs';\nimport { IsTemplateLiteral, IsTemplateLiteralDeferred } from '../../types/template_literal.mjs';\nimport { IsBigInt, BigIntPattern } from '../../types/bigint.mjs';\nimport { IsString, StringPattern } from '../../types/string.mjs';\nimport { IsNumber, NumberPattern } from '../../types/number.mjs';\nimport { IsInteger, IntegerPattern } from '../../types/integer.mjs';\nimport { IsBoolean } from '../../types/boolean.mjs';\nimport { NeverPattern } from '../../types/never.mjs';\nimport { TemplateLiteralCreate } from './create.mjs';\nimport { EvaluateEnum } from '../evaluate/evaluate.mjs';\nimport { TemplateLiteralAction } from './instantiate.mjs';\nfunction JoinString(input) {\n return input.join('|');\n}\nfunction UnwrapTemplateLiteralPattern(pattern) {\n return pattern.slice(1, pattern.length - 1);\n}\nfunction EncodeLiteral(value, right, pattern) {\n return EncodeTypes(right, `${pattern}${value}`);\n}\nfunction EncodeBigInt(right, pattern) {\n return EncodeTypes(right, `${pattern}${BigIntPattern}`);\n}\nfunction EncodeInteger(right, pattern) {\n return EncodeTypes(right, `${pattern}${IntegerPattern}`);\n}\nfunction EncodeNumber(right, pattern) {\n return EncodeTypes(right, `${pattern}${NumberPattern}`);\n}\nfunction EncodeBoolean(right, pattern) {\n return EncodeType(Union([Literal('false'), Literal('true')]), right, pattern);\n}\nfunction EncodeString(right, pattern) {\n return EncodeTypes(right, `${pattern}${StringPattern}`);\n}\nfunction EncodeTemplateLiteral(templatePattern, right, pattern) {\n return EncodeTypes(right, `${pattern}${UnwrapTemplateLiteralPattern(templatePattern)}`);\n}\nfunction EncodeTemplateLiteralDeferred(types, right, pattern) {\n const templateLiteral = TemplateLiteralAction(types, {});\n const result = EncodeType(templateLiteral, right, pattern);\n return result;\n}\nfunction EncodeEnum(values, right, pattern) {\n const evaluated = EvaluateEnum(values);\n return EncodeType(evaluated, right, pattern);\n}\nfunction EncodeUnion(types, right, pattern, result = []) {\n return Guard.ShiftLeft(types, (head, tail) => EncodeUnion(tail, right, pattern, [...result, EncodeType(head, [], '')]), () => EncodeTypes(right, `${pattern}(${JoinString(result)})`));\n}\nfunction EncodeType(type, right, pattern) {\n return (IsEnum(type) ? EncodeEnum(type.enum, right, pattern) :\n IsInteger(type) ? EncodeInteger(right, pattern) :\n IsLiteral(type) ? EncodeLiteral(type.const, right, pattern) :\n IsBigInt(type) ? EncodeBigInt(right, pattern) :\n IsBoolean(type) ? EncodeBoolean(right, pattern) :\n IsNumber(type) ? EncodeNumber(right, pattern) :\n IsString(type) ? EncodeString(right, pattern) :\n IsTemplateLiteral(type) ? EncodeTemplateLiteral(type.pattern, right, pattern) :\n IsTemplateLiteralDeferred(type) ? EncodeTemplateLiteralDeferred(type.parameters[0], right, pattern) :\n IsUnion(type) ? EncodeUnion(type.anyOf, right, pattern) :\n NeverPattern);\n}\nfunction EncodeTypes(types, pattern) {\n return Guard.ShiftLeft(types, (left, right) => EncodeType(left, right, pattern), () => pattern);\n}\nfunction EncodePattern(types) {\n const encoded = EncodeTypes(types, '');\n const result = `^${encoded}$`;\n return result;\n}\n/** Encodes a TemplateLiteral type sequence into a TemplateLiteral */\nexport function TemplateLiteralEncode(types) {\n const pattern = EncodePattern(types);\n const result = TemplateLiteralCreate(pattern);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { TemplateLiteralDeferred } from '../../types/template_literal.mjs';\nimport { TemplateLiteralEncode } from './encode.mjs';\nimport { InstantiateTypes, CanInstantiate } from '../instantiate.mjs';\nexport function TemplateLiteralAction(types, options) {\n const result = CanInstantiate(types)\n ? Memory.Update(TemplateLiteralEncode(types), {}, options)\n : TemplateLiteralDeferred(types, options);\n return result;\n}\nexport function TemplateLiteralInstantiate(context, state, types, options) {\n const instantiatedTypes = InstantiateTypes(context, state, types);\n return TemplateLiteralAction(instantiatedTypes, options);\n}\n","// deno-fmt-ignore-file\n// deno-lint-ignore-file\nimport { Memory } from '../../system/system.mjs';\nimport { Guard } from '../../guard/index.mjs';\nimport { IsSchema, IsKind } from './schema.mjs';\nimport { Deferred } from './deferred.mjs';\nimport { ParseTemplateIntoTypes } from '../engine/patterns/template.mjs';\nimport { TemplateLiteralAction } from '../engine/template_literal/instantiate.mjs';\n/** Creates a deferred TemplateLiteral action. */\nexport function TemplateLiteralDeferred(types, options = {}) {\n return Deferred('TemplateLiteral', [types], options);\n}\n/** Returns true if this value is a deferred Interface action. */\nexport function IsTemplateLiteralDeferred(value) {\n return IsSchema(value)\n && Guard.HasPropertyKey(value, 'action')\n && Guard.IsEqual(value.action, 'TemplateLiteral');\n}\nexport function TemplateLiteralFromTypes(types) {\n return TemplateLiteralAction(types, {});\n}\nexport function TemplateLiteralFromString(template) {\n const types = ParseTemplateIntoTypes(template);\n return TemplateLiteralFromTypes(types);\n}\n/** Creates a TemplateLiteral type. */\nexport function TemplateLiteral(input, options = {}) {\n const type = Guard.IsString(input) ? TemplateLiteralFromString(input) : TemplateLiteralFromTypes(input);\n return Memory.Update(type, {}, options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given value is TTemplateLiteral. */\nexport function IsTemplateLiteral(value) {\n return IsKind(value, 'TemplateLiteral');\n}\n","import { Guard } from '../../guard/index.mjs';\nimport { Memory } from '../../system/memory/index.mjs';\nexport function ExtendsUnion(inferred) {\n return Memory.Create({ ['~kind']: 'ExtendsUnion' }, { inferred });\n}\nexport function IsExtendsUnion(value) {\n return Guard.IsObject(value) &&\n Guard.HasPropertyKey(value, '~kind') &&\n Guard.HasPropertyKey(value, 'inferred') &&\n Guard.IsEqual(value['~kind'], 'ExtendsUnion') &&\n Guard.IsObject(value.inferred);\n}\nexport function ExtendsTrue(inferred) {\n return Memory.Create({ ['~kind']: 'ExtendsTrue' }, { inferred });\n}\nexport function IsExtendsTrue(value) {\n return Guard.IsObject(value) &&\n Guard.HasPropertyKey(value, '~kind') &&\n Guard.HasPropertyKey(value, 'inferred') &&\n Guard.IsEqual(value['~kind'], 'ExtendsTrue') &&\n Guard.IsObject(value.inferred);\n}\nexport function ExtendsFalse() {\n return Memory.Create({ ['~kind']: 'ExtendsFalse' }, {});\n}\nexport function IsExtendsFalse(value) {\n return Guard.IsObject(value) &&\n Guard.HasPropertyKey(value, '~kind') &&\n Guard.IsEqual(value['~kind'], 'ExtendsFalse');\n}\nexport function IsExtendsTrueLike(value) {\n return IsExtendsUnion(value) || IsExtendsTrue(value);\n}\nexport function Match(result, true_, false_) {\n return IsExtendsTrueLike(result) ? true_(result.inferred) : false_();\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsAny } from '../types/any.mjs';\nimport { IsDependent } from '../types/dependent.mjs';\nimport { IsEnum } from '../types/enum.mjs';\nimport { IsInfer } from '../types/infer.mjs';\nimport { IsIntersect } from '../types/intersect.mjs';\nimport { IsTemplateLiteral } from '../types/template_literal.mjs';\nimport { IsUnion } from '../types/union.mjs';\nimport { IsUnknown } from '../types/unknown.mjs';\nimport { ExtendsLeft } from './extends_left.mjs';\nimport * as Result from './result.mjs';\nimport { EvaluateEnum } from '../engine/evaluate/evaluate.mjs';\nimport { EvaluateTemplateLiteral } from '../engine/evaluate/evaluate.mjs';\nfunction ExtendsRightInfer(inferred, name, left, right) {\n return Result.Match(ExtendsLeft(inferred, left, right), checkInferred => Result.ExtendsTrue(Memory.Assign(Memory.Assign(inferred, checkInferred), { [name]: left })), () => Result.ExtendsFalse());\n}\nfunction ExtendsRightAny(inferred, _left) {\n return Result.ExtendsTrue(inferred);\n}\nfunction ExtendsRightDependent(inferred, left, if_, then_, else_) {\n return Result.Match(ExtendsLeft(inferred, left, if_), inferred => Result.Match(ExtendsLeft(inferred, left, then_), inferred => Result.ExtendsTrue(inferred), () => Result.ExtendsFalse()), () => Result.Match(ExtendsLeft(inferred, left, else_), inferred => Result.ExtendsTrue(inferred), () => Result.ExtendsFalse()));\n}\nfunction ExtendsRightEnum(inferred, left, right) {\n const evaluated = EvaluateEnum(right);\n return ExtendsLeft(inferred, left, evaluated);\n}\nfunction ExtendsRightIntersect(inferred, left, right) {\n return Guard.ShiftLeft(right, (head, tail) => Result.Match(ExtendsLeft(inferred, left, head), inferred => ExtendsRightIntersect(inferred, left, tail), () => Result.ExtendsFalse()), () => Result.ExtendsTrue(inferred));\n}\nfunction ExtendsRightTemplateLiteral(inferred, left, right) {\n const evaluated = EvaluateTemplateLiteral(right);\n return ExtendsLeft(inferred, left, evaluated);\n}\nfunction ExtendsRightUnion(inferred, left, right) {\n return Guard.ShiftLeft(right, (head, tail) => Result.Match(ExtendsLeft(inferred, left, head), inferred => Result.ExtendsTrue(inferred), () => ExtendsRightUnion(inferred, left, tail)), () => Result.ExtendsFalse());\n}\nexport function ExtendsRight(inferred, left, right) {\n return (IsAny(right) ? ExtendsRightAny(inferred, left) :\n IsDependent(right) ? ExtendsRightDependent(inferred, left, right.if, right.then, right.else) :\n IsEnum(right) ? ExtendsRightEnum(inferred, left, right.enum) :\n IsInfer(right) ? ExtendsRightInfer(inferred, right.name, left, right.extends) :\n IsIntersect(right) ? ExtendsRightIntersect(inferred, left, right.allOf) :\n IsTemplateLiteral(right) ? ExtendsRightTemplateLiteral(inferred, left, right.pattern) :\n IsUnion(right) ? ExtendsRightUnion(inferred, left, right.anyOf) :\n IsUnknown(right) ? Result.ExtendsTrue(inferred) :\n Result.ExtendsFalse());\n}\n","// deno-fmt-ignore-file\nimport { IsInfer } from '../types/infer.mjs';\nimport { IsAny } from '../types/any.mjs';\nimport { IsUnknown } from '../types/unknown.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsAny(inferred, left, right) {\n return (IsInfer(right) ? ExtendsRight(inferred, left, right) :\n IsAny(right) ? Result.ExtendsTrue(inferred) :\n IsUnknown(right) ? Result.ExtendsTrue(inferred) :\n Result.ExtendsUnion(inferred));\n}\n","// deno-fmt-ignore-file\nimport { IsArray } from '../types/array.mjs';\nimport { IsImmutable } from '../types/_immutable.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport { ExtendsLeft } from './extends_left.mjs';\nimport * as Result from './result.mjs';\nfunction ExtendsImmutable(left, right) {\n const isImmutableLeft = IsImmutable(left);\n const isImmutableRight = IsImmutable(right);\n return (isImmutableLeft && isImmutableRight ? true :\n !isImmutableLeft && isImmutableRight ? true :\n isImmutableLeft && !isImmutableRight ? false :\n true);\n}\nexport function ExtendsArray(inferred, arrayLeft, left, right) {\n return (IsArray(right)\n ? ExtendsImmutable(arrayLeft, right)\n ? ExtendsLeft(inferred, left, right.items)\n : Result.ExtendsFalse()\n : ExtendsRight(inferred, arrayLeft, right));\n}\n","// deno-fmt-ignore-file\nimport { IsBigInt } from '../types/bigint.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsBigInt(inferred, left, right) {\n return (IsBigInt(right)\n ? Result.ExtendsTrue(inferred)\n : ExtendsRight(inferred, left, right));\n}\n","// deno-fmt-ignore-file\nimport { IsBoolean } from '../types/boolean.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsBoolean(inferred, left, right) {\n return (IsBoolean(right)\n ? Result.ExtendsTrue(inferred)\n : ExtendsRight(inferred, left, right));\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { IsInfer } from '../types/infer.mjs';\nimport { IsOptional } from '../types/_optional.mjs';\nimport { ExtendsLeft } from './extends_left.mjs';\nimport * as Result from './result.mjs';\nfunction ParameterCompare(inferred, left, leftRest, right, rightRest) {\n // Parameter extends Right on Left, except when infer Right \n const checkLeft = IsInfer(right) ? left : right;\n const checkRight = IsInfer(right) ? right : left;\n const isLeftOptional = IsOptional(left);\n const isRightOptional = IsOptional(right);\n return ((!isLeftOptional && isRightOptional)\n ? Result.ExtendsFalse() // 'fail: left-required-but-right-is-optional'\n : Result.Match(ExtendsLeft(inferred, checkLeft, checkRight), inferred => ExtendsParameters(inferred, leftRest, rightRest), () => Result.ExtendsFalse()) // 'fail: left-and-right-did-not-match'\n );\n}\nfunction ParameterRight(inferred, left, leftRest, rightRest) {\n return Guard.ShiftLeft(rightRest, (head, tail) => ParameterCompare(inferred, left, leftRest, head, tail), () => IsOptional(left) // 'right-did-not-have-enough-elements'\n ? Result.ExtendsTrue(inferred) // 'ok: left was optional'\n : Result.ExtendsFalse()); // 'fail: left was required'\n}\nfunction ParametersLeft(inferred, left, rightRest) {\n return Guard.ShiftLeft(left, (head, tail) => ParameterRight(inferred, head, tail, rightRest), () => Result.ExtendsTrue(inferred)); // 'ok: no-more-elements-in-left'\n}\nexport function ExtendsParameters(inferred, left, right) {\n return ParametersLeft(inferred, left, right);\n}\n","// deno-fmt-ignore-file\nimport { IsVoid } from '../types/void.mjs';\nimport { ExtendsLeft } from './extends_left.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsReturnType(inferred, left, right) {\n return (IsVoid(right)\n ? Result.ExtendsTrue(inferred)\n : ExtendsLeft(inferred, left, right));\n}\n","// deno-fmt-ignore-file\nimport { IsAny } from '../types/any.mjs';\nimport { IsConstructor } from '../types/constructor.mjs';\nimport { IsUnknown } from '../types/unknown.mjs';\nimport * as Result from './result.mjs';\n// ------------------------------------------------------------------\n// Parameters | ReturnType\n// ------------------------------------------------------------------ \nimport { ExtendsParameters } from './parameters.mjs';\nimport { ExtendsReturnType } from './return_type.mjs';\nexport function ExtendsConstructor(inferred, parameters, returnType, right) {\n return (IsAny(right) ? Result.ExtendsTrue(inferred) :\n IsUnknown(right) ? Result.ExtendsTrue(inferred) :\n IsConstructor(right) ? Result.Match(ExtendsParameters(inferred, parameters, right['parameters']), inferred => ExtendsReturnType(inferred, returnType, right['instanceType']), () => Result.ExtendsFalse()) // 'not-a-parameter-match'\n : Result.ExtendsFalse() // 'not-a-constructor'\n );\n}\n","// deno-fmt-ignore-file\nimport { ExtendsLeft } from './extends_left.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsDependent(inferred, if_, then_, else_, right) {\n return Result.Match(ExtendsLeft(inferred, if_, right), () => ExtendsLeft(inferred, then_, right), () => ExtendsLeft(inferred, else_, right));\n}\n","// deno-fmt-ignore-file\nimport { ExtendsLeft } from './extends_left.mjs';\nimport { EvaluateEnum } from '../engine/evaluate/evaluate.mjs';\nexport function ExtendsEnum(inferred, left, right) {\n const evaluated = EvaluateEnum(left);\n return ExtendsLeft(inferred, evaluated, right);\n}\n","// deno-fmt-ignore-file\nimport { IsAny } from '../types/any.mjs';\nimport { IsFunction } from '../types/function.mjs';\nimport { IsUnknown } from '../types/unknown.mjs';\nimport * as Result from './result.mjs';\n// ------------------------------------------------------------------\n// Parameters | ReturnType\n// ------------------------------------------------------------------ \nimport { ExtendsParameters } from './parameters.mjs';\nimport { ExtendsReturnType } from './return_type.mjs';\nexport function ExtendsFunction(inferred, parameters, returnType, right) {\n return (IsAny(right) ? Result.ExtendsTrue(inferred) :\n IsUnknown(right) ? Result.ExtendsTrue(inferred) :\n IsFunction(right) ? Result.Match(ExtendsParameters(inferred, parameters, right['parameters']), inferred => ExtendsReturnType(inferred, returnType, right['returnType']), () => Result.ExtendsFalse()) // 'not-a-parameter-match'\n : Result.ExtendsFalse() // 'not-a-function'\n );\n}\n","// deno-fmt-ignore-file\nimport { IsInteger } from '../types/integer.mjs';\nimport { IsNumber } from '../types/number.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsInteger(inferred, left, right) {\n return (IsInteger(right) ? Result.ExtendsTrue(inferred) :\n IsNumber(right) ? Result.ExtendsTrue(inferred) :\n ExtendsRight(inferred, left, right));\n}\n","// deno-fmt-ignore-file\nimport { ExtendsLeft } from './extends_left.mjs';\n// ----------------------------------------------------------------------------\n// ExtendsIntersect\n//\n// This function evaluates the intersection and continues. This is different\n// to IntersectRight which MUST enumerate each type to derive Inferred. Left \n// side types do not infer so it should be ok to do this.\n//\n// ----------------------------------------------------------------------------\nimport { EvaluateIntersect } from '../engine/evaluate/index.mjs';\nexport function ExtendsIntersect(inferred, left, right) {\n const evaluated = EvaluateIntersect(left);\n return ExtendsLeft(inferred, evaluated, right);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { Unreachable } from '../../system/unreachable/unreachable.mjs';\nimport { IsLiteral, Literal } from '../types/literal.mjs';\nimport { IsBigInt } from '../types/bigint.mjs';\nimport { IsBoolean } from '../types/boolean.mjs';\nimport { IsNumber } from '../types/number.mjs';\nimport { IsString } from '../types/string.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nfunction ExtendsLiteralValue(inferred, left, right) {\n return (left === right\n ? Result.ExtendsTrue(inferred)\n : Result.ExtendsFalse());\n}\nfunction ExtendsLiteralBigInt(inferred, left, right) {\n return (IsLiteral(right) ? ExtendsLiteralValue(inferred, left, right.const) :\n IsBigInt(right) ? Result.ExtendsTrue(inferred) :\n ExtendsRight(inferred, Literal(left), right));\n}\nfunction ExtendsLiteralBoolean(inferred, left, right) {\n return (IsLiteral(right) ? ExtendsLiteralValue(inferred, left, right.const) :\n IsBoolean(right) ? Result.ExtendsTrue(inferred) :\n ExtendsRight(inferred, Literal(left), right));\n}\nfunction ExtendsLiteralNumber(inferred, left, right) {\n return (IsLiteral(right) ? ExtendsLiteralValue(inferred, left, right.const) :\n IsNumber(right) ? Result.ExtendsTrue(inferred) :\n ExtendsRight(inferred, Literal(left), right));\n}\nfunction ExtendsLiteralString(inferred, left, right) {\n return (IsLiteral(right) ? ExtendsLiteralValue(inferred, left, right.const) :\n IsString(right) ? Result.ExtendsTrue(inferred) :\n ExtendsRight(inferred, Literal(left), right));\n}\nexport function ExtendsLiteral(inferred, left, right) {\n return (Guard.IsBigInt(left.const) ? ExtendsLiteralBigInt(inferred, left.const, right) :\n Guard.IsBoolean(left.const) ? ExtendsLiteralBoolean(inferred, left.const, right) :\n Guard.IsNumber(left.const) ? ExtendsLiteralNumber(inferred, left.const, right) :\n Guard.IsString(left.const) ? ExtendsLiteralString(inferred, left.const, right) :\n Unreachable() // ExtendsRight(inferred, left, right)\n );\n}\n// deno-coverage-ignore-stop\n","// deno-fmt-ignore-file\nimport { IsInfer } from '../types/infer.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsNever(inferred, left, right) {\n return (IsInfer(right)\n ? ExtendsRight(inferred, left, right)\n : Result.ExtendsTrue(inferred));\n}\n","// deno-fmt-ignore-file\nimport { IsNull } from '../types/null.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsNull(inferred, left, right) {\n return (IsNull(right)\n ? Result.ExtendsTrue(inferred)\n : ExtendsRight(inferred, left, right));\n}\n","// deno-fmt-ignore-file\nimport { IsNumber } from '../types/number.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsNumber(inferred, left, right) {\n return (IsNumber(right)\n ? Result.ExtendsTrue(inferred)\n : ExtendsRight(inferred, left, right));\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Unreachable } from '../../system/unreachable/index.mjs';\nimport { Memory } from '../../system/memory/index.mjs';\nimport { Guard } from '../../guard/index.mjs';\nimport { IsOptional } from '../types/_optional.mjs';\nimport { IsInfer } from '../types/infer.mjs';\nimport { IsNever } from '../types/never.mjs';\nimport { IsObject, Object } from '../types/object.mjs';\nimport { IsRecord, RecordPattern, RecordValue } from '../types/record.mjs';\nimport { Union, IsUnion } from '../types/union.mjs';\nimport { ExtendsLeft } from './extends_left.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nfunction ExtendsPropertyOptional(inferred, left, right) {\n return (IsOptional(left)\n ? IsOptional(right)\n ? Result.ExtendsTrue(inferred)\n : Result.ExtendsFalse()\n : Result.ExtendsTrue(inferred));\n}\nfunction ExtendsProperty(inferred, left, right) {\n return (\n // Right TInfer<TNever> is TExtendsFalse\n (IsInfer(right) && IsNever(right.extends))\n ? Result.ExtendsFalse()\n : Result.Match(ExtendsLeft(inferred, left, right), inferred => ExtendsPropertyOptional(inferred, left, right), () => Result.ExtendsFalse()));\n}\nfunction ExtractInferredProperties(keys, properties) {\n return keys.reduce((result, key) => {\n return key in properties\n ? Result.IsExtendsTrueLike(properties[key])\n // @ts-ignore 5.0.4 cannot see `.inferred`\n ? { ...result, ...properties[key].inferred }\n : Unreachable() // result\n : Unreachable(); // result\n }, {});\n}\nfunction ExtendsPropertiesComparer(inferred, left, right) {\n const properties = {};\n for (const rightKey of Guard.Keys(right)) {\n properties[rightKey] = (rightKey in left\n // We don't consider the exterior Inferred as part of the property check as\n // we don't want the exterior Context to override the Inferred Context for\n // the Property Key. This override behavior is observed in the following\n // case we want the inferred A to shadow the exterior A.\n //\n // const A = Type.Script(`{ x: 1, y: 1 }`)\n // const S = Type.Script({ A }, `{\n // [K in keyof A]: A extends { \n // x: infer A, \n // y: infer B \n // } ? [A, B] <-- inferred 'A' shadows the exterior 'A'\n // : never\n // }`)\n ? ExtendsProperty({}, left[rightKey], right[rightKey])\n // If the right key K is not in left, but the right property is optional\n // then we say this property is permissable. This is because an optional\n // property on right is the same as property missing in left. If the\n // right is infer, then we just assign the extend type to inferred.\n : IsOptional(right[rightKey])\n ? IsInfer(right[rightKey])\n // @ts-ignore 5.0.1 - cannot observe extend in right[rightKey].extends\n ? Result.ExtendsTrue(Memory.Assign(inferred, { [right[rightKey].name]: right[rightKey].extends }))\n : Result.ExtendsTrue(inferred)\n : Result.ExtendsFalse());\n }\n // Check if all properties are ExtendsTrueLike\n const checked = Guard.Values(properties).every(result => Result.IsExtendsTrueLike(result));\n // Extract inferred results from properties, but only if the check is true.\n const extracted = checked ? ExtractInferredProperties(Guard.Keys(properties), properties) : {};\n return (checked\n ? Result.ExtendsTrue(extracted)\n : Result.ExtendsFalse());\n}\nfunction ExtendsProperties(inferred, left, right) {\n const compared = ExtendsPropertiesComparer(inferred, left, right);\n return (Result.IsExtendsTrueLike(compared)\n ? Result.ExtendsTrue(Memory.Assign(inferred, compared.inferred))\n : Result.ExtendsFalse());\n}\nfunction ExtendsObjectToObject(inferred, left, right) {\n return ExtendsProperties(inferred, left, right);\n}\nfunction RecordMergeInferred(left, right) {\n return Guard.Keys(right).reduce((result, key) => {\n return {\n ...result, [key]: Guard.HasPropertyKey(left, key)\n ? IsUnion(result[key])\n // @ts-ignore 5.0.4 cannot see `.anyOf`\n ? Union([...result[key].anyOf, right[key]])\n : Union([left[key], right[key]])\n : right[key]\n };\n }, left);\n}\nfunction ExtendsRecordComparer(properties, keys, type, result) {\n return Guard.ShiftLeft(keys, (left, right) => Result.Match(ExtendsLeft({}, properties[left], type), inferred => ExtendsRecordComparer(properties, right, type, RecordMergeInferred(result, inferred)), () => Result.ExtendsFalse()), () => Result.ExtendsTrue(result));\n}\nfunction ExtendsObjectToRecord(inferred, properties, _pattern, value) {\n const keys = Guard.Keys(properties);\n const result = ExtendsRecordComparer(properties, keys, value, inferred);\n return result;\n}\nexport function ExtendsObject(inferred, left, right) {\n return (IsRecord(right) ? ExtendsObjectToRecord(inferred, left, RecordPattern(right), RecordValue(right)) :\n IsObject(right) ? ExtendsObjectToObject(inferred, left, right.properties) :\n ExtendsRight(inferred, Object(left), right));\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { IsAny } from '../types/any.mjs';\nimport { IsUnknown } from '../types/unknown.mjs';\nimport { IsObject } from '../types/object.mjs';\nimport { IsRecord, RecordPatternToType, RecordPattern, RecordValue } from '../types/record.mjs';\nimport { ExtendsLeft } from './extends_left.mjs';\nimport * as Result from './result.mjs';\nfunction FromObject(inferred, properties) {\n return (Guard.IsEqual(Guard.Keys(properties).length, 0)\n ? Result.ExtendsTrue(inferred)\n : Result.ExtendsFalse());\n}\nfunction FromRecord(inferred, _leftKey, leftValue, _rightKey, rightValue) {\n return ExtendsLeft(inferred, leftValue, rightValue);\n}\nexport function ExtendsRecord(inferred, leftPattern, leftValue, right) {\n return (IsRecord(right) ? FromRecord(inferred, RecordPatternToType(leftPattern), leftValue, RecordPatternToType(RecordPattern(right)), RecordValue(right)) :\n IsObject(right) ? FromObject(inferred, right.properties) :\n IsAny(right) ? Result.ExtendsTrue(inferred) :\n IsUnknown(right) ? Result.ExtendsTrue(inferred) :\n Result.ExtendsFalse());\n}\n","// deno-fmt-ignore-file\nimport { IsString } from '../types/string.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsString(inferred, left, right) {\n return (IsString(right)\n ? Result.ExtendsTrue(inferred)\n : ExtendsRight(inferred, left, right));\n}\n","// deno-fmt-ignore-file\nimport { IsSymbol } from '../types/symbol.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsSymbol(inferred, left, right) {\n return (IsSymbol(right)\n ? Result.ExtendsTrue(inferred)\n : ExtendsRight(inferred, left, right));\n}\n","// deno-fmt-ignore-file\nimport { ExtendsLeft } from './extends_left.mjs';\nimport { EvaluateTemplateLiteral } from '../engine/evaluate/evaluate.mjs';\nexport function ExtendsTemplateLiteral(inferred, left, right) {\n const evaluated = EvaluateTemplateLiteral(left);\n return ExtendsLeft(inferred, evaluated, right);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Unreachable } from '../../system/unreachable/index.mjs';\nimport { Memory } from '../../system/memory/index.mjs';\nimport { Guard } from '../../guard/index.mjs';\nimport { IsArray } from '../types/array.mjs';\nimport { IsUnknown } from '../types/unknown.mjs';\nimport { Tuple } from '../types/tuple.mjs';\nimport { ExtendsLeft } from './extends_left.mjs';\nimport { Union } from '../types/union.mjs';\n// ----------------------------------------------------------------------------\n// Operator\n// ----------------------------------------------------------------------------\nimport { IsInfer } from '../types/infer.mjs';\nimport { IsRest } from '../types/rest.mjs';\nimport * as Result from './result.mjs';\n// ----------------------------------------------------------------------------\n// Factory\n// ----------------------------------------------------------------------------\nexport function Inferrable(name, type) {\n return Memory.Create({ '~kind': 'Inferrable' }, { name, type }, {});\n}\n// ----------------------------------------------------------------------------\n// Guard\n// ----------------------------------------------------------------------------\nexport function IsInferable(value) {\n return Guard.IsObject(value)\n && Guard.HasPropertyKey(value, '~kind')\n && Guard.HasPropertyKey(value, 'name')\n && Guard.HasPropertyKey(value, 'type')\n && Guard.IsEqual(value[\"~kind\"], 'Inferrable')\n && Guard.IsString(value.name)\n && Guard.IsObject(value.type);\n}\nexport function TryRestInferable(type) {\n return (IsRest(type)\n ? IsInfer(type.items)\n ? IsArray(type.items.extends) ? Inferrable(type.items.name, type.items.extends.items) :\n IsUnknown(type.items.extends) ? Inferrable(type.items.name, type.items.extends) :\n undefined\n : Unreachable() // undefined\n : undefined);\n}\nexport function TryInferable(type) {\n return (IsInfer(type) ? Inferrable(type.name, type.extends) :\n undefined);\n}\nfunction TryInferResults(rest, right, result = []) {\n return Guard.ShiftLeft(rest, (head, tail) => Result.Match(ExtendsLeft({}, head, right), () => TryInferResults(tail, right, [...result, head]), () => undefined), () => result);\n}\nexport function InferTupleResult(inferred, name, left, right) {\n const results = TryInferResults(left, right);\n return (Guard.IsArray(results)\n ? Result.ExtendsTrue(Memory.Assign(inferred, { [name]: Tuple(results) }))\n : Result.ExtendsFalse());\n}\nexport function InferUnionResult(inferred, name, left, right) {\n const results = TryInferResults(left, right);\n return (Guard.IsArray(results)\n ? Result.ExtendsTrue(Memory.Assign(inferred, { [name]: Union(results) }))\n : Result.ExtendsFalse());\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { IsSchema } from '../types/schema.mjs';\nimport { IsArray } from '../types/array.mjs';\nimport { IsTuple, Tuple } from '../types/tuple.mjs';\nimport { ExtendsLeft } from './extends_left.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nimport { InstantiateElements } from '../engine/instantiate.mjs';\nimport { State } from '../engine/instantiate.mjs';\n// ----------------------------------------------------------------------------\n// Inference\n// ----------------------------------------------------------------------------\nimport { TryRestInferable, TryInferable, IsInferable, InferTupleResult, InferUnionResult } from './inference.mjs';\nfunction Reverse(types) {\n return [...types].reverse();\n}\nfunction ApplyReverse(types, reversed) {\n return (reversed ? Reverse(types) : types);\n}\nfunction Reversed(types) {\n const first = types.length > 0 ? types[0] : undefined;\n const inferrable = IsSchema(first) ? TryRestInferable(first) : undefined;\n return IsSchema(inferrable);\n}\nfunction ElementsCompare(inferred, reversed, left, leftRest, right, rightRest) {\n return Result.Match(ExtendsLeft(inferred, left, right), checkInferred => Elements(checkInferred, reversed, leftRest, rightRest), () => Result.ExtendsFalse()); // 'left-and-right-not-compared'\n}\nfunction ElementsLeft(inferred, reversed, leftRest, right, rightRest) {\n const inferable = TryRestInferable(right);\n return (\n // Rest Inferrable Right Means we delegate to TInferTupleResult to Generate a Result\n IsInferable(inferable)\n ? InferTupleResult(inferred, inferable['name'], ApplyReverse(leftRest, reversed), inferable['type'])\n : Guard.ShiftLeft(leftRest, (head, tail) => ElementsCompare(inferred, reversed, head, tail, right, rightRest), () => Result.ExtendsFalse()));\n}\nfunction ElementsRight(inferred, reversed, leftRest, rightRest) {\n return Guard.ShiftLeft(rightRest, (head, tail) => ElementsLeft(inferred, reversed, leftRest, head, tail), () => Guard.IsEqual(leftRest.length, 0)\n ? Result.ExtendsTrue(inferred) // 'Ok: right-empty-and-left-empty'\n : Result.ExtendsFalse()); // 'Fail: right-empty-and-left-not-empty'\n}\nfunction Elements(inferred, reversed, leftRest, rightRest) {\n return ElementsRight(inferred, reversed, leftRest, rightRest);\n}\nfunction ExtendsTupleToTuple(inferred, left, right) {\n const instantiatedRight = InstantiateElements(inferred, State([], []), right);\n const reversed = Reversed(instantiatedRight);\n return Elements(inferred, reversed, ApplyReverse(left, reversed), ApplyReverse(instantiatedRight, reversed));\n}\nfunction ExtendsTupleToArray(inferred, left, right) {\n const inferrable = TryInferable(right);\n return (IsInferable(inferrable)\n ? InferUnionResult(inferred, inferrable['name'], left, inferrable['type'])\n : Guard.ShiftLeft(left, (head, tail) => Result.Match(ExtendsLeft(inferred, head, right), inferred => ExtendsTupleToArray(inferred, tail, right), () => Result.ExtendsFalse()), () => Result.ExtendsTrue(inferred)));\n}\nexport function ExtendsTuple(inferred, left, right) {\n const instantiatedLeft = InstantiateElements(inferred, State([], []), left);\n return (IsTuple(right) ? ExtendsTupleToTuple(inferred, instantiatedLeft, right.items) :\n IsArray(right) ? ExtendsTupleToArray(inferred, instantiatedLeft, right.items) :\n ExtendsRight(inferred, Tuple(instantiatedLeft), right));\n}\n","// deno-fmt-ignore-file\nimport { IsUndefined } from '../types/undefined.mjs';\nimport { IsVoid } from '../types/void.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsUndefined(inferred, left, right) {\n return (IsVoid(right) ? Result.ExtendsTrue(inferred) :\n IsUndefined(right) ? Result.ExtendsTrue(inferred) :\n ExtendsRight(inferred, left, right));\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { IsUnion } from '../types/union.mjs';\nimport { ExtendsLeft } from './extends_left.mjs';\nimport * as Result from './result.mjs';\n// ----------------------------------------------------------------------------\n// Inference\n// ----------------------------------------------------------------------------\nimport { IsInferable, TryInferable, InferUnionResult } from './inference.mjs';\nfunction ExtendsUnionSome(inferred, type, unionTypes) {\n return Guard.ShiftLeft(unionTypes, (head, tail) => Result.Match(ExtendsLeft(inferred, type, head), inferred => Result.ExtendsTrue(inferred), () => ExtendsUnionSome(inferred, type, tail)), () => Result.ExtendsFalse());\n}\nfunction ExtendsUnionLeft(inferred, left, right) {\n return Guard.ShiftLeft(left, (head, tail) => Result.Match(ExtendsUnionSome(inferred, head, right), inferred => ExtendsUnionLeft(inferred, tail, right), () => Result.ExtendsFalse()), () => Result.ExtendsTrue(inferred));\n}\nexport function ExtendsUnion(inferred, left, right) {\n const inferrable = TryInferable(right);\n return (IsInferable(inferrable)\n // @ts-ignore 4.9.5 fails to see `type` property on inferrable\n ? InferUnionResult(inferred, inferrable.name, left, inferrable.type)\n : IsUnion(right)\n ? ExtendsUnionLeft(inferred, left, right.anyOf)\n : ExtendsUnionLeft(inferred, left, [right]));\n}\n","// deno-fmt-ignore-file\nimport { IsAny } from '../types/any.mjs';\nimport { IsUnknown } from '../types/unknown.mjs';\nimport { IsInfer } from '../types/infer.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsUnknown(inferred, left, right) {\n return (IsInfer(right) ? ExtendsRight(inferred, left, right) :\n IsAny(right) ? Result.ExtendsTrue(inferred) :\n IsUnknown(right) ? Result.ExtendsTrue(inferred) :\n Result.ExtendsFalse());\n}\n","// deno-fmt-ignore-file\nimport { IsVoid } from '../types/void.mjs';\nimport { ExtendsRight } from './extends_right.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsVoid(inferred, left, right) {\n return (IsVoid(right)\n ? Result.ExtendsTrue(inferred)\n : ExtendsRight(inferred, left, right));\n}\n","// deno-fmt-ignore-file\nimport { ExtendsAny } from './any.mjs';\nimport { ExtendsArray } from './array.mjs';\nimport { ExtendsBigInt } from './bigint.mjs';\nimport { ExtendsBoolean } from './boolean.mjs';\nimport { ExtendsConstructor } from './constructor.mjs';\nimport { ExtendsDependent } from './dependent.mjs';\nimport { ExtendsEnum } from './enum.mjs';\nimport { ExtendsFunction } from './function.mjs';\nimport { ExtendsInteger } from './integer.mjs';\nimport { ExtendsIntersect } from './intersect.mjs';\nimport { ExtendsLiteral } from './literal.mjs';\nimport { ExtendsNever } from './never.mjs';\nimport { ExtendsNull } from './null.mjs';\nimport { ExtendsNumber } from './number.mjs';\nimport { ExtendsObject } from './object.mjs';\nimport { ExtendsRecord } from './record.mjs';\nimport { ExtendsString } from './string.mjs';\nimport { ExtendsSymbol } from './symbol.mjs';\nimport { ExtendsTemplateLiteral } from './template_literal.mjs';\nimport { ExtendsTuple } from './tuple.mjs';\nimport { ExtendsUndefined } from './undefined.mjs';\nimport { ExtendsUnion } from './union.mjs';\nimport { ExtendsUnknown } from './unknown.mjs';\nimport { ExtendsVoid } from './void.mjs';\n// ----------------------------------------------------------------------------\n// Types\n// ----------------------------------------------------------------------------\nimport { IsAny } from '../types/any.mjs';\nimport { IsArray } from '../types/array.mjs';\nimport { IsBigInt } from '../types/bigint.mjs';\nimport { IsBoolean } from '../types/boolean.mjs';\nimport { IsConstructor } from '../types/constructor.mjs';\nimport { IsDependent } from '../types/dependent.mjs';\nimport { IsEnum } from '../types/enum.mjs';\nimport { IsFunction } from '../types/function.mjs';\nimport { IsInteger } from '../types/integer.mjs';\nimport { IsIntersect } from '../types/intersect.mjs';\nimport { IsLiteral } from '../types/literal.mjs';\nimport { IsNever } from '../types/never.mjs';\nimport { IsNull } from '../types/null.mjs';\nimport { IsNumber } from '../types/number.mjs';\nimport { IsObject } from '../types/object.mjs';\nimport { IsRecord, RecordPattern, RecordValue } from '../types/record.mjs';\nimport { IsString } from '../types/string.mjs';\nimport { IsSymbol } from '../types/symbol.mjs';\nimport { IsTemplateLiteral } from '../types/template_literal.mjs';\nimport { IsTuple } from '../types/tuple.mjs';\nimport { IsUndefined } from '../types/undefined.mjs';\nimport { IsUnknown } from '../types/unknown.mjs';\nimport { IsUnion } from '../types/union.mjs';\nimport { IsVoid } from '../types/void.mjs';\nimport * as Result from './result.mjs';\nexport function ExtendsLeft(inferred, left, right) {\n return (IsAny(left) ? ExtendsAny(inferred, left, right) :\n IsArray(left) ? ExtendsArray(inferred, left, left.items, right) :\n IsBigInt(left) ? ExtendsBigInt(inferred, left, right) :\n IsBoolean(left) ? ExtendsBoolean(inferred, left, right) :\n IsConstructor(left) ? ExtendsConstructor(inferred, left.parameters, left.instanceType, right) :\n IsDependent(left) ? ExtendsDependent(inferred, left.if, left.then, left.else, right) :\n IsEnum(left) ? ExtendsEnum(inferred, left.enum, right) :\n IsFunction(left) ? ExtendsFunction(inferred, left.parameters, left.returnType, right) :\n IsInteger(left) ? ExtendsInteger(inferred, left, right) :\n IsIntersect(left) ? ExtendsIntersect(inferred, left.allOf, right) :\n IsLiteral(left) ? ExtendsLiteral(inferred, left, right) :\n IsNever(left) ? ExtendsNever(inferred, left, right) :\n IsNull(left) ? ExtendsNull(inferred, left, right) :\n IsNumber(left) ? ExtendsNumber(inferred, left, right) :\n IsObject(left) ? ExtendsObject(inferred, left.properties, right) :\n IsRecord(left) ? ExtendsRecord(inferred, RecordPattern(left), RecordValue(left), right) :\n IsString(left) ? ExtendsString(inferred, left, right) :\n IsSymbol(left) ? ExtendsSymbol(inferred, left, right) :\n IsTemplateLiteral(left) ? ExtendsTemplateLiteral(inferred, left.pattern, right) :\n IsTuple(left) ? ExtendsTuple(inferred, left.items, right) :\n IsUndefined(left) ? ExtendsUndefined(inferred, left, right) :\n IsUnion(left) ? ExtendsUnion(inferred, left.anyOf, right) :\n IsUnknown(left) ? ExtendsUnknown(inferred, left, right) :\n IsVoid(left) ? ExtendsVoid(inferred, left, right) :\n Result.ExtendsFalse());\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { Object } from '../../types/object.mjs';\nimport { EvaluateIntersect } from '../evaluate/evaluate.mjs';\nimport { InterfaceDeferred } from '../../action/index.mjs';\nimport { CanInstantiate } from '../instantiate.mjs';\nimport { InstantiateProperties } from '../instantiate.mjs';\nimport { InstantiateTypes } from '../instantiate.mjs';\nfunction InterfaceOperation(heritage, properties) {\n const result = EvaluateIntersect([...heritage, Object(properties)]);\n return result;\n}\nexport function InterfaceAction(heritage, properties, options) {\n const result = CanInstantiate(heritage)\n ? Memory.Update(InterfaceOperation(heritage, properties), {}, options)\n : InterfaceDeferred(heritage, properties, options);\n return result;\n}\nexport function InterfaceInstantiate(context, state, heritage, properties, options) {\n const instantiatedHeritage = InstantiateTypes(context, state, heritage);\n const instantiatedProperties = InstantiateProperties(context, state, properties);\n return InterfaceAction(instantiatedHeritage, instantiatedProperties, options);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { IsSchema } from '../types/schema.mjs';\nimport { Deferred } from '../types/deferred.mjs';\nimport { InterfaceAction } from '../engine/interface/instantiate.mjs';\n/** Creates a deferred Interface action. */\nexport function InterfaceDeferred(heritage, properties, options = {}) {\n return Deferred('Interface', [heritage, properties], options);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if this value is a deferred Interface action. */\nexport function IsInterfaceDeferred(value) {\n return IsSchema(value)\n && Guard.HasPropertyKey(value, 'action')\n && Guard.IsEqual(value.action, 'Interface');\n}\n/** Creates an Interface using the given heritage and properties. */\nexport function Interface(heritage, properties, options = {}) {\n return InterfaceAction(heritage, properties, options);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { IsArray } from '../../types/array.mjs';\nimport { IsConstructor } from '../../types/constructor.mjs';\nimport { IsFunction } from '../../types/function.mjs';\nimport { IsIntersect } from '../../types/intersect.mjs';\nimport { IsObject } from '../../types/object.mjs';\nimport { PropertyValues } from '../../types/properties.mjs';\nimport { IsRecord, RecordValue } from '../../types/record.mjs';\nimport { IsTuple } from '../../types/tuple.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { IsRef } from '../../types/ref.mjs';\nimport { IsInterfaceDeferred } from '../../action/interface.mjs';\nfunction FromRef(stack, context, ref) {\n return (stack.includes(ref)\n ? true\n : FromType([...stack, ref], context, context[ref]));\n}\nfunction FromProperties(stack, context, properties) {\n const types = PropertyValues(properties);\n return FromTypes(stack, context, types);\n}\nfunction FromTypes(stack, context, types) {\n return Guard.ShiftLeft(types, (left, right) => FromType(stack, context, left)\n ? true\n : FromTypes(stack, context, right), () => false);\n}\nfunction FromType(stack, context, type) {\n return (IsRef(type) ? FromRef(stack, context, type.$ref) :\n IsArray(type) ? FromType(stack, context, type.items) :\n IsConstructor(type) ? FromTypes(stack, context, [...type.parameters, type.instanceType]) :\n IsFunction(type) ? FromTypes(stack, context, [...type.parameters, type.returnType]) :\n IsInterfaceDeferred(type) ? FromProperties(stack, context, type.parameters[1]) :\n IsIntersect(type) ? FromTypes(stack, context, type.allOf) :\n IsObject(type) ? FromProperties(stack, context, type.properties) :\n IsUnion(type) ? FromTypes(stack, context, type.anyOf) :\n IsTuple(type) ? FromTypes(stack, context, type.items) :\n IsRecord(type) ? FromType(stack, context, RecordValue(type)) :\n false);\n}\n/** Performs a cyclic check on the given type. Initial key stack can be empty, but faster if specified */\nexport function CyclicCheck(stack, context, type) {\n const result = FromType(stack, context, type);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { PropertyKeys } from '../../types/properties.mjs';\nimport { CyclicCheck } from './check.mjs';\nfunction ResolveCandidateKeys(context, keys) {\n return keys.reduce((result, left) => {\n return CyclicCheck([left], context, context[left])\n ? [...result, left]\n : result;\n }, []);\n}\n/** Returns keys for context types that need to be transformed to TCyclic. */\nexport function CyclicCandidates(context) {\n const keys = PropertyKeys(context);\n const result = ResolveCandidateKeys(context, keys);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Unreachable } from '../../../system/unreachable/index.mjs';\nimport { IsArray } from '../../types/array.mjs';\nimport { IsConstructor } from '../../types/constructor.mjs';\nimport { IsFunction } from '../../types/function.mjs';\nimport { IsIntersect } from '../../types/intersect.mjs';\nimport { IsObject } from '../../types/object.mjs';\nimport { PropertyValues } from '../../types/properties.mjs';\nimport { IsRecord, RecordValue } from '../../types/record.mjs';\nimport { IsTuple } from '../../types/tuple.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { IsRef } from '../../types/ref.mjs';\nimport { IsInterfaceDeferred } from '../../action/interface.mjs';\nfunction FromRef(context, ref, result) {\n return (result.includes(ref)\n ? result\n : ref in context\n ? FromType(context, context[ref], [...result, ref])\n : Unreachable());\n}\nfunction FromProperties(context, properties, result) {\n const types = PropertyValues(properties);\n return FromTypes(context, types, result);\n}\nfunction FromTypes(context, types, result) {\n return types.reduce((result, left) => {\n return FromType(context, left, result);\n }, result);\n}\nfunction FromType(context, type, result) {\n return (IsRef(type) ? FromRef(context, type.$ref, result) :\n IsArray(type) ? FromType(context, type.items, result) :\n IsConstructor(type) ? FromTypes(context, [...type.parameters, type.instanceType], result) :\n IsFunction(type) ? FromTypes(context, [...type.parameters, type.returnType], result) :\n IsInterfaceDeferred(type) ? FromProperties(context, type.parameters[1], result) :\n IsIntersect(type) ? FromTypes(context, type.allOf, result) :\n IsObject(type) ? FromProperties(context, type.properties, result) :\n IsUnion(type) ? FromTypes(context, type.anyOf, result) :\n IsTuple(type) ? FromTypes(context, type.items, result) :\n IsRecord(type) ? FromType(context, RecordValue(type), result) :\n result);\n}\n/** Returns dependent cyclic keys for the given type. This function is used to dead-type-eliminate (DTE) for initializing TCyclic types. */\nexport function CyclicDependencies(context, key, type) {\n const result = FromType(context, type, [key]);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Any } from '../../types/any.mjs';\nimport { Array as _Array_, IsArray, ArrayOptions } from '../../types/array.mjs';\nimport { Constructor, IsConstructor } from '../../types/constructor.mjs';\nimport { Function as _Function_, IsFunction } from '../../types/function.mjs';\nimport { Intersect, IsIntersect } from '../../types/intersect.mjs';\nimport { Object, IsObject } from '../../types/object.mjs';\nimport { IsRecord, Record, RecordKey, RecordValue } from '../../types/record.mjs';\nimport { IsRef } from '../../types/ref.mjs';\nimport { Tuple, IsTuple } from '../../types/tuple.mjs';\nimport { Union, IsUnion } from '../../types/union.mjs';\nimport { Unknown } from '../../types/unknown.mjs';\nfunction FromRef(_ref) {\n return Any();\n}\nfunction FromProperties(properties) {\n return Guard.Keys(properties).reduce((result, key) => {\n return { ...result, [key]: FromType(properties[key]) };\n }, {});\n}\nfunction FromTypes(types) {\n return types.reduce((result, left) => {\n return [...result, FromType(left)];\n }, []);\n}\nfunction FromType(type) {\n return (IsRef(type) ? FromRef(type.$ref) :\n IsArray(type) ? _Array_(FromType(type.items), ArrayOptions(type)) :\n IsConstructor(type) ? Constructor(FromTypes(type.parameters), FromType(type.instanceType)) :\n IsFunction(type) ? _Function_(FromTypes(type.parameters), FromType(type.returnType)) :\n IsIntersect(type) ? Intersect(FromTypes(type.allOf)) :\n IsObject(type) ? Object(FromProperties(type.properties)) :\n IsRecord(type) ? Record(RecordKey(type), FromType(RecordValue(type))) :\n IsUnion(type) ? Union(FromTypes(type.anyOf)) :\n IsTuple(type) ? Tuple(FromTypes(type.items)) :\n type);\n}\nfunction CyclicAnyFromParameters(defs, ref) {\n return (ref in defs\n ? FromType(defs[ref])\n : Unknown());\n}\n/** Transforms TCyclic TRef's into TAny's. This function is used prior to TExtends checks to enable cyclics to be structurally checked and terminated (with TAny) at first point of recursion, what would otherwise be a recursive TRef.*/\nexport function CyclicExtends(type) {\n return CyclicAnyFromParameters(type.$defs, type.$ref);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Cyclic } from '../../types/cyclic.mjs';\nimport { Object } from '../../types/object.mjs';\nimport { CyclicDependencies } from '../cyclic/dependencies.mjs';\nimport { IsInterfaceDeferred } from '../../action/index.mjs';\nimport { InstantiateProperties } from '../instantiate.mjs';\nimport { InstantiateTypes } from '../instantiate.mjs';\nimport { State } from '../instantiate.mjs';\nimport { EvaluateIntersect } from '../evaluate/evaluate.mjs';\nfunction CyclicInterface(context, heritage, properties) {\n const instantiatedHeritage = InstantiateTypes(context, State([], []), heritage);\n const instantiatedProperties = InstantiateProperties({}, State([], []), properties);\n const evaluatedInterface = EvaluateIntersect([...instantiatedHeritage, Object(instantiatedProperties)]);\n return evaluatedInterface;\n}\nfunction CyclicDefinitions(context, dependencies) {\n const keys = Guard.Keys(context).filter(key => dependencies.includes(key));\n return keys.reduce((result, key) => {\n const type = context[key];\n const instantiatedType = IsInterfaceDeferred(type) ? CyclicInterface(context, type.parameters[0], type.parameters[1]) : type;\n return { ...result, [key]: instantiatedType };\n }, {});\n}\nexport function InstantiateCyclic(context, ref, type) {\n const dependencies = CyclicDependencies(context, ref, type);\n const definitions = CyclicDefinitions(context, dependencies);\n const result = Cyclic(definitions, ref);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Never } from '../../types/never.mjs';\nimport { IsRef } from '../../types/ref.mjs';\nfunction Resolve(defs, ref) {\n return (ref in defs\n ? IsRef(defs[ref])\n // @ts-ignore 5.0.4 - does not see $ref\n ? Resolve(defs, defs[ref].$ref)\n : defs[ref]\n : Never());\n}\n/** Returns the target Type from the Defs or Never if target is non-resolvable */\nexport function CyclicTarget(defs, ref) {\n const result = Resolve(defs, ref);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { IsCyclic } from '../types/cyclic.mjs';\nimport { Unknown } from '../types/unknown.mjs';\nimport { IsUnsafe } from '../types/unsafe.mjs';\nimport { ExtendsLeft } from './extends_left.mjs';\nimport { CyclicExtends } from '../engine/cyclic/index.mjs';\nfunction Canonical(type) {\n return (IsCyclic(type) ? CyclicExtends(type) :\n IsUnsafe(type) ? Unknown() :\n type);\n}\n/** Performs a structural extends check on left and right types and yields inferred types on right if specified. */\nexport function Extends(inferred, left, right) {\n const canonicalLeft = Canonical(left);\n const canonicalRight = Canonical(right);\n return ExtendsLeft(inferred, canonicalLeft, canonicalRight);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Extends, ExtendsResult } from \"../../extends/index.mjs\";\n// ------------------------------------------------------------------\n// TCompare\n// ------------------------------------------------------------------\nexport const CompareResultEqual = 0; // 'equal'\nexport const CompareResultDisjoint = 1; // 'disjoint'\nexport const CompareResultLeftInside = 2; // 'left-inside'\nexport const CompareResultRightInside = 3; // 'right-inside'\n/** Compares left and right types and determines their set relationship. */\nexport function Compare(left, right) {\n const extendsCheck = [Extends({}, left, right), Extends({}, right, left)];\n return (ExtendsResult.IsExtendsTrueLike(extendsCheck[0]) && ExtendsResult.IsExtendsTrueLike(extendsCheck[1]) ? CompareResultEqual :\n ExtendsResult.IsExtendsTrueLike(extendsCheck[0]) && ExtendsResult.IsExtendsFalse(extendsCheck[1]) ? CompareResultLeftInside :\n ExtendsResult.IsExtendsFalse(extendsCheck[0]) && ExtendsResult.IsExtendsTrueLike(extendsCheck[1]) ? CompareResultRightInside :\n CompareResultDisjoint);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { IsAny } from '../../types/any.mjs';\nimport { IsNever } from '../../types/never.mjs';\nimport { IsObject } from '../../types/object.mjs';\nimport { IsUnknown } from '../../types/unknown.mjs';\nimport { Compare, CompareResultLeftInside, CompareResultEqual, CompareResultDisjoint } from './compare.mjs';\nimport { Flatten } from './flatten.mjs';\nimport { EvaluateType } from './evaluate.mjs';\nfunction BroadenFilter(type, types, result = [], all = types) {\n return Guard.ShiftLeft(types, (left, right) => {\n const compare = Compare(type, left);\n return ((Guard.IsEqual(compare, CompareResultLeftInside) || Guard.IsEqual(compare, CompareResultEqual))\n ? all // Left in set. Return original All set.\n : Guard.IsEqual(compare, CompareResultDisjoint)\n ? BroadenFilter(type, right, [...result, left], all) // Left is disjoint, keep it\n : BroadenFilter(type, right, result, all) // Left in Type, drop it\n );\n }, () => [...result, type]); // Type broadest in set\n}\nfunction BroadenType(type, types, result) {\n const evaluated = EvaluateType(type);\n return (IsAny(evaluated) ? [evaluated] : // terminate (always the most broad)\n IsUnknown(evaluated) ? [evaluated] : // terminate (always the most broad)\n IsNever(evaluated) ? BroadenTypes(types, result) : // ignored: never is dropped\n IsObject(evaluated) ? BroadenTypes(types, [...result, evaluated]) : // objects are always considered (too expensive to compare)\n BroadenTypes(types, BroadenFilter(evaluated, result)));\n}\nfunction BroadenTypes(types, result = []) {\n return Guard.ShiftLeft(types, (left, right) => (BroadenType(left, right, result)), () => result);\n}\n/** Broadens a set of types and returns either the most broad type, or union or disjoint types. */\nexport function Broaden(types) {\n const broadened = BroadenTypes(types);\n const flattened = Flatten(broadened);\n return flattened;\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { InstantiateType } from '../instantiate.mjs';\nimport { EvaluateType } from './evaluate.mjs';\nexport function EvaluateAction(type, options) {\n const result = Memory.Update(EvaluateType(type), {}, options);\n return result;\n}\nexport function EvaluateInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return EvaluateAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { IsDeferred } from '../../types/deferred.mjs';\nimport { IsEnum } from '../../types/enum.mjs';\nimport { IsTemplateLiteral } from '../../types/template_literal.mjs';\nimport { IsRef } from '../../types/ref.mjs';\n// ------------------------------------------------------------------\n// Infrastructure\n// ------------------------------------------------------------------\nimport { EvaluateTemplateLiteral } from '../evaluate/evaluate.mjs';\nimport { EvaluateEnum } from '../evaluate/evaluate.mjs';\nfunction CollectDistributionNames(expression, result = []) {\n return (\n // Conditional\n IsDeferred(expression) && Guard.IsEqual(expression.action, 'Conditional')\n ? IsRef(expression.parameters[0])\n ? CollectDistributionNames(expression.parameters[2], CollectDistributionNames(expression.parameters[3], [...result, expression.parameters[0]['$ref']]))\n : CollectDistributionNames(expression.parameters[2], CollectDistributionNames(expression.parameters[3], result))\n // Mapped\n : IsDeferred(expression) && Guard.IsEqual(expression.action, 'Mapped')\n ? (IsDeferred(expression.parameters[1]) && Guard.IsEqual(expression.parameters[1].action, 'KeyOf') && IsRef(expression.parameters[1].parameters[0]) ? [...result, expression.parameters[1].parameters[0]['$ref']] :\n result) : result);\n}\nfunction BuildDistributionArray(parameters, names) {\n return parameters.reduce((result, left) => [...result, names.includes(left.name)], []);\n}\nfunction ZipDistributionArray(arguments_, distributionArray, result = []) {\n return Guard.ShiftLeft(arguments_, (argumentLeft, argumentRight) => Guard.ShiftLeft(distributionArray, (booleanLeft, booleanRight) => ZipDistributionArray(argumentRight, booleanRight, [...result, [booleanLeft, argumentLeft]]), () => result), () => result);\n}\nfunction CanonicalArgument(type) {\n return (IsTemplateLiteral(type) ? EvaluateTemplateLiteral(type.pattern) :\n IsEnum(type) ? EvaluateEnum(type.enum) :\n type);\n}\nfunction Expand(type) {\n const canonicalArgument = CanonicalArgument(type);\n return (IsUnion(canonicalArgument)\n ? [...canonicalArgument.anyOf]\n : [canonicalArgument]);\n}\nfunction Append(current, type) {\n return current.reduce((result, left) => [...result, [...left, type]], []);\n}\nfunction Cross(current, variants) {\n return variants.reduce((result, left) => {\n return [...result, ...Append(current, left)];\n }, []);\n}\nfunction Distribute(zipped) {\n return zipped.reduce((result, left) => {\n return Guard.IsEqual(left[0], true)\n ? Cross(result, Expand(left[1]))\n : Cross(result, [left[1]]); // - no-expansion\n }, [[]]);\n}\nexport function DistributeArguments(parameters, arguments_, expression) {\n const distributionNames = CollectDistributionNames(expression);\n const distributionArray = BuildDistributionArray(parameters, distributionNames);\n const zippedArguments = ZipDistributionArray(arguments_, distributionArray);\n return (IsDeferred(expression) && Guard.IsEqual(expression.action, 'Conditional')\n ? Distribute(zippedArguments)\n : IsDeferred(expression) && Guard.IsEqual(expression.action, 'Mapped')\n ? Distribute(zippedArguments)\n : [arguments_]);\n}\n","// deno-fmt-ignore-file\nimport { Generic, IsGeneric } from '../../types/generic.mjs';\nimport { IsRef } from '../../types/ref.mjs';\nimport { Never } from '../../types/never.mjs';\nfunction FromNotResolvable() {\n return ['(not-resolvable)', Never()];\n}\nfunction FromNotGeneric() {\n return ['(not-generic)', Never()];\n}\nfunction FromGeneric(name, parameters, expression) {\n return [name, Generic(parameters, expression)];\n}\nfunction FromRef(context, ref, arguments_) {\n return (ref in context\n ? FromType(context, ref, context[ref], arguments_)\n : FromNotResolvable());\n}\nfunction FromType(context, name, target, arguments_) {\n return (IsGeneric(target) ? FromGeneric(name, target.parameters, target.expression) :\n IsRef(target) ? FromRef(context, target.$ref, arguments_) :\n FromNotGeneric());\n}\n/** Resolves a named generic target from the context, or returns TNever if it cannot be resolved or is not generic. */\nexport function ResolveTarget(context, target, arguments_) {\n return FromType(context, '(anonymous)', target, arguments_);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { InstantiateType } from '../instantiate.mjs';\nimport { Extends, ExtendsResult } from '../../extends/index.mjs';\nimport { IsInfer } from '../../types/infer.mjs';\nimport { IsCall } from '../../types/call.mjs';\n// ------------------------------------------------------------------\n// AssertArgument\n// ------------------------------------------------------------------\nfunction AssertArgumentExtends(name, type, extends_) {\n if (IsInfer(type) || IsCall(type) || ExtendsResult.IsExtendsTrueLike(Extends({}, type, extends_)))\n return;\n const cause = { parameter: name, expect: extends_, actual: type };\n // @ts-ignore - no definition for { cause } options \n throw new Error(`Argument for parameter ${name} does not satisfy constraint`, { cause });\n}\nfunction BindArgument(context, state, name, extends_, type) {\n const instantiatedArgument = InstantiateType(context, state, type);\n AssertArgumentExtends(name, instantiatedArgument, extends_);\n return Memory.Assign(context, { [name]: instantiatedArgument });\n}\nfunction BindArguments(context, state, parameterLeft, parameterRight, arguments_) {\n const instantiatedExtends = InstantiateType(context, state, parameterLeft.extends);\n const instantiatedEquals = InstantiateType(context, state, parameterLeft.equals);\n return Guard.ShiftLeft(arguments_, (left, right) => BindParameters(BindArgument(context, state, parameterLeft['name'], instantiatedExtends, left), state, parameterRight, right), () => BindParameters(BindArgument(context, state, parameterLeft['name'], instantiatedExtends, instantiatedEquals), state, parameterRight, []));\n}\nfunction BindParameters(context, state, parameters, arguments_) {\n return Guard.ShiftLeft(parameters, (left, right) => BindArguments(context, state, left, right, arguments_), () => context);\n}\nexport function ResolveArgumentsContext(context, state, parameters, arguments_) {\n return BindParameters(context, state, parameters, arguments_);\n}\n","// deno-fmt-ignore-file\nimport { Settings } from '../../../system/settings/index.mjs';\nimport { Guard } from '../../../guard/index.mjs';\nimport { CallConstruct } from '../../types/call.mjs';\nimport { Ref } from '../../types/ref.mjs';\nimport { IsGeneric } from '../../types/generic.mjs';\nimport { EvaluateUnion } from '../evaluate/index.mjs';\nimport { InstantiateType } from '../instantiate.mjs';\nimport { InstantiateTypes } from '../instantiate.mjs';\nimport { State } from '../instantiate.mjs';\n// ------------------------------------------------------------------\n// Infrastructure\n// ------------------------------------------------------------------\nimport { DistributeArguments } from './distribute_arguments.mjs';\nimport { ResolveTarget } from './resolve_target.mjs';\nimport { ResolveArgumentsContext } from './resolve_arguments.mjs';\n// ------------------------------------------------------------------\n// InstantiationGuard\n// ------------------------------------------------------------------\nlet instantiationDepth = 0;\nlet instantiationCount = 0;\nfunction InstantiationAssert() {\n if (Guard.IsLessThan(instantiationCount, Settings.Get().maxInstantiationCount))\n return;\n throw Error('Type instantiation is excessively deep and possibly infinite');\n}\nfunction InstantiationIncrement() {\n InstantiationAssert();\n instantiationCount++;\n instantiationDepth++;\n}\nfunction InstantiationDecrement() {\n instantiationDepth--;\n if (Guard.IsEqual(instantiationDepth, 0))\n instantiationCount = 0;\n}\nfunction Peek(state) {\n const result = Guard.IsGreaterThan(state.callstack.length, 0) ? state.callstack[state.callstack.length - 1] : '';\n return result;\n}\nfunction IsTailCall(state, name) {\n const result = Guard.IsEqual(Peek(state), name);\n return result;\n}\nfunction CallDispatch(context, state, target, parameters, expression, arguments_) {\n InstantiationIncrement();\n try {\n const argumentsContext = ResolveArgumentsContext(context, state, parameters, arguments_);\n const returnType = InstantiateType(argumentsContext, State([...state['callstack'], target['$ref']], state['visited']), expression);\n return InstantiateType(argumentsContext, State([], []), returnType);\n }\n finally {\n InstantiationDecrement();\n }\n}\nfunction CallDistributed(context, state, target, parameters, expression, distributedArguments) {\n return distributedArguments.reduce((result, arguments_) => {\n const returnType = CallDispatch(context, state, target, parameters, expression, arguments_);\n return [...result, returnType];\n }, []);\n}\nfunction CallImmediate(context, state, target, parameters, expression, arguments_) {\n const distributedArguments = DistributeArguments(parameters, arguments_, expression);\n const returnTypes = CallDistributed(context, state, target, parameters, expression, distributedArguments);\n const result = Guard.IsEqual(returnTypes.length, 1) ? returnTypes[0] : EvaluateUnion(returnTypes);\n return result;\n}\nexport function CallInstantiate(context, state, target, arguments_) {\n const instantiatedArguments = InstantiateTypes(context, state, arguments_);\n const resolved = ResolveTarget(context, target, arguments_);\n const name = resolved[0];\n const type = resolved[1];\n const result = (IsGeneric(type)\n ? IsTailCall(state, name)\n ? CallConstruct(Ref(name), instantiatedArguments)\n : CallImmediate(context, state, Ref(name), type.parameters, type.expression, instantiatedArguments)\n : CallConstruct(target, instantiatedArguments));\n return result;\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Memory } from '../../system/memory/index.mjs';\nimport { IsKind } from './schema.mjs';\nimport { CallInstantiate } from '../engine/call/instantiate.mjs';\nimport { State } from '../engine/instantiate.mjs';\nexport function CallConstruct(target, arguments_) {\n return Memory.Create({ ['~kind']: 'Call' }, { type: 'call', target, arguments: arguments_ }, {});\n}\n// ------------------------------------------------------------------\n// Factory\n// ------------------------------------------------------------------\n/** Creates a Call type. */\nexport function Call(target, arguments_) {\n return CallInstantiate({}, State([], []), target, arguments_);\n}\n// ------------------------------------------------------------------\n// Guard\n// ------------------------------------------------------------------\n/** Returns true if the given type is a TCall. */\nexport function IsCall(value) {\n return IsKind(value, 'Call');\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { InstantiateType } from '../instantiate.mjs';\nfunction RemoveImmutableOperation(type) {\n return Memory.Discard(type, ['~immutable']);\n}\nexport function RemoveImmutableAction(type, options) {\n const result = Memory.Update(RemoveImmutableOperation(type), {}, options);\n return result;\n}\nexport function RemoveImmutableInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return RemoveImmutableAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nexport function ApplyMapping(mapping, value) {\n return mapping(value);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Literal } from '../../types/literal.mjs';\nimport { ApplyMapping } from './mapping.mjs';\nexport function FromLiteral(mapping, value) {\n return (Guard.IsString(value)\n ? Literal(ApplyMapping(mapping, value))\n : Literal(value));\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nimport { EvaluateTemplateLiteral } from '../evaluate/index.mjs';\nexport function FromTemplateLiteral(mapping, pattern) {\n const evaluated = EvaluateTemplateLiteral(pattern);\n const result = FromType(mapping, evaluated);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Union } from '../../types/union.mjs';\nimport { FromType } from './from_type.mjs';\nexport function FromUnion(mapping, types) {\n const result = types.map(type => FromType(mapping, type));\n return Union(result);\n}\n","// deno-fmt-ignore-file\nimport { IsLiteral } from '../../types/literal.mjs';\nimport { IsTemplateLiteral } from '../../types/template_literal.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { FromLiteral } from './from_literal.mjs';\nimport { FromTemplateLiteral } from './from_template_literal.mjs';\nimport { FromUnion } from './from_union.mjs';\nexport function FromType(mapping, type) {\n return (IsLiteral(type) ? FromLiteral(mapping, type.const) :\n IsTemplateLiteral(type) ? FromTemplateLiteral(mapping, type.pattern) :\n IsUnion(type) ? FromUnion(mapping, type.anyOf) :\n type);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { CapitalizeAction } from '../engine/intrinsics/instantiate.mjs';\n/** Creates a deferred Capitalize action. */\nexport function CapitalizeDeferred(type, options = {}) {\n return Deferred('Capitalize', [type], options);\n}\n/** Applies a Capitalize action to the given type. */\nexport function Capitalize(type, options = {}) {\n return CapitalizeAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { LowercaseAction } from '../engine/intrinsics/instantiate.mjs';\n/** Creates a deferred Lowercase action. */\nexport function LowercaseDeferred(type, options = {}) {\n return Deferred('Lowercase', [type], options);\n}\n/** Applies a Lowercase action to the given type. */\nexport function Lowercase(type, options = {}) {\n return LowercaseAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { UncapitalizeAction } from '../engine/intrinsics/instantiate.mjs';\n/** Creates a deferred Uncapitalize action. */\nexport function UncapitalizeDeferred(type, options = {}) {\n return Deferred('Uncapitalize', [type], options);\n}\n/** Applies a Uncapitalize action to the given type. */\nexport function Uncapitalize(type, options = {}) {\n return UncapitalizeAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { UppercaseAction } from '../engine/intrinsics/instantiate.mjs';\n/** Creates a deferred Uppercase action. */\nexport function UppercaseDeferred(type, options = {}) {\n return Deferred('Uppercase', [type], options);\n}\n/** Applies a Uppercase action to the given type. */\nexport function Uppercase(type, options = {}) {\n return UppercaseAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { FromType } from './from_type.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nimport { CapitalizeDeferred } from '../../action/capitalize.mjs';\nimport { LowercaseDeferred } from '../../action/lowercase.mjs';\nimport { UncapitalizeDeferred } from '../../action/uncapitalize.mjs';\nimport { UppercaseDeferred } from '../../action/uppercase.mjs';\nconst CapitalizeMapping = (input) => input[0].toUpperCase() + input.slice(1);\nconst LowercaseMapping = (input) => input.toLowerCase();\nconst UncapitalizeMapping = (input) => input[0].toLowerCase() + input.slice(1);\nconst UppercaseMapping = (input) => input.toUpperCase();\nexport function CapitalizeAction(type, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(FromType(CapitalizeMapping, type), {}, options)\n : CapitalizeDeferred(type, options);\n return result;\n}\nexport function LowercaseAction(type, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(FromType(LowercaseMapping, type), {}, options)\n : LowercaseDeferred(type, options);\n return result;\n}\nexport function UncapitalizeAction(type, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(FromType(UncapitalizeMapping, type), {}, options)\n : UncapitalizeDeferred(type, options);\n return result;\n}\nexport function UppercaseAction(type, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(FromType(UppercaseMapping, type), {}, options)\n : UppercaseDeferred(type, options);\n return result;\n}\nexport function CapitalizeInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return CapitalizeAction(instantiatedType, options);\n}\nexport function LowercaseInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return LowercaseAction(instantiatedType, options);\n}\nexport function UncapitalizeInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return UncapitalizeAction(instantiatedType, options);\n}\nexport function UppercaseInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return UppercaseAction(instantiatedType, options);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { ConditionalAction } from '../engine/conditional/instantiate.mjs';\nimport { State } from '../engine/instantiate.mjs';\n/** Creates a deferred Conditional action. */\nexport function ConditionalDeferred(left, right, true_, false_, options = {}) {\n return Deferred('Conditional', [left, right, true_, false_], options);\n}\n/** Applies a Conditional action to the given types. */\nexport function Conditional(left, right, true_, false_, options = {}) {\n return ConditionalAction({}, State([], []), left, right, true_, false_, options);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { Union } from '../../types/union.mjs';\nimport { Extends, ExtendsResult } from '../../extends/index.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nimport { ConditionalDeferred } from '../../action/conditional.mjs';\nfunction ConditionalOperation(context, state, left, right, true_, false_) {\n const extendsResult = Extends(context, left, right);\n return (ExtendsResult.IsExtendsUnion(extendsResult) ? Union([InstantiateType(extendsResult.inferred, state, true_), InstantiateType(context, state, false_)]) :\n ExtendsResult.IsExtendsTrue(extendsResult) ? InstantiateType(extendsResult.inferred, state, true_) :\n InstantiateType(context, state, false_));\n}\nexport function ConditionalAction(context, state, left, right, true_, false_, options) {\n const result = CanInstantiate([left, right])\n ? Memory.Update(ConditionalOperation(context, state, left, right, true_, false_), {}, options)\n : ConditionalDeferred(left, right, true_, false_, options);\n return result;\n}\nexport function ConditionalInstantiate(context, state, left, right, true_, false_, options) {\n const instantiatedLeft = InstantiateType(context, state, left);\n const instantiatedRight = InstantiateType(context, state, right);\n return ConditionalAction(context, state, instantiatedLeft, instantiatedRight, true_, false_, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { ConstructorParametersAction } from '../engine/constructor_parameters/instantiate.mjs';\n/** Creates a deferred ConstructorParameters action. */\nexport function ConstructorParametersDeferred(type, options = {}) {\n return Deferred('ConstructorParameters', [type], options);\n}\n/** Applies a ConstructorParameters action to a type. */\nexport function ConstructorParameters(type, options = {}) {\n return ConstructorParametersAction(type, options);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { IsConstructor } from '../../types/constructor.mjs';\nimport { Tuple } from '../../types/tuple.mjs';\nimport { ConstructorParametersDeferred } from '../../action/constructor_parameters.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nimport { InstantiateElements } from '../instantiate.mjs';\nimport { State } from '../instantiate.mjs';\nfunction ConstructorParametersOperation(type) {\n const parameters = IsConstructor(type) ? type['parameters'] : [];\n const instantiatedParameters = InstantiateElements({}, State([], []), parameters);\n const result = Tuple(instantiatedParameters);\n return result;\n}\nexport function ConstructorParametersAction(type, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(ConstructorParametersOperation(type), {}, options)\n : ConstructorParametersDeferred(type, options);\n return result;\n}\nexport function ConstructorParametersInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return ConstructorParametersAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { ExcludeAction } from '../engine/exclude/instantiate.mjs';\n/** Creates a deferred Exclude action. */\nexport function ExcludeDeferred(left, right, options = {}) {\n return Deferred('Exclude', [left, right], options);\n}\n/** Applies a Exclude action using the given types */\nexport function Exclude(left, right, options = {}) {\n return ExcludeAction(left, right, options);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nimport { ExcludeDeferred } from '../../action/exclude.mjs';\nimport { ExcludeOperation } from './operation.mjs';\nexport function ExcludeAction(left, right, options) {\n const result = CanInstantiate([left, right])\n ? Memory.Update(ExcludeOperation(left, right), {}, options)\n : ExcludeDeferred(left, right, options);\n return result;\n}\nexport function ExcludeInstantiate(context, state, left, right, options) {\n const instantiatedLeft = InstantiateType(context, state, left);\n const instantiatedRight = InstantiateType(context, state, right);\n return ExcludeAction(instantiatedLeft, instantiatedRight, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { ExtractAction } from '../engine/extract/instantiate.mjs';\n/** Creates a deferred Extract action. */\nexport function ExtractDeferred(left, right, options = {}) {\n return Deferred('Extract', [left, right], options);\n}\n/** Applies an Extract action using the given types. */\nexport function Extract(left, right, options = {}) {\n return ExtractAction(left, right, options);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { Extends, ExtendsResult } from '../../extends/index.mjs';\nimport { EvaluateType } from '../evaluate/evaluate.mjs';\nimport { EvaluateUnion } from '../evaluate/evaluate.mjs';\nfunction ExtractType(left, right) {\n const check = Extends({}, left, right);\n const result = ExtendsResult.IsExtendsTrueLike(check) ? [left] : [];\n return result;\n}\nfunction ExtractUnion(left, right, result = []) {\n return Guard.ShiftLeft(left, (head, tail) => ExtractUnion(tail, right, [...result, ...ExtractType(head, right)]), () => result);\n}\nexport function ExtractOperation(left, right) {\n const evaluated = EvaluateType(left);\n const canonical = IsUnion(evaluated) ? evaluated.anyOf : [evaluated];\n const remaining = ExtractUnion(canonical, right);\n const result = EvaluateUnion(remaining);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nimport { ExtractDeferred } from '../../action/extract.mjs';\nimport { ExtractOperation } from './operation.mjs';\nexport function ExtractAction(left, right, options) {\n const result = CanInstantiate([left, right])\n ? Memory.Update(ExtractOperation(left, right), {}, options)\n : ExtractDeferred(left, right, options);\n return result;\n}\nexport function ExtractInstantiate(context, state, left, right, options) {\n const instantiatedLeft = InstantiateType(context, state, left);\n const instantiatedRight = InstantiateType(context, state, right);\n return ExtractAction(instantiatedLeft, instantiatedRight, options);\n}\n","// deno-fmt-ignore-file\nimport { Literal, IsLiteralValue } from '../../types/literal.mjs';\nimport { Union } from '../../types/union.mjs';\nfunction KeysToLiterals(keys) {\n return keys.reduce((result, left) => {\n return IsLiteralValue(left)\n ? [...result, Literal(left)]\n : result;\n }, []);\n}\nexport function KeysToIndexer(keys) {\n const literals = KeysToLiterals(keys);\n const result = Union(literals);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { Deferred } from '../types/deferred.mjs';\nimport { KeysToIndexer } from '../engine/helpers/keys_to_indexer.mjs';\nimport { IndexAction } from '../engine/indexed/instantiate.mjs';\n/** Creates a deferred Index action. */\nexport function IndexDeferred(type, indexer, options = {}) {\n return Deferred('Index', [type, indexer], options);\n}\n/** Applies a Index action using the given types. */\nexport function Index(type, indexer_or_keys, options = {}) {\n const indexer = Guard.IsArray(indexer_or_keys) ? KeysToIndexer(indexer_or_keys) : indexer_or_keys;\n return IndexAction(type, indexer, options);\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nimport { CyclicTarget } from '../cyclic/target.mjs';\nexport function FromCyclic(defs, ref) {\n const target = CyclicTarget(defs, ref);\n const result = FromType(target);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nimport { EvaluateDependent } from '../evaluate/evaluate.mjs';\nexport function FromDependent(if_, then_, else_) {\n const evaluated = EvaluateDependent(if_, then_, else_);\n const result = FromType(evaluated);\n return result;\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { Guard } from '../../../guard/index.mjs';\nimport { FromType } from './from_type.mjs';\nimport { EvaluateIntersect } from '../evaluate/evaluate.mjs';\nfunction CollapseIntersectProperties(left, right) {\n const leftKeys = Guard.Keys(left).filter((key) => !Guard.HasPropertyKey(right, key));\n const rightKeys = Guard.Keys(right).filter((key) => !Guard.HasPropertyKey(left, key));\n const sharedKeys = Guard.Keys(left).filter((key) => Guard.HasPropertyKey(right, key));\n const leftProperties = leftKeys.reduce((result, key) => ({ ...result, [key]: left[key] }), {});\n const rightProperties = rightKeys.reduce((result, key) => ({ ...result, [key]: right[key] }), {});\n const sharedProperties = sharedKeys.reduce((result, key) => ({ ...result, [key]: EvaluateIntersect([left[key], right[key]]) }), {});\n const unique = Memory.Assign(leftProperties, rightProperties);\n const shared = Memory.Assign(unique, sharedProperties);\n return shared;\n}\nexport function FromIntersect(types) {\n return types.reduce((result, left) => {\n return CollapseIntersectProperties(result, FromType(left));\n }, {});\n}\n","// deno-fmt-ignore-file\nexport function FromObject(properties) {\n return properties;\n}\n","// deno-fmt-ignore-file\nimport { Tuple } from '../../types/tuple.mjs';\nimport { TupleToObject } from '../tuple/to_object.mjs';\nimport { FromType } from './from_type.mjs';\nexport function FromTuple(types) {\n const object = TupleToObject(Tuple(types));\n const result = FromType(object);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Unreachable } from '../../../system/unreachable/index.mjs';\nimport { EvaluateUnion } from '../evaluate/evaluate.mjs';\nimport { FromType } from './from_type.mjs';\nfunction CollapseUnionProperties(left, right) {\n const sharedKeys = Guard.Keys(left).filter((key) => key in right);\n const result = sharedKeys.reduce((result, key) => {\n return { ...result, [key]: EvaluateUnion([left[key], right[key]]) };\n }, {});\n return result;\n}\nfunction ReduceVariants(types, result) {\n return Guard.ShiftLeft(types, (left, right) => ReduceVariants(right, CollapseUnionProperties(result, FromType(left))), () => result);\n}\nexport function FromUnion(types) {\n return Guard.ShiftLeft(types, (left, right) => ReduceVariants(right, FromType(left)), () => Unreachable());\n}\n// deno-coverage-ignore-stop\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { IsCyclic } from '../../types/cyclic.mjs';\nimport { IsDependent } from '../../types/dependent.mjs';\nimport { IsIntersect } from '../../types/intersect.mjs';\nimport { IsObject } from '../../types/object.mjs';\nimport { IsTuple } from '../../types/tuple.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { FromCyclic } from './from_cyclic.mjs';\nimport { FromDependent } from './from_dependent.mjs';\nimport { FromIntersect } from './from_intersect.mjs';\nimport { FromObject } from './from_object.mjs';\nimport { FromTuple } from './from_tuple.mjs';\nimport { FromUnion } from './from_union.mjs';\nexport function FromType(type) {\n return (IsCyclic(type) ? FromCyclic(type.$defs, type.$ref) :\n IsDependent(type) ? FromDependent(type.if, type.then, type.else) :\n IsIntersect(type) ? FromIntersect(type.allOf) :\n IsUnion(type) ? FromUnion(type.anyOf) :\n IsTuple(type) ? FromTuple(type.items) :\n IsObject(type) ? FromObject(type.properties) :\n {});\n}\n","// deno-fmt-ignore-file\nimport { Object } from '../../types/object.mjs';\nimport { FromType } from './from_type.mjs';\n/**\n * Collapses a type into a TObject schema. This is a lossy fast path used to\n * normalize arbitrary TSchema types into a TObject structure. This function is\n * primarily used in indexing operations where a normalized object structure\n * is required. If the type cannot be collapsed, an empty object schema is returned.\n */\nexport function CollapseToObject(type) {\n const properties = FromType(type);\n const result = Object(properties);\n return result;\n}\n","// deno-fmt-ignore-file\nconst integerKeyPattern = new RegExp('^(?:0|[1-9][0-9]*)$');\nexport function ConvertToIntegerKey(value) {\n const normal = `${value}`;\n return (integerKeyPattern.test(normal)\n ? parseInt(normal)\n : value);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Intersect, IsIntersect } from '../../types/intersect.mjs';\nimport { Union, IsUnion } from '../../types/union.mjs';\nimport { Literal, IsLiteral } from '../../types/literal.mjs';\nimport { Number } from '../../types/number.mjs';\nimport { Never } from '../../types/never.mjs';\nimport { Extends, ExtendsResult } from '../../extends/index.mjs';\nimport { ConvertToIntegerKey } from '../helpers/keys.mjs';\nfunction NormalizeLiteral(value) {\n return Literal(ConvertToIntegerKey(value));\n}\nfunction NormalizeIndexerTypes(types) {\n return types.map(type => NormalizeIndexer(type));\n}\nexport function NormalizeIndexer(type) {\n return (IsIntersect(type) ? Intersect(NormalizeIndexerTypes(type.allOf)) :\n IsUnion(type) ? Union(NormalizeIndexerTypes(type.anyOf)) :\n IsLiteral(type) ? NormalizeLiteral(type.const) :\n type);\n}\nexport function FromArray(type, indexer) {\n const normalizedIndexer = NormalizeIndexer(indexer);\n const check = Extends({}, normalizedIndexer, Number());\n const result = (\n // indexer\n ExtendsResult.IsExtendsTrueLike(check)\n ? type\n // length (intrinsic)\n : IsLiteral(indexer) && Guard.IsEqual(indexer.const, 'length')\n ? Number()\n : Never());\n return result;\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nimport { CyclicTarget } from '../cyclic/target.mjs';\nexport function FromCyclic(defs, ref) {\n const target = CyclicTarget(defs, ref);\n const result = FromType(target);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nimport { EvaluateDependent } from '../evaluate/evaluate.mjs';\nexport function FromDependent(if_, then_, else_) {\n const evaluated = EvaluateDependent(if_, then_, else_);\n const result = FromType(evaluated);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nimport { EvaluateEnum } from '../evaluate/evaluate.mjs';\nexport function FromEnum(values) {\n const evaluated = EvaluateEnum(values);\n const result = FromType(evaluated);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { EvaluateIntersect } from '../evaluate/evaluate.mjs';\nimport { FromType } from './from_type.mjs';\nexport function FromIntersect(types) {\n const evaluated = EvaluateIntersect(types);\n const result = FromType(evaluated);\n return result;\n}\n","// deno-fmt-ignore-file\nexport function FromLiteral(value) {\n const result = [`${value}`];\n return result;\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nimport { EvaluateTemplateLiteral } from '../evaluate/evaluate.mjs';\nexport function FromTemplateLiteral(pattern) {\n const evaluated = EvaluateTemplateLiteral(pattern);\n const result = FromType(evaluated);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nexport function FromUnion(types) {\n return types.reduce((result, left) => {\n return [...result, ...FromType(left)];\n }, []);\n}\n","// deno-fmt-ignore-file\nimport { IsCyclic } from '../../types/cyclic.mjs';\nimport { IsDependent } from '../../types/dependent.mjs';\nimport { IsEnum } from '../../types/enum.mjs';\nimport { IsIntersect } from '../../types/intersect.mjs';\nimport { IsLiteral } from '../../types/literal.mjs';\nimport { IsTemplateLiteral } from '../../types/template_literal.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { FromCyclic } from './from_cyclic.mjs';\nimport { FromDependent } from './from_dependent.mjs';\nimport { FromEnum } from './from_enum.mjs';\nimport { FromIntersect } from './from_intersect.mjs';\nimport { FromLiteral } from './from_literal.mjs';\nimport { FromTemplateLiteral } from './from_template_literal.mjs';\nimport { FromUnion } from './from_union.mjs';\nexport function FromType(type) {\n return (IsCyclic(type) ? FromCyclic(type.$defs, type.$ref) :\n IsDependent(type) ? FromDependent(type.if, type.then, type.else) :\n IsEnum(type) ? FromEnum(type.enum) :\n IsIntersect(type) ? FromIntersect(type.allOf) :\n IsLiteral(type) ? FromLiteral(type.const) :\n IsTemplateLiteral(type) ? FromTemplateLiteral(type.pattern) :\n IsUnion(type) ? FromUnion(type.anyOf) :\n []);\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\n/**\n * Transforms a type meant as an Indexer into string[] array which is used by Indexable types\n * like Index, Pick and Omit to select from property keys. This function should only be used\n * for Object key selection, and not for Array / Tuple key selection as Array-Like structures\n * require TNumber indexing support.\n */\nexport function ToIndexableKeys(type) {\n const result = FromType(type);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { IsArray, _Array_ } from '../../types/array.mjs';\nimport { IsConstructor, Constructor } from '../../types/constructor.mjs';\nimport { IsFunction, _Function_ } from '../../types/function.mjs';\nimport { IsIntersect, Intersect } from '../../types/intersect.mjs';\nimport { _Object_ } from '../../types/object.mjs';\nimport { IsTuple, Tuple } from '../../types/tuple.mjs';\nimport { IsThis } from '../../types/this.mjs';\nimport { IsUnion, Union } from '../../types/union.mjs';\nfunction FromTypes(properties, types) {\n return types.map(type => FromType(properties, type));\n}\nexport function FromType(properties, type) {\n return (IsArray(type) ? _Array_(FromType(properties, type.items)) :\n IsConstructor(type) ? Constructor(FromTypes(properties, type.parameters), FromType(properties, type.instanceType)) :\n IsFunction(type) ? _Function_(FromTypes(properties, type.parameters), FromType(properties, type.returnType)) :\n IsTuple(type) ? Tuple(FromTypes(properties, type.items)) :\n IsUnion(type) ? Union(FromTypes(properties, type.anyOf)) :\n IsIntersect(type) ? Intersect(FromTypes(properties, type.allOf)) :\n IsThis(type) ? _Object_(properties) :\n type);\n}\nexport function ExpandThis(properties, type) {\n const result = FromType(properties, type);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { IsNumber } from '../../types/number.mjs';\nimport { Never } from '../../types/never.mjs';\nimport { PropertyKeys } from '../../types/properties.mjs';\nimport { EvaluateUnion } from '../evaluate/evaluate.mjs';\nimport { ToIndexableKeys } from '../indexable/to_indexable_keys.mjs';\nimport { IntegerKey } from '../../types/record.mjs';\nimport { ExpandThis } from '../this/expand_this.mjs';\nfunction IndexProperty(properties, key) {\n const selectedType = key in properties ? properties[key] : Never();\n const result = ExpandThis(properties, selectedType);\n return result;\n}\nfunction IndexProperties(properties, keys) {\n return keys.reduce((result, left) => {\n return [...result, IndexProperty(properties, left)];\n }, []);\n}\nfunction FromIndexer(properties, indexer) {\n const keys = ToIndexableKeys(indexer);\n const variants = IndexProperties(properties, keys);\n const result = EvaluateUnion(variants);\n return result;\n}\nconst NumericKeyPattern = new RegExp(IntegerKey);\nfunction NumericKeys(keys) {\n const result = keys.filter(key => NumericKeyPattern.test(key));\n return result;\n}\nfunction FromIndexerNumber(properties) {\n const keys = PropertyKeys(properties);\n const numericKeys = NumericKeys(keys);\n const variants = IndexProperties(properties, numericKeys);\n const result = EvaluateUnion(variants);\n return result;\n}\nexport function FromObject(properties, indexer) {\n const result = IsNumber(indexer) ? FromIndexerNumber(properties) : FromIndexer(properties, indexer);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Union, IsUnion } from '../../types/union.mjs';\nimport { Intersect, IsIntersect } from '../../types/intersect.mjs';\nimport { Literal, IsLiteral } from '../../types/literal.mjs';\nimport { ConvertToIntegerKey } from '../helpers/keys.mjs';\nfunction ConvertLiteral(value) {\n return Literal(ConvertToIntegerKey(value));\n}\nfunction ArrayIndexerTypes(types) {\n return types.map(type => FormatArrayIndexer(type));\n}\n/** Formats embedded integer-like strings on an Indexer to be number values inline with TS indexing | coercion behaviors. */\nexport function FormatArrayIndexer(type) {\n return (IsIntersect(type) ? Intersect(ArrayIndexerTypes(type.allOf)) :\n IsUnion(type) ? Union(ArrayIndexerTypes(type.anyOf)) :\n IsLiteral(type) ? ConvertLiteral(type.const) :\n type);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Literal, IsLiteral } from '../../types/literal.mjs';\nimport { IsNumber } from '../../types/number.mjs';\nimport { IsInteger } from '../../types/integer.mjs';\nimport { EvaluateUnionFast } from '../evaluate/evaluate.mjs';\nimport { Extends, ExtendsResult } from '../../extends/index.mjs';\nimport { FormatArrayIndexer } from './array_indexer.mjs';\nfunction IndexElementsWithIndexer(types, indexer) {\n return types.reduceRight((result, right, index) => {\n const check = Extends({}, Literal(index), indexer);\n return ExtendsResult.IsExtendsTrueLike(check)\n ? [right, ...result]\n : result;\n }, []);\n}\nfunction FromTupleWithIndexer(types, indexer) {\n const formattedArrayIndexer = FormatArrayIndexer(indexer);\n const elements = IndexElementsWithIndexer(types, formattedArrayIndexer);\n return EvaluateUnionFast(elements);\n}\nfunction FromTupleWithoutIndexer(types) {\n return EvaluateUnionFast(types);\n}\nexport function FromTuple(types, indexer) {\n return (\n // length (intrinsic)\n IsLiteral(indexer) && Guard.IsEqual(indexer.const, 'length')\n ? Literal(types.length)\n // indexer\n : IsNumber(indexer) || IsInteger(indexer)\n ? FromTupleWithoutIndexer(types)\n : FromTupleWithIndexer(types, indexer));\n}\n","// deno-fmt-ignore-file\nimport { IsArray } from '../../types/array.mjs';\nimport { Never } from '../../types/never.mjs';\nimport { IsObject } from '../../types/object.mjs';\nimport { IsTuple } from '../../types/tuple.mjs';\nimport { FromArray } from './from_array.mjs';\nimport { FromObject } from './from_object.mjs';\nimport { FromTuple } from './from_tuple.mjs';\nexport function FromType(type, indexer) {\n return (IsArray(type) ? FromArray(type.items, indexer) :\n IsObject(type) ? FromObject(type.properties, indexer) :\n IsTuple(type) ? FromTuple(type.items, indexer) :\n Never());\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { IsCyclic } from '../../types/cyclic.mjs';\nimport { IsDependent } from '../../types/dependent.mjs';\nimport { IsIntersect } from '../../types/intersect.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nimport { IndexDeferred } from '../../action/indexed.mjs';\nimport { CollapseToObject } from '../object/index.mjs';\nimport { FromType } from './from_type.mjs';\nfunction NormalizeType(type) {\n const result = (IsCyclic(type) ||\n IsDependent(type) ||\n IsIntersect(type) ||\n IsUnion(type)) ? CollapseToObject(type) : type;\n return result;\n}\nexport function IndexAction(type, indexer, options) {\n const result = CanInstantiate([type, indexer])\n ? Memory.Update(FromType(NormalizeType(type), indexer), {}, options)\n : IndexDeferred(type, indexer, options);\n return result;\n}\nexport function IndexInstantiate(context, state, type, indexer, options) {\n const instantiatedType = InstantiateType(context, state, type);\n const instantiatedIndexer = InstantiateType(context, state, indexer);\n return IndexAction(instantiatedType, instantiatedIndexer, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { InstanceTypeAction } from '../engine/instance_type/instantiate.mjs';\n/** Creates a deferred InstanceType action. */\nexport function InstanceTypeDeferred(type, options = {}) {\n return Deferred('InstanceType', [type], options);\n}\n/** Applies a InstanceType action to the given type. */\nexport function InstanceType(type, options = {}) {\n return InstanceTypeAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { IsConstructor } from '../../types/constructor.mjs';\nimport { Never } from '../../types/never.mjs';\nimport { InstanceTypeDeferred } from '../../action/instance_type.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nfunction InstanceTypeOperation(type) {\n return (IsConstructor(type)\n ? type['instanceType']\n : Never());\n}\nexport function InstanceTypeAction(type, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(InstanceTypeOperation(type), {}, options)\n : InstanceTypeDeferred(type, options);\n return result;\n}\nexport function InstanceTypeInstantiate(context, state, type, options = {}) {\n const instantiatedType = InstantiateType(context, state, type);\n return InstanceTypeAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { KeyOfAction } from '../engine/keyof/instantiate.mjs';\n/** Creates a deferred KeyOf action. */\nexport function KeyOfDeferred(type, options = {}) {\n return Deferred('KeyOf', [type], options);\n}\n/** Applies a KeyOf action to the given type. */\nexport function KeyOf(type, options = {}) {\n return KeyOfAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Number } from '../../types/number.mjs';\nimport { String } from '../../types/string.mjs';\nimport { Symbol } from '../../types/symbol.mjs';\nimport { Union } from '../../types/union.mjs';\nexport function FromAny() {\n return Union([Number(), String(), Symbol()]);\n}\n","// deno-fmt-ignore-file\nimport { Number } from '../../types/number.mjs';\nexport function FromArray(_type) {\n return Number();\n}\n","// deno-fmt-ignore-file\nimport { Unreachable } from '../../../system/unreachable/index.mjs';\nimport { Guard } from '../../../guard/index.mjs';\nimport { Literal, IsLiteralValue } from '../../types/literal.mjs';\nimport { ConvertToIntegerKey } from '../helpers/keys.mjs';\nimport { EvaluateUnionFast } from '../evaluate/evaluate.mjs';\nfunction FromPropertyKeys(keys) {\n const result = keys.reduce((result, left) => {\n return IsLiteralValue(left)\n ? [...result, Literal(ConvertToIntegerKey(left))]\n : Unreachable();\n }, []);\n return result;\n}\nexport function FromObject(properties) {\n const propertyKeys = Guard.Keys(properties);\n const variants = FromPropertyKeys(propertyKeys);\n const result = EvaluateUnionFast(variants);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { RecordKey } from '../../types/record.mjs';\nexport function FromRecord(type) {\n return RecordKey(type);\n}\n","// deno-fmt-ignore-file\nimport { Literal } from '../../types/literal.mjs';\nimport { EvaluateUnionFast } from '../evaluate/evaluate.mjs';\nexport function FromTuple(types) {\n const result = types.map((_, index) => Literal(index));\n return EvaluateUnionFast(result);\n}\n","// deno-fmt-ignore-file\nimport { IsAny } from '../../types/any.mjs';\nimport { IsArray } from '../../types/array.mjs';\nimport { Never } from '../../types/never.mjs';\nimport { IsObject } from '../../types/object.mjs';\nimport { IsRecord } from '../../types/record.mjs';\nimport { IsTuple } from '../../types/tuple.mjs';\n// ------------------------------------------------------------------\n// Computed\n// ------------------------------------------------------------------\nimport { FromAny } from './from_any.mjs';\nimport { FromArray } from './from_array.mjs';\nimport { FromObject } from './from_object.mjs';\nimport { FromRecord } from './from_record.mjs';\nimport { FromTuple } from './from_tuple.mjs';\nexport function FromType(type) {\n return (IsAny(type) ? FromAny() :\n IsArray(type) ? FromArray(type.items) :\n IsObject(type) ? FromObject(type.properties) :\n IsRecord(type) ? FromRecord(type) :\n IsTuple(type) ? FromTuple(type.items) :\n Never());\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { IsCyclic } from '../../types/cyclic.mjs';\nimport { IsDependent } from '../../types/dependent.mjs';\nimport { IsIntersect } from '../../types/intersect.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { KeyOfDeferred } from '../../action/keyof.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nimport { CollapseToObject } from '../object/index.mjs';\n// ------------------------------------------------------------------\n// Computed\n// ------------------------------------------------------------------\nimport { FromType } from './from_type.mjs';\nfunction NormalizeType(type) {\n const result = (IsCyclic(type) ||\n IsDependent(type) ||\n IsIntersect(type) ||\n IsUnion(type)) ? CollapseToObject(type) : type;\n return result;\n}\nexport function KeyOfAction(type, options) {\n return (CanInstantiate([type])\n ? Memory.Update(FromType(NormalizeType(type)), {}, options)\n : KeyOfDeferred(type, options));\n}\nexport function KeyOfInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return KeyOfAction(instantiatedType, options);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { MappedAction } from '../engine/mapped/instantiate.mjs';\nimport { State } from '../engine/instantiate.mjs';\n/** Creates a deferred Mapped action. */\nexport function MappedDeferred(identifier, type, as, property, options = {}) {\n return Deferred('Mapped', [identifier, type, as, property], options);\n}\n/** Applies a Mapped action using the given types. */\nexport function Mapped(identifier, type, as, property, options = {}) {\n return MappedAction({}, State([], []), identifier, type, as, property, options);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Literal, IsLiteral } from '../../types/literal.mjs';\nimport { IsEnum } from '../../types/enum.mjs';\nimport { IsTemplateLiteral } from '../../types/template_literal.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { EvaluateEnum } from '../evaluate/evaluate.mjs';\nimport { EvaluateTemplateLiteral } from '../evaluate/evaluate.mjs';\nfunction FromTemplateLiteral(pattern) {\n const evaluated = EvaluateTemplateLiteral(pattern);\n const result = FromType(evaluated);\n return result;\n}\nfunction FromUnion(types) {\n return types.reduce((result, left) => {\n return [...result, ...FromType(left)];\n }, []);\n}\nfunction FromEnum(values) {\n const evaluated = EvaluateEnum(values);\n const result = FromType(evaluated);\n return result;\n}\nfunction FromLiteral(value) {\n const result = Guard.IsNumber(value) ? [Literal(`${value}`)] : [Literal(value)];\n return result;\n}\nfunction FromType(type) {\n const result = (IsEnum(type) ? FromEnum(type.enum) :\n IsLiteral(type) ? FromLiteral(type.const) :\n IsTemplateLiteral(type) ? FromTemplateLiteral(type.pattern) :\n IsUnion(type) ? FromUnion(type.anyOf) :\n [type]);\n return result;\n}\nexport function MappedVariants(type) {\n const result = FromType(type);\n return result;\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { IsLiteralNumber, IsLiteralString } from '../../types/literal.mjs';\nimport { Object } from '../../types/object.mjs';\nimport { IsTemplateLiteral } from '../../types/template_literal.mjs';\nimport { InstantiateType } from '../instantiate.mjs';\nimport { EvaluateIntersect } from '../evaluate/evaluate.mjs';\nimport { EvaluateTemplateLiteral } from '../evaluate/evaluate.mjs';\nimport { MappedVariants } from './mapped_variants.mjs';\nfunction CanonicalAs(instantiatedAs) {\n const result = IsTemplateLiteral(instantiatedAs)\n ? EvaluateTemplateLiteral(instantiatedAs.pattern)\n : instantiatedAs;\n return result;\n}\nfunction MappedVariant(context, state, identifier, variant, as, property) {\n const variantContext = Memory.Assign(context, { [identifier['name']]: variant });\n const instantiatedAs = InstantiateType(variantContext, state, as);\n const canonicalAs = CanonicalAs(instantiatedAs);\n const instantiatedProperty = InstantiateType(variantContext, state, property);\n return (IsLiteralNumber(canonicalAs) || IsLiteralString(canonicalAs)\n ? { [canonicalAs.const]: instantiatedProperty }\n : {});\n}\nfunction MappedProperties(context, state, identifier, variants, as, property) {\n return variants.reduce((result, left) => {\n return [...result, MappedVariant(context, state, identifier, left, as, property)];\n }, []);\n}\nfunction MappedObjects(properties) {\n return properties.reduce((result, left) => {\n return [...result, Object(left)];\n }, []);\n}\nexport function MappedOperation(context, state, identifier, type, as, property) {\n const variants = MappedVariants(type);\n const mappedProperties = MappedProperties(context, state, identifier, variants, as, property);\n const mappedObjects = MappedObjects(mappedProperties);\n const result = EvaluateIntersect(mappedObjects);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { MappedDeferred } from '../../action/mapped.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nimport { MappedOperation } from './mapped_operation.mjs';\nexport function MappedAction(context, state, identifier, type, as, property, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(MappedOperation(context, state, identifier, type, as, property), {}, options)\n : MappedDeferred(identifier, type, as, property, options);\n return result;\n}\nexport function MappedInstantiate(context, state, identifier, type, as, property, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return MappedAction(context, state, identifier, instantiatedType, as, property, options);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { State } from '../instantiate.mjs';\n// ------------------------------------------------------------------\n// Module: Instantiation Infrastructure\n// ------------------------------------------------------------------\nimport { CyclicCandidates } from '../cyclic/candidates.mjs';\nimport { InstantiateCyclic } from '../cyclic/instantiate.mjs';\nimport { InstantiateType } from '../instantiate.mjs';\nfunction InstantiateCyclics(context, declarations, cyclicKeys) {\n const declarationContext = Memory.Assign(context, declarations);\n const declarationKeys = Guard.Keys(declarations).filter(key => cyclicKeys.includes(key));\n return declarationKeys.reduce((result, key) => {\n return { ...result, [key]: InstantiateCyclic(declarationContext, key, declarations[key]) };\n }, {});\n}\nfunction InstantiateNonCyclics(context, declarations, cyclicKeys) {\n const declarationContext = Memory.Assign(context, declarations);\n const declarationKeys = Guard.Keys(declarations).filter(key => !cyclicKeys.includes(key));\n return declarationKeys.reduce((result, key) => {\n return { ...result, [key]: InstantiateType(declarationContext, State([], []), declarations[key]) };\n }, {});\n}\nfunction InstantiateModule(context, declarations, options) {\n const cyclicCandidates = CyclicCandidates(declarations);\n const instantiatedCyclics = InstantiateCyclics(context, declarations, cyclicCandidates);\n const instantiatedNonCyclics = InstantiateNonCyclics(context, declarations, cyclicCandidates);\n const instantiatedModule = { ...instantiatedCyclics, ...instantiatedNonCyclics };\n return Memory.Update(instantiatedModule, {}, options);\n}\nexport function ModuleInstantiate(context, _state, declarations, options) {\n const instantiatedModule = InstantiateModule(context, declarations, options);\n return instantiatedModule;\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { NonNullableAction } from '../engine/non_nullable/instantiate.mjs';\n/** Creates a deferred NonNullable action. */\nexport function NonNullableDeferred(type, options = {}) {\n return Deferred('NonNullable', [type], options);\n}\n/** Applies a NonNullable action to the given type. */\nexport function NonNullable(type, options = {}) {\n return NonNullableAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { Null } from '../../types/null.mjs';\nimport { Undefined } from '../../types/undefined.mjs';\nimport { Union } from '../../types/union.mjs';\nimport { ExcludeAction } from '../exclude/instantiate.mjs';\nimport { NonNullableDeferred } from '../../action/non_nullable.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nfunction NonNullableOperation(type) {\n const excluded = Union([Null(), Undefined()]);\n return ExcludeAction(type, excluded, {});\n}\nexport function NonNullableAction(type, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(NonNullableOperation(type), {}, options)\n : NonNullableDeferred(type, options);\n return result;\n}\nexport function NonNullableInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return NonNullableAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { Deferred } from '../types/deferred.mjs';\nimport { KeysToIndexer } from '../engine/helpers/keys_to_indexer.mjs';\nimport { OmitAction } from '../engine/omit/instantiate.mjs';\n/** Creates a deferred Omit action. */\nexport function OmitDeferred(type, indexer, options = {}) {\n return Deferred('Omit', [type, indexer], options);\n}\n/** Applies a Omit action using the given types. */\nexport function Omit(type, indexer_or_keys, options = {}) {\n const indexer = Guard.IsArray(indexer_or_keys) ? KeysToIndexer(indexer_or_keys) : indexer_or_keys;\n return OmitAction(type, indexer, options);\n}\n","// deno-fmt-ignore-file\nimport { Unreachable } from '../../../system/unreachable/index.mjs';\nimport { IsObject } from '../../types/object.mjs';\nimport { CollapseToObject } from '../object/index.mjs';\n// deno-coverage-ignore-start - symmetric unreachable\n/** Transforms a type into a TProperties used for indexing operations */\nexport function ToIndexable(type) {\n const collapsed = CollapseToObject(type);\n const result = IsObject(collapsed)\n ? collapsed.properties\n : Unreachable();\n return result;\n}\n// deno-coverage-ignore-stop\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Object } from '../../types/object.mjs';\nimport { ToIndexableKeys } from '../indexable/to_indexable_keys.mjs';\nimport { ToIndexable } from '../indexable/to_indexable.mjs';\nfunction FromKeys(properties, keys) {\n const result = Guard.Keys(properties).reduce((result, key) => {\n return keys.includes(key) ? result : { ...result, [key]: properties[key] };\n }, {});\n return result;\n}\nexport function FromType(type, indexer) {\n const indexable = ToIndexable(type);\n const indexableKeys = ToIndexableKeys(indexer);\n const omitted = FromKeys(indexable, indexableKeys);\n const result = Object(omitted);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { OmitDeferred } from '../../action/omit.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nimport { FromType } from './from_type.mjs';\nexport function OmitAction(type, indexer, options) {\n const result = CanInstantiate([type, indexer])\n ? Memory.Update(FromType(type, indexer), {}, options)\n : OmitDeferred(type, indexer, options);\n return result;\n}\nexport function OmitInstantiate(context, state, type, indexer, options) {\n const instantiatedType = InstantiateType(context, state, type);\n const instantiatedIndexer = InstantiateType(context, state, indexer);\n return OmitAction(instantiatedType, instantiatedIndexer, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { ParametersAction } from '../engine/parameters/instantiate.mjs';\n/** Creates a deferred Parameters action. */\nexport function ParametersDeferred(type, options = {}) {\n return Deferred('Parameters', [type], options);\n}\n/** Applies a Parameters action to the given type. */\nexport function Parameters(type, options = {}) {\n return ParametersAction(type, options);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { IsFunction } from '../../types/function.mjs';\nimport { Tuple } from '../../types/tuple.mjs';\nimport { ParametersDeferred } from '../../action/parameters.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nimport { InstantiateElements } from '../instantiate.mjs';\nimport { State } from '../instantiate.mjs';\nfunction ParametersOperation(type) {\n const parameters = IsFunction(type) ? type['parameters'] : [];\n const instantiatedParameters = InstantiateElements({}, State([], []), parameters);\n const result = Tuple(instantiatedParameters);\n return result;\n}\nexport function ParametersAction(type, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(ParametersOperation(type), {}, options)\n : ParametersDeferred(type, options);\n return result;\n}\nexport function ParametersInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return ParametersAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { PartialAction } from '../engine/partial/instantiate.mjs';\n/** Creates a deferred Partial action. */\nexport function PartialDeferred(type, options = {}) {\n return Deferred('Partial', [type], options);\n}\n/** Applies a Partial action to the given type. */\nexport function Partial(type, options = {}) {\n return PartialAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { Cyclic } from '../../types/cyclic.mjs';\nimport { FromType } from './from_type.mjs';\nimport { CyclicTarget } from '../cyclic/target.mjs';\nexport function FromCyclic(defs, ref) {\n const target = CyclicTarget(defs, ref);\n const partial = FromType(target);\n const result = Cyclic(Memory.Assign(defs, { [ref]: partial }), ref);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nimport { EvaluateDependent } from '../evaluate/evaluate.mjs';\nexport function FromDependent(if_, then_, else_) {\n const evaluated = EvaluateDependent(if_, then_, else_);\n const result = FromType(evaluated);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nimport { EvaluateIntersect } from '../evaluate/evaluate.mjs';\nexport function FromIntersect(types) {\n const evaluated = EvaluateIntersect(types);\n const result = FromType(evaluated);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Union } from '../../types/union.mjs';\nimport { FromType } from './from_type.mjs';\nexport function FromUnion(types) {\n const result = types.map(type => FromType(type));\n return Union(result);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Object } from '../../types/object.mjs';\nimport { AddOptional } from '../../action/_add_optional.mjs';\nexport function FromObject(properties) {\n const mapped = Guard.Keys(properties).reduce((result, left) => {\n return { ...result, [left]: AddOptional(properties[left]) };\n }, {});\n const result = Object(mapped);\n return result;\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { IsCyclic } from '../../types/cyclic.mjs';\nimport { IsDependent } from '../../types/dependent.mjs';\nimport { IsIntersect } from '../../types/intersect.mjs';\nimport { Object, IsObject } from '../../types/object.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { FromCyclic } from './from_cyclic.mjs';\nimport { FromDependent } from './from_dependent.mjs';\nimport { FromIntersect } from './from_intersect.mjs';\nimport { FromUnion } from './from_union.mjs';\nimport { FromObject } from './from_object.mjs';\nexport function FromType(type) {\n return (IsCyclic(type) ? FromCyclic(type.$defs, type.$ref) :\n IsDependent(type) ? FromDependent(type.if, type.then, type.else) :\n IsIntersect(type) ? FromIntersect(type.allOf) :\n IsUnion(type) ? FromUnion(type.anyOf) :\n IsObject(type) ? FromObject(type.properties) :\n Object({}));\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { PartialDeferred } from '../../action/partial.mjs';\nimport { FromType } from './from_type.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nexport function PartialAction(type, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(FromType(type), {}, options)\n : PartialDeferred(type, options);\n return result;\n}\nexport function PartialInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return PartialAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../guard/index.mjs';\nimport { Deferred } from '../types/deferred.mjs';\nimport { KeysToIndexer } from '../engine/helpers/keys_to_indexer.mjs';\nimport { PickAction } from '../engine/pick/instantiate.mjs';\n/** Creates a deferred Pick action. */\nexport function PickDeferred(type, indexer, options = {}) {\n return Deferred('Pick', [type, indexer], options);\n}\n/** Applies a Pick action using the given types. */\nexport function Pick(type, indexer_or_keys, options = {}) {\n const indexer = Guard.IsArray(indexer_or_keys) ? KeysToIndexer(indexer_or_keys) : indexer_or_keys;\n return PickAction(type, indexer, options);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { Guard } from '../../../guard/index.mjs';\nimport { Object } from '../../types/object.mjs';\nimport { ToIndexableKeys } from '../indexable/to_indexable_keys.mjs';\nimport { ToIndexable } from '../indexable/to_indexable.mjs';\nfunction FromKeys(properties, keys) {\n const result = Guard.Keys(properties).reduce((result, key) => {\n return keys.includes(key) ? Memory.Assign(result, { [key]: properties[key] }) : result;\n }, {});\n return result;\n}\nexport function FromType(type, indexer) {\n const indexable = ToIndexable(type);\n const keys = ToIndexableKeys(indexer);\n const applied = FromKeys(indexable, keys);\n const result = Object(applied);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { PickDeferred } from '../../action/pick.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nimport { FromType } from './from_type.mjs';\nexport function PickAction(type, indexer, options) {\n const result = CanInstantiate([type, indexer])\n ? Memory.Update(FromType(type, indexer), {}, options)\n : PickDeferred(type, indexer, options);\n return result;\n}\nexport function PickInstantiate(context, state, type, indexer, options) {\n const instantiatedType = InstantiateType(context, state, type);\n const instantiatedIndexer = InstantiateType(context, state, indexer);\n return PickAction(instantiatedType, instantiatedIndexer, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { ReadonlyObjectAction } from '../engine/readonly_object/instantiate.mjs';\n/** Creates a deferred ReadonlyType action. */\nexport function ReadonlyObjectDeferred(type, options = {}) {\n return Deferred('ReadonlyObject', [type], options);\n}\n/** This type is an alias for TypeScript's `Readonly<T>` utility type. It will make all properties of a TObject readonly or marks an TArray or TTuple as immutable `readonly T[]`. */\nexport function ReadonlyObject(type, options = {}) {\n return ReadonlyObjectAction(type, options);\n}\n// ------------------------------------------------------------------\n// Alias\n// ------------------------------------------------------------------\n/**\n * This type has been renamed to ReadonlyObject.\n * @deprecated\n*/\nexport const ReadonlyType = ReadonlyObject;\n","// deno-fmt-ignore-file\nimport { Array } from '../../types/array.mjs';\nimport { AddImmutable } from '../../action/_add_immutable.mjs';\nexport function FromArray(type) {\n const result = AddImmutable(Array(type));\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { Cyclic } from '../../types/cyclic.mjs';\nimport { FromType } from './from_type.mjs';\nimport { CyclicTarget } from '../cyclic/target.mjs';\nexport function FromCyclic(defs, ref) {\n const target = CyclicTarget(defs, ref);\n const partial = FromType(target);\n const result = Cyclic(Memory.Assign(defs, { [ref]: partial }), ref);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nimport { EvaluateDependent } from '../evaluate/evaluate.mjs';\nexport function FromDependent(if_, then_, else_) {\n const evaluated = EvaluateDependent(if_, then_, else_);\n const result = FromType(evaluated);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nimport { EvaluateIntersect } from '../evaluate/evaluate.mjs';\nexport function FromIntersect(types) {\n const evaluated = EvaluateIntersect(types);\n const result = FromType(evaluated);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Object } from '../../types/object.mjs';\nimport { AddReadonly } from '../../action/_add_readonly.mjs';\nexport function FromObject(properties) {\n const mapped = Guard.Keys(properties).reduce((result, left) => {\n return { ...result, [left]: AddReadonly(properties[left]) };\n }, {});\n const result = Object(mapped);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Tuple } from '../../types/tuple.mjs';\nimport { AddImmutable } from '../../action/_add_immutable.mjs';\nexport function FromTuple(types) {\n const result = AddImmutable(Tuple(types));\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Union } from '../../types/union.mjs';\nimport { FromType } from './from_type.mjs';\nexport function FromUnion(types) {\n const result = types.map(type => FromType(type));\n return Union(result);\n}\n","// deno-fmt-ignore-file\nimport { IsArray } from '../../types/array.mjs';\nimport { IsCyclic } from '../../types/cyclic.mjs';\nimport { IsDependent } from '../../types/dependent.mjs';\nimport { IsIntersect } from '../../types/intersect.mjs';\nimport { IsObject } from '../../types/object.mjs';\nimport { IsTuple } from '../../types/tuple.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { FromArray } from './from_array.mjs';\nimport { FromCyclic } from './from_cyclic.mjs';\nimport { FromDependent } from './from_dependent.mjs';\nimport { FromIntersect } from './from_intersect.mjs';\nimport { FromObject } from './from_object.mjs';\nimport { FromTuple } from './from_tuple.mjs';\nimport { FromUnion } from './from_union.mjs';\nexport function FromType(type) {\n return (IsArray(type) ? FromArray(type.items) :\n IsCyclic(type) ? FromCyclic(type.$defs, type.$ref) :\n IsDependent(type) ? FromDependent(type.if, type.then, type.else) :\n IsIntersect(type) ? FromIntersect(type.allOf) :\n IsObject(type) ? FromObject(type.properties) :\n IsTuple(type) ? FromTuple(type.items) :\n IsUnion(type) ? FromUnion(type.anyOf) :\n type);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { ReadonlyObjectDeferred } from '../../action/readonly_object.mjs';\nimport { FromType } from './from_type.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nexport function ReadonlyObjectAction(type, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(FromType(type), {}, options)\n : ReadonlyObjectDeferred(type);\n return result;\n}\nexport function ReadonlyObjectInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return ReadonlyObjectAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { InstantiateType } from '../instantiate.mjs';\nimport { State } from '../instantiate.mjs';\nexport function RefInstantiate(context, state, type, ref) {\n return (state.visited.includes(ref)\n ? type\n : ref in context\n ? InstantiateType(context, State(state['callstack'], [...state['visited'], ref]), context[ref])\n : type);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { Cyclic } from '../../types/cyclic.mjs';\nimport { FromType } from './from_type.mjs';\nimport { CyclicTarget } from '../cyclic/target.mjs';\nexport function FromCyclic(defs, ref) {\n const target = CyclicTarget(defs, ref);\n const partial = FromType(target);\n const result = Cyclic(Memory.Assign(defs, { [ref]: partial }), ref);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nimport { EvaluateDependent } from '../evaluate/evaluate.mjs';\nexport function FromDependent(if_, then_, else_) {\n const evaluated = EvaluateDependent(if_, then_, else_);\n const result = FromType(evaluated);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { FromType } from './from_type.mjs';\nimport { EvaluateIntersect } from '../evaluate/evaluate.mjs';\nexport function FromIntersect(types) {\n const evaluated = EvaluateIntersect(types);\n const result = FromType(evaluated);\n return result;\n}\n","// deno-fmt-ignore-file\nimport { Union } from '../../types/union.mjs';\nimport { FromType } from './from_type.mjs';\nexport function FromUnion(types) {\n const result = types.map(type => FromType(type));\n return Union(result);\n}\n","// deno-fmt-ignore-file\nimport { Guard } from '../../../guard/index.mjs';\nimport { Object } from '../../types/object.mjs';\nimport { RemoveOptional } from '../../action/_remove_optional.mjs';\nexport function FromObject(properties) {\n const mapped = Guard.Keys(properties).reduce((result, left) => {\n return { ...result, [left]: RemoveOptional(properties[left]) };\n }, {});\n const result = Object(mapped);\n return result;\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { IsCyclic } from '../../types/cyclic.mjs';\nimport { IsDependent } from '../../types/dependent.mjs';\nimport { IsIntersect } from '../../types/intersect.mjs';\nimport { Object, IsObject } from '../../types/object.mjs';\nimport { IsUnion } from '../../types/union.mjs';\nimport { FromCyclic } from './from_cyclic.mjs';\nimport { FromDependent } from './from_dependent.mjs';\nimport { FromIntersect } from './from_intersect.mjs';\nimport { FromUnion } from './from_union.mjs';\nimport { FromObject } from './from_object.mjs';\nexport function FromType(type) {\n return (IsCyclic(type) ? FromCyclic(type.$defs, type.$ref) :\n IsDependent(type) ? FromDependent(type.if, type.then, type.else) :\n IsIntersect(type) ? FromIntersect(type.allOf) :\n IsUnion(type) ? FromUnion(type.anyOf) :\n IsObject(type) ? FromObject(type.properties) :\n Object({}));\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { RequiredAction } from '../engine/required/instantiate.mjs';\n/** Creates a deferred Required action. */\nexport function RequiredDeferred(type, options = {}) {\n return Deferred('Required', [type], options);\n}\n/** Applies a Required action to the given type. */\nexport function Required(type, options = {}) {\n return RequiredAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { FromType } from './from_type.mjs';\nimport { RequiredDeferred } from '../../action/required.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nexport function RequiredAction(type, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(FromType(type), {}, options)\n : RequiredDeferred(type, options);\n return result;\n}\nexport function RequiredInstantiate(context, state, type, options) {\n const instaniatedType = InstantiateType(context, state, type);\n return RequiredAction(instaniatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { ReturnTypeAction } from '../engine/return_type/instantiate.mjs';\n/** Creates a deferred ReturnType action. */\nexport function ReturnTypeDeferred(type, options = {}) {\n return Deferred('ReturnType', [type], options);\n}\n/** Applies a ReturnType action to the given type. */\nexport function ReturnType(type, options = {}) {\n return ReturnTypeAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { IsFunction } from '../../types/function.mjs';\nimport { Never } from '../../types/never.mjs';\nimport { ReturnTypeDeferred } from '../../action/return_type.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nfunction ReturnTypeOperation(type) {\n return (IsFunction(type)\n ? type['returnType']\n : Never());\n}\nexport function ReturnTypeAction(type, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(ReturnTypeOperation(type), {}, options)\n : ReturnTypeDeferred(type, options);\n return result;\n}\nexport function ReturnTypeInstantiate(context, state, type, options = {}) {\n const instantiatedType = InstantiateType(context, state, type);\n return ReturnTypeAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { WithAction } from '../engine/with/instantiate.mjs';\n/** Creates a deferred With action. */\nexport function WithDeferred(type, options) {\n return Deferred('With', [type, options], {});\n}\n/** Applies annotation options to the given type. */\nexport function With(type, options) {\n return WithAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { InstantiateType, CanInstantiate } from '../instantiate.mjs';\nimport { WithDeferred } from '../../action/with.mjs';\nexport function WithAction(type, options) {\n const result = CanInstantiate([type])\n ? Memory.Update(type, {}, options)\n : WithDeferred(type, options);\n return result;\n}\nexport function WithInstantiate(context, state, type, options) {\n const instaniatedType = InstantiateType(context, state, type);\n return WithAction(instaniatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { IsInfer } from '../../types/infer.mjs';\nimport { Never } from '../../types/never.mjs';\nimport { IsRest } from '../../types/rest.mjs';\nimport { IsRef } from '../../types/ref.mjs';\nimport { IsTuple } from '../../types/tuple.mjs';\nfunction SpreadElement(type) {\n const result = (IsRest(type) ? (IsTuple(type.items) ? RestSpread(type.items.items) :\n IsInfer(type.items) ? [type] :\n IsRef(type.items) ? [type] :\n [Never()]) : [type]);\n return result;\n}\nexport function RestSpread(types) {\n const result = types.reduce((result, left) => {\n return [...result, ...SpreadElement(left)];\n }, []);\n return result;\n}\n","// deno-fmt-ignore-file\n// deno-lint-ignore-file\nimport { Guard } from '../../guard/index.mjs';\n// ------------------------------------------------------------------\n// Modifiers\n// ------------------------------------------------------------------\nimport { AddImmutableAction } from './immutable/instantiate_add.mjs';\nimport { AddReadonlyAction } from './readonly/instantiate_add.mjs';\nimport { AddOptionalAction } from './optional/instantiate_add.mjs';\nimport { _Array_, IsArray, ArrayOptions } from '../types/array.mjs';\nimport { Constructor, IsConstructor, ConstructorOptions } from '../types/constructor.mjs';\nimport { Deferred, IsDeferred } from '../types/deferred.mjs';\nimport { _Function_, IsFunction, FunctionOptions } from '../types/function.mjs';\nimport { IsCall } from '../types/call.mjs';\nimport { Dependent, IsDependent, DependentOptions } from '../types/dependent.mjs';\nimport { Intersect, IsIntersect, IntersectOptions } from '../types/intersect.mjs';\nimport { Object, IsObject, ObjectOptions } from '../types/object.mjs';\nimport { RecordFromPattern, IsRecord, RecordPattern, RecordValue } from '../types/record.mjs';\nimport { Tuple, IsTuple, TupleOptions } from '../types/tuple.mjs';\nimport { Union, IsUnion, UnionOptions } from '../types/union.mjs';\nimport { IsRef } from '../types/ref.mjs';\nimport { Rest, IsRest } from '../types/rest.mjs';\n// ------------------------------------------------------------------\n// Modifier Instantiate\n// ------------------------------------------------------------------\nimport { AddImmutableInstantiate } from './immutable/instantiate_add.mjs';\nimport { RemoveImmutableInstantiate } from './immutable/instantiate_remove.mjs';\nimport { AddReadonlyInstantiate } from './readonly/instantiate_add.mjs';\nimport { RemoveReadonlyInstantiate } from './readonly/instantiate_remove.mjs';\nimport { AddOptionalInstantiate } from './optional/instantiate_add.mjs';\nimport { RemoveOptionalInstantiate } from './optional/instantiate_remove.mjs';\nimport { IsOptional } from '../types/_optional.mjs';\nimport { IsImmutable } from '../types/_immutable.mjs';\nimport { IsReadonly } from '../types/_readonly.mjs';\n// ------------------------------------------------------------------\n// Instantiate\n// ------------------------------------------------------------------\nimport { CallInstantiate } from './call/instantiate.mjs';\nimport { CapitalizeInstantiate } from './intrinsics/instantiate.mjs';\nimport { ConditionalInstantiate } from './conditional/index.mjs';\nimport { ConstructorParametersInstantiate } from './constructor_parameters/instantiate.mjs';\nimport { EvaluateInstantiate } from './evaluate/instantiate.mjs';\nimport { ExcludeInstantiate } from './exclude/instantiate.mjs';\nimport { ExtractInstantiate } from './extract/instantiate.mjs';\nimport { IndexInstantiate } from './indexed/instantiate.mjs';\nimport { InstanceTypeInstantiate } from './instance_type/instantiate.mjs';\nimport { InterfaceInstantiate } from './interface/instantiate.mjs';\nimport { KeyOfInstantiate } from './keyof/instantiate.mjs';\nimport { LowercaseInstantiate } from './intrinsics/instantiate.mjs';\nimport { MappedInstantiate } from './mapped/instantiate.mjs';\nimport { ModuleInstantiate } from './module/instantiate.mjs';\nimport { NonNullableInstantiate } from './non_nullable/instantiate.mjs';\nimport { OmitInstantiate } from './omit/instantiate.mjs';\nimport { ParametersInstantiate } from './parameters/instantiate.mjs';\nimport { PartialInstantiate } from './partial/instantiate.mjs';\nimport { PickInstantiate } from './pick/instantiate.mjs';\nimport { ReadonlyObjectInstantiate } from './readonly_object/instantiate.mjs';\nimport { RecordInstantiate } from './record/instantiate.mjs';\nimport { RefInstantiate } from './ref/instantiate.mjs';\nimport { RequiredInstantiate } from './required/instantiate.mjs';\nimport { ReturnTypeInstantiate } from './return_type/instantiate.mjs';\nimport { TemplateLiteralInstantiate } from './template_literal/instantiate.mjs';\nimport { UncapitalizeInstantiate } from './intrinsics/instantiate.mjs';\nimport { UppercaseInstantiate } from './intrinsics/instantiate.mjs';\nimport { WithInstantiate } from './with/instantiate.mjs';\nimport { RestSpread } from './rest/index.mjs';\nexport function State(callstack, visited) {\n return { callstack, visited };\n}\nexport function CanInstantiate(types) {\n return Guard.ShiftLeft(types, (left, right) => IsRef(left)\n ? false\n : CanInstantiate(right), () => true);\n}\nexport function InstantiateProperties(context, state, properties) {\n return Guard.Keys(properties).reduce((result, key) => {\n return { ...result, [key]: InstantiateType(context, state, properties[key]) };\n }, {});\n}\nexport function InstantiateElements(context, state, types) {\n const elements = InstantiateTypes(context, state, types);\n const result = RestSpread(elements);\n return result;\n}\nexport function InstantiateTypes(context, state, types) {\n return types.map(type => InstantiateType(context, state, type));\n}\nfunction WithModifiers(type, instantiatedType) {\n const withOptional = IsOptional(type) ? AddOptionalAction(instantiatedType, {}) : instantiatedType;\n const withReadonly = IsReadonly(type) ? AddReadonlyAction(withOptional, {}) : withOptional;\n const withImmutable = IsImmutable(type) ? AddImmutableAction(withReadonly, {}) : withReadonly;\n return withImmutable;\n}\nfunction InstantiateDeferred(context, state, action, parameters, options) {\n return (\n // Modifiers\n Guard.IsEqual(action, 'AddImmutable') ? AddImmutableInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'RemoveImmutable') ? RemoveImmutableInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'AddReadonly') ? AddReadonlyInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'RemoveReadonly') ? RemoveReadonlyInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'AddOptional') ? AddOptionalInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'RemoveOptional') ? RemoveOptionalInstantiate(context, state, parameters[0], options) :\n // Actions\n Guard.IsEqual(action, 'Capitalize') ? CapitalizeInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'Conditional') ? ConditionalInstantiate(context, state, parameters[0], parameters[1], parameters[2], parameters[3], options) :\n Guard.IsEqual(action, 'ConstructorParameters') ? ConstructorParametersInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'Evaluate') ? EvaluateInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'Exclude') ? ExcludeInstantiate(context, state, parameters[0], parameters[1], options) :\n Guard.IsEqual(action, 'Extract') ? ExtractInstantiate(context, state, parameters[0], parameters[1], options) :\n Guard.IsEqual(action, 'Index') ? IndexInstantiate(context, state, parameters[0], parameters[1], options) :\n Guard.IsEqual(action, 'InstanceType') ? InstanceTypeInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'Interface') ? InterfaceInstantiate(context, state, parameters[0], parameters[1], options) :\n Guard.IsEqual(action, 'KeyOf') ? KeyOfInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'Lowercase') ? LowercaseInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'Mapped') ? MappedInstantiate(context, state, parameters[0], parameters[1], parameters[2], parameters[3], options) :\n Guard.IsEqual(action, 'Module') ? ModuleInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'NonNullable') ? NonNullableInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'Pick') ? PickInstantiate(context, state, parameters[0], parameters[1], options) :\n Guard.IsEqual(action, 'Parameters') ? ParametersInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'Partial') ? PartialInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'Omit') ? OmitInstantiate(context, state, parameters[0], parameters[1], options) :\n Guard.IsEqual(action, 'ReadonlyObject') ? ReadonlyObjectInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'Record') ? RecordInstantiate(context, state, parameters[0], parameters[1], options) :\n Guard.IsEqual(action, 'Required') ? RequiredInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'ReturnType') ? ReturnTypeInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'TemplateLiteral') ? TemplateLiteralInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'Uncapitalize') ? UncapitalizeInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'Uppercase') ? UppercaseInstantiate(context, state, parameters[0], options) :\n Guard.IsEqual(action, 'With') ? WithInstantiate(context, state, parameters[0], parameters[1]) :\n Deferred(action, parameters, options));\n}\nfunction InstantiateImmediate(context, state, type) {\n const instantiatedType = (IsRef(type) ? RefInstantiate(context, state, type, type.$ref) :\n IsArray(type) ? _Array_(InstantiateType(context, state, type.items), ArrayOptions(type)) :\n IsCall(type) ? CallInstantiate(context, state, type.target, type.arguments) :\n IsConstructor(type) ? Constructor(InstantiateTypes(context, state, type.parameters), InstantiateType(context, state, type.instanceType), ConstructorOptions(type)) :\n IsFunction(type) ? _Function_(InstantiateTypes(context, state, type.parameters), InstantiateType(context, state, type.returnType), FunctionOptions(type)) :\n IsDependent(type) ? Dependent(InstantiateType(context, state, type.if), InstantiateType(context, state, type.then), InstantiateType(context, state, type.else), DependentOptions(type)) :\n IsIntersect(type) ? Intersect(InstantiateTypes(context, state, type.allOf), IntersectOptions(type)) :\n IsObject(type) ? Object(InstantiateProperties(context, state, type.properties), ObjectOptions(type)) :\n IsRecord(type) ? RecordFromPattern(RecordPattern(type), InstantiateType(context, state, RecordValue(type))) :\n IsRest(type) ? Rest(InstantiateType(context, state, type.items)) :\n IsTuple(type) ? Tuple(InstantiateElements(context, state, type.items), TupleOptions(type)) :\n IsUnion(type) ? Union(InstantiateTypes(context, state, type.anyOf), UnionOptions(type)) :\n type);\n const withModifiers = WithModifiers(type, instantiatedType);\n return withModifiers;\n}\nexport function InstantiateType(context, state, type) {\n const result = IsDeferred(type)\n ? InstantiateDeferred(context, state, type.action, type.parameters, type.options)\n : InstantiateImmediate(context, state, type);\n return result;\n}\n/** Instantiates computed schematics using the given context and type. */\nexport function Instantiate(context, type) {\n return InstantiateType(context, State([], []), type);\n}\n","// deno-fmt-ignore-file\nimport { Memory } from '../../../system/memory/index.mjs';\nimport { InstantiateType } from '../instantiate.mjs';\nfunction AddImmutableOperation(type) {\n return Memory.Update(type, { '~immutable': true }, {});\n}\nexport function AddImmutableAction(type, options) {\n const result = Memory.Update(AddImmutableOperation(type), {}, options);\n return result;\n}\nexport function AddImmutableInstantiate(context, state, type, options) {\n const instantiatedType = InstantiateType(context, state, type);\n return AddImmutableAction(instantiatedType, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { AddImmutableAction } from '../engine/immutable/instantiate_add.mjs';\n/** Creates a deferred AddImmutable action. */\nexport function AddImmutableDeferred(type, options = {}) {\n return Deferred('AddImmutable', [type], options);\n}\n/** Applies an AddImmutable action to a type. */\nexport function AddImmutable(type, options = {}) {\n return AddImmutableAction(type, options);\n}\n","// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { EvaluateAction } from '../engine/evaluate/instantiate.mjs';\n/** Creates a deferred Evaluate action. */\nexport function EvaluateDeferred(type, options = {}) {\n return Deferred('Evaluate', [type], options);\n}\n/** Applies an Evaluate action to a type. */\nexport function Evaluate(type, options = {}) {\n return EvaluateAction(type, options);\n}\n","// deno-lint-ignore-file ban-types\n// deno-fmt-ignore-file\nimport { Deferred } from '../types/deferred.mjs';\nimport { State } from '../engine/instantiate.mjs';\nimport { ModuleInstantiate } from '../engine/module/instantiate.mjs';\n/** Creates a deferred Module action. */\nexport function ModuleDeferred(declarations, options = {}) {\n return Deferred('Module', [declarations], options);\n}\n/** Creates a Module with the given declarations */\nexport function Module(declarations, options = {}) {\n return ModuleInstantiate({}, State([], []), declarations, options);\n}\n","// deno-lint-ignore-file\n// deno-fmt-ignore-file\nimport { Arguments } from '../../system/arguments/index.mjs';\nimport { Memory } from '../../system/memory/index.mjs';\nimport { Guard } from '../../guard/index.mjs';\nimport { Never } from '../types/index.mjs';\nimport { InstantiateType } from '../engine/instantiate.mjs';\nimport { State } from '../engine/instantiate.mjs';\nimport * as Parser from './parser.mjs';\n/** Parses a type from a TypeScript type expression */\nexport function Script(...args) {\n const [context, input, options] = Arguments.Match(args, {\n 2: (script, options) => Guard.IsString(script) ? [{}, script, options] : [script, options, {}],\n 3: (context, script, options) => [context, script, options],\n 1: (script) => [{}, script, {}],\n });\n const result = Parser.Script(input);\n const parsed = Guard.IsArray(result) && Guard.IsEqual(result.length, 2)\n ? InstantiateType(context, State([], []), result[0])\n : Never();\n return Memory.Update(parsed, {}, options);\n}\n","// ------------------------------------------------------------------\n// Engine\n// ------------------------------------------------------------------\nexport { Instantiate } from './type/engine/instantiate.mjs';\n// ------------------------------------------------------------------\n// Extends\n// ------------------------------------------------------------------\nexport { Extends, ExtendsResult } from './type/extends/index.mjs';\n// ------------------------------------------------------------------\n// Script\n// ------------------------------------------------------------------\nexport { Script } from './type/script/index.mjs';\n// ------------------------------------------------------------------\n// Actions\n// ------------------------------------------------------------------\nexport { Capitalize } from './type/action/capitalize.mjs';\nexport { Conditional } from './type/action/conditional.mjs';\nexport { ConstructorParameters } from './type/action/constructor_parameters.mjs';\nexport { Evaluate } from './type/action/evaluate.mjs';\nexport { Exclude } from './type/action/exclude.mjs';\nexport { Extract } from './type/action/extract.mjs';\nexport { Index } from './type/action/index.mjs';\nexport { InstanceType } from './type/action/instance_type.mjs';\nexport { Interface } from './type/action/interface.mjs';\nexport { KeyOf } from './type/action/keyof.mjs';\nexport { Lowercase } from './type/action/lowercase.mjs';\nexport { Mapped } from './type/action/mapped.mjs';\nexport { Module } from './type/action/module.mjs';\nexport { NonNullable } from './type/action/non_nullable.mjs';\nexport { Omit } from './type/action/omit.mjs';\nexport { Parameters } from './type/action/parameters.mjs';\nexport { Partial } from './type/action/partial.mjs';\nexport { Pick } from './type/action/pick.mjs';\nexport { ReadonlyObject, ReadonlyType } from './type/action/readonly_object.mjs';\nexport { Required } from './type/action/required.mjs';\nexport { ReturnType } from './type/action/return_type.mjs';\nexport { Uncapitalize } from './type/action/uncapitalize.mjs';\nexport { Uppercase } from './type/action/uppercase.mjs';\nexport { With } from './type/action/with.mjs';\n// ------------------------------------------------------------------\n// Extension\n// ------------------------------------------------------------------\nexport { Codec, Decode, DecodeBuilder, Encode, EncodeBuilder, IsCodec } from './type/types/_codec.mjs';\nexport { Immutable, IsImmutable } from './type/types/_immutable.mjs';\nexport { IsOptional, Optional } from './type/types/_optional.mjs';\nexport { IsReadonly, Readonly } from './type/types/_readonly.mjs';\nexport { IsRefine, Refine } from './type/types/_refine.mjs';\n// ------------------------------------------------------------------\n// Standard\n// ------------------------------------------------------------------\nexport { Any, IsAny } from './type/types/any.mjs';\nexport { Array, IsArray } from './type/types/array.mjs';\nexport { BigInt, IsBigInt } from './type/types/bigint.mjs';\nexport { Boolean, IsBoolean } from './type/types/boolean.mjs';\nexport { Call, IsCall } from './type/types/call.mjs';\nexport { Constructor, IsConstructor } from './type/types/constructor.mjs';\nexport { Cyclic, IsCyclic } from './type/types/cyclic.mjs';\nexport { Enum, IsEnum, IsEnumValue } from './type/types/enum.mjs';\nexport { Function, IsFunction } from './type/types/function.mjs';\nexport { Generic, IsGeneric } from './type/types/generic.mjs';\nexport { Identifier, IsIdentifier } from './type/types/identifier.mjs';\nexport { Dependent, IsDependent } from './type/types/dependent.mjs';\nexport { Infer, IsInfer } from './type/types/infer.mjs';\nexport { Integer, IsInteger } from './type/types/integer.mjs';\nexport { Intersect, IsIntersect } from './type/types/intersect.mjs';\nexport { IsLiteral, Literal } from './type/types/literal.mjs';\nexport { IsNever, Never } from './type/types/never.mjs';\nexport { IsNull, Null } from './type/types/null.mjs';\nexport { IsNumber, Number } from './type/types/number.mjs';\nexport { IsObject, Object } from './type/types/object.mjs';\nexport { IsParameter, Parameter } from './type/types/parameter.mjs';\nexport { IsRecord, Record, RecordKey, RecordPattern, RecordValue } from './type/types/record.mjs';\nexport { IsRef, Ref } from './type/types/ref.mjs';\nexport { IsRest, Rest } from './type/types/rest.mjs';\nexport { IsKind, IsSchema } from './type/types/schema.mjs';\nexport { IsString, String } from './type/types/string.mjs';\nexport { IsSymbol, Symbol } from './type/types/symbol.mjs';\nexport { IsTemplateLiteral, TemplateLiteral } from './type/types/template_literal.mjs';\nexport { IsThis, This } from './type/types/this.mjs';\nexport { IsTuple, Tuple } from './type/types/tuple.mjs';\nexport { IsUndefined, Undefined } from './type/types/undefined.mjs';\nexport { IsUnion, Union } from './type/types/union.mjs';\nexport { IsUnknown, Unknown } from './type/types/unknown.mjs';\nexport { IsUnsafe, Unsafe } from './type/types/unsafe.mjs';\nexport { IsVoid, Void } from './type/types/void.mjs';\n","// @ts-nocheck — vendored Pi source; checked upstream under Pi's own tsconfig.\nimport type { AssistantMessage } from \"./pi-types.ts\";\n\n/**\n * Regex patterns to detect context overflow errors from different providers.\n *\n * These patterns match error messages returned when the input exceeds\n * the model's context window.\n *\n * Provider-specific patterns (with example error messages):\n *\n * - Anthropic: \"prompt is too long: 213462 tokens > 200000 maximum\"\n * - Anthropic: \"413 {\\\"error\\\":{\\\"type\\\":\\\"request_too_large\\\",\\\"message\\\":\\\"Request exceeds the maximum size\\\"}}\"\n * - OpenAI: \"Your input exceeds the context window of this model\"\n * - OpenAI/LiteLLM: \"Requested token count exceeds the model's maximum context length of 131072 tokens\"\n * - OpenAI-compatible: \"Input length (265330) exceeds model's maximum context length (262144).\"\n * - Google: \"The input token count (1196265) exceeds the maximum number of tokens allowed (1048575)\"\n * - xAI: \"This model's maximum prompt length is 131072 but the request contains 537812 tokens\"\n * - Groq: \"Please reduce the length of the messages or completion\"\n * - OpenRouter: \"This endpoint's maximum context length is X tokens. However, you requested about Y tokens\"\n * - OpenRouter/Poolside: \"Input length X exceeds the maximum allowed input length of Y tokens.\"\n * - Together AI: \"The input (X tokens) is longer than the model's context length (Y tokens).\"\n * - llama.cpp: \"the request exceeds the available context size, try increasing it\"\n * - LM Studio: \"tokens to keep from the initial prompt is greater than the context length\"\n * - GitHub Copilot: \"prompt token count of X exceeds the limit of Y\"\n * - MiniMax: \"invalid params, context window exceeds limit\"\n * - Kimi For Coding: \"Your request exceeded model token limit: X (requested: Y)\"\n * - DS4: \"Prompt has X tokens, but the configured context size is Y tokens\"\n * - Cerebras: \"400/413 status code (no body)\"\n * - Mistral: \"Prompt contains X tokens ... too large for model with Y maximum context length\"\n * - z.ai: Does NOT error, accepts overflow silently - handled via usage.input > contextWindow\n * - Xiaomi MiMo: Truncates input to fill contextWindow exactly, then returns finish_reason \"length\"\n * with output=0 (no room left to generate). Detected via stopReason \"length\" + zero output +\n * input filling the context window.\n * - DashScope/Qwen: \"Range of input length should be [1, X]\" (HTTP 400 invalid_parameter_error)\n * - Ollama: Some deployments truncate silently, others return errors like \"prompt too long; exceeded max context length by X tokens\"\n */\nconst OVERFLOW_PATTERNS = [\n\t/prompt is too long/i, // Anthropic token overflow\n\t/request_too_large/i, // Anthropic request byte-size overflow (HTTP 413)\n\t/input is too long for requested model/i, // Amazon Bedrock\n\t/exceeds the context window/i, // OpenAI (Completions & Responses API)\n\t/exceeds (?:the )?(?:model'?s )?maximum context length(?: of [\\d,]+ tokens?|\\s*\\([\\d,]+\\))/i, // OpenAI-compatible proxies (LiteLLM)\n\t/input token count.*exceeds the maximum/i, // Google (Gemini)\n\t/maximum prompt length is \\d+/i, // xAI (Grok)\n\t/reduce the length of the messages/i, // Groq\n\t/maximum context length is \\d+ tokens/i, // OpenRouter (most backends)\n\t/exceeds (?:the )?maximum allowed input length of [\\d,]+ tokens?/i, // OpenRouter/Poolside\n\t/input \\(\\d+ tokens\\) is longer than the model'?s context length \\(\\d+ tokens\\)/i, // Together AI\n\t/exceeds the limit of \\d+/i, // GitHub Copilot\n\t/exceeds the available context size/i, // llama.cpp server\n\t/greater than the context length/i, // LM Studio\n\t/context window exceeds limit/i, // MiniMax\n\t/exceeded model token limit/i, // Kimi For Coding\n\t/too large for model with \\d+ maximum context length/i, // Mistral\n\t/prompt has [\\d,]+ tokens?, but the configured context size is [\\d,]+ tokens?/i, // DS4 server\n\t/model_context_window_exceeded/i, // z.ai non-standard finish_reason surfaced as error text\n\t/prompt too long; exceeded (?:max )?context length/i, // Ollama explicit overflow error\n\t/range of input length should be/i, // DashScope / Qwen Token Plan\n\t/context[_ ]length[_ ]exceeded/i, // Generic fallback\n\t/too many tokens/i, // Generic fallback\n\t/token limit exceeded/i, // Generic fallback\n\t/^4(?:00|13)\\s*(?:status code)?\\s*\\(no body\\)/i, // Cerebras: 400/413 with no body\n];\n\n/**\n * Patterns that indicate non-overflow errors (e.g. rate limiting, server errors).\n * Error messages matching any of these are excluded from overflow detection\n * even if they also match an OVERFLOW_PATTERN.\n *\n * Example: Bedrock formats throttling errors as \"ThrottlingException: Too many tokens,\n * please wait before trying again.\" which would match the /too many tokens/i overflow\n * pattern without this exclusion.\n */\nconst NON_OVERFLOW_PATTERNS = [\n\t/^(Throttling error|Service unavailable):/i, // AWS Bedrock non-overflow errors (human-readable prefixes from formatBedrockError)\n\t/rate limit/i, // Generic rate limiting\n\t/too many requests/i, // Generic HTTP 429 style\n];\n\n/**\n * Check if an assistant message represents a context overflow error.\n *\n * This handles three cases:\n * 1. Error-based overflow: Most providers return stopReason \"error\" with a\n * specific error message pattern.\n * 2. Silent overflow: Some providers accept overflow requests and return\n * successfully. For these, we check if usage.input exceeds the context window.\n * 3. Length-stop overflow: Xiaomi MiMo can return \"length\" with zero output when\n * the input fills the context window.\n *\n * ## Reliability by Provider\n *\n * **Reliable detection (returns error with detectable message):**\n * - Anthropic: \"prompt is too long: X tokens > Y maximum\" or \"request_too_large\"\n * - OpenAI (Completions & Responses): \"exceeds the context window\", \"exceeds the model's maximum context length of X tokens\", or \"exceeds model's maximum context length (X)\"\n * - Google Gemini: \"input token count exceeds the maximum\"\n * - xAI (Grok): \"maximum prompt length is X but request contains Y\"\n * - Groq: \"reduce the length of the messages\"\n * - Cerebras: 400/413 status code (no body)\n * - Mistral: \"Prompt contains X tokens ... too large for model with Y maximum context length\"\n * - OpenRouter (most backends): \"maximum context length is X tokens\"\n * - OpenRouter/Poolside: \"Input length X exceeds the maximum allowed input length of Y tokens.\"\n * - Together AI: \"The input (X tokens) is longer than the model's context length (Y tokens).\"\n * - llama.cpp: \"exceeds the available context size\"\n * - LM Studio: \"greater than the context length\"\n * - Kimi For Coding: \"exceeded model token limit: X (requested: Y)\"\n * - DS4: \"Prompt has X tokens, but the configured context size is Y tokens\"\n * - DashScope/Qwen: \"Range of input length should be [1, X]\"\n *\n * **Unreliable detection:**\n * - z.ai: Sometimes accepts overflow silently (detectable via usage.input > contextWindow),\n * sometimes returns rate limit errors. Pass contextWindow param to detect silent overflow.\n * - Xiaomi MiMo: Truncates input to fit contextWindow then returns stopReason \"length\" with\n * output=0. Pass contextWindow param to detect via the \"filled context + zero output\" signal.\n * - Ollama: May truncate input silently for some setups, but may also return explicit\n * overflow errors that match the patterns above. Silent truncation still cannot be\n * detected here because we do not know the expected token count.\n *\n * ## Custom Providers\n *\n * If you've added custom models via settings.json, this function may not detect\n * overflow errors from those providers. To add support:\n *\n * 1. Send a request that exceeds the model's context window\n * 2. Check the errorMessage in the response\n * 3. Create a regex pattern that matches the error\n * 4. The pattern should be added to OVERFLOW_PATTERNS in this file, or\n * check the errorMessage yourself before calling this function\n *\n * @param message - The assistant message to check\n * @param contextWindow - Optional context window size for detecting silent overflow (z.ai)\n * @returns true if the message indicates a context overflow\n */\nexport function isContextOverflow(message: AssistantMessage, contextWindow?: number): boolean {\n\t// Case 1: Check error message patterns\n\tif (message.stopReason === \"error\" && message.errorMessage) {\n\t\t// Skip messages matching known non-overflow patterns (e.g. throttling / rate-limit)\n\t\tconst isNonOverflow = NON_OVERFLOW_PATTERNS.some((p) => p.test(message.errorMessage!));\n\t\tif (!isNonOverflow && OVERFLOW_PATTERNS.some((p) => p.test(message.errorMessage!))) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t// Case 2: Silent overflow (z.ai style) - successful but usage exceeds context\n\tif (contextWindow && message.stopReason === \"stop\") {\n\t\tconst inputTokens = message.usage.input + message.usage.cacheRead;\n\t\tif (inputTokens > contextWindow) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t// Case 3: Length-stop overflow (Xiaomi MiMo style) - server truncates oversized input\n\t// to fit the context window, leaving no room for output. Returns stopReason \"length\"\n\t// with output=0 and input+cacheRead filling the context window.\n\tif (contextWindow && message.stopReason === \"length\" && message.usage.output === 0) {\n\t\tconst inputTokens = message.usage.input + message.usage.cacheRead;\n\t\tif (inputTokens >= contextWindow * 0.99) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * Check whether a length stop ended below the caller or model's intended output limit.\n * Such responses may be caused by context pressure or provider-side truncation, so callers\n * can make one bounded compact-and-retry attempt. `desiredMaxOutput` must be the original\n * limit before any context-based clamping.\n */\nexport function isRecoverableLength(message: AssistantMessage, desiredMaxOutput: number): boolean {\n\treturn message.stopReason === \"length\" && desiredMaxOutput > 0 && message.usage.output < desiredMaxOutput;\n}\n\n/**\n * Get the overflow patterns for testing purposes.\n */\nexport function getOverflowPatterns(): RegExp[] {\n\treturn [...OVERFLOW_PATTERNS];\n}\n","// @ts-nocheck — vendored Pi source; checked upstream under Pi's own tsconfig.\nimport type { AssistantMessage } from \"./pi-types.ts\";\n\nfunction buildProviderErrorPattern(patterns: readonly string[]): RegExp {\n\treturn new RegExp(patterns.join(\"|\"), \"i\");\n}\n\nconst NON_RETRYABLE_PROVIDER_LIMIT_ERROR_PATTERN = buildProviderErrorPattern([\n\t// OpenCode Go/free-tier limits returned as 429 JSON error types by OpenCode's\n\t// Zen API. These are subscription/account limits, not transient throttles.\n\t\"GoUsageLimitError\",\n\t\"FreeUsageLimitError\",\n\n\t// OpenCode Go subscription-limit text asks users to enable available-balance\n\t// usage after rolling/weekly/monthly limits are reached.\n\t\"Monthly usage limit reached\",\n\t\"available balance\",\n\n\t// Generic quota/budget/billing exhaustion. `insufficient_quota` is OpenAI's\n\t// quota/billing error code; the other strings cover common gateway wording.\n\t\"insufficient_quota\",\n\t\"out of budget\",\n\t\"quota exceeded\",\n\t\"billing\",\n]);\n\nconst RETRYABLE_PROVIDER_ERROR_PATTERN = buildProviderErrorPattern([\n\t// Generic provider load, HTTP status, and server-side transient failures.\n\t\"overloaded\",\n\t\"rate.?limit\",\n\t\"too many requests\",\n\t\"429\",\n\t\"500\",\n\t\"502\",\n\t\"503\",\n\t\"504\",\n\t\"524\",\n\t\"service.?unavailable\",\n\t\"server.?error\",\n\t\"internal.?error\",\n\n\t// Wrapper/provider text for transient upstream failures, including OpenRouter\n\t// \"Provider returned error\" responses (#2264).\n\t\"provider.?returned.?error\",\n\t\"exceeded request buffer limit while retrying upstream\",\n\n\t// Network, proxy, and fetch transport failures. This includes OpenAI Codex\n\t// raw-fetch failures such as \"upstream connect\", \"connection refused\", and\n\t// \"reset before headers\" (#733), plus OpenRouter connection drops (#3317).\n\t\"network.?error\",\n\t\"connection.?error\",\n\t\"connection.?refused\",\n\t\"connection.?lost\",\n\t\"other side closed\",\n\t\"fetch failed\",\n\t\"getaddrinfo\",\n\t\"ENOTFOUND\",\n\t\"EAI_AGAIN\",\n\t\"upstream.?connect\",\n\t\"reset before headers\",\n\t\"socket hang up\",\n\t\"socket connection was closed\",\n\t\"timed? out\",\n\t\"timeout\",\n\t\"terminated\",\n\n\t// WebSocket transports can report close/error text instead of HTTP/fetch text.\n\t\"websocket.?closed\",\n\t\"websocket.?error\",\n\n\t// Premature stream endings from SDKs and transports. Anthropic can throw\n\t// \"stream ended without ...\" and \"Anthropic stream ended before message_stop\"\n\t// (#4433); Bedrock/Smithy can throw an HTTP/2 no-response error (#3594).\n\t\"ended without\",\n\t\"stream ended before message_stop\",\n\t\"stream ended before a terminal response event\",\n\t\"http2 request did not get a response\",\n\n\t// Provider-requested retry delay cap failures should flow through the outer\n\t// retry policy so callers can surface/abort the backoff (#1123).\n\t\"retry delay\",\n\n\t// Explicit retry guidance emitted mid-stream by OpenAI Responses and Bedrock\n\t// stream exceptions (#6019).\n\t\"you can retry your request\",\n\t\"try your request again\",\n\t\"please retry your request\",\n\n\t// gRPC based providers (e.g. NVIDIA NIM)\n\t\"ResourceExhausted\",\n]);\n\n/**\n * Retry policy: bounded attempts with exponential backoff (`baseDelayMs * 2^(attempt-1)`).\n * Matches `settings.retry` (`enabled`, `maxRetries`, `baseDelayMs`) in coding-agent; kept\n * here so the classifier and the policy-driven retry loop live together and stay reusable\n * by the SDK and other callers.\n */\nexport interface RetryPolicy {\n\tenabled: boolean;\n\t/** Max retry attempts (0 = no retries). The initial call never counts as a retry. */\n\tmaxRetries: number;\n\t/** Base delay in ms. Per-attempt delay is `baseDelayMs * 2^(attempt-1)` before jitter. */\n\tbaseDelayMs: number;\n}\n\n/** Optional callbacks emitted by {@link retryAssistantCall} around each retry. */\nexport interface RetryCallbacks {\n\t/** Emitted before the backoff sleep of each retry attempt (1-indexed). */\n\tonRetryScheduled?: (\n\t\tattempt: number,\n\t\tmaxAttempts: number,\n\t\tdelayMs: number,\n\t\terrorMessage: string,\n\t) => void | Promise<void>;\n\t/** Emitted after the backoff sleep, immediately before the retried call starts. */\n\tonRetryAttemptStart?: () => void | Promise<void>;\n\t/** Emitted once when the loop ends: success if a later call completed normally. */\n\tonRetryFinished?: (success: boolean, attempt: number, finalError?: string) => void | Promise<void>;\n}\n\nclass RetrySleepAbortError extends Error {\n\tconstructor() {\n\t\tsuper(\"Aborted\");\n\t}\n}\n\nfunction sleep(ms: number, signal?: AbortSignal): Promise<void> {\n\treturn new Promise((resolve, reject) => {\n\t\tif (signal?.aborted) {\n\t\t\treject(new RetrySleepAbortError());\n\t\t\treturn;\n\t\t}\n\t\tconst timeout = setTimeout(resolve, ms);\n\t\tsignal?.addEventListener(\n\t\t\t\"abort\",\n\t\t\t() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\treject(new RetrySleepAbortError());\n\t\t\t},\n\t\t\t{ once: true },\n\t\t);\n\t});\n}\n\n/**\n * Run a single assistant-producing call with bounded retry on transient errors.\n *\n * Behavior:\n * - A successful response is returned immediately. Aborts are terminal and never\n * retried, but reported as unsuccessful if they happen after a retry was scheduled.\n * Aborts during the backoff sleep are normalized to an aborted `AssistantMessage`\n * too, so callers do not need to care when cancellation happened.\n * - A non-retryable error (per {@link isRetryableAssistantError}, including quota/\n * billing exhaustion) is returned immediately so deterministic errors fail fast.\n * - Otherwise retries up to `maxRetries` times with exponential backoff, emitting\n * `onRetryScheduled` before each sleep, `onRetryAttemptStart` after each sleep before\n * the retried call starts, and `onRetryFinished` once at the end (whether the loop\n * ends in success, exhausted retries, or an aborted backoff).\n *\n * When `policy` is undefined or disabled, the first response is returned unchanged\n * (equivalent to calling `produce()` directly).\n */\nexport async function retryAssistantCall(\n\tproduce: () => Promise<AssistantMessage>,\n\tpolicy: RetryPolicy | undefined,\n\tsignal: AbortSignal | undefined,\n\tcallbacks?: RetryCallbacks,\n): Promise<AssistantMessage> {\n\tconst maxAttempts = policy?.enabled ? policy.maxRetries : 0;\n\n\tlet attempt = 0;\n\tlet lastRetry: { attempt: number; errorMessage: string } | undefined;\n\tfor (;;) {\n\t\tconst response = await produce();\n\n\t\t// Abort: terminal but not successful. Never retry an aborted message.\n\t\tif (response.stopReason === \"aborted\") {\n\t\t\tif (lastRetry) await callbacks?.onRetryFinished?.(false, lastRetry.attempt);\n\t\t\treturn response;\n\t\t}\n\n\t\t// Success: non-error, non-abort responses return as-is.\n\t\tif (response.stopReason !== \"error\") {\n\t\t\tif (lastRetry) await callbacks?.onRetryFinished?.(true, lastRetry.attempt);\n\t\t\treturn response;\n\t\t}\n\n\t\t// Non-retryable, or budget exhausted: return the final error message.\n\t\tif (attempt >= maxAttempts || !isRetryableAssistantError(response)) {\n\t\t\tif (lastRetry) await callbacks?.onRetryFinished?.(false, lastRetry.attempt, response.errorMessage);\n\t\t\treturn response;\n\t\t}\n\n\t\tattempt++;\n\t\tlastRetry = { attempt, errorMessage: response.errorMessage || \"Unknown error\" };\n\t\tconst delayMs = policy!.baseDelayMs * 2 ** (attempt - 1);\n\t\tawait callbacks?.onRetryScheduled?.(attempt, maxAttempts, delayMs, lastRetry.errorMessage);\n\n\t\t// Normalize aborts during retry backoff to the same AssistantMessage shape as\n\t\t// provider stream aborts, so callers do not need to care when cancellation happened.\n\t\ttry {\n\t\t\tawait sleep(delayMs, signal);\n\t\t} catch (error) {\n\t\t\tawait callbacks?.onRetryFinished?.(false, attempt, lastRetry.errorMessage);\n\t\t\tif (error instanceof RetrySleepAbortError) {\n\t\t\t\treturn { ...response, stopReason: \"aborted\", errorMessage: undefined };\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t\tawait callbacks?.onRetryAttemptStart?.();\n\t}\n}\n\n/**\n * Classifies whether a failed assistant message looks like a transient provider\n * or transport error, so callers can decide if the last assistant turn should be\n * restarted.\n *\n * This does not implement retry policy. Callers should first handle context\n * overflow separately, then apply their own retry budget, backoff, and reporting\n * before restarting the assistant turn.\n */\nexport function isRetryableAssistantError(message: AssistantMessage): boolean {\n\tif (message.stopReason !== \"error\" || !message.errorMessage) return false;\n\tconst errorMessage = message.errorMessage;\n\tif (NON_RETRYABLE_PROVIDER_LIMIT_ERROR_PATTERN.test(errorMessage)) return false;\n\treturn RETRYABLE_PROVIDER_ERROR_PATTERN.test(errorMessage);\n}\n","// Headless @earendil-works/pi-ai compatibility surface.\n//\n// Provider SDKs, OAuth flows, and streaming transports stay native to DSH;\n// this module carries the schema helpers, error classifiers, and thinking-\n// level math that Pi extensions import for their own logic. Overflow/retry\n// classifiers are vendored byte-identical (see ./vendor/PI-LICENSE) so\n// pattern tables stay in sync with Pi.\n\nexport type { Static, TSchema } from 'typebox'\nexport { Type } from 'typebox'\nexport { isContextOverflow, isRecoverableLength } from './vendor/pi-ai-overflow.js'\nexport { isRetryableAssistantError } from './vendor/pi-ai-retry.js'\nexport { uuidv7 } from './vendor/pi-uuid.js'\nexport type {\n AgentMessage,\n AssistantMessage,\n ImageContent,\n Message,\n TextContent,\n ThinkingContent,\n ToolCallContent,\n ToolResultMessage,\n Usage,\n UserMessage,\n} from './vendor/pi-types.js'\n\nexport type ThinkingLevel = 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'\nexport type ModelThinkingLevel = 'off' | ThinkingLevel\nexport type ThinkingLevelMap = Partial<Record<ModelThinkingLevel, string | null>>\nexport type Api = string\n\nexport interface Model<TApi extends Api = Api> {\n id: string\n name?: string\n api?: TApi\n provider?: string\n baseUrl?: string\n reasoning?: boolean\n thinkingLevelMap?: ThinkingLevelMap\n input?: readonly ('text' | 'image')[]\n contextWindow?: number\n maxTokens?: number\n [key: string]: unknown\n}\n\nconst EXTENDED_THINKING_LEVELS: ModelThinkingLevel[] = ['off', 'minimal', 'low', 'medium', 'high', 'xhigh', 'max']\n\nexport function getSupportedThinkingLevels<TApi extends Api>(model: Model<TApi>): ModelThinkingLevel[] {\n return EXTENDED_THINKING_LEVELS.filter(level => {\n const mapped = model.thinkingLevelMap?.[level]\n if (mapped === null) return false\n if (level === 'xhigh' || level === 'max') return mapped !== undefined\n return true\n })\n}\n\nexport function clampThinkingLevel<TApi extends Api>(\n model: Model<TApi>,\n level: ModelThinkingLevel,\n): ModelThinkingLevel {\n const availableLevels = getSupportedThinkingLevels(model)\n if (availableLevels.includes(level)) return level\n const requestedIndex = EXTENDED_THINKING_LEVELS.indexOf(level)\n if (requestedIndex === -1) return availableLevels[0] ?? 'off'\n for (let i = requestedIndex; i < EXTENDED_THINKING_LEVELS.length; i += 1) {\n const candidate = EXTENDED_THINKING_LEVELS[i]!\n if (availableLevels.includes(candidate)) return candidate\n }\n for (let i = requestedIndex - 1; i >= 0; i -= 1) {\n const candidate = EXTENDED_THINKING_LEVELS[i]!\n if (availableLevels.includes(candidate)) return candidate\n }\n return availableLevels[0] ?? 'off'\n}\n\nexport function modelsAreEqual<TApi extends Api>(\n a: Model<TApi> | null | undefined,\n b: Model<TApi> | null | undefined,\n): boolean {\n if (a === null || a === undefined || b === null || b === undefined) return false\n return a.id === b.id && a.provider === b.provider\n}\n\ninterface TextishContent {\n type: string\n text?: string\n [key: string]: unknown\n}\n\nexport function contentText(content: string | readonly TextishContent[], separator = '\\n'): string {\n if (typeof content === 'string') return content\n return content\n .filter(block => block.type === 'text')\n .map(block => String(block.text ?? ''))\n .join(separator)\n}\n\n// Legacy pi-ai/compat global-registry API. The registry is bridge-local:\n// providers registered here are visible to the same package but never route\n// real model calls (DSH llm adapters own those).\nconst compatProviders = new Map<string, unknown>()\n\nexport function registerProvider(name: string, provider: unknown): void {\n compatProviders.set(name, provider)\n}\n\n// Pi's compat getProviders() returns provider NAMES (callers iterate and\n// Set() them).\nexport function getProviders(): string[] {\n return [...compatProviders.keys()]\n}\n\nexport function getProvider(name: string): unknown {\n return compatProviders.get(name)\n}\n\nexport function getModel(_provider: string, _id: string): undefined {\n return undefined\n}\n\nexport function getModels(_provider?: string): unknown[] {\n return []\n}\n\nexport function complete(..._args: unknown[]): never {\n throw new Error('pi2dsh: pi-ai complete() routes model calls through Pi provider SDKs; use DSH llm adapters instead')\n}\n\nexport function stream(..._args: unknown[]): never {\n throw new Error('pi2dsh: pi-ai stream() routes model calls through Pi provider SDKs; use DSH llm adapters instead')\n}\n\nexport interface StringEnumOptions<T extends readonly string[]> {\n description?: string\n default?: T[number]\n}\n\nexport function StringEnum<T extends readonly string[]>(\n values: T,\n options: StringEnumOptions<T> = {},\n): { type: 'string'; enum: T; description?: string; default?: T[number] } {\n return {\n type: 'string',\n enum: values,\n ...(options.description !== undefined ? { description: options.description } : {}),\n ...(options.default !== undefined ? { default: options.default } : {}),\n }\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,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,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266],"mappings":"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"}
|