typia 3.5.0-dev.20221222 → 3.5.0-dev.20230107

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 (150) hide show
  1. package/README.md +5 -2
  2. package/lib/executable/internal/TypiaSetupWizard.d.ts +6 -2
  3. package/lib/executable/internal/TypiaSetupWizard.js +23 -22
  4. package/lib/executable/internal/TypiaSetupWizard.js.map +1 -1
  5. package/lib/executable/typia.js +11 -10
  6. package/lib/executable/typia.js.map +1 -1
  7. package/lib/metadata/Metadata.js +32 -29
  8. package/lib/metadata/Metadata.js.map +1 -1
  9. package/lib/programmers/AssertProgrammer.js +1 -1
  10. package/lib/programmers/AssertProgrammer.js.map +1 -1
  11. package/lib/programmers/CheckerProgrammer.d.ts +1 -0
  12. package/lib/programmers/CheckerProgrammer.js +147 -138
  13. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  14. package/lib/programmers/ValidateProgrammer.js +1 -1
  15. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  16. package/lib/programmers/helpers/UnionExplorer.d.ts +23 -29
  17. package/lib/programmers/helpers/UnionExplorer.js +29 -41
  18. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  19. package/lib/programmers/internal/application_schema.js +2 -0
  20. package/lib/programmers/internal/application_schema.js.map +1 -1
  21. package/lib/programmers/internal/check_array.js +4 -32
  22. package/lib/programmers/internal/check_array.js.map +1 -1
  23. package/lib/programmers/internal/check_array_length.d.ts +1 -0
  24. package/lib/programmers/internal/check_array_length.js +47 -0
  25. package/lib/programmers/internal/check_array_length.js.map +1 -0
  26. package/lib/programmers/internal/check_union_array_like.d.ts +21 -0
  27. package/lib/programmers/internal/check_union_array_like.js +83 -0
  28. package/lib/programmers/internal/check_union_array_like.js.map +1 -0
  29. package/lib/programmers/internal/check_union_tuple.d.ts +1 -0
  30. package/lib/programmers/internal/check_union_tuple.js +11 -0
  31. package/lib/programmers/internal/check_union_tuple.js.map +1 -0
  32. package/package.json +4 -4
  33. package/src/IValidation.ts +21 -21
  34. package/src/Primitive.ts +82 -82
  35. package/src/TypeGuardError.ts +36 -36
  36. package/src/executable/internal/CommandParser.ts +15 -15
  37. package/src/executable/internal/TypiaSetupWizard.ts +30 -21
  38. package/src/executable/typia.ts +48 -46
  39. package/src/factories/CommentFactory.ts +10 -10
  40. package/src/factories/ExpressionFactory.ts +66 -66
  41. package/src/factories/IdentifierFactory.ts +72 -72
  42. package/src/factories/LiteralFactory.ts +44 -44
  43. package/src/factories/StatementFactory.ts +60 -60
  44. package/src/factories/TemplateFactory.ts +56 -56
  45. package/src/factories/TypeFactory.ts +101 -101
  46. package/src/factories/ValueFactory.ts +12 -12
  47. package/src/functional/$every.ts +11 -11
  48. package/src/functional/$guard.ts +35 -35
  49. package/src/functional/$is_email.ts +5 -5
  50. package/src/functional/$is_ipv4.ts +5 -5
  51. package/src/functional/$is_ipv6.ts +5 -5
  52. package/src/functional/$is_url.ts +5 -5
  53. package/src/functional/$is_uuid.ts +5 -5
  54. package/src/functional/$join.ts +50 -50
  55. package/src/functional/$report.ts +15 -15
  56. package/src/functional/$rest.ts +3 -3
  57. package/src/functional/$string.ts +37 -37
  58. package/src/functional/$tail.ts +6 -6
  59. package/src/index.ts +4 -4
  60. package/src/metadata/IJsDocTagInfo.ts +10 -10
  61. package/src/metadata/IMetadata.ts +25 -25
  62. package/src/metadata/IMetadataApplication.ts +7 -7
  63. package/src/metadata/IMetadataConstant.ts +16 -16
  64. package/src/metadata/IMetadataEntry.ts +6 -6
  65. package/src/metadata/IMetadataObject.ts +29 -29
  66. package/src/metadata/IMetadataProperty.ts +11 -11
  67. package/src/metadata/Metadata.ts +10 -7
  68. package/src/metadata/MetadataConstant.ts +3 -3
  69. package/src/metadata/MetadataObject.ts +131 -131
  70. package/src/metadata/MetadataProperty.ts +64 -64
  71. package/src/programmers/ApplicationProgrammer.ts +55 -55
  72. package/src/programmers/AssertProgrammer.ts +1 -1
  73. package/src/programmers/CheckerProgrammer.ts +252 -200
  74. package/src/programmers/FeatureProgrammer.ts +327 -327
  75. package/src/programmers/ValidateProgrammer.ts +1 -1
  76. package/src/programmers/helpers/AtomicPredicator.ts +15 -15
  77. package/src/programmers/helpers/FunctionImporeter.ts +31 -31
  78. package/src/programmers/helpers/IExpressionEntry.ts +10 -10
  79. package/src/programmers/helpers/StringifyJoinder.ts +111 -111
  80. package/src/programmers/helpers/StringifyPredicator.ts +18 -18
  81. package/src/programmers/helpers/UnionExplorer.ts +274 -437
  82. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  83. package/src/programmers/internal/application_array.ts +45 -45
  84. package/src/programmers/internal/application_boolean.ts +17 -17
  85. package/src/programmers/internal/application_constant.ts +29 -29
  86. package/src/programmers/internal/application_default_string.ts +32 -32
  87. package/src/programmers/internal/application_native.ts +29 -29
  88. package/src/programmers/internal/application_number.ts +76 -76
  89. package/src/programmers/internal/application_object.ts +103 -103
  90. package/src/programmers/internal/application_schema.ts +5 -0
  91. package/src/programmers/internal/application_string.ts +49 -49
  92. package/src/programmers/internal/application_templates.ts +27 -27
  93. package/src/programmers/internal/application_tuple.ts +25 -25
  94. package/src/programmers/internal/check_array.ts +22 -44
  95. package/src/programmers/internal/check_array_length.ts +45 -0
  96. package/src/programmers/internal/check_dynamic_properties.ts +146 -146
  97. package/src/programmers/internal/check_everything.ts +25 -25
  98. package/src/programmers/internal/check_length.ts +46 -46
  99. package/src/programmers/internal/check_native.ts +9 -9
  100. package/src/programmers/internal/check_object.ts +42 -42
  101. package/src/programmers/internal/check_string.ts +24 -24
  102. package/src/programmers/internal/check_string_tags.ts +63 -63
  103. package/src/programmers/internal/check_template.ts +50 -50
  104. package/src/programmers/internal/check_union_array_like.ts +242 -0
  105. package/src/programmers/internal/check_union_tuple.ts +33 -0
  106. package/src/programmers/internal/decode_union_object.ts +73 -73
  107. package/src/programmers/internal/feature_object_entries.ts +49 -49
  108. package/src/programmers/internal/metadata_to_pattern.ts +31 -31
  109. package/src/programmers/internal/stringify_dynamic_properties.ts +164 -164
  110. package/src/programmers/internal/stringify_native.ts +8 -8
  111. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  112. package/src/programmers/internal/template_to_pattern.ts +15 -15
  113. package/src/schemas/IJsonApplication.ts +9 -9
  114. package/src/schemas/IJsonComponents.ts +24 -24
  115. package/src/transform.ts +20 -20
  116. package/src/transformers/ExpressionWithArgumentTransformer.ts +66 -66
  117. package/src/transformers/FileTransformer.ts +49 -49
  118. package/src/transformers/IProject.ts +11 -11
  119. package/src/transformers/NodeTransformer.ts +19 -19
  120. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +1 -0
  121. package/src/transformers/features/miscellaneous/MetadataTransformer.ts +55 -55
  122. package/src/transformers/features/parsers/AssertParseTransformer.ts +36 -36
  123. package/src/transformers/features/parsers/CreateAssertParseTransformer.ts +32 -32
  124. package/src/transformers/features/parsers/CreateIsParseTransformer.ts +32 -32
  125. package/src/transformers/features/parsers/CreateValidateParseTransformer.ts +32 -32
  126. package/src/transformers/features/parsers/IsParseTransformer.ts +36 -36
  127. package/src/transformers/features/parsers/ValidateParseTransformer.ts +36 -36
  128. package/src/transformers/features/stringifiers/AssertStringifyTransformer.ts +38 -38
  129. package/src/transformers/features/stringifiers/CreateAssertStringifyTransformer.ts +32 -32
  130. package/src/transformers/features/stringifiers/CreateIsStringifyTransformer.ts +32 -32
  131. package/src/transformers/features/stringifiers/CreateStringifyTransformer.ts +31 -31
  132. package/src/transformers/features/stringifiers/CreateValidateStringifyProgrammer.ts +32 -32
  133. package/src/transformers/features/stringifiers/IsStringifyTransformer.ts +38 -38
  134. package/src/transformers/features/stringifiers/ValidateStringifyTransformer.ts +38 -38
  135. package/src/transformers/features/validators/AssertTransformer.ts +43 -43
  136. package/src/transformers/features/validators/CreateAssertTransformer.ts +35 -35
  137. package/src/transformers/features/validators/CreateIsTransformer.ts +35 -35
  138. package/src/transformers/features/validators/CreateValidateTransformer.ts +35 -35
  139. package/src/transformers/features/validators/IsTransformer.ts +43 -43
  140. package/src/transformers/features/validators/ValidateTransformer.ts +43 -43
  141. package/src/typings/Atomic.ts +17 -17
  142. package/src/typings/ClassProperties.ts +5 -5
  143. package/src/typings/OmitNever.ts +3 -3
  144. package/src/typings/SpecialFields.ts +3 -3
  145. package/src/typings/Writable.ts +11 -11
  146. package/src/utils/ArrayUtil.ts +49 -49
  147. package/src/utils/Escaper.ts +50 -50
  148. package/src/utils/MapUtil.ts +14 -14
  149. package/src/utils/PatternUtil.ts +30 -30
  150. package/src/utils/Singleton.ts +17 -17
