typia 3.6.0-dev.20230219 → 3.6.0-dev.20230225

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 (291) hide show
  1. package/README.md +2 -2
  2. package/lib/IRandomGenerator.d.ts +8 -8
  3. package/lib/Primitive.d.ts +2 -1
  4. package/lib/executable/TypiaGenerateWizard.js +4 -4
  5. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  6. package/lib/executable/setup/ArgumentParser.js +3 -26
  7. package/lib/executable/setup/ArgumentParser.js.map +1 -1
  8. package/lib/executable/setup/FileRetriever.d.ts +5 -0
  9. package/lib/executable/setup/FileRetriever.js +109 -0
  10. package/lib/executable/setup/FileRetriever.js.map +1 -0
  11. package/lib/executable/setup/PackageManager.js +3 -17
  12. package/lib/executable/setup/PackageManager.js.map +1 -1
  13. package/lib/executable/setup/PluginConfigurator.js +2 -25
  14. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  15. package/lib/executable/typia.js +1 -1
  16. package/lib/executable/typia.js.map +1 -1
  17. package/lib/factories/TypeFactory.js +2 -1
  18. package/lib/factories/TypeFactory.js.map +1 -1
  19. package/lib/factories/TypiaFileFactory.d.ts +8 -0
  20. package/lib/{generate/TypiaGenerator.js → factories/TypiaFileFactory.js} +96 -71
  21. package/lib/factories/TypiaFileFactory.js.map +1 -0
  22. package/lib/module.d.ts +7 -7
  23. package/lib/programmers/AssertCloneProgrammer.js +2 -5
  24. package/lib/programmers/AssertCloneProgrammer.js.map +1 -1
  25. package/lib/programmers/AssertParseProgrammer.js +1 -4
  26. package/lib/programmers/AssertParseProgrammer.js.map +1 -1
  27. package/lib/programmers/AssertProgrammer.js +13 -12
  28. package/lib/programmers/AssertProgrammer.js.map +1 -1
  29. package/lib/programmers/AssertPruneProgrammer.js +1 -2
  30. package/lib/programmers/AssertPruneProgrammer.js.map +1 -1
  31. package/lib/programmers/AssertStringifyProgrammer.js +1 -2
  32. package/lib/programmers/AssertStringifyProgrammer.js.map +1 -1
  33. package/lib/programmers/CheckerProgrammer.d.ts +2 -2
  34. package/lib/programmers/CheckerProgrammer.js +16 -16
  35. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  36. package/lib/programmers/CloneProgrammer.d.ts +1 -1
  37. package/lib/programmers/CloneProgrammer.js +26 -18
  38. package/lib/programmers/CloneProgrammer.js.map +1 -1
  39. package/lib/programmers/FeatureProgrammer.d.ts +9 -5
  40. package/lib/programmers/FeatureProgrammer.js +39 -32
  41. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  42. package/lib/programmers/IsCloneProgrammer.js +1 -4
  43. package/lib/programmers/IsCloneProgrammer.js.map +1 -1
  44. package/lib/programmers/IsParseProgrammer.js +1 -4
  45. package/lib/programmers/IsParseProgrammer.js.map +1 -1
  46. package/lib/programmers/IsProgrammer.d.ts +1 -1
  47. package/lib/programmers/IsProgrammer.js +1 -1
  48. package/lib/programmers/IsProgrammer.js.map +1 -1
  49. package/lib/programmers/IsPruneProgrammer.js +1 -2
  50. package/lib/programmers/IsPruneProgrammer.js.map +1 -1
  51. package/lib/programmers/IsStringifyProgrammer.js +1 -2
  52. package/lib/programmers/IsStringifyProgrammer.js.map +1 -1
  53. package/lib/programmers/PruneProgrammer.d.ts +1 -1
  54. package/lib/programmers/PruneProgrammer.js +17 -12
  55. package/lib/programmers/PruneProgrammer.js.map +1 -1
  56. package/lib/programmers/RandomProgrammer.js +64 -58
  57. package/lib/programmers/RandomProgrammer.js.map +1 -1
  58. package/lib/programmers/StringifyProgrammer.d.ts +1 -1
  59. package/lib/programmers/StringifyProgrammer.js +17 -12
  60. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  61. package/lib/programmers/ValidateCloneProgrammer.js +1 -6
  62. package/lib/programmers/ValidateCloneProgrammer.js.map +1 -1
  63. package/lib/programmers/ValidateParseProgrammer.js +1 -6
  64. package/lib/programmers/ValidateParseProgrammer.js.map +1 -1
  65. package/lib/programmers/ValidateProgrammer.js +10 -15
  66. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  67. package/lib/programmers/ValidatePruneProgrammer.js +1 -4
  68. package/lib/programmers/ValidatePruneProgrammer.js.map +1 -1
  69. package/lib/programmers/ValidateStringifyProgrammer.js +2 -5
  70. package/lib/programmers/ValidateStringifyProgrammer.js.map +1 -1
  71. package/lib/programmers/helpers/CloneJoiner.js +5 -4
  72. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  73. package/lib/programmers/helpers/FunctionImporeter.d.ts +4 -0
  74. package/lib/programmers/helpers/FunctionImporeter.js +12 -0
  75. package/lib/programmers/helpers/FunctionImporeter.js.map +1 -1
  76. package/lib/programmers/helpers/RandomJoiner.d.ts +2 -2
  77. package/lib/programmers/helpers/RandomJoiner.js +60 -49
  78. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  79. package/lib/programmers/helpers/RandomRanger.d.ts +1 -1
  80. package/lib/programmers/helpers/RandomRanger.js +22 -20
  81. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  82. package/lib/programmers/internal/check_union_array_like.js +6 -2
  83. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  84. package/lib/programmers/internal/stringify_dynamic_properties.js +1 -1
  85. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  86. package/lib/transformers/ImportTransformer.d.ts +4 -0
  87. package/lib/transformers/ImportTransformer.js +51 -0
  88. package/lib/transformers/ImportTransformer.js.map +1 -0
  89. package/package.json +2 -2
  90. package/src/IRandomGenerator.ts +16 -16
  91. package/src/IValidation.ts +21 -21
  92. package/src/Primitive.ts +104 -82
  93. package/src/TypeGuardError.ts +36 -36
  94. package/src/executable/TypiaGenerateWizard.ts +87 -86
  95. package/src/executable/TypiaSetupWizard.ts +142 -142
  96. package/src/executable/setup/ArgumentParser.ts +91 -89
  97. package/src/executable/setup/CommandExecutor.ts +8 -8
  98. package/src/executable/setup/FileRetriever.ts +33 -0
  99. package/src/executable/setup/PackageManager.ts +92 -99
  100. package/src/executable/setup/PluginConfigurator.ts +99 -97
  101. package/src/executable/typia.ts +38 -38
  102. package/src/factories/CommentFactory.ts +10 -10
  103. package/src/factories/ExpressionFactory.ts +77 -77
  104. package/src/factories/IdentifierFactory.ts +73 -73
  105. package/src/factories/LiteralFactory.ts +44 -44
  106. package/src/factories/MetadataCollection.ts +122 -122
  107. package/src/factories/MetadataFactory.ts +51 -51
  108. package/src/factories/MetadataTagFactory.ts +265 -265
  109. package/src/factories/StatementFactory.ts +60 -60
  110. package/src/factories/TemplateFactory.ts +56 -56
  111. package/src/factories/TypeFactory.ts +129 -129
  112. package/src/factories/TypiaFileFactory.ts +117 -0
  113. package/src/factories/ValueFactory.ts +12 -12
  114. package/src/factories/internal/metadata/MetadataHelper.ts +12 -12
  115. package/src/factories/internal/metadata/emplace_metadata_object.ts +140 -140
  116. package/src/factories/internal/metadata/explore_metadata.ts +92 -92
  117. package/src/factories/internal/metadata/iterate_metadata.ts +80 -80
  118. package/src/factories/internal/metadata/iterate_metadata_array.ts +29 -29
  119. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +59 -59
  120. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +33 -33
  121. package/src/factories/internal/metadata/iterate_metadata_constant.ts +58 -58
  122. package/src/factories/internal/metadata/iterate_metadata_map.ts +41 -41
  123. package/src/factories/internal/metadata/iterate_metadata_native.ts +222 -222
  124. package/src/factories/internal/metadata/iterate_metadata_object.ts +48 -48
  125. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +27 -27
  126. package/src/factories/internal/metadata/iterate_metadata_set.ts +33 -33
  127. package/src/factories/internal/metadata/iterate_metadata_template.ts +38 -38
  128. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +45 -45
  129. package/src/factories/internal/metadata/iterate_metadata_union.ts +59 -59
  130. package/src/functional/$any.ts +3 -3
  131. package/src/functional/$every.ts +11 -11
  132. package/src/functional/$guard.ts +35 -35
  133. package/src/functional/$is_between.ts +7 -7
  134. package/src/functional/$is_email.ts +5 -5
  135. package/src/functional/$is_ipv4.ts +5 -5
  136. package/src/functional/$is_ipv6.ts +5 -5
  137. package/src/functional/$is_url.ts +5 -5
  138. package/src/functional/$is_uuid.ts +5 -5
  139. package/src/functional/$join.ts +50 -50
  140. package/src/functional/$number.ts +12 -12
  141. package/src/functional/$report.ts +15 -15
  142. package/src/functional/$rest.ts +3 -3
  143. package/src/functional/$string.ts +37 -37
  144. package/src/functional/$tail.ts +6 -6
  145. package/src/functional/Namespace.ts +121 -121
  146. package/src/index.ts +4 -4
  147. package/src/metadata/IJsDocTagInfo.ts +10 -10
  148. package/src/metadata/IMetadata.ts +25 -25
  149. package/src/metadata/IMetadataApplication.ts +7 -7
  150. package/src/metadata/IMetadataConstant.ts +16 -16
  151. package/src/metadata/IMetadataEntry.ts +6 -6
  152. package/src/metadata/IMetadataObject.ts +29 -29
  153. package/src/metadata/IMetadataProperty.ts +11 -11
  154. package/src/metadata/IMetadataTag.ts +113 -113
  155. package/src/metadata/Metadata.ts +534 -534
  156. package/src/metadata/MetadataConstant.ts +3 -3
  157. package/src/metadata/MetadataObject.ts +131 -131
  158. package/src/metadata/MetadataProperty.ts +64 -64
  159. package/src/module.ts +1946 -1946
  160. package/src/programmers/ApplicationProgrammer.ts +55 -55
  161. package/src/programmers/AssertCloneProgrammer.ts +71 -79
  162. package/src/programmers/AssertParseProgrammer.ts +66 -67
  163. package/src/programmers/AssertProgrammer.ts +232 -248
  164. package/src/programmers/AssertPruneProgrammer.ts +67 -66
  165. package/src/programmers/AssertStringifyProgrammer.ts +71 -75
  166. package/src/programmers/CheckerProgrammer.ts +892 -883
  167. package/src/programmers/CloneProgrammer.ts +387 -365
  168. package/src/programmers/FeatureProgrammer.ts +505 -490
  169. package/src/programmers/IsCloneProgrammer.ts +80 -81
  170. package/src/programmers/IsParseProgrammer.ts +75 -76
  171. package/src/programmers/IsProgrammer.ts +200 -200
  172. package/src/programmers/IsPruneProgrammer.ts +75 -77
  173. package/src/programmers/IsStringifyProgrammer.ts +80 -82
  174. package/src/programmers/PruneProgrammer.ts +341 -330
  175. package/src/programmers/RandomProgrammer.ts +392 -381
  176. package/src/programmers/StringifyProgrammer.ts +795 -784
  177. package/src/programmers/ValidateCloneProgrammer.ts +91 -94
  178. package/src/programmers/ValidateParseProgrammer.ts +70 -73
  179. package/src/programmers/ValidateProgrammer.ts +267 -277
  180. package/src/programmers/ValidatePruneProgrammer.ts +84 -85
  181. package/src/programmers/ValidateStringifyProgrammer.ts +88 -92
  182. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  183. package/src/programmers/helpers/CloneJoiner.ts +134 -124
  184. package/src/programmers/helpers/FunctionImporeter.ts +55 -40
  185. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  186. package/src/programmers/helpers/OptionPredicator.ts +19 -19
  187. package/src/programmers/helpers/PruneJoiner.ts +52 -52
  188. package/src/programmers/helpers/RandomJoiner.ts +149 -140
  189. package/src/programmers/helpers/RandomRanger.ts +216 -215
  190. package/src/programmers/helpers/StringifyJoinder.ts +114 -114
  191. package/src/programmers/helpers/StringifyPredicator.ts +18 -18
  192. package/src/programmers/helpers/UnionExplorer.ts +274 -274
  193. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  194. package/src/programmers/internal/application_array.ts +37 -37
  195. package/src/programmers/internal/application_boolean.ts +17 -17
  196. package/src/programmers/internal/application_constant.ts +29 -29
  197. package/src/programmers/internal/application_default.ts +17 -17
  198. package/src/programmers/internal/application_default_string.ts +32 -32
  199. package/src/programmers/internal/application_native.ts +29 -29
  200. package/src/programmers/internal/application_number.ts +70 -70
  201. package/src/programmers/internal/application_object.ts +153 -153
  202. package/src/programmers/internal/application_schema.ts +184 -184
  203. package/src/programmers/internal/application_string.ts +41 -41
  204. package/src/programmers/internal/application_templates.ts +27 -27
  205. package/src/programmers/internal/application_tuple.ts +29 -29
  206. package/src/programmers/internal/check_array.ts +22 -22
  207. package/src/programmers/internal/check_array_length.ts +44 -44
  208. package/src/programmers/internal/check_bigint.ts +64 -64
  209. package/src/programmers/internal/check_dynamic_properties.ts +197 -197
  210. package/src/programmers/internal/check_everything.ts +28 -28
  211. package/src/programmers/internal/check_native.ts +21 -21
  212. package/src/programmers/internal/check_number.ts +145 -145
  213. package/src/programmers/internal/check_object.ts +48 -48
  214. package/src/programmers/internal/check_string.ts +24 -24
  215. package/src/programmers/internal/check_string_tags.ts +63 -63
  216. package/src/programmers/internal/check_template.ts +50 -50
  217. package/src/programmers/internal/check_union_array_like.ts +260 -250
  218. package/src/programmers/internal/check_union_tuple.ts +33 -33
  219. package/src/programmers/internal/decode_union_object.ts +73 -73
  220. package/src/programmers/internal/feature_object_entries.ts +59 -59
  221. package/src/programmers/internal/metadata_to_pattern.ts +31 -31
  222. package/src/programmers/internal/prune_object_properties.ts +60 -60
  223. package/src/programmers/internal/stringify_dynamic_properties.ts +165 -164
  224. package/src/programmers/internal/stringify_native.ts +8 -8
  225. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  226. package/src/programmers/internal/template_to_pattern.ts +15 -15
  227. package/src/schemas/IJsonApplication.ts +9 -9
  228. package/src/schemas/IJsonComponents.ts +26 -26
  229. package/src/schemas/IJsonSchema.ts +127 -127
  230. package/src/transform.ts +21 -21
  231. package/src/transformers/CallExpressionTransformer.ts +172 -172
  232. package/src/transformers/ExpressionWithArgumentTransformer.ts +66 -66
  233. package/src/transformers/FileTransformer.ts +49 -49
  234. package/src/transformers/IProject.ts +11 -11
  235. package/src/transformers/ITransformOptions.ts +62 -62
  236. package/src/transformers/ImportTransformer.ts +60 -0
  237. package/src/transformers/NodeTransformer.ts +19 -19
  238. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +120 -120
  239. package/src/transformers/features/miscellaneous/AssertCloneTransformer.ts +38 -38
  240. package/src/transformers/features/miscellaneous/AssertPruneTransformer.ts +38 -38
  241. package/src/transformers/features/miscellaneous/CloneTransformer.ts +46 -46
  242. package/src/transformers/features/miscellaneous/CreateAssertCloneTransformer.ts +32 -32
  243. package/src/transformers/features/miscellaneous/CreateAssertPruneTransformer.ts +32 -32
  244. package/src/transformers/features/miscellaneous/CreateCloneTransformer.ts +31 -31
  245. package/src/transformers/features/miscellaneous/CreateIsCloneTransformer.ts +32 -32
  246. package/src/transformers/features/miscellaneous/CreateIsPruneTransformer.ts +32 -32
  247. package/src/transformers/features/miscellaneous/CreatePruneTransformer.ts +31 -31
  248. package/src/transformers/features/miscellaneous/CreateRandomGenerator.ts +39 -39
  249. package/src/transformers/features/miscellaneous/CreateValidateCloneTransformer.ts +32 -32
  250. package/src/transformers/features/miscellaneous/CreateValidatePruneTransformer.ts +32 -32
  251. package/src/transformers/features/miscellaneous/IsCloneTransformer.ts +38 -38
  252. package/src/transformers/features/miscellaneous/IsPruneTransformer.ts +38 -38
  253. package/src/transformers/features/miscellaneous/MetadataTransformer.ts +55 -55
  254. package/src/transformers/features/miscellaneous/PruneTransformer.ts +46 -46
  255. package/src/transformers/features/miscellaneous/RandomTransformer.ts +45 -45
  256. package/src/transformers/features/miscellaneous/ValidateCloneTransformer.ts +38 -38
  257. package/src/transformers/features/miscellaneous/ValidatePruneTransformer.ts +38 -38
  258. package/src/transformers/features/parsers/AssertParseTransformer.ts +36 -36
  259. package/src/transformers/features/parsers/CreateAssertParseTransformer.ts +32 -32
  260. package/src/transformers/features/parsers/CreateIsParseTransformer.ts +32 -32
  261. package/src/transformers/features/parsers/CreateValidateParseTransformer.ts +32 -32
  262. package/src/transformers/features/parsers/IsParseTransformer.ts +36 -36
  263. package/src/transformers/features/parsers/ValidateParseTransformer.ts +36 -36
  264. package/src/transformers/features/stringifiers/AssertStringifyTransformer.ts +38 -38
  265. package/src/transformers/features/stringifiers/CreateAssertStringifyTransformer.ts +32 -32
  266. package/src/transformers/features/stringifiers/CreateIsStringifyTransformer.ts +32 -32
  267. package/src/transformers/features/stringifiers/CreateStringifyTransformer.ts +31 -31
  268. package/src/transformers/features/stringifiers/CreateValidateStringifyProgrammer.ts +32 -32
  269. package/src/transformers/features/stringifiers/IsStringifyTransformer.ts +38 -38
  270. package/src/transformers/features/stringifiers/StringifyTransformer.ts +46 -46
  271. package/src/transformers/features/stringifiers/ValidateStringifyTransformer.ts +38 -38
  272. package/src/transformers/features/validators/AssertTransformer.ts +43 -43
  273. package/src/transformers/features/validators/CreateAssertTransformer.ts +35 -35
  274. package/src/transformers/features/validators/CreateIsTransformer.ts +35 -35
  275. package/src/transformers/features/validators/CreateValidateTransformer.ts +35 -35
  276. package/src/transformers/features/validators/IsTransformer.ts +43 -43
  277. package/src/transformers/features/validators/ValidateTransformer.ts +43 -43
  278. package/src/typings/Atomic.ts +17 -17
  279. package/src/typings/ClassProperties.ts +5 -5
  280. package/src/typings/OmitNever.ts +3 -3
  281. package/src/typings/SpecialFields.ts +3 -3
  282. package/src/typings/Writable.ts +11 -11
  283. package/src/utils/ArrayUtil.ts +49 -49
  284. package/src/utils/Escaper.ts +50 -50
  285. package/src/utils/MapUtil.ts +14 -14
  286. package/src/utils/PatternUtil.ts +30 -30
  287. package/src/utils/RandomGenerator.ts +90 -90
  288. package/src/utils/Singleton.ts +17 -17
  289. package/lib/generate/TypiaGenerator.d.ts +0 -8
  290. package/lib/generate/TypiaGenerator.js.map +0 -1
  291. package/src/generate/TypiaGenerator.ts +0 -126
