@typia/transform 12.0.0-dev.20260227 → 12.0.0-dev.20260303

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 (58) hide show
  1. package/lib/CallExpressionTransformer.js +4 -0
  2. package/lib/CallExpressionTransformer.js.map +1 -1
  3. package/lib/CallExpressionTransformer.mjs +4 -0
  4. package/lib/CallExpressionTransformer.mjs.map +1 -1
  5. package/lib/features/json/JsonApplicationTransformer.js +2 -2
  6. package/lib/features/json/JsonApplicationTransformer.js.map +1 -1
  7. package/lib/features/json/JsonApplicationTransformer.mjs +3 -3
  8. package/lib/features/json/JsonApplicationTransformer.mjs.map +1 -1
  9. package/lib/features/json/JsonSchemaTransformer.js +2 -2
  10. package/lib/features/json/JsonSchemaTransformer.js.map +1 -1
  11. package/lib/features/json/JsonSchemaTransformer.mjs +3 -3
  12. package/lib/features/json/JsonSchemaTransformer.mjs.map +1 -1
  13. package/lib/features/json/JsonSchemasTransformer.js +2 -2
  14. package/lib/features/json/JsonSchemasTransformer.js.map +1 -1
  15. package/lib/features/json/JsonSchemasTransformer.mjs +3 -3
  16. package/lib/features/json/JsonSchemasTransformer.mjs.map +1 -1
  17. package/lib/features/llm/LlmApplicationTransformer.js +2 -2
  18. package/lib/features/llm/LlmApplicationTransformer.js.map +1 -1
  19. package/lib/features/llm/LlmApplicationTransformer.mjs +3 -3
  20. package/lib/features/llm/LlmApplicationTransformer.mjs.map +1 -1
  21. package/lib/features/llm/LlmParametersTransformer.js +2 -2
  22. package/lib/features/llm/LlmParametersTransformer.js.map +1 -1
  23. package/lib/features/llm/LlmParametersTransformer.mjs +3 -3
  24. package/lib/features/llm/LlmParametersTransformer.mjs.map +1 -1
  25. package/lib/features/llm/LlmSchemaTransformer.js +2 -2
  26. package/lib/features/llm/LlmSchemaTransformer.js.map +1 -1
  27. package/lib/features/llm/LlmSchemaTransformer.mjs +3 -3
  28. package/lib/features/llm/LlmSchemaTransformer.mjs.map +1 -1
  29. package/lib/features/reflect/ReflectMetadataTransformer.js +1 -1
  30. package/lib/features/reflect/ReflectMetadataTransformer.js.map +1 -1
  31. package/lib/features/reflect/ReflectMetadataTransformer.mjs +2 -2
  32. package/lib/features/reflect/ReflectMetadataTransformer.mjs.map +1 -1
  33. package/lib/features/reflect/ReflectNameTransformer.js +2 -2
  34. package/lib/features/reflect/ReflectNameTransformer.js.map +1 -1
  35. package/lib/features/reflect/ReflectNameTransformer.mjs +3 -3
  36. package/lib/features/reflect/ReflectNameTransformer.mjs.map +1 -1
  37. package/lib/features/reflect/ReflectSchemaTransformer.d.ts +5 -0
  38. package/lib/features/reflect/ReflectSchemaTransformer.js +58 -0
  39. package/lib/features/reflect/ReflectSchemaTransformer.js.map +1 -0
  40. package/lib/features/reflect/ReflectSchemaTransformer.mjs +54 -0
  41. package/lib/features/reflect/ReflectSchemaTransformer.mjs.map +1 -0
  42. package/lib/features/reflect/ReflectSchemasTransformer.d.ts +5 -0
  43. package/lib/features/reflect/ReflectSchemasTransformer.js +62 -0
  44. package/lib/features/reflect/ReflectSchemasTransformer.js.map +1 -0
  45. package/lib/features/reflect/ReflectSchemasTransformer.mjs +58 -0
  46. package/lib/features/reflect/ReflectSchemasTransformer.mjs.map +1 -0
  47. package/package.json +4 -4
  48. package/src/CallExpressionTransformer.ts +4 -0
  49. package/src/features/json/JsonApplicationTransformer.ts +3 -3
  50. package/src/features/json/JsonSchemaTransformer.ts +3 -3
  51. package/src/features/json/JsonSchemasTransformer.ts +3 -3
  52. package/src/features/llm/LlmApplicationTransformer.ts +3 -3
  53. package/src/features/llm/LlmParametersTransformer.ts +3 -3
  54. package/src/features/llm/LlmSchemaTransformer.ts +3 -3
  55. package/src/features/reflect/ReflectMetadataTransformer.ts +2 -2
  56. package/src/features/reflect/ReflectNameTransformer.ts +3 -3
  57. package/src/features/reflect/ReflectSchemaTransformer.ts +65 -0
  58. package/src/features/reflect/ReflectSchemasTransformer.ts +69 -0
@@ -1,4 +1,4 @@
1
- import { MetadataStorage, MetadataFactory, LiteralFactory } from '@typia/core';
1
+ import { MetadataCollection, MetadataFactory, LiteralFactory } from '@typia/core';
2
2
  import ts from 'typescript';
3
3
  import { TransformerError } from '../../TransformerError.mjs';
4
4
 
@@ -24,7 +24,7 @@ var ReflectMetadataTransformer;
24
24
  message: "non-specified generic argument(s).",
25
25
  });
26
26
  // METADATA
