typia 3.5.0-dev.20230211 → 3.5.0-dev.20230213

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 (65) hide show
  1. package/README.md +7 -0
  2. package/lib/module.d.ts +197 -4
  3. package/lib/module.js +74 -2
  4. package/lib/module.js.map +1 -1
  5. package/lib/programmers/AssertPruneProgrammer.d.ts +5 -0
  6. package/lib/programmers/AssertPruneProgrammer.js +37 -0
  7. package/lib/programmers/AssertPruneProgrammer.js.map +1 -0
  8. package/lib/programmers/CloneProgrammer.d.ts +5 -0
  9. package/lib/programmers/CloneProgrammer.js +287 -0
  10. package/lib/programmers/CloneProgrammer.js.map +1 -0
  11. package/lib/programmers/IsPruneProgrammer.d.ts +5 -0
  12. package/lib/programmers/IsPruneProgrammer.js +37 -0
  13. package/lib/programmers/IsPruneProgrammer.js.map +1 -0
  14. package/lib/programmers/PruneProgrammer.js +2 -2
  15. package/lib/programmers/PruneProgrammer.js.map +1 -1
  16. package/lib/programmers/ValidatePruneProgrammer.d.ts +5 -0
  17. package/lib/programmers/ValidatePruneProgrammer.js +37 -0
  18. package/lib/programmers/ValidatePruneProgrammer.js.map +1 -0
  19. package/lib/programmers/helpers/CloneJoiner.d.ts +8 -0
  20. package/lib/programmers/helpers/CloneJoiner.js +80 -0
  21. package/lib/programmers/helpers/CloneJoiner.js.map +1 -0
  22. package/lib/programmers/internal/feature_object_entries.d.ts +1 -1
  23. package/lib/transformers/CallExpressionTransformer.js +17 -1
  24. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  25. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.d.ts +5 -0
  26. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.js +23 -0
  27. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.js.map +1 -0
  28. package/lib/transformers/features/miscellaneous/CloneTransformer.d.ts +5 -0
  29. package/lib/transformers/features/miscellaneous/CloneTransformer.js +34 -0
  30. package/lib/transformers/features/miscellaneous/CloneTransformer.js.map +1 -0
  31. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.d.ts +5 -0
  32. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.js +17 -0
  33. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.js.map +1 -0
  34. package/lib/transformers/features/miscellaneous/CreateCloneTransformer.d.ts +5 -0
  35. package/lib/transformers/features/miscellaneous/CreateCloneTransformer.js +17 -0
  36. package/lib/transformers/features/miscellaneous/CreateCloneTransformer.js.map +1 -0
  37. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.d.ts +5 -0
  38. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.js +17 -0
  39. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.js.map +1 -0
  40. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.d.ts +5 -0
  41. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.js +17 -0
  42. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.js.map +1 -0
  43. package/lib/transformers/features/miscellaneous/IsPruneTransformer.d.ts +5 -0
  44. package/lib/transformers/features/miscellaneous/IsPruneTransformer.js +23 -0
  45. package/lib/transformers/features/miscellaneous/IsPruneTransformer.js.map +1 -0
  46. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.d.ts +5 -0
  47. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.js +23 -0
  48. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.js.map +1 -0
  49. package/package.json +1 -1
  50. package/src/module.ts +311 -5
  51. package/src/programmers/AssertPruneProgrammer.ts +59 -0
  52. package/src/programmers/CloneProgrammer.ts +357 -0
  53. package/src/programmers/IsPruneProgrammer.ts +63 -0
  54. package/src/programmers/PruneProgrammer.ts +5 -2
  55. package/src/programmers/ValidatePruneProgrammer.ts +73 -0
  56. package/src/programmers/helpers/CloneJoiner.ts +126 -0
  57. package/src/transformers/CallExpressionTransformer.ts +17 -1
  58. package/src/transformers/features/miscellaneous/AssertPruneTransformer.ts +38 -0
  59. package/src/transformers/features/miscellaneous/CloneTransformer.ts +46 -0
  60. package/src/transformers/features/miscellaneous/CreateAssertPruneTransformer.ts +32 -0
  61. package/src/transformers/features/miscellaneous/CreateCloneTransformer.ts +31 -0
  62. package/src/transformers/features/miscellaneous/CreateIsPruneTransformer.ts +32 -0
  63. package/src/transformers/features/miscellaneous/CreateValidatePruneTransformer.ts +32 -0
  64. package/src/transformers/features/miscellaneous/IsPruneTransformer.ts +38 -0
  65. package/src/transformers/features/miscellaneous/ValidatePruneTransformer.ts +38 -0
