UNPKG

@wulperstudio/cms

Version:
67 lines (66 loc) 3.13 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.excludeCountries = excludeCountries; exports.filterCountries = filterCountries; exports.getCallingCodeOfCountry = getCallingCodeOfCountry; exports.getCountriesOfContinents = getCountriesOfContinents; exports.getOnlyCountries = getOnlyCountries; exports.matchContinentsIncludeCountry = matchContinentsIncludeCountry; exports.sortAlphabeticallyCountryCodes = sortAlphabeticallyCountryCodes; exports.sortedPreferredCountries = sortedPreferredCountries; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _constants = require("../constants"); var _array = require("./array"); function getCallingCodeOfCountry(isoCode) { var _COUNTRIES$isoCode; return (_COUNTRIES$isoCode = _constants.COUNTRIES[isoCode]) == null ? void 0 : _COUNTRIES$isoCode[0]; } function sortedPreferredCountries(countries, preferredCountries) { return (0, _toConsumableArray2["default"])(new Set(preferredCountries.concat(countries))); } function getCountriesOfContinents(continents) { return continents.flatMap(function (continentCode) { return _constants.CONTINENTS[continentCode]; }); } function getOnlyCountries(countries, onlyCountries) { return countries.filter(function (isoCode) { return onlyCountries.includes(isoCode); }); } function excludeCountries(countries, excludedCountries) { if ((0, _array.matchIsArray)(excludedCountries, true)) { return countries.filter(function (isoCode) { return !excludedCountries.includes(isoCode); }); } return countries; } function filterCountries(countries, options) { var onlyCountries = options.onlyCountries, excludedCountries = options.excludedCountries, continents = options.continents, preferredCountries = options.preferredCountries; if ((0, _array.matchIsArray)(onlyCountries, true)) { var filteredCountries = getOnlyCountries(countries, onlyCountries); return (0, _array.matchIsArray)(preferredCountries, true) ? sortedPreferredCountries(filteredCountries, preferredCountries) : filteredCountries; } var theCountries = (0, _array.matchIsArray)(continents, true) ? getCountriesOfContinents(continents) : countries; var sortedCountries = (0, _array.matchIsArray)(preferredCountries, true) ? sortedPreferredCountries(theCountries, preferredCountries) : theCountries; return (0, _array.matchIsArray)(excludedCountries, true) ? excludeCountries(sortedCountries, excludedCountries) : sortedCountries; } function matchContinentsIncludeCountry(continents, isoCode) { return continents.some(function (continentCode) { return _constants.CONTINENTS[continentCode].includes(isoCode); }); } function sortAlphabeticallyCountryCodes(countryCodes, displayNames) { return (0, _toConsumableArray2["default"])(countryCodes).sort(function (countryCodeA, countryCodeB) { var countryA = displayNames.of(countryCodeA); var countryB = displayNames.of(countryCodeB); return countryA.localeCompare(countryB); }); }