typia 3.6.10 → 3.7.0-dev.20230331

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 (260) hide show
  1. package/lib/factories/MetadataTagFactory.js +140 -132
  2. package/lib/factories/MetadataTagFactory.js.map +1 -1
  3. package/lib/functional/$dictionary.d.ts +1 -0
  4. package/lib/functional/$dictionary.js +14 -0
  5. package/lib/functional/$dictionary.js.map +1 -0
  6. package/lib/functional/$is_custom.d.ts +2 -0
  7. package/lib/functional/$is_custom.js +12 -0
  8. package/lib/functional/$is_custom.js.map +1 -0
  9. package/lib/functional/Namespace.js +2 -0
  10. package/lib/functional/Namespace.js.map +1 -1
  11. package/lib/module.d.ts +25 -0
  12. package/lib/module.js +12 -1
  13. package/lib/module.js.map +1 -1
  14. package/lib/programmers/CheckerProgrammer.d.ts +2 -2
  15. package/lib/programmers/CheckerProgrammer.js +22 -22
  16. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  17. package/lib/programmers/CloneProgrammer.js +2 -2
  18. package/lib/programmers/CloneProgrammer.js.map +1 -1
  19. package/lib/programmers/FeatureProgrammer.d.ts +3 -2
  20. package/lib/programmers/FeatureProgrammer.js +5 -5
  21. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  22. package/lib/programmers/IsProgrammer.d.ts +1 -1
  23. package/lib/programmers/IsProgrammer.js +2 -2
  24. package/lib/programmers/IsProgrammer.js.map +1 -1
  25. package/lib/programmers/PruneProgrammer.js +2 -2
  26. package/lib/programmers/PruneProgrammer.js.map +1 -1
  27. package/lib/programmers/StringifyProgrammer.js +6 -6
  28. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  29. package/lib/programmers/helpers/UnionExplorer.d.ts +7 -7
  30. package/lib/programmers/helpers/UnionExplorer.js +6 -6
  31. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  32. package/lib/programmers/internal/check_array.js +36 -7
  33. package/lib/programmers/internal/check_array.js.map +1 -1
  34. package/lib/programmers/internal/check_bigint.d.ts +3 -1
  35. package/lib/programmers/internal/check_bigint.js +90 -61
  36. package/lib/programmers/internal/check_bigint.js.map +1 -1
  37. package/lib/programmers/internal/check_custom.d.ts +4 -0
  38. package/lib/programmers/internal/check_custom.js +30 -0
  39. package/lib/programmers/internal/check_custom.js.map +1 -0
  40. package/lib/programmers/internal/check_number.js +104 -75
  41. package/lib/programmers/internal/check_number.js.map +1 -1
  42. package/lib/programmers/internal/check_string.js +4 -3
  43. package/lib/programmers/internal/check_string.js.map +1 -1
  44. package/lib/programmers/internal/check_union_array_like.d.ts +2 -2
  45. package/lib/programmers/internal/check_union_array_like.js +4 -4
  46. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  47. package/lib/programmers/internal/check_union_tuple.js +2 -2
  48. package/lib/programmers/internal/check_union_tuple.js.map +1 -1
  49. package/lib/programmers/internal/feature_object_entries.js +1 -1
  50. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  51. package/lib/typings/Customizable.d.ts +7 -0
  52. package/lib/typings/Customizable.js +3 -0
  53. package/lib/typings/Customizable.js.map +1 -0
  54. package/package.json +1 -1
  55. package/src/IRandomGenerator.ts +17 -17
  56. package/src/IValidation.ts +21 -21
  57. package/src/Primitive.ts +104 -104
  58. package/src/TypeGuardError.ts +36 -36
  59. package/src/executable/TypiaGenerateWizard.ts +87 -87
  60. package/src/executable/TypiaSetupWizard.ts +152 -152
  61. package/src/executable/setup/ArgumentParser.ts +91 -91
  62. package/src/executable/setup/CommandExecutor.ts +8 -8
  63. package/src/executable/setup/FileRetriever.ts +33 -33
  64. package/src/executable/setup/PackageManager.ts +92 -92
  65. package/src/executable/setup/PluginConfigurator.ts +99 -99
  66. package/src/executable/typia.ts +38 -38
  67. package/src/factories/CommentFactory.ts +10 -10
  68. package/src/factories/ExpressionFactory.ts +77 -77
  69. package/src/factories/IdentifierFactory.ts +73 -73
  70. package/src/factories/LiteralFactory.ts +44 -44
  71. package/src/factories/MetadataCollection.ts +122 -122
  72. package/src/factories/MetadataFactory.ts +51 -51
  73. package/src/factories/MetadataTagFactory.ts +302 -276
  74. package/src/factories/StatementFactory.ts +60 -60
  75. package/src/factories/TemplateFactory.ts +56 -56
  76. package/src/factories/TypeFactory.ts +129 -129
  77. package/src/factories/TypiaFileFactory.ts +120 -120
  78. package/src/factories/ValueFactory.ts +12 -12
  79. package/src/factories/internal/metadata/MetadataHelper.ts +12 -12
  80. package/src/factories/internal/metadata/emplace_metadata_object.ts +142 -142
  81. package/src/factories/internal/metadata/explore_metadata.ts +92 -92
  82. package/src/factories/internal/metadata/iterate_metadata.ts +80 -80
  83. package/src/factories/internal/metadata/iterate_metadata_array.ts +29 -29
  84. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +59 -59
  85. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +33 -33
  86. package/src/factories/internal/metadata/iterate_metadata_constant.ts +58 -58
  87. package/src/factories/internal/metadata/iterate_metadata_map.ts +41 -41
  88. package/src/factories/internal/metadata/iterate_metadata_native.ts +222 -222
  89. package/src/factories/internal/metadata/iterate_metadata_object.ts +48 -48
  90. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +27 -27
  91. package/src/factories/internal/metadata/iterate_metadata_set.ts +33 -33
  92. package/src/factories/internal/metadata/iterate_metadata_template.ts +38 -38
  93. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +45 -45
  94. package/src/factories/internal/metadata/iterate_metadata_union.ts +59 -59
  95. package/src/functional/$any.ts +3 -3
  96. package/src/functional/$dictionary.ts +17 -0
  97. package/src/functional/$every.ts +11 -11
  98. package/src/functional/$guard.ts +35 -35
  99. package/src/functional/$is_between.ts +7 -7
  100. package/src/functional/$is_custom.ts +14 -0
  101. package/src/functional/$is_date.ts +4 -4
  102. package/src/functional/$is_datetime.ts +3 -3
  103. package/src/functional/$is_email.ts +5 -5
  104. package/src/functional/$is_ipv4.ts +5 -5
  105. package/src/functional/$is_ipv6.ts +5 -5
  106. package/src/functional/$is_url.ts +5 -5
  107. package/src/functional/$is_uuid.ts +5 -5
  108. package/src/functional/$join.ts +50 -50
  109. package/src/functional/$number.ts +12 -12
  110. package/src/functional/$report.ts +15 -15
  111. package/src/functional/$rest.ts +3 -3
  112. package/src/functional/$string.ts +37 -37
  113. package/src/functional/$tail.ts +6 -6
  114. package/src/functional/Namespace.ts +127 -125
  115. package/src/index.ts +4 -4
  116. package/src/metadata/IJsDocTagInfo.ts +10 -10
  117. package/src/metadata/IMetadata.ts +25 -25
  118. package/src/metadata/IMetadataApplication.ts +7 -7
  119. package/src/metadata/IMetadataConstant.ts +16 -16
  120. package/src/metadata/IMetadataEntry.ts +6 -6
  121. package/src/metadata/IMetadataObject.ts +29 -29
  122. package/src/metadata/IMetadataProperty.ts +11 -11
  123. package/src/metadata/IMetadataTag.ts +105 -105
  124. package/src/metadata/Metadata.ts +534 -534
  125. package/src/metadata/MetadataConstant.ts +3 -3
  126. package/src/metadata/MetadataObject.ts +131 -131
  127. package/src/metadata/MetadataProperty.ts +64 -64
  128. package/src/module.ts +1986 -1946
  129. package/src/programmers/ApplicationProgrammer.ts +55 -55
  130. package/src/programmers/AssertCloneProgrammer.ts +70 -70
  131. package/src/programmers/AssertParseProgrammer.ts +65 -65
  132. package/src/programmers/AssertProgrammer.ts +232 -232
  133. package/src/programmers/AssertPruneProgrammer.ts +67 -67
  134. package/src/programmers/AssertStringifyProgrammer.ts +71 -71
  135. package/src/programmers/CheckerProgrammer.ts +923 -893
  136. package/src/programmers/CloneProgrammer.ts +388 -386
  137. package/src/programmers/FeatureProgrammer.ts +512 -505
  138. package/src/programmers/IsCloneProgrammer.ts +80 -80
  139. package/src/programmers/IsParseProgrammer.ts +74 -74
  140. package/src/programmers/IsProgrammer.ts +201 -200
  141. package/src/programmers/IsPruneProgrammer.ts +75 -75
  142. package/src/programmers/IsStringifyProgrammer.ts +81 -81
  143. package/src/programmers/PruneProgrammer.ts +343 -341
  144. package/src/programmers/RandomProgrammer.ts +388 -388
  145. package/src/programmers/StringifyProgrammer.ts +801 -795
  146. package/src/programmers/ValidateCloneProgrammer.ts +90 -90
  147. package/src/programmers/ValidateParseProgrammer.ts +69 -69
  148. package/src/programmers/ValidateProgrammer.ts +266 -266
  149. package/src/programmers/ValidatePruneProgrammer.ts +83 -83
  150. package/src/programmers/ValidateStringifyProgrammer.ts +89 -89
  151. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  152. package/src/programmers/helpers/CloneJoiner.ts +134 -134
  153. package/src/programmers/helpers/FunctionImporeter.ts +55 -55
  154. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  155. package/src/programmers/helpers/OptionPredicator.ts +19 -19
  156. package/src/programmers/helpers/PruneJoiner.ts +52 -52
  157. package/src/programmers/helpers/RandomJoiner.ts +149 -149
  158. package/src/programmers/helpers/RandomRanger.ts +216 -216
  159. package/src/programmers/helpers/StringifyJoinder.ts +114 -114
  160. package/src/programmers/helpers/StringifyPredicator.ts +18 -18
  161. package/src/programmers/helpers/UnionExplorer.ts +281 -274
  162. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  163. package/src/programmers/internal/application_array.ts +37 -37
  164. package/src/programmers/internal/application_boolean.ts +17 -17
  165. package/src/programmers/internal/application_constant.ts +29 -29
  166. package/src/programmers/internal/application_default.ts +17 -17
  167. package/src/programmers/internal/application_default_string.ts +32 -32
  168. package/src/programmers/internal/application_native.ts +29 -29
  169. package/src/programmers/internal/application_number.ts +73 -73
  170. package/src/programmers/internal/application_object.ts +153 -153
  171. package/src/programmers/internal/application_schema.ts +184 -184
  172. package/src/programmers/internal/application_string.ts +45 -45
  173. package/src/programmers/internal/application_templates.ts +27 -27
  174. package/src/programmers/internal/application_tuple.ts +29 -29
  175. package/src/programmers/internal/check_array.ts +31 -22
  176. package/src/programmers/internal/check_array_length.ts +44 -44
  177. package/src/programmers/internal/check_bigint.ts +84 -64
  178. package/src/programmers/internal/check_custom.ts +32 -0
  179. package/src/programmers/internal/check_dynamic_properties.ts +197 -197
  180. package/src/programmers/internal/check_everything.ts +28 -28
  181. package/src/programmers/internal/check_native.ts +21 -21
  182. package/src/programmers/internal/check_number.ts +155 -145
  183. package/src/programmers/internal/check_object.ts +48 -48
  184. package/src/programmers/internal/check_string.ts +30 -24
  185. package/src/programmers/internal/check_string_tags.ts +63 -63
  186. package/src/programmers/internal/check_template.ts +50 -50
  187. package/src/programmers/internal/check_union_array_like.ts +265 -260
  188. package/src/programmers/internal/check_union_tuple.ts +35 -33
  189. package/src/programmers/internal/decode_union_object.ts +73 -73
  190. package/src/programmers/internal/feature_object_entries.ts +60 -59
  191. package/src/programmers/internal/metadata_to_pattern.ts +31 -31
  192. package/src/programmers/internal/prune_object_properties.ts +60 -60
  193. package/src/programmers/internal/stringify_dynamic_properties.ts +165 -165
  194. package/src/programmers/internal/stringify_native.ts +8 -8
  195. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  196. package/src/programmers/internal/template_to_pattern.ts +15 -15
  197. package/src/schemas/IJsonApplication.ts +9 -9
  198. package/src/schemas/IJsonComponents.ts +26 -26
  199. package/src/schemas/IJsonSchema.ts +121 -121
  200. package/src/transform.ts +21 -21
  201. package/src/transformers/CallExpressionTransformer.ts +172 -172
  202. package/src/transformers/ExpressionWithArgumentTransformer.ts +66 -66
  203. package/src/transformers/FileTransformer.ts +49 -49
  204. package/src/transformers/IProject.ts +11 -11
  205. package/src/transformers/ITransformOptions.ts +62 -62
  206. package/src/transformers/ImportTransformer.ts +60 -60
  207. package/src/transformers/NodeTransformer.ts +19 -19
  208. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +120 -120
  209. package/src/transformers/features/miscellaneous/AssertCloneTransformer.ts +9 -9
  210. package/src/transformers/features/miscellaneous/AssertPruneTransformer.ts +9 -9
  211. package/src/transformers/features/miscellaneous/CloneTransformer.ts +9 -9
  212. package/src/transformers/features/miscellaneous/CreateAssertCloneTransformer.ts +9 -9
  213. package/src/transformers/features/miscellaneous/CreateAssertPruneTransformer.ts +9 -9
  214. package/src/transformers/features/miscellaneous/CreateCloneTransformer.ts +9 -9
  215. package/src/transformers/features/miscellaneous/CreateIsCloneTransformer.ts +9 -9
  216. package/src/transformers/features/miscellaneous/CreateIsPruneTransformer.ts +9 -9
  217. package/src/transformers/features/miscellaneous/CreatePruneTransformer.ts +9 -9
  218. package/src/transformers/features/miscellaneous/CreateRandomGenerator.ts +42 -42
  219. package/src/transformers/features/miscellaneous/CreateValidateCloneTransformer.ts +9 -9
  220. package/src/transformers/features/miscellaneous/CreateValidatePruneTransformer.ts +9 -9
  221. package/src/transformers/features/miscellaneous/IsCloneTransformer.ts +9 -9
  222. package/src/transformers/features/miscellaneous/IsPruneTransformer.ts +9 -9
  223. package/src/transformers/features/miscellaneous/MetadataTransformer.ts +55 -55
  224. package/src/transformers/features/miscellaneous/PruneTransformer.ts +9 -9
  225. package/src/transformers/features/miscellaneous/RandomTransformer.ts +48 -48
  226. package/src/transformers/features/miscellaneous/ValidateCloneTransformer.ts +9 -9
  227. package/src/transformers/features/miscellaneous/ValidatePruneTransformer.ts +9 -9
  228. package/src/transformers/features/parsers/AssertParseTransformer.ts +9 -9
  229. package/src/transformers/features/parsers/CreateAssertParseTransformer.ts +9 -9
  230. package/src/transformers/features/parsers/CreateIsParseTransformer.ts +9 -9
  231. package/src/transformers/features/parsers/CreateValidateParseTransformer.ts +9 -9
  232. package/src/transformers/features/parsers/IsParseTransformer.ts +9 -9
  233. package/src/transformers/features/parsers/ValidateParseTransformer.ts +9 -9
  234. package/src/transformers/features/stringifiers/AssertStringifyTransformer.ts +10 -10
  235. package/src/transformers/features/stringifiers/CreateAssertStringifyTransformer.ts +9 -9
  236. package/src/transformers/features/stringifiers/CreateIsStringifyTransformer.ts +9 -9
  237. package/src/transformers/features/stringifiers/CreateStringifyTransformer.ts +9 -9
  238. package/src/transformers/features/stringifiers/CreateValidateStringifyProgrammer.ts +11 -11
  239. package/src/transformers/features/stringifiers/IsStringifyTransformer.ts +9 -9
  240. package/src/transformers/features/stringifiers/StringifyTransformer.ts +9 -9
  241. package/src/transformers/features/stringifiers/ValidateStringifyTransformer.ts +10 -10
  242. package/src/transformers/features/validators/AssertTransformer.ts +11 -11
  243. package/src/transformers/features/validators/CreateAssertTransformer.ts +12 -12
  244. package/src/transformers/features/validators/CreateIsTransformer.ts +10 -10
  245. package/src/transformers/features/validators/CreateValidateTransformer.ts +12 -12
  246. package/src/transformers/features/validators/IsTransformer.ts +10 -10
  247. package/src/transformers/features/validators/ValidateTransformer.ts +11 -11
  248. package/src/transformers/internal/GenericTransformer.ts +99 -99
  249. package/src/typings/Atomic.ts +17 -17
  250. package/src/typings/ClassProperties.ts +5 -5
  251. package/src/typings/Customizable.ts +7 -0
  252. package/src/typings/OmitNever.ts +3 -3
  253. package/src/typings/SpecialFields.ts +3 -3
  254. package/src/typings/Writable.ts +11 -11
  255. package/src/utils/ArrayUtil.ts +49 -49
  256. package/src/utils/Escaper.ts +50 -50
  257. package/src/utils/MapUtil.ts +14 -14
  258. package/src/utils/PatternUtil.ts +30 -30
  259. package/src/utils/RandomGenerator.ts +96 -96
  260. package/src/utils/Singleton.ts +17 -17
