typia 4.2.3 → 4.3.0

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/README.md +1 -1
  2. package/lib/factories/ExpressionFactory.d.ts +1 -0
  3. package/lib/factories/ExpressionFactory.js +3 -0
  4. package/lib/factories/ExpressionFactory.js.map +1 -1
  5. package/lib/factories/MetadataTagFactory.js +10 -4
  6. package/lib/factories/MetadataTagFactory.js.map +1 -1
  7. package/lib/metadata/IMetadataTag.d.ts +1 -1
  8. package/lib/metadata/MetadataTuple.js.map +1 -1
  9. package/lib/programmers/CheckerProgrammer.js +2 -2
  10. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  11. package/lib/programmers/LiteralsProgrammer.js +2 -1
  12. package/lib/programmers/LiteralsProgrammer.js.map +1 -1
  13. package/lib/programmers/RandomProgrammer.js +19 -10
  14. package/lib/programmers/RandomProgrammer.js.map +1 -1
  15. package/lib/programmers/helpers/RandomRanger.js +2 -2
  16. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  17. package/lib/programmers/helpers/UnionExplorer.js +11 -7
  18. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  19. package/lib/programmers/internal/application_number.js +10 -3
  20. package/lib/programmers/internal/application_number.js.map +1 -1
  21. package/lib/programmers/internal/check_bigint.js +16 -12
  22. package/lib/programmers/internal/check_bigint.js.map +1 -1
  23. package/lib/programmers/internal/check_number.js +38 -5
  24. package/lib/programmers/internal/check_number.js.map +1 -1
  25. package/package.json +2 -2
  26. package/src/CustomValidatorMap.ts +126 -126
  27. package/src/IRandomGenerator.ts +34 -34
  28. package/src/IValidation.ts +21 -21
  29. package/src/Primitive.ts +131 -131
  30. package/src/TypeGuardError.ts +36 -36
  31. package/src/executable/TypiaGenerateWizard.ts +85 -85
  32. package/src/executable/TypiaSetupWizard.ts +153 -153
  33. package/src/executable/setup/ArgumentParser.ts +45 -45
  34. package/src/executable/setup/CommandExecutor.ts +8 -8
  35. package/src/executable/setup/FileRetriever.ts +22 -22
  36. package/src/executable/setup/PackageManager.ts +71 -71
  37. package/src/executable/setup/PluginConfigurator.ts +70 -70
  38. package/src/executable/typia.ts +52 -52
  39. package/src/factories/CommentFactory.ts +84 -84
  40. package/src/factories/ExpressionFactory.ts +77 -70
  41. package/src/factories/IdentifierFactory.ts +59 -59
  42. package/src/factories/LiteralFactory.ts +39 -39
  43. package/src/factories/MetadataCollection.ts +269 -269
  44. package/src/factories/MetadataFactory.ts +34 -34
  45. package/src/factories/MetadataTagFactory.ts +361 -355
  46. package/src/factories/StatementFactory.ts +24 -24
  47. package/src/factories/TemplateFactory.ts +58 -58
  48. package/src/factories/TypeFactory.ts +124 -124
  49. package/src/factories/ValueFactory.ts +12 -12
  50. package/src/factories/internal/metadata/MetadataHelper.ts +12 -12
  51. package/src/factories/internal/metadata/emend_metadata_atomics.ts +33 -33
  52. package/src/factories/internal/metadata/emplace_metadata_alias.ts +40 -40
  53. package/src/factories/internal/metadata/emplace_metadata_array.ts +34 -34
  54. package/src/factories/internal/metadata/emplace_metadata_object.ts +136 -136
  55. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +50 -50
  56. package/src/factories/internal/metadata/explore_metadata.ts +38 -38
  57. package/src/factories/internal/metadata/iterate_metadata.ts +81 -81
  58. package/src/factories/internal/metadata/iterate_metadata_alias.ts +30 -30
  59. package/src/factories/internal/metadata/iterate_metadata_array.ts +24 -24
  60. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +59 -59
  61. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +33 -33
  62. package/src/factories/internal/metadata/iterate_metadata_collection.ts +133 -133
  63. package/src/factories/internal/metadata/iterate_metadata_constant.ts +58 -58
  64. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +84 -84
  65. package/src/factories/internal/metadata/iterate_metadata_map.ts +41 -41
  66. package/src/factories/internal/metadata/iterate_metadata_native.ts +219 -219
  67. package/src/factories/internal/metadata/iterate_metadata_object.ts +43 -43
  68. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +49 -49
  69. package/src/factories/internal/metadata/iterate_metadata_set.ts +33 -33
  70. package/src/factories/internal/metadata/iterate_metadata_sort.ts +69 -69
  71. package/src/factories/internal/metadata/iterate_metadata_tag.ts +31 -31
  72. package/src/factories/internal/metadata/iterate_metadata_template.ts +38 -38
  73. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +24 -24
  74. package/src/factories/internal/metadata/iterate_metadata_union.ts +24 -24
  75. package/src/functional/$any.ts +2 -2
  76. package/src/functional/$dictionary.ts +25 -25
  77. package/src/functional/$every.ts +11 -11
  78. package/src/functional/$guard.ts +35 -35
  79. package/src/functional/$is_between.ts +2 -2
  80. package/src/functional/$is_custom.ts +14 -14
  81. package/src/functional/$is_date.ts +3 -3
  82. package/src/functional/$is_datetime.ts +2 -2
  83. package/src/functional/$is_email.ts +4 -4
  84. package/src/functional/$is_ipv4.ts +4 -4
  85. package/src/functional/$is_ipv6.ts +4 -4
  86. package/src/functional/$is_url.ts +4 -4
  87. package/src/functional/$is_uuid.ts +4 -4
  88. package/src/functional/$join.ts +46 -46
  89. package/src/functional/$number.ts +12 -12
  90. package/src/functional/$report.ts +15 -15
  91. package/src/functional/$rest.ts +3 -3
  92. package/src/functional/$string.ts +50 -50
  93. package/src/functional/$tail.ts +5 -5
  94. package/src/functional/Namespace.ts +127 -127
  95. package/src/index.ts +4 -4
  96. package/src/metadata/ICommentTag.ts +4 -4
  97. package/src/metadata/IJsDocTagInfo.ts +10 -10
  98. package/src/metadata/IMetadata.ts +28 -28
  99. package/src/metadata/IMetadataAlias.ts +14 -14
  100. package/src/metadata/IMetadataApplication.ts +7 -7
  101. package/src/metadata/IMetadataArray.ts +10 -10
  102. package/src/metadata/IMetadataCollection.ts +11 -11
  103. package/src/metadata/IMetadataConstant.ts +16 -16
  104. package/src/metadata/IMetadataDictionary.ts +14 -14
  105. package/src/metadata/IMetadataEntry.ts +6 -6
  106. package/src/metadata/IMetadataObject.ts +18 -18
  107. package/src/metadata/IMetadataProperty.ts +11 -11
  108. package/src/metadata/IMetadataResolved.ts +6 -6
  109. package/src/metadata/IMetadataTag.ts +112 -105
  110. package/src/metadata/IMetadataTuple.ts +10 -10
  111. package/src/metadata/Metadata.ts +607 -607
  112. package/src/metadata/MetadataAlias.ts +66 -66
  113. package/src/metadata/MetadataArray.ts +55 -55
  114. package/src/metadata/MetadataConstant.ts +3 -3
  115. package/src/metadata/MetadataObject.ts +129 -129
  116. package/src/metadata/MetadataProperty.ts +64 -64
  117. package/src/metadata/MetadataResolved.ts +51 -51
  118. package/src/metadata/MetadataTuple.ts +58 -53
  119. package/src/module.ts +2038 -2038
  120. package/src/programmers/ApplicationProgrammer.ts +47 -47
  121. package/src/programmers/AssertCloneProgrammer.ts +71 -71
  122. package/src/programmers/AssertParseProgrammer.ts +66 -66
  123. package/src/programmers/AssertProgrammer.ts +279 -279
  124. package/src/programmers/AssertPruneProgrammer.ts +68 -68
  125. package/src/programmers/AssertStringifyProgrammer.ts +66 -66
  126. package/src/programmers/CheckerProgrammer.ts +1173 -1173
  127. package/src/programmers/CloneProgrammer.ts +587 -587
  128. package/src/programmers/FeatureProgrammer.ts +495 -495
  129. package/src/programmers/IsCloneProgrammer.ts +78 -78
  130. package/src/programmers/IsParseProgrammer.ts +72 -72
  131. package/src/programmers/IsProgrammer.ts +239 -239
  132. package/src/programmers/IsPruneProgrammer.ts +73 -73
  133. package/src/programmers/IsStringifyProgrammer.ts +76 -76
  134. package/src/programmers/LiteralsProgrammer.ts +64 -63
  135. package/src/programmers/PruneProgrammer.ts +542 -542
  136. package/src/programmers/RandomProgrammer.ts +578 -579
  137. package/src/programmers/StringifyProgrammer.ts +986 -986
  138. package/src/programmers/TypiaProgrammer.ts +129 -129
  139. package/src/programmers/ValidateCloneProgrammer.ts +85 -85
  140. package/src/programmers/ValidateParseProgrammer.ts +70 -70
  141. package/src/programmers/ValidateProgrammer.ts +305 -305
  142. package/src/programmers/ValidatePruneProgrammer.ts +78 -78
  143. package/src/programmers/ValidateStringifyProgrammer.ts +84 -84
  144. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  145. package/src/programmers/helpers/CloneJoiner.ts +131 -131
  146. package/src/programmers/helpers/FunctionImporeter.ts +78 -78
  147. package/src/programmers/helpers/ICheckEntry.ts +12 -12
  148. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  149. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  150. package/src/programmers/helpers/PruneJoiner.ts +143 -143
  151. package/src/programmers/helpers/RandomJoiner.ts +173 -173
  152. package/src/programmers/helpers/RandomRanger.ts +208 -216
  153. package/src/programmers/helpers/StringifyJoinder.ts +113 -113
  154. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  155. package/src/programmers/helpers/UnionExplorer.ts +305 -301
  156. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  157. package/src/programmers/helpers/disable_function_importer_declare.ts +26 -26
  158. package/src/programmers/internal/JSON_SCHEMA_PREFIX.ts +1 -1
  159. package/src/programmers/internal/application_alias.ts +66 -66
  160. package/src/programmers/internal/application_array.ts +30 -30
  161. package/src/programmers/internal/application_boolean.ts +15 -15
  162. package/src/programmers/internal/application_constant.ts +26 -26
  163. package/src/programmers/internal/application_default.ts +17 -17
  164. package/src/programmers/internal/application_default_string.ts +33 -33
  165. package/src/programmers/internal/application_native.ts +39 -39
  166. package/src/programmers/internal/application_number.ts +80 -74
  167. package/src/programmers/internal/application_object.ts +165 -165
  168. package/src/programmers/internal/application_resolved.ts +55 -55
  169. package/src/programmers/internal/application_schema.ts +157 -157
  170. package/src/programmers/internal/application_string.ts +44 -44
  171. package/src/programmers/internal/application_templates.ts +25 -25
  172. package/src/programmers/internal/application_tuple.ts +57 -57
  173. package/src/programmers/internal/check_array.ts +30 -30
  174. package/src/programmers/internal/check_array_length.ts +35 -35
  175. package/src/programmers/internal/check_bigint.ts +113 -82
  176. package/src/programmers/internal/check_custom.ts +31 -31
  177. package/src/programmers/internal/check_dynamic_properties.ts +195 -195
  178. package/src/programmers/internal/check_everything.ts +28 -28
  179. package/src/programmers/internal/check_native.ts +21 -21
  180. package/src/programmers/internal/check_number.ts +258 -177
  181. package/src/programmers/internal/check_object.ts +55 -55
  182. package/src/programmers/internal/check_string.ts +25 -25
  183. package/src/programmers/internal/check_string_tags.ts +67 -67
  184. package/src/programmers/internal/check_template.ts +56 -56
  185. package/src/programmers/internal/check_union_array_like.ts +329 -329
  186. package/src/programmers/internal/decode_union_object.ts +73 -73
  187. package/src/programmers/internal/feature_object_entries.ts +63 -63
  188. package/src/programmers/internal/get_comment_tags.ts +23 -23
  189. package/src/programmers/internal/metadata_to_pattern.ts +34 -34
  190. package/src/programmers/internal/prune_object_properties.ts +60 -60
  191. package/src/programmers/internal/random_custom.ts +29 -29
  192. package/src/programmers/internal/stringify_dynamic_properties.ts +171 -171
  193. package/src/programmers/internal/stringify_native.ts +7 -7
  194. package/src/programmers/internal/stringify_regular_properties.ts +83 -83
  195. package/src/programmers/internal/template_to_pattern.ts +15 -15
  196. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +16 -16
  197. package/src/schemas/IJsonApplication.ts +8 -8
  198. package/src/schemas/IJsonComponents.ts +33 -33
  199. package/src/schemas/IJsonSchema.ts +133 -133
  200. package/src/transform.ts +27 -27
  201. package/src/transformers/CallExpressionTransformer.ts +179 -179
  202. package/src/transformers/FileTransformer.ts +47 -47
  203. package/src/transformers/IProject.ts +11 -11
  204. package/src/transformers/ITransformOptions.ts +62 -62
  205. package/src/transformers/ImportTransformer.ts +66 -66
  206. package/src/transformers/NodeTransformer.ts +13 -13
  207. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +112 -112
  208. package/src/transformers/features/miscellaneous/AssertCloneTransformer.ts +9 -9
  209. package/src/transformers/features/miscellaneous/AssertPruneTransformer.ts +9 -9
  210. package/src/transformers/features/miscellaneous/CloneTransformer.ts +9 -9
  211. package/src/transformers/features/miscellaneous/CreateAssertCloneTransformer.ts +9 -9
  212. package/src/transformers/features/miscellaneous/CreateAssertPruneTransformer.ts +9 -9
  213. package/src/transformers/features/miscellaneous/CreateCloneTransformer.ts +9 -9
  214. package/src/transformers/features/miscellaneous/CreateIsCloneTransformer.ts +9 -9
  215. package/src/transformers/features/miscellaneous/CreateIsPruneTransformer.ts +9 -9
  216. package/src/transformers/features/miscellaneous/CreatePruneTransformer.ts +9 -9
  217. package/src/transformers/features/miscellaneous/CreateRandomTransformer.ts +39 -39
  218. package/src/transformers/features/miscellaneous/CreateValidateCloneTransformer.ts +9 -9
  219. package/src/transformers/features/miscellaneous/CreateValidatePruneTransformer.ts +9 -9
  220. package/src/transformers/features/miscellaneous/IsCloneTransformer.ts +9 -9
  221. package/src/transformers/features/miscellaneous/IsPruneTransformer.ts +9 -9
  222. package/src/transformers/features/miscellaneous/LiteralsTransformer.ts +28 -28
  223. package/src/transformers/features/miscellaneous/MetadataTransformer.ts +53 -53
  224. package/src/transformers/features/miscellaneous/PruneTransformer.ts +9 -9
  225. package/src/transformers/features/miscellaneous/RandomTransformer.ts +42 -42
  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 +12 -12
  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 +12 -12
  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 +13 -13
  244. package/src/transformers/features/validators/CreateIsTransformer.ts +11 -11
  245. package/src/transformers/features/validators/CreateValidateTransformer.ts +13 -13
  246. package/src/transformers/features/validators/IsTransformer.ts +11 -11
  247. package/src/transformers/features/validators/ValidateTransformer.ts +11 -11
  248. package/src/transformers/internal/GenericTransformer.ts +97 -97
  249. package/src/typings/Atomic.ts +17 -17
  250. package/src/typings/ClassProperties.ts +5 -5
  251. package/src/typings/Customizable.ts +5 -5
  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 +45 -45
  256. package/src/utils/Escaper.ts +46 -46
  257. package/src/utils/MapUtil.ts +12 -12
  258. package/src/utils/PatternUtil.ts +33 -33
  259. package/src/utils/RandomGenerator.ts +81 -81
  260. package/src/utils/Singleton.ts +17 -17
