@tsoa-next/runtime 7.1.0 → 7.2.1

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 (57) hide show
  1. package/README.MD +8 -2
  2. package/dist/config.d.ts +9 -2
  3. package/dist/decorators/example.d.ts +1 -1
  4. package/dist/decorators/example.js +1 -1
  5. package/dist/decorators/example.js.map +1 -1
  6. package/dist/decorators/methods.d.ts +7 -7
  7. package/dist/decorators/methods.js +7 -7
  8. package/dist/decorators/methods.js.map +1 -1
  9. package/dist/decorators/middlewares.d.ts +2 -1
  10. package/dist/decorators/middlewares.js +9 -6
  11. package/dist/decorators/middlewares.js.map +1 -1
  12. package/dist/decorators/operationid.d.ts +1 -1
  13. package/dist/decorators/operationid.js +1 -1
  14. package/dist/decorators/operationid.js.map +1 -1
  15. package/dist/decorators/parameter.d.ts +9 -9
  16. package/dist/decorators/parameter.js +9 -9
  17. package/dist/decorators/parameter.js.map +1 -1
  18. package/dist/decorators/response.d.ts +3 -3
  19. package/dist/decorators/response.js +3 -3
  20. package/dist/decorators/response.js.map +1 -1
  21. package/dist/decorators/route.d.ts +1 -1
  22. package/dist/decorators/route.js +1 -1
  23. package/dist/decorators/route.js.map +1 -1
  24. package/dist/decorators/security.d.ts +2 -2
  25. package/dist/decorators/security.js +1 -1
  26. package/dist/decorators/security.js.map +1 -1
  27. package/dist/decorators/tags.d.ts +1 -1
  28. package/dist/decorators/tags.js +1 -1
  29. package/dist/decorators/tags.js.map +1 -1
  30. package/dist/index.d.ts +11 -11
  31. package/dist/index.js +11 -11
  32. package/dist/index.js.map +1 -1
  33. package/dist/interfaces/iocModule.d.ts +4 -2
  34. package/dist/interfaces/response.d.ts +1 -1
  35. package/dist/metadataGeneration/tsoa.d.ts +13 -9
  36. package/dist/routeGeneration/templateHelpers.d.ts +37 -20
  37. package/dist/routeGeneration/templateHelpers.js +76 -22
  38. package/dist/routeGeneration/templateHelpers.js.map +1 -1
  39. package/dist/routeGeneration/templates/express/expressTemplateService.d.ts +6 -4
  40. package/dist/routeGeneration/templates/express/expressTemplateService.js +27 -8
  41. package/dist/routeGeneration/templates/express/expressTemplateService.js.map +1 -1
  42. package/dist/routeGeneration/templates/hapi/hapiTemplateService.d.ts +20 -8
  43. package/dist/routeGeneration/templates/hapi/hapiTemplateService.js +58 -11
  44. package/dist/routeGeneration/templates/hapi/hapiTemplateService.js.map +1 -1
  45. package/dist/routeGeneration/templates/index.d.ts +1 -1
  46. package/dist/routeGeneration/templates/index.js +1 -1
  47. package/dist/routeGeneration/templates/index.js.map +1 -1
  48. package/dist/routeGeneration/templates/koa/koaTemplateService.d.ts +13 -6
  49. package/dist/routeGeneration/templates/koa/koaTemplateService.js +55 -13
  50. package/dist/routeGeneration/templates/koa/koaTemplateService.js.map +1 -1
  51. package/dist/routeGeneration/templates/templateService.d.ts +9 -4
  52. package/dist/routeGeneration/templates/templateService.js +39 -1
  53. package/dist/routeGeneration/templates/templateService.js.map +1 -1
  54. package/dist/swagger/swagger.d.ts +42 -41
  55. package/dist/swagger/swagger.js +4 -0
  56. package/dist/swagger/swagger.js.map +1 -1
  57. package/package.json +3 -3
@@ -143,55 +143,49 @@ export declare namespace Swagger {
143
143
  summary?: string;
144
144
  description?: string;
145
145
  }
