UNPKG

10.2 kBTypeScriptView Raw
1/// <reference types="lodash" />
2import { ApiPropertyOptions } from '../decorators';
3import { BaseParameterObject, ReferenceObject, SchemaObject } from '../interfaces/open-api-spec.interface';
4import { ParamWithTypeMetadata } from './parameter-metadata-accessor';
5export declare class SwaggerTypesMapper {
6 private readonly keysToRemove;
7 mapParamTypes(parameters: Array<ParamWithTypeMetadata | BaseParameterObject>): (Partial<BaseParameterObject> | Partial<ParamWithTypeMetadata> | {
8 schema: {
9 type: string;
10 items: any;
11 nullable?: boolean;
12 discriminator?: import("../interfaces/open-api-spec.interface").DiscriminatorObject;
13 readOnly?: boolean;
14 writeOnly?: boolean;
15 xml?: import("../interfaces/open-api-spec.interface").XmlObject;
16 externalDocs?: import("../interfaces/open-api-spec.interface").ExternalDocumentationObject;
17 example?: any;
18 deprecated?: boolean;
19 allOf?: (SchemaObject | ReferenceObject)[];
20 oneOf?: (SchemaObject | ReferenceObject)[];
21 anyOf?: (SchemaObject | ReferenceObject)[];
22 not?: SchemaObject | ReferenceObject;
23 properties?: Record<string, SchemaObject | ReferenceObject>;
24 additionalProperties?: boolean | SchemaObject | ReferenceObject;
25 patternProperties?: any;
26 description?: string;
27 format?: string;
28 default?: any;
29 title?: string;
30 multipleOf?: number;
31 maximum?: number;
32 exclusiveMaximum?: boolean;
33 minimum?: number;
34 exclusiveMinimum?: boolean;
35 maxLength?: number;
36 minLength?: number;
37 pattern?: string;
38 maxItems?: number;
39 minItems?: number;
40 uniqueItems?: boolean;
41 maxProperties?: number;
42 minProperties?: number;
43 required?: string[];
44 enum?: any[];
45 };
46 } | {
47 schema: import("lodash").Dictionary<any>;
48 description?: string;
49 required?: boolean;
50 deprecated?: boolean;
51 allowEmptyValue?: boolean;
52 style?: import("../interfaces/open-api-spec.interface").ParameterStyle;
53 explode?: boolean;
54 allowReserved?: boolean;
55 examples?: Record<string, ReferenceObject | import("../interfaces/open-api-spec.interface").ExampleObject>;
56 example?: any;
57 content?: import("../interfaces/open-api-spec.interface").ContentObject;
58 } | {
59 schema: import("lodash").Dictionary<any>;
60 name?: string | number | object;
61 type?: import("@nestjs/common").Type<unknown>;
62 in?: import("../interfaces/open-api-spec.interface").ParameterLocation | "body" | "placeholder";
63 isArray?: boolean;
64 required?: true;
65 enum?: unknown[];
66 enumName?: string;
67 })[];
68 mapTypeToOpenAPIType(type: string | Function): string;
69 mapEnumArrayType(param: Record<string, any>, keysToRemove: Array<keyof ApiPropertyOptions | '$ref'>): {
70 schema: {
71 type: string;
72 items: any;
73 nullable?: boolean;
74 discriminator?: import("../interfaces/open-api-spec.interface").DiscriminatorObject;
75 readOnly?: boolean;
76 writeOnly?: boolean;
77 xml?: import("../interfaces/open-api-spec.interface").XmlObject;
78 externalDocs?: import("../interfaces/open-api-spec.interface").ExternalDocumentationObject;
79 example?: any;
80 deprecated?: boolean;
81 allOf?: (SchemaObject | ReferenceObject)[];
82 oneOf?: (SchemaObject | ReferenceObject)[];
83 anyOf?: (SchemaObject | ReferenceObject)[];
84 not?: SchemaObject | ReferenceObject;
85 properties?: Record<string, SchemaObject | ReferenceObject>;
86 additionalProperties?: boolean | SchemaObject | ReferenceObject;
87 patternProperties?: any;
88 description?: string;
89 format?: string;
90 default?: any;
91 title?: string;
92 multipleOf?: number;
93 maximum?: number;
94 exclusiveMaximum?: boolean;
95 minimum?: number;
96 exclusiveMinimum?: boolean;
97 maxLength?: number;
98 minLength?: number;
99 pattern?: string;
100 maxItems?: number;
101 minItems?: number;
102 uniqueItems?: boolean;
103 maxProperties?: number;
104 minProperties?: number;
105 required?: string[];
106 enum?: any[];
107 };
108 };
109 mapArrayType(param: (ParamWithTypeMetadata & SchemaObject) | BaseParameterObject, keysToRemove: Array<keyof ApiPropertyOptions | '$ref'>): {
110 schema: {
111 type: string;
112 items: import("lodash").Dictionary<any>;
113 nullable?: boolean;
114 discriminator?: import("../interfaces/open-api-spec.interface").DiscriminatorObject;
115 readOnly?: boolean;
116 writeOnly?: boolean;
117 xml?: import("../interfaces/open-api-spec.interface").XmlObject;
118 externalDocs?: import("../interfaces/open-api-spec.interface").ExternalDocumentationObject;
119 example?: any;
120 deprecated?: boolean;
121 allOf?: (SchemaObject | ReferenceObject)[];
122 oneOf?: (SchemaObject | ReferenceObject)[];
123 anyOf?: (SchemaObject | ReferenceObject)[];
124 not?: SchemaObject | ReferenceObject;
125 properties?: Record<string, SchemaObject | ReferenceObject>;
126 additionalProperties?: boolean | SchemaObject | ReferenceObject;
127 patternProperties?: any;
128 description?: string;
129 format?: string;
130 default?: any;
131 title?: string;
132 multipleOf?: number;
133 maximum?: number;
134 exclusiveMaximum?: boolean;
135 minimum?: number;
136 exclusiveMinimum?: boolean;
137 maxLength?: number;
138 minLength?: number;
139 pattern?: string;
140 maxItems?: number;
141 minItems?: number;
142 uniqueItems?: boolean;
143 maxProperties?: number;
144 minProperties?: number;
145 required?: string[];
146 enum?: any[];
147 };
148 description?: string;
149 required?: boolean;
150 deprecated?: boolean;
151 allowEmptyValue?: boolean;
152 style?: import("../interfaces/open-api-spec.interface").ParameterStyle;
153 explode?: boolean;
154 allowReserved?: boolean;
155 examples?: Record<string, ReferenceObject | import("../interfaces/open-api-spec.interface").ExampleObject>;
156 example?: any;
157 content?: import("../interfaces/open-api-spec.interface").ContentObject;
158 } | {
159 schema: {
160 type: string;
161 items: import("lodash").Dictionary<any>;
162 nullable?: boolean;
163 discriminator?: import("../interfaces/open-api-spec.interface").DiscriminatorObject;
164 readOnly?: boolean;
165 writeOnly?: boolean;
166 xml?: import("../interfaces/open-api-spec.interface").XmlObject;
167 externalDocs?: import("../interfaces/open-api-spec.interface").ExternalDocumentationObject;
168 example?: any;
169 deprecated?: boolean;
170 allOf?: (SchemaObject | ReferenceObject)[];
171 oneOf?: (SchemaObject | ReferenceObject)[];
172 anyOf?: (SchemaObject | ReferenceObject)[];
173 not?: SchemaObject | ReferenceObject;
174 properties?: Record<string, SchemaObject | ReferenceObject>;
175 additionalProperties?: boolean | SchemaObject | ReferenceObject;
176 patternProperties?: any;
177 description?: string;
178 format?: string;
179 default?: any;
180 title?: string;
181 multipleOf?: number;
182 maximum?: number;
183 exclusiveMaximum?: boolean;
184 minimum?: number;
185 exclusiveMinimum?: boolean;
186 maxLength?: number;
187 minLength?: number;
188 pattern?: string;
189 maxItems?: number;
190 minItems?: number;
191 uniqueItems?: boolean;
192 maxProperties?: number;
193 minProperties?: number;
194 required?: string[];
195 enum?: any[];
196 };
197 name?: string | number | object;
198 type?: import("@nestjs/common").Type<unknown> & string;
199 in?: import("../interfaces/open-api-spec.interface").ParameterLocation | "body" | "placeholder";
200 isArray?: boolean;
201 required?: true & string[];
202 enum?: unknown[] & any[];
203 enumName?: string;
204 nullable?: boolean;
205 discriminator?: import("../interfaces/open-api-spec.interface").DiscriminatorObject;
206 readOnly?: boolean;
207 writeOnly?: boolean;
208 xml?: import("../interfaces/open-api-spec.interface").XmlObject;
209 externalDocs?: import("../interfaces/open-api-spec.interface").ExternalDocumentationObject;
210 example?: any;
211 deprecated?: boolean;
212 allOf?: (SchemaObject | ReferenceObject)[];
213 oneOf?: (SchemaObject | ReferenceObject)[];
214 anyOf?: (SchemaObject | ReferenceObject)[];
215 not?: SchemaObject | ReferenceObject;
216 items?: SchemaObject | ReferenceObject;
217 properties?: Record<string, SchemaObject | ReferenceObject>;
218 additionalProperties?: boolean | SchemaObject | ReferenceObject;
219 patternProperties?: any;
220 description?: string;
221 format?: string;
222 default?: any;
223 title?: string;
224 multipleOf?: number;
225 maximum?: number;
226 exclusiveMaximum?: boolean;
227 minimum?: number;
228 exclusiveMinimum?: boolean;
229 maxLength?: number;
230 minLength?: number;
231 pattern?: string;
232 maxItems?: number;
233 minItems?: number;
234 uniqueItems?: boolean;
235 maxProperties?: number;
236 minProperties?: number;
237 };
238 private getSchemaOptions;
239 private isEnumArrayType;
240 private hasSchemaDefinition;
241 private omitParamKeys;
242 private getSchemaOptionsKeys;
243}