typia 3.7.0-dev.20230310 → 3.7.0-dev.20230401

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 (267) hide show
  1. package/README.md +16 -45
  2. package/lib/IRandomGenerator.d.ts +2 -1
  3. package/lib/executable/TypiaSetupWizard.js +12 -2
  4. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  5. package/lib/factories/MetadataCollection.d.ts +9 -1
  6. package/lib/factories/MetadataCollection.js +75 -2
  7. package/lib/factories/MetadataCollection.js.map +1 -1
  8. package/lib/factories/MetadataTagFactory.js +151 -132
  9. package/lib/factories/MetadataTagFactory.js.map +1 -1
  10. package/lib/factories/TypeFactory.js +1 -1
  11. package/lib/factories/TypeFactory.js.map +1 -1
  12. package/lib/factories/TypiaFileFactory.js +61 -54
  13. package/lib/factories/TypiaFileFactory.js.map +1 -1
  14. package/lib/functional/$dictionary.d.ts +1 -0
  15. package/lib/functional/$dictionary.js +14 -0
  16. package/lib/functional/$dictionary.js.map +1 -0
  17. package/lib/functional/$is_custom.d.ts +2 -0
  18. package/lib/functional/$is_custom.js +12 -0
  19. package/lib/functional/$is_custom.js.map +1 -0
  20. package/lib/functional/$is_date.d.ts +1 -0
  21. package/lib/functional/$is_date.js +9 -0
  22. package/lib/functional/$is_date.js.map +1 -0
  23. package/lib/functional/$is_datetime.d.ts +1 -0
  24. package/lib/functional/$is_datetime.js +8 -0
  25. package/lib/functional/$is_datetime.js.map +1 -0
  26. package/lib/functional/Namespace.js +6 -0
  27. package/lib/functional/Namespace.js.map +1 -1
  28. package/lib/metadata/IMetadataTag.d.ts +30 -38
  29. package/lib/metadata/Metadata.js +2 -2
  30. package/lib/metadata/Metadata.js.map +1 -1
  31. package/lib/module.d.ts +25 -2
  32. package/lib/module.js +12 -5
  33. package/lib/module.js.map +1 -1
  34. package/lib/programmers/AssertProgrammer.js +11 -0
  35. package/lib/programmers/AssertProgrammer.js.map +1 -1
  36. package/lib/programmers/CheckerProgrammer.d.ts +4 -2
  37. package/lib/programmers/CheckerProgrammer.js +26 -27
  38. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  39. package/lib/programmers/CloneProgrammer.js +2 -2
  40. package/lib/programmers/CloneProgrammer.js.map +1 -1
  41. package/lib/programmers/FeatureProgrammer.d.ts +3 -2
  42. package/lib/programmers/FeatureProgrammer.js +5 -5
  43. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  44. package/lib/programmers/IsProgrammer.d.ts +1 -1
  45. package/lib/programmers/IsProgrammer.js +32 -2
  46. package/lib/programmers/IsProgrammer.js.map +1 -1
  47. package/lib/programmers/PruneProgrammer.js +2 -2
  48. package/lib/programmers/PruneProgrammer.js.map +1 -1
  49. package/lib/programmers/RandomProgrammer.js +1 -2
  50. package/lib/programmers/RandomProgrammer.js.map +1 -1
  51. package/lib/programmers/StringifyProgrammer.js +6 -6
  52. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  53. package/lib/programmers/ValidateProgrammer.js +11 -0
  54. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  55. package/lib/programmers/helpers/ICheckEntry.d.ts +11 -0
  56. package/lib/{messages/IProtocolMap.js → programmers/helpers/ICheckEntry.js} +1 -1
  57. package/lib/programmers/helpers/ICheckEntry.js.map +1 -0
  58. package/lib/programmers/helpers/UnionExplorer.d.ts +7 -7
  59. package/lib/programmers/helpers/UnionExplorer.js +6 -6
  60. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  61. package/lib/programmers/internal/application_object.js +11 -11
  62. package/lib/programmers/internal/application_object.js.map +1 -1
  63. package/lib/programmers/internal/application_schema.js +3 -5
  64. package/lib/programmers/internal/application_schema.js.map +1 -1
  65. package/lib/programmers/internal/application_string.js +8 -5
  66. package/lib/programmers/internal/application_string.js.map +1 -1
  67. package/lib/programmers/internal/check_array.js +35 -10
  68. package/lib/programmers/internal/check_array.js.map +1 -1
  69. package/lib/programmers/internal/check_array_length.js +23 -36
  70. package/lib/programmers/internal/check_array_length.js.map +1 -1
  71. package/lib/programmers/internal/check_bigint.d.ts +1 -3
  72. package/lib/programmers/internal/check_bigint.js +92 -57
  73. package/lib/programmers/internal/check_bigint.js.map +1 -1
  74. package/lib/programmers/internal/check_custom.d.ts +5 -0
  75. package/lib/programmers/internal/check_custom.js +40 -0
  76. package/lib/programmers/internal/check_custom.js.map +1 -0
  77. package/lib/programmers/internal/check_number.js +126 -73
  78. package/lib/programmers/internal/check_number.js.map +1 -1
  79. package/lib/programmers/internal/check_string.js +10 -9
  80. package/lib/programmers/internal/check_string.js.map +1 -1
  81. package/lib/programmers/internal/check_string_tags.js +63 -24
  82. package/lib/programmers/internal/check_string_tags.js.map +1 -1
  83. package/lib/programmers/internal/check_template.js +23 -11
  84. package/lib/programmers/internal/check_template.js.map +1 -1
  85. package/lib/programmers/internal/check_union_array_like.d.ts +2 -2
  86. package/lib/programmers/internal/check_union_array_like.js +4 -4
  87. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  88. package/lib/programmers/internal/check_union_tuple.js +2 -2
  89. package/lib/programmers/internal/check_union_tuple.js.map +1 -1
  90. package/lib/programmers/internal/feature_object_entries.js +1 -1
  91. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  92. package/lib/transformers/CallExpressionTransformer.js +1 -3
  93. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  94. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +3 -1
  95. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
  96. package/lib/transformers/features/miscellaneous/CreateRandomGenerator.js +1 -1
  97. package/lib/transformers/features/miscellaneous/CreateRandomGenerator.js.map +1 -1
  98. package/lib/transformers/features/miscellaneous/RandomTransformer.js +1 -1
  99. package/lib/transformers/features/miscellaneous/RandomTransformer.js.map +1 -1
  100. package/lib/transformers/internal/GenericTransformer.js +2 -2
  101. package/lib/transformers/internal/GenericTransformer.js.map +1 -1
  102. package/lib/typings/Customizable.d.ts +6 -0
  103. package/lib/{messages/IProtocolMessage.js → typings/Customizable.js} +1 -1
  104. package/lib/typings/Customizable.js.map +1 -0
  105. package/lib/utils/RandomGenerator.js +8 -2
  106. package/lib/utils/RandomGenerator.js.map +1 -1
  107. package/package.json +10 -9
  108. package/src/IRandomGenerator.ts +2 -1
  109. package/src/executable/TypiaSetupWizard.ts +16 -6
  110. package/src/factories/MetadataCollection.ts +41 -2
  111. package/src/factories/MetadataTagFactory.ts +186 -149
  112. package/src/factories/TypeFactory.ts +1 -1
  113. package/src/factories/TypiaFileFactory.ts +10 -7
  114. package/src/functional/$dictionary.ts +17 -0
  115. package/src/functional/$is_custom.ts +14 -0
  116. package/src/functional/$is_date.ts +4 -0
  117. package/src/functional/$is_datetime.ts +3 -0
  118. package/src/functional/Namespace.ts +6 -0
  119. package/src/metadata/IMetadataTag.ts +46 -70
  120. package/src/metadata/Metadata.ts +3 -6
  121. package/src/module.ts +39 -10
  122. package/src/programmers/AssertProgrammer.ts +24 -0
  123. package/src/programmers/CheckerProgrammer.ts +66 -37
  124. package/src/programmers/CloneProgrammer.ts +2 -0
  125. package/src/programmers/FeatureProgrammer.ts +12 -5
  126. package/src/programmers/IsProgrammer.ts +7 -1
  127. package/src/programmers/PruneProgrammer.ts +2 -0
  128. package/src/programmers/RandomProgrammer.ts +1 -4
  129. package/src/programmers/StringifyProgrammer.ts +6 -0
  130. package/src/programmers/ValidateProgrammer.ts +24 -0
  131. package/src/programmers/helpers/ICheckEntry.ts +12 -0
  132. package/src/programmers/helpers/UnionExplorer.ts +7 -0
  133. package/src/programmers/internal/application_object.ts +5 -5
  134. package/src/programmers/internal/application_schema.ts +3 -7
  135. package/src/programmers/internal/application_string.ts +6 -2
  136. package/src/programmers/internal/check_array.ts +15 -11
  137. package/src/programmers/internal/check_array_length.ts +31 -35
  138. package/src/programmers/internal/check_bigint.ts +76 -58
  139. package/src/programmers/internal/check_custom.ts +41 -0
  140. package/src/programmers/internal/check_number.ts +106 -77
  141. package/src/programmers/internal/check_string.ts +15 -14
  142. package/src/programmers/internal/check_string_tags.ts +23 -13
  143. package/src/programmers/internal/check_template.ts +16 -7
  144. package/src/programmers/internal/check_union_array_like.ts +5 -0
  145. package/src/programmers/internal/check_union_tuple.ts +2 -0
  146. package/src/programmers/internal/feature_object_entries.ts +1 -0
  147. package/src/transformers/CallExpressionTransformer.ts +9 -16
  148. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +3 -1
  149. package/src/transformers/features/miscellaneous/CreateRandomGenerator.ts +1 -1
  150. package/src/transformers/features/miscellaneous/RandomTransformer.ts +1 -1
  151. package/src/transformers/internal/GenericTransformer.ts +2 -2
  152. package/src/typings/Customizable.ts +6 -0
  153. package/src/utils/RandomGenerator.ts +8 -2
  154. package/lib/factories/ProtocolFactory.d.ts +0 -8
  155. package/lib/factories/ProtocolFactory.js +0 -112
  156. package/lib/factories/ProtocolFactory.js.map +0 -1
  157. package/lib/factories/internal/protocols/ProtocolMetadataUtil.d.ts +0 -16
  158. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js +0 -156
  159. package/lib/factories/internal/protocols/ProtocolMetadataUtil.js.map +0 -1
  160. package/lib/factories/internal/protocols/emplace_protocol_object.d.ts +0 -3
  161. package/lib/factories/internal/protocols/emplace_protocol_object.js +0 -47
  162. package/lib/factories/internal/protocols/emplace_protocol_object.js.map +0 -1
  163. package/lib/factories/internal/protocols/emplace_protocol_property.d.ts +0 -4
  164. package/lib/factories/internal/protocols/emplace_protocol_property.js +0 -20
  165. package/lib/factories/internal/protocols/emplace_protocol_property.js.map +0 -1
  166. package/lib/factories/internal/protocols/iterate_protocol_atomic.d.ts +0 -3
  167. package/lib/factories/internal/protocols/iterate_protocol_atomic.js +0 -69
  168. package/lib/factories/internal/protocols/iterate_protocol_atomic.js.map +0 -1
  169. package/lib/factories/internal/protocols/iterate_protocol_constant.d.ts +0 -2
  170. package/lib/factories/internal/protocols/iterate_protocol_constant.js +0 -30
  171. package/lib/factories/internal/protocols/iterate_protocol_constant.js.map +0 -1
  172. package/lib/factories/internal/protocols/iterate_protocol_main.d.ts +0 -3
  173. package/lib/factories/internal/protocols/iterate_protocol_main.js +0 -17
  174. package/lib/factories/internal/protocols/iterate_protocol_main.js.map +0 -1
  175. package/lib/factories/internal/protocols/iterate_protocol_map.d.ts +0 -4
  176. package/lib/factories/internal/protocols/iterate_protocol_map.js +0 -75
  177. package/lib/factories/internal/protocols/iterate_protocol_map.js.map +0 -1
  178. package/lib/factories/internal/protocols/iterate_protocol_metadata.d.ts +0 -5
  179. package/lib/factories/internal/protocols/iterate_protocol_metadata.js +0 -190
  180. package/lib/factories/internal/protocols/iterate_protocol_metadata.js.map +0 -1
  181. package/lib/factories/internal/protocols/iterate_protocol_native.d.ts +0 -2
  182. package/lib/factories/internal/protocols/iterate_protocol_native.js +0 -33
  183. package/lib/factories/internal/protocols/iterate_protocol_native.js.map +0 -1
  184. package/lib/factories/internal/protocols/iterate_protocol_never.d.ts +0 -1
  185. package/lib/factories/internal/protocols/iterate_protocol_never.js +0 -6
  186. package/lib/factories/internal/protocols/iterate_protocol_never.js.map +0 -1
  187. package/lib/factories/internal/protocols/iterate_protocol_object.d.ts +0 -4
  188. package/lib/factories/internal/protocols/iterate_protocol_object.js +0 -157
  189. package/lib/factories/internal/protocols/iterate_protocol_object.js.map +0 -1
  190. package/lib/factories/internal/protocols/iterate_protocol_repeated.d.ts +0 -5
  191. package/lib/factories/internal/protocols/iterate_protocol_repeated.js +0 -25
  192. package/lib/factories/internal/protocols/iterate_protocol_repeated.js.map +0 -1
  193. package/lib/factories/internal/protocols/iterate_protocol_tuple.d.ts +0 -3
  194. package/lib/factories/internal/protocols/iterate_protocol_tuple.js +0 -46
  195. package/lib/factories/internal/protocols/iterate_protocol_tuple.js.map +0 -1
  196. package/lib/functional/$proto_bytes.d.ts +0 -2
  197. package/lib/functional/$proto_bytes.js +0 -37
  198. package/lib/functional/$proto_bytes.js.map +0 -1
  199. package/lib/functional/$proto_field.d.ts +0 -10
  200. package/lib/functional/$proto_field.js +0 -42
  201. package/lib/functional/$proto_field.js.map +0 -1
  202. package/lib/functional/$proto_float.d.ts +0 -4
  203. package/lib/functional/$proto_float.js +0 -28
  204. package/lib/functional/$proto_float.js.map +0 -1
  205. package/lib/functional/$proto_i32.d.ts +0 -2
  206. package/lib/functional/$proto_i32.js +0 -23
  207. package/lib/functional/$proto_i32.js.map +0 -1
  208. package/lib/functional/$proto_i64.d.ts +0 -2
  209. package/lib/functional/$proto_i64.js +0 -31
  210. package/lib/functional/$proto_i64.js.map +0 -1
  211. package/lib/functional/$proto_size.d.ts +0 -6
  212. package/lib/functional/$proto_size.js +0 -76
  213. package/lib/functional/$proto_size.js.map +0 -1
  214. package/lib/functional/$proto_string.d.ts +0 -2
  215. package/lib/functional/$proto_string.js +0 -34
  216. package/lib/functional/$proto_string.js.map +0 -1
  217. package/lib/functional/$varint.d.ts +0 -6
  218. package/lib/functional/$varint.js +0 -99
  219. package/lib/functional/$varint.js.map +0 -1
  220. package/lib/functional/$zigzag.d.ts +0 -4
  221. package/lib/functional/$zigzag.js +0 -34
  222. package/lib/functional/$zigzag.js.map +0 -1
  223. package/lib/messages/IProtocolMap.d.ts +0 -5
  224. package/lib/messages/IProtocolMap.js.map +0 -1
  225. package/lib/messages/IProtocolMessage.d.ts +0 -5
  226. package/lib/messages/IProtocolMessage.js.map +0 -1
  227. package/lib/messages/IProtocolProperty.d.ts +0 -12
  228. package/lib/messages/IProtocolProperty.js +0 -3
  229. package/lib/messages/IProtocolProperty.js.map +0 -1
  230. package/lib/programmers/MessageProgrammer.d.ts +0 -5
  231. package/lib/programmers/MessageProgrammer.js +0 -141
  232. package/lib/programmers/MessageProgrammer.js.map +0 -1
  233. package/lib/transformers/features/protocols/MessageTransformer.d.ts +0 -5
  234. package/lib/transformers/features/protocols/MessageTransformer.js +0 -17
  235. package/lib/transformers/features/protocols/MessageTransformer.js.map +0 -1
  236. package/lib/utils/NameEncoder.d.ts +0 -4
  237. package/lib/utils/NameEncoder.js +0 -89
  238. package/lib/utils/NameEncoder.js.map +0 -1
  239. package/src/factories/ProtocolFactory.ts +0 -79
  240. package/src/factories/internal/protocols/ProtocolMetadataUtil.ts +0 -163
  241. package/src/factories/internal/protocols/emplace_protocol_object.ts +0 -25
  242. package/src/factories/internal/protocols/emplace_protocol_property.ts +0 -12
  243. package/src/factories/internal/protocols/iterate_protocol_atomic.ts +0 -34
  244. package/src/factories/internal/protocols/iterate_protocol_constant.ts +0 -27
  245. package/src/factories/internal/protocols/iterate_protocol_main.ts +0 -19
  246. package/src/factories/internal/protocols/iterate_protocol_map.ts +0 -58
  247. package/src/factories/internal/protocols/iterate_protocol_metadata.ts +0 -96
  248. package/src/factories/internal/protocols/iterate_protocol_native.ts +0 -34
  249. package/src/factories/internal/protocols/iterate_protocol_never.ts +0 -1
  250. package/src/factories/internal/protocols/iterate_protocol_object.ts +0 -110
  251. package/src/factories/internal/protocols/iterate_protocol_repeated.ts +0 -34
  252. package/src/factories/internal/protocols/iterate_protocol_tuple.ts +0 -29
  253. package/src/functional/$proto_bytes.ts +0 -25
  254. package/src/functional/$proto_field.ts +0 -30
  255. package/src/functional/$proto_float.ts +0 -37
  256. package/src/functional/$proto_i32.ts +0 -29
  257. package/src/functional/$proto_i64.ts +0 -37
  258. package/src/functional/$proto_size.ts +0 -82
  259. package/src/functional/$proto_string.ts +0 -24
  260. package/src/functional/$varint.ts +0 -130
  261. package/src/functional/$zigzag.ts +0 -39
  262. package/src/messages/IProtocolMap.ts +0 -5
  263. package/src/messages/IProtocolMessage.ts +0 -6
  264. package/src/messages/IProtocolProperty.ts +0 -13
  265. package/src/programmers/MessageProgrammer.ts +0 -126
  266. package/src/transformers/features/protocols/MessageTransformer.ts +0 -32
  267. package/src/utils/NameEncoder.ts +0 -32
@@ -10,6 +10,31 @@ var __values = (this && this.__values) || function(o) {
10
10
  };
11
11
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
12
  };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
31
+ if (ar || !(i in from)) {
32
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
33
+ ar[i] = from[i];
34
+ }
35
+ }
36
+ return to.concat(ar || Array.prototype.slice.call(from));
37
+ };
13
38
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
40
  };
@@ -17,88 +42,116 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
42
  exports.check_number = void 0;
18
43
  var typescript_1 = __importDefault(require("typescript"));
19
44
  var OptionPredicator_1 = require("../helpers/OptionPredicator");
20
- var check_number = function (_a, numeric) {
21
- var options = _a.options;
22
- return function (input, tagList) {
23
- var e_1, _a;
24
- var conditions = [
25
- typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("number"), typescript_1.default.factory.createTypeOfExpression(input)),
26
- ];
27
- var finite = (!!tagList.find(function (tag) {
28
- return tag.kind === "minimum" || tag.kind === "exclusiveMinimum";
29
- }) &&
30
- !!tagList.find(function (tag) {
31
- return tag.kind === "maximum" ||
32
- tag.kind === "exclusiveMaximum";
33
- })) ||
34
- !!tagList.find(function (tag) { return tag.kind === "step" || tag.kind === "multipleOf"; });
35
- if (numeric === true && finite === false)
36
- if (OptionPredicator_1.OptionPredicator.finite(options))
37
- conditions.push(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number.isFinite"), undefined, [input]));
38
- else if (OptionPredicator_1.OptionPredicator.numeric(options))
39
- conditions.push(typescript_1.default.factory.createLogicalNot(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number.isNaN"), undefined, [input])));
40
- var _loop_1 = function (tag) {
41
- if (tag.kind === "type") {
42
- conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("parseInt"), undefined, [input]), input));
43
- if (tag.value === "uint")
44
- conditions.push(typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(0), input));
45
- }
46
- else if (tag.kind === "multipleOf")
47
- conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), typescript_1.default.factory.createModulo(input, typescript_1.default.factory.createNumericLiteral(tag.value))));
48
- else if (tag.kind === "step") {
49
- var modulo = function () {
50
- return typescript_1.default.factory.createModulo(input, typescript_1.default.factory.createNumericLiteral(tag.value));
51
- };
52
- var minimum = (function () {
53
- var e_2, _a;
45
+ var check_custom_1 = require("./check_custom");
46
+ var check_number = function (project, numeric) {
47
+ return function (importer) {
48
+ return function (metaTags) {
49
+ return function (jsDocTag) {
50
+ return function (input) {
51
+ var e_1, _a;
52
+ var _b, _c;
53
+ var entries = [];
54
54
  try {
55
- for (var tagList_2 = (e_2 = void 0, __values(tagList)), tagList_2_1 = tagList_2.next(); !tagList_2_1.done; tagList_2_1 = tagList_2.next()) {
56
- var tag_1 = tagList_2_1.value;
57
- if (tag_1.kind === "minimum")
58
- return tag_1.value;
59
- else if (tag_1.kind === "exclusiveMinimum")
60
- return tag_1.value;
55
+ for (var metaTags_1 = __values(metaTags), metaTags_1_1 = metaTags_1.next(); !metaTags_1_1.done; metaTags_1_1 = metaTags_1.next()) {
56
+ var tag = metaTags_1_1.value;
57
+ if (tag.kind === "type") {
58
+ entries.push([
59
+ tag,
60
+ typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("parseInt"), undefined, [input]), input),
61
+ ]);
62
+ if (tag.value === "uint")
63
+ entries.push([
64
+ tag,
65
+ typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(0), input),
66
+ ]);
67
+ }
68
+ else if (tag.kind === "multipleOf")
69
+ entries.push([
70
+ tag,
71
+ typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), typescript_1.default.factory.createModulo(input, typescript_1.default.factory.createNumericLiteral(tag.value))),
72
+ ]);
73
+ else if (tag.kind === "step") {
74
+ var modulo = typescript_1.default.factory.createModulo(input, typescript_1.default.factory.createNumericLiteral(tag.value));
75
+ var minimum = (_c = (_b = metaTags.find(function (tag) {
76
+ return tag.kind === "minimum" ||
77
+ tag.kind === "exclusiveMinimum";
78
+ })) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : undefined;
79
+ entries.push([
80
+ tag,
81
+ typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), minimum !== undefined
82
+ ? typescript_1.default.factory.createSubtract(modulo, typescript_1.default.factory.createNumericLiteral(minimum))
83
+ : modulo),
84
+ ]);
85
+ }
86
+ else if (tag.kind === "minimum")
87
+ entries.push([
88
+ tag,
89
+ typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), input),
90
+ ]);
91
+ else if (tag.kind === "maximum")
92
+ entries.push([
93
+ tag,
94
+ typescript_1.default.factory.createGreaterThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), input),
95
+ ]);
96
+ else if (tag.kind === "exclusiveMinimum")
97
+ entries.push([
98
+ tag,
99
+ typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(tag.value), input),
100
+ ]);
101
+ else if (tag.kind === "exclusiveMaximum")
102
+ entries.push([
103
+ tag,
104
+ typescript_1.default.factory.createGreaterThan(typescript_1.default.factory.createNumericLiteral(tag.value), input),
105
+ ]);
61
106
  }