@@ -0,0 +1,287 @@
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(typescript_1.default.factory.createIdentifier("JSON.parse"), undefined, [
84
+ typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("JSON.stringify"), undefined, [input]),
85
+ ]);
86
+ var unions = [];
87
+ if (meta.resolved !== null)
88
+ unions.push({
89
+ type: "resolved",
90
+ is: function () { return IsProgrammer_1.IsProgrammer.decode_to_json(input); },
91
+ value: function () {
92
+ return decode_to_json(project, importer)(input, meta.resolved, explore);
93
+ },
94
+ });
95
+ var _loop_1 = function (tuple) {
96
+ unions.push({
97
+ type: "tuple",
98
+ is: function () {
99
+ return IsProgrammer_1.IsProgrammer.decode(project, importer)(input, (function () {
100
+ var partial = Metadata_1.Metadata.initialize();
101
+ partial.tuples.push(tuple);
102
+ return partial;
103
+ })(), explore, []);
104
+ },
105
+ value: function () {
106
+ return decode_tuple(project, importer)(input, tuple, explore);
107
+ },
108
+ });
109
+ };
110
+ try {
111
+ for (var _d = __values(meta.tuples), _e = _d.next(); !_e.done; _e = _d.next()) {
112
+ var tuple = _e.value;
113
+ _loop_1(tuple);
114
+ }
115
+ }
116
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
117
+ finally {
118
+ try {
119
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
120
+ }
121
+ finally { if (e_1) throw e_1.error; }
122
+ }
123
+ if (meta.arrays.length)
124
+ unions.push({
125
+ type: "array",
126
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isArray(input); },
127
+ value: function () {
128
+ return explore_arrays(project, importer)(input, meta.arrays, __assign(__assign({}, explore), { from: "array" }), []);
129
+ },
130
+ });
131
+ if (meta.sets.length)
132
+ unions.push({
133
+ type: "set",
134
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf(input, "Set"); },
135
+ value: function () { return typescript_1.default.factory.createIdentifier("{}"); },
136
+ });
137
+ if (meta.maps.length)
138
+ unions.push({
139
+ type: "map",
140
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf(input, "Map"); },
141
+ value: function () { return typescript_1.default.factory.createIdentifier("{}"); },
142
+ });
143
+ var _loop_2 = function (native) {
144
+ unions.push({
145
+ type: "native",
146
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf(input, native); },
147
+ value: function () { return typescript_1.default.factory.createIdentifier("{}"); },
148
+ });
149
+ };
150
+ try {
151
+ for (var _f = __values(meta.natives), _g = _f.next(); !_g.done; _g = _f.next()) {
152
+ var native = _g.value;
153
+ _loop_2(native);
154
+ }
155
+ }
156
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
157
+ finally {
158
+ try {
159
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
160
+ }
161
+ finally { if (e_2) throw e_2.error; }
162
+ }
163
+ if (meta.objects.length)
164
+ unions.push({
165
+ type: "object",
166
+ is: function () {
167
+ return ExpressionFactory_1.ExpressionFactory.isObject(input, {
168
+ checkNull: true,
169
+ checkArray: false,
170
+ });
171
+ },
172
+ value: function () {
173
+ return explore_objects(input, meta, __assign(__assign({}, explore), { from: "object" }));
174
+ },
175
+ });
176
+ var last = input;
177
+ try {
178
+ for (var _h = __values(unions.reverse()), _j = _h.next(); !_j.done; _j = _h.next()) {
179
+ var u = _j.value;
180
+ last = typescript_1.default.factory.createConditionalExpression(u.is(), undefined, u.value(), undefined, last);
181
+ }
182
+ }
183
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
184
+ finally {
185
+ try {
186
+ if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
187
+ }
188
+ finally { if (e_3) throw e_3.error; }
189
+ }
190
+ return last;
191
+ };
192
+ };
193
+ var decode_to_json = function (project, importer) {
194
+ return function (input, resolved, explore) {
195
+ return decode(project, importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(input, "toJSON"), undefined, []), resolved, explore);
196
+ };
197
+ };
198
+ var decode_tuple = function (project, importer) {
199
+ return function (input, tuple, explore) {
200
+ var children = tuple
201
+ .filter(function (m) { return m.rest === null; })
202
+ .map(function (elem, index) {
203
+ return decode(project, importer)(typescript_1.default.factory.createElementAccessExpression(input, index), elem, __assign(__assign({}, explore), { from: "array" }));
204
+ });
205
+ var rest = (function () {
206
+ if (tuple.length === 0)
207
+ return null;
208
+ var last = tuple[tuple.length - 1];
209
+ var rest = last.rest;
210
+ if (rest === null)
211
+ return null;
212
+ 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 () {
213
+ var wrapper = Metadata_1.Metadata.initialize();
214
+ wrapper.arrays.push(rest);
215
+ return wrapper;
216
+ })(), __assign(__assign({}, explore), { start: tuple.length - 1 }));
217
+ })();
218
+ return CloneJoiner_1.CloneJoiner.tuple(children, rest);
219
+ };
220
+ };
221
+ var decode_array = function (project, importer) {
222
+ return FeatureProgrammer_1.FeatureProgrammer.decode_array(CONFIG(project, importer), importer, CloneJoiner_1.CloneJoiner.array);
223
+ };
224
+ var decode_object = function () {
225
+ return FeatureProgrammer_1.FeatureProgrammer.decode_object({
226
+ trace: false,
227
+ path: false,
228
+ functors: FUNCTORS,
229
+ });
230
+ };
231
+ var explore_arrays = function (project, importer) {
232
+ return UnionExplorer_1.UnionExplorer.array({
233
+ checker: IsProgrammer_1.IsProgrammer.decode(project, importer),
234
+ decoder: decode_array(project, importer),
235
+ empty: typescript_1.default.factory.createReturnStatement(),
236
+ success: typescript_1.default.factory.createTrue(),
237
+ failure: function (input, expected) {
238
+ return create_throw_error(importer, input, expected);
239
+ },
240
+ });
241
+ };
242
+ var explore_objects = function (input, meta, explore) {
243
+ if (meta.objects.length === 1)
244
+ return decode_object()(input, meta.objects[0], explore);
245
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("".concat(UNIONERS).concat(meta.union_index)), undefined, [input]);
246
+ };
247
+ var FUNCTORS = "$co";
248
+ var UNIONERS = "$cu";
249
+ var CONFIG = function (project, importer) { return ({
250
+ functors: FUNCTORS,
251
+ unioners: UNIONERS,
252
+ trace: false,
253
+ path: false,
254
+ initializer: initializer,
255
+ decoder: decode(project, importer),
256
+ objector: OBJECTOR(project, importer),
257
+ }); };
258
+ var OBJECTOR = function (project, importer) { return ({
259
+ checker: IsProgrammer_1.IsProgrammer.decode(project, importer),
260
+ decoder: decode_object(),
261
+ joiner: CloneJoiner_1.CloneJoiner.object,
262
+ unionizer: (0, decode_union_object_1.decode_union_object)(IsProgrammer_1.IsProgrammer.decode_object(importer))(decode_object())(function (exp) { return exp; })(function (value, expected) {
263
+ return create_throw_error(importer, value, expected);
264
+ }),
265
+ failure: function (input, expected) {
266
+ return create_throw_error(importer, input, expected);
267
+ },
268
+ }); };
269
+ var initializer = function (_a, type) {
270
+ var checker = _a.checker;
271
+ var collection = new MetadataCollection_1.MetadataCollection();
272
+ var meta = MetadataFactory_1.MetadataFactory.generate(checker, collection, type, {
273
+ resolve: true,
274
+ constant: true,
275
+ });
276
+ return [collection, meta];
277
+ };
278
+ var create_throw_error = function (importer, value, expected) {
279
+ return typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(importer.use("throws"), [], [
280
+ typescript_1.default.factory.createObjectLiteralExpression([
281
+ typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(expected)),
282
+ typescript_1.default.factory.createPropertyAssignment("value", value),
283
+ ], true),
284
+ ]));
285
+ };
286
+ })(CloneProgrammer = exports.CloneProgrammer || (exports.CloneProgrammer = {}));
287
+ //# 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 IsPruneProgrammer {
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.IsPruneProgrammer = 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 IsProgrammer_1 = require("./IsProgrammer");
22
+ var PruneProgrammer_1 = require("./PruneProgrammer");
23
+ var IsPruneProgrammer;
24
+ (function (IsPruneProgrammer) {
25
+ IsPruneProgrammer.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("prune", PruneProgrammer_1.PruneProgrammer.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.createFalse())),
31
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("prune"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
32
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createTrue()),
33
+ ]));
34
+ };
35
+ };
36
+ })(IsPruneProgrammer = exports.IsPruneProgrammer || (exports.IsPruneProgrammer = {}));
37
+ //# sourceMappingURL=IsPruneProgrammer.js.map
@@ -0,0 +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"}
@@ -165,13 +165,13 @@ var PruneProgrammer;
165
165
  return explore_objects(input, meta, __assign(__assign({}, explore), { from: "object" }));
