@gooddata/js-utils
Advanced tools
Comparing version 0.6.1 to 0.6.2-jza-jza-one-2523-runtest-2017-05-22T11-28-30-038Z
@@ -5,2 +5,6 @@ 'use strict'; | ||
var _includes2 = require('lodash/includes'); | ||
var _includes3 = _interopRequireDefault(_includes2); | ||
var _get2 = require('lodash/get'); | ||
@@ -61,3 +65,3 @@ | ||
* @param {Object} data Response from bootstrapResource with user preffered language. | ||
* @param {Object} [messagesMap] Object where keys are locale xx-XX and values are actual dictionaries. | ||
* @param {Array} [localeKeys] Array of supported locale (xx-XX, e.g. de-DE) | ||
* @param {String} [localeDefault=en-US] Default locale when user preffered language is not supported. | ||
@@ -67,3 +71,3 @@ * @param {Object} [deps] Dependecies for testing purposes. | ||
function syncCookieWithBootstrap(data) { | ||
var messagesMap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
var localeKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; | ||
var localeDefault = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'en-US'; | ||
@@ -81,3 +85,3 @@ var deps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; | ||
var localeCookie = getLocaleCookie(); | ||
var locale = messagesMap[localeBootstrap] ? localeBootstrap : localeDefault; | ||
var locale = (0, _includes3.default)(localeKeys, localeBootstrap) ? localeBootstrap : localeDefault; | ||
@@ -84,0 +88,0 @@ if (cookiesEnabled() && localeCookie !== locale) { |
{ | ||
"name": "@gooddata/js-utils", | ||
"version": "0.6.1", | ||
"version": "0.6.2-jza-jza-one-2523-runtest-2017-05-22T11-28-30-038Z", | ||
"description": "Various utils shared on GoodData frontend", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
import Cookies from 'js-cookie'; | ||
import { get } from 'lodash'; | ||
import { get, includes } from 'lodash'; | ||
@@ -46,7 +46,7 @@ const LOCALE_COOKIE_NAME = 'locale'; | ||
* @param {Object} data Response from bootstrapResource with user preffered language. | ||
* @param {Object} [messagesMap] Object where keys are locale xx-XX and values are actual dictionaries. | ||
* @param {Array} [localeKeys] Array of supported locale (xx-XX, e.g. de-DE) | ||
* @param {String} [localeDefault=en-US] Default locale when user preffered language is not supported. | ||
* @param {Object} [deps] Dependecies for testing purposes. | ||
*/ | ||
export function syncCookieWithBootstrap(data, messagesMap = {}, localeDefault = 'en-US', deps = {}) { | ||
export function syncCookieWithBootstrap(data, localeKeys = [], localeDefault = 'en-US', deps = {}) { | ||
const { | ||
@@ -60,3 +60,3 @@ getLocaleCookie = getLocale, | ||
const localeCookie = getLocaleCookie(); | ||
const locale = messagesMap[localeBootstrap] ? localeBootstrap : localeDefault; | ||
const locale = includes(localeKeys, localeBootstrap) ? localeBootstrap : localeDefault; | ||
@@ -63,0 +63,0 @@ if (cookiesEnabled() && (localeCookie !== locale)) { |
@@ -7,6 +7,3 @@ import { syncCookieWithBootstrap } from '../cookies'; | ||
const localeDefault = EN; | ||
const messagesMap = { | ||
[EN]: EN, | ||
[DE]: DE | ||
}; | ||
const localeKeys = [EN, DE]; | ||
@@ -25,3 +22,3 @@ const getBootstrapDataWithLocale = language => ({ | ||
const spySet = sinon.stub(); | ||
syncCookieWithBootstrap(bootstrapEn, messagesMap, localeDefault, { | ||
syncCookieWithBootstrap(bootstrapEn, localeKeys, localeDefault, { | ||
getLocaleCookie: sinon.stub(), | ||
@@ -37,3 +34,3 @@ setLocaleCookie: spySet, | ||
const spySet = sinon.stub(); | ||
syncCookieWithBootstrap(bootstrapEn, messagesMap, localeDefault, { | ||
syncCookieWithBootstrap(bootstrapEn, localeKeys, localeDefault, { | ||
getLocaleCookie: () => EN, | ||
@@ -49,3 +46,3 @@ setLocaleCookie: spySet, | ||
const spySet = sinon.stub(); | ||
syncCookieWithBootstrap(bootstrapEn, messagesMap, localeDefault, { | ||
syncCookieWithBootstrap(bootstrapEn, localeKeys, localeDefault, { | ||
getLocaleCookie: () => DE, | ||
@@ -52,0 +49,0 @@ setLocaleCookie: spySet, |
32384
18
723