xcoobee-cookie-kit-core
Version:
GDPR / CCPA Easy Cookie, Script, and Fingerprint Consent Management for Websites
77 lines (63 loc) • 2.36 kB
JavaScript
;
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;
});
}