'use strict'; var _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; }; var clarity_logger = function () { var passInfo = function passInfo(api, data, exData) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function () { if (this.readyState === 4 && this.status === 200) { console.log('Success to pass the data'); } }; xmlhttp.ontimeout = function () { console.log('Fail to pass the data, please checkout your environment'); }; xmlhttp.open("POST", api, true); xmlhttp.timeout = 10000; xmlhttp.withCredentials = true; xmlhttp.setRequestHeader('Content-Type', 'application/json'); /*console.log( contactToString({ event_datetime: formatDate(new Date()), page_referrer_url: document.referrer, page_title: document.title, page_url: window.location.href, page_domain: window.location.hostname, ...data }, exData) )*/ xmlhttp.send(contactToString(_extends({ event_datetime: formatDate(new Date()), page_referrer_url: document.referrer, page_title: document.title, page_url: window.location.href, page_domain: window.location.hostname }, data), exData)); }; var contactToString = function contactToString(a, b) { return b !== undefined ? JSON.stringify(_extends({}, a, b)) : JSON.stringify(a); }; var formatDate = function formatDate(d) { return d.toISOString(); }; var init = function init(dynamApi, api, baseData) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function () { if (this.readyState == 4 && this.status == 200) { passInfo(api, baseData, JSON.parse(this.responseText)); } }; xmlhttp.ontimeout = function () { passInfo(api, baseData); }; xmlhttp.open("GET", dynamApi, true); xmlhttp.timeout = 2000; xmlhttp.send(); }; return { init: init }; }();