Socket
Socket
Sign inDemoInstall

@os-team/i18next-express-middleware

Package Overview
Dependencies
67
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.3 to 1.0.4

44

dist/esm/index.js

@@ -1,4 +0,42 @@

export { default as i18nextMiddleware } from './utils/i18nextMiddleware';
export { default as LanguageDetector } from './utils/LanguageDetector';
export * from './utils/types';
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {
i18nextMiddleware: true,
LanguageDetector: true
};
Object.defineProperty(exports, "i18nextMiddleware", {
enumerable: true,
get: function get() {
return _i18nextMiddleware.default;
}
});
Object.defineProperty(exports, "LanguageDetector", {
enumerable: true,
get: function get() {
return _LanguageDetector.default;
}
});
var _i18nextMiddleware = _interopRequireDefault(require("./utils/i18nextMiddleware"));
var _LanguageDetector = _interopRequireDefault(require("./utils/LanguageDetector"));
var _types = require("./utils/types");
Object.keys(_types).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _types[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function get() {
return _types[key];
}
});
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//# sourceMappingURL=index.js.map

13

dist/esm/utils/detectors/cookieDetector.js

@@ -1,9 +0,16 @@

const cookieDetector = {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var cookieDetector = {
name: 'cookie',
detect: (req, options) => {
const cookieKey = options && options.cookie ? options.cookie : 'i18next';
var cookieKey = options && options.cookie ? options.cookie : 'i18next';
return req.cookies ? req.cookies[cookieKey] : undefined;
}
};
export default cookieDetector;
var _default = cookieDetector;
exports.default = _default;
//# sourceMappingURL=cookieDetector.js.map

@@ -1,6 +0,12 @@

const headerDetector = {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var headerDetector = {
name: 'header',
detect: (req, options) => {
const headerKey = options && options.header ? options.header : 'Accept-Language';
const headerValue = req.get(headerKey); // E.g. fr-CH, en;q=0.8, fr;q=0.9
var headerKey = options && options.header ? options.header : 'Accept-Language';
var headerValue = req.get(headerKey); // E.g. fr-CH, en;q=0.8, fr;q=0.9

@@ -10,4 +16,4 @@ if (!headerValue) return undefined;

.map(item => {
const parts = item.split(';');
const q = parts[1] ? Number(parts[1].replace('q=', '')) : undefined;
var parts = item.split(';');
var q = parts[1] ? Number(parts[1].replace('q=', '')) : undefined;
return [parts[0], q || 1];

@@ -19,3 +25,4 @@ }) // E.g. [["fr-CH", 1], ["en", 0.8], ["fr", 0.9]]

};
export default headerDetector;
var _default = headerDetector;
exports.default = _default;
//# sourceMappingURL=headerDetector.js.map

@@ -1,2 +0,9 @@

const getFallbackLng = value => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var getFallbackLng = value => {
if (typeof value === 'string') return value;

@@ -8,3 +15,4 @@ if (Array.isArray(value)) return value[0];

export default getFallbackLng;
var _default = getFallbackLng;
exports.default = _default;
//# sourceMappingURL=getFallbackLng.js.map

@@ -1,26 +0,46 @@

import getFallbackLng from './getFallbackLng';
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _getFallbackLng = _interopRequireDefault(require("./getFallbackLng"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
/* eslint-disable consistent-return */
const i18nextMiddleware = i18next => async (req, _, next) => {
// Clone the i18next instance
const clonedI18next = i18next.cloneInstance({
initImmediate: false
}); // Detect the language
var i18nextMiddleware = i18next => /*#__PURE__*/function () {
var _ref = _asyncToGenerator(function* (req, _, next) {
// Clone the i18next instance
var clonedI18next = i18next.cloneInstance({
initImmediate: false
}); // Detect the language
const {
languageDetector
} = i18next.services;
const detectedLanguage = languageDetector ? languageDetector.detect(req) : undefined;
const lng = detectedLanguage || getFallbackLng(i18next.options.fallbackLng); // Change the language
var {
languageDetector
} = i18next.services;
var detectedLanguage = languageDetector ? languageDetector.detect(req) : undefined;
var lng = detectedLanguage || (0, _getFallbackLng.default)(i18next.options.fallbackLng); // Change the language
if (clonedI18next.language !== lng) await clonedI18next.changeLanguage(lng); // Pass language and the t function to req
if (clonedI18next.language !== lng) yield clonedI18next.changeLanguage(lng); // Pass language and the t function to req
req.language = lng;
req.t = clonedI18next.t.bind(clonedI18next); // Load the language if necessary
req.language = lng;
req.t = clonedI18next.t.bind(clonedI18next); // Load the language if necessary
if (lng) return next();
await i18next.loadLanguages(lng, next);
};
if (lng) return next();
yield i18next.loadLanguages(lng, next);
});
export default i18nextMiddleware;
return function (_x, _x2, _x3) {
return _ref.apply(this, arguments);
};
}();
var _default = i18nextMiddleware;
exports.default = _default;
//# sourceMappingURL=i18nextMiddleware.js.map

@@ -1,4 +0,14 @@

import headerDetector from './detectors/headerDetector';
import cookieDetector from './detectors/cookieDetector';
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _headerDetector = _interopRequireDefault(require("./detectors/headerDetector"));
var _cookieDetector = _interopRequireDefault(require("./detectors/cookieDetector"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* eslint-disable no-restricted-syntax,no-continue */

@@ -20,4 +30,4 @@ class LanguageDetector {

this.detectorOptions = detectorOptions;
this.addDetector(headerDetector);
this.addDetector(cookieDetector);
this.addDetector(_headerDetector.default);
this.addDetector(_cookieDetector.default);
}

@@ -27,11 +37,11 @@

if (!req || !this.services) return undefined;
const {
var {
languageUtils
} = this.services;
const order = this.detectorOptions && this.detectorOptions.order && this.detectorOptions.order.length > 0 ? this.detectorOptions.order : ['header'];
var order = this.detectorOptions && this.detectorOptions.order && this.detectorOptions.order.length > 0 ? this.detectorOptions.order : ['header'];
for (const detectorName of order) {
const detector = this.detectorsMap[detectorName];
for (var detectorName of order) {
var detector = this.detectorsMap[detectorName];
if (!detector) continue;
let detectedLanguages = detector.detect(req, this.detectorOptions);
var detectedLanguages = detector.detect(req, this.detectorOptions);
if (!detectedLanguages) continue;

@@ -43,4 +53,4 @@

for (const lng of detectedLanguages) {
const formattedLanguage = languageUtils.formatLanguageCode(lng);
for (var lng of detectedLanguages) {
var formattedLanguage = languageUtils.formatLanguageCode(lng);

@@ -59,3 +69,4 @@ if (languageUtils.isWhitelisted(formattedLanguage)) {

LanguageDetector.type = 'languageDetector';
export default LanguageDetector;
var _default = LanguageDetector;
exports.default = _default;
//# sourceMappingURL=LanguageDetector.js.map

@@ -1,2 +0,2 @@

"use strict";
//# sourceMappingURL=types.js.map
{
"name": "@os-team/i18next-express-middleware",
"version": "1.0.3",
"version": "1.0.4",
"license": "MIT",

@@ -40,3 +40,3 @@ "repository": "git@gitlab.com:os-team/libs/utils.git",

},
"gitHead": "07e4b2ac448f33eb1ab9f2a19e9f8896fdf7356c"
"gitHead": "13c1eb95a749a3eff99931c905b7436388091b34"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc