@amplitude/plugin-web-attribution-browser 0.6.0-beta.0 → 0.6.0-beta.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.
@@ -56,7 +56,7 @@ var webAttributionPlugin = function () {
56
56
  };
57
57
  }
58
58
  storage = config.cookieStorage;
59
- storageKey = (0, helpers_1.getStorageKey)(config.apiKey);
59
+ storageKey = (0, helpers_1.getStorageKey)(config.apiKey, 'MKTG');
60
60
  return [4 /*yield*/, Promise.all([
61
61
  new analytics_client_common_1.CampaignParser().parse(),
62
62
  storage.get(storageKey),
@@ -1 +1 @@
1
- {"version":3,"file":"web-attribution.js","sourceRoot":"","sources":["../../src/web-attribution.ts"],"names":[],"mappings":"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","sourcesContent":["import { CampaignParser } from '@amplitude/analytics-client-common';\nimport {\n BeforePlugin,\n BrowserClient,\n BrowserConfig,\n Campaign,\n Event,\n PluginType,\n Storage,\n} from '@amplitude/analytics-types';\nimport { createCampaignEvent, getStorageKey, isNewCampaign } from './helpers';\nimport { CreateWebAttributionPlugin, CreateWebAttributionPluginParameters, Options } from './typings/web-attribution';\n\nexport const webAttributionPlugin: CreateWebAttributionPlugin = function (\n ...args: CreateWebAttributionPluginParameters\n) {\n let amplitude: BrowserClient | undefined;\n let options: Options = {};\n\n const [clientOrOptions, configOrUndefined] = args;\n if (clientOrOptions && 'init' in clientOrOptions) {\n amplitude = clientOrOptions;\n if (configOrUndefined) {\n options = configOrUndefined;\n }\n } else if (clientOrOptions) {\n options = clientOrOptions;\n }\n\n const excludeReferrers = options.excludeReferrers ?? [];\n if (typeof location !== 'undefined') {\n excludeReferrers.unshift(location.hostname);\n }\n\n options = {\n disabled: false,\n initialEmptyValue: 'EMPTY',\n resetSessionOnNewCampaign: false,\n ...options,\n excludeReferrers,\n };\n\n const plugin: BeforePlugin = {\n name: 'web-attribution',\n type: PluginType.BEFORE,\n\n setup: async function (config: BrowserConfig, client?: BrowserClient) {\n amplitude = amplitude ?? client;\n if (!amplitude) {\n const receivedType = clientOrOptions ? 'Options' : 'undefined';\n config.loggerProvider.error(\n `Argument of type '${receivedType}' is not assignable to parameter of type 'BrowserClient'.`,\n );\n return;\n }\n\n if (options.disabled) {\n config.loggerProvider.log('@amplitude/plugin-web-attribution-browser is disabled. Attribution is not tracked.');\n return;\n }\n\n config.loggerProvider.log('Installing @amplitude/plugin-web-attribution-browser.');\n\n if (!client && !config.attribution?.disabled) {\n config.loggerProvider.warn(\n '@amplitude/plugin-web-attribution-browser overrides web attribution behavior defined in @amplitude/analytics-browser. Resolve by disabling web attribution tracking in @amplitude/analytics-browser.',\n );\n config.attribution = {\n disabled: true,\n };\n }\n\n // Share cookie storage with user session storage\n const storage = config.cookieStorage as unknown as Storage<Campaign>;\n const storageKey = getStorageKey(config.apiKey);\n\n const [currentCampaign, previousCampaign] = await Promise.all([\n new CampaignParser().parse(),\n storage.get(storageKey),\n ]);\n\n // For Amplitude-internal functionality\n // if pluginEnabledOverride === undefined then use plugin default logic\n // if pluginEnabledOverride === true then track attribution\n // if pluginEnabledOverride === false then do not track attribution\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment\n const pluginEnabledOverride: boolean | undefined = (this as any).__pluginEnabledOverride;\n\n if (pluginEnabledOverride ?? isNewCampaign(currentCampaign, previousCampaign, options)) {\n if (options.resetSessionOnNewCampaign) {\n amplitude.setSessionId(Date.now());\n config.loggerProvider.log('Created a new session for new campaign.');\n }\n config.loggerProvider.log('Tracking attribution.');\n const campaignEvent = createCampaignEvent(currentCampaign, options);\n amplitude.track(campaignEvent);\n void storage.set(storageKey, currentCampaign);\n }\n },\n\n execute: async (event: Event) => event,\n };\n\n // For Amplitude-internal functionality\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n (plugin as any).__pluginEnabledOverride = undefined;\n\n return plugin;\n};\n"]}
1
+ {"version":3,"file":"web-attribution.js","sourceRoot":"","sources":["../../src/web-attribution.ts"],"names":[],"mappings":"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","sourcesContent":["import { CampaignParser } from '@amplitude/analytics-client-common';\nimport {\n BeforePlugin,\n BrowserClient,\n BrowserConfig,\n Campaign,\n Event,\n PluginType,\n Storage,\n} from '@amplitude/analytics-types';\nimport { createCampaignEvent, getStorageKey, isNewCampaign } from './helpers';\nimport { CreateWebAttributionPlugin, CreateWebAttributionPluginParameters, Options } from './typings/web-attribution';\n\nexport const webAttributionPlugin: CreateWebAttributionPlugin = function (\n ...args: CreateWebAttributionPluginParameters\n) {\n let amplitude: BrowserClient | undefined;\n let options: Options = {};\n\n const [clientOrOptions, configOrUndefined] = args;\n if (clientOrOptions && 'init' in clientOrOptions) {\n amplitude = clientOrOptions;\n if (configOrUndefined) {\n options = configOrUndefined;\n }\n } else if (clientOrOptions) {\n options = clientOrOptions;\n }\n\n const excludeReferrers = options.excludeReferrers ?? [];\n if (typeof location !== 'undefined') {\n excludeReferrers.unshift(location.hostname);\n }\n\n options = {\n disabled: false,\n initialEmptyValue: 'EMPTY',\n resetSessionOnNewCampaign: false,\n ...options,\n excludeReferrers,\n };\n\n const plugin: BeforePlugin = {\n name: 'web-attribution',\n type: PluginType.BEFORE,\n\n setup: async function (config: BrowserConfig, client?: BrowserClient) {\n amplitude = amplitude ?? client;\n if (!amplitude) {\n const receivedType = clientOrOptions ? 'Options' : 'undefined';\n config.loggerProvider.error(\n `Argument of type '${receivedType}' is not assignable to parameter of type 'BrowserClient'.`,\n );\n return;\n }\n\n if (options.disabled) {\n config.loggerProvider.log('@amplitude/plugin-web-attribution-browser is disabled. Attribution is not tracked.');\n return;\n }\n\n config.loggerProvider.log('Installing @amplitude/plugin-web-attribution-browser.');\n\n if (!client && !config.attribution?.disabled) {\n config.loggerProvider.warn(\n '@amplitude/plugin-web-attribution-browser overrides web attribution behavior defined in @amplitude/analytics-browser. Resolve by disabling web attribution tracking in @amplitude/analytics-browser.',\n );\n config.attribution = {\n disabled: true,\n };\n }\n\n // Share cookie storage with user session storage\n const storage = config.cookieStorage as unknown as Storage<Campaign>;\n const storageKey = getStorageKey(config.apiKey, 'MKTG');\n\n const [currentCampaign, previousCampaign] = await Promise.all([\n new CampaignParser().parse(),\n storage.get(storageKey),\n ]);\n\n // For Amplitude-internal functionality\n // if pluginEnabledOverride === undefined then use plugin default logic\n // if pluginEnabledOverride === true then track attribution\n // if pluginEnabledOverride === false then do not track attribution\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment\n const pluginEnabledOverride: boolean | undefined = (this as any).__pluginEnabledOverride;\n\n if (pluginEnabledOverride ?? isNewCampaign(currentCampaign, previousCampaign, options)) {\n if (options.resetSessionOnNewCampaign) {\n amplitude.setSessionId(Date.now());\n config.loggerProvider.log('Created a new session for new campaign.');\n }\n config.loggerProvider.log('Tracking attribution.');\n const campaignEvent = createCampaignEvent(currentCampaign, options);\n amplitude.track(campaignEvent);\n void storage.set(storageKey, currentCampaign);\n }\n },\n\n execute: async (event: Event) => event,\n };\n\n // For Amplitude-internal functionality\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n (plugin as any).__pluginEnabledOverride = undefined;\n\n return plugin;\n};\n"]}
@@ -54,7 +54,7 @@ export var webAttributionPlugin = function () {
54
54
  };
55
55
  }
56
56
  storage = config.cookieStorage;
57
- storageKey = getStorageKey(config.apiKey);
57
+ storageKey = getStorageKey(config.apiKey, 'MKTG');
58
58
  return [4 /*yield*/, Promise.all([
59
59
  new CampaignParser().parse(),
60
60
  storage.get(storageKey),
@@ -1 +1 @@
1
- {"version":3,"file":"web-attribution.js","sourceRoot":"","sources":["../../src/web-attribution.ts"],"names":[],"mappings":"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","sourcesContent":["import { CampaignParser } from '@amplitude/analytics-client-common';\nimport {\n BeforePlugin,\n BrowserClient,\n BrowserConfig,\n Campaign,\n Event,\n PluginType,\n Storage,\n} from '@amplitude/analytics-types';\nimport { createCampaignEvent, getStorageKey, isNewCampaign } from './helpers';\nimport { CreateWebAttributionPlugin, CreateWebAttributionPluginParameters, Options } from './typings/web-attribution';\n\nexport const webAttributionPlugin: CreateWebAttributionPlugin = function (\n ...args: CreateWebAttributionPluginParameters\n) {\n let amplitude: BrowserClient | undefined;\n let options: Options = {};\n\n const [clientOrOptions, configOrUndefined] = args;\n if (clientOrOptions && 'init' in clientOrOptions) {\n amplitude = clientOrOptions;\n if (configOrUndefined) {\n options = configOrUndefined;\n }\n } else if (clientOrOptions) {\n options = clientOrOptions;\n }\n\n const excludeReferrers = options.excludeReferrers ?? [];\n if (typeof location !== 'undefined') {\n excludeReferrers.unshift(location.hostname);\n }\n\n options = {\n disabled: false,\n initialEmptyValue: 'EMPTY',\n resetSessionOnNewCampaign: false,\n ...options,\n excludeReferrers,\n };\n\n const plugin: BeforePlugin = {\n name: 'web-attribution',\n type: PluginType.BEFORE,\n\n setup: async function (config: BrowserConfig, client?: BrowserClient) {\n amplitude = amplitude ?? client;\n if (!amplitude) {\n const receivedType = clientOrOptions ? 'Options' : 'undefined';\n config.loggerProvider.error(\n `Argument of type '${receivedType}' is not assignable to parameter of type 'BrowserClient'.`,\n );\n return;\n }\n\n if (options.disabled) {\n config.loggerProvider.log('@amplitude/plugin-web-attribution-browser is disabled. Attribution is not tracked.');\n return;\n }\n\n config.loggerProvider.log('Installing @amplitude/plugin-web-attribution-browser.');\n\n if (!client && !config.attribution?.disabled) {\n config.loggerProvider.warn(\n '@amplitude/plugin-web-attribution-browser overrides web attribution behavior defined in @amplitude/analytics-browser. Resolve by disabling web attribution tracking in @amplitude/analytics-browser.',\n );\n config.attribution = {\n disabled: true,\n };\n }\n\n // Share cookie storage with user session storage\n const storage = config.cookieStorage as unknown as Storage<Campaign>;\n const storageKey = getStorageKey(config.apiKey);\n\n const [currentCampaign, previousCampaign] = await Promise.all([\n new CampaignParser().parse(),\n storage.get(storageKey),\n ]);\n\n // For Amplitude-internal functionality\n // if pluginEnabledOverride === undefined then use plugin default logic\n // if pluginEnabledOverride === true then track attribution\n // if pluginEnabledOverride === false then do not track attribution\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment\n const pluginEnabledOverride: boolean | undefined = (this as any).__pluginEnabledOverride;\n\n if (pluginEnabledOverride ?? isNewCampaign(currentCampaign, previousCampaign, options)) {\n if (options.resetSessionOnNewCampaign) {\n amplitude.setSessionId(Date.now());\n config.loggerProvider.log('Created a new session for new campaign.');\n }\n config.loggerProvider.log('Tracking attribution.');\n const campaignEvent = createCampaignEvent(currentCampaign, options);\n amplitude.track(campaignEvent);\n void storage.set(storageKey, currentCampaign);\n }\n },\n\n execute: async (event: Event) => event,\n };\n\n // For Amplitude-internal functionality\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n (plugin as any).__pluginEnabledOverride = undefined;\n\n return plugin;\n};\n"]}
1
+ {"version":3,"file":"web-attribution.js","sourceRoot":"","sources":["../../src/web-attribution.ts"],"names":[],"mappings":"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","sourcesContent":["import { CampaignParser } from '@amplitude/analytics-client-common';\nimport {\n BeforePlugin,\n BrowserClient,\n BrowserConfig,\n Campaign,\n Event,\n PluginType,\n Storage,\n} from '@amplitude/analytics-types';\nimport { createCampaignEvent, getStorageKey, isNewCampaign } from './helpers';\nimport { CreateWebAttributionPlugin, CreateWebAttributionPluginParameters, Options } from './typings/web-attribution';\n\nexport const webAttributionPlugin: CreateWebAttributionPlugin = function (\n ...args: CreateWebAttributionPluginParameters\n) {\n let amplitude: BrowserClient | undefined;\n let options: Options = {};\n\n const [clientOrOptions, configOrUndefined] = args;\n if (clientOrOptions && 'init' in clientOrOptions) {\n amplitude = clientOrOptions;\n if (configOrUndefined) {\n options = configOrUndefined;\n }\n } else if (clientOrOptions) {\n options = clientOrOptions;\n }\n\n const excludeReferrers = options.excludeReferrers ?? [];\n if (typeof location !== 'undefined') {\n excludeReferrers.unshift(location.hostname);\n }\n\n options = {\n disabled: false,\n initialEmptyValue: 'EMPTY',\n resetSessionOnNewCampaign: false,\n ...options,\n excludeReferrers,\n };\n\n const plugin: BeforePlugin = {\n name: 'web-attribution',\n type: PluginType.BEFORE,\n\n setup: async function (config: BrowserConfig, client?: BrowserClient) {\n amplitude = amplitude ?? client;\n if (!amplitude) {\n const receivedType = clientOrOptions ? 'Options' : 'undefined';\n config.loggerProvider.error(\n `Argument of type '${receivedType}' is not assignable to parameter of type 'BrowserClient'.`,\n );\n return;\n }\n\n if (options.disabled) {\n config.loggerProvider.log('@amplitude/plugin-web-attribution-browser is disabled. Attribution is not tracked.');\n return;\n }\n\n config.loggerProvider.log('Installing @amplitude/plugin-web-attribution-browser.');\n\n if (!client && !config.attribution?.disabled) {\n config.loggerProvider.warn(\n '@amplitude/plugin-web-attribution-browser overrides web attribution behavior defined in @amplitude/analytics-browser. Resolve by disabling web attribution tracking in @amplitude/analytics-browser.',\n );\n config.attribution = {\n disabled: true,\n };\n }\n\n // Share cookie storage with user session storage\n const storage = config.cookieStorage as unknown as Storage<Campaign>;\n const storageKey = getStorageKey(config.apiKey, 'MKTG');\n\n const [currentCampaign, previousCampaign] = await Promise.all([\n new CampaignParser().parse(),\n storage.get(storageKey),\n ]);\n\n // For Amplitude-internal functionality\n // if pluginEnabledOverride === undefined then use plugin default logic\n // if pluginEnabledOverride === true then track attribution\n // if pluginEnabledOverride === false then do not track attribution\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment\n const pluginEnabledOverride: boolean | undefined = (this as any).__pluginEnabledOverride;\n\n if (pluginEnabledOverride ?? isNewCampaign(currentCampaign, previousCampaign, options)) {\n if (options.resetSessionOnNewCampaign) {\n amplitude.setSessionId(Date.now());\n config.loggerProvider.log('Created a new session for new campaign.');\n }\n config.loggerProvider.log('Tracking attribution.');\n const campaignEvent = createCampaignEvent(currentCampaign, options);\n amplitude.track(campaignEvent);\n void storage.set(storageKey, currentCampaign);\n }\n },\n\n execute: async (event: Event) => event,\n };\n\n // For Amplitude-internal functionality\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n (plugin as any).__pluginEnabledOverride = undefined;\n\n return plugin;\n};\n"]}
@@ -1 +1 @@
1
- var webAttribution=function(e){"use strict";var t=function(){return t=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},t.apply(this,arguments)};function r(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]])}return r}function n(e,t,r,n){return new(r||(r=Promise))((function(i,o){function u(e){try{l(n.next(e))}catch(e){o(e)}}function a(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}l((n=n.apply(e,t||[])).next())}))}function i(e,t){var r,n,i,o,u={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(a){return function(l){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,a[0]&&(u=0)),u;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return u.label++,{value:a[1],done:!1};case 5:u.label++,n=a[1],a=[0];continue;case 7:a=u.ops.pop(),u.trys.pop();continue;default:if(!(i=u.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){u=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){u.label=a[1];break}if(6===a[0]&&u.label<i[1]){u.label=i[1],i=a;break}if(i&&u.label<i[2]){u.label=i[2],u.ops.push(a);break}i[2]&&u.ops.pop(),u.trys.pop();continue}a=t.call(e,u)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}function o(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),u=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)u.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return u}var u,a,l,s,f=function(){var e,t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:void 0;return(null===(e=null==t?void 0:t.location)||void 0===e?void 0:e.search)?t.location.search.substring(1).split("&").filter(Boolean).reduce((function(e,t){var r=t.split("=",2),n=c(r[0]),i=c(r[1]);return i?(e[n]=i,e):e}),{}):{}},c=function(e){void 0===e&&(e="");try{return decodeURIComponent(e)}catch(e){return""}},d="dclid",p="fbclid",v="gbraid",y="gclid",b="ko_click_id",g="msclkid",h="ttclid",m="twclid",_="wbraid",E={utm_campaign:void 0,utm_content:void 0,utm_id:void 0,utm_medium:void 0,utm_source:void 0,utm_term:void 0,referrer:void 0,referring_domain:void 0,dclid:void 0,gbraid:void 0,gclid:void 0,fbclid:void 0,ko_click_id:void 0,msclkid:void 0,ttclid:void 0,twclid:void 0,wbraid:void 0},w=function(){function e(){}return e.prototype.parse=function(){return n(this,void 0,void 0,(function(){return i(this,(function(e){return[2,t(t(t(t({},E),this.getUtmParam()),this.getReferrer()),this.getClickIds())]}))}))},e.prototype.getUtmParam=function(){var e=f();return{utm_campaign:e.utm_campaign,utm_content:e.utm_content,utm_id:e.utm_id,utm_medium:e.utm_medium,utm_source:e.utm_source,utm_term:e.utm_term}},e.prototype.getReferrer=function(){var e,t,r={referrer:void 0,referring_domain:void 0};try{r.referrer=document.referrer||void 0,r.referring_domain=null!==(t=null===(e=r.referrer)||void 0===e?void 0:e.split("/")[2])&&void 0!==t?t:void 0}catch(e){}return r},e.prototype.getClickIds=function(){var e,t=f();return(e={})[d]=t[d],e[p]=t[p],e[v]=t[v],e[y]=t[y],e[b]=t[b],e[g]=t[g],e[h]=t[h],e[m]=t[m],e[_]=t[_],e},e}();!function(e){e.SET="$set",e.SET_ONCE="$setOnce",e.ADD="$add",e.APPEND="$append",e.PREPEND="$prepend",e.REMOVE="$remove",e.PREINSERT="$preInsert",e.POSTINSERT="$postInsert",e.UNSET="$unset",e.CLEAR_ALL="$clearAll"}(u||(u={})),function(e){e.REVENUE_PRODUCT_ID="$productId",e.REVENUE_QUANTITY="$quantity",e.REVENUE_PRICE="$price",e.REVENUE_TYPE="$revenueType",e.REVENUE="$revenue"}(a||(a={})),function(e){e.IDENTIFY="$identify",e.GROUP_IDENTIFY="$groupidentify",e.REVENUE="revenue_amount"}(l||(l={})),function(e){e.BEFORE="before",e.ENRICHMENT="enrichment",e.DESTINATION="destination"}(s||(s={}));var S="AMP",O=function(e){if(Object.keys(e).length>1e3)return!1;for(var t in e){var r=e[t];if(!P(t,r))return!1}return!0},P=function(e,t){var r,n;if("string"!=typeof e)return!1;if(Array.isArray(t)){var i=!0;try{for(var o=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),u=o.next();!u.done;u=o.next()){var a=u.value;if(Array.isArray(a))return!1;if("object"==typeof a)i=i&&O(a);else if(!["number","string"].includes(typeof a))return!1;if(!i)return!1}}catch(e){r={error:e}}finally{try{u&&!u.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}}else{if(null==t)return!1;if("object"==typeof t)return O(t);if(!["number","string","boolean"].includes(typeof t))return!1}return!0},R=function(){function e(){this._propertySet=new Set,this._properties={}}return e.prototype.getUserProperties=function(){return t({},this._properties)},e.prototype.set=function(e,t){return this._safeSet(u.SET,e,t),this},e.prototype.setOnce=function(e,t){return this._safeSet(u.SET_ONCE,e,t),this},e.prototype.append=function(e,t){return this._safeSet(u.APPEND,e,t),this},e.prototype.prepend=function(e,t){return this._safeSet(u.PREPEND,e,t),this},e.prototype.postInsert=function(e,t){return this._safeSet(u.POSTINSERT,e,t),this},e.prototype.preInsert=function(e,t){return this._safeSet(u.PREINSERT,e,t),this},e.prototype.remove=function(e,t){return this._safeSet(u.REMOVE,e,t),this},e.prototype.add=function(e,t){return this._safeSet(u.ADD,e,t),this},e.prototype.unset=function(e){return this._safeSet(u.UNSET,e,"-"),this},e.prototype.clearAll=function(){return this._properties={},this._properties[u.CLEAR_ALL]="-",this},e.prototype._safeSet=function(e,t,r){if(this._validate(e,t,r)){var n=this._properties[e];return void 0===n&&(n={},this._properties[e]=n),n[t]=r,this._propertySet.add(t),!0}return!1},e.prototype._validate=function(e,t,r){return void 0===this._properties[u.CLEAR_ALL]&&(!this._propertySet.has(t)&&(e===u.ADD?"number"==typeof r:e===u.UNSET||e===u.REMOVE||P(t,r)))},e}(),T=function(e,t,r){return void 0===t&&(t=""),void 0===r&&(r=10),[S,t,e.substring(0,r)].filter(Boolean).join("_")},N=function(e){var t=e.split(".");return t.length<=2?e:t.slice(t.length-2,t.length).join(".")},I=function(e,t,n){var i;e.referrer;var o=e.referring_domain,u=r(e,["referrer","referring_domain"]),a=t||{};a.referrer;var l=a.referring_domain,s=r(a,["referrer","referring_domain"]);if(e.referring_domain&&(null===(i=n.excludeReferrers)||void 0===i?void 0:i.includes(e.referring_domain)))return!1;var f=JSON.stringify(u)!==JSON.stringify(s),c=N(o||"")!==N(l||"");return!t||f||c},A=function(e,r){var n,i,u=t(t({},E),e),a=Object.entries(u).reduce((function(e,t){var n,i=o(t,2),u=i[0],a=i[1];return e.setOnce("initial_".concat(u),null!==(n=null!=a?a:r.initialEmptyValue)&&void 0!==n?n:"EMPTY"),a?e.set(u,a):e.unset(u)}),new R);return n=a,t(t({},i),{event_type:l.IDENTIFY,user_properties:n.getUserProperties()})},k=function(){for(var e,r,u=this,a=[],l=0;l<arguments.length;l++)a[l]=arguments[l];var f={},c=o(a,2),d=c[0],p=c[1];d&&"init"in d?(r=d,p&&(f=p)):d&&(f=d);var v=null!==(e=f.excludeReferrers)&&void 0!==e?e:[];"undefined"!=typeof location&&v.unshift(location.hostname),f=t(t({disabled:!1,initialEmptyValue:"EMPTY",resetSessionOnNewCampaign:!1},f),{excludeReferrers:v});var y={name:"web-attribution",type:s.BEFORE,setup:function(e,t){var u;return n(this,void 0,void 0,(function(){var n,a,l,s,c,p,v,y;return i(this,(function(i){switch(i.label){case 0:return(r=null!=r?r:t)?f.disabled?(e.loggerProvider.log("@amplitude/plugin-web-attribution-browser is disabled. Attribution is not tracked."),[2]):(e.loggerProvider.log("Installing @amplitude/plugin-web-attribution-browser."),t||(null===(u=e.attribution)||void 0===u?void 0:u.disabled)||(e.loggerProvider.warn("@amplitude/plugin-web-attribution-browser overrides web attribution behavior defined in @amplitude/analytics-browser. Resolve by disabling web attribution tracking in @amplitude/analytics-browser."),e.attribution={disabled:!0}),a=e.cookieStorage,l=T(e.apiKey),[4,Promise.all([(new w).parse(),a.get(l)])]):(n=d?"Options":"undefined",e.loggerProvider.error("Argument of type '".concat(n,"' is not assignable to parameter of type 'BrowserClient'.")),[2]);case 1:return s=o.apply(void 0,[i.sent(),2]),c=s[0],p=s[1],(null!=(v=this.__pluginEnabledOverride)?v:I(c,p,f))&&(f.resetSessionOnNewCampaign&&(r.setSessionId(Date.now()),e.loggerProvider.log("Created a new session for new campaign.")),e.loggerProvider.log("Tracking attribution."),y=A(c,f),r.track(y),a.set(l,c)),[2]}}))}))},execute:function(e){return n(u,void 0,void 0,(function(){return i(this,(function(t){return[2,e]}))}))},__pluginEnabledOverride:void 0};return y},D=Object.freeze({__proto__:null});return e.Types=D,e.plugin=k,e.webAttributionPlugin=k,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
1
+ var webAttribution=function(e){"use strict";var t=function(){return t=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},t.apply(this,arguments)};function r(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]])}return r}function n(e,t,r,n){return new(r||(r=Promise))((function(i,o){function u(e){try{l(n.next(e))}catch(e){o(e)}}function a(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}l((n=n.apply(e,t||[])).next())}))}function i(e,t){var r,n,i,o,u={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(a){return function(l){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,a[0]&&(u=0)),u;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return u.label++,{value:a[1],done:!1};case 5:u.label++,n=a[1],a=[0];continue;case 7:a=u.ops.pop(),u.trys.pop();continue;default:if(!(i=u.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){u=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){u.label=a[1];break}if(6===a[0]&&u.label<i[1]){u.label=i[1],i=a;break}if(i&&u.label<i[2]){u.label=i[2],u.ops.push(a);break}i[2]&&u.ops.pop(),u.trys.pop();continue}a=t.call(e,u)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}function o(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),u=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)u.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return u}var u,a,l,s,f=function(){var e,t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:void 0;return(null===(e=null==t?void 0:t.location)||void 0===e?void 0:e.search)?t.location.search.substring(1).split("&").filter(Boolean).reduce((function(e,t){var r=t.split("=",2),n=c(r[0]),i=c(r[1]);return i?(e[n]=i,e):e}),{}):{}},c=function(e){void 0===e&&(e="");try{return decodeURIComponent(e)}catch(e){return""}},d="dclid",p="fbclid",v="gbraid",y="gclid",b="ko_click_id",g="msclkid",h="ttclid",m="twclid",_="wbraid",E={utm_campaign:void 0,utm_content:void 0,utm_id:void 0,utm_medium:void 0,utm_source:void 0,utm_term:void 0,referrer:void 0,referring_domain:void 0,dclid:void 0,gbraid:void 0,gclid:void 0,fbclid:void 0,ko_click_id:void 0,msclkid:void 0,ttclid:void 0,twclid:void 0,wbraid:void 0},w=function(){function e(){}return e.prototype.parse=function(){return n(this,void 0,void 0,(function(){return i(this,(function(e){return[2,t(t(t(t({},E),this.getUtmParam()),this.getReferrer()),this.getClickIds())]}))}))},e.prototype.getUtmParam=function(){var e=f();return{utm_campaign:e.utm_campaign,utm_content:e.utm_content,utm_id:e.utm_id,utm_medium:e.utm_medium,utm_source:e.utm_source,utm_term:e.utm_term}},e.prototype.getReferrer=function(){var e,t,r={referrer:void 0,referring_domain:void 0};try{r.referrer=document.referrer||void 0,r.referring_domain=null!==(t=null===(e=r.referrer)||void 0===e?void 0:e.split("/")[2])&&void 0!==t?t:void 0}catch(e){}return r},e.prototype.getClickIds=function(){var e,t=f();return(e={})[d]=t[d],e[p]=t[p],e[v]=t[v],e[y]=t[y],e[b]=t[b],e[g]=t[g],e[h]=t[h],e[m]=t[m],e[_]=t[_],e},e}();!function(e){e.SET="$set",e.SET_ONCE="$setOnce",e.ADD="$add",e.APPEND="$append",e.PREPEND="$prepend",e.REMOVE="$remove",e.PREINSERT="$preInsert",e.POSTINSERT="$postInsert",e.UNSET="$unset",e.CLEAR_ALL="$clearAll"}(u||(u={})),function(e){e.REVENUE_PRODUCT_ID="$productId",e.REVENUE_QUANTITY="$quantity",e.REVENUE_PRICE="$price",e.REVENUE_TYPE="$revenueType",e.REVENUE="$revenue"}(a||(a={})),function(e){e.IDENTIFY="$identify",e.GROUP_IDENTIFY="$groupidentify",e.REVENUE="revenue_amount"}(l||(l={})),function(e){e.BEFORE="before",e.ENRICHMENT="enrichment",e.DESTINATION="destination"}(s||(s={}));var S="AMP",O=function(e){if(Object.keys(e).length>1e3)return!1;for(var t in e){var r=e[t];if(!P(t,r))return!1}return!0},P=function(e,t){var r,n;if("string"!=typeof e)return!1;if(Array.isArray(t)){var i=!0;try{for(var o=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),u=o.next();!u.done;u=o.next()){var a=u.value;if(Array.isArray(a))return!1;if("object"==typeof a)i=i&&O(a);else if(!["number","string"].includes(typeof a))return!1;if(!i)return!1}}catch(e){r={error:e}}finally{try{u&&!u.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}}else{if(null==t)return!1;if("object"==typeof t)return O(t);if(!["number","string","boolean"].includes(typeof t))return!1}return!0},R=function(){function e(){this._propertySet=new Set,this._properties={}}return e.prototype.getUserProperties=function(){return t({},this._properties)},e.prototype.set=function(e,t){return this._safeSet(u.SET,e,t),this},e.prototype.setOnce=function(e,t){return this._safeSet(u.SET_ONCE,e,t),this},e.prototype.append=function(e,t){return this._safeSet(u.APPEND,e,t),this},e.prototype.prepend=function(e,t){return this._safeSet(u.PREPEND,e,t),this},e.prototype.postInsert=function(e,t){return this._safeSet(u.POSTINSERT,e,t),this},e.prototype.preInsert=function(e,t){return this._safeSet(u.PREINSERT,e,t),this},e.prototype.remove=function(e,t){return this._safeSet(u.REMOVE,e,t),this},e.prototype.add=function(e,t){return this._safeSet(u.ADD,e,t),this},e.prototype.unset=function(e){return this._safeSet(u.UNSET,e,"-"),this},e.prototype.clearAll=function(){return this._properties={},this._properties[u.CLEAR_ALL]="-",this},e.prototype._safeSet=function(e,t,r){if(this._validate(e,t,r)){var n=this._properties[e];return void 0===n&&(n={},this._properties[e]=n),n[t]=r,this._propertySet.add(t),!0}return!1},e.prototype._validate=function(e,t,r){return void 0===this._properties[u.CLEAR_ALL]&&(!this._propertySet.has(t)&&(e===u.ADD?"number"==typeof r:e===u.UNSET||e===u.REMOVE||P(t,r)))},e}(),T=function(e,t,r){return void 0===t&&(t=""),void 0===r&&(r=10),[S,t,e.substring(0,r)].filter(Boolean).join("_")},N=function(e){var t=e.split(".");return t.length<=2?e:t.slice(t.length-2,t.length).join(".")},I=function(e,t,n){var i;e.referrer;var o=e.referring_domain,u=r(e,["referrer","referring_domain"]),a=t||{};a.referrer;var l=a.referring_domain,s=r(a,["referrer","referring_domain"]);if(e.referring_domain&&(null===(i=n.excludeReferrers)||void 0===i?void 0:i.includes(e.referring_domain)))return!1;var f=JSON.stringify(u)!==JSON.stringify(s),c=N(o||"")!==N(l||"");return!t||f||c},A=function(e,r){var n,i,u=t(t({},E),e),a=Object.entries(u).reduce((function(e,t){var n,i=o(t,2),u=i[0],a=i[1];return e.setOnce("initial_".concat(u),null!==(n=null!=a?a:r.initialEmptyValue)&&void 0!==n?n:"EMPTY"),a?e.set(u,a):e.unset(u)}),new R);return n=a,t(t({},i),{event_type:l.IDENTIFY,user_properties:n.getUserProperties()})},k=function(){for(var e,r,u=this,a=[],l=0;l<arguments.length;l++)a[l]=arguments[l];var f={},c=o(a,2),d=c[0],p=c[1];d&&"init"in d?(r=d,p&&(f=p)):d&&(f=d);var v=null!==(e=f.excludeReferrers)&&void 0!==e?e:[];"undefined"!=typeof location&&v.unshift(location.hostname),f=t(t({disabled:!1,initialEmptyValue:"EMPTY",resetSessionOnNewCampaign:!1},f),{excludeReferrers:v});var y={name:"web-attribution",type:s.BEFORE,setup:function(e,t){var u;return n(this,void 0,void 0,(function(){var n,a,l,s,c,p,v,y;return i(this,(function(i){switch(i.label){case 0:return(r=null!=r?r:t)?f.disabled?(e.loggerProvider.log("@amplitude/plugin-web-attribution-browser is disabled. Attribution is not tracked."),[2]):(e.loggerProvider.log("Installing @amplitude/plugin-web-attribution-browser."),t||(null===(u=e.attribution)||void 0===u?void 0:u.disabled)||(e.loggerProvider.warn("@amplitude/plugin-web-attribution-browser overrides web attribution behavior defined in @amplitude/analytics-browser. Resolve by disabling web attribution tracking in @amplitude/analytics-browser."),e.attribution={disabled:!0}),a=e.cookieStorage,l=T(e.apiKey,"MKTG"),[4,Promise.all([(new w).parse(),a.get(l)])]):(n=d?"Options":"undefined",e.loggerProvider.error("Argument of type '".concat(n,"' is not assignable to parameter of type 'BrowserClient'.")),[2]);case 1:return s=o.apply(void 0,[i.sent(),2]),c=s[0],p=s[1],(null!=(v=this.__pluginEnabledOverride)?v:I(c,p,f))&&(f.resetSessionOnNewCampaign&&(r.setSessionId(Date.now()),e.loggerProvider.log("Created a new session for new campaign.")),e.loggerProvider.log("Tracking attribution."),y=A(c,f),r.track(y),a.set(l,c)),[2]}}))}))},execute:function(e){return n(u,void 0,void 0,(function(){return i(this,(function(t){return[2,e]}))}))},__pluginEnabledOverride:void 0};return y},D=Object.freeze({__proto__:null});return e.Types=D,e.plugin=k,e.webAttributionPlugin=k,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
Binary file
@@ -1 +1 @@
1
- !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).amplitude={})}(this,(function(e){"use strict";var t=function(){return t=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},t.apply(this,arguments)};function r(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]])}return r}function n(e,t,r,n){return new(r||(r=Promise))((function(i,o){function u(e){try{l(n.next(e))}catch(e){o(e)}}function a(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}l((n=n.apply(e,t||[])).next())}))}function i(e,t){var r,n,i,o,u={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(a){return function(l){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,a[0]&&(u=0)),u;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return u.label++,{value:a[1],done:!1};case 5:u.label++,n=a[1],a=[0];continue;case 7:a=u.ops.pop(),u.trys.pop();continue;default:if(!(i=u.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){u=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){u.label=a[1];break}if(6===a[0]&&u.label<i[1]){u.label=i[1],i=a;break}if(i&&u.label<i[2]){u.label=i[2],u.ops.push(a);break}i[2]&&u.ops.pop(),u.trys.pop();continue}a=t.call(e,u)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}function o(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),u=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)u.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return u}var u,a,l,s,f=function(){var e,t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:void 0;return(null===(e=null==t?void 0:t.location)||void 0===e?void 0:e.search)?t.location.search.substring(1).split("&").filter(Boolean).reduce((function(e,t){var r=t.split("=",2),n=c(r[0]),i=c(r[1]);return i?(e[n]=i,e):e}),{}):{}},c=function(e){void 0===e&&(e="");try{return decodeURIComponent(e)}catch(e){return""}},d="dclid",p="fbclid",v="gbraid",y="gclid",b="ko_click_id",h="msclkid",g="ttclid",m="twclid",_="wbraid",E={utm_campaign:void 0,utm_content:void 0,utm_id:void 0,utm_medium:void 0,utm_source:void 0,utm_term:void 0,referrer:void 0,referring_domain:void 0,dclid:void 0,gbraid:void 0,gclid:void 0,fbclid:void 0,ko_click_id:void 0,msclkid:void 0,ttclid:void 0,twclid:void 0,wbraid:void 0},w=function(){function e(){}return e.prototype.parse=function(){return n(this,void 0,void 0,(function(){return i(this,(function(e){return[2,t(t(t(t({},E),this.getUtmParam()),this.getReferrer()),this.getClickIds())]}))}))},e.prototype.getUtmParam=function(){var e=f();return{utm_campaign:e.utm_campaign,utm_content:e.utm_content,utm_id:e.utm_id,utm_medium:e.utm_medium,utm_source:e.utm_source,utm_term:e.utm_term}},e.prototype.getReferrer=function(){var e,t,r={referrer:void 0,referring_domain:void 0};try{r.referrer=document.referrer||void 0,r.referring_domain=null!==(t=null===(e=r.referrer)||void 0===e?void 0:e.split("/")[2])&&void 0!==t?t:void 0}catch(e){}return r},e.prototype.getClickIds=function(){var e,t=f();return(e={})[d]=t[d],e[p]=t[p],e[v]=t[v],e[y]=t[y],e[b]=t[b],e[h]=t[h],e[g]=t[g],e[m]=t[m],e[_]=t[_],e},e}();!function(e){e.SET="$set",e.SET_ONCE="$setOnce",e.ADD="$add",e.APPEND="$append",e.PREPEND="$prepend",e.REMOVE="$remove",e.PREINSERT="$preInsert",e.POSTINSERT="$postInsert",e.UNSET="$unset",e.CLEAR_ALL="$clearAll"}(u||(u={})),function(e){e.REVENUE_PRODUCT_ID="$productId",e.REVENUE_QUANTITY="$quantity",e.REVENUE_PRICE="$price",e.REVENUE_TYPE="$revenueType",e.REVENUE="$revenue"}(a||(a={})),function(e){e.IDENTIFY="$identify",e.GROUP_IDENTIFY="$groupidentify",e.REVENUE="revenue_amount"}(l||(l={})),function(e){e.BEFORE="before",e.ENRICHMENT="enrichment",e.DESTINATION="destination"}(s||(s={}));var S="AMP",O=function(e){if(Object.keys(e).length>1e3)return!1;for(var t in e){var r=e[t];if(!P(t,r))return!1}return!0},P=function(e,t){var r,n;if("string"!=typeof e)return!1;if(Array.isArray(t)){var i=!0;try{for(var o=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),u=o.next();!u.done;u=o.next()){var a=u.value;if(Array.isArray(a))return!1;if("object"==typeof a)i=i&&O(a);else if(!["number","string"].includes(typeof a))return!1;if(!i)return!1}}catch(e){r={error:e}}finally{try{u&&!u.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}}else{if(null==t)return!1;if("object"==typeof t)return O(t);if(!["number","string","boolean"].includes(typeof t))return!1}return!0},T=function(){function e(){this._propertySet=new Set,this._properties={}}return e.prototype.getUserProperties=function(){return t({},this._properties)},e.prototype.set=function(e,t){return this._safeSet(u.SET,e,t),this},e.prototype.setOnce=function(e,t){return this._safeSet(u.SET_ONCE,e,t),this},e.prototype.append=function(e,t){return this._safeSet(u.APPEND,e,t),this},e.prototype.prepend=function(e,t){return this._safeSet(u.PREPEND,e,t),this},e.prototype.postInsert=function(e,t){return this._safeSet(u.POSTINSERT,e,t),this},e.prototype.preInsert=function(e,t){return this._safeSet(u.PREINSERT,e,t),this},e.prototype.remove=function(e,t){return this._safeSet(u.REMOVE,e,t),this},e.prototype.add=function(e,t){return this._safeSet(u.ADD,e,t),this},e.prototype.unset=function(e){return this._safeSet(u.UNSET,e,"-"),this},e.prototype.clearAll=function(){return this._properties={},this._properties[u.CLEAR_ALL]="-",this},e.prototype._safeSet=function(e,t,r){if(this._validate(e,t,r)){var n=this._properties[e];return void 0===n&&(n={},this._properties[e]=n),n[t]=r,this._propertySet.add(t),!0}return!1},e.prototype._validate=function(e,t,r){return void 0===this._properties[u.CLEAR_ALL]&&(!this._propertySet.has(t)&&(e===u.ADD?"number"==typeof r:e===u.UNSET||e===u.REMOVE||P(t,r)))},e}(),R=function(e,t,r){return void 0===t&&(t=""),void 0===r&&(r=10),[S,t,e.substring(0,r)].filter(Boolean).join("_")},N=function(e){var t=e.split(".");return t.length<=2?e:t.slice(t.length-2,t.length).join(".")},I=function(e,t,n){var i;e.referrer;var o=e.referring_domain,u=r(e,["referrer","referring_domain"]),a=t||{};a.referrer;var l=a.referring_domain,s=r(a,["referrer","referring_domain"]);if(e.referring_domain&&(null===(i=n.excludeReferrers)||void 0===i?void 0:i.includes(e.referring_domain)))return!1;var f=JSON.stringify(u)!==JSON.stringify(s),c=N(o||"")!==N(l||"");return!t||f||c},A=function(e,r){var n,i,u=t(t({},E),e),a=Object.entries(u).reduce((function(e,t){var n,i=o(t,2),u=i[0],a=i[1];return e.setOnce("initial_".concat(u),null!==(n=null!=a?a:r.initialEmptyValue)&&void 0!==n?n:"EMPTY"),a?e.set(u,a):e.unset(u)}),new T);return n=a,t(t({},i),{event_type:l.IDENTIFY,user_properties:n.getUserProperties()})},k=function(){for(var e,r,u=this,a=[],l=0;l<arguments.length;l++)a[l]=arguments[l];var f={},c=o(a,2),d=c[0],p=c[1];d&&"init"in d?(r=d,p&&(f=p)):d&&(f=d);var v=null!==(e=f.excludeReferrers)&&void 0!==e?e:[];"undefined"!=typeof location&&v.unshift(location.hostname),f=t(t({disabled:!1,initialEmptyValue:"EMPTY",resetSessionOnNewCampaign:!1},f),{excludeReferrers:v});var y={name:"web-attribution",type:s.BEFORE,setup:function(e,t){var u;return n(this,void 0,void 0,(function(){var n,a,l,s,c,p,v,y;return i(this,(function(i){switch(i.label){case 0:return(r=null!=r?r:t)?f.disabled?(e.loggerProvider.log("@amplitude/plugin-web-attribution-browser is disabled. Attribution is not tracked."),[2]):(e.loggerProvider.log("Installing @amplitude/plugin-web-attribution-browser."),t||(null===(u=e.attribution)||void 0===u?void 0:u.disabled)||(e.loggerProvider.warn("@amplitude/plugin-web-attribution-browser overrides web attribution behavior defined in @amplitude/analytics-browser. Resolve by disabling web attribution tracking in @amplitude/analytics-browser."),e.attribution={disabled:!0}),a=e.cookieStorage,l=R(e.apiKey),[4,Promise.all([(new w).parse(),a.get(l)])]):(n=d?"Options":"undefined",e.loggerProvider.error("Argument of type '".concat(n,"' is not assignable to parameter of type 'BrowserClient'.")),[2]);case 1:return s=o.apply(void 0,[i.sent(),2]),c=s[0],p=s[1],(null!=(v=this.__pluginEnabledOverride)?v:I(c,p,f))&&(f.resetSessionOnNewCampaign&&(r.setSessionId(Date.now()),e.loggerProvider.log("Created a new session for new campaign.")),e.loggerProvider.log("Tracking attribution."),y=A(c,f),r.track(y),a.set(l,c)),[2]}}))}))},execute:function(e){return n(u,void 0,void 0,(function(){return i(this,(function(t){return[2,e]}))}))},__pluginEnabledOverride:void 0};return y},x=Object.freeze({__proto__:null});e.Types=x,e.plugin=k,e.webAttributionPlugin=k,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !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).amplitude={})}(this,(function(e){"use strict";var t=function(){return t=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},t.apply(this,arguments)};function r(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]])}return r}function n(e,t,r,n){return new(r||(r=Promise))((function(i,o){function u(e){try{l(n.next(e))}catch(e){o(e)}}function a(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(u,a)}l((n=n.apply(e,t||[])).next())}))}function i(e,t){var r,n,i,o,u={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(a){return function(l){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,a[0]&&(u=0)),u;)try{if(r=1,n&&(i=2&a[0]?n.return:a[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,a[1])).done)return i;switch(n=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return u.label++,{value:a[1],done:!1};case 5:u.label++,n=a[1],a=[0];continue;case 7:a=u.ops.pop(),u.trys.pop();continue;default:if(!(i=u.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){u=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){u.label=a[1];break}if(6===a[0]&&u.label<i[1]){u.label=i[1],i=a;break}if(i&&u.label<i[2]){u.label=i[2],u.ops.push(a);break}i[2]&&u.ops.pop(),u.trys.pop();continue}a=t.call(e,u)}catch(e){a=[6,e],n=0}finally{r=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}function o(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),u=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)u.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return u}var u,a,l,s,f=function(){var e,t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:void 0;return(null===(e=null==t?void 0:t.location)||void 0===e?void 0:e.search)?t.location.search.substring(1).split("&").filter(Boolean).reduce((function(e,t){var r=t.split("=",2),n=c(r[0]),i=c(r[1]);return i?(e[n]=i,e):e}),{}):{}},c=function(e){void 0===e&&(e="");try{return decodeURIComponent(e)}catch(e){return""}},d="dclid",p="fbclid",v="gbraid",y="gclid",b="ko_click_id",h="msclkid",g="ttclid",m="twclid",_="wbraid",E={utm_campaign:void 0,utm_content:void 0,utm_id:void 0,utm_medium:void 0,utm_source:void 0,utm_term:void 0,referrer:void 0,referring_domain:void 0,dclid:void 0,gbraid:void 0,gclid:void 0,fbclid:void 0,ko_click_id:void 0,msclkid:void 0,ttclid:void 0,twclid:void 0,wbraid:void 0},w=function(){function e(){}return e.prototype.parse=function(){return n(this,void 0,void 0,(function(){return i(this,(function(e){return[2,t(t(t(t({},E),this.getUtmParam()),this.getReferrer()),this.getClickIds())]}))}))},e.prototype.getUtmParam=function(){var e=f();return{utm_campaign:e.utm_campaign,utm_content:e.utm_content,utm_id:e.utm_id,utm_medium:e.utm_medium,utm_source:e.utm_source,utm_term:e.utm_term}},e.prototype.getReferrer=function(){var e,t,r={referrer:void 0,referring_domain:void 0};try{r.referrer=document.referrer||void 0,r.referring_domain=null!==(t=null===(e=r.referrer)||void 0===e?void 0:e.split("/")[2])&&void 0!==t?t:void 0}catch(e){}return r},e.prototype.getClickIds=function(){var e,t=f();return(e={})[d]=t[d],e[p]=t[p],e[v]=t[v],e[y]=t[y],e[b]=t[b],e[h]=t[h],e[g]=t[g],e[m]=t[m],e[_]=t[_],e},e}();!function(e){e.SET="$set",e.SET_ONCE="$setOnce",e.ADD="$add",e.APPEND="$append",e.PREPEND="$prepend",e.REMOVE="$remove",e.PREINSERT="$preInsert",e.POSTINSERT="$postInsert",e.UNSET="$unset",e.CLEAR_ALL="$clearAll"}(u||(u={})),function(e){e.REVENUE_PRODUCT_ID="$productId",e.REVENUE_QUANTITY="$quantity",e.REVENUE_PRICE="$price",e.REVENUE_TYPE="$revenueType",e.REVENUE="$revenue"}(a||(a={})),function(e){e.IDENTIFY="$identify",e.GROUP_IDENTIFY="$groupidentify",e.REVENUE="revenue_amount"}(l||(l={})),function(e){e.BEFORE="before",e.ENRICHMENT="enrichment",e.DESTINATION="destination"}(s||(s={}));var S="AMP",O=function(e){if(Object.keys(e).length>1e3)return!1;for(var t in e){var r=e[t];if(!P(t,r))return!1}return!0},P=function(e,t){var r,n;if("string"!=typeof e)return!1;if(Array.isArray(t)){var i=!0;try{for(var o=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),u=o.next();!u.done;u=o.next()){var a=u.value;if(Array.isArray(a))return!1;if("object"==typeof a)i=i&&O(a);else if(!["number","string"].includes(typeof a))return!1;if(!i)return!1}}catch(e){r={error:e}}finally{try{u&&!u.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}}else{if(null==t)return!1;if("object"==typeof t)return O(t);if(!["number","string","boolean"].includes(typeof t))return!1}return!0},T=function(){function e(){this._propertySet=new Set,this._properties={}}return e.prototype.getUserProperties=function(){return t({},this._properties)},e.prototype.set=function(e,t){return this._safeSet(u.SET,e,t),this},e.prototype.setOnce=function(e,t){return this._safeSet(u.SET_ONCE,e,t),this},e.prototype.append=function(e,t){return this._safeSet(u.APPEND,e,t),this},e.prototype.prepend=function(e,t){return this._safeSet(u.PREPEND,e,t),this},e.prototype.postInsert=function(e,t){return this._safeSet(u.POSTINSERT,e,t),this},e.prototype.preInsert=function(e,t){return this._safeSet(u.PREINSERT,e,t),this},e.prototype.remove=function(e,t){return this._safeSet(u.REMOVE,e,t),this},e.prototype.add=function(e,t){return this._safeSet(u.ADD,e,t),this},e.prototype.unset=function(e){return this._safeSet(u.UNSET,e,"-"),this},e.prototype.clearAll=function(){return this._properties={},this._properties[u.CLEAR_ALL]="-",this},e.prototype._safeSet=function(e,t,r){if(this._validate(e,t,r)){var n=this._properties[e];return void 0===n&&(n={},this._properties[e]=n),n[t]=r,this._propertySet.add(t),!0}return!1},e.prototype._validate=function(e,t,r){return void 0===this._properties[u.CLEAR_ALL]&&(!this._propertySet.has(t)&&(e===u.ADD?"number"==typeof r:e===u.UNSET||e===u.REMOVE||P(t,r)))},e}(),R=function(e,t,r){return void 0===t&&(t=""),void 0===r&&(r=10),[S,t,e.substring(0,r)].filter(Boolean).join("_")},N=function(e){var t=e.split(".");return t.length<=2?e:t.slice(t.length-2,t.length).join(".")},I=function(e,t,n){var i;e.referrer;var o=e.referring_domain,u=r(e,["referrer","referring_domain"]),a=t||{};a.referrer;var l=a.referring_domain,s=r(a,["referrer","referring_domain"]);if(e.referring_domain&&(null===(i=n.excludeReferrers)||void 0===i?void 0:i.includes(e.referring_domain)))return!1;var f=JSON.stringify(u)!==JSON.stringify(s),c=N(o||"")!==N(l||"");return!t||f||c},A=function(e,r){var n,i,u=t(t({},E),e),a=Object.entries(u).reduce((function(e,t){var n,i=o(t,2),u=i[0],a=i[1];return e.setOnce("initial_".concat(u),null!==(n=null!=a?a:r.initialEmptyValue)&&void 0!==n?n:"EMPTY"),a?e.set(u,a):e.unset(u)}),new T);return n=a,t(t({},i),{event_type:l.IDENTIFY,user_properties:n.getUserProperties()})},k=function(){for(var e,r,u=this,a=[],l=0;l<arguments.length;l++)a[l]=arguments[l];var f={},c=o(a,2),d=c[0],p=c[1];d&&"init"in d?(r=d,p&&(f=p)):d&&(f=d);var v=null!==(e=f.excludeReferrers)&&void 0!==e?e:[];"undefined"!=typeof location&&v.unshift(location.hostname),f=t(t({disabled:!1,initialEmptyValue:"EMPTY",resetSessionOnNewCampaign:!1},f),{excludeReferrers:v});var y={name:"web-attribution",type:s.BEFORE,setup:function(e,t){var u;return n(this,void 0,void 0,(function(){var n,a,l,s,c,p,v,y;return i(this,(function(i){switch(i.label){case 0:return(r=null!=r?r:t)?f.disabled?(e.loggerProvider.log("@amplitude/plugin-web-attribution-browser is disabled. Attribution is not tracked."),[2]):(e.loggerProvider.log("Installing @amplitude/plugin-web-attribution-browser."),t||(null===(u=e.attribution)||void 0===u?void 0:u.disabled)||(e.loggerProvider.warn("@amplitude/plugin-web-attribution-browser overrides web attribution behavior defined in @amplitude/analytics-browser. Resolve by disabling web attribution tracking in @amplitude/analytics-browser."),e.attribution={disabled:!0}),a=e.cookieStorage,l=R(e.apiKey,"MKTG"),[4,Promise.all([(new w).parse(),a.get(l)])]):(n=d?"Options":"undefined",e.loggerProvider.error("Argument of type '".concat(n,"' is not assignable to parameter of type 'BrowserClient'.")),[2]);case 1:return s=o.apply(void 0,[i.sent(),2]),c=s[0],p=s[1],(null!=(v=this.__pluginEnabledOverride)?v:I(c,p,f))&&(f.resetSessionOnNewCampaign&&(r.setSessionId(Date.now()),e.loggerProvider.log("Created a new session for new campaign.")),e.loggerProvider.log("Tracking attribution."),y=A(c,f),r.track(y),a.set(l,c)),[2]}}))}))},execute:function(e){return n(u,void 0,void 0,(function(){return i(this,(function(t){return[2,e]}))}))},__pluginEnabledOverride:void 0};return y},x=Object.freeze({__proto__:null});e.Types=x,e.plugin=k,e.webAttributionPlugin=k,Object.defineProperty(e,"__esModule",{value:!0})}));
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amplitude/plugin-web-attribution-browser",
3
- "version": "0.6.0-beta.0",
3
+ "version": "0.6.0-beta.2",
4
4
  "description": "",
5
5
  "author": "Amplitude Inc",
6
6
  "homepage": "https://github.com/amplitude/Amplitude-TypeScript",
@@ -41,7 +41,7 @@
41
41
  "tslib": "^2.4.1"
42
42
  },
43
43
  "devDependencies": {
44
- "@amplitude/analytics-browser": "^1.9.0-beta.0",
44
+ "@amplitude/analytics-browser": "^1.9.0-beta.2",
45
45
  "@rollup/plugin-commonjs": "^23.0.4",
46
46
  "@rollup/plugin-node-resolve": "^15.0.1",
47
47
  "@rollup/plugin-typescript": "^10.0.1",
@@ -53,5 +53,5 @@
53
53
  "files": [
54
54
  "lib"
55
55
  ],
56
- "gitHead": "5590f7d77d93362d2f3db6d47116ca502afd1fc4"
56
+ "gitHead": "aa29547d7c880f9bc82abbf62a287850abe22503"
57
57
  }