@eggjs/controller-decorator
Version:
tegg controller decorator
58 lines (57 loc) • 2.17 kB
TypeScript
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;
}