62
107
  }
63
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
108
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
64
109
  finally {
65
110
  try {
66
- if (tagList_2_1 && !tagList_2_1.done && (_a = tagList_2.return)) _a.call(tagList_2);
111
+ if (metaTags_1_1 && !metaTags_1_1.done && (_a = metaTags_1.return)) _a.call(metaTags_1);
67
112
  }
68
- finally { if (e_2) throw e_2.error; }
113
+ finally { if (e_1) throw e_1.error; }
69
114
  }
70
- return undefined;
71
- })();
72
- conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), minimum !== undefined
73
- ? typescript_1.default.factory.createSubtract(modulo(), typescript_1.default.factory.createNumericLiteral(minimum))
74
- : modulo()));
75
- }
76
- else if (tag.kind === "minimum")
77
- conditions.push(typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), input));
78
- else if (tag.kind === "maximum")
79
- conditions.push(typescript_1.default.factory.createGreaterThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), input));
80
- else if (tag.kind === "exclusiveMinimum")
81
- conditions.push(typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(tag.value), input));
82
- else if (tag.kind === "exclusiveMaximum")
83
- conditions.push(typescript_1.default.factory.createGreaterThan(typescript_1.default.factory.createNumericLiteral(tag.value), input));
115
+ return {
116
+ expression: is_number(project, numeric)(metaTags)(input),
117
+ tags: __spreadArray(__spreadArray([], __read(entries.map(function (_a) {
118
+ var _b = __read(_a, 2), tag = _b[0], expression = _b[1];
119
+ return ({
120
+ expected: "number (@".concat(tag.kind, " ").concat(tag.value, ")"),
121
+ expression: expression,
122
+ });
123
+ })), false), __read((0, check_custom_1.check_custom)("number")(importer)(jsDocTag)(input)), false),
124
+ };
125
+ };
126
+ };
84
127
  };
