typia 5.1.6 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/lib/CamelCase.d.ts +32 -0
  2. package/lib/CamelCase.js +3 -0
  3. package/lib/CamelCase.js.map +1 -0
  4. package/lib/PascalCase.d.ts +32 -0
  5. package/lib/PascalCase.js +3 -0
  6. package/lib/PascalCase.js.map +1 -0
  7. package/lib/Primitive.d.ts +1 -1
  8. package/lib/Resolved.d.ts +5 -5
  9. package/lib/SnakeCase.d.ts +34 -0
  10. package/lib/SnakeCase.js +3 -0
  11. package/lib/SnakeCase.js.map +1 -0
  12. package/lib/functional/$convention.d.ts +1 -0
  13. package/lib/functional/$convention.js +63 -0
  14. package/lib/functional/$convention.js.map +1 -0
  15. package/lib/functional/Namespace.js +9 -0
  16. package/lib/functional/Namespace.js.map +1 -1
  17. package/lib/module.d.ts +5 -1
  18. package/lib/module.js +6 -2
  19. package/lib/module.js.map +1 -1
  20. package/lib/notations.d.ts +538 -0
  21. package/lib/notations.js +146 -0
  22. package/lib/notations.js.map +1 -0
  23. package/lib/programmers/helpers/NotationJoiner.d.ts +7 -0
  24. package/lib/programmers/helpers/NotationJoiner.js +85 -0
  25. package/lib/programmers/helpers/NotationJoiner.js.map +1 -0
  26. package/lib/programmers/misc/MiscCloneProgrammer.js +12 -1
  27. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  28. package/lib/programmers/misc/MiscPruneProgrammer.js +2 -1
  29. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  30. package/lib/programmers/notations/NotationAssertGeneralProgrammer.d.ts +5 -0
  31. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +44 -0
  32. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -0
  33. package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +6 -0
  34. package/lib/programmers/notations/NotationGeneralProgrammer.js +490 -0
  35. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -0
  36. package/lib/programmers/notations/NotationIsGeneralProgrammer.d.ts +5 -0
  37. package/lib/programmers/notations/NotationIsGeneralProgrammer.js +47 -0
  38. package/lib/programmers/notations/NotationIsGeneralProgrammer.js.map +1 -0
  39. package/lib/programmers/notations/NotationValidateGeneralProgrammer.d.ts +5 -0
  40. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +44 -0
  41. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -0
  42. package/lib/transformers/CallExpressionTransformer.js +99 -16
  43. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  44. package/lib/transformers/features/json/JsonAssertParseTransformer.js +1 -1
  45. package/lib/transformers/features/json/JsonAssertParseTransformer.js.map +1 -1
  46. package/lib/transformers/features/json/JsonAssertStringifyTransformer.js +1 -1
  47. package/lib/transformers/features/json/JsonAssertStringifyTransformer.js.map +1 -1
  48. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.js +1 -1
  49. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.js.map +1 -1
  50. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.js +1 -1
  51. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.js.map +1 -1
  52. package/lib/transformers/features/json/JsonCreateIsParseTransformer.js +1 -1
  53. package/lib/transformers/features/json/JsonCreateIsParseTransformer.js.map +1 -1
  54. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.js +1 -1
  55. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.js.map +1 -1
  56. package/lib/transformers/features/json/JsonCreateStringifyTransformer.js +1 -1
  57. package/lib/transformers/features/json/JsonCreateStringifyTransformer.js.map +1 -1
  58. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.js +1 -1
  59. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.js.map +1 -1
  60. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.js +1 -1
  61. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.js.map +1 -1
  62. package/lib/transformers/features/json/JsonIsParseTransformer.js +1 -1
  63. package/lib/transformers/features/json/JsonIsParseTransformer.js.map +1 -1
  64. package/lib/transformers/features/json/JsonIsStringifyTransformer.js +1 -1
  65. package/lib/transformers/features/json/JsonIsStringifyTransformer.js.map +1 -1
  66. package/lib/transformers/features/json/JsonStringifyTransformer.js +1 -1
  67. package/lib/transformers/features/json/JsonStringifyTransformer.js.map +1 -1
  68. package/lib/transformers/features/json/JsonValidateParseTransformer.js +1 -1
  69. package/lib/transformers/features/json/JsonValidateParseTransformer.js.map +1 -1
  70. package/lib/transformers/features/json/JsonValidateStringifyTransformer.js +1 -1
  71. package/lib/transformers/features/json/JsonValidateStringifyTransformer.js.map +1 -1
  72. package/lib/transformers/features/misc/MiscAssertCloneTransformer.js +1 -1
  73. package/lib/transformers/features/misc/MiscAssertCloneTransformer.js.map +1 -1
  74. package/lib/transformers/features/misc/MiscAssertPruneTransformer.js +1 -1
  75. package/lib/transformers/features/misc/MiscAssertPruneTransformer.js.map +1 -1
  76. package/lib/transformers/features/misc/MiscCloneTransformer.js +1 -1
  77. package/lib/transformers/features/misc/MiscCloneTransformer.js.map +1 -1
  78. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.js +1 -1
  79. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.js.map +1 -1
  80. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.js +1 -1
  81. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.js.map +1 -1
  82. package/lib/transformers/features/misc/MiscCreateCloneTransformer.js +1 -1
  83. package/lib/transformers/features/misc/MiscCreateCloneTransformer.js.map +1 -1
  84. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.js +1 -1
  85. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.js.map +1 -1
  86. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js +1 -1
  87. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js.map +1 -1
  88. package/lib/transformers/features/misc/MiscCreatePruneTransformer.js +1 -1
  89. package/lib/transformers/features/misc/MiscCreatePruneTransformer.js.map +1 -1
  90. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.js +1 -1
  91. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.js.map +1 -1
  92. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.js +1 -1
  93. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.js.map +1 -1
  94. package/lib/transformers/features/misc/MiscIsCloneTransformer.js +1 -1
  95. package/lib/transformers/features/misc/MiscIsCloneTransformer.js.map +1 -1
  96. package/lib/transformers/features/misc/MiscIsPruneTransformer.js +1 -1
  97. package/lib/transformers/features/misc/MiscIsPruneTransformer.js.map +1 -1
  98. package/lib/transformers/features/misc/MiscPruneTransformer.js +1 -1
  99. package/lib/transformers/features/misc/MiscPruneTransformer.js.map +1 -1
  100. package/lib/transformers/features/misc/MiscValidateCloneTransformer.js +1 -1
  101. package/lib/transformers/features/misc/MiscValidateCloneTransformer.js.map +1 -1
  102. package/lib/transformers/features/misc/MiscValidatePruneTransformer.js +1 -1
  103. package/lib/transformers/features/misc/MiscValidatePruneTransformer.js.map +1 -1
  104. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.d.ts +4 -0
  105. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.js +15 -0
  106. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.js.map +1 -0
  107. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.d.ts +4 -0
  108. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.js +15 -0
  109. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.js.map +1 -0
  110. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.d.ts +4 -0
  111. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.js +15 -0
  112. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.js.map +1 -0
  113. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.d.ts +4 -0
  114. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.js +15 -0
  115. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.js.map +1 -0
  116. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.d.ts +4 -0
  117. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.js +15 -0
  118. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.js.map +1 -0
  119. package/lib/transformers/features/notations/NotationGeneralTransformer.d.ts +4 -0
  120. package/lib/transformers/features/notations/NotationGeneralTransformer.js +14 -0
  121. package/lib/transformers/features/notations/NotationGeneralTransformer.js.map +1 -0
  122. package/lib/transformers/features/notations/NotationIsGeneralTransformer.d.ts +4 -0
  123. package/lib/transformers/features/notations/NotationIsGeneralTransformer.js +15 -0
  124. package/lib/transformers/features/notations/NotationIsGeneralTransformer.js.map +1 -0
  125. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.d.ts +4 -0
  126. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.js +15 -0
  127. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.js.map +1 -0
  128. package/lib/transformers/features/protobuf/{CreateProtobufAssertDecodeTransformer.d.ts → ProtobufCreateAssertDecodeTransformer.d.ts} +1 -1
  129. package/lib/transformers/features/protobuf/{CreateProtobufAssertDecodeTransformer.js → ProtobufCreateAssertDecodeTransformer.js} +6 -6
  130. package/lib/transformers/features/protobuf/{CreateProtobufAssertEncodeTransformer.js.map → ProtobufCreateAssertDecodeTransformer.js.map} +1 -1
  131. package/lib/transformers/features/protobuf/{CreateProtobufAssertEncodeTransformer.d.ts → ProtobufCreateAssertEncodeTransformer.d.ts} +1 -1
  132. package/lib/transformers/features/protobuf/{CreateProtobufAssertEncodeTransformer.js → ProtobufCreateAssertEncodeTransformer.js} +6 -6
  133. package/lib/transformers/features/protobuf/{CreateProtobufAssertDecodeTransformer.js.map → ProtobufCreateAssertEncodeTransformer.js.map} +1 -1
  134. package/lib/transformers/features/protobuf/{CreateProtobufDecodeTransformer.d.ts → ProtobufCreateDecodeTransformer.d.ts} +1 -1
  135. package/lib/transformers/features/protobuf/{CreateProtobufDecodeTransformer.js → ProtobufCreateDecodeTransformer.js} +6 -6
  136. package/lib/transformers/features/protobuf/{CreateProtobufDecodeTransformer.js.map → ProtobufCreateDecodeTransformer.js.map} +1 -1
  137. package/lib/transformers/features/protobuf/{CreateProtobufEncodeTransformer.d.ts → ProtobufCreateEncodeTransformer.d.ts} +1 -1
  138. package/lib/transformers/features/protobuf/{CreateProtobufEncodeTransformer.js → ProtobufCreateEncodeTransformer.js} +6 -6
  139. package/lib/transformers/features/protobuf/{CreateProtobufEncodeTransformer.js.map → ProtobufCreateEncodeTransformer.js.map} +1 -1
  140. package/lib/transformers/features/protobuf/{CreateProtobufIsDecodeTransformer.d.ts → ProtobufCreateIsDecodeTransformer.d.ts} +1 -1
  141. package/lib/transformers/features/protobuf/{CreateProtobufIsDecodeTransformer.js → ProtobufCreateIsDecodeTransformer.js} +6 -6
  142. package/lib/transformers/features/protobuf/{CreateProtobufIsDecodeTransformer.js.map → ProtobufCreateIsDecodeTransformer.js.map} +1 -1
  143. package/lib/transformers/features/protobuf/{CreateProtobufIsEncodeTransformer.d.ts → ProtobufCreateIsEncodeTransformer.d.ts} +1 -1
  144. package/lib/transformers/features/protobuf/{CreateProtobufIsEncodeTransformer.js → ProtobufCreateIsEncodeTransformer.js} +6 -6
  145. package/lib/transformers/features/protobuf/{CreateProtobufIsEncodeTransformer.js.map → ProtobufCreateIsEncodeTransformer.js.map} +1 -1
  146. package/lib/transformers/features/protobuf/{CreateProtobufValidateDecodeTransformer.d.ts → ProtobufCreateValidateDecodeTransformer.d.ts} +1 -1
  147. package/lib/transformers/features/protobuf/{CreateProtobufValidateDecodeTransformer.js → ProtobufCreateValidateDecodeTransformer.js} +6 -6
  148. package/lib/transformers/features/protobuf/{CreateProtobufValidateDecodeTransformer.js.map → ProtobufCreateValidateDecodeTransformer.js.map} +1 -1
  149. package/lib/transformers/features/protobuf/{CreateProtobufValidateEncodeTransformer.d.ts → ProtobufCreateValidateEncodeTransformer.d.ts} +1 -1
  150. package/lib/transformers/features/protobuf/{CreateProtobufValidateEncodeTransformer.js → ProtobufCreateValidateEncodeTransformer.js} +6 -6
  151. package/lib/transformers/features/protobuf/{CreateProtobufValidateEncodeTransformer.js.map → ProtobufCreateValidateEncodeTransformer.js.map} +1 -1
  152. package/lib/utils/NamingConvention.d.ts +5 -0
  153. package/lib/utils/NamingConvention.js +115 -0
  154. package/lib/utils/NamingConvention.js.map +1 -0
  155. package/lib/utils/StringUtil.d.ts +3 -0
  156. package/lib/utils/StringUtil.js +10 -0
  157. package/lib/utils/StringUtil.js.map +1 -0
  158. package/package.json +2 -1
  159. package/src/CamelCase.ts +116 -0
  160. package/src/PascalCase.ts +116 -0
  161. package/src/Primitive.ts +135 -135
  162. package/src/Resolved.ts +116 -116
  163. package/src/SnakeCase.ts +156 -0
  164. package/src/functional/$convention.ts +40 -0
  165. package/src/functional/Namespace.ts +164 -142
  166. package/src/module.ts +662 -657
  167. package/src/notations.ts +855 -0
  168. package/src/programmers/helpers/NotationJoiner.ts +146 -0
  169. package/src/programmers/misc/MiscCloneProgrammer.ts +790 -774
  170. package/src/programmers/misc/MiscPruneProgrammer.ts +552 -550
  171. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +72 -0
  172. package/src/programmers/notations/NotationGeneralProgrammer.ts +720 -0
  173. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +79 -0
  174. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +88 -0
  175. package/src/transformers/CallExpressionTransformer.ts +380 -289
  176. package/src/transformers/features/json/JsonAssertParseTransformer.ts +10 -10
  177. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +10 -10
  178. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +12 -10
  179. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +12 -12
  180. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +9 -9
  181. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +12 -10
  182. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +9 -9
  183. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +12 -10
  184. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +12 -12
  185. package/src/transformers/features/json/JsonIsParseTransformer.ts +9 -9
  186. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +10 -10
  187. package/src/transformers/features/json/JsonStringifyTransformer.ts +9 -9
  188. package/src/transformers/features/json/JsonValidateParseTransformer.ts +10 -10
  189. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +10 -10
  190. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +10 -10
  191. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +10 -10
  192. package/src/transformers/features/misc/MiscCloneTransformer.ts +9 -9
  193. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +12 -10
  194. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +12 -10
  195. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +9 -9
  196. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +9 -9
  197. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +9 -9
  198. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +9 -9
  199. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +12 -10
  200. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +12 -10
  201. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +9 -9
  202. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +9 -9
  203. package/src/transformers/features/misc/MiscPruneTransformer.ts +9 -9
  204. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +10 -10
  205. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +10 -10
  206. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +15 -0
  207. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +15 -0
  208. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +15 -0
  209. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +15 -0
  210. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +17 -0
  211. package/src/transformers/features/notations/NotationGeneralTransformer.ts +11 -0
  212. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +15 -0
  213. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +17 -0
  214. package/src/transformers/features/protobuf/{CreateProtobufAssertDecodeTransformer.ts → ProtobufCreateAssertDecodeTransformer.ts} +12 -12
  215. package/src/transformers/features/protobuf/{CreateProtobufAssertEncodeTransformer.ts → ProtobufCreateAssertEncodeTransformer.ts} +12 -12
  216. package/src/transformers/features/protobuf/{CreateProtobufDecodeTransformer.ts → ProtobufCreateDecodeTransformer.ts} +9 -9
  217. package/src/transformers/features/protobuf/{CreateProtobufEncodeTransformer.ts → ProtobufCreateEncodeTransformer.ts} +9 -9
  218. package/src/transformers/features/protobuf/{CreateProtobufIsDecodeTransformer.ts → ProtobufCreateIsDecodeTransformer.ts} +12 -12
  219. package/src/transformers/features/protobuf/{CreateProtobufIsEncodeTransformer.ts → ProtobufCreateIsEncodeTransformer.ts} +12 -12
  220. package/src/transformers/features/protobuf/{CreateProtobufValidateDecodeTransformer.ts → ProtobufCreateValidateDecodeTransformer.ts} +12 -12
  221. package/src/transformers/features/protobuf/{CreateProtobufValidateEncodeTransformer.ts → ProtobufCreateValidateEncodeTransformer.ts} +12 -12
  222. package/src/utils/NamingConvention.ts +91 -0
  223. package/src/utils/StringUtil.ts +4 -0
@@ -0,0 +1,490 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
29
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
31
+ if (ar || !(i in from)) {
32
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
33
+ ar[i] = from[i];
34
+ }
35
+ }
36
+ return to.concat(ar || Array.prototype.slice.call(from));
37
+ };
38
+ var __values = (this && this.__values) || function(o) {
39
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
+ if (m) return m.call(o);
41
+ if (o && typeof o.length === "number") return {
42
+ next: function () {
43
+ if (o && i >= o.length) o = void 0;
44
+ return { value: o && o[i++], done: !o };
45
+ }
46
+ };
47
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.NotationGeneralProgrammer = void 0;
54
+ var typescript_1 = __importDefault(require("typescript"));
55
+ var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
56
+ var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
57
+ var MetadataCollection_1 = require("../../factories/MetadataCollection");
58
+ var MetadataFactory_1 = require("../../factories/MetadataFactory");
59
+ var StatementFactory_1 = require("../../factories/StatementFactory");
60
+ var TypeFactory_1 = require("../../factories/TypeFactory");
61
+ var Metadata_1 = require("../../schemas/metadata/Metadata");
62
+ var MetadataArray_1 = require("../../schemas/metadata/MetadataArray");
63
+ var TransformerError_1 = require("../../transformers/TransformerError");
64
+ var StringUtil_1 = require("../../utils/StringUtil");
65
+ var FeatureProgrammer_1 = require("../FeatureProgrammer");
66
+ var IsProgrammer_1 = require("../IsProgrammer");
67
+ var FunctionImporeter_1 = require("../helpers/FunctionImporeter");
68
+ var NotationJoiner_1 = require("../helpers/NotationJoiner");
69
+ var UnionExplorer_1 = require("../helpers/UnionExplorer");
70
+ var decode_union_object_1 = require("../internal/decode_union_object");
71
+ var wrap_metadata_rest_tuple_1 = require("../internal/wrap_metadata_rest_tuple");
72
+ var NotationGeneralProgrammer;
73
+ (function (NotationGeneralProgrammer) {
74
+ NotationGeneralProgrammer.returnType = function (rename) { return function (type) {
75
+ return "typia.".concat(StringUtil_1.StringUtil.capitalize(rename.name), "Case<").concat(type, ">");
76
+ }; };
77
+ NotationGeneralProgrammer.write = function (rename) {
78
+ return function (project) {
79
+ return function (modulo) {
80
+ var importer = new FunctionImporeter_1.FunctionImporter(modulo.getText());
81
+ return FeatureProgrammer_1.FeatureProgrammer.write(project)(__assign(__assign({}, configure(rename)(project)(importer)), { addition: function (collection) { return __spreadArray(__spreadArray([], __read(IsProgrammer_1.IsProgrammer.write_function_statements(project)(importer)(collection)), false), __read(importer.declare(modulo)), false); } }))(importer);
82
+ };
83
+ };
84
+ };
85
+ var write_array_functions = function (config) {
86
+ return function (importer) {
87
+ return function (collection) {
88
+ return collection
89
+ .arrays()
90
+ .filter(function (a) { return a.recursive; })
91
+ .map(function (type, i) {
92
+ return StatementFactory_1.StatementFactory.constant("".concat(config.prefix, "a").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_array_inline(config)(importer)(typescript_1.default.factory.createIdentifier("input"), MetadataArray_1.MetadataArray.create({
93
+ type: type,
94
+ tags: [],
95
+ }), {
96
+ tracable: config.trace,
97
+ source: "function",
98
+ from: "array",
99
+ postfix: "",
100
+ })));
101
+ });
102
+ };
103
+ };
104
+ };
105
+ var write_tuple_functions = function (project) {
106
+ return function (config) {
107
+ return function (importer) {
108
+ return function (collection) {
109
+ return collection
110
+ .tuples()
111
+ .filter(function (t) { return t.recursive; })
112
+ .map(function (tuple, i) {
113
+ return StatementFactory_1.StatementFactory.constant("".concat(config.prefix, "t").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_tuple_inline(project)(config)(importer)(typescript_1.default.factory.createIdentifier("input"), tuple, {
114
+ tracable: config.trace,
115
+ source: "function",
116
+ from: "array",
117
+ postfix: "",
118
+ })));
119
+ });
120
+ };
121
+ };
122
+ };
123
+ };
124
+ var decode = function (project) {
125
+ return function (config) {
126
+ return function (importer) {
127
+ return function (input, meta, explore) {
128
+ var e_1, _a, e_2, _b, e_3, _c;
129
+ if (meta.any ||
130
+ meta.arrays.some(function (a) { return a.type.value.any; }) ||
131
+ meta.tuples.some(function (t) {
132
+ return !!t.type.elements.length &&
133
+ t.type.elements.every(function (e) { return e.any; });
134
+ }))
135
+ return typescript_1.default.factory.createCallExpression(importer.use("any"), undefined, [input]);
136
+ var unions = [];
137
+ if (meta.functional)
138
+ unions.push({
139
+ type: "functional",
140
+ is: function () {
141
+ return typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("function"), typescript_1.default.factory.createTypeOfExpression(input));
142
+ },
143
+ value: function () { return typescript_1.default.factory.createIdentifier("undefined"); },
144
+ });
145
+ var _loop_1 = function (tuple) {
146
+ unions.push({
147
+ type: "tuple",
148
+ is: function () {
149
+ return IsProgrammer_1.IsProgrammer.decode(project)(importer)(input, (function () {
150
+ var partial = Metadata_1.Metadata.initialize();
151
+ partial.tuples.push(tuple);
152
+ return partial;
153
+ })(), explore);
154
+ },
155
+ value: function () {
156
+ return decode_tuple(project)(config)(importer)(input, tuple, explore);
157
+ },
158
+ });
159
+ };
160
+ try {
161
+ for (var _d = __values(meta.tuples), _e = _d.next(); !_e.done; _e = _d.next()) {
162
+ var tuple = _e.value;
163
+ _loop_1(tuple);
164
+ }
165
+ }
166
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
167
+ finally {
168
+ try {
169
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
170
+ }
171
+ finally { if (e_1) throw e_1.error; }
172
+ }
173
+ if (meta.arrays.length)
174
+ unions.push({
175
+ type: "array",
176
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isArray(input); },
177
+ value: function () {
178
+ return explore_arrays(project)(config)(importer)(input, meta.arrays, __assign(__assign({}, explore), { from: "array" }));
179
+ },
180
+ });
181
+ if (meta.sets.length)
182
+ unions.push({
183
+ type: "set",
184
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf("Set")(input); },
185
+ value: function () {
186
+ return explore_sets(project)(config)(importer)(input, meta.sets, __assign(__assign({}, explore), { from: "array" }));
187
+ },
188
+ });
189
+ if (meta.maps.length)
190
+ unions.push({
191
+ type: "map",
192
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf("Map")(input); },
193
+ value: function () {
194
+ return explore_maps(project)(config)(importer)(input, meta.maps, __assign(__assign({}, explore), { from: "array" }));
195
+ },
196
+ });
197
+ var _loop_2 = function (native) {
198
+ if (native === "WeakSet" || native === "WeakMap")
199
+ return "continue";
200
+ unions.push({
201
+ type: "native",
202
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf(native)(input); },
203
+ value: function () {
204
+ return native === "Boolean" ||
205
+ native === "Number" ||
206
+ native === "String"
207
+ ? typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("valueOf"), undefined, undefined)
208
+ : decode_native(native)(input);
209
+ },
210
+ });
211
+ };
212
+ try {
213
+ for (var _f = __values(meta.natives), _g = _f.next(); !_g.done; _g = _f.next()) {
214
+ var native = _g.value;
215
+ _loop_2(native);
216
+ }
217
+ }
218
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
219
+ finally {
220
+ try {
221
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
222
+ }
223
+ finally { if (e_2) throw e_2.error; }
224
+ }
225
+ if (meta.objects.length)
226
+ unions.push({
227
+ type: "object",
228
+ is: function () {
229
+ return ExpressionFactory_1.ExpressionFactory.isObject({
230
+ checkNull: true,
231
+ checkArray: false,
232
+ })(input);
233
+ },
234
+ value: function () {
235
+ return explore_objects(config)(importer)(input, meta, __assign(__assign({}, explore), { from: "object" }));
236
+ },
237
+ });
238
+ var last = input;
239
+ try {
240
+ for (var _h = __values(unions.reverse()), _j = _h.next(); !_j.done; _j = _h.next()) {
241
+ var u = _j.value;
242
+ last = typescript_1.default.factory.createConditionalExpression(u.is(), undefined, u.value(), undefined, last);
243
+ }
244
+ }
245
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
246
+ finally {
247
+ try {
248
+ if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
249
+ }
250
+ finally { if (e_3) throw e_3.error; }
251
+ }
252
+ return typescript_1.default.factory.createAsExpression(last, TypeFactory_1.TypeFactory.keyword("any"));
253
+ };
254
+ };
255
+ };
256
+ };
257
+ var decode_object = function (importer) {
258
+ return FeatureProgrammer_1.FeatureProgrammer.decode_object({
259
+ trace: false,
260
+ path: false,
261
+ prefix: PREFIX,
262
+ })(importer);
263
+ };
264
+ var decode_array = function (config) {
265
+ return function (importer) {
266
+ return function (input, array, explore) {
267
+ return array.type.recursive
268
+ ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal("".concat(config.prefix, "a").concat(array.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(__assign(__assign({}, explore), { source: "function", from: "array" }))(input))
269
+ : decode_array_inline(config)(importer)(input, array, explore);
270
+ };
271
+ };
272
+ };
273
+ var decode_array_inline = function (config) {
274
+ return function (importer) {
275
+ return function (input, array, explore) {
276
+ return FeatureProgrammer_1.FeatureProgrammer.decode_array(config)(importer)(NotationJoiner_1.NotationJoiner.array)(input, array, explore);
277
+ };
278
+ };
279
+ };
280
+ var decode_tuple = function (project) {
281
+ return function (config) {
282
+ return function (importer) {
283
+ return function (input, tuple, explore) {
284
+ return tuple.type.recursive
285
+ ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal("".concat(config.prefix, "t").concat(tuple.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(__assign(__assign({}, explore), { source: "function" }))(input))
286
+ : decode_tuple_inline(project)(config)(importer)(input, tuple.type, explore);
287
+ };
288
+ };
289
+ };
290
+ };
291
+ var decode_tuple_inline = function (project) {
292
+ return function (config) {
293
+ return function (importer) {
294
+ return function (input, tuple, explore) {
295
+ var children = tuple.elements
296
+ .filter(function (m) { return m.rest === null; })
297
+ .map(function (elem, index) {
298
+ return decode(project)(config)(importer)(typescript_1.default.factory.createElementAccessExpression(input, index), elem, __assign(__assign({}, explore), { from: "array", postfix: explore.postfix.length
299
+ ? "".concat(explore.postfix.slice(0, -1), "[").concat(index, "]\"")
300
+ : "\"[".concat(index, "]\"") }));
301
+ });
302
+ var rest = (function () {
303
+ if (tuple.elements.length === 0)
304
+ return null;
305
+ var last = tuple.elements.at(-1);
306
+ var rest = last.rest;
307
+ if (rest === null)
308
+ return null;
309
+ return decode(project)(config)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("slice"), undefined, [
310
+ typescript_1.default.factory.createNumericLiteral(tuple.elements.length - 1),
311
+ ]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.at(-1).rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }));
312
+ })();
313
+ return NotationJoiner_1.NotationJoiner.tuple(children, rest);
314
+ };
315
+ };
316
+ };
317
+ };
318
+ var decode_native = function (type) { return function (input) {
319
+ return type === "Date"
320
+ ? typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier(type), undefined, [input])
321
+ : input;
322
+ }; };
323
+ var explore_sets = function (project) {
324
+ return function (config) {
325
+ return function (importer) {
326
+ return function (input, sets, explore) {
327
+ return typescript_1.default.factory.createCallExpression(UnionExplorer_1.UnionExplorer.set({
328
+ checker: IsProgrammer_1.IsProgrammer.decode(project)(importer),
329
+ decoder: function (input, array, explore) {
330
+ return typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Set"), [TypeFactory_1.TypeFactory.keyword("any")], [
331
+ decode_array(config)(importer)(input, array, explore),
332
+ ]);
333
+ },
334
+ empty: typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Set"), [TypeFactory_1.TypeFactory.keyword("any")], []),
335
+ success: typescript_1.default.factory.createTrue(),
336
+ failure: function (input, expected) {
337
+ return create_throw_error(importer)(expected)(input);
338
+ },
339
+ })([])(input, sets, explore), undefined, undefined);
340
+ };
341
+ };
342
+ };
343
+ };
344
+ var explore_maps = function (project) {
345
+ return function (config) {
346
+ return function (importer) {
347
+ return function (input, maps, explore) {
348
+ return typescript_1.default.factory.createCallExpression(UnionExplorer_1.UnionExplorer.map({
349
+ checker: function (top, entry, explore) {
350
+ var func = IsProgrammer_1.IsProgrammer.decode(project)(importer);
351
+ return typescript_1.default.factory.createLogicalAnd(func(typescript_1.default.factory.createElementAccessExpression(top, 0), entry[0], __assign(__assign({}, explore), { postfix: "".concat(explore.postfix, "[0]") })), func(typescript_1.default.factory.createElementAccessExpression(top, 1), entry[1], __assign(__assign({}, explore), { postfix: "".concat(explore.postfix, "[1]") })));
352
+ },
353
+ decoder: function (input, array, explore) {
354
+ return typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Map"), [
355
+ TypeFactory_1.TypeFactory.keyword("any"),
356
+ TypeFactory_1.TypeFactory.keyword("any"),
357
+ ], [
358
+ decode_array(config)(importer)(input, array, explore),
359
+ ]);
360
+ },
361
+ empty: typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Map"), [
362
+ TypeFactory_1.TypeFactory.keyword("any"),
363
+ TypeFactory_1.TypeFactory.keyword("any"),
364
+ ], []),
365
+ success: typescript_1.default.factory.createTrue(),
366
+ failure: function (input, expected) {
367
+ return create_throw_error(importer)(expected)(input);
368
+ },
369
+ })([])(input, maps, explore), undefined, undefined);
370
+ };
371
+ };
372
+ };
373
+ };
374
+ var explore_objects = function (config) {
375
+ return function (importer) {
376
+ return function (input, meta, explore) {
377
+ if (meta.objects.length === 1)
378
+ return decode_object(importer)(input, meta.objects[0], explore);
379
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal("".concat(PREFIX, "u").concat(meta.union_index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(explore)(input));
380
+ };
381
+ };
382
+ };
383
+ var explore_arrays = function (project) {
384
+ return function (config) {
385
+ return function (importer) {
386
+ return function (input, elements, explore) {
387
+ return explore_array_like_union_types(config)(importer)(UnionExplorer_1.UnionExplorer.array({
388
+ checker: IsProgrammer_1.IsProgrammer.decode(project)(importer),
389
+ decoder: decode_array(config)(importer),
390
+ empty: typescript_1.default.factory.createIdentifier("[]"),
391
+ success: typescript_1.default.factory.createTrue(),
392
+ failure: function (input, expected) {
393
+ return create_throw_error(importer)(expected)(input);
394
+ },
395
+ }))(input, elements, explore);
396
+ };
397
+ };
398
+ };
399
+ };
400
+ var explore_array_like_union_types = function (config) {
401
+ return function (importer) {
402
+ return function (factory) {
403
+ return function (input, elements, explore) {
404
+ var arrow = function (parameters) {
405
+ return function (explore) {
406
+ return function (input) {
407
+ return factory(parameters)(input, elements, explore);
408
+ };
409
+ };
410
+ };
411
+ if (elements.every(function (e) { return e.type.recursive === false; }))
412
+ typescript_1.default.factory.createCallExpression(arrow([])(explore)(input), undefined, []);
413
+ explore = __assign(__assign({}, explore), { source: "function", from: "array" });
414
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.emplaceUnion(config.prefix, elements.map(function (e) { return e.type.name; }).join(" | "), function () {
415
+ return arrow(FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")))(__assign(__assign({}, explore), { postfix: "" }))(typescript_1.default.factory.createIdentifier("input"));
416
+ })), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(explore)(input));
417
+ };
418
+ };
419
+ };
420
+ };
421
+ var PREFIX = "$c";
422
+ var configure = function (rename) {
423
+ return function (project) {
424
+ return function (importer) {
425
+ var config = {
426
+ types: {
427
+ input: function (type, name) {
428
+ return typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker)(type));
429
+ },
430
+ output: function (type, name) {
431
+ return typescript_1.default.factory.createTypeReferenceNode(NotationGeneralProgrammer.returnType(rename)(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker)(type)));
432
+ },
433
+ },
434
+ prefix: PREFIX,
435
+ trace: false,
436
+ path: false,
437
+ initializer: initializer,
438
+ decoder: function () { return decode(project)(config)(importer); },
439
+ objector: {
440
+ checker: function () { return IsProgrammer_1.IsProgrammer.decode(project)(importer); },
441
+ decoder: function () { return decode_object(importer); },
442
+ joiner: NotationJoiner_1.NotationJoiner.object(rename),
443
+ unionizer: (0, decode_union_object_1.decode_union_object)(IsProgrammer_1.IsProgrammer.decode_object(importer))(decode_object(importer))(function (exp) { return exp; })(function (input, expected) {
444
+ return create_throw_error(importer)(expected)(input);
445
+ }),
446
+ failure: function (input, expected) {
447
+ return create_throw_error(importer)(expected)(input);
448
+ },
449
+ },
450
+ generator: {
451
+ arrays: function () { return write_array_functions(config)(importer); },
452
+ tuples: function () {
453
+ return write_tuple_functions(project)(config)(importer);
454
+ },
455
+ },
456
+ };
457
+ return config;
458
+ };
459
+ };
460
+ };
461
+ var initializer = function (_a) {
462
+ var checker = _a.checker;
463
+ return function (importer) {
464
+ return function (type) {
465
+ var collection = new MetadataCollection_1.MetadataCollection();
466
+ var result = MetadataFactory_1.MetadataFactory.analyze(checker)({
467
+ escape: false,
468
+ constant: true,
469
+ absorb: true,
470
+ })(collection)(type);
471
+ if (result.success === false)
472
+ throw TransformerError_1.TransformerError.from("typia.misc.".concat(importer.method))(result.errors);
473
+ return [collection, result.data];
474
+ };
475
+ };
476
+ };
477
+ var create_throw_error = function (importer) {
478
+ return function (expected) {
479
+ return function (value) {
480
+ return typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(importer.use("throws"), [], [
481
+ typescript_1.default.factory.createObjectLiteralExpression([
482
+ typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(expected)),
483
+ typescript_1.default.factory.createPropertyAssignment("value", value),
484
+ ], true),
485
+ ]));
486
+ };
487
+ };
488
+ };
489
+ })(NotationGeneralProgrammer || (exports.NotationGeneralProgrammer = NotationGeneralProgrammer = {}));
490
+ //# sourceMappingURL=NotationGeneralProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotationGeneralProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/notations/NotationGeneralProgrammer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../../transformers/IProject";
3
+ export declare namespace NotationIsGeneralProgrammer {
4
+ const write: (rename: (str: string) => string) => (project: IProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type, name?: string) => ts.ArrowFunction;
5
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.NotationIsGeneralProgrammer = void 0;
18
+ var typescript_1 = __importDefault(require("typescript"));
19
+ var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
20
+ var StatementFactory_1 = require("../../factories/StatementFactory");
21
+ var TypeFactory_1 = require("../../factories/TypeFactory");
22
+ var IsProgrammer_1 = require("../IsProgrammer");
23
+ var NotationGeneralProgrammer_1 = require("./NotationGeneralProgrammer");
24
+ var NotationIsGeneralProgrammer;
25
+ (function (NotationIsGeneralProgrammer) {
26
+ NotationIsGeneralProgrammer.write = function (rename) {
27
+ return function (project) {
28
+ return function (modulo) {
29
+ return function (type, name) {
30
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
31
+ IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
32
+ ], typescript_1.default.factory.createUnionTypeNode([
33
+ typescript_1.default.factory.createTypeReferenceNode(NotationGeneralProgrammer_1.NotationGeneralProgrammer.returnType(rename)(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker)(type))),
34
+ typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createNull()),
35
+ ]), undefined, typescript_1.default.factory.createBlock([
36
+ StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.write(project)(modulo)(false)(type, name)),
37
+ StatementFactory_1.StatementFactory.constant("general", NotationGeneralProgrammer_1.NotationGeneralProgrammer.write(rename)(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(type, name)),
38
+ 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.createNull())),
39
+ StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("general"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
40
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
41
+ ]));
42
+ };
43
+ };
44
+ };
45
+ };
46
+ })(NotationIsGeneralProgrammer || (exports.NotationIsGeneralProgrammer = NotationIsGeneralProgrammer = {}));
47
+ //# sourceMappingURL=NotationIsGeneralProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NotationIsGeneralProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/notations/NotationIsGeneralProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,qEAAoE;AACpE,2DAA0D;AAI1D,gDAA+C;AAC/C,yEAAwE;AAExE,IAAiB,2BAA2B,CAmE3C;AAnED,WAAiB,2BAA2B;IAC3B,iCAAK,GACd,UAAC,MAA+B;QAChC,OAAA,UAAC,OAAiB;YAClB,OAAA,UAAC,MAAiC;gBAClC,OAAA,UAAC,IAAa,EAAE,IAAa;oBACzB,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;wBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B;qBACJ,EACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;wBAC3B,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,qDAAyB,CAAC,UAAU,CAAC,MAAM,CAAC,CACxC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GACA,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CACrD,CACJ;wBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;qBAC5D,CAAC,EACF,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;wBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CACzD;wBACD,mCAAgB,CAAC,QAAQ,CACrB,SAAS,EACT,qDAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,uBAChC,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEpB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CACzB;wBACD,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,UAAU,EAAE,CAC1B,CACJ;wBACD,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACtC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;wBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;qBACJ,CAAC,CACL;gBA5DD,CA4DC;YA7DL,CA6DK;QA9DL,CA8DK;IA/DL,CA+DK,CAAC;AACd,CAAC,EAnEgB,2BAA2B,2CAA3B,2BAA2B,QAmE3C"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../../transformers/IProject";
3
+ export declare namespace NotationValidateGeneralProgrammer {
4
+ const write: (rename: (str: string) => string) => (project: IProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type, name?: string) => ts.ArrowFunction;
5
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.NotationValidateGeneralProgrammer = void 0;
18
+ var typescript_1 = __importDefault(require("typescript"));
19
+ var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
20
+ var StatementFactory_1 = require("../../factories/StatementFactory");
21
+ var TypeFactory_1 = require("../../factories/TypeFactory");
22
+ var ValidateProgrammer_1 = require("../ValidateProgrammer");
23
+ var NotationGeneralProgrammer_1 = require("./NotationGeneralProgrammer");
24
+ var NotationValidateGeneralProgrammer;
25
+ (function (NotationValidateGeneralProgrammer) {
26
+ NotationValidateGeneralProgrammer.write = function (rename) {
27
+ return function (project) {
28
+ return function (modulo) {
29
+ return function (type, name) {
30
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
31
+ IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
32
+ ], typescript_1.default.factory.createTypeReferenceNode("typia.IValidation<".concat(NotationGeneralProgrammer_1.NotationGeneralProgrammer.returnType(rename)(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker)(type)), ">")), undefined, typescript_1.default.factory.createBlock([
33
+ StatementFactory_1.StatementFactory.constant("validate", ValidateProgrammer_1.ValidateProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: true }) }))(modulo)(false)(type, name)),
34
+ StatementFactory_1.StatementFactory.constant("general", NotationGeneralProgrammer_1.NotationGeneralProgrammer.write(rename)(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(type, name)),
35
+ 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"))),
36
+ 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("general"), undefined, [typescript_1.default.factory.createIdentifier("input")])))),
37
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
38
+ ]));
39
+ };
40
+ };
41
+ };
42
+ };
43
+ })(NotationValidateGeneralProgrammer || (exports.NotationValidateGeneralProgrammer = NotationValidateGeneralProgrammer = {}));
44
+ //# sourceMappingURL=NotationValidateGeneralProgrammer.js.map