@@ -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,87 +42,91 @@ 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");
45
+ var check_custom_1 = require("./check_custom");
20
46
  var check_number = function (_a, numeric) {
21
47
  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;
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;
61
- }
62
- }
63
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
64
- finally {
48
+ return function (importer) {
49
+ return function (input, metaTags, jsDocTags) {
50
+ var e_1, _a;
51
+ var conditions = [
52
+ typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("number"), typescript_1.default.factory.createTypeOfExpression(input)),
53
+ ];
54
+ var finite = (!!metaTags.find(function (tag) {
55
+ return tag.kind === "minimum" || tag.kind === "exclusiveMinimum";
56
+ }) &&
57
+ !!metaTags.find(function (tag) {
58
+ return tag.kind === "maximum" ||
59
+ tag.kind === "exclusiveMaximum";
60
+ })) ||
61
+ !!metaTags.find(function (tag) { return tag.kind === "step" || tag.kind === "multipleOf"; });
62
+ if (numeric === true && finite === false)
63
+ if (OptionPredicator_1.OptionPredicator.finite(options))
64
+ conditions.push(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number.isFinite"), undefined, [input]));
65
+ else if (OptionPredicator_1.OptionPredicator.numeric(options))
66
+ conditions.push(typescript_1.default.factory.createLogicalNot(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number.isNaN"), undefined, [input])));
67
+ var _loop_1 = function (tag) {
68
+ if (tag.kind === "type") {
69
+ conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("parseInt"), undefined, [input]), input));
70
+ if (tag.value === "uint")
71
+ conditions.push(typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(0), input));
72
+ }
73
+ else if (tag.kind === "multipleOf")
74
+ 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))));
75
+ else if (tag.kind === "step") {
76
+ var modulo = function () {
77
+ return typescript_1.default.factory.createModulo(input, typescript_1.default.factory.createNumericLiteral(tag.value));
78
+ };
79
+ var minimum = (function () {
80
+ var e_2, _a;
65
81
  try {
66
- if (tagList_2_1 && !tagList_2_1.done && (_a = tagList_2.return)) _a.call(tagList_2);
82
+ for (var metaTags_2 = (e_2 = void 0, __values(metaTags)), metaTags_2_1 = metaTags_2.next(); !metaTags_2_1.done; metaTags_2_1 = metaTags_2.next()) {
83
+ var tag_1 = metaTags_2_1.value;
84
+ if (tag_1.kind === "minimum")
85
+ return tag_1.value;
86
+ else if (tag_1.kind === "exclusiveMinimum")
87
+ return tag_1.value;
88
+ }
67
89
  }
68
- finally { if (e_2) throw e_2.error; }
69
- }
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));
84
- };
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 {
90
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
91
+ finally {
92
+ try {
93
+ if (metaTags_2_1 && !metaTags_2_1.done && (_a = metaTags_2.return)) _a.call(metaTags_2);
94
+ }
95
+ finally { if (e_2) throw e_2.error; }
96
+ }
97
+ return undefined;
98
+ })();
99
+ conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), minimum !== undefined
100
+ ? typescript_1.default.factory.createSubtract(modulo(), typescript_1.default.factory.createNumericLiteral(minimum))
101
+ : modulo()));
102
+ }
103
+ else if (tag.kind === "minimum")
104
+ conditions.push(typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), input));
105
+ else if (tag.kind === "maximum")
106
+ conditions.push(typescript_1.default.factory.createGreaterThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), input));
107
+ else if (tag.kind === "exclusiveMinimum")
108
+ conditions.push(typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(tag.value), input));
109
+ else if (tag.kind === "exclusiveMaximum")
110
+ conditions.push(typescript_1.default.factory.createGreaterThan(typescript_1.default.factory.createNumericLiteral(tag.value), input));
111
+ };
93
112
  try {
94
- if (tagList_1_1 && !tagList_1_1.done && (_a = tagList_1.return)) _a.call(tagList_1);
113
+ for (var metaTags_1 = __values(metaTags), metaTags_1_1 = metaTags_1.next(); !metaTags_1_1.done; metaTags_1_1 = metaTags_1.next()) {
114
+ var tag = metaTags_1_1.value;
115
+ _loop_1(tag);
116
+ }
95
117
  }
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); });
118
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
119
+ finally {
120
+ try {
121
+ if (metaTags_1_1 && !metaTags_1_1.done && (_a = metaTags_1.return)) _a.call(metaTags_1);
122
+ }
123
+ finally { if (e_1) throw e_1.error; }
124
+ }
125
+ conditions.push.apply(conditions, __spreadArray([], __read((0, check_custom_1.check_custom)("number")(importer)(input, jsDocTags)), false));
126
+ return conditions.length === 1
127
+ ? conditions[0]
128
+ : conditions.reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
129
+ };
101
130
  };
