typia 5.2.7-dev.20231109 → 5.3.0-dev.20231112

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 (97) hide show
  1. package/lib/factories/MetadataCollection.d.ts +2 -2
  2. package/lib/factories/MetadataFactory.js +3 -2
  3. package/lib/factories/MetadataFactory.js.map +1 -1
  4. package/lib/factories/internal/metadata/MetadataHelper.js +3 -2
  5. package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
  6. package/lib/factories/internal/metadata/iterate_metadata_constant.js +13 -8
  7. package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -1
  8. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +8 -5
  9. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  10. package/lib/functional/$from.d.ts +3 -0
  11. package/lib/functional/$from.js +9 -0
  12. package/lib/functional/$from.js.map +1 -0
  13. package/lib/functional/Namespace.js +7 -0
  14. package/lib/functional/Namespace.js.map +1 -1
  15. package/lib/module.d.ts +1 -0
  16. package/lib/module.js +2 -5
  17. package/lib/module.js.map +1 -1
  18. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  19. package/lib/programmers/internal/check_string.js +7 -4
  20. package/lib/programmers/internal/check_string.js.map +1 -1
  21. package/lib/programmers/internal/metadata_to_pattern.js +3 -1
  22. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  23. package/lib/reflect.d.ts +3 -0
  24. package/lib/reflect.js +13 -0
  25. package/lib/reflect.js.map +1 -0
  26. package/lib/schemas/metadata/IMetadataApplication.d.ts +2 -2
  27. package/lib/schemas/metadata/{IMetadataCollection.d.ts → IMetadataComponents.d.ts} +1 -1
  28. package/lib/schemas/metadata/{IMetadataCollection.js → IMetadataComponents.js} +1 -1
  29. package/lib/schemas/metadata/IMetadataComponents.js.map +1 -0
  30. package/lib/schemas/metadata/IMetadataConstant.d.ts +1 -1
  31. package/lib/schemas/metadata/IMetadataTypeTag.d.ts +2 -2
  32. package/lib/schemas/metadata/Metadata.d.ts +2 -2
  33. package/lib/schemas/metadata/Metadata.js +81 -167
  34. package/lib/schemas/metadata/Metadata.js.map +1 -1
  35. package/lib/schemas/metadata/MetadataAlias.js +1 -1
  36. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  37. package/lib/schemas/metadata/MetadataApplication.d.ts +13 -0
  38. package/lib/schemas/metadata/MetadataApplication.js +30 -0
  39. package/lib/schemas/metadata/MetadataApplication.js.map +1 -0
  40. package/lib/schemas/metadata/MetadataArrayType.js +1 -1
  41. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -1
  42. package/lib/schemas/metadata/MetadataAtomic.d.ts +1 -0
  43. package/lib/schemas/metadata/MetadataAtomic.js +28 -1
  44. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
  45. package/lib/schemas/metadata/MetadataComponents.d.ts +16 -0
  46. package/lib/schemas/metadata/MetadataComponents.js +151 -0
  47. package/lib/schemas/metadata/MetadataComponents.js.map +1 -0
  48. package/lib/schemas/metadata/MetadataConstant.d.ts +9 -1
  49. package/lib/schemas/metadata/MetadataConstant.js +29 -0
  50. package/lib/schemas/metadata/MetadataConstant.js.map +1 -1
  51. package/lib/schemas/metadata/MetadataEscaped.js +4 -4
  52. package/lib/schemas/metadata/MetadataEscaped.js.map +1 -1
  53. package/lib/schemas/metadata/MetadataObject.js +2 -2
  54. package/lib/schemas/metadata/MetadataObject.js.map +1 -1
  55. package/lib/schemas/metadata/MetadataProperty.js +4 -4
  56. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  57. package/lib/schemas/metadata/MetadataTupleType.js +1 -1
  58. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -1
  59. package/lib/transformers/CallExpressionTransformer.js +5 -2
  60. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  61. package/lib/transformers/features/reflect/ReflectMetadataTransformer.d.ts +5 -0
  62. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +58 -0
  63. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -0
  64. package/package.json +1 -1
  65. package/src/factories/MetadataCollection.ts +2 -2
  66. package/src/factories/MetadataFactory.ts +7 -4
  67. package/src/factories/internal/metadata/MetadataHelper.ts +7 -4
  68. package/src/factories/internal/metadata/iterate_metadata_constant.ts +10 -8
  69. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +9 -8
  70. package/src/functional/$from.ts +5 -0
  71. package/src/functional/Namespace.ts +7 -0
  72. package/src/module.ts +1 -19
  73. package/src/programmers/helpers/ProtobufUtil.ts +3 -2
  74. package/src/programmers/internal/check_string.ts +5 -2
  75. package/src/programmers/internal/metadata_to_pattern.ts +3 -1
  76. package/src/reflect.ts +24 -0
  77. package/src/schemas/metadata/IMetadataApplication.ts +2 -2
  78. package/src/schemas/metadata/{IMetadataCollection.ts → IMetadataComponents.ts} +1 -1
  79. package/src/schemas/metadata/IMetadataConstant.ts +1 -1
  80. package/src/schemas/metadata/IMetadataTypeTag.ts +2 -2
  81. package/src/schemas/metadata/Metadata.ts +17 -85
  82. package/src/schemas/metadata/MetadataAlias.ts +1 -1
  83. package/src/schemas/metadata/MetadataApplication.ts +44 -0
  84. package/src/schemas/metadata/MetadataArrayType.ts +1 -1
  85. package/src/schemas/metadata/MetadataAtomic.ts +28 -1
  86. package/src/schemas/metadata/MetadataComponents.ts +98 -0
  87. package/src/schemas/metadata/MetadataConstant.ts +44 -1
  88. package/src/schemas/metadata/MetadataEscaped.ts +4 -4
  89. package/src/schemas/metadata/MetadataObject.ts +2 -2
  90. package/src/schemas/metadata/MetadataProperty.ts +4 -7
  91. package/src/schemas/metadata/MetadataTupleType.ts +1 -1
  92. package/src/transformers/CallExpressionTransformer.ts +5 -2
  93. package/src/transformers/features/{misc/MetadataTransformer.ts → reflect/ReflectMetadataTransformer.ts} +19 -5
  94. package/lib/schemas/metadata/IMetadataCollection.js.map +0 -1
  95. package/lib/transformers/features/misc/MetadataTransformer.d.ts +0 -5
  96. package/lib/transformers/features/misc/MetadataTransformer.js +0 -54
  97. package/lib/transformers/features/misc/MetadataTransformer.js.map +0 -1
