@shopgate/engage
Version:
Shopgate's ENGAGE library.
6 lines • 1.36 kB
JavaScript
function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import{i18n}from"../core";/**
* Returns the countries names as key value pairs.
* @param {string[]} [countryCodes=[]] .
* @param {Object} [defaultLocales={}] Default locales from third party.
* @returns {Object|null}
*/export var getCountryNames=function getCountryNames(){var countryCodes=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var defaultLocales=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var lang=i18n.getLang().split('-')[0];var defaultLocale=defaultLocales[lang]||defaultLocales.en||{};var localeCountries=i18n.getPath('countries')||{};if(!countryCodes.length){return localeCountries;}var translated=countryCodes.reduce(function(acc,code){return _extends({},acc,_defineProperty({},code,localeCountries[code]||defaultLocale[code]||code));},{});if(Object.keys(defaultLocale).length!==0){return _extends({},defaultLocale,{},translated);}return translated;};