typia 5.2.6 → 5.3.0-dev.20231112

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 (202) hide show
  1. package/lib/factories/ExpressionFactory.js +14 -16
  2. package/lib/factories/ExpressionFactory.js.map +1 -1
  3. package/lib/factories/JsonMetadataFactory.d.ts +1 -1
  4. package/lib/factories/JsonMetadataFactory.js +2 -2
  5. package/lib/factories/JsonMetadataFactory.js.map +1 -1
  6. package/lib/factories/LiteralFactory.js +2 -0
  7. package/lib/factories/LiteralFactory.js.map +1 -1
  8. package/lib/factories/MetadataCollection.d.ts +2 -2
  9. package/lib/factories/MetadataFactory.d.ts +1 -1
  10. package/lib/factories/MetadataFactory.js +236 -170
  11. package/lib/factories/MetadataFactory.js.map +1 -1
  12. package/lib/factories/NumericRangeFactory.d.ts +2 -2
  13. package/lib/factories/NumericRangeFactory.js +41 -21
  14. package/lib/factories/NumericRangeFactory.js.map +1 -1
  15. package/lib/factories/ProtobufFactory.d.ts +1 -1
  16. package/lib/factories/ProtobufFactory.js +2 -2
  17. package/lib/factories/ProtobufFactory.js.map +1 -1
  18. package/lib/factories/internal/metadata/MetadataHelper.js +3 -2
  19. package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
  20. package/lib/factories/internal/metadata/iterate_metadata_constant.js +13 -8
  21. package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -1
  22. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +8 -5
  23. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  24. package/lib/functional/$from.d.ts +3 -0
  25. package/lib/functional/$from.js +9 -0
  26. package/lib/functional/$from.js.map +1 -0
  27. package/lib/functional/Namespace.js +7 -0
  28. package/lib/functional/Namespace.js.map +1 -1
  29. package/lib/module.d.ts +1 -0
  30. package/lib/module.js +2 -5
  31. package/lib/module.js.map +1 -1
  32. package/lib/programmers/CheckerProgrammer.js +11 -16
  33. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  34. package/lib/programmers/RandomProgrammer.js +1 -1
  35. package/lib/programmers/RandomProgrammer.js.map +1 -1
  36. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  37. package/lib/programmers/http/HttpHeadersProgrammer.js +1 -1
  38. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  39. package/lib/programmers/http/HttpParameterProgrammer.js +1 -1
  40. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  41. package/lib/programmers/http/HttpQueryProgrammer.js +1 -1
  42. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  43. package/lib/programmers/internal/application_array.js +8 -0
  44. package/lib/programmers/internal/application_array.js.map +1 -1
  45. package/lib/programmers/internal/application_number.js +8 -1
  46. package/lib/programmers/internal/application_number.js.map +1 -1
  47. package/lib/programmers/internal/application_string.js +8 -1
  48. package/lib/programmers/internal/application_string.js.map +1 -1
  49. package/lib/programmers/internal/check_array_length.js +7 -4
  50. package/lib/programmers/internal/check_array_length.js.map +1 -1
  51. package/lib/programmers/internal/check_bigint.js +7 -4
  52. package/lib/programmers/internal/check_bigint.js.map +1 -1
  53. package/lib/programmers/internal/check_number.js +7 -4
  54. package/lib/programmers/internal/check_number.js.map +1 -1
  55. package/lib/programmers/internal/check_string.js +7 -4
  56. package/lib/programmers/internal/check_string.js.map +1 -1
  57. package/lib/programmers/internal/metadata_to_pattern.js +3 -1
  58. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  59. package/lib/programmers/json/JsonAssertParseProgrammer.js +1 -1
  60. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  61. package/lib/programmers/json/JsonIsParseProgrammer.js +1 -1
  62. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  63. package/lib/programmers/json/JsonStringifyProgrammer.js +3 -8
  64. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  65. package/lib/programmers/json/JsonValidateParseProgrammer.js +1 -1
  66. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  67. package/lib/programmers/misc/MiscCloneProgrammer.js +19 -24
  68. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  69. package/lib/programmers/misc/MiscLiteralsProgrammer.js +1 -1
  70. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  71. package/lib/programmers/misc/MiscPruneProgrammer.js +11 -16
  72. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  73. package/lib/programmers/notations/NotationGeneralProgrammer.js +11 -16
  74. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  75. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +1 -1
  76. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  77. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +38 -42
  78. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  79. package/lib/programmers/protobuf/ProtobufMessageProgrammer.d.ts +1 -1
  80. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +22 -25
  81. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  82. package/lib/reflect.d.ts +3 -0
  83. package/lib/reflect.js +13 -0
  84. package/lib/reflect.js.map +1 -0
  85. package/lib/schemas/json/IJsonSchema.d.ts +1 -0
  86. package/lib/schemas/metadata/IMetadataApplication.d.ts +2 -2
  87. package/lib/schemas/metadata/{IMetadataCollection.d.ts → IMetadataComponents.d.ts} +1 -1
  88. package/lib/schemas/metadata/{IMetadataCollection.js → IMetadataComponents.js} +1 -1
  89. package/lib/schemas/metadata/IMetadataComponents.js.map +1 -0
  90. package/lib/schemas/metadata/IMetadataConstant.d.ts +1 -1
  91. package/lib/schemas/metadata/IMetadataTypeTag.d.ts +2 -2
  92. package/lib/schemas/metadata/Metadata.d.ts +2 -2
  93. package/lib/schemas/metadata/Metadata.js +82 -173
  94. package/lib/schemas/metadata/Metadata.js.map +1 -1
  95. package/lib/schemas/metadata/MetadataAlias.js +1 -1
  96. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  97. package/lib/schemas/metadata/MetadataApplication.d.ts +13 -0
  98. package/lib/schemas/metadata/MetadataApplication.js +30 -0
  99. package/lib/schemas/metadata/MetadataApplication.js.map +1 -0
  100. package/lib/schemas/metadata/MetadataArrayType.js +1 -1
  101. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -1
  102. package/lib/schemas/metadata/MetadataAtomic.d.ts +3 -0
  103. package/lib/schemas/metadata/MetadataAtomic.js +42 -0
  104. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
  105. package/lib/schemas/metadata/MetadataComponents.d.ts +16 -0
  106. package/lib/schemas/metadata/MetadataComponents.js +151 -0
  107. package/lib/schemas/metadata/MetadataComponents.js.map +1 -0
  108. package/lib/schemas/metadata/MetadataConstant.d.ts +9 -1
  109. package/lib/schemas/metadata/MetadataConstant.js +29 -0
  110. package/lib/schemas/metadata/MetadataConstant.js.map +1 -1
  111. package/lib/schemas/metadata/MetadataEscaped.js +4 -4
  112. package/lib/schemas/metadata/MetadataEscaped.js.map +1 -1
  113. package/lib/schemas/metadata/MetadataObject.js +2 -2
  114. package/lib/schemas/metadata/MetadataObject.js.map +1 -1
  115. package/lib/schemas/metadata/MetadataProperty.js +4 -4
  116. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  117. package/lib/schemas/metadata/MetadataTupleType.js +1 -1
  118. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -1
  119. package/lib/transformers/CallExpressionTransformer.js +5 -2
  120. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  121. package/lib/transformers/features/json/JsonApplicationTransformer.d.ts +1 -1
  122. package/lib/transformers/features/json/JsonApplicationTransformer.js +4 -5
  123. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  124. package/lib/transformers/features/reflect/ReflectMetadataTransformer.d.ts +5 -0
  125. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +58 -0
  126. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -0
  127. package/package.json +2 -2
  128. package/src/Primitive.ts +135 -135
  129. package/src/executable/TypiaSetupWizard.ts +142 -142
  130. package/src/executable/setup/CommandExecutor.ts +8 -8
  131. package/src/factories/ExpressionFactory.ts +12 -13
  132. package/src/factories/JsonMetadataFactory.ts +53 -50
  133. package/src/factories/LiteralFactory.ts +2 -0
  134. package/src/factories/MetadataCollection.ts +282 -282
  135. package/src/factories/MetadataFactory.ts +55 -22
  136. package/src/factories/NumericRangeFactory.ts +56 -17
  137. package/src/factories/ProtobufFactory.ts +5 -2
  138. package/src/factories/internal/metadata/MetadataHelper.ts +7 -4
  139. package/src/factories/internal/metadata/emplace_metadata_object.ts +178 -178
  140. package/src/factories/internal/metadata/iterate_metadata_constant.ts +10 -8
  141. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +9 -8
  142. package/src/functional/$from.ts +5 -0
  143. package/src/functional/$stoll.ts +8 -8
  144. package/src/functional/Namespace.ts +175 -168
  145. package/src/module.ts +1 -19
  146. package/src/programmers/AssertProgrammer.ts +322 -322
  147. package/src/programmers/CheckerProgrammer.ts +16 -17
  148. package/src/programmers/IsProgrammer.ts +258 -258
  149. package/src/programmers/RandomProgrammer.ts +4 -1
  150. package/src/programmers/ValidateProgrammer.ts +350 -350
  151. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  152. package/src/programmers/helpers/ProtobufUtil.ts +3 -2
  153. package/src/programmers/http/HttpHeadersProgrammer.ts +4 -1
  154. package/src/programmers/http/HttpParameterProgrammer.ts +4 -1
  155. package/src/programmers/http/HttpQueryProgrammer.ts +4 -1
  156. package/src/programmers/internal/application_array.ts +8 -0
  157. package/src/programmers/internal/application_number.ts +8 -1
  158. package/src/programmers/internal/application_string.ts +8 -1
  159. package/src/programmers/internal/check_array_length.ts +5 -2
  160. package/src/programmers/internal/check_bigint.ts +5 -2
  161. package/src/programmers/internal/check_dynamic_key.ts +178 -178
  162. package/src/programmers/internal/check_dynamic_properties.ts +202 -202
  163. package/src/programmers/internal/check_number.ts +5 -2
  164. package/src/programmers/internal/check_object.ts +62 -62
  165. package/src/programmers/internal/check_string.ts +5 -3
  166. package/src/programmers/internal/metadata_to_pattern.ts +3 -1
  167. package/src/programmers/json/JsonAssertParseProgrammer.ts +1 -0
  168. package/src/programmers/json/JsonIsParseProgrammer.ts +1 -0
  169. package/src/programmers/json/JsonStringifyProgrammer.ts +959 -960
  170. package/src/programmers/json/JsonValidateParseProgrammer.ts +1 -0
  171. package/src/programmers/misc/MiscCloneProgrammer.ts +787 -786
  172. package/src/programmers/misc/MiscLiteralsProgrammer.ts +4 -1
  173. package/src/programmers/misc/MiscPruneProgrammer.ts +549 -548
  174. package/src/programmers/notations/NotationGeneralProgrammer.ts +717 -716
  175. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +1 -0
  176. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +872 -882
  177. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +21 -21
  178. package/src/reflect.ts +24 -0
  179. package/src/schemas/json/IJsonSchema.ts +1 -0
  180. package/src/schemas/metadata/IMetadataApplication.ts +2 -2
  181. package/src/schemas/metadata/{IMetadataCollection.ts → IMetadataComponents.ts} +1 -1
  182. package/src/schemas/metadata/IMetadataConstant.ts +1 -1
  183. package/src/schemas/metadata/IMetadataTypeTag.ts +9 -2
  184. package/src/schemas/metadata/Metadata.ts +18 -91
  185. package/src/schemas/metadata/MetadataAlias.ts +1 -1
  186. package/src/schemas/metadata/MetadataApplication.ts +44 -0
  187. package/src/schemas/metadata/MetadataArrayType.ts +1 -1
  188. package/src/schemas/metadata/MetadataAtomic.ts +44 -0
  189. package/src/schemas/metadata/MetadataComponents.ts +98 -0
  190. package/src/schemas/metadata/MetadataConstant.ts +44 -1
  191. package/src/schemas/metadata/MetadataEscaped.ts +4 -4
  192. package/src/schemas/metadata/MetadataObject.ts +2 -2
  193. package/src/schemas/metadata/MetadataProperty.ts +4 -7
  194. package/src/schemas/metadata/MetadataTupleType.ts +1 -1
  195. package/src/transform.ts +35 -35
  196. package/src/transformers/CallExpressionTransformer.ts +5 -2
  197. package/src/transformers/features/json/JsonApplicationTransformer.ts +7 -4
  198. package/src/transformers/features/{misc/MetadataTransformer.ts → reflect/ReflectMetadataTransformer.ts} +25 -8
  199. package/lib/schemas/metadata/IMetadataCollection.js.map +0 -1
  200. package/lib/transformers/features/misc/MetadataTransformer.d.ts +0 -5
  201. package/lib/transformers/features/misc/MetadataTransformer.js +0 -55
  202. package/lib/transformers/features/misc/MetadataTransformer.js.map +0 -1
