@fncts/schema 0.0.24 → 0.0.25

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.
Files changed (135) hide show
  1. package/LICENSE +26 -0
  2. package/_cjs/AST.cjs +1093 -1226
  3. package/_cjs/AST.cjs.map +1 -1
  4. package/_cjs/ASTAnnotation.cjs +114 -85
  5. package/_cjs/ASTAnnotation.cjs.map +1 -1
  6. package/_cjs/ASTAnnotationMap.cjs +43 -41
  7. package/_cjs/ASTAnnotationMap.cjs.map +1 -1
  8. package/_cjs/Eq.cjs +113 -145
  9. package/_cjs/Eq.cjs.map +1 -1
  10. package/_cjs/Gen.cjs +131 -167
  11. package/_cjs/Gen.cjs.map +1 -1
  12. package/_cjs/Guard.cjs +167 -267
  13. package/_cjs/Guard.cjs.map +1 -1
  14. package/_cjs/InvalidInterpretationError.cjs +9 -10
  15. package/_cjs/InvalidInterpretationError.cjs.map +1 -1
  16. package/_cjs/ParseError/ParseError.cjs +283 -284
  17. package/_cjs/ParseError/ParseError.cjs.map +1 -1
  18. package/_cjs/ParseError/ParseErrorFormatter.cjs +0 -2
  19. package/_cjs/ParseError/PathFormatter.cjs +55 -87
  20. package/_cjs/ParseError/PathFormatter.cjs.map +1 -1
  21. package/_cjs/ParseError/TreeFormatter.cjs +70 -102
  22. package/_cjs/ParseError/TreeFormatter.cjs.map +1 -1
  23. package/_cjs/ParseError.cjs +35 -50
  24. package/_cjs/ParseResult.cjs +15 -15
  25. package/_cjs/ParseResult.cjs.map +1 -1
  26. package/_cjs/Parser/api.cjs +54 -50
  27. package/_cjs/Parser/api.cjs.map +1 -1
  28. package/_cjs/Parser/definition.cjs +17 -16
  29. package/_cjs/Parser/definition.cjs.map +1 -1
  30. package/_cjs/Parser/interpreter.cjs +276 -358
  31. package/_cjs/Parser/interpreter.cjs.map +1 -1
  32. package/_cjs/Parser.cjs +12 -39
  33. package/_cjs/Schema/api/conc.cjs +64 -59
  34. package/_cjs/Schema/api/conc.cjs.map +1 -1
  35. package/_cjs/Schema/api/either.cjs +73 -72
  36. package/_cjs/Schema/api/either.cjs.map +1 -1
  37. package/_cjs/Schema/api/hashMap.cjs +85 -85
  38. package/_cjs/Schema/api/hashMap.cjs.map +1 -1
  39. package/_cjs/Schema/api/hashSet.cjs +75 -69
  40. package/_cjs/Schema/api/hashSet.cjs.map +1 -1
  41. package/_cjs/Schema/api/list.cjs +74 -66
  42. package/_cjs/Schema/api/list.cjs.map +1 -1
  43. package/_cjs/Schema/api/map.cjs +81 -83
  44. package/_cjs/Schema/api/map.cjs.map +1 -1
  45. package/_cjs/Schema/api/maybe.cjs +56 -49
  46. package/_cjs/Schema/api/maybe.cjs.map +1 -1
  47. package/_cjs/Schema/api/set.cjs +68 -61
  48. package/_cjs/Schema/api/set.cjs.map +1 -1
  49. package/_cjs/Schema/api.cjs +332 -350
  50. package/_cjs/Schema/api.cjs.map +1 -1
  51. package/_cjs/Schema/definition.cjs +28 -26
  52. package/_cjs/Schema/definition.cjs.map +1 -1
  53. package/_cjs/Schema/derivations.cjs +85 -100
  54. package/_cjs/Schema/derivations.cjs.map +1 -1
  55. package/_cjs/Schema.cjs +95 -127
  56. package/_cjs/Show.cjs +91 -151
  57. package/_cjs/Show.cjs.map +1 -1
  58. package/_cjs/chunk.cjs +28 -0
  59. package/_cjs/global.cjs +0 -2
  60. package/_cjs/index.cjs +0 -2
  61. package/_cjs/utils.cjs +41 -46
  62. package/_cjs/utils.cjs.map +1 -1
  63. package/_mjs/AST.mjs +996 -1161
  64. package/_mjs/AST.mjs.map +1 -1
  65. package/_mjs/ASTAnnotation.mjs +77 -73
  66. package/_mjs/ASTAnnotation.mjs.map +1 -1
  67. package/_mjs/ASTAnnotationMap.mjs +31 -29
  68. package/_mjs/ASTAnnotationMap.mjs.map +1 -1
  69. package/_mjs/Eq.mjs +101 -134
  70. package/_mjs/Eq.mjs.map +1 -1
  71. package/_mjs/Gen.mjs +117 -157
  72. package/_mjs/Gen.mjs.map +1 -1
  73. package/_mjs/Guard.mjs +154 -257
  74. package/_mjs/Guard.mjs.map +1 -1
  75. package/_mjs/InvalidInterpretationError.mjs +8 -4
  76. package/_mjs/InvalidInterpretationError.mjs.map +1 -1
  77. package/_mjs/ParseError/ParseError.mjs +266 -262
  78. package/_mjs/ParseError/ParseError.mjs.map +1 -1
  79. package/_mjs/ParseError/ParseErrorFormatter.mjs +0 -2
  80. package/_mjs/ParseError/PathFormatter.mjs +51 -80
  81. package/_mjs/ParseError/PathFormatter.mjs.map +1 -1
  82. package/_mjs/ParseError/TreeFormatter.mjs +62 -94
  83. package/_mjs/ParseError/TreeFormatter.mjs.map +1 -1
  84. package/_mjs/ParseError.mjs +5 -6
  85. package/_mjs/ParseResult.mjs +13 -9
  86. package/_mjs/ParseResult.mjs.map +1 -1
  87. package/_mjs/Parser/api.mjs +43 -39
  88. package/_mjs/Parser/api.mjs.map +1 -1
  89. package/_mjs/Parser/definition.mjs +12 -8
  90. package/_mjs/Parser/definition.mjs.map +1 -1
  91. package/_mjs/Parser/interpreter.mjs +262 -348
  92. package/_mjs/Parser/interpreter.mjs.map +1 -1
  93. package/_mjs/Parser.mjs +4 -5
  94. package/_mjs/Schema/api/conc.mjs +41 -45
  95. package/_mjs/Schema/api/conc.mjs.map +1 -1
  96. package/_mjs/Schema/api/either.mjs +55 -61
  97. package/_mjs/Schema/api/either.mjs.map +1 -1
  98. package/_mjs/Schema/api/hashMap.mjs +61 -71
  99. package/_mjs/Schema/api/hashMap.mjs.map +1 -1
  100. package/_mjs/Schema/api/hashSet.mjs +53 -56
  101. package/_mjs/Schema/api/hashSet.mjs.map +1 -1
  102. package/_mjs/Schema/api/list.mjs +50 -53
  103. package/_mjs/Schema/api/list.mjs.map +1 -1
  104. package/_mjs/Schema/api/map.mjs +59 -69
  105. package/_mjs/Schema/api/map.mjs.map +1 -1
  106. package/_mjs/Schema/api/maybe.mjs +34 -36
  107. package/_mjs/Schema/api/maybe.mjs.map +1 -1
  108. package/_mjs/Schema/api/set.mjs +47 -48
  109. package/_mjs/Schema/api/set.mjs.map +1 -1
  110. package/_mjs/Schema/api.mjs +304 -346
  111. package/_mjs/Schema/api.mjs.map +1 -1
  112. package/_mjs/Schema/definition.mjs +21 -17
  113. package/_mjs/Schema/definition.mjs.map +1 -1
  114. package/_mjs/Schema/derivations.mjs +71 -90
  115. package/_mjs/Schema/derivations.mjs.map +1 -1
  116. package/_mjs/Schema.mjs +12 -15
  117. package/_mjs/Show.mjs +79 -139
  118. package/_mjs/Show.mjs.map +1 -1
  119. package/_mjs/global.mjs +0 -2
  120. package/_mjs/index.mjs +0 -2
  121. package/_mjs/utils.mjs +35 -37
  122. package/_mjs/utils.mjs.map +1 -1
  123. package/package.json +7 -3
  124. package/_cjs/ParseError/ParseErrorFormatter.cjs.map +0 -1
  125. package/_cjs/ParseError.cjs.map +0 -1
  126. package/_cjs/Parser.cjs.map +0 -1
  127. package/_cjs/Schema.cjs.map +0 -1
  128. package/_cjs/global.cjs.map +0 -1
  129. package/_cjs/index.cjs.map +0 -1
  130. package/_mjs/ParseError/ParseErrorFormatter.mjs.map +0 -1
  131. package/_mjs/ParseError.mjs.map +0 -1
  132. package/_mjs/Parser.mjs.map +0 -1
  133. package/_mjs/Schema.mjs.map +0 -1
  134. package/_mjs/global.mjs.map +0 -1
  135. package/_mjs/index.mjs.map +0 -1
