typia 3.5.8 → 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 (279) hide show
  1. package/README.md +2 -0
  2. package/lib/Primitive.d.ts +2 -1
  3. package/lib/executable/TypiaGenerateWizard.d.ts +8 -0
  4. package/lib/executable/TypiaGenerateWizard.js +182 -0
  5. package/lib/executable/TypiaGenerateWizard.js.map +1 -0
  6. package/lib/executable/typia.js +11 -4
  7. package/lib/executable/typia.js.map +1 -1
  8. package/lib/factories/IdentifierFactory.d.ts +1 -1
  9. package/lib/factories/IdentifierFactory.js +3 -3
  10. package/lib/factories/IdentifierFactory.js.map +1 -1
  11. package/lib/factories/TypeFactory.d.ts +1 -0
  12. package/lib/factories/TypeFactory.js +17 -1
  13. package/lib/factories/TypeFactory.js.map +1 -1
  14. package/lib/factories/TypiaFileFactory.d.ts +8 -0
  15. package/lib/factories/TypiaFileFactory.js +236 -0
  16. package/lib/factories/TypiaFileFactory.js.map +1 -0
  17. package/lib/programmers/AssertCloneProgrammer.js +4 -1
  18. package/lib/programmers/AssertCloneProgrammer.js.map +1 -1
  19. package/lib/programmers/AssertParseProgrammer.js +4 -1
  20. package/lib/programmers/AssertParseProgrammer.js.map +1 -1
  21. package/lib/programmers/AssertProgrammer.js +4 -1
  22. package/lib/programmers/AssertProgrammer.js.map +1 -1
  23. package/lib/programmers/AssertPruneProgrammer.js +4 -1
  24. package/lib/programmers/AssertPruneProgrammer.js.map +1 -1
  25. package/lib/programmers/AssertStringifyProgrammer.js +4 -1
  26. package/lib/programmers/AssertStringifyProgrammer.js.map +1 -1
  27. package/lib/programmers/CheckerProgrammer.d.ts +1 -1
  28. package/lib/programmers/CheckerProgrammer.js +8 -0
  29. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  30. package/lib/programmers/CloneProgrammer.d.ts +1 -1
  31. package/lib/programmers/CloneProgrammer.js +17 -2
  32. package/lib/programmers/CloneProgrammer.js.map +1 -1
  33. package/lib/programmers/FeatureProgrammer.d.ts +10 -1
  34. package/lib/programmers/FeatureProgrammer.js +24 -16
  35. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  36. package/lib/programmers/IsCloneProgrammer.js +7 -1
  37. package/lib/programmers/IsCloneProgrammer.js.map +1 -1
  38. package/lib/programmers/IsParseProgrammer.js +5 -2
  39. package/lib/programmers/IsParseProgrammer.js.map +1 -1
  40. package/lib/programmers/IsProgrammer.d.ts +1 -1
  41. package/lib/programmers/IsPruneProgrammer.js +4 -1
  42. package/lib/programmers/IsPruneProgrammer.js.map +1 -1
  43. package/lib/programmers/IsStringifyProgrammer.js +7 -1
  44. package/lib/programmers/IsStringifyProgrammer.js.map +1 -1
  45. package/lib/programmers/PruneProgrammer.d.ts +1 -1
  46. package/lib/programmers/PruneProgrammer.js +7 -0
  47. package/lib/programmers/PruneProgrammer.js.map +1 -1
  48. package/lib/programmers/RandomProgrammer.js +9 -8
  49. package/lib/programmers/RandomProgrammer.js.map +1 -1
  50. package/lib/programmers/StringifyProgrammer.d.ts +1 -1
  51. package/lib/programmers/StringifyProgrammer.js +7 -0
  52. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  53. package/lib/programmers/ValidateCloneProgrammer.js +5 -2
  54. package/lib/programmers/ValidateCloneProgrammer.js.map +1 -1
  55. package/lib/programmers/ValidateParseProgrammer.js +4 -1
  56. package/lib/programmers/ValidateParseProgrammer.js.map +1 -1
  57. package/lib/programmers/ValidateProgrammer.js +7 -4
  58. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  59. package/lib/programmers/ValidatePruneProgrammer.js +4 -1
  60. package/lib/programmers/ValidatePruneProgrammer.js.map +1 -1
  61. package/lib/programmers/ValidateStringifyProgrammer.js +5 -2
  62. package/lib/programmers/ValidateStringifyProgrammer.js.map +1 -1
  63. package/lib/programmers/helpers/CloneJoiner.js +5 -4
  64. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  65. package/lib/programmers/helpers/FunctionImporeter.js +2 -1
  66. package/lib/programmers/helpers/FunctionImporeter.js.map +1 -1
  67. package/lib/programmers/helpers/RandomJoiner.js +3 -2
  68. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  69. package/lib/programmers/internal/check_everything.js +4 -1
  70. package/lib/programmers/internal/check_everything.js.map +1 -1
  71. package/lib/programmers/internal/check_union_array_like.js +10 -3
  72. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  73. package/lib/programmers/internal/stringify_dynamic_properties.js +1 -1
  74. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  75. package/lib/transformers/CallExpressionTransformer.js +4 -1
  76. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  77. package/lib/transformers/ImportTransformer.d.ts +4 -0
  78. package/lib/transformers/ImportTransformer.js +51 -0
  79. package/lib/transformers/ImportTransformer.js.map +1 -0
  80. package/package.json +1 -1
  81. package/src/IRandomGenerator.ts +16 -16
  82. package/src/IValidation.ts +21 -21
  83. package/src/Primitive.ts +104 -82
  84. package/src/TypeGuardError.ts +36 -36
  85. package/src/executable/TypiaGenerateWizard.ts +87 -0
  86. package/src/executable/TypiaSetupWizard.ts +142 -142
  87. package/src/executable/setup/ArgumentParser.ts +91 -91
  88. package/src/executable/setup/CommandExecutor.ts +8 -8
  89. package/src/executable/setup/FileRetriever.ts +33 -33
  90. package/src/executable/setup/PackageManager.ts +92 -92
  91. package/src/executable/setup/PluginConfigurator.ts +99 -99
  92. package/src/executable/typia.ts +38 -29
  93. package/src/factories/CommentFactory.ts +10 -10
  94. package/src/factories/ExpressionFactory.ts +77 -77
  95. package/src/factories/IdentifierFactory.ts +73 -72
  96. package/src/factories/LiteralFactory.ts +44 -44
  97. package/src/factories/MetadataCollection.ts +122 -122
  98. package/src/factories/MetadataFactory.ts +51 -51
  99. package/src/factories/MetadataTagFactory.ts +265 -265
  100. package/src/factories/StatementFactory.ts +60 -60
  101. package/src/factories/TemplateFactory.ts +56 -56
  102. package/src/factories/TypeFactory.ts +129 -101
  103. package/src/factories/TypiaFileFactory.ts +117 -0
  104. package/src/factories/ValueFactory.ts +12 -12
  105. package/src/factories/internal/metadata/MetadataHelper.ts +12 -12
  106. package/src/factories/internal/metadata/emplace_metadata_object.ts +140 -140
  107. package/src/factories/internal/metadata/explore_metadata.ts +92 -92
  108. package/src/factories/internal/metadata/iterate_metadata.ts +80 -80
  109. package/src/factories/internal/metadata/iterate_metadata_array.ts +29 -29
  110. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +59 -59
  111. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +33 -33
  112. package/src/factories/internal/metadata/iterate_metadata_constant.ts +58 -58
  113. package/src/factories/internal/metadata/iterate_metadata_map.ts +41 -41
  114. package/src/factories/internal/metadata/iterate_metadata_native.ts +222 -222
  115. package/src/factories/internal/metadata/iterate_metadata_object.ts +48 -48
  116. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +27 -27
  117. package/src/factories/internal/metadata/iterate_metadata_set.ts +33 -33
  118. package/src/factories/internal/metadata/iterate_metadata_template.ts +38 -38
  119. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +45 -45
  120. package/src/factories/internal/metadata/iterate_metadata_union.ts +59 -59
  121. package/src/functional/$any.ts +3 -3
  122. package/src/functional/$every.ts +11 -11
  123. package/src/functional/$guard.ts +35 -35
  124. package/src/functional/$is_between.ts +7 -7
  125. package/src/functional/$is_email.ts +5 -5
  126. package/src/functional/$is_ipv4.ts +5 -5
  127. package/src/functional/$is_ipv6.ts +5 -5
  128. package/src/functional/$is_url.ts +5 -5
  129. package/src/functional/$is_uuid.ts +5 -5
  130. package/src/functional/$join.ts +50 -50
  131. package/src/functional/$number.ts +12 -12
  132. package/src/functional/$report.ts +15 -15
  133. package/src/functional/$rest.ts +3 -3
  134. package/src/functional/$string.ts +37 -37
  135. package/src/functional/$tail.ts +6 -6
  136. package/src/functional/Namespace.ts +121 -121
  137. package/src/index.ts +4 -4
  138. package/src/metadata/IJsDocTagInfo.ts +10 -10
  139. package/src/metadata/IMetadata.ts +25 -25
  140. package/src/metadata/IMetadataApplication.ts +7 -7
  141. package/src/metadata/IMetadataConstant.ts +16 -16
  142. package/src/metadata/IMetadataEntry.ts +6 -6
  143. package/src/metadata/IMetadataObject.ts +29 -29
  144. package/src/metadata/IMetadataProperty.ts +11 -11
  145. package/src/metadata/IMetadataTag.ts +113 -113
  146. package/src/metadata/Metadata.ts +534 -534
  147. package/src/metadata/MetadataConstant.ts +3 -3
  148. package/src/metadata/MetadataObject.ts +131 -131
  149. package/src/metadata/MetadataProperty.ts +64 -64
  150. package/src/module.ts +1946 -1946
  151. package/src/programmers/ApplicationProgrammer.ts +55 -55
  152. package/src/programmers/AssertCloneProgrammer.ts +71 -60
  153. package/src/programmers/AssertParseProgrammer.ts +66 -55
  154. package/src/programmers/AssertProgrammer.ts +232 -435
  155. package/src/programmers/AssertPruneProgrammer.ts +67 -59
  156. package/src/programmers/AssertStringifyProgrammer.ts +71 -65
  157. package/src/programmers/CheckerProgrammer.ts +892 -879
  158. package/src/programmers/CloneProgrammer.ts +387 -361
  159. package/src/programmers/FeatureProgrammer.ts +505 -462
  160. package/src/programmers/IsCloneProgrammer.ts +80 -66
  161. package/src/programmers/IsParseProgrammer.ts +75 -61
  162. package/src/programmers/IsProgrammer.ts +200 -200
  163. package/src/programmers/IsPruneProgrammer.ts +75 -63
  164. package/src/programmers/IsStringifyProgrammer.ts +80 -69
  165. package/src/programmers/PruneProgrammer.ts +341 -333
  166. package/src/programmers/RandomProgrammer.ts +392 -373
  167. package/src/programmers/StringifyProgrammer.ts +795 -787
  168. package/src/programmers/ValidateCloneProgrammer.ts +91 -77
  169. package/src/programmers/ValidateParseProgrammer.ts +70 -59
  170. package/src/programmers/ValidateProgrammer.ts +267 -238
  171. package/src/programmers/ValidatePruneProgrammer.ts +84 -73
  172. package/src/programmers/ValidateStringifyProgrammer.ts +88 -77
  173. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  174. package/src/programmers/helpers/CloneJoiner.ts +134 -124
  175. package/src/programmers/helpers/FunctionImporeter.ts +55 -46
  176. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  177. package/src/programmers/helpers/OptionPredicator.ts +19 -19
  178. package/src/programmers/helpers/PruneJoiner.ts +52 -52
  179. package/src/programmers/helpers/RandomJoiner.ts +149 -142
  180. package/src/programmers/helpers/RandomRanger.ts +216 -216
  181. package/src/programmers/helpers/StringifyJoinder.ts +114 -114
  182. package/src/programmers/helpers/StringifyPredicator.ts +18 -18
  183. package/src/programmers/helpers/UnionExplorer.ts +274 -274
  184. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  185. package/src/programmers/internal/application_array.ts +37 -37
  186. package/src/programmers/internal/application_boolean.ts +17 -17
  187. package/src/programmers/internal/application_constant.ts +29 -29
  188. package/src/programmers/internal/application_default.ts +17 -17
  189. package/src/programmers/internal/application_default_string.ts +32 -32
  190. package/src/programmers/internal/application_native.ts +29 -29
  191. package/src/programmers/internal/application_number.ts +70 -70
  192. package/src/programmers/internal/application_object.ts +153 -153
  193. package/src/programmers/internal/application_schema.ts +184 -184
  194. package/src/programmers/internal/application_string.ts +41 -41
  195. package/src/programmers/internal/application_templates.ts +27 -27
  196. package/src/programmers/internal/application_tuple.ts +29 -29
  197. package/src/programmers/internal/check_array.ts +22 -22
  198. package/src/programmers/internal/check_array_length.ts +44 -44
  199. package/src/programmers/internal/check_bigint.ts +64 -64
  200. package/src/programmers/internal/check_dynamic_properties.ts +197 -197
  201. package/src/programmers/internal/check_everything.ts +28 -25
  202. package/src/programmers/internal/check_native.ts +21 -21
  203. package/src/programmers/internal/check_number.ts +145 -145
  204. package/src/programmers/internal/check_object.ts +48 -48
  205. package/src/programmers/internal/check_string.ts +24 -24
  206. package/src/programmers/internal/check_string_tags.ts +63 -63
  207. package/src/programmers/internal/check_template.ts +50 -50
  208. package/src/programmers/internal/check_union_array_like.ts +260 -244
  209. package/src/programmers/internal/check_union_tuple.ts +33 -33
  210. package/src/programmers/internal/decode_union_object.ts +73 -73
  211. package/src/programmers/internal/feature_object_entries.ts +59 -59
  212. package/src/programmers/internal/metadata_to_pattern.ts +31 -31
  213. package/src/programmers/internal/prune_object_properties.ts +60 -60
  214. package/src/programmers/internal/stringify_dynamic_properties.ts +165 -164
  215. package/src/programmers/internal/stringify_native.ts +8 -8
  216. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  217. package/src/programmers/internal/template_to_pattern.ts +15 -15
  218. package/src/schemas/IJsonApplication.ts +9 -9
  219. package/src/schemas/IJsonComponents.ts +26 -26
  220. package/src/schemas/IJsonSchema.ts +127 -127
  221. package/src/transform.ts +21 -21
  222. package/src/transformers/CallExpressionTransformer.ts +172 -165
  223. package/src/transformers/ExpressionWithArgumentTransformer.ts +66 -66
  224. package/src/transformers/FileTransformer.ts +49 -49
  225. package/src/transformers/IProject.ts +11 -11
  226. package/src/transformers/ITransformOptions.ts +62 -62
  227. package/src/transformers/ImportTransformer.ts +60 -0
  228. package/src/transformers/NodeTransformer.ts +19 -19
  229. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +120 -120
  230. package/src/transformers/features/miscellaneous/AssertCloneTransformer.ts +38 -38
  231. package/src/transformers/features/miscellaneous/AssertPruneTransformer.ts +38 -38
  232. package/src/transformers/features/miscellaneous/CloneTransformer.ts +46 -46
  233. package/src/transformers/features/miscellaneous/CreateAssertCloneTransformer.ts +32 -32
  234. package/src/transformers/features/miscellaneous/CreateAssertPruneTransformer.ts +32 -32
  235. package/src/transformers/features/miscellaneous/CreateCloneTransformer.ts +31 -31
  236. package/src/transformers/features/miscellaneous/CreateIsCloneTransformer.ts +32 -32
  237. package/src/transformers/features/miscellaneous/CreateIsPruneTransformer.ts +32 -32
  238. package/src/transformers/features/miscellaneous/CreatePruneTransformer.ts +31 -31
  239. package/src/transformers/features/miscellaneous/CreateRandomGenerator.ts +39 -39
  240. package/src/transformers/features/miscellaneous/CreateValidateCloneTransformer.ts +32 -32
  241. package/src/transformers/features/miscellaneous/CreateValidatePruneTransformer.ts +32 -32
  242. package/src/transformers/features/miscellaneous/IsCloneTransformer.ts +38 -38
  243. package/src/transformers/features/miscellaneous/IsPruneTransformer.ts +38 -38
  244. package/src/transformers/features/miscellaneous/MetadataTransformer.ts +55 -55
  245. package/src/transformers/features/miscellaneous/PruneTransformer.ts +46 -46
  246. package/src/transformers/features/miscellaneous/RandomTransformer.ts +45 -45
  247. package/src/transformers/features/miscellaneous/ValidateCloneTransformer.ts +38 -38
  248. package/src/transformers/features/miscellaneous/ValidatePruneTransformer.ts +38 -38
  249. package/src/transformers/features/parsers/AssertParseTransformer.ts +36 -36
  250. package/src/transformers/features/parsers/CreateAssertParseTransformer.ts +32 -32
  251. package/src/transformers/features/parsers/CreateIsParseTransformer.ts +32 -32
  252. package/src/transformers/features/parsers/CreateValidateParseTransformer.ts +32 -32
  253. package/src/transformers/features/parsers/IsParseTransformer.ts +36 -36
  254. package/src/transformers/features/parsers/ValidateParseTransformer.ts +36 -36
  255. package/src/transformers/features/stringifiers/AssertStringifyTransformer.ts +38 -38
  256. package/src/transformers/features/stringifiers/CreateAssertStringifyTransformer.ts +32 -32
  257. package/src/transformers/features/stringifiers/CreateIsStringifyTransformer.ts +32 -32
  258. package/src/transformers/features/stringifiers/CreateStringifyTransformer.ts +31 -31
  259. package/src/transformers/features/stringifiers/CreateValidateStringifyProgrammer.ts +32 -32
  260. package/src/transformers/features/stringifiers/IsStringifyTransformer.ts +38 -38
  261. package/src/transformers/features/stringifiers/StringifyTransformer.ts +46 -46
  262. package/src/transformers/features/stringifiers/ValidateStringifyTransformer.ts +38 -38
  263. package/src/transformers/features/validators/AssertTransformer.ts +43 -43
  264. package/src/transformers/features/validators/CreateAssertTransformer.ts +35 -35
  265. package/src/transformers/features/validators/CreateIsTransformer.ts +35 -35
  266. package/src/transformers/features/validators/CreateValidateTransformer.ts +35 -35
  267. package/src/transformers/features/validators/IsTransformer.ts +43 -43
  268. package/src/transformers/features/validators/ValidateTransformer.ts +43 -43
  269. package/src/typings/Atomic.ts +17 -17
  270. package/src/typings/ClassProperties.ts +5 -5
  271. package/src/typings/OmitNever.ts +3 -3
  272. package/src/typings/SpecialFields.ts +3 -3
  273. package/src/typings/Writable.ts +11 -11
  274. package/src/utils/ArrayUtil.ts +49 -49
  275. package/src/utils/Escaper.ts +50 -50
  276. package/src/utils/MapUtil.ts +14 -14
  277. package/src/utils/PatternUtil.ts +30 -30
  278. package/src/utils/RandomGenerator.ts +90 -90
  279. package/src/utils/Singleton.ts +17 -17
@@ -18,15 +18,18 @@ exports.IsParseProgrammer = void 0;
18
18
  var typescript_1 = __importDefault(require("typescript"));
19
19
  var IdentifierFactory_1 = require("../factories/IdentifierFactory");
20
20
  var StatementFactory_1 = require("../factories/StatementFactory");
21
+ var TypeFactory_1 = require("../factories/TypeFactory");
21
22
  var IsProgrammer_1 = require("./IsProgrammer");
22
23
  var IsParseProgrammer;
23
24
  (function (IsParseProgrammer) {
24
25
  IsParseProgrammer.generate = function (project, modulo) {
25
26
  return function (type) {
26
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
27
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
28
+ IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
29
+ ], typescript_1.default.factory.createTypeReferenceNode("typia.Primitive<".concat(TypeFactory_1.TypeFactory.getFullName(project.checker, type), ">")), undefined, typescript_1.default.factory.createBlock([
27
30
  StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type)),
28
31
  typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier("input"), typescript_1.default.SyntaxKind.EqualsToken, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("JSON.parse"), undefined, [typescript_1.default.factory.createIdentifier("input")]))),
29
- typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createIdentifier("input"), undefined, typescript_1.default.factory.createNull())),
32
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createIdentifier("input"), TypeFactory_1.TypeFactory.keyword("any")), undefined, typescript_1.default.factory.createNull())),
30
33
  ]));
31
34
  };
32
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"IsParseProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsParseProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,+CAA8C;AAE9C,IAAiB,iBAAiB,CAmDjC;AAnDD,WAAiB,iBAAiB;IACjB,0BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,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,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,QAAQ,uBAEV,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,oBAAE,CAAC,UAAU,CAAC,WAAW,EACzB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAC1B,CACJ;aACJ,CAAC,CACL;QA9CD,CA8CC;IA/CL,CA+CK,CAAC;AACd,CAAC,EAnDgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAmDjC"}
1
+ {"version":3,"file":"IsParseProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsParseProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,wDAAuD;AAIvD,+CAA8C;AAE9C,IAAiB,iBAAiB,CAgEjC;AAhED,WAAiB,iBAAiB;IACjB,0BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;gBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B;aACJ,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,0BAAmB,yBAAW,CAAC,WAAW,CACtC,OAAO,CAAC,OAAO,EACf,IAAI,CACP,MAAG,CACP,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,QAAQ,uBAEV,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,oBAAE,CAAC,UAAU,CAAC,WAAW,EACzB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAC1B,CACJ;aACJ,CAAC,CACL;QA3DD,CA2DC;IA5DL,CA4DK,CAAC;AACd,CAAC,EAhEgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAgEjC"}
@@ -13,7 +13,7 @@ export declare namespace IsProgrammer {
13
13
  object: (input: ts.Expression, entries: IExpressionEntry<ts.Expression>[]) => ts.Expression;
14
14
  }
15
15
  }
16
- function generate(project: IProject, modulo: ts.LeftHandSideExpression, equals?: boolean): (type: ts.Type) => ts.ArrowFunction;
16
+ function generate(project: IProject, modulo: ts.LeftHandSideExpression, equals?: boolean): (type: ts.Type, typeNode?: ts.TypeNode | undefined) => ts.ArrowFunction;
17
17
  const generate_functors: (project: IProject, importer: FunctionImporter) => (collection: import("../factories/MetadataCollection").MetadataCollection) => ts.VariableStatement[];
18
18
  const generate_unioners: (project: IProject, importer: FunctionImporter) => (collection: import("../factories/MetadataCollection").MetadataCollection) => ts.VariableStatement[];
19
19
  const decode: (project: IProject, importer: FunctionImporter) => (input: ts.Expression, meta: import("../metadata/Metadata").Metadata, explore: CheckerProgrammer.IExplore, tags: import("../metadata/IMetadataTag").IMetadataTag[]) => ts.Expression;
@@ -18,13 +18,16 @@ exports.IsPruneProgrammer = void 0;
18
18
  var typescript_1 = __importDefault(require("typescript"));
19
19
  var IdentifierFactory_1 = require("../factories/IdentifierFactory");
20
20
  var StatementFactory_1 = require("../factories/StatementFactory");
21
+ var TypeFactory_1 = require("../factories/TypeFactory");
21
22
  var IsProgrammer_1 = require("./IsProgrammer");
22
23
  var PruneProgrammer_1 = require("./PruneProgrammer");
23
24
  var IsPruneProgrammer;
24
25
  (function (IsPruneProgrammer) {
25
26
  IsPruneProgrammer.generate = function (project, modulo) {
26
27
  return function (type) {
27
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
28
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
29
+ IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
30
+ ], typescript_1.default.factory.createTypePredicateNode(undefined, "input", typescript_1.default.factory.createTypeReferenceNode(TypeFactory_1.TypeFactory.getFullName(project.checker, type))), undefined, typescript_1.default.factory.createBlock([
28
31
  StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.generate(project, modulo)(type)),
29
32
  StatementFactory_1.StatementFactory.constant("prune", PruneProgrammer_1.PruneProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type)),
30
33
  typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createPrefixUnaryExpression(typescript_1.default.SyntaxKind.ExclamationToken, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")])), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createFalse())),
@@ -1 +1 @@
1
- {"version":3,"file":"IsPruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsPruneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,+CAA8C;AAC9C,qDAAoD;AAEpD,IAAiB,iBAAiB,CAoDjC;AApDD,WAAiB,iBAAiB;IACjB,0BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,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,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAC/C;gBACD,mCAAgB,CAAC,QAAQ,CACrB,OAAO,EACP,iCAAe,CAAC,QAAQ,uBAEb,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,UAAU,CAAC,gBAAgB,EAC9B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,EACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAC3B,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;aAC5D,CAAC,CACL;QA/CD,CA+CC;IAhDL,CAgDK,CAAC;AACd,CAAC,EApDgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAoDjC"}
1
+ {"version":3,"file":"IsPruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsPruneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,wDAAuD;AAIvD,+CAA8C;AAC9C,qDAAoD;AAEpD,IAAiB,iBAAiB,CA+DjC;AA/DD,WAAiB,iBAAiB;IACjB,0BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;gBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B;aACJ,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,SAAS,EACT,OAAO,EACP,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CACjD,CACJ,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAC/C;gBACD,mCAAgB,CAAC,QAAQ,CACrB,OAAO,EACP,iCAAe,CAAC,QAAQ,uBAEb,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,UAAU,CAAC,gBAAgB,EAC9B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,EACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAC3B,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;aAC5D,CAAC,CACL;QA1DD,CA0DC;IA3DL,CA2DK,CAAC;AACd,CAAC,EA/DgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QA+DjC"}
@@ -18,13 +18,19 @@ exports.IsStringifyProgrammer = void 0;
18
18
  var typescript_1 = __importDefault(require("typescript"));
19
19
  var IdentifierFactory_1 = require("../factories/IdentifierFactory");
20
20
  var StatementFactory_1 = require("../factories/StatementFactory");
21
+ var TypeFactory_1 = require("../factories/TypeFactory");
21
22
  var IsProgrammer_1 = require("./IsProgrammer");
22
23
  var StringifyProgrammer_1 = require("./StringifyProgrammer");
23
24
  var IsStringifyProgrammer;
24
25
  (function (IsStringifyProgrammer) {
25
26
  IsStringifyProgrammer.generate = function (project, modulo) {
26
27
  return function (type) {
27
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
28
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
29
+ IdentifierFactory_1.IdentifierFactory.parameter("input", typescript_1.default.factory.createTypeReferenceNode(TypeFactory_1.TypeFactory.getFullName(project.checker, type))),
30
+ ], typescript_1.default.factory.createUnionTypeNode([
31
+ TypeFactory_1.TypeFactory.keyword("string"),
32
+ typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createNull()),
33
+ ]), undefined, typescript_1.default.factory.createBlock([
28
34
  StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: true }) }), modulo)(type)),
29
35
  StatementFactory_1.StatementFactory.constant("stringify", StringifyProgrammer_1.StringifyProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type)),
30
36
  typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("stringify"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createNull())),
@@ -1 +1 @@
1
- {"version":3,"file":"IsStringifyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsStringifyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,+CAA8C;AAC9C,6DAA4D;AAE5D,IAAiB,qBAAqB,CA0DrC;AA1DD,WAAiB,qBAAqB;IACrB,8BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,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,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,QAAQ,uBAEV,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,IAAI,QAGrB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,mCAAgB,CAAC,QAAQ,CACrB,WAAW,EACX,yCAAmB,CAAC,QAAQ,uBAEjB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAC1B,CACJ;aACJ,CAAC,CACL;QArDD,CAqDC;IAtDL,CAsDK,CAAC;AACd,CAAC,EA1DgB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QA0DrC"}
1
+ {"version":3,"file":"IsStringifyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsStringifyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,wDAAuD;AAIvD,+CAA8C;AAC9C,6DAA4D;AAE5D,IAAiB,qBAAqB,CAoErC;AApED,WAAiB,qBAAqB;IACrB,8BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;gBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CACjD,CACJ;aACJ,EACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBAC3B,yBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC7B,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;aAC5D,CAAC,EACF,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,QAAQ,uBAEV,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,IAAI,QAGrB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,mCAAgB,CAAC,QAAQ,CACrB,WAAW,EACX,yCAAmB,CAAC,QAAQ,uBAEjB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAC1B,CACJ;aACJ,CAAC,CACL;QA/DD,CA+DC;IAhEL,CAgEK,CAAC;AACd,CAAC,EApEgB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAoErC"}
@@ -1,5 +1,5 @@
1
1
  import ts from "typescript";
2
2
  import { IProject } from "../transformers/IProject";
3
3
  export declare namespace PruneProgrammer {
4
- function generate(project: IProject, modulo: ts.LeftHandSideExpression): (type: ts.Type) => ts.ArrowFunction;
4
+ function generate(project: IProject, modulo: ts.LeftHandSideExpression): (type: ts.Type, typeNode?: ts.TypeNode | undefined) => ts.ArrowFunction;
5
5
  }
@@ -56,6 +56,7 @@ var ExpressionFactory_1 = require("../factories/ExpressionFactory");
56
56
  var IdentifierFactory_1 = require("../factories/IdentifierFactory");
57
57
  var MetadataCollection_1 = require("../factories/MetadataCollection");
58
58
  var MetadataFactory_1 = require("../factories/MetadataFactory");
59
+ var TypeFactory_1 = require("../factories/TypeFactory");
59
60
  var Metadata_1 = require("../metadata/Metadata");
60
61
  var FeatureProgrammer_1 = require("./FeatureProgrammer");
61
62
  var IsProgrammer_1 = require("./IsProgrammer");
@@ -245,6 +246,12 @@ var PruneProgrammer;
245
246
  var FUNCTORS = "$po";
246
247
  var UNIONERS = "$pu";
247
248
  var CONFIG = function (project, importer) { return ({
249
+ types: {
250
+ input: function (type) {
251
+ return typescript_1.default.factory.createTypeReferenceNode(TypeFactory_1.TypeFactory.getFullName(project.checker, type));
252
+ },
253
+ output: function () { return TypeFactory_1.TypeFactory.keyword("void"); },
254
+ },
248
255
  functors: FUNCTORS,
249
256
  unioners: UNIONERS,
250
257
  trace: false,
@@ -1 +1 @@
1
- {"version":3,"file":"PruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PruneProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PruneProgrammer.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,7 @@ var MetadataCollection_1 = require("../factories/MetadataCollection");
47
47
  var MetadataFactory_1 = require("../factories/MetadataFactory");
48
48
  var StatementFactory_1 = require("../factories/StatementFactory");
49
49
  var TemplateFactory_1 = require("../factories/TemplateFactory");
50
+ var TypeFactory_1 = require("../factories/TypeFactory");
50
51
  var FunctionImporeter_1 = require("./helpers/FunctionImporeter");
51
52
  var RandomJoiner_1 = require("./helpers/RandomJoiner");
52
53
  var RandomRanger_1 = require("./helpers/RandomRanger");
@@ -66,8 +67,8 @@ var RandomProgrammer;
66
67
  recursive: false,
67
68
  })(meta, []);
68
69
  return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
69
- IdentifierFactory_1.IdentifierFactory.parameter("generator", IdentifierFactory_1.IdentifierFactory.join(modulo, "generator")),
70
- ], undefined, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), __read(functors), false), [
70
+ IdentifierFactory_1.IdentifierFactory.parameter("generator", typescript_1.default.factory.createTypeReferenceNode("Partial<typia.IRandomGenerator>"), IdentifierFactory_1.IdentifierFactory.join(typescript_1.default.factory.createParenthesizedExpression(typescript_1.default.factory.createAsExpression(modulo, TypeFactory_1.TypeFactory.keyword("any"))), "generator")),
71
+ ], typescript_1.default.factory.createTypeReferenceNode("typia.Primitive<".concat(TypeFactory_1.TypeFactory.getFullName(project.checker, type), ">")), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), __read(functors), false), [
71
72
  typescript_1.default.factory.createReturnStatement(output),
72
73
  ], false), true));
73
74
  };
@@ -76,9 +77,9 @@ var RandomProgrammer;
76
77
  var generate_functors = function (importer) { return function (collection) {
77
78
  return collection.objects().map(function (obj, i) {
78
79
  return StatementFactory_1.StatementFactory.constant(FUNCTOR(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, [
79
- IdentifierFactory_1.IdentifierFactory.parameter("recursive", typescript_1.default.factory.createIdentifier(String(obj.recursive))),
80
- IdentifierFactory_1.IdentifierFactory.parameter("depth", typescript_1.default.factory.createNumericLiteral(0)),
81
- ], undefined, undefined, RandomJoiner_1.RandomJoiner.object(COALESCE(importer))(decode(importer)({
80
+ IdentifierFactory_1.IdentifierFactory.parameter("_recursive", TypeFactory_1.TypeFactory.keyword("boolean"), typescript_1.default.factory.createIdentifier(String(obj.recursive))),
81
+ IdentifierFactory_1.IdentifierFactory.parameter("_depth", TypeFactory_1.TypeFactory.keyword("number"), typescript_1.default.factory.createNumericLiteral(0)),
82
+ ], TypeFactory_1.TypeFactory.keyword("any"), undefined, RandomJoiner_1.RandomJoiner.object(COALESCE(importer))(decode(importer)({
82
83
  recursive: obj.recursive,
83
84
  object: true,
84
85
  }))(obj)));
@@ -173,7 +174,7 @@ var RandomProgrammer;
173
174
  var a = _v.value;
174
175
  var array = RandomJoiner_1.RandomJoiner.array(COALESCE(importer))(decode(importer)(explore))(a, tags);
175
176
  expressions.push(explore.recursive && a.objects.length
176
- ? typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createIdentifier("recursive"), typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(5), typescript_1.default.factory.createIdentifier("depth"))), undefined, typescript_1.default.factory.createIdentifier("[]"), undefined, array)
177
+ ? typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createIdentifier("_recursive"), typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(5), typescript_1.default.factory.createIdentifier("_depth"))), undefined, typescript_1.default.factory.createIdentifier("[]"), undefined, array)
177
178
  : array);
178
179
  }
179
180
  }
@@ -191,8 +192,8 @@ var RandomProgrammer;
191
192
  ? [
192
193
  explore.recursive
193
194
  ? typescript_1.default.factory.createTrue()
194
- : typescript_1.default.factory.createIdentifier("recursive"),
195
- typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createIdentifier("recursive"), undefined, typescript_1.default.factory.createAdd(typescript_1.default.factory.createNumericLiteral(1), typescript_1.default.factory.createIdentifier("depth")), undefined, typescript_1.default.factory.createIdentifier("depth")),
195
+ : typescript_1.default.factory.createIdentifier("_recursive"),
196
+ typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createIdentifier("_recursive"), undefined, typescript_1.default.factory.createAdd(typescript_1.default.factory.createNumericLiteral(1), typescript_1.default.factory.createIdentifier("_depth")), undefined, typescript_1.default.factory.createIdentifier("_depth")),
196
197
  ]
197
198
  : undefined));
198
199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RandomProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RandomProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RandomProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RandomProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import ts from "typescript";
2
2
  import { IProject } from "../transformers/IProject";
3
3
  export declare namespace StringifyProgrammer {
4
- function generate(project: IProject, modulo: ts.LeftHandSideExpression): (type: ts.Type) => ts.ArrowFunction;
4
+ function generate(project: IProject, modulo: ts.LeftHandSideExpression): (type: ts.Type, typeNode?: ts.TypeNode | undefined) => ts.ArrowFunction;
5
5
  }
@@ -56,6 +56,7 @@ var ExpressionFactory_1 = require("../factories/ExpressionFactory");
56
56
  var IdentifierFactory_1 = require("../factories/IdentifierFactory");
57
57
  var MetadataCollection_1 = require("../factories/MetadataCollection");
58
58
  var MetadataFactory_1 = require("../factories/MetadataFactory");
59
+ var TypeFactory_1 = require("../factories/TypeFactory");
59
60
  var ValueFactory_1 = require("../factories/ValueFactory");
60
61
  var Metadata_1 = require("../metadata/Metadata");
61
62
  var ArrayUtil_1 = require("../utils/ArrayUtil");
@@ -485,6 +486,12 @@ var StringifyProgrammer;
485
486
  var FUNCTORS = "$so";
486
487
  var UNIONERS = "$su";
487
488
  var CONFIG = function (project, importer) { return ({
489
+ types: {
490
+ input: function (type) {
491
+ return typescript_1.default.factory.createTypeReferenceNode(TypeFactory_1.TypeFactory.getFullName(project.checker, type));
492
+ },
493
+ output: function () { return TypeFactory_1.TypeFactory.keyword("string"); },
494
+ },
488
495
  functors: FUNCTORS,
489
496
  unioners: UNIONERS,
490
497
  trace: false,
@@ -1 +1 @@
1
- {"version":3,"file":"StringifyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/StringifyProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StringifyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/StringifyProgrammer.ts"],"names":[],"mappings":"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"}
@@ -18,16 +18,19 @@ exports.ValidateCloneProgrammer = void 0;
18
18
  var typescript_1 = __importDefault(require("typescript"));
19
19
  var IdentifierFactory_1 = require("../factories/IdentifierFactory");
20
20
  var StatementFactory_1 = require("../factories/StatementFactory");
21
+ var TypeFactory_1 = require("../factories/TypeFactory");
21
22
  var CloneProgrammer_1 = require("./CloneProgrammer");
22
23
  var ValidateProgrammer_1 = require("./ValidateProgrammer");
23
24
  var ValidateCloneProgrammer;
24
25
  (function (ValidateCloneProgrammer) {
25
26
  ValidateCloneProgrammer.generate = function (project, modulo) {
26
27
  return function (type) {
27
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
28
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
29
+ IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
30
+ ], typescript_1.default.factory.createTypeReferenceNode("typia.IValidation<typia.Primitive<".concat(TypeFactory_1.TypeFactory.getFullName(project.checker, type), ">>")), undefined, typescript_1.default.factory.createBlock([
28
31
  StatementFactory_1.StatementFactory.constant("validate", ValidateProgrammer_1.ValidateProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: true }) }), modulo)(type)),
29
32
  StatementFactory_1.StatementFactory.constant("clone", CloneProgrammer_1.CloneProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type)),
30
- StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("validate"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
33
+ StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("validate"), undefined, [typescript_1.default.factory.createIdentifier("input")]), TypeFactory_1.TypeFactory.keyword("any"))),
31
34
  typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createIdentifier("output.success"), typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier("output.data"), typescript_1.default.SyntaxKind.EqualsToken, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("clone"), undefined, [typescript_1.default.factory.createIdentifier("input")])))),
32
35
  typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
33
36
  ]));
@@ -1 +1 @@
1
- {"version":3,"file":"ValidateCloneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateCloneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,qDAAoD;AACpD,2DAA0D;AAE1D,IAAiB,uBAAuB,CAkEvC;AAlED,WAAiB,uBAAuB;IACvB,gCAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,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,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,UAAU,EACV,uCAAkB,CAAC,QAAQ,uBAEhB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,IAAI,QAGrB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,mCAAgB,CAAC,QAAQ,CACrB,OAAO,EACP,iCAAe,CAAC,QAAQ,uBAEb,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,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;gBACD,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAC7C,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAC1C,oBAAE,CAAC,UAAU,CAAC,WAAW,EACzB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;aACJ,CAAC,CACL;QA7DD,CA6DC;IA9DL,CA8DK,CAAC;AACd,CAAC,EAlEgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAkEvC"}
1
+ {"version":3,"file":"ValidateCloneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateCloneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,wDAAuD;AAIvD,qDAAoD;AACpD,2DAA0D;AAE1D,IAAiB,uBAAuB,CA+EvC;AA/ED,WAAiB,uBAAuB;IACvB,gCAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;gBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B;aACJ,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,4CAAqC,yBAAW,CAAC,WAAW,CACxD,OAAO,CAAC,OAAO,EACf,IAAI,CACP,OAAI,CACR,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,UAAU,EACV,uCAAkB,CAAC,QAAQ,uBAEhB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,IAAI,QAGrB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,mCAAgB,CAAC,QAAQ,CACrB,OAAO,EACP,iCAAe,CAAC,QAAQ,uBAEb,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,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,EACD,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAC7C,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAC1C,oBAAE,CAAC,UAAU,CAAC,WAAW,EACzB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;aACJ,CAAC,CACL;QA1ED,CA0EC;IA3EL,CA2EK,CAAC;AACd,CAAC,EA/EgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QA+EvC"}
@@ -18,12 +18,15 @@ exports.ValidateParseProgrammer = void 0;
18
18
  var typescript_1 = __importDefault(require("typescript"));
19
19
  var IdentifierFactory_1 = require("../factories/IdentifierFactory");
20
20
  var StatementFactory_1 = require("../factories/StatementFactory");
21
+ var TypeFactory_1 = require("../factories/TypeFactory");
21
22
  var ValidateProgrammer_1 = require("./ValidateProgrammer");
22
23
  var ValidateParseProgrammer;
23
24
  (function (ValidateParseProgrammer) {
24
25
  ValidateParseProgrammer.generate = function (project, modulo) {
25
26
  return function (type) {
26
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
27
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
28
+ IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("string")),
29
+ ], typescript_1.default.factory.createTypeReferenceNode("typia.IValidation<typia.Primitive<".concat(TypeFactory_1.TypeFactory.getFullName(project.checker, type), ">>")), undefined, typescript_1.default.factory.createBlock([
27
30
  StatementFactory_1.StatementFactory.constant("validate", ValidateProgrammer_1.ValidateProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type)),
28
31
  typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier("input"), typescript_1.default.SyntaxKind.EqualsToken, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("JSON.parse"), undefined, [typescript_1.default.factory.createIdentifier("input")]))),
29
32
  StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("validate"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
@@ -1 +1 @@
1
- {"version":3,"file":"ValidateParseProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateParseProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,2DAA0D;AAE1D,IAAiB,uBAAuB,CAiDvC;AAjDD,WAAiB,uBAAuB;IACvB,gCAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,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,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,UAAU,EACV,uCAAkB,CAAC,QAAQ,uBAEhB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,oBAAE,CAAC,UAAU,CAAC,WAAW,EACzB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ;gBACD,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,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;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;aACJ,CAAC,CACL;QA5CD,CA4CC;IA7CL,CA6CK,CAAC;AACd,CAAC,EAjDgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAiDvC"}
1
+ {"version":3,"file":"ValidateParseProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateParseProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,wDAAuD;AAIvD,2DAA0D;AAE1D,IAAiB,uBAAuB,CA2DvC;AA3DD,WAAiB,uBAAuB;IACvB,gCAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;gBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,yBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAChC;aACJ,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,4CAAqC,yBAAW,CAAC,WAAW,CACxD,OAAO,CAAC,OAAO,EACf,IAAI,CACP,OAAI,CACR,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,UAAU,EACV,uCAAkB,CAAC,QAAQ,uBAEhB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,oBAAE,CAAC,UAAU,CAAC,WAAW,EACzB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ;gBACD,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,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;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;aACJ,CAAC,CACL;QAtDD,CAsDC;IAvDL,CAuDK,CAAC;AACd,CAAC,EA3DgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QA2DvC"}
@@ -32,6 +32,7 @@ exports.ValidateProgrammer = void 0;
32
32
  var typescript_1 = __importDefault(require("typescript"));
33
33
  var IdentifierFactory_1 = require("../factories/IdentifierFactory");
34
34
  var StatementFactory_1 = require("../factories/StatementFactory");
35
+ var TypeFactory_1 = require("../factories/TypeFactory");
35
36
  var CheckerProgrammer_1 = require("./CheckerProgrammer");
36
37
  var IsProgrammer_1 = require("./IsProgrammer");
37
38
  var FunctionImporeter_1 = require("./helpers/FunctionImporeter");
@@ -55,9 +56,11 @@ var ValidateProgrammer;
55
56
  joiner: joiner(equals)(importer),
56
57
  success: typescript_1.default.factory.createTrue(),
57
58
  }, importer)(type);
58
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([
59
- StatementFactory_1.StatementFactory.constant("errors", typescript_1.default.factory.createArrayLiteralExpression([])),
60
- StatementFactory_1.StatementFactory.constant("$report", typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(modulo, "report"), [], [typescript_1.default.factory.createIdentifier("errors")]))
59
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
60
+ IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
61
+ ], typescript_1.default.factory.createTypeReferenceNode("typia.IValidation<".concat(TypeFactory_1.TypeFactory.getFullName(project.checker, type), ">")), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([
62
+ StatementFactory_1.StatementFactory.constant("errors", typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createArrayLiteralExpression([]), typescript_1.default.factory.createArrayTypeNode(TypeFactory_1.TypeFactory.keyword("any")))),
63
+ StatementFactory_1.StatementFactory.constant("$report", typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(typescript_1.default.factory.createParenthesizedExpression(typescript_1.default.factory.createAsExpression(modulo, TypeFactory_1.TypeFactory.keyword("any"))), "report"), [], [typescript_1.default.factory.createIdentifier("errors")]))
61
64
  ], __read(importer.declare(modulo)), false), [
62
65
  typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(program, undefined, [
63
66
  typescript_1.default.factory.createIdentifier("input"),
@@ -65,7 +68,7 @@ var ValidateProgrammer;
65
68
  typescript_1.default.factory.createTrue(),
66
69
  ])),
67
70
  StatementFactory_1.StatementFactory.constant("success", typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), typescript_1.default.factory.createIdentifier("errors.length"))),
68
- typescript_1.default.factory.createReturnStatement(create_output()),
71
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createAsExpression(create_output(), TypeFactory_1.TypeFactory.keyword("any"))),
69
72
  ], false), true));
70
73
  };
71
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ValidateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValidateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateProgrammer.ts"],"names":[],"mappings":"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"}
@@ -18,13 +18,16 @@ exports.ValidatePruneProgrammer = void 0;
18
18
  var typescript_1 = __importDefault(require("typescript"));
19
19
  var IdentifierFactory_1 = require("../factories/IdentifierFactory");
20
20
  var StatementFactory_1 = require("../factories/StatementFactory");
21
+ var TypeFactory_1 = require("../factories/TypeFactory");
21
22
  var PruneProgrammer_1 = require("./PruneProgrammer");
22
23
  var ValidateProgrammer_1 = require("./ValidateProgrammer");
23
24
  var ValidatePruneProgrammer;
24
25
  (function (ValidatePruneProgrammer) {
25
26
  ValidatePruneProgrammer.generate = function (project, modulo) {
26
27
  return function (type) {
27
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
28
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
29
+ IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
30
+ ], typescript_1.default.factory.createTypeReferenceNode("typia.IValidation<".concat(TypeFactory_1.TypeFactory.getFullName(project.checker, type), ">")), undefined, typescript_1.default.factory.createBlock([
28
31
  StatementFactory_1.StatementFactory.constant("validate", ValidateProgrammer_1.ValidateProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: true }) }), modulo)(type)),
29
32
  StatementFactory_1.StatementFactory.constant("prune", PruneProgrammer_1.PruneProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type)),
30
33
  StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("validate"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
@@ -1 +1 @@
1
- {"version":3,"file":"ValidatePruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidatePruneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,qDAAoD;AACpD,2DAA0D;AAE1D,IAAiB,uBAAuB,CA8DvC;AA9DD,WAAiB,uBAAuB;IACvB,gCAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,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,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,UAAU,EACV,uCAAkB,CAAC,QAAQ,uBAEhB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,IAAI,QAGrB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,mCAAgB,CAAC,QAAQ,CACrB,OAAO,EACP,iCAAe,CAAC,QAAQ,uBAEb,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,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;gBACD,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAC7C,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;aACJ,CAAC,CACL;QAzDD,CAyDC;IA1DL,CA0DK,CAAC;AACd,CAAC,EA9DgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QA8DvC"}
1
+ {"version":3,"file":"ValidatePruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidatePruneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,wDAAuD;AAIvD,qDAAoD;AACpD,2DAA0D;AAE1D,IAAiB,uBAAuB,CAwEvC;AAxED,WAAiB,uBAAuB;IACvB,gCAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;gBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B;aACJ,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,4BAAqB,yBAAW,CAAC,WAAW,CACxC,OAAO,CAAC,OAAO,EACf,IAAI,CACP,MAAG,CACP,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,UAAU,EACV,uCAAkB,CAAC,QAAQ,uBAEhB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,IAAI,QAGrB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,mCAAgB,CAAC,QAAQ,CACrB,OAAO,EACP,iCAAe,CAAC,QAAQ,uBAEb,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,CAAC,CACV;gBACD,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,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;gBACD,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAC7C,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;aACJ,CAAC,CACL;QAnED,CAmEC;IApEL,CAoEK,CAAC;AACd,CAAC,EAxEgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAwEvC"}