@@ -47,7 +47,6 @@ var JsonIsStringifyTransformer_1 = require("./features/json/JsonIsStringifyTrans
47
47
  var JsonStringifyTransformer_1 = require("./features/json/JsonStringifyTransformer");
48
48
  var JsonValidateParseTransformer_1 = require("./features/json/JsonValidateParseTransformer");
49
49
  var JsonValidateStringifyTransformer_1 = require("./features/json/JsonValidateStringifyTransformer");
50
- var MetadataTransformer_1 = require("./features/misc/MetadataTransformer");
51
50
  var MiscAssertCloneTransformer_1 = require("./features/misc/MiscAssertCloneTransformer");
52
51
  var MiscAssertPruneTransformer_1 = require("./features/misc/MiscAssertPruneTransformer");
53
52
  var MiscCloneTransformer_1 = require("./features/misc/MiscCloneTransformer");
@@ -90,6 +89,7 @@ var ProtobufIsEncodeTransformer_1 = require("./features/protobuf/ProtobufIsEncod
90
89
  var ProtobufMessageTransformer_1 = require("./features/protobuf/ProtobufMessageTransformer");
91
90
  var ProtobufValidateDecodeTransformer_1 = require("./features/protobuf/ProtobufValidateDecodeTransformer");
92
91
  var ProtobufValidateEncodeTransformer_1 = require("./features/protobuf/ProtobufValidateEncodeTransformer");
92
+ var ReflectMetadataTransformer_1 = require("./features/reflect/ReflectMetadataTransformer");
93
93
  var CallExpressionTransformer;
94
94
  (function (CallExpressionTransformer) {
95
95
  CallExpressionTransformer.transform = function (project) {
@@ -134,7 +134,7 @@ var FUNCTORS = {
134
134
  equals: function () { return IsTransformer_1.IsTransformer.transform(true); },
135
135
  validateEquals: function () { return ValidateTransformer_1.ValidateTransformer.transform(true); },
136
136
  random: function () { return RandomTransformer_1.RandomTransformer.transform; },
137
- metadata: function () { return function (P) { return function () { return MetadataTransformer_1.MetadataTransformer.transform(P); }; }; },
137
+ metadata: function () { return ReflectMetadataTransformer_1.ReflectMetadataTransformer.transform; },
138
138
  createAssert: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
139
139
  createAssertType: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
140
140
  createIs: function () { return CreateIsTransformer_1.CreateIsTransformer.transform(false); },
@@ -214,6 +214,9 @@ var FUNCTORS = {
214
214
  return ProtobufCreateValidateDecodeTransformer_1.ProtobufCreateValidateDecodeTransformer.transform;
215
215
  },
216
216
  },
217
+ reflect: {
218
+ metadata: function () { return ReflectMetadataTransformer_1.ReflectMetadataTransformer.transform; },
219
+ },
217
220
  misc: {
218
221
  literals: function () { return function (project) { return function () {
219
222
  return MiscLiteralsTransformer_1.MiscLiteralsTransformer.transform(project);
@@ -1 +1 @@
1
- {"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../../IProject";
3
+ export declare namespace ReflectMetadataTransformer {
4
+ const transform: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (expression: ts.CallExpression) => ts.Expression;
5
+ }
@@ -0,0 +1,58 @@
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.ReflectMetadataTransformer = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
8
+ var IdentifierFactory_1 = require("../../../factories/IdentifierFactory");
9
+ var LiteralFactory_1 = require("../../../factories/LiteralFactory");
10
+ var MetadataCollection_1 = require("../../../factories/MetadataCollection");
11
+ var MetadataFactory_1 = require("../../../factories/MetadataFactory");
12
+ var TypeFactory_1 = require("../../../factories/TypeFactory");
13
+ var TransformerError_1 = require("../../TransformerError");
14
+ var ReflectMetadataTransformer;
15
+ (function (ReflectMetadataTransformer) {
16
+ ReflectMetadataTransformer.transform = function (project) {
17
+ return function (modulo) {
18
+ return function (expression) {
19
+ var _a;
20
+ if (!((_a = expression.typeArguments) === null || _a === void 0 ? void 0 : _a.length))
21
+ throw new TransformerError_1.TransformerError({
22
+ code: "typia.metadata",
23
+ message: "no generic argument.",
24
+ });
25
+ var top = expression.typeArguments[0];
26
+ if (!typescript_1.default.isTupleTypeNode(top))
27
+ return expression;
28
+ else if (top.elements.some(function (child) { return !typescript_1.default.isTypeNode(child); }))
29
+ return expression;
30
+ var types = top.elements.map(function (child) {
31
+ return project.checker.getTypeFromTypeNode(child);
32
+ });
33
+ if (types.some(function (t) { return t.isTypeParameter(); }))
34
+ throw new TransformerError_1.TransformerError({
35
+ code: "typia.reflect.metadata",
36
+ message: "non-specified generic argument(s).",
37
+ });
38
+ var collection = new MetadataCollection_1.MetadataCollection();
39
+ var metadatas = types.map(function (type) {
40
+ var result = MetadataFactory_1.MetadataFactory.analyze(project.checker, project.context)({
41
+ escape: true,
42
+ constant: true,
43
+ absorb: true,
44
+ })(collection)(type);
45
+ if (result.success === false)
46
+ throw TransformerError_1.TransformerError.from("typia.reflect.metadata")(result.errors);
47
+ return result.data;
48
+ });
49
+ var app = {
50
+ metadatas: metadatas.map(function (metadata) { return metadata.toJSON(); }),
51
+ components: collection.toJSON(),
52
+ };
53
+ return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createParenthesizedExpression(typescript_1.default.factory.createAsExpression(modulo, TypeFactory_1.TypeFactory.keyword("any"))))("from"), undefined, [LiteralFactory_1.LiteralFactory.generate(app)]);
54
+ };
55
+ };
56
+ };
57
+ })(ReflectMetadataTransformer || (exports.ReflectMetadataTransformer = ReflectMetadataTransformer = {}));
58
+ //# sourceMappingURL=ReflectMetadataTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReflectMetadataTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/reflect/ReflectMetadataTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,0EAAyE;AACzE,oEAAmE;AACnE,4EAA2E;AAC3E,sEAAqE;AACrE,8DAA6D;AAM7D,2DAA0D;AAE1D,IAAiB,0BAA0B,CA+D1C;AA/DD,WAAiB,0BAA0B;IAC1B,oCAAS,GAClB,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,UAA6B;;gBAC1B,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;oBACjC,MAAM,IAAI,mCAAgB,CAAC;wBACvB,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,sBAAsB;qBAClC,CAAC,CAAC;gBAGP,IAAM,GAAG,GAAY,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;gBAClD,IAAI,CAAC,oBAAE,CAAC,eAAe,CAAC,GAAG,CAAC;oBAAE,OAAO,UAAU,CAAC;qBAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,oBAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAArB,CAAqB,CAAC;oBACxD,OAAO,UAAU,CAAC;gBAGtB,IAAM,KAAK,GAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAK;oBAC5C,OAAA,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAoB,CAAC;gBAAzD,CAAyD,CAC5D,CAAC;gBACF,IAAI,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,eAAe,EAAE,EAAnB,CAAmB,CAAC;oBACtC,MAAM,IAAI,mCAAgB,CAAC;wBACvB,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE,oCAAoC;qBAChD,CAAC,CAAC;gBAGP,IAAM,UAAU,GAAuB,IAAI,uCAAkB,EAAE,CAAC;gBAChE,IAAM,SAAS,GAAoB,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI;oBAC9C,IAAM,MAAM,GAAG,iCAAe,CAAC,OAAO,CAClC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,CAClB,CAAC;wBACE,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,IAAI;qBACf,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;oBACrB,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;wBACxB,MAAM,mCAAgB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CACjD,MAAM,CAAC,MAAM,CAChB,CAAC;oBACN,OAAO,MAAM,CAAC,IAAI,CAAC;gBACvB,CAAC,CAAC,CAAC;gBAGH,IAAM,GAAG,GAAyB;oBAC9B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,MAAM,EAAE,EAAjB,CAAiB,CAAC;oBACzD,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;iBAClC,CAAC;gBACF,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,qCAAiB,CAAC,MAAM,CACpB,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,MAAM,EACN,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B,CACJ,CACJ,CAAC,MAAM,CAAC,EACT,SAAS,EACT,CAAC,+BAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CACjC,CAAC;YACN,CAAC;QA1DD,CA0DC;IA3DD,CA2DC,CAAC;AACV,CAAC,EA/DgB,0BAA0B,0CAA1B,0BAA0B,QA+D1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "5.2.7-dev.20231109",
3
+ "version": "5.3.0-dev.20231112",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -1,6 +1,6 @@
1
1
  import ts from "typescript";
2
2
 
3
- import { IMetadataCollection } from "../schemas/metadata/IMetadataCollection";
3
+ import { IMetadataComponents } from "../schemas/metadata/IMetadataComponents";
4
4
  import { Metadata } from "../schemas/metadata/Metadata";
5
5
  import { MetadataAlias } from "../schemas/metadata/MetadataAlias";
6
6
  import { MetadataArrayType } from "../schemas/metadata/MetadataArrayType";
@@ -230,7 +230,7 @@ export class MetadataCollection {
230
230
  if (recursive) Writable(tuple).index = this.recursive_tuple_index_++;
231
231
  }
232
232
 
233
- public toJSON(): IMetadataCollection {
233
+ public toJSON(): IMetadataComponents {
234
234
  return {
235
235
  objects: this.objects().map((o) => o.toJSON()),
236
236
  aliases: this.aliases().map((d) => d.toJSON()),
@@ -3,6 +3,7 @@ import ts from "typescript";
3
3
  import { Metadata } from "../schemas/metadata/Metadata";
4
4
  import { MetadataAlias } from "../schemas/metadata/MetadataAlias";
5
5
  import { MetadataArrayType } from "../schemas/metadata/MetadataArrayType";
6
+ import { MetadataConstant } from "../schemas/metadata/MetadataConstant";
6
7
  import { MetadataObject } from "../schemas/metadata/MetadataObject";
7
8
  import { MetadataTupleType } from "../schemas/metadata/MetadataTupleType";
8
9
  import { explore_metadata } from "./internal/metadata/explore_metadata";
@@ -79,10 +80,12 @@ export namespace MetadataFactory {
79
80
  */
80
81
  export const soleLiteral = (value: string): Metadata => {
81
82
  const meta: Metadata = Metadata.initialize();
82
- meta.constants.push({
83
- values: [value],
84
- type: "string",
85
- });
83
+ meta.constants.push(
84
+ MetadataConstant.from({
85
+ values: [value],
86
+ type: "string",
87
+ }),
88
+ );
86
89
  return meta;
87
90
  };
88
91
 
@@ -1,12 +1,15 @@
1
1
  import { Metadata } from "../../../schemas/metadata/Metadata";
2
+ import { MetadataConstant } from "../../../schemas/metadata/MetadataConstant";
2
3
 
3
4
  export namespace MetadataHelper {
4
5
  export const literal_to_metadata = (key: string): Metadata => {
5
6
  const metadata: Metadata = Metadata.initialize();
6
- metadata.constants.push({
7
- type: "string",
8
- values: [key],
9
- });
7
+ metadata.constants.push(
8
+ MetadataConstant.create({
9
+ type: "string",
10
+ values: [key],
11
+ }),
12
+ );
10
13
  return metadata;
11
14
  };
12
15
  }
@@ -26,10 +26,11 @@ export const iterate_metadata_constant =
26
26
  const constant: MetadataConstant = ArrayUtil.take(
27
27
  meta.constants,
28
28
  (elem) => elem.type === typeof value,
29
- () => ({
30
- type: typeof value as "number",
31
- values: [],
32
- }),
29
+ () =>
30
+ MetadataConstant.create({
31
+ type: typeof value as "number",
32
+ values: [],
33
+ }),
33
34
  );
34
35
  ArrayUtil.add(
35
36
  constant.values as Array<any>,
@@ -42,10 +43,11 @@ export const iterate_metadata_constant =
42
43
  const constant: MetadataConstant = ArrayUtil.take(
43
44
  meta.constants,
44
45
  (elem) => elem.type === "boolean",
45
- () => ({
46
- type: "boolean",
47
- values: [],
48
- }),
46
+ () =>
47
+ MetadataConstant.create({
48
+ type: "boolean",
49
+ values: [],
50
+ }),
49
51
  );
50
52
  ArrayUtil.add(
51
53
  constant.values as boolean[],
@@ -1,9 +1,9 @@
1
1
  import ts from "typescript";
2
2
 
3
- import { IMetadataConstant } from "../../../schemas/metadata/IMetadataConstant";
4
3
  import { IMetadataTypeTag } from "../../../schemas/metadata/IMetadataTypeTag";
5
4
  import { Metadata } from "../../../schemas/metadata/Metadata";
6
5
  import { MetadataAtomic } from "../../../schemas/metadata/MetadataAtomic";
6
+ import { MetadataConstant } from "../../../schemas/metadata/MetadataConstant";
7
7
 
8
8
  import { ArrayUtil } from "../../../utils/ArrayUtil";
9
9
 
@@ -181,7 +181,7 @@ export const iterate_metadata_intersection =
181
181
  elem,
182
182
  (a, b) => a === b,
183
183
  );
184
- else meta.constants.push({ ...c });
184
+ else meta.constants.push(MetadataConstant.create(c));
185
185
  }
186
186
  }
187
187
  return true;
@@ -210,13 +210,14 @@ export const iterate_metadata_intersection =
210
210
  (a, b) => a.type === b.type,
211
211
  );
212
212
  else
213
- ArrayUtil.take<IMetadataConstant>(
213
+ ArrayUtil.take<MetadataConstant>(
214
214
  meta.constants,
215
215
  (x) => x.type === "boolean",
216
- () => ({
217
- type: "boolean",
218
- values: [booleanLiteral],
219
- }),
216
+ () =>
217
+ MetadataConstant.create({
218
+ type: "boolean",
219
+ values: [booleanLiteral],
220
+ }),
220
221
  );
221
222
  else if (target === "array") {
222
223
  const name: string = arrays.values().next().value;
@@ -247,7 +248,7 @@ export const iterate_metadata_intersection =
247
248
  .find((a) => a.type === target)!
248
249
  .tags.push(tags);
249
250
  else {
250
- const constant: IMetadataConstant = meta.constants.find(
251
+ const constant: MetadataConstant = meta.constants.find(
251
252
  (c) => c.type === "boolean",
252
253
  )!;
253
254
  constant.tags ??= [];
@@ -0,0 +1,5 @@
1
+ import { IMetadataApplication } from "../schemas/metadata/IMetadataApplication";
2
+ import { MetadataApplication } from "../schemas/metadata/MetadataApplication";
3
+
4
+ export const $from = (json: IMetadataApplication): MetadataApplication =>
5
+ MetadataApplication.from(json);
@@ -12,6 +12,7 @@ import { $QueryReader } from "./$QueryReader";
12
12
  import { $any } from "./$any";
13
13
  import { $convention } from "./$convention";
14
14
  import { $every } from "./$every";
15
+ import { $from } from "./$from";
15
16
  import { $guard } from "./$guard";
16
17
  import { $is_between } from "./$is_between";
17
18
  import { $join } from "./$join";
@@ -113,6 +114,12 @@ export namespace Namespace {
113
114
  });
114
115
  }
115
116
 
117
+ export namespace reflect {
118
+ export const metadata = () => ({
119
+ from: $from,
120
+ });
121
+ }
122
+
116
123
  export namespace http {
117
124
  export const query = () => $QueryReader;
118
125
  export const headers = () => $HeadersReader;
package/src/module.ts CHANGED
@@ -1,7 +1,5 @@
1
1
  import { Namespace } from "./functional/Namespace";
2
2
 
3
- import { IMetadataApplication } from "./schemas/metadata/IMetadataApplication";
4
-
5
3
  import { IRandomGenerator } from "./IRandomGenerator";
6
4
  import { IValidation } from "./IValidation";
7
5
  import { Resolved } from "./Resolved";
@@ -11,6 +9,7 @@ export * as json from "./json";
11
9
  export * as misc from "./misc";
12
10
  export * as notations from "./notations";
13
11
  export * as protobuf from "./protobuf";
12
+ export * as reflect from "./reflect";
14
13
  export * as tags from "./tags";
15
14
 
16
15
  export * from "./schemas/json/IJsonApplication";
@@ -425,23 +424,6 @@ export function random(): never {
425
424
  }
426
425
  Object.assign(random, Namespace.random());
427
426
 
428
- /**
429
- * @internal
430
- */
431
- export function metadata(): never;
432
-
433
- /**
434
- * @internal
435
- */
436
- export function metadata<Types extends unknown[]>(): IMetadataApplication;
437
-
438
- /**
439
- * @internal
440
- */
441
- export function metadata(): never {
442
- halt("metadata");
443
- }
444
-
445
427
  /* -----------------------------------------------------------
446
428
  FACTORY FUNCTIONS
447
429
  ----------------------------------------------------------- */
@@ -26,7 +26,7 @@ export namespace ProtobufUtil {
26
26
  if (c.type === "boolean") set.add("bool");
27
27
  else if (c.type === "bigint") set.add("uint64");
28
28
  else if (c.type === "number")
29
- set.add(deduce_numeric_type(c.values));
29
+ set.add(deduce_numeric_type(c.values as number[]));
30
30
  else if (c.type === "string") set.add("string");
31
31
  for (const atomic of meta.atomics)
32
32
  if (atomic.type === "boolean") set.add("bool");
@@ -42,7 +42,8 @@ export namespace ProtobufUtil {
42
42
  export const getNumbers = (meta: Metadata) => {
43
43
  const set: Set<ProtobufAtomic.Numeric> = new Set();
44
44
  for (const c of meta.constants)
45
- if (c.type === "number") set.add(deduce_numeric_type(c.values));
45
+ if (c.type === "number")
46
+ set.add(deduce_numeric_type(c.values as number[]));
46
47
  for (const atomic of meta.atomics)
47
48
  if (atomic.type === "number")
48
49
  decode_number(atomic.tags).forEach((t) => set.add(t));
@@ -40,8 +40,11 @@ const check_string_type_tags =
40
40
  .map((row) =>
41
41
  row.map((tag) => ({
42
42
  expected: `string & ${tag.name}`,
43
- expression: ExpressionFactory.transpile(project.context)(
44
- tag.validate!,
43
+ expression: (
44
+ tag.predicate ??
45
+ ExpressionFactory.transpile(project.context)(
46
+ tag.validate!,
47
+ )
45
48
  )(input),
46
49
  })),
47
50
  );
@@ -18,7 +18,9 @@ export const metadata_to_pattern =
18
18
  meta.constants.map((c) => {
19
19
  if (c.type !== "string")
20
20
  return c.values.map((v) => v.toString());
21
- return c.values.map((str) => PatternUtil.escape(str));
21
+ return (c.values as string[]).map((str) =>
22
+ PatternUtil.escape(str),
23
+ );
22
24
  }),
23
25
  );
24
26
  for (const a of meta.atomics)
package/src/reflect.ts ADDED
@@ -0,0 +1,24 @@
1
+ import { Namespace } from "./functional/Namespace";
2
+
3
+ import { MetadataApplication } from "./schemas/metadata/MetadataApplication";
4
+
5
+ export function metadata(): never;
6
+
7
+ export function metadata<Types extends unknown[]>(): MetadataApplication;
8
+
9
+ /**
10
+ * @internal
11
+ */
12
+ export function metadata(): never {
13
+ halt("metadata");
14
+ }
15
+ Object.assign(metadata, Namespace.reflect.metadata());
16
+
17
+ /**
18
+ * @internal
19
+ */
20
+ function halt(name: string): never {
21
+ throw new Error(
22
+ `Error on typia.reflect.${name}(): no transform has been configured. Read and follow https://typia.io/docs/setup please.`,
23
+ );
24
+ }
@@ -1,7 +1,7 @@
1
1
  import { IMetadata } from "./IMetadata";
2
- import { IMetadataCollection } from "./IMetadataCollection";
2
+ import { IMetadataComponents } from "./IMetadataComponents";
3
3
 
4
4
  export interface IMetadataApplication {
5
5
  metadatas: IMetadata[];
6
- collection: IMetadataCollection;
6
+ components: IMetadataComponents;
7
7
  }
@@ -3,7 +3,7 @@ import { IMetadataArrayType } from "./IMetadataArrayType";
3
3
  import { IMetadataObject } from "./IMetadataObject";
4
4
  import { IMetadataTupleType } from "./IMetadataTupleType";
5
5
 
6
- export interface IMetadataCollection {
6
+ export interface IMetadataComponents {
7
7
  objects: IMetadataObject[];
8
8
  aliases: IMetadataAlias[];
9
9
  arrays: IMetadataArrayType[];
@@ -6,7 +6,7 @@ export type IMetadataConstant =
6
6
  | IMetadataConstant.IBase<"boolean", boolean>
7
7
  | IMetadataConstant.IBase<"number", number>
8
8
  | IMetadataConstant.IBase<"string", string>
9
- | IMetadataConstant.IBase<"bigint", bigint>;
9
+ | IMetadataConstant.IBase<"bigint", string>;
10
10
  export namespace IMetadataConstant {
11
11
  export interface IBase<
12
12
  Type extends Atomic.Literal,
@@ -4,9 +4,9 @@ export interface IMetadataTypeTag {
4
4
  target: "boolean" | "bigint" | "number" | "string" | "array";
5
5
  name: string;
6
6
  kind: string;
7
- value: any;
8
- validate: string | undefined;
9
7
  exclusive: boolean | string[];
8
+ value?: any;
9
+ validate?: string | undefined;
10
10
 
11
11
  /**
12
12
  * @internal