@eggjs/controller-decorator
Version:
tegg controller decorator
201 lines • 12.7 kB
JavaScript
;
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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