UNPKG

@eggjs/controller-decorator

Version:

tegg controller decorator

139 lines 8.67 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ParamMetaUtil = exports.HTTPMethodMeta = exports.CookiesParamMeta = exports.PathParamMeta = exports.QueriesParamMeta = exports.QueryParamMeta = exports.HeadersParamMeta = exports.BodyParamMeta = exports.RequestParamMeta = exports.ParamMeta = void 0; const node_assert_1 = __importDefault(require("node:assert")); const path_to_regexp_1 = __importDefault(require("path-to-regexp")); const tegg_types_1 = require("@eggjs/tegg-types"); class ParamMeta { } exports.ParamMeta = ParamMeta; class RequestParamMeta extends ParamMeta { constructor() { super(...arguments); this.type = tegg_types_1.HTTPParamType.REQUEST; } validate() { return; } } exports.RequestParamMeta = RequestParamMeta; class BodyParamMeta extends ParamMeta { constructor() { super(...arguments); this.type = tegg_types_1.HTTPParamType.BODY; } validate() { return; } } exports.BodyParamMeta = BodyParamMeta; class HeadersParamMeta extends ParamMeta { constructor() { super(...arguments); this.type = tegg_types_1.HTTPParamType.HEADERS; } validate() { return; } } exports.HeadersParamMeta = HeadersParamMeta; class QueryParamMeta extends ParamMeta { constructor(name) { super(); this.type = tegg_types_1.HTTPParamType.QUERY; this.name = name; } validate() { return; } } exports.QueryParamMeta = QueryParamMeta; class QueriesParamMeta extends ParamMeta { constructor(name) { super(); this.type = tegg_types_1.HTTPParamType.QUERIES; this.name = name; } validate() { return; } } exports.QueriesParamMeta = QueriesParamMeta; class PathParamMeta extends ParamMeta { constructor(name) { super(); this.type = tegg_types_1.HTTPParamType.PARAM; this.name = name; } validate(httpPath) { const names = []; (0, path_to_regexp_1.default)(httpPath, names); if (!names.find(name => String(name.name) === this.name)) { throw new Error(`can not find param ${this.name} in path ${httpPath}`); } } } exports.PathParamMeta = PathParamMeta; class CookiesParamMeta extends ParamMeta { constructor() { super(...arguments); this.type = tegg_types_1.HTTPParamType.COOKIES; } validate() { return; } } exports.CookiesParamMeta = CookiesParamMeta; class HTTPMethodMeta { constructor(name, path, method, middlewares, contextParamIndex, paramTypeMap, priority, needAcl, aclCode, hosts, timeout) { this.name = name; this.path = path; this.method = method; this.middlewares = middlewares; this.contextParamIndex = contextParamIndex; this.paramMap = paramTypeMap; this.priority = priority; this.needAcl = needAcl; this.aclCode = aclCode; this.hosts = hosts; this.timeout = timeout; } } exports.HTTPMethodMeta = HTTPMethodMeta; class ParamMetaUtil { static createParam(type, name) { switch (type) { case tegg_types_1.HTTPParamType.PARAM: { (0, node_assert_1.default)(name, 'path param must has name'); return new PathParamMeta(name); } case tegg_types_1.HTTPParamType.BODY: { return new BodyParamMeta(); } case tegg_types_1.HTTPParamType.HEADERS: { return new HeadersParamMeta(); } case tegg_types_1.HTTPParamType.QUERIES: { (0, node_assert_1.default)(name, 'queries param must has name'); return new QueriesParamMeta(name); } case tegg_types_1.HTTPParamType.QUERY: { (0, node_assert_1.default)(name, 'query param must has name'); return new QueryParamMeta(name); } case tegg_types_1.HTTPParamType.REQUEST: { return new RequestParamMeta(); } case tegg_types_1.HTTPParamType.COOKIES: { return new CookiesParamMeta(); } default: node_assert_1.default.fail('never arrive'); } } } exports.ParamMetaUtil = ParamMetaUtil; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUE1ldGhvZE1ldGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvSFRUUE1ldGhvZE1ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQWlDO0FBQ2pDLG9FQUEwQztBQUMxQyxrREFBa0Q7QUFHbEQsTUFBc0IsU0FBUztDQUk5QjtBQUpELDhCQUlDO0FBQ0QsTUFBYSxnQkFBaUIsU0FBUSxTQUFTO0lBQS9DOztRQUNFLFNBQUksR0FBRywwQkFBYSxDQUFDLE9BQU8sQ0FBQztJQUsvQixDQUFDO0lBSEMsUUFBUTtRQUNOLE9BQU87SUFDVCxDQUFDO0NBQ0Y7QUFORCw0Q0FNQztBQUVELE1BQWEsYUFBYyxTQUFRLFNBQVM7SUFBNUM7O1FBQ0UsU0FBSSxHQUFHLDBCQUFhLENBQUMsSUFBSSxDQUFDO0lBSzVCLENBQUM7SUFIQyxRQUFRO1FBQ04sT0FBTztJQUNULENBQUM7Q0FDRjtBQU5ELHNDQU1DO0FBRUQsTUFBYSxnQkFBaUIsU0FBUSxTQUFTO0lBQS9DOztRQUNFLFNBQUksR0FBRywwQkFBYSxDQUFDLE9BQU8sQ0FBQztJQUsvQixDQUFDO0lBSEMsUUFBUTtRQUNOLE9BQU87SUFDVCxDQUFDO0NBQ0Y7QUFORCw0Q0FNQztBQUVELE1BQWEsY0FBZSxTQUFRLFNBQVM7SUFJM0MsWUFBWSxJQUFZO1FBQ3RCLEtBQUssRUFBRSxDQUFDO1FBSlYsU0FBSSxHQUFHLDBCQUFhLENBQUMsS0FBSyxDQUFDO1FBS3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTztJQUNULENBQUM7Q0FDRjtBQVpELHdDQVlDO0FBRUQsTUFBYSxnQkFBaUIsU0FBUSxTQUFTO0lBSTdDLFlBQVksSUFBWTtRQUN0QixLQUFLLEVBQUUsQ0FBQztRQUpWLFNBQUksR0FBRywwQkFBYSxDQUFDLE9BQU8sQ0FBQztRQUszQixJQUFJLENBQUMsSUFBSSxH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