UNPKG

@eggjs/controller-decorator

Version:

tegg controller decorator

201 lines 12.7 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.WebSocketParamMetaUtil = exports.WebSocketMethodMeta = exports.WebSocketCloseReasonParamMeta = exports.WebSocketCloseCodeParamMeta = exports.WebSocketErrorParamMeta = exports.WebSocketCloseParamMeta = exports.WebSocketDataParamMeta = exports.WebSocketStreamParamMeta = exports.WebSocketSocketParamMeta = exports.WebSocketRequestParamMeta = exports.WebSocketHeadersParamMeta = exports.WebSocketQueriesParamMeta = exports.WebSocketQueryParamMeta = exports.WebSocketPathParamMeta = exports.WebSocketParamMeta = 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 WebSocketParamMeta { } exports.WebSocketParamMeta = WebSocketParamMeta; class WebSocketPathParamMeta extends WebSocketParamMeta { constructor(name) { super(); this.type = tegg_types_1.WebSocketParamType.PARAM; this.name = name; } validate(webSocketPath) { const names = []; (0, path_to_regexp_1.default)(webSocketPath, names); if (!names.find(name => String(name.name) === this.name)) { throw new Error(`can not find param ${this.name} in path ${webSocketPath}`); } } } exports.WebSocketPathParamMeta = WebSocketPathParamMeta; class WebSocketQueryParamMeta extends WebSocketParamMeta { constructor(name) { super(); this.type = tegg_types_1.WebSocketParamType.QUERY; this.name = name; } validate() { return; } } exports.WebSocketQueryParamMeta = WebSocketQueryParamMeta; class WebSocketQueriesParamMeta extends WebSocketParamMeta { constructor(name) { super(); this.type = tegg_types_1.WebSocketParamType.QUERIES; this.name = name; } validate() { return; } } exports.WebSocketQueriesParamMeta = WebSocketQueriesParamMeta; class WebSocketHeadersParamMeta extends WebSocketParamMeta { constructor() { super(...arguments); this.type = tegg_types_1.WebSocketParamType.HEADERS; } validate() { return; } } exports.WebSocketHeadersParamMeta = WebSocketHeadersParamMeta; class WebSocketRequestParamMeta extends WebSocketParamMeta { constructor() { super(...arguments); this.type = tegg_types_1.WebSocketParamType.REQUEST; } validate() { return; } } exports.WebSocketRequestParamMeta = WebSocketRequestParamMeta; class WebSocketSocketParamMeta extends WebSocketParamMeta { constructor() { super(...arguments); this.type = tegg_types_1.WebSocketParamType.SOCKET; } validate() { return; } } exports.WebSocketSocketParamMeta = WebSocketSocketParamMeta; class WebSocketStreamParamMeta extends WebSocketParamMeta { constructor() { super(...arguments); this.type = tegg_types_1.WebSocketParamType.STREAM; } validate() { return; } } exports.WebSocketStreamParamMeta = WebSocketStreamParamMeta; class WebSocketDataParamMeta extends WebSocketParamMeta { constructor() { super(...arguments); this.type = tegg_types_1.WebSocketParamType.DATA; } validate() { return; } } exports.WebSocketDataParamMeta = WebSocketDataParamMeta; class WebSocketCloseParamMeta extends WebSocketParamMeta { constructor() { super(...arguments); this.type = tegg_types_1.WebSocketParamType.CLOSE; } validate() { return; } } exports.WebSocketCloseParamMeta = WebSocketCloseParamMeta; class WebSocketErrorParamMeta extends WebSocketParamMeta { constructor() { super(...arguments); this.type = tegg_types_1.WebSocketParamType.ERROR; } validate() { return; } } exports.WebSocketErrorParamMeta = WebSocketErrorParamMeta; class WebSocketCloseCodeParamMeta extends WebSocketParamMeta { constructor() { super(...arguments); this.type = tegg_types_1.WebSocketParamType.CLOSE_CODE; } validate() { return; } } exports.WebSocketCloseCodeParamMeta = WebSocketCloseCodeParamMeta; class WebSocketCloseReasonParamMeta extends WebSocketParamMeta { constructor() { super(...arguments); this.type = tegg_types_1.WebSocketParamType.CLOSE_REASON; } validate() { return; } } exports.WebSocketCloseReasonParamMeta = WebSocketCloseReasonParamMeta; class WebSocketMethodMeta { constructor(name, path, middlewares, contextParamIndex, paramMap, priority, hosts, timeout) { this.name = name; this.path = path; this.middlewares = middlewares; this.contextParamIndex = contextParamIndex; this.paramMap = paramMap; this.priority = priority; this.hosts = hosts; this.timeout = timeout; } } exports.WebSocketMethodMeta = WebSocketMethodMeta; class WebSocketParamMetaUtil { static createParam(type, name) { switch (type) { case tegg_types_1.WebSocketParamType.PARAM: { (0, node_assert_1.default)(name, 'websocket path param must has name'); return new WebSocketPathParamMeta(name); } case tegg_types_1.WebSocketParamType.QUERY: { (0, node_assert_1.default)(name, 'websocket query param must has name'); return new WebSocketQueryParamMeta(name); } case tegg_types_1.WebSocketParamType.QUERIES: { (0, node_assert_1.default)(name, 'websocket queries param must has name'); return new WebSocketQueriesParamMeta(name); } case tegg_types_1.WebSocketParamType.HEADERS: { return new WebSocketHeadersParamMeta(); } case tegg_types_1.WebSocketParamType.REQUEST: { return new WebSocketRequestParamMeta(); } case tegg_types_1.WebSocketParamType.SOCKET: { return new WebSocketSocketParamMeta(); } case tegg_types_1.WebSocketParamType.STREAM: { return new WebSocketStreamParamMeta(); } case tegg_types_1.WebSocketParamType.DATA: { return new WebSocketDataParamMeta(); } case tegg_types_1.WebSocketParamType.CLOSE: { return new WebSocketCloseParamMeta(); } case tegg_types_1.WebSocketParamType.ERROR: { return new WebSocketErrorParamMeta(); } case tegg_types_1.WebSocketParamType.CLOSE_CODE: { return new WebSocketCloseCodeParamMeta(); } case tegg_types_1.WebSocketParamType.CLOSE_REASON: { return new WebSocketCloseReasonParamMeta(); } default: node_assert_1.default.fail('never arrive'); } } } exports.WebSocketParamMetaUtil = WebSocketParamMetaUtil; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViU29ja2V0TWV0aG9kTWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9XZWJTb2NrZXRNZXRob2RNZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhEQUFpQztBQUNqQyxvRUFBMEM7QUFDMUMsa0RBQXVEO0FBR3ZELE1BQXNCLGtCQUFrQjtDQUl2QztBQUpELGdEQUlDO0FBRUQsTUFBYSxzQkFBdUIsU0FBUSxrQkFBa0I7SUFJNUQsWUFBWSxJQUFZO1FBQ3RCLEtBQUssRUFBRSxDQUFDO1FBSlYsU0FBSSxHQUFHLCtCQUFrQixDQUFDLEtBQUssQ0FBQztRQUs5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxDQUFDLGFBQXFCO1FBQzVCLE1BQU0sS0FBSyxHQUF1QixFQUFFLENBQUM7UUFDckMsSUFBQSx3QkFBWSxFQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDekQsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLElBQUksWUFBWSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFoQkQsd0RBZ0JDO0FBRUQsTUFBYSx1QkFBd0IsU0FBUSxrQkFBa0I7SUFJN0QsWUFBWSxJQUFZO1FBQ3RCLEtBQUssRUFBRSxDQUFDO1FBSlYsU0FBSSxHQUFHLCtCQUFrQixDQUFDLEtBQUssQ0FBQztRQUs5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU87SUFDVCxDQUFDO0NBQ0Y7QUFaRCwwREFZQztB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