package/_mjs/AST.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"AST.mjs","names":["createLiteral","createLiteral_1","isLiteral","isLiteral_1","createUniqueSymbol","createUniqueSymbol_1","isUniqueSymbol","isUniqueSymbol_1","isStringKeyword","isStringKeyword_1","isNumberKeyword","isNumberKeyword_1","isSymbolKeyword","isSymbolKeyword_1","createTemplateLiteral","createTemplateLiteral_1","createElement","createElement_1","createTuple","createTuple_1","createPropertySignature","createPropertySignature_1","createIndexSignature","createIndexSignature_1","createTypeLiteral","createTypeLiteral_1","createUnion","createUnion_1","createLazy","createLazy_1","createRefinement","createRefinement_1","getPropertySignatures","getPropertySignatures_1","keysOf","keysOf_1","partial","partial_1","getFrom","getFrom_1","getTo","getTo_1","show","memoize","ASTAnnotationMap","ASTTypeId","Symbol","for","Annotated","annotations","empty","AST","toString","verbose","tsplus_module_2","showAST","concrete","_","isAST","u","tsplus_module_3","isObject","hasTag","tag","_tag","getAnnotations","key","self","get","Declaration","typeParameters","decode","encode","constructor","clone","newProperties","tsplus_module_1","equalsSymbol","that","context","comparator","createDeclaration","isDeclaration","Literal","literal","UniqueSymbol","symbol","UndefinedKeyword","undefinedKeyword_1","annotate","tsplus_module_4","Title","undefinedKeyword","VoidKeyword","voidKeyword","NeverKeyword","neverKeyword_1","neverKeyword","UnknownKeyword","unknownKeyword_1","unknownKeyword","AnyKeyword","anyKeyword","StringKeyword","stringKeyword_1","stringKeyword","NumberKeyword","numberKeyword_1","numberKeyword","BooleanKeyword","booleanKeyword","isBooleanKeyword","BigIntKeyword","bigIntKeyword","isBigIntKeyword","SymbolKeyword","symbolKeyword_1","symbolKeyword","ObjectKeyword","objectKeyword","Enum","enums","tsplus_module_5","corresponds","leftName","leftValue","rightName","rightValue","createEnum","TemplateLiteralSpan","type","TemplateLiteral","head","spans","tsplus_module_6","isNonEmpty","Element","isOptional","String","Tuple","elements","rest","isReadonly","unknownArray","tsplus_module_7","just","vector","fileName_1","PropertySignature","name","IndexSignature","parameter","TypeLiteral","propertySignatures","indexSignatures","sortByAscendingCardinality","isTypeLiteral","unknownRecord","Union","types","isUnion","candidates","unify","length","unsafeGet","sortByDescendingWeight","Lazy","getAST","isLazy","Refinement","from","predicate","input","options","tsplus_module_8","succeed","fail","tsplus_module_9","typeError","isRefinement","Transform","to","createTransform","Validation","validation","createValidation","getCardinality","ast","ast_1","sort","tsplus_module_11","contramap","tsplus_module_10","Ord","OrdWeight","tsplus_module_12","tuple","maxWeight","tsplus_module_13","max","maxWeightAll","weights","tsplus_module_14","foldLeft","emptyWeight","b","a","getWeight","tsplus_module_15","match","y","z","Surrogate","map","x","out","flatMap","some","filter","m","combineAnnotations","combine","setAnnotation","annotation","value","appendRestElement","restElement","tsplus_module_16","isJust","Error","appendElement","element","e","append","nothing","getParameter","surrogate","mapWithIndex","i","filterMap","every","ps","p","members","concat","is","keyof","createRecord","emptyPushable","go","tsplus_module_17","push","forEach","pick","keys","includes","omit","tsplus_module_18","f","createKey","getCompiler","compile","getLiterals","isDecoding","propertySignature","getSearchTree","otherwise","member","tags","j","hash","buckets","literals","Object","prototype","hasOwnProperty","call","getFormattedExpected","description","orElse","Description","identifier","Identifier"],"sources":["../_src/AST.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AST.mjs","names":[],"sources":["../esm/AST.js"],"sourcesContent":["const fileName_1 = \"(@fncts/schema) src/AST.ts\";\nimport * as tsplus_module_1 from \"@fncts/base/data/Equatable/definition\";\nimport * as tsplus_module_2 from \"@fncts/schema/Show\";\nimport * as tsplus_module_3 from \"@fncts/base/util/predicates\";\nimport * as tsplus_module_4 from \"@fncts/schema/ASTAnnotation\";\nimport * as tsplus_module_5 from \"@fncts/base/collection/immutable/Vector/definition\";\nimport * as tsplus_module_6 from \"@fncts/base/collection/immutable/Vector/api\";\nimport * as tsplus_module_7 from \"@fncts/base/data/Maybe/constructors\";\nimport * as tsplus_module_8 from \"@fncts/schema/ParseResult\";\nimport * as tsplus_module_9 from \"@fncts/schema/ParseError/ParseError\";\nimport * as tsplus_module_10 from \"@fncts/base/data/number/instances\";\nimport * as tsplus_module_11 from \"@fncts/base/data/Ord/api/contramap\";\nimport * as tsplus_module_12 from \"@fncts/base/data/Ord/api\";\nimport * as tsplus_module_13 from \"@fncts/base/data/Ord/api/max\";\nimport * as tsplus_module_14 from \"@fncts/base/collection/Iterable/api\";\nimport * as tsplus_module_15 from \"@fncts/base/data/Maybe/destructors\";\nimport * as tsplus_module_16 from \"@fncts/base/data/Maybe/definition\";\nimport * as tsplus_module_17 from \"@fncts/base/collection/immutable/Vector/internal\";\nimport * as tsplus_module_18 from \"@fncts/base/data/Maybe/api\";\nexport const createLiteral = createLiteral_1;\nexport const isLiteral = isLiteral_1;\nexport const createUniqueSymbol = createUniqueSymbol_1;\nexport const isUniqueSymbol = isUniqueSymbol_1;\nexport const isStringKeyword = isStringKeyword_1;\nexport const isNumberKeyword = isNumberKeyword_1;\nexport const isSymbolKeyword = isSymbolKeyword_1;\nexport const createTemplateLiteral = createTemplateLiteral_1;\nexport const createElement = createElement_1;\nexport const createTuple = createTuple_1;\nexport const createPropertySignature = createPropertySignature_1;\nexport const createIndexSignature = createIndexSignature_1;\nexport const createTypeLiteral = createTypeLiteral_1;\nexport const createUnion = createUnion_1;\nexport const createLazy = createLazy_1;\nexport const createRefinement = createRefinement_1;\nexport const getPropertySignatures = getPropertySignatures_1;\nexport const keysOf = keysOf_1;\nexport const partial = partial_1;\nexport const getFrom = getFrom_1;\nexport const getTo = getTo_1;\nimport { show } from \"@fncts/base/data/Showable\";\nimport { memoize } from \"@fncts/schema/utils\";\nimport { ASTAnnotationMap } from \"./ASTAnnotationMap.js\";\nexport const ASTTypeId = Symbol.for(\"fncts.schema.AST\");\nexport class Annotated {\n annotations = ASTAnnotationMap.empty;\n}\n/**\n * @tsplus type fncts.schema.AST\n * @tsplus companion fncts.schema.ASTOps\n */\nexport class AST extends Annotated {\n [ASTTypeId] = ASTTypeId;\n toString(verbose = false) {\n return tsplus_module_2.showAST(verbose)(this);\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps concrete\n * @tsplus macro remove\n */\nexport function concrete(_) {\n //\n}\nexport function isAST(u) {\n return tsplus_module_3.isObject(u) && ASTTypeId in u;\n}\nfunction hasTag(u, tag) {\n return isAST(u) && u._tag === tag;\n}\nexport function getAnnotations(key) {\n return (self) => {\n return self.annotations.get(key);\n };\n}\n/*\n * Declaration\n */\n/**\n * @tsplus type fncts.schema.AST.Declaration\n */\nexport class Declaration extends AST {\n typeParameters;\n decode;\n encode;\n annotations;\n _tag = 0 /* ASTTag.Declaration */;\n constructor(typeParameters, decode, encode, annotations = ASTAnnotationMap.empty) {\n super();\n this.typeParameters = typeParameters;\n this.decode = decode;\n this.encode = encode;\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new Declaration(newProperties.typeParameters ?? this.typeParameters, newProperties.decode ?? this.decode, newProperties.encode ?? this.encode, newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (hasTag(that, 0 /* ASTTag.Declaration */) &&\n context.comparator(this.typeParameters, that.typeParameters) &&\n context.comparator(this.decode, that.decode) &&\n context.comparator(this.encode, that.encode) &&\n context.comparator(this.annotations, that.annotations));\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps createDeclaration\n */\nexport function createDeclaration(typeParameters, decode, encode, annotations = ASTAnnotationMap.empty) {\n return new Declaration(typeParameters, decode, encode, annotations);\n}\n/**\n * @tsplus fluent fncts.schema.AST isDeclaration\n */\nexport function isDeclaration(self) {\n void 0;\n return self._tag === 0 /* ASTTag.Declaration */;\n}\nexport class Literal extends AST {\n literal;\n annotations;\n _tag = 1 /* ASTTag.Literal */;\n constructor(literal, annotations = ASTAnnotationMap.empty) {\n super();\n this.literal = literal;\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new Literal(newProperties.literal ?? this.literal, newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (hasTag(that, 1 /* ASTTag.Literal */) &&\n context.comparator(this.literal, that.literal) &&\n context.comparator(this.annotations, that.annotations));\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps createLiteral\n */\nfunction createLiteral_1(literal, annotations = ASTAnnotationMap.empty) {\n return new Literal(literal, annotations);\n}\n/**\n * @tsplus fluent fncts.schema.AST isLiteral\n */\nfunction isLiteral_1(self) {\n void 0;\n return self._tag === 1 /* ASTTag.Literal */;\n}\n/*\n * UniqueSymbol\n */\nexport class UniqueSymbol extends AST {\n symbol;\n annotations;\n _tag = 2 /* ASTTag.UniqueSymbol */;\n constructor(symbol, annotations = ASTAnnotationMap.empty) {\n super();\n this.symbol = symbol;\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new UniqueSymbol(newProperties.symbol ?? this.symbol, newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (hasTag(that, 2 /* ASTTag.UniqueSymbol */) &&\n context.comparator(this.symbol, that.symbol) &&\n context.comparator(this.annotations, that.annotations));\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps createUniqueSymbol\n */\nfunction createUniqueSymbol_1(symbol, annotations = ASTAnnotationMap.empty) {\n return new UniqueSymbol(symbol, annotations);\n}\n/**\n * @tsplus fluent fncts.schema.AST isUniqueSymbol\n */\nfunction isUniqueSymbol_1(self) {\n void 0;\n return self._tag === 2 /* ASTTag.UniqueSymbol */;\n}\n/*\n * UndefinedKeyword\n */\nexport class UndefinedKeyword extends AST {\n annotations;\n _tag = 3 /* ASTTag.UndefinedKeyword */;\n constructor(annotations = ASTAnnotationMap.empty) {\n super();\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new UndefinedKeyword(newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return hasTag(that, 3 /* ASTTag.UndefinedKeyword */) && context.comparator(this.annotations, that.annotations);\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps undefinedKeyword\n */\nconst undefinedKeyword_1 = new UndefinedKeyword(ASTAnnotationMap.empty.annotate(tsplus_module_4.Title, \"undefined\"));\nexport const undefinedKeyword = undefinedKeyword_1;\n/*\n * VoidKeyword\n */\nexport class VoidKeyword extends AST {\n annotations;\n _tag = 4 /* ASTTag.VoidKeyword */;\n constructor(annotations = ASTAnnotationMap.empty) {\n super();\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new VoidKeyword(newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return hasTag(that, 4 /* ASTTag.VoidKeyword */) && context.comparator(this.annotations, that.annotations);\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps voidKeyword\n */\nexport const voidKeyword = new VoidKeyword(ASTAnnotationMap.empty.annotate(tsplus_module_4.Title, \"void\"));\n/*\n * NeverKeyword\n */\nexport class NeverKeyword extends AST {\n annotations;\n _tag = 5 /* ASTTag.NeverKeyword */;\n constructor(annotations = ASTAnnotationMap.empty) {\n super();\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new NeverKeyword(newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return hasTag(that, 5 /* ASTTag.NeverKeyword */) && context.comparator(this.annotations, that.annotations);\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps neverKeyword\n */\nconst neverKeyword_1 = new NeverKeyword(ASTAnnotationMap.empty.annotate(tsplus_module_4.Title, \"never\"));\nexport const neverKeyword = neverKeyword_1;\n/*\n * UnknownKeyword\n */\nexport class UnknownKeyword extends AST {\n annotations;\n _tag = 6 /* ASTTag.UnknownKeyword */;\n constructor(annotations = ASTAnnotationMap.empty) {\n super();\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new UnknownKeyword(newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return hasTag(that, 6 /* ASTTag.UnknownKeyword */) && context.comparator(this.annotations, that.annotations);\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps unknownKeyword\n */\nconst unknownKeyword_1 = new UnknownKeyword(ASTAnnotationMap.empty.annotate(tsplus_module_4.Title, \"unknown\"));\nexport const unknownKeyword = unknownKeyword_1;\n/*\n * AnyKeyword\n */\nexport class AnyKeyword extends AST {\n annotations;\n _tag = 7 /* ASTTag.AnyKeyword */;\n constructor(annotations = ASTAnnotationMap.empty) {\n super();\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new AnyKeyword(newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return hasTag(that, 7 /* ASTTag.AnyKeyword */) && context.comparator(this.annotations, that.annotations);\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps anyKeyword\n */\nexport const anyKeyword = new AnyKeyword(ASTAnnotationMap.empty.annotate(tsplus_module_4.Title, \"any\"));\n/*\n * StringKeyword\n */\nexport class StringKeyword extends AST {\n annotations;\n _tag = 8 /* ASTTag.StringKeyword */;\n constructor(annotations = ASTAnnotationMap.empty) {\n super();\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new StringKeyword(newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return hasTag(that, 8 /* ASTTag.StringKeyword */) && context.comparator(this.annotations, that.annotations);\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps stringKeyword\n */\nconst stringKeyword_1 = new StringKeyword(ASTAnnotationMap.empty.annotate(tsplus_module_4.Title, \"string\"));\nexport const stringKeyword = stringKeyword_1;\n/**\n * @tsplus fluent fncts.schema.AST isStringKeyword\n */\nfunction isStringKeyword_1(self) {\n void 0;\n return self._tag === 8 /* ASTTag.StringKeyword */;\n}\n/*\n * NumberKeyword\n */\nexport class NumberKeyword extends AST {\n annotations;\n _tag = 9 /* ASTTag.NumberKeyword */;\n constructor(annotations = ASTAnnotationMap.empty) {\n super();\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new NumberKeyword(newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return hasTag(that, 9 /* ASTTag.NumberKeyword */) && context.comparator(this.annotations, that.annotations);\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps numberKeyword\n */\nconst numberKeyword_1 = new NumberKeyword(ASTAnnotationMap.empty.annotate(tsplus_module_4.Title, \"number\"));\nexport const numberKeyword = numberKeyword_1;\n/**\n * @tsplus fluent fncts.schema.AST isNumberKeyword\n */\nfunction isNumberKeyword_1(self) {\n void 0;\n return self._tag === 9 /* ASTTag.NumberKeyword */;\n}\n/*\n * BooleanKeyword\n */\nexport class BooleanKeyword extends AST {\n annotations;\n _tag = 10 /* ASTTag.BooleanKeyword */;\n constructor(annotations = ASTAnnotationMap.empty) {\n super();\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new BooleanKeyword(newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return hasTag(that, 10 /* ASTTag.BooleanKeyword */) && context.comparator(this.annotations, that.annotations);\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps booleanKeyword\n */\nexport const booleanKeyword = new BooleanKeyword(ASTAnnotationMap.empty.annotate(tsplus_module_4.Title, \"boolean\"));\n/**\n * @tsplus fluent fncts.schema.AST isBooleanKeyword\n */\nexport function isBooleanKeyword(self) {\n void 0;\n return self._tag === 10 /* ASTTag.BooleanKeyword */;\n}\n/*\n * BigIntKeyword\n */\nexport class BigIntKeyword extends AST {\n annotations;\n _tag = 11 /* ASTTag.BigIntKeyword */;\n constructor(annotations = ASTAnnotationMap.empty) {\n super();\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new BigIntKeyword(newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return hasTag(that, 11 /* ASTTag.BigIntKeyword */) && context.comparator(this.annotations, that.annotations);\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps bigIntKeyword\n */\nexport const bigIntKeyword = new BigIntKeyword(ASTAnnotationMap.empty.annotate(tsplus_module_4.Title, \"bigint\"));\n/**\n * @tsplus fluent fncts.schema.AST isBigIntKeyword\n */\nexport function isBigIntKeyword(self) {\n void 0;\n return self._tag === 11 /* ASTTag.BigIntKeyword */;\n}\n/*\n * SymbolKeyword\n */\nexport class SymbolKeyword extends AST {\n annotations;\n _tag = 12 /* ASTTag.SymbolKeyword */;\n constructor(annotations = ASTAnnotationMap.empty) {\n super();\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new SymbolKeyword(newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return hasTag(that, 12 /* ASTTag.SymbolKeyword */) && context.comparator(this.annotations, that.annotations);\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps symbolKeyword\n */\nconst symbolKeyword_1 = new SymbolKeyword(ASTAnnotationMap.empty.annotate(tsplus_module_4.Title, \"symbol\"));\nexport const symbolKeyword = symbolKeyword_1;\n/**\n * @tsplus fluent fncts.schema.AST isSymbolKeyword\n */\nfunction isSymbolKeyword_1(self) {\n void 0;\n return self._tag === 12 /* ASTTag.SymbolKeyword */;\n}\n/*\n * ObjectKeyword\n */\nexport class ObjectKeyword extends AST {\n annotations;\n _tag = 13 /* ASTTag.ObjectKeyword */;\n constructor(annotations = ASTAnnotationMap.empty) {\n super();\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new ObjectKeyword(newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return hasTag(that, 13 /* ASTTag.ObjectKeyword */) && context.comparator(this.annotations, that.annotations);\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps objectKeyword\n */\nexport const objectKeyword = new ObjectKeyword(ASTAnnotationMap.empty.annotate(tsplus_module_4.Title, \"object\"));\n/*\n * Enum\n */\nexport class Enum extends AST {\n enums;\n annotations;\n _tag = 14 /* ASTTag.Enum */;\n constructor(enums, annotations = ASTAnnotationMap.empty) {\n super();\n this.enums = enums;\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new Enum(newProperties.enums ?? this.enums, newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (hasTag(that, 14 /* ASTTag.Enum */) &&\n tsplus_module_5.corresponds(that.enums, ([leftName, leftValue], [rightName, rightValue]) => context.comparator(leftName, rightName) && context.comparator(leftValue, rightValue))(this.enums) &&\n context.comparator(this.annotations, that.annotations));\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps createEnum\n */\nexport function createEnum(enums, annotations = ASTAnnotationMap.empty) {\n return new Enum(enums, annotations);\n}\nexport class TemplateLiteralSpan {\n type;\n literal;\n constructor(type, literal) {\n this.type = type;\n this.literal = literal;\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (that instanceof TemplateLiteralSpan &&\n context.comparator(this.type, that.type) &&\n context.comparator(this.literal, that.literal));\n }\n toString() {\n switch (this.type._tag) {\n case 8 /* ASTTag.StringKeyword */:\n return \"${string}\";\n case 9 /* ASTTag.NumberKeyword */:\n return \"${number}\";\n }\n }\n}\n/*\n * TemplateLiteral\n */\nexport class TemplateLiteral extends AST {\n head;\n spans;\n annotations;\n _tag = 15 /* ASTTag.TemplateLiteral */;\n constructor(head, spans, annotations = ASTAnnotationMap.empty) {\n super();\n this.head = head;\n this.spans = spans;\n this.annotations = annotations;\n }\n clone(newProperties) {\n return createTemplateLiteral_1(newProperties.head ?? this.head, newProperties.spans ?? this.spans, newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (hasTag(that, 15 /* ASTTag.TemplateLiteral */) &&\n context.comparator(this.head, that.head) &&\n context.comparator(this.spans, that.spans) &&\n context.comparator(this.annotations, that.annotations));\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps createTemplateLiteral\n */\nfunction createTemplateLiteral_1(head, spans, annotations = ASTAnnotationMap.empty) {\n if (tsplus_module_6.isNonEmpty(spans)) {\n return new TemplateLiteral(head, spans, annotations);\n }\n else {\n return createLiteral_1(head, annotations);\n }\n}\n/*\n * Element\n */\nexport class Element {\n type;\n isOptional;\n constructor(type, isOptional) {\n this.type = type;\n this.isOptional = isOptional;\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (that instanceof Element &&\n context.comparator(this.type, that.type) &&\n context.comparator(this.isOptional, that.isOptional));\n }\n toString() {\n return String(this.type) + (this.isOptional ? \"?\" : \"\");\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps createElement\n */\nfunction createElement_1(type, isOptional) {\n return new Element(type, isOptional);\n}\n/*\n * Tuple\n */\nexport class Tuple extends AST {\n elements;\n rest;\n isReadonly;\n annotations;\n _tag = 16 /* ASTTag.Tuple */;\n constructor(elements, rest, isReadonly, annotations = ASTAnnotationMap.empty) {\n super();\n this.elements = elements;\n this.rest = rest;\n this.isReadonly = isReadonly;\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new Tuple(newProperties.elements ?? this.elements, newProperties.rest ?? this.rest, newProperties.isReadonly ?? this.isReadonly, newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (hasTag(that, 16 /* ASTTag.Tuple */) &&\n context.comparator(this.elements, that.elements) &&\n context.comparator(this.rest, that.rest) &&\n context.comparator(this.isReadonly, that.isReadonly) &&\n context.comparator(this.annotations, that.annotations));\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps createTuple\n */\nfunction createTuple_1(elements, rest, isReadonly, annotations = ASTAnnotationMap.empty) {\n return new Tuple(elements, rest, isReadonly, annotations);\n}\n/**\n * @tsplus static fncts.schema.ASTOps unknownArray\n */\nexport const unknownArray = createTuple_1(tsplus_module_6.empty(), tsplus_module_7.just(tsplus_module_6.vector(unknownKeyword_1), fileName_1 + \":779:65\"), true);\n/*\n * PropertySignature\n */\nexport class PropertySignature {\n name;\n type;\n isOptional;\n isReadonly;\n annotations;\n constructor(name, type, isOptional, isReadonly, annotations = ASTAnnotationMap.empty) {\n this.name = name;\n this.type = type;\n this.isOptional = isOptional;\n this.isReadonly = isReadonly;\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new PropertySignature(newProperties.name ?? this.name, newProperties.type ?? this.type, newProperties.isOptional ?? this.isOptional, newProperties.isReadonly ?? this.isReadonly, newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (that instanceof PropertySignature &&\n context.comparator(this.name, that.name) &&\n context.comparator(this.type, that.type) &&\n context.comparator(this.isOptional, that.isOptional) &&\n context.comparator(this.isReadonly, that.isReadonly) &&\n context.comparator(this.annotations, that.annotations));\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps createPropertySignature\n */\nfunction createPropertySignature_1(name, type, isOptional, isReadonly, annotations = ASTAnnotationMap.empty) {\n return new PropertySignature(name, type, isOptional, isReadonly, annotations);\n}\n/*\n * IndexSignature\n */\nexport class IndexSignature {\n parameter;\n type;\n isReadonly;\n constructor(parameter, type, isReadonly) {\n this.parameter = parameter;\n this.type = type;\n this.isReadonly = isReadonly;\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (that instanceof IndexSignature &&\n context.comparator(this.parameter, that.parameter) &&\n context.comparator(this.type, that.type) &&\n context.comparator(this.isReadonly, that.isReadonly));\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps createIndexSignature\n */\nfunction createIndexSignature_1(parameter, type, isReadonly) {\n return new IndexSignature(parameter, type, isReadonly);\n}\n/*\n * TypeLiteral\n */\nexport class TypeLiteral extends AST {\n annotations;\n _tag = 17 /* ASTTag.TypeLiteral */;\n propertySignatures;\n indexSignatures;\n constructor(propertySignatures, indexSignatures, annotations = ASTAnnotationMap.empty) {\n super();\n this.annotations = annotations;\n this.propertySignatures = sortByAscendingCardinality(propertySignatures);\n this.indexSignatures = sortByAscendingCardinality(indexSignatures);\n }\n clone(newProperties) {\n return new TypeLiteral(newProperties.propertySignatures ?? this.propertySignatures, newProperties.indexSignatures ?? this.indexSignatures, newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (hasTag(that, 17 /* ASTTag.TypeLiteral */) &&\n context.comparator(this.propertySignatures, that.propertySignatures) &&\n context.comparator(this.indexSignatures, that.indexSignatures) &&\n context.comparator(this.annotations, that.annotations));\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps isTypeLiteral\n * @tsplus fluent fncts.schema.AST isTypeLiteral\n */\nexport function isTypeLiteral(self) {\n void 0;\n return self._tag === 17 /* ASTTag.TypeLiteral */;\n}\n/**\n * @tsplus static fncts.schema.ASTOps createTypeLiteral\n */\nfunction createTypeLiteral_1(propertySignatures, indexSignatures, annotations) {\n return new TypeLiteral(propertySignatures, indexSignatures, annotations);\n}\n/**\n * @tsplus static fncts.schema.ASTOps unknownRecord\n */\nexport const unknownRecord = createTypeLiteral_1(tsplus_module_6.empty(), tsplus_module_6.vector(createIndexSignature_1(stringKeyword_1, unknownKeyword_1, true), createIndexSignature_1(symbolKeyword_1, unknownKeyword_1, true)));\n/*\n * Union\n */\nexport class Union extends AST {\n types;\n annotations;\n _tag = 18 /* ASTTag.Union */;\n constructor(types, annotations = ASTAnnotationMap.empty) {\n super();\n this.types = types;\n this.annotations = annotations;\n }\n clone(newProperties) {\n return createUnion_1(newProperties.types ?? this.types, newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (hasTag(that, 18 /* ASTTag.Union */) &&\n context.comparator(this.types, that.types) &&\n context.comparator(this.annotations, that.annotations));\n }\n}\n/**\n * @tsplus fluent fncts.schema.AST isUnion\n */\nexport function isUnion(self) {\n void 0;\n return self._tag === 18 /* ASTTag.Union */;\n}\n/**\n * @tsplus static fncts.schema.ASTOps createUnion\n */\nfunction createUnion_1(candidates, annotations = ASTAnnotationMap.empty) {\n const types = unify(candidates);\n switch (types.length) {\n case 0:\n return neverKeyword_1;\n case 1:\n return tsplus_module_6.unsafeGet(0)(types);\n default:\n return new Union(sortByDescendingWeight(types), annotations);\n }\n}\n/*\n * Lazy\n */\nexport class Lazy extends AST {\n getAST;\n annotations;\n _tag = 19 /* ASTTag.Lazy */;\n constructor(getAST, annotations = ASTAnnotationMap.empty) {\n super();\n this.getAST = getAST;\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new Lazy(newProperties.getAST ?? this.getAST, newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that) {\n return this === that;\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps createLazy\n */\nfunction createLazy_1(getAST, annotations) {\n return new Lazy(getAST, annotations);\n}\n/**\n * @tsplus fluent fncts.schema.AST isLazy\n */\nexport function isLazy(self) {\n void 0;\n return self._tag === 19 /* ASTTag.Lazy */;\n}\n/*\n * Refinement\n */\nexport class Refinement extends AST {\n from;\n predicate;\n annotations;\n _tag = 20 /* ASTTag.Refinement */;\n constructor(from, predicate, annotations = ASTAnnotationMap.empty) {\n super();\n this.from = from;\n this.predicate = predicate;\n this.annotations = annotations;\n }\n decode(input, options) {\n return this.predicate(input) ? tsplus_module_8.succeed(input) : tsplus_module_8.fail(tsplus_module_9.typeError(this, input));\n }\n clone(newProperties) {\n return new Refinement(newProperties.from ?? this.from, newProperties.predicate ?? this.predicate, newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (hasTag(that, 20 /* ASTTag.Refinement */) &&\n context.comparator(this.from, that.from) &&\n context.comparator(this.predicate, that.predicate) &&\n context.comparator(this.annotations, that.annotations));\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps createRefinement\n */\nfunction createRefinement_1(from, predicate, annotations) {\n return new Refinement(from, predicate, annotations);\n}\nexport function isRefinement(self) {\n void 0;\n return self._tag === 20 /* ASTTag.Refinement */;\n}\n/*\n * Transform\n */\nexport class Transform extends AST {\n from;\n to;\n decode;\n encode;\n annotations;\n _tag = 21 /* ASTTag.Transform */;\n constructor(from, to, decode, encode, annotations = ASTAnnotationMap.empty) {\n super();\n this.from = from;\n this.to = to;\n this.decode = decode;\n this.encode = encode;\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new Transform(newProperties.from ?? this.from, newProperties.to ?? this.to, newProperties.decode ?? this.decode, newProperties.encode ?? this.encode, newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (hasTag(that, 21 /* ASTTag.Transform */) &&\n context.comparator(this.from, that.from) &&\n context.comparator(this.to, that.to) &&\n context.comparator(this.decode, that.decode) &&\n context.comparator(this.encode, that.encode) &&\n context.comparator(this.annotations, that.annotations));\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps createTransform\n */\nexport function createTransform(from, to, decode, encode, annotations) {\n return new Transform(from, getTo_1(to), decode, encode, annotations);\n}\n/*\n * Validation\n */\nexport class Validation extends AST {\n from;\n validation;\n annotations;\n _tag = 22 /* ASTTag.Validation */;\n constructor(from, validation, annotations = ASTAnnotationMap.empty) {\n super();\n this.from = from;\n this.validation = validation;\n this.annotations = annotations;\n }\n clone(newProperties) {\n return new Validation(newProperties.from ?? this.from, newProperties.validation ?? this.validation, newProperties.annotations ?? this.annotations);\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n return (hasTag(that, 22 /* ASTTag.Validation */) &&\n context.comparator(this.from, that.from) &&\n context.comparator(this.validation, that.validation) &&\n context.comparator(this.annotations, that.annotations));\n }\n}\n/**\n * @tsplus static fncts.schema.ASTOps createValidation\n */\nexport function createValidation(from, validation, annotations) {\n return new Validation(from, validation, annotations);\n}\n/**\n * @tsplus tailRec\n */\nexport function getCardinality(ast) {\n var ast_1 = ast;\n var ast_2 = ast;\n while (1) {\n void 0;\n switch (ast_1._tag) {\n case 5 /* ASTTag.NeverKeyword */:\n return 0;\n case 1 /* ASTTag.Literal */:\n case 3 /* ASTTag.UndefinedKeyword */:\n case 4 /* ASTTag.VoidKeyword */:\n case 2 /* ASTTag.UniqueSymbol */:\n return 1;\n case 10 /* ASTTag.BooleanKeyword */:\n return 2;\n case 8 /* ASTTag.StringKeyword */:\n case 9 /* ASTTag.NumberKeyword */:\n case 11 /* ASTTag.BigIntKeyword */:\n case 12 /* ASTTag.SymbolKeyword */:\n return 3;\n case 13 /* ASTTag.ObjectKeyword */:\n return 5;\n case 6 /* ASTTag.UnknownKeyword */:\n case 7 /* ASTTag.AnyKeyword */:\n return 6;\n case 20 /* ASTTag.Refinement */:\n ast_2 = ast_1.from;\n ast_1 = ast_2;\n continue;\n case 21 /* ASTTag.Transform */:\n ast_2 = ast_1.to;\n ast_1 = ast_2;\n continue;\n default:\n return 4;\n }\n }\n}\nfunction sortByAscendingCardinality(types) {\n return tsplus_module_6.sort(tsplus_module_11.contramap(({ type }) => getCardinality(type))(tsplus_module_10.Ord))(types);\n}\nconst OrdWeight = tsplus_module_12.tuple(tsplus_module_10.Ord, tsplus_module_10.Ord, tsplus_module_10.Ord);\nconst maxWeight = tsplus_module_13.max(OrdWeight);\nfunction maxWeightAll(weights) {\n return tsplus_module_14.foldLeft(emptyWeight, (b, a) => maxWeight(b)(a))(weights);\n}\nconst emptyWeight = [0, 0, 0];\nexport function getWeight(ast) {\n void 0;\n switch (ast._tag) {\n case 0 /* ASTTag.Declaration */:\n return tsplus_module_15.match(() => [6, 0, 0], (ast) => {\n const [_, y, z] = getWeight(ast);\n return [6, y, z];\n })(ast.annotations.get(tsplus_module_4.Surrogate));\n case 16 /* ASTTag.Tuple */:\n return [\n 2,\n ast.elements.length,\n tsplus_module_15.match(() => 0, (rest) => rest.length)(ast.rest),\n ];\n case 17 /* ASTTag.TypeLiteral */: {\n const y = ast.propertySignatures.length;\n const z = ast.indexSignatures.length;\n return y + z === 0 ? [-4, 0, 0] : [4, y, z];\n }\n case 18 /* ASTTag.Union */:\n return maxWeightAll(tsplus_module_6.map(getWeight)(ast.types));\n case 19 /* ASTTag.Lazy */:\n return [8, 0, 0];\n case 20 /* ASTTag.Refinement */:\n const [x, y, z] = getWeight(ast.from);\n return [x + 1, y, z];\n case 21 /* ASTTag.Transform */:\n return getWeight(ast.from);\n case 13 /* ASTTag.ObjectKeyword */:\n return [-2, 0, 0];\n case 6 /* ASTTag.UnknownKeyword */:\n case 7 /* ASTTag.AnyKeyword */:\n return [-4, 0, 0];\n default:\n return emptyWeight;\n }\n}\nfunction sortByDescendingWeight(types) {\n return tsplus_module_6.sort(tsplus_module_11.contramap(getWeight)(OrdWeight))(types);\n}\nfunction unify(candidates) {\n let out = tsplus_module_6.flatMap((ast) => {\n void 0;\n switch (ast._tag) {\n case 5 /* ASTTag.NeverKeyword */:\n return tsplus_module_6.empty();\n case 18 /* ASTTag.Union */:\n return ast.types;\n default:\n return tsplus_module_6.vector(ast);\n }\n })(candidates);\n if (tsplus_module_6.some(isStringKeyword_1)(out)) {\n out = tsplus_module_6.filter((m) => !(isLiteral_1(m) && typeof m.literal === \"string\"))(out);\n }\n if (tsplus_module_6.some(isNumberKeyword_1)(out)) {\n out = tsplus_module_6.filter((m) => !(isLiteral_1(m) && typeof m.literal === \"number\"))(out);\n }\n if (tsplus_module_6.some(isSymbolKeyword_1)(out)) {\n out = tsplus_module_6.filter((m) => !isUniqueSymbol_1(m))(out);\n }\n return out;\n}\n/**\n * @tsplus pipeable fncts.schema.AST combineAnnotations\n */\nexport function combineAnnotations(annotations) {\n return (self) => {\n return self.clone({ annotations: self.annotations.combine(annotations) });\n };\n}\n/**\n * @tsplus pipeable fncts.schema.AST setAnnotation\n */\nexport function setAnnotation(annotation, value) {\n return (self) => {\n return self.clone({ annotations: self.annotations.annotate(annotation, value) });\n };\n}\n/**\n * @tsplus pipeable fncts.schema.AST appendRestElement\n */\nexport function appendRestElement(restElement) {\n return (self) => {\n if (tsplus_module_16.isJust(self.rest)) {\n throw new Error(\"A rest element cannot follow another rest element. ts(1265)\");\n }\n return createTuple_1(self.elements, tsplus_module_7.just(tsplus_module_6.vector(restElement), fileName_1 + \":1313:43\"), self.isReadonly, self.annotations);\n };\n}\n/**\n * @tsplus pipeable fncts.schema.AST appendElement\n */\nexport function appendElement(element) {\n return (self) => {\n if (tsplus_module_6.some((e) => e.isOptional)(self.elements) && !element.isOptional) {\n throw new Error(\"A required element cannot follow an optional element. ts(1257)\");\n }\n return tsplus_module_15.match(() => createTuple_1(tsplus_module_6.append(element)(self.elements), tsplus_module_7.nothing(fileName_1 + \":1326:63\"), self.isReadonly, self.annotations), (rest) => {\n if (element.isOptional) {\n throw new Error(\"A required element cannot follow an optional element. ts(1257)\");\n }\n return createTuple_1(self.elements, tsplus_module_7.just(tsplus_module_6.append(element.type)(rest), fileName_1 + \":1331:47\"), self.isReadonly, self.annotations);\n })(self.rest);\n };\n}\nexport function getParameter(x) {\n return isRefinement(x) ? getParameter(x.from) : x;\n}\n/**\n * @tsplus getter fncts.schema.AST getPropertySignatures\n */\nfunction getPropertySignatures_1(self) {\n void 0;\n switch (self._tag) {\n case 0 /* ASTTag.Declaration */:\n return tsplus_module_15.match(() => tsplus_module_6.empty(), (surrogate) => getPropertySignatures_1(surrogate))(self.annotations.get(tsplus_module_4.Surrogate));\n case 16 /* ASTTag.Tuple */:\n return tsplus_module_6.mapWithIndex((i, element) => createPropertySignature_1(i, element.type, element.isOptional, self.isReadonly))(self.elements);\n case 18 /* ASTTag.Union */: {\n const propertySignatures = tsplus_module_6.map(getPropertySignatures_1)(self.types);\n return tsplus_module_6.filterMap(({ name }) => {\n if (tsplus_module_6.every((ps) => tsplus_module_6.some((p) => p.name === name)(ps))(propertySignatures)) {\n const members = tsplus_module_6.flatMap((ps) => tsplus_module_6.filter((p) => p.name === name)(ps))(propertySignatures);\n return tsplus_module_7.just(createPropertySignature_1(name, createUnion_1(tsplus_module_6.map((p) => p.type)(members)), tsplus_module_6.some((p) => p.isOptional)(members), tsplus_module_6.some((p) => p.isReadonly)(members)), fileName_1 + \":1363:22\");\n }\n return tsplus_module_7.nothing(fileName_1 + \":1372:23\");\n })(tsplus_module_6.unsafeGet(0)(propertySignatures));\n }\n case 17 /* ASTTag.TypeLiteral */:\n return self.propertySignatures;\n case 19 /* ASTTag.Lazy */:\n return getPropertySignatures_1(self.getAST());\n case 20 /* ASTTag.Refinement */:\n return getPropertySignatures_1(self.from);\n case 21 /* ASTTag.Transform */:\n return getPropertySignatures_1(self.to);\n default:\n return tsplus_module_6.empty();\n }\n}\n/**\n * @tsplus getter fncts.schema.AST keysof\n */\nfunction keysOf_1(ast) {\n void 0;\n switch (ast._tag) {\n case 0 /* ASTTag.Declaration */:\n return tsplus_module_15.match(() => tsplus_module_6.empty(), (surrogate) => keysOf_1(surrogate))(ast.annotations.get(tsplus_module_4.Surrogate));\n case 5 /* ASTTag.NeverKeyword */:\n case 7 /* ASTTag.AnyKeyword */:\n return tsplus_module_6.vector(stringKeyword_1, numberKeyword_1, symbolKeyword_1);\n case 8 /* ASTTag.StringKeyword */:\n return tsplus_module_6.vector(createLiteral_1(\"length\"));\n case 17 /* ASTTag.TypeLiteral */:\n return tsplus_module_6.concat(tsplus_module_6.map((is) => getParameter(is.parameter))(ast.indexSignatures))(tsplus_module_6.map((p) => (typeof p.name === \"symbol\" ? createUniqueSymbol_1(p.name) : createLiteral_1(p.name)))(ast.propertySignatures));\n case 18 /* ASTTag.Union */:\n return tsplus_module_6.map((p) => typeof p.name === \"symbol\" ? createUniqueSymbol_1(p.name) : createLiteral_1(p.name))(getPropertySignatures_1(ast));\n case 19 /* ASTTag.Lazy */:\n return keysOf_1(ast.getAST());\n case 20 /* ASTTag.Refinement */:\n return keysOf_1(ast.from);\n case 21 /* ASTTag.Transform */:\n return keysOf_1(ast.to);\n default:\n return tsplus_module_6.empty();\n }\n}\n/**\n * @tsplus getter fncts.schema.AST keyof\n */\nexport function keyof(self) {\n return createUnion_1(keysOf_1(self));\n}\n/**\n * @tsplus static fncts.schema.ASTOps createRecord\n */\nexport function createRecord(key, value, isReadonly) {\n const propertySignatures = tsplus_module_6.emptyPushable();\n const indexSignatures = tsplus_module_6.emptyPushable();\n function go(key) {\n void 0;\n switch (key._tag) {\n case 5 /* ASTTag.NeverKeyword */:\n break;\n case 8 /* ASTTag.StringKeyword */:\n case 12 /* ASTTag.SymbolKeyword */:\n case 15 /* ASTTag.TemplateLiteral */:\n case 20 /* ASTTag.Refinement */:\n tsplus_module_17.push(createIndexSignature_1(key, value, isReadonly))(indexSignatures);\n break;\n case 1 /* ASTTag.Literal */:\n if (typeof key.literal === \"string\" || typeof key.literal === \"number\") {\n tsplus_module_17.push(createPropertySignature_1(key.literal, value, false, isReadonly))(propertySignatures);\n }\n break;\n case 2 /* ASTTag.UniqueSymbol */:\n tsplus_module_17.push(createPropertySignature_1(key.symbol, value, false, isReadonly))(propertySignatures);\n break;\n case 18 /* ASTTag.Union */:\n tsplus_module_6.forEach(go)(key.types);\n break;\n default:\n throw new Error(`createRecord: Unsupported key\\n${show(key)}`);\n }\n }\n go(key);\n return createTypeLiteral_1(propertySignatures, indexSignatures);\n}\n/**\n * @tsplus pipeable fncts.schema.AST pick\n */\nexport function pick(keys) {\n return (self) => {\n return createTypeLiteral_1(tsplus_module_6.filter((ps) => tsplus_module_6.includes(ps.name)(keys))(getPropertySignatures_1(self)), tsplus_module_6.empty());\n };\n}\n/**\n * @tsplus pipeable fncts.schema.AST omit\n */\nexport function omit(keys) {\n return (self) => {\n return createTypeLiteral_1(tsplus_module_6.filter((ps) => !tsplus_module_6.includes(ps.name)(keys))(getPropertySignatures_1(self)), tsplus_module_6.empty());\n };\n}\n/**\n * @tsplus getter fncts.schema.AST partial\n */\nfunction partial_1(self) {\n void 0;\n switch (self._tag) {\n case 16 /* ASTTag.Tuple */:\n return createTuple_1(tsplus_module_6.map((e) => createElement_1(e.type, true))(self.elements), tsplus_module_18.map((rest) => tsplus_module_6.vector(createUnion_1(tsplus_module_6.append(undefinedKeyword_1)(rest))))(self.rest), self.isReadonly);\n case 17 /* ASTTag.TypeLiteral */:\n return createTypeLiteral_1(tsplus_module_6.map((f) => createPropertySignature_1(f.name, f.type, true, f.isReadonly, f.annotations))(self.propertySignatures), self.indexSignatures);\n case 18 /* ASTTag.Union */:\n return createUnion_1(tsplus_module_6.map(partial_1)(self.types));\n case 19 /* ASTTag.Lazy */:\n return createLazy_1(() => partial_1(self.getAST()));\n case 20 /* ASTTag.Refinement */:\n return partial_1(self.from);\n case 21 /* ASTTag.Transform */:\n return partial_1(self.to);\n default:\n return self;\n }\n}\n/**\n * @tsplus static fncts.schema.AST createKey\n */\nexport function createKey(key) {\n return typeof key === \"symbol\" ? createUniqueSymbol_1(key) : createLiteral_1(key);\n}\n/**\n * @tsplus getter fncts.schema.AST getFrom\n */\nfunction getFrom_1(ast) {\n void 0;\n switch (ast._tag) {\n case 0 /* ASTTag.Declaration */: {\n const surrogate = ast.annotations.get(tsplus_module_4.Surrogate);\n if (tsplus_module_16.isJust(surrogate)) {\n return getFrom_1(surrogate.value);\n }\n break;\n }\n case 16 /* ASTTag.Tuple */:\n return createTuple_1(tsplus_module_6.map((element) => createElement_1(getFrom_1(element.type), element.isOptional))(ast.elements), tsplus_module_18.map((restElement) => tsplus_module_6.map(getFrom_1)(restElement))(ast.rest), ast.isReadonly, ast.annotations);\n case 17 /* ASTTag.TypeLiteral */:\n return createTypeLiteral_1(tsplus_module_6.map((ps) => createPropertySignature_1(ps.name, getFrom_1(ps.type), ps.isOptional, ps.isReadonly, ps.annotations))(ast.propertySignatures), tsplus_module_6.map((is) => createIndexSignature_1(is.parameter, getFrom_1(is.type), is.isReadonly))(ast.indexSignatures), ast.annotations);\n case 18 /* ASTTag.Union */:\n return createUnion_1(tsplus_module_6.map(getFrom_1)(ast.types), ast.annotations);\n case 19 /* ASTTag.Lazy */:\n return createLazy_1(() => getFrom_1(ast.getAST()), ast.annotations);\n case 20 /* ASTTag.Refinement */:\n case 21 /* ASTTag.Transform */:\n return getFrom_1(ast.from);\n }\n return ast;\n}\n/**\n * @tsplus getter fncts.schema.AST getTo\n */\nfunction getTo_1(ast) {\n void 0;\n switch (ast._tag) {\n case 0 /* ASTTag.Declaration */: {\n const surrogate = ast.annotations.get(tsplus_module_4.Surrogate);\n if (tsplus_module_16.isJust(surrogate)) {\n return getTo_1(surrogate.value);\n }\n break;\n }\n case 16 /* ASTTag.Tuple */:\n return createTuple_1(tsplus_module_6.map((element) => createElement_1(getTo_1(element.type), element.isOptional))(ast.elements), tsplus_module_18.map((restElement) => tsplus_module_6.map(getTo_1)(restElement))(ast.rest), ast.isReadonly, ast.annotations);\n case 17 /* ASTTag.TypeLiteral */:\n return createTypeLiteral_1(tsplus_module_6.map((ps) => createPropertySignature_1(ps.name, getTo_1(ps.type), ps.isOptional, ps.isReadonly, ps.annotations))(ast.propertySignatures), tsplus_module_6.map((is) => createIndexSignature_1(is.parameter, getTo_1(is.type), is.isReadonly))(ast.indexSignatures), ast.annotations);\n case 18 /* ASTTag.Union */:\n return createUnion_1(tsplus_module_6.map(getTo_1)(ast.types), ast.annotations);\n case 19 /* ASTTag.Lazy */:\n return createLazy_1(() => getTo_1(ast.getAST()), ast.annotations);\n case 20 /* ASTTag.Refinement */:\n return createRefinement_1(getTo_1(ast.from), ast.predicate, ast.annotations);\n case 21 /* ASTTag.Transform */:\n return getTo_1(ast.to);\n }\n return ast;\n}\n/**\n * @tsplus static fncts.schema.AST getCompiler\n */\nexport function getCompiler(match) {\n const compile = memoize((ast) => {\n void 0;\n return match[ast._tag](ast, compile);\n });\n return compile;\n}\nexport function getLiterals(ast, isDecoding) {\n void 0;\n switch (ast._tag) {\n case 0 /* ASTTag.Declaration */: {\n const surrogate = ast.annotations.get(tsplus_module_4.Surrogate);\n if (tsplus_module_16.isJust(surrogate)) {\n return getLiterals(surrogate.value, isDecoding);\n }\n break;\n }\n case 17 /* ASTTag.TypeLiteral */: {\n const out = [];\n for (let i = 0; i < ast.propertySignatures.length; i++) {\n const propertySignature = tsplus_module_6.unsafeGet(i)(ast.propertySignatures);\n if (isLiteral_1(propertySignature.type) && !propertySignature.isOptional) {\n out.push([propertySignature.name, propertySignature.type]);\n }\n }\n return out;\n }\n case 20 /* ASTTag.Refinement */:\n return getLiterals(ast.from, isDecoding);\n case 21 /* ASTTag.Transform */:\n return getLiterals(isDecoding ? ast.from : ast.to, isDecoding);\n }\n return [];\n}\nexport function getSearchTree(members, isDecoding) {\n const keys = {};\n const otherwise = [];\n for (let i = 0; i < members.length; i++) {\n const member = tsplus_module_6.unsafeGet(i)(members);\n const tags = getLiterals(member, isDecoding);\n if (tags.length > 0) {\n for (let j = 0; j < tags.length; j++) {\n const [key, literal] = tags[j];\n const hash = String(literal.literal);\n keys[key] ||= { buckets: {}, ast: neverKeyword_1, literals: [] };\n const buckets = keys[key].buckets;\n if (Object.prototype.hasOwnProperty.call(buckets, hash)) {\n if (j < tags.length - 1) {\n continue;\n }\n buckets[hash].push(member);\n keys[key].ast = createUnion_1(tsplus_module_6.vector(keys[key].ast, literal));\n keys[key].literals.push(literal);\n }\n else {\n buckets[hash] = [member];\n keys[key].ast = createUnion_1(tsplus_module_6.vector(keys[key].ast, literal));\n keys[key].literals.push(literal);\n break;\n }\n }\n }\n else {\n otherwise.push(member);\n }\n }\n return { keys, otherwise };\n}\n/**\n * @tsplus pipeable fncts.schema.AST getFormattedExpected\n */\nexport function getFormattedExpected(verbose = false) {\n return (self) => {\n if (verbose) {\n const description = tsplus_module_18.orElse(() => self.annotations.get(tsplus_module_4.Title))(self.annotations\n .get(tsplus_module_4.Description));\n return tsplus_module_15.match(() => description, (identifier) => tsplus_module_15.match(() => tsplus_module_7.just(identifier, fileName_1 + \":1710:23\"), (description) => tsplus_module_7.just(`${identifier} (${description})`, fileName_1 + \":1711:34\"))(description))(self.annotations.get(tsplus_module_4.Identifier));\n }\n else {\n return tsplus_module_18.orElse(() => self.annotations.get(tsplus_module_4.Description))(tsplus_module_18.orElse(() => self.annotations.get(tsplus_module_4.Title))(self.annotations\n .get(tsplus_module_4.Identifier)));\n }\n };\n}\n//# sourceMappingURL=AST.js.map"],"mappings":"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"}
@@ -1,92 +1,96 @@
1
+ import * as tsplus_module_7 from "@fncts/base/collection/immutable/Vector/api";
2
+ import * as tsplus_module_3 from "@fncts/base/data/Equatable/definition";
3
+ import * as tsplus_module_5 from "@fncts/base/util/predicates";
1
4
  import * as tsplus_module_1 from "@fncts/base/data/Hashable/definition";