@@ -1 +1 @@
1
- {"version":3,"file":"RandomJoiner.js","sourceRoot":"","sources":["../../../src/programmers/helpers/RandomJoiner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RandomJoiner.js","sourceRoot":"","sources":["../../../src/programmers/helpers/RandomJoiner.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare namespace RandomRanger {
6
6
  maximum: number;
7
7
  gap: number;
8
8
  }
9
- const length: (defs: IDefaults) => (acc: length.IAccessors) => (tags: IMetadataTag[]) => ts.NumericLiteral | ts.CallExpression | undefined;
9
+ const length: (coalesce: (method: string) => ts.Expression) => (defs: IDefaults) => (acc: length.IAccessors) => (tags: IMetadataTag[]) => ts.NumericLiteral | ts.CallExpression | undefined;
10
10
  namespace length {
11
11
  interface IAccessors {
12
12
  minimum: IMetadataTag["kind"];
@@ -7,27 +7,29 @@ exports.RandomRanger = void 0;
7
7
  var typescript_1 = __importDefault(require("typescript"));
8
8
  var RandomRanger;
9
9
  (function (RandomRanger) {
10
- RandomRanger.length = function (defs) {
11
- return function (acc) {
12
- return function (tags) {
13
- var _a, _b;
14
- var props = {
15
- fixed: getter(tags)(acc.fixed),
16
- minimum: getter(tags)(acc.minimum),
17
- maximum: getter(tags)(acc.maximum),
10
+ RandomRanger.length = function (coalesce) {
11
+ return function (defs) {
12
+ return function (acc) {
13
+ return function (tags) {
14
+ var _a, _b;
15
+ var props = {
16
+ fixed: getter(tags)(acc.fixed),
17
+ minimum: getter(tags)(acc.minimum),
18
+ maximum: getter(tags)(acc.maximum),
19
+ };
20
+ if (props.fixed !== undefined)
21
+ return typescript_1.default.factory.createNumericLiteral(props.fixed);
22
+ else if (props.minimum === undefined && props.maximum === undefined)
23
+ return undefined;
24
+ (_a = props.minimum) !== null && _a !== void 0 ? _a : (props.minimum = defs.minimum);
25
+ (_b = props.maximum) !== null && _b !== void 0 ? _b : (props.maximum = defs.maximum);
26
+ if (props.maximum <= props.minimum)
27
+ props.maximum += defs.gap;
28
+ return typescript_1.default.factory.createCallExpression(coalesce("integer"), undefined, [
29
+ typescript_1.default.factory.createNumericLiteral(props.minimum),
30
+ typescript_1.default.factory.createNumericLiteral(props.maximum),
31
+ ]);
18
32
  };
19
- if (props.fixed !== undefined)
20
- return typescript_1.default.factory.createNumericLiteral(props.fixed);
21
- else if (props.minimum === undefined && props.maximum === undefined)
22
- return undefined;
23
- (_a = props.minimum) !== null && _a !== void 0 ? _a : (props.minimum = defs.minimum);
24
- (_b = props.maximum) !== null && _b !== void 0 ? _b : (props.maximum = defs.maximum);
25
- if (props.maximum <= props.minimum)
26
- props.maximum += defs.gap;
27
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("generator.integer"), undefined, [
28
- typescript_1.default.factory.createNumericLiteral(props.minimum),
29
- typescript_1.default.factory.createNumericLiteral(props.maximum),
30
- ]);
31
33
  };
32
34
  };
33
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RandomRanger.js","sourceRoot":"","sources":["../../../src/programmers/helpers/RandomRanger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RandomRanger.js","sourceRoot":"","sources":["../../../src/programmers/helpers/RandomRanger.ts"],"names":[],"mappings":"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"}
@@ -51,8 +51,12 @@ var check_union_array_like = function (accessor) {
51
51
  return props.decoder(accessor.array(input), targets[0], explore, tags);
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
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("top")], undefined, undefined, props.checker(typescript_1.default.factory.createIdentifier("top"), meta, __assign(__assign({}, explore), { tracable: false, postfix: "\"[0]\"" }), tags, input)),
55
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("top")], undefined, undefined, props.decoder(typescript_1.default.factory.createIdentifier("top"), meta, __assign(__assign({}, explore), { tracable: true }), tags)),
54
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [
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)),
57
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [
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)),
56
60
  ]);
57
61
  })));
