typia 6.7.2-dev.20240805-5 → 6.7.3-dev.20240808

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 (76) hide show
  1. package/lib/factories/TypeFactory.d.ts +2 -0
  2. package/lib/factories/TypeFactory.js +83 -4
  3. package/lib/factories/TypeFactory.js.map +1 -1
  4. package/lib/factories/internal/metadata/emplace_metadata_array_type.js +5 -1
  5. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -1
  6. package/lib/factories/internal/metadata/emplace_metadata_object.js +4 -3
  7. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  8. package/lib/factories/internal/metadata/iterate_metadata.js +2 -1
  9. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  10. package/lib/factories/internal/metadata/iterate_metadata_array.js +2 -1
  11. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  12. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +1 -1
  13. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  14. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js +1 -1
  15. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js.map +1 -1
  16. package/lib/factories/internal/metadata/iterate_metadata_constant.js +3 -2
  17. package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -1
  18. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +3 -2
  19. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  20. package/lib/factories/internal/metadata/iterate_metadata_map.js +1 -1
  21. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  22. package/lib/factories/internal/metadata/iterate_metadata_native.js +1 -1
  23. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  24. package/lib/factories/internal/metadata/iterate_metadata_object.js +3 -2
  25. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  26. package/lib/factories/internal/metadata/iterate_metadata_set.js +1 -1
  27. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  28. package/lib/factories/internal/metadata/iterate_metadata_template.js +1 -1
  29. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  30. package/lib/factories/internal/metadata/iterate_metadata_union.js +2 -1
  31. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
  32. package/lib/transformers/features/CreateRandomTransformer.js +2 -1
  33. package/lib/transformers/features/CreateRandomTransformer.js.map +1 -1
  34. package/lib/transformers/features/RandomTransformer.js +2 -1
  35. package/lib/transformers/features/RandomTransformer.js.map +1 -1
  36. package/lib/transformers/features/json/JsonApplicationTransformer.js +5 -4
  37. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  38. package/lib/transformers/features/misc/MiscLiteralsTransformer.js +2 -1
  39. package/lib/transformers/features/misc/MiscLiteralsTransformer.js.map +1 -1
  40. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js +2 -1
  41. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js.map +1 -1
  42. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +2 -1
  43. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -1
  44. package/lib/transformers/internal/GenericTransformer.js +3 -2
  45. package/lib/transformers/internal/GenericTransformer.js.map +1 -1
  46. package/lib/utils/TypePredicator.d.ts +10 -0
  47. package/lib/utils/TypePredicator.js +36 -0
  48. package/lib/utils/TypePredicator.js.map +1 -0
  49. package/package.json +1 -1
  50. package/src/factories/StatementFactory.ts +74 -74
  51. package/src/factories/TypeFactory.ts +76 -4
  52. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +1 -1
  53. package/src/factories/internal/metadata/emplace_metadata_object.ts +6 -3
  54. package/src/factories/internal/metadata/iterate_metadata.ts +3 -1
  55. package/src/factories/internal/metadata/iterate_metadata_array.ts +2 -1
  56. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +1 -1
  57. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +1 -1
  58. package/src/factories/internal/metadata/iterate_metadata_constant.ts +3 -2
  59. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +3 -2
  60. package/src/factories/internal/metadata/iterate_metadata_map.ts +1 -1
  61. package/src/factories/internal/metadata/iterate_metadata_native.ts +1 -4
  62. package/src/factories/internal/metadata/iterate_metadata_object.ts +3 -2
  63. package/src/factories/internal/metadata/iterate_metadata_set.ts +1 -1
  64. package/src/factories/internal/metadata/iterate_metadata_template.ts +1 -1
  65. package/src/factories/internal/metadata/iterate_metadata_union.ts +3 -1
  66. package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
  67. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  68. package/src/tags/Type.ts +32 -32
  69. package/src/transformers/features/CreateRandomTransformer.ts +3 -1
  70. package/src/transformers/features/RandomTransformer.ts +3 -1
  71. package/src/transformers/features/json/JsonApplicationTransformer.ts +6 -4
  72. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +3 -1
  73. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +3 -1
  74. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +3 -1
  75. package/src/transformers/internal/GenericTransformer.ts +4 -2
  76. package/src/utils/TypePredicator.ts +32 -0
@@ -12,13 +12,14 @@ var __assign = (this && this.__assign) || function () {
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.iterate_metadata_union = void 0;
15
+ var TypePredicator_1 = require("../../../utils/TypePredicator");
15
16
  var iterate_metadata_1 = require("./iterate_metadata");
16
17
  var iterate_metadata_union = function (checker) {
17
18
  return function (options) {
18
19
  return function (collection) {
19
20
  return function (errors) {
20
21
  return function (meta, type, explore) {
21
- if (!type.isUnion())
22
+ if (TypePredicator_1.TypePredicator.isUnion(type) === false)
22
23
  return false;
23
24
  type.types.forEach(function (t) {
24
25
  return (0, iterate_metadata_1.iterate_metadata)(checker)(options)(collection)(errors)(meta, t, __assign(__assign({}, explore), { aliased: false }));
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_metadata_union.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_union.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAMA,uDAAsD;AAE/C,IAAM,sBAAsB,GACjC,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,MAAgC;gBACjC,OAAA,UACE,IAAc,EACd,IAAa,EACb,OAAiC;oBAEjC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;wBAAE,OAAO,KAAK,CAAC;oBAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC;wBACnB,OAAA,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,wBACzD,OAAO,KACV,OAAO,EAAE,KAAK,IACd;oBAHF,CAGE,CACH,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;YAbD,CAaC;QAdD,CAcC;IAfD,CAeC;AAhBD,CAgBC,CAAC;AAlBS,QAAA,sBAAsB,0BAkB/B"}
1
+ {"version":3,"file":"iterate_metadata_union.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_union.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,gEAA+D;AAI/D,uDAAsD;AAE/C,IAAM,sBAAsB,GACjC,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,MAAgC;gBACjC,OAAA,UACE,IAAc,EACd,IAAa,EACb,OAAiC;oBAEjC,IAAI,+BAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK;wBAAE,OAAO,KAAK,CAAC;oBACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC;wBACnB,OAAA,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,wBACzD,OAAO,KACV,OAAO,EAAE,KAAK,IACd;oBAHF,CAGE,CACH,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;YAbD,CAaC;QAdD,CAcC;IAfD,CAeC;AAhBD,CAgBC,CAAC;AAlBS,QAAA,sBAAsB,0BAkB/B"}
@@ -13,6 +13,7 @@ var __assign = (this && this.__assign) || function () {
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.CreateRandomTransformer = void 0;
15
15
  var RandomProgrammer_1 = require("../../programmers/RandomProgrammer");
16
+ var TypePredicator_1 = require("../../utils/TypePredicator");
16
17
  var TransformerError_1 = require("../TransformerError");
17
18
  var CreateRandomTransformer;
18
19
  (function (CreateRandomTransformer) {
@@ -29,7 +30,7 @@ var CreateRandomTransformer;
29
30
  // GET TYPE INFO
30
31
  var node = expression.typeArguments[0];
31
32
  var type = project.checker.getTypeFromTypeNode(node);
32
- if (type.isTypeParameter())
33
+ if (TypePredicator_1.TypePredicator.isTypeParameter(type))
33
34
  throw new TransformerError_1.TransformerError({
34
35
  code: "typia.createRandom",
35
36
  message: "non-specified generic argument.",
@@ -1 +1 @@
1
- {"version":3,"file":"CreateRandomTransformer.js","sourceRoot":"","sources":["../../../src/transformers/features/CreateRandomTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,uEAAsE;AAGtE,wDAAuD;AAEvD,IAAiB,uBAAuB,CAgCvC;AAhCD,WAAiB,uBAAuB;IACzB,iCAAS,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,UAA6B;;gBAC5B,mCAAmC;gBACnC,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAG,CAAC,CAAC,CAAA;oBAChC,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EAAE,oCAAoC;qBAC9C,CAAC,CAAC;gBAEL,gBAAgB;gBAChB,IAAM,IAAI,GAAgB,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAEhE,IAAI,IAAI,CAAC,eAAe,EAAE;oBACxB,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EAAE,iCAAiC;qBAC3C,CAAC,CAAC;gBAEL,eAAe;gBACf,OAAO,mCAAgB,CAAC,KAAK,uBACxB,OAAO,KACV,OAAO,wBACF,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEhB,CAAC,MAAM,CAAC,CAAC,MAAA,UAAU,CAAC,SAAS,0CAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC;QA3BD,CA2BC;IA5BD,CA4BC,CAAC;AACN,CAAC,EAhCgB,uBAAuB,uCAAvB,uBAAuB,QAgCvC"}
1
+ {"version":3,"file":"CreateRandomTransformer.js","sourceRoot":"","sources":["../../../src/transformers/features/CreateRandomTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,uEAAsE;AAEtE,6DAA4D;AAG5D,wDAAuD;AAEvD,IAAiB,uBAAuB,CAgCvC;AAhCD,WAAiB,uBAAuB;IACzB,iCAAS,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,UAA6B;;gBAC5B,mCAAmC;gBACnC,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAG,CAAC,CAAC,CAAA;oBAChC,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EAAE,oCAAoC;qBAC9C,CAAC,CAAC;gBAEL,gBAAgB;gBAChB,IAAM,IAAI,GAAgB,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAEhE,IAAI,+BAAc,CAAC,eAAe,CAAC,IAAI,CAAC;oBACtC,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EAAE,iCAAiC;qBAC3C,CAAC,CAAC;gBAEL,eAAe;gBACf,OAAO,mCAAgB,CAAC,KAAK,uBACxB,OAAO,KACV,OAAO,wBACF,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEhB,CAAC,MAAM,CAAC,CAAC,MAAA,UAAU,CAAC,SAAS,0CAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC;QA3BD,CA2BC;IA5BD,CA4BC,CAAC;AACN,CAAC,EAhCgB,uBAAuB,uCAAvB,uBAAuB,QAgCvC"}
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.RandomTransformer = void 0;
18
18
  var typescript_1 = __importDefault(require("typescript"));
19
19
  var RandomProgrammer_1 = require("../../programmers/RandomProgrammer");
20
+ var TypePredicator_1 = require("../../utils/TypePredicator");
20
21
  var TransformerError_1 = require("../TransformerError");
21
22
  var RandomTransformer;
22
23
  (function (RandomTransformer) {
@@ -33,7 +34,7 @@ var RandomTransformer;
33
34
  // GET TYPE INFO
34
35
  var node = expression.typeArguments[0];
35
36
  var type = project.checker.getTypeFromTypeNode(node);
36
- if (type.isTypeParameter())
37
+ if (TypePredicator_1.TypePredicator.isTypeParameter(type))
37
38
  throw new TransformerError_1.TransformerError({
38
39
  code: "typia.".concat(modulo.getText()),
39
40
  message: "non-specified generic argument.",
@@ -1 +1 @@
1
- {"version":3,"file":"RandomTransformer.js","sourceRoot":"","sources":["../../../src/transformers/features/RandomTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAGtE,wDAAuD;AAEvD,IAAiB,iBAAiB,CAoCjC;AApCD,WAAiB,iBAAiB;IACnB,2BAAS,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,UAA6B;;gBAC5B,mCAAmC;gBACnC,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAG,CAAC,CAAC,CAAA;oBAChC,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,gBAAS,MAAM,CAAC,OAAO,EAAE,CAAE;wBACjC,OAAO,EAAE,oCAAoC;qBAC9C,CAAC,CAAC;gBAEL,gBAAgB;gBAChB,IAAM,IAAI,GAAgB,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAEhE,IAAI,IAAI,CAAC,eAAe,EAAE;oBACxB,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,gBAAS,MAAM,CAAC,OAAO,EAAE,CAAE;wBACjC,OAAO,EAAE,iCAAiC;qBAC3C,CAAC,CAAC;gBAEL,eAAe;gBACf,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CACpC,mCAAgB,CAAC,KAAK,uBACjB,OAAO,KACV,OAAO,wBACF,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEhB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAC7C,SAAS,EACT,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CACrE,CAAC;YACJ,CAAC;QA/BD,CA+BC;IAhCD,CAgCC,CAAC;AACN,CAAC,EApCgB,iBAAiB,iCAAjB,iBAAiB,QAoCjC"}
1
+ {"version":3,"file":"RandomTransformer.js","sourceRoot":"","sources":["../../../src/transformers/features/RandomTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAEtE,6DAA4D;AAG5D,wDAAuD;AAEvD,IAAiB,iBAAiB,CAoCjC;AApCD,WAAiB,iBAAiB;IACnB,2BAAS,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,UAA6B;;gBAC5B,mCAAmC;gBACnC,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAG,CAAC,CAAC,CAAA;oBAChC,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,gBAAS,MAAM,CAAC,OAAO,EAAE,CAAE;wBACjC,OAAO,EAAE,oCAAoC;qBAC9C,CAAC,CAAC;gBAEL,gBAAgB;gBAChB,IAAM,IAAI,GAAgB,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAEhE,IAAI,+BAAc,CAAC,eAAe,CAAC,IAAI,CAAC;oBACtC,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,gBAAS,MAAM,CAAC,OAAO,EAAE,CAAE;wBACjC,OAAO,EAAE,iCAAiC;qBAC3C,CAAC,CAAC;gBAEL,eAAe;gBACf,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CACpC,mCAAgB,CAAC,KAAK,uBACjB,OAAO,KACV,OAAO,wBACF,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEhB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAC7C,SAAS,EACT,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CACrE,CAAC;YACJ,CAAC;QA/BD,CA+BC;IAhCD,CAgCC,CAAC;AACN,CAAC,EApCgB,iBAAiB,iCAAjB,iBAAiB,QAoCjC"}
@@ -45,6 +45,7 @@ var LiteralFactory_1 = require("../../../factories/LiteralFactory");
45
45
  var MetadataCollection_1 = require("../../../factories/MetadataCollection");
46
46
  var MetadataFactory_1 = require("../../../factories/MetadataFactory");
47
47
  var JsonApplicationProgrammer_1 = require("../../../programmers/json/JsonApplicationProgrammer");
48
+ var TypePredicator_1 = require("../../../utils/TypePredicator");
48
49
  var TransformerError_1 = require("../../TransformerError");
49
50
  var JsonApplicationTransformer;
50
51
  (function (JsonApplicationTransformer) {
@@ -70,7 +71,7 @@ var JsonApplicationTransformer;
70
71
  var types = top.elements.map(function (child) {
71
72
  return project.checker.getTypeFromTypeNode(child);
72
73
  });
73
- if (types.some(function (t) { return t.isTypeParameter(); }))
74
+ if (types.some(TypePredicator_1.TypePredicator.isTypeParameter))
74
75
  throw new TransformerError_1.TransformerError({
75
76
  code: "typia.json.application",
76
77
  message: "non-specified generic argument(s).",
@@ -130,14 +131,14 @@ var JsonApplicationTransformer;
130
131
  return props.default();
131
132
  // CHECK LITERAL TYPE
132
133
  var type = props.checker.getTypeFromTypeNode(node);
133
- if (!type.isLiteral() &&
134
- (type.getFlags() & typescript_1.default.TypeFlags.BooleanLiteral) === 0)
134
+ if (!TypePredicator_1.TypePredicator.isLiteral(type) &&
135
+ (type.flags & typescript_1.default.TypeFlags.BooleanLiteral) === 0)
135
136
  throw new TransformerError_1.TransformerError({
136
137
  code: "typia.json.application",
137
138
  message: "generic argument \"".concat(props.name, "\" must be constant."),
138
139
  });
139
140
  // GET VALUE AND VALIDATE IT
140
- var value = type.isLiteral()
141
+ var value = TypePredicator_1.TypePredicator.isLiteral(type)
141
142
  ? type.value
142
143
  : props.checker.typeToString(type);
143
144
  if (typeof value !== "string" || props.is(value) === false)
@@ -1 +1 @@
1
- {"version":3,"file":"JsonApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/json/JsonApplicationTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/json/JsonApplicationTransformer.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MiscLiteralsTransformer = void 0;
4
4
  var MiscLiteralsProgrammer_1 = require("../../../programmers/misc/MiscLiteralsProgrammer");
5
+ var TypePredicator_1 = require("../../../utils/TypePredicator");
5
6
  var TransformerError_1 = require("../../TransformerError");
6
7
  var MiscLiteralsTransformer;
7
8
  (function (MiscLiteralsTransformer) {
@@ -17,7 +18,7 @@ var MiscLiteralsTransformer;
17
18
  // GET TYPE INFO
18
19
  var node = expression.typeArguments[0];
19
20
  var type = project.checker.getTypeFromTypeNode(node);
20
- if (type.isTypeParameter())
21
+ if (TypePredicator_1.TypePredicator.isTypeParameter(type))
21
22
  throw new TransformerError_1.TransformerError({
22
23
  code: "typia.misc.literals",
23
24
  message: "non-specified generic argument.",
@@ -1 +1 @@
1
- {"version":3,"file":"MiscLiteralsTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/misc/MiscLiteralsTransformer.ts"],"names":[],"mappings":";;;AAEA,2FAA0F;AAG1F,2DAA0D;AAE1D,IAAiB,uBAAuB,CAwBvC;AAxBD,WAAiB,uBAAuB;IACzB,iCAAS,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,UAA6B;;YAC5B,mCAAmC;YACnC,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAG,CAAC,CAAC,CAAA;gBAChC,MAAM,IAAI,mCAAgB,CAAC;oBACzB,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,oCAAoC;iBAC9C,CAAC,CAAC;YAEL,gBAAgB;YAChB,IAAM,IAAI,GAAgB,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACtD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAEhE,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,MAAM,IAAI,mCAAgB,CAAC;oBACzB,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,iCAAiC;iBAC3C,CAAC,CAAC;YAEL,eAAe;YACf,OAAO,+CAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;IApBD,CAoBC,CAAC;AACN,CAAC,EAxBgB,uBAAuB,uCAAvB,uBAAuB,QAwBvC"}
1
+ {"version":3,"file":"MiscLiteralsTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/misc/MiscLiteralsTransformer.ts"],"names":[],"mappings":";;;AAEA,2FAA0F;AAE1F,gEAA+D;AAG/D,2DAA0D;AAE1D,IAAiB,uBAAuB,CAwBvC;AAxBD,WAAiB,uBAAuB;IACzB,iCAAS,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,UAA6B;;YAC5B,mCAAmC;YACnC,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAG,CAAC,CAAC,CAAA;gBAChC,MAAM,IAAI,mCAAgB,CAAC;oBACzB,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,oCAAoC;iBAC9C,CAAC,CAAC;YAEL,gBAAgB;YAChB,IAAM,IAAI,GAAgB,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACtD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAEhE,IAAI,+BAAc,CAAC,eAAe,CAAC,IAAI,CAAC;gBACtC,MAAM,IAAI,mCAAgB,CAAC;oBACzB,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,iCAAiC;iBAC3C,CAAC,CAAC;YAEL,eAAe;YACf,OAAO,+CAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;IApBD,CAoBC,CAAC;AACN,CAAC,EAxBgB,uBAAuB,uCAAvB,uBAAuB,QAwBvC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProtobufMessageTransformer = void 0;
4
4
  var ProtobufMessageProgrammer_1 = require("../../../programmers/protobuf/ProtobufMessageProgrammer");
5
+ var TypePredicator_1 = require("../../../utils/TypePredicator");
5
6
  var TransformerError_1 = require("../../TransformerError");
6
7
  var ProtobufMessageTransformer;
7
8
  (function (ProtobufMessageTransformer) {
@@ -16,7 +17,7 @@ var ProtobufMessageTransformer;
16
17
  });
17
18
  // GET TYPE INFO
18
19
  var type = project.checker.getTypeFromTypeNode(expression.typeArguments[0]);
19
- if (type.isTypeParameter())
20
+ if (TypePredicator_1.TypePredicator.isTypeParameter(type))
20
21
  throw new TransformerError_1.TransformerError({
21
22
  code: "tyipa.protobuf.message",
22
23
  message: "non-specified generic argument.",
@@ -1 +1 @@
1
- {"version":3,"file":"ProtobufMessageTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/protobuf/ProtobufMessageTransformer.ts"],"names":[],"mappings":";;;AAEA,qGAAoG;AAGpG,2DAA0D;AAE1D,IAAiB,0BAA0B,CAyB1C;AAzBD,WAAiB,0BAA0B;IAC5B,oCAAS,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,OAAkC;YACnC,OAAA,UAAC,UAA6B;gBAC5B,mCAAmC;gBACnC,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC3D,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE,oCAAoC;qBAC9C,CAAC,CAAC;gBAEL,gBAAgB;gBAChB,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CACvD,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAC5B,CAAC;gBACF,IAAI,IAAI,CAAC,eAAe,EAAE;oBACxB,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE,iCAAiC;qBAC3C,CAAC,CAAC;gBAEL,eAAe;gBACf,OAAO,qDAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;YACxD,CAAC;QApBD,CAoBC;IArBD,CAqBC,CAAC;AACN,CAAC,EAzBgB,0BAA0B,0CAA1B,0BAA0B,QAyB1C"}
1
+ {"version":3,"file":"ProtobufMessageTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/protobuf/ProtobufMessageTransformer.ts"],"names":[],"mappings":";;;AAEA,qGAAoG;AAEpG,gEAA+D;AAG/D,2DAA0D;AAE1D,IAAiB,0BAA0B,CAyB1C;AAzBD,WAAiB,0BAA0B;IAC5B,oCAAS,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,OAAkC;YACnC,OAAA,UAAC,UAA6B;gBAC5B,mCAAmC;gBACnC,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC3D,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE,oCAAoC;qBAC9C,CAAC,CAAC;gBAEL,gBAAgB;gBAChB,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CACvD,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAC5B,CAAC;gBACF,IAAI,+BAAc,CAAC,eAAe,CAAC,IAAI,CAAC;oBACtC,MAAM,IAAI,mCAAgB,CAAC;wBACzB,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE,iCAAiC;qBAC3C,CAAC,CAAC;gBAEL,eAAe;gBACf,OAAO,qDAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;YACxD,CAAC;QApBD,CAoBC;IArBD,CAqBC,CAAC;AACN,CAAC,EAzBgB,0BAA0B,0CAA1B,0BAA0B,QAyB1C"}
@@ -8,6 +8,7 @@ var typescript_1 = __importDefault(require("typescript"));
8
8
  var LiteralFactory_1 = require("../../../factories/LiteralFactory");
9
9
  var MetadataCollection_1 = require("../../../factories/MetadataCollection");
10
10
  var MetadataFactory_1 = require("../../../factories/MetadataFactory");
11
+ var TypePredicator_1 = require("../../../utils/TypePredicator");
11
12
  var TransformerError_1 = require("../../TransformerError");
12
13
  var ReflectMetadataTransformer;
13
14
  (function (ReflectMetadataTransformer) {
@@ -29,7 +30,7 @@ var ReflectMetadataTransformer;
29
30
  var types = top.elements.map(function (child) {
30
31
  return project.checker.getTypeFromTypeNode(child);
31
32
  });
32
- if (types.some(function (t) { return t.isTypeParameter(); }))
33
+ if (types.some(TypePredicator_1.TypePredicator.isTypeParameter))
33
34
  throw new TransformerError_1.TransformerError({
34
35
  code: "typia.reflect.metadata",
35
36
  message: "non-specified generic argument(s).",
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectMetadataTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/reflect/ReflectMetadataTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,4EAA2E;AAC3E,sEAAqE;AAMrE,2DAA0D;AAE1D,IAAiB,0BAA0B,CAiD1C;AAjDD,WAAiB,0BAA0B;IAC5B,oCAAS,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,UAA6B;;YAC5B,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;gBACnC,MAAM,IAAI,mCAAgB,CAAC;oBACzB,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,sBAAsB;iBAChC,CAAC,CAAC;YAEL,2BAA2B;YAC3B,IAAM,GAAG,GAAY,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;YAClD,IAAI,CAAC,oBAAE,CAAC,eAAe,CAAC,GAAG,CAAC;gBAAE,OAAO,UAAU,CAAC;iBAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,oBAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAArB,CAAqB,CAAC;gBAC1D,OAAO,UAAU,CAAC;YAEpB,YAAY;YACZ,IAAM,KAAK,GAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAK;gBAC9C,OAAA,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAoB,CAAC;YAAzD,CAAyD,CAC1D,CAAC;YACF,IAAI,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,eAAe,EAAE,EAAnB,CAAmB,CAAC;gBACxC,MAAM,IAAI,mCAAgB,CAAC;oBACzB,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,oCAAoC;iBAC9C,CAAC,CAAC;YAEL,WAAW;YACX,IAAM,UAAU,GAAuB,IAAI,uCAAkB,EAAE,CAAC;YAChE,IAAM,SAAS,GAAoB,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI;gBAChD,IAAM,MAAM,GAAG,iCAAe,CAAC,OAAO,CACpC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,CAChB,CAAC;oBACA,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;oBAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvE,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,4BAA4B;YAC5B,IAAM,GAAG,GAAyB;gBAChC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,MAAM,EAAE,EAAjB,CAAiB,CAAC;gBACzD,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;aAChC,CAAC;YACF,OAAO,+BAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;IA7CD,CA6CC,CAAC;AACN,CAAC,EAjDgB,0BAA0B,0CAA1B,0BAA0B,QAiD1C"}
1
+ {"version":3,"file":"ReflectMetadataTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/reflect/ReflectMetadataTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,4EAA2E;AAC3E,sEAAqE;AAKrE,gEAA+D;AAG/D,2DAA0D;AAE1D,IAAiB,0BAA0B,CAiD1C;AAjDD,WAAiB,0BAA0B;IAC5B,oCAAS,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,UAA6B;;YAC5B,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;gBACnC,MAAM,IAAI,mCAAgB,CAAC;oBACzB,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,sBAAsB;iBAChC,CAAC,CAAC;YAEL,2BAA2B;YAC3B,IAAM,GAAG,GAAY,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;YAClD,IAAI,CAAC,oBAAE,CAAC,eAAe,CAAC,GAAG,CAAC;gBAAE,OAAO,UAAU,CAAC;iBAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,oBAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAArB,CAAqB,CAAC;gBAC1D,OAAO,UAAU,CAAC;YAEpB,YAAY;YACZ,IAAM,KAAK,GAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAK;gBAC9C,OAAA,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAoB,CAAC;YAAzD,CAAyD,CAC1D,CAAC;YACF,IAAI,KAAK,CAAC,IAAI,CAAC,+BAAc,CAAC,eAAe,CAAC;gBAC5C,MAAM,IAAI,mCAAgB,CAAC;oBACzB,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,oCAAoC;iBAC9C,CAAC,CAAC;YAEL,WAAW;YACX,IAAM,UAAU,GAAuB,IAAI,uCAAkB,EAAE,CAAC;YAChE,IAAM,SAAS,GAAoB,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI;gBAChD,IAAM,MAAM,GAAG,iCAAe,CAAC,OAAO,CACpC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,CAChB,CAAC;oBACA,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;oBAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvE,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,4BAA4B;YAC5B,IAAM,GAAG,GAAyB;gBAChC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,MAAM,EAAE,EAAjB,CAAiB,CAAC;gBACzD,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;aAChC,CAAC;YACF,OAAO,+BAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;IA7CD,CA6CC,CAAC;AACN,CAAC,EAjDgB,0BAA0B,0CAA1B,0BAA0B,QAiD1C"}
@@ -21,6 +21,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.GenericTransformer = void 0;
23
23
  var typescript_1 = __importDefault(require("typescript"));
24
+ var TypePredicator_1 = require("../../utils/TypePredicator");
24
25
  var TransformerError_1 = require("../TransformerError");
25
26
  var GenericTransformer;
26
27
  (function (GenericTransformer) {
@@ -47,7 +48,7 @@ var GenericTransformer;
47
48
  expression.arguments[0],
48
49
  false,
49
50
  ], 3), type = _a[0], node = _a[1], generic = _a[2];
50
- if (type.isTypeParameter())
51
+ if (TypePredicator_1.TypePredicator.isTypeParameter(type))
51
52
  throw new TransformerError_1.TransformerError({
52
53
  code: "typia.".concat(method),
53
54
  message: "non-specified generic argument.",
@@ -76,7 +77,7 @@ var GenericTransformer;
76
77
  // GET TYPE INFO
77
78
  var node = expression.typeArguments[0];
78
79
  var type = project.checker.getTypeFromTypeNode(node);
79
- if (type.isTypeParameter())
80
+ if (TypePredicator_1.TypePredicator.isTypeParameter(type))
80
81
  throw new TransformerError_1.TransformerError({
81
82
  code: "typia.".concat(method),
82
83
  message: "non-specified generic argument.",
@@ -1 +1 @@
1
- {"version":3,"file":"GenericTransformer.js","sourceRoot":"","sources":["../../../src/transformers/internal/GenericTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenericTransformer.js","sourceRoot":"","sources":["../../../src/transformers/internal/GenericTransformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import ts from "typescript";
2
+ export declare namespace TypePredicator {
3
+ const isLiteral: (type: ts.Type) => type is ts.LiteralType;
4
+ const isTypeParameter: (type: ts.Type) => type is ts.TypeParameter;
5
+ const isIntersection: (type: ts.Type) => type is ts.IntersectionType;
6
+ const isUnion: (type: ts.Type) => type is ts.UnionType;
7
+ const isUnionOrIntersection: (type: ts.Type) => type is ts.UnionOrIntersectionType;
8
+ const isClass: (type: ts.Type) => type is ts.InterfaceType;
9
+ const isInterfaceOrClass: (type: ts.Type) => type is ts.InterfaceType;
10
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TypePredicator = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
8
+ var TypePredicator;
9
+ (function (TypePredicator) {
10
+ TypePredicator.isLiteral = function (type) {
11
+ return !!(type.flags &
12
+ (typescript_1.default.TypeFlags.EnumLiteral |
13
+ typescript_1.default.TypeFlags.StringLiteral |
14
+ typescript_1.default.TypeFlags.NumberLiteral |
15
+ typescript_1.default.TypeFlags.BigIntLiteral));
16
+ };
17
+ TypePredicator.isTypeParameter = function (type) {
18
+ return !!(type.flags & typescript_1.default.TypeFlags.TypeParameter);
19
+ };
20
+ TypePredicator.isIntersection = function (type) {
21
+ return !!(type.flags & typescript_1.default.TypeFlags.Intersection);
22
+ };
23
+ TypePredicator.isUnion = function (type) {
24
+ return !!(type.flags & typescript_1.default.TypeFlags.Union);
25
+ };
26
+ TypePredicator.isUnionOrIntersection = function (type) {
27
+ return !!(type.flags & typescript_1.default.TypeFlags.UnionOrIntersection);
28
+ };
29
+ TypePredicator.isClass = function (type) {
30
+ return !!(typescript_1.default.getObjectFlags(type) & typescript_1.default.ObjectFlags.Class);
31
+ };
32
+ TypePredicator.isInterfaceOrClass = function (type) {
33
+ return !!(typescript_1.default.getObjectFlags(type) & typescript_1.default.ObjectFlags.ClassOrInterface);
34
+ };
35
+ })(TypePredicator || (exports.TypePredicator = TypePredicator = {}));
36
+ //# sourceMappingURL=TypePredicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypePredicator.js","sourceRoot":"","sources":["../../src/utils/TypePredicator.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,IAAiB,cAAc,CA6B9B;AA7BD,WAAiB,cAAc;IAChB,wBAAS,GAAG,UAAC,IAAa;QACrC,OAAA,CAAC,CAAC,CACA,IAAI,CAAC,KAAK;YACV,CAAC,oBAAE,CAAC,SAAS,CAAC,WAAW;gBACvB,oBAAE,CAAC,SAAS,CAAC,aAAa;gBAC1B,oBAAE,CAAC,SAAS,CAAC,aAAa;gBAC1B,oBAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAC9B;IAND,CAMC,CAAC;IAES,8BAAe,GAAG,UAAC,IAAa;QAC3C,OAAA,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,oBAAE,CAAC,SAAS,CAAC,aAAa,CAAC;IAA3C,CAA2C,CAAC;IAEjC,6BAAc,GAAG,UAAC,IAAa;QAC1C,OAAA,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,oBAAE,CAAC,SAAS,CAAC,YAAY,CAAC;IAA1C,CAA0C,CAAC;IAEhC,sBAAO,GAAG,UAAC,IAAa;QACnC,OAAA,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,oBAAE,CAAC,SAAS,CAAC,KAAK,CAAC;IAAnC,CAAmC,CAAC;IAEzB,oCAAqB,GAAG,UACnC,IAAa;QAEb,OAAA,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,oBAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC;IAAjD,CAAiD,CAAC;IAEvC,sBAAO,GAAG,UAAC,IAAa;QACnC,OAAA,CAAC,CAAC,CAAC,oBAAE,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,oBAAE,CAAC,WAAW,CAAC,KAAK,CAAC;IAAlD,CAAkD,CAAC;IAExC,iCAAkB,GAAG,UAAC,IAAa;QAC9C,OAAA,CAAC,CAAC,CAAC,oBAAE,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,oBAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAA7D,CAA6D,CAAC;AAClE,CAAC,EA7BgB,cAAc,8BAAd,cAAc,QA6B9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "6.7.2-dev.20240805-5",
3
+ "version": "6.7.3-dev.20240808",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -1,74 +1,74 @@
1
- import ts from "typescript";
2
-
3
- import { TypeFactory } from "./TypeFactory";
4
-
5
- export namespace StatementFactory {
6
- export const mut = (name: string, initializer?: ts.Expression) =>
7
- ts.factory.createVariableStatement(
8
- undefined,
9
- ts.factory.createVariableDeclarationList(
10
- [
11
- ts.factory.createVariableDeclaration(
12
- name,
13
- undefined,
14
- initializer === undefined ? TypeFactory.keyword("any") : undefined,
15
- initializer,
16
- ),
17
- ],
18
- ts.NodeFlags.Let,
19
- ),
20
- );
21
-
22
- export const constant = (name: string, initializer?: ts.Expression) =>
23
- ts.factory.createVariableStatement(
24
- undefined,
25
- ts.factory.createVariableDeclarationList(
26
- [
27
- ts.factory.createVariableDeclaration(
28
- name,
29
- undefined,
30
- undefined,
31
- initializer,
32
- ),
33
- ],
34
- ts.NodeFlags.Const,
35
- ),
36
- );
37
-
38
- export const entry = (key: string) => (value: string) =>
39
- ts.factory.createVariableDeclarationList(
40
- [
41
- ts.factory.createVariableDeclaration(
42
- ts.factory.createArrayBindingPattern([
43
- ts.factory.createBindingElement(
44
- undefined,
45
- undefined,
46
- ts.factory.createIdentifier(key),
47
- undefined,
48
- ),
49
- ts.factory.createBindingElement(
50
- undefined,
51
- undefined,
52
- ts.factory.createIdentifier(value),
53
- undefined,
54
- ),
55
- ]),
56
- undefined,
57
- undefined,
58
- undefined,
59
- ),
60
- ],
61
- ts.NodeFlags.Const,
62
- );
63
-
64
- export const transpile = (script: string) =>
65
- ts.factory.createExpressionStatement(
66
- ts.factory.createIdentifier(ts.transpile(script)),
67
- );
68
-
69
- export const block = (expression: ts.Expression) =>
70
- ts.factory.createBlock(
71
- [ts.factory.createExpressionStatement(expression)],
72
- true,
73
- );
74
- }
1
+ import ts from "typescript";
2
+
3
+ import { TypeFactory } from "./TypeFactory";
4
+
5
+ export namespace StatementFactory {
6
+ export const mut = (name: string, initializer?: ts.Expression) =>
7
+ ts.factory.createVariableStatement(
8
+ undefined,
9
+ ts.factory.createVariableDeclarationList(
10
+ [
11
+ ts.factory.createVariableDeclaration(
12
+ name,
13
+ undefined,
14
+ initializer === undefined ? TypeFactory.keyword("any") : undefined,
15
+ initializer,
16
+ ),
17
+ ],
18
+ ts.NodeFlags.Let,
19
+ ),
20
+ );
21
+
22
+ export const constant = (name: string, initializer?: ts.Expression) =>
23
+ ts.factory.createVariableStatement(
24
+ undefined,
25
+ ts.factory.createVariableDeclarationList(
26
+ [
27
+ ts.factory.createVariableDeclaration(
28
+ name,
29
+ undefined,
30
+ undefined,
31
+ initializer,
32
+ ),
33
+ ],
34
+ ts.NodeFlags.Const,
35
+ ),
36
+ );
37
+
38
+ export const entry = (key: string) => (value: string) =>
39
+ ts.factory.createVariableDeclarationList(
40
+ [
41
+ ts.factory.createVariableDeclaration(
42
+ ts.factory.createArrayBindingPattern([
43
+ ts.factory.createBindingElement(
44
+ undefined,
45
+ undefined,
46
+ ts.factory.createIdentifier(key),
47
+ undefined,
48
+ ),
49
+ ts.factory.createBindingElement(
50
+ undefined,
51
+ undefined,
52
+ ts.factory.createIdentifier(value),
53
+ undefined,
54
+ ),
55
+ ]),
56
+ undefined,
57
+ undefined,
58
+ undefined,
59
+ ),
60
+ ],
61
+ ts.NodeFlags.Const,
62
+ );
63
+
64
+ export const transpile = (script: string) =>
65
+ ts.factory.createExpressionStatement(
66
+ ts.factory.createIdentifier(ts.transpile(script)),
67
+ );
68
+
69
+ export const block = (expression: ts.Expression) =>
70
+ ts.factory.createBlock(
71
+ [ts.factory.createExpressionStatement(expression)],
72
+ true,
73
+ );
74
+ }
@@ -1,5 +1,9 @@
1
1
  import ts from "typescript";
2
2
 
3
+ import { TypePredicator } from "../utils/TypePredicator";
4
+
5
+ import { Resolved } from "../Resolved";
6
+
3
7
  export namespace TypeFactory {
4
8
  export const isFunction = (type: ts.Type): boolean =>
5
9
  getFunction(type) !== null;
@@ -22,7 +26,10 @@ export namespace TypeFactory {
22
26
  (type: ts.Type) =>
23
27
  (name: string): ts.Type | null => {
24
28
  // FIND TO-JSON METHOD
25
- const symbol: ts.Symbol | undefined = type.getProperty(name);
29
+ const symbol: ts.Symbol | undefined = checker.getPropertyOfType(
30
+ type,
31
+ name,
32
+ );
26
33
  if (!symbol) return null;
27
34
  else if (!symbol.valueDeclaration) return null;
28
35
 
@@ -44,12 +51,17 @@ export namespace TypeFactory {
44
51
  (checker: ts.TypeChecker) =>
45
52
  (type: ts.Type, symbol?: ts.Symbol): string => {
46
53
  // PRIMITIVE
47
- symbol ??= type.aliasSymbol ?? type.getSymbol();
54
+ symbol ??= type.aliasSymbol ?? type.symbol;
48
55
  if (symbol === undefined) return checker.typeToString(type);
49
56
 
50
57
  // UNION OR INTERSECT
51
- if (type.aliasSymbol === undefined && type.isUnionOrIntersection()) {
52
- const joiner: string = type.isIntersection() ? " & " : " | ";
58
+ if (
59
+ type.aliasSymbol === undefined &&
60
+ TypePredicator.isUnionOrIntersection(type)
61
+ ) {
62
+ const joiner: string = TypePredicator.isIntersection(type)
63
+ ? " & "
64
+ : " | ";
53
65
  return type.types
54
66
  .map((child) => getFullName(checker)(child))
55
67
  .join(joiner);
@@ -115,4 +127,64 @@ export namespace TypeFactory {
115
127
  : ts.SyntaxKind.StringKeyword,
116
128
  );
117
129
  };
130
+
131
+ export const clone = (type: ts.Type): Resolved<ts.Type> =>
132
+ cloneType(type, 0, new Set());
118
133
  }
134
+
135
+ const cloneType = (x: any, depth: number, visited: Set<object>): any => {
136
+ if (x === undefined || depth > 4) return undefined;
137
+ else if (typeof x === "object")
138
+ if (x === null) return null;
139
+ else if (Array.isArray(x))
140
+ return x.map((y) => cloneType(y, depth + 1, visited));
141
+ else {
142
+ visited.add(x);
143
+ const entries = (() => {
144
+ try {
145
+ return Object.entries(x);
146
+ } catch {
147
+ return undefined;
148
+ }
149
+ })();
150
+ if (entries === undefined) return undefined;
151
+ return Object.fromEntries(
152
+ entries
153
+ .filter(
154
+ ([k, y]) =>
155
+ k !== "parent" &&
156
+ typeof y !== "function" &&
157
+ !(typeof y === "object" && y !== null && visited.has(y) === true),
158
+ )
159
+ .map(([k, y]) => {
160
+ // if (typeof y === "object" && y !== null) console.log(k, get_uid(y));
161
+ return [k, cloneType(y, depth + 1, visited)];
162
+ }),
163
+ );
164
+ }
165
+ return x;
166
+ };
167
+
168
+ // function get_uid(obj: object | null | undefined): number {
169
+ // // NO UID EXISTS, THEN ISSUE ONE.
170
+ // if (obj instanceof Object) {
171
+ // if (obj.hasOwnProperty("__get_m_iUID") === false) {
172
+ // const uid: number = ++__s_iUID;
173
+ // Object.defineProperty(obj, "__get_m_iUID", {
174
+ // value: function (): number {
175
+ // return uid;
176
+ // },
177
+ // });
178
+ // }
179
+
180
+ // // RETURNS
181
+ // return (obj as IObject).__get_m_iUID();
182
+ // } else if (obj === undefined) return -1;
183
+ // // is null
184
+ // else return 0;
185
+ // }
186
+
187
+ // interface IObject {
188
+ // readonly __get_m_iUID: () => number;
189
+ // }
190
+ // let __s_iUID: number = 0;
@@ -31,7 +31,7 @@ export const emplace_metadata_array_type =
31
31
  // CONSTRUCT VALUE TYPE
32
32
  const value: Metadata = explore_metadata(checker)(options)(collection)(
33
33
  errors,
34
- )(arrayType.getNumberIndexType()!, {
34
+ )(checker.getIndexTypeOfType(arrayType, ts.IndexKind.Number)!, {
35
35
  ...explore,
36
36
  escaped: false,
37
37
  aliased: false,
@@ -7,6 +7,7 @@ import { MetadataProperty } from "../../../schemas/metadata/MetadataProperty";
7
7
  import { Writable } from "../../../typings/Writable";
8
8
 
9
9
  import { ArrayUtil } from "../../../utils/ArrayUtil";
10
+ import { TypePredicator } from "../../../utils/TypePredicator";
10
11
 
11
12
  import { CommentFactory } from "../../CommentFactory";
12
13
  import { MetadataCollection } from "../../MetadataCollection";
@@ -28,7 +29,7 @@ export const emplace_metadata_object =
28
29
  if (newbie === false) return obj;
29
30
 
30
31
  // PREPARE ASSETS
31
- const isClass: boolean = parent.isClass();
32
+ const isClass: boolean = TypePredicator.isClass(parent);
32
33
  const pred: (node: ts.Declaration) => boolean = isClass
33
34
  ? (node) => {
34
35
  const kind: ts.SyntaxKind | undefined = node
@@ -71,7 +72,9 @@ export const emplace_metadata_object =
71
72
  //----
72
73
  // REGULAR PROPERTIES
73
74
  //----
74
- for (const prop of parent.getApparentProperties()) {
75
+ for (const prop of checker.getPropertiesOfType(
76
+ checker.getApparentType(parent),
77
+ )) {
75
78
  // CHECK INTERNAL TAG
76
79
  if (
77
80
  (prop.getJsDocTags(checker) ?? []).find(
@@ -170,7 +173,7 @@ const isProperty = (node: ts.Declaration) =>
170
173
  ts.isTypeLiteralNode(node);
171
174
 
172
175
  const iterate_optional_coalesce = (meta: Metadata, type: ts.Type): void => {
173
- if (type.isUnionOrIntersection())
176
+ if (TypePredicator.isUnionOrIntersection(type))
174
177
  type.types.forEach((child) => iterate_optional_coalesce(meta, child));
175
178
  else iterate_metadata_coalesce(meta, type);
176
179
  };