@kubb/swagger-ts 1.1.1 → 1.1.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/dist/index.cjs CHANGED
@@ -49,7 +49,7 @@ var _TypeGenerator = class extends core.SchemaGenerator {
49
49
  aliases = [];
50
50
  // Keep track of already used type aliases
51
51
  usedAliasNames = {};
52
- build(schema, baseName, description) {
52
+ build({ schema, baseName, description }) {
53
53
  const nodes = [];
54
54
  const type = this.getTypeFromSchema(schema, baseName);
55
55
  if (!type) {
@@ -121,6 +121,7 @@ var _TypeGenerator = class extends core.SchemaGenerator {
121
121
  schema.description && `@description ${schema.description}`,
122
122
  schema.type && `@type ${schema.type}${isRequired ? "" : " | undefined"} ${schema.format || ""}`,
123
123
  schema.example && `@example ${schema.example}`,
124
+ schema.deprecated && `@deprecated`,
124
125
  schema.default !== void 0 && typeof schema.default === "string" && `@default '${schema.default}'`,
125
126
  schema.default !== void 0 && typeof schema.default !== "string" && `@default ${schema.default}`
126
127
  ]
@@ -301,19 +302,19 @@ var TypeBuilder = class extends swagger.OasBuilder {
301
302
  }
302
303
  async print(name) {
303
304
  const codes = [];
304
- const generated = this.items.filter((gen) => name ? gen.name === name : true).sort(core.nameSorter).map((gen) => {
305
+ const generated = this.items.filter((operationSchema) => name ? operationSchema.name === name : true).sort(core.nameSorter).map((operationSchema) => {
305
306
  const generator = new TypeGenerator(this.oas, {
306
307
  withJSDocs: this.config.withJSDocs,
307
308
  resolveName: this.config.resolveName,
308
309
  enumType: this.config.enumType
309
310
  });
310
- const nodes = generator.build(gen.schema, gen.name, gen.description);
311
+ const sources = generator.build({ schema: operationSchema.schema, baseName: operationSchema.name, description: operationSchema.description });
311
312
  return {
312
313
  import: {
313
314
  refs: generator.refs,
314
- name: gen.name
315
+ name: operationSchema.name
315
316
  },
316
- sources: nodes
317
+ sources
317
318
  };
318
319
  }).sort(refsSorter);
319
320
  generated.forEach((item) => {
@@ -358,12 +359,12 @@ var OperationGenerator = class extends swagger.OperationGenerator {
358
359
  const { resolvePath, mode, resolveName, oas, enumType } = this.options;
359
360
  const type = this.resolve(operation);
360
361
  const fileResolver = (name) => {
361
- const filePath = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
362
+ const root = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
362
363
  const resolvedTypeId = resolvePath({
363
364
  fileName: `${name}.ts`,
364
365
  pluginName
365
366
  });
366
- return core.getRelativePath(filePath, resolvedTypeId);
367
+ return core.getRelativePath(root, resolvedTypeId);
367
368
  };
368
369
  const source = await new TypeBuilder(oas).add(schemas.pathParams).add(schemas.queryParams).add(schemas.response).add(schemas.errors).configure({ fileResolver: mode === "file" ? void 0 : fileResolver, withJSDocs: true, resolveName, enumType }).print();
369
370
  return {
@@ -376,12 +377,12 @@ var OperationGenerator = class extends swagger.OperationGenerator {
376
377
  const { resolvePath, mode, resolveName, oas, enumType } = this.options;
377
378
  const type = this.resolve(operation);
378
379
  const fileResolver = (name) => {
379
- const filePath = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
380
+ const root = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
380
381
  const resolvedTypeId = resolvePath({
381
382
  fileName: `${name}.ts`,
382
383
  pluginName
383
384
  });
384
- return core.getRelativePath(filePath, resolvedTypeId);
385
+ return core.getRelativePath(root, resolvedTypeId);
385
386
  };
386
387
  const source = await new TypeBuilder(oas).add(schemas.pathParams).add(schemas.queryParams).add(schemas.request).add(schemas.response).add(schemas.errors).configure({ fileResolver: mode === "file" ? void 0 : fileResolver, withJSDocs: true, resolveName, enumType }).print();
387
388
  return {
@@ -394,12 +395,12 @@ var OperationGenerator = class extends swagger.OperationGenerator {
394
395
  const { resolvePath, mode, resolveName, oas, enumType } = this.options;
395
396
  const type = this.resolve(operation);
396
397
  const fileResolver = (name) => {
397
- const filePath = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
398
+ const root = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
398
399
  const resolvedTypeId = resolvePath({
399
400
  fileName: `${name}.ts`,
400
401
  pluginName
401
402
  });
402
- return core.getRelativePath(filePath, resolvedTypeId);
403
+ return core.getRelativePath(root, resolvedTypeId);
403
404
  };
404
405
  const source = await new TypeBuilder(oas).add(schemas.pathParams).add(schemas.queryParams).add(schemas.request).add(schemas.response).add(schemas.errors).configure({ fileResolver: mode === "file" ? void 0 : fileResolver, withJSDocs: true, resolveName, enumType }).print();
405
406
  return {
@@ -412,12 +413,12 @@ var OperationGenerator = class extends swagger.OperationGenerator {
412
413
  const { resolvePath, mode, resolveName, oas, enumType } = this.options;
413
414
  const type = this.resolve(operation);
414
415
  const fileResolver = (name) => {
415
- const filePath = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
416
+ const root = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
416
417
  const resolvedTypeId = resolvePath({
417
418
  fileName: `${name}.ts`,
418
419
  pluginName
419
420
  });
420
- return core.getRelativePath(filePath, resolvedTypeId);
421
+ return core.getRelativePath(root, resolvedTypeId);
421
422
  };
422
423
  const source = await new TypeBuilder(oas).add(schemas.pathParams).add(schemas.request).add(schemas.queryParams).add(schemas.response).add(schemas.errors).configure({ fileResolver: mode === "file" ? void 0 : fileResolver, withJSDocs: true, resolveName, enumType }).print();
423
424
  return {
package/dist/index.d.ts CHANGED
@@ -59,7 +59,11 @@ declare class TypeGenerator extends SchemaGenerator<Options$1, OpenAPIV3.SchemaO
59
59
  aliases: ts.TypeAliasDeclaration[];
60
60
  usedAliasNames: Record<string, number>;
61
61
  constructor(oas: Oas, options?: Options$1);
62
- build(schema: OpenAPIV3.SchemaObject, baseName: string, description?: string): ts.Node[];
62
+ build({ schema, baseName, description }: {
63
+ schema: OpenAPIV3.SchemaObject;
64
+ baseName: string;
65
+ description?: string;
66
+ }): ts.Node[];
63
67
  /**
64
68
  * Creates a type node from a given schema.
65
69
  * Delegates to getBaseTypeFromSchema internally and
package/dist/index.js CHANGED
@@ -39,7 +39,7 @@ var _TypeGenerator = class extends SchemaGenerator {
39
39
  aliases = [];
40
40
  // Keep track of already used type aliases
41
41
  usedAliasNames = {};
42
- build(schema, baseName, description) {
42
+ build({ schema, baseName, description }) {
43
43
  const nodes = [];
44
44
  const type = this.getTypeFromSchema(schema, baseName);
45
45
  if (!type) {
@@ -111,6 +111,7 @@ var _TypeGenerator = class extends SchemaGenerator {
111
111
  schema.description && `@description ${schema.description}`,
112
112
  schema.type && `@type ${schema.type}${isRequired ? "" : " | undefined"} ${schema.format || ""}`,
113
113
  schema.example && `@example ${schema.example}`,
114
+ schema.deprecated && `@deprecated`,
114
115
  schema.default !== void 0 && typeof schema.default === "string" && `@default '${schema.default}'`,
115
116
  schema.default !== void 0 && typeof schema.default !== "string" && `@default ${schema.default}`
116
117
  ]
@@ -291,19 +292,19 @@ var TypeBuilder = class extends OasBuilder {
291
292
  }
292
293
  async print(name) {
293
294
  const codes = [];
294
- const generated = this.items.filter((gen) => name ? gen.name === name : true).sort(nameSorter).map((gen) => {
295
+ const generated = this.items.filter((operationSchema) => name ? operationSchema.name === name : true).sort(nameSorter).map((operationSchema) => {
295
296
  const generator = new TypeGenerator(this.oas, {
296
297
  withJSDocs: this.config.withJSDocs,
297
298
  resolveName: this.config.resolveName,
298
299
  enumType: this.config.enumType
299
300
  });
300
- const nodes = generator.build(gen.schema, gen.name, gen.description);
301
+ const sources = generator.build({ schema: operationSchema.schema, baseName: operationSchema.name, description: operationSchema.description });
301
302
  return {
302
303
  import: {
303
304
  refs: generator.refs,
304
- name: gen.name
305
+ name: operationSchema.name
305
306
  },
306
- sources: nodes
307
+ sources
307
308
  };
308
309
  }).sort(refsSorter);
309
310
  generated.forEach((item) => {
@@ -348,12 +349,12 @@ var OperationGenerator = class extends OperationGenerator$1 {
348
349
  const { resolvePath, mode, resolveName, oas, enumType } = this.options;
349
350
  const type = this.resolve(operation);
350
351
  const fileResolver = (name) => {
351
- const filePath = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
352
+ const root = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
352
353
  const resolvedTypeId = resolvePath({
353
354
  fileName: `${name}.ts`,
354
355
  pluginName
355
356
  });
356
- return getRelativePath(filePath, resolvedTypeId);
357
+ return getRelativePath(root, resolvedTypeId);
357
358
  };
358
359
  const source = await new TypeBuilder(oas).add(schemas.pathParams).add(schemas.queryParams).add(schemas.response).add(schemas.errors).configure({ fileResolver: mode === "file" ? void 0 : fileResolver, withJSDocs: true, resolveName, enumType }).print();
359
360
  return {
@@ -366,12 +367,12 @@ var OperationGenerator = class extends OperationGenerator$1 {
366
367
  const { resolvePath, mode, resolveName, oas, enumType } = this.options;
367
368
  const type = this.resolve(operation);
368
369
  const fileResolver = (name) => {
369
- const filePath = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
370
+ const root = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
370
371
  const resolvedTypeId = resolvePath({
371
372
  fileName: `${name}.ts`,
372
373
  pluginName
373
374
  });
374
- return getRelativePath(filePath, resolvedTypeId);
375
+ return getRelativePath(root, resolvedTypeId);
375
376
  };
376
377
  const source = await new TypeBuilder(oas).add(schemas.pathParams).add(schemas.queryParams).add(schemas.request).add(schemas.response).add(schemas.errors).configure({ fileResolver: mode === "file" ? void 0 : fileResolver, withJSDocs: true, resolveName, enumType }).print();
377
378
  return {
@@ -384,12 +385,12 @@ var OperationGenerator = class extends OperationGenerator$1 {
384
385
  const { resolvePath, mode, resolveName, oas, enumType } = this.options;
385
386
  const type = this.resolve(operation);
386
387
  const fileResolver = (name) => {
387
- const filePath = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
388
+ const root = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
388
389
  const resolvedTypeId = resolvePath({
389
390
  fileName: `${name}.ts`,
390
391
  pluginName
391
392
  });
392
- return getRelativePath(filePath, resolvedTypeId);
393
+ return getRelativePath(root, resolvedTypeId);
393
394
  };
394
395
  const source = await new TypeBuilder(oas).add(schemas.pathParams).add(schemas.queryParams).add(schemas.request).add(schemas.response).add(schemas.errors).configure({ fileResolver: mode === "file" ? void 0 : fileResolver, withJSDocs: true, resolveName, enumType }).print();
395
396
  return {
@@ -402,12 +403,12 @@ var OperationGenerator = class extends OperationGenerator$1 {
402
403
  const { resolvePath, mode, resolveName, oas, enumType } = this.options;
403
404
  const type = this.resolve(operation);
404
405
  const fileResolver = (name) => {
405
- const filePath = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
406
+ const root = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } });
406
407
  const resolvedTypeId = resolvePath({
407
408
  fileName: `${name}.ts`,
408
409
  pluginName
409
410
  });
410
- return getRelativePath(filePath, resolvedTypeId);
411
+ return getRelativePath(root, resolvedTypeId);
411
412
  };
412
413
  const source = await new TypeBuilder(oas).add(schemas.pathParams).add(schemas.request).add(schemas.queryParams).add(schemas.response).add(schemas.errors).configure({ fileResolver: mode === "file" ? void 0 : fileResolver, withJSDocs: true, resolveName, enumType }).print();
413
414
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/swagger-ts",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Generator swagger-ts",
5
5
  "repository": {
6
6
  "type": "git",
@@ -41,9 +41,9 @@
41
41
  "change-case": "^4.1.2",
42
42
  "lodash.uniqueid": "^4.0.1",
43
43
  "typescript": "^5.1.3",
44
- "@kubb/core": "1.1.1",
45
- "@kubb/swagger": "1.1.1",
46
- "@kubb/ts-codegen": "1.1.1"
44
+ "@kubb/core": "1.1.2",
45
+ "@kubb/swagger": "1.1.2",
46
+ "@kubb/ts-codegen": "1.1.2"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@types/lodash.uniqueid": "^4.0.7",
@@ -43,22 +43,22 @@ export class TypeBuilder extends OasBuilder<Config> {
43
43
  const codes: string[] = []
44
44
 
45
45
  const generated = this.items
46
- .filter((gen) => (name ? gen.name === name : true))
46
+ .filter((operationSchema) => (name ? operationSchema.name === name : true))
47
47
  .sort(nameSorter)
48
- .map((gen) => {
48
+ .map((operationSchema) => {
49
49
  const generator = new TypeGenerator(this.oas, {
50
50
  withJSDocs: this.config.withJSDocs,
51
51
  resolveName: this.config.resolveName,
52
52
  enumType: this.config.enumType,
53
53
  })
54
- const nodes = generator.build(gen.schema, gen.name, gen.description)
54
+ const sources = generator.build({ schema: operationSchema.schema, baseName: operationSchema.name, description: operationSchema.description })
55
55
 
56
56
  return {
57
57
  import: {
58
58
  refs: generator.refs,
59
- name: gen.name,
59
+ name: operationSchema.name,
60
60
  },
61
- sources: nodes,
61
+ sources,
62
62
  }
63
63
  })
64
64
  .sort(refsSorter)
@@ -44,14 +44,14 @@ export class OperationGenerator extends Generator<Options> {
44
44
 
45
45
  const fileResolver: FileResolver = (name) => {
46
46
  // Used when a react-query type(request, response, params) has an import of a global type
47
- const filePath = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } })
47
+ const root = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } })
48
48
  // refs import, will always been created with the SwaggerTS plugin, our global type
49
49
  const resolvedTypeId = resolvePath({
50
50
  fileName: `${name}.ts`,
51
51
  pluginName,
52
52
  })
53
53
 
54
- return getRelativePath(filePath, resolvedTypeId)
54
+ return getRelativePath(root, resolvedTypeId)
55
55
  }
56
56
 
57
57
  const source = await new TypeBuilder(oas)
@@ -76,14 +76,14 @@ export class OperationGenerator extends Generator<Options> {
76
76
 
77
77
  const fileResolver: FileResolver = (name) => {
78
78
  // Used when a react-query type(request, response, params) has an import of a global type
79
- const filePath = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } })
79
+ const root = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } })
80
80
  // refs import, will always been created with the SwaggerTS plugin, our global type
81
81
  const resolvedTypeId = resolvePath({
82
82
  fileName: `${name}.ts`,
83
83
  pluginName,
84
84
  })
85
85
 
86
- return getRelativePath(filePath, resolvedTypeId)
86
+ return getRelativePath(root, resolvedTypeId)
87
87
  }
88
88
 
89
89
  const source = await new TypeBuilder(oas)
@@ -109,14 +109,14 @@ export class OperationGenerator extends Generator<Options> {
109
109
 
110
110
  const fileResolver: FileResolver = (name) => {
111
111
  // Used when a react-query type(request, response, params) has an import of a global type
112
- const filePath = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } })
112
+ const root = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } })
113
113
  // refs import, will always been created with the SwaggerTS plugin, our global type
114
114
  const resolvedTypeId = resolvePath({
115
115
  fileName: `${name}.ts`,
116
116
  pluginName,
117
117
  })
118
118
 
119
- return getRelativePath(filePath, resolvedTypeId)
119
+ return getRelativePath(root, resolvedTypeId)
120
120
  }
121
121
 
122
122
  const source = await new TypeBuilder(oas)
@@ -142,14 +142,14 @@ export class OperationGenerator extends Generator<Options> {
142
142
 
143
143
  const fileResolver: FileResolver = (name) => {
144
144
  // Used when a react-query type(request, response, params) has an import of a global type
145
- const filePath = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } })
145
+ const root = resolvePath({ fileName: type.fileName, pluginName, options: { tag: operation.getTags()[0]?.name } })
146
146
  // refs import, will always been created with the SwaggerTS plugin, our global type
147
147
  const resolvedTypeId = resolvePath({
148
148
  fileName: `${name}.ts`,
149
149
  pluginName,
150
150
  })
151
151
 
152
- return getRelativePath(filePath, resolvedTypeId)
152
+ return getRelativePath(root, resolvedTypeId)
153
153
  }
154
154
 
155
155
  const source = await new TypeBuilder(oas)
@@ -50,7 +50,7 @@ export class TypeGenerator extends SchemaGenerator<Options, OpenAPIV3.SchemaObje
50
50
  return this
51
51
  }
52
52
 
53
- build(schema: OpenAPIV3.SchemaObject, baseName: string, description?: string) {
53
+ build({ schema, baseName, description }: { schema: OpenAPIV3.SchemaObject; baseName: string; description?: string }) {
54
54
  const nodes: ts.Node[] = []
55
55
  const type = this.getTypeFromSchema(schema, baseName)
56
56
 
@@ -138,6 +138,7 @@ export class TypeGenerator extends SchemaGenerator<Options, OpenAPIV3.SchemaObje
138
138
  schema.description && `@description ${schema.description}`,
139
139
  schema.type && `@type ${schema.type}${isRequired ? '' : ' | undefined'} ${schema.format || ''}`,
140
140
  schema.example && `@example ${schema.example}`,
141
+ schema.deprecated && `@deprecated`,
141
142
  schema.default !== undefined && typeof schema.default === 'string' && `@default '${schema.default}'`,
142
143
  schema.default !== undefined && typeof schema.default !== 'string' && `@default ${schema.default}`,
143
144
  ],