UNPKG

1.74 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const route_paramtypes_enum_1 = require("@nestjs/common/enums/route-paramtypes.enum");
4class RouteParamsFactory {
5 exchangeKeyForValue(key, data, { req, res, next }) {
6 switch (key) {
7 case route_paramtypes_enum_1.RouteParamtypes.NEXT:
8 return next;
9 case route_paramtypes_enum_1.RouteParamtypes.REQUEST:
10 return req;
11 case route_paramtypes_enum_1.RouteParamtypes.RESPONSE:
12 return res;
13 case route_paramtypes_enum_1.RouteParamtypes.BODY:
14 return data && req.body ? req.body[data] : req.body;
15 case route_paramtypes_enum_1.RouteParamtypes.PARAM:
16 return data ? req.params[data] : req.params;
17 case route_paramtypes_enum_1.RouteParamtypes.HOST:
18 const hosts = req.hosts || {};
19 return data ? hosts[data] : hosts;
20 case route_paramtypes_enum_1.RouteParamtypes.QUERY:
21 return data ? req.query[data] : req.query;
22 case route_paramtypes_enum_1.RouteParamtypes.HEADERS:
23 return data ? req.headers[data] : req.headers;
24 case route_paramtypes_enum_1.RouteParamtypes.SESSION:
25 return req.session;
26 case route_paramtypes_enum_1.RouteParamtypes.FILE:
27 return req[data || 'file'];
28 case route_paramtypes_enum_1.RouteParamtypes.FILES:
29 return req.files;
30 case route_paramtypes_enum_1.RouteParamtypes.IP:
31 return req.ip;
32 default:
33 return null;
34 }
35 }
36}
37exports.RouteParamsFactory = RouteParamsFactory;