@eggjs/controller-decorator
Version:
tegg controller decorator
101 lines • 12 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const core_decorator_1 = require("@eggjs/core-decorator");
const tegg_types_1 = require("@eggjs/tegg-types");
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
const HTTPInfoUtil_1 = __importDefault(require("./HTTPInfoUtil"));
class WebSocketInfoUtil {
static setWebSocketPath(path, clazz) {
core_decorator_1.MetadataUtil.defineMetaData(tegg_types_1.CONTROLLER_WEBSOCKET_PATH, path, clazz);
}
static getWebSocketPath(clazz) {
return core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_WEBSOCKET_PATH, clazz);
}
static setWebSocketMethodPath(path, clazz, methodName) {
const methodPathMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_WEBSOCKET_METHOD_PATH_MAP, clazz, new Map());
methodPathMap.set(methodName, path);
}
static getWebSocketMethodPath(clazz, methodName) {
const methodPathMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_WEBSOCKET_METHOD_PATH_MAP, clazz);
return methodPathMap === null || methodPathMap === void 0 ? void 0 : methodPathMap.get(methodName);
}
static setWebSocketMethodParamType(paramType, parameterIndex, clazz, methodName) {
const methodParamMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_WEBSOCKET_METHOD_PARAM_TYPE_MAP, clazz, new Map());
const paramMap = tegg_common_util_1.MapUtil.getOrStore(methodParamMap, methodName, new Map());
paramMap.set(parameterIndex, paramType);
}
static getParamIndexList(clazz, methodName) {
const methodParamMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_WEBSOCKET_METHOD_PARAM_TYPE_MAP, clazz);
const paramMap = methodParamMap === null || methodParamMap === void 0 ? void 0 : methodParamMap.get(methodName);
if (!paramMap) {
return [];
}
return Array.from(paramMap.keys());
}
static getCompatibleParamIndexList(clazz, methodName) {
return Array.from(new Set([
...this.getParamIndexList(clazz, methodName),
...HTTPInfoUtil_1.default.getParamIndexList(clazz, methodName),
]));
}
static getWebSocketMethodParamType(parameterIndex, clazz, methodName) {
const methodParamMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_WEBSOCKET_METHOD_PARAM_TYPE_MAP, clazz);
const paramMap = methodParamMap === null || methodParamMap === void 0 ? void 0 : methodParamMap.get(methodName);
return paramMap === null || paramMap === void 0 ? void 0 : paramMap.get(parameterIndex);
}
static getCompatibleMethodParamType(parameterIndex, clazz, methodName) {
var _a;
return (_a = this.getWebSocketMethodParamType(parameterIndex, clazz, methodName)) !== null && _a !== void 0 ? _a : this.fromHTTPParamType(HTTPInfoUtil_1.default.getHTTPMethodParamType(parameterIndex, clazz, methodName));
}
static setWebSocketMethodParamName(paramName, parameterIndex, clazz, methodName) {
const methodParamNameMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_WEBSOCKET_METHOD_PARAM_NAME_MAP, clazz, new Map());
const paramMap = tegg_common_util_1.MapUtil.getOrStore(methodParamNameMap, methodName, new Map());
paramMap.set(parameterIndex, paramName);
}
static getWebSocketMethodParamName(parameterIndex, clazz, methodName) {
const methodParamNameMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_WEBSOCKET_METHOD_PARAM_NAME_MAP, clazz);
const paramMap = methodParamNameMap === null || methodParamNameMap === void 0 ? void 0 : methodParamNameMap.get(methodName);
return paramMap === null || paramMap === void 0 ? void 0 : paramMap.get(parameterIndex);
}
static getCompatibleMethodParamName(parameterIndex, clazz, methodName) {
var _a;
return (_a = this.getWebSocketMethodParamName(parameterIndex, clazz, methodName)) !== null && _a !== void 0 ? _a : HTTPInfoUtil_1.default.getHTTPMethodParamName(parameterIndex, clazz, methodName);
}
static getWebSocketMethodPriority(clazz, methodName) {
const methodPriorityMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_WEBSOCKET_METHOD_PRIORITY, clazz);
return methodPriorityMap === null || methodPriorityMap === void 0 ? void 0 : methodPriorityMap.get(methodName);
}
static setWebSocketMethodPriority(priority, clazz, methodName) {
const methodPriorityMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_WEBSOCKET_METHOD_PRIORITY, clazz, new Map());
methodPriorityMap.set(methodName, priority);
}
static setWebSocketFetchMethodType(type, clazz, methodName) {
const methodTypeMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_WEBSOCKET_FETCH_METHOD_TYPE_MAP, clazz, new Map());
methodTypeMap.set(methodName, type);
}
static getWebSocketFetchMethodType(clazz, methodName) {
const methodTypeMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_WEBSOCKET_FETCH_METHOD_TYPE_MAP, clazz);
return methodTypeMap === null || methodTypeMap === void 0 ? void 0 : methodTypeMap.get(methodName);
}
static fromHTTPParamType(paramType) {
switch (paramType) {
case tegg_types_1.HTTPParamType.PARAM:
return tegg_types_1.WebSocketParamType.PARAM;
case tegg_types_1.HTTPParamType.QUERY:
return tegg_types_1.WebSocketParamType.QUERY;
case tegg_types_1.HTTPParamType.QUERIES:
return tegg_types_1.WebSocketParamType.QUERIES;
case tegg_types_1.HTTPParamType.HEADERS:
return tegg_types_1.WebSocketParamType.HEADERS;
case tegg_types_1.HTTPParamType.REQUEST:
return tegg_types_1.WebSocketParamType.REQUEST;
default:
return undefined;
}
}
}
exports.default = WebSocketInfoUtil;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViU29ja2V0SW5mb1V0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9XZWJTb2NrZXRJbmZvVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDBEQUFxRDtBQUNyRCxrREFXMkI7QUFDM0IsOERBQWtEO0FBQ2xELGtFQUEwQztBQVExQyxNQUFxQixpQkFBaUI7SUFDcEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQVksRUFBRSxLQUF3QjtRQUM1RCw2QkFBWSxDQUFDLGNBQWMsQ0FBQyxzQ0FBeUIsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUF3QjtRQUM5QyxPQUFPLDZCQUFZLENBQUMsV0FBVyxDQUFDLHNDQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBWSxFQUFFLEtBQXdCLEVBQUUsVUFBa0I7UUFDdEYsTUFBTSxhQUFhLEdBQUcsNkJBQVksQ0FBQyxrQkFBa0IsQ0FBQyxpREFBb0MsRUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzlHLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUMsS0FBd0IsRUFBRSxVQUFrQjtRQUN4RSxNQUFNLGFBQWEsR0FBdUMsNkJBQVksQ0FBQyxXQUFXLENBQUMsaURBQW9DLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEksT0FBTyxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxNQUFNLENBQUMsMkJBQTJCLENBQUMsU0FBNkIsRUFBRSxjQUFzQixFQUFFLEtBQXdCLEVBQUUsVUFBa0I7UUFD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