@riktajs/swagger 0.10.2 → 0.10.3

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 (43) hide show
  1. package/dist/index.cjs +1253 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +498 -0
  4. package/dist/index.d.ts +498 -7
  5. package/dist/index.js +1163 -6
  6. package/dist/index.js.map +1 -0
  7. package/package.json +13 -6
  8. package/dist/constants.d.ts +0 -11
  9. package/dist/constants.js +0 -11
  10. package/dist/decorators/api-body.decorator.d.ts +0 -4
  11. package/dist/decorators/api-body.decorator.js +0 -11
  12. package/dist/decorators/api-exclude.decorator.d.ts +0 -9
  13. package/dist/decorators/api-exclude.decorator.js +0 -31
  14. package/dist/decorators/api-header.decorator.d.ts +0 -4
  15. package/dist/decorators/api-header.decorator.js +0 -12
  16. package/dist/decorators/api-operation.decorator.d.ts +0 -4
  17. package/dist/decorators/api-operation.decorator.js +0 -11
  18. package/dist/decorators/api-param.decorator.d.ts +0 -4
  19. package/dist/decorators/api-param.decorator.js +0 -12
  20. package/dist/decorators/api-property.decorator.d.ts +0 -11
  21. package/dist/decorators/api-property.decorator.js +0 -20
  22. package/dist/decorators/api-query.decorator.d.ts +0 -4
  23. package/dist/decorators/api-query.decorator.js +0 -12
  24. package/dist/decorators/api-response.decorator.d.ts +0 -15
  25. package/dist/decorators/api-response.decorator.js +0 -45
  26. package/dist/decorators/api-security.decorator.d.ts +0 -8
  27. package/dist/decorators/api-security.decorator.js +0 -35
  28. package/dist/decorators/api-tags.decorator.d.ts +0 -3
  29. package/dist/decorators/api-tags.decorator.js +0 -22
  30. package/dist/decorators/index.d.ts +0 -10
  31. package/dist/decorators/index.js +0 -10
  32. package/dist/openapi/generator.d.ts +0 -49
  33. package/dist/openapi/generator.js +0 -409
  34. package/dist/openapi/index.d.ts +0 -2
  35. package/dist/openapi/index.js +0 -2
  36. package/dist/openapi/zod-to-openapi.d.ts +0 -5
  37. package/dist/openapi/zod-to-openapi.js +0 -115
  38. package/dist/plugin/index.d.ts +0 -1
  39. package/dist/plugin/index.js +0 -1
  40. package/dist/plugin/swagger.plugin.d.ts +0 -38
  41. package/dist/plugin/swagger.plugin.js +0 -126
  42. package/dist/types.d.ts +0 -338
  43. package/dist/types.js +0 -1
