@narando/languages
Advanced tools
Comparing version 0.15.0 to 0.16.0
@@ -48,4 +48,12 @@ "use strict"; | ||
}); | ||
it("should mark en_GB and de_DE as selected", () => { | ||
const languages = (0, _.getLanguagesWithSelection)(["en_GB", "de_DE"]); | ||
languages.forEach(lang => { | ||
lang.shortCode === "en_GB" || lang.shortCode === "de_DE" ? expect(lang.selected).toBe(true) : expect(lang.selected).toBe(false); | ||
}); | ||
}); | ||
}); | ||
}); | ||
}); |
@@ -15,9 +15,10 @@ "use strict"; | ||
* | ||
* @param {Array<String>} selected is the language short code that has to be marked as selected. | ||
* @param {Array<String>} selected is an array of the language short code which have to be marked as selected. | ||
* | ||
* @returns {Array<Object>} sorted list with all languages | ||
*/ | ||
function getLanguagesWithSelection(selected = null) { | ||
function getLanguagesWithSelection(selected = []) { | ||
selected = Array.isArray(selected) ? selected : [selected]; | ||
const languagesArray = Object.values(_.Languages).sort((a, b) => a.name > b.name ? 1 : -1).map(language => _extends({}, language, { | ||
selected: language.shortCode === selected | ||
selected: selected.includes(language.shortCode) | ||
})); | ||
@@ -24,0 +25,0 @@ return languagesArray; |
{ | ||
"name": "@narando/languages", | ||
"version": "0.15.0", | ||
"version": "0.16.0", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
11125
285