27
- const components = new MetadataStorage();
27
+ const components = new MetadataCollection();
28
28
  const schemas = types.map((type) => {
29
29
  const result = MetadataFactory.analyze({
30
30
  checker: props.context.checker,
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectMetadataTransformer.mjs","sources":["../../../src/features/reflect/ReflectMetadataTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYM,IAAW;AAAjB,CAAA,UAAiB,0BAA0B,EAAA;AAC5B,IAAA,0BAAA,CAAA,SAAS,GAAG,CACvB,KAAsD,KACrC;AACjB,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM;YACzC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,OAAO,EAAE,sBAAsB;AAChC,aAAA,CAAC;;QAGJ,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;AACvD,QAAA,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,UAAU;AAChD,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC,UAAU;;QAGzB,MAAM,KAAK,GAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAC9C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAoB,CAAC,CAChE;AACD,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,OAAO,EAAE,oCAAoC;AAC9C,aAAA,CAAC;;AAGJ,QAAA,MAAM,UAAU,GAAoB,IAAI,eAAe,EAAE;QACzD,MAAM,OAAO,GAA0B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACxD,YAAA,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC;AACrC,gBAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,gBAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;AACD,gBAAA,UAAU,EAAE,UAAU;gBACtB,IAAI;AACL,aAAA,CAAC;AACF,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,gBAAgB,CAAC,IAAI,CAAC;AAC1B,oBAAA,IAAI,EAAE,wBAAwB;oBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,iBAAA,CAAC;YACJ,OAAO,MAAM,CAAC,IAAI;AACpB,QAAA,CAAC,CAAC;;AAGF,QAAA,MAAM,UAAU,GAA8B;AAC5C,YAAA,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;AACvC,YAAA,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;SAChC;AACD,QAAA,OAAO,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC;AACzC,IAAA,CAAC;AACH,CAAC,EAxDgB,0BAA0B,KAA1B,0BAA0B,GAAA,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"ReflectMetadataTransformer.mjs","sources":["../../../src/features/reflect/ReflectMetadataTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYM,IAAW;AAAjB,CAAA,UAAiB,0BAA0B,EAAA;AAC5B,IAAA,0BAAA,CAAA,SAAS,GAAG,CACvB,KAAsD,KACrC;AACjB,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM;YACzC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,OAAO,EAAE,sBAAsB;AAChC,aAAA,CAAC;;QAGJ,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;AACvD,QAAA,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,UAAU;AAChD,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC,UAAU;;QAGzB,MAAM,KAAK,GAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAC9C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAoB,CAAC,CAChE;AACD,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,OAAO,EAAE,oCAAoC;AAC9C,aAAA,CAAC;;AAGJ,QAAA,MAAM,UAAU,GAAuB,IAAI,kBAAkB,EAAE;QAC/D,MAAM,OAAO,GAA0B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACxD,YAAA,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC;AACrC,gBAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,gBAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;AACD,gBAAA,UAAU,EAAE,UAAU;gBACtB,IAAI;AACL,aAAA,CAAC;AACF,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,gBAAgB,CAAC,IAAI,CAAC;AAC1B,oBAAA,IAAI,EAAE,wBAAwB;oBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,iBAAA,CAAC;YACJ,OAAO,MAAM,CAAC,IAAI;AACpB,QAAA,CAAC,CAAC;;AAGF,QAAA,MAAM,UAAU,GAA8B;AAC5C,YAAA,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;AACvC,YAAA,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;SAChC;AACD,QAAA,OAAO,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC;AACzC,IAAA,CAAC;AACH,CAAC,EAxDgB,0BAA0B,KAA1B,0BAA0B,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -45,8 +45,8 @@ var ReflectNameTransformer;
45
45
  })(ReflectNameTransformer || (exports.ReflectNameTransformer = ReflectNameTransformer = {}));
46
46
  const getMetadata = (props) => {
47
47
  const type = props.context.checker.getTypeFromTypeNode(props.node);
48
- const collection = new core_1.MetadataStorage({
49
- replace: core_1.MetadataStorage.replace,
48
+ const collection = new core_1.MetadataCollection({
49
+ replace: core_1.MetadataCollection.replace,
50
50
  });
51
51
  const result = core_1.MetadataFactory.analyze({
52
52
  checker: props.context.checker,
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectNameTransformer.js","sourceRoot":"","sources":["../../../src/features/reflect/ReflectNameTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAKqB;AAErB,4DAA4B;AAG5B,6DAA0D;AAE1D,IAAiB,sBAAsB,CAsCtC;AAtCD,WAAiB,sBAAsB;IACxB,gCAAS,GAAG,CACvB,KAAsD,EACvC,EAAE;;QACjB,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACzC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;QACL,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QACxD,MAAM,OAAO,GAAY,CAAC,GAAG,EAAE;YAC7B,kCAAkC;YAClC,MAAM,MAAM,GAAwB,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;YACvE,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAEvC,oBAAoB;YACpB,MAAM,KAAK,GAAmB,WAAW,CAAC;gBACxC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;gBACvB,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAC5B,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,SAAS;gBACtC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBACvC,CAAC,CAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAiB;gBACnD,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,EAAE,CAAC;QAEL,eAAe;QACf,OAAO,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CACnC,OAAO;YACL,CAAC,CAAC,WAAW,CAAC;gBACV,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,GAAG;aACV,CAAC,CAAC,OAAO,EAAE;YACd,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CACtB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,EAtCgB,sBAAsB,sCAAtB,sBAAsB,QAsCtC;AAED,MAAM,WAAW,GAAG,CAAC,KAGpB,EAAkB,EAAE;IACnB,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAC7D,KAAK,CAAC,IAAmB,CAC1B,CAAC;IACF,MAAM,UAAU,GAAoB,IAAI,sBAAe,CAAC;QACtD,OAAO,EAAE,sBAAe,CAAC,OAAO;KACjC,CAAC,CAAC;IACH,MAAM,MAAM,GACV,sBAAe,CAAC,OAAO,CAAC;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;QAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;QACtC,OAAO,EAAE;YACP,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,KAAK;SACd;QACD,UAAU,EAAE,UAAU;QACtB,IAAI;KACL,CAAC,CAAC;IACL,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"ReflectNameTransformer.js","sourceRoot":"","sources":["../../../src/features/reflect/ReflectNameTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAKqB;AAErB,4DAA4B;AAG5B,6DAA0D;AAE1D,IAAiB,sBAAsB,CAsCtC;AAtCD,WAAiB,sBAAsB;IACxB,gCAAS,GAAG,CACvB,KAAsD,EACvC,EAAE;;QACjB,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACzC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;QACL,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QACxD,MAAM,OAAO,GAAY,CAAC,GAAG,EAAE;YAC7B,kCAAkC;YAClC,MAAM,MAAM,GAAwB,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;YACvE,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAEvC,oBAAoB;YACpB,MAAM,KAAK,GAAmB,WAAW,CAAC;gBACxC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;gBACvB,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAC5B,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,SAAS;gBACtC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBACvC,CAAC,CAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAiB;gBACnD,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,EAAE,CAAC;QAEL,eAAe;QACf,OAAO,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CACnC,OAAO;YACL,CAAC,CAAC,WAAW,CAAC;gBACV,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,GAAG;aACV,CAAC,CAAC,OAAO,EAAE;YACd,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CACtB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,EAtCgB,sBAAsB,sCAAtB,sBAAsB,QAsCtC;AAED,MAAM,WAAW,GAAG,CAAC,KAGpB,EAAkB,EAAE;IACnB,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAC7D,KAAK,CAAC,IAAmB,CAC1B,CAAC;IACF,MAAM,UAAU,GAAuB,IAAI,yBAAkB,CAAC;QAC5D,OAAO,EAAE,yBAAkB,CAAC,OAAO;KACpC,CAAC,CAAC;IACH,MAAM,MAAM,GACV,sBAAe,CAAC,OAAO,CAAC;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;QAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;QACtC,OAAO,EAAE;YACP,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,KAAK;SACd;QACD,UAAU,EAAE,UAAU;QACtB,IAAI;KACL,CAAC,CAAC;IACL,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { MetadataStorage, MetadataFactory } from '@typia/core';
1
+ import { MetadataCollection, MetadataFactory } from '@typia/core';
2
2
  import ts from 'typescript';
3
3
  import { TransformerError } from '../../TransformerError.mjs';
4
4
 
@@ -39,8 +39,8 @@ var ReflectNameTransformer;
39
39
  })(ReflectNameTransformer || (ReflectNameTransformer = {}));
40
40
  const getMetadata = (props) => {
41
41
  const type = props.context.checker.getTypeFromTypeNode(props.node);
42
- const collection = new MetadataStorage({
43
- replace: MetadataStorage.replace,
42
+ const collection = new MetadataCollection({
43
+ replace: MetadataCollection.replace,
44
44
  });
45
45
  const result = MetadataFactory.analyze({
46
46
  checker: props.context.checker,
@@ -1 +1 @@
1
- {"version":3,"file":"ReflectNameTransformer.mjs","sources":["../../../src/features/reflect/ReflectNameTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYM,IAAW;AAAjB,CAAA,UAAiB,sBAAsB,EAAA;AACxB,IAAA,sBAAA,CAAA,SAAS,GAAG,CACvB,KAAsD,KACrC;AACjB,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM;YACzC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,OAAO,EAAE,sBAAsB;AAChC,aAAA,CAAC;QACJ,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;AACvD,QAAA,MAAM,OAAO,GAAY,CAAC,MAAK;;YAE7B,MAAM,MAAM,GAAwB,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;YACtE,IAAI,MAAM,KAAK,SAAS;AAAE,gBAAA,OAAO,KAAK;;YAGtC,MAAM,KAAK,GAAmB,WAAW,CAAC;gBACxC,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,gBAAA,IAAI,EAAE,MAAM;AACb,aAAA,CAAC;AACF,YAAA,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;AACvB,gBAAA,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAC5B,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,SAAS;gBACtC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,MAAM,KAAK;AACtC,kBAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;kBAChC,KAAK;QACX,CAAC,GAAG;;AAGJ,QAAA,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CACnC;cACI,WAAW,CAAC;gBACV,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,gBAAA,IAAI,EAAE,GAAG;aACV,CAAC,CAAC,OAAO;AACZ,cAAE,GAAG,CAAC,WAAW,EAAE,CACtB;AACH,IAAA,CAAC;AACH,CAAC,EAtCgB,sBAAsB,KAAtB,sBAAsB,GAAA,EAAA,CAAA,CAAA;AAwCvC,MAAM,WAAW,GAAG,CAAC,KAGpB,KAAoB;AACnB,IAAA,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAC7D,KAAK,CAAC,IAAmB,CAC1B;AACD,IAAA,MAAM,UAAU,GAAoB,IAAI,eAAe,CAAC;QACtD,OAAO,EAAE,eAAe,CAAC,OAAO;AACjC,KAAA,CAAC;AACF,IAAA,MAAM,MAAM,GACV,eAAe,CAAC,OAAO,CAAC;AACtB,QAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,QAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,MAAM,EAAE,KAAK;AACd,SAAA;AACD,QAAA,UAAU,EAAE,UAAU;QACtB,IAAI;AACL,KAAA,CAAC;AACJ,IAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAC1B,MAAM,gBAAgB,CAAC,IAAI,CAAC;AAC1B,YAAA,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,SAAA,CAAC;IACJ,OAAO,MAAM,CAAC,IAAI;AACpB,CAAC;;;;"}
1
+ {"version":3,"file":"ReflectNameTransformer.mjs","sources":["../../../src/features/reflect/ReflectNameTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYM,IAAW;AAAjB,CAAA,UAAiB,sBAAsB,EAAA;AACxB,IAAA,sBAAA,CAAA,SAAS,GAAG,CACvB,KAAsD,KACrC;AACjB,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM;YACzC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,OAAO,EAAE,sBAAsB;AAChC,aAAA,CAAC;QACJ,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;AACvD,QAAA,MAAM,OAAO,GAAY,CAAC,MAAK;;YAE7B,MAAM,MAAM,GAAwB,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;YACtE,IAAI,MAAM,KAAK,SAAS;AAAE,gBAAA,OAAO,KAAK;;YAGtC,MAAM,KAAK,GAAmB,WAAW,CAAC;gBACxC,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,gBAAA,IAAI,EAAE,MAAM;AACb,aAAA,CAAC;AACF,YAAA,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;AACvB,gBAAA,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAC5B,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,SAAS;gBACtC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,MAAM,KAAK;AACtC,kBAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;kBAChC,KAAK;QACX,CAAC,GAAG;;AAGJ,QAAA,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CACnC;cACI,WAAW,CAAC;gBACV,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,gBAAA,IAAI,EAAE,GAAG;aACV,CAAC,CAAC,OAAO;AACZ,cAAE,GAAG,CAAC,WAAW,EAAE,CACtB;AACH,IAAA,CAAC;AACH,CAAC,EAtCgB,sBAAsB,KAAtB,sBAAsB,GAAA,EAAA,CAAA,CAAA;AAwCvC,MAAM,WAAW,GAAG,CAAC,KAGpB,KAAoB;AACnB,IAAA,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAC7D,KAAK,CAAC,IAAmB,CAC1B;AACD,IAAA,MAAM,UAAU,GAAuB,IAAI,kBAAkB,CAAC;QAC5D,OAAO,EAAE,kBAAkB,CAAC,OAAO;AACpC,KAAA,CAAC;AACF,IAAA,MAAM,MAAM,GACV,eAAe,CAAC,OAAO,CAAC;AACtB,QAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,QAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,MAAM,EAAE,KAAK;AACd,SAAA;AACD,QAAA,UAAU,EAAE,UAAU;QACtB,IAAI;AACL,KAAA,CAAC;AACJ,IAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAC1B,MAAM,gBAAgB,CAAC,IAAI,CAAC;AAC1B,YAAA,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,SAAA,CAAC;IACJ,OAAO,MAAM,CAAC,IAAI;AACpB,CAAC;;;;"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { ITransformProps } from "../../ITransformProps";
3
+ export declare namespace ReflectSchemaTransformer {
4
+ const transform: (props: Pick<ITransformProps, "context" | "expression">) => 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.ReflectSchemaTransformer = void 0;
7
+ const core_1 = require("@typia/core");
8
+ const typescript_1 = __importDefault(require("typescript"));
9
+ const TransformerError_1 = require("../../TransformerError");
10
+ var ReflectSchemaTransformer;
11
+ (function (ReflectSchemaTransformer) {
12
+ ReflectSchemaTransformer.transform = (props) => {
13
+ var _a;
14
+ if (!((_a = props.expression.typeArguments) === null || _a === void 0 ? void 0 : _a.length))
15
+ throw new TransformerError_1.TransformerError({
16
+ code: "typia.reflect.schema",
17
+ message: "no generic argument.",
18
+ });
19
+ // VALIDATE ARGUMENT
20
+ const top = props.expression.typeArguments[0];
21
+ if (top === undefined || typescript_1.default.isTypeNode(top) === false)
22
+ return props.expression;
23
+ // GET TYPE
24
+ const type = props.context.checker.getTypeFromTypeNode(top);
25
+ if (type.isTypeParameter())
26
+ throw new TransformerError_1.TransformerError({
27
+ code: "typia.reflect.schema",
28
+ message: "non-specified generic argument.",
29
+ });
30
+ // METADATA
31
+ const components = new core_1.MetadataCollection();
32
+ const result = core_1.MetadataFactory.analyze({
33
+ checker: props.context.checker,
34
+ transformer: props.context.transformer,
35
+ options: {
36
+ escape: true,
37
+ constant: true,
38
+ absorb: true,
39
+ functional: true,
40
+ },
41
+ components: components,
42
+ type,
43
+ });
44
+ if (result.success === false)
45
+ throw TransformerError_1.TransformerError.from({
46
+ code: "typia.reflect.schema",
47
+ errors: result.errors,
48
+ });
49
+ const schema = result.data;
50
+ // CONVERT TO PRIMITIVE TYPE
51
+ const unit = {
52
+ schema: schema.toJSON(),
53
+ components: components.toJSON(),
54
+ };
55
+ return core_1.LiteralFactory.write(unit);
56
+ };
57
+ })(ReflectSchemaTransformer || (exports.ReflectSchemaTransformer = ReflectSchemaTransformer = {}));
58
+ //# sourceMappingURL=ReflectSchemaTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReflectSchemaTransformer.js","sourceRoot":"","sources":["../../../src/features/reflect/ReflectSchemaTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAKqB;AAErB,4DAA4B;AAG5B,6DAA0D;AAE1D,IAAiB,wBAAwB,CAoDxC;AApDD,WAAiB,wBAAwB;IAC1B,kCAAS,GAAG,CACvB,KAAsD,EACvC,EAAE;;QACjB,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACzC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;QAEL,oBAAoB;QACpB,MAAM,GAAG,GAAwB,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,GAAG,KAAK,SAAS,IAAI,oBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;YACnD,OAAO,KAAK,CAAC,UAAU,CAAC;QAE1B,WAAW;QACX,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,iCAAiC;aAC3C,CAAC,CAAC;QAEL,WAAW;QACX,MAAM,UAAU,GAAuB,IAAI,yBAAkB,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,sBAAe,CAAC,OAAO,CAAC;YACrC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;YACtC,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,IAAI;aACjB;YACD,UAAU,EAAE,UAAU;YACtB,IAAI;SACL,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC;gBAC1B,IAAI,EAAE,sBAAsB;gBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QAEL,MAAM,MAAM,GAAmB,MAAM,CAAC,IAAI,CAAC;QAE3C,4BAA4B;QAC5B,MAAM,IAAI,GAAwB;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YACvB,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;SAChC,CAAC;QACF,OAAO,qBAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC,EApDgB,wBAAwB,wCAAxB,wBAAwB,QAoDxC"}
@@ -0,0 +1,54 @@
1
+ import { MetadataCollection, MetadataFactory, LiteralFactory } from '@typia/core';
2
+ import ts from 'typescript';
3
+ import { TransformerError } from '../../TransformerError.mjs';
4
+
5
+ var ReflectSchemaTransformer;
6
+ (function (ReflectSchemaTransformer) {
7
+ ReflectSchemaTransformer.transform = (props) => {
8
+ if (!props.expression.typeArguments?.length)
9
+ throw new TransformerError({
10
+ code: "typia.reflect.schema",
11
+ message: "no generic argument.",
12
+ });
13
+ // VALIDATE ARGUMENT
14
+ const top = props.expression.typeArguments[0];
15
+ if (top === undefined || ts.isTypeNode(top) === false)
16
+ return props.expression;
17
+ // GET TYPE
18
+ const type = props.context.checker.getTypeFromTypeNode(top);
19
+ if (type.isTypeParameter())
20
+ throw new TransformerError({
21
+ code: "typia.reflect.schema",
22
+ message: "non-specified generic argument.",
23
+ });
24
+ // METADATA
25
+ const components = new MetadataCollection();
26
+ const result = MetadataFactory.analyze({
27
+ checker: props.context.checker,
28
+ transformer: props.context.transformer,
29
+ options: {
30
+ escape: true,
31
+ constant: true,
32
+ absorb: true,
33
+ functional: true,
34
+ },
35
+ components: components,
36
+ type,
37
+ });
38
+ if (result.success === false)
39
+ throw TransformerError.from({
40
+ code: "typia.reflect.schema",
41
+ errors: result.errors,
42
+ });
43
+ const schema = result.data;
44
+ // CONVERT TO PRIMITIVE TYPE
45
+ const unit = {
46
+ schema: schema.toJSON(),
47
+ components: components.toJSON(),
48
+ };
49
+ return LiteralFactory.write(unit);
50
+ };
51
+ })(ReflectSchemaTransformer || (ReflectSchemaTransformer = {}));
52
+
53
+ export { ReflectSchemaTransformer };
54
+ //# sourceMappingURL=ReflectSchemaTransformer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReflectSchemaTransformer.mjs","sources":["../../../src/features/reflect/ReflectSchemaTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYM,IAAW;AAAjB,CAAA,UAAiB,wBAAwB,EAAA;AAC1B,IAAA,wBAAA,CAAA,SAAS,GAAG,CACvB,KAAsD,KACrC;AACjB,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM;YACzC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,sBAAsB;AAC5B,gBAAA,OAAO,EAAE,sBAAsB;AAChC,aAAA,CAAC;;QAGJ,MAAM,GAAG,GAAwB,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;QAClE,IAAI,GAAG,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;YACnD,OAAO,KAAK,CAAC,UAAU;;AAGzB,QAAA,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC;QACpE,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,sBAAsB;AAC5B,gBAAA,OAAO,EAAE,iCAAiC;AAC3C,aAAA,CAAC;;AAGJ,QAAA,MAAM,UAAU,GAAuB,IAAI,kBAAkB,EAAE;AAC/D,QAAA,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC;AACrC,YAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,YAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,UAAU,EAAE,IAAI;AACjB,aAAA;AACD,YAAA,UAAU,EAAE,UAAU;YACtB,IAAI;AACL,SAAA,CAAC;AACF,QAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YAC1B,MAAM,gBAAgB,CAAC,IAAI,CAAC;AAC1B,gBAAA,IAAI,EAAE,sBAAsB;gBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,aAAA,CAAC;AAEJ,QAAA,MAAM,MAAM,GAAmB,MAAM,CAAC,IAAI;;AAG1C,QAAA,MAAM,IAAI,GAAwB;AAChC,YAAA,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;AACvB,YAAA,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;SAChC;AACD,QAAA,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;AACnC,IAAA,CAAC;AACH,CAAC,EApDgB,wBAAwB,KAAxB,wBAAwB,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { ITransformProps } from "../../ITransformProps";
3
+ export declare namespace ReflectSchemasTransformer {
4
+ const transform: (props: Pick<ITransformProps, "context" | "expression">) => ts.Expression;
5
+ }
@@ -0,0 +1,62 @@
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.ReflectSchemasTransformer = void 0;
7
+ const core_1 = require("@typia/core");
8
+ const typescript_1 = __importDefault(require("typescript"));
9
+ const TransformerError_1 = require("../../TransformerError");
10
+ var ReflectSchemasTransformer;
11
+ (function (ReflectSchemasTransformer) {
12
+ ReflectSchemasTransformer.transform = (props) => {
13
+ var _a;
14
+ if (!((_a = props.expression.typeArguments) === null || _a === void 0 ? void 0 : _a.length))
15
+ throw new TransformerError_1.TransformerError({
16
+ code: "typia.reflect.schemas",
17
+ message: "no generic argument.",
18
+ });
19
+ // VALIDATE TUPLE ARGUMENTS
20
+ const top = props.expression.typeArguments[0];
21
+ if (!typescript_1.default.isTupleTypeNode(top))
22
+ return props.expression;
23
+ else if (top.elements.some((child) => !typescript_1.default.isTypeNode(child)))
24
+ return props.expression;
25
+ // GET TYPES
26
+ const types = top.elements.map((child) => props.context.checker.getTypeFromTypeNode(child));
27
+ if (types.some((t) => t.isTypeParameter()))
28
+ throw new TransformerError_1.TransformerError({
29
+ code: "typia.reflect.schemas",
30
+ message: "non-specified generic argument(s).",
31
+ });
32
+ // METADATA
33
+ const components = new core_1.MetadataCollection();
34
+ const schemas = types.map((type) => {
35
+ const result = core_1.MetadataFactory.analyze({
36
+ checker: props.context.checker,
37
+ transformer: props.context.transformer,
38
+ options: {
39
+ escape: true,
40
+ constant: true,
41
+ absorb: true,
42
+ functional: true,
43
+ },
44
+ components: components,
45
+ type,
46
+ });
47
+ if (result.success === false)
48
+ throw TransformerError_1.TransformerError.from({
49
+ code: "typia.reflect.schemas",
50
+ errors: result.errors,
51
+ });
52
+ return result.data;
53
+ });
54
+ // CONVERT TO PRIMITIVE TYPE
55
+ const collection = {
56
+ schemas: schemas.map((s) => s.toJSON()),
57
+ components: components.toJSON(),
58
+ };
59
+ return core_1.LiteralFactory.write(collection);
60
+ };
61
+ })(ReflectSchemasTransformer || (exports.ReflectSchemasTransformer = ReflectSchemasTransformer = {}));
62
+ //# sourceMappingURL=ReflectSchemasTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReflectSchemasTransformer.js","sourceRoot":"","sources":["../../../src/features/reflect/ReflectSchemasTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAKqB;AAErB,4DAA4B;AAG5B,6DAA0D;AAE1D,IAAiB,yBAAyB,CAwDzC;AAxDD,WAAiB,yBAAyB;IAC3B,mCAAS,GAAG,CACvB,KAAsD,EACvC,EAAE;;QACjB,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACzC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;QAEL,2BAA2B;QAC3B,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QACxD,IAAI,CAAC,oBAAE,CAAC,eAAe,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,UAAU,CAAC;aACjD,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC,UAAU,CAAC;QAE1B,YAAY;QACZ,MAAM,KAAK,GAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAClD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAoB,CAAC,CAChE,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,oCAAoC;aAC9C,CAAC,CAAC;QAEL,WAAW;QACX,MAAM,UAAU,GAAuB,IAAI,yBAAkB,EAAE,CAAC;QAChE,MAAM,OAAO,GAA0B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxD,MAAM,MAAM,GAAG,sBAAe,CAAC,OAAO,CAAC;gBACrC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;gBACtC,OAAO,EAAE;oBACP,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,IAAI;iBACjB;gBACD,UAAU,EAAE,UAAU;gBACtB,IAAI;aACL,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,uBAAuB;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;YACL,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,MAAM,UAAU,GAA8B;YAC5C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACvC,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;SAChC,CAAC;QACF,OAAO,qBAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC,EAxDgB,yBAAyB,yCAAzB,yBAAyB,QAwDzC"}
@@ -0,0 +1,58 @@
1
+ import { MetadataCollection, MetadataFactory, LiteralFactory } from '@typia/core';
2
+ import ts from 'typescript';
3
+ import { TransformerError } from '../../TransformerError.mjs';
4
+
5
+ var ReflectSchemasTransformer;
6
+ (function (ReflectSchemasTransformer) {
7
+ ReflectSchemasTransformer.transform = (props) => {
8
+ if (!props.expression.typeArguments?.length)
9
+ throw new TransformerError({
10
+ code: "typia.reflect.schemas",
11
+ message: "no generic argument.",
12
+ });
13
+ // VALIDATE TUPLE ARGUMENTS
14
+ const top = props.expression.typeArguments[0];
15
+ if (!ts.isTupleTypeNode(top))
16
+ return props.expression;
17
+ else if (top.elements.some((child) => !ts.isTypeNode(child)))
18
+ return props.expression;
19
+ // GET TYPES
20
+ const types = top.elements.map((child) => props.context.checker.getTypeFromTypeNode(child));
21
+ if (types.some((t) => t.isTypeParameter()))
22
+ throw new TransformerError({
23
+ code: "typia.reflect.schemas",
24
+ message: "non-specified generic argument(s).",
25
+ });
26
+ // METADATA
27
+ const components = new MetadataCollection();
28
+ const schemas = types.map((type) => {
29
+ const result = MetadataFactory.analyze({
30
+ checker: props.context.checker,
31
+ transformer: props.context.transformer,
32
+ options: {
33
+ escape: true,
34
+ constant: true,
35
+ absorb: true,
36
+ functional: true,
37
+ },
38
+ components: components,
39
+ type,
40
+ });
41
+ if (result.success === false)
42
+ throw TransformerError.from({
43
+ code: "typia.reflect.schemas",
44
+ errors: result.errors,
45
+ });
46
+ return result.data;
47
+ });
48
+ // CONVERT TO PRIMITIVE TYPE
49
+ const collection = {
50
+ schemas: schemas.map((s) => s.toJSON()),
51
+ components: components.toJSON(),
52
+ };
53
+ return LiteralFactory.write(collection);
54
+ };
55
+ })(ReflectSchemasTransformer || (ReflectSchemasTransformer = {}));
56
+
57
+ export { ReflectSchemasTransformer };
58
+ //# sourceMappingURL=ReflectSchemasTransformer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReflectSchemasTransformer.mjs","sources":["../../../src/features/reflect/ReflectSchemasTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYM,IAAW;AAAjB,CAAA,UAAiB,yBAAyB,EAAA;AAC3B,IAAA,yBAAA,CAAA,SAAS,GAAG,CACvB,KAAsD,KACrC;AACjB,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM;YACzC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,uBAAuB;AAC7B,gBAAA,OAAO,EAAE,sBAAsB;AAChC,aAAA,CAAC;;QAGJ,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;AACvD,QAAA,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,UAAU;AAChD,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC,UAAU;;QAGzB,MAAM,KAAK,GAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAC9C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAoB,CAAC,CAChE;AACD,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,uBAAuB;AAC7B,gBAAA,OAAO,EAAE,oCAAoC;AAC9C,aAAA,CAAC;;AAGJ,QAAA,MAAM,UAAU,GAAuB,IAAI,kBAAkB,EAAE;QAC/D,MAAM,OAAO,GAA0B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACxD,YAAA,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC;AACrC,gBAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,gBAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;AACD,gBAAA,UAAU,EAAE,UAAU;gBACtB,IAAI;AACL,aAAA,CAAC;AACF,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,gBAAgB,CAAC,IAAI,CAAC;AAC1B,oBAAA,IAAI,EAAE,uBAAuB;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,iBAAA,CAAC;YACJ,OAAO,MAAM,CAAC,IAAI;AACpB,QAAA,CAAC,CAAC;;AAGF,QAAA,MAAM,UAAU,GAA8B;AAC5C,YAAA,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;AACvC,YAAA,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;SAChC;AACD,QAAA,OAAO,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC;AACzC,IAAA,CAAC;AACH,CAAC,EAxDgB,yBAAyB,KAAzB,yBAAyB,GAAA,EAAA,CAAA,CAAA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typia/transform",
3
- "version": "12.0.0-dev.20260227",
3
+ "version": "12.0.0-dev.20260303",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "exports": {
@@ -22,9 +22,9 @@
22
22
  },
23
23
  "homepage": "https://typia.io",
24
24
  "dependencies": {
25
- "@typia/core": "^12.0.0-dev.20260227",
26
- "@typia/utils": "^12.0.0-dev.20260227",
27
- "@typia/interface": "^12.0.0-dev.20260227"
25
+ "@typia/utils": "^12.0.0-dev.20260303",
26
+ "@typia/core": "^12.0.0-dev.20260303",
27
+ "@typia/interface": "^12.0.0-dev.20260303"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@rollup/plugin-commonjs": "^29.0.0",
@@ -116,6 +116,8 @@ import { ProtobufValidateDecodeTransformer } from "./features/protobuf/ProtobufV
116
116
  import { ProtobufValidateEncodeTransformer } from "./features/protobuf/ProtobufValidateEncodeTransformer";
117
117
  import { ReflectMetadataTransformer } from "./features/reflect/ReflectMetadataTransformer";
118
118
  import { ReflectNameTransformer } from "./features/reflect/ReflectNameTransformer";
119
+ import { ReflectSchemaTransformer } from "./features/reflect/ReflectSchemaTransformer";
120
+ import { ReflectSchemasTransformer } from "./features/reflect/ReflectSchemasTransformer";
119
121
 
120
122
  /**
121
123
  * Transforms `typia.*` function call expressions.
@@ -478,6 +480,8 @@ const FUNCTORS: Record<string, Record<string, () => Task>> = {
478
480
  reflect: {
479
481
  metadata: () => ReflectMetadataTransformer.transform,
480
482
  name: () => ReflectNameTransformer.transform,
483
+ schema: () => ReflectSchemaTransformer.transform,
484
+ schemas: () => ReflectSchemasTransformer.transform,
481
485
  },
482
486
  misc: {
483
487
  literals: () => MiscLiteralsTransformer.transform,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  JsonApplicationProgrammer,
3
3
  LiteralFactory,
4
+ MetadataCollection,
4
5
  MetadataFactory,
5
6
  MetadataSchema,
6
- MetadataStorage,
7
7
  } from "@typia/core";
8
8
  import { IJsonSchemaApplication, ValidationPipe } from "@typia/interface";
9
9
  import ts from "typescript";
@@ -33,8 +33,8 @@ export namespace JsonApplicationTransformer {
33
33
 
34
34
  // GET TYPE
35
35
  const type: ts.Type = props.context.checker.getTypeFromTypeNode(top);
36
- const collection: MetadataStorage = new MetadataStorage({
37
- replace: MetadataStorage.replace,
36
+ const collection: MetadataCollection = new MetadataCollection({
37
+ replace: MetadataCollection.replace,
38
38
  });
39
39
  const result: ValidationPipe<MetadataSchema, MetadataFactory.IError> =
40
40
  MetadataFactory.analyze({
@@ -2,9 +2,9 @@ import {
2
2
  JsonSchemaProgrammer,
3
3
  JsonSchemasProgrammer,
4
4
  LiteralFactory,
5
+ MetadataCollection,
5
6
  MetadataFactory,
6
7
  MetadataSchema,
7
- MetadataStorage,
8
8
  } from "@typia/core";
9
9
  import { IJsonSchemaUnit, ValidationPipe } from "@typia/interface";
10
10
  import ts from "typescript";
@@ -63,8 +63,8 @@ export namespace JsonSchemaTransformer {
63
63
  validate:
64
64
  validate === true ? JsonSchemasProgrammer.validate : undefined,
65
65
  },
66
- components: new MetadataStorage({
67
- replace: MetadataStorage.replace,
66
+ components: new MetadataCollection({
67
+ replace: MetadataCollection.replace,
68
68
  }),
69
69
  type,
70
70
  });
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  JsonSchemasProgrammer,
3
3
  LiteralFactory,
4
+ MetadataCollection,
4
5
  MetadataFactory,
5
6
  MetadataSchema,
6
- MetadataStorage,
7
7
  } from "@typia/core";
8
8
  import { IJsonSchemaCollection, ValidationPipe } from "@typia/interface";
9
9
  import ts from "typescript";
@@ -66,8 +66,8 @@ export namespace JsonSchemasTransformer {
66
66
  validate:
67
67
  validate === true ? JsonSchemasProgrammer.validate : undefined,
68
68
  },
69
- components: new MetadataStorage({
70
- replace: MetadataStorage.replace,
69
+ components: new MetadataCollection({
70
+ replace: MetadataCollection.replace,
71
71
  }),
72
72
  type,
73
73
  }),
@@ -4,9 +4,9 @@ import {
4
4
  LiteralFactory,
5
5
  LlmApplicationProgrammer,
6
6
  LlmMetadataFactory,
7
+ MetadataCollection,
7
8
  MetadataFactory,
8
9
  MetadataSchema,
9
- MetadataStorage,
10
10
  StatementFactory,
11
11
  } from "@typia/core";
12
12
  import { ILlmApplication, ILlmSchema, ValidationPipe } from "@typia/interface";
@@ -113,8 +113,8 @@ export namespace LlmApplicationTransformer {
113
113
  })
114
114
  : undefined,
115
115
  },
116
- components: new MetadataStorage({
117
- replace: MetadataStorage.replace,
116
+ components: new MetadataCollection({
117
+ replace: MetadataCollection.replace,
118
118
  }),
119
119
  type,
120
120
  });
@@ -2,9 +2,9 @@ import {
2
2
  LiteralFactory,
3
3
  LlmMetadataFactory,
4
4
  LlmParametersProgrammer,
5
+ MetadataCollection,
5
6
  MetadataFactory,
6
7
  MetadataSchema,
7
- MetadataStorage,
8
8
  } from "@typia/core";
9
9
  import { ILlmSchema, ValidationPipe } from "@typia/interface";
10
10
  import ts from "typescript";
@@ -55,8 +55,8 @@ export namespace LlmParametersTransformer {
55
55
  })
56
56
  : undefined,
57
57
  },
58
- components: new MetadataStorage({
59
- replace: MetadataStorage.replace,
58
+ components: new MetadataCollection({
59
+ replace: MetadataCollection.replace,
60
60
  }),
61
61
  type,
62
62
  });
@@ -3,9 +3,9 @@ import {
3
3
  LiteralFactory,
4
4
  LlmMetadataFactory,
5
5
  LlmSchemaProgrammer,
6
+ MetadataCollection,
6
7
  MetadataFactory,
7
8
  MetadataSchema,
8
- MetadataStorage,
9
9
  } from "@typia/core";
10
10
  import { ILlmSchema, ValidationPipe } from "@typia/interface";
11
11
  import ts from "typescript";
@@ -55,8 +55,8 @@ export namespace LlmSchemaTransformer {
55
55
  })
56
56
  : undefined,
57
57
  },
58
- components: new MetadataStorage({
59
- replace: MetadataStorage.replace,
58
+ components: new MetadataCollection({
59
+ replace: MetadataCollection.replace,
60
60
  }),
61
61
  type,
62
62
  });
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  LiteralFactory,
3
+ MetadataCollection,
3
4
  MetadataFactory,
4
5
  MetadataSchema,
5
- MetadataStorage,
6
6
  } from "@typia/core";
7
7
  import { IMetadataSchemaCollection } from "@typia/interface";
8
8
  import ts from "typescript";
@@ -37,7 +37,7 @@ export namespace ReflectMetadataTransformer {
37
37
  });
38
38
 
39
39
  // METADATA
40
- const components: MetadataStorage = new MetadataStorage();
40
+ const components: MetadataCollection = new MetadataCollection();
41
41
  const schemas: Array<MetadataSchema> = types.map((type) => {
42
42
  const result = MetadataFactory.analyze({
43
43
  checker: props.context.checker,
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  ITypiaContext,
3
+ MetadataCollection,
3
4
  MetadataFactory,
4
5
  MetadataSchema,
5
- MetadataStorage,
6
6
  } from "@typia/core";
7
7
  import { ValidationPipe } from "@typia/interface";
8
8
  import ts from "typescript";
@@ -57,8 +57,8 @@ const getMetadata = (props: {
57
57
  const type: ts.Type = props.context.checker.getTypeFromTypeNode(
58
58
  props.node as ts.TypeNode,
59
59
  );
60
- const collection: MetadataStorage = new MetadataStorage({
61
- replace: MetadataStorage.replace,
60
+ const collection: MetadataCollection = new MetadataCollection({
61
+ replace: MetadataCollection.replace,
62
62
  });
63
63
  const result: ValidationPipe<MetadataSchema, MetadataFactory.IError> =
64
64
  MetadataFactory.analyze({
@@ -0,0 +1,65 @@
1
+ import {
2
+ LiteralFactory,
3
+ MetadataCollection,
4
+ MetadataFactory,
5
+ MetadataSchema,
6
+ } from "@typia/core";
7
+ import { IMetadataSchemaUnit } from "@typia/interface";
8
+ import ts from "typescript";
9
+
10
+ import { ITransformProps } from "../../ITransformProps";
11
+ import { TransformerError } from "../../TransformerError";
12
+
13
+ export namespace ReflectSchemaTransformer {
14
+ export const transform = (
15
+ props: Pick<ITransformProps, "context" | "expression">,
16
+ ): ts.Expression => {
17
+ if (!props.expression.typeArguments?.length)
18
+ throw new TransformerError({
19
+ code: "typia.reflect.schema",
20
+ message: "no generic argument.",
21
+ });
22
+
23
+ // VALIDATE ARGUMENT
24
+ const top: ts.Node | undefined = props.expression.typeArguments[0];
25
+ if (top === undefined || ts.isTypeNode(top) === false)
26
+ return props.expression;
27
+
28
+ // GET TYPE
29
+ const type: ts.Type = props.context.checker.getTypeFromTypeNode(top);
30
+ if (type.isTypeParameter())
31
+ throw new TransformerError({
32
+ code: "typia.reflect.schema",
33
+ message: "non-specified generic argument.",
34
+ });
35
+
36
+ // METADATA
37
+ const components: MetadataCollection = new MetadataCollection();
38
+ const result = MetadataFactory.analyze({
39
+ checker: props.context.checker,
40
+ transformer: props.context.transformer,
41
+ options: {
42
+ escape: true,
43
+ constant: true,
44
+ absorb: true,
45
+ functional: true,
46
+ },
47
+ components: components,
48
+ type,
49
+ });
50
+ if (result.success === false)
51
+ throw TransformerError.from({
52
+ code: "typia.reflect.schema",
53
+ errors: result.errors,
54
+ });
55
+
56
+ const schema: MetadataSchema = result.data;
57
+
58
+ // CONVERT TO PRIMITIVE TYPE
59
+ const unit: IMetadataSchemaUnit = {
60
+ schema: schema.toJSON(),
61
+ components: components.toJSON(),
62
+ };
63
+ return LiteralFactory.write(unit);
64
+ };
65
+ }