@@ -91,23 +91,21 @@ var ExpressionFactory;
91
91
  return printer.printNode(typescript_1.default.EmitHint.Expression, input, input.getSourceFile());
92
92
  };
93
93
  };
94
- ExpressionFactory.transpile = function (context) {
95
- return function (script) {
96
- return function (input) {
97
- var file = typescript_1.default.createSourceFile("".concat(RandomGenerator_1.RandomGenerator.uuid(), ".ts"), script, typescript_1.default.ScriptTarget.ESNext, true, typescript_1.default.ScriptKind.TS);
98
- var statement = file.statements[0];
99
- if (statement === undefined)
100
- throw new ReferenceError("Error on ExpressionFactory.transpile(): no statement exists.");
101
- else if (!typescript_1.default.isExpressionStatement(statement))
102
- throw new TypeError("Error on ExpressionFactory.transpile(): statement is not an expression statement.");
103
- var visitor = function (node) {
104
- if (typescript_1.default.isIdentifier(node) && node.text === "$input")
105
- return input;
106
- return typescript_1.default.visitEachChild(typescript_1.default.factory.cloneNode(node), visitor, context);
107
- };
108
- return visitor(statement.expression);
94
+ ExpressionFactory.transpile = function (context) { return function (script) {
95
+ var file = typescript_1.default.createSourceFile("".concat(RandomGenerator_1.RandomGenerator.uuid(), ".ts"), script, typescript_1.default.ScriptTarget.ESNext, true, typescript_1.default.ScriptKind.TS);
96
+ var statement = file.statements[0];
97
+ if (statement === undefined)
98
+ throw new ReferenceError("Error on ExpressionFactory.transpile(): no statement exists.");
99
+ else if (!typescript_1.default.isExpressionStatement(statement))
100
+ throw new TypeError("Error on ExpressionFactory.transpile(): statement is not an expression statement.");
101
+ return function (input) {
102
+ var visitor = function (node) {
103
+ if (typescript_1.default.isIdentifier(node) && node.text === "$input")
104
+ return input;
105
+ return typescript_1.default.visitEachChild(typescript_1.default.factory.cloneNode(node), visitor, context);
109
106
  };
107
+ return visitor(statement.expression);
110
108
  };
111
- };
109
+ }; };
112
110
  })(ExpressionFactory || (exports.ExpressionFactory = ExpressionFactory = {}));
