@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.
Files changed (36) hide show
  1. package/README.md +0 -1
  2. package/lib/analyses/ExceptionAnalyzer.js +0 -142
  3. package/lib/analyses/ExceptionAnalyzer.js.map +1 -1
  4. package/lib/analyses/TypedHttpRouteAnalyzer.js +10 -6
  5. package/lib/analyses/TypedHttpRouteAnalyzer.js.map +1 -1
  6. package/lib/executable/internal/NestiaConfigLoader.js +247 -127
  7. package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
  8. package/lib/generates/SwaggerGenerator.js +46 -11
  9. package/lib/generates/SwaggerGenerator.js.map +1 -1
  10. package/lib/generates/internal/E2eFileProgrammer.js +4 -4
  11. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  12. package/lib/generates/internal/SdkDistributionComposer.js +34 -5
  13. package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
  14. package/lib/generates/internal/SdkHttpFunctionProgrammer.js +6 -6
  15. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
  16. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +7 -7
  17. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
  18. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +22 -19
  19. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  20. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +4 -4
  21. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  22. package/lib/transformers/ISdkOperationTransformerContext.d.ts +1 -1
  23. package/lib/transformers/SdkOperationProgrammer.js +12 -6
  24. package/lib/transformers/SdkOperationProgrammer.js.map +1 -1
  25. package/lib/transformers/SdkOperationTransformer.js +3 -3
  26. package/lib/transformers/SdkOperationTransformer.js.map +1 -1
  27. package/package.json +7 -7
  28. package/src/analyses/TypedHttpRouteAnalyzer.ts +10 -6
  29. package/src/generates/internal/E2eFileProgrammer.ts +8 -4
  30. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +14 -7
  31. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +14 -8
  32. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +15 -10
  33. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +8 -4
  34. package/src/transformers/ISdkOperationTransformerContext.ts +1 -1
  35. package/src/transformers/SdkOperationProgrammer.ts +12 -9
  36. 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
- )("random"),
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.generate({
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
- )("assert"),
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
- )(p.category);
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(ts.factory.createIdentifier(typia))(
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
- )("is"),
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
- )("append"),
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
- )("set"),
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
- )("size"),
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
- )("toString"),
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
- api: ts.TransformationContext;
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.api,
108
- )({
109
- escape,
110
- constant: true,
111
- absorb: true,
112
- })(p.context.collection)(p.type),
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.api,
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.generate(metadata),
174
+ LiteralFactory.write(metadata),
175
175
  TypeFactory.keyword("any"),
176
176
  ),
177
177
  ],