102
131
  };
103
132
  exports.check_number = check_number;
@@ -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,12 +30,13 @@ 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
35
  function check_string(importer) {
35
- return function (input, tagList) {
36
- var conditions = __spreadArray([
36
+ return function (input, metaTags, jsDocTags) {
37
+ var conditions = __spreadArray(__spreadArray([
37
38
  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
+ ], __read((0, check_string_tags_1.check_string_tags)(importer)(input, metaTags)), false), __read((0, check_custom_1.check_custom)("string")(importer)(input, jsDocTags)), false);
39
40
  return conditions.length === 1
40
41
  ? conditions[0]
41
42
  : conditions.reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
@@ -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;AAKxD,SAAgB,YAAY,CAAC,QAA0B;IACnD,OAAO,UACH,KAAoB,EACpB,QAAwB,EACxB,SAA4B;QAE5B,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,QAAQ,CAAC,kBAC5C,IAAA,2BAAY,EAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,SACxD,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;AAlBD,oCAkBC"}
@@ -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"}
@@ -0,0 +1,7 @@
1
+ export type Customizable = {
2
+ boolean: boolean;
3
+ number: number;
4
+ string: string;
5
+ bigint: bigint;
6
+ array: any[];
7
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Customizable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Customizable.js","sourceRoot":"","sources":["../../src/typings/Customizable.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "3.6.10",
3
+ "version": "3.7.0-dev.20230331",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -1,17 +1,17 @@
1
- export interface IRandomGenerator {
2
- boolean(): boolean;
3
- integer(minimum?: number, maximum?: number): number;
4
- number(minimum?: number, maximum?: number): number;
5
- bigint(minimum?: bigint, maximum?: bigint): bigint;
6
- string(length?: number): string;
7
- array<T>(closure: (index: number) => T, count?: number): T[];
8
-
9
- uuid(): string;
10
- email(): string;
11
- url(): string;
12
- ipv4(): string;
13
- ipv6(): string;
14
- pattern(regex: RegExp): string;
15
- date(minimum?: number, maximum?: number): string;
16
- datetime(minimum?: number, maximum?: number): string;
17
- }
1
+ export interface IRandomGenerator {
2
+ boolean(): boolean;
3
+ integer(minimum?: number, maximum?: number): number;
4
+ number(minimum?: number, maximum?: number): number;
5
+ bigint(minimum?: bigint, maximum?: bigint): bigint;
6
+ string(length?: number): string;
7
+ array<T>(closure: (index: number) => T, count?: number): T[];
8
+
9
+ uuid(): string;
10
+ email(): string;
11
+ url(): string;
12
+ ipv4(): string;
13
+ ipv6(): string;
14
+ pattern(regex: RegExp): string;
15
+ date(minimum?: number, maximum?: number): string;
16
+ datetime(minimum?: number, maximum?: number): string;
17
+ }
@@ -1,21 +1,21 @@
1
- export type IValidation<T = unknown> =
2
- | IValidation.ISuccess<T>
3
- | IValidation.IFailure;
4
- export namespace IValidation {
5
- export interface ISuccess<T = unknown> {
6
- success: true;
7
- data: T;
8
- errors: [];
9
- }
10
-
11
- export interface IFailure {
12
- success: false;
13
- errors: IError[];
14
- }
15
-
16
- export interface IError {
17
- path: string;
18
- expected: string;
19
- value: any;
20
- }
21
- }
1
+ export type IValidation<T = unknown> =
2
+ | IValidation.ISuccess<T>
3
+ | IValidation.IFailure;
4
+ export namespace IValidation {
5
+ export interface ISuccess<T = unknown> {
6
+ success: true;
7
+ data: T;
8
+ errors: [];
9
+ }
10
+
11
+ export interface IFailure {
12
+ success: false;
13
+ errors: IError[];
14
+ }
15
+
16
+ export interface IError {
17
+ path: string;
18
+ expected: string;
19
+ value: any;
20
+ }
21
+ }