UNPKG

@softkit/i18n

Version:

This library is a simple wrapper based on [nestjs-i18n](https://nestjs-i18n.com/)

49 lines 1.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CookieResolver = void 0; const tslib_1 = require("tslib"); const cookie_1 = tslib_1.__importDefault(require("cookie")); const common_1 = require("@nestjs/common"); const decorators_1 = require("../decorators"); /** * Simple resolver to fetch language/locale from cookie */ let CookieResolver = class CookieResolver { constructor(cookieNames = ['lang']) { this.cookieNames = cookieNames; } resolve(context) { let req; switch (context.getType()) { case 'http': { req = context.switchToHttp().getRequest(); req = req.raw ?? req; break; } case 'graphql': { [, , { req }] = context.getArgs(); break; } } if (req) { if (!req.cookies && req.headers.cookie) { req.cookies = cookie_1.default.parse(req.headers.cookie); } if (req.cookies) { for (const i in this.cookieNames) { if (req.cookies[this.cookieNames[i]]) { return req.cookies[this.cookieNames[i]]; } } } } return undefined; } }; exports.CookieResolver = CookieResolver; exports.CookieResolver = CookieResolver = tslib_1.__decorate([ (0, common_1.Injectable)(), tslib_1.__param(0, (0, decorators_1.I18nResolverOptions)()), tslib_1.__metadata("design:paramtypes", [Array]) ], CookieResolver); //# sourceMappingURL=cookie.resolver.js.map