@snowplow/tracker-core
Advanced tools
Comparing version 4.0.0-beta.3 to 4.0.0-beta.4
/*! | ||
* Core functionality for Snowplow JavaScript trackers v4.0.0-beta.3 (http://bit.ly/sp-js) | ||
* Core functionality for Snowplow JavaScript trackers v4.0.0-beta.4 (http://bit.ly/sp-js) | ||
* Copyright 2022 Snowplow Analytics Ltd, 2010 Anthon Pang | ||
@@ -7,3 +7,3 @@ * Licensed under BSD-3-Clause | ||
"use strict";!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).snowplowTrackerCore={})}(this,(function(e){function t(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{s(r.next(e))}catch(e){a(e)}}function c(e){try{s(r.throw(e))}catch(e){a(e)}}function s(e){e.done?o(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(i,c)}s((r=r.apply(e,t||[])).next())}))}function n(e,t){function n(n){return function(s){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,n[0]&&(c=0)),c;)try{if(r=1,o&&(a=2&n[0]?o.return:n[0]?o.throw||((a=o.return)&&a.call(o),0):o.next)&&!(a=a.call(o,n[1])).done)return a;switch(o=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return c.label++,{value:n[1],done:!1};case 5:c.label++,o=n[1],n=[0];continue;case 7:n=c.ops.pop(),c.trys.pop();continue;default:if(!(a=c.trys,(a=0<a.length&&a[a.length-1])||6!==n[0]&&2!==n[0])){c=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]<a[3]))c.label=n[1];else if(6===n[0]&&c.label<a[1])c.label=a[1],a=n;else{if(!(a&&c.label<a[2])){a[2]&&c.ops.pop(),c.trys.pop();continue}c.label=a[2],c.ops.push(n)}}n=t.call(e,c)}catch(e){n=[6,e],o=0}finally{r=a=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,s])}}var r,o,a,i,c={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:n(0),throw:n(1),return:n(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i}function r(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}function o(){var e,t={},n=[],r=[],o=[],a=function(e,n){null!=n&&""!==n&&(t[e]=n)};return{add:a,addDict:function(e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&a(t,e[t])},addJson:function(e,t,o){o&&i(o)&&(e={keyIfEncoded:e,keyIfNotEncoded:t,json:o},r.push(e),n.push(e))},addContextEntity:function(e){o.push(e)},getPayload:function(){return t},getJson:function(){return n},withJsonProcessor:function(t){e=t},build:function(){return null==e||e(this,r,o),t}}}function a(e){return function(t,n,o){for(var a=function(n,r,o){if(n=JSON.stringify(n),e){if(o=t.add,n){var a=0,i=0,c=[];if(n){n=unescape(encodeURIComponent(n));do{var s=n.charCodeAt(a++),u=n.charCodeAt(a++),l=n.charCodeAt(a++),d=s<<16|u<<8|l;s=d>>18&63,u=d>>12&63,l=d>>6&63,d&=63,c[i++]=U.charAt(s)+U.charAt(u)+U.charAt(l)+U.charAt(d)}while(a<n.length);a=c.join(""),n=((n=n.length%3)?a.slice(0,n-3):a)+"===".slice(n||3)}n=n.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}o.call(t,r,n)}else t.add(o,n)},i=function(n,r){if(!n){var o=t.getPayload();if(e?o.cx:o.co){var a=(n=JSON).parse;if(e){if(o=o.cx){switch(4-o.length%4){case 2:o+="==";break;case 3:o+="="}o=function(e){var t,n=0,r=0,o="",a=[];if(!e)return e;e+="";do{var i=U.indexOf(e.charAt(n++)),c=U.indexOf(e.charAt(n++));o=U.indexOf(e.charAt(n++));var s=U.indexOf(e.charAt(n++)),u=i<<18|c<<12|o<<6|s;i=u>>16&255,c=u>>8&255,u&=255,a[r++]=64===o?String.fromCharCode(i):64===s?String.fromCharCode(i,c):String.fromCharCode(i,c,u)}while(n<e.length);return o=a.join(""),t=o.replace(/\0+$/,""),decodeURIComponent(t.split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))}(o=o.replace(/-/g,"+").replace(/_/g,"/"))}}else o=o.co;n=a.call(n,o)}else n=void 0}return n?n.data=n.data.concat(r.data):n=r,n},c=void 0,s=0;s<n.length;s++){var u=n[s];"cx"===u.keyIfEncoded?c=i(c,u.json):a(u.json,u.keyIfEncoded,u.keyIfNotEncoded)}n.length=0,o.length&&(c=i(c,n={schema:"iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0",data:r([],o,!0)}),o.length=0),c&&a(c,"cx","co")}}function i(e){if(!c(e))return!1;for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!0;return!1}function c(e){return null!=e&&(e.constructor==={}.constructor||e.constructor===[].constructor)}function s(){var e=[],t=[],n={},r={};return{getGlobalPrimitives:function(){return e.concat(Object.values(n))},getConditionalProviders:function(){return t.concat(Object.values(r))},addGlobalContexts:function(o){if(Array.isArray(o)){for(var a=[],i=[],c=0;c<o.length;c++){var s=o[c];E(s)?a.push(s):b(s)&&i.push(s)}e=e.concat(i),t=t.concat(a)}else for(a=0,o=Object.entries(o);a<o.length;a++)i=(s=o[a])[0],E(s=s[1])?r[i]=s:b(s)&&(n[i]=s)},clearGlobalContexts:function(){t=[],e=[],r={},n={}},removeGlobalContexts:function(o){for(var a=function(o){"string"==typeof o?(delete r[o],delete n[o]):E(o)?t=t.filter((function(e){return JSON.stringify(e)!==JSON.stringify(o)})):b(o)&&(e=e.filter((function(e){return JSON.stringify(e)!==JSON.stringify(o)})))},i=0;i<o.length;i++)a(o[i])},getApplicableContexts:function(o){e:{for(var a=0,i=o.getJson();a<i.length;a++){var c=i[a];if("ue_px"===c.keyIfEncoded&&"object"==typeof c.json.data&&"string"==typeof(c=c.json.data.schema)){a=c;break e}}a=""}c="string"==typeof(i=o.getPayload().e)?i:"",i=[];var s=O(e.concat(Object.values(n)),o,c,a);return i.push.apply(i,s),o=function(e,t,n,r){var o;return e=_(e).map((function(e){e:{if(C(e)){var o=e[0],a=!1;try{a=o({event:t.getPayload(),eventType:n,eventSchema:r})}catch(e){a=!1}if(!0===a){e=O(e[1],t,n,r);break e}}else if(S(e)&&A(e[0],r)){e=O(e[1],t,n,r);break e}e=[]}if(e&&0!==e.length)return e})),(o=[]).concat.apply(o,e.filter((function(e){return null!=e&&e.filter(Boolean)})))}(t.concat(Object.values(r)),o,c,a),i.push.apply(i,o),i}}}function u(e){return{addPluginContexts:function(t){var n=t?r([],t,!0):[];return e.forEach((function(e){try{e.contexts&&n.push.apply(n,e.contexts())}catch(e){J.error("Error adding plugin contexts",e)}})),n}}}function l(e){if(null!==(e=/^iglu:([a-zA-Z0-9-_.]+)\/([a-zA-Z0-9-_]+)\/jsonschema\/([1-9][0-9]*)-(0|[1-9][0-9]*)-(0|[1-9][0-9]*)$/.exec(e)))return e.slice(1,6)}function d(e){if("*"===e[0]||"*"===e[1])return!1;if(0<e.slice(2).length){var t=!1,n=0;for(e=e.slice(2);n<e.length;n++)if("*"===e[n])t=!0;else if(t)return!1;return!0}return 2==e.length}function f(e){return!!((e=e.split("."))&&1<e.length)&&d(e)}function p(e){if(null!==(e=/^iglu:((?:(?:[a-zA-Z0-9-_]+|\*).)+(?:[a-zA-Z0-9-_]+|\*))\/([a-zA-Z0-9-_.]+|\*)\/jsonschema\/([1-9][0-9]*|\*)-(0|[1-9][0-9]*|\*)-(0|[1-9][0-9]*|\*)$/.exec(e))&&f(e[1]))return e.slice(1,6)}function v(e){if(e=p(e)){var t=e[0];return 5===e.length&&f(t)}return!1}function y(e){return Array.isArray(e)&&e.every((function(e){return"string"==typeof e}))}function m(e){return y(e)?e.every((function(e){return v(e)})):"string"==typeof e&&v(e)}function g(e){return!!(i(e)&&"schema"in e&&"data"in e)&&("string"==typeof e.schema&&"object"==typeof e.data)}function h(e){var t=0;if(null!=e&&"object"==typeof e&&!Array.isArray(e)){if(Object.prototype.hasOwnProperty.call(e,"accept")){if(!m(e.accept))return!1;t+=1}if(Object.prototype.hasOwnProperty.call(e,"reject")){if(!m(e.reject))return!1;t+=1}return 0<t&&2>=t}return!1}function w(e){return"function"==typeof e&&1>=e.length}function b(e){return w(e)||g(e)}function C(e){return!(!Array.isArray(e)||2!==e.length)&&(Array.isArray(e[1])?w(e[0])&&e[1].every(b):w(e[0])&&b(e[1]))}function S(e){return!(!Array.isArray(e)||2!==e.length)&&(!!h(e[0])&&(Array.isArray(e[1])?e[1].every(b):b(e[1])))}function E(e){return C(e)||S(e)}function A(e,t){var n=0,r=0,o=e.accept;return Array.isArray(o)?e.accept.some((function(e){return P(e,t)}))&&r++:"string"==typeof o&&P(o,t)&&r++,o=e.reject,Array.isArray(o)?e.reject.some((function(e){return P(e,t)}))&&n++:"string"==typeof o&&P(o,t)&&n++,0<r&&0===n}function P(e,t){if(!v(e))return!1;if(e=p(e),t=l(t),e&&t){if(!function(e,t){if(t=t.split("."),e=e.split("."),t&&e){if(t.length!==e.length)return!1;for(var n=0;n<e.length;n++)if(!x(t[n],e[n]))return!1;return!0}return!1}(e[0],t[0]))return!1;for(var n=1;5>n;n++)if(!x(e[n],t[n]))return!1;return!0}return!1}function x(e,t){return e&&t&&"*"===e||e===t}function _(e){return Array.isArray(e)?e:[e]}function O(e,t,n,r){var o;return e=_(e).map((function(e){e:if(g(e))e=[e];else{if(w(e)){t:{var o=void 0;try{if(o=e({event:t.getPayload(),eventType:n,eventSchema:r}),Array.isArray(o)&&o.every(g)||g(o)){var a=o;break t}a=void 0;break t}catch(e){}a=void 0}if(g(a)){e=[a];break e}if(Array.isArray(a)){e=a;break e}}e=void 0}if(e&&0!==e.length)return e})),(o=[]).concat.apply(o,e.filter((function(e){return null!=e&&e.filter(Boolean)})))}function j(e){var t=e.svrAnon;return{payload:e.payload,svrAnon:void 0!==t&&t}}function I(){if(!z&&!(z="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return z(F)}function k(e,t,n){if((e=(e=e||{}).random||(e.rng||I)())[6]=15&e[6]|64,e[8]=63&e[8]|128,t){n=n||0;for(var r=0;16>r;++r)t[n+r]=e[r];return t}return function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;if("string"!=typeof(t=(M[e[t+0]]+M[e[t+1]]+M[e[t+2]]+M[e[t+3]]+"-"+M[e[t+4]]+M[e[t+5]]+"-"+M[e[t+6]]+M[e[t+7]]+"-"+M[e[t+8]]+M[e[t+9]]+"-"+M[e[t+10]]+M[e[t+11]]+M[e[t+12]]+M[e[t+13]]+M[e[t+14]]+M[e[t+15]]).toLowerCase())||!D.test(t))throw TypeError("Stringified UUID is invalid");return t}(e)}function T(e){var t=e.event;return e={schema:"iglu:com.snowplowanalytics.snowplow/unstruct_event/jsonschema/1-0-0",data:{schema:e=t.schema,data:t.data}},(t=o()).add("e","ue"),t.addJson("ue_px","ue_pr",e),t}function R(e,t){void 0===t&&(t={});var n,r={};for(n in e)(t[n]||null!==e[n]&&void 0!==e[n])&&(r[n]=e[n]);return r}function L(e){var t=e.maxSize,n=void 0===t?1e3:t,o=r([],void 0===(e=e.events)?[]:e,!0),a=function(){return Promise.resolve(o.length)};return{count:a,add:function(e){for(o.push(e);o.length>n;)o.shift();return a()},removeHead:function(e){for(var t=0;t<e;t++)o.shift();return Promise.resolve()},iterator:function(){var e=0,t=r([],o,!0);return{next:function(){return e<t.length?Promise.resolve({value:t[e++],done:!1}):Promise.resolve({value:void 0,done:!0})}}},getAll:function(){return Promise.resolve(r([],o,!0))},getAllPayloads:function(){return Promise.resolve(o.map((function(e){return e.payload})))}}}function G(e){function t(){var e=C.reduce((function(e,t){return e+(S?t.getPOSTRequestBytesCount():t.getGETRequestBytesCount())}),0);return S&&(e+=88),e}function n(){var e=new Headers;return S&&e.append("Content-Type","application/json; charset=UTF-8"),p&&Object.keys(p).forEach((function(t){e.append(t,p[t])})),0<C.length&&C[0].getServerAnonymization()&&e.append("SP-Anonymous","*"),e}function r(){var e=c;return c.includes("://")||(e="".concat(u,"://").concat(c)),l&&(e="".concat(e,":").concat(l)),e+(S?g:"/i")}function o(e,t){return i(!1),f=new AbortController,d=setTimeout((function(){console.error("Request timed out"),d=void 0,i(!1,"Request timed out")}),null!=v?v:5e3),t=V({headers:n(),signal:f.signal,keepalive:m,credentials:b},t),new Request(e,t)}function a(){var e=function(e){for(var t=(new Date).getTime().toString(),n=0;n<e.length;n++)e[n].stm=t;return e}(C.map((function(e){return e.getPOSTRequestBody()})));return o(r(),{method:"POST",body:JSON.stringify({schema:"iglu:com.snowplowanalytics.snowplow/payload_data/jsonschema/1-0-4",data:e})})}function i(e,t){if(void 0!==d&&(clearTimeout(d),d=void 0),void 0!==f){var n=f;f=void 0,e||n.abort(t)}}var c=e.endpoint,s=e.protocol,u=void 0===s?"https":s,l=e.port;s=e.eventMethod;var d,f,p=e.customHeaders,v=e.connectionTimeout,y=e.keepalive,m=void 0===y||y,g=void 0===(y=e.postPath)?"/com.snowplowanalytics.snowplow/tp2":y,h=void 0===(y=e.useStm)||y,w=void 0===(y=e.maxPostBytes)?4e4:y,b=void 0===(e=e.credentials)?"include":e,C=[],S="post"===(void 0===s?"post":s).toLowerCase();return{addEvent:function(e){return!(0<C.length&&(0<C.length?C[0].getServerAnonymization():void 0)!==e.getServerAnonymization())&&(C.push(e),!0)},getEvents:function(){return C},toRequest:function(){if(0!==C.length){if(S)return a();if(1!==C.length)throw Error("Only one event can be sent in a GET request");return o(C[0].getGETRequestURL(r(),h),{method:"GET"})}},countBytes:t,countEvents:function(){return C.length},isFull:function(){return S?t()>=w:1<=C.length},closeRequest:i}}function q(e){for(var t=0,n=0;n<e.length;n++){var r=e.charCodeAt(n);127>=r?t+=1:2047>=r?t+=2:55296<=r&&57343>=r?(t+=4,n++):t=65535>r?t+3:t+4}return t}function N(e){function t(){return e.payload}function n(e){if(null===o){var t,n={co:!0,cx:!0},r=[];for(t in e)e.hasOwnProperty(t)&&!n[t]&&r.push(t+"="+encodeURIComponent(e[t]));for(var a in n)e.hasOwnProperty(a)&&n[a]&&r.push(a+"="+encodeURIComponent(e[a]));o="?"+r.join("&")}return o}function r(){return null===a&&(a=function(e){return Object.keys(e).map((function(t){return[t,e[t]]})).reduce((function(e,t){return e[t[0]]=t[1].toString(),e}),{})}(t())),a}var o=null,a=null,i=null,c=null;return{getPayload:t,getServerAnonymization:function(){var t;return null!==(t=e.svrAnon)&&void 0!==t&&t},getGETRequestURL:function(e,r){var o=n(t());return r?e+o.replace("?","?stm="+(new Date).getTime()+"&"):e+o},getGETRequestBytesCount:function(){if(null===i){var e=n(t());i=q(e)}return i},getPOSTRequestBody:r,getPOSTRequestBytesCount:function(){return null===c&&(c=q(JSON.stringify(r()))),c}}}var V=function(){return V=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},V.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var B,U="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.LOG_LEVEL=void 0,(B=e.LOG_LEVEL||(e.LOG_LEVEL={}))[B.none=0]="none",B[B.error=1]="error",B[B.warn=2]="warn",B[B.debug=3]="debug",B[B.info=4]="info";for(var z,J=function(t){return void 0===t&&(t=e.LOG_LEVEL.warn),{setLogLevel:function(n){t=e.LOG_LEVEL[n]?n:e.LOG_LEVEL.warn},warn:function(n,o){for(var a=[],i=2;i<arguments.length;i++)a[i-2]=arguments[i];t>=e.LOG_LEVEL.warn&&"undefined"!=typeof console&&(i="Snowplow: "+n,o?console.warn.apply(console,r([i+"\n",o],a,!1)):console.warn.apply(console,r([i],a,!1)))},error:function(n,o){for(var a=[],i=2;i<arguments.length;i++)a[i-2]=arguments[i];t>=e.LOG_LEVEL.error&&"undefined"!=typeof console&&(i="Snowplow: "+n+"\n",o?console.error.apply(console,r([i+"\n",o],a,!1)):console.error.apply(console,r([i],a,!1)))},debug:function(n){for(var o=[],a=1;a<arguments.length;a++)o[a-1]=arguments[a];t>=e.LOG_LEVEL.debug&&"undefined"!=typeof console&&console.debug.apply(console,r(["Snowplow: "+n],o,!1))},info:function(n){for(var o=[],a=1;a<arguments.length;a++)o[a-1]=arguments[a];t>=e.LOG_LEVEL.info&&"undefined"!=typeof console&&console.info.apply(console,r(["Snowplow: "+n],o,!1))}}}(),F=new Uint8Array(16),D=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,M=[],H=0;256>H;++H)M.push((H+256).toString(16).substr(1));e.LOG=J,e.buildAdClick=function(e){return T({event:e={schema:"iglu:com.snowplowanalytics.snowplow/ad_click/jsonschema/1-0-0",data:R({targetUrl:e.targetUrl,clickId:e.clickId,costModel:e.costModel,cost:e.cost,bannerId:e.bannerId,zoneId:e.zoneId,impressionId:e.impressionId,advertiserId:e.advertiserId,campaignId:e.campaignId})}})},e.buildAdConversion=function(e){return T({event:e={schema:"iglu:com.snowplowanalytics.snowplow/ad_conversion/jsonschema/1-0-0",data:R({conversionId:e.conversionId,costModel:e.costModel,cost:e.cost,category:e.category,action:e.action,property:e.property,initialValue:e.initialValue,advertiserId:e.advertiserId,campaignId:e.campaignId})}})},e.buildAdImpression=function(e){return T({event:e={schema:"iglu:com.snowplowanalytics.snowplow/ad_impression/jsonschema/1-0-0",data:R({impressionId:e.impressionId,costModel:e.costModel,cost:e.cost,targetUrl:e.targetUrl,bannerId:e.bannerId,zoneId:e.zoneId,advertiserId:e.advertiserId,campaignId:e.campaignId})}})},e.buildAddToCart=function(e){return T({event:{schema:"iglu:com.snowplowanalytics.snowplow/add_to_cart/jsonschema/1-0-0",data:R({sku:e.sku,quantity:e.quantity,name:e.name,category:e.category,unitPrice:e.unitPrice,currency:e.currency})}})},e.buildConsentGranted=function(e){var t=e.expiry;return e={schema:"iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0",data:R({id:e.id,version:e.version,name:e.name,description:e.description})},{event:T({event:{schema:"iglu:com.snowplowanalytics.snowplow/consent_granted/jsonschema/1-0-0",data:R({expiry:t})}}),context:[e]}},e.buildConsentWithdrawn=function(e){var t=e.all;return e={schema:"iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0",data:R({id:e.id,version:e.version,name:e.name,description:e.description})},{event:T({event:{schema:"iglu:com.snowplowanalytics.snowplow/consent_withdrawn/jsonschema/1-0-0",data:R({all:t})}}),context:[e]}},e.buildEcommerceTransaction=function(e){var t=e.orderId,n=e.total,r=e.affiliation,a=e.tax,i=e.shipping,c=e.city,s=e.state,u=e.country;e=e.currency;var l=o();return l.add("e","tr"),l.add("tr_id",t),l.add("tr_af",r),l.add("tr_tt",n),l.add("tr_tx",a),l.add("tr_sh",i),l.add("tr_ci",c),l.add("tr_st",s),l.add("tr_co",u),l.add("tr_cu",e),l},e.buildEcommerceTransactionItem=function(e){var t=e.orderId,n=e.sku,r=e.price,a=e.name,i=e.category,c=e.quantity;e=e.currency;var s=o();return s.add("e","ti"),s.add("ti_id",t),s.add("ti_sk",n),s.add("ti_nm",a),s.add("ti_ca",i),s.add("ti_pr",r),s.add("ti_qu",c),s.add("ti_cu",e),s},e.buildFormFocusOrChange=function(e){var t="",n=e.schema,r=e.type;return e={formId:e.formId,elementId:e.elementId,nodeName:e.nodeName,elementClasses:e.elementClasses,value:e.value},"change_form"===n?(t="iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0",e.type=r):"focus_form"===n&&(t="iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0",e.elementType=r),T({event:{schema:t,data:R(e,{value:!0})}})},e.buildFormSubmission=function(e){return T({event:{schema:"iglu:com.snowplowanalytics.snowplow/submit_form/jsonschema/1-0-0",data:R({formId:e.formId,formClasses:e.formClasses,elements:e.elements})}})},e.buildLinkClick=function(e){return T({event:e={schema:"iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1",data:R({targetUrl:e.targetUrl,elementId:e.elementId,elementClasses:e.elementClasses,elementTarget:e.elementTarget,elementContent:e.elementContent})}})},e.buildPagePing=function(e){var t=e.pageUrl,n=e.pageTitle,r=e.referrer,a=e.minXOffset,i=e.maxXOffset,c=e.minYOffset;e=e.maxYOffset;var s=o();return s.add("e","pp"),s.add("url",t),s.add("page",n),s.add("refr",r),a&&!isNaN(Number(a))&&s.add("pp_mix",a.toString()),i&&!isNaN(Number(i))&&s.add("pp_max",i.toString()),c&&!isNaN(Number(c))&&s.add("pp_miy",c.toString()),e&&!isNaN(Number(e))&&s.add("pp_may",e.toString()),s},e.buildPageView=function(e){var t=e.pageUrl,n=e.pageTitle;e=e.referrer;var r=o();return r.add("e","pv"),r.add("url",t),r.add("page",n),r.add("refr",e),r},e.buildRemoveFromCart=function(e){return T({event:{schema:"iglu:com.snowplowanalytics.snowplow/remove_from_cart/jsonschema/1-0-0",data:R({sku:e.sku,quantity:e.quantity,name:e.name,category:e.category,unitPrice:e.unitPrice,currency:e.currency})}})},e.buildScreenView=function(e){return T({event:{schema:"iglu:com.snowplowanalytics.snowplow/screen_view/jsonschema/1-0-0",data:R({name:e.name,id:e.id})}})},e.buildSelfDescribingEvent=T,e.buildSiteSearch=function(e){return T({event:{schema:"iglu:com.snowplowanalytics.snowplow/site_search/jsonschema/1-0-0",data:R({terms:e.terms,filters:e.filters,totalResults:e.totalResults,pageResults:e.pageResults})}})},e.buildSocialInteraction=function(e){return T({event:e={schema:"iglu:com.snowplowanalytics.snowplow/social_interaction/jsonschema/1-0-0",data:R({action:e.action,network:e.network,target:e.target})}})},e.buildStructEvent=function(e){var t=e.category,n=e.action,r=e.label,a=e.property;e=e.value;var i=o();return i.add("e","se"),i.add("se_ca",t),i.add("se_ac",n),i.add("se_la",r),i.add("se_pr",a),i.add("se_va",null==e?void 0:e.toString()),i},e.getRuleParts=p,e.getSchemaParts=l,e.globalContexts=s,e.isConditionalContextProvider=E,e.isContextCallbackFunction=w,e.isContextPrimitive=b,e.isFilterProvider=C,e.isJson=c,e.isNonEmptyJson=i,e.isRuleSet=h,e.isRuleSetProvider=S,e.isSelfDescribingJson=g,e.isStringArray=y,e.isValidRule=v,e.isValidRuleSetArg=m,e.matchSchemaAgainstRule=P,e.matchSchemaAgainstRuleSet=A,e.newEmitter=function(e){function r(e,t){void 0!==P&&setTimeout((function(){try{null==P||P(e,t)}catch(e){J.error("Error in onRequestFailure",e)}}),0)}function o(e){return t(this,void 0,void 0,(function(){var t,o,a,i,c,s;return n(this,(function(n){switch(n.label){case 0:if(void 0===(t=e.toRequest()))throw Error("Empty batch");o=e.getEvents().map((function(e){return e.getPayload()})),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,_(t)];case 2:return a=n.sent(),e.closeRequest(!0),a.ok?(function(e,t){void 0!==x&&setTimeout((function(){try{null==x||x(e,t)}catch(e){J.error("Error in onRequestSuccess",e)}}),0)}(o,a),[2,{success:!0,retry:!1,status:a.status}]):(i=function(e){return!(200<=e&&300>e||!A||!E.includes(e)&&S.includes(e))}(a.status),r({events:o,status:a.status,message:a.statusText,willRetry:i},a),[2,{success:!1,retry:i,status:a.status}]);case 3:return c=n.sent(),e.closeRequest(!1),s="string"==typeof c?c:c?c.message:"Unknown error",r({events:o,message:s,willRetry:!0}),[2,{success:!1,retry:!0}];case 4:return[2]}}))}))}function a(){return G({endpoint:u,protocol:f,port:p,eventMethod:d,customHeaders:g,connectionTimeout:w,keepalive:b,maxPostBytes:v,useStm:O,credentials:k})}function i(){return t(this,void 0,void 0,(function(){var e;return n(this,(function(t){switch(t.label){case 0:return!C||T?[3,2]:(T=!0,e=new Request(C,{method:"GET"}),[4,_(e)]);case 1:t.sent(),t.label=2;case 2:return[2]}}))}))}function c(){return t(this,void 0,void 0,(function(){var e;return n(this,(function(t){switch(t.label){case 0:if(R)return[3,5];R=!0,t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,s()];case 2:return t.sent(),[3,5];case 3:return e=t.sent(),J.error("Error sending events",e),[3,5];case 4:return R=!1,[7];case 5:return[2]}}))}))}function s(){return t(this,void 0,void 0,(function(){var e,t,r,c,u,l,d,f,p;return n(this,(function(n){switch(n.label){case 0:return[4,i()];case 1:n.sent(),e=a(),t=I.iterator(),n.label=2;case 2:return e.isFull()?[3,4]:[4,t.next()];case 3:return r=n.sent(),c=r.value,r.done||void 0===c?[3,4]:(u=N(c),e.addEvent(u)?[3,2]:[3,4]);case 4:return 0===e.countEvents()?[2]:[4,o(e)];case 5:return l=n.sent(),d=l.success,f=l.retry,p=l.status,!d&&f?[3,7]:(d||J.error("Status ".concat(p,", will not retry.")),[4,I.removeHead(e.countEvents())]);case 6:n.sent(),n.label=7;case 7:return d?[4,s()]:[3,9];case 8:n.sent(),n.label=9;case 9:return[2]}}))}))}var u=e.endpoint,l=e.eventMethod,d=void 0===l?"post":l,f=e.protocol,p=e.port,v=void 0===(l=e.maxPostBytes)?4e4:l,y=e.maxGetBytes,m=void 0===(l=e.bufferSize)?1:l,g=e.customHeaders,h=e.serverAnonymization,w=e.connectionTimeout,b=e.keepalive,C=e.idService,S=void 0===(l=e.dontRetryStatusCodes)?[]:l,E=void 0===(l=e.retryStatusCodes)?[]:l,A=void 0===(l=e.retryFailedRequests)||l,P=e.onRequestFailure,x=e.onRequestSuccess,_=void 0===(l=e.customFetch)?fetch:l,O=e.useStm,I=void 0===(l=e.eventStore)?L({}):l,k=e.credentials,T=!1,R=!1,q="post"===d.toLowerCase();return S=S.concat([400,401,403,410,422]),{flush:c,input:function(e){return t(this,void 0,void 0,(function(){var t,r,i;return n(this,(function(n){switch(n.label){case 0:t=j({payload:e,svrAnon:h});e:{if(n=r=N(t),q){var s=(n=n.getPOSTRequestBytesCount()+88)>v;s&&J.warn("Event ("+n+"B) too big, max is "+v)}else{if(void 0===y){n=!1;break e}(s=(n=n.getGETRequestBytesCount())>y)&&J.warn("Event ("+n+"B) too big, max is "+y)}n=s}return n?((i=a()).addEvent(r),[4,o(i)]):[3,2];case 1:return n.sent(),[3,5];case 2:return[4,I.add(t)];case 3:return n.sent()>=m?[4,c()]:[3,5];case 4:n.sent(),n.label=5;case 5:return[2]}}))}))},setCollectorUrl:function(e){u=e},setAnonymousTracking:function(e){h=e},setBufferSize:function(e){m=e}}},e.newEventStorePayload=j,e.newInMemoryEventStore=L,e.payloadBuilder=o,e.payloadJsonProcessor=a,e.pluginContexts=u,e.removeEmptyProperties=R,e.resolveDynamicContext=function(e){for(var t,n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return null!==(t=null==e?void 0:e.map((function(e){if("function"!=typeof e)return e;try{return e.apply(void 0,n)}catch(e){}})).filter(Boolean))&&void 0!==t?t:[]},e.trackerCore=function(e){void 0===e&&(e={});var t,n,r,o,i,l,d,f=e.base64,p=e.corePlugins,v=null!=p?p:[];t=null==f||f,n=v,r=e.callback,o=u(n),i=s(),l=t,d={};var y=V(V({},e={track:function(e,t,c){if(e.withJsonProcessor(a(l)),e.add("eid",k()),e.addDict(d),c=function(e){return null==e?{type:"dtm",value:(new Date).getTime()}:"number"==typeof e?{type:"dtm",value:e}:"ttm"===e.type?{type:"ttm",value:e.value}:{type:"dtm",value:e.value||(new Date).getTime()}}(c),e.add(c.type,c.value.toString()),t=function(e,t){e=i.getApplicableContexts(e);var n=[];return t&&t.length&&n.push.apply(n,t),e&&e.length&&n.push.apply(n,e),n}(e,o.addPluginContexts(t)),void 0!==(t=t&&t.length?{schema:"iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0",data:t}:void 0)&&e.addJson("cx","co",t),n.forEach((function(t){try{t.beforeTrack&&t.beforeTrack(e)}catch(e){J.error("Plugin beforeTrack",e)}})),!n.find((function(t){try{return t.filter&&!1===t.filter(e.build())}catch(e){return J.error("Plugin filter",e),!1}}))){"function"==typeof r&&r(e);var s=e.build();return n.forEach((function(e){try{e.afterTrack&&e.afterTrack(s)}catch(e){J.error("Plugin afterTrack",e)}})),s}},addPayloadPair:function(e,t){d[e]=t},getBase64Encoding:function(){return l},setBase64Encoding:function(e){l=e},addPayloadDict:function(e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(d[t]=e[t])},resetPayloadPairs:function(e){d=c(e)?e:{}},setTrackerVersion:function(e){d.tv=e},setTrackerNamespace:function(e){d.tna=e},setAppId:function(e){d.aid=e},setPlatform:function(e){d.p=e},setUserId:function(e){d.uid=e},setScreenResolution:function(e,t){d.res=e+"x"+t},setViewport:function(e,t){d.vp=e+"x"+t},setColorDepth:function(e){d.cd=e},setTimezone:function(e){d.tz=e},setLang:function(e){d.lang=e},setIpAddress:function(e){d.ip=e},setUseragent:function(e){d.ua=e},addGlobalContexts:function(e){i.addGlobalContexts(e)},clearGlobalContexts:function(){i.clearGlobalContexts()},removeGlobalContexts:function(e){i.removeGlobalContexts(e)}}),{addPlugin:function(e){var t,n;e=e.plugin,v.push(e),null===(t=e.logger)||void 0===t||t.call(e,J),null===(n=e.activateCorePlugin)||void 0===n||n.call(e,y)}});return null==v||v.forEach((function(e){var t,n;null===(t=e.logger)||void 0===t||t.call(e,J),null===(n=e.activateCorePlugin)||void 0===n||n.call(e,y)})),y},e.validateVendor=f,e.validateVendorParts=d,e.version="4.0.0-beta.3",Object.defineProperty(e,"__esModule",{value:!0})})); | ||
"use strict";!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).snowplowTrackerCore={})}(this,(function(e){function n(e,n,t,r){return new(t||(t=Promise))((function(o,a){function i(e){try{s(r.next(e))}catch(e){a(e)}}function c(e){try{s(r.throw(e))}catch(e){a(e)}}function s(e){e.done?o(e.value):function(e){return e instanceof t?e:new t((function(n){n(e)}))}(e.value).then(i,c)}s((r=r.apply(e,n||[])).next())}))}function t(e,n){function t(t){return function(s){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,t[0]&&(c=0)),c;)try{if(r=1,o&&(a=2&t[0]?o.return:t[0]?o.throw||((a=o.return)&&a.call(o),0):o.next)&&!(a=a.call(o,t[1])).done)return a;switch(o=0,a&&(t=[2&t[0],a.value]),t[0]){case 0:case 1:a=t;break;case 4:return c.label++,{value:t[1],done:!1};case 5:c.label++,o=t[1],t=[0];continue;case 7:t=c.ops.pop(),c.trys.pop();continue;default:if(!(a=c.trys,(a=0<a.length&&a[a.length-1])||6!==t[0]&&2!==t[0])){c=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3]))c.label=t[1];else if(6===t[0]&&c.label<a[1])c.label=a[1],a=t;else{if(!(a&&c.label<a[2])){a[2]&&c.ops.pop(),c.trys.pop();continue}c.label=a[2],c.ops.push(t)}}t=n.call(e,c)}catch(e){t=[6,e],o=0}finally{r=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,s])}}var r,o,a,i,c={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i}function r(e,n,t){if(t||2===arguments.length)for(var r,o=0,a=n.length;o<a;o++)!r&&o in n||(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return e.concat(r||Array.prototype.slice.call(n))}function o(){var e,n={},t=[],r=[],o=[],a=function(e,t){null!=t&&""!==t&&(n[e]=t)};return{add:a,addDict:function(e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&a(n,e[n])},addJson:function(e,n,o){o&&i(o)&&(e={keyIfEncoded:e,keyIfNotEncoded:n,json:o},r.push(e),t.push(e))},addContextEntity:function(e){o.push(e)},getPayload:function(){return n},getJson:function(){return t},withJsonProcessor:function(n){e=n},build:function(){return null==e||e(this,r,o),n}}}function a(e){return function(n,t,o){for(var a=function(t,r,o){if(t=JSON.stringify(t),e){if(o=n.add,t){var a=0,i=0,c=[];if(t){t=unescape(encodeURIComponent(t));do{var s=t.charCodeAt(a++),u=t.charCodeAt(a++),l=t.charCodeAt(a++),d=s<<16|u<<8|l;s=d>>18&63,u=d>>12&63,l=d>>6&63,d&=63,c[i++]=B.charAt(s)+B.charAt(u)+B.charAt(l)+B.charAt(d)}while(a<t.length);a=c.join(""),t=((t=t.length%3)?a.slice(0,t-3):a)+"===".slice(t||3)}t=t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}o.call(n,r,t)}else n.add(o,t)},i=function(t,r){if(!t){var o=n.getPayload();if(e?o.cx:o.co){var a=(t=JSON).parse;if(e){if(o=o.cx){switch(4-o.length%4){case 2:o+="==";break;case 3:o+="="}o=function(e){var n,t=0,r=0,o="",a=[];if(!e)return e;e+="";do{var i=B.indexOf(e.charAt(t++)),c=B.indexOf(e.charAt(t++));o=B.indexOf(e.charAt(t++));var s=B.indexOf(e.charAt(t++)),u=i<<18|c<<12|o<<6|s;i=u>>16&255,c=u>>8&255,u&=255,a[r++]=64===o?String.fromCharCode(i):64===s?String.fromCharCode(i,c):String.fromCharCode(i,c,u)}while(t<e.length);return o=a.join(""),n=o.replace(/\0+$/,""),decodeURIComponent(n.split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))}(o=o.replace(/-/g,"+").replace(/_/g,"/"))}}else o=o.co;t=a.call(t,o)}else t=void 0}return t?t.data=t.data.concat(r.data):t=r,t},c=void 0,s=0;s<t.length;s++){var u=t[s];"cx"===u.keyIfEncoded?c=i(c,u.json):a(u.json,u.keyIfEncoded,u.keyIfNotEncoded)}t.length=0,o.length&&(c=i(c,t={schema:"iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0",data:r([],o,!0)}),o.length=0),c&&a(c,"cx","co")}}function i(e){if(!c(e))return!1;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))return!0;return!1}function c(e){return null!=e&&(e.constructor==={}.constructor||e.constructor===[].constructor)}function s(){var e=[],n=[],t={},r={};return{getGlobalPrimitives:function(){return e.concat(Object.values(t))},getConditionalProviders:function(){return n.concat(Object.values(r))},addGlobalContexts:function(o){if(Array.isArray(o)){for(var a=[],i=[],c=0;c<o.length;c++){var s=o[c];E(s)?a.push(s):b(s)&&i.push(s)}e=e.concat(i),n=n.concat(a)}else for(a=0,o=Object.entries(o);a<o.length;a++)i=(s=o[a])[0],E(s=s[1])?r[i]=s:b(s)&&(t[i]=s)},clearGlobalContexts:function(){n=[],e=[],r={},t={}},removeGlobalContexts:function(o){for(var a=function(o){"string"==typeof o?(delete r[o],delete t[o]):E(o)?n=n.filter((function(e){return JSON.stringify(e)!==JSON.stringify(o)})):b(o)&&(e=e.filter((function(e){return JSON.stringify(e)!==JSON.stringify(o)})))},i=0;i<o.length;i++)a(o[i])},getApplicableContexts:function(o){e:{for(var a=0,i=o.getJson();a<i.length;a++){var c=i[a];if("ue_px"===c.keyIfEncoded&&"object"==typeof c.json.data&&"string"==typeof(c=c.json.data.schema)){a=c;break e}}a=""}c="string"==typeof(i=o.getPayload().e)?i:"",i=[];var s=I(e.concat(Object.values(t)),o,c,a);return i.push.apply(i,s),o=function(e,n,t,r){var o;return e=_(e).map((function(e){e:{if(S(e)){var o=e[0],a=!1;try{a=o({event:n.getPayload(),eventType:t,eventSchema:r})}catch(e){a=!1}if(!0===a){e=I(e[1],n,t,r);break e}}else if(C(e)&&A(e[0],r)){e=I(e[1],n,t,r);break e}e=[]}if(e&&0!==e.length)return e})),(o=[]).concat.apply(o,e.filter((function(e){return null!=e&&e.filter(Boolean)})))}(n.concat(Object.values(r)),o,c,a),i.push.apply(i,o),i}}}function u(e){return{addPluginContexts:function(n){var t=n?r([],n,!0):[];return e.forEach((function(e){try{e.contexts&&t.push.apply(t,e.contexts())}catch(e){z.error("Error adding plugin contexts",e)}})),t}}}function l(e){if(null!==(e=/^iglu:([a-zA-Z0-9-_.]+)\/([a-zA-Z0-9-_]+)\/jsonschema\/([1-9][0-9]*)-(0|[1-9][0-9]*)-(0|[1-9][0-9]*)$/.exec(e)))return e.slice(1,6)}function d(e){if("*"===e[0]||"*"===e[1])return!1;if(0<e.slice(2).length){var n=!1,t=0;for(e=e.slice(2);t<e.length;t++)if("*"===e[t])n=!0;else if(n)return!1;return!0}return 2==e.length}function f(e){return!!((e=e.split("."))&&1<e.length)&&d(e)}function p(e){if(null!==(e=/^iglu:((?:(?:[a-zA-Z0-9-_]+|\*).)+(?:[a-zA-Z0-9-_]+|\*))\/([a-zA-Z0-9-_.]+|\*)\/jsonschema\/([1-9][0-9]*|\*)-(0|[1-9][0-9]*|\*)-(0|[1-9][0-9]*|\*)$/.exec(e))&&f(e[1]))return e.slice(1,6)}function v(e){if(e=p(e)){var n=e[0];return 5===e.length&&f(n)}return!1}function m(e){return Array.isArray(e)&&e.every((function(e){return"string"==typeof e}))}function y(e){return m(e)?e.every((function(e){return v(e)})):"string"==typeof e&&v(e)}function g(e){return!!(i(e)&&"schema"in e&&"data"in e)&&("string"==typeof e.schema&&"object"==typeof e.data)}function h(e){var n=0;if(null!=e&&"object"==typeof e&&!Array.isArray(e)){if(Object.prototype.hasOwnProperty.call(e,"accept")){if(!y(e.accept))return!1;n+=1}if(Object.prototype.hasOwnProperty.call(e,"reject")){if(!y(e.reject))return!1;n+=1}return 0<n&&2>=n}return!1}function w(e){return"function"==typeof e&&1>=e.length}function b(e){return w(e)||g(e)}function S(e){return!(!Array.isArray(e)||2!==e.length)&&(Array.isArray(e[1])?w(e[0])&&e[1].every(b):w(e[0])&&b(e[1]))}function C(e){return!(!Array.isArray(e)||2!==e.length)&&(!!h(e[0])&&(Array.isArray(e[1])?e[1].every(b):b(e[1])))}function E(e){return S(e)||C(e)}function A(e,n){var t=0,r=0,o=e.accept;return Array.isArray(o)?e.accept.some((function(e){return P(e,n)}))&&r++:"string"==typeof o&&P(o,n)&&r++,o=e.reject,Array.isArray(o)?e.reject.some((function(e){return P(e,n)}))&&t++:"string"==typeof o&&P(o,n)&&t++,0<r&&0===t}function P(e,n){if(!v(e))return!1;if(e=p(e),n=l(n),e&&n){if(!function(e,n){if(n=n.split("."),e=e.split("."),n&&e){if(n.length!==e.length)return!1;for(var t=0;t<e.length;t++)if(!x(n[t],e[t]))return!1;return!0}return!1}(e[0],n[0]))return!1;for(var t=1;5>t;t++)if(!x(e[t],n[t]))return!1;return!0}return!1}function x(e,n){return e&&n&&"*"===e||e===n}function _(e){return Array.isArray(e)?e:[e]}function I(e,n,t,r){var o;return e=_(e).map((function(e){e:if(g(e))e=[e];else{if(w(e)){n:{var o=void 0;try{if(o=e({event:n.getPayload(),eventType:t,eventSchema:r}),Array.isArray(o)&&o.every(g)||g(o)){var a=o;break n}a=void 0;break n}catch(e){}a=void 0}if(g(a)){e=[a];break e}if(Array.isArray(a)){e=a;break e}}e=void 0}if(e&&0!==e.length)return e})),(o=[]).concat.apply(o,e.filter((function(e){return null!=e&&e.filter(Boolean)})))}function O(e){var n=e.svrAnon;return{payload:e.payload,svrAnon:void 0!==n&&n}}function j(){if(!F&&!(F="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return F(M)}function k(e,n,t){if(H.randomUUID&&!n&&!e)return H.randomUUID();if((e=(e=e||{}).random||(e.rng||j)())[6]=15&e[6]|64,e[8]=63&e[8]|128,n){t=t||0;for(var r=0;16>r;++r)n[t+r]=e[r];return n}return function(e,n=0){return(J[e[n+0]]+J[e[n+1]]+J[e[n+2]]+J[e[n+3]]+"-"+J[e[n+4]]+J[e[n+5]]+"-"+J[e[n+6]]+J[e[n+7]]+"-"+J[e[n+8]]+J[e[n+9]]+"-"+J[e[n+10]]+J[e[n+11]]+J[e[n+12]]+J[e[n+13]]+J[e[n+14]]+J[e[n+15]]).toLowerCase()}(e)}function T(e){var n=e.event;return e={schema:"iglu:com.snowplowanalytics.snowplow/unstruct_event/jsonschema/1-0-0",data:{schema:e=n.schema,data:n.data}},(n=o()).add("e","ue"),n.addJson("ue_px","ue_pr",e),n}function R(e,n){void 0===n&&(n={});var t,r={};for(t in e)(n[t]||null!==e[t]&&void 0!==e[t])&&(r[t]=e[t]);return r}function L(e){var n=e.maxSize,t=void 0===n?1e3:n,o=r([],void 0===(e=e.events)?[]:e,!0),a=function(){return Promise.resolve(o.length)};return{count:a,add:function(e){for(o.push(e);o.length>t;)o.shift();return a()},removeHead:function(e){for(var n=0;n<e;n++)o.shift();return Promise.resolve()},iterator:function(){var e=0,n=r([],o,!0);return{next:function(){return e<n.length?Promise.resolve({value:n[e++],done:!1}):Promise.resolve({value:void 0,done:!0})}}},getAll:function(){return Promise.resolve(r([],o,!0))},getAllPayloads:function(){return Promise.resolve(o.map((function(e){return e.payload})))}}}function G(e){function n(){var e=S.reduce((function(e,n){return e+(C?n.getPOSTRequestBytesCount():n.getGETRequestBytesCount())}),0);return C&&(e+=88),e}function t(){var e=new Headers;return C&&e.append("Content-Type","application/json; charset=UTF-8"),p&&Object.keys(p).forEach((function(n){e.append(n,p[n])})),0<S.length&&S[0].getServerAnonymization()&&e.append("SP-Anonymous","*"),e}function r(){var e=c;return c.includes("://")||(e="".concat(u,"://").concat(c)),l&&(e="".concat(e,":").concat(l)),e+(C?g:"/i")}function o(e,n){return i(!1),f=new AbortController,d=setTimeout((function(){console.error("Request timed out"),d=void 0,i(!1,"Request timed out")}),null!=v?v:5e3),n=N({headers:t(),signal:f.signal,keepalive:y,credentials:b},n),new Request(e,n)}function a(){var e=function(e){for(var n=(new Date).getTime().toString(),t=0;t<e.length;t++)e[t].stm=n;return e}(S.map((function(e){return e.getPOSTRequestBody()})));return o(r(),{method:"POST",body:JSON.stringify({schema:"iglu:com.snowplowanalytics.snowplow/payload_data/jsonschema/1-0-4",data:e})})}function i(e,n){if(void 0!==d&&(clearTimeout(d),d=void 0),void 0!==f){var t=f;f=void 0,e||t.abort(n)}}var c=e.endpoint,s=e.protocol,u=void 0===s?"https":s,l=e.port;s=e.eventMethod;var d,f,p=e.customHeaders,v=e.connectionTimeout,m=e.keepalive,y=void 0===m||m,g=void 0===(m=e.postPath)?"/com.snowplowanalytics.snowplow/tp2":m,h=void 0===(m=e.useStm)||m,w=void 0===(m=e.maxPostBytes)?4e4:m,b=void 0===(e=e.credentials)?"include":e,S=[],C="post"===(void 0===s?"post":s).toLowerCase();return{addEvent:function(e){return!(0<S.length&&(0<S.length?S[0].getServerAnonymization():void 0)!==e.getServerAnonymization())&&(S.push(e),!0)},getEvents:function(){return S},toRequest:function(){if(0!==S.length){if(C)return a();if(1!==S.length)throw Error("Only one event can be sent in a GET request");return o(S[0].getGETRequestURL(r(),h),{method:"GET"})}},countBytes:n,countEvents:function(){return S.length},isFull:function(){return C?n()>=w:1<=S.length},closeRequest:i}}function q(e){for(var n=0,t=0;t<e.length;t++){var r=e.charCodeAt(t);127>=r?n+=1:2047>=r?n+=2:55296<=r&&57343>=r?(n+=4,t++):n=65535>r?n+3:n+4}return n}function U(e){function n(){return e.payload}function t(e){if(null===o){var n,t={co:!0,cx:!0},r=[];for(n in e)e.hasOwnProperty(n)&&!t[n]&&r.push(n+"="+encodeURIComponent(e[n]));for(var a in t)e.hasOwnProperty(a)&&t[a]&&r.push(a+"="+encodeURIComponent(e[a]));o="?"+r.join("&")}return o}function r(){return null===a&&(a=function(e){return Object.keys(e).map((function(n){return[n,e[n]]})).reduce((function(e,n){return e[n[0]]=n[1].toString(),e}),{})}(n())),a}var o=null,a=null,i=null,c=null;return{getPayload:n,getServerAnonymization:function(){var n;return null!==(n=e.svrAnon)&&void 0!==n&&n},getGETRequestURL:function(e,r){var o=t(n());return r?e+o.replace("?","?stm="+(new Date).getTime()+"&"):e+o},getGETRequestBytesCount:function(){if(null===i){var e=t(n());i=q(e)}return i},getPOSTRequestBody:r,getPOSTRequestBytesCount:function(){return null===c&&(c=q(JSON.stringify(r()))),c}}}var N=function(){return N=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},N.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var V,B="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.LOG_LEVEL=void 0,(V=e.LOG_LEVEL||(e.LOG_LEVEL={}))[V.none=0]="none",V[V.error=1]="error",V[V.warn=2]="warn",V[V.debug=3]="debug",V[V.info=4]="info";for(var z=function(n){return void 0===n&&(n=e.LOG_LEVEL.warn),{setLogLevel:function(t){n=e.LOG_LEVEL[t]?t:e.LOG_LEVEL.warn},warn:function(t,o){for(var a=[],i=2;i<arguments.length;i++)a[i-2]=arguments[i];n>=e.LOG_LEVEL.warn&&"undefined"!=typeof console&&(i="Snowplow: "+t,o?console.warn.apply(console,r([i+"\n",o],a,!1)):console.warn.apply(console,r([i],a,!1)))},error:function(t,o){for(var a=[],i=2;i<arguments.length;i++)a[i-2]=arguments[i];n>=e.LOG_LEVEL.error&&"undefined"!=typeof console&&(i="Snowplow: "+t+"\n",o?console.error.apply(console,r([i+"\n",o],a,!1)):console.error.apply(console,r([i],a,!1)))},debug:function(t){for(var o=[],a=1;a<arguments.length;a++)o[a-1]=arguments[a];n>=e.LOG_LEVEL.debug&&"undefined"!=typeof console&&console.debug.apply(console,r(["Snowplow: "+t],o,!1))},info:function(t){for(var o=[],a=1;a<arguments.length;a++)o[a-1]=arguments[a];n>=e.LOG_LEVEL.info&&"undefined"!=typeof console&&console.info.apply(console,r(["Snowplow: "+t],o,!1))}}}(),J=[],D=0;256>D;++D)J.push((D+256).toString(16).slice(1));var F,M=new Uint8Array(16),H={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};e.LOG=z,e.buildAdClick=function(e){return T({event:e={schema:"iglu:com.snowplowanalytics.snowplow/ad_click/jsonschema/1-0-0",data:R({targetUrl:e.targetUrl,clickId:e.clickId,costModel:e.costModel,cost:e.cost,bannerId:e.bannerId,zoneId:e.zoneId,impressionId:e.impressionId,advertiserId:e.advertiserId,campaignId:e.campaignId})}})},e.buildAdConversion=function(e){return T({event:e={schema:"iglu:com.snowplowanalytics.snowplow/ad_conversion/jsonschema/1-0-0",data:R({conversionId:e.conversionId,costModel:e.costModel,cost:e.cost,category:e.category,action:e.action,property:e.property,initialValue:e.initialValue,advertiserId:e.advertiserId,campaignId:e.campaignId})}})},e.buildAdImpression=function(e){return T({event:e={schema:"iglu:com.snowplowanalytics.snowplow/ad_impression/jsonschema/1-0-0",data:R({impressionId:e.impressionId,costModel:e.costModel,cost:e.cost,targetUrl:e.targetUrl,bannerId:e.bannerId,zoneId:e.zoneId,advertiserId:e.advertiserId,campaignId:e.campaignId})}})},e.buildAddToCart=function(e){return T({event:{schema:"iglu:com.snowplowanalytics.snowplow/add_to_cart/jsonschema/1-0-0",data:R({sku:e.sku,quantity:e.quantity,name:e.name,category:e.category,unitPrice:e.unitPrice,currency:e.currency})}})},e.buildConsentGranted=function(e){var n=e.expiry;return e={schema:"iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0",data:R({id:e.id,version:e.version,name:e.name,description:e.description})},{event:T({event:{schema:"iglu:com.snowplowanalytics.snowplow/consent_granted/jsonschema/1-0-0",data:R({expiry:n})}}),context:[e]}},e.buildConsentWithdrawn=function(e){var n=e.all;return e={schema:"iglu:com.snowplowanalytics.snowplow/consent_document/jsonschema/1-0-0",data:R({id:e.id,version:e.version,name:e.name,description:e.description})},{event:T({event:{schema:"iglu:com.snowplowanalytics.snowplow/consent_withdrawn/jsonschema/1-0-0",data:R({all:n})}}),context:[e]}},e.buildEcommerceTransaction=function(e){var n=e.orderId,t=e.total,r=e.affiliation,a=e.tax,i=e.shipping,c=e.city,s=e.state,u=e.country;e=e.currency;var l=o();return l.add("e","tr"),l.add("tr_id",n),l.add("tr_af",r),l.add("tr_tt",t),l.add("tr_tx",a),l.add("tr_sh",i),l.add("tr_ci",c),l.add("tr_st",s),l.add("tr_co",u),l.add("tr_cu",e),l},e.buildEcommerceTransactionItem=function(e){var n=e.orderId,t=e.sku,r=e.price,a=e.name,i=e.category,c=e.quantity;e=e.currency;var s=o();return s.add("e","ti"),s.add("ti_id",n),s.add("ti_sk",t),s.add("ti_nm",a),s.add("ti_ca",i),s.add("ti_pr",r),s.add("ti_qu",c),s.add("ti_cu",e),s},e.buildFormFocusOrChange=function(e){var n="",t=e.schema,r=e.type;return e={formId:e.formId,elementId:e.elementId,nodeName:e.nodeName,elementClasses:e.elementClasses,value:e.value},"change_form"===t?(n="iglu:com.snowplowanalytics.snowplow/change_form/jsonschema/1-0-0",e.type=r):"focus_form"===t&&(n="iglu:com.snowplowanalytics.snowplow/focus_form/jsonschema/1-0-0",e.elementType=r),T({event:{schema:n,data:R(e,{value:!0})}})},e.buildFormSubmission=function(e){return T({event:{schema:"iglu:com.snowplowanalytics.snowplow/submit_form/jsonschema/1-0-0",data:R({formId:e.formId,formClasses:e.formClasses,elements:e.elements})}})},e.buildLinkClick=function(e){return T({event:e={schema:"iglu:com.snowplowanalytics.snowplow/link_click/jsonschema/1-0-1",data:R({targetUrl:e.targetUrl,elementId:e.elementId,elementClasses:e.elementClasses,elementTarget:e.elementTarget,elementContent:e.elementContent})}})},e.buildPagePing=function(e){var n=e.pageUrl,t=e.pageTitle,r=e.referrer,a=e.minXOffset,i=e.maxXOffset,c=e.minYOffset;e=e.maxYOffset;var s=o();return s.add("e","pp"),s.add("url",n),s.add("page",t),s.add("refr",r),a&&!isNaN(Number(a))&&s.add("pp_mix",a.toString()),i&&!isNaN(Number(i))&&s.add("pp_max",i.toString()),c&&!isNaN(Number(c))&&s.add("pp_miy",c.toString()),e&&!isNaN(Number(e))&&s.add("pp_may",e.toString()),s},e.buildPageView=function(e){var n=e.pageUrl,t=e.pageTitle;e=e.referrer;var r=o();return r.add("e","pv"),r.add("url",n),r.add("page",t),r.add("refr",e),r},e.buildRemoveFromCart=function(e){return T({event:{schema:"iglu:com.snowplowanalytics.snowplow/remove_from_cart/jsonschema/1-0-0",data:R({sku:e.sku,quantity:e.quantity,name:e.name,category:e.category,unitPrice:e.unitPrice,currency:e.currency})}})},e.buildScreenView=function(e){return T({event:{schema:"iglu:com.snowplowanalytics.snowplow/screen_view/jsonschema/1-0-0",data:R({name:e.name,id:e.id})}})},e.buildSelfDescribingEvent=T,e.buildSiteSearch=function(e){return T({event:{schema:"iglu:com.snowplowanalytics.snowplow/site_search/jsonschema/1-0-0",data:R({terms:e.terms,filters:e.filters,totalResults:e.totalResults,pageResults:e.pageResults})}})},e.buildSocialInteraction=function(e){return T({event:e={schema:"iglu:com.snowplowanalytics.snowplow/social_interaction/jsonschema/1-0-0",data:R({action:e.action,network:e.network,target:e.target})}})},e.buildStructEvent=function(e){var n=e.category,t=e.action,r=e.label,a=e.property;e=e.value;var i=o();return i.add("e","se"),i.add("se_ca",n),i.add("se_ac",t),i.add("se_la",r),i.add("se_pr",a),i.add("se_va",null==e?void 0:e.toString()),i},e.getRuleParts=p,e.getSchemaParts=l,e.globalContexts=s,e.isConditionalContextProvider=E,e.isContextCallbackFunction=w,e.isContextPrimitive=b,e.isFilterProvider=S,e.isJson=c,e.isNonEmptyJson=i,e.isRuleSet=h,e.isRuleSetProvider=C,e.isSelfDescribingJson=g,e.isStringArray=m,e.isValidRule=v,e.isValidRuleSetArg=y,e.matchSchemaAgainstRule=P,e.matchSchemaAgainstRuleSet=A,e.newEmitter=function(e){function r(e,n){void 0!==P&&setTimeout((function(){try{null==P||P(e,n)}catch(e){z.error("Error in onRequestFailure",e)}}),0)}function o(e){return n(this,void 0,void 0,(function(){var n,o,a,i,c,s;return t(this,(function(t){switch(t.label){case 0:if(void 0===(n=e.toRequest()))throw Error("Empty batch");o=e.getEvents().map((function(e){return e.getPayload()})),t.label=1;case 1:return t.trys.push([1,4,,5]),[4,_(n)];case 2:return[4,(a=t.sent()).text()];case 3:return t.sent(),e.closeRequest(!0),a.ok?(function(e,n){void 0!==x&&setTimeout((function(){try{null==x||x(e,n)}catch(e){z.error("Error in onRequestSuccess",e)}}),0)}(o,a),[2,{success:!0,retry:!1,status:a.status}]):(i=function(e){return!(200<=e&&300>e||!A||!E.includes(e)&&C.includes(e))}(a.status),r({events:o,status:a.status,message:a.statusText,willRetry:i},a),[2,{success:!1,retry:i,status:a.status}]);case 4:return c=t.sent(),e.closeRequest(!1),s="string"==typeof c?c:c?c.message:"Unknown error",r({events:o,message:s,willRetry:!0}),[2,{success:!1,retry:!0}];case 5:return[2]}}))}))}function a(){return G({endpoint:u,protocol:f,port:p,eventMethod:d,customHeaders:g,connectionTimeout:w,keepalive:b,maxPostBytes:v,useStm:I,credentials:k})}function i(){return n(this,void 0,void 0,(function(){var e;return t(this,(function(n){switch(n.label){case 0:return!S||T?[3,2]:(T=!0,e=new Request(S,{method:"GET"}),[4,_(e)]);case 1:n.sent(),n.label=2;case 2:return[2]}}))}))}function c(){return n(this,void 0,void 0,(function(){var e;return t(this,(function(n){switch(n.label){case 0:if(R)return[3,5];R=!0,n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,s()];case 2:return n.sent(),[3,5];case 3:return e=n.sent(),z.error("Error sending events",e),[3,5];case 4:return R=!1,[7];case 5:return[2]}}))}))}function s(){return n(this,void 0,void 0,(function(){var e,n,r,c,u,l,d,f,p;return t(this,(function(t){switch(t.label){case 0:return[4,i()];case 1:t.sent(),e=a(),n=j.iterator(),t.label=2;case 2:return e.isFull()?[3,4]:[4,n.next()];case 3:return r=t.sent(),c=r.value,r.done||void 0===c?[3,4]:(u=U(c),e.addEvent(u)?[3,2]:[3,4]);case 4:return 0===e.countEvents()?[2]:[4,o(e)];case 5:return l=t.sent(),d=l.success,f=l.retry,p=l.status,!d&&f?[3,7]:(d||z.error("Status ".concat(p,", will not retry.")),[4,j.removeHead(e.countEvents())]);case 6:t.sent(),t.label=7;case 7:return d?[4,s()]:[3,9];case 8:t.sent(),t.label=9;case 9:return[2]}}))}))}var u=e.endpoint,l=e.eventMethod,d=void 0===l?"post":l,f=e.protocol,p=e.port,v=void 0===(l=e.maxPostBytes)?4e4:l,m=e.maxGetBytes,y=void 0===(l=e.bufferSize)?1:l,g=e.customHeaders,h=e.serverAnonymization,w=e.connectionTimeout,b=e.keepalive,S=e.idService,C=void 0===(l=e.dontRetryStatusCodes)?[]:l,E=void 0===(l=e.retryStatusCodes)?[]:l,A=void 0===(l=e.retryFailedRequests)||l,P=e.onRequestFailure,x=e.onRequestSuccess,_=void 0===(l=e.customFetch)?fetch:l,I=e.useStm,j=void 0===(l=e.eventStore)?L({}):l,k=e.credentials,T=!1,R=!1,q="post"===d.toLowerCase();return C=C.concat([400,401,403,410,422]),{flush:c,input:function(e){return n(this,void 0,void 0,(function(){var n,r,i;return t(this,(function(t){switch(t.label){case 0:n=O({payload:e,svrAnon:h});e:{if(t=r=U(n),q){var s=(t=t.getPOSTRequestBytesCount()+88)>v;s&&z.warn("Event ("+t+"B) too big, max is "+v)}else{if(void 0===m){t=!1;break e}(s=(t=t.getGETRequestBytesCount())>m)&&z.warn("Event ("+t+"B) too big, max is "+m)}t=s}return t?((i=a()).addEvent(r),[4,o(i)]):[3,2];case 1:return t.sent(),[3,5];case 2:return[4,j.add(n)];case 3:return t.sent()>=y?[4,c()]:[3,5];case 4:t.sent(),t.label=5;case 5:return[2]}}))}))},setCollectorUrl:function(e){u=e},setAnonymousTracking:function(e){h=e},setBufferSize:function(e){y=e}}},e.newEventStorePayload=O,e.newInMemoryEventStore=L,e.payloadBuilder=o,e.payloadJsonProcessor=a,e.pluginContexts=u,e.removeEmptyProperties=R,e.resolveDynamicContext=function(e){for(var n,t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];return null!==(n=null==e?void 0:e.map((function(e){if("function"!=typeof e)return e;try{return e.apply(void 0,t)}catch(e){}})).filter(Boolean))&&void 0!==n?n:[]},e.trackerCore=function(e){void 0===e&&(e={});var n,t,r,o,i,l,d,f=e.base64,p=e.corePlugins,v=null!=p?p:[];n=null==f||f,t=v,r=e.callback,o=u(t),i=s(),l=n,d={};var m=N(N({},e={track:function(e,n,c){if(e.withJsonProcessor(a(l)),e.add("eid",k()),e.addDict(d),c=function(e){return null==e?{type:"dtm",value:(new Date).getTime()}:"number"==typeof e?{type:"dtm",value:e}:"ttm"===e.type?{type:"ttm",value:e.value}:{type:"dtm",value:e.value||(new Date).getTime()}}(c),e.add(c.type,c.value.toString()),n=function(e,n){e=i.getApplicableContexts(e);var t=[];return n&&n.length&&t.push.apply(t,n),e&&e.length&&t.push.apply(t,e),t}(e,o.addPluginContexts(n)),void 0!==(n=n&&n.length?{schema:"iglu:com.snowplowanalytics.snowplow/contexts/jsonschema/1-0-0",data:n}:void 0)&&e.addJson("cx","co",n),t.forEach((function(n){try{n.beforeTrack&&n.beforeTrack(e)}catch(e){z.error("Plugin beforeTrack",e)}})),!t.find((function(n){try{return n.filter&&!1===n.filter(e.build())}catch(e){return z.error("Plugin filter",e),!1}}))){"function"==typeof r&&r(e);var s=e.build();return t.forEach((function(e){try{e.afterTrack&&e.afterTrack(s)}catch(e){z.error("Plugin afterTrack",e)}})),s}},addPayloadPair:function(e,n){d[e]=n},getBase64Encoding:function(){return l},setBase64Encoding:function(e){l=e},addPayloadDict:function(e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(d[n]=e[n])},resetPayloadPairs:function(e){d=c(e)?e:{}},setTrackerVersion:function(e){d.tv=e},setTrackerNamespace:function(e){d.tna=e},setAppId:function(e){d.aid=e},setPlatform:function(e){d.p=e},setUserId:function(e){d.uid=e},setScreenResolution:function(e,n){d.res=e+"x"+n},setViewport:function(e,n){d.vp=e+"x"+n},setColorDepth:function(e){d.cd=e},setTimezone:function(e){d.tz=e},setLang:function(e){d.lang=e},setIpAddress:function(e){d.ip=e},setUseragent:function(e){d.ua=e},addGlobalContexts:function(e){i.addGlobalContexts(e)},clearGlobalContexts:function(){i.clearGlobalContexts()},removeGlobalContexts:function(e){i.removeGlobalContexts(e)}}),{addPlugin:function(e){var n,t;e=e.plugin,v.push(e),null===(n=e.logger)||void 0===n||n.call(e,z),null===(t=e.activateCorePlugin)||void 0===t||t.call(e,m)}});return null==v||v.forEach((function(e){var n,t;null===(n=e.logger)||void 0===n||n.call(e,z),null===(t=e.activateCorePlugin)||void 0===t||t.call(e,m)})),m},e.validateVendor=f,e.validateVendorParts=d,e.version="4.0.0-beta.4",Object.defineProperty(e,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=index.min.js.map |
{ | ||
"name": "@snowplow/tracker-core", | ||
"version": "4.0.0-beta.3", | ||
"version": "4.0.0-beta.4", | ||
"description": "Core functionality for Snowplow JavaScript trackers", | ||
@@ -44,3 +44,3 @@ "keywords": [ | ||
"tslib": "^2.3.1", | ||
"uuid": "^8.3.2" | ||
"uuid": "^10.0.0" | ||
}, | ||
@@ -53,3 +53,3 @@ "devDependencies": { | ||
"@types/node": "~14.6.0", | ||
"@types/uuid": "^8.3.2", | ||
"@types/uuid": "^10.0.0", | ||
"@typescript-eslint/eslint-plugin": "~5.15.0", | ||
@@ -56,0 +56,0 @@ "@typescript-eslint/parser": "~5.15.0", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1425892
8878
+ Addeduuid@10.0.0(transitive)
- Removeduuid@8.3.2(transitive)
Updateduuid@^10.0.0