@eggjs/controller-decorator
Version:
tegg controller decorator
55 lines • 5.94 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.WebSocketFetchMethod = WebSocketFetchMethod;
exports.WebSocketFetchOnConnection = WebSocketFetchOnConnection;
exports.WebSocketFetchOnOpen = WebSocketFetchOnOpen;
exports.WebSocketFetchOnError = WebSocketFetchOnError;
exports.WebSocketFetchOnClose = WebSocketFetchOnClose;
const node_assert_1 = __importDefault(require("node:assert"));
const tegg_types_1 = require("@eggjs/tegg-types");
const MethodInfoUtil_1 = __importDefault(require("../../util/MethodInfoUtil"));
const WebSocketInfoUtil_1 = __importDefault(require("../../util/WebSocketInfoUtil"));
function setWebSocketFetchMethodType(target, propertyKey, methodType, timeout) {
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
const controllerClazz = target.constructor;
const methodName = propertyKey;
MethodInfoUtil_1.default.setMethodControllerType(controllerClazz, methodName, tegg_types_1.ControllerType.WEBSOCKET_FETCH);
WebSocketInfoUtil_1.default.setWebSocketFetchMethodType(methodType, controllerClazz, methodName);
if (timeout !== undefined) {
MethodInfoUtil_1.default.setMethodTimeout(timeout, controllerClazz, methodName);
}
return { controllerClazz, methodName };
}
function WebSocketFetchMethod(param) {
return function (target, propertyKey) {
const { controllerClazz, methodName } = setWebSocketFetchMethodType(target, propertyKey, tegg_types_1.WebSocketFetchMethodType.DATA, param === null || param === void 0 ? void 0 : param.timeout);
WebSocketInfoUtil_1.default.setWebSocketMethodPath('', controllerClazz, methodName);
if ((param === null || param === void 0 ? void 0 : param.priority) !== undefined) {
WebSocketInfoUtil_1.default.setWebSocketMethodPriority(param.priority, controllerClazz, methodName);
}
};
}
function WebSocketFetchOnConnection(param) {
return function (target, propertyKey) {
setWebSocketFetchMethodType(target, propertyKey, tegg_types_1.WebSocketFetchMethodType.CONNECTION, param === null || param === void 0 ? void 0 : param.timeout);
};
}
function WebSocketFetchOnOpen(param) {
return function (target, propertyKey) {
setWebSocketFetchMethodType(target, propertyKey, tegg_types_1.WebSocketFetchMethodType.OPEN, param === null || param === void 0 ? void 0 : param.timeout);
};
}
function WebSocketFetchOnError(param) {
return function (target, propertyKey) {
setWebSocketFetchMethodType(target, propertyKey, tegg_types_1.WebSocketFetchMethodType.ERROR, param === null || param === void 0 ? void 0 : param.timeout);
};
}
function WebSocketFetchOnClose(param) {
return function (target, propertyKey) {
setWebSocketFetchMethodType(target, propertyKey, tegg_types_1.WebSocketFetchMethodType.CLOSE, param === null || param === void 0 ? void 0 : param.timeout);
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViU29ja2V0RmV0Y2hNZXRob2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVjb3JhdG9yL3dlYnNvY2tldC1mZXRjaC9XZWJTb2NrZXRGZXRjaE1ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXdCQSxvREFhQztBQUVELGdFQUlDO0FBRUQsb0RBSUM7QUFFRCxzREFJQztBQUVELHNEQUlDO0FBN0RELDhEQUFpQztBQUNqQyxrREFBNkU7QUFFN0UsK0VBQXVEO0FBQ3ZELHFGQUE2RDtBQUU3RCxTQUFTLDJCQUEyQixDQUNsQyxNQUFXLEVBQ1gsV0FBd0IsRUFDeEIsVUFBb0MsRUFDcEMsT0FBZ0I7SUFFaEIsSUFBQSxxQkFBTSxFQUFDLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFDcEMsZUFBZSxNQUFNLENBQUMsSUFBSSxxREFBcUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4RyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztJQUNoRSxNQUFNLFVBQVUsR0FBRyxXQUFxQixDQUFDO0lBQ3pDLHdCQUFjLENBQUMsdUJBQXVCLENBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSwyQkFBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BHLDJCQUFpQixDQUFDLDJCQUEyQixDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdkYsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUIsd0JBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFDRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQ3pDLENBQUM7QUFFRCxTQUFnQixvQkFBb0IsQ0FBQyxLQUFrQztJQUNyRSxPQUFPLFVBQVMsTUFBVyxFQUFFLFdBQXdCO1FBQ25ELE1BQU0sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEdBQUcsMkJBQTJCLENBQ2pFLE1BQU0sRUFDTixXQUFXLEVBQ1gscUNBQXdCLENBQUMsSUFBSSxFQUM3QixLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxDQUNmLENBQUM7UUFDRiwyQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsUUFBUSxNQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLDJCQUFpQixDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzVGLENBQUM7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IsMEJBQTBCLENBQUMsS0FBMkM7SUFDcEYsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QjtRQUNuRCwyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLHFDQUF3QixDQUFDLFVBQVUsRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEcsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLG9CQUFvQixDQUFDLEtBQTJDO0lBQzlFLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0I7UUFDbkQsMkJBQTJCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxxQ0FBd0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xHLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixxQkFBcUIsQ0FBQyxLQUEyQztJQUMvRSxPQUFPLFVBQVMsTUFBVyxFQUFFLFdBQXdCO1FBQ25ELDJCQUEyQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUscUNBQXdCLENBQUMsS0FBSyxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLENBQUMsQ0FBQztJQUNuRyxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IscUJBQXFCLENBQUMsS0FBMkM7SUFDL0UsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QjtRQUNuRCwyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLHFDQUF3QixDQUFDLEtBQUssRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkcsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9