typia 5.0.0-dev.20230822 → 5.0.0-dev.20230823-2
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.
- package/README.md +1 -1
- package/lib/Primitive.d.ts +14 -12
- package/lib/Resolved.d.ts +46 -0
- package/lib/{schemas/metadata/IMetadataResolved.js → Resolved.js} +1 -1
- package/lib/Resolved.js.map +1 -0
- package/lib/factories/MetadataFactory.d.ts +1 -1
- package/lib/factories/MetadataTagFactory.js +6 -6
- package/lib/factories/MetadataTagFactory.js.map +1 -1
- package/lib/factories/ProtobufFactory.js +2 -2
- package/lib/factories/ProtobufFactory.js.map +1 -1
- package/lib/factories/internal/metadata/explore_metadata.js +3 -3
- package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_collection.js +6 -6
- package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_native.js +2 -10
- package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_resolve.js +6 -6
- package/lib/factories/internal/metadata/iterate_metadata_resolve.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_sort.js +2 -2
- package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
- package/lib/functional/$ProtobufWriter.js.map +1 -1
- package/lib/json.d.ts +15 -15
- package/lib/misc.d.ts +42 -42
- package/lib/module.d.ts +18 -17
- package/lib/module.js +1 -0
- package/lib/module.js.map +1 -1
- package/lib/programmers/AssertProgrammer.js +1 -1
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.js +1 -1
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/IsProgrammer.js +2 -2
- package/lib/programmers/IsProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.js +307 -132
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.js +1 -1
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/helpers/FunctionImporeter.d.ts +2 -0
- package/lib/programmers/helpers/FunctionImporeter.js +2 -1
- package/lib/programmers/helpers/FunctionImporeter.js.map +1 -1
- package/lib/programmers/helpers/StringifyPredicator.js +1 -2
- package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
- package/lib/programmers/helpers/disable_function_importer_declare.js +1 -0
- package/lib/programmers/helpers/disable_function_importer_declare.js.map +1 -1
- package/lib/programmers/internal/application_resolved.d.ts +2 -2
- package/lib/programmers/internal/application_resolved.js.map +1 -1
- package/lib/programmers/internal/application_schema.js +2 -2
- package/lib/programmers/internal/application_schema.js.map +1 -1
- package/lib/programmers/json/JsonStringifyProgrammer.js +4 -4
- package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscAssertCloneProgrammer.js +1 -1
- package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js +114 -33
- package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscIsCloneProgrammer.js +1 -1
- package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscLiteralsProgrammer.js +1 -1
- package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js +2 -2
- package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscValidateCloneProgrammer.js +1 -1
- package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +3 -3
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +15 -10
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +8 -6
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +2 -2
- package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +1 -1
- package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
- package/lib/protobuf.d.ts +631 -10
- package/lib/protobuf.js +13 -13
- package/lib/protobuf.js.map +1 -1
- package/lib/schemas/metadata/IMetadata.d.ts +2 -2
- package/lib/schemas/metadata/{IMetadataResolved.d.ts → IMetadataEscaped.d.ts} +1 -1
- package/lib/schemas/metadata/IMetadataEscaped.js +3 -0
- package/lib/schemas/metadata/IMetadataEscaped.js.map +1 -0
- package/lib/schemas/metadata/Metadata.d.ts +2 -2
- package/lib/schemas/metadata/Metadata.js +15 -15
- package/lib/schemas/metadata/Metadata.js.map +1 -1
- package/lib/schemas/metadata/{MetadataResolved.d.ts → MetadataEscaped.d.ts} +3 -3
- package/lib/schemas/metadata/{MetadataResolved.js → MetadataEscaped.js} +11 -11
- package/lib/schemas/metadata/MetadataEscaped.js.map +1 -0
- package/lib/transformers/features/json/JsonApplicationTransformer.js +1 -1
- package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MetadataTransformer.js +1 -1
- package/lib/transformers/features/misc/MetadataTransformer.js.map +1 -1
- package/lib/utils/RandomGenerator.js +3 -2
- package/lib/utils/RandomGenerator.js.map +1 -1
- package/package.json +2 -1
- package/src/Primitive.ts +19 -15
- package/src/Resolved.ts +116 -0
- package/src/factories/MetadataFactory.ts +1 -1
- package/src/factories/MetadataTagFactory.ts +6 -6
- package/src/factories/ProtobufFactory.ts +2 -2
- package/src/factories/internal/metadata/explore_metadata.ts +3 -3
- package/src/factories/internal/metadata/iterate_metadata_collection.ts +6 -6
- package/src/factories/internal/metadata/iterate_metadata_native.ts +0 -9
- package/src/factories/internal/metadata/iterate_metadata_resolve.ts +6 -6
- package/src/factories/internal/metadata/iterate_metadata_sort.ts +2 -2
- package/src/functional/$ProtobufWriter.ts +1 -2
- package/src/json.ts +15 -15
- package/src/misc.ts +42 -42
- package/src/module.ts +18 -17
- package/src/programmers/AssertProgrammer.ts +3 -1
- package/src/programmers/CheckerProgrammer.ts +1 -1
- package/src/programmers/IsProgrammer.ts +4 -2
- package/src/programmers/RandomProgrammer.ts +322 -26
- package/src/programmers/ValidateProgrammer.ts +3 -1
- package/src/programmers/helpers/FunctionImporeter.ts +2 -0
- package/src/programmers/helpers/StringifyPredicator.ts +1 -2
- package/src/programmers/helpers/disable_function_importer_declare.ts +6 -1
- package/src/programmers/internal/application_resolved.ts +2 -2
- package/src/programmers/internal/application_schema.ts +2 -2
- package/src/programmers/json/JsonStringifyProgrammer.ts +6 -4
- package/src/programmers/misc/MiscAssertCloneProgrammer.ts +1 -1
- package/src/programmers/misc/MiscCloneProgrammer.ts +229 -41
- package/src/programmers/misc/MiscIsCloneProgrammer.ts +1 -1
- package/src/programmers/misc/MiscLiteralsProgrammer.ts +1 -1
- package/src/programmers/misc/MiscPruneProgrammer.ts +4 -2
- package/src/programmers/misc/MiscValidateCloneProgrammer.ts +1 -1
- package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +18 -9
- package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +45 -25
- package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +15 -13
- package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +12 -2
- package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +2 -2
- package/src/protobuf.ts +663 -31
- package/src/schemas/metadata/IMetadata.ts +2 -2
- package/src/schemas/metadata/{IMetadataResolved.ts → IMetadataEscaped.ts} +1 -1
- package/src/schemas/metadata/Metadata.ts +17 -20
- package/src/schemas/metadata/{MetadataResolved.ts → MetadataEscaped.ts} +9 -9
- package/src/transformers/features/json/JsonApplicationTransformer.ts +1 -1
- package/src/transformers/features/misc/MetadataTransformer.ts +1 -1
- package/src/utils/RandomGenerator.ts +4 -2
- package/lib/schemas/metadata/IMetadataResolved.js.map +0 -1
- package/lib/schemas/metadata/MetadataResolved.js.map +0 -1
|
@@ -1,4 +1,15 @@
|
|
|
1
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
|
+
};
|
|
2
13
|
var __read = (this && this.__read) || function (o, n) {
|
|
3
14
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
15
|
if (!m) return o;
|
|
@@ -48,6 +59,9 @@ var MetadataFactory_1 = require("../factories/MetadataFactory");
|
|
|
48
59
|
var StatementFactory_1 = require("../factories/StatementFactory");
|
|
49
60
|
var TemplateFactory_1 = require("../factories/TemplateFactory");
|
|
50
61
|
var TypeFactory_1 = require("../factories/TypeFactory");
|
|
62
|
+
var Metadata_1 = require("../schemas/metadata/Metadata");
|
|
63
|
+
var MetadataArray_1 = require("../schemas/metadata/MetadataArray");
|
|
64
|
+
var MetadataTuple_1 = require("../schemas/metadata/MetadataTuple");
|
|
51
65
|
var FunctionImporeter_1 = require("./helpers/FunctionImporeter");
|
|
52
66
|
var RandomJoiner_1 = require("./helpers/RandomJoiner");
|
|
53
67
|
var RandomRanger_1 = require("./helpers/RandomRanger");
|
|
@@ -57,13 +71,19 @@ var RandomProgrammer;
|
|
|
57
71
|
RandomProgrammer.write = function (project) {
|
|
58
72
|
return function (modulo) {
|
|
59
73
|
return function (init) {
|
|
60
|
-
var importer = new FunctionImporeter_1.FunctionImporter();
|
|
74
|
+
var importer = new FunctionImporeter_1.FunctionImporter(modulo.getText());
|
|
61
75
|
return function (type, name) {
|
|
62
76
|
var collection = new MetadataCollection_1.MetadataCollection();
|
|
63
77
|
var meta = MetadataFactory_1.MetadataFactory.analyze(project.checker)({
|
|
64
|
-
|
|
78
|
+
escape: false,
|
|
65
79
|
constant: true,
|
|
66
80
|
absorb: true,
|
|
81
|
+
validate: function (meta) {
|
|
82
|
+
if (meta.natives.some(function (n) { return n === "WeakSet"; }))
|
|
83
|
+
throw new Error("Error on ".concat(modulo.getText(), "(): WeakSet is not supported."));
|
|
84
|
+
else if (meta.natives.some(function (n) { return n === "WeakMap"; }))
|
|
85
|
+
throw new Error("Error on ".concat(modulo.getText(), "(): WeakMap is not supported."));
|
|
86
|
+
},
|
|
67
87
|
})(collection)(type);
|
|
68
88
|
var functions = {
|
|
69
89
|
objects: write_object_functions(importer)(collection),
|
|
@@ -76,7 +96,7 @@ var RandomProgrammer;
|
|
|
76
96
|
})(meta, [], []);
|
|
77
97
|
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
|
|
78
98
|
IdentifierFactory_1.IdentifierFactory.parameter("generator", typescript_1.default.factory.createTypeReferenceNode("Partial<typia.IRandomGenerator>"), init !== null && init !== void 0 ? init : typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)),
|
|
79
|
-
], typescript_1.default.factory.createTypeReferenceNode("typia.
|
|
99
|
+
], typescript_1.default.factory.createTypeReferenceNode("typia.Resolved<".concat(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker)(type), ">")), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), __read(functions.objects), false), __read(functions.arrays), false), __read(functions.tuples), false), [
|
|
80
100
|
typescript_1.default.factory.createReturnStatement(output),
|
|
81
101
|
], false), true));
|
|
82
102
|
};
|
|
@@ -135,27 +155,27 @@ var RandomProgrammer;
|
|
|
135
155
|
var decode = function (importer) {
|
|
136
156
|
return function (explore) {
|
|
137
157
|
return function (meta, tags, comments) {
|
|
138
|
-
var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g, e_8, _h;
|
|
158
|
+
var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g, e_8, _h, e_9, _j, e_10, _k;
|
|
139
159
|
var expressions = [];
|
|
140
160
|
if (meta.any)
|
|
141
161
|
expressions.push(typescript_1.default.factory.createStringLiteral("any type used..."));
|
|
142
|
-
if (meta.isRequired() === false)
|
|
162
|
+
if (meta.isRequired() === false || meta.functional === true)
|
|
143
163
|
expressions.push(typescript_1.default.factory.createIdentifier("undefined"));
|
|
144
164
|
if (meta.nullable === true)
|
|
145
165
|
expressions.push(typescript_1.default.factory.createNull());
|
|
146
166
|
try {
|
|
147
|
-
for (var
|
|
148
|
-
var constant =
|
|
167
|
+
for (var _l = __values(meta.constants), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
168
|
+
var constant = _m.value;
|
|
149
169
|
try {
|
|
150
|
-
for (var
|
|
151
|
-
var value =
|
|
170
|
+
for (var _o = (e_2 = void 0, __values(constant.values)), _p = _o.next(); !_p.done; _p = _o.next()) {
|
|
171
|
+
var value = _p.value;
|
|
152
172
|
expressions.push(decode_atomic(value));
|
|
153
173
|
}
|
|
154
174
|
}
|
|
155
175
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
156
176
|
finally {
|
|
157
177
|
try {
|
|
158
|
-
if (
|
|
178
|
+
if (_p && !_p.done && (_b = _o.return)) _b.call(_o);
|
|
159
179
|
}
|
|
160
180
|
finally { if (e_2) throw e_2.error; }
|
|
161
181
|
}
|
|
@@ -164,106 +184,123 @@ var RandomProgrammer;
|
|
|
164
184
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
165
185
|
finally {
|
|
166
186
|
try {
|
|
167
|
-
if (
|
|
187
|
+
if (_m && !_m.done && (_a = _l.return)) _a.call(_l);
|
|
168
188
|
}
|
|
169
189
|
finally { if (e_1) throw e_1.error; }
|
|
170
190
|
}
|
|
171
191
|
try {
|
|
172
|
-
for (var
|
|
173
|
-
var template =
|
|
192
|
+
for (var _q = __values(meta.templates), _r = _q.next(); !_r.done; _r = _q.next()) {
|
|
193
|
+
var template = _r.value;
|
|
174
194
|
expressions.push(decode_template(importer)(explore)(template));
|
|
175
195
|
}
|
|
176
196
|
}
|
|
177
197
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
178
198
|
finally {
|
|
179
199
|
try {
|
|
180
|
-
if (
|
|
200
|
+
if (_r && !_r.done && (_c = _q.return)) _c.call(_q);
|
|
181
201
|
}
|
|
182
202
|
finally { if (e_3) throw e_3.error; }
|
|
183
203
|
}
|
|
184
204
|
try {
|
|
185
|
-
for (var
|
|
186
|
-
var atomic =
|
|
205
|
+
for (var _s = __values(meta.atomics), _t = _s.next(); !_t.done; _t = _s.next()) {
|
|
206
|
+
var atomic = _t.value;
|
|
187
207
|
if (atomic === "boolean")
|
|
188
208
|
expressions.push(decode_boolean(importer));
|
|
189
209
|
else if (atomic === "number")
|
|
190
|
-
expressions.push(decode_number(importer)(tags
|
|
210
|
+
expressions.push(decode_number(importer)(tags, comments));
|
|
191
211
|
else if (atomic === "string")
|
|
192
|
-
expressions.push(decode_string(importer)(tags
|
|
212
|
+
expressions.push(decode_string(importer)(tags, comments));
|
|
193
213
|
else if (atomic === "bigint")
|
|
194
|
-
expressions.push(decode_bigint(importer)(tags
|
|
214
|
+
expressions.push(decode_bigint(importer)(tags, comments));
|
|
195
215
|
}
|
|
196
216
|
}
|
|
197
217
|
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
198
218
|
finally {
|
|
199
219
|
try {
|
|
200
|
-
if (
|
|
220
|
+
if (_t && !_t.done && (_d = _s.return)) _d.call(_s);
|
|
201
221
|
}
|
|
202
222
|
finally { if (e_4) throw e_4.error; }
|
|
203
223
|
}
|
|
204
|
-
if (meta.
|
|
205
|
-
expressions.push(decode(importer)(explore)(meta.
|
|
224
|
+
if (meta.escaped)
|
|
225
|
+
expressions.push(decode(importer)(explore)(meta.escaped.returns, tags, comments));
|
|
206
226
|
try {
|
|
207
|
-
for (var
|
|
208
|
-
var array =
|
|
227
|
+
for (var _u = __values(meta.arrays), _v = _u.next(); !_v.done; _v = _u.next()) {
|
|
228
|
+
var array = _v.value;
|
|
209
229
|
expressions.push(decode_array(importer)(explore)(array, tags, comments));
|
|
210
230
|
}
|
|
211
231
|
}
|
|
212
232
|
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
213
233
|
finally {
|
|
214
234
|
try {
|
|
215
|
-
if (
|
|
235
|
+
if (_v && !_v.done && (_e = _u.return)) _e.call(_u);
|
|
216
236
|
}
|
|
217
237
|
finally { if (e_5) throw e_5.error; }
|
|
218
238
|
}
|
|
219
239
|
try {
|
|
220
|
-
for (var
|
|
221
|
-
var tuple =
|
|
240
|
+
for (var _w = __values(meta.tuples), _x = _w.next(); !_x.done; _x = _w.next()) {
|
|
241
|
+
var tuple = _x.value;
|
|
222
242
|
expressions.push(decode_tuple(importer)(explore)(tuple, tags, comments));
|
|
223
243
|
}
|
|
224
244
|
}
|
|
225
245
|
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
226
246
|
finally {
|
|
227
247
|
try {
|
|
228
|
-
if (
|
|
248
|
+
if (_x && !_x.done && (_f = _w.return)) _f.call(_w);
|
|
229
249
|
}
|
|
230
250
|
finally { if (e_6) throw e_6.error; }
|
|
231
251
|
}
|
|
232
252
|
try {
|
|
233
|
-
for (var
|
|
234
|
-
var o =
|
|
253
|
+
for (var _y = __values(meta.objects), _z = _y.next(); !_z.done; _z = _y.next()) {
|
|
254
|
+
var o = _z.value;
|
|
235
255
|
expressions.push(decode_object(importer)(explore)(o));
|
|
236
256
|
}
|
|
237
257
|
}
|
|
238
258
|
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
239
259
|
finally {
|
|
240
260
|
try {
|
|
241
|
-
if (
|
|
261
|
+
if (_z && !_z.done && (_g = _y.return)) _g.call(_y);
|
|
242
262
|
}
|
|
243
263
|
finally { if (e_7) throw e_7.error; }
|
|
244
264
|
}
|
|
245
265
|
try {
|
|
246
|
-
for (var
|
|
247
|
-
var native =
|
|
248
|
-
|
|
249
|
-
expressions.push(decode_boolean(importer));
|
|
250
|
-
else if (native === "Number")
|
|
251
|
-
expressions.push(decode_number(importer)(tags)(comments));
|
|
252
|
-
else if (native === "String")
|
|
253
|
-
expressions.push(decode_string(importer)(tags)(comments));
|
|
254
|
-
else
|
|
255
|
-
expressions.push(typescript_1.default.factory.createIdentifier("{}"));
|
|
266
|
+
for (var _0 = __values(meta.natives), _1 = _0.next(); !_1.done; _1 = _0.next()) {
|
|
267
|
+
var native = _1.value;
|
|
268
|
+
expressions.push(decode_native(importer)(native, tags, comments));
|
|
256
269
|
}
|
|
257
270
|
}
|
|
258
271
|
catch (e_8_1) { e_8 = { error: e_8_1 }; }
|
|
259
272
|
finally {
|
|
260
273
|
try {
|
|
261
|
-
if (
|
|
274
|
+
if (_1 && !_1.done && (_h = _0.return)) _h.call(_0);
|
|
262
275
|
}
|
|
263
276
|
finally { if (e_8) throw e_8.error; }
|
|
264
277
|
}
|
|
265
|
-
|
|
266
|
-
|
|
278
|
+
try {
|
|
279
|
+
for (var _2 = __values(meta.sets), _3 = _2.next(); !_3.done; _3 = _2.next()) {
|
|
280
|
+
var set = _3.value;
|
|
281
|
+
expressions.push(decode_set(importer)(explore)(set, tags, comments));
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
catch (e_9_1) { e_9 = { error: e_9_1 }; }
|
|
285
|
+
finally {
|
|
286
|
+
try {
|
|
287
|
+
if (_3 && !_3.done && (_j = _2.return)) _j.call(_2);
|
|
288
|
+
}
|
|
289
|
+
finally { if (e_9) throw e_9.error; }
|
|
290
|
+
}
|
|
291
|
+
try {
|
|
292
|
+
for (var _4 = __values(meta.maps), _5 = _4.next(); !_5.done; _5 = _4.next()) {
|
|
293
|
+
var map = _5.value;
|
|
294
|
+
expressions.push(decode_map(importer)(explore)(map, tags, comments));
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
catch (e_10_1) { e_10 = { error: e_10_1 }; }
|
|
298
|
+
finally {
|
|
299
|
+
try {
|
|
300
|
+
if (_5 && !_5.done && (_k = _4.return)) _k.call(_4);
|
|
301
|
+
}
|
|
302
|
+
finally { if (e_10) throw e_10.error; }
|
|
303
|
+
}
|
|
267
304
|
if (expressions.length === 1)
|
|
268
305
|
return expressions[0];
|
|
269
306
|
return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createCallExpression(importer.use("pick"), undefined, [
|
|
@@ -294,104 +331,98 @@ var RandomProgrammer;
|
|
|
294
331
|
};
|
|
295
332
|
};
|
|
296
333
|
var decode_number = function (importer) {
|
|
297
|
-
return function (tags) {
|
|
298
|
-
|
|
299
|
-
|
|
334
|
+
return function (tags, comments) {
|
|
335
|
+
var type = tags.find(function (t) {
|
|
336
|
+
return t.kind === "type" &&
|
|
337
|
+
(t.value === "int" ||
|
|
338
|
+
t.value === "int32" ||
|
|
339
|
+
t.value === "int64");
|
|
340
|
+
})
|
|
341
|
+
? "int"
|
|
342
|
+
: tags.find(function (t) {
|
|
300
343
|
return t.kind === "type" &&
|
|
301
|
-
(t.value === "
|
|
302
|
-
t.value === "
|
|
303
|
-
t.value === "
|
|
344
|
+
(t.value === "uint" ||
|
|
345
|
+
t.value === "uint32" ||
|
|
346
|
+
t.value === "uint64");
|
|
304
347
|
})
|
|
305
|
-
? "
|
|
306
|
-
:
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
return typescript_1.default.factory.
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
}));
|
|
329
|
-
},
|
|
330
|
-
})({
|
|
331
|
-
minimum: 0,
|
|
332
|
-
maximum: 100,
|
|
333
|
-
gap: 10,
|
|
334
|
-
})(tags));
|
|
335
|
-
};
|
|
348
|
+
? "uint"
|
|
349
|
+
: "double";
|
|
350
|
+
return (0, random_custom_1.random_custom)(COALESCE(importer))("number")(comments)(RandomRanger_1.RandomRanger.number({
|
|
351
|
+
type: type,
|
|
352
|
+
transform: function (value) {
|
|
353
|
+
return typescript_1.default.factory.createNumericLiteral(value);
|
|
354
|
+
},
|
|
355
|
+
setter: function (args) {
|
|
356
|
+
return typescript_1.default.factory.createCallExpression(type === "double" &&
|
|
357
|
+
tags.every(function (t) {
|
|
358
|
+
return t.kind !== "multipleOf" &&
|
|
359
|
+
t.kind !== "step";
|
|
360
|
+
})
|
|
361
|
+
? COALESCE(importer)("number")
|
|
362
|
+
: COALESCE(importer)("integer"), undefined, args.map(function (val) {
|
|
363
|
+
return typescript_1.default.factory.createNumericLiteral(val);
|
|
364
|
+
}));
|
|
365
|
+
},
|
|
366
|
+
})({
|
|
367
|
+
minimum: 0,
|
|
368
|
+
maximum: 100,
|
|
369
|
+
gap: 10,
|
|
370
|
+
})(tags));
|
|
336
371
|
};
|
|
337
372
|
};
|
|
338
373
|
var decode_bigint = function (importer) {
|
|
339
|
-
return function (tags) {
|
|
340
|
-
return
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
return
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
})(tags));
|
|
359
|
-
};
|
|
374
|
+
return function (tags, comments) {
|
|
375
|
+
return (0, random_custom_1.random_custom)(COALESCE(importer))("bigint")(comments)(RandomRanger_1.RandomRanger.number({
|
|
376
|
+
type: tags.find(function (t) {
|
|
377
|
+
return t.kind === "type" &&
|
|
378
|
+
(t.value === "uint" || t.value === "uint64");
|
|
379
|
+
})
|
|
380
|
+
? "uint"
|
|
381
|
+
: "int",
|
|
382
|
+
transform: function (value) { return ExpressionFactory_1.ExpressionFactory.bigint(value); },
|
|
383
|
+
setter: function (args) {
|
|
384
|
+
return typescript_1.default.factory.createCallExpression(COALESCE(importer)("bigint"), undefined, args.map(function (value) {
|
|
385
|
+
return ExpressionFactory_1.ExpressionFactory.bigint(value);
|
|
386
|
+
}));
|
|
387
|
+
},
|
|
388
|
+
})({
|
|
389
|
+
minimum: 0,
|
|
390
|
+
maximum: 100,
|
|
391
|
+
gap: 10,
|
|
392
|
+
})(tags));
|
|
360
393
|
};
|
|
361
394
|
};
|
|
362
395
|
var decode_string = function (importer) {
|
|
363
|
-
return function (tags) {
|
|
364
|
-
return
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
return typescript_1.default.factory.createCallExpression(COALESCE(importer)("pattern"), undefined, [typescript_1.default.factory.createIdentifier("/".concat(t.value, "/"))]);
|
|
374
|
-
}
|
|
396
|
+
return function (tags, comments) {
|
|
397
|
+
return (0, random_custom_1.random_custom)(COALESCE(importer))("string")(comments)((function () {
|
|
398
|
+
var e_11, _a;
|
|
399
|
+
try {
|
|
400
|
+
for (var tags_1 = __values(tags), tags_1_1 = tags_1.next(); !tags_1_1.done; tags_1_1 = tags_1.next()) {
|
|
401
|
+
var t = tags_1_1.value;
|
|
402
|
+
if (t.kind === "format")
|
|
403
|
+
return typescript_1.default.factory.createCallExpression(COALESCE(importer)(t.value), undefined, undefined);
|
|
404
|
+
else if (t.kind === "pattern")
|
|
405
|
+
return typescript_1.default.factory.createCallExpression(COALESCE(importer)("pattern"), undefined, [typescript_1.default.factory.createIdentifier("/".concat(t.value, "/"))]);
|
|
375
406
|
}
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
finally { if (e_9) throw e_9.error; }
|
|
407
|
+
}
|
|
408
|
+
catch (e_11_1) { e_11 = { error: e_11_1 }; }
|
|
409
|
+
finally {
|
|
410
|
+
try {
|
|
411
|
+
if (tags_1_1 && !tags_1_1.done && (_a = tags_1.return)) _a.call(tags_1);
|
|
382
412
|
}
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
})()
|
|
394
|
-
|
|
413
|
+
finally { if (e_11) throw e_11.error; }
|
|
414
|
+
}
|
|
415
|
+
var tail = RandomRanger_1.RandomRanger.length(COALESCE(importer))({
|
|
416
|
+
minimum: 5,
|
|
417
|
+
maximum: 25,
|
|
418
|
+
gap: 5,
|
|
419
|
+
})({
|
|
420
|
+
fixed: "length",
|
|
421
|
+
minimum: "minLength",
|
|
422
|
+
maximum: "maxLength",
|
|
423
|
+
})(tags);
|
|
424
|
+
return typescript_1.default.factory.createCallExpression(COALESCE(importer)("string"), undefined, tail ? [tail] : undefined);
|
|
425
|
+
})());
|
|
395
426
|
};
|
|
396
427
|
};
|
|
397
428
|
var decode_array = function (importer) {
|
|
@@ -449,6 +480,150 @@ var RandomProgrammer;
|
|
|
449
480
|
};
|
|
450
481
|
};
|
|
451
482
|
};
|
|
483
|
+
var decode_set = function (importer) {
|
|
484
|
+
return function (explore) {
|
|
485
|
+
return function (meta, tags, comments) {
|
|
486
|
+
return typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Set"), undefined, [
|
|
487
|
+
decode_array(importer)(explore)(MetadataArray_1.MetadataArray.create({
|
|
488
|
+
value: meta,
|
|
489
|
+
recursive: false,
|
|
490
|
+
index: null,
|
|
491
|
+
nullables: [],
|
|
492
|
+
name: "Set<".concat(meta.getName(), ">"),
|
|
493
|
+
}), tags, comments),
|
|
494
|
+
]);
|
|
495
|
+
};
|
|
496
|
+
};
|
|
497
|
+
};
|
|
498
|
+
var decode_map = function (importer) {
|
|
499
|
+
return function (explore) {
|
|
500
|
+
return function (m, tags, comments) {
|
|
501
|
+
return typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Map"), undefined, [
|
|
502
|
+
decode_array(importer)(explore)(MetadataArray_1.MetadataArray.create({
|
|
503
|
+
name: "Map<".concat(m.key.getName(), ", ").concat(m.value.getName(), ">"),
|
|
504
|
+
index: null,
|
|
505
|
+
recursive: false,
|
|
506
|
+
nullables: [],
|
|
507
|
+
value: Metadata_1.Metadata.create(__assign(__assign({}, Metadata_1.Metadata.initialize()), { tuples: [
|
|
508
|
+
(function () {
|
|
509
|
+
var tuple = MetadataTuple_1.MetadataTuple.create({
|
|
510
|
+
name: "[".concat(m.key.getName(), ", ").concat(m.value.getName(), "]"),
|
|
511
|
+
index: null,
|
|
512
|
+
recursive: false,
|
|
513
|
+
nullables: [],
|
|
514
|
+
elements: [m.key, m.value],
|
|
515
|
+
});
|
|
516
|
+
tuple.of_map = true;
|
|
517
|
+
return tuple;
|
|
518
|
+
})(),
|
|
519
|
+
] })),
|
|
520
|
+
}), tags, comments),
|
|
521
|
+
]);
|
|
522
|
+
};
|
|
523
|
+
};
|
|
524
|
+
};
|
|
525
|
+
var decode_native = function (importer) {
|
|
526
|
+
return function (type, tags, comments) {
|
|
527
|
+
if (type === "Boolean")
|
|
528
|
+
return decode_boolean(importer);
|
|
529
|
+
else if (type === "Number")
|
|
530
|
+
return decode_number(importer)(tags, comments);
|
|
531
|
+
else if (type === "String")
|
|
532
|
+
return decode_string(importer)(tags, comments);
|
|
533
|
+
else if (type === "Date")
|
|
534
|
+
return decode_native_date(importer);
|
|
535
|
+
else if (type === "Uint8Array" ||
|
|
536
|
+
type === "Uint8ClampedArray" ||
|
|
537
|
+
type === "Uint16Array" ||
|
|
538
|
+
type === "Uint32Array" ||
|
|
539
|
+
type === "BigUint64Array" ||
|
|
540
|
+
type === "Int8Array" ||
|
|
541
|
+
type === "Int16Array" ||
|
|
542
|
+
type === "Int32Array" ||
|
|
543
|
+
type === "BigInt64Array" ||
|
|
544
|
+
type === "Float32Array" ||
|
|
545
|
+
type === "Float64Array")
|
|
546
|
+
return decode_native_byte_array(importer)(type);
|
|
547
|
+
else if (type === "ArrayBuffer" || type === "SharedArrayBuffer")
|
|
548
|
+
return decode_native_array_buffer(importer)(type);
|
|
549
|
+
else if (type === "DataView")
|
|
550
|
+
return decode_native_data_view(importer);
|
|
551
|
+
else
|
|
552
|
+
return typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier(type), undefined, []);
|
|
553
|
+
};
|
|
554
|
+
};
|
|
555
|
+
var decode_native_date = function (importer) {
|
|
556
|
+
return typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Date"), undefined, [
|
|
557
|
+
typescript_1.default.factory.createCallExpression(COALESCE(importer)("datetime"), undefined, []),
|
|
558
|
+
]);
|
|
559
|
+
};
|
|
560
|
+
var decode_native_byte_array = function (importer) {
|
|
561
|
+
return function (type) {
|
|
562
|
+
new BigInt64Array();
|
|
563
|
+
var _a = __read((function () {
|
|
564
|
+
if (type === "Uint8Array" || type === "Uint8ClampedArray")
|
|
565
|
+
return [0, 255];
|
|
566
|
+
else if (type === "Uint16Array")
|
|
567
|
+
return [0, 65535];
|
|
568
|
+
else if (type === "Uint32Array")
|
|
569
|
+
return [0, 4294967295];
|
|
570
|
+
else if (type === "BigUint64Array")
|
|
571
|
+
return [0, 18446744073709551615];
|
|
572
|
+
else if (type === "Int8Array")
|
|
573
|
+
return [-128, 127];
|
|
574
|
+
else if (type === "Int16Array")
|
|
575
|
+
return [-32768, 32767];
|
|
576
|
+
else if (type === "Int32Array")
|
|
577
|
+
return [-2147483648, 2147483647];
|
|
578
|
+
else if (type === "BigInt64Array")
|
|
579
|
+
return [-9223372036854775808, 9223372036854775807];
|
|
580
|
+
else if (type === "Float32Array")
|
|
581
|
+
return [-1.175494351e38, 3.4028235e38];
|
|
582
|
+
return [Number.MIN_VALUE, Number.MAX_VALUE];
|
|
583
|
+
})(), 2), minimum = _a[0], maximum = _a[1];
|
|
584
|
+
var literal = type === "BigInt64Array" || type === "BigUint64Array"
|
|
585
|
+
? ExpressionFactory_1.ExpressionFactory.bigint
|
|
586
|
+
: typescript_1.default.factory.createNumericLiteral;
|
|
587
|
+
return typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier(type), [], [
|
|
588
|
+
typescript_1.default.factory.createCallExpression(COALESCE(importer)("array"), undefined, [
|
|
589
|
+
typescript_1.default.factory.createArrowFunction(undefined, undefined, [], TypeFactory_1.TypeFactory.keyword("any"), undefined, typescript_1.default.factory.createCallExpression(COALESCE(importer)(type === "Float32Array" ||
|
|
590
|
+
type === "Float64Array"
|
|
591
|
+
? "number"
|
|
592
|
+
: type === "BigInt64Array" ||
|
|
593
|
+
type === "BigUint64Array"
|
|
594
|
+
? "bigint"
|
|
595
|
+
: "integer"), undefined, [literal(minimum), literal(maximum)])),
|
|
596
|
+
]),
|
|
597
|
+
]);
|
|
598
|
+
};
|
|
599
|
+
};
|
|
600
|
+
var decode_native_array_buffer = function (importer) {
|
|
601
|
+
return function (type) {
|
|
602
|
+
return type === "ArrayBuffer"
|
|
603
|
+
? IdentifierFactory_1.IdentifierFactory.access(decode_native_byte_array(importer)("Uint8Array"))("buffer")
|
|
604
|
+
: ExpressionFactory_1.ExpressionFactory.selfCall(typescript_1.default.factory.createBlock([
|
|
605
|
+
StatementFactory_1.StatementFactory.constant("length", typescript_1.default.factory.createCallExpression(COALESCE(importer)("integer"), undefined, [])),
|
|
606
|
+
StatementFactory_1.StatementFactory.constant("buffer", typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("SharedArrayBuffer"), [], [typescript_1.default.factory.createIdentifier("length")])),
|
|
607
|
+
StatementFactory_1.StatementFactory.constant("bytes", typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Uint8Array"), [], [typescript_1.default.factory.createIdentifier("buffer")])),
|
|
608
|
+
typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("bytes"))("set"), undefined, [
|
|
609
|
+
typescript_1.default.factory.createCallExpression(COALESCE(importer)("array"), undefined, [
|
|
610
|
+
typescript_1.default.factory.createArrowFunction(undefined, undefined, [], TypeFactory_1.TypeFactory.keyword("any"), undefined, typescript_1.default.factory.createCallExpression(COALESCE(importer)("integer"), undefined, [
|
|
611
|
+
typescript_1.default.factory.createNumericLiteral(0),
|
|
612
|
+
typescript_1.default.factory.createNumericLiteral(255),
|
|
613
|
+
])),
|
|
614
|
+
typescript_1.default.factory.createIdentifier("length"),
|
|
615
|
+
]),
|
|
616
|
+
typescript_1.default.factory.createNumericLiteral(0),
|
|
617
|
+
])),
|
|
618
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("buffer")),
|
|
619
|
+
], true));
|
|
620
|
+
};
|
|
621
|
+
};
|
|
622
|
+
var decode_native_data_view = function (importer) {
|
|
623
|
+
return typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("DataView"), [], [
|
|
624
|
+
IdentifierFactory_1.IdentifierFactory.access(decode_native_byte_array(importer)("Uint8Array"))("buffer"),
|
|
625
|
+
]);
|
|
626
|
+
};
|
|
452
627
|
})(RandomProgrammer || (exports.RandomProgrammer = RandomProgrammer = {}));
|
|
453
628
|
var PREFIX = {
|
|
454
629
|
object: function (i) { return "$ro".concat(i); },
|