85
- try {
86
- for (var tagList_1 = __values(tagList), tagList_1_1 = tagList_1.next(); !tagList_1_1.done; tagList_1_1 = tagList_1.next()) {
87
- var tag = tagList_1_1.value;
88
- _loop_1(tag);
89
- }
90
- }
91
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
92
- finally {
93
- try {
94
- if (tagList_1_1 && !tagList_1_1.done && (_a = tagList_1.return)) _a.call(tagList_1);
95
- }
96
- finally { if (e_1) throw e_1.error; }
97
- }
98
- return conditions.length === 1
99
- ? conditions[0]
100
- : conditions.reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
101
128
  };
102
129
  };
103
130
  exports.check_number = check_number;
131
+ var is_number = function (_a, numeric) {
132
+ var options = _a.options;
133
+ return function (metaTags) {
134
+ return function (input) {
135
+ var conditions = [
136
+ typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("number"), typescript_1.default.factory.createTypeOfExpression(input)),
137
+ ];
138
+ var finite = (!!metaTags.find(function (tag) {
139
+ return tag.kind === "minimum" || tag.kind === "exclusiveMinimum";
140
+ }) &&
141
+ !!metaTags.find(function (tag) {
142
+ return tag.kind === "maximum" ||
143
+ tag.kind === "exclusiveMaximum";
144
+ })) ||
145
+ !!metaTags.find(function (tag) { return tag.kind === "step" || tag.kind === "multipleOf"; });
146
+ if (numeric === true && finite === false)
147
+ if (OptionPredicator_1.OptionPredicator.finite(options))
148
+ conditions.push(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number.isFinite"), undefined, [input]));
149
+ else if (OptionPredicator_1.OptionPredicator.numeric(options))
150
+ conditions.push(typescript_1.default.factory.createLogicalNot(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number.isNaN"), undefined, [input])));
151
+ return conditions.length === 1
152
+ ? conditions[0]
153
+ : conditions.reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
154
+ };
155
+ };
156
+ };
104
157
  //# sourceMappingURL=check_number.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check_number.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_number.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check_number.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_number.ts"],"names":[],"mappings":"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"}
@@ -30,16 +30,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
30
30
  Object.defineProperty(exports, "__esModule", { value: true });
31
31
  exports.check_string = void 0;
32
32
  var typescript_1 = __importDefault(require("typescript"));
33
+ var check_custom_1 = require("./check_custom");
33
34
  var check_string_tags_1 = require("./check_string_tags");
34
- function check_string(importer) {
35
- return function (input, tagList) {
36
- var conditions = __spreadArray([
37
- typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("string"), typescript_1.default.factory.createTypeOfExpression(input))
38
- ], __read((0, check_string_tags_1.check_string_tags)(importer)(input, tagList)), false);
39
- return conditions.length === 1
40
- ? conditions[0]
41
- : conditions.reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
35
+ var check_string = function (importer) {
36
+ return function (metaTags) {
37
+ return function (jsDocTags) {
38
+ return function (input) { return ({
39
+ expression: typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("string"), typescript_1.default.factory.createTypeOfExpression(input)),
40
+ tags: __spreadArray(__spreadArray([], __read((0, check_string_tags_1.check_string_tags)(importer)(metaTags)(input)), false), __read((0, check_custom_1.check_custom)("string")(importer)(jsDocTags)(input)), false),
41
+ }); };
42
+ };
42
43
  };
43
- }
44
+ };
44
45
  exports.check_string = check_string;
45
46
  //# sourceMappingURL=check_string.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check_string.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_string.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAK5B,yDAAwD;AAKxD,SAAgB,YAAY,CAAC,QAA0B;IACnD,OAAO,UAAU,KAAoB,EAAE,OAAuB;QAC1D,IAAM,UAAU;YACZ,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C;kBACE,IAAA,qCAAiB,EAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,SACjD,CAAC;QACF,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC;YAC1B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE;YAChB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAjC,CAAiC,CAAC,CAAC;IACzE,CAAC,CAAC;AACN,CAAC;AAbD,oCAaC"}
1
+ {"version":3,"file":"check_string.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_string.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAK5B,+CAA8C;AAC9C,yDAAwD;AAKjD,IAAM,YAAY,GACrB,UAAC,QAA0B;IAC3B,OAAA,UAAC,QAAwB;QACzB,OAAA,UAAC,SAA4B;YAC7B,OAAA,UAAC,KAAoB,IAAK,OAAA,CAAC;gBACvB,UAAU,EAAE,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CACvC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C;gBACD,IAAI,yCACG,IAAA,qCAAiB,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,kBAC5C,IAAA,2BAAY,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SACxD;aACJ,CAAC,EATwB,CASxB;QATF,CASE;IAVF,CAUE;AAXF,CAWE,CAAC;AAbM,QAAA,YAAY,gBAalB"}
@@ -10,6 +10,22 @@ var __values = (this && this.__values) || function(o) {
10
10
  };
11
11
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
12
  };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
