@nestia/sdk 2.5.0 → 2.5.1-dev.20240201-2
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/generates/internal/SdkFunctionProgrammer.js +49 -8
- package/lib/generates/internal/SdkFunctionProgrammer.js.map +1 -1
- package/lib/utils/StringUtil.d.ts +3 -0
- package/lib/utils/StringUtil.js +8 -0
- package/lib/utils/StringUtil.js.map +1 -0
- package/package.json +3 -5
- package/src/generates/internal/SdkFunctionProgrammer.ts +82 -18
- package/src/utils/StringUtil.ts +6 -0
|
@@ -7,6 +7,9 @@ exports.SdkFunctionProgrammer = void 0;
|
|
|
7
7
|
const typescript_1 = __importDefault(require("typescript"));
|
|
8
8
|
const typia_1 = __importDefault(require("typia"));
|
|
9
9
|
const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
10
|
+
const StatementFactory_1 = require("typia/lib/factories/StatementFactory");
|
|
11
|
+
const Escaper_1 = require("typia/lib/utils/Escaper");
|
|
12
|
+
const StringUtil_1 = require("../../utils/StringUtil");
|
|
10
13
|
const SdkImportWizard_1 = require("./SdkImportWizard");
|
|
11
14
|
const SdkTypeProgrammer_1 = require("./SdkTypeProgrammer");
|
|
12
15
|
var SdkFunctionProgrammer;
|
|
@@ -72,6 +75,16 @@ var SdkFunctionProgrammer;
|
|
|
72
75
|
: []),
|
|
73
76
|
]);
|
|
74
77
|
};
|
|
78
|
+
const output = (awaiter) => config.simulate
|
|
79
|
+
? typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createIdentifier("!!connection.simulate"), undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(`${route.name}.simulate`), [], [
|
|
80
|
+
typescript_1.default.factory.createIdentifier("connection"),
|
|
81
|
+
...route.parameters
|
|
82
|
+
.filter((p) => p.category !== "headers")
|
|
83
|
+
.map((p) => typescript_1.default.factory.createIdentifier(p.name)),
|
|
84
|
+
]), undefined, awaiter ? typescript_1.default.factory.createAwaitExpression(caller()) : caller())
|
|
85
|
+
: awaiter
|
|
86
|
+
? typescript_1.default.factory.createAwaitExpression(caller())
|
|
87
|
+
: caller();
|
|
75
88
|
return [
|
|
76
89
|
...(config.assert
|
|
77
90
|
? route.parameters
|
|
@@ -80,14 +93,42 @@ var SdkFunctionProgrammer;
|
|
|
80
93
|
typescript_1.default.factory.createTypeQueryNode(typescript_1.default.factory.createIdentifier(p.name)),
|
|
81
94
|
], [typescript_1.default.factory.createIdentifier(p.name)])))
|
|
82
95
|
: []),
|
|
83
|
-
|
|
84
|
-
? typescript_1.default.factory.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
96
|
+
...(route.setHeaders.length === 0
|
|
97
|
+
? [typescript_1.default.factory.createReturnStatement(output(false))]
|
|
98
|
+
: write_set_headers(config)(route)(output(true))),
|
|
99
|
+
];
|
|
100
|
+
};
|
|
101
|
+
const write_set_headers = (config) => (route) => (condition) => {
|
|
102
|
+
const access = (x) => (y) => x[0] === "["
|
|
103
|
+
? `${x}${y}`
|
|
104
|
+
: false === Escaper_1.Escaper.variable(y)
|
|
105
|
+
? `${x}[${JSON.stringify(y)}]`
|
|
106
|
+
: `${x}.${y}`;
|
|
107
|
+
const output = StringUtil_1.StringUtil.escapeDuplicate([
|
|
108
|
+
"connection",
|
|
109
|
+
...route.parameters.map((p) => p.name),
|
|
110
|
+
])("output");
|
|
111
|
+
const headers = access("connection")("headers");
|
|
112
|
+
const data = access(output)("data");
|
|
113
|
+
const assigners = [
|
|
114
|
+
typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier(headers), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionEqualsToken), typescript_1.default.factory.createObjectLiteralExpression([])),
|
|
115
|
+
...route.setHeaders.map((tuple) => tuple.type === "assigner"
|
|
116
|
+
? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.assign"), [], [
|
|
117
|
+
typescript_1.default.factory.createIdentifier(headers),
|
|
118
|
+
typescript_1.default.factory.createIdentifier(access(data)(tuple.source)),
|
|
119
|
+
])
|
|
120
|
+
: typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier(headers), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsToken), typescript_1.default.factory.createIdentifier(access(data)(tuple.source)))),
|
|
121
|
+
].map(typescript_1.default.factory.createExpressionStatement);
|
|
122
|
+
return [
|
|
123
|
+
StatementFactory_1.StatementFactory.constant(output, condition),
|
|
124
|
+
...(config.propagate
|
|
125
|
+
? [
|
|
126
|
+
typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createIdentifier(access(output)("success")), assigners.length === 1
|
|
127
|
+
? assigners[0]
|
|
128
|
+
: typescript_1.default.factory.createBlock(assigners, true), undefined),
|
|
129
|
+
]
|
|
130
|
+
: assigners),
|
|
131
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier(output)),
|
|
91
132
|
];
|
|
92
133
|
};
|
|
93
134
|
})(SdkFunctionProgrammer || (exports.SdkFunctionProgrammer = SdkFunctionProgrammer = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFunctionProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,kDAA0B;AAC1B,6EAA0E;
|
|
1
|
+
{"version":3,"file":"SdkFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFunctionProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,kDAA0B;AAC1B,6EAA0E;AAC1E,2EAAwE;AACxE,qDAAkD;AAKlD,uDAAoD;AAEpD,uDAAoD;AACpD,2DAAwD;AAExD,IAAiB,qBAAqB,CAoQrC;AApQD,WAAiB,qBAAqB;IACvB,2BAAK,GAChB,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CACE,KAAa,EACb,KAIC,EACuB,EAAE;QAC1B,OAAO,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CACzC;YACE,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YACtD,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,YAAY,CAAC;SACtD,EACD,SAAS,EACT,KAAK,CAAC,IAAI,EACV,SAAS,EACT;YACE,qCAAiB,CAAC,SAAS,CACzB,YAAY,EACZ,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,iCAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,EACrC,KAAK,CAAC,OAAO;gBACX,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC;gBAC/D,CAAC,CAAC,SAAS,CACd,CACF;YACD,GAAG,KAAK,CAAC,UAAU;iBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;iBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CACnC,EAAE,EACF,SAAS,EACT,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,QAAQ;gBACR,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrD,CAAC,CAAC,SAAS,EACb,MAAM,CAAC,SAAS,KAAK,KAAK;gBACxB,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC;gBACxC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CACzD;gBACH,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACrC,CACF;SACJ,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE;YAC5C,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM;gBAC3D,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,SAAS,CAC3B;SACF,CAAC,EACF,oBAAE,CAAC,OAAO,CAAC,WAAW,CACpB,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAC1C,IAAI,CACL,CACF,CAAC;IACJ,CAAC,CAAC;IAEJ,MAAM,UAAU,GACd,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CACE,KAAa,EACb,KAIC,EACe,EAAE;QAClB,MAAM,SAAS,GACb,KAAK,CAAC,SAAS,KAAK,IAAI;YACxB,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;gBACxB,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI;gBAC3B,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM;gBAC/B,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;QACpC,MAAM,WAAW,GACf,KAAK,CAAC,KAAK,KAAK,SAAS;YACvB,CAAC,CAAC;;;eAAqC,KAAK,CAAC,KAAK,EAChD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW;gBACzB,CAAC,CAAC,kBAAkB;YACtB,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,MAAM,GAAG,GAAG,EAAE;;YAClB,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,iCAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAC7C,CACF,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC3C,SAAS,EACT;gBACE,WAAW;oBACT,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;wBACE,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAC1C;wBACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;4BACE,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,qCAAiB,CAAC,MAAM,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAC1C,CAAC,SAAS,CAAC,CACb;4BACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAC9C,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAC5C;yBACF,EACD,IAAI,CACL,CACF;qBACF,EACD,IAAI,CACL;oBACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC;gBAC7C,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;oBACE,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,qCAAiB,CAAC,MAAM,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CACxC,CAAC,UAAU,CAAC,CACd;oBACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,MAAM,EACN,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CACxC,CAAC,MAAM,CAAC,EACT,SAAS,EACT,KAAK,CAAC,UAAU;yBACb,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,CACxD;yBACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACnD,CACF;iBACF,EACD,IAAI,CACL;gBACD,GAAG,CAAC,KAAK,CAAC,KAAK;oBACb,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACjD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,QAAQ,MAAK,MAAM;oBACjD,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC;oBAC1D,CAAC,CAAC,EAAE,CAAC;aACR,CACF,CAAA;SAAA,CAAC;QACJ,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,EAAE,CAClC,MAAM,CAAC,QAAQ;YACb,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CACpC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EACpD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,IAAI,WAAW,CAAC,EACrD,EAAE,EACF;gBACE,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC;gBACzC,GAAG,KAAK,CAAC,UAAU;qBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;qBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACnD,CACF,EACD,SAAS,EACT,OAAO,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAChE;YACH,CAAC,CAAC,OAAO;gBACP,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;gBAC5C,CAAC,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO;YACL,GAAG,CAAC,MAAM,CAAC,MAAM;gBACf,CAAC,CAAC,KAAK,CAAC,UAAU;qBACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;qBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,iCAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAChC,CACF,CAAC,QAAQ,CAAC,EACX;oBACE,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CACpC;iBACF,EACD,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACtC,CACF,CACF;gBACL,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;gBAC/B,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnD,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SACpD,CAAC;IACJ,CAAC,CAAC;IAEJ,MAAM,iBAAiB,GACrB,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,SAAwB,EAAkB,EAAE;QAC3C,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAC1C,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;YACV,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACZ,CAAC,CAAC,KAAK,KAAK,iBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7B,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;gBAC9B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,MAAM,GAAW,uBAAU,CAAC,eAAe,CAAC;YAChD,YAAY;YACZ,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACvC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACb,MAAM,OAAO,GAAW,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,IAAI,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,SAAS,GAA6B;YAC1C,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC,EACjE,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAC7C;YACD,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAChC,KAAK,CAAC,IAAI,KAAK,UAAU;gBACvB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAC5C,EAAE,EACF;oBACE,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;oBACpC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBACxD,CACF;gBACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EACjD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACxD,CACN;SACF,CAAC,GAAG,CAAC,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC5C,OAAO;YACL,mCAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,SAAS;gBAClB,CAAC,CAAC;oBACE,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CAC1B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EACtD,SAAS,CAAC,MAAM,KAAK,CAAC;wBACpB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;wBACd,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,EAC3C,SAAS,CACV;iBACF;gBACH,CAAC,CAAC,SAAS,CAAC;YACd,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;SACtE,CAAC;IACJ,CAAC,CAAC;AACN,CAAC,EApQgB,qBAAqB,qCAArB,qBAAqB,QAoQrC;AAED,MAAM,WAAW,GACf,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,CAAqC,EAAE,EAAE,CACxC,CAAC,CAAC,QAAQ;IACR,CAAC,CAAC,qCAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvD,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StringUtil = void 0;
|
|
4
|
+
var StringUtil;
|
|
5
|
+
(function (StringUtil) {
|
|
6
|
+
StringUtil.escapeDuplicate = (keep) => (change) => keep.includes(change) ? StringUtil.escapeDuplicate(keep)(`_${change}`) : change;
|
|
7
|
+
})(StringUtil || (exports.StringUtil = StringUtil = {}));
|
|
8
|
+
//# sourceMappingURL=StringUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../src/utils/StringUtil.ts"],"names":[],"mappings":";;;AAAA,IAAiB,UAAU,CAK1B;AALD,WAAiB,UAAU;IACZ,0BAAe,GAC1B,CAAC,IAAc,EAAE,EAAE,CACnB,CAAC,MAAc,EAAU,EAAE,CACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAA,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC3E,CAAC,EALgB,UAAU,0BAAV,UAAU,QAK1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/sdk",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.1-dev.20240201-2",
|
|
4
4
|
"description": "Nestia SDK and Swagger generator",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -11,8 +11,6 @@
|
|
|
11
11
|
"build": "rimraf lib && tsc",
|
|
12
12
|
"dev": "rimraf lib && tsc --watch",
|
|
13
13
|
"eslint": "eslint ./**/*.ts",
|
|
14
|
-
"package:latest": "npm run build && npm publish --access public",
|
|
15
|
-
"package:next": "npm run package:latest -- --tag next",
|
|
16
14
|
"prepare": "ts-patch install && typia patch"
|
|
17
15
|
},
|
|
18
16
|
"repository": {
|
|
@@ -34,7 +32,7 @@
|
|
|
34
32
|
},
|
|
35
33
|
"homepage": "https://nestia.io",
|
|
36
34
|
"dependencies": {
|
|
37
|
-
"@nestia/fetcher": "^2.5.
|
|
35
|
+
"@nestia/fetcher": "^2.5.1-dev.20240201-2",
|
|
38
36
|
"cli": "^1.0.1",
|
|
39
37
|
"get-function-location": "^2.0.0",
|
|
40
38
|
"glob": "^7.2.0",
|
|
@@ -46,7 +44,7 @@
|
|
|
46
44
|
"typia": "^5.4.1"
|
|
47
45
|
},
|
|
48
46
|
"peerDependencies": {
|
|
49
|
-
"@nestia/fetcher": ">=2.5.
|
|
47
|
+
"@nestia/fetcher": ">=2.5.1-dev.20240201-2",
|
|
50
48
|
"@nestjs/common": ">=7.0.1",
|
|
51
49
|
"@nestjs/core": ">=7.0.1",
|
|
52
50
|
"prettier": ">=2.0.0",
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import typia from "typia";
|
|
3
3
|
import { IdentifierFactory } from "typia/lib/factories/IdentifierFactory";
|
|
4
|
+
import { StatementFactory } from "typia/lib/factories/StatementFactory";
|
|
5
|
+
import { Escaper } from "typia/lib/utils/Escaper";
|
|
4
6
|
|
|
5
7
|
import { INestiaConfig } from "../../INestiaConfig";
|
|
6
8
|
import { IController } from "../../structures/IController";
|
|
7
9
|
import { IRoute } from "../../structures/IRoute";
|
|
10
|
+
import { StringUtil } from "../../utils/StringUtil";
|
|
8
11
|
import { ImportDictionary } from "./ImportDictionary";
|
|
9
12
|
import { SdkImportWizard } from "./SdkImportWizard";
|
|
10
13
|
import { SdkTypeProgrammer } from "./SdkTypeProgrammer";
|
|
@@ -164,6 +167,27 @@ export namespace SdkFunctionProgrammer {
|
|
|
164
167
|
: []),
|
|
165
168
|
],
|
|
166
169
|
);
|
|
170
|
+
const output = (awaiter: boolean) =>
|
|
171
|
+
config.simulate
|
|
172
|
+
? ts.factory.createConditionalExpression(
|
|
173
|
+
ts.factory.createIdentifier("!!connection.simulate"),
|
|
174
|
+
undefined,
|
|
175
|
+
ts.factory.createCallExpression(
|
|
176
|
+
ts.factory.createIdentifier(`${route.name}.simulate`),
|
|
177
|
+
[],
|
|
178
|
+
[
|
|
179
|
+
ts.factory.createIdentifier("connection"),
|
|
180
|
+
...route.parameters
|
|
181
|
+
.filter((p) => p.category !== "headers")
|
|
182
|
+
.map((p) => ts.factory.createIdentifier(p.name)),
|
|
183
|
+
],
|
|
184
|
+
),
|
|
185
|
+
undefined,
|
|
186
|
+
awaiter ? ts.factory.createAwaitExpression(caller()) : caller(),
|
|
187
|
+
)
|
|
188
|
+
: awaiter
|
|
189
|
+
? ts.factory.createAwaitExpression(caller())
|
|
190
|
+
: caller();
|
|
167
191
|
return [
|
|
168
192
|
...(config.assert
|
|
169
193
|
? route.parameters
|
|
@@ -186,26 +210,66 @@ export namespace SdkFunctionProgrammer {
|
|
|
186
210
|
),
|
|
187
211
|
)
|
|
188
212
|
: []),
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
213
|
+
...(route.setHeaders.length === 0
|
|
214
|
+
? [ts.factory.createReturnStatement(output(false))]
|
|
215
|
+
: write_set_headers(config)(route)(output(true))),
|
|
216
|
+
];
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
const write_set_headers =
|
|
220
|
+
(config: INestiaConfig) =>
|
|
221
|
+
(route: IRoute) =>
|
|
222
|
+
(condition: ts.Expression): ts.Statement[] => {
|
|
223
|
+
const access = (x: string) => (y: string) =>
|
|
224
|
+
x[0] === "["
|
|
225
|
+
? `${x}${y}`
|
|
226
|
+
: false === Escaper.variable(y)
|
|
227
|
+
? `${x}[${JSON.stringify(y)}]`
|
|
228
|
+
: `${x}.${y}`;
|
|
229
|
+
const output: string = StringUtil.escapeDuplicate([
|
|
230
|
+
"connection",
|
|
231
|
+
...route.parameters.map((p) => p.name),
|
|
232
|
+
])("output");
|
|
233
|
+
const headers: string = access("connection")("headers");
|
|
234
|
+
const data: string = access(output)("data");
|
|
235
|
+
|
|
236
|
+
const assigners: ts.ExpressionStatement[] = [
|
|
237
|
+
ts.factory.createBinaryExpression(
|
|
238
|
+
ts.factory.createIdentifier(headers),
|
|
239
|
+
ts.factory.createToken(ts.SyntaxKind.QuestionQuestionEqualsToken),
|
|
240
|
+
ts.factory.createObjectLiteralExpression([]),
|
|
241
|
+
),
|
|
242
|
+
...route.setHeaders.map((tuple) =>
|
|
243
|
+
tuple.type === "assigner"
|
|
244
|
+
? ts.factory.createCallExpression(
|
|
245
|
+
ts.factory.createIdentifier("Object.assign"),
|
|
246
|
+
[],
|
|
247
|
+
[
|
|
248
|
+
ts.factory.createIdentifier(headers),
|
|
249
|
+
ts.factory.createIdentifier(access(data)(tuple.source)),
|
|
250
|
+
],
|
|
206
251
|
)
|
|
207
|
-
:
|
|
252
|
+
: ts.factory.createBinaryExpression(
|
|
253
|
+
ts.factory.createIdentifier(headers),
|
|
254
|
+
ts.factory.createToken(ts.SyntaxKind.EqualsToken),
|
|
255
|
+
ts.factory.createIdentifier(access(data)(tuple.source)),
|
|
256
|
+
),
|
|
208
257
|
),
|
|
258
|
+
].map(ts.factory.createExpressionStatement);
|
|
259
|
+
return [
|
|
260
|
+
StatementFactory.constant(output, condition),
|
|
261
|
+
...(config.propagate
|
|
262
|
+
? [
|
|
263
|
+
ts.factory.createIfStatement(
|
|
264
|
+
ts.factory.createIdentifier(access(output)("success")),
|
|
265
|
+
assigners.length === 1
|
|
266
|
+
? assigners[0]
|
|
267
|
+
: ts.factory.createBlock(assigners, true),
|
|
268
|
+
undefined,
|
|
269
|
+
),
|
|
270
|
+
]
|
|
271
|
+
: assigners),
|
|
272
|
+
ts.factory.createReturnStatement(ts.factory.createIdentifier(output)),
|
|
209
273
|
];
|
|
210
274
|
};
|
|
211
275
|
}
|