typia 3.5.0-dev.20230212 → 3.5.0-dev.20230214

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 (199) hide show
  1. package/README.md +15 -1
  2. package/lib/IRandomGenerator.d.ts +15 -0
  3. package/lib/IRandomGenerator.js +3 -0
  4. package/lib/IRandomGenerator.js.map +1 -0
  5. package/lib/factories/ExpressionFactory.d.ts +1 -0
  6. package/lib/factories/ExpressionFactory.js +4 -0
  7. package/lib/factories/ExpressionFactory.js.map +1 -1
  8. package/lib/factories/MetadataFactory.js +15 -5
  9. package/lib/factories/MetadataFactory.js.map +1 -1
  10. package/lib/factories/MetadataTagFactory.js +11 -101
  11. package/lib/factories/MetadataTagFactory.js.map +1 -1
  12. package/lib/functional/$any.d.ts +1 -0
  13. package/lib/functional/$any.js +8 -0
  14. package/lib/functional/$any.js.map +1 -0
  15. package/lib/{programmers/internal/check_length.d.ts → functional/Namespace.d.ts} +0 -0
  16. package/lib/functional/Namespace.js +80 -0
  17. package/lib/functional/Namespace.js.map +1 -0
  18. package/lib/metadata/IMetadataTag.d.ts +3 -10
  19. package/lib/module.d.ts +255 -0
  20. package/lib/module.js +77 -234
  21. package/lib/module.js.map +1 -1
  22. package/lib/programmers/AssertCloneProgrammer.d.ts +5 -0
  23. package/lib/programmers/AssertCloneProgrammer.js +37 -0
  24. package/lib/programmers/AssertCloneProgrammer.js.map +1 -0
  25. package/lib/programmers/CloneProgrammer.d.ts +5 -0
  26. package/lib/programmers/CloneProgrammer.js +285 -0
  27. package/lib/programmers/CloneProgrammer.js.map +1 -0
  28. package/lib/programmers/IsCloneProgrammer.d.ts +5 -0
  29. package/lib/programmers/IsCloneProgrammer.js +37 -0
  30. package/lib/programmers/IsCloneProgrammer.js.map +1 -0
  31. package/lib/programmers/IsProgrammer.d.ts +1 -1
  32. package/lib/programmers/IsProgrammer.js +5 -2
  33. package/lib/programmers/IsProgrammer.js.map +1 -1
  34. package/lib/programmers/RandomProgrammer.d.ts +5 -0
  35. package/lib/programmers/RandomProgrammer.js +338 -0
  36. package/lib/programmers/RandomProgrammer.js.map +1 -0
  37. package/lib/programmers/StringifyProgrammer.js +1 -1
  38. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  39. package/lib/programmers/ValidateCloneProgrammer.d.ts +5 -0
  40. package/lib/programmers/ValidateCloneProgrammer.js +37 -0
  41. package/lib/programmers/ValidateCloneProgrammer.js.map +1 -0
  42. package/lib/programmers/ValidateStringifyProgrammer.js +1 -1
  43. package/lib/programmers/ValidateStringifyProgrammer.js.map +1 -1
  44. package/lib/programmers/helpers/CloneJoiner.d.ts +8 -0
  45. package/lib/programmers/helpers/CloneJoiner.js +80 -0
  46. package/lib/programmers/helpers/CloneJoiner.js.map +1 -0
  47. package/lib/programmers/helpers/RandomJoiner.d.ts +10 -0
  48. package/lib/programmers/helpers/RandomJoiner.js +93 -0
  49. package/lib/programmers/helpers/RandomJoiner.js.map +1 -0
  50. package/lib/programmers/helpers/RandomRanger.d.ts +25 -0
  51. package/lib/programmers/helpers/RandomRanger.js +138 -0
  52. package/lib/programmers/helpers/RandomRanger.js.map +1 -0
  53. package/lib/programmers/helpers/StringifyJoinder.js +2 -2
  54. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  55. package/lib/programmers/internal/application_array.js +0 -10
  56. package/lib/programmers/internal/application_array.js.map +1 -1
  57. package/lib/programmers/internal/application_number.js +4 -12
  58. package/lib/programmers/internal/application_number.js.map +1 -1
  59. package/lib/programmers/internal/application_string.js +0 -8
  60. package/lib/programmers/internal/application_string.js.map +1 -1
  61. package/lib/programmers/internal/check_array_length.js +3 -4
  62. package/lib/programmers/internal/check_array_length.js.map +1 -1
  63. package/lib/programmers/internal/check_bigint.js +0 -12
  64. package/lib/programmers/internal/check_bigint.js.map +1 -1
  65. package/lib/programmers/internal/check_number.js +7 -25
  66. package/lib/programmers/internal/check_number.js.map +1 -1
  67. package/lib/programmers/internal/check_string_tags.js +2 -3
  68. package/lib/programmers/internal/check_string_tags.js.map +1 -1
  69. package/lib/schemas/IJsonSchema.d.ts +36 -2
  70. package/lib/transformers/CallExpressionTransformer.js +21 -1
  71. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  72. package/lib/transformers/features/miscellaneous/AssertCloneTransformer.d.ts +5 -0
  73. package/lib/transformers/features/miscellaneous/AssertCloneTransformer.js +23 -0
  74. package/lib/transformers/features/miscellaneous/AssertCloneTransformer.js.map +1 -0
  75. package/lib/transformers/features/miscellaneous/CloneTransformer.d.ts +5 -0
  76. package/lib/transformers/features/miscellaneous/CloneTransformer.js +34 -0
  77. package/lib/transformers/features/miscellaneous/CloneTransformer.js.map +1 -0
  78. package/lib/transformers/features/miscellaneous/CreateAssertCloneTransformer.d.ts +5 -0
  79. package/lib/transformers/features/miscellaneous/CreateAssertCloneTransformer.js +18 -0
  80. package/lib/transformers/features/miscellaneous/CreateAssertCloneTransformer.js.map +1 -0
  81. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.js +2 -1
  82. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.js.map +1 -1
  83. package/lib/transformers/features/miscellaneous/CreateCloneTransformer.d.ts +5 -0
  84. package/lib/transformers/features/miscellaneous/CreateCloneTransformer.js +18 -0
  85. package/lib/transformers/features/miscellaneous/CreateCloneTransformer.js.map +1 -0
  86. package/lib/transformers/features/miscellaneous/CreateIsCloneTransformer.d.ts +5 -0
  87. package/lib/transformers/features/miscellaneous/CreateIsCloneTransformer.js +18 -0
  88. package/lib/transformers/features/miscellaneous/CreateIsCloneTransformer.js.map +1 -0
  89. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.js +2 -1
  90. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.js.map +1 -1
  91. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.js +2 -1
  92. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.js.map +1 -1
  93. package/lib/transformers/features/miscellaneous/CreateRandomGenerator.d.ts +5 -0
  94. package/lib/transformers/features/miscellaneous/CreateRandomGenerator.js +29 -0
  95. package/lib/transformers/features/miscellaneous/CreateRandomGenerator.js.map +1 -0
  96. package/lib/transformers/features/miscellaneous/CreateValidateCloneTransformer.d.ts +5 -0
  97. package/lib/transformers/features/miscellaneous/CreateValidateCloneTransformer.js +18 -0
  98. package/lib/transformers/features/miscellaneous/CreateValidateCloneTransformer.js.map +1 -0
  99. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.js +2 -1
  100. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.js.map +1 -1
  101. package/lib/transformers/features/miscellaneous/IsCloneTransformer.d.ts +5 -0
  102. package/lib/transformers/features/miscellaneous/IsCloneTransformer.js +23 -0
  103. package/lib/transformers/features/miscellaneous/IsCloneTransformer.js.map +1 -0
  104. package/lib/transformers/features/miscellaneous/RandomTransformer.d.ts +5 -0
  105. package/lib/transformers/features/miscellaneous/RandomTransformer.js +35 -0
  106. package/lib/transformers/features/miscellaneous/RandomTransformer.js.map +1 -0
  107. package/lib/transformers/features/miscellaneous/ValidateCloneTransformer.d.ts +5 -0
  108. package/lib/transformers/features/miscellaneous/ValidateCloneTransformer.js +23 -0
  109. package/lib/transformers/features/miscellaneous/ValidateCloneTransformer.js.map +1 -0
  110. package/lib/transformers/features/parsers/AssertParseTransformer.js +2 -1
  111. package/lib/transformers/features/parsers/AssertParseTransformer.js.map +1 -1
  112. package/lib/transformers/features/parsers/CreateAssertParseTransformer.js +2 -1
  113. package/lib/transformers/features/parsers/CreateAssertParseTransformer.js.map +1 -1
  114. package/lib/transformers/features/parsers/CreateIsParseTransformer.js +2 -1
  115. package/lib/transformers/features/parsers/CreateIsParseTransformer.js.map +1 -1
  116. package/lib/transformers/features/parsers/CreateValidateParseTransformer.js +2 -1
  117. package/lib/transformers/features/parsers/CreateValidateParseTransformer.js.map +1 -1
  118. package/lib/transformers/features/parsers/IsParseTransformer.js +2 -1
  119. package/lib/transformers/features/parsers/IsParseTransformer.js.map +1 -1
  120. package/lib/transformers/features/parsers/ValidateParseTransformer.js +2 -1
  121. package/lib/transformers/features/parsers/ValidateParseTransformer.js.map +1 -1
  122. package/lib/transformers/features/stringifiers/CreateAssertStringifyTransformer.js +2 -1
  123. package/lib/transformers/features/stringifiers/CreateAssertStringifyTransformer.js.map +1 -1
  124. package/lib/transformers/features/stringifiers/CreateIsStringifyTransformer.js +2 -1
  125. package/lib/transformers/features/stringifiers/CreateIsStringifyTransformer.js.map +1 -1
  126. package/lib/transformers/features/stringifiers/CreateStringifyTransformer.js +2 -1
  127. package/lib/transformers/features/stringifiers/CreateStringifyTransformer.js.map +1 -1
  128. package/lib/transformers/features/stringifiers/CreateValidateStringifyProgrammer.js +2 -1
  129. package/lib/transformers/features/stringifiers/CreateValidateStringifyProgrammer.js.map +1 -1
  130. package/lib/transformers/features/validators/CreateAssertTransformer.js +2 -1
  131. package/lib/transformers/features/validators/CreateAssertTransformer.js.map +1 -1
  132. package/lib/transformers/features/validators/CreateIsTransformer.js +2 -1
  133. package/lib/transformers/features/validators/CreateIsTransformer.js.map +1 -1
  134. package/lib/transformers/features/validators/CreateValidateTransformer.js +2 -1
  135. package/lib/transformers/features/validators/CreateValidateTransformer.js.map +1 -1
  136. package/lib/utils/RandomGenerator.d.ts +1 -0
  137. package/lib/utils/RandomGenerator.js +85 -0
  138. package/lib/utils/RandomGenerator.js.map +1 -0
  139. package/package.json +8 -3
  140. package/src/IRandomGenerator.ts +16 -0
  141. package/src/factories/ExpressionFactory.ts +11 -0
  142. package/src/factories/MetadataFactory.ts +18 -14
  143. package/src/factories/MetadataTagFactory.ts +11 -97
  144. package/src/functional/$any.ts +3 -0
  145. package/src/functional/Namespace.ts +121 -0
  146. package/src/metadata/IMetadataTag.ts +2 -11
  147. package/src/module.ts +390 -350
  148. package/src/programmers/AssertCloneProgrammer.ts +60 -0
  149. package/src/programmers/CloneProgrammer.ts +351 -0
  150. package/src/programmers/IsCloneProgrammer.ts +66 -0
  151. package/src/programmers/IsProgrammer.ts +8 -5
  152. package/src/programmers/RandomProgrammer.ts +367 -0
  153. package/src/programmers/StringifyProgrammer.ts +2 -4
  154. package/src/programmers/ValidateCloneProgrammer.ts +77 -0
  155. package/src/programmers/ValidateStringifyProgrammer.ts +1 -4
  156. package/src/programmers/helpers/CloneJoiner.ts +124 -0
  157. package/src/programmers/helpers/RandomJoiner.ts +140 -0
  158. package/src/programmers/helpers/RandomRanger.ts +215 -0
  159. package/src/programmers/helpers/StringifyJoinder.ts +4 -4
  160. package/src/programmers/internal/application_array.ts +0 -10
  161. package/src/programmers/internal/application_number.ts +7 -13
  162. package/src/programmers/internal/application_string.ts +0 -8
  163. package/src/programmers/internal/check_array_length.ts +8 -9
  164. package/src/programmers/internal/check_bigint.ts +0 -21
  165. package/src/programmers/internal/check_number.ts +0 -30
  166. package/src/programmers/internal/check_string_tags.ts +7 -7
  167. package/src/schemas/IJsonSchema.ts +36 -1
  168. package/src/transformers/CallExpressionTransformer.ts +24 -1
  169. package/src/transformers/features/miscellaneous/AssertCloneTransformer.ts +38 -0
  170. package/src/transformers/features/miscellaneous/CloneTransformer.ts +46 -0
  171. package/src/transformers/features/miscellaneous/CreateAssertCloneTransformer.ts +32 -0
  172. package/src/transformers/features/miscellaneous/CreateAssertPruneTransformer.ts +1 -1
  173. package/src/transformers/features/miscellaneous/CreateCloneTransformer.ts +31 -0
  174. package/src/transformers/features/miscellaneous/CreateIsCloneTransformer.ts +32 -0
  175. package/src/transformers/features/miscellaneous/CreateIsPruneTransformer.ts +1 -1
  176. package/src/transformers/features/miscellaneous/CreatePruneTransformer.ts +1 -1
  177. package/src/transformers/features/miscellaneous/CreateRandomGenerator.ts +39 -0
  178. package/src/transformers/features/miscellaneous/CreateValidateCloneTransformer.ts +32 -0
  179. package/src/transformers/features/miscellaneous/CreateValidatePruneTransformer.ts +1 -1
  180. package/src/transformers/features/miscellaneous/IsCloneTransformer.ts +38 -0
  181. package/src/transformers/features/miscellaneous/RandomTransformer.ts +45 -0
  182. package/src/transformers/features/miscellaneous/ValidateCloneTransformer.ts +38 -0
  183. package/src/transformers/features/parsers/AssertParseTransformer.ts +1 -1
  184. package/src/transformers/features/parsers/CreateAssertParseTransformer.ts +1 -1
  185. package/src/transformers/features/parsers/CreateIsParseTransformer.ts +1 -1
  186. package/src/transformers/features/parsers/CreateValidateParseTransformer.ts +1 -1
  187. package/src/transformers/features/parsers/IsParseTransformer.ts +1 -1
  188. package/src/transformers/features/parsers/ValidateParseTransformer.ts +1 -1
  189. package/src/transformers/features/stringifiers/CreateAssertStringifyTransformer.ts +1 -1
  190. package/src/transformers/features/stringifiers/CreateIsStringifyTransformer.ts +1 -1
  191. package/src/transformers/features/stringifiers/CreateStringifyTransformer.ts +1 -1
  192. package/src/transformers/features/stringifiers/CreateValidateStringifyProgrammer.ts +1 -1
  193. package/src/transformers/features/validators/CreateAssertTransformer.ts +1 -1
  194. package/src/transformers/features/validators/CreateIsTransformer.ts +1 -1
  195. package/src/transformers/features/validators/CreateValidateTransformer.ts +1 -1
  196. package/src/utils/RandomGenerator.ts +90 -0
  197. package/lib/programmers/internal/check_length.js +0 -28
  198. package/lib/programmers/internal/check_length.js.map +0 -1
  199. package/src/programmers/internal/check_length.ts +0 -46
