UNPKG

@eggjs/controller-decorator

Version:

tegg controller decorator

58 lines (57 loc) 2.17 kB
import { HTTPParamType } from '@eggjs/tegg-types'; import type { HTTPMethodEnum, MethodMeta, MiddlewareFunc } from '@eggjs/tegg-types'; export declare abstract class ParamMeta { type: HTTPParamType; abstract validate(httpPath: string): any; } export declare class RequestParamMeta extends ParamMeta { type: HTTPParamType; validate(): void; } export declare class BodyParamMeta extends ParamMeta { type: HTTPParamType; validate(): void; } export declare class HeadersParamMeta extends ParamMeta { type: HTTPParamType; validate(): void; } export declare class QueryParamMeta extends ParamMeta { type: HTTPParamType; name: string; constructor(name: string); validate(): void; } export declare class QueriesParamMeta extends ParamMeta { type: HTTPParamType; name: string; constructor(name: string); validate(): void; } export declare class PathParamMeta extends ParamMeta { type: HTTPParamType; name: string; constructor(name: string); validate(httpPath: string): void; } export declare class CookiesParamMeta extends ParamMeta { type: HTTPParamType; validate(): void; } export declare class HTTPMethodMeta implements MethodMeta { readonly name: string; readonly path: string; readonly method: HTTPMethodEnum; readonly middlewares: readonly MiddlewareFunc[]; readonly contextParamIndex: number | undefined; readonly paramMap: Map<number, ParamMeta>; readonly priority: number; readonly needAcl: boolean; readonly aclCode: string | undefined; readonly hosts: string[] | undefined; readonly timeout: number | undefined; constructor(name: string, path: string, method: HTTPMethodEnum, middlewares: MiddlewareFunc[], contextParamIndex: number | undefined, paramTypeMap: Map<number, ParamMeta>, priority: number, needAcl: boolean, aclCode: string | undefined, hosts: string[] | undefined, timeout: number | undefined); } export declare class ParamMetaUtil { static createParam(type: HTTPParamType, name?: string): RequestParamMeta | BodyParamMeta | HeadersParamMeta | QueryParamMeta | QueriesParamMeta | PathParamMeta | CookiesParamMeta; }