113
111
  //# sourceMappingURL=ExpressionFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionFactory.js","sourceRoot":"","sources":["../../src/factories/ExpressionFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpressionFactory.js","sourceRoot":"","sources":["../../src/factories/ExpressionFactory.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,6 @@ import ts from "typescript";
2
2
  import { Metadata } from "../schemas/metadata/Metadata";
3
3
  import { MetadataCollection } from "./MetadataCollection";
4
4
  export declare namespace JsonMetadataFactory {
5
- const analyze: (method: string) => (checker: ts.TypeChecker) => (type: ts.Type) => [MetadataCollection, Metadata];
5
+ const analyze: (method: string) => (checker: ts.TypeChecker, context?: ts.TransformationContext) => (type: ts.Type) => [MetadataCollection, Metadata];
6
6
  const validate: (meta: Metadata) => string[];
7
7
  }
@@ -19,10 +19,10 @@ var MetadataFactory_1 = require("./MetadataFactory");
19
19
  var JsonMetadataFactory;
20
20
  (function (JsonMetadataFactory) {
21
21
  JsonMetadataFactory.analyze = function (method) {
22
- return function (checker) {
22
+ return function (checker, context) {
23
23
  return function (type) {
24
24
  var collection = new MetadataCollection_1.MetadataCollection();
25
- var result = MetadataFactory_1.MetadataFactory.analyze(checker)({
25
+ var result = MetadataFactory_1.MetadataFactory.analyze(checker, context)({
26
26
  escape: true,
27
27
  constant: true,
28
28
  absorb: true,
@@ -1 +1 @@
1
- {"version":3,"file":"JsonMetadataFactory.js","sourceRoot":"","sources":["../../src/factories/JsonMetadataFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,4EAA2E;AAE3E,qEAAoE;AAEpE,2DAA0D;AAC1D,qDAAoD;AAEpD,IAAiB,mBAAmB,CAsCnC;AAtCD,WAAiB,mBAAmB;IACnB,2BAAO,GAChB,UAAC,MAAc;QACf,OAAA,UAAC,OAAuB;YACxB,OAAA,UAAC,IAAa;gBACV,IAAM,UAAU,GAAG,IAAI,uCAAkB,EAAE,CAAC;gBAC5C,IAAM,MAAM,GAAG,iCAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC5C,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;oBACZ,QAAQ,8BAAA;iBACX,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;oBACxB,MAAM,mCAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvD,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;QAXD,CAWC;IAZD,CAYC,CAAC;IAEO,4BAAQ,GAAG,UAAC,IAAc;;QACnC,IAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IACI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAAC;YAE/C,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACtD,IACI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC;YACf,OAAA,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,EAAE,KAAK,KAAK,EAAxB,CAAwB,CAAC;QAArD,CAAqD,CACxD;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK,EAAnC,CAAmC,CAAC;YAE5D,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;;YACrE,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;gBAA5B,IAAM,MAAM,WAAA;gBACb,IAAI,mCAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;oBAC9D,MAAM,CAAC,IAAI,CAAC,gCAAyB,MAAM,WAAQ,CAAC,CAAC;aAAA;;;;;;;;;QAC7D,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC,EAtCgB,mBAAmB,mCAAnB,mBAAmB,QAsCnC"}
1
+ {"version":3,"file":"JsonMetadataFactory.js","sourceRoot":"","sources":["../../src/factories/JsonMetadataFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,4EAA2E;AAE3E,qEAAoE;AAEpE,2DAA0D;AAC1D,qDAAoD;AAEpD,IAAiB,mBAAmB,CAyCnC;AAzCD,WAAiB,mBAAmB;IACnB,2BAAO,GAChB,UAAC,MAAc;QACf,OAAA,UAAC,OAAuB,EAAE,OAAkC;YAC5D,OAAA,UAAC,IAAa;gBACV,IAAM,UAAU,GAAG,IAAI,uCAAkB,EAAE,CAAC;gBAC5C,IAAM,MAAM,GAAG,iCAAe,CAAC,OAAO,CAClC,OAAO,EACP,OAAO,CACV,CAAC;oBACE,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;oBACZ,QAAQ,8BAAA;iBACX,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;oBACxB,MAAM,mCAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvD,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;QAdD,CAcC;IAfD,CAeC,CAAC;IAEO,4BAAQ,GAAG,UAAC,IAAc;;QACnC,IAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IACI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAAC;YAE/C,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACtD,IACI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC;YACf,OAAA,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,EAAE,KAAK,KAAK,EAAxB,CAAwB,CAAC;QAArD,CAAqD,CACxD;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK,EAAnC,CAAmC,CAAC;YAE5D,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;;YACrE,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;gBAA5B,IAAM,MAAM,WAAA;gBACb,IAAI,mCAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM;oBAC9D,MAAM,CAAC,IAAI,CAAC,gCAAyB,MAAM,WAAQ,CAAC,CAAC;aAAA;;;;;;;;;QAC7D,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC,EAzCgB,mBAAmB,mCAAnB,mBAAmB,QAyCnC"}
@@ -42,6 +42,8 @@ var LiteralFactory;
42
42
  return generate_value(input);
43
43
  else if (typeof input === "bigint")
44
44
  return generate_bigint(input);
45
+ else if (typeof input === "function")
46
+ return typescript_1.default.factory.createIdentifier("undefined");
45
47
  else
46
48
  throw new TypeError("Error on LiteralFactory.generate(): unknown type.");
47
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"LiteralFactory.js","sourceRoot":"","sources":["../../src/factories/LiteralFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,yDAAwD;AACxD,yDAAwD;AAExD,IAAiB,cAAc,CAyC9B;AAzCD,WAAiB,cAAc;IACd,uBAAQ,GAAG,UAAC,KAAU;QAC/B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;aAC9C,IAAI,oBAAE,CAAC,YAAY,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;aACzC,IAAI,KAAK,YAAY,KAAK;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;aACzD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7D,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;aAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;aAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;;YAG9D,MAAM,IAAI,SAAS,CACf,mDAAmD,CACtD,CAAC;IACV,CAAC,CAAC;IAEF,IAAM,eAAe,GAAG,UAAC,GAAW;QAChC,OAAA,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;aACd,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAtB,CAAsB,CAAC;aACzC,GAAG,CAAC,UAAC,EAAY;gBAAZ,KAAA,aAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YACb,OAAA,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,qCAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EACjC,eAAA,QAAQ,CAAC,KAAK,CAAC,CAClB;QAHD,CAGC,CACJ,EACL,IAAI,CACP;IAVD,CAUC,CAAC;IAEN,IAAM,cAAc,GAAG,UAAC,KAAY;QAChC,OAAA,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,GAAG,CAAC,eAAA,QAAQ,CAAC,EAAE,IAAI,CAAC;IAAlE,CAAkE,CAAC;IAEvE,IAAM,cAAc,GAAG,UAAC,KAAgC;QACpD,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAA7C,CAA6C,CAAC;IAElD,IAAM,eAAe,GAAG,UAAC,KAAa;QAClC,OAAA,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC;IAA/B,CAA+B,CAAC;IAEpC,IAAM,eAAe,GAAG,UAAC,KAAa;QAClC,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC;IAArC,CAAqC,CAAC;AAC9C,CAAC,EAzCgB,cAAc,8BAAd,cAAc,QAyC9B"}
1
+ {"version":3,"file":"LiteralFactory.js","sourceRoot":"","sources":["../../src/factories/LiteralFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,yDAAwD;AACxD,yDAAwD;AAExD,IAAiB,cAAc,CA2C9B;AA3CD,WAAiB,cAAc;IACd,uBAAQ,GAAG,UAAC,KAAU;QAC/B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;aAC9C,IAAI,oBAAE,CAAC,YAAY,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;aACzC,IAAI,KAAK,YAAY,KAAK;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;aACzD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7D,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;aAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;aAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;aAE7D,IAAI,OAAO,KAAK,KAAK,UAAU;YAChC,OAAO,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;;YAEhD,MAAM,IAAI,SAAS,CACf,mDAAmD,CACtD,CAAC;IACV,CAAC,CAAC;IAEF,IAAM,eAAe,GAAG,UAAC,GAAW;QAChC,OAAA,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;aACd,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAtB,CAAsB,CAAC;aACzC,GAAG,CAAC,UAAC,EAAY;gBAAZ,KAAA,aAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YACb,OAAA,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,qCAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EACjC,eAAA,QAAQ,CAAC,KAAK,CAAC,CAClB;QAHD,CAGC,CACJ,EACL,IAAI,CACP;IAVD,CAUC,CAAC;IAEN,IAAM,cAAc,GAAG,UAAC,KAAY;QAChC,OAAA,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,GAAG,CAAC,eAAA,QAAQ,CAAC,EAAE,IAAI,CAAC;IAAlE,CAAkE,CAAC;IAEvE,IAAM,cAAc,GAAG,UAAC,KAAgC;QACpD,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAA7C,CAA6C,CAAC;IAElD,IAAM,eAAe,GAAG,UAAC,KAAa;QAClC,OAAA,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC;IAA/B,CAA+B,CAAC;IAEpC,IAAM,eAAe,GAAG,UAAC,KAAa;QAClC,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC;IAArC,CAAqC,CAAC;AAC9C,CAAC,EA3CgB,cAAc,8BAAd,cAAc,QA2C9B"}
@@ -1,5 +1,5 @@
1
1
  import ts from "typescript";
2
- import { IMetadataCollection } from "../schemas/metadata/IMetadataCollection";
2
+ import { IMetadataComponents } from "../schemas/metadata/IMetadataComponents";
3
3
  import { Metadata } from "../schemas/metadata/Metadata";
4
4
  import { MetadataAlias } from "../schemas/metadata/MetadataAlias";
5
5
  import { MetadataArrayType } from "../schemas/metadata/MetadataArrayType";
@@ -28,7 +28,7 @@ export declare class MetadataCollection {
28
28
  emplaceArray(checker: ts.TypeChecker, type: ts.Type): [MetadataArrayType, boolean, (meta: Metadata) => void];
29
29
  emplaceTuple(checker: ts.TypeChecker, type: ts.TupleType): [MetadataTupleType, boolean, (elements: Metadata[]) => void];
30
30
  setTupleRecursive(tuple: MetadataTupleType, recursive: boolean): void;
31
- toJSON(): IMetadataCollection;
31
+ toJSON(): IMetadataComponents;
32
32
  }
33
33
  export declare namespace MetadataCollection {
34
34
  interface IOptions {
@@ -28,5 +28,5 @@ export declare namespace MetadataFactory {
28
28
  explore: IExplore;
29
29
  messages: string[];
30
30
  }
31
- const analyze: (checker: ts.TypeChecker) => (options: IOptions) => (collection: MetadataCollection) => (type: ts.Type | null) => ValidationPipe<Metadata, IError>;
31
+ const analyze: (checker: ts.TypeChecker, context?: ts.TransformationContext) => (options: IOptions) => (collection: MetadataCollection) => (type: ts.Type | null) => ValidationPipe<Metadata, IError>;
32
32
  }
@@ -46,15 +46,21 @@ var __values = (this && this.__values) || function(o) {
46
46
  };
47
47
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
48
  };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
49
52
  Object.defineProperty(exports, "__esModule", { value: true });
50
53
  exports.MetadataFactory = void 0;
54
+ var typescript_1 = __importDefault(require("typescript"));
51
55
  var Metadata_1 = require("../schemas/metadata/Metadata");
56
+ var MetadataConstant_1 = require("../schemas/metadata/MetadataConstant");
52
57
  var explore_metadata_1 = require("./internal/metadata/explore_metadata");
53
58
  var iterate_metadata_collection_1 = require("./internal/metadata/iterate_metadata_collection");
54
59
  var iterate_metadata_sort_1 = require("./internal/metadata/iterate_metadata_sort");
60
+ var ExpressionFactory_1 = require("./ExpressionFactory");
55
61
  var MetadataFactory;
56
62
  (function (MetadataFactory) {
57
- MetadataFactory.analyze = function (checker) {
63
+ MetadataFactory.analyze = function (checker, context) {
58
64
  return function (options) {
59
65
  return function (collection) {
60
66
  return function (type) {
@@ -70,7 +76,7 @@ var MetadataFactory;
70
76
  (0, iterate_metadata_collection_1.iterate_metadata_collection)(errors)(collection);
71
77
  (0, iterate_metadata_sort_1.iterate_metadata_sort)(collection)(meta);
72
78
  if (options.validate)
73
- errors.push.apply(errors, __spreadArray([], __read(validate(options)(options.validate)(meta)), false));
79
+ errors.push.apply(errors, __spreadArray([], __read(validate(context)(options)(options.validate)(meta)), false));
74
80
  return errors.length
75
81
  ? {
76
82
  success: false,
@@ -86,219 +92,279 @@ var MetadataFactory;
86
92
  };
87
93
  MetadataFactory.soleLiteral = function (value) {
88
94
  var meta = Metadata_1.Metadata.initialize();
89
- meta.constants.push({
95
+ meta.constants.push(MetadataConstant_1.MetadataConstant.from({
90
96
  values: [value],
91
97
  type: "string",
92
- });
98
+ }));
93
99
  return meta;
94
100
  };
95
- var validate = function (options) {
96
- return function (functor) {
97
- return function (meta) {
98
- var visitor = {
99
- functor: functor,
100
- errors: [],
101
- objects: new Set(),
102
- arrays: new Set(),
103
- tuples: new Set(),
104
- aliases: new Set(),
101
+ var validate = function (context) {
102
+ return function (options) {
103
+ return function (functor) {
104
+ return function (meta) {
105
+ var visitor = {
106
+ functor: functor,
107
+ errors: [],
108
+ objects: new Set(),
109
+ arrays: new Set(),
110
+ tuples: new Set(),
111
+ aliases: new Set(),
112
+ };
113
+ validateMeta(context)(options)(visitor)(meta, {
114
+ object: null,
115
+ property: null,
116
+ nested: null,
117
+ top: true,
118
+ aliased: false,
119
+ escaped: false,
120
+ });
121
+ return visitor.errors;
105
122
  };
106
- validateMeta(options)(visitor)(meta, {
107
- object: null,
108
- property: null,
109
- nested: null,
110
- top: true,
111
- aliased: false,
112
- escaped: false,
113
- });
114
- return visitor.errors;
115
123
  };
116
124
  };
117
125
  };
118
- var validateMeta = function (options) {
119
- return function (visitor) {
120
- return function (meta, explore) {
121
- var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f;
122
- var result = new Set(visitor.functor(meta, explore));
123
- if (result.size)
124
- visitor.errors.push({
125
- name: meta.getName(),
126
- explore: __assign({}, explore),
127
- messages: __spreadArray([], __read(result), false),
128
- });
129
- try {
130
- for (var _g = __values(meta.aliases), _h = _g.next(); !_h.done; _h = _g.next()) {
131
- var alias = _h.value;
132
- validateAlias(options)(visitor)(alias, explore);
133
- }
134
- }
135
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
136
- finally {
126
+ var validateMeta = function (context) {
127
+ return function (options) {
128
+ return function (visitor) {
129
+ return function (meta, explore) {
130
+ var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g, e_8, _h, e_9, _j;
131
+ var result = [];
132
+ if (context !== undefined)
133
+ try {
134
+ for (var _k = __values(meta.atomics), _l = _k.next(); !_l.done; _l = _k.next()) {
135
+ var atomic = _l.value;
136
+ try {
137
+ for (var _m = (e_2 = void 0, __values(atomic.tags)), _o = _m.next(); !_o.done; _o = _m.next()) {
138
+ var row = _o.value;
139
+ try {
140
+ for (var _p = (e_3 = void 0, __values(row.filter(function (t) {
141
+ return t.validate !== undefined &&
142
+ t.predicate === undefined;
143
+ }))), _q = _p.next(); !_q.done; _q = _p.next()) {
144
+ var tag = _q.value;
145
+ try {
146
+ tag.predicate = ExpressionFactory_1.ExpressionFactory.transpile(context)(tag.validate);
147
+ }
148
+ catch (_r) {
149
+ result.push("Unable to transpile type tag script: ".concat(JSON.stringify(tag.validate)));
150
+ tag.predicate = function () { return typescript_1.default.factory.createTrue(); };
151
+ }
152
+ }
153
+ }
154
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
155
+ finally {
156
+ try {
157
+ if (_q && !_q.done && (_c = _p.return)) _c.call(_p);
158
+ }
159
+ finally { if (e_3) throw e_3.error; }
160
+ }
161
+ }
162
+ }
163
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
164
+ finally {
165
+ try {
166
+ if (_o && !_o.done && (_b = _m.return)) _b.call(_m);
167
+ }
168
+ finally { if (e_2) throw e_2.error; }
169
+ }
170
+ }
171
+ }
172
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
173
+ finally {
174
+ try {
175
+ if (_l && !_l.done && (_a = _k.return)) _a.call(_k);
176
+ }
177
+ finally { if (e_1) throw e_1.error; }
178
+ }
179
+ result.push.apply(result, __spreadArray([], __read(visitor.functor(meta, explore)), false));
180
+ if (result.length)
181
+ visitor.errors.push({
182
+ name: meta.getName(),
183
+ explore: __assign({}, explore),
184
+ messages: __spreadArray([], __read(new Set(result)), false),
185
+ });
137
186
  try {
138
- if (_h && !_h.done && (_a = _g.return)) _a.call(_g);
187
+ for (var _s = __values(meta.aliases), _t = _s.next(); !_t.done; _t = _s.next()) {
188
+ var alias = _t.value;
189
+ validateAlias(context)(options)(visitor)(alias, explore);
190
+ }
139
191
  }
140
- finally { if (e_1) throw e_1.error; }
141
- }
142
- try {
143
- for (var _j = __values(meta.arrays), _k = _j.next(); !_k.done; _k = _j.next()) {
144
- var array = _k.value;
145
- validateArray(options)(visitor)(array.type, explore);
192
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
193
+ finally {
194
+ try {
195
+ if (_t && !_t.done && (_d = _s.return)) _d.call(_s);
196
+ }
197
+ finally { if (e_4) throw e_4.error; }
146
198
  }
147
- }
148
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
149
- finally {
150
199
  try {
151
- if (_k && !_k.done && (_b = _j.return)) _b.call(_j);
200
+ for (var _u = __values(meta.arrays), _v = _u.next(); !_v.done; _v = _u.next()) {
201
+ var array = _v.value;
202
+ validateArray(context)(options)(visitor)(array.type, explore);
203
+ }
152
204
  }
153
- finally { if (e_2) throw e_2.error; }
154
- }
155
- try {
156
- for (var _l = __values(meta.tuples), _m = _l.next(); !_m.done; _m = _l.next()) {
157
- var tuple = _m.value;
158
- validateTuple(options)(visitor)(tuple.type, explore);
205
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
206
+ finally {
207
+ try {
208
+ if (_v && !_v.done && (_e = _u.return)) _e.call(_u);
209
+ }
210
+ finally { if (e_5) throw e_5.error; }
159
211
  }
160
- }
161
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
162
- finally {
163
212
  try {
164
- if (_m && !_m.done && (_c = _l.return)) _c.call(_l);
213
+ for (var _w = __values(meta.tuples), _x = _w.next(); !_x.done; _x = _w.next()) {
214
+ var tuple = _x.value;
215
+ validateTuple(context)(options)(visitor)(tuple.type, explore);
216
+ }
165
217
  }
166
- finally { if (e_3) throw e_3.error; }
167
- }
168
- try {
169
- for (var _o = __values(meta.objects), _p = _o.next(); !_p.done; _p = _o.next()) {
170
- var obj = _p.value;
171
- validateObject(options)(visitor)(obj);
218
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
219
+ finally {
220
+ try {
221
+ if (_x && !_x.done && (_f = _w.return)) _f.call(_w);
222
+ }
223
+ finally { if (e_6) throw e_6.error; }
172
224
  }
173
- }
174
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
175
- finally {
176
225
  try {
177
- if (_p && !_p.done && (_d = _o.return)) _d.call(_o);
226
+ for (var _y = __values(meta.objects), _z = _y.next(); !_z.done; _z = _y.next()) {
227
+ var obj = _z.value;
228
+ validateObject(context)(options)(visitor)(obj);
229
+ }
178
230
  }
179
- finally { if (e_4) throw e_4.error; }
180
- }
181
- try {
182
- for (var _q = __values(meta.sets), _r = _q.next(); !_r.done; _r = _q.next()) {
183
- var set = _r.value;
184
- validateMeta(options)(visitor)(set, explore);
231
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
232
+ finally {
233
+ try {
234
+ if (_z && !_z.done && (_g = _y.return)) _g.call(_y);
235
+ }
236
+ finally { if (e_7) throw e_7.error; }
185
237
  }
186
- }
187
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
188
- finally {
189
238
  try {
190
- if (_r && !_r.done && (_e = _q.return)) _e.call(_q);
239
+ for (var _0 = __values(meta.sets), _1 = _0.next(); !_1.done; _1 = _0.next()) {
240
+ var set = _1.value;
241
+ validateMeta(context)(options)(visitor)(set, explore);
242
+ }
191
243
  }
192
- finally { if (e_5) throw e_5.error; }
193
- }
194
- try {
195
- for (var _s = __values(meta.maps), _t = _s.next(); !_t.done; _t = _s.next()) {
196
- var map = _t.value;
197
- validateMeta(options)(visitor)(map.key, explore);
198
- validateMeta(options)(visitor)(map.value, explore);
244
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
245
+ finally {
246
+ try {
247
+ if (_1 && !_1.done && (_h = _0.return)) _h.call(_0);
248
+ }
249
+ finally { if (e_8) throw e_8.error; }
199
250
  }
200
- }
201
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
202
- finally {
203
251
  try {
204
- if (_t && !_t.done && (_f = _s.return)) _f.call(_s);
252
+ for (var _2 = __values(meta.maps), _3 = _2.next(); !_3.done; _3 = _2.next()) {
253
+ var map = _3.value;
254
+ validateMeta(context)(options)(visitor)(map.key, explore);
255
+ validateMeta(context)(options)(visitor)(map.value, explore);
256
+ }
257
+ }
258
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
259
+ finally {
260
+ try {
261
+ if (_3 && !_3.done && (_j = _2.return)) _j.call(_2);
262
+ }
263
+ finally { if (e_9) throw e_9.error; }
205
264
  }
206
- finally { if (e_6) throw e_6.error; }
207
- }
208
- if (options.escape === true && meta.escaped !== null)
209
- validateMeta(options)(visitor)(meta.escaped.returns, __assign(__assign({}, explore), { escaped: true }));
265
+ if (options.escape === true && meta.escaped !== null)
266
+ validateMeta(context)(options)(visitor)(meta.escaped.returns, __assign(__assign({}, explore), { escaped: true }));
267
+ };
210
268
  };
211
269
  };
212
270
  };
213
- var validateAlias = function (options) {
214
- return function (visitor) {
215
- return function (alias, explore) {
216
- if (visitor.aliases.has(alias))
217
- return;
218
- visitor.aliases.add(alias);
219
- validateMeta(options)(visitor)(alias.value, __assign(__assign({}, explore), { nested: alias, aliased: true }));
271
+ var validateAlias = function (context) {
272
+ return function (options) {
273
+ return function (visitor) {
274
+ return function (alias, explore) {
275
+ if (visitor.aliases.has(alias))
276
+ return;
277
+ visitor.aliases.add(alias);
278
+ validateMeta(context)(options)(visitor)(alias.value, __assign(__assign({}, explore), { nested: alias, aliased: true }));
279
+ };
220
280
  };
221
281
  };
222
282
  };
223
- var validateArray = function (options) {
224
- return function (visitor) {
225
- return function (array, explore) {
226
- if (visitor.arrays.has(array))
227
- return;
228
- visitor.arrays.add(array);
229
- validateMeta(options)(visitor)(array.value, __assign(__assign({}, explore), { nested: array, top: false }));
283
+ var validateArray = function (context) {
284
+ return function (options) {
285
+ return function (visitor) {
286
+ return function (array, explore) {
287
+ if (visitor.arrays.has(array))
288
+ return;
289
+ visitor.arrays.add(array);
290
+ validateMeta(context)(options)(visitor)(array.value, __assign(__assign({}, explore), { nested: array, top: false }));
291
+ };
230
292
  };
231
293
  };
232
294
  };
233
- var validateTuple = function (options) {
234
- return function (visitor) {
235
- return function (tuple, explore) {
236
- var e_7, _a;
237
- if (visitor.tuples.has(tuple))
238
- return;
239
- visitor.tuples.add(tuple);
240
- try {
241
- for (var _b = __values(tuple.elements), _c = _b.next(); !_c.done; _c = _b.next()) {
242
- var elem = _c.value;
243
- validateMeta(options)(visitor)(elem, __assign(__assign({}, explore), { nested: tuple, top: false }));
244
- }
245
- }
246
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
247
- finally {
295
+ var validateTuple = function (context) {
296
+ return function (options) {
297
+ return function (visitor) {
298
+ return function (tuple, explore) {
299
+ var e_10, _a;
300
+ if (visitor.tuples.has(tuple))
301
+ return;
302
+ visitor.tuples.add(tuple);
248
303
  try {
249
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
304
+ for (var _b = __values(tuple.elements), _c = _b.next(); !_c.done; _c = _b.next()) {
305
+ var elem = _c.value;
306
+ validateMeta(context)(options)(visitor)(elem, __assign(__assign({}, explore), { nested: tuple, top: false }));
307
+ }
250
308
  }
251
- finally { if (e_7) throw e_7.error; }
252
- }
309
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
310
+ finally {
311
+ try {
312
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
313
+ }
314
+ finally { if (e_10) throw e_10.error; }
315
+ }
316
+ };
253
317
  };
254
318
  };
255
319
  };
256
- var validateObject = function (options) {
257
- return function (visitor) {
258
- return function (object) {
259
- var e_8, _a;
260
- if (visitor.objects.has(object))
261
- return;
262
- visitor.objects.add(object);
263
- if (options.validate) {
264
- var explore = {
265
- object: object,
266
- top: false,
267
- property: null,
268
- nested: null,
269
- escaped: false,
270
- aliased: false,
271
- };
272
- var errors = options.validate(Metadata_1.Metadata.create(__assign(__assign({}, Metadata_1.Metadata.initialize()), { objects: [object] })), explore);
273
- if (errors.length)
274
- visitor.errors.push({
275
- name: object.name,
276
- explore: explore,
277
- messages: __spreadArray([], __read(new Set(errors)), false),
278
- });
279
- }
280
- try {
281
- for (var _b = __values(object.properties), _c = _b.next(); !_c.done; _c = _b.next()) {
282
- var property = _c.value;
283
- validateMeta(options)(visitor)(property.value, {
320
+ var validateObject = function (context) {
321
+ return function (options) {
322
+ return function (visitor) {
323
+ return function (object) {
324
+ var e_11, _a;
325
+ if (visitor.objects.has(object))
326
+ return;
327
+ visitor.objects.add(object);
328
+ if (options.validate) {
329
+ var explore = {
284
330
  object: object,
285
- property: property.key.isSoleLiteral()
286
- ? property.key.getSoleLiteral()
287
- : {},
288
- nested: null,
289
331
  top: false,
290
- aliased: false,
332
+ property: null,
333
+ nested: null,
291
334
  escaped: false,
292
- });
335
+ aliased: false,
336
+ };
337
+ var errors = options.validate(Metadata_1.Metadata.create(__assign(__assign({}, Metadata_1.Metadata.initialize()), { objects: [object] })), explore);
338
+ if (errors.length)
339
+ visitor.errors.push({
340
+ name: object.name,
341
+ explore: explore,
342
+ messages: __spreadArray([], __read(new Set(errors)), false),
343
+ });
293
344
  }
294
- }
295
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
296
- finally {
297
345
  try {
298
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
346
+ for (var _b = __values(object.properties), _c = _b.next(); !_c.done; _c = _b.next()) {
347
+ var property = _c.value;
348
+ validateMeta(context)(options)(visitor)(property.value, {
349
+ object: object,
350
+ property: property.key.isSoleLiteral()
351
+ ? property.key.getSoleLiteral()
352
+ : {},
353
+ nested: null,
354
+ top: false,
355
+ aliased: false,
356
+ escaped: false,
357
+ });
358
+ }
299
359
  }
300
- finally { if (e_8) throw e_8.error; }
301
- }
360
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
361
+ finally {
362
+ try {
363
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
364
+ }
365
+ finally { if (e_11) throw e_11.error; }
366
+ }
367
+ };
302
368
  };
303
369
  };
304
370
  };