package/lib/module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.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 AssertCloneProgrammer {
4
+ const generate: (project: IProject, modulo: ts.LeftHandSideExpression) => (type: ts.Type) => ts.ArrowFunction;
5
+ }
@@ -0,0 +1,37 @@
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.AssertCloneProgrammer = 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 AssertProgrammer_1 = require("./AssertProgrammer");
22
+ var CloneProgrammer_1 = require("./CloneProgrammer");
23
+ var AssertCloneProgrammer;
24
+ (function (AssertCloneProgrammer) {
25
+ AssertCloneProgrammer.generate = function (project, modulo) {
26
+ 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
+ StatementFactory_1.StatementFactory.constant("assert", AssertProgrammer_1.AssertProgrammer.generate(project, modulo)(type)),
29
+ StatementFactory_1.StatementFactory.constant("clone", CloneProgrammer_1.CloneProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type)),
30
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("assert"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
31
+ StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("clone"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
32
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
33
+ ]));
34
+ };
35
+ };
36
+ })(AssertCloneProgrammer = exports.AssertCloneProgrammer || (exports.AssertCloneProgrammer = {}));
37
+ //# sourceMappingURL=AssertCloneProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssertCloneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertCloneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,uDAAsD;AACtD,qDAAoD;AAEpD,IAAiB,qBAAqB,CAiDrC;AAjDD,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,QAAQ,EACR,mCAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CACnD;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,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;gBACD,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,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,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;aACJ,CAAC,CACL;QA5CD,CA4CC;IA7CL,CA6CK,CAAC;AACd,CAAC,EAjDgB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAiDrC"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../transformers/IProject";
3
+ export declare namespace CloneProgrammer {
4
+ function generate(project: IProject, modulo: ts.LeftHandSideExpression): (type: ts.Type) => ts.ArrowFunction;
5
+ }
@@ -0,0 +1,285 @@
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.CloneProgrammer = 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 Metadata_1 = require("../metadata/Metadata");
60
+ var FeatureProgrammer_1 = require("./FeatureProgrammer");
61
+ var IsProgrammer_1 = require("./IsProgrammer");
62
+ var CloneJoiner_1 = require("./helpers/CloneJoiner");
63
+ var FunctionImporeter_1 = require("./helpers/FunctionImporeter");
64
+ var UnionExplorer_1 = require("./helpers/UnionExplorer");
65
+ var decode_union_object_1 = require("./internal/decode_union_object");
66
+ var CloneProgrammer;
67
+ (function (CloneProgrammer) {
68
+ function generate(project, modulo) {
69
+ var importer = new FunctionImporeter_1.FunctionImporter();
70
+ return FeatureProgrammer_1.FeatureProgrammer.generate(project, CONFIG(project, importer), importer, function (collection) {
71
+ var isFunctors = IsProgrammer_1.IsProgrammer.generate_functors(project, importer)(collection);
72
+ var isUnioners = IsProgrammer_1.IsProgrammer.generate_unioners(project, importer)(collection);
73
+ return __spreadArray(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), __read(isFunctors), false), __read(isUnioners), false);
74
+ });
75
+ }
76
+ CloneProgrammer.generate = generate;
77
+ var decode = function (project, importer) {
78
+ return function (input, meta, explore) {
79
+ var e_1, _a, e_2, _b, e_3, _c;
80
+ if (meta.any ||
81
+ meta.arrays.some(function (a) { return a.any; }) ||
82
+ meta.tuples.some(function (t) { return t.every(function (e) { return e.any; }); }))
83
+ return typescript_1.default.factory.createCallExpression(importer.use("any"), undefined, [input]);
84
+ var unions = [];
85
+ if (meta.resolved !== null)
86
+ unions.push({
87
+ type: "resolved",
88
+ is: function () { return IsProgrammer_1.IsProgrammer.decode_to_json(input, true); },
89
+ value: function () {
90
+ return decode_to_json(project, importer)(input, meta.resolved, explore);
91
+ },
92
+ });
93
+ var _loop_1 = function (tuple) {
94
+ unions.push({
95
+ type: "tuple",
96
+ is: function () {
97
+ return IsProgrammer_1.IsProgrammer.decode(project, importer)(input, (function () {
98
+ var partial = Metadata_1.Metadata.initialize();
99
+ partial.tuples.push(tuple);
100
+ return partial;
101
+ })(), explore, []);
102
+ },
103
+ value: function () {
104
+ return decode_tuple(project, importer)(input, tuple, explore);
105
+ },
106
+ });
107
+ };
108
+ try {
109
+ for (var _d = __values(meta.tuples), _e = _d.next(); !_e.done; _e = _d.next()) {
110
+ var tuple = _e.value;
111
+ _loop_1(tuple);
112
+ }
113
+ }
114
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
115
+ finally {
116
+ try {
117
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
118
+ }
119
+ finally { if (e_1) throw e_1.error; }
120
+ }
121
+ if (meta.arrays.length)
122
+ unions.push({
123
+ type: "array",
124
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isArray(input); },
125
+ value: function () {
126
+ return explore_arrays(project, importer)(input, meta.arrays, __assign(__assign({}, explore), { from: "array" }), []);
127
+ },
128
+ });
129
+ if (meta.sets.length)
130
+ unions.push({
131
+ type: "set",
132
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf(input, "Set"); },
133
+ value: function () { return typescript_1.default.factory.createIdentifier("{}"); },
134
+ });
135
+ if (meta.maps.length)
136
+ unions.push({
137
+ type: "map",
138
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf(input, "Map"); },
139
+ value: function () { return typescript_1.default.factory.createIdentifier("{}"); },
140
+ });
141
+ var _loop_2 = function (native) {
142
+ unions.push({
143
+ type: "native",
144
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf(input, native); },
145
+ value: function () { return typescript_1.default.factory.createIdentifier("{}"); },
146
+ });
147
+ };
148
+ try {
149
+ for (var _f = __values(meta.natives), _g = _f.next(); !_g.done; _g = _f.next()) {
150
+ var native = _g.value;
151
+ _loop_2(native);
152
+ }
153
+ }
154
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
155
+ finally {
156
+ try {
157
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
158
+ }
159
+ finally { if (e_2) throw e_2.error; }
160
+ }
161
+ if (meta.objects.length)
162
+ unions.push({
163
+ type: "object",
164
+ is: function () {
165
+ return ExpressionFactory_1.ExpressionFactory.isObject(input, {
166
+ checkNull: true,
167
+ checkArray: false,
168
+ });
169
+ },
170
+ value: function () {
171
+ return explore_objects(input, meta, __assign(__assign({}, explore), { from: "object" }));
172
+ },
173
+ });
174
+ var last = input;
175
+ try {
176
+ for (var _h = __values(unions.reverse()), _j = _h.next(); !_j.done; _j = _h.next()) {
177
+ var u = _j.value;
178
+ last = typescript_1.default.factory.createConditionalExpression(u.is(), undefined, u.value(), undefined, last);
179
+ }
180
+ }
181
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
182
+ finally {
183
+ try {
184
+ if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
185
+ }
186
+ finally { if (e_3) throw e_3.error; }
187
+ }
188
+ return last;
189
+ };
190
+ };
191
+ var decode_to_json = function (project, importer) {
192
+ return function (input, resolved, explore) {
193
+ return decode(project, importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(input, "toJSON"), undefined, []), resolved, explore);
194
+ };
195
+ };
196
+ var decode_tuple = function (project, importer) {
197
+ return function (input, tuple, explore) {
198
+ var children = tuple
199
+ .filter(function (m) { return m.rest === null; })
200
+ .map(function (elem, index) {
201
+ return decode(project, importer)(typescript_1.default.factory.createElementAccessExpression(input, index), elem, __assign(__assign({}, explore), { from: "array" }));
202
+ });
203
+ var rest = (function () {
204
+ if (tuple.length === 0)
205
+ return null;
206
+ var last = tuple[tuple.length - 1];
207
+ var rest = last.rest;
208
+ if (rest === null)
209
+ return null;
210
+ return decode(project, importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(input, "slice"), undefined, [typescript_1.default.factory.createNumericLiteral(tuple.length - 1)]), (function () {
211
+ var wrapper = Metadata_1.Metadata.initialize();
212
+ wrapper.arrays.push(rest);
213
+ return wrapper;
214
+ })(), __assign(__assign({}, explore), { start: tuple.length - 1 }));
215
+ })();
216
+ return CloneJoiner_1.CloneJoiner.tuple(children, rest);
217
+ };
218
+ };
219
+ var decode_array = function (project, importer) {
220
+ return FeatureProgrammer_1.FeatureProgrammer.decode_array(CONFIG(project, importer), importer, CloneJoiner_1.CloneJoiner.array);
221
+ };
222
+ var decode_object = function () {
223
+ return FeatureProgrammer_1.FeatureProgrammer.decode_object({
224
+ trace: false,
225
+ path: false,
226
+ functors: FUNCTORS,
227
+ });
228
+ };
229
+ var explore_arrays = function (project, importer) {
230
+ return UnionExplorer_1.UnionExplorer.array({
231
+ checker: IsProgrammer_1.IsProgrammer.decode(project, importer),
232
+ decoder: decode_array(project, importer),
233
+ empty: typescript_1.default.factory.createReturnStatement(),
234
+ success: typescript_1.default.factory.createTrue(),
235
+ failure: function (input, expected) {
236
+ return create_throw_error(importer, input, expected);
237
+ },
238
+ });
239
+ };
240
+ var explore_objects = function (input, meta, explore) {
241
+ if (meta.objects.length === 1)
242
+ return decode_object()(input, meta.objects[0], explore);
243
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("".concat(UNIONERS).concat(meta.union_index)), undefined, [input]);
244
+ };
245
+ var FUNCTORS = "$co";
246
+ var UNIONERS = "$cu";
247
+ var CONFIG = function (project, importer) { return ({
248
+ functors: FUNCTORS,
249
+ unioners: UNIONERS,
250
+ trace: false,
251
+ path: false,
252
+ initializer: initializer,
253
+ decoder: decode(project, importer),
254
+ objector: OBJECTOR(project, importer),
255
+ }); };
256
+ var OBJECTOR = function (project, importer) { return ({
257
+ checker: IsProgrammer_1.IsProgrammer.decode(project, importer),
258
+ decoder: decode_object(),
259
+ joiner: CloneJoiner_1.CloneJoiner.object,
260
+ unionizer: (0, decode_union_object_1.decode_union_object)(IsProgrammer_1.IsProgrammer.decode_object(importer))(decode_object())(function (exp) { return exp; })(function (value, expected) {
261
+ return create_throw_error(importer, value, expected);
262
+ }),
263
+ failure: function (input, expected) {
264
+ return create_throw_error(importer, input, expected);
265
+ },
266
+ }); };
267
+ var initializer = function (_a, type) {
268
+ var checker = _a.checker;
269
+ var collection = new MetadataCollection_1.MetadataCollection();
270
+ var meta = MetadataFactory_1.MetadataFactory.generate(checker, collection, type, {
271
+ resolve: true,
272
+ constant: true,
273
+ });
274
+ return [collection, meta];
275
+ };
276
+ var create_throw_error = function (importer, value, expected) {
277
+ return typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(importer.use("throws"), [], [
278
+ typescript_1.default.factory.createObjectLiteralExpression([
279
+ typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(expected)),
280
+ typescript_1.default.factory.createPropertyAssignment("value", value),
281
+ ], true),
282
+ ]));
283
+ };
284
+ })(CloneProgrammer = exports.CloneProgrammer || (exports.CloneProgrammer = {}));
285
+ //# sourceMappingURL=CloneProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/CloneProgrammer.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 IsCloneProgrammer {
4
+ const generate: (project: IProject, modulo: ts.LeftHandSideExpression) => (type: ts.Type) => ts.ArrowFunction;
5
+ }
@@ -0,0 +1,37 @@
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.IsCloneProgrammer = 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 CloneProgrammer_1 = require("./CloneProgrammer");
22
+ var IsProgrammer_1 = require("./IsProgrammer");
23
+ var IsCloneProgrammer;
24
+ (function (IsCloneProgrammer) {
25
+ IsCloneProgrammer.generate = function (project, modulo) {
26
+ 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
+ StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.generate(project, modulo)(type)),
29
+ StatementFactory_1.StatementFactory.constant("clone", CloneProgrammer_1.CloneProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type)),
30
+ 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())),
31
+ StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("clone"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
32
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
33
+ ]));
34
+ };
35
+ };
36
+ })(IsCloneProgrammer = exports.IsCloneProgrammer || (exports.IsCloneProgrammer = {}));
37
+ //# sourceMappingURL=IsCloneProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IsCloneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsCloneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,qDAAoD;AACpD,+CAA8C;AAE9C,IAAiB,iBAAiB,CAuDjC;AAvDD,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,UAAU,EAAE,CAC1B,CACJ;gBACD,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,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,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;aACJ,CAAC,CACL;QAlDD,CAkDC;IAnDL,CAmDK,CAAC;AACd,CAAC,EAvDgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAuDjC"}
@@ -18,6 +18,6 @@ export declare namespace IsProgrammer {
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;
20
20
  const decode_object: (importer: FunctionImporter) => (input: ts.Expression, obj: MetadataObject, explore: CheckerProgrammer.IExplore) => ts.CallExpression;
21
- function decode_to_json(input: ts.Expression): ts.Expression;
21
+ function decode_to_json(input: ts.Expression, checkNull: boolean): ts.Expression;
22
22
  function decode_functional(input: ts.Expression): ts.BinaryExpression;
23
23
  }
