UNPKG

cimpress-customizr

Version:

A thin client for Cimpress Customizr service

50 lines (38 loc) 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getValidLanguageOrThrow = getValidLanguageOrThrow; exports.getValidLanguageTagOrThrow = getValidLanguageTagOrThrow; exports.getValidTimezoneOrThrow = getValidTimezoneOrThrow; exports.updatePreferredLanguage = updatePreferredLanguage; var _countryLanguage = _interopRequireDefault(require("country-language")); var _validTimezones = _interopRequireDefault(require("./validTimezones")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function getValidLanguageOrThrow(languageCode) { var language = _countryLanguage["default"].getLanguages().find(function (a) { return a.iso639_1 && a.iso639_1 === languageCode || a.iso639_2 && a.iso639_2 === languageCode || a.iso639_3 && a.iso639_3 === languageCode; }); if (!language) { throw new Error('Provided language code is not valid. Please pass a valid ISO-639 code'); } return language; } function getValidTimezoneOrThrow(timezone) { var tz = _validTimezones["default"].find(function (t) { return t === timezone; }); if (!tz) { throw new Error('Provided timezone is not valid. Please pass valid IANA timezone identifier, eg. Europe/Amsterdam'); } return tz; } function getValidLanguageTagOrThrow(languageTag) { // TODO return languageTag; } function updatePreferredLanguage(preferredLanguage, currentLanguages) { return [preferredLanguage.iso639_1].concat((currentLanguages || []).filter(function (a) { return a !== preferredLanguage.iso639_1; })); }