166
166
  },
167
167
  });
168
- var value = function (v) {
168
+ var converter = function (v) {
169
169
  return typescript_1.default.isReturnStatement(v) || typescript_1.default.isBlock(v)
170
170
  ? v
171
171
  : typescript_1.default.factory.createExpressionStatement(v);
172
172
  };
173
173
  var statements = unions.map(function (u) {
174
- return typescript_1.default.factory.createIfStatement(u.is(), value(u.value()));
174
+ return typescript_1.default.factory.createIfStatement(u.is(), converter(u.value()));
175
175
  });
176
176
  return typescript_1.default.factory.createBlock(statements, true);
177
177
  };
@@ -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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"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../transformers/IProject";
3
+ export declare namespace ValidatePruneProgrammer {
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.ValidatePruneProgrammer = 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 PruneProgrammer_1 = require("./PruneProgrammer");
22
+ var ValidateProgrammer_1 = require("./ValidateProgrammer");
23
+ var ValidatePruneProgrammer;
24
+ (function (ValidatePruneProgrammer) {
25
+ ValidatePruneProgrammer.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("validate", ValidateProgrammer_1.ValidateProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: true }) }), modulo)(type)),
29
+ StatementFactory_1.StatementFactory.constant("prune", PruneProgrammer_1.PruneProgrammer.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")])),
31
+ typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createIdentifier("output.success"), typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("prune"), undefined, [typescript_1.default.factory.createIdentifier("input")]))),
32
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
33
+ ]));
34
+ };
35
+ };
36
+ })(ValidatePruneProgrammer = exports.ValidatePruneProgrammer || (exports.ValidatePruneProgrammer = {}));
37
+ //# sourceMappingURL=ValidatePruneProgrammer.js.map
@@ -0,0 +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"}
@@ -0,0 +1,8 @@
1
+ import ts from "typescript";
2
+ import { MetadataObject } from "../../metadata/MetadataObject";
3
+ import { IExpressionEntry } from "./IExpressionEntry";
4
+ export declare namespace CloneJoiner {
5
+ const object: (input: ts.Expression, entries: IExpressionEntry<ts.Expression>[], _obj: MetadataObject) => ts.ConciseBody;
6
+ const tuple: (children: ts.Expression[], rest: ts.Expression | null) => ts.Expression;
7
+ const array: (input: ts.Expression, arrow: ts.Expression) => ts.CallExpression;
8
+ }
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
27
+ var __importDefault = (this && this.__importDefault) || function (mod) {
28
+ return (mod && mod.__esModule) ? mod : { "default": mod };
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.CloneJoiner = void 0;
32
+ var typescript_1 = __importDefault(require("typescript"));
33
+ var StatementFactory_1 = require("../../factories/StatementFactory");
34
+ var Escaper_1 = require("../../utils/Escaper");
35
+ var metadata_to_pattern_1 = require("../internal/metadata_to_pattern");
36
+ var CloneJoiner;
37
+ (function (CloneJoiner) {
38
+ CloneJoiner.object = function (input, entries, _obj) {
39
+ var regular = entries.filter(function (e) { return e.key.isSoleLiteral(); });
40
+ var dynamic = entries.filter(function (e) { return !e.key.isSoleLiteral(); });
41
+ if (regular.length === 0 && dynamic.length === 0)
42
+ return typescript_1.default.factory.createIdentifier("{}");
43
+ var literal = typescript_1.default.factory.createObjectLiteralExpression(regular.map(function (entry) {
44
+ var str = entry.key.getSoleLiteral();
45
+ return typescript_1.default.factory.createPropertyAssignment(Escaper_1.Escaper.variable(str)
46
+ ? str
47
+ : typescript_1.default.factory.createStringLiteral(str), entry.expression);
48
+ }), true);
49
+ if (dynamic.length === 0)
50
+ return literal;
51
+ var key = typescript_1.default.factory.createIdentifier("key");
52
+ var value = typescript_1.default.factory.createIdentifier("value");
53
+ var output = typescript_1.default.factory.createIdentifier("output");
54
+ var statements = dynamic.map(function (entry) {
55
+ return typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("RegExp(/".concat((0, metadata_to_pattern_1.metadata_to_pattern)(true)(entry.key), "/).test")), undefined, [key]), typescript_1.default.factory.createBlock([
56
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createElementAccessExpression(output, key), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsToken), entry.expression)),
57
+ typescript_1.default.factory.createContinueStatement(),
58
+ ]));
59
+ });
60
+ return typescript_1.default.factory.createBlock([
61
+ StatementFactory_1.StatementFactory.constant("output", literal),
62
+ typescript_1.default.factory.createForOfStatement(undefined, typescript_1.default.factory.createVariableDeclarationList([
63
+ typescript_1.default.factory.createVariableDeclaration(typescript_1.default.factory.createArrayBindingPattern([
64
+ typescript_1.default.factory.createBindingElement(undefined, undefined, key, undefined),
65
+ typescript_1.default.factory.createBindingElement(undefined, undefined, value, undefined),
66
+ ]), undefined, undefined, undefined),
67
+ ], typescript_1.default.NodeFlags.Const), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.entries"), undefined, [input]), typescript_1.default.factory.createBlock(statements)),
68
+ typescript_1.default.factory.createReturnStatement(output),
69
+ ]);
70
+ };
71
+ CloneJoiner.tuple = function (children, rest) {
72
+ if (rest === null)
73
+ return typescript_1.default.factory.createArrayLiteralExpression(children, true);
74
+ return typescript_1.default.factory.createArrayLiteralExpression(__spreadArray(__spreadArray([], __read(children), false), [typescript_1.default.factory.createSpreadElement(rest)], false), true);
75
+ };
76
+ CloneJoiner.array = function (input, arrow) {
77
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(input, "map"), undefined, [arrow]);
78
+ };
79
+ })(CloneJoiner = exports.CloneJoiner || (exports.CloneJoiner = {}));
80
+ //# sourceMappingURL=CloneJoiner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloneJoiner.js","sourceRoot":"","sources":["../../../src/programmers/helpers/CloneJoiner.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import ts from "typescript";
2
2
  import { MetadataObject } from "../../metadata/MetadataObject";