@@ -1 +1 @@
1
- {"version":3,"file":"application_number.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_number.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application_number.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_number.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
42
  exports.check_bigint = void 0;
43
43
  var typescript_1 = __importDefault(require("typescript"));
44
+ var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
44
45
  var check_custom_1 = require("./check_custom");
45
46
  var check_bigint = function (importer) {
46
47
  return function (metaTags) {
@@ -52,43 +53,49 @@ var check_bigint = function (importer) {
52
53
  try {
53
54
  for (var metaTags_1 = __values(metaTags), metaTags_1_1 = metaTags_1.next(); !metaTags_1_1.done; metaTags_1_1 = metaTags_1.next()) {
54
55
  var tag = metaTags_1_1.value;
55
- if (tag.kind === "multipleOf")
56
+ if (tag.kind === "type" &&
57
+ (tag.value === "uint" || tag.value === "uint64"))
56
58
  entries.push([
57
59
  tag,
58
- typescript_1.default.factory.createStrictEquality(cast(0), typescript_1.default.factory.createModulo(input, cast(tag.value))),
60
+ typescript_1.default.factory.createLessThanEquals(ExpressionFactory_1.ExpressionFactory.bigint(0), input),
61
+ ]);
62
+ else if (tag.kind === "multipleOf")
63
+ entries.push([
64
+ tag,
65
+ typescript_1.default.factory.createStrictEquality(ExpressionFactory_1.ExpressionFactory.bigint(0), typescript_1.default.factory.createModulo(input, ExpressionFactory_1.ExpressionFactory.bigint(tag.value))),
59
66
  ]);
60
67
  else if (tag.kind === "step") {
61
- var modulo = typescript_1.default.factory.createModulo(input, cast(tag.value));
68
+ var modulo = typescript_1.default.factory.createModulo(input, ExpressionFactory_1.ExpressionFactory.bigint(tag.value));
62
69
  var minimum = (_c = (_b = metaTags.find(function (tag) {
63
70
  return tag.kind === "minimum" ||
64
71
  tag.kind === "exclusiveMinimum";
65
72
  })) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : undefined;
66
73
  entries.push([
67
74
  tag,
68
- typescript_1.default.factory.createStrictEquality(cast(0), minimum !== undefined
69
- ? typescript_1.default.factory.createSubtract(modulo, cast(minimum))
75
+ typescript_1.default.factory.createStrictEquality(ExpressionFactory_1.ExpressionFactory.bigint(0), minimum !== undefined
76
+ ? typescript_1.default.factory.createSubtract(modulo, ExpressionFactory_1.ExpressionFactory.bigint(minimum))
70
77
  : modulo),
71
78
  ]);
72
79
  }
73
80
  else if (tag.kind === "minimum")
74
81
  entries.push([
75
82
  tag,
76
- typescript_1.default.factory.createLessThanEquals(cast(tag.value), input),
83
+ typescript_1.default.factory.createLessThanEquals(ExpressionFactory_1.ExpressionFactory.bigint(tag.value), input),
77
84
  ]);
78
85
  else if (tag.kind === "maximum")
79
86
  entries.push([
80
87
  tag,
81
- typescript_1.default.factory.createGreaterThanEquals(cast(tag.value), input),
88
+ typescript_1.default.factory.createGreaterThanEquals(ExpressionFactory_1.ExpressionFactory.bigint(tag.value), input),
82
89
  ]);
83
90
  else if (tag.kind === "exclusiveMinimum")
84
91
  entries.push([
85
92
  tag,
86
- typescript_1.default.factory.createLessThan(cast(tag.value), input),
93
+ typescript_1.default.factory.createLessThan(ExpressionFactory_1.ExpressionFactory.bigint(tag.value), input),
87
94
  ]);
88
95
  else if (tag.kind === "exclusiveMaximum")
89
96
  entries.push([
90
97
  tag,
91
- typescript_1.default.factory.createGreaterThan(cast(tag.value), input),
98
+ typescript_1.default.factory.createGreaterThan(ExpressionFactory_1.ExpressionFactory.bigint(tag.value), input),
92
99
  ]);
93
100
  }
94
101
  }
@@ -114,7 +121,4 @@ var check_bigint = function (importer) {
114
121
  };
115
122
  };
116
123
  exports.check_bigint = check_bigint;
117
- var cast = function (value) {
118
- return typescript_1.default.factory.createIdentifier("".concat(Math.floor(value), "n"));
119
- };
120
124
  //# sourceMappingURL=check_bigint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check_bigint.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_bigint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check_bigint.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_bigint.ts"],"names":[],"mappings":"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"}
@@ -55,15 +55,48 @@ var check_number = function (project, numeric) {
55
55
  for (var metaTags_1 = __values(metaTags), metaTags_1_1 = metaTags_1.next(); !metaTags_1_1.done; metaTags_1_1 = metaTags_1.next()) {
56
56
  var tag = metaTags_1_1.value;
57
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")
58
+ if (tag.value === "int" ||
59
+ tag.value === "uint" ||
60
+ tag.value === "int32" ||
61
+ tag.value === "uint32" ||
62
+ tag.value === "int64" ||
63
+ tag.value === "uint64")
64
+ entries.push([
65
+ tag,
66
+ typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Math.floor"), undefined, [input]), input),
67
+ ]);
68
+ if (tag.value === "uint" ||
69
+ tag.value === "uint32" ||
70
+ tag.value === "uint64")
63
71
  entries.push([
64
72
  tag,
65
73
  typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(0), input),
66
74
  ]);
75
+ if (tag.value === "uint32")
76
+ entries.push([
77
+ tag,
78
+ typescript_1.default.factory.createLessThanEquals(input, typescript_1.default.factory.createNumericLiteral(4294967295)),
79
+ ]);
80
+ else if (tag.value === "uint64")
81
+ entries.push([
82
+ tag,
83
+ typescript_1.default.factory.createLessThanEquals(input, typescript_1.default.factory.createNumericLiteral(18446744073709551615)),
84
+ ]);
85
+ else if (tag.value === "int64")
86
+ entries.push([
87
+ tag,
88
+ typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(-9223372036854775808), input), typescript_1.default.factory.createLessThanEquals(input, typescript_1.default.factory.createNumericLiteral(9223372036854775807))),
89
+ ]);
90
+ else if (tag.value === "int32")
91
+ entries.push([
92
+ tag,
93
+ typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(-2147483648), input), typescript_1.default.factory.createLessThanEquals(input, typescript_1.default.factory.createNumericLiteral(2147483647))),
94
+ ]);
95
+ else if (tag.value === "float")
96
+ entries.push([
97
+ tag,
98
+ typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(-1.175494351e38), input), typescript_1.default.factory.createLessThanEquals(input, typescript_1.default.factory.createNumericLiteral(3.4028235e38))),
99
+ ]);
67
100
  }
