@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.
@@ -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
- typescript_1.default.factory.createReturnStatement(config.simulate
84
- ? 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`), [], [
85
- typescript_1.default.factory.createIdentifier("connection"),
86
- ...route.parameters
87
- .filter((p) => p.category !== "headers")
88
- .map((p) => typescript_1.default.factory.createIdentifier(p.name)),
89
- ]), undefined, caller())
90
- : caller()),
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":"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"}
1
+ {"version":3,"file":"SdkFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFunctionProgrammer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare namespace StringUtil {
2
+ const escapeDuplicate: (keep: string[]) => (change: string) => string;
3
+ }
@@ -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.0",
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.0",
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.0",
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
- ts.factory.createReturnStatement(
190
- config.simulate
191
- ? ts.factory.createConditionalExpression(
192
- ts.factory.createIdentifier("!!connection.simulate"),
193
- undefined,
194
- ts.factory.createCallExpression(
195
- ts.factory.createIdentifier(`${route.name}.simulate`),
196
- [],
197
- [
198
- ts.factory.createIdentifier("connection"),
199
- ...route.parameters
200
- .filter((p) => p.category !== "headers")
201
- .map((p) => ts.factory.createIdentifier(p.name)),
202
- ],
203
- ),
204
- undefined,
205
- caller(),
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
- : caller(),
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
  }
@@ -0,0 +1,6 @@
1
+ export namespace StringUtil {
2
+ export const escapeDuplicate =
3
+ (keep: string[]) =>
4
+ (change: string): string =>
5
+ keep.includes(change) ? escapeDuplicate(keep)(`_${change}`) : change;
6
+ }