3
3
  import { FeatureProgrammer } from "../FeatureProgrammer";
4
- export declare const feature_object_entries: <Output extends ts.ConciseBody>(config: Pick<FeatureProgrammer.IConfig<Output>, "path" | "trace" | "decoder">) => (obj: MetadataObject) => (input: ts.Expression) => {
4
+ export declare const feature_object_entries: <Output extends ts.ConciseBody>(config: Pick<FeatureProgrammer.IConfig<Output>, "path" | "decoder" | "trace">) => (obj: MetadataObject) => (input: ts.Expression) => {
5
5
  input: ts.Identifier | ts.ElementAccessExpression | ts.PropertyAccessExpression;
6
6
  key: import("../../metadata/Metadata").Metadata;
7
7
  meta: import("../../metadata/Metadata").Metadata;
@@ -6,9 +6,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.CallExpressionTransformer = void 0;
7
7
  var path_1 = __importDefault(require("path"));
8
8
  var ApplicationTransformer_1 = require("./features/miscellaneous/ApplicationTransformer");
9
+ var AssertPruneTransformer_1 = require("./features/miscellaneous/AssertPruneTransformer");
10
+ var CloneTransformer_1 = require("./features/miscellaneous/CloneTransformer");
11
+ var CreateAssertPruneTransformer_1 = require("./features/miscellaneous/CreateAssertPruneTransformer");
12
+ var CreateCloneTransformer_1 = require("./features/miscellaneous/CreateCloneTransformer");
13
+ var CreateIsPruneTransformer_1 = require("./features/miscellaneous/CreateIsPruneTransformer");
9
14
  var CreatePruneTransformer_1 = require("./features/miscellaneous/CreatePruneTransformer");
15
+ var CreateValidatePruneTransformer_1 = require("./features/miscellaneous/CreateValidatePruneTransformer");
16
+ var IsPruneTransformer_1 = require("./features/miscellaneous/IsPruneTransformer");
10
17
  var MetadataTransformer_1 = require("./features/miscellaneous/MetadataTransformer");
11
18
  var PruneTransformer_1 = require("./features/miscellaneous/PruneTransformer");
19
+ var ValidatePruneTransformer_1 = require("./features/miscellaneous/ValidatePruneTransformer");
12
20
  var AssertParseTransformer_1 = require("./features/parsers/AssertParseTransformer");
13
21
  var CreateAssertParseTransformer_1 = require("./features/parsers/CreateAssertParseTransformer");
14
22
  var CreateIsParseTransformer_1 = require("./features/parsers/CreateIsParseTransformer");
@@ -60,13 +68,17 @@ var FUNCTORS = {
60
68
  isParse: function () { return IsParseTransformer_1.IsParseTransformer.transform; },
61
69
  assertParse: function () { return AssertParseTransformer_1.AssertParseTransformer.transform; },
62
70
  validateParse: function () { return ValidateParseTransformer_1.ValidateParseTransformer.transform; },
71
+ application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
63
72
  stringify: function () { return StringifyTransformer_1.StringifyTransformer.transform; },
64
73
  assertStringify: function () { return AssertStringifyTransformer_1.AssertStringifyTransformer.transform; },
65
74
  isStringify: function () { return IsStringifyTransformer_1.IsStringifyTransformer.transform; },
66
75
  validateStringify: function () { return ValidateStringifyTransformer_1.ValidateStringifyTransformer.transform; },
67
- application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
68
76
  metadata: function () { return MetadataTransformer_1.MetadataTransformer.transform; },
77
+ clone: function () { return CloneTransformer_1.CloneTransformer.transform; },
69
78
  prune: function () { return PruneTransformer_1.PruneTransformer.transform; },
79
+ assertPrune: function () { return AssertPruneTransformer_1.AssertPruneTransformer.transform; },
80
+ isPrune: function () { return IsPruneTransformer_1.IsPruneTransformer.transform; },
81
+ validatePrune: function () { return ValidatePruneTransformer_1.ValidatePruneTransformer.transform; },
70
82
  createAssert: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
71
83
  createAssertType: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
72
84
  createIs: function () { return CreateIsTransformer_1.CreateIsTransformer.transform(false); },
@@ -81,6 +93,10 @@ var FUNCTORS = {
81
93
  createAssertStringify: function () { return CreateAssertStringifyTransformer_1.CreateAssertStringifyTransformer.transform; },
82
94
  createIsStringify: function () { return CreateIsStringifyTransformer_1.CreateIsStringifyTransformer.transform; },
83
95
  createValidateStringify: function () { return CreateValidateStringifyProgrammer_1.CreateValidateStringifyTransformer.transform; },
96
+ createClone: function () { return CreateCloneTransformer_1.CreateCloneTransformer.transform; },
84
97
  createPrune: function () { return CreatePruneTransformer_1.CreatePruneTransformer.transform; },
98
+ createAssertPrune: function () { return CreateAssertPruneTransformer_1.CreateAssertPruneTransformer.transform; },
99
+ createIsPrune: function () { return CreateIsPruneTransformer_1.CreateIsPruneTransformer.transform; },
100
+ createValidatePrune: function () { return CreateValidatePruneTransformer_1.CreateValidatePruneTransformer.transform; },
85
101
  };
86
102
  //# sourceMappingURL=CallExpressionTransformer.js.map