@eggjs/controller-decorator
Version:
tegg controller decorator
87 lines • 10.4 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.HTTPBody = HTTPBody;
exports.HTTPHeaders = HTTPHeaders;
exports.HTTPQuery = HTTPQuery;
exports.HTTPQueries = HTTPQueries;
exports.HTTPParam = HTTPParam;
exports.Request = Request;
exports.Cookies = Cookies;
const node_assert_1 = __importDefault(require("node:assert"));
const tegg_types_1 = require("@eggjs/tegg-types");
const HTTPInfoUtil_1 = __importDefault(require("../../util/HTTPInfoUtil"));
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
// TODO url params
// /foo/:id
// refactor HTTPQuery, HTTPBody, HTTPParam
function HTTPBody() {
return function (target, propertyKey, parameterIndex) {
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
const methodName = propertyKey;
const controllerClazz = target.constructor;
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.BODY, parameterIndex, controllerClazz, methodName);
};
}
function HTTPHeaders() {
return function (target, propertyKey, parameterIndex) {
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
const methodName = propertyKey;
const controllerClazz = target.constructor;
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.HEADERS, parameterIndex, controllerClazz, methodName);
};
}
function HTTPQuery(param) {
return function (target, propertyKey, parameterIndex) {
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
const methodName = propertyKey;
const controllerClazz = target.constructor;
const argNames = tegg_common_util_1.ObjectUtils.getFunctionArgNameList(target[propertyKey]);
const name = (param === null || param === void 0 ? void 0 : param.name) || argNames[parameterIndex];
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.QUERY, parameterIndex, controllerClazz, methodName);
HTTPInfoUtil_1.default.setHTTPMethodParamName(name, parameterIndex, controllerClazz, methodName);
};
}
function HTTPQueries(param) {
return function (target, propertyKey, parameterIndex) {
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
const methodName = propertyKey;
const controllerClazz = target.constructor;
const argNames = tegg_common_util_1.ObjectUtils.getFunctionArgNameList(target[propertyKey]);
const name = (param === null || param === void 0 ? void 0 : param.name) || argNames[parameterIndex];
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.QUERIES, parameterIndex, controllerClazz, methodName);
HTTPInfoUtil_1.default.setHTTPMethodParamName(name, parameterIndex, controllerClazz, methodName);
};
}
function HTTPParam(param) {
return function (target, propertyKey, parameterIndex) {
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
const methodName = propertyKey;
const controllerClazz = target.constructor;
const argNames = tegg_common_util_1.ObjectUtils.getFunctionArgNameList(target[propertyKey]);
const name = (param === null || param === void 0 ? void 0 : param.name) || argNames[parameterIndex];
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.PARAM, parameterIndex, controllerClazz, methodName);
HTTPInfoUtil_1.default.setHTTPMethodParamName(name, parameterIndex, controllerClazz, methodName);
};
}
function Request() {
return function (target, propertyKey, parameterIndex) {
const [nodeMajor] = process.versions.node.split('.').map(v => Number(v));
(0, node_assert_1.default)(nodeMajor >= 16, `[controller/${target.name}] expect node version >=16, but now is ${nodeMajor}`);
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
const methodName = propertyKey;
const controllerClazz = target.constructor;
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.REQUEST, parameterIndex, controllerClazz, methodName);
};
}
function Cookies() {
return function (target, propertyKey, parameterIndex) {
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
const methodName = propertyKey;
const controllerClazz = target.constructor;
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.COOKIES, parameterIndex, controllerClazz, methodName);
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUFBhcmFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RlY29yYXRvci9odHRwL0hUVFBQYXJhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVVBLDRCQVFDO0FBRUQsa0NBUUM7QUFFRCw4QkFXQztBQUVELGtDQVdDO0FBRUQsOEJBV0M7QUFFRCwwQkFXQztBQUVELDBCQVFDO0FBMUZELDhEQUFpQztBQUNqQyxrREFBa0Q7QUFFbEQsMkVBQW1EO0FBQ25ELDhEQUFzRDtBQUV0RCxrQkFBa0I7QUFDbEIsV0FBVztBQUNYLDBDQUEwQztBQUUxQyxTQUFnQixRQUFRO0lBQ3RCLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0IsRUFBRSxjQUFzQjtRQUMzRSxJQUFBLHFCQUFNLEVBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxlQUFlLE1BQU0sQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7UUFDaEUsc0JBQVksQ0FBQyxzQkFBc0IsQ0FBQywwQkFBYSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZHLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixXQUFXO0lBQ3pCLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0IsRUFBRSxjQUFzQjtRQUMzRSxJQUFBLHFCQUFNLEVBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxlQUFlLE1BQU0sQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7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