@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
31 lines • 4.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RouteParamsFactory = void 0;
const enums_1 = require("../enums");
class RouteParamsFactory {
exchangeKeyForValue(key, data, { req, res, next }) {
switch (key) {
case enums_1.RouteParamTypes.NEXT:
return next;
case enums_1.RouteParamTypes.REQUEST:
return req;
case enums_1.RouteParamTypes.RESPONSE:
return res;
case enums_1.RouteParamTypes.BODY:
return data && req.body ? req.body[data] : req.body;
case enums_1.RouteParamTypes.PARAM:
return data ? req.params[data] : req.params;
case enums_1.RouteParamTypes.HOST:
const hosts = req.hosts || {};
return data ? hosts[data] : hosts;
case enums_1.RouteParamTypes.QUERY:
return data ? req.query[data] : req.query;
case enums_1.RouteParamTypes.HEADERS:
return data ? req.headers[data.toLowerCase()] : req.headers;
default:
return null;
}
}
}
exports.RouteParamsFactory = RouteParamsFactory;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcGFyYW1zLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm91dGVyL3JvdXRlLXBhcmFtcy1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9DQUF5QztBQUd6QyxNQUFhLGtCQUFrQjtJQUN0QixtQkFBbUIsQ0FDeEIsR0FBNkIsRUFBRSxJQUEyQixFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQXNDO1FBQ2xILFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDWixLQUFLLHVCQUFlLENBQUMsSUFBSTtnQkFDdkIsT0FBTyxJQUFXLENBQUM7WUFDckIsS0FBSyx1QkFBZSxDQUFDLE9BQU87Z0JBQzFCLE9BQU8sR0FBVSxDQUFDO1lBQ3BCLEtBQUssdUJBQWUsQ0FBQyxRQUFRO2dCQUMzQixPQUFPLEdBQVUsQ0FBQztZQUNwQixLQUFLLHVCQUFlLENBQUMsSUFBSTtnQkFDdkIsT0FBTyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUN0RCxLQUFLLHVCQUFlLENBQUMsS0FBSztnQkFDeEIsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7WUFDOUMsS0FBSyx1QkFBZSxDQUFDLElBQUk7Z0JBQ3ZCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUM5QixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDcEMsS0FBSyx1QkFBZSxDQUFDLEtBQUs7Z0JBQ3hCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzVDLEtBQUssdUJBQWUsQ0FBQyxPQUFPO2dCQUMxQixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUM5RDtnQkFDRSxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBekJELGdEQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Um91dGVQYXJhbVR5cGVzfSBmcm9tIFwiLi4vZW51bXNcIjtcbmltcG9ydCB7Um91dGVQYXJhbXNGYWN0b3J5SW50ZXJmYWNlfSBmcm9tIFwiLi4vY29udHJhY3RzXCI7XG5cbmV4cG9ydCBjbGFzcyBSb3V0ZVBhcmFtc0ZhY3RvcnkgaW1wbGVtZW50cyBSb3V0ZVBhcmFtc0ZhY3RvcnlJbnRlcmZhY2Uge1xuICBwdWJsaWMgZXhjaGFuZ2VLZXlGb3JWYWx1ZTxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55PiA9IGFueSwgUiA9IGFueSwgUSA9IGFueT4oXG4gICAga2V5OiBSb3V0ZVBhcmFtVHlwZXMgfCBzdHJpbmcsIGRhdGE6IHN0cmluZyB8IG9iamVjdCB8IGFueSwgeyByZXEsIHJlcywgbmV4dCB9OiB7IHJlcTogVDsgcmVzOiBSOyBuZXh0OiBGdW5jdGlvbiB9KTogUSB7XG4gICAgc3dpdGNoIChrZXkpIHtcbiAgICAgIGNhc2UgUm91dGVQYXJhbVR5cGVzLk5FWFQ6XG4gICAgICAgIHJldHVybiBuZXh0IGFzIGFueTtcbiAgICAgIGNhc2UgUm91dGVQYXJhbVR5cGVzLlJFUVVFU1Q6XG4gICAgICAgIHJldHVybiByZXEgYXMgYW55O1xuICAgICAgY2FzZSBSb3V0ZVBhcmFtVHlwZXMuUkVTUE9OU0U6XG4gICAgICAgIHJldHVybiByZXMgYXMgYW55O1xuICAgICAgY2FzZSBSb3V0ZVBhcmFtVHlwZXMuQk9EWTpcbiAgICAgICAgcmV0dXJuIGRhdGEgJiYgcmVxLmJvZHkgPyByZXEuYm9keVtkYXRhXSA6IHJlcS5ib2R5O1xuICAgICAgY2FzZSBSb3V0ZVBhcmFtVHlwZXMuUEFSQU06XG4gICAgICAgIHJldHVybiBkYXRhID8gcmVxLnBhcmFtc1tkYXRhXSA6IHJlcS5wYXJhbXM7XG4gICAgICBjYXNlIFJvdXRlUGFyYW1UeXBlcy5IT1NUOlxuICAgICAgICBjb25zdCBob3N0cyA9IHJlcS5ob3N0cyB8fCB7fTtcbiAgICAgICAgcmV0dXJuIGRhdGEgPyBob3N0c1tkYXRhXSA6IGhvc3RzO1xuICAgICAgY2FzZSBSb3V0ZVBhcmFtVHlwZXMuUVVFUlk6XG4gICAgICAgIHJldHVybiBkYXRhID8gcmVxLnF1ZXJ5W2RhdGFdIDogcmVxLnF1ZXJ5O1xuICAgICAgY2FzZSBSb3V0ZVBhcmFtVHlwZXMuSEVBREVSUzpcbiAgICAgICAgcmV0dXJuIGRhdGEgPyByZXEuaGVhZGVyc1tkYXRhLnRvTG93ZXJDYXNlKCldIDogcmVxLmhlYWRlcnM7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==