68
101
  else if (tag.kind === "multipleOf")
69
102
  entries.push([
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "4.2.3",
3
+ "version": "4.3.0",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -80,7 +80,7 @@
80
80
  "typescript": ">= 4.7.4"
81
81
  },
82
82
  "devDependencies": {
83
- "@fastify/type-provider-typebox": "^3.0.0",
83
+ "@fastify/type-provider-typebox": "^3.5.0",
84
84
  "@trivago/prettier-plugin-sort-imports": "^3.3.0",
85
85
  "@typegoose/typegoose": "^10.1.1",
86
86
  "@types/autocannon": "^7.9.0",
@@ -1,126 +1,126 @@
1
- import { Customizable } from "./typings/Customizable";
2
-
3
- /**
4
- * Map of custom validators.
5
- *
6
- * Map of custom validator functions, storing tag name and type of target value
7
- * as key, and custom validator function as value.
8
- *
9
- * When you want to add a custom validation logic utilizing comment tags, you
10
- * can insert a custom validator function with specific tag name and type of
11
- * the target value like below.
12
- *
13
- * ```ts
14
- * typia.customValidators.insert("powerOf")("number")(
15
- * (text: string) => {
16
- * const denominator: number = Math.log(Number(text));
17
- * return (value: number) => {
18
- * value = Math.log(value) / denominator;
19
- * return value === Math.floor(value);
20
- * };
21
- * }
22
- * );
23
- * typia.customValidators.insert("dollar")("string")(
24
- * () => (value: string) => value.startsWith("$"),
25
- * );
26
- *
27
- * interface TagCustom {
28
- * /**
29
- * * @powerOf 10
30
- * *\/
31
- * powerOf: number;
32
- *
33
- * /**
34
- * * @dollar
35
- * *\/
36
- * dollar: string;
37
- * }
38
- * ```
39
- *
40
- * @author Jeongho Nam - https://github.com/samchon
41
- */
42
- export interface CustomValidatorMap {
43
- /**
44
- * Get number of stored tags.
45
- *
46
- * @return Number of stored tags
47
- */
48
- size(): number;
49
-
50
- /**
51
- * Get number of stored types of the specified tag name.
52
- *
53
- * In other words, number of stored custom validator functions of
54
- * the specified tag name.
55
- *
56
- * @param name Tag name
57
- * @return Number of stored types function
58
- */
59
- size(name: string): number;
60
-
61
- /**
62
- * Test whether custom validator function exists or not.
63
- *
64
- * @param name Tag name
65
- * @param type Type of the target value
66
- * @returns Whether exists or not
67
- */
68
- has: (name: string) => (type: keyof Customizable) => boolean;
69
-
70
- /**
71
- * Get custom validator function.
72
- *
73
- * @param name Tag name
74
- * @param type Type of the target value
75
- * @returns Custom validator function or undefined value
76
- */
77
- get(
78
- name: string,
79
- ): <Type extends keyof Customizable>(
80
- type: Type,
81
- ) => CustomValidatorMap.Closure<Type> | undefined;
82
-
83
- /**
84
- * Insert a new custom validator function.
85
- *
86
- * You can add a custom validation logic utilizing comment tags,
87
- * by inserting a function which returns a boolean value, with specific
88
- * tag name and type of the target value.
89
- *
90
- * However, if you try to insert a duplicated tag name and type, the
91
- * closure function would not be enrolled and `false` value would be
92
- * returned.
93
- *
94
- * @param name Tag name
95
- * @param type Type of the target value
96
- * @param closure Custom validator function
97
- * @returns Whether succeeded to insert or not
98
- */
99
- insert(
100
- name: string,
101
- ): <Type extends keyof Customizable>(
102
- type: Type,
103
- ) => (closure: CustomValidatorMap.Closure<Type>) => boolean;
104
-
105
- /**
106
- * Erase custom validator function.
107
- *
108
- * @param name Tag name
109
- * @param type Type of the target value
110
- * @returns Whether succeeded to erase or not
111
- */
112
- erase(name: string): (type: keyof Customizable) => boolean;
113
- }
114
- export namespace CustomValidatorMap {
115
- /**
116
- * Type of closure function of custom validation.
117
- *
118
- * @template Type Type of the target value
119
- * @param text Text of the tag. For example, if the tag is `@powerOf 10`, `text` is 10.
120
- * @param value Value to validate
121
- * @returns Whether the value is valid or not
122
- */
123
- export type Closure<Type extends keyof Customizable> = (
124
- text: string,
125
- ) => (value: Customizable[Type]) => boolean;
126
- }
1
+ import { Customizable } from "./typings/Customizable";
2
+
3
+ /**
4
+ * Map of custom validators.
5
+ *
6
+ * Map of custom validator functions, storing tag name and type of target value
7
+ * as key, and custom validator function as value.
8
+ *
9
+ * When you want to add a custom validation logic utilizing comment tags, you
10
+ * can insert a custom validator function with specific tag name and type of
11
+ * the target value like below.
12
+ *
13
+ * ```ts
14
+ * typia.customValidators.insert("powerOf")("number")(
15
+ * (text: string) => {
16
+ * const denominator: number = Math.log(Number(text));
17
+ * return (value: number) => {
18
+ * value = Math.log(value) / denominator;
19
+ * return value === Math.floor(value);
20
+ * };
21
+ * }
22
+ * );
23
+ * typia.customValidators.insert("dollar")("string")(
24
+ * () => (value: string) => value.startsWith("$"),
25
+ * );
26
+ *
27
+ * interface TagCustom {
28
+ * /**
29
+ * * @powerOf 10
30
+ * *\/
31
+ * powerOf: number;
32
+ *
33
+ * /**
34
+ * * @dollar
35
+ * *\/
36
+ * dollar: string;
37
+ * }
38
+ * ```
39
+ *
40
+ * @author Jeongho Nam - https://github.com/samchon
41
+ */
42
+ export interface CustomValidatorMap {
43
+ /**
44
+ * Get number of stored tags.
45
+ *
46
+ * @return Number of stored tags
47
+ */
48
+ size(): number;
49
+
50
+ /**
51
+ * Get number of stored types of the specified tag name.
52
+ *
53
+ * In other words, number of stored custom validator functions of
54
+ * the specified tag name.
55
+ *
56
+ * @param name Tag name
57
+ * @return Number of stored types function
58
+ */
59
+ size(name: string): number;
60
+
61
+ /**
62
+ * Test whether custom validator function exists or not.
63
+ *
64
+ * @param name Tag name
65
+ * @param type Type of the target value
66
+ * @returns Whether exists or not
67
+ */
68
+ has: (name: string) => (type: keyof Customizable) => boolean;
69
+
70
+ /**
71
+ * Get custom validator function.
72
+ *
73
+ * @param name Tag name
74
+ * @param type Type of the target value
75
+ * @returns Custom validator function or undefined value
76
+ */
77
+ get(
78
+ name: string,
79
+ ): <Type extends keyof Customizable>(
80
+ type: Type,
81
+ ) => CustomValidatorMap.Closure<Type> | undefined;
82
+
83
+ /**
84
+ * Insert a new custom validator function.
85
+ *
86
+ * You can add a custom validation logic utilizing comment tags,
87
+ * by inserting a function which returns a boolean value, with specific
88
+ * tag name and type of the target value.
89
+ *
90
+ * However, if you try to insert a duplicated tag name and type, the
91
+ * closure function would not be enrolled and `false` value would be
92
+ * returned.
93
+ *
94
+ * @param name Tag name
95
+ * @param type Type of the target value
96
+ * @param closure Custom validator function
97
+ * @returns Whether succeeded to insert or not
98
+ */
99
+ insert(
100
+ name: string,
101
+ ): <Type extends keyof Customizable>(
102
+ type: Type,
103
+ ) => (closure: CustomValidatorMap.Closure<Type>) => boolean;
104
+
105
+ /**
106
+ * Erase custom validator function.
107
+ *
108
+ * @param name Tag name
109
+ * @param type Type of the target value
110
+ * @returns Whether succeeded to erase or not
111
+ */
112
+ erase(name: string): (type: keyof Customizable) => boolean;
113
+ }
114
+ export namespace CustomValidatorMap {
115
+ /**
116
+ * Type of closure function of custom validation.
117
+ *
118
+ * @template Type Type of the target value
119
+ * @param text Text of the tag. For example, if the tag is `@powerOf 10`, `text` is 10.
120
+ * @param value Value to validate
121
+ * @returns Whether the value is valid or not
122
+ */
123
+ export type Closure<Type extends keyof Customizable> = (
124
+ text: string,
125
+ ) => (value: Customizable[Type]) => boolean;
126
+ }
@@ -1,34 +1,34 @@
1
- import { Customizable } from "./typings/Customizable";
2
-
3
- export interface IRandomGenerator {
4
- boolean(): boolean;
5
- integer(minimum?: number, maximum?: number): number;
6
- number(minimum?: number, maximum?: number): number;
7
- bigint(minimum?: bigint, maximum?: bigint): bigint;
8
- string(length?: number): string;
9
- array<T>(closure: (index: number) => T, count?: number): T[];
10
- length(): number;
11
-
12
- uuid(): string;
13
- email(): string;
14
- url(): string;
15
- ipv4(): string;
16
- ipv6(): string;
17
- pattern(regex: RegExp): string;
18
- date(minimum?: number, maximum?: number): string;
19
- datetime(minimum?: number, maximum?: number): string;
20
-
21
- customs?: IRandomGenerator.CustomMap;
22
- }
23
- export namespace IRandomGenerator {
24
- export type CustomMap = {
25
- [Type in keyof Customizable]?: (
26
- tags: ICommentTag[],
27
- ) => Customizable[Type] | undefined;
28
- };
29
-
30
- export interface ICommentTag {
31
- name: string;
32
- value?: string;
33
- }
34
- }
1
+ import { Customizable } from "./typings/Customizable";
2
+
3
+ export interface IRandomGenerator {
4
+ boolean(): boolean;
5
+ integer(minimum?: number, maximum?: number): number;
6
+ number(minimum?: number, maximum?: number): number;
7
+ bigint(minimum?: bigint, maximum?: bigint): bigint;
8
+ string(length?: number): string;
9
+ array<T>(closure: (index: number) => T, count?: number): T[];
10
+ length(): number;
11
+
12
+ uuid(): string;
13
+ email(): string;
14
+ url(): string;
15
+ ipv4(): string;
16
+ ipv6(): string;
17
+ pattern(regex: RegExp): string;
18
+ date(minimum?: number, maximum?: number): string;
19
+ datetime(minimum?: number, maximum?: number): string;
20
+
21
+ customs?: IRandomGenerator.CustomMap;
22
+ }
23
+ export namespace IRandomGenerator {
24
+ export type CustomMap = {
25
+ [Type in keyof Customizable]?: (
26
+ tags: ICommentTag[],
27
+ ) => Customizable[Type] | undefined;
28
+ };
29
+
30
+ export interface ICommentTag {
31
+ name: string;
32
+ value?: string;
33
+ }
34
+ }
@@ -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
+ }