13
29
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
30
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
31
  };
@@ -18,32 +34,55 @@ exports.check_string_tags = void 0;
18
34
  var typescript_1 = __importDefault(require("typescript"));
19
35
  var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
20
36
  var check_string_tags = function (importer) {
21
- return function (input, tagList) {
22
- var e_1, _a;
23
- var conditions = [];
24
- try {
25
- for (var tagList_1 = __values(tagList), tagList_1_1 = tagList_1.next(); !tagList_1_1.done; tagList_1_1 = tagList_1.next()) {
26
- var tag = tagList_1_1.value;
27
- if (tag.kind === "format")
28
- conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createTrue(), typescript_1.default.factory.createCallExpression(importer.use("is_".concat(tag.value)), undefined, [input])));
29
- else if (tag.kind === "pattern")
30
- conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createTrue(), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("RegExp(/".concat(tag.value, "/).test")), undefined, [input])));
31
- else if (tag.kind === "length")
32
- conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.join(input, "length")));
33
- else if (tag.kind === "minLength")
34
- conditions.push(typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.join(input, "length")));
35
- else if (tag.kind === "maxLength")
36
- conditions.push(typescript_1.default.factory.createGreaterThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.join(input, "length")));
37
- }
38
- }
39
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
40
- finally {
37
+ return function (tagList) {
38
+ return function (input) {
39
+ var e_1, _a;
40
+ var conditions = [];
41
41
  try {
42
- if (tagList_1_1 && !tagList_1_1.done && (_a = tagList_1.return)) _a.call(tagList_1);
42
+ for (var tagList_1 = __values(tagList), tagList_1_1 = tagList_1.next(); !tagList_1_1.done; tagList_1_1 = tagList_1.next()) {
43
+ var tag = tagList_1_1.value;
44
+ if (tag.kind === "format")
45
+ conditions.push([
46
+ tag,
47
+ typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createTrue(), typescript_1.default.factory.createCallExpression(importer.use("is_".concat(tag.value)), undefined, [input])),
48
+ ]);
49
+ else if (tag.kind === "pattern")
50
+ conditions.push([
51
+ tag,
52
+ typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createTrue(), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("RegExp(/".concat(tag.value, "/).test")), undefined, [input])),
53
+ ]);
54
+ else if (tag.kind === "length")
55
+ conditions.push([
56
+ tag,
57
+ typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.join(input, "length")),
58
+ ]);
59
+ else if (tag.kind === "minLength")
60
+ conditions.push([
61
+ tag,
62
+ typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.join(input, "length")),
63
+ ]);
64
+ else if (tag.kind === "maxLength")
65
+ conditions.push([
66
+ tag,
67
+ typescript_1.default.factory.createGreaterThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.join(input, "length")),
68
+ ]);
69
+ }
43
70
  }
44
- finally { if (e_1) throw e_1.error; }
45
- }
46
- return conditions;
71
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
72
+ finally {
73
+ try {
74
+ if (tagList_1_1 && !tagList_1_1.done && (_a = tagList_1.return)) _a.call(tagList_1);
75
+ }
76
+ finally { if (e_1) throw e_1.error; }
77
+ }
78
+ return conditions.map(function (_a) {
79
+ var _b = __read(_a, 2), tag = _b[0], expression = _b[1];
80
+ return ({
81
+ expected: "string (@".concat(tag.kind, " ").concat(tag.value, ")"),
82
+ expression: expression,
83
+ });
84
+ });
85
+ };
47
86
  };
