@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.
- package/lib/CallExpressionTransformer.js +4 -0
- package/lib/CallExpressionTransformer.js.map +1 -1
- package/lib/CallExpressionTransformer.mjs +4 -0
- package/lib/CallExpressionTransformer.mjs.map +1 -1
- package/lib/features/json/JsonApplicationTransformer.js +2 -2
- package/lib/features/json/JsonApplicationTransformer.js.map +1 -1
- package/lib/features/json/JsonApplicationTransformer.mjs +3 -3
- package/lib/features/json/JsonApplicationTransformer.mjs.map +1 -1
- package/lib/features/json/JsonSchemaTransformer.js +2 -2
- package/lib/features/json/JsonSchemaTransformer.js.map +1 -1
- package/lib/features/json/JsonSchemaTransformer.mjs +3 -3
- package/lib/features/json/JsonSchemaTransformer.mjs.map +1 -1
- package/lib/features/json/JsonSchemasTransformer.js +2 -2
- package/lib/features/json/JsonSchemasTransformer.js.map +1 -1
- package/lib/features/json/JsonSchemasTransformer.mjs +3 -3
- package/lib/features/json/JsonSchemasTransformer.mjs.map +1 -1
- package/lib/features/llm/LlmApplicationTransformer.js +2 -2
- package/lib/features/llm/LlmApplicationTransformer.js.map +1 -1
- package/lib/features/llm/LlmApplicationTransformer.mjs +3 -3
- package/lib/features/llm/LlmApplicationTransformer.mjs.map +1 -1
- package/lib/features/llm/LlmParametersTransformer.js +2 -2
- package/lib/features/llm/LlmParametersTransformer.js.map +1 -1
- package/lib/features/llm/LlmParametersTransformer.mjs +3 -3
- package/lib/features/llm/LlmParametersTransformer.mjs.map +1 -1
- package/lib/features/llm/LlmSchemaTransformer.js +2 -2
- package/lib/features/llm/LlmSchemaTransformer.js.map +1 -1
- package/lib/features/llm/LlmSchemaTransformer.mjs +3 -3
- package/lib/features/llm/LlmSchemaTransformer.mjs.map +1 -1
- package/lib/features/reflect/ReflectMetadataTransformer.js +1 -1
- package/lib/features/reflect/ReflectMetadataTransformer.js.map +1 -1
- package/lib/features/reflect/ReflectMetadataTransformer.mjs +2 -2
- package/lib/features/reflect/ReflectMetadataTransformer.mjs.map +1 -1
- package/lib/features/reflect/ReflectNameTransformer.js +2 -2
- package/lib/features/reflect/ReflectNameTransformer.js.map +1 -1
- package/lib/features/reflect/ReflectNameTransformer.mjs +3 -3
- package/lib/features/reflect/ReflectNameTransformer.mjs.map +1 -1
- package/lib/features/reflect/ReflectSchemaTransformer.d.ts +5 -0
- package/lib/features/reflect/ReflectSchemaTransformer.js +58 -0
- package/lib/features/reflect/ReflectSchemaTransformer.js.map +1 -0
- package/lib/features/reflect/ReflectSchemaTransformer.mjs +54 -0
- package/lib/features/reflect/ReflectSchemaTransformer.mjs.map +1 -0
- package/lib/features/reflect/ReflectSchemasTransformer.d.ts +5 -0
- package/lib/features/reflect/ReflectSchemasTransformer.js +62 -0
- package/lib/features/reflect/ReflectSchemasTransformer.js.map +1 -0
- package/lib/features/reflect/ReflectSchemasTransformer.mjs +58 -0
- package/lib/features/reflect/ReflectSchemasTransformer.mjs.map +1 -0
- package/package.json +4 -4
- package/src/CallExpressionTransformer.ts +4 -0
- package/src/features/json/JsonApplicationTransformer.ts +3 -3
- package/src/features/json/JsonSchemaTransformer.ts +3 -3
- package/src/features/json/JsonSchemasTransformer.ts +3 -3
- package/src/features/llm/LlmApplicationTransformer.ts +3 -3
- package/src/features/llm/LlmParametersTransformer.ts +3 -3
- package/src/features/llm/LlmSchemaTransformer.ts +3 -3
- package/src/features/reflect/ReflectMetadataTransformer.ts +2 -2
- package/src/features/reflect/ReflectNameTransformer.ts +3 -3
- package/src/features/reflect/ReflectSchemaTransformer.ts +65 -0
- package/src/features/reflect/ReflectSchemasTransformer.ts +69 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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
|
|
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,
|
|
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.
|
|
49
|
-
replace: core_1.
|
|
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,
|
|
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 {
|
|
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
|
|
43
|
-
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,
|
|
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,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,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.
|
|
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/
|
|
26
|
-
"@typia/
|
|
27
|
-
"@typia/interface": "^12.0.0-dev.
|
|
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:
|
|
37
|
-
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
|
|
67
|
-
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
|
|
70
|
-
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
|
|
117
|
-
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
|
|
59
|
-
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
|
|
59
|
-
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:
|
|
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:
|
|
61
|
-
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
|
+
}
|