@@ -0,0 +1,498 @@
1
+ export { CONTROLLER_METADATA, GUARDS_METADATA, HTTP_CODE_METADATA, PARAM_METADATA, ROUTES_METADATA, ZOD_SCHEMA_METADATA } from '@riktajs/core';
2
+ import { ZodType } from 'zod';
3
+ import { FastifyPluginAsync, FastifyInstance } from 'fastify';
4
+ import { FastifySwaggerUiOptions } from '@fastify/swagger-ui';
5
+
6
+ declare const API_TAGS_METADATA: unique symbol;
7
+ declare const API_OPERATION_METADATA: unique symbol;
8
+ declare const API_RESPONSE_METADATA: unique symbol;
9
+ declare const API_PROPERTY_METADATA: unique symbol;
10
+ declare const API_BODY_METADATA: unique symbol;
11
+ declare const API_PARAM_METADATA: unique symbol;
12
+ declare const API_QUERY_METADATA: unique symbol;
13
+ declare const API_HEADER_METADATA: unique symbol;
14
+ declare const API_SECURITY_METADATA: unique symbol;
15
+ declare const API_EXCLUDE_METADATA: unique symbol;
16
+ declare const API_DEPRECATED_METADATA: unique symbol;
17
+
18
+ type OpenApiDataType = 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object';
19
+ type OpenApiFormat = 'int32' | 'int64' | 'float' | 'double' | 'date' | 'date-time' | 'password' | 'byte' | 'binary' | 'email' | 'uuid' | 'uri' | 'hostname' | 'ipv4' | 'ipv6';
20
+ interface OpenApiSchemaObject {
21
+ type?: OpenApiDataType;
22
+ format?: string;
23
+ description?: string;
24
+ default?: unknown;
25
+ example?: unknown;
26
+ enum?: unknown[];
27
+ items?: OpenApiSchemaObject;
28
+ properties?: Record<string, OpenApiSchemaObject>;
29
+ required?: string[];
30
+ nullable?: boolean;
31
+ allOf?: OpenApiSchemaObject[];
32
+ oneOf?: OpenApiSchemaObject[];
33
+ anyOf?: OpenApiSchemaObject[];
34
+ not?: OpenApiSchemaObject;
35
+ $ref?: string;
36
+ minimum?: number;
37
+ maximum?: number;
38
+ minLength?: number;
39
+ maxLength?: number;
40
+ pattern?: string;
41
+ additionalProperties?: boolean | OpenApiSchemaObject;
42
+ }
43
+ type ParameterLocation = 'query' | 'path' | 'header' | 'cookie';
44
+ interface OpenApiParameterObject {
45
+ name: string;
46
+ in: ParameterLocation;
47
+ description?: string;
48
+ required?: boolean;
49
+ deprecated?: boolean;
50
+ schema?: OpenApiSchemaObject;
51
+ example?: unknown;
52
+ examples?: Record<string, {
53
+ value: unknown;
54
+ summary?: string;
55
+ }>;
56
+ }
57
+ interface OpenApiRequestBodyObject {
58
+ description?: string;
59
+ required?: boolean;
60
+ content: Record<string, {
61
+ schema?: OpenApiSchemaObject;
62
+ example?: unknown;
63
+ examples?: Record<string, {
64
+ value: unknown;
65
+ summary?: string;
66
+ }>;
67
+ }>;
68
+ }
69
+ interface OpenApiResponseObject {
70
+ description: string;
71
+ content?: Record<string, {
72
+ schema?: OpenApiSchemaObject;
73
+ example?: unknown;
74
+ }>;
75
+ headers?: Record<string, {
76
+ description?: string;
77
+ schema?: OpenApiSchemaObject;
78
+ }>;
79
+ }
80
+ type OpenApiSecurityRequirement = Record<string, string[]>;
81
+ interface OpenApiSecurityScheme {
82
+ type: 'apiKey' | 'http' | 'oauth2' | 'openIdConnect';
83
+ description?: string;
84
+ name?: string;
85
+ in?: 'query' | 'header' | 'cookie';
86
+ scheme?: string;
87
+ bearerFormat?: string;
88
+ flows?: {
89
+ implicit?: {
90
+ authorizationUrl: string;
91
+ scopes: Record<string, string>;
92
+ };
93
+ password?: {
94
+ tokenUrl: string;
95
+ scopes: Record<string, string>;
96
+ };
97
+ clientCredentials?: {
98
+ tokenUrl: string;
99
+ scopes: Record<string, string>;
100
+ };
101
+ authorizationCode?: {
102
+ authorizationUrl: string;
103
+ tokenUrl: string;
104
+ scopes: Record<string, string>;
105
+ };
106
+ };
107
+ openIdConnectUrl?: string;
108
+ }
109
+ interface OpenApiOperation {
110
+ tags?: string[];
111
+ summary?: string;
112
+ description?: string;
113
+ externalDocs?: {
114
+ url: string;
115
+ description?: string;
116
+ };
117
+ operationId?: string;
118
+ parameters?: Array<{
119
+ name: string;
120
+ in: 'path' | 'query' | 'header' | 'cookie';
121
+ description?: string;
122
+ required?: boolean;
123
+ deprecated?: boolean;
124
+ schema?: OpenApiSchemaObject;
125
+ example?: unknown;
126
+ }>;
127
+ requestBody?: {
128
+ description?: string;
129
+ required?: boolean;
130
+ content: Record<string, {
131
+ schema?: OpenApiSchemaObject;
132
+ example?: unknown;
133
+ }>;
134
+ };
135
+ responses: Record<string, {
136
+ description: string;
137
+ headers?: Record<string, {
138
+ description?: string;
139
+ schema?: OpenApiSchemaObject;
140
+ }>;
141
+ content?: Record<string, {
142
+ schema?: OpenApiSchemaObject;
143
+ example?: unknown;
144
+ }>;
145
+ }>;
146
+ deprecated?: boolean;
147
+ security?: Array<Record<string, string[]>>;
148
+ }
149
+ interface OpenApiPathItem {
150
+ get?: OpenApiOperation;
151
+ put?: OpenApiOperation;
152
+ post?: OpenApiOperation;
153
+ delete?: OpenApiOperation;
154
+ options?: OpenApiOperation;
155
+ head?: OpenApiOperation;
156
+ patch?: OpenApiOperation;
157
+ trace?: OpenApiOperation;
158
+ summary?: string;
159
+ description?: string;
160
+ parameters?: Array<{
161
+ name: string;
162
+ in: 'path' | 'query' | 'header' | 'cookie';
163
+ required?: boolean;
164
+ schema?: OpenApiSchemaObject;
165
+ }>;
166
+ }
167
+ interface OpenApiInfoObject {
168
+ title: string;
169
+ version: string;
170
+ description?: string;
171
+ termsOfService?: string;
172
+ contact?: {
173
+ name?: string;
174
+ url?: string;
175
+ email?: string;
176
+ };
177
+ license?: {
178
+ name: string;
179
+ url?: string;
180
+ identifier?: string;
181
+ };
182
+ }
183
+ interface OpenApiDocument {
184
+ openapi: string;
185
+ info: OpenApiInfoObject;
186
+ paths: Record<string, OpenApiPathItem>;
187
+ servers?: Array<{
188
+ url: string;
189
+ description?: string;
190
+ variables?: Record<string, {
191
+ default: string;
192
+ description?: string;
193
+ enum?: string[];
194
+ }>;
195
+ }>;
196
+ components?: {
197
+ schemas?: Record<string, OpenApiSchemaObject>;
198
+ securitySchemes?: Record<string, OpenApiSecurityScheme | {
199
+ type: string;
200
+ description?: string;
201
+ name?: string;
202
+ in?: string;
203
+ scheme?: string;
204
+ bearerFormat?: string;
205
+ flows?: unknown;
206
+ }>;
207
+ responses?: Record<string, OpenApiResponseObject>;
208
+ parameters?: Record<string, OpenApiParameterObject>;
209
+ requestBodies?: Record<string, OpenApiRequestBodyObject>;
210
+ };
211
+ security?: Array<Record<string, string[]>>;
212
+ tags?: Array<{
213
+ name: string;
214
+ description?: string;
215
+ externalDocs?: {
216
+ url: string;
217
+ description?: string;
218
+ };
219
+ }>;
220
+ externalDocs?: {
221
+ url: string;
222
+ description?: string;
223
+ };
224
+ }
225
+ interface ApiOperationOptions {
226
+ summary?: string;
227
+ description?: string;
228
+ operationId?: string;
229
+ deprecated?: boolean;
230
+ tags?: string[];
231
+ }
232
+ interface ApiResponseOptions {
233
+ status: number;
234
+ description?: string;
235
+ schema?: ZodType<unknown> | OpenApiSchemaObject;
236
+ type?: string;
237
+ example?: unknown;
238
+ isArray?: boolean;
239
+ }
240
+ interface ApiPropertyOptions {
241
+ description?: string;
242
+ example?: unknown;
243
+ default?: unknown;
244
+ required?: boolean;
245
+ type?: OpenApiDataType | string;
246
+ format?: OpenApiFormat | string;
247
+ enum?: unknown[];
248
+ nullable?: boolean;
249
+ minimum?: number;
250
+ maximum?: number;
251
+ minLength?: number;
252
+ maxLength?: number;
253
+ pattern?: string;
254
+ deprecated?: boolean;
255
+ readOnly?: boolean;
256
+ writeOnly?: boolean;
257
+ }
258
+ interface ApiParamOptions {
259
+ name: string;
260
+ description?: string;
261
+ required?: boolean;
262
+ type?: OpenApiDataType | string;
263
+ format?: OpenApiFormat | string;
264
+ example?: unknown;
265
+ enum?: unknown[];
266
+ deprecated?: boolean;
267
+ schema?: ZodType<unknown>;
268
+ }
269
+ interface ApiQueryOptions extends Omit<ApiParamOptions, 'required'> {
270
+ required?: boolean;
271
+ isArray?: boolean;
272
+ }
273
+ interface ApiHeaderOptions {
274
+ name: string;
275
+ description?: string;
276
+ required?: boolean;
277
+ type?: OpenApiDataType | string;
278
+ deprecated?: boolean;
279
+ example?: unknown;
280
+ schema?: ZodType<unknown>;
281
+ }
282
+ interface ApiBodyOptions {
283
+ description?: string;
284
+ required?: boolean;
285
+ type?: string;
286
+ schema?: ZodType<unknown> | OpenApiSchemaObject;
287
+ example?: unknown;
288
+ examples?: Record<string, {
289
+ value: unknown;
290
+ summary?: string;
291
+ description?: string;
292
+ }>;
293
+ isArray?: boolean;
294
+ }
295
+ interface ApiSecurityOptions {
296
+ name: string;
297
+ scopes?: string[];
298
+ }
299
+ interface SwaggerServerConfig {
300
+ url: string;
301
+ description?: string;
302
+ variables?: Record<string, {
303
+ default: string;
304
+ description?: string;
305
+ enum?: string[];
306
+ }>;
307
+ }
308
+ interface SwaggerContactConfig {
309
+ name?: string;
310
+ url?: string;
311
+ email?: string;
312
+ }
313
+ interface SwaggerLicenseConfig {
314
+ name: string;
315
+ url?: string;
316
+ identifier?: string;
317
+ }
318
+ interface SwaggerExternalDocsConfig {
319
+ url: string;
320
+ description?: string;
321
+ }
322
+ interface SwaggerTagConfig {
323
+ name: string;
324
+ description?: string;
325
+ externalDocs?: SwaggerExternalDocsConfig;
326
+ }
327
+ interface SwaggerConfig {
328
+ info?: OpenApiInfoObject;
329
+ externalDocs?: SwaggerExternalDocsConfig;
330
+ servers?: SwaggerServerConfig[];
331
+ tags?: SwaggerTagConfig[];
332
+ securitySchemes?: Record<string, OpenApiSecurityScheme>;
333
+ security?: OpenApiSecurityRequirement[];
334
+ jsonPath?: string;
335
+ uiPath?: string;
336
+ openApiVersion?: '3.0.0' | '3.0.1' | '3.0.2' | '3.0.3' | '3.1.0';
337
+ includeUndocumented?: boolean;
338
+ basePath?: string;
339
+ }
340
+ interface StoredResponseMetadata extends ApiResponseOptions {
341
+ _stored: true;
342
+ }
343
+ interface StoredParamMetadata extends ApiParamOptions {
344
+ _stored: true;
345
+ location: ParameterLocation;
346
+ }
347
+ interface ExtractedRouteInfo {
348
+ method: string;
349
+ path: string;
350
+ handlerName: string | symbol;
351
+ controllerPrefix: string;
352
+ controllerClass: Function;
353
+ }
354
+ type Constructor$2<T = unknown> = new (...args: any[]) => T;
355
+
356
+ declare function ApiTags(...tags: string[]): ClassDecorator & MethodDecorator;
357
+ declare function getApiTags(target: Function, propertyKey?: string | symbol): string[];
358
+
359
+ declare function ApiOperation(options: ApiOperationOptions): MethodDecorator;
360
+ declare function getApiOperation(target: Function, propertyKey: string | symbol): ApiOperationOptions | undefined;
361
+
362
+ declare function ApiResponse(options: ApiResponseOptions): MethodDecorator;
363
+ declare function ApiOkResponse(options?: Omit<ApiResponseOptions, 'status'>): MethodDecorator;
364
+ declare function ApiCreatedResponse(options?: Omit<ApiResponseOptions, 'status'>): MethodDecorator;
365
+ declare function ApiAcceptedResponse(options?: Omit<ApiResponseOptions, 'status'>): MethodDecorator;
366
+ declare function ApiNoContentResponse(options?: Omit<ApiResponseOptions, 'status'>): MethodDecorator;
367
+ declare function ApiBadRequestResponse(options?: Omit<ApiResponseOptions, 'status'>): MethodDecorator;
368
+ declare function ApiUnauthorizedResponse(options?: Omit<ApiResponseOptions, 'status'>): MethodDecorator;
369
+ declare function ApiForbiddenResponse(options?: Omit<ApiResponseOptions, 'status'>): MethodDecorator;
370
+ declare function ApiNotFoundResponse(options?: Omit<ApiResponseOptions, 'status'>): MethodDecorator;
371
+ declare function ApiConflictResponse(options?: Omit<ApiResponseOptions, 'status'>): MethodDecorator;
372
+ declare function ApiUnprocessableEntityResponse(options?: Omit<ApiResponseOptions, 'status'>): MethodDecorator;
373
+ declare function ApiInternalServerErrorResponse(options?: Omit<ApiResponseOptions, 'status'>): MethodDecorator;
374
+ declare function getApiResponses(target: Function, propertyKey: string | symbol): ApiResponseOptions[];
375
+
376
+ declare function ApiBody(options: ApiBodyOptions): MethodDecorator;
377
+ declare function getApiBody(target: Function, propertyKey: string | symbol): ApiBodyOptions | undefined;
378
+
379
+ declare function ApiParam(options: ApiParamOptions): MethodDecorator;
380
+ declare function getApiParams(target: Function, propertyKey: string | symbol): ApiParamOptions[];
381
+
382
+ declare function ApiQuery(options: ApiQueryOptions): MethodDecorator;
383
+ declare function getApiQueries(target: Function, propertyKey: string | symbol): ApiQueryOptions[];
384
+
385
+ declare function ApiHeader(options: ApiHeaderOptions): MethodDecorator;
386
+ declare function getApiHeaders(target: Function, propertyKey: string | symbol): ApiHeaderOptions[];
387
+
388
+ declare function ApiSecurity(name?: string, scopes?: string[]): ClassDecorator & MethodDecorator;
389
+ declare function ApiBearerAuth(name?: string): ClassDecorator & MethodDecorator;
390
+ declare function ApiBasicAuth(name?: string): ClassDecorator & MethodDecorator;
391
+ declare function ApiOAuth2(scopes?: string[], name?: string): ClassDecorator & MethodDecorator;
392
+ declare function ApiCookieAuth(name?: string): ClassDecorator & MethodDecorator;
393
+ declare function getApiSecurity(target: Function, propertyKey?: string | symbol): ApiSecurityOptions | null | undefined;
394
+
395
+ interface StoredPropertyMetadata {
396
+ propertyKey: string | symbol;
397
+ options: ApiPropertyOptions;
398
+ }
399
+ declare function ApiProperty(options?: ApiPropertyOptions): PropertyDecorator;
400
+ declare function ApiPropertyOptional(options?: Omit<ApiPropertyOptions, 'required'>): PropertyDecorator;
401
+ declare function ApiHideProperty(): PropertyDecorator;
402
+ declare function getApiProperties(target: Function): StoredPropertyMetadata[];
403
+
404
+ declare function ApiExcludeEndpoint(): MethodDecorator;
405
+ declare function ApiExcludeController(): ClassDecorator;
406
+ declare function isApiExcluded(target: Function, propertyKey?: string | symbol): boolean;
407
+ declare function ApiDeprecated(message?: string): MethodDecorator;
408
+ declare function getApiDeprecated(target: Function, propertyKey: string | symbol): {
409
+ deprecated: boolean;
410
+ message?: string;
411
+ } | undefined;
412
+
413
+ type Constructor$1<T = unknown> = new (...args: any[]) => T;
414
+ interface OpenApiGeneratorConfig extends Omit<SwaggerConfig, 'info'> {
415
+ title?: string;
416
+ version?: string;
417
+ description?: string;
418
+ contact?: OpenApiInfoObject['contact'];
419
+ license?: OpenApiInfoObject['license'];
420
+ termsOfService?: string;
421
+ info?: OpenApiInfoObject;
422
+ }
423
+ declare class OpenApiGenerator {
424
+ private config;
425
+ private controllers;
426
+ private globalSecuritySchemes;
427
+ constructor(config?: OpenApiGeneratorConfig);
428
+ addController(controller: Constructor$1): this;
429
+ addControllers(controllers: Constructor$1[]): this;
430
+ addSecurityScheme(name: string, scheme: OpenApiSecurityScheme): this;
431
+ generate(): OpenApiDocument;
432
+ private getControllerMeta;
433
+ private getControllerRoutes;
434
+ private getControllerTags;
435
+ private isControllerExcluded;
436
+ private isControllerDeprecated;
437
+ private isEndpointExcluded;
438
+ private isEndpointDeprecated;
439
+ private getOperationMetadata;
440
+ private getResponseMetadata;
441
+ private getBodyMetadata;
442
+ private getSwaggerParamMetadata;
443
+ private getQueryMetadata;
444
+ private getHeaderMetadata;
445
+ private getSecurityMetadata;
446
+ private getMethodTags;
447
+ private getHttpStatusCode;
448
+ private getCoreParams;
449
+ private normalizePath;
450
+ private buildOperation;
451
+ private buildParameters;
452
+ private extractPathParams;
453
+ private buildRequestBody;
454
+ private buildResponses;
455
+ private getDefaultStatusDescription;
456
+ private buildSecuritySchemes;
457
+ }
458
+
459
+ declare function isZodSchema(value: unknown): value is ZodType<unknown>;
460
+ declare function zodToOpenApi(schema: ZodType): OpenApiSchemaObject;
461
+ declare function toOpenApiSchema(schemaOrOpenApi: ZodType | OpenApiSchemaObject | undefined): OpenApiSchemaObject | undefined;
462
+
463
+ type Constructor<T = unknown> = new (...args: any[]) => T;
464
+ interface SwaggerPluginOptions {
465
+ config?: SwaggerConfig;
466
+ info?: OpenApiInfoObject;
467
+ controllers?: Constructor[];
468
+ jsonPath?: string;
469
+ uiPath?: string;
470
+ exposeUI?: boolean;
471
+ exposeSpec?: boolean;
472
+ logo?: {
473
+ url: string;
474
+ altText?: string;
475
+ backgroundColor?: string;
476
+ };
477
+ theme?: 'default' | 'dark';
478
+ transform?: (spec: OpenApiDocument) => OpenApiDocument | Promise<OpenApiDocument>;
479
+ }
480
+ declare module 'fastify' {
481
+ interface FastifyInstance {
482
+ openApiSpec?: OpenApiDocument;
483
+ }
484
+ }
485
+ declare const swaggerPlugin: FastifyPluginAsync<SwaggerPluginOptions>;
486
+ declare function registerSwagger(app: FastifyInstance, options?: SwaggerPluginOptions): Promise<void>;
487
+ declare function createSwaggerConfig(options?: SwaggerPluginOptions): {
488
+ swaggerOptions: {
489
+ mode: 'static';
490
+ specification: {
491
+ document: OpenApiDocument;
492
+ };
493
+ };
494
+ swaggerUIOptions: FastifySwaggerUiOptions;
495
+ specification: OpenApiDocument;
496
+ };
497
+
498
+ export { API_BODY_METADATA, API_DEPRECATED_METADATA, API_EXCLUDE_METADATA, API_HEADER_METADATA, API_OPERATION_METADATA, API_PARAM_METADATA, API_PROPERTY_METADATA, API_QUERY_METADATA, API_RESPONSE_METADATA, API_SECURITY_METADATA, API_TAGS_METADATA, ApiAcceptedResponse, ApiBadRequestResponse, ApiBasicAuth, ApiBearerAuth, ApiBody, type ApiBodyOptions, ApiConflictResponse, ApiCookieAuth, ApiCreatedResponse, ApiDeprecated, ApiExcludeController, ApiExcludeEndpoint, ApiForbiddenResponse, ApiHeader, type ApiHeaderOptions, ApiHideProperty, ApiInternalServerErrorResponse, ApiNoContentResponse, ApiNotFoundResponse, ApiOAuth2, ApiOkResponse, ApiOperation, type ApiOperationOptions, ApiParam, type ApiParamOptions, ApiProperty, ApiPropertyOptional, type ApiPropertyOptions, ApiQuery, type ApiQueryOptions, ApiResponse, type ApiResponseOptions, ApiSecurity, type ApiSecurityOptions, ApiTags, ApiUnauthorizedResponse, ApiUnprocessableEntityResponse, type Constructor$2 as Constructor, type ExtractedRouteInfo, type OpenApiDataType, type OpenApiDocument, type OpenApiFormat, OpenApiGenerator, type OpenApiInfoObject, type OpenApiOperation, type OpenApiParameterObject, type OpenApiPathItem, type OpenApiRequestBodyObject, type OpenApiResponseObject, type OpenApiSchemaObject, type OpenApiSecurityRequirement, type OpenApiSecurityScheme, type ParameterLocation, type StoredParamMetadata, type StoredResponseMetadata, type SwaggerConfig, type SwaggerContactConfig, type SwaggerExternalDocsConfig, type SwaggerLicenseConfig, type SwaggerServerConfig, type SwaggerTagConfig, createSwaggerConfig, getApiBody, getApiDeprecated, getApiHeaders, getApiOperation, getApiParams, getApiProperties, getApiQueries, getApiResponses, getApiSecurity, getApiTags, isApiExcluded, isZodSchema, registerSwagger, swaggerPlugin, toOpenApiSchema, zodToOpenApi };