typia 3.4.18 → 3.4.19

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 (36) hide show
  1. package/lib/metadata/Metadata.js +32 -29
  2. package/lib/metadata/Metadata.js.map +1 -1
  3. package/lib/programmers/AssertProgrammer.js +1 -1
  4. package/lib/programmers/AssertProgrammer.js.map +1 -1
  5. package/lib/programmers/CheckerProgrammer.d.ts +1 -0
  6. package/lib/programmers/CheckerProgrammer.js +147 -138
  7. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  8. package/lib/programmers/ValidateProgrammer.js +1 -1
  9. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  10. package/lib/programmers/helpers/UnionExplorer.d.ts +23 -29
  11. package/lib/programmers/helpers/UnionExplorer.js +29 -41
  12. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  13. package/lib/programmers/internal/check_array.js +4 -32
  14. package/lib/programmers/internal/check_array.js.map +1 -1
  15. package/lib/programmers/internal/check_array_length.d.ts +1 -0
  16. package/lib/programmers/internal/check_array_length.js +47 -0
  17. package/lib/programmers/internal/check_array_length.js.map +1 -0
  18. package/lib/programmers/internal/check_union_array_like.d.ts +21 -0
  19. package/lib/programmers/internal/check_union_array_like.js +83 -0
  20. package/lib/programmers/internal/check_union_array_like.js.map +1 -0
  21. package/lib/programmers/internal/check_union_tuple.d.ts +1 -0
  22. package/lib/programmers/internal/check_union_tuple.js +11 -0
  23. package/lib/programmers/internal/check_union_tuple.js.map +1 -0
  24. package/package.json +1 -1
  25. package/src/executable/typia.ts +48 -48
  26. package/src/functional/$guard.ts +35 -35
  27. package/src/metadata/Metadata.ts +10 -7
  28. package/src/programmers/AssertProgrammer.ts +1 -1
  29. package/src/programmers/CheckerProgrammer.ts +252 -200
  30. package/src/programmers/FeatureProgrammer.ts +327 -327
  31. package/src/programmers/ValidateProgrammer.ts +1 -1
  32. package/src/programmers/helpers/UnionExplorer.ts +75 -238
  33. package/src/programmers/internal/check_array.ts +3 -25
  34. package/src/programmers/internal/check_array_length.ts +45 -0
  35. package/src/programmers/internal/check_union_array_like.ts +242 -0
  36. package/src/programmers/internal/check_union_tuple.ts +33 -0
@@ -314,7 +314,9 @@ exports.Metadata = Metadata;
314
314
  for (var _s = __values(x.tuples), _t = _s.next(); !_t.done; _t = _s.next()) {
315
315
  var xt = _t.value;
316
316
  var _loop_1 = function (yt) {
317
- if (xt
317
+ if (xt.length === 0 || yt.length === 0)
318
+ return { value: xt.length === 0 && yt.length === 0 };
319
+ else if (xt
318
320
  .slice(0, Math.min(xt.length, yt.length))
319
321
  .some(function (xv, i) { return intersects(xv, yt[i], deep); }))
320
322
  return { value: true };
@@ -430,12 +432,13 @@ exports.Metadata = Metadata;
430
432
  finally { if (e_12) throw e_12.error; }
431
433
  }
432
434
  var _loop_5 = function (yt) {
433
- if (x.tuples.some(function (xt) {
434
- return xt.length >= yt.length &&
435
- xt
436
- .slice(yt.length)
437
- .every(function (xv, i) { return covers(xv, yt[i]); });
438
- }) === false)
435
+ if (yt.length !== 0 &&
436
+ x.tuples.some(function (xt) {
437
+ return xt.length >= yt.length &&
438
+ xt
439
+ .slice(yt.length)
440
+ .every(function (xv, i) { return covers(xv, yt[i]); });
441
+ }) === false)
439
442
  return { value: false };
440
443
  };
441
444
  try {
@@ -573,12 +576,10 @@ function getName(metadata) {
573
576
  }
574
577
  finally { if (e_19) throw e_19.error; }
575
578
  }
576
- if (metadata.rest !== null)
577
- elements.push("...".concat(metadata.rest.getName()));
578
579
  try {
579
- for (var _u = __values(metadata.tuples), _v = _u.next(); !_v.done; _v = _u.next()) {
580
- var tuple = _v.value;
581
- elements.push("[".concat(tuple.map(function (elem) { return elem.getName(); }).join(", "), "]"));
580
+ for (var _u = __values(metadata.natives), _v = _u.next(); !_v.done; _v = _u.next()) {
581
+ var native = _v.value;
582
+ elements.push(native);
582
583
  }
583
584
  }
584
585
  catch (e_20_1) { e_20 = { error: e_20_1 }; }
@@ -589,9 +590,9 @@ function getName(metadata) {
589
590
  finally { if (e_20) throw e_20.error; }
590
591
  }
591
592
  try {
592
- for (var _w = __values(metadata.arrays), _x = _w.next(); !_x.done; _x = _w.next()) {
593
- var array = _x.value;
594
- elements.push("Array<".concat(array.getName(), ">"));
593
+ for (var _w = __values(metadata.sets), _x = _w.next(); !_x.done; _x = _w.next()) {
594
+ var set = _x.value;
595
+ elements.push("Set<".concat(set.getName(), ">"));
595
596
  }
596
597
  }
597
598
  catch (e_21_1) { e_21 = { error: e_21_1 }; }
@@ -602,9 +603,9 @@ function getName(metadata) {
602
603
  finally { if (e_21) throw e_21.error; }
603
604
  }
604
605
  try {
605
- for (var _y = __values(metadata.objects), _z = _y.next(); !_z.done; _z = _y.next()) {
606
- var object = _z.value;
607
- elements.push("Resolve<".concat(object.name, ">"));
606
+ for (var _y = __values(metadata.maps), _z = _y.next(); !_z.done; _z = _y.next()) {
607
+ var map = _z.value;
608
+ elements.push("Map<".concat(map.key.getName(), ", ").concat(map.value.getName(), ">"));
608
609
  }
609
610
  }
610
611
  catch (e_22_1) { e_22 = { error: e_22_1 }; }
@@ -614,12 +615,12 @@ function getName(metadata) {
614
615
  }
615
616
  finally { if (e_22) throw e_22.error; }
616
617
  }
617
- if (metadata.resolved !== null)
618
- elements.push(metadata.resolved.getName());
618
+ if (metadata.rest !== null)
619
+ elements.push("...".concat(metadata.rest.getName()));
619
620
  try {
620
- for (var _0 = __values(metadata.natives), _1 = _0.next(); !_1.done; _1 = _0.next()) {
621
- var native = _1.value;
622
- elements.push(native);
621
+ for (var _0 = __values(metadata.tuples), _1 = _0.next(); !_1.done; _1 = _0.next()) {
622
+ var tuple = _1.value;
623
+ elements.push("[".concat(tuple.map(function (elem) { return elem.getName(); }).join(", "), "]"));
623
624
  }
624
625
  }
625
626
  catch (e_23_1) { e_23 = { error: e_23_1 }; }
@@ -630,9 +631,9 @@ function getName(metadata) {
630
631
  finally { if (e_23) throw e_23.error; }
631
632
  }
632
633
  try {
633
- for (var _2 = __values(metadata.sets), _3 = _2.next(); !_3.done; _3 = _2.next()) {
634
- var set = _3.value;
635
- elements.push("Set<".concat(set.getName(), ">"));
634
+ for (var _2 = __values(metadata.arrays), _3 = _2.next(); !_3.done; _3 = _2.next()) {
635
+ var array = _3.value;
636
+ elements.push("Array<".concat(array.getName(), ">"));
636
637
  }
637
638
  }
638
639
  catch (e_24_1) { e_24 = { error: e_24_1 }; }
@@ -643,9 +644,9 @@ function getName(metadata) {
643
644
  finally { if (e_24) throw e_24.error; }
644
645
  }
645
646
  try {
646
- for (var _4 = __values(metadata.maps), _5 = _4.next(); !_5.done; _5 = _4.next()) {
647
- var map = _5.value;
648
- elements.push("Map<".concat(map.key.getName(), ", ").concat(map.value.getName(), ">"));
647
+ for (var _4 = __values(metadata.objects), _5 = _4.next(); !_5.done; _5 = _4.next()) {
648
+ var object = _5.value;
649
+ elements.push("Resolve<".concat(object.name, ">"));
649
650
  }
650
651
  }
651
652
  catch (e_25_1) { e_25 = { error: e_25_1 }; }
@@ -655,6 +656,8 @@ function getName(metadata) {
655
656
  }
656
657
  finally { if (e_25) throw e_25.error; }
657
658
  }
659
+ if (metadata.resolved !== null)
660
+ elements.push(metadata.resolved.getName());
658
661
  if (elements.length === 0)
659
662
  return "unknown";
660
663
  else if (elements.length === 1)
@@ -1 +1 @@
1
- {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../src/metadata/Metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../src/metadata/Metadata.ts"],"names":[],"mappings":"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"}
@@ -66,7 +66,7 @@ var AssertProgrammer;
66
66
  var combiner = function (equals) {
67
67
  return function (importer) {
68
68
  return function (explore) {
69
- if (explore.tracable === false && explore.from !== "top")
69
+ if (explore.tracable === false)
70
70
  return IsProgrammer_1.IsProgrammer.CONFIG({
71
71
  object: assert_object(equals)(importer),
72
72
  numeric: true,
@@ -1 +1 @@
1
- {"version":3,"file":"AssertProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AAKnE,yDAAwD;AACxD,+CAA8C;AAC9C,iEAA+D;AAC/D,+DAA8D;AAC9D,wDAAuD;AAqNvD,IAAiB,gBAAgB,CA4NhC;AA5ND,WAAiB,gBAAgB;IAChB,yBAAQ,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,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;gBACpC,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,wCAEX,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,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CACvC;uBAEL,IAAI,CACP,CACJ,CAAC;QACN,CAAC;IA7CD,CA6CC,CAAC;IAEN,IAAM,QAAQ,GACV,UAAC,MAAe;QAChB,OAAA,UAAC,QAA0B;YAC3B,OAAA,UAAC,OAAmC;gBAChC,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK;oBACpD,OAAO,2BAAY,CAAC,MAAM,CAAC;wBACvB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;wBACvC,OAAO,EAAE,IAAI;qBAChB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAEzB,IAAM,IAAI,GAAW,OAAO,CAAC,OAAO;oBAChC,CAAC,CAAC,iBAAU,OAAO,CAAC,OAAO,CAAE;oBAC7B,CAAC,CAAC,MAAM,CAAC;gBACb,OAAO,UAAC,KAAK,IAAK,OAAA,UAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;oBACxC,OAAA,KAAK,KAAK,KAAK;wBACX,CAAC,CAAC,QAAQ;6BACH,GAAG,CAAC,UAAC,MAAM;4BACR,OAAA,MAAM,CAAC,QAAQ;gCACX,CAAC,CAAC,MAAM,CAAC,UAAU;gCACnB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,eAAe,CACtB,MAAM,CAAC,UAAU,EACjB,iBAAiB,CAAC,QAAQ,CAAC,CACvB,OAAO,CAAC,MAAM,KAAK,KAAK;oCACpB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;oCACzB,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;wBAfP,CAeO,CACV;6BACA,MAAM,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;wBAC1C,CAAC,CAAC,CAAC;4BACG,IAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;4BAClC,IACI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,QAAQ,KAAK,KAAK,EACnD;gCACE,QAAQ,CAAC,IAAI,CAAC;oCACV,QAAQ,EAAE,IAAI;oCACd,UAAU,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CACnC,OAAO,CAAC,MAAM,KAAK,KAAK;wCACpB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;wCACzB,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;iCACJ,CAAC,CAAC;6BACN;4BACD,OAAO,QAAQ;iCACV,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,EAAZ,CAAY,CAAC;iCACxB,MAAM,CAAC,oBAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;wBAC5C,CAAC,CAAC,EAAE;gBA5CV,CA4CU,EA7CI,CA6CJ,CAAC;YAcnB,CAAC;QArED,CAqEC;IAtED,CAsEC,CAAC;IAEN,IAAM,aAAa,GAAG,UAAC,MAAe,IAAK,OAAA,UAAC,QAA0B;QAClE,OAAA,IAAA,2BAAY,EAAC;YACT,MAAM,QAAA;YACN,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,oBAAE,CAAC,OAAO,CAAC,gBAAgB;YACnC,QAAQ,EAAE,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;YACjC,WAAW,EAAE,UAAC,KAAK;gBACf,OAAA,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CACzB,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;YAXD,CAWC;YACL,IAAI,EAAE,UAAC,IAAI;gBACP,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;YAND,CAMC;SACR,CAAC;IA1BF,CA0BE,EA3BqC,CA2BrC,CAAC;IAEP,IAAM,MAAM,GACR,UAAC,MAAe;QAChB,OAAA,UAAC,QAA0B,IAAwC,OAAA,CAAC;YAChE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;YACvC,KAAK,EAAE,UAAC,KAAK,EAAE,KAAK;gBAChB,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EACtC,SAAS,EACT,CAAC,KAAK,CAAC,CACV;YAJD,CAIC;YACL,OAAO,EAAE,UAAC,KAAK,EAAE,QAAQ,EAAE,OAAO;gBAC9B,OAAA,iBAAiB,CAAC,QAAQ,CAAC,CACvB,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,KAAK;oBACnB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;oBACzB,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;YAVD,CAUC;YACL,IAAI,EAAE,MAAM;gBACR,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,UAAC,SAAS,IAAK,OAAA,UAAC,KAAK,EAAE,QAAQ,EAAE,OAAO;oBACpC,OAAA,oBAAE,CAAC,OAAO,CAAC,eAAe,CACtB,SAAS,EACT,iBAAiB,CAAC,QAAQ,CAAC,CACvB,OAAO,CAAC,IAAI,KAAK,KAAK;wBAClB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;wBACzB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,eAAe,CAClB,CACV,CACG,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC,QAAQ,EACR,KAAK,CACR,CACJ;gBAbD,CAaC,EAdU,CAcV;SACd,CAAC,EArCiE,CAqCjE;IArCF,CAqCE,CAAC;IAEP,IAAM,iBAAiB,GACnB,UAAC,QAA0B;QAC3B,OAAA,UAAC,aAA6B;YAC9B,OAAA,UACI,IAAmB,EACnB,QAAgB,EAChB,KAAoB;gBAEpB,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE;oBAC9D,aAAa,IAAI,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC;oBAC7D,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC;wBACI,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC;wBACjD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,UAAU,EACV,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAC3C;wBACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,KAAK,CAAC;qBACtD,EACD,IAAI,CACP;iBACJ,CAAC;YAbF,CAaE;QAlBN,CAkBM;IAnBN,CAmBM,CAAC;AACf,CAAC,EA5NgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QA4NhC"}
1
+ {"version":3,"file":"AssertProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertProgrammer.ts"],"names":[],"mappings":"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"}
@@ -47,5 +47,6 @@ export declare namespace CheckerProgrammer {
47
47
  const generate_functors: (project: IProject, config: IConfig, importer: FunctionImporter) => (collection: MetadataCollection) => ts.VariableStatement[];
48
48
  const generate_unioners: (project: IProject, config: IConfig, importer: FunctionImporter) => (collection: MetadataCollection) => ts.VariableStatement[];
49
49
  function decode(project: IProject, config: IConfig, importer: FunctionImporter): (input: ts.Expression, meta: Metadata, explore: IExplore, tags: IMetadataTag[]) => ts.Expression;
50
+ function decode_tuple(project: IProject, config: IConfig, importer: FunctionImporter, checkLength: boolean): (input: ts.Expression, tuple: Array<Metadata>, explore: IExplore, tagList: IMetadataTag[]) => ts.Expression;
50
51
  function decode_object(config: IConfig): (input: ts.Expression, obj: MetadataObject, explore: IExplore) => ts.CallExpression;
51
52
  }
@@ -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) {