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