naily
Version:
写了一个没有模块系统的 Minimal Nest.js 写着玩的~
47 lines • 2.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.analysisParameter = exports.initParameter = void 0;
const http_decorator_1 = require("../decorator/http.decorator");
function initParameter(controllerMetadata) {
const queryMetadata = Reflect.getMetadata(http_decorator_1.HTTP_KEY.Query, controllerMetadata.clazz);
const paramMetadata = Reflect.getMetadata(http_decorator_1.HTTP_KEY.Param, controllerMetadata.clazz);
const bodyMetadata = Reflect.getMetadata(http_decorator_1.HTTP_KEY.Body, controllerMetadata.clazz);
const ipMetadata = Reflect.getMetadata(http_decorator_1.HTTP_KEY.Ip, controllerMetadata.clazz);
const reqMetadata = Reflect.getMetadata(http_decorator_1.HTTP_KEY.Req, controllerMetadata.clazz);
const resMetadata = Reflect.getMetadata(http_decorator_1.HTTP_KEY.Res, controllerMetadata.clazz);
return {
queryMetadata,
paramMetadata,
bodyMetadata,
ipMetadata,
reqMetadata,
resMetadata,
};
}
exports.initParameter = initParameter;
function analysisParameter(metadata, fn, req, res) {
const args = [];
if (metadata.queryMetadata && metadata.queryMetadata.name === fn.name) {
args[metadata.queryMetadata.index] = req.query;
}
if (metadata.paramMetadata && metadata.paramMetadata.name === fn.name) {
args[metadata.paramMetadata.index] = req.params;
}
if (metadata.bodyMetadata && metadata.bodyMetadata.name === fn.name) {
args[metadata.bodyMetadata.index] = req.body;
}
if (metadata.ipMetadata && metadata.ipMetadata.name === fn.name) {
args[metadata.ipMetadata.index] = req.ip;
}
if (metadata.reqMetadata && metadata.reqMetadata.name === fn.name) {
args[metadata.reqMetadata.index] = req;
}
let hasRes = false;
if (metadata.resMetadata && metadata.resMetadata.name === fn.name) {
args[metadata.resMetadata.index] = res;
hasRes = true;
}
return { args, hasRes };
}
exports.analysisParameter = analysisParameter;
//# sourceMappingURL=parameter.js.map