@nestia/sdk 3.17.0 → 4.0.0-dev.20241010-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/README.md +0 -1
- package/lib/analyses/ExceptionAnalyzer.js +0 -142
- package/lib/analyses/ExceptionAnalyzer.js.map +1 -1
- package/lib/analyses/TypedHttpRouteAnalyzer.js +10 -6
- package/lib/analyses/TypedHttpRouteAnalyzer.js.map +1 -1
- package/lib/executable/internal/NestiaConfigLoader.js +247 -127
- package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
- package/lib/generates/SwaggerGenerator.js +46 -11
- package/lib/generates/SwaggerGenerator.js.map +1 -1
- package/lib/generates/internal/E2eFileProgrammer.js +4 -4
- package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkDistributionComposer.js +34 -5
- package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js +6 -6
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +7 -7
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js +22 -19
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +4 -4
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
- package/lib/transformers/ISdkOperationTransformerContext.d.ts +1 -1
- package/lib/transformers/SdkOperationProgrammer.js +12 -6
- package/lib/transformers/SdkOperationProgrammer.js.map +1 -1
- package/lib/transformers/SdkOperationTransformer.js +3 -3
- package/lib/transformers/SdkOperationTransformer.js.map +1 -1
- package/package.json +7 -7
- package/src/analyses/TypedHttpRouteAnalyzer.ts +10 -6
- package/src/generates/internal/E2eFileProgrammer.ts +8 -4
- package/src/generates/internal/SdkHttpFunctionProgrammer.ts +14 -7
- package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +14 -8
- package/src/generates/internal/SdkHttpSimulationProgrammer.ts +15 -10
- package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +8 -4
- package/src/transformers/ISdkOperationTransformerContext.ts +1 -1
- package/src/transformers/SdkOperationProgrammer.ts +12 -9
- package/src/transformers/SdkOperationTransformer.ts +3 -3
|
@@ -48,7 +48,8 @@ export namespace SdkHttpSimulationProgrammer {
|
|
|
48
48
|
ts.factory.createCallExpression(
|
|
49
49
|
IdentifierFactory.access(
|
|
50
50
|
ts.factory.createIdentifier(SdkImportWizard.typia(importer)),
|
|
51
|
-
|
|
51
|
+
"random",
|
|
52
|
+
),
|
|
52
53
|
[output],
|
|
53
54
|
[ts.factory.createIdentifier("g")],
|
|
54
55
|
),
|
|
@@ -160,7 +161,7 @@ export namespace SdkHttpSimulationProgrammer {
|
|
|
160
161
|
),
|
|
161
162
|
ts.factory.createPropertyAssignment(
|
|
162
163
|
"headers",
|
|
163
|
-
LiteralFactory.
|
|
164
|
+
LiteralFactory.write({
|
|
164
165
|
"Content-Type": route.success.contentType,
|
|
165
166
|
}),
|
|
166
167
|
),
|
|
@@ -189,9 +190,9 @@ export namespace SdkHttpSimulationProgrammer {
|
|
|
189
190
|
if (parameters.length === 0) return [];
|
|
190
191
|
|
|
191
192
|
const typia = SdkImportWizard.typia(importer);
|
|
192
|
-
const validator = StatementFactory.constant(
|
|
193
|
-
"assert",
|
|
194
|
-
ts.factory.createCallExpression(
|
|
193
|
+
const validator = StatementFactory.constant({
|
|
194
|
+
name: "assert",
|
|
195
|
+
value: ts.factory.createCallExpression(
|
|
195
196
|
IdentifierFactory.access(
|
|
196
197
|
ts.factory.createIdentifier(
|
|
197
198
|
importer.external({
|
|
@@ -200,7 +201,8 @@ export namespace SdkHttpSimulationProgrammer {
|
|
|
200
201
|
instance: "NestiaSimulator",
|
|
201
202
|
}),
|
|
202
203
|
),
|
|
203
|
-
|
|
204
|
+
"assert",
|
|
205
|
+
),
|
|
204
206
|
undefined,
|
|
205
207
|
[
|
|
206
208
|
ts.factory.createObjectLiteralExpression(
|
|
@@ -236,14 +238,15 @@ export namespace SdkHttpSimulationProgrammer {
|
|
|
236
238
|
),
|
|
237
239
|
],
|
|
238
240
|
),
|
|
239
|
-
);
|
|
241
|
+
});
|
|
240
242
|
const individual = parameters
|
|
241
243
|
.map((p) =>
|
|
242
244
|
ts.factory.createCallExpression(
|
|
243
245
|
(() => {
|
|
244
246
|
const base = IdentifierFactory.access(
|
|
245
247
|
ts.factory.createIdentifier("assert"),
|
|
246
|
-
|
|
248
|
+
p.category,
|
|
249
|
+
);
|
|
247
250
|
if (p.category !== "param") return base;
|
|
248
251
|
return ts.factory.createCallExpression(base, undefined, [
|
|
249
252
|
ts.factory.createStringLiteral(p.name),
|
|
@@ -258,7 +261,8 @@ export namespace SdkHttpSimulationProgrammer {
|
|
|
258
261
|
undefined,
|
|
259
262
|
undefined,
|
|
260
263
|
ts.factory.createCallExpression(
|
|
261
|
-
IdentifierFactory.access(
|
|
264
|
+
IdentifierFactory.access(
|
|
265
|
+
ts.factory.createIdentifier(typia),
|
|
262
266
|
"assert",
|
|
263
267
|
),
|
|
264
268
|
undefined,
|
|
@@ -293,7 +297,8 @@ export namespace SdkHttpSimulationProgrammer {
|
|
|
293
297
|
ts.factory.createIdentifier(
|
|
294
298
|
SdkImportWizard.typia(importer),
|
|
295
299
|
),
|
|
296
|
-
|
|
300
|
+
"is",
|
|
301
|
+
),
|
|
297
302
|
[
|
|
298
303
|
ts.factory.createTypeReferenceNode(
|
|
299
304
|
SdkImportWizard.HttpError(importer),
|
|
@@ -252,7 +252,8 @@ export namespace SdkWebSocketNamespaceProgrammer {
|
|
|
252
252
|
ts.factory.createCallExpression(
|
|
253
253
|
IdentifierFactory.access(
|
|
254
254
|
ts.factory.createIdentifier(variables),
|
|
255
|
-
|
|
255
|
+
"append",
|
|
256
|
+
),
|
|
256
257
|
undefined,
|
|
257
258
|
[
|
|
258
259
|
ts.factory.createIdentifier("key"),
|
|
@@ -271,7 +272,8 @@ export namespace SdkWebSocketNamespaceProgrammer {
|
|
|
271
272
|
ts.factory.createCallExpression(
|
|
272
273
|
IdentifierFactory.access(
|
|
273
274
|
ts.factory.createIdentifier(variables),
|
|
274
|
-
|
|
275
|
+
"set",
|
|
276
|
+
),
|
|
275
277
|
undefined,
|
|
276
278
|
[
|
|
277
279
|
ts.factory.createIdentifier("key"),
|
|
@@ -293,7 +295,8 @@ export namespace SdkWebSocketNamespaceProgrammer {
|
|
|
293
295
|
ExpressionFactory.number(0),
|
|
294
296
|
IdentifierFactory.access(
|
|
295
297
|
ts.factory.createIdentifier(variables),
|
|
296
|
-
|
|
298
|
+
"size",
|
|
299
|
+
),
|
|
297
300
|
),
|
|
298
301
|
undefined,
|
|
299
302
|
ts.factory.createIdentifier("location"),
|
|
@@ -309,7 +312,8 @@ export namespace SdkWebSocketNamespaceProgrammer {
|
|
|
309
312
|
ts.factory.createCallExpression(
|
|
310
313
|
IdentifierFactory.access(
|
|
311
314
|
ts.factory.createIdentifier(variables),
|
|
312
|
-
|
|
315
|
+
"toString",
|
|
316
|
+
),
|
|
313
317
|
undefined,
|
|
314
318
|
undefined,
|
|
315
319
|
),
|
|
@@ -3,6 +3,6 @@ import { MetadataCollection } from "typia/lib/factories/MetadataCollection";
|
|
|
3
3
|
|
|
4
4
|
export interface ISdkOperationTransformerContext {
|
|
5
5
|
checker: ts.TypeChecker;
|
|
6
|
-
|
|
6
|
+
transformer: ts.TransformationContext;
|
|
7
7
|
collection: MetadataCollection;
|
|
8
8
|
}
|
|
@@ -48,7 +48,7 @@ export namespace SdkOperationProgrammer {
|
|
|
48
48
|
),
|
|
49
49
|
jsDocTags: p.symbol?.getJsDocTags() ?? [],
|
|
50
50
|
description: p.symbol
|
|
51
|
-
? CommentFactory.description(p.symbol) ?? null
|
|
51
|
+
? (CommentFactory.description(p.symbol) ?? null)
|
|
52
52
|
: null,
|
|
53
53
|
};
|
|
54
54
|
};
|
|
@@ -102,14 +102,17 @@ export namespace SdkOperationProgrammer {
|
|
|
102
102
|
imports: [],
|
|
103
103
|
};
|
|
104
104
|
const [primitive, resolved] = [true, false].map((escape) =>
|
|
105
|
-
MetadataFactory.analyze(
|
|
106
|
-
p.context.checker,
|
|
107
|
-
p.context.
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
105
|
+
MetadataFactory.analyze({
|
|
106
|
+
checker: p.context.checker,
|
|
107
|
+
transformer: p.context.transformer,
|
|
108
|
+
options: {
|
|
109
|
+
escape,
|
|
110
|
+
constant: true,
|
|
111
|
+
absorb: true,
|
|
112
|
+
},
|
|
113
|
+
collection: p.context.collection,
|
|
114
|
+
type: p.type,
|
|
115
|
+
}),
|
|
113
116
|
);
|
|
114
117
|
return {
|
|
115
118
|
...analyzed,
|
|
@@ -15,7 +15,7 @@ export namespace SdkOperationTransformer {
|
|
|
15
15
|
(checker: ts.TypeChecker) => (api: ts.TransformationContext) => {
|
|
16
16
|
const context: ISdkOperationTransformerContext = {
|
|
17
17
|
checker,
|
|
18
|
-
api,
|
|
18
|
+
transformer: api,
|
|
19
19
|
collection: collection.get(),
|
|
20
20
|
};
|
|
21
21
|
return (file: ts.SourceFile): ts.SourceFile => {
|
|
@@ -72,7 +72,7 @@ export namespace SdkOperationTransformer {
|
|
|
72
72
|
...props,
|
|
73
73
|
node: child,
|
|
74
74
|
}),
|
|
75
|
-
props.context.
|
|
75
|
+
props.context.transformer,
|
|
76
76
|
);
|
|
77
77
|
|
|
78
78
|
const transformNode = (props: {
|
|
@@ -171,7 +171,7 @@ export namespace SdkOperationTransformer {
|
|
|
171
171
|
undefined,
|
|
172
172
|
[
|
|
173
173
|
ts.factory.createAsExpression(
|
|
174
|
-
LiteralFactory.
|
|
174
|
+
LiteralFactory.write(metadata),
|
|
175
175
|
TypeFactory.keyword("any"),
|
|
176
176
|
),
|
|
177
177
|
],
|