@nestia/sdk 3.13.0-dev.2024910 → 3.14.0-dev.20240917
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/analyses/GenericAnalyzer.js +2 -2
- package/lib/analyses/GenericAnalyzer.js.map +1 -1
- package/lib/generates/internal/SdkAliasCollection.d.ts +1 -1
- package/lib/generates/internal/SdkAliasCollection.js +14 -3
- package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
- package/package.json +7 -7
- package/src/analyses/GenericAnalyzer.ts +1 -1
- package/src/generates/internal/SdkAliasCollection.ts +20 -4
|
@@ -14,14 +14,14 @@ var GenericAnalyzer;
|
|
|
14
14
|
}
|
|
15
15
|
GenericAnalyzer.analyze = analyze;
|
|
16
16
|
function explore(checker, dict, classNode) {
|
|
17
|
-
var _a;
|
|
17
|
+
var _a, _b, _c;
|
|
18
18
|
if (classNode.heritageClauses === undefined)
|
|
19
19
|
return;
|
|
20
20
|
for (const heritage of classNode.heritageClauses)
|
|
21
21
|
for (const hType of heritage.types) {
|
|
22
22
|
// MUST BE CLASS
|
|
23
23
|
const expression = checker.getTypeAtLocation(hType.expression);
|
|
24
|
-
const superNode = (_a = expression.symbol.getDeclarations()) === null ||
|
|
24
|
+
const superNode = (_c = (_b = (_a = expression.symbol) === null || _a === void 0 ? void 0 : _a.getDeclarations) === null || _b === void 0 ? void 0 : _b.call(_a)) === null || _c === void 0 ? void 0 : _c[0];
|
|
25
25
|
if (superNode === undefined || !typescript_1.default.isClassDeclaration(superNode))
|
|
26
26
|
continue;
|
|
27
27
|
// SPECIFY GENERICS
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/GenericAnalyzer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAE5B,IAAiB,eAAe,CA8C/B;AA9CD,WAAiB,eAAe;IAC9B,SAAgB,OAAO,CACrB,OAAuB,EACvB,SAA8B;QAE9B,MAAM,IAAI,GAA8B,IAAI,OAAO,EAAE,CAAC;QACtD,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAPe,uBAAO,UAOtB,CAAA;IAED,SAAS,OAAO,CACd,OAAuB,EACvB,IAA+B,EAC/B,SAA8B;;QAE9B,IAAI,SAAS,CAAC,eAAe,KAAK,SAAS;YAAE,OAAO;QAEpD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,eAAe;YAC9C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnC,gBAAgB;gBAChB,MAAM,UAAU,GAAY,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACxE,MAAM,SAAS,GACb,MAAA,UAAU,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"GenericAnalyzer.js","sourceRoot":"","sources":["../../src/analyses/GenericAnalyzer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAE5B,IAAiB,eAAe,CA8C/B;AA9CD,WAAiB,eAAe;IAC9B,SAAgB,OAAO,CACrB,OAAuB,EACvB,SAA8B;QAE9B,MAAM,IAAI,GAA8B,IAAI,OAAO,EAAE,CAAC;QACtD,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAPe,uBAAO,UAOtB,CAAA;IAED,SAAS,OAAO,CACd,OAAuB,EACvB,IAA+B,EAC/B,SAA8B;;QAE9B,IAAI,SAAS,CAAC,eAAe,KAAK,SAAS;YAAE,OAAO;QAEpD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,eAAe;YAC9C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnC,gBAAgB;gBAChB,MAAM,UAAU,GAAY,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACxE,MAAM,SAAS,GACb,MAAA,MAAA,MAAA,UAAU,CAAC,MAAM,0CAAE,eAAe,kDAAI,0CAAG,CAAC,CAAC,CAAC;gBAE9C,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,oBAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC;oBAC9D,SAAS;gBAEX,mBAAmB;gBACnB,MAAM,MAAM,GAA+B,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC;gBACrE,MAAM,UAAU,GACd,SAAS,CAAC,cAAc,IAAI,EAAE,CAAC;gBAEjC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBAClC,MAAM,SAAS,GAAY,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBAC5D,MAAM,SAAS,GACb,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS;wBACzB,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC1C,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAQ,CAAC,CAAC;oBAEhD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;gBAEH,wBAAwB;gBACxB,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YACpC,CAAC;IACL,CAAC;AACH,CAAC,EA9CgB,eAAe,+BAAf,eAAe,QA8C/B"}
|
|
@@ -12,7 +12,7 @@ export declare namespace SdkAliasCollection {
|
|
|
12
12
|
const from: (project: INestiaProject) => (importer: ImportDictionary) => (metadata: Metadata) => ts.TypeNode;
|
|
13
13
|
const headers: (project: INestiaProject) => (importer: ImportDictionary) => (param: ITypedHttpRouteParameter.IHeaders) => ts.TypeNode;
|
|
14
14
|
const query: (project: INestiaProject) => (importer: ImportDictionary) => (param: ITypedHttpRouteParameter.IQuery) => ts.TypeNode;
|
|
15
|
-
const input: (project: INestiaProject) => (importer: ImportDictionary) => (param: ITypedHttpRouteParameter) => ts.TypeNode;
|
|
15
|
+
const input: (project: INestiaProject) => (importer: ImportDictionary) => (param: ITypedHttpRouteParameter.IBody) => ts.TypeNode;
|
|
16
16
|
const output: (project: INestiaProject) => (importer: ImportDictionary) => (route: ITypedHttpRoute) => ts.TypeNode;
|
|
17
17
|
const responseBody: (project: INestiaProject) => (importer: ImportDictionary) => (route: ITypedHttpRoute) => ts.TypeNode;
|
|
18
18
|
}
|
|
@@ -39,10 +39,16 @@ var SdkAliasCollection;
|
|
|
39
39
|
}), [type]);
|
|
40
40
|
};
|
|
41
41
|
SdkAliasCollection.input = (project) => (importer) => (param) => {
|
|
42
|
-
if (project.config.clone === true)
|
|
43
|
-
|
|
42
|
+
if (project.config.clone === true) {
|
|
43
|
+
const type = SdkAliasCollection.from(project)(importer)(param.metadata);
|
|
44
|
+
return param.contentType === "multipart/form-data"
|
|
45
|
+
? formDataInput(importer)(type)
|
|
46
|
+
: type;
|
|
47
|
+
}
|
|
44
48
|
const type = SdkAliasCollection.name(param);
|
|
45
|
-
if (
|
|
49
|
+
if (param.contentType === "multipart/form-data")
|
|
50
|
+
return formDataInput(importer)(type);
|
|
51
|
+
else if (project.config.primitive === false)
|
|
46
52
|
return type;
|
|
47
53
|
return typescript_1.default.factory.createTypeReferenceNode(importer.external({
|
|
48
54
|
type: true,
|
|
@@ -112,5 +118,10 @@ var SdkAliasCollection;
|
|
|
112
118
|
]);
|
|
113
119
|
};
|
|
114
120
|
SdkAliasCollection.responseBody = (project) => (importer) => (route) => SdkAliasCollection.output(Object.assign(Object.assign({}, project), { config: Object.assign(Object.assign({}, project.config), { propagate: false }) }))(importer)(route);
|
|
121
|
+
const formDataInput = (importer) => (type) => typescript_1.default.factory.createTypeReferenceNode(importer.external({
|
|
122
|
+
type: true,
|
|
123
|
+
library: "@nestia/fetcher",
|
|
124
|
+
instance: "FormDataInput",
|
|
125
|
+
}), [type]);
|
|
115
126
|
})(SdkAliasCollection || (exports.SdkAliasCollection = SdkAliasCollection = {}));
|
|
116
127
|
//# sourceMappingURL=SdkAliasCollection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkAliasCollection.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkAliasCollection.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,kDAA0B;AAC1B,iEAA8D;AAS9D,2DAAwD;AAExD,IAAiB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"SdkAliasCollection.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkAliasCollection.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/sdk",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.14.0-dev.20240917",
|
|
4
4
|
"description": "Nestia SDK and Swagger generator",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
},
|
|
33
33
|
"homepage": "https://nestia.io",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@nestia/core": "^3.
|
|
36
|
-
"@nestia/fetcher": "^3.
|
|
37
|
-
"@samchon/openapi": "^1.0.
|
|
35
|
+
"@nestia/core": "^3.14.0-dev.20240917",
|
|
36
|
+
"@nestia/fetcher": "^3.14.0-dev.20240917",
|
|
37
|
+
"@samchon/openapi": "^1.0.2",
|
|
38
38
|
"cli": "^1.0.1",
|
|
39
39
|
"get-function-location": "^2.0.0",
|
|
40
40
|
"glob": "^7.2.0",
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
"tsconfck": "^2.1.2",
|
|
45
45
|
"tsconfig-paths": "^4.1.1",
|
|
46
46
|
"tstl": "^3.0.0",
|
|
47
|
-
"typia": "
|
|
47
|
+
"typia": "^6.10.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@nestia/core": ">=3.
|
|
51
|
-
"@nestia/fetcher": ">=3.
|
|
50
|
+
"@nestia/core": ">=3.14.0-dev.20240917",
|
|
51
|
+
"@nestia/fetcher": ">=3.14.0-dev.20240917",
|
|
52
52
|
"@nestjs/common": ">=7.0.1",
|
|
53
53
|
"@nestjs/core": ">=7.0.1",
|
|
54
54
|
"reflect-metadata": ">=0.1.12",
|
|
@@ -22,7 +22,7 @@ export namespace GenericAnalyzer {
|
|
|
22
22
|
// MUST BE CLASS
|
|
23
23
|
const expression: ts.Type = checker.getTypeAtLocation(hType.expression);
|
|
24
24
|
const superNode: ts.Declaration | undefined =
|
|
25
|
-
expression.symbol
|
|
25
|
+
expression.symbol?.getDeclarations?.()?.[0];
|
|
26
26
|
|
|
27
27
|
if (superNode === undefined || !ts.isClassDeclaration(superNode))
|
|
28
28
|
continue;
|
|
@@ -65,11 +65,17 @@ export namespace SdkAliasCollection {
|
|
|
65
65
|
export const input =
|
|
66
66
|
(project: INestiaProject) =>
|
|
67
67
|
(importer: ImportDictionary) =>
|
|
68
|
-
(param: ITypedHttpRouteParameter): ts.TypeNode => {
|
|
69
|
-
if (project.config.clone === true)
|
|
70
|
-
|
|
68
|
+
(param: ITypedHttpRouteParameter.IBody): ts.TypeNode => {
|
|
69
|
+
if (project.config.clone === true) {
|
|
70
|
+
const type: ts.TypeNode = from(project)(importer)(param.metadata);
|
|
71
|
+
return param.contentType === "multipart/form-data"
|
|
72
|
+
? formDataInput(importer)(type)
|
|
73
|
+
: type;
|
|
74
|
+
}
|
|
71
75
|
const type: ts.TypeNode = name(param);
|
|
72
|
-
if (
|
|
76
|
+
if (param.contentType === "multipart/form-data")
|
|
77
|
+
return formDataInput(importer)(type);
|
|
78
|
+
else if (project.config.primitive === false) return type;
|
|
73
79
|
return ts.factory.createTypeReferenceNode(
|
|
74
80
|
importer.external({
|
|
75
81
|
type: true,
|
|
@@ -161,6 +167,16 @@ export namespace SdkAliasCollection {
|
|
|
161
167
|
propagate: false,
|
|
162
168
|
},
|
|
163
169
|
})(importer)(route);
|
|
170
|
+
|
|
171
|
+
const formDataInput = (importer: ImportDictionary) => (type: ts.TypeNode) =>
|
|
172
|
+
ts.factory.createTypeReferenceNode(
|
|
173
|
+
importer.external({
|
|
174
|
+
type: true,
|
|
175
|
+
library: "@nestia/fetcher",
|
|
176
|
+
instance: "FormDataInput",
|
|
177
|
+
}),
|
|
178
|
+
[type],
|
|
179
|
+
);
|
|
164
180
|
}
|
|
165
181
|
|
|
166
182
|
interface IBranch {
|