48
87
  };
49
88
  exports.check_string_tags = check_string_tags;
@@ -1 +1 @@
1
- {"version":3,"file":"check_string_tags.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_string_tags.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAS/D,IAAM,iBAAiB,GAC1B,UAAC,QAA0B;IAC3B,OAAA,UAAC,KAAoB,EAAE,OAAuB;;QAC1C,IAAM,UAAU,GAAoB,EAAE,CAAC;;YACvC,KAAkB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA;gBAApB,IAAM,GAAG,oBAAA;gBACV,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;oBACrB,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EACvB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,QAAQ,CAAC,GAAG,CAAC,aAAM,GAAG,CAAC,KAAK,CAAE,CAAC,EAC/B,SAAS,EACT,CAAC,KAAK,CAAC,CACV,CACJ,CACJ,CAAC;qBACD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;oBAC3B,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EACvB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,kBAAW,GAAG,CAAC,KAAK,YAAS,CAChC,EACD,SAAS,EACT,CAAC,KAAK,CAAC,CACV,CACJ,CACJ,CAAC;qBACD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;oBAC1B,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1C,qCAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAC1C,CACJ,CAAC;qBACD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;oBAC7B,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1C,qCAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAC1C,CACJ,CAAC;qBACD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;oBAC7B,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1C,qCAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAC1C,CACJ,CAAC;aAAA;;;;;;;;;QACV,OAAO,UAAU,CAAC;IACtB,CAAC;AAjDD,CAiDC,CAAC;AAnDO,QAAA,iBAAiB,qBAmDxB"}
1
+ {"version":3,"file":"check_string_tags.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_string_tags.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAU/D,IAAM,iBAAiB,GAC1B,UAAC,QAA0B;IAC3B,OAAA,UAAC,OAAuB;QACxB,OAAA,UAAC,KAAoB;;YACjB,IAAM,UAAU,GAAoC,EAAE,CAAC;;gBACvD,KAAkB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA;oBAApB,IAAM,GAAG,oBAAA;oBACV,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;wBACrB,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EACvB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,QAAQ,CAAC,GAAG,CAAC,aAAM,GAAG,CAAC,KAAK,CAAE,CAAC,EAC/B,SAAS,EACT,CAAC,KAAK,CAAC,CACV,CACJ;yBACJ,CAAC,CAAC;yBACF,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;wBAC3B,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EACvB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,kBAAW,GAAG,CAAC,KAAK,YAAS,CAChC,EACD,SAAS,EACT,CAAC,KAAK,CAAC,CACV,CACJ;yBACJ,CAAC,CAAC;yBACF,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;wBAC1B,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1C,qCAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAC1C;yBACJ,CAAC,CAAC;yBACF,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;wBAC7B,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1C,qCAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAC1C;yBACJ,CAAC,CAAC;yBACF,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;wBAC7B,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1C,qCAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAC1C;yBACJ,CAAC,CAAC;iBAAA;;;;;;;;;YACX,OAAO,UAAU,CAAC,GAAG,CAAC,UAAC,EAAiB;oBAAjB,KAAA,aAAiB,EAAhB,GAAG,QAAA,EAAE,UAAU,QAAA;gBAAM,OAAA,CAAC;oBAC1C,QAAQ,EAAE,mBAAY,GAAG,CAAC,IAAI,cAAI,GAAG,CAAC,KAAK,MAAG;oBAC9C,UAAU,YAAA;iBACb,CAAC;YAH2C,CAG3C,CAAC,CAAC;QACR,CAAC;IAzDD,CAyDC;AA1DD,CA0DC,CAAC;AA5DO,QAAA,iBAAiB,qBA4DxB"}
@@ -30,20 +30,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
30
30
  Object.defineProperty(exports, "__esModule", { value: true });
31
31
  exports.check_template = void 0;
32
32
  var typescript_1 = __importDefault(require("typescript"));
33
+ var check_custom_1 = require("./check_custom");
33
34
  var check_string_tags_1 = require("./check_string_tags");
34
35
  var template_to_pattern_1 = require("./template_to_pattern");
35
36
  var check_template = function (importer) {
36
- return function (input, templates, tagList) {
37
- var conditions = __spreadArray([
38
- typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("string"), typescript_1.default.factory.createTypeOfExpression(input))
39
- ], __read((0, check_string_tags_1.check_string_tags)(importer)(input, tagList)), false);
40
- var internal = templates.map(function (tpl) {
41
- return typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createTrue(), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("RegExp(/".concat((0, template_to_pattern_1.template_to_pattern)(true)(tpl), "/).test")), undefined, [input]));
42
- });
43
- conditions.push(internal.length === 1
44
- ? internal[0]
45
- : internal.reduce(function (x, y) { return typescript_1.default.factory.createLogicalOr(x, y); }));
46
- return conditions.reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
37
+ return function (metaTags) {
38
+ return function (jsDocTags) {
39
+ return function (templates) {
40
+ return function (input) {
41
+ var conditions = [
42
+ typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("string"), typescript_1.default.factory.createTypeOfExpression(input)),
43
+ ];
44
+ var internal = templates.map(function (tpl) {
45
+ return typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createTrue(), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("RegExp(/".concat((0, template_to_pattern_1.template_to_pattern)(true)(tpl), "/).test")), undefined, [input]));
46
+ });
47
+ conditions.push(internal.length === 1
48
+ ? internal[0]
49
+ : internal.reduce(function (x, y) { return typescript_1.default.factory.createLogicalOr(x, y); }));
50
+ return {
51
+ expression: conditions.reduce(function (x, y) {
52
+ return typescript_1.default.factory.createLogicalAnd(x, y);
53
+ }),
54
+ tags: __spreadArray(__spreadArray([], __read((0, check_string_tags_1.check_string_tags)(importer)(metaTags)(input)), false), __read((0, check_custom_1.check_custom)("string")(importer)(jsDocTags)(input)), false),
55
+ };
56
+ };
57
+ };
58
+ };
47
59
  };
48
60
  };
49
61
  exports.check_template = check_template;
