1
1
/* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Reference , Header , Tag , ExternalDocs , XML , ParameterType } from 'swagger-schema-official' ;
2
+ import { Reference , Header , Tag , ExternalDocs , XML } from 'swagger-schema-official' ;
3
3
4
4
// This is simply building from OpenApi Specification
5
5
// see: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md
6
6
// TODO: move this to https://github.com/DefinitelyTyped/DefinitelyTyped as openapi-spec
7
7
8
8
declare namespace OpenApi {
9
9
10
- type EmptyObject = Record < string , any >
11
-
12
10
export interface Info {
13
11
title : string ;
14
12
version : string ;
@@ -36,6 +34,8 @@ declare namespace OpenApi {
36
34
mapping ?: { [ key : string ] : string } ;
37
35
}
38
36
37
+ export type DataType = 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object' ;
38
+
39
39
export interface UpdatedSchema {
40
40
nullable ?: boolean ;
41
41
discriminator ?: Discriminator ;
@@ -47,7 +47,7 @@ declare namespace OpenApi {
47
47
examples ?: any [ ] ;
48
48
deprecated ?: boolean ;
49
49
50
- type ?: ParameterType ;
50
+ type ?: DataType ;
51
51
allOf ?: ( UpdatedSchema | Reference ) [ ] ;
52
52
oneOf ?: ( UpdatedSchema | Reference ) [ ] ;
53
53
anyOf ?: ( UpdatedSchema | Reference ) [ ] ;
@@ -96,7 +96,7 @@ declare namespace OpenApi {
96
96
97
97
export interface Encoding {
98
98
contentType ?: string ;
99
- headers ?: Map < string , Header | Reference > ;
99
+ headers ?: Record < string , Header | Reference > ;
100
100
style ?: string ;
101
101
explode ?: boolean ;
102
102
allowReserved ?: boolean ;
@@ -105,8 +105,8 @@ declare namespace OpenApi {
105
105
export interface MediaType {
106
106
schema ?: UpdatedSchema | Reference ;
107
107
example ?: any ;
108
- examples ?: Map < string , Example | Reference > ;
109
- encoding ?: Map < string , Encoding > ;
108
+ examples ?: Record < string , Example | Reference > ;
109
+ encoding ?: Record < string , Encoding > ;
110
110
111
111
}
112
112
@@ -119,17 +119,17 @@ declare namespace OpenApi {
119
119
export interface Link {
120
120
operationRef ?: string ;
121
121
operationId ?: string ;
122
- parameters ?: Map < string , any > ;
122
+ parameters ?: Record < string , any > ;
123
123
requestBody ?: any ;
124
124
description ?: string ;
125
125
server : Server ;
126
126
}
127
127
128
128
export interface Response {
129
129
description : string ;
130
- headers ?: Map < string , Header | Reference > ;
130
+ headers ?: Record < string , Header | Reference > ;
131
131
content ?: Record < string , MediaType > ;
132
- links ?: Map < string , Link | Reference > ;
132
+ links ?: Record < string , Link | Reference > ;
133
133
}
134
134
135
135
export interface Operation {
@@ -138,7 +138,7 @@ declare namespace OpenApi {
138
138
description ?: string ;
139
139
externalDocs ?: ExternalDocs ;
140
140
operationId ?: string ;
141
- parameters : Array < Parameter > ;
141
+ parameters : Array < Parameter | Reference > ;
142
142
requestBody ?: RequestBody | Reference ;
143
143
responses : Record < string , Response > ;
144
144
servers ?: Array < Server > ;
@@ -250,15 +250,15 @@ declare namespace OpenApi {
250
250
*/
251
251
252
252
export interface Components {
253
- schemas ?: Map < string , UpdatedSchema | Reference > | EmptyObject ;
254
- responses ?: Map < string , Response | Reference > | EmptyObject ;
255
- parameters ?: Record < string , Parameter | Reference > | EmptyObject ;
256
- examples ?: Map < string , Example | Reference > | EmptyObject ;
257
- requestBodies ?: Map < string , RequestBody | Reference > | EmptyObject ;
258
- headers ?: Map < string , Header | Reference > | EmptyObject ;
259
- securitySchemes ?: Map < string , Security | Reference > | EmptyObject ;
260
- links ?: Map < string , Link | Reference > | EmptyObject ;
261
- callbacks ?: Map < string , Path | Reference > | EmptyObject ;
253
+ schemas ?: Record < string , UpdatedSchema | Reference > ;
254
+ responses ?: Record < string , Response | Reference > ;
255
+ parameters ?: Record < string , Parameter | Reference > ;
256
+ examples ?: Record < string , Example | Reference > ;
257
+ requestBodies ?: Record < string , RequestBody | Reference > ;
258
+ headers ?: Record < string , Header | Reference > ;
259
+ securitySchemes ?: Record < string , Security | Reference > ;
260
+ links ?: Record < string , Link | Reference > ;
261
+ callbacks ?: Record < string , Path | Reference > ;
262
262
}
263
263
264
264
export interface OpenApi {
0 commit comments