UNPKG

1.08 kBTypeScriptView Raw
1import { Type } from '@nestjs/common';
2import { EnumSchemaAttributes } from '../interfaces/enum-schema-attributes.interface';
3import { ParameterObject, ReferenceObject, SchemaObject } from '../interfaces/open-api-spec.interface';
4import { SwaggerEnumType } from '../types/swagger-enum.type';
5type ParameterOptions = Omit<ParameterObject, 'in' | 'schema' | 'name'>;
6interface ApiQueryCommonMetadata extends ParameterOptions {
7 type?: Type<unknown> | Function | [Function] | string;
8 isArray?: boolean;
9 enum?: SwaggerEnumType;
10}
11export type ApiQueryMetadata = ApiQueryCommonMetadata | ({
12 name: string;
13} & ApiQueryCommonMetadata & Omit<SchemaObject, 'required'>) | ({
14 name?: string;
15 enumName: string;
16 enumSchema?: EnumSchemaAttributes;
17} & ApiQueryCommonMetadata);
18interface ApiQuerySchemaHost extends ParameterOptions {
19 name?: string;
20 schema: SchemaObject | ReferenceObject;
21}
22export type ApiQueryOptions = ApiQueryMetadata | ApiQuerySchemaHost;
23export declare function ApiQuery(options: ApiQueryOptions): MethodDecorator & ClassDecorator;
24export {};