@@ -1 +1 @@
1
- {"version":3,"file":"check_template.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_template.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAM5B,yDAAwD;AACxD,6DAA4D;AAKrD,IAAM,cAAc,GACvB,UAAC,QAA0B;IAC3B,OAAA,UACI,KAAoB,EACpB,SAAuB,EACvB,OAAuB;QAGvB,IAAM,UAAU;YACZ,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C;kBACE,IAAA,qCAAiB,EAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,SACjD,CAAC;QAGF,IAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAC,GAAG;YAC/B,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EACvB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,kBAAW,IAAA,yCAAmB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAS,CACrD,EACD,SAAS,EACT,CAAC,KAAK,CAAC,CACV,CACJ;QATD,CASC,CACJ,CAAC;QACF,UAAU,CAAC,IAAI,CACX,QAAQ,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE;YACd,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAAhC,CAAgC,CAAC,CACpE,CAAC;QAGF,OAAO,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAjC,CAAiC,CAAC,CAAC;IAC1E,CAAC;AAnCD,CAmCC,CAAC;AArCO,QAAA,cAAc,kBAqCrB"}
1
+ {"version":3,"file":"check_template.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_template.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAQ5B,+CAA8C;AAC9C,yDAAwD;AACxD,6DAA4D;AAKrD,IAAM,cAAc,GACvB,UAAC,QAA0B;IAC3B,OAAA,UAAC,QAAwB;QACzB,OAAA,UAAC,SAA0B;YAC3B,OAAA,UAAC,SAAuB;gBACxB,OAAA,UAAC,KAAoB;oBAEjB,IAAM,UAAU,GAAoB;wBAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C;qBACJ,CAAC;oBAGF,IAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAC,GAAG;wBAC/B,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EACvB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,kBAAW,IAAA,yCAAmB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAS,CACrD,EACD,SAAS,EACT,CAAC,KAAK,CAAC,CACV,CACJ;oBATD,CASC,CACJ,CAAC;oBACF,UAAU,CAAC,IAAI,CACX,QAAQ,CAAC,MAAM,KAAK,CAAC;wBACjB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAE;wBACd,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAAhC,CAAgC,CAAC,CACpE,CAAC;oBAGF,OAAO;wBACH,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC;4BAC/B,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAjC,CAAiC,CACpC;wBACD,IAAI,yCACG,IAAA,qCAAiB,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,kBAC5C,IAAA,2BAAY,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SACxD;qBACJ,CAAC;gBACN,CAAC;YAtCD,CAsCC;QAvCD,CAuCC;IAxCD,CAwCC;AAzCD,CAyCC,CAAC;AA3CO,QAAA,cAAc,kBA2CrB"}
@@ -3,10 +3,10 @@ import { IMetadataTag } from "../../metadata/IMetadataTag";
3
3
  import { CheckerProgrammer } from "../CheckerProgrammer";
4
4
  import { FeatureProgrammer } from "../FeatureProgrammer";
5
5
  import { UnionExplorer } from "../helpers/UnionExplorer";
6
- export declare const check_union_array_like: <T>(accessor: check_union_array_like.IAccessor<T>) => (props: check_union_array_like.IProps<T>) => (input: ts.Expression, targets: T[], explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]) => ts.Expression;
6
+ export declare const check_union_array_like: <T>(accessor: check_union_array_like.IAccessor<T>) => (props: check_union_array_like.IProps<T>) => (input: ts.Expression, targets: T[], explore: FeatureProgrammer.IExplore, tags: IMetadataTag[], jsDocTags: ts.JSDocTagInfo[]) => ts.Expression;
7
7
  export declare namespace check_union_array_like {
8
8
  interface IProps<T> {
9
- checker(front: ts.Expression, target: T, explore: FeatureProgrammer.IExplore, tags: IMetadataTag[], array: ts.Expression): ts.Expression;
9
+ checker(front: ts.Expression, target: T, explore: FeatureProgrammer.IExplore, tags: IMetadataTag[], jsDocTags: ts.JSDocTagInfo[], array: ts.Expression): ts.Expression;
10
10
  decoder: UnionExplorer.Decoder<T>;
11
11
  empty: ts.ReturnStatement | ts.Expression;
12
12
  success: ts.Expression;
@@ -46,17 +46,17 @@ var StatementFactory_1 = require("../../factories/StatementFactory");
46
46
  var TypeFactory_1 = require("../../factories/TypeFactory");
47
47
  var check_union_array_like = function (accessor) {
48
48
  return function (props) {
49
- return function (input, targets, explore, tags) {
49
+ return function (input, targets, explore, tags, jsDocTags) {
50
50
  if (targets.length === 1)
51
- return props.decoder(accessor.array(input), targets[0], explore, tags);
51
+ return props.decoder(accessor.array(input), targets[0], explore, tags, jsDocTags);
52
52
  var tupleListVariable = StatementFactory_1.StatementFactory.constant("tupleList", typescript_1.default.factory.createArrayLiteralExpression(targets.map(function (meta) {
53
53
  return typescript_1.default.factory.createArrayLiteralExpression([
54
54
  typescript_1.default.factory.createArrowFunction(undefined, undefined, [
55
55
  IdentifierFactory_1.IdentifierFactory.parameter("top", TypeFactory_1.TypeFactory.keyword("any")),
56
- ], undefined, undefined, props.checker(typescript_1.default.factory.createIdentifier("top"), meta, __assign(__assign({}, explore), { tracable: false, postfix: "\"[0]\"" }), tags, input)),
56
+ ], undefined, undefined, props.checker(typescript_1.default.factory.createIdentifier("top"), meta, __assign(__assign({}, explore), { tracable: false, postfix: "\"[0]\"" }), tags, jsDocTags, input)),
57
57
  typescript_1.default.factory.createArrowFunction(undefined, undefined, [
58
58
  IdentifierFactory_1.IdentifierFactory.parameter("top", TypeFactory_1.TypeFactory.keyword("any")),
59
- ], undefined, undefined, props.decoder(typescript_1.default.factory.createIdentifier("top"), meta, __assign(__assign({}, explore), { tracable: true }), tags)),
59
+ ], undefined, undefined, props.decoder(typescript_1.default.factory.createIdentifier("top"), meta, __assign(__assign({}, explore), { tracable: true }), tags, jsDocTags)),
60
60
  ]);
61
61
  })));
62
62
  var filteredVariable = StatementFactory_1.StatementFactory.constant("filtered", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("tupleList.filter"), undefined, [
@@ -1 +1 @@
1
- {"version":3,"file":"check_union_array_like.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_union_array_like.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check_union_array_like.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_union_array_like.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.check_union_tuple = void 0;
4
4
  var CheckerProgrammer_1 = require("../CheckerProgrammer");
5
5
  var check_union_tuple = function (project, config, importer) {
6
- return function (_front, elements, explore, tags, array) {
7
- return CheckerProgrammer_1.CheckerProgrammer.decode_tuple(project, config, importer, true)(array, elements, explore, tags);
6
+ return function (_front, elements, explore, tags, jsDocTags, array) {
7
+ return CheckerProgrammer_1.CheckerProgrammer.decode_tuple(project, config, importer, true)(array, elements, explore, tags, jsDocTags);
8
8
  };
9
9
  };
10
10
  exports.check_union_tuple = check_union_tuple;
@@ -1 +1 @@
1
- {"version":3,"file":"check_union_tuple.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_union_tuple.ts"],"names":[],"mappings":";;;AAOA,0DAAyD;AAOlD,IAAM,iBAAiB,GAC1B,UACI,OAAiB,EACjB,MAAiC,EACjC,QAA0B;IAE9B,OAAA,UACI,MAAqB,EACrB,QAAoB,EACpB,OAAmC,EACnC,IAAoB,EACpB,KAAoB;QAEpB,OAAA,qCAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAC3D,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,CACP;IALD,CAKC;AAZL,CAYK,CAAC;AAlBG,QAAA,iBAAiB,qBAkBpB"}
1
+ {"version":3,"file":"check_union_tuple.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_union_tuple.ts"],"names":[],"mappings":";;;AAOA,0DAAyD;AAOlD,IAAM,iBAAiB,GAC1B,UACI,OAAiB,EACjB,MAAiC,EACjC,QAA0B;IAE9B,OAAA,UACI,MAAqB,EACrB,QAAoB,EACpB,OAAmC,EACnC,IAAoB,EACpB,SAA4B,EAC5B,KAAoB;QAEpB,OAAA,qCAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAC3D,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,SAAS,CACZ;IAND,CAMC;AAdL,CAcK,CAAC;AApBG,QAAA,iBAAiB,qBAoBpB"}
@@ -32,7 +32,7 @@ var feature_object_entries = function (config) {
32
32
  importer.use("join");
33
33
  return "$join(key)";
34
34
  })(),
35
- }, prop.tags),
35
+ }, prop.tags, prop.jsDocTags),
36
36
  };