2
5
  import * as tsplus_module_2 from "@fncts/base/data/Hashable/hash";
3
- import * as tsplus_module_3 from "@fncts/base/data/Equatable/definition";
4
6
  import * as tsplus_module_4 from "@fncts/base/data/Equatable/api";
5
- import * as tsplus_module_5 from "@fncts/base/util/predicates";
6
7
  import * as tsplus_module_6 from "@fncts/base/data/Tag/constructors";
7
- import * as tsplus_module_7 from "@fncts/base/collection/immutable/Vector/api";
8
- export const ASTAnnotationVariance = /*#__PURE__*/Symbol.for("fncts.schema.ASTAnnotation.Variance");
9
- export const ASTAnnotationTypeId = /*#__PURE__*/Symbol.for("fncts.schema.ASTAnnotation");
8
+ //#region build/esm/ASTAnnotation.js
9
+ const ASTAnnotationVariance = Symbol.for("fncts.schema.ASTAnnotation.Variance");
10
+ const ASTAnnotationTypeId = Symbol.for("fncts.schema.ASTAnnotation");
10
11
  /**
11
- * @tsplus type fncts.schema.ASTAnnotation
12
- * @tsplus companion fncts.schema.ASTAnnotationOps
13
- */
14
- export class ASTAnnotation {
15
- tag;
16
- identifier;
17
- combine;
18
- [ASTAnnotationTypeId] = ASTAnnotationTypeId;
19
- constructor(tag, identifier, combine) {
20
- this.tag = tag;
21
- this.identifier = identifier;
22
- this.combine = combine;
23
- }
24
- get [tsplus_module_1.hashSymbol]() {
25
- return tsplus_module_2.combineHash(tsplus_module_2.hashString(this.identifier), tsplus_module_2.hashUnknown(this.tag));
26
- }
27
- [tsplus_module_3.equalsSymbol](that) {
28
- return isASTAnnotation(that) && tsplus_module_4.strictEquals(this.tag, that.tag) && this.identifier === that.identifier;
29
- }
30
- }
31
- export function isASTAnnotation(u) {
32
- return tsplus_module_5.isObject(u) && ASTAnnotationTypeId in u;
12
+ * @tsplus type fncts.schema.ASTAnnotation
13
+ * @tsplus companion fncts.schema.ASTAnnotationOps
14
+ */
15
+ var ASTAnnotation = class {
16
+ tag;
17
+ identifier;
18
+ combine;
19
+ [ASTAnnotationTypeId] = ASTAnnotationTypeId;
20
+ constructor(tag, identifier, combine) {
21
+ this.tag = tag;
22
+ this.identifier = identifier;
23
+ this.combine = combine;
24
+ }
25
+ get [tsplus_module_1.hashSymbol]() {
26
+ return tsplus_module_2.combineHash(tsplus_module_2.hashString(this.identifier), tsplus_module_2.hashUnknown(this.tag));
27
+ }
28
+ [tsplus_module_3.equalsSymbol](that) {
29
+ return isASTAnnotation(that) && tsplus_module_4.strictEquals(this.tag, that.tag) && this.identifier === that.identifier;
30
+ }
31
+ };
32
+ function isASTAnnotation(u) {
33
+ return tsplus_module_5.isObject(u) && ASTAnnotationTypeId in u;
33
34
  }
34
- export const TitleTag = /*#__PURE__*/tsplus_module_6.makeTag();
35
+ const TitleTag = tsplus_module_6.makeTag();
35
36
  /**
36
- * @tsplus static fncts.schema.ASTAnnotationOps Title
37
- */
38
- export const Title = /*#__PURE__*/new ASTAnnotation(TitleTag, "Title", (_, a) => a);
39
- export const IdentifierTag = /*#__PURE__*/tsplus_module_6.makeTag();
37
+ * @tsplus static fncts.schema.ASTAnnotationOps Title
38
+ */
39
+ const Title = new ASTAnnotation(TitleTag, "Title", (_, a) => a);
40
+ const IdentifierTag = tsplus_module_6.makeTag();
40
41
  /**
41
- * @tsplus static fncts.schema.ASTAnnotationOps Identifier
42
- */
43
- export const Identifier = /*#__PURE__*/new ASTAnnotation(IdentifierTag, "Identifier", (_, a) => a);
44
- export const DescriptionTag = /*#__PURE__*/tsplus_module_6.makeTag();
42
+ * @tsplus static fncts.schema.ASTAnnotationOps Identifier
43
+ */
44
+ const Identifier = new ASTAnnotation(IdentifierTag, "Identifier", (_, a) => a);
45
+ const DescriptionTag = tsplus_module_6.makeTag();
45
46
  /**
46
- * @tsplus static fncts.schema.ASTAnnotationOps Description
47
- */
48
- export const Description = /*#__PURE__*/new ASTAnnotation(DescriptionTag, "Description", (_, a) => a);
49
- export const MessageTag = /*#__PURE__*/tsplus_module_6.makeTag();
47
+ * @tsplus static fncts.schema.ASTAnnotationOps Description
48
+ */
49
+ const Description = new ASTAnnotation(DescriptionTag, "Description", (_, a) => a);
50
+ const MessageTag = tsplus_module_6.makeTag();
50
51
  /**
51
- * @tsplus static fncts.schema.ASTAnnotationOps Message
52
- */
53
- export const Message = /*#__PURE__*/new ASTAnnotation(MessageTag, "Message", (_, a) => a);
54
- export const BrandTag = /*#__PURE__*/tsplus_module_6.makeTag();
52
+ * @tsplus static fncts.schema.ASTAnnotationOps Message
53
+ */
54
+ const Message = new ASTAnnotation(MessageTag, "Message", (_, a) => a);
55
+ const BrandTag = tsplus_module_6.makeTag();
55
56
  /**
56
- * @tsplus static fncts.schema.ASTAnnotationOps Brand
57
- */
58
- export const Brand = /*#__PURE__*/new ASTAnnotation(BrandTag, "Brand", (a, b) => tsplus_module_7.concat(b)(a));
59
- export const OptionalTag = /*#__PURE__*/tsplus_module_6.makeTag();
57
+ * @tsplus static fncts.schema.ASTAnnotationOps Brand
58
+ */
59
+ const Brand = new ASTAnnotation(BrandTag, "Brand", (a, b) => tsplus_module_7.concat(b)(a));
60
+ const OptionalTag = tsplus_module_6.makeTag();
60
61
  /**
61
- * @tsplus static fncts.schema.ASTAnnotationOps Optional
62
- */
63
- export const Optional = /*#__PURE__*/new ASTAnnotation(OptionalTag, "Optional", (_, b) => b);
64
- export const ParseOptionalTag = /*#__PURE__*/tsplus_module_6.makeTag();
62
+ * @tsplus static fncts.schema.ASTAnnotationOps Optional
63
+ */
64
+ const Optional = new ASTAnnotation(OptionalTag, "Optional", (_, b) => b);
65
+ const ParseOptionalTag = tsplus_module_6.makeTag();
65
66
  /**
66
- * @tsplus static fncts.schema.ASTAnnotationOps ParseOptional
67
- */
68
- export const ParseOptional = /*#__PURE__*/new ASTAnnotation(ParseOptionalTag, "ParseOptional", (_, b) => b);
69
- export const SurrogateTag = /*#__PURE__*/tsplus_module_6.makeTag();
67
+ * @tsplus static fncts.schema.ASTAnnotationOps ParseOptional
68
+ */
69
+ const ParseOptional = new ASTAnnotation(ParseOptionalTag, "ParseOptional", (_, b) => b);
70
+ const SurrogateTag = tsplus_module_6.makeTag();
70
71
  /**
71
- * @tsplus static fncts.schema.ASTAnnotationOps Surrogate
72
- */
73
- export const Surrogate = /*#__PURE__*/new ASTAnnotation(SurrogateTag, "Surrogate", (_, b) => b);
74
- export function hook(handler) {
75
- return handler;
72
+ * @tsplus static fncts.schema.ASTAnnotationOps Surrogate
73
+ */
74
+ const Surrogate = new ASTAnnotation(SurrogateTag, "Surrogate", (_, b) => b);
75
+ function hook(handler) {
76
+ return handler;
76
77
  }
77
- export const ParserHookTag = /*#__PURE__*/tsplus_module_6.makeTag();
78
+ const ParserHookTag = tsplus_module_6.makeTag();
78
79
  /**
79
- * @tsplus static fncts.schema.ASTAnnotationOps ParserHook
80
- */
81
- export const ParserHook = /*#__PURE__*/new ASTAnnotation(ParserHookTag, "ParserHook", (_, b) => b);
82
- export const GenHookTag = /*#__PURE__*/tsplus_module_6.makeTag();
80
+ * @tsplus static fncts.schema.ASTAnnotationOps ParserHook
81
+ */
82
+ const ParserHook = new ASTAnnotation(ParserHookTag, "ParserHook", (_, b) => b);
83
+ const GenHookTag = tsplus_module_6.makeTag();
83
84
  /**
84
- * @tsplus static fncts.schema.ASTAnnotationOps GenHook
85
- */
86
- export const GenHook = /*#__PURE__*/new ASTAnnotation(GenHookTag, "GenHook", (_, b) => b);
87
- export const EqHookTag = /*#__PURE__*/tsplus_module_6.makeTag();
85
+ * @tsplus static fncts.schema.ASTAnnotationOps GenHook
86
+ */
87
+ const GenHook = new ASTAnnotation(GenHookTag, "GenHook", (_, b) => b);
88
+ const EqHookTag = tsplus_module_6.makeTag();
88
89
  /**
89
- * @tsplus static fncts.schema.ASTAnnotationOps EqHook
90
- */
91
- export const EqHook = /*#__PURE__*/new ASTAnnotation(EqHookTag, "EqHook", (_, b) => b);
90
+ * @tsplus static fncts.schema.ASTAnnotationOps EqHook
91
+ */
92
+ const EqHook = new ASTAnnotation(EqHookTag, "EqHook", (_, b) => b);
93
+ //#endregion
94
+ export { ASTAnnotation, ASTAnnotationTypeId, ASTAnnotationVariance, Brand, BrandTag, Description, DescriptionTag, EqHook, EqHookTag, GenHook, GenHookTag, Identifier, IdentifierTag, Message, MessageTag, Optional, OptionalTag, ParseOptional, ParseOptionalTag, ParserHook, ParserHookTag, Surrogate, SurrogateTag, Title, TitleTag, hook, isASTAnnotation };
95
+
92
96
  //# sourceMappingURL=ASTAnnotation.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ASTAnnotation.mjs","names":["ASTAnnotationVariance","Symbol","for","ASTAnnotationTypeId","ASTAnnotation","tag","identifier","combine","constructor","tsplus_module_1","hashSymbol","tsplus_module_2","combineHash","hashString","hashUnknown","tsplus_module_3","equalsSymbol","that","isASTAnnotation","tsplus_module_4","strictEquals","u","tsplus_module_5","isObject","TitleTag","tsplus_module_6","makeTag","Title","_","a","IdentifierTag","Identifier","DescriptionTag","Description","MessageTag","Message","BrandTag","Brand","b","tsplus_module_7","concat","OptionalTag","Optional","ParseOptionalTag","ParseOptional","SurrogateTag","Surrogate","hook","handler","ParserHookTag","ParserHook","GenHookTag","GenHook","EqHookTag","EqHook"],"sources":["../_src/ASTAnnotation.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ASTAnnotation.mjs","names":[],"sources":["../esm/ASTAnnotation.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/base/data/Hashable/definition\";\nimport * as tsplus_module_2 from \"@fncts/base/data/Hashable/hash\";\nimport * as tsplus_module_3 from \"@fncts/base/data/Equatable/definition\";\nimport * as tsplus_module_4 from \"@fncts/base/data/Equatable/api\";\nimport * as tsplus_module_5 from \"@fncts/base/util/predicates\";\nimport * as tsplus_module_6 from \"@fncts/base/data/Tag/constructors\";\nimport * as tsplus_module_7 from \"@fncts/base/collection/immutable/Vector/api\";\nexport const ASTAnnotationVariance = Symbol.for(\"fncts.schema.ASTAnnotation.Variance\");\nexport const ASTAnnotationTypeId = Symbol.for(\"fncts.schema.ASTAnnotation\");\n/**\n * @tsplus type fncts.schema.ASTAnnotation\n * @tsplus companion fncts.schema.ASTAnnotationOps\n */\nexport class ASTAnnotation {\n tag;\n identifier;\n combine;\n [ASTAnnotationTypeId] = ASTAnnotationTypeId;\n constructor(tag, identifier, combine) {\n this.tag = tag;\n this.identifier = identifier;\n this.combine = combine;\n }\n get [tsplus_module_1.hashSymbol]() {\n return tsplus_module_2.combineHash(tsplus_module_2.hashString(this.identifier), tsplus_module_2.hashUnknown(this.tag));\n }\n [tsplus_module_3.equalsSymbol](that) {\n return isASTAnnotation(that) && tsplus_module_4.strictEquals(this.tag, that.tag) && this.identifier === that.identifier;\n }\n}\nexport function isASTAnnotation(u) {\n return tsplus_module_5.isObject(u) && ASTAnnotationTypeId in u;\n}\nexport const TitleTag = tsplus_module_6.makeTag();\n/**\n * @tsplus static fncts.schema.ASTAnnotationOps Title\n */\nexport const Title = new ASTAnnotation(TitleTag, \"Title\", (_, a) => a);\nexport const IdentifierTag = tsplus_module_6.makeTag();\n/**\n * @tsplus static fncts.schema.ASTAnnotationOps Identifier\n */\nexport const Identifier = new ASTAnnotation(IdentifierTag, \"Identifier\", (_, a) => a);\nexport const DescriptionTag = tsplus_module_6.makeTag();\n/**\n * @tsplus static fncts.schema.ASTAnnotationOps Description\n */\nexport const Description = new ASTAnnotation(DescriptionTag, \"Description\", (_, a) => a);\nexport const MessageTag = tsplus_module_6.makeTag();\n/**\n * @tsplus static fncts.schema.ASTAnnotationOps Message\n */\nexport const Message = new ASTAnnotation(MessageTag, \"Message\", (_, a) => a);\nexport const BrandTag = tsplus_module_6.makeTag();\n/**\n * @tsplus static fncts.schema.ASTAnnotationOps Brand\n */\nexport const Brand = new ASTAnnotation(BrandTag, \"Brand\", (a, b) => tsplus_module_7.concat(b)(a));\nexport const OptionalTag = tsplus_module_6.makeTag();\n/**\n * @tsplus static fncts.schema.ASTAnnotationOps Optional\n */\nexport const Optional = new ASTAnnotation(OptionalTag, \"Optional\", (_, b) => b);\nexport const ParseOptionalTag = tsplus_module_6.makeTag();\n/**\n * @tsplus static fncts.schema.ASTAnnotationOps ParseOptional\n */\nexport const ParseOptional = new ASTAnnotation(ParseOptionalTag, \"ParseOptional\", (_, b) => b);\nexport const SurrogateTag = tsplus_module_6.makeTag();\n/**\n * @tsplus static fncts.schema.ASTAnnotationOps Surrogate\n */\nexport const Surrogate = new ASTAnnotation(SurrogateTag, \"Surrogate\", (_, b) => b);\nexport function hook(handler) {\n return handler;\n}\nexport const ParserHookTag = tsplus_module_6.makeTag();\n/**\n * @tsplus static fncts.schema.ASTAnnotationOps ParserHook\n */\nexport const ParserHook = new ASTAnnotation(ParserHookTag, \"ParserHook\", (_, b) => b);\nexport const GenHookTag = tsplus_module_6.makeTag();\n/**\n * @tsplus static fncts.schema.ASTAnnotationOps GenHook\n */\nexport const GenHook = new ASTAnnotation(GenHookTag, \"GenHook\", (_, b) => b);\nexport const EqHookTag = tsplus_module_6.makeTag();\n/**\n * @tsplus static fncts.schema.ASTAnnotationOps EqHook\n */\nexport const EqHook = new ASTAnnotation(EqHookTag, \"EqHook\", (_, b) => b);\n//# sourceMappingURL=ASTAnnotation.js.map"],"mappings":";;;;;;;;AAOA,MAAa,wBAAwB,OAAO,IAAI,sCAAsC;AACtF,MAAa,sBAAsB,OAAO,IAAI,6BAA6B;;;;;AAK3E,IAAa,gBAAb,MAA2B;CACvB;CACA;CACA;CACA,CAAC,uBAAuB;CACxB,YAAY,KAAK,YAAY,SAAS;AAClC,OAAK,MAAM;AACX,OAAK,aAAa;AAClB,OAAK,UAAU;;CAEnB,KAAK,gBAAgB,cAAc;AAC/B,SAAO,gBAAgB,YAAY,gBAAgB,WAAW,KAAK,WAAW,EAAE,gBAAgB,YAAY,KAAK,IAAI,CAAC;;CAE1H,CAAC,gBAAgB,cAAc,MAAM;AACjC,SAAO,gBAAgB,KAAK,IAAI,gBAAgB,aAAa,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,eAAe,KAAK;;;AAGrH,SAAgB,gBAAgB,GAAG;AAC/B,QAAO,gBAAgB,SAAS,EAAE,IAAI,uBAAuB;;AAEjE,MAAa,WAAW,gBAAgB,SAAS;;;;AAIjD,MAAa,QAAQ,IAAI,cAAc,UAAU,UAAU,GAAG,MAAM,EAAE;AACtE,MAAa,gBAAgB,gBAAgB,SAAS;;;;AAItD,MAAa,aAAa,IAAI,cAAc,eAAe,eAAe,GAAG,MAAM,EAAE;AACrF,MAAa,iBAAiB,gBAAgB,SAAS;;;;AAIvD,MAAa,cAAc,IAAI,cAAc,gBAAgB,gBAAgB,GAAG,MAAM,EAAE;AACxF,MAAa,aAAa,gBAAgB,SAAS;;;;AAInD,MAAa,UAAU,IAAI,cAAc,YAAY,YAAY,GAAG,MAAM,EAAE;AAC5E,MAAa,WAAW,gBAAgB,SAAS;;;;AAIjD,MAAa,QAAQ,IAAI,cAAc,UAAU,UAAU,GAAG,MAAM,gBAAgB,OAAO,EAAE,CAAC,EAAE,CAAC;AACjG,MAAa,cAAc,gBAAgB,SAAS;;;;AAIpD,MAAa,WAAW,IAAI,cAAc,aAAa,aAAa,GAAG,MAAM,EAAE;AAC/E,MAAa,mBAAmB,gBAAgB,SAAS;;;;AAIzD,MAAa,gBAAgB,IAAI,cAAc,kBAAkB,kBAAkB,GAAG,MAAM,EAAE;AAC9F,MAAa,eAAe,gBAAgB,SAAS;;;;AAIrD,MAAa,YAAY,IAAI,cAAc,cAAc,cAAc,GAAG,MAAM,EAAE;AAClF,SAAgB,KAAK,SAAS;AAC1B,QAAO;;AAEX,MAAa,gBAAgB,gBAAgB,SAAS;;;;AAItD,MAAa,aAAa,IAAI,cAAc,eAAe,eAAe,GAAG,MAAM,EAAE;AACrF,MAAa,aAAa,gBAAgB,SAAS;;;;AAInD,MAAa,UAAU,IAAI,cAAc,YAAY,YAAY,GAAG,MAAM,EAAE;AAC5E,MAAa,YAAY,gBAAgB,SAAS;;;;AAIlD,MAAa,SAAS,IAAI,cAAc,WAAW,WAAW,GAAG,MAAM,EAAE"}
@@ -1,35 +1,37 @@
1
+ import * as tsplus_module_4 from "@fncts/base/data/Maybe/destructors";
1
2
  import * as tsplus_module_1 from "@fncts/base/data/Equatable/definition";
2
3
  import * as tsplus_module_2 from "@fncts/base/collection/Iterable/api";
3
4
  import * as tsplus_module_3 from "@fncts/base/collection/immutable/HashMap/api";
4
- import * as tsplus_module_4 from "@fncts/base/data/Maybe/destructors";
5
5
  import * as tsplus_module_5 from "@fncts/base/collection/immutable/Conc/constructors";
6
6
  import * as tsplus_module_6 from "@fncts/base/collection/immutable/Conc/api";
7
- export class ASTAnnotationMap {
8
- map;
9
- constructor(map) {
10
- this.map = map;
11
- }
12
- [tsplus_module_1.equalsSymbol](that, context) {
13
- if (!(that instanceof ASTAnnotationMap) || this.map.size !== that.map.size) {
14
- return false;
15
- }
16
- return tsplus_module_2.corresponds(that.map, ([k1, v1], [k2, v2]) => context.comparator(k1, k2) && context.comparator(v1, v2))(this.map);
17
- }
18
- combine(that) {
19
- return new ASTAnnotationMap(tsplus_module_6.foldLeft(tsplus_module_3.empty(), (acc, [k, v]) => tsplus_module_3.set(k, tsplus_module_4.match(() => v, _ => k.combine(_, v))(tsplus_module_3.get(k)(acc)))(acc))(tsplus_module_6.concat(tsplus_module_5.from(that.map))(tsplus_module_5.from(this.map))));
20
- }
21
- get(key) {
22
- return tsplus_module_3.get(key)(this.map);
23
- }
24
- overwrite(key, value) {
25
- return new ASTAnnotationMap(tsplus_module_3.set(key, value)(this.map));
26
- }
27
- update(key, f) {
28
- return this.overwrite(key, f(this.get(key)));
29
- }
30
- annotate(key, value) {
31
- return this.update(key, v => tsplus_module_4.match(() => value, v => key.combine(v, value))(v));
32
- }
33
- static empty = /*#__PURE__*/new ASTAnnotationMap(/*#__PURE__*/tsplus_module_3.empty());
34
- }
7
+ //#region build/esm/ASTAnnotationMap.js
8
+ var ASTAnnotationMap = class ASTAnnotationMap {
9
+ map;
10
+ constructor(map) {
11
+ this.map = map;
12
+ }
13
+ [tsplus_module_1.equalsSymbol](that, context) {
14
+ if (!(that instanceof ASTAnnotationMap) || this.map.size !== that.map.size) return false;
15
+ return tsplus_module_2.corresponds(that.map, ([k1, v1], [k2, v2]) => context.comparator(k1, k2) && context.comparator(v1, v2))(this.map);
16
+ }
17
+ combine(that) {
18
+ return new ASTAnnotationMap(tsplus_module_6.foldLeft(tsplus_module_3.empty(), (acc, [k, v]) => tsplus_module_3.set(k, tsplus_module_4.match(() => v, (_) => k.combine(_, v))(tsplus_module_3.get(k)(acc)))(acc))(tsplus_module_6.concat(tsplus_module_5.from(that.map))(tsplus_module_5.from(this.map))));
19
+ }
20
+ get(key) {
21
+ return tsplus_module_3.get(key)(this.map);
22
+ }
23
+ overwrite(key, value) {
24
+ return new ASTAnnotationMap(tsplus_module_3.set(key, value)(this.map));
25
+ }
26
+ update(key, f) {
27
+ return this.overwrite(key, f(this.get(key)));
28
+ }
29
+ annotate(key, value) {
30
+ return this.update(key, (v) => tsplus_module_4.match(() => value, (v) => key.combine(v, value))(v));
31
+ }
32
+ static empty = new ASTAnnotationMap(tsplus_module_3.empty());
33
+ };
34
+ //#endregion
35
+ export { ASTAnnotationMap };
36
+
35
37
  //# sourceMappingURL=ASTAnnotationMap.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ASTAnnotationMap.mjs","names":["ASTAnnotationMap","map","constructor","tsplus_module_1","equalsSymbol","that","context","size","tsplus_module_2","corresponds","k1","v1","k2","v2","comparator","combine","tsplus_module_6","foldLeft","tsplus_module_3","empty","acc","k","v","set","tsplus_module_4","match","_","get","concat","tsplus_module_5","from","key","overwrite","value","update","f","annotate"],"sources":["../_src/ASTAnnotationMap.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,OAAM,MAAOA,gBAAgB;EACNC,GAAA;EAArBC,YAAqBD,GAAqC;IAArC,KAAAA,GAAG,GAAHA,GAAG;EAAqC;EAE7D,CAAAE,eAAA,CAAAC,YAAA,EAAgBC,IAAa,EAAEC,OAAsB;IACnD,IAAI,EAAED,IAAI,YAAYL,gBAAgB,CAAC,IAAI,IAAI,CAACC,GAAG,CAACM,IAAI,KAAKF,IAAI,CAACJ,GAAG,CAACM,IAAI,EAAE;MAC1E,OAAO,KAAK;IACd;IAEA,OAAOC,eAAA,CAAAC,WAAA,CACLJ,IAAI,CAACJ,GAAG,EACR,CAAC,CAACS,EAAE,EAAEC,EAAE,CAAC,EAAE,CAACC,EAAE,EAAEC,EAAE,CAAC,KAAKP,OAAO,CAACQ,UAAU,CAACJ,EAAE,EAAEE,EAAE,CAAC,IAAIN,OAAO,CAACQ,UAAU,CAACH,EAAE,EAAEE,EAAE,CAAC,EAF3E,IAAI,CAACZ,GAAG,CAGd;EACH;EAEAc,OAAOA,CAACV,IAAsB;IAC5B,OAAO,IAAIL,gBAAgB,CACzBgB,eAAA,CAAAC,QAAA,CAEYC,eAAA,CAAAC,KAAA,EAAe,EAAE,CAACC,GAAG,EAAE,CAACC,CAAC,EAAEC,CAAC,CAAC,KACrCJ,eAAA,CAAAK,GAAA,CACEF,CAAC,EACDG,eAAA,CAAAC,KAAA,CACE,MAAMH,CAAC,EACNI,CAAC,IAAKL,CAAC,CAACN,OAAO,CAACW,CAAC,EAAEJ,CAAC,CAAC,EAFxBJ,eAAA,CAAAS,GAAA,CAAQN,CAAC,EAATD,GAAG,CAAO,CAGT,EALHA,GAAG,CAMF,EATLJ,eAAA,CAAAY,MAAA,CACUC,eAAA,CAAAC,IAAA,CAAUzB,IAAI,CAACJ,GAAG,CAAC,EAD7B4B,eAAA,CAAAC,IAAA,CAAU,IAAI,CAAC7B,GAAG,CAAC,CACW,CAS3B,CACJ;EACH;EACA0B,GAAGA,CAAII,GAAqB;IAC1B,OAAOb,eAAA,CAAAS,GAAA,CAAaI,GAAG,EAAhB,IAAI,CAAC9B,GAAG,CAAS;EAC1B;EACQ+B,SAASA,CAAID,GAAqB,EAAEE,KAAQ;IAClD,OAAO,IAAIjC,gBAAgB,CAACkB,eAAA,CAAAK,GAAA,CAAaQ,GAAG,EAAEE,KAAK,EAAvB,IAAI,CAAChC,GAAG,CAAgB,CAAC;EACvD;EACQiC,MAAMA,CAAIH,GAAqB,EAAEI,CAAqB;IAC5D,OAAO,IAAI,CAACH,SAAS,CAACD,GAAG,EAAEI,CAAC,CAAC,IAAI,CAACR,GAAG,CAACI,GAAG,CAAC,CAAC,CAAC;EAC9C;EACAK,QAAQA,CAAIL,GAAqB,EAAEE,KAAQ;IACzC,OAAO,IAAI,CAACC,MAAM,CAACH,GAAG,EAAGT,CAAC,IACxBE,eAAA,CAAAC,KAAA,CACE,MAAMQ,KAAK,EACVX,CAAC,IAAKS,GAAG,CAAChB,OAAO,CAACO,CAAC,EAAEW,KAAK,CAAC,EAF9BX,CAAC,CAGA,CACF;EACH;EACA,OAAOH,KAAK,gBAAqB,IAAInB,gBAAgB,cAACkB,eAAA,CAAAC,KAAA,EAAe,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"ASTAnnotationMap.mjs","names":[],"sources":["../esm/ASTAnnotationMap.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/base/data/Equatable/definition\";\nimport * as tsplus_module_2 from \"@fncts/base/collection/Iterable/api\";\nimport * as tsplus_module_3 from \"@fncts/base/collection/immutable/HashMap/api\";\nimport * as tsplus_module_4 from \"@fncts/base/data/Maybe/destructors\";\nimport * as tsplus_module_5 from \"@fncts/base/collection/immutable/Conc/constructors\";\nimport * as tsplus_module_6 from \"@fncts/base/collection/immutable/Conc/api\";\nexport class ASTAnnotationMap {\n map;\n constructor(map) {\n this.map = map;\n }\n [tsplus_module_1.equalsSymbol](that, context) {\n if (!(that instanceof ASTAnnotationMap) || this.map.size !== that.map.size) {\n return false;\n }\n return tsplus_module_2.corresponds(that.map, ([k1, v1], [k2, v2]) => context.comparator(k1, k2) && context.comparator(v1, v2))(this.map);\n }\n combine(that) {\n return new ASTAnnotationMap(tsplus_module_6.foldLeft(tsplus_module_3.empty(), (acc, [k, v]) => tsplus_module_3.set(k, tsplus_module_4.match(() => v, (_) => k.combine(_, v))(tsplus_module_3.get(k)(acc)))(acc))(tsplus_module_6.concat(tsplus_module_5.from(that.map))(tsplus_module_5.from(this.map))));\n }\n get(key) {\n return tsplus_module_3.get(key)(this.map);\n }\n overwrite(key, value) {\n return new ASTAnnotationMap(tsplus_module_3.set(key, value)(this.map));\n }\n update(key, f) {\n return this.overwrite(key, f(this.get(key)));\n }\n annotate(key, value) {\n return this.update(key, (v) => tsplus_module_4.match(() => value, (v) => key.combine(v, value))(v));\n }\n static empty = new ASTAnnotationMap(tsplus_module_3.empty());\n}\n//# sourceMappingURL=ASTAnnotationMap.js.map"],"mappings":";;;;;;;AAMA,IAAa,mBAAb,MAAa,iBAAiB;CAC1B;CACA,YAAY,KAAK;AACb,OAAK,MAAM;;CAEf,CAAC,gBAAgB,cAAc,MAAM,SAAS;AAC1C,MAAI,EAAE,gBAAgB,qBAAqB,KAAK,IAAI,SAAS,KAAK,IAAI,KAClE,QAAO;AAEX,SAAO,gBAAgB,YAAY,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,QAAQ,WAAW,IAAI,GAAG,IAAI,QAAQ,WAAW,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI;;CAE5I,QAAQ,MAAM;AACV,SAAO,IAAI,iBAAiB,gBAAgB,SAAS,gBAAgB,OAAO,GAAG,KAAK,CAAC,GAAG,OAAO,gBAAgB,IAAI,GAAG,gBAAgB,YAAY,IAAI,MAAM,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,OAAO,gBAAgB,KAAK,KAAK,IAAI,CAAC,CAAC,gBAAgB,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;;CAE7S,IAAI,KAAK;AACL,SAAO,gBAAgB,IAAI,IAAI,CAAC,KAAK,IAAI;;CAE7C,UAAU,KAAK,OAAO;AAClB,SAAO,IAAI,iBAAiB,gBAAgB,IAAI,KAAK,MAAM,CAAC,KAAK,IAAI,CAAC;;CAE1E,OAAO,KAAK,GAAG;AACX,SAAO,KAAK,UAAU,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;;CAEhD,SAAS,KAAK,OAAO;AACjB,SAAO,KAAK,OAAO,MAAM,MAAM,gBAAgB,YAAY,QAAQ,MAAM,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;;CAEvG,OAAO,QAAQ,IAAI,iBAAiB,gBAAgB,OAAO,CAAC"}