@softkit/i18n
Version:
This library is a simple wrapper based on [nestjs-i18n](https://nestjs-i18n.com/)
45 lines • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HeaderResolver = void 0;
const tslib_1 = require("tslib");
const common_1 = require("@nestjs/common");
const decorators_1 = require("../decorators");
let HeaderResolver = class HeaderResolver {
constructor(keys = []) {
this.keys = keys;
this.logger = new common_1.Logger('I18nService');
}
resolve(context) {
let req;
switch (context.getType()) {
case 'http': {
req = context.switchToHttp().getRequest();
break;
}
case 'graphql': {
[, , { req }] = context.getArgs();
break;
}
}
let lang;
if (req) {
for (const key of this.keys) {
if (key === 'accept-language') {
this.logger.warn('HeaderResolver does not support RFC4647 Accept-Language header. Please use AcceptLanguageResolver instead.');
}
if (req.headers !== undefined && req.headers[key] !== undefined) {
lang = req.headers[key];
break;
}
}
}
return lang;
}
};
exports.HeaderResolver = HeaderResolver;
exports.HeaderResolver = HeaderResolver = tslib_1.__decorate([
(0, common_1.Injectable)(),
tslib_1.__param(0, (0, decorators_1.I18nResolverOptions)()),
tslib_1.__metadata("design:paramtypes", [Array])
], HeaderResolver);
//# sourceMappingURL=header.resolver.js.map