58
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,qEAAoE;AACpE,2DAA0D;AAQnD,IAAM,sBAAsB,GAC/B,UAAI,QAA6C;IACjD,OAAA,UAAC,KAAuC;QACxC,OAAA,UACI,KAAoB,EACpB,OAAY,EACZ,OAAmC,EACnC,IAAoB;YAGpB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBACpB,OAAO,KAAK,CAAC,OAAO,CAChB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EACrB,OAAO,CAAC,CAAC,CAAE,EACX,OAAO,EACP,IAAI,CACP,CAAC;YAMN,IAAM,iBAAiB,GACnB,mCAAgB,CAAC,QAAQ,CACrB,WAAW,EACX,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CACnC,OAAO,CAAC,GAAG,CAAC,UAAC,IAAI;gBACb,OAAA,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC;oBACpC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;wBACI,qCAAiB,CAAC,SAAS,CACvB,KAAK,EACL,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B;qBACJ,EACD,SAAS,EACT,SAAS,EACT,KAAK,CAAC,OAAO,CACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAClC,IAAI,wBAEG,OAAO,KACV,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,SAAO,KAEpB,IAAI,EACJ,KAAK,CACR,CACJ;oBACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;wBACI,qCAAiB,CAAC,SAAS,CACvB,KAAK,EACL,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B;qBACJ,EACD,SAAS,EACT,SAAS,EACT,KAAK,CAAC,OAAO,CACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAClC,IAAI,wBAEG,OAAO,KACV,QAAQ,EAAE,IAAI,KAElB,IAAI,CACP,CACJ;iBACJ,CAAC;YA7CF,CA6CE,CACL,CACJ,CACJ,CAAC;YAGN,IAAM,gBAAgB,GAAG,mCAAgB,CAAC,QAAQ,CAC9C,UAAU,EACV,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,EAC/C,SAAS,EACT;gBACI,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,KAAK,CAAC,OAAO,EACb,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACvC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ;aACJ,CACJ,CACJ,CAAC;YAMF,IAAM,eAAe,GAAG,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CAChD,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CACjD,EACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAC7C,SAAS,EACT,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAC1B,CACJ,CACJ,CAAC;YAGF,IAAM,cAAc,GAAG,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,CAAC,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,EAC/C,oBAAE,CAAC,SAAS,CAAC,KAAK,CACrB,EAED,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACvC,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,IAAI,CAClB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,OAAO,CACV,EACD,SAAS,EACT;gBACI,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;oBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B;iBACJ,EACD,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,KAAK,CAAC,OAAO,EACb,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACvC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ;aACJ,CACJ,EACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACvC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ,CACJ,CAAC;YACF,IAAM,cAAc,GAAG,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CAC/C,oBAAE,CAAC,OAAO,CAAC,cAAc,CACrB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CACjD,EACD,cAAc,CACjB,CAAC;YAEF,IAAM,KAAK,0CAEJ,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;gBACtB,CAAC,CAAC;oBACI,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CACvB,EACD,oBAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;wBAC7B,CAAC,CAAC,KAAK,CAAC,KAAK;wBACb,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CACtD;iBACJ;gBACH,CAAC,CAAC,EAAE,CAAC;gBAGT,iBAAiB;gBACjB,mCAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzD,gBAAgB;gBAChB,eAAe;gBAGf,mCAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzD,cAAc;gBACd,KAAK,CAAC,OAAO,CACT,KAAK,EACL,WAAI,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAhB,CAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAG,EACvD,OAAO,CACV;qBACJ,CAAC;YAEF,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CACtC,EACD,SAAS,EACT,SAAS,CACZ,CAAC;QACN,CAAC;IA1ND,CA0NC;AA3ND,CA2NC,CAAC;AA7NO,QAAA,sBAAsB,0BA6N7B"}
@@ -30,7 +30,7 @@ function stringify_dynamic_properties(dynamic, regular) {
30
30
  IdentifierFactory_1.IdentifierFactory.parameter(typescript_1.default.factory.createArrayBindingPattern([
31
31
  typescript_1.default.factory.createBindingElement(undefined, undefined, "key"),
32
32
  typescript_1.default.factory.createBindingElement(undefined, undefined, "value"),
33
- ])),
33
+ ]), typescript_1.default.factory.createTypeReferenceNode("[string, any]")),
34
34
  ], undefined, undefined, typescript_1.default.factory.createBlock(statements)),
35
35
  ]);
36
36
  var filtered = typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(mapped, "filter"), undefined, [
@@ -1 +1 @@
1
- {"version":3,"file":"stringify_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_dynamic_properties.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,mEAAkE;AAGlE,6DAA4D;AAK5D,SAAgB,4BAA4B,CACxC,OAA0C,EAC1C,OAAiB;;IAGjB,IAAM,UAAU,GAAmB;QAC/B,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CACvC,EACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,CACrC,CACJ;KACJ,CAAC;IAGF,IAAM,MAAM,GAAG;QACX,IAAM,MAAM,GAAG,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC1C,qCAAiB,CAAC,IAAI,CAClB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAC7C,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,KAAK,CACR,EACD,SAAS,EACT;YACI,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;gBACI,qCAAiB,CAAC,SAAS,CACvB,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC;oBACjC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,SAAS,EACT,SAAS,EACT,KAAK,CACR;oBACD,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,SAAS,EACT,SAAS,EACT,OAAO,CACV;iBACJ,CAAC,CACL;aACJ,EACD,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CACrC;SACJ,CACJ,CAAC;QACF,IAAM,QAAQ,GAAG,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC5C,qCAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,SAAS,EACT;YACI,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EACpC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CACrC,CACJ;SACJ,CACJ,CAAC;QACF,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,qCAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EACxC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CACxC,CAAC;IACN,CAAC,CAAC;IAGF,IAAI,OAAO,CAAC,MAAM;QACd,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,IAAI,CAClB,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CACnC,OAAO,CAAC,GAAG,CAAC,UAAC,GAAG;YACZ,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC;QAAnC,CAAmC,CACtC,CACJ,EACD,MAAM,CACT,EACD,SAAS,EACT;YACI,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EACxC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACtC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CACrC,CACJ;SACJ,CACJ,EACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,CACrC,CACJ,CACJ,CAAC;IAGN,IAAM,MAAM,GACR,OAAO,CAAC,MAAM,KAAK,CAAC;QACpB,OAAO,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;QAC5B,OAAO,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;IAC5C,IAAI,MAAM,KAAK,IAAI,EAAE;QACjB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;QACxC,OAAO,MAAM,EAAE,CAAC;KACnB;;QAGD,KAAoB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA,qDAAE;YAAxB,IAAM,KAAK,oBAAA;YACZ,IAAM,SAAS,GAAmB,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CAC1D,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,kBAAW,IAAA,yCAAmB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,YAAS,CAC3D,EACD,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CACvC,EACD,SAAS,CAAC,KAAK,CAAC,CACnB,CAAC;YACF,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC9B;;;;;;;;;IACD,OAAO,MAAM,EAAE,CAAC;AACpB,CAAC;AA1ID,oEA0IC;AAED,SAAS,SAAS,CAAC,KAAsC;IACrD,OAAO,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CACnC,iCAAe,CAAC,QAAQ,CAAC;QACrB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAC7C,EAAE,EACF,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CACvC;QACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC;QACnC,KAAK,CAAC,UAAU;KACnB,CAAC,CACL,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"stringify_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_dynamic_properties.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import ts from "typescript";
2
+ export declare namespace ImportTransformer {
3
+ const transform: (from: string) => (to: string) => (context: ts.TransformationContext) => (file: ts.SourceFile) => ts.SourceFile;
4
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ImportTransformer = void 0;
7
+ var path_1 = __importDefault(require("path"));
8
+ var typescript_1 = __importDefault(require("typescript"));
9
+ var ImportTransformer;
10
+ (function (ImportTransformer) {
11
+ ImportTransformer.transform = function (from) {
12
+ return function (to) {
13
+ return function (context) {
14
+ return function (file) {
15
+ return transform_file(from)(to)(context)(file);
16
+ };
17
+ };
18
+ };
19
+ };
20
+ var transform_file = function (top) {
21
+ return function (to) {
22
+ return function (context) {
23
+ return function (file) {
24
+ if (file.isDeclarationFile)
25
+ return file;
26
+ var from = get_directory_path(path_1.default.resolve(file.getSourceFile().fileName));
27
+ to = from.replace(top, to);
28
+ return typescript_1.default.visitEachChild(file, function (node) { return transform_node(top)(from)(to)(node); }, context);
29
+ };
30
+ };
31
+ };
32
+ };
33
+ var transform_node = function (top) { return function (from) { return function (to) { return function (node) {
34
+ if (!typescript_1.default.isImportDeclaration(node) ||
35
+ !typescript_1.default.isStringLiteral(node.moduleSpecifier))
36
+ return node;
37
+ var text = node.moduleSpecifier.text;
38
+ if (text[0] !== ".")
39
+ return node;
40
+ var location = path_1.default.resolve(from, text);
41
+ if (location.indexOf(top) === 0)
42
+ return node;
43
+ return typescript_1.default.factory.createImportDeclaration(undefined, node.importClause, typescript_1.default.factory.createStringLiteral(path_1.default.relative(to, location).split(path_1.default.sep).join("/")), node.assertClause);
44
+ }; }; }; };
45
+ })(ImportTransformer = exports.ImportTransformer || (exports.ImportTransformer = {}));
46
+ var get_directory_path = function (file) {
47
+ var splitted = path_1.default.resolve(file).split(path_1.default.sep);
48
+ splitted.pop();
49
+ return path_1.default.resolve(splitted.join(path_1.default.sep));
50
+ };
51
+ //# sourceMappingURL=ImportTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImportTransformer.js","sourceRoot":"","sources":["../../src/transformers/ImportTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAwB;AACxB,0DAA4B;AAE5B,IAAiB,iBAAiB,CAkDjC;AAlDD,WAAiB,iBAAiB;IACjB,2BAAS,GAClB,UAAC,IAAY;QACb,OAAA,UAAC,EAAU;YACX,OAAA,UAAC,OAAiC;gBAClC,OAAA,UAAC,IAAmB;oBAChB,OAAA,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;gBAAvC,CAAuC;YAD3C,CAC2C;QAF3C,CAE2C;IAH3C,CAG2C,CAAC;IAEhD,IAAM,cAAc,GAChB,UAAC,GAAW;QACZ,OAAA,UAAC,EAAU;YACX,OAAA,UAAC,OAAiC;gBAClC,OAAA,UAAC,IAAmB;oBAChB,IAAI,IAAI,CAAC,iBAAiB;wBAAE,OAAO,IAAI,CAAC;oBAExC,IAAM,IAAI,GAAW,kBAAkB,CACnC,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAC9C,CAAC;oBACF,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAE3B,OAAO,oBAAE,CAAC,cAAc,CACpB,IAAI,EACJ,UAAC,IAAI,IAAK,OAAA,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAnC,CAAmC,EAC7C,OAAO,CACV,CAAC;gBACN,CAAC;YAbD,CAaC;QAdD,CAcC;IAfD,CAeC,CAAC;IAEN,IAAM,cAAc,GAChB,UAAC,GAAW,IAAK,OAAA,UAAC,IAAY,IAAK,OAAA,UAAC,EAAU,IAAK,OAAA,UAAC,IAAa;QAC7D,IACI,CAAC,oBAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC7B,CAAC,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC;YAEzC,OAAO,IAAI,CAAC;QAEhB,IAAM,IAAI,GAAW,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAC/C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAEjC,IAAM,QAAQ,GAAW,cAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE7C,OAAO,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACrC,SAAS,EACT,IAAI,CAAC,YAAY,EACjB,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,cAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACxD,EACD,IAAI,CAAC,YAAY,CACpB,CAAC;IACN,CAAC,EArBkD,CAqBlD,EArBkC,CAqBlC,EArBgB,CAqBhB,CAAC;AACV,CAAC,EAlDgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAkDjC;AAED,IAAM,kBAAkB,GAAG,UAAC,IAAY;IACpC,IAAM,QAAQ,GAAa,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,QAAQ,CAAC,GAAG,EAAE,CAAC;IACf,OAAO,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "3.6.0-dev.20230219",
3
+ "version": "3.6.0-dev.20230225",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -110,7 +110,7 @@
110
110
  "suppress-warnings": "^1.0.2",
111
111
  "ts-node": "^10.9.1",
112
112
  "ttypescript": "^1.5.15",
113
- "typescript": "^4.9.4",
113
+ "typescript": "^4.9.5",
114
114
  "typescript-transform-paths": "^3.4.6",
115
115
  "uuid": "^8.3.2",
116
116
  "zod": "^3.19.1"
@@ -1,16 +1,16 @@
1
- export interface IRandomGenerator {
2
- boolean(): boolean;
3
- int(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?(): string;
16
- }
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(): string;
16
+ }
@@ -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
+ }
package/src/Primitive.ts CHANGED
@@ -1,82 +1,104 @@
1
- /**
2
- * Primitive type.
3
- *
4
- * `Primitive` is a type of TMP (Type Meta Programming) type who converts its argument as a
5
- * primitive type.
6
- *
7
- * If the target argument is a built-in class who returns its origin primitive type through
8
- * the `valueOf()` method like the `String` or `Number`, its return type would be the
9
- * `string` or `number`.
10
- *
11
- * Otherwise, the target argument is a type of custom class, all of its custom method would
12
- * be erased and its prototype would be changed to the primitive `object`. Therefore, return
13
- * type of the TMP type finally be the primitive object.
14
- *
15
- * In addition, if the target argument is a type of custom class and it has a special
16
- * method `toJSON()`, return type of this `Primitive` would be not `Primitive<Instance>`
17
- * but `Primitive<ReturnType<Instance.toJSON>>`.
18
- *
19
- * Before | After
20
- * ------------------------|----------------------------------------
21
- * `Boolean` | `boolean`
22
- * `Number` | `number`
23
- * `String` | `string`
24
- * `Class` | `object`
25
- * `Class` with `toJSON()` | `Primitive<ReturnType<Class.toJSON>>`
26
- * Others | No change
27
- *
28
- * @template Instance Target argument type.
29
- * @author Jenogho Nam - https://github.com/samchon
30
- */
31
- export type Primitive<T> = _Equal<T, _Primitive<T>> extends true
32
- ? T
33
- : _Primitive<T>;
34
-
35
- type _Equal<X, Y> = X extends Y ? (Y extends X ? true : false) : false;
36
-
37
- type _Primitive<Instance> = _ValueOf<Instance> extends object
38
- ? Instance extends object
39
- ? Instance extends IJsonable<infer Raw>
40
- ? _ValueOf<Raw> extends object
41
- ? Raw extends object
42
- ? _PrimitiveObject<Raw> // object would be primitified
43
- : never // cannot be
44
- : _ValueOf<Raw> // atomic value
45
- : _PrimitiveObject<Instance> // object would be primitified
46
- : never // cannot be
47
- : _ValueOf<Instance>;
48
-
49
- type _PrimitiveObject<Instance extends object> = Instance extends Array<infer T>
50
- ? _Primitive<T>[]
51
- : {
52
- [P in keyof Instance]: Instance[P] extends Function
53
- ? never
54
- : _Primitive<Instance[P]>;
55
- };
56
-
57
- type _ValueOf<Instance> = _IsValueOf<Instance, Boolean> extends true
58
- ? boolean
59
- : _IsValueOf<Instance, Number> extends true
60
- ? number
61
- : _IsValueOf<Instance, String> extends true
62
- ? string
63
- : Instance;
64
-
65
- type _IsValueOf<
66
- Instance,
67
- Object extends IValueOf<any>,
68
- > = Instance extends Object
69
- ? Object extends IValueOf<infer Primitive>
70
- ? Instance extends Primitive
71
- ? false
72
- : true // not Primitive, but Object
73
- : false // cannot be
74
- : false;
75
-
76
- interface IValueOf<T> {
77
- valueOf(): T;
78
- }
79
-
80
- interface IJsonable<T> {
81
- toJSON(): T;
82
- }
1
+ /**
2
+ * Primitive type.
3
+ *
4
+ * `Primitive` is a type of TMP (Type Meta Programming) type who converts its argument as a
5
+ * primitive type.
6
+ *
7
+ * If the target argument is a built-in class who returns its origin primitive type through
8
+ * the `valueOf()` method like the `String` or `Number`, its return type would be the
9
+ * `string` or `number`.
10
+ *
11
+ * Otherwise, the target argument is a type of custom class, all of its custom method would
12
+ * be erased and its prototype would be changed to the primitive `object`. Therefore, return
13
+ * type of the TMP type finally be the primitive object.
14
+ *
15
+ * In addition, if the target argument is a type of custom class and it has a special
16
+ * method `toJSON()`, return type of this `Primitive` would be not `Primitive<Instance>`
17
+ * but `Primitive<ReturnType<Instance.toJSON>>`.
18
+ *
19
+ * Before | After
20
+ * ------------------------|----------------------------------------
21
+ * `Boolean` | `boolean`
22
+ * `Number` | `number`
23
+ * `String` | `string`
24
+ * `Class` | `object`
25
+ * `Class` with `toJSON()` | `Primitive<ReturnType<Class.toJSON>>`
26
+ * Others | No change
27
+ *
28
+ * @template Instance Target argument type.
29
+ * @author Jenogho Nam - https://github.com/samchon
30
+ */
31
+ export type Primitive<T> = _Equal<T, _Primitive<T>> extends true
32
+ ? T
33
+ : _Primitive<T>;
34
+
35
+ type _Equal<X, Y> = X extends Y ? (Y extends X ? true : false) : false;
36
+
37
+ type _Primitive<Instance> = _ValueOf<Instance> extends object
38
+ ? Instance extends object
39
+ ? Instance extends _Native
40
+ ? {}
41
+ : Instance extends IJsonable<infer Raw>
42
+ ? _ValueOf<Raw> extends object
43
+ ? Raw extends object
44
+ ? _PrimitiveObject<Raw> // object would be primitified
45
+ : never // cannot be
46
+ : _ValueOf<Raw> // atomic value
47
+ : _PrimitiveObject<Instance> // object would be primitified
48
+ : never // cannot be
49
+ : _ValueOf<Instance>;
50
+
51
+ type _PrimitiveObject<Instance extends object> = Instance extends Array<infer T>
52
+ ? _Primitive<T>[]
53
+ : {
54
+ [P in keyof Instance]: Instance[P] extends Function
55
+ ? never
56
+ : _Primitive<Instance[P]>;
57
+ };
58
+
59
+ type _ValueOf<Instance> = _IsValueOf<Instance, Boolean> extends true
60
+ ? boolean
61
+ : _IsValueOf<Instance, Number> extends true
62
+ ? number
63
+ : _IsValueOf<Instance, String> extends true
64
+ ? string
65
+ : Instance;
66
+
67
+ type _Native =
68
+ | Set<any>
69
+ | Map<any, any>
70
+ | WeakSet<any>
71
+ | WeakMap<any, any>
72
+ | Uint8Array
73
+ | Uint8ClampedArray
74
+ | Uint16Array
75
+ | Uint32Array
76
+ | BigUint64Array
77
+ | Int8Array
78
+ | Int16Array
79
+ | Int32Array
80
+ | BigInt64Array
81
+ | Float32Array
82
+ | Float64Array
83
+ | ArrayBuffer
84
+ | SharedArrayBuffer
85
+ | DataView;
86
+
87
+ type _IsValueOf<
88
+ Instance,
89
+ Object extends IValueOf<any>,
90
+ > = Instance extends Object
91
+ ? Object extends IValueOf<infer Primitive>
92
+ ? Instance extends Primitive
93
+ ? false
94
+ : true // not Primitive, but Object
95
+ : false // cannot be
96
+ : false;
97
+
98
+ interface IValueOf<T> {
99
+ valueOf(): T;
100
+ }
101
+
102
+ interface IJsonable<T> {
103
+ toJSON(): T;
104
+ }
@@ -1,36 +1,36 @@
1
- export class TypeGuardError extends Error {
2
- public readonly method: string;
3
- public readonly path: string | undefined;
4
- public readonly expected: string;
5
- public readonly value: any;
6
-
7
- public constructor(props: TypeGuardError.IProps) {
8
- // MESSAGE CONSTRUCTION
9
- super(
10
- props.message ||
11
- `Error on ${props.method}(): invalid type${
12
- props.path ? ` on ${props.path}` : ""
13
- }, expect to be ${props.expected}`,
14
- );
15
-
16
- // INHERITANCE POLYFILL
17
- const proto = new.target.prototype;
18
- if (Object.setPrototypeOf) Object.setPrototypeOf(this, proto);
19
- else (this as any).__proto__ = proto;
20
-
21
- // ASSIGN MEMBERS
22
- this.method = props.method;
23
- this.path = props.path;
24
- this.expected = props.expected;
25
- this.value = props.value;
26
- }
27
- }
28
- export namespace TypeGuardError {
29
- export interface IProps {
30
- method: string;
31
- path?: string;
32
- expected: string;
33
- value: any;
34
- message?: string;
35
- }
36
- }
1
+ export class TypeGuardError extends Error {
2
+ public readonly method: string;
3
+ public readonly path: string | undefined;
4
+ public readonly expected: string;
5
+ public readonly value: any;
6
+
7
+ public constructor(props: TypeGuardError.IProps) {
8
+ // MESSAGE CONSTRUCTION
9
+ super(
10
+ props.message ||
11
+ `Error on ${props.method}(): invalid type${
12
+ props.path ? ` on ${props.path}` : ""
13
+ }, expect to be ${props.expected}`,
14
+ );
15
+
16
+ // INHERITANCE POLYFILL
17
+ const proto = new.target.prototype;
18
+ if (Object.setPrototypeOf) Object.setPrototypeOf(this, proto);
19
+ else (this as any).__proto__ = proto;
20
+
21
+ // ASSIGN MEMBERS
22
+ this.method = props.method;
23
+ this.path = props.path;
24
+ this.expected = props.expected;
25
+ this.value = props.value;
26
+ }
27
+ }
28
+ export namespace TypeGuardError {
29
+ export interface IProps {
30
+ method: string;
31
+ path?: string;
32
+ expected: string;
33
+ value: any;
34
+ message?: string;
35
+ }
36
+ }