UNPKG

xcoobee-cookie-kit-core

Version:

GDPR / CCPA Easy Cookie, Script, and Fingerprint Consent Management for Websites

77 lines (63 loc) 2.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.clearLocale = clearLocale; exports.clearCountryCode = clearCountryCode; exports.getLocale = getLocale; exports.getCountryCode = getCountryCode; exports.saveLocale = saveLocale; exports.saveCountryCode = saveCountryCode; exports.fetchCountryCode = fetchCountryCode; exports.fetchCountryCodeForSubscribers = fetchCountryCodeForSubscribers; var _isomorphicFetch = _interopRequireDefault(require("isomorphic-fetch")); var _configs = require("./configs"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var LOCALE_TO_LOCALE = { de: "de-de", en: "en-us", es: "es-419", fr: "fr-fr" }; function clearLocale() { localStorage.removeItem(_configs.localeKey); } function clearCountryCode() { localStorage.removeItem(_configs.countryCodeKey); } function getLocale() { var locale = localStorage[_configs.localeKey]; // We used to store "DE", "EN", "ES", and "FR" for locales. Convert to expected // value if necessary. This is done for backwards compatibility. locale = LOCALE_TO_LOCALE[(locale || "").toLowerCase()] || locale; return locale; } function getCountryCode() { var countryCode = localStorage[_configs.countryCodeKey]; return countryCode; } function saveLocale(locale) { localStorage.setItem(_configs.localeKey, locale); } function saveCountryCode(countryCode) { localStorage.setItem(_configs.countryCodeKey, countryCode); } function fetchCountryCode() { // console.log("LocaleManager#fetchCountryCode fetching..."); return (0, _isomorphicFetch.default)("http://ip-api.com/json").then(function (res) { return res.json(); }).then(function (res) { // console.log("LocaleManager#fetchCountryCode fetched."); var countryCode = res ? res.countryCode : "EU"; return countryCode; }); } function fetchCountryCodeForSubscribers(campaignReference) { // console.log("LocaleManager#fetchCountryCodeForSubscribers fetching..."); return (0, _isomorphicFetch.default)("".concat(_configs.xbApiUrl, "/geoip?reference=").concat(campaignReference)).then(function (res) { return res.json(); }).then(function (res) { // console.log("LocaleManager#fetchCountryCodeForSubscribers fetched."); var countryCode = res ? res.country : "EU"; return countryCode; }); }