UNPKG

971 BTypeScriptView Raw
1import { Type } from '@nestjs/common';
2import { EnumSchemaAttributes } from '../interfaces/enum-schema-attributes.interface';
3import { ParameterObject, SchemaObject } from '../interfaces/open-api-spec.interface';
4import { SwaggerEnumType } from '../types/swagger-enum.type';
5type ParameterOptions = Omit<ParameterObject, 'in' | 'schema'>;
6interface ApiParamCommonMetadata extends ParameterOptions {
7 type?: Type<unknown> | Function | [Function] | string;
8 format?: string;
9 enum?: SwaggerEnumType;
10 enumName?: string;
11 enumSchema?: EnumSchemaAttributes;
12}
13type ApiParamMetadata = ApiParamCommonMetadata | (ApiParamCommonMetadata & {
14 enumName: string;
15 enumSchema?: EnumSchemaAttributes;
16});
17interface ApiParamSchemaHost extends ParameterOptions {
18 schema: SchemaObject;
19}
20export type ApiParamOptions = ApiParamMetadata | ApiParamSchemaHost;
21export declare function ApiParam(options: ApiParamOptions): MethodDecorator & ClassDecorator;
22export {};