UNPKG

6.1 kBTypeScriptView Raw
1import { Type } from '@nestjs/common';
2import { BaseParameterObject, ParameterObject, ReferenceObject, SchemaObject } from '../interfaces/open-api-spec.interface';
3import { SchemaObjectMetadata } from '../interfaces/schema-object-metadata.interface';
4import { ModelPropertiesAccessor } from './model-properties-accessor';
5import { ParamWithTypeMetadata } from './parameter-metadata-accessor';
6import { SwaggerTypesMapper } from './swagger-types-mapper';
7export declare class SchemaObjectFactory {
8 private readonly modelPropertiesAccessor;
9 private readonly swaggerTypesMapper;
10 constructor(modelPropertiesAccessor: ModelPropertiesAccessor, swaggerTypesMapper: SwaggerTypesMapper);
11 createFromModel(parameters: ParamWithTypeMetadata[], schemas: Record<string, SchemaObject>): Array<ParamWithTypeMetadata | BaseParameterObject>;
12 createQueryOrParamSchema(param: ParamWithTypeMetadata, schemas: Record<string, SchemaObject>): ParamWithTypeMetadata | Partial<ParamWithTypeMetadata & BaseParameterObject> | ParameterObject[] | {
13 type: string;
14 name?: string | number | object;
15 in?: import("../interfaces/open-api-spec.interface").ParameterLocation | "body" | "placeholder";
16 isArray?: boolean;
17 required: true;
18 enum?: unknown[];
19 enumName?: string;
20 format: string;
21 };
22 extractPropertiesFromType(type: Type<unknown>, schemas: Record<string, SchemaObject>, pendingSchemasRefs?: string[]): ParameterObject[];
23 exploreModelSchema(type: Type<unknown> | Function, schemas: Record<string, SchemaObject>, pendingSchemasRefs?: string[]): string;
24 mergePropertyWithMetadata(key: string, prototype: Type<unknown>, schemas: Record<string, SchemaObject>, pendingSchemaRefs: string[], metadata?: SchemaObjectMetadata): SchemaObjectMetadata | ReferenceObject | ParameterObject;
25 createEnumParam(param: ParamWithTypeMetadata & BaseParameterObject, schemas: Record<string, SchemaObject>): Partial<ParamWithTypeMetadata & BaseParameterObject>;
26 createEnumSchemaType(key: string, metadata: SchemaObjectMetadata, schemas: Record<string, SchemaObject>): Partial<{
27 $ref: string;
28 items?: SchemaObject | ReferenceObject;
29 name: string;
30 type: string;
31 isArray?: boolean;
32 required?: boolean;
33 enumName?: string;
34 externalDocs?: import("../interfaces/open-api-spec.interface").ExternalDocumentationObject;
35 nullable?: boolean;
36 discriminator?: import("../interfaces/open-api-spec.interface").DiscriminatorObject;
37 readOnly?: boolean;
38 writeOnly?: boolean;
39 xml?: import("../interfaces/open-api-spec.interface").XmlObject;
40 example?: any;
41 deprecated?: boolean;
42 allOf?: (SchemaObject | ReferenceObject)[];
43 oneOf?: (SchemaObject | ReferenceObject)[];
44 anyOf?: (SchemaObject | ReferenceObject)[];
45 not?: SchemaObject | ReferenceObject;
46 properties?: Record<string, SchemaObject | ReferenceObject>;
47 additionalProperties?: boolean | SchemaObject | ReferenceObject;
48 patternProperties?: any;
49 description?: string;
50 format?: string;
51 default?: any;
52 title?: string;
53 multipleOf?: number;
54 maximum?: number;
55 exclusiveMaximum?: boolean;
56 minimum?: number;
57 exclusiveMinimum?: boolean;
58 maxLength?: number;
59 minLength?: number;
60 pattern?: string;
61 maxItems?: number;
62 minItems?: number;
63 uniqueItems?: boolean;
64 maxProperties?: number;
65 minProperties?: number;
66 enum?: any[];
67 }> | {
68 name: string;
69 type?: string | Function | Record<string, any> | Type<unknown> | [Function];
70 isArray?: boolean;
71 required?: boolean;
72 enumName?: string;
73 externalDocs?: import("../interfaces/open-api-spec.interface").ExternalDocumentationObject;
74 nullable?: boolean;
75 discriminator?: import("../interfaces/open-api-spec.interface").DiscriminatorObject;
76 readOnly?: boolean;
77 writeOnly?: boolean;
78 xml?: import("../interfaces/open-api-spec.interface").XmlObject;
79 example?: any;
80 deprecated?: boolean;
81 allOf?: (SchemaObject | ReferenceObject)[];
82 oneOf?: (SchemaObject | ReferenceObject)[];
83 anyOf?: (SchemaObject | ReferenceObject)[];
84 not?: SchemaObject | ReferenceObject;
85 items?: SchemaObject | ReferenceObject;
86 properties?: Record<string, SchemaObject | ReferenceObject>;
87 additionalProperties?: boolean | SchemaObject | ReferenceObject;
88 patternProperties?: any;
89 description?: string;
90 format?: string;
91 default?: any;
92 title?: string;
93 multipleOf?: number;
94 maximum?: number;
95 exclusiveMaximum?: boolean;
96 minimum?: number;
97 exclusiveMinimum?: boolean;
98 maxLength?: number;
99 minLength?: number;
100 pattern?: string;
101 maxItems?: number;
102 minItems?: number;
103 uniqueItems?: boolean;
104 maxProperties?: number;
105 minProperties?: number;
106 enum?: any[];
107 };
108 createNotBuiltInTypeReference(key: string, metadata: SchemaObjectMetadata, trueMetadataType: unknown, schemas: Record<string, SchemaObject>, pendingSchemaRefs: string[]): SchemaObjectMetadata;
109 transformToArraySchemaProperty(metadata: SchemaObjectMetadata, key: string, type: string | Record<string, any>): SchemaObjectMetadata;
110 mapArrayCtorParam(param: ParamWithTypeMetadata): any;
111 createFromObjectLiteral(key: string, literalObj: Record<string, any>, schemas: Record<string, SchemaObject>): {
112 name: string;
113 type: string;
114 properties: {};
115 };
116 createFromNestedArray(key: string, metadata: SchemaObjectMetadata, schemas: Record<string, SchemaObject>, pendingSchemaRefs: string[]): any;
117 private createSchemaMetadata;
118 private isArrayCtor;
119 private isPrimitiveType;
120 private isLazyTypeFunc;
121 private getTypeName;
122 private isObjectLiteral;
123 private extractPropertyModifiers;
124}