@snowplow/signals-browser-plugin 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Snowplow Signals Interventions SDK v0.2.0 (https://github.com/snowplow-incubator/signals-browser-plugin)
3
- * Copyright 2025 Snowplow Analytics Ltd
2
+ * Snowplow Signals Interventions SDK v0.2.2 (https://github.com/snowplow-incubator/signals-browser-plugin)
3
+ * Copyright 2026 Snowplow Analytics Ltd
4
4
  * Licensed under Apache-2.0
5
5
  */
6
6
  !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).snowplowSignals={})}(this,function(t){"use strict";function e(t,e,r){if(r||2===arguments.length)for(var n,i=0,a=e.length;i<a;i++)!n&&i in e||(n||(n=Array.prototype.slice.call(e,0,i)),n[i]=e[i]);return t.concat(n||Array.prototype.slice.call(e))}
@@ -9,5 +9,5 @@
9
9
  * Copyright 2022 Snowplow Analytics Ltd, 2010 Anthon Pang
10
10
  * Licensed under BSD-3-Clause
11
11
  */
12
- function r(){var t,e={},r=[],n=[],i=[],a=function(t,r){null!=r&&""!==r&&(e[t]=r)};return{add:a,addDict:function(t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&a(e,t[e])},addJson:function(t,e,i){if(i&&function(t){if(!function(t){return null!=t&&(t.constructor==={}.constructor||t.constructor===[].constructor)}(t))return!1;for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!0;return!1}(i)){var a={keyIfEncoded:t,keyIfNotEncoded:e,json:i};n.push(a),r.push(a)}},addContextEntity:function(t){i.push(t)},getPayload:function(){return e},getJson:function(){return r},withJsonProcessor:function(e){t=e},build:function(){return null==t||t(this,n,i),e}}}"function"==typeof SuppressedError&&SuppressedError;var n,i,a,o;!function(t){t[t.none=0]="none",t[t.error=1]="error",t[t.warn=2]="warn",t[t.debug=3]="debug",t[t.info=4]="info"}(n||(n={})),function(t){void 0===t&&(t=n.warn)}(),function(t){t.DEBUG="debug",t.ERROR="error",t.INFO="info",t.WARN="warn"}(i||(i={}));var s=function(t,r){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];if(a&&o){var s="[".concat(a,":").concat(r,"] ");if("string"==typeof n[0]){var u=s+n.shift();o[t].apply(o,e([u],n,!1))}else o[t].apply(o,e([s],n,!1))}},u=function(t,e){a=t,o=e},c=["co","cx","context","entity","entities"],d=["ue","ue_pr","ue_px","unstruct","unstruct_event","self_describing","sde"],l={se:"iglu:com.google.analytics/event/jsonschema/1-0-0",ev:"iglu:com.google.analytics/event/jsonschema/1-0-0",ad:"iglu:com.snowplowanalytics.snowplow/ad_impression/jsonschema/1-0-0",tr:"iglu:com.snowplowanalytics.snowplow/transaction/jsonschema/1-0-0",ti:"iglu:com.snowplowanalytics.snowplow/transaction_item/1-0-0",pv:"iglu:com.snowplowanalytics.snowplow/page_view/jsonschema/1-0-0",pp:"iglu:com.snowplowanalytics.snowplow/page_ping/jsonschema/1-0-0",ue:""},f=function(t,e){return"object"==typeof t&&null!=t&&e in t},p=function(t,e){return function(r){try{return new URL(r[e])[t].toString()||void 0}catch(t){return}}},v=function(t,e){return function(r){var n;try{return null!==(n=new URL(r[e]).searchParams.get(t))&&void 0!==n?n:void 0}catch(t){return}}},_=function(t,e,r,n){return void 0===n&&(n="."),function(i){var a;try{var o=null!==(a=new URL(i[e]).searchParams.get(t))&&void 0!==a?a:void 0;return o?o.split(n)[r]:void 0}catch(t){return}}},h=function(t,e){return function(r){try{return r[e].split("x")[t]}catch(t){return}}},m={app_id:"aid",platform:"p",dvce_created_tstamp:"dtm",event:function(t){var e,r=t.e;return null!==(e={se:"struct",ev:"struct",ue:"unstruct",ad:"ad_impression",tr:"transaction",ti:"transaction_item",pv:"page_view",pp:"page_ping"}[r])&&void 0!==e?e:r},event_id:"eid",txn_id:"tid",name_tracker:"tna",v_tracker:"tv",user_id:"uid",user_ipaddress:"ip",user_fingerprint:"fp",domain_userid:"duid",domain_sessionidx:"vid",network_userid:"nuid",page_url:"url",page_title:"page",page_referrer:"refr",page_urlscheme:p("protocol","url"),page_urlhost:p("hostname","url"),page_urlport:p("port","url"),page_urlpath:p("pathname","url"),page_urlquery:p("search","url"),page_urlfragment:p("hash","url"),refr_urlscheme:p("protocol","refr"),refr_urlhost:p("hostname","refr"),refr_urlport:p("port","refr"),refr_urlpath:p("pathname","refr"),refr_urlquery:p("search","refr"),refr_urlfragment:p("hash","refr"),mkt_medium:v("utm_medium","url"),mkt_source:v("utm_source","url"),mkt_term:v("utm_term","url"),mkt_content:v("utm_content","url"),mkt_campaign:v("utm_campaign","url"),se_category:"se_ca",se_action:"se_ac",se_label:"se_la",se_property:"se_pr",se_value:"se_va",tr_orderid:"tr_id",tr_affiliation:"tr_af",tr_total:"tr_tt",tr_tax:"tr_tx",tr_shipping:"tr_sh",tr_city:"tr_ci",tr_state:"tr_st",tr_country:"tr_co",ti_orderid:"ti_id",ti_sku:"ti_sk",ti_name:"ti_na",ti_category:"ti_ca",ti_price:"ti_pr",ti_quantity:"ti_qu",pp_xoffset_min:"pp_mix",pp_xoffset_max:"pp_max",pp_yoffset_min:"pp_miy",pp_yoffset_max:"pp_may",useragent:function(t){var e=t.ua;return null!=e?e:navigator.userAgent},br_lang:"lang",br_features_pdf:"f_pdf",br_features_flash:"f_fla",br_features_java:"f_java",br_features_director:"f_dir",br_features_quicktime:"f_qt",br_features_realplayer:"f_realp",br_features_windowsmedia:"f_wma",br_features_gears:"f_gears",br_features_silverlight:"f_ag",br_cookies:"cookie",br_colordepth:"cd",br_viewwidth:h(0,"vp"),br_viewheight:h(1,"vp"),os_timezone:"tz",dvce_screenwidth:h(0,"res"),dvce_screenheight:h(1,"res"),doc_charset:"cs",doc_width:h(0,"ds"),doc_height:h(1,"ds"),tr_currency:"tr_cu",ti_currency:"ti_cu",mkt_clickid:v("gclid","url"),dvce_sent_tstamp:"stm",refr_domain_userid:_("_sp","url",0),refr_device_tstamp:_("_sp","url",1),domain_sessionid:"sid",event_vendor:function(t){var e;return null===(e=y(t))||void 0===e?void 0:e.vendor},event_name:function(t){var e;return null===(e=y(t))||void 0===e?void 0:e.name},event_format:function(t){var e;return null===(e=y(t))||void 0===e?void 0:e.format},event_version:function(t){var e;return null===(e=y(t))||void 0===e?void 0:e.version},true_tstamp:"ttm"},g=function(t,e){return e.map(function(e){if(f(t,e)){var r=t[e];if("string"==typeof r)try{return JSON.parse(r)}catch(t){try{return JSON.parse(atob(r.replace(/[_-]/g,function(t){return"-"==t?"+":"/"})))}catch(t){}}}})},y=function(t){var e,r=void 0;if(f(t,"e")&&"string"==typeof t.e&&t.e in l){if("ue"===t.e){var n=g(t,["ue_pr","ue_px"]),i=null!==(e=n[0])&&void 0!==e?e:n[1];f(i,"data")&&f(i.data,"schema")&&"string"==typeof i.data.schema&&(r=i.data.schema)}else r=l[t.e];if("string"==typeof r&&0===r.indexOf("iglu:")){var a=r.slice(5).split("/");return{vendor:a[0],name:a[1],format:a[2],version:a[3]}}}},b=function(t,e){var r,n,i=function(t){if(t)return"/"!==t[0]&&(t="/".concat(t)),t.split("/").map(function(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}).slice(1)}(t);if(null==i)return e;if("object"==typeof e&&null!==e){if(i[0]in m){var a=m[i[0]];if("string"==typeof a&&f(e,a))return e[a];if("function"==typeof a)return a(e)}var o=e;-1!==c.indexOf(i[0])&&((r={})[i[0]]=g(o,["co","cx"]).reduce(function(t,e){return f(e,"data")&&Array.isArray(e.data)&&e.data.forEach(function(e){var r,n;if(f(e,"schema")&&f(e,"data")&&"string"==typeof e.schema&&0===e.schema.indexOf("iglu:")){var i=e.schema.slice(5).split("/");if(4!==i.length)return;var a=t[i[0]]=null!==(r=t[i[0]])&&void 0!==r?r:{};a[i[1]]=null!==(n=a[i[1]])&&void 0!==n?n:[],a[i[1]].push(e.data)}}),t},{}),o=r),-1!==d.indexOf(i[0])&&((n={})[i[0]]=function(t){return g(t,["ue_pr","ue_px"]).reduce(function(t,e){var r;if(f(e,"data")&&f(e.data,"schema")&&f(e.data,"data")){var n=e.data;if("string"==typeof n.schema&&0===n.schema.indexOf("iglu:")){var i=n.schema.slice(5).split("/");if(4!==i.length)return;(t[i[0]]=null!==(r=t[i[0]])&&void 0!==r?r:{})[i[1]]=n.data}}return t},{})}(o),o=n);for(var s=0,u=i;s<u.length;s++){var l=u[s];if(f(o,l))o=o[l];else{if(!Array.isArray(o)||1!==o.length||!f(o[0],l))return;o=o[0][l]}}return o}};var w={domain_userid:"/domain_userid",domain_sessionid:"/domain_sessionid"},O=function(){function t(t,e){this.tracker=t,this.dispatch=e,this.attributeKeyValues={},this.aborter=new AbortController,this.timeoutMs=2500,this.newEndpoint=!1,this.currentParams="",this.attributeKeySelectors=w;var r=t.getDomainUserInfo();this.update({duid:r[1]||void 0,sid:r[6]||void 0})}return t.prototype.configure=function(t){var e=t.endpoint,r=t.apiPath,n=void 0===r?"/api/v1/interventions":r,i=t.attributeKeyTargets,a=void 0===i?w:i,o=t.attributeKeyIds,s=void 0===o?{}:o,u=t.connectionTimeoutMs,c=void 0===u?2500:u;this.attributeKeySelectors=Object.assign({},this.attributeKeySelectors,a),this.timeoutMs=c;var d=this.endpoint;this.endpoint="".concat(/\/\//.test(e)?e:"https://"+e).concat(n),this.newEndpoint=d!=this.endpoint,this.update(void 0,s)},t.prototype.update=function(t,e){var r,n,a;void 0===e&&(e={}),t&&Object.assign(this.attributeKeyValues,(r=this.attributeKeySelectors,n=t,a={},Object.entries(r).forEach(function(t){for(var e=t[0],r=t[1],i=0,o=r=Array.isArray(r)?r:[r];i<o.length;i++){var s=o[i];if(""!==s){var u=b(s,n);if(null!=u)return void(a[e]=String(u))}}}),a)),Object.assign(this.attributeKeyValues,e);var o=new URLSearchParams(this.attributeKeyValues).toString();this.endpoint&&(o!=this.currentParams||this.newEndpoint)&&(s(i.DEBUG,this.tracker.id,"Attribute key IDs updated",this.attributeKeyValues),this.currentParams=o,this.requestInterventions())},t.prototype.requestInterventions=function(){var t=this;this.aborter.abort();var e=this.aborter=new AbortController;if(this.endpoint){var r="".concat(this.endpoint,"?").concat(this.currentParams),n=new EventSource(r);e.signal.addEventListener("abort",n.close.bind(n),{once:!0});var a=setTimeout(e.abort.bind(e),this.timeoutMs);n.addEventListener("open",function(){return clearTimeout(a)},{once:!0}),n.addEventListener("error",function(e){return s(i.ERROR,t.tracker.id,"Error fetching interventions:",e)}),n.addEventListener("message",function(e){t.dispatch(JSON.parse(e.data),t.tracker)})}else s(i.ERROR,this.tracker.id,"Requested interventions from undefined endpoint")},t.create=function(e,r){return new t(e,r)},t}(),j="iglu:com.snowplowanalytics.signals/intervention_instance/jsonschema/1-0-0",k={delivery:"iglu:com.snowplowanalytics.signals/intervention_receive/jsonschema/1-0-0",dispatch_accept:"iglu:com.snowplowanalytics.signals/intervention_handle/jsonschema/1-0-0",dispatch_error:"iglu:com.snowplowanalytics.signals/intervention_handle_error/jsonschema/1-0-0"},x={delivery:!0,dispatch_accept:!0,dispatch_error:!0},E={},R={},A={};var S=function(t,n,i,a,o){var s,u=t[i];if(u&&("function"!=typeof u||u(a))){var c=[{schema:j,data:{intervention_id:a.intervention_id,name:a.name,version:a.version,attributeKey:a.target_attribute_key,attributes:Object.entries(a.attributes).map(function(t){return{attribute:t[0],value:t[1]}})}}];n.core.track(function(t){var e=t.event,n=e.schema,i=e.data,a=r(),o={schema:"iglu:com.snowplowanalytics.snowplow/unstruct_event/jsonschema/1-0-0",data:{schema:n,data:i}};return a.add("e","ue"),a.addJson("ue_px","ue_pr",o),a}({event:{schema:k[i],data:o}}),function(t){for(var e,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];return null!==(e=null==t?void 0:t.map(function(t){if("function"!=typeof t)return t;try{return t.apply(void 0,r)}catch(t){return}}).filter(Boolean))&&void 0!==e?e:[]}(e(e([],c,!0),null!==(s=t.context)&&void 0!==s?s:[],!0),i,a,o))}},I=function(t,e){var r,n,a=null!==(r=A[e.id])&&void 0!==r?r:x,o=null!==(n=R[e.id])&&void 0!==n?n:{},u=Object.keys(o);if(!u.length)return s(i.WARN,e.id,"No handlers registered for intervention",t);s(i.INFO,e.id,"Attempting dispatch for intervention",t,u),S(a,e,"delivery",t,{handlers:u});for(var c=0,d=Object.entries(o);c<d.length;c++){var l=d[c],p=l[0],v=l[1];setTimeout(function(t,e,r,n){var o=function(){s(i.INFO,n.id,"Intervention handled",t,r),S(a,n,"dispatch_accept",r,{handler:t})},u=function(e){s(i.ERROR,n.id,"Handler failed processing intervention",e,t,r),S(a,n,"dispatch_error",r,{handler:t,error:e?String(e):void 0})};try{var c=e(r,n);c instanceof Promise||f(c,"then")&&"function"==typeof c.then?c.then(o,u):o()}catch(t){u(t)}},0,p,v,t,e)}};t.SignalsPlugin=function t(e){var r=void 0===e?{measurement:x,handlers:{}}:e,n=r.fetcher,a=r.measurement,o=void 0===a?x:a,c=r.handlers,d=void 0===c?{}:c;return{activateBrowserPlugin:function(t){var e;s(i.INFO,t.id,"Activating plugin for tracker"),E[t.id]=n?n(t,I):O.create(t,I),A[t.id]=Object.assign({},x,o),R[t.id]=Object.assign(null!==(e=R[t.id])&&void 0!==e?e:{},d)},afterTrack:function(t){var e=t.tna;"string"==typeof e&&e in E&&E[e].update(t)},logger:function(e){u(t.name,e)}}},t.addInterventionHandlers=function(t,e){var r;void 0===e&&(e=Object.keys(E));for(var n=0,i=e;n<i.length;n++){var a=i[n];R[a]=Object.assign(null!==(r=R[a])&&void 0!==r?r:{},t)}},t.removeInterventionHandlers=function(t,e){void 0===e&&(e=Object.keys(E));for(var r=0,n=Array.isArray(t)?t:[t];r<n.length;r++)for(var i=n[r],a=0,o=e;a<o.length;a++){var s=o[a];delete R[s][i]}},t.subscribeToInterventions=function(t,e){void 0===e&&(e=Object.keys(E));for(var r=0,n=e;r<n.length;r++){var i=n[r];i in E&&E[i].configure(t)}}});
12
+ function r(){var t,e={},r=[],n=[],i=[],a=function(t,r){null!=r&&""!==r&&(e[t]=r)};return{add:a,addDict:function(t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&a(e,t[e])},addJson:function(t,e,i){if(i&&function(t){if(!function(t){return null!=t&&(t.constructor==={}.constructor||t.constructor===[].constructor)}(t))return!1;for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!0;return!1}(i)){var a={keyIfEncoded:t,keyIfNotEncoded:e,json:i};n.push(a),r.push(a)}},addContextEntity:function(t){i.push(t)},getPayload:function(){return e},getJson:function(){return r},withJsonProcessor:function(e){t=e},build:function(){return null==t||t(this,n,i),e}}}"function"==typeof SuppressedError&&SuppressedError;var n,i,a,o;!function(t){t[t.none=0]="none",t[t.error=1]="error",t[t.warn=2]="warn",t[t.debug=3]="debug",t[t.info=4]="info"}(n||(n={})),function(t){void 0===t&&(t=n.warn)}(),function(t){t.DEBUG="debug",t.ERROR="error",t.INFO="info",t.WARN="warn"}(i||(i={}));var s=function(t,r){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];if(a&&o){var s="[".concat(a,":").concat(r,"] ");if("string"==typeof n[0]){var u=s+n.shift();o[t].apply(o,e([u],n,!1))}else o[t].apply(o,e([s],n,!1))}},u=function(t,e){a=t,o=e},c=["co","cx","context","entity","entities"],d=["ue","ue_pr","ue_px","unstruct","unstruct_event","self_describing","sde"],l={se:"iglu:com.google.analytics/event/jsonschema/1-0-0",ev:"iglu:com.google.analytics/event/jsonschema/1-0-0",ad:"iglu:com.snowplowanalytics.snowplow/ad_impression/jsonschema/1-0-0",tr:"iglu:com.snowplowanalytics.snowplow/transaction/jsonschema/1-0-0",ti:"iglu:com.snowplowanalytics.snowplow/transaction_item/1-0-0",pv:"iglu:com.snowplowanalytics.snowplow/page_view/jsonschema/1-0-0",pp:"iglu:com.snowplowanalytics.snowplow/page_ping/jsonschema/1-0-0",ue:""},f=function(t,e){return"object"==typeof t&&null!=t&&e in t},p=function(t,e){return function(r){try{return new URL(r[e])[t].toString()||void 0}catch(t){return}}},v=function(t,e){return function(r){var n;try{return null!==(n=new URL(r[e]).searchParams.get(t))&&void 0!==n?n:void 0}catch(t){return}}},_=function(t,e,r,n){return void 0===n&&(n="."),function(i){var a;try{var o=null!==(a=new URL(i[e]).searchParams.get(t))&&void 0!==a?a:void 0;return o?o.split(n)[r]:void 0}catch(t){return}}},h=function(t,e){return function(r){try{return r[e].split("x")[t]}catch(t){return}}},m={app_id:"aid",platform:"p",dvce_created_tstamp:"dtm",event:function(t){var e,r=t.e;return null!==(e={se:"struct",ev:"struct",ue:"unstruct",ad:"ad_impression",tr:"transaction",ti:"transaction_item",pv:"page_view",pp:"page_ping"}[r])&&void 0!==e?e:r},event_id:"eid",txn_id:"tid",name_tracker:"tna",v_tracker:"tv",user_id:"uid",user_ipaddress:"ip",user_fingerprint:"fp",domain_userid:"duid",domain_sessionidx:"vid",network_userid:"nuid",page_url:"url",page_title:"page",page_referrer:"refr",page_urlscheme:p("protocol","url"),page_urlhost:p("hostname","url"),page_urlport:p("port","url"),page_urlpath:p("pathname","url"),page_urlquery:p("search","url"),page_urlfragment:p("hash","url"),refr_urlscheme:p("protocol","refr"),refr_urlhost:p("hostname","refr"),refr_urlport:p("port","refr"),refr_urlpath:p("pathname","refr"),refr_urlquery:p("search","refr"),refr_urlfragment:p("hash","refr"),mkt_medium:v("utm_medium","url"),mkt_source:v("utm_source","url"),mkt_term:v("utm_term","url"),mkt_content:v("utm_content","url"),mkt_campaign:v("utm_campaign","url"),se_category:"se_ca",se_action:"se_ac",se_label:"se_la",se_property:"se_pr",se_value:"se_va",tr_orderid:"tr_id",tr_affiliation:"tr_af",tr_total:"tr_tt",tr_tax:"tr_tx",tr_shipping:"tr_sh",tr_city:"tr_ci",tr_state:"tr_st",tr_country:"tr_co",ti_orderid:"ti_id",ti_sku:"ti_sk",ti_name:"ti_na",ti_category:"ti_ca",ti_price:"ti_pr",ti_quantity:"ti_qu",pp_xoffset_min:"pp_mix",pp_xoffset_max:"pp_max",pp_yoffset_min:"pp_miy",pp_yoffset_max:"pp_may",useragent:function(t){var e=t.ua;return null!=e?e:navigator.userAgent},br_lang:"lang",br_features_pdf:"f_pdf",br_features_flash:"f_fla",br_features_java:"f_java",br_features_director:"f_dir",br_features_quicktime:"f_qt",br_features_realplayer:"f_realp",br_features_windowsmedia:"f_wma",br_features_gears:"f_gears",br_features_silverlight:"f_ag",br_cookies:"cookie",br_colordepth:"cd",br_viewwidth:h(0,"vp"),br_viewheight:h(1,"vp"),os_timezone:"tz",dvce_screenwidth:h(0,"res"),dvce_screenheight:h(1,"res"),doc_charset:"cs",doc_width:h(0,"ds"),doc_height:h(1,"ds"),tr_currency:"tr_cu",ti_currency:"ti_cu",mkt_clickid:v("gclid","url"),dvce_sent_tstamp:"stm",refr_domain_userid:_("_sp","url",0),refr_device_tstamp:_("_sp","url",1),domain_sessionid:"sid",event_vendor:function(t){var e;return null===(e=y(t))||void 0===e?void 0:e.vendor},event_name:function(t){var e;return null===(e=y(t))||void 0===e?void 0:e.name},event_format:function(t){var e;return null===(e=y(t))||void 0===e?void 0:e.format},event_version:function(t){var e;return null===(e=y(t))||void 0===e?void 0:e.version},true_tstamp:"ttm"},g=function(t,e){return e.map(function(e){if(f(t,e)){var r=t[e];if("string"==typeof r)try{return JSON.parse(r)}catch(t){try{return JSON.parse(atob(r.replace(/[_-]/g,function(t){return"-"==t?"+":"/"})))}catch(t){}}}})},y=function(t){var e,r=void 0;if(f(t,"e")&&"string"==typeof t.e&&t.e in l){if("ue"===t.e){var n=g(t,["ue_pr","ue_px"]),i=null!==(e=n[0])&&void 0!==e?e:n[1];f(i,"data")&&f(i.data,"schema")&&"string"==typeof i.data.schema&&(r=i.data.schema)}else r=l[t.e];if("string"==typeof r&&0===r.indexOf("iglu:")){var a=r.slice(5).split("/");return{vendor:a[0],name:a[1],format:a[2],version:a[3]}}}},b=function(t,e){var r,n,i=function(t){if(t)return"/"!==t[0]&&(t="/".concat(t)),t.split("/").map(function(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}).slice(1)}(t);if(null==i)return e;if("object"==typeof e&&null!==e){if(i[0]in m){var a=m[i[0]];if("string"==typeof a&&f(e,a))return e[a];if("function"==typeof a)return a(e)}var o=e;-1!==c.indexOf(i[0])&&((r={})[i[0]]=g(o,["co","cx"]).reduce(function(t,e){return f(e,"data")&&Array.isArray(e.data)&&e.data.forEach(function(e){var r,n;if(f(e,"schema")&&f(e,"data")&&"string"==typeof e.schema&&0===e.schema.indexOf("iglu:")){var i=e.schema.slice(5).split("/");if(4!==i.length)return;var a=t[i[0]]=null!==(r=t[i[0]])&&void 0!==r?r:{};a[i[1]]=null!==(n=a[i[1]])&&void 0!==n?n:[],a[i[1]].push(e.data)}}),t},{}),o=r),-1!==d.indexOf(i[0])&&((n={})[i[0]]=function(t){return g(t,["ue_pr","ue_px"]).reduce(function(t,e){var r;if(f(e,"data")&&f(e.data,"schema")&&f(e.data,"data")){var n=e.data;if("string"==typeof n.schema&&0===n.schema.indexOf("iglu:")){var i=n.schema.slice(5).split("/");if(4!==i.length)return;(t[i[0]]=null!==(r=t[i[0]])&&void 0!==r?r:{})[i[1]]=n.data}}return t},{})}(o),o=n);for(var s=0,u=i;s<u.length;s++){var l=u[s];if(f(o,l))o=o[l];else{if(!Array.isArray(o)||1!==o.length||!f(o[0],l))return;o=o[0][l]}}return o}};var w={domain_userid:"/domain_userid",domain_sessionid:"/domain_sessionid"},O=function(){function t(t,e){this.tracker=t,this.dispatch=e,this.attributeKeyValues={},this.aborter=new AbortController,this.timeoutMs=2500,this.newEndpoint=!1,this.currentParams="",this.attributeKeySelectors=w;var r=t.getDomainUserInfo();this.update({duid:r[1]||void 0,sid:r[6]||void 0})}return t.prototype.configure=function(t){var e=t.endpoint,r=t.apiPath,n=void 0===r?"/api/v1/interventions":r,i=t.attributeKeyTargets,a=void 0===i?w:i,o=t.attributeKeyIds,s=void 0===o?{}:o,u=t.connectionTimeoutMs,c=void 0===u?2500:u;this.attributeKeySelectors=Object.assign({},this.attributeKeySelectors,a),this.timeoutMs=c;var d=this.endpoint;this.endpoint="".concat(/\/\//.test(e)?e:"https://"+e).concat(n),this.newEndpoint=d!=this.endpoint,this.update(void 0,s)},t.prototype.update=function(t,e){var r,n,a;void 0===e&&(e={}),t&&Object.assign(this.attributeKeyValues,(r=this.attributeKeySelectors,n=t,a={},Object.entries(r).forEach(function(t){for(var e=t[0],r=t[1],i=0,o=r=Array.isArray(r)?r:[r];i<o.length;i++){var s=o[i];if(""!==s){var u=b(s,n);if(null!=u)return void(a[e]=String(u))}}}),a)),Object.assign(this.attributeKeyValues,e);var o=new URLSearchParams(this.attributeKeyValues).toString();this.endpoint&&(o!=this.currentParams||this.newEndpoint)&&(s(i.DEBUG,this.tracker.id,"Attribute key IDs updated",this.attributeKeyValues),this.currentParams=o,this.newEndpoint=!1,this.requestInterventions())},t.prototype.requestInterventions=function(){var t=this;this.aborter.abort();var e=this.aborter=new AbortController;if(this.endpoint){var r="".concat(this.endpoint,"?").concat(this.currentParams),n=new EventSource(r);e.signal.addEventListener("abort",n.close.bind(n),{once:!0});var a=setTimeout(e.abort.bind(e),this.timeoutMs);n.addEventListener("open",function(){return clearTimeout(a)},{once:!0}),n.addEventListener("error",function(e){return s(i.ERROR,t.tracker.id,"Error fetching interventions:",e)}),n.addEventListener("message",function(e){t.dispatch(JSON.parse(e.data),t.tracker)})}else s(i.ERROR,this.tracker.id,"Requested interventions from undefined endpoint")},t.create=function(e,r){return new t(e,r)},t}(),j="iglu:com.snowplowanalytics.signals/intervention_instance/jsonschema/1-0-0",k={delivery:"iglu:com.snowplowanalytics.signals/intervention_receive/jsonschema/1-0-0",dispatch_accept:"iglu:com.snowplowanalytics.signals/intervention_handle/jsonschema/1-0-0",dispatch_error:"iglu:com.snowplowanalytics.signals/intervention_handle_error/jsonschema/1-0-0"},x={delivery:!0,dispatch_accept:!0,dispatch_error:!0},E={},R={},A={};var S=function(t,n,i,a,o){var s,u=t[i];if(u&&("function"!=typeof u||u(a))){var c=[{schema:j,data:{intervention_id:a.intervention_id,name:a.name,version:a.version,attributeKey:a.target_attribute_key,attributes:Object.entries(a.attributes).map(function(t){return{attribute:t[0],value:t[1]}})}}];n.core.track(function(t){var e=t.event,n=e.schema,i=e.data,a=r(),o={schema:"iglu:com.snowplowanalytics.snowplow/unstruct_event/jsonschema/1-0-0",data:{schema:n,data:i}};return a.add("e","ue"),a.addJson("ue_px","ue_pr",o),a}({event:{schema:k[i],data:o}}),function(t){for(var e,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];return null!==(e=null==t?void 0:t.map(function(t){if("function"!=typeof t)return t;try{return t.apply(void 0,r)}catch(t){return}}).filter(Boolean))&&void 0!==e?e:[]}(e(e([],c,!0),null!==(s=t.context)&&void 0!==s?s:[],!0),i,a,o))}},I=function(t,e){var r,n,a=null!==(r=A[e.id])&&void 0!==r?r:x,o=null!==(n=R[e.id])&&void 0!==n?n:{},u=Object.keys(o);if(!u.length)return s(i.WARN,e.id,"No handlers registered for intervention",t);s(i.INFO,e.id,"Attempting dispatch for intervention",t,u),S(a,e,"delivery",t,{handlers:u});for(var c=0,d=Object.entries(o);c<d.length;c++){var l=d[c],p=l[0],v=l[1];setTimeout(function(t,e,r,n){var o=function(){s(i.INFO,n.id,"Intervention handled",t,r),S(a,n,"dispatch_accept",r,{handler:t})},u=function(e){s(i.ERROR,n.id,"Handler failed processing intervention",e,t,r),S(a,n,"dispatch_error",r,{handler:t,error:e?String(e):void 0})};try{var c=e(r,n);c instanceof Promise||f(c,"then")&&"function"==typeof c.then?c.then(o,u):o()}catch(t){u(t)}},0,p,v,t,e)}};t.SignalsPlugin=function t(e){var r=void 0===e?{measurement:x,handlers:{}}:e,n=r.fetcher,a=r.measurement,o=void 0===a?x:a,c=r.handlers,d=void 0===c?{}:c;return{activateBrowserPlugin:function(t){var e;s(i.INFO,t.id,"Activating plugin for tracker"),E[t.id]=n?n(t,I):O.create(t,I),A[t.id]=Object.assign({},x,o),R[t.id]=Object.assign(null!==(e=R[t.id])&&void 0!==e?e:{},d)},afterTrack:function(t){var e=t.tna;"string"==typeof e&&e in E&&E[e].update(t)},logger:function(e){u(t.name,e)}}},t.addInterventionHandlers=function(t,e){var r;void 0===e&&(e=Object.keys(E));for(var n=0,i=e;n<i.length;n++){var a=i[n];R[a]=Object.assign(null!==(r=R[a])&&void 0!==r?r:{},t)}},t.removeInterventionHandlers=function(t,e){void 0===e&&(e=Object.keys(E));for(var r=0,n=Array.isArray(t)?t:[t];r<n.length;r++)for(var i=n[r],a=0,o=e;a<o.length;a++){var s=o[a];delete R[s][i]}},t.subscribeToInterventions=function(t,e){void 0===e&&(e=Object.keys(E));for(var r=0,n=e;r<n.length;r++){var i=n[r];i in E&&E[i].configure(t)}}});
13
13
  //# sourceMappingURL=index.umd.min.js.map