146
- export type BaseParameter = {
146
+ type ParameterCommonFields = {
147
147
  name: string;
148
- in: 'query' | 'header' | 'path' | 'formData' | 'body' | 'cookie';
149
148
  required?: boolean;
150
149
  description?: string;
151
- deprecated?: boolean;
152
150
  [ext: `x-${string}`]: unknown;
153
- } & Pick<BaseSchema, 'type' | 'items' | 'enum' | 'format' | 'minimum' | 'maximum' | 'minLength' | 'maxLength' | 'pattern'>;
154
- export type BodyParameter = BaseParameter & {
155
- in: 'body';
156
151
  };
157
- export type FormDataParameter = BaseParameter & {
158
- in: 'formData';
152
+ type Swagger2ParameterValue = Pick<BaseSchema, 'items' | 'enum' | 'minimum' | 'maximum' | 'minLength' | 'maxLength' | 'pattern'> & {
159
153
  type: DataType;
160
154
  format?: DataFormat;
161
- collectionFormat?: 'csv' | 'ssv' | 'tsv' | 'pipes' | 'multi';
162
155
  default?: unknown;
163
156
  };
164
- type QueryParameter = BaseParameter & {
157
+ export type BodyParameter = ParameterCommonFields & {
158
+ in: 'body';
159
+ schema: Schema2;
160
+ };
161
+ export type FormDataParameter = ParameterCommonFields & Swagger2ParameterValue & {
162
+ in: 'formData';
163
+ collectionFormat?: 'csv' | 'ssv' | 'tsv' | 'pipes' | 'multi';
164
+ };
165
+ type QueryParameter = ParameterCommonFields & Swagger2ParameterValue & {
165
166
  in: 'query';
166
- type: DataType;
167
- format?: DataFormat;
168
167
  collectionFormat?: 'csv' | 'ssv' | 'tsv' | 'pipes' | 'multi';
169
- default?: unknown;
170
168
  };
171
- type PathParameter = BaseParameter & {
169
+ type PathParameter = ParameterCommonFields & Swagger2ParameterValue & {
172
170
  in: 'path';
173
- type: DataType;
174
- format?: DataFormat;
175
- default?: unknown;
176
171
  };
177
- type HeaderParameter = BaseParameter & {
172
+ type HeaderParameter = ParameterCommonFields & Swagger2ParameterValue & {
178
173
  in: 'header';
179
- type: DataType;
180
- format?: DataFormat;
181
- default?: unknown;
182
174
  };
183
- type Swagger2BaseParameter = BaseParameter & {
184
- schema: Schema2;
175
+ type Swagger2NonBodyParameter = {
176
+ exclusiveMaximum?: boolean;
177
+ exclusiveMinimum?: boolean;
185
178
  };
186
- export type Swagger2BodyParameter = Swagger2BaseParameter & BodyParameter;
187
- export type Swagger2FormDataParameter = Swagger2BaseParameter & FormDataParameter;
188
- export type Swagger2QueryParameter = Swagger2BaseParameter & QueryParameter;
189
- export type Swagger2PathParameter = Swagger2BaseParameter & PathParameter;
190
- export type Swagger2HeaderParameter = Swagger2BaseParameter & HeaderParameter;
191
- export type Parameter2 = Swagger2BodyParameter | Swagger2FormDataParameter | Swagger2QueryParameter | Swagger2PathParameter | Swagger2HeaderParameter;
179
+ export type Swagger2FormDataParameter = FormDataParameter & Swagger2NonBodyParameter;
180
+ export type Swagger2QueryParameter = QueryParameter & Swagger2NonBodyParameter;
181
+ export type Swagger2PathParameter = PathParameter & Swagger2NonBodyParameter;
182
+ export type Swagger2HeaderParameter = HeaderParameter & Swagger2NonBodyParameter;
183
+ export type Parameter2 = BodyParameter | Swagger2FormDataParameter | Swagger2QueryParameter | Swagger2PathParameter | Swagger2HeaderParameter;
192
184
  export function isQueryParameter(parameter: unknown): parameter is Swagger2QueryParameter;
193
- export interface Parameter3 extends BaseParameter {
185
+ export function isBodyParameter(parameter: unknown): parameter is BodyParameter;
186
+ export interface Parameter3 extends ParameterCommonFields {
194
187
  in: 'query' | 'header' | 'path' | 'cookie';
188
+ deprecated?: boolean;
195
189
  schema: Schema3;
196
190
  style?: string;
197
191
  explode?: boolean;
@@ -204,6 +198,7 @@ export declare namespace Swagger {
204
198
  export interface Parameter31 extends Omit<Parameter3, 'schema'> {
205
199
  schema: Schema31;
206
200
  }
201
+ export type BaseParameter = Parameter2 | Parameter3 | Parameter31;
207
202
  export interface Path {
208
203
  $ref?: string;
209
204
  get?: Operation;
@@ -309,14 +304,12 @@ export declare namespace Swagger {
309
304
  }
310
305
  export interface Response {
311
306
  description: string;
312
- schema?: BaseSchema;
307
+ schema?: Schema2;
313
308
  headers?: {
314
309
  [name: string]: Header;
315
310
  };
316
311
  examples?: {
317
- [responseMediaType: string]: {
318
- [exampleName: string]: Example3 | string;
319
- };
312
+ [responseMediaType: string]: unknown;
320
313
  };
321
314
  }
322
315
  export interface Response3 {
@@ -363,9 +356,7 @@ export declare namespace Swagger {
363
356
  default?: string | boolean | number | unknown;
364
357
  multipleOf?: number;
365
358
  maximum?: number;
366
- exclusiveMaximum?: number;
367
359
  minimum?: number;
368
- exclusiveMinimum?: number;
369
360
  maxLength?: number;
370
361
  minLength?: number;
371
362
  pattern?: string;
@@ -389,8 +380,10 @@ export declare namespace Swagger {
389
380
  required?: string[];
390
381
  items?: BaseSchema;
391
382
  }
392
- export interface Schema31 extends Omit<Schema3, 'items' | 'properties' | 'additionalProperties' | 'discriminator' | 'anyOf' | 'allOf'> {
383
+ export interface Schema31 extends Omit<Schema3, 'items' | 'properties' | 'additionalProperties' | 'discriminator' | 'anyOf' | 'allOf' | 'exclusiveMaximum' | 'exclusiveMinimum'> {
393
384
  examples?: unknown[];
385
+ exclusiveMaximum?: number;
386
+ exclusiveMinimum?: number;
394
387
  properties?: {
395
388
  [key: string]: Schema31;
396
389
  };
@@ -408,18 +401,26 @@ export declare namespace Swagger {
408
401
  mapping?: Record<string, string>;
409
402
  };
410
403
  }
411
- export interface Schema3 extends Omit<BaseSchema, 'type'> {
404
+ export interface Schema3 extends Omit<BaseSchema, 'additionalProperties' | 'items' | 'properties' | 'type'> {
412
405
  type?: DataType;
413
406
  nullable?: boolean;
414
- anyOf?: BaseSchema[];
415
- allOf?: BaseSchema[];
407
+ additionalProperties?: boolean | Schema3;
408
+ items?: Schema3;
409
+ anyOf?: Schema3[];
410
+ allOf?: Schema3[];
416
411
  deprecated?: boolean;
412
+ exclusiveMaximum?: boolean;
413
+ exclusiveMinimum?: boolean;
417
414
  properties?: {
418
415
  [propertyName: string]: Schema3;
419
416
  };
420
417
  }
421
- export interface Schema2 extends BaseSchema {
418
+ export interface Schema2 extends Omit<BaseSchema, 'additionalProperties' | 'items' | 'properties'> {
419
+ additionalProperties?: boolean | Schema2;
420
+ items?: Schema2;
422
421
  type?: DataType;
422
+ exclusiveMaximum?: boolean;
423
+ exclusiveMinimum?: boolean;
423
424
  properties?: {
424
425
  [propertyName: string]: Schema2;
425
426
  };
@@ -8,5 +8,9 @@ var Swagger;
8
8
  return typeof parameter === 'object' && parameter !== null && 'in' in parameter && parameter.in === 'query';
9
9
  }
10
10
  Swagger.isQueryParameter = isQueryParameter;
11
+ function isBodyParameter(parameter) {
12
+ return typeof parameter === 'object' && parameter !== null && 'in' in parameter && parameter.in === 'body';
13
+ }
14
+ Swagger.isBodyParameter = isBodyParameter;
11
15
  })(Swagger || (exports.Swagger = Swagger = {}));
12
16
  //# sourceMappingURL=swagger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"swagger.js","sourceRoot":"","sources":["../../src/swagger/swagger.ts"],"names":[],"mappings":";;;AAAA,2DAA2D;AAC3D,IAAiB,OAAO,CA2iBvB;AA3iBD,WAAiB,OAAO;IA0LtB,SAAgB,gBAAgB,CAAC,SAAkB;QACjD,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,SAAS,CAAC,EAAE,KAAK,OAAO,CAAA;IAC7G,CAAC;IAFe,wBAAgB,mBAE/B,CAAA;AA+WH,CAAC,EA3iBgB,OAAO,uBAAP,OAAO,QA2iBvB"}
1
+ {"version":3,"file":"swagger.js","sourceRoot":"","sources":["../../src/swagger/swagger.ts"],"names":[],"mappings":";;;AAAA,2DAA2D;AAC3D,IAAiB,OAAO,CAwjBvB;AAxjBD,WAAiB,OAAO;IAuLtB,SAAgB,gBAAgB,CAAC,SAAkB;QACjD,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,SAAS,CAAC,EAAE,KAAK,OAAO,CAAA;IAC7G,CAAC;IAFe,wBAAgB,mBAE/B,CAAA;IAED,SAAgB,eAAe,CAAC,SAAkB;QAChD,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,SAAS,CAAC,EAAE,KAAK,MAAM,CAAA;IAC5G,CAAC;IAFe,uBAAe,kBAE9B,CAAA;AA2XH,CAAC,EAxjBgB,OAAO,uBAAP,OAAO,QAwjBvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsoa-next/runtime",
3
- "version": "7.1.0",
3
+ "version": "7.2.1",
4
4
  "description": "Build swagger-compliant REST APIs using TypeScript and Node",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",
@@ -54,8 +54,8 @@
54
54
  "url": "https://github.com/vannadii/tsoa-next.git"
55
55
  },
56
56
  "engines": {
57
- "node": ">=24.14.0",
58
- "npm": ">=11.0.0"
57
+ "node": ">=22.0.0",
58
+ "npm": ">=10.0.0"
59
59
  },
60
60
  "engineStrict": true,
61
61
  "publishConfig": {