37
37
  });
38
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"feature_object_entries.js","sourceRoot":"","sources":["../../../src/programmers/internal/feature_object_entries.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,+CAA8C;AAKvC,IAAM,sBAAsB,GAC/B,UACI,MAGC;IAEL,OAAA,UAAC,QAA0B;QAC3B,OAAA,UAAC,GAAmB;YACpB,OAAA,UAAC,KAAoB;gBACjB,OAAA,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI;oBACpB,IAAM,IAAI,GAAkB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;oBACtD,IAAM,SAAS,GACX,IAAI,KAAK,IAAI;wBACT,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;wBACtC,CAAC,CAAC,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACxB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CACrC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACpC;4BACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CACvC,CAAC;oBAEZ,OAAO;wBACH,KAAK,EAAE,SAAS;wBAChB,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,IAAI,EAAE,IAAI,CAAC,KAAK;wBAChB,UAAU,EAAE,MAAM,CAAC,OAAO,CACtB,SAAS,EACT,IAAI,CAAC,KAAK,EACV;4BACI,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK;4BACrC,MAAM,EAAE,QAAQ;4BAChB,IAAI,EAAE,QAAQ;4BACd,OAAO,EACH,IAAI,KAAK,IAAI;gCACT,CAAC,CAAC,qCAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;gCACjC,CAAC,CAAC,CAAC;oCACG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oCACrB,OAAO,YAAY,CAAC;gCACxB,CAAC,CAAC,EAAE;yBACjB,EACD,IAAI,CAAC,IAAI,CACZ;qBACJ,CAAC;gBACN,CAAC,CAAC;YArCF,CAqCE;QAtCN,CAsCM;IAvCN,CAuCM;AAxCN,CAwCM,CAAC;AA/CE,QAAA,sBAAsB,0BA+CxB"}
1
+ {"version":3,"file":"feature_object_entries.js","sourceRoot":"","sources":["../../../src/programmers/internal/feature_object_entries.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,+CAA8C;AAKvC,IAAM,sBAAsB,GAC/B,UACI,MAGC;IAEL,OAAA,UAAC,QAA0B;QAC3B,OAAA,UAAC,GAAmB;YACpB,OAAA,UAAC,KAAoB;gBACjB,OAAA,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI;oBACpB,IAAM,IAAI,GAAkB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;oBACtD,IAAM,SAAS,GACX,IAAI,KAAK,IAAI;wBACT,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;wBACtC,CAAC,CAAC,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACxB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CACrC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACpC;4BACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CACvC,CAAC;oBAEZ,OAAO;wBACH,KAAK,EAAE,SAAS;wBAChB,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,IAAI,EAAE,IAAI,CAAC,KAAK;wBAChB,UAAU,EAAE,MAAM,CAAC,OAAO,CACtB,SAAS,EACT,IAAI,CAAC,KAAK,EACV;4BACI,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK;4BACrC,MAAM,EAAE,QAAQ;4BAChB,IAAI,EAAE,QAAQ;4BACd,OAAO,EACH,IAAI,KAAK,IAAI;gCACT,CAAC,CAAC,qCAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;gCACjC,CAAC,CAAC,CAAC;oCACG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oCACrB,OAAO,YAAY,CAAC;gCACxB,CAAC,CAAC,EAAE;yBACjB,EACD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CACjB;qBACJ,CAAC;gBACN,CAAC,CAAC;YAtCF,CAsCE;QAvCN,CAuCM;IAxCN,CAwCM;AAzCN,CAyCM,CAAC;AAhDE,QAAA,sBAAsB,0BAgDxB"}
@@ -31,7 +31,6 @@ var CreateIsParseTransformer_1 = require("./features/parsers/CreateIsParseTransf
31
31
  var CreateValidateParseTransformer_1 = require("./features/parsers/CreateValidateParseTransformer");
32
32
  var IsParseTransformer_1 = require("./features/parsers/IsParseTransformer");
33
33
  var ValidateParseTransformer_1 = require("./features/parsers/ValidateParseTransformer");
34
- var MessageTransformer_1 = require("./features/protocols/MessageTransformer");
35
34
  var AssertStringifyTransformer_1 = require("./features/stringifiers/AssertStringifyTransformer");
36
35
  var CreateAssertStringifyTransformer_1 = require("./features/stringifiers/CreateAssertStringifyTransformer");
37
36
  var CreateIsStringifyTransformer_1 = require("./features/stringifiers/CreateIsStringifyTransformer");
@@ -77,11 +76,10 @@ var FUNCTORS = {
77
76
  assertEquals: function () { return AssertTransformer_1.AssertTransformer.transform(true); },
78
77
  equals: function () { return IsTransformer_1.IsTransformer.transform(true); },
79
78
  validateEquals: function () { return ValidateTransformer_1.ValidateTransformer.transform(true); },
80
- message: function () { return MessageTransformer_1.MessageTransformer.transform; },
81
- application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
82
79
  isParse: function () { return IsParseTransformer_1.IsParseTransformer.transform; },
83
80
  assertParse: function () { return AssertParseTransformer_1.AssertParseTransformer.transform; },
84
81
  validateParse: function () { return ValidateParseTransformer_1.ValidateParseTransformer.transform; },
82
+ application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
85
83
  stringify: function () { return StringifyTransformer_1.StringifyTransformer.transform; },
86
84
  assertStringify: function () { return AssertStringifyTransformer_1.AssertStringifyTransformer.transform; },
87
85
  isStringify: function () { return IsStringifyTransformer_1.IsStringifyTransformer.transform; },