@@ -62,11 +62,13 @@ var FeatureProgrammer_1 = require("./FeatureProgrammer");
62
62
  var OptionPredicator_1 = require("./helpers/OptionPredicator");
63
63
  var UnionExplorer_1 = require("./helpers/UnionExplorer");
64
64
  var check_array_1 = require("./internal/check_array");
65
+ var check_array_length_1 = require("./internal/check_array_length");
65
66
  var check_bigint_1 = require("./internal/check_bigint");
66
67
  var check_native_1 = require("./internal/check_native");
67
68
  var check_number_1 = require("./internal/check_number");
68
69
  var check_string_1 = require("./internal/check_string");
69
70
  var check_template_1 = require("./internal/check_template");
71
+ var check_union_tuple_1 = require("./internal/check_union_tuple");
70
72
  var decode_union_object_1 = require("./internal/decode_union_object");
71
73
  var CheckerProgrammer;
72
74
  (function (CheckerProgrammer) {
@@ -126,10 +128,9 @@ var CheckerProgrammer;
126
128
  };
127
129
  return output;
128
130
  }
129
- function decode(project, config, importer, checkTupleLength) {
130
- if (checkTupleLength === void 0) { checkTupleLength = true; }
131
+ function decode(project, config, importer) {
131
132
  return function (input, meta, explore, tags) {
132
- var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e;
133
+ var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
133
134
  if (meta.any)
134
135
  return config.success;
135
136
  var top = [];
@@ -156,18 +157,18 @@ var CheckerProgrammer;
156
157
  expression: config.success,
157
158
  });
158
159
  try {
159
- for (var _f = __values(meta.constants), _g = _f.next(); !_g.done; _g = _f.next()) {
160
- var constant = _g.value;
160
+ for (var _e = __values(meta.constants), _f = _e.next(); !_f.done; _f = _e.next()) {
161
+ var constant = _f.value;
161
162
  try {
162
- for (var _h = (e_2 = void 0, __values(constant.values)), _j = _h.next(); !_j.done; _j = _h.next()) {
163
- var val = _j.value;
163
+ for (var _g = (e_2 = void 0, __values(constant.values)), _h = _g.next(); !_h.done; _h = _g.next()) {
164
+ var val = _h.value;
164
165
  add(true, getConstantValue(val));
165
166
  }
166
167
  }
167
168
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
168
169
  finally {
169
170
  try {
170
- if (_j && !_j.done && (_b = _h.return)) _b.call(_h);
171
+ if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
171
172
  }
172
173
  finally { if (e_2) throw e_2.error; }
173
174
  }
@@ -176,13 +177,13 @@ var CheckerProgrammer;
176
177
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
177
178
  finally {
178
179
  try {
179
- if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
180
+ if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
180
181
  }
181
182
  finally { if (e_1) throw e_1.error; }
182
183
  }
183
184
  try {
184
- for (var _k = __values(meta.atomics), _l = _k.next(); !_l.done; _l = _k.next()) {
185
- var type = _l.value;
185
+ for (var _j = __values(meta.atomics), _k = _j.next(); !_k.done; _k = _j.next()) {
186
+ var type = _k.value;
186
187
  if (type === "number")
187
188
  binaries.push({
188
189
  expression: (0, check_number_1.check_number)(project, config.numeric)(input, tags),
@@ -205,7 +206,7 @@ var CheckerProgrammer;
205
206
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
206
207
  finally {
207
208
  try {
208
- if (_l && !_l.done && (_c = _k.return)) _c.call(_k);
209
+ if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
209
210
  }
210
211
  finally { if (e_3) throw e_3.error; }
211
212
  }
@@ -214,137 +215,110 @@ var CheckerProgrammer;
214
215
  expression: (0, check_template_1.check_template)(importer)(input, meta.templates, tags),
215
216
  combined: false,
216
217
  });
217
- if (meta.tuples.length > 0) {
218
- var inner = [];
219
- try {
220
- for (var _m = __values(meta.tuples), _o = _m.next(); !_o.done; _o = _m.next()) {
221
- var tuple = _o.value;
222
- inner.push(decode_tuple(project, config, importer, checkTupleLength)(input, tuple, explore, tags));
223
- }
224
- }
225
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
226
- finally {
227
- try {
228
- if (_o && !_o.done && (_d = _m.return)) _d.call(_m);
229
- }
230
- finally { if (e_4) throw e_4.error; }
231
- }
232
- binaries.push({
233
- expression: config.combiner(explore)("and")(input, __spreadArray(__spreadArray([], __read((checkTupleLength
234
- ? [
235
- {
236
- expression: ExpressionFactory_1.ExpressionFactory.isArray(input),
237
- combined: false,
238
- },
239
- ]
240
- : [])), false), __read(inner.map(function (expression) { return ({
241
- expression: expression,
242
- combined: true,
243
- }); })), false), meta.getName()),
244
- combined: true,
245
- });
246
- }
247
- if (meta.arrays.length > 0)
248
- if (meta.arrays.every(function (elem) { return elem.any; }))
249
- binaries.push({
250
- expression: (0, check_array_1.check_array)(input, tags),
251
- combined: false,
252
- });
253
- else
254
- binaries.push({
255
- expression: config.combiner(explore)("and")(input, __spreadArray(__spreadArray([], __read((checkTupleLength
256
- ? [
257
- {
258
- expression: (0, check_array_1.check_array)(input, tags),
259
- combined: false,
260
- },
261
- ]
262
- : [])), false), [
263
- {
264
- expression: explore_array(project, config, importer)(input, meta.arrays, __assign(__assign({}, explore), { from: "array" }), tags),
265
- combined: true,
266
- },
267
- ], false), meta.getName()),
268
- combined: true,
269
- });
270
- if (meta.objects.length > 0)
271
- binaries.push({
272
- expression: config.combiner(explore)("and")(input, [
273
- {
274
- expression: ExpressionFactory_1.ExpressionFactory.isObject(input, {
275
- checkNull: true,
276
- checkArray: meta.objects.some(function (obj) {
277
- return obj.properties.every(function (prop) {
278
- return !prop.key.isSoleLiteral() ||
279
- !prop.value.required;
280
- });
281
- }),
282
- }),
283
- combined: false,
284
- },
285
- {
286
- expression: explore_objects(config)(input, meta, __assign(__assign({}, explore), { from: "object" })),
287
- combined: true,
288
- },
289
- ], meta.getName()),
290
- combined: true,
291
- });
292
218
  try {
293
- for (var _p = __values(meta.natives), _q = _p.next(); !_q.done; _q = _p.next()) {
294
- var native = _q.value;
219
+ for (var _l = __values(meta.natives), _m = _l.next(); !_m.done; _m = _l.next()) {
220
+ var native = _m.value;
295
221
  binaries.push({
296
222
  expression: (0, check_native_1.check_native)(native)(input),
297
223
  combined: false,
298
224
  });
299
225
  }
300
226
  }
301
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
227
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
302
228
  finally {
303
229
  try {
304
- if (_q && !_q.done && (_e = _p.return)) _e.call(_p);
230
+ if (_m && !_m.done && (_d = _l.return)) _d.call(_l);
305
231
  }
306
- finally { if (e_5) throw e_5.error; }
232
+ finally { if (e_4) throw e_4.error; }
307
233
  }
308
- if (meta.sets.length)
309
- if (meta.sets.every(function (elem) { return elem.any; }))
310
- binaries.push({
311
- combined: false,
312
- expression: (0, check_native_1.check_native)("Set")(input),
234
+ var instances = [];
235
+ var prepare = function (pre, expected) {
236
+ return function (body) {
237
+ return instances.push({
238
+ pre: pre,
239
+ expected: expected,
240
+ body: body,
313
241
  });
242
+ };
243
+ };
244
+ if (meta.sets.length) {
245
+ var install = prepare((0, check_native_1.check_native)("Set")(input), meta.sets
246
+ .map(function (elem) { return "Set<".concat(elem.getName(), ">"); })
247
+ .join(" | "));
248
+ if (meta.sets.some(function (elem) { return elem.any; }))
249
+ install(null);
314
250
  else
315
- binaries.push({
316
- combined: true,
317
- expression: config.combiner(explore)("and")(input, [
318
- {
319
- combined: false,
320
- expression: (0, check_native_1.check_native)("Set")(input),
321
- },
322
- {
251
+ install(explore_sets(project, config, importer)(input, meta.sets, __assign(__assign({}, explore), { from: "array" }), []));
252
+ }
253
+ if (meta.maps.length) {
254
+ var install = prepare((0, check_native_1.check_native)("Map")(input), meta.maps
255
+ .map(function (_a) {
256
+ var key = _a.key, value = _a.value;
257
+ return "Map<".concat(key, ", ").concat(value, ">");
258
+ })
259
+ .join(" | "));
260
+ if (meta.maps.some(function (elem) { return elem.key.any && elem.value.any; }))
261
+ install(null);
262
+ else
263
+ install(explore_maps(project, config, importer)(input, meta.maps.map(function (m) { return [m.key, m.value]; }), __assign(__assign({}, explore), { from: "array" }), []));
264
+ }
265
+ if (meta.tuples.length + meta.arrays.length > 0) {
266
+ var install = prepare((0, check_array_1.check_array)(input, meta.tuples.length === 0 ? tags : []), __spreadArray(__spreadArray([], __read(meta.tuples), false), __read(meta.arrays), false).map(function (elem) {
267
+ return Array.isArray(elem)
268
+ ? "[".concat(elem
269
+ .map(function (elem) { return elem.getName(); })
270
+ .join(", "), "]")
271
+ : "Array<".concat(elem.getName(), ">");
272
+ })
273
+ .join(" | "));
274
+ if (meta.arrays.length === 0)
275
+ install(explore_tuples(project, config, importer)(input, meta.tuples, __assign(__assign({}, explore), { from: "array" }), tags));
276
+ else if (meta.arrays.some(function (elem) { return elem.any; }))
277
+ install(null);
278
+ else if (meta.tuples.length === 0)
279
+ install(explore_arrays(project, config, importer)(input, meta.arrays, __assign(__assign({}, explore), { from: "array" }), tags));
280
+ else
281
+ install(explore_arrays_and_tuples(project, config, importer)(input, __spreadArray(__spreadArray([], __read(meta.tuples), false), __read(meta.arrays), false), explore, tags));
282
+ }
283
+ if (meta.objects.length > 0)
284
+ prepare(ExpressionFactory_1.ExpressionFactory.isObject(input, {
285
+ checkNull: true,
286
+ checkArray: meta.objects.some(function (obj) {
287
+ return obj.properties.every(function (prop) {
288
+ return !prop.key.isSoleLiteral() ||
289
+ !prop.value.required;
290
+ });
291
+ }),
292
+ }), meta.objects
293
+ .map(function (obj) { return "Resolve<".concat(obj.name, ">"); })
294
+ .join(" | "))(explore_objects(config)(input, meta, __assign(__assign({}, explore), { from: "object" })));
295
+ if (instances.length) {
296
+ var transformer = function (merger) {
297
+ return function (ins) {
298
+ return ins.body
299
+ ? {
300
+ expression: merger(ins.pre, ins.body),
323
301
  combined: true,
324
- expression: explore_set(project, config, importer)(input, meta.sets, __assign(__assign({}, explore), { from: "array" }), []),
325
- },
326
- ], meta.getName()),
327
- });
328
- if (meta.maps.length)
329
- if (meta.maps.every(function (elem) { return elem.key.any && elem.value.any; }))
330
- binaries.push({
331
- expression: (0, check_native_1.check_native)("Map")(input),
332
- combined: false,
333
- });
302
+ }
303
+ : {
304
+ expression: ins.pre,
305
+ combined: false,
306
+ };
307
+ };
308
+ };
309
+ if (instances.length === 1)
310
+ binaries.push(transformer(function (pre, body) {
311
+ return config.combiner(explore)("and")(input, [pre, body].map(function (expression) { return ({
312
+ expression: expression,
313
+ combined: expression !== pre,
314
+ }); }), meta.getName());
315
+ })(instances[0]));
334
316
  else
335
317
  binaries.push({
318
+ expression: config.combiner(explore)("or")(input, instances.map(transformer(typescript_1.default.factory.createLogicalAnd)), meta.getName()),
336
319
  combined: true,
337
- expression: config.combiner(explore)("and")(input, [
338
- {
339
- combined: false,
340
- expression: (0, check_native_1.check_native)("Map")(input),
341
- },
342
- {
343
- combined: true,
344
- expression: explore_map(project, config, importer)(input, meta.maps.map(function (m) { return [m.key, m.value]; }), __assign(__assign({}, explore), { from: "array" }), []),
345
- },
346
- ], meta.getName()),
347
320
  });
321
+ }
348
322
  return top.length && binaries.length
349
323
  ? config.combiner(explore)("and")(input, __spreadArray(__spreadArray([], __read(top), false), [
350
324
  {
@@ -403,6 +377,7 @@ var CheckerProgrammer;
403
377
  : [])), false), "[".concat(tuple.map(function (t) { return t.getName(); }).join(", "), "]"));
404
378
  };
405
379
  }
380
+ CheckerProgrammer.decode_tuple = decode_tuple;
406
381
  function decode_array(project, config, importer, checkTupleLength) {
407
382
  return FeatureProgrammer_1.FeatureProgrammer.decode_array({
408
383
  trace: config.trace,
@@ -418,18 +393,7 @@ var CheckerProgrammer;
418
393
  };
419
394
  }
420
395
  CheckerProgrammer.decode_object = decode_object;
421
- var explore_array = function (project, config, importer) {
422
- return UnionExplorer_1.UnionExplorer.array({
423
- checker: decode(project, config, importer),
424
- decoder: decode_array(project, config, importer, true),
425
- empty: config.success,
426
- success: config.success,
427
- failure: function (input, expected, explore) {
428
- return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
429
- },
430
- });
431
- };
432
- var explore_set = function (project, config, importer) {
396
+ var explore_sets = function (project, config, importer) {
433
397
  return UnionExplorer_1.UnionExplorer.set({
434
398
  checker: decode(project, config, importer),
435
399
  decoder: decode_array(project, config, importer, true),
@@ -440,7 +404,7 @@ var CheckerProgrammer;
440
404
  },
441
405
  });
442
406
  };
443
- var explore_map = function (project, config, importer) {
407
+ var explore_maps = function (project, config, importer) {
444
408
  return UnionExplorer_1.UnionExplorer.map({
445
409
  checker: function (input, entry, explore) {
446
410
  var func = decode(project, config, importer);
@@ -472,6 +436,51 @@ var CheckerProgrammer;
472
436
  },
473
437
  });
474
438
  };
439
+ var explore_tuples = function (project, config, importer) {
440
+ return UnionExplorer_1.UnionExplorer.tuple({
441
+ checker: (0, check_union_tuple_1.check_union_tuple)(project, config, importer),
442
+ decoder: decode_tuple(project, config, importer, true),
443
+ empty: config.success,
444
+ success: config.success,
445
+ failure: function (input, expected, explore) {
446
+ return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
447
+ },
448
+ });
449
+ };
450
+ var explore_arrays = function (project, config, importer) {
451
+ return UnionExplorer_1.UnionExplorer.array({
452
+ checker: decode(project, config, importer),
453
+ decoder: decode_array(project, config, importer, true),
454
+ empty: config.success,
455
+ success: config.success,
456
+ failure: function (input, expected, explore) {
457
+ return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
458
+ },
459
+ });
460
+ };
461
+ var explore_arrays_and_tuples = function (project, config, importer) {
462
+ return UnionExplorer_1.UnionExplorer.array_or_tuple({
463
+ checker: function (front, target, explore, tags, array) {
464
+ if (Array.isArray(target))
465
+ return (0, check_union_tuple_1.check_union_tuple)(project, config, importer)(front, target, explore, tags, array);
466
+ var condition = decode(project, config, importer)(front, target, explore, tags);
467
+ var length = (0, check_array_length_1.check_array_length)(array, tags);
468
+ return length !== null
469
+ ? typescript_1.default.factory.createBitwiseAnd(condition, length)
470
+ : condition;
471
+ },
472
+ decoder: function (input, target, explore, tags) {
473
+ return Array.isArray(target)
474
+ ? decode_tuple(project, config, importer, true)(input, target, explore, tags)
475
+ : decode_array(project, config, importer, true)(input, target, explore, tags);
476
+ },
477
+ empty: config.success,
478
+ success: config.success,
479
+ failure: function (input, expected, explore) {
480
+ return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
481
+ },
482
+ });
483
+ };
475
484
  var explore_objects = function (config) {
476
485
  var objector = decode_object(config);
477
486
  return function (input, meta, explore) {
@@ -1 +1 @@
1
- {"version":3,"file":"CheckerProgrammer.js","sourceRoot":"","sources":["../../src/programmers/CheckerProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CheckerProgrammer.js","sourceRoot":"","sources":["../../src/programmers/CheckerProgrammer.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,7 @@ var ValidateProgrammer;
73
73
  var combine = function (equals) {
74
74
  return function (importer) {
75
75
  return function (explore) {
76
- if (explore.tracable === false && explore.from !== "top")
76
+ if (explore.tracable === false)
77
77
  return IsProgrammer_1.IsProgrammer.CONFIG({
78
78
  object: validate_object(equals)(importer),
79
79
  numeric: true,
@@ -1 +1 @@
1
- {"version":3,"file":"ValidateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValidateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,yDAAwD;AACxD,+CAA8C;AAC9C,iEAA+D;AAC/D,+DAA8D;AAC9D,gEAA+D;AAC/D,wDAAuD;AAEvD,IAAiB,kBAAkB,CAsElC;AAtED,WAAiB,kBAAkB;IAClB,2BAAQ,GACjB,UACI,OAAiB,EACjB,MAAiC,EACjC,MAAuB;QAAvB,uBAAA,EAAA,cAAuB;QAE3B,OAAA,UAAC,IAAa;YACV,IAAM,QAAQ,GAAqB,IAAI,oCAAgB,EAAE,CAAC;YAC1D,IAAM,OAAO,GAAqB,qCAAiB,CAAC,QAAQ,CACxD,OAAO,EACP;gBACI,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,mCAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;gBAClD,MAAM,QAAA;gBACN,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;gBACnC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;gBAChC,OAAO,EAAE,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;aACnC,EACD,QAAQ,CACX,CAAC,IAAI,CAAC,CAAC;YAER,OAAO,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CACjC,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW;gBAEd,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAC9C;gBACD,mCAAgB,CAAC,QAAQ,CACrB,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EACxC,EAAE,EACF,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAC1C,CACJ;sBACE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC3B,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,OAAO,EACP,SAAS,EACT;oBACI,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;oBACpC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC;oBACxC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;iBAC1B,CACJ,CACJ;gBACD,mCAAgB,CAAC,QAAQ,CACrB,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAC/C,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC;uBAErD,IAAI,CACP,CACJ,CAAC;QACN,CAAC;IA9DD,CA8DC,CAAC;AACV,CAAC,EAtEgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAsElC;AAED,IAAM,OAAO,GACT,UAAC,MAAe;IAChB,OAAA,UAAC,QAA0B;QAC3B,OAAA,UAAC,OAAmC;YAChC,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK;gBAC1B,OAAO,2BAAY,CAAC,MAAM,CAAC;oBACvB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;oBACzC,OAAO,EAAE,IAAI;iBAChB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEzB,IAAM,IAAI,GAAW,OAAO,CAAC,OAAO;gBAChC,CAAC,CAAC,iBAAU,OAAO,CAAC,OAAO,CAAE;gBAC7B,CAAC,CAAC,MAAM,CAAC;YACb,OAAO,UAAC,KAAK,IAAK,OAAA,UAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;gBACxC,OAAA,KAAK,KAAK,KAAK;oBACX,CAAC,CAAC,QAAQ;yBACH,GAAG,CAAC,UAAC,MAAM;wBACR,OAAA,MAAM,CAAC,QAAQ;4BACX,CAAC,CAAC,MAAM,CAAC,UAAU;4BACnB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,eAAe,CACtB,MAAM,CAAC,UAAU,EACjB,kBAAkB,CACd,OAAO,CAAC,MAAM,KAAK,KAAK;gCACpB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;gCACzB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,eAAe,CAClB,CACV,CACG,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,QAAQ,EACR,KAAK,CACR,CACJ;oBAfP,CAeO,CACV;yBACA,MAAM,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAC1C,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,eAAe,CACtB,QAAQ;yBACH,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,UAAU,EAAjB,CAAiB,CAAC;yBAClC,MAAM,CAAC,oBAAE,CAAC,OAAO,CAAC,eAAe,CAAC,EACvC,kBAAkB,CACd,OAAO,CAAC,MAAM,KAAK,KAAK;wBACpB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;wBACzB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CACrD,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CACxD;YA9BP,CA8BO,EA/BO,CA+BP,CAAC;QAChB,CAAC;IA1CD,CA0CC;AA3CD,CA2CC,CAAC;AAEN,IAAM,eAAe,GAAG,UAAC,MAAe,IAAK,OAAA,UAAC,QAA0B;IACpE,OAAA,IAAA,2BAAY,EAAC;QACT,MAAM,QAAA;QACN,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,oBAAE,CAAC,OAAO,CAAC,gBAAgB;QACnC,QAAQ,EAAE,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;QACjC,WAAW,EAAE,UAAC,KAAK;YACf,OAAA,kBAAkB,EAAE,CAChB,oBAAE,CAAC,OAAO,CAAC,SAAS,CAChB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EACpB,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CACvC,CACJ,EACD,WAAW,EACX,KAAK,CACR;QAXD,CAWC;QACL,IAAI,EAAE,UAAC,IAAI;YACP,OAAA,oBAAE,CAAC,OAAO,CAAC,eAAe,CACtB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EACxB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAC/C,EACD,IAAI,CACP;QAND,CAMC;KACR,CAAC;AA1BF,CA0BE,EA3BuC,CA2BvC,CAAC;AAEP,IAAM,MAAM,GACR,UAAC,MAAe;IAChB,OAAA,UAAC,QAA0B,IAAwC,OAAA,CAAC;QAChE,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;QACzC,KAAK,EAAE,UAAC,KAAK,EAAE,KAAK;YAChB,OAAA,IAAA,mCAAgB,EACZ,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EACpC,SAAS,EACT,CAAC,KAAK,CAAC,CACV,CACJ;QAND,CAMC;QACL,OAAO,EAAE,UAAC,KAAK,EAAE,QAAQ,EAAE,OAAO;YAC9B,OAAA,kBAAkB,CACd,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,KAAK;gBACnB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;gBACzB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CACrD,CACG,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAC,CAAC,CAAC,iBAAU,OAAO,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC,MAAM,CAC1D,EACD,QAAQ,EACR,KAAK,CACR;QAVD,CAUC;QACL,KAAK,EAAE,UAAC,QAAQ;YACZ,OAAA,IAAA,mCAAgB,EACZ,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAC1D;QAFD,CAEC;KACR,CAAC,EA1BiE,CA0BjE;AA1BF,CA0BE,CAAC;AAEP,SAAS,aAAa;IAClB,OAAO,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAC3C;QACI,oBAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,SAAS,CAAC;QACvD,oBAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,QAAQ,CAAC;QACtD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,MAAM,EACN,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACtC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAC3C,CACJ;KACJ,EACD,IAAI,CACP,CAAC;AACN,CAAC;AAED,IAAM,kBAAkB,GACpB,UAAC,aAA6B;IAC9B,OAAA,UACI,IAAmB,EACnB,QAAgB,EAChB,KAAoB;QAEpB,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACtC,SAAS,EACT;YACI,aAAa,IAAI,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC;YAC7D,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC;gBACI,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC;gBACjD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,UAAU,EACV,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAC3C;gBACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,KAAK,CAAC;aACtD,EACD,IAAI,CACP;SACJ,CACJ;IAjBD,CAiBC;AAtBL,CAsBK,CAAC"}
@@ -2,41 +2,35 @@ import ts from "typescript";
2
2
  import { IMetadataTag } from "../../metadata/IMetadataTag";
3
3
  import { Metadata } from "../../metadata/Metadata";
4
4
  import { MetadataObject } from "../../metadata/MetadataObject";
5
- import { CheckerProgrammer } from "../CheckerProgrammer";
6
5
  import { FeatureProgrammer } from "../FeatureProgrammer";
6
+ import { check_union_array_like } from "../internal/check_union_array_like";
7
7
  export declare namespace UnionExplorer {
8
- export interface Decoder<T> {
8
+ interface Decoder<T> {
9
9
  (input: ts.Expression, target: T, explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]): ts.Expression;
10
10
  }
11
- export type ObjectCombiner = Decoder<MetadataObject[]>;
12
- export function object(config: FeatureProgrammer.IConfig, level?: number): (input: ts.Expression, targets: MetadataObject[], explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]) => ts.Expression;
13
- export const array: (props: array.IProps) => (input: ts.Expression, targets: Metadata[], explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]) => ts.Expression;
14
- export namespace array {
15
- type IProps = iterate.IProps<Metadata>;
11
+ type ObjectCombiner = Decoder<MetadataObject[]>;
12
+ const object: (config: FeatureProgrammer.IConfig, level?: number) => (input: ts.Expression, targets: MetadataObject[], explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]) => ts.Expression;
13
+ const tuple: (props: check_union_array_like.IProps<Metadata[]>) => (input: ts.Expression, targets: Metadata[][], explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]) => ts.Expression;
14
+ namespace tuple {
15
+ type IProps = check_union_array_like.IProps<Metadata | Metadata[]>;
16
16
  }
17
- export const set: (props: set.IProps) => (input: ts.Expression, targets: Metadata[], explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]) => ts.Expression;
18
- export namespace set {
19
- type IProps = iterate.IProps<Metadata>;
17
+ const array: (props: array.IProps) => (input: ts.Expression, targets: Metadata[], explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]) => ts.Expression;
18
+ namespace array {
19
+ type IProps = check_union_array_like.IProps<Metadata>;
20
20
  }
21
- export const map: (props: map.IProps) => (input: ts.Expression, targets: [Metadata, Metadata][], explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]) => ts.Expression;
22
- export namespace map {
23
- type IProps = iterate.IProps<[Metadata, Metadata]>;
21
+ const array_or_tuple: (props: array_or_tuple.IProps) => (input: ts.Expression, targets: (Metadata | Metadata[])[], explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]) => ts.Expression;
22
+ namespace array_or_tuple {
23
+ type IProps = check_union_array_like.IProps<Metadata | Metadata[]>;
24
24
  }
25
- const iterate: <T>(accessor: iterate.IAccessor<T>) => (props: iterate.IProps<T>) => (input: ts.Expression, targets: T[], explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]) => ts.Expression;
26
- namespace iterate {
27
- interface IProps<T> {
28
- checker(input: ts.Expression, target: T, explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]): ts.Expression;
29
- decoder: Decoder<T>;
30
- empty: ts.Expression;
31
- success: ts.Expression;
32
- failure(input: ts.Expression, expected: string, explore: CheckerProgrammer.IExplore): ts.Statement;
33
- }
34
- interface IAccessor<T> {
35
- name(metadata: T): string;
36
- size(input: ts.Expression): ts.Expression;
37
- front(input: ts.Expression): ts.Expression;
38
- array(input: ts.Expression): ts.Expression;
39
- }
25
+ const set: (props: set.IProps) => (input: ts.Expression, targets: Metadata[], explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]) => ts.Expression;
26
+ namespace set {
27
+ type IProps = check_union_array_like.IProps<Metadata>;
28
+ }
29
+ const map: (props: map.IProps) => (input: ts.Expression, targets: [Metadata, Metadata][], explore: FeatureProgrammer.IExplore, tags: IMetadataTag[]) => ts.Expression;
30
+ namespace map {
31
+ type IProps = check_union_array_like.IProps<[
32
+ Metadata,
33
+ Metadata
34
+ ]>;
40
35
  }
41
- export {};
42
36
  }