UNPKG

@tsclean/core

Version:

Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.

31 lines 4.41 kB
"use strict"; 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==