@@ -108,8 +108,11 @@ var IsProgrammer;
108
108
  IsProgrammer.decode_object = function (importer) {
109
109
  return CheckerProgrammer_1.CheckerProgrammer.decode_object(IsProgrammer.CONFIG()(importer));
110
110
  };
111
- function decode_to_json(input) {
112
- return typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("object"), ValueFactory_1.ValueFactory.TYPEOF(input)), typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("function"), ValueFactory_1.ValueFactory.TYPEOF(IdentifierFactory_1.IdentifierFactory.join(input, "toJSON"))));
111
+ function decode_to_json(input, checkNull) {
112
+ return typescript_1.default.factory.createLogicalAnd(ExpressionFactory_1.ExpressionFactory.isObject(input, {
113
+ checkArray: false,
114
+ checkNull: checkNull,
115
+ }), typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("function"), ValueFactory_1.ValueFactory.TYPEOF(IdentifierFactory_1.IdentifierFactory.join(input, "toJSON"))));
113
116
  }
114
117
  IsProgrammer.decode_to_json = decode_to_json;
115
118
  function decode_functional(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"IsProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IsProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsProgrammer.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 RandomProgrammer {
4
+ function generate(project: IProject, modulo: ts.LeftHandSideExpression): (type: ts.Type) => ts.ArrowFunction;
5
+ }