typia 5.0.0-dev.20230827 → 5.0.0-dev.20230828

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 (265) hide show
  1. package/lib/executable/TypiaGenerateWizard.js +1 -1
  2. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  3. package/lib/executable/TypiaSetupWizard.js +1 -1
  4. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  5. package/lib/executable/setup/PackageManager.js +1 -1
  6. package/lib/executable/setup/PackageManager.js.map +1 -1
  7. package/lib/executable/setup/PluginConfigurator.js +2 -2
  8. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  9. package/lib/factories/ExpressionFactory.js +2 -2
  10. package/lib/factories/ExpressionFactory.js.map +1 -1
  11. package/lib/factories/JsonMetadataFactory.d.ts +7 -0
  12. package/lib/factories/JsonMetadataFactory.js +38 -0
  13. package/lib/factories/JsonMetadataFactory.js.map +1 -0
  14. package/lib/factories/LiteralFactory.js +1 -1
  15. package/lib/factories/LiteralFactory.js.map +1 -1
  16. package/lib/factories/MetadataCollection.js +0 -1
  17. package/lib/factories/MetadataCollection.js.map +1 -1
  18. package/lib/factories/MetadataCommentTagFactory.js +129 -118
  19. package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
  20. package/lib/factories/MetadataFactory.d.ts +22 -2
  21. package/lib/factories/MetadataFactory.js +221 -17
  22. package/lib/factories/MetadataFactory.js.map +1 -1
  23. package/lib/factories/MetadataTypeTagFactory.d.ts +3 -2
  24. package/lib/factories/MetadataTypeTagFactory.js +246 -173
  25. package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
  26. package/lib/factories/ProtobufFactory.js +73 -68
  27. package/lib/factories/ProtobufFactory.js.map +1 -1
  28. package/lib/factories/TypeFactory.d.ts +0 -1
  29. package/lib/factories/TypeFactory.js +0 -5
  30. package/lib/factories/TypeFactory.js.map +1 -1
  31. package/lib/factories/internal/metadata/emplace_metadata_alias.d.ts +1 -1
  32. package/lib/factories/internal/metadata/emplace_metadata_alias.js +20 -7
  33. package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
  34. package/lib/factories/internal/metadata/emplace_metadata_array_type.d.ts +1 -1
  35. package/lib/factories/internal/metadata/emplace_metadata_array_type.js +20 -7
  36. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -1
  37. package/lib/factories/internal/metadata/emplace_metadata_object.d.ts +1 -1
  38. package/lib/factories/internal/metadata/emplace_metadata_object.js +100 -84
  39. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  40. package/lib/factories/internal/metadata/emplace_metadata_tuple.d.ts +1 -1
  41. package/lib/factories/internal/metadata/emplace_metadata_tuple.js +34 -21
  42. package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -1
  43. package/lib/factories/internal/metadata/explore_metadata.d.ts +1 -1
  44. package/lib/factories/internal/metadata/explore_metadata.js +12 -12
  45. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  46. package/lib/factories/internal/metadata/iterate_metadata.d.ts +1 -1
  47. package/lib/factories/internal/metadata/iterate_metadata.js +39 -19
  48. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  49. package/lib/factories/internal/metadata/iterate_metadata_alias.d.ts +1 -1
  50. package/lib/factories/internal/metadata/iterate_metadata_alias.js +12 -10
  51. package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
  52. package/lib/factories/internal/metadata/iterate_metadata_array.d.ts +1 -1
  53. package/lib/factories/internal/metadata/iterate_metadata_array.js +11 -9
  54. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  55. package/lib/factories/internal/metadata/iterate_metadata_collection.d.ts +2 -1
  56. package/lib/factories/internal/metadata/iterate_metadata_collection.js +47 -45
  57. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  58. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.d.ts +2 -1
  59. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js +16 -20
  60. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -1
  61. package/lib/factories/internal/metadata/iterate_metadata_intersection.d.ts +1 -1
  62. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +145 -135
  63. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  64. package/lib/factories/internal/metadata/iterate_metadata_map.d.ts +1 -1
  65. package/lib/factories/internal/metadata/iterate_metadata_map.js +28 -15
  66. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  67. package/lib/factories/internal/metadata/iterate_metadata_object.d.ts +1 -1
  68. package/lib/factories/internal/metadata/iterate_metadata_object.js +16 -14
  69. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  70. package/lib/factories/internal/metadata/iterate_metadata_resolve.d.ts +1 -1
  71. package/lib/factories/internal/metadata/iterate_metadata_resolve.js +28 -15
  72. package/lib/factories/internal/metadata/iterate_metadata_resolve.js.map +1 -1
  73. package/lib/factories/internal/metadata/iterate_metadata_set.d.ts +1 -1
  74. package/lib/factories/internal/metadata/iterate_metadata_set.js +24 -11
  75. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  76. package/lib/factories/internal/metadata/iterate_metadata_template.d.ts +1 -1
  77. package/lib/factories/internal/metadata/iterate_metadata_template.js +28 -15
  78. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  79. package/lib/factories/internal/metadata/iterate_metadata_tuple.d.ts +1 -1
  80. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +11 -9
  81. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  82. package/lib/factories/internal/metadata/iterate_metadata_union.d.ts +1 -1
  83. package/lib/factories/internal/metadata/iterate_metadata_union.js +20 -7
  84. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
  85. package/lib/programmers/CheckerProgrammer.js +13 -8
  86. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  87. package/lib/programmers/FeatureProgrammer.d.ts +1 -1
  88. package/lib/programmers/FeatureProgrammer.js +1 -1
  89. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  90. package/lib/programmers/IsProgrammer.js +1 -1
  91. package/lib/programmers/IsProgrammer.js.map +1 -1
  92. package/lib/programmers/RandomProgrammer.js +9 -4
  93. package/lib/programmers/RandomProgrammer.js.map +1 -1
  94. package/lib/programmers/TypiaProgrammer.js +58 -28
  95. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  96. package/lib/programmers/internal/application_escaped.d.ts +4 -0
  97. package/lib/programmers/internal/{application_resolved.js → application_escaped.js} +4 -4
  98. package/lib/programmers/internal/application_escaped.js.map +1 -0
  99. package/lib/programmers/internal/application_schema.js +5 -5
  100. package/lib/programmers/internal/application_schema.js.map +1 -1
  101. package/lib/programmers/json/JsonApplicationProgrammer.js +5 -1
  102. package/lib/programmers/json/JsonApplicationProgrammer.js.map +1 -1
  103. package/lib/programmers/json/JsonAssertParseProgrammer.js +2 -0
  104. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  105. package/lib/programmers/json/JsonIsParseProgrammer.js +2 -0
  106. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  107. package/lib/programmers/json/JsonStringifyProgrammer.js +20 -62
  108. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  109. package/lib/programmers/json/JsonValidateParseProgrammer.js +2 -0
  110. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  111. package/lib/programmers/misc/MiscCloneProgrammer.js +13 -8
  112. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  113. package/lib/programmers/misc/MiscLiteralsProgrammer.js +10 -5
  114. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  115. package/lib/programmers/misc/MiscPruneProgrammer.js +13 -8
  116. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  117. package/lib/schemas/metadata/Metadata.js +4 -4
  118. package/lib/schemas/metadata/Metadata.js.map +1 -1
  119. package/lib/transform.d.ts +2 -1
  120. package/lib/transform.js +11 -3
  121. package/lib/transform.js.map +1 -1
  122. package/lib/transformers/CallExpressionTransformer.d.ts +1 -1
  123. package/lib/transformers/CallExpressionTransformer.js +2 -1
  124. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  125. package/lib/transformers/FileTransformer.js +18 -8
  126. package/lib/transformers/FileTransformer.js.map +1 -1
  127. package/lib/transformers/IProject.d.ts +3 -0
  128. package/lib/transformers/NodeTransformer.d.ts +1 -1
  129. package/lib/transformers/TransformerError.d.ts +12 -0
  130. package/lib/transformers/TransformerError.js +66 -0
  131. package/lib/transformers/TransformerError.js.map +1 -0
  132. package/lib/transformers/features/AssertTransformer.d.ts +1 -0
  133. package/lib/transformers/features/CreateAssertTransformer.d.ts +1 -0
  134. package/lib/transformers/features/CreateIsTransformer.d.ts +1 -0
  135. package/lib/transformers/features/CreateRandomTransformer.js +9 -4
  136. package/lib/transformers/features/CreateRandomTransformer.js.map +1 -1
  137. package/lib/transformers/features/CreateValidateTransformer.d.ts +1 -0
  138. package/lib/transformers/features/IsTransformer.d.ts +1 -0
  139. package/lib/transformers/features/RandomTransformer.js +9 -4
  140. package/lib/transformers/features/RandomTransformer.js.map +1 -1
  141. package/lib/transformers/features/ValidateTransformer.d.ts +1 -0
  142. package/lib/transformers/features/json/JsonApplicationTransformer.js +79 -19
  143. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  144. package/lib/transformers/features/json/JsonAssertParseTransformer.d.ts +1 -0
  145. package/lib/transformers/features/json/JsonAssertStringifyTransformer.d.ts +1 -0
  146. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.d.ts +1 -0
  147. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.d.ts +1 -0
  148. package/lib/transformers/features/json/JsonCreateIsParseTransformer.d.ts +1 -0
  149. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.d.ts +1 -0
  150. package/lib/transformers/features/json/JsonCreateStringifyTransformer.d.ts +1 -0
  151. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.d.ts +1 -0
  152. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.d.ts +1 -0
  153. package/lib/transformers/features/json/JsonIsParseTransformer.d.ts +1 -0
  154. package/lib/transformers/features/json/JsonIsStringifyTransformer.d.ts +1 -0
  155. package/lib/transformers/features/json/JsonStringifyTransformer.d.ts +1 -0
  156. package/lib/transformers/features/json/JsonValidateParseTransformer.d.ts +1 -0
  157. package/lib/transformers/features/json/JsonValidateStringifyTransformer.d.ts +1 -0
  158. package/lib/transformers/features/misc/MetadataTransformer.js +13 -5
  159. package/lib/transformers/features/misc/MetadataTransformer.js.map +1 -1
  160. package/lib/transformers/features/misc/MiscAssertCloneTransformer.d.ts +1 -0
  161. package/lib/transformers/features/misc/MiscAssertPruneTransformer.d.ts +1 -0
  162. package/lib/transformers/features/misc/MiscCloneTransformer.d.ts +1 -0
  163. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.d.ts +1 -0
  164. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.d.ts +1 -0
  165. package/lib/transformers/features/misc/MiscCreateCloneTransformer.d.ts +1 -0
  166. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.d.ts +1 -0
  167. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.d.ts +1 -0
  168. package/lib/transformers/features/misc/MiscCreatePruneTransformer.d.ts +1 -0
  169. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.d.ts +1 -0
  170. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.d.ts +1 -0
  171. package/lib/transformers/features/misc/MiscIsCloneTransformer.d.ts +1 -0
  172. package/lib/transformers/features/misc/MiscIsPruneTransformer.d.ts +1 -0
  173. package/lib/transformers/features/misc/MiscLiteralsTransformer.js +9 -4
  174. package/lib/transformers/features/misc/MiscLiteralsTransformer.js.map +1 -1
  175. package/lib/transformers/features/misc/MiscPruneTransformer.d.ts +1 -0
  176. package/lib/transformers/features/misc/MiscValidateCloneTransformer.d.ts +1 -0
  177. package/lib/transformers/features/misc/MiscValidatePruneTransformer.d.ts +1 -0
  178. package/lib/transformers/features/protobuf/CreateProtobufAssertDecodeTransformer.d.ts +1 -0
  179. package/lib/transformers/features/protobuf/CreateProtobufAssertEncodeTransformer.d.ts +1 -0
  180. package/lib/transformers/features/protobuf/CreateProtobufDecodeTransformer.d.ts +1 -0
  181. package/lib/transformers/features/protobuf/CreateProtobufEncodeTransformer.d.ts +1 -0
  182. package/lib/transformers/features/protobuf/CreateProtobufIsDecodeTransformer.d.ts +1 -0
  183. package/lib/transformers/features/protobuf/CreateProtobufIsEncodeTransformer.d.ts +1 -0
  184. package/lib/transformers/features/protobuf/CreateProtobufValidateDecodeTransformer.d.ts +1 -0
  185. package/lib/transformers/features/protobuf/CreateProtobufValidateEncodeTransformer.d.ts +1 -0
  186. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.d.ts +1 -0
  187. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.d.ts +1 -0
  188. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.d.ts +1 -0
  189. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.d.ts +1 -0
  190. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.d.ts +1 -0
  191. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.d.ts +1 -0
  192. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js +9 -2
  193. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js.map +1 -1
  194. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.d.ts +1 -0
  195. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.d.ts +1 -0
  196. package/lib/transformers/internal/GenericTransformer.js +17 -4
  197. package/lib/transformers/internal/GenericTransformer.js.map +1 -1
  198. package/lib/typings/ValidationPipe.d.ts +7 -0
  199. package/lib/typings/ValidationPipe.js +3 -0
  200. package/lib/typings/ValidationPipe.js.map +1 -0
  201. package/package.json +3 -1
  202. package/src/executable/TypiaGenerateWizard.ts +1 -1
  203. package/src/executable/TypiaSetupWizard.ts +1 -1
  204. package/src/executable/setup/PackageManager.ts +1 -1
  205. package/src/executable/setup/PluginConfigurator.ts +2 -2
  206. package/src/factories/ExpressionFactory.ts +2 -2
  207. package/src/factories/JsonMetadataFactory.ts +43 -0
  208. package/src/factories/LiteralFactory.ts +2 -1
  209. package/src/factories/MetadataCollection.ts +0 -5
  210. package/src/factories/MetadataCommentTagFactory.ts +130 -84
  211. package/src/factories/MetadataFactory.ts +169 -7
  212. package/src/factories/MetadataTypeTagFactory.ts +191 -141
  213. package/src/factories/ProtobufFactory.ts +86 -93
  214. package/src/factories/TypeFactory.ts +0 -5
  215. package/src/factories/internal/metadata/emplace_metadata_alias.ts +12 -5
  216. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +12 -5
  217. package/src/factories/internal/metadata/emplace_metadata_object.ts +20 -5
  218. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +12 -2
  219. package/src/factories/internal/metadata/explore_metadata.ts +5 -11
  220. package/src/factories/internal/metadata/iterate_metadata.ts +44 -24
  221. package/src/factories/internal/metadata/iterate_metadata_alias.ts +7 -2
  222. package/src/factories/internal/metadata/iterate_metadata_array.ts +7 -2
  223. package/src/factories/internal/metadata/iterate_metadata_collection.ts +30 -29
  224. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +21 -22
  225. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +33 -17
  226. package/src/factories/internal/metadata/iterate_metadata_map.ts +20 -4
  227. package/src/factories/internal/metadata/iterate_metadata_object.ts +2 -1
  228. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +15 -12
  229. package/src/factories/internal/metadata/iterate_metadata_set.ts +11 -2
  230. package/src/factories/internal/metadata/iterate_metadata_template.ts +12 -3
  231. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +7 -2
  232. package/src/factories/internal/metadata/iterate_metadata_union.ts +10 -7
  233. package/src/programmers/CheckerProgrammer.ts +8 -2
  234. package/src/programmers/FeatureProgrammer.ts +4 -1
  235. package/src/programmers/IsProgrammer.ts +1 -1
  236. package/src/programmers/RandomProgrammer.ts +18 -17
  237. package/src/programmers/TypiaProgrammer.ts +27 -2
  238. package/src/programmers/internal/{application_resolved.ts → application_escaped.ts} +1 -1
  239. package/src/programmers/internal/application_schema.ts +5 -5
  240. package/src/programmers/json/JsonApplicationProgrammer.ts +6 -3
  241. package/src/programmers/json/JsonAssertParseProgrammer.ts +7 -2
  242. package/src/programmers/json/JsonIsParseProgrammer.ts +7 -2
  243. package/src/programmers/json/JsonStringifyProgrammer.ts +7 -37
  244. package/src/programmers/json/JsonValidateParseProgrammer.ts +7 -2
  245. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +1 -1
  246. package/src/programmers/misc/MiscCloneProgrammer.ts +14 -11
  247. package/src/programmers/misc/MiscLiteralsProgrammer.ts +11 -6
  248. package/src/programmers/misc/MiscPruneProgrammer.ts +8 -2
  249. package/src/schemas/metadata/Metadata.ts +4 -4
  250. package/src/transform.ts +13 -5
  251. package/src/transformers/CallExpressionTransformer.ts +6 -3
  252. package/src/transformers/FileTransformer.ts +25 -13
  253. package/src/transformers/IProject.ts +3 -0
  254. package/src/transformers/NodeTransformer.ts +1 -1
  255. package/src/transformers/TransformerError.ts +55 -0
  256. package/src/transformers/features/CreateRandomTransformer.ts +11 -7
  257. package/src/transformers/features/RandomTransformer.ts +11 -7
  258. package/src/transformers/features/json/JsonApplicationTransformer.ts +39 -35
  259. package/src/transformers/features/misc/MetadataTransformer.ts +18 -10
  260. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +11 -7
  261. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +9 -7
  262. package/src/transformers/internal/GenericTransformer.ts +17 -10
  263. package/src/typings/ValidationPipe.ts +9 -0
  264. package/lib/programmers/internal/application_resolved.d.ts +0 -4
  265. package/lib/programmers/internal/application_resolved.js.map +0 -1
@@ -37,80 +37,77 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.MetadataCommentTagFactory = void 0;
40
+ var Writable_1 = require("../typings/Writable");
40
41
  var MetadataTypeTagFactory_1 = require("./MetadataTypeTagFactory");
41
42
  var MetadataCommentTagFactory;
42
43
  (function (MetadataCommentTagFactory) {
43
- MetadataCommentTagFactory.analyze = function (identifier) {
44
+ MetadataCommentTagFactory.analyze = function (errors) {
44
45
  return function (metadata) {
45
- return function (commentList) {
46
+ return function (commentList, explore) {
46
47
  var e_1, _a, e_2, _b;
47
- var _c, _d, _e, _f;
48
+ var _c, _d;
49
+ var messages = [];
50
+ var report = function (msg) {
51
+ messages.push(msg);
52
+ return null;
53
+ };
54
+ var validateReport = function (property) {
55
+ return function (msg) {
56
+ messages.push("the property ".concat(property === null
57
+ ? "[\"typia.tag\"]"
58
+ : "[\"typia.tag.".concat(property, "\"]"), " ").concat(msg, "."));
59
+ return false;
60
+ };
61
+ };
48
62
  try {
49
63
  for (var commentList_1 = __values(commentList), commentList_1_1 = commentList_1.next(); !commentList_1_1.done; commentList_1_1 = commentList_1.next()) {
50
64
  var comment = commentList_1_1.value;
51
- var tagger = parse(identifier)(comment);
65
+ var tagger = parse(report)(comment);
66
+ if (tagger === null)
67
+ continue;
52
68
  var _loop_1 = function (key, value) {
53
- var e_3, _k, e_4, _l, e_5, _m, e_6, _o, e_7, _p, e_8, _q;
69
+ var e_3, _h, e_4, _j, e_5, _k;
70
+ var filtered = value.filter(function (v) { return v.validate !== null; });
54
71
  if (key === "array") {
55
- if (metadata.arrays.length === 0)
56
- throw new Error("".concat(LABEL, ": ").concat(comment.name, " requires array type, no on \"").concat(identifier(), "\"."));
57
- try {
58
- for (var _r = (e_3 = void 0, __values(metadata.arrays)), _s = _r.next(); !_s.done; _s = _r.next()) {
59
- var a = _s.value;
60
- try {
61
- for (var _t = (e_4 = void 0, __values((_c = a.tags) !== null && _c !== void 0 ? _c : [])), _u = _t.next(); !_u.done; _u = _t.next()) {
62
- var tags = _u.value;
63
- MetadataTypeTagFactory_1.MetadataTypeTagFactory.validate("array")(__spreadArray(__spreadArray([], __read(tags), false), __read(value), false));
64
- }
65
- }
66
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
67
- finally {
68
- try {
69
- if (_u && !_u.done && (_l = _t.return)) _l.call(_t);
70
- }
71
- finally { if (e_4) throw e_4.error; }
72
- }
73
- }
74
- }
75
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
76
- finally {
77
- try {
78
- if (_s && !_s.done && (_k = _r.return)) _k.call(_r);
79
- }
80
- finally { if (e_3) throw e_3.error; }
72
+ if (metadata.arrays.length === 0) {
73
+ report("requires array type");
74
+ return "continue";
81
75
  }
82
76
  try {
83
- for (var _v = (e_5 = void 0, __values(metadata.arrays)), _w = _v.next(); !_w.done; _w = _v.next()) {
84
- var a = _w.value;
77
+ for (var _l = (e_3 = void 0, __values(metadata.arrays)), _m = _l.next(); !_m.done; _m = _l.next()) {
78
+ var a = _m.value;
79
+ (0, Writable_1.Writable)(a).tags = a.tags.filter(function (x) {
80
+ return MetadataTypeTagFactory_1.MetadataTypeTagFactory.validate(validateReport)("array")(__spreadArray(__spreadArray([], __read(x), false), __read(filtered), false));
81
+ });
85
82
  if (a.tags.length === 0)
86
- a.tags.push(value);
83
+ a.tags.push(filtered);
87
84
  else
88
85
  try {
89
- for (var _x = (e_6 = void 0, __values(a.tags)), _y = _x.next(); !_y.done; _y = _x.next()) {
90
- var tags = _y.value;
91
- tags.push.apply(tags, __spreadArray([], __read(value), false));
86
+ for (var _o = (e_4 = void 0, __values(a.tags)), _p = _o.next(); !_p.done; _p = _o.next()) {
87
+ var tags = _p.value;
88
+ tags.push.apply(tags, __spreadArray([], __read(filtered), false));
92
89
  }
93
90
  }
94
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
91
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
95
92
  finally {
96
93
  try {
97
- if (_y && !_y.done && (_o = _x.return)) _o.call(_x);
94
+ if (_p && !_p.done && (_j = _o.return)) _j.call(_o);
98
95
  }
99
- finally { if (e_6) throw e_6.error; }
96
+ finally { if (e_4) throw e_4.error; }
100
97
  }
101
98
  }
102
99
  }
103
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
100
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
104
101
  finally {
105
102
  try {
106
- if (_w && !_w.done && (_m = _v.return)) _m.call(_v);
103
+ if (_m && !_m.done && (_h = _l.return)) _h.call(_l);
107
104
  }
108
- finally { if (e_5) throw e_5.error; }
105
+ finally { if (e_3) throw e_3.error; }
109
106
  }
110
107
  }
111
108
  else {
112
109
  var atomic = metadata.atomics.find(function (a) { return a.type == key; });
113
- if (atomic === undefined) {
110
+ if (atomic === undefined)
114
111
  if (key === "bigint" || key === "number") {
115
112
  var opposite_1 = key === "bigint" ? "number" : "bigint";
116
113
  if (tagger[opposite_1] !== undefined &&
@@ -118,52 +115,44 @@ var MetadataCommentTagFactory;
118
115
  return "continue";
119
116
  }
120
117
  else if (key === "string" &&
121
- ((_d = value[0]) === null || _d === void 0 ? void 0 : _d.kind) === "format" &&
122
- ((_e = value[0]) === null || _e === void 0 ? void 0 : _e.value) === "date-time")
118
+ ((_c = value[0]) === null || _c === void 0 ? void 0 : _c.kind) === "format" &&
119
+ ((_d = value[0]) === null || _d === void 0 ? void 0 : _d.value) === "date-time")
123
120
  return "continue";
124
- throw new Error("".concat(LABEL, ": ").concat(comment.name, " requires ").concat(key, " type, no on \"").concat(identifier(), "\"."));
125
- }
126
- try {
127
- for (var _z = (e_7 = void 0, __values((_f = atomic.tags) !== null && _f !== void 0 ? _f : [])), _0 = _z.next(); !_0.done; _0 = _z.next()) {
128
- var tags = _0.value;
129
- MetadataTypeTagFactory_1.MetadataTypeTagFactory.validate(key)(__spreadArray(__spreadArray([], __read(tags), false), __read(value), false));
130
- }
131
- }
132
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
133
- finally {
134
- try {
135
- if (_0 && !_0.done && (_p = _z.return)) _p.call(_z);
136
- }
137
- finally { if (e_7) throw e_7.error; }
138
- }
139
- if (atomic.tags.length === 0)
140
- atomic.tags.push(value);
141
- else
142
- try {
143
- for (var _1 = (e_8 = void 0, __values(atomic.tags)), _2 = _1.next(); !_2.done; _2 = _1.next()) {
144
- var tags = _2.value;
145
- tags.push.apply(tags, __spreadArray([], __read(value), false));
146
- }
147
- }
148
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
149
- finally {
121
+ else
122
+ report("requires ".concat(key, " type"));
123
+ else {
124
+ (0, Writable_1.Writable)(atomic).tags = atomic.tags.filter(function (x) {
125
+ return MetadataTypeTagFactory_1.MetadataTypeTagFactory.validate(validateReport)(key)(__spreadArray(__spreadArray([], __read(x), false), __read(filtered), false));
126
+ });
127
+ if (atomic.tags.length === 0)
128
+ atomic.tags.push(filtered);
129
+ else
150
130
  try {
151
- if (_2 && !_2.done && (_q = _1.return)) _q.call(_1);
131
+ for (var _q = (e_5 = void 0, __values(atomic.tags)), _r = _q.next(); !_r.done; _r = _q.next()) {
132
+ var tags = _r.value;
133
+ tags.push.apply(tags, __spreadArray([], __read(filtered), false));
134
+ }
152
135
  }
153
- finally { if (e_8) throw e_8.error; }
154
- }
136
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
137
+ finally {
138
+ try {
139
+ if (_r && !_r.done && (_k = _q.return)) _k.call(_q);
140
+ }
141
+ finally { if (e_5) throw e_5.error; }
142
+ }
143
+ }
155
144
  }
156
145
  };
157
146
  try {
158
- for (var _g = (e_2 = void 0, __values(Object.entries(tagger))), _h = _g.next(); !_h.done; _h = _g.next()) {
159
- var _j = __read(_h.value, 2), key = _j[0], value = _j[1];
147
+ for (var _e = (e_2 = void 0, __values(Object.entries(tagger))), _f = _e.next(); !_f.done; _f = _e.next()) {
148
+ var _g = __read(_f.value, 2), key = _g[0], value = _g[1];
160
149
  _loop_1(key, value);
161
150
  }
162
151
  }
163
152
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
164
153
  finally {
165
154
  try {
166
- if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
155
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
167
156
  }
168
157
  finally { if (e_2) throw e_2.error; }
169
158
  }
@@ -176,10 +165,16 @@ var MetadataCommentTagFactory;
176
165
  }
177
166
  finally { if (e_1) throw e_1.error; }
178
167
  }
168
+ if (messages.length !== 0)
169
+ errors.push({
170
+ name: "comment tag(s)",
171
+ explore: explore,
172
+ messages: messages,
173
+ });
179
174
  };
180
175
  };
181
176
  };
182
- var parse = function (identifier) {
177
+ var parse = function (report) {
183
178
  return function (comment) {
184
179
  var _a;
185
180
  var parser = PARSER[comment.name];
@@ -187,19 +182,19 @@ var MetadataCommentTagFactory;
187
182
  return {};
188
183
  var text = (_a = (comment.text || [])[0]) === null || _a === void 0 ? void 0 : _a.text;
189
184
  if (text === undefined)
190
- throw new Error("".concat(LABEL, ": no comment tag value on ").concat(identifier()));
191
- return parser(identifier)(text);
185
+ return report("no comment tag value");
186
+ return parser(report)(text);
192
187
  };
193
188
  };
194
189
  })(MetadataCommentTagFactory || (exports.MetadataCommentTagFactory = MetadataCommentTagFactory = {}));
195
190
  var PARSER = {
196
- items: function (identifier) { return function (Value) { return ({
191
+ items: function (report) { return function (Value) { return ({
197
192
  array: [
198
193
  {
199
194
  name: "MinItems<".concat(Value, ">"),
200
195
  target: "array",
201
196
  kind: "minItems",
202
- value: parse_integer(identifier)(true)(Value),
197
+ value: parse_integer(report)(true)(Value),
203
198
  validate: "".concat(Value, " <= $input.length"),
204
199
  exclusive: true,
205
200
  },
@@ -207,31 +202,31 @@ var PARSER = {
207
202
  name: "MaxItems<".concat(Value, ">"),
208
203
  target: "array",
209
204
  kind: "maxItems",
210
- value: parse_integer(identifier)(true)(Value),
205
+ value: parse_integer(report)(true)(Value),
211
206
  validate: "$input.length <= ".concat(Value),
212
207
  exclusive: true,
213
208
  },
214
209
  ],
215
210
  }); }; },
216
- minItems: function (identifier) { return function (Value) { return ({
211
+ minItems: function (report) { return function (Value) { return ({
217
212
  array: [
218
213
  {
219
214
  name: "MinItems<".concat(Value, ">"),
220
215
  target: "array",
221
216
  kind: "minItems",
222
- value: parse_integer(identifier)(true)(Value),
217
+ value: parse_integer(report)(true)(Value),
223
218
  validate: "".concat(Value, " <= $input.length"),
224
219
  exclusive: true,
225
220
  },
226
221
  ],
227
222
  }); }; },
228
- maxItems: function (identifier) { return function (Value) { return ({
223
+ maxItems: function (report) { return function (Value) { return ({
229
224
  array: [
230
225
  {
231
226
  name: "MaxItems<".concat(Value, ">"),
232
227
  target: "array",
233
228
  kind: "maxItems",
234
- value: parse_integer(identifier)(true)(Value),
229
+ value: parse_integer(report)(true)(Value),
235
230
  validate: "$input.length <= ".concat(Value),
236
231
  exclusive: true,
237
232
  },
@@ -283,13 +278,13 @@ var PARSER = {
283
278
  : [],
284
279
  };
285
280
  }; },
286
- minimum: function (identifier) { return function (Value) { return ({
281
+ minimum: function (report) { return function (Value) { return ({
287
282
  number: [
288
283
  {
289
284
  name: "Minimum<".concat(Value, ">"),
290
285
  target: "number",
291
286
  kind: "minimum",
292
- value: parse_number(identifier)(Value),
287
+ value: parse_number(report)(Value),
293
288
  validate: "".concat(Value, " <= $input"),
294
289
  exclusive: ["minimum", "exclusiveMinimum"],
295
290
  },
@@ -299,19 +294,22 @@ var PARSER = {
299
294
  name: "Minimum<".concat(Value, "n>"),
300
295
  target: "bigint",
301
296
  kind: "minimum",
302
- value: BigInt(parse_integer(identifier)(false)(Value)),
297
+ value: (function () {
298
+ var value = parse_integer(report)(false)(Value);
299
+ return value === null ? null : BigInt(value);
300
+ })(),
303
301
  validate: "".concat(Value, " <= $input"),
304
302
  exclusive: ["minimum", "exclusiveMinimum"],
305
303
  },
306
304
  ],
307
305
  }); }; },
308
- maximum: function (identifier) { return function (Value) { return ({
306
+ maximum: function (report) { return function (Value) { return ({
309
307
  number: [
310
308
  {
311
309
  name: "Maximum<".concat(Value, ">"),
312
310
  target: "number",
313
311
  kind: "maximum",
314
- value: parse_number(identifier)(Value),
312
+ value: parse_number(report)(Value),
315
313
  validate: "$input <= ".concat(Value),
316
314
  exclusive: ["maximum", "exclusiveMaximum"],
317
315
  },
@@ -321,19 +319,22 @@ var PARSER = {
321
319
  name: "Maximum<".concat(Value, "n>"),
322
320
  target: "bigint",
323
321
  kind: "maximum",
324
- value: BigInt(parse_integer(identifier)(false)(Value)),
322
+ value: (function () {
323
+ var value = parse_integer(report)(false)(Value);
324
+ return value === null ? null : BigInt(value);
325
+ })(),
325
326
  validate: "$input <= ".concat(Value),
326
327
  exclusive: ["maximum", "exclusiveMaximum"],
327
328
  },
328
329
  ],
329
330
  }); }; },
330
- exclusiveMinimum: function (identifier) { return function (Value) { return ({
331
+ exclusiveMinimum: function (report) { return function (Value) { return ({
331
332
  number: [
332
333
  {
333
334
  name: "ExclusiveMinimum<".concat(Value, ">"),
334
335
  target: "number",
335
336
  kind: "exclusiveMinimum",
336
- value: parse_number(identifier)(Value),
337
+ value: parse_number(report)(Value),
337
338
  validate: "".concat(Value, " < $input"),
338
339
  exclusive: ["minimum", "exclusiveMinimum"],
339
340
  },
@@ -343,19 +344,22 @@ var PARSER = {
343
344
  name: "ExclusiveMinimum<".concat(Value, "n>"),
344
345
  target: "bigint",
345
346
  kind: "exclusiveMinimum",
346
- value: BigInt(parse_integer(identifier)(false)(Value)),
347
+ value: (function () {
348
+ var value = parse_integer(report)(false)(Value);
349
+ return value === null ? null : BigInt(value);
350
+ })(),
347
351
  validate: "".concat(Value, " < $input"),
348
352
  exclusive: ["minimum", "exclusiveMinimum"],
349
353
  },
350
354
  ],
351
355
  }); }; },
352
- exclusiveMaximum: function (identifier) { return function (Value) { return ({
356
+ exclusiveMaximum: function (report) { return function (Value) { return ({
353
357
  number: [
354
358
  {
355
359
  name: "ExclusiveMaximum<".concat(Value, ">"),
356
360
  target: "number",
357
361
  kind: "exclusiveMaximum",
358
- value: parse_number(identifier)(Value),
362
+ value: parse_number(report)(Value),
359
363
  validate: "$input < ".concat(Value),
360
364
  exclusive: ["maximum", "exclusiveMaximum"],
361
365
  },
@@ -365,19 +369,22 @@ var PARSER = {
365
369
  name: "ExclusiveMaximum<".concat(Value, "n>"),
366
370
  target: "bigint",
367
371
  kind: "exclusiveMaximum",
368
- value: BigInt(parse_integer(identifier)(false)(Value)),
372
+ value: (function () {
373
+ var value = parse_integer(report)(false)(Value);
374
+ return value === null ? null : BigInt(value);
375
+ })(),
369
376
  validate: "$input < ".concat(Value),
370
377
  exclusive: ["maximum", "exclusiveMaximum"],
371
378
  },
372
379
  ],
373
380
  }); }; },
374
- multipleOf: function (identifier) { return function (Value) { return ({
381
+ multipleOf: function (report) { return function (Value) { return ({
375
382
  number: [
376
383
  {
377
384
  name: "MultipleOf<".concat(Value, ">"),
378
385
  target: "number",
379
386
  kind: "multipleOf",
380
- value: parse_number(identifier)(Value),
387
+ value: parse_number(report)(Value),
381
388
  validate: "$input % ".concat(Value, " === 0"),
382
389
  exclusive: true,
383
390
  },
@@ -387,7 +394,10 @@ var PARSER = {
387
394
  name: "MultipleOf<".concat(Value, "n>"),
388
395
  target: "bigint",
389
396
  kind: "multipleOf",
390
- value: BigInt(parse_integer(identifier)(false)(Value)),
397
+ value: (function () {
398
+ var value = parse_integer(report)(false)(Value);
399
+ return value === null ? null : BigInt(value);
400
+ })(),
391
401
  validate: "$input % ".concat(Value, "n === 0n"),
392
402
  exclusive: true,
393
403
  },
@@ -422,13 +432,13 @@ var PARSER = {
422
432
  },
423
433
  ],
424
434
  }); }; },
425
- length: function (identifier) { return function (Value) { return ({
435
+ length: function (report) { return function (Value) { return ({
426
436
  string: [
427
437
  {
428
438
  name: "MinLength<".concat(Value, ">"),
429
439
  target: "string",
430
440
  kind: "minLength",
431
- value: parse_number(identifier)(Value),
441
+ value: parse_number(report)(Value),
432
442
  validate: "".concat(Value, " <= $input.length"),
433
443
  exclusive: true,
434
444
  },
@@ -436,58 +446,59 @@ var PARSER = {
436
446
  name: "MaxLength<".concat(Value, ">"),
437
447
  target: "string",
438
448
  kind: "maxLength",
439
- value: parse_number(identifier)(Value),
449
+ value: parse_number(report)(Value),
440
450
  validate: "$input.length <= ".concat(Value),
441
451
  exclusive: true,
442
452
  },
443
453
  ],
444
454
  }); }; },
445
- minLength: function (identifier) { return function (Value) { return ({
455
+ minLength: function (report) { return function (Value) { return ({
446
456
  string: [
447
457
  {
448
458
  name: "MinLength<".concat(Value, ">"),
449
459
  target: "string",
450
460
  kind: "minLength",
451
- value: parse_number(identifier)(Value),
461
+ value: parse_number(report)(Value),
452
462
  validate: "".concat(Value, " <= $input.length"),
453
463
  exclusive: true,
454
464
  },
455
465
  ],
456
466
  }); }; },
457
- maxLength: function (identifier) { return function (Value) { return ({
467
+ maxLength: function (report) { return function (Value) { return ({
458
468
  string: [
459
469
  {
460
470
  name: "MaxLength<".concat(Value, ">"),
461
471
  target: "string",
462
472
  kind: "maxLength",
463
- value: parse_number(identifier)(Value),
473
+ value: parse_number(report)(Value),
464
474
  validate: "$input.length <= ".concat(Value),
465
475
  exclusive: true,
466
476
  },
467
477
  ],
468
478
  }); }; },
469
479
  };
470
- var parse_number = function (identifier) {
480
+ var parse_number = function (report) {
471
481
  return function (str) {
472
482
  var value = Number(str);
473
483
  if (isNaN(value) === true)
474
- throw new Error("".concat(LABEL, ": invalid number on \"").concat(identifier(), "\"."));
484
+ return report("invalid number");
475
485
  return value;
476
486
  };
477
487
  };
478
- var parse_integer = function (identifier) {
488
+ var parse_integer = function (report) {
479
489
  return function (unsigned) {
480
490
  return function (str) {
481
- var value = parse_number(identifier)(str);
482
- if (Math.floor(value) !== value)
483
- throw new Error("".concat(LABEL, ": invalid integer on \"").concat(identifier(), "\"."));
491
+ var value = parse_number(report)(str);
492
+ if (value === null)
493
+ return null;
494
+ else if (Math.floor(value) !== value)
495
+ return report("invalid integer");
484
496
  else if (unsigned === true && value < 0)
485
- throw new Error("".concat(LABEL, ": invalid unsigned integer on \"").concat(identifier(), "\"."));
497
+ return report("invalid unsigned integer");
486
498
  return value;
487
499
  };
488
500
  };
489
501
  };
490
- var LABEL = "Error on typia.MetadataCommentTagFactory.generate()";
491
502
  var FORMATS = new Map([
492
503
  [
493
504
  "email",
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataCommentTagFactory.js","sourceRoot":"","sources":["../../src/factories/MetadataCommentTagFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetadataCommentTagFactory.js","sourceRoot":"","sources":["../../src/factories/MetadataCommentTagFactory.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,32 @@
1
1
  import ts from "typescript";
2
2
  import { Metadata } from "../schemas/metadata/Metadata";
3
+ import { MetadataAlias } from "../schemas/metadata/MetadataAlias";
4
+ import { MetadataArrayType } from "../schemas/metadata/MetadataArrayType";
5
+ import { MetadataObject } from "../schemas/metadata/MetadataObject";
6
+ import { MetadataTupleType } from "../schemas/metadata/MetadataTupleType";
7
+ import { ValidationPipe } from "../typings/ValidationPipe";
3
8
  import { MetadataCollection } from "./MetadataCollection";
4
9
  export declare namespace MetadataFactory {
10
+ type Validator = (meta: Metadata, explore: IExplore) => string[];
5
11
  interface IOptions {
6
12
  escape: boolean;
7
13
  constant: boolean;
8
14
  absorb: boolean;
9
- validate?: (meta: Metadata) => void;
15
+ validate?: Validator;
16
+ onError?: (node: ts.Node | undefined, message: string) => void;
10
17
  }
11
- const analyze: (checker: ts.TypeChecker) => (options: IOptions) => (collection: MetadataCollection) => (type: ts.Type | null) => Metadata;
18
+ interface IExplore {
19
+ top: boolean;
20
+ object: MetadataObject | null;
21
+ property: string | object | null;
22
+ nested: null | MetadataAlias | MetadataArrayType | MetadataTupleType;
23
+ escaped: boolean;
24
+ aliased: boolean;
25
+ }
26
+ interface IError {
27
+ name: string;
28
+ explore: IExplore;
29
+ messages: string[];
30
+ }
31
+ const analyze: (checker: ts.TypeChecker) => (options: IOptions) => (collection: MetadataCollection) => (type: ts.Type | null) => ValidationPipe<Metadata, IError>;
12
32
  }