@amplitude/analytics-react-native 0.3.3 → 0.4.0
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.
- package/lib/commonjs/config.js +10 -18
- package/lib/commonjs/config.js.map +1 -1
- package/lib/commonjs/cookie-migration/index.js +3 -5
- package/lib/commonjs/cookie-migration/index.js.map +1 -1
- package/lib/commonjs/plugins/context.js +8 -2
- package/lib/commonjs/plugins/context.js.map +1 -1
- package/lib/commonjs/react-native-client.js +7 -11
- package/lib/commonjs/react-native-client.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/config.js +1 -5
- package/lib/module/config.js.map +1 -1
- package/lib/module/cookie-migration/index.js +1 -2
- package/lib/module/cookie-migration/index.js.map +1 -1
- package/lib/module/plugins/context.js +7 -1
- package/lib/module/plugins/context.js.map +1 -1
- package/lib/module/react-native-client.js +1 -3
- package/lib/module/react-native-client.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/config.d.ts +1 -2
- package/lib/typescript/config.d.ts.map +1 -1
- package/lib/typescript/cookie-migration/index.d.ts.map +1 -1
- package/lib/typescript/plugins/context.d.ts.map +1 -1
- package/lib/typescript/react-native-client.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +5 -4
- package/src/config.ts +7 -5
- package/src/cookie-migration/index.ts +1 -2
- package/src/plugins/context.ts +7 -1
- package/src/react-native-client.ts +1 -3
- package/src/version.ts +1 -1
- package/lib/commonjs/attribution/campaign-parser.js +0 -74
- package/lib/commonjs/attribution/campaign-parser.js.map +0 -1
- package/lib/commonjs/attribution/campaign-tracker.js +0 -133
- package/lib/commonjs/attribution/campaign-tracker.js.map +0 -1
- package/lib/commonjs/attribution/constants.js +0 -47
- package/lib/commonjs/attribution/constants.js.map +0 -1
- package/lib/commonjs/plugins/identity.js +0 -40
- package/lib/commonjs/plugins/identity.js.map +0 -1
- package/lib/commonjs/session-manager.js +0 -114
- package/lib/commonjs/session-manager.js.map +0 -1
- package/lib/commonjs/storage/cookie.js +0 -124
- package/lib/commonjs/storage/cookie.js.map +0 -1
- package/lib/commonjs/storage/utm-cookie.js +0 -42
- package/lib/commonjs/storage/utm-cookie.js.map +0 -1
- package/lib/commonjs/transports/fetch.js +0 -34
- package/lib/commonjs/transports/fetch.js.map +0 -1
- package/lib/commonjs/utils/analytics-connector.js +0 -15
- package/lib/commonjs/utils/analytics-connector.js.map +0 -1
- package/lib/commonjs/utils/cookie-name.js +0 -23
- package/lib/commonjs/utils/cookie-name.js.map +0 -1
- package/lib/commonjs/utils/language.js +0 -18
- package/lib/commonjs/utils/language.js.map +0 -1
- package/lib/commonjs/utils/query-params.js +0 -43
- package/lib/commonjs/utils/query-params.js.map +0 -1
- package/lib/module/attribution/campaign-parser.js +0 -62
- package/lib/module/attribution/campaign-parser.js.map +0 -1
- package/lib/module/attribution/campaign-tracker.js +0 -120
- package/lib/module/attribution/campaign-tracker.js.map +0 -1
- package/lib/module/attribution/constants.js +0 -26
- package/lib/module/attribution/constants.js.map +0 -1
- package/lib/module/plugins/identity.js +0 -29
- package/lib/module/plugins/identity.js.map +0 -1
- package/lib/module/session-manager.js +0 -104
- package/lib/module/session-manager.js.map +0 -1
- package/lib/module/storage/cookie.js +0 -114
- package/lib/module/storage/cookie.js.map +0 -1
- package/lib/module/storage/utm-cookie.js +0 -32
- package/lib/module/storage/utm-cookie.js.map +0 -1
- package/lib/module/transports/fetch.js +0 -24
- package/lib/module/transports/fetch.js.map +0 -1
- package/lib/module/utils/analytics-connector.js +0 -5
- package/lib/module/utils/analytics-connector.js.map +0 -1
- package/lib/module/utils/cookie-name.js +0 -10
- package/lib/module/utils/cookie-name.js.map +0 -1
- package/lib/module/utils/language.js +0 -9
- package/lib/module/utils/language.js.map +0 -1
- package/lib/module/utils/query-params.js +0 -31
- package/lib/module/utils/query-params.js.map +0 -1
- package/lib/typescript/attribution/campaign-parser.d.ts +0 -10
- package/lib/typescript/attribution/campaign-parser.d.ts.map +0 -1
- package/lib/typescript/attribution/campaign-tracker.d.ts +0 -74
- package/lib/typescript/attribution/campaign-tracker.d.ts.map +0 -1
- package/lib/typescript/attribution/constants.d.ts +0 -17
- package/lib/typescript/attribution/constants.d.ts.map +0 -1
- package/lib/typescript/plugins/identity.d.ts +0 -9
- package/lib/typescript/plugins/identity.d.ts.map +0 -1
- package/lib/typescript/session-manager.d.ts +0 -28
- package/lib/typescript/session-manager.d.ts.map +0 -1
- package/lib/typescript/storage/cookie.d.ts +0 -12
- package/lib/typescript/storage/cookie.d.ts.map +0 -1
- package/lib/typescript/storage/utm-cookie.d.ts +0 -6
- package/lib/typescript/storage/utm-cookie.d.ts.map +0 -1
- package/lib/typescript/transports/fetch.d.ts +0 -6
- package/lib/typescript/transports/fetch.d.ts.map +0 -1
- package/lib/typescript/utils/analytics-connector.d.ts +0 -3
- package/lib/typescript/utils/analytics-connector.d.ts.map +0 -1
- package/lib/typescript/utils/cookie-name.d.ts +0 -3
- package/lib/typescript/utils/cookie-name.d.ts.map +0 -1
- package/lib/typescript/utils/language.d.ts +0 -2
- package/lib/typescript/utils/language.d.ts.map +0 -1
- package/lib/typescript/utils/query-params.d.ts +0 -3
- package/lib/typescript/utils/query-params.d.ts.map +0 -1
- package/src/attribution/campaign-parser.ts +0 -78
- package/src/attribution/campaign-tracker.ts +0 -112
- package/src/attribution/constants.ts +0 -32
- package/src/plugins/identity.ts +0 -21
- package/src/session-manager.ts +0 -81
- package/src/storage/cookie.ts +0 -97
- package/src/storage/utm-cookie.ts +0 -27
- package/src/transports/fetch.ts +0 -23
- package/src/utils/analytics-connector.ts +0 -5
- package/src/utils/cookie-name.ts +0 -9
- package/src/utils/language.ts +0 -7
- package/src/utils/query-params.ts +0 -26
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
|
|
3
|
-
import { createIdentifyEvent, Identify } from '@amplitude/analytics-core';
|
|
4
|
-
import { getCookieName as getStorageKey } from '../utils/cookie-name';
|
|
5
|
-
import { CampaignParser } from './campaign-parser';
|
|
6
|
-
import { BASE_CAMPAIGN, EMPTY_VALUE, MKTG } from './constants';
|
|
7
|
-
export class CampaignTracker {
|
|
8
|
-
constructor(apiKey, options) {
|
|
9
|
-
var _options$excludeRefer, _options$initialEmpty;
|
|
10
|
-
|
|
11
|
-
_defineProperty(this, "storage", void 0);
|
|
12
|
-
|
|
13
|
-
_defineProperty(this, "storageKey", void 0);
|
|
14
|
-
|
|
15
|
-
_defineProperty(this, "parser", void 0);
|
|
16
|
-
|
|
17
|
-
_defineProperty(this, "track", void 0);
|
|
18
|
-
|
|
19
|
-
_defineProperty(this, "onNewCampaign", void 0);
|
|
20
|
-
|
|
21
|
-
_defineProperty(this, "disabled", void 0);
|
|
22
|
-
|
|
23
|
-
_defineProperty(this, "trackNewCampaigns", void 0);
|
|
24
|
-
|
|
25
|
-
_defineProperty(this, "trackPageViews", void 0);
|
|
26
|
-
|
|
27
|
-
_defineProperty(this, "excludeReferrers", void 0);
|
|
28
|
-
|
|
29
|
-
_defineProperty(this, "initialEmptyValue", void 0);
|
|
30
|
-
|
|
31
|
-
this.storage = options.storage;
|
|
32
|
-
this.storageKey = getStorageKey(apiKey, MKTG);
|
|
33
|
-
this.parser = new CampaignParser();
|
|
34
|
-
this.track = options.track;
|
|
35
|
-
this.onNewCampaign = options.onNewCampaign;
|
|
36
|
-
this.disabled = Boolean(options.disabled);
|
|
37
|
-
this.trackNewCampaigns = Boolean(options.trackNewCampaigns);
|
|
38
|
-
this.trackPageViews = Boolean(options.trackPageViews);
|
|
39
|
-
this.excludeReferrers = (_options$excludeRefer = options.excludeReferrers) !== null && _options$excludeRefer !== void 0 ? _options$excludeRefer : [];
|
|
40
|
-
|
|
41
|
-
if (typeof location !== 'undefined') {
|
|
42
|
-
this.excludeReferrers.unshift(location.hostname);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
this.initialEmptyValue = (_options$initialEmpty = options.initialEmptyValue) !== null && _options$initialEmpty !== void 0 ? _options$initialEmpty : EMPTY_VALUE;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
isNewCampaign(currentCampaign, previousCampaign) {
|
|
49
|
-
const isReferrerExcluded = Boolean(currentCampaign.referring_domain && this.excludeReferrers.includes(currentCampaign.referring_domain));
|
|
50
|
-
const hasNewUtm = previousCampaign.utm_campaign !== currentCampaign.utm_campaign || previousCampaign.utm_source !== currentCampaign.utm_source || previousCampaign.utm_medium !== currentCampaign.utm_medium || previousCampaign.utm_term !== currentCampaign.utm_term || previousCampaign.utm_content !== currentCampaign.utm_content;
|
|
51
|
-
const hasNewReferrer = previousCampaign.referring_domain !== currentCampaign.referring_domain;
|
|
52
|
-
return !isReferrerExcluded && (hasNewUtm || hasNewReferrer);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
async saveCampaignToStorage(campaign) {
|
|
56
|
-
await this.storage.set(this.storageKey, campaign);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
async getCampaignFromStorage() {
|
|
60
|
-
return (await this.storage.get(this.storageKey)) || { ...BASE_CAMPAIGN
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
createCampaignEvent(campaign) {
|
|
65
|
-
const campaignParameters = { // This object definition allows undefined keys to be iterated on
|
|
66
|
-
// in .reduce() to build indentify object
|
|
67
|
-
...BASE_CAMPAIGN,
|
|
68
|
-
...campaign
|
|
69
|
-
};
|
|
70
|
-
const identifyEvent = Object.entries(campaignParameters).reduce((identify, _ref) => {
|
|
71
|
-
let [key, value] = _ref;
|
|
72
|
-
identify.setOnce(`initial_${key}`, value || this.initialEmptyValue);
|
|
73
|
-
|
|
74
|
-
if (value) {
|
|
75
|
-
return identify.set(key, value);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return identify.unset(key);
|
|
79
|
-
}, new Identify());
|
|
80
|
-
const pageViewEvent = {
|
|
81
|
-
event_type: 'Page View',
|
|
82
|
-
event_properties: {
|
|
83
|
-
page_title:
|
|
84
|
-
/* istanbul ignore next */
|
|
85
|
-
typeof document !== 'undefined' && document.title || '',
|
|
86
|
-
page_location:
|
|
87
|
-
/* istanbul ignore next */
|
|
88
|
-
typeof location !== 'undefined' && location.href || '',
|
|
89
|
-
page_path:
|
|
90
|
-
/* istanbul ignore next */
|
|
91
|
-
typeof location !== 'undefined' && location.pathname || ''
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
return { ...createIdentifyEvent(identifyEvent),
|
|
95
|
-
...(this.trackPageViews && pageViewEvent)
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
async send(isNewSession) {
|
|
100
|
-
if (this.disabled) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
const currentCampaign = await this.parser.parse();
|
|
105
|
-
const previousCampaign = await this.getCampaignFromStorage();
|
|
106
|
-
|
|
107
|
-
if (!isNewSession) {
|
|
108
|
-
if (!this.trackNewCampaigns || !this.isNewCampaign(currentCampaign, previousCampaign)) {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
this.onNewCampaign(currentCampaign);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
await this.track(this.createCampaignEvent(currentCampaign));
|
|
116
|
-
await this.saveCampaignToStorage(currentCampaign);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=campaign-tracker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createIdentifyEvent","Identify","getCookieName","getStorageKey","CampaignParser","BASE_CAMPAIGN","EMPTY_VALUE","MKTG","CampaignTracker","constructor","apiKey","options","storage","storageKey","parser","track","onNewCampaign","disabled","Boolean","trackNewCampaigns","trackPageViews","excludeReferrers","location","unshift","hostname","initialEmptyValue","isNewCampaign","currentCampaign","previousCampaign","isReferrerExcluded","referring_domain","includes","hasNewUtm","utm_campaign","utm_source","utm_medium","utm_term","utm_content","hasNewReferrer","saveCampaignToStorage","campaign","set","getCampaignFromStorage","get","createCampaignEvent","campaignParameters","identifyEvent","Object","entries","reduce","identify","key","value","setOnce","unset","pageViewEvent","event_type","event_properties","page_title","document","title","page_location","href","page_path","pathname","send","isNewSession","parse"],"sources":["campaign-tracker.ts"],"sourcesContent":["import { createIdentifyEvent, Identify } from '@amplitude/analytics-core';\nimport {\n Storage,\n Campaign,\n CampaignParser as ICampaignParser,\n CampaignTracker as ICampaignTracker,\n CampaignTrackFunction,\n CampaignTrackerOptions,\n BaseEvent,\n} from '@amplitude/analytics-types';\nimport { getCookieName as getStorageKey } from '../utils/cookie-name';\nimport { CampaignParser } from './campaign-parser';\nimport { BASE_CAMPAIGN, EMPTY_VALUE, MKTG } from './constants';\n\nexport class CampaignTracker implements ICampaignTracker {\n storage: Storage<Campaign>;\n storageKey: string;\n parser: ICampaignParser;\n track: CampaignTrackFunction;\n onNewCampaign: (campaign: Campaign) => unknown;\n\n disabled: boolean;\n trackNewCampaigns: boolean;\n trackPageViews: boolean;\n excludeReferrers: string[];\n initialEmptyValue: string;\n\n constructor(apiKey: string, options: CampaignTrackerOptions) {\n this.storage = options.storage;\n this.storageKey = getStorageKey(apiKey, MKTG);\n this.parser = new CampaignParser();\n this.track = options.track;\n this.onNewCampaign = options.onNewCampaign;\n\n this.disabled = Boolean(options.disabled);\n this.trackNewCampaigns = Boolean(options.trackNewCampaigns);\n this.trackPageViews = Boolean(options.trackPageViews);\n this.excludeReferrers = options.excludeReferrers ?? [];\n if (typeof location !== 'undefined') {\n this.excludeReferrers.unshift(location.hostname);\n }\n this.initialEmptyValue = options.initialEmptyValue ?? EMPTY_VALUE;\n }\n\n isNewCampaign(currentCampaign: Campaign, previousCampaign: Campaign) {\n const isReferrerExcluded = Boolean(\n currentCampaign.referring_domain && this.excludeReferrers.includes(currentCampaign.referring_domain),\n );\n const hasNewUtm =\n previousCampaign.utm_campaign !== currentCampaign.utm_campaign ||\n previousCampaign.utm_source !== currentCampaign.utm_source ||\n previousCampaign.utm_medium !== currentCampaign.utm_medium ||\n previousCampaign.utm_term !== currentCampaign.utm_term ||\n previousCampaign.utm_content !== currentCampaign.utm_content;\n const hasNewReferrer = previousCampaign.referring_domain !== currentCampaign.referring_domain;\n\n return !isReferrerExcluded && (hasNewUtm || hasNewReferrer);\n }\n\n async saveCampaignToStorage(campaign: Campaign): Promise<void> {\n await this.storage.set(this.storageKey, campaign);\n }\n\n async getCampaignFromStorage(): Promise<Campaign> {\n return (await this.storage.get(this.storageKey)) || { ...BASE_CAMPAIGN };\n }\n\n createCampaignEvent(campaign: Campaign) {\n const campaignParameters: Campaign = {\n // This object definition allows undefined keys to be iterated on\n // in .reduce() to build indentify object\n ...BASE_CAMPAIGN,\n ...campaign,\n };\n const identifyEvent = Object.entries(campaignParameters).reduce((identify, [key, value]) => {\n identify.setOnce(`initial_${key}`, value || this.initialEmptyValue);\n if (value) {\n return identify.set(key, value);\n }\n return identify.unset(key);\n }, new Identify());\n\n const pageViewEvent: BaseEvent = {\n event_type: 'Page View',\n event_properties: {\n page_title: /* istanbul ignore next */ (typeof document !== 'undefined' && document.title) || '',\n page_location: /* istanbul ignore next */ (typeof location !== 'undefined' && location.href) || '',\n page_path: /* istanbul ignore next */ (typeof location !== 'undefined' && location.pathname) || '',\n },\n };\n return {\n ...createIdentifyEvent(identifyEvent),\n ...(this.trackPageViews && pageViewEvent),\n };\n }\n\n async send(isNewSession: boolean) {\n if (this.disabled) {\n return;\n }\n const currentCampaign = await this.parser.parse();\n const previousCampaign = await this.getCampaignFromStorage();\n if (!isNewSession) {\n if (!this.trackNewCampaigns || !this.isNewCampaign(currentCampaign, previousCampaign)) {\n return;\n }\n this.onNewCampaign(currentCampaign);\n }\n await this.track(this.createCampaignEvent(currentCampaign));\n await this.saveCampaignToStorage(currentCampaign);\n }\n}\n"],"mappings":";;AAAA,SAASA,mBAAT,EAA8BC,QAA9B,QAA8C,2BAA9C;AAUA,SAASC,aAAa,IAAIC,aAA1B,QAA+C,sBAA/C;AACA,SAASC,cAAT,QAA+B,mBAA/B;AACA,SAASC,aAAT,EAAwBC,WAAxB,EAAqCC,IAArC,QAAiD,aAAjD;AAEA,OAAO,MAAMC,eAAN,CAAkD;EAavDC,WAAW,CAACC,MAAD,EAAiBC,OAAjB,EAAkD;IAAA;;IAAA;;IAAA;;IAAA;;IAAA;;IAAA;;IAAA;;IAAA;;IAAA;;IAAA;;IAAA;;IAC3D,KAAKC,OAAL,GAAeD,OAAO,CAACC,OAAvB;IACA,KAAKC,UAAL,GAAkBV,aAAa,CAACO,MAAD,EAASH,IAAT,CAA/B;IACA,KAAKO,MAAL,GAAc,IAAIV,cAAJ,EAAd;IACA,KAAKW,KAAL,GAAaJ,OAAO,CAACI,KAArB;IACA,KAAKC,aAAL,GAAqBL,OAAO,CAACK,aAA7B;IAEA,KAAKC,QAAL,GAAgBC,OAAO,CAACP,OAAO,CAACM,QAAT,CAAvB;IACA,KAAKE,iBAAL,GAAyBD,OAAO,CAACP,OAAO,CAACQ,iBAAT,CAAhC;IACA,KAAKC,cAAL,GAAsBF,OAAO,CAACP,OAAO,CAACS,cAAT,CAA7B;IACA,KAAKC,gBAAL,4BAAwBV,OAAO,CAACU,gBAAhC,yEAAoD,EAApD;;IACA,IAAI,OAAOC,QAAP,KAAoB,WAAxB,EAAqC;MACnC,KAAKD,gBAAL,CAAsBE,OAAtB,CAA8BD,QAAQ,CAACE,QAAvC;IACD;;IACD,KAAKC,iBAAL,4BAAyBd,OAAO,CAACc,iBAAjC,yEAAsDnB,WAAtD;EACD;;EAEDoB,aAAa,CAACC,eAAD,EAA4BC,gBAA5B,EAAwD;IACnE,MAAMC,kBAAkB,GAAGX,OAAO,CAChCS,eAAe,CAACG,gBAAhB,IAAoC,KAAKT,gBAAL,CAAsBU,QAAtB,CAA+BJ,eAAe,CAACG,gBAA/C,CADJ,CAAlC;IAGA,MAAME,SAAS,GACbJ,gBAAgB,CAACK,YAAjB,KAAkCN,eAAe,CAACM,YAAlD,IACAL,gBAAgB,CAACM,UAAjB,KAAgCP,eAAe,CAACO,UADhD,IAEAN,gBAAgB,CAACO,UAAjB,KAAgCR,eAAe,CAACQ,UAFhD,IAGAP,gBAAgB,CAACQ,QAAjB,KAA8BT,eAAe,CAACS,QAH9C,IAIAR,gBAAgB,CAACS,WAAjB,KAAiCV,eAAe,CAACU,WALnD;IAMA,MAAMC,cAAc,GAAGV,gBAAgB,CAACE,gBAAjB,KAAsCH,eAAe,CAACG,gBAA7E;IAEA,OAAO,CAACD,kBAAD,KAAwBG,SAAS,IAAIM,cAArC,CAAP;EACD;;EAE0B,MAArBC,qBAAqB,CAACC,QAAD,EAAoC;IAC7D,MAAM,KAAK5B,OAAL,CAAa6B,GAAb,CAAiB,KAAK5B,UAAtB,EAAkC2B,QAAlC,CAAN;EACD;;EAE2B,MAAtBE,sBAAsB,GAAsB;IAChD,OAAO,CAAC,MAAM,KAAK9B,OAAL,CAAa+B,GAAb,CAAiB,KAAK9B,UAAtB,CAAP,KAA6C,EAAE,GAAGR;IAAL,CAApD;EACD;;EAEDuC,mBAAmB,CAACJ,QAAD,EAAqB;IACtC,MAAMK,kBAA4B,GAAG,EACnC;MACA;MACA,GAAGxC,aAHgC;MAInC,GAAGmC;IAJgC,CAArC;IAMA,MAAMM,aAAa,GAAGC,MAAM,CAACC,OAAP,CAAeH,kBAAf,EAAmCI,MAAnC,CAA0C,CAACC,QAAD,WAA4B;MAAA,IAAjB,CAACC,GAAD,EAAMC,KAAN,CAAiB;MAC1FF,QAAQ,CAACG,OAAT,CAAkB,WAAUF,GAAI,EAAhC,EAAmCC,KAAK,IAAI,KAAK3B,iBAAjD;;MACA,IAAI2B,KAAJ,EAAW;QACT,OAAOF,QAAQ,CAACT,GAAT,CAAaU,GAAb,EAAkBC,KAAlB,CAAP;MACD;;MACD,OAAOF,QAAQ,CAACI,KAAT,CAAeH,GAAf,CAAP;IACD,CANqB,EAMnB,IAAIlD,QAAJ,EANmB,CAAtB;IAQA,MAAMsD,aAAwB,GAAG;MAC/BC,UAAU,EAAE,WADmB;MAE/BC,gBAAgB,EAAE;QAChBC,UAAU;QAAE;QAA4B,OAAOC,QAAP,KAAoB,WAApB,IAAmCA,QAAQ,CAACC,KAA7C,IAAuD,EAD9E;QAEhBC,aAAa;QAAE;QAA4B,OAAOvC,QAAP,KAAoB,WAApB,IAAmCA,QAAQ,CAACwC,IAA7C,IAAsD,EAFhF;QAGhBC,SAAS;QAAE;QAA4B,OAAOzC,QAAP,KAAoB,WAApB,IAAmCA,QAAQ,CAAC0C,QAA7C,IAA0D;MAHhF;IAFa,CAAjC;IAQA,OAAO,EACL,GAAGhE,mBAAmB,CAAC8C,aAAD,CADjB;MAEL,IAAI,KAAK1B,cAAL,IAAuBmC,aAA3B;IAFK,CAAP;EAID;;EAES,MAAJU,IAAI,CAACC,YAAD,EAAwB;IAChC,IAAI,KAAKjD,QAAT,EAAmB;MACjB;IACD;;IACD,MAAMU,eAAe,GAAG,MAAM,KAAKb,MAAL,CAAYqD,KAAZ,EAA9B;IACA,MAAMvC,gBAAgB,GAAG,MAAM,KAAKc,sBAAL,EAA/B;;IACA,IAAI,CAACwB,YAAL,EAAmB;MACjB,IAAI,CAAC,KAAK/C,iBAAN,IAA2B,CAAC,KAAKO,aAAL,CAAmBC,eAAnB,EAAoCC,gBAApC,CAAhC,EAAuF;QACrF;MACD;;MACD,KAAKZ,aAAL,CAAmBW,eAAnB;IACD;;IACD,MAAM,KAAKZ,KAAL,CAAW,KAAK6B,mBAAL,CAAyBjB,eAAzB,CAAX,CAAN;IACA,MAAM,KAAKY,qBAAL,CAA2BZ,eAA3B,CAAN;EACD;;AAhGsD"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export const UTM_SOURCE = 'utm_source';
|
|
2
|
-
export const UTM_MEDIUM = 'utm_medium';
|
|
3
|
-
export const UTM_CAMPAIGN = 'utm_campaign';
|
|
4
|
-
export const UTM_TERM = 'utm_term';
|
|
5
|
-
export const UTM_CONTENT = 'utm_content';
|
|
6
|
-
export const UTMZ_SOURCE = 'utmcsr';
|
|
7
|
-
export const UTMZ_MEDIUM = 'utmcmd';
|
|
8
|
-
export const UTMZ_CAMPAIGN = 'utmccn';
|
|
9
|
-
export const UTMZ_TERM = 'utmctr';
|
|
10
|
-
export const UTMZ_CONTENT = 'utmcct';
|
|
11
|
-
export const GCLID = 'gclid';
|
|
12
|
-
export const FBCLID = 'fbclid';
|
|
13
|
-
export const EMPTY_VALUE = 'EMPTY';
|
|
14
|
-
export const BASE_CAMPAIGN = {
|
|
15
|
-
utm_source: undefined,
|
|
16
|
-
utm_medium: undefined,
|
|
17
|
-
utm_campaign: undefined,
|
|
18
|
-
utm_term: undefined,
|
|
19
|
-
utm_content: undefined,
|
|
20
|
-
referrer: undefined,
|
|
21
|
-
referring_domain: undefined,
|
|
22
|
-
gclid: undefined,
|
|
23
|
-
fbclid: undefined
|
|
24
|
-
};
|
|
25
|
-
export const MKTG = 'MKTG';
|
|
26
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["UTM_SOURCE","UTM_MEDIUM","UTM_CAMPAIGN","UTM_TERM","UTM_CONTENT","UTMZ_SOURCE","UTMZ_MEDIUM","UTMZ_CAMPAIGN","UTMZ_TERM","UTMZ_CONTENT","GCLID","FBCLID","EMPTY_VALUE","BASE_CAMPAIGN","utm_source","undefined","utm_medium","utm_campaign","utm_term","utm_content","referrer","referring_domain","gclid","fbclid","MKTG"],"sources":["constants.ts"],"sourcesContent":["import { Campaign } from '@amplitude/analytics-types';\n\nexport const UTM_SOURCE = 'utm_source';\nexport const UTM_MEDIUM = 'utm_medium';\nexport const UTM_CAMPAIGN = 'utm_campaign';\nexport const UTM_TERM = 'utm_term';\nexport const UTM_CONTENT = 'utm_content';\n\nexport const UTMZ_SOURCE = 'utmcsr';\nexport const UTMZ_MEDIUM = 'utmcmd';\nexport const UTMZ_CAMPAIGN = 'utmccn';\nexport const UTMZ_TERM = 'utmctr';\nexport const UTMZ_CONTENT = 'utmcct';\n\nexport const GCLID = 'gclid';\nexport const FBCLID = 'fbclid';\n\nexport const EMPTY_VALUE = 'EMPTY';\n\nexport const BASE_CAMPAIGN: Campaign = {\n utm_source: undefined,\n utm_medium: undefined,\n utm_campaign: undefined,\n utm_term: undefined,\n utm_content: undefined,\n referrer: undefined,\n referring_domain: undefined,\n gclid: undefined,\n fbclid: undefined,\n};\n\nexport const MKTG = 'MKTG';\n"],"mappings":"AAEA,OAAO,MAAMA,UAAU,GAAG,YAAnB;AACP,OAAO,MAAMC,UAAU,GAAG,YAAnB;AACP,OAAO,MAAMC,YAAY,GAAG,cAArB;AACP,OAAO,MAAMC,QAAQ,GAAG,UAAjB;AACP,OAAO,MAAMC,WAAW,GAAG,aAApB;AAEP,OAAO,MAAMC,WAAW,GAAG,QAApB;AACP,OAAO,MAAMC,WAAW,GAAG,QAApB;AACP,OAAO,MAAMC,aAAa,GAAG,QAAtB;AACP,OAAO,MAAMC,SAAS,GAAG,QAAlB;AACP,OAAO,MAAMC,YAAY,GAAG,QAArB;AAEP,OAAO,MAAMC,KAAK,GAAG,OAAd;AACP,OAAO,MAAMC,MAAM,GAAG,QAAf;AAEP,OAAO,MAAMC,WAAW,GAAG,OAApB;AAEP,OAAO,MAAMC,aAAuB,GAAG;EACrCC,UAAU,EAAEC,SADyB;EAErCC,UAAU,EAAED,SAFyB;EAGrCE,YAAY,EAAEF,SAHuB;EAIrCG,QAAQ,EAAEH,SAJ2B;EAKrCI,WAAW,EAAEJ,SALwB;EAMrCK,QAAQ,EAAEL,SAN2B;EAOrCM,gBAAgB,EAAEN,SAPmB;EAQrCO,KAAK,EAAEP,SAR8B;EASrCQ,MAAM,EAAER;AAT6B,CAAhC;AAYP,OAAO,MAAMS,IAAI,GAAG,MAAb"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
|
|
3
|
-
import { PluginType } from '@amplitude/analytics-types';
|
|
4
|
-
import { getAnalyticsConnector } from '../utils/analytics-connector';
|
|
5
|
-
export class IdentityEventSender {
|
|
6
|
-
constructor() {
|
|
7
|
-
_defineProperty(this, "name", 'identity');
|
|
8
|
-
|
|
9
|
-
_defineProperty(this, "type", PluginType.BEFORE);
|
|
10
|
-
|
|
11
|
-
_defineProperty(this, "identityStore", getAnalyticsConnector().identityStore);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
async execute(context) {
|
|
15
|
-
const userProperties = context.user_properties;
|
|
16
|
-
|
|
17
|
-
if (userProperties) {
|
|
18
|
-
this.identityStore.editIdentity().updateUserProperties(userProperties).commit();
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return context;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
setup(_) {
|
|
25
|
-
return Promise.resolve(undefined);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=identity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["PluginType","getAnalyticsConnector","IdentityEventSender","BEFORE","identityStore","execute","context","userProperties","user_properties","editIdentity","updateUserProperties","commit","setup","_","Promise","resolve","undefined"],"sources":["identity.ts"],"sourcesContent":["import { BeforePlugin, PluginType, Event, Config } from '@amplitude/analytics-types';\nimport { getAnalyticsConnector } from '../utils/analytics-connector';\n\nexport class IdentityEventSender implements BeforePlugin {\n name = 'identity';\n type = PluginType.BEFORE as const;\n\n identityStore = getAnalyticsConnector().identityStore;\n\n async execute(context: Event): Promise<Event> {\n const userProperties = context.user_properties as Record<string, any>;\n if (userProperties) {\n this.identityStore.editIdentity().updateUserProperties(userProperties).commit();\n }\n return context;\n }\n\n setup(_: Config): Promise<undefined> {\n return Promise.resolve(undefined);\n }\n}\n"],"mappings":";;AAAA,SAAuBA,UAAvB,QAAwD,4BAAxD;AACA,SAASC,qBAAT,QAAsC,8BAAtC;AAEA,OAAO,MAAMC,mBAAN,CAAkD;EAAA;IAAA,8BAChD,UADgD;;IAAA,8BAEhDF,UAAU,CAACG,MAFqC;;IAAA,uCAIvCF,qBAAqB,GAAGG,aAJe;EAAA;;EAM1C,MAAPC,OAAO,CAACC,OAAD,EAAiC;IAC5C,MAAMC,cAAc,GAAGD,OAAO,CAACE,eAA/B;;IACA,IAAID,cAAJ,EAAoB;MAClB,KAAKH,aAAL,CAAmBK,YAAnB,GAAkCC,oBAAlC,CAAuDH,cAAvD,EAAuEI,MAAvE;IACD;;IACD,OAAOL,OAAP;EACD;;EAEDM,KAAK,CAACC,CAAD,EAAgC;IACnC,OAAOC,OAAO,CAACC,OAAR,CAAgBC,SAAhB,CAAP;EACD;;AAhBsD"}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
|
|
3
|
-
import { getCookieName as getStorageKey } from './utils/cookie-name';
|
|
4
|
-
export class SessionManager {
|
|
5
|
-
constructor(storage, apiKey) {
|
|
6
|
-
this.storage = storage;
|
|
7
|
-
|
|
8
|
-
_defineProperty(this, "storageKey", void 0);
|
|
9
|
-
|
|
10
|
-
_defineProperty(this, "cache", void 0);
|
|
11
|
-
|
|
12
|
-
_defineProperty(this, "isSessionCacheValid", true);
|
|
13
|
-
|
|
14
|
-
this.storageKey = getStorageKey(apiKey);
|
|
15
|
-
this.cache = {
|
|
16
|
-
optOut: false
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* load() must be called immediately after instantation
|
|
21
|
-
*
|
|
22
|
-
* ```ts
|
|
23
|
-
* await new SessionManager(...).load();
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
async load() {
|
|
29
|
-
var _await$this$storage$g;
|
|
30
|
-
|
|
31
|
-
this.cache = (_await$this$storage$g = await this.storage.get(this.storageKey)) !== null && _await$this$storage$g !== void 0 ? _await$this$storage$g : {
|
|
32
|
-
optOut: false
|
|
33
|
-
};
|
|
34
|
-
return this;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
setSession(session) {
|
|
38
|
-
this.cache = { ...this.cache,
|
|
39
|
-
...session
|
|
40
|
-
};
|
|
41
|
-
void this.storage.set(this.storageKey, this.cache);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
getSessionId() {
|
|
45
|
-
this.isSessionCacheValid = true;
|
|
46
|
-
void this.storage.get(this.storageKey).then(userSession => {
|
|
47
|
-
// Checks if session id has been set since the last get
|
|
48
|
-
if (this.isSessionCacheValid) {
|
|
49
|
-
this.cache.sessionId = userSession === null || userSession === void 0 ? void 0 : userSession.sessionId;
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
return this.cache.sessionId;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
setSessionId(sessionId) {
|
|
56
|
-
// Flags session id has been set
|
|
57
|
-
this.isSessionCacheValid = false;
|
|
58
|
-
this.setSession({
|
|
59
|
-
sessionId
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
getDeviceId() {
|
|
64
|
-
return this.cache.deviceId;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
setDeviceId(deviceId) {
|
|
68
|
-
this.setSession({
|
|
69
|
-
deviceId
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
getUserId() {
|
|
74
|
-
return this.cache.userId;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
setUserId(userId) {
|
|
78
|
-
this.setSession({
|
|
79
|
-
userId
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
getLastEventTime() {
|
|
84
|
-
return this.cache.lastEventTime;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
setLastEventTime(lastEventTime) {
|
|
88
|
-
this.setSession({
|
|
89
|
-
lastEventTime
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
getOptOut() {
|
|
94
|
-
return this.cache.optOut;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
setOptOut(optOut) {
|
|
98
|
-
this.setSession({
|
|
99
|
-
optOut
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=session-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getCookieName","getStorageKey","SessionManager","constructor","storage","apiKey","storageKey","cache","optOut","load","get","setSession","session","set","getSessionId","isSessionCacheValid","then","userSession","sessionId","setSessionId","getDeviceId","deviceId","setDeviceId","getUserId","userId","setUserId","getLastEventTime","lastEventTime","setLastEventTime","getOptOut","setOptOut"],"sources":["session-manager.ts"],"sourcesContent":["import { UserSession, Storage, SessionManager as ISessionManager } from '@amplitude/analytics-types';\nimport { getCookieName as getStorageKey } from './utils/cookie-name';\n\nexport class SessionManager implements ISessionManager {\n storageKey: string;\n cache: UserSession;\n isSessionCacheValid = true;\n\n constructor(private storage: Storage<UserSession>, apiKey: string) {\n this.storageKey = getStorageKey(apiKey);\n this.cache = { optOut: false };\n }\n\n /**\n * load() must be called immediately after instantation\n *\n * ```ts\n * await new SessionManager(...).load();\n * ```\n */\n async load() {\n this.cache = (await this.storage.get(this.storageKey)) ?? {\n optOut: false,\n };\n return this;\n }\n\n setSession(session: Partial<UserSession>) {\n this.cache = { ...this.cache, ...session };\n void this.storage.set(this.storageKey, this.cache);\n }\n\n getSessionId() {\n this.isSessionCacheValid = true;\n void this.storage.get(this.storageKey).then((userSession) => {\n // Checks if session id has been set since the last get\n if (this.isSessionCacheValid) {\n this.cache.sessionId = userSession?.sessionId;\n }\n });\n return this.cache.sessionId;\n }\n\n setSessionId(sessionId: number) {\n // Flags session id has been set\n this.isSessionCacheValid = false;\n this.setSession({ sessionId });\n }\n\n getDeviceId(): string | undefined {\n return this.cache.deviceId;\n }\n\n setDeviceId(deviceId: string): void {\n this.setSession({ deviceId });\n }\n\n getUserId(): string | undefined {\n return this.cache.userId;\n }\n\n setUserId(userId: string): void {\n this.setSession({ userId });\n }\n\n getLastEventTime() {\n return this.cache.lastEventTime;\n }\n\n setLastEventTime(lastEventTime: number) {\n this.setSession({ lastEventTime });\n }\n\n getOptOut(): boolean {\n return this.cache.optOut;\n }\n\n setOptOut(optOut: boolean): void {\n this.setSession({ optOut });\n }\n}\n"],"mappings":";;AACA,SAASA,aAAa,IAAIC,aAA1B,QAA+C,qBAA/C;AAEA,OAAO,MAAMC,cAAN,CAAgD;EAKrDC,WAAW,CAASC,OAAT,EAAwCC,MAAxC,EAAwD;IAAA,KAA/CD,OAA+C,GAA/CA,OAA+C;;IAAA;;IAAA;;IAAA,6CAF7C,IAE6C;;IACjE,KAAKE,UAAL,GAAkBL,aAAa,CAACI,MAAD,CAA/B;IACA,KAAKE,KAAL,GAAa;MAAEC,MAAM,EAAE;IAAV,CAAb;EACD;EAED;AACF;AACA;AACA;AACA;AACA;AACA;;;EACY,MAAJC,IAAI,GAAG;IAAA;;IACX,KAAKF,KAAL,4BAAc,MAAM,KAAKH,OAAL,CAAaM,GAAb,CAAiB,KAAKJ,UAAtB,CAApB,yEAA0D;MACxDE,MAAM,EAAE;IADgD,CAA1D;IAGA,OAAO,IAAP;EACD;;EAEDG,UAAU,CAACC,OAAD,EAAgC;IACxC,KAAKL,KAAL,GAAa,EAAE,GAAG,KAAKA,KAAV;MAAiB,GAAGK;IAApB,CAAb;IACA,KAAK,KAAKR,OAAL,CAAaS,GAAb,CAAiB,KAAKP,UAAtB,EAAkC,KAAKC,KAAvC,CAAL;EACD;;EAEDO,YAAY,GAAG;IACb,KAAKC,mBAAL,GAA2B,IAA3B;IACA,KAAK,KAAKX,OAAL,CAAaM,GAAb,CAAiB,KAAKJ,UAAtB,EAAkCU,IAAlC,CAAwCC,WAAD,IAAiB;MAC3D;MACA,IAAI,KAAKF,mBAAT,EAA8B;QAC5B,KAAKR,KAAL,CAAWW,SAAX,GAAuBD,WAAvB,aAAuBA,WAAvB,uBAAuBA,WAAW,CAAEC,SAApC;MACD;IACF,CALI,CAAL;IAMA,OAAO,KAAKX,KAAL,CAAWW,SAAlB;EACD;;EAEDC,YAAY,CAACD,SAAD,EAAoB;IAC9B;IACA,KAAKH,mBAAL,GAA2B,KAA3B;IACA,KAAKJ,UAAL,CAAgB;MAAEO;IAAF,CAAhB;EACD;;EAEDE,WAAW,GAAuB;IAChC,OAAO,KAAKb,KAAL,CAAWc,QAAlB;EACD;;EAEDC,WAAW,CAACD,QAAD,EAAyB;IAClC,KAAKV,UAAL,CAAgB;MAAEU;IAAF,CAAhB;EACD;;EAEDE,SAAS,GAAuB;IAC9B,OAAO,KAAKhB,KAAL,CAAWiB,MAAlB;EACD;;EAEDC,SAAS,CAACD,MAAD,EAAuB;IAC9B,KAAKb,UAAL,CAAgB;MAAEa;IAAF,CAAhB;EACD;;EAEDE,gBAAgB,GAAG;IACjB,OAAO,KAAKnB,KAAL,CAAWoB,aAAlB;EACD;;EAEDC,gBAAgB,CAACD,aAAD,EAAwB;IACtC,KAAKhB,UAAL,CAAgB;MAAEgB;IAAF,CAAhB;EACD;;EAEDE,SAAS,GAAY;IACnB,OAAO,KAAKtB,KAAL,CAAWC,MAAlB;EACD;;EAEDsB,SAAS,CAACtB,MAAD,EAAwB;IAC/B,KAAKG,UAAL,CAAgB;MAAEH;IAAF,CAAhB;EACD;;AA5EoD"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
|
|
3
|
-
import { isNative } from '../utils/platform';
|
|
4
|
-
export class CookieStorage {
|
|
5
|
-
constructor(options) {
|
|
6
|
-
_defineProperty(this, "options", void 0);
|
|
7
|
-
|
|
8
|
-
this.options = { ...options
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
async isEnabled() {
|
|
13
|
-
/* istanbul ignore if */
|
|
14
|
-
if (isNative() || typeof window === 'undefined') {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const random = String(Date.now());
|
|
19
|
-
const testStrorage = new CookieStorage(this.options);
|
|
20
|
-
const testKey = 'AMP_TEST';
|
|
21
|
-
|
|
22
|
-
try {
|
|
23
|
-
await testStrorage.set(testKey, random);
|
|
24
|
-
const value = await testStrorage.get(testKey);
|
|
25
|
-
return value === random;
|
|
26
|
-
} catch {
|
|
27
|
-
/* istanbul ignore next */
|
|
28
|
-
return false;
|
|
29
|
-
} finally {
|
|
30
|
-
await testStrorage.remove(testKey);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
async get(key) {
|
|
35
|
-
let value = await this.getRaw(key);
|
|
36
|
-
|
|
37
|
-
if (!value) {
|
|
38
|
-
return undefined;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
try {
|
|
42
|
-
try {
|
|
43
|
-
value = decodeURIComponent(atob(value));
|
|
44
|
-
} catch {// value not encoded
|
|
45
|
-
} // eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return JSON.parse(value);
|
|
49
|
-
} catch {
|
|
50
|
-
/* istanbul ignore next */
|
|
51
|
-
return undefined;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
async getRaw(key) {
|
|
56
|
-
const cookie = window.document.cookie.split('; ');
|
|
57
|
-
const match = cookie.find(c => c.indexOf(key + '=') === 0);
|
|
58
|
-
|
|
59
|
-
if (!match) {
|
|
60
|
-
return undefined;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return match.substring(key.length + 1);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
async set(key, value) {
|
|
67
|
-
try {
|
|
68
|
-
var _this$options$expirat;
|
|
69
|
-
|
|
70
|
-
const expirationDays = (_this$options$expirat = this.options.expirationDays) !== null && _this$options$expirat !== void 0 ? _this$options$expirat : 0;
|
|
71
|
-
const expires = value !== null ? expirationDays : -1;
|
|
72
|
-
let expireDate = undefined;
|
|
73
|
-
|
|
74
|
-
if (expires) {
|
|
75
|
-
const date = new Date();
|
|
76
|
-
date.setTime(date.getTime() + expires * 24 * 60 * 60 * 1000);
|
|
77
|
-
expireDate = date;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
let str = `${key}=${btoa(encodeURIComponent(JSON.stringify(value)))}`;
|
|
81
|
-
|
|
82
|
-
if (expireDate) {
|
|
83
|
-
str += `; expires=${expireDate.toUTCString()}`;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
str += '; path=/';
|
|
87
|
-
|
|
88
|
-
if (this.options.domain) {
|
|
89
|
-
str += `; domain=${this.options.domain}`;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
if (this.options.secure) {
|
|
93
|
-
str += '; Secure';
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
if (this.options.sameSite) {
|
|
97
|
-
str += `; SameSite=${this.options.sameSite}`;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
window.document.cookie = str;
|
|
101
|
-
} catch {//
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
async remove(key) {
|
|
106
|
-
await this.set(key, null);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
async reset() {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=cookie.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["isNative","CookieStorage","constructor","options","isEnabled","window","random","String","Date","now","testStrorage","testKey","set","value","get","remove","key","getRaw","undefined","decodeURIComponent","atob","JSON","parse","cookie","document","split","match","find","c","indexOf","substring","length","expirationDays","expires","expireDate","date","setTime","getTime","str","btoa","encodeURIComponent","stringify","toUTCString","domain","secure","sameSite","reset"],"sources":["cookie.ts"],"sourcesContent":["import { Storage, CookieStorageOptions } from '@amplitude/analytics-types';\nimport { isNative } from '../utils/platform';\n\nexport class CookieStorage<T> implements Storage<T> {\n options: CookieStorageOptions;\n\n constructor(options?: CookieStorageOptions) {\n this.options = { ...options };\n }\n\n async isEnabled(): Promise<boolean> {\n /* istanbul ignore if */\n if (isNative() || typeof window === 'undefined') {\n return false;\n }\n\n const random = String(Date.now());\n const testStrorage = new CookieStorage<string>(this.options);\n const testKey = 'AMP_TEST';\n try {\n await testStrorage.set(testKey, random);\n const value = await testStrorage.get(testKey);\n return value === random;\n } catch {\n /* istanbul ignore next */\n return false;\n } finally {\n await testStrorage.remove(testKey);\n }\n }\n\n async get(key: string): Promise<T | undefined> {\n let value = await this.getRaw(key);\n if (!value) {\n return undefined;\n }\n try {\n try {\n value = decodeURIComponent(atob(value));\n } catch {\n // value not encoded\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return JSON.parse(value);\n } catch {\n /* istanbul ignore next */\n return undefined;\n }\n }\n\n async getRaw(key: string): Promise<string | undefined> {\n const cookie = window.document.cookie.split('; ');\n const match = cookie.find((c) => c.indexOf(key + '=') === 0);\n if (!match) {\n return undefined;\n }\n return match.substring(key.length + 1);\n }\n\n async set(key: string, value: T | null): Promise<void> {\n try {\n const expirationDays = this.options.expirationDays ?? 0;\n const expires = value !== null ? expirationDays : -1;\n let expireDate: Date | undefined = undefined;\n if (expires) {\n const date = new Date();\n date.setTime(date.getTime() + expires * 24 * 60 * 60 * 1000);\n expireDate = date;\n }\n let str = `${key}=${btoa(encodeURIComponent(JSON.stringify(value)))}`;\n if (expireDate) {\n str += `; expires=${expireDate.toUTCString()}`;\n }\n str += '; path=/';\n if (this.options.domain) {\n str += `; domain=${this.options.domain}`;\n }\n if (this.options.secure) {\n str += '; Secure';\n }\n if (this.options.sameSite) {\n str += `; SameSite=${this.options.sameSite}`;\n }\n window.document.cookie = str;\n } catch {\n //\n }\n }\n\n async remove(key: string): Promise<void> {\n await this.set(key, null);\n }\n\n async reset(): Promise<void> {\n return;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { CookieStorage } from './cookie';
|
|
2
|
-
export class UTMCookie extends CookieStorage {
|
|
3
|
-
async get(key) {
|
|
4
|
-
try {
|
|
5
|
-
const value = await this.getRaw(key);
|
|
6
|
-
|
|
7
|
-
if (!value) {
|
|
8
|
-
return undefined;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const entries = value.split('.').splice(-1)[0].split('|');
|
|
12
|
-
return entries.reduce((acc, curr) => {
|
|
13
|
-
const [key, value = ''] = curr.split('=', 2);
|
|
14
|
-
|
|
15
|
-
if (!value) {
|
|
16
|
-
return acc;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
acc[key] = decodeURIComponent(value);
|
|
20
|
-
return acc;
|
|
21
|
-
}, {});
|
|
22
|
-
} catch {
|
|
23
|
-
return undefined;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
async set() {
|
|
28
|
-
return undefined;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=utm-cookie.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["CookieStorage","UTMCookie","get","key","value","getRaw","undefined","entries","split","splice","reduce","acc","curr","decodeURIComponent","set"],"sources":["utm-cookie.ts"],"sourcesContent":["import { CookieStorage } from './cookie';\n\nexport class UTMCookie extends CookieStorage<Record<string, string | undefined>> {\n async get(key: string): Promise<Record<string, string | undefined> | undefined> {\n try {\n const value = await this.getRaw(key);\n if (!value) {\n return undefined;\n }\n const entries = value.split('.').splice(-1)[0].split('|');\n return entries.reduce<Record<string, string | undefined>>((acc, curr) => {\n const [key, value = ''] = curr.split('=', 2);\n if (!value) {\n return acc;\n }\n acc[key] = decodeURIComponent(value);\n return acc;\n }, {});\n } catch {\n return undefined;\n }\n }\n\n async set(): Promise<void> {\n return undefined;\n }\n}\n"],"mappings":"AAAA,SAASA,aAAT,QAA8B,UAA9B;AAEA,OAAO,MAAMC,SAAN,SAAwBD,aAAxB,CAA0E;EACtE,MAAHE,GAAG,CAACC,GAAD,EAAuE;IAC9E,IAAI;MACF,MAAMC,KAAK,GAAG,MAAM,KAAKC,MAAL,CAAYF,GAAZ,CAApB;;MACA,IAAI,CAACC,KAAL,EAAY;QACV,OAAOE,SAAP;MACD;;MACD,MAAMC,OAAO,GAAGH,KAAK,CAACI,KAAN,CAAY,GAAZ,EAAiBC,MAAjB,CAAwB,CAAC,CAAzB,EAA4B,CAA5B,EAA+BD,KAA/B,CAAqC,GAArC,CAAhB;MACA,OAAOD,OAAO,CAACG,MAAR,CAAmD,CAACC,GAAD,EAAMC,IAAN,KAAe;QACvE,MAAM,CAACT,GAAD,EAAMC,KAAK,GAAG,EAAd,IAAoBQ,IAAI,CAACJ,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAA1B;;QACA,IAAI,CAACJ,KAAL,EAAY;UACV,OAAOO,GAAP;QACD;;QACDA,GAAG,CAACR,GAAD,CAAH,GAAWU,kBAAkB,CAACT,KAAD,CAA7B;QACA,OAAOO,GAAP;MACD,CAPM,EAOJ,EAPI,CAAP;IAQD,CAdD,CAcE,MAAM;MACN,OAAOL,SAAP;IACD;EACF;;EAEQ,MAAHQ,GAAG,GAAkB;IACzB,OAAOR,SAAP;EACD;;AAvB8E"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { BaseTransport } from '@amplitude/analytics-core';
|
|
2
|
-
export class FetchTransport extends BaseTransport {
|
|
3
|
-
async send(serverUrl, payload) {
|
|
4
|
-
/* istanbul ignore if */
|
|
5
|
-
if (typeof fetch === 'undefined') {
|
|
6
|
-
throw new Error('FetchTransport is not supported');
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const options = {
|
|
10
|
-
headers: {
|
|
11
|
-
'Content-Type': 'application/json',
|
|
12
|
-
Accept: '*/*'
|
|
13
|
-
},
|
|
14
|
-
body: JSON.stringify(payload),
|
|
15
|
-
method: 'POST'
|
|
16
|
-
};
|
|
17
|
-
const response = await fetch(serverUrl, options); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
18
|
-
|
|
19
|
-
const responsePayload = await response.json();
|
|
20
|
-
return this.buildResponse(responsePayload);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=fetch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["BaseTransport","FetchTransport","send","serverUrl","payload","fetch","Error","options","headers","Accept","body","JSON","stringify","method","response","responsePayload","json","buildResponse"],"sources":["fetch.ts"],"sourcesContent":["import { BaseTransport } from '@amplitude/analytics-core';\nimport { Payload, Response, Transport } from '@amplitude/analytics-types';\n\nexport class FetchTransport extends BaseTransport implements Transport {\n async send(serverUrl: string, payload: Payload): Promise<Response | null> {\n /* istanbul ignore if */\n if (typeof fetch === 'undefined') {\n throw new Error('FetchTransport is not supported');\n }\n const options: RequestInit = {\n headers: {\n 'Content-Type': 'application/json',\n Accept: '*/*',\n },\n body: JSON.stringify(payload),\n method: 'POST',\n };\n const response = await fetch(serverUrl, options);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const responsePayload: Record<string, any> = await response.json();\n return this.buildResponse(responsePayload);\n }\n}\n"],"mappings":"AAAA,SAASA,aAAT,QAA8B,2BAA9B;AAGA,OAAO,MAAMC,cAAN,SAA6BD,aAA7B,CAAgE;EAC3D,MAAJE,IAAI,CAACC,SAAD,EAAoBC,OAApB,EAAgE;IACxE;IACA,IAAI,OAAOC,KAAP,KAAiB,WAArB,EAAkC;MAChC,MAAM,IAAIC,KAAJ,CAAU,iCAAV,CAAN;IACD;;IACD,MAAMC,OAAoB,GAAG;MAC3BC,OAAO,EAAE;QACP,gBAAgB,kBADT;QAEPC,MAAM,EAAE;MAFD,CADkB;MAK3BC,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAeR,OAAf,CALqB;MAM3BS,MAAM,EAAE;IANmB,CAA7B;IAQA,MAAMC,QAAQ,GAAG,MAAMT,KAAK,CAACF,SAAD,EAAYI,OAAZ,CAA5B,CAbwE,CAcxE;;IACA,MAAMQ,eAAoC,GAAG,MAAMD,QAAQ,CAACE,IAAT,EAAnD;IACA,OAAO,KAAKC,aAAL,CAAmBF,eAAnB,CAAP;EACD;;AAlBoE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["AnalyticsConnector","getAnalyticsConnector","getInstance"],"sources":["analytics-connector.ts"],"sourcesContent":["import { AnalyticsConnector } from '@amplitude/analytics-connector';\n\nexport const getAnalyticsConnector = (): AnalyticsConnector => {\n return AnalyticsConnector.getInstance('$default_instance');\n};\n"],"mappings":"AAAA,SAASA,kBAAT,QAAmC,gCAAnC;AAEA,OAAO,MAAMC,qBAAqB,GAAG,MAA0B;EAC7D,OAAOD,kBAAkB,CAACE,WAAnB,CAA+B,mBAA/B,CAAP;AACD,CAFM"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AMPLITUDE_PREFIX } from '@amplitude/analytics-core';
|
|
2
|
-
export const getCookieName = function (apiKey) {
|
|
3
|
-
let postKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
4
|
-
let limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
|
|
5
|
-
return [AMPLITUDE_PREFIX, postKey, apiKey.substring(0, limit)].filter(Boolean).join('_');
|
|
6
|
-
};
|
|
7
|
-
export const getOldCookieName = apiKey => {
|
|
8
|
-
return `${AMPLITUDE_PREFIX.toLowerCase()}_${apiKey.substring(0, 6)}`;
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=cookie-name.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["AMPLITUDE_PREFIX","getCookieName","apiKey","postKey","limit","substring","filter","Boolean","join","getOldCookieName","toLowerCase"],"sources":["cookie-name.ts"],"sourcesContent":["import { AMPLITUDE_PREFIX } from '@amplitude/analytics-core';\n\nexport const getCookieName = (apiKey: string, postKey = '', limit = 10) => {\n return [AMPLITUDE_PREFIX, postKey, apiKey.substring(0, limit)].filter(Boolean).join('_');\n};\n\nexport const getOldCookieName = (apiKey: string) => {\n return `${AMPLITUDE_PREFIX.toLowerCase()}_${apiKey.substring(0, 6)}`;\n};\n"],"mappings":"AAAA,SAASA,gBAAT,QAAiC,2BAAjC;AAEA,OAAO,MAAMC,aAAa,GAAG,UAACC,MAAD,EAA8C;EAAA,IAA7BC,OAA6B,uEAAnB,EAAmB;EAAA,IAAfC,KAAe,uEAAP,EAAO;EACzE,OAAO,CAACJ,gBAAD,EAAmBG,OAAnB,EAA4BD,MAAM,CAACG,SAAP,CAAiB,CAAjB,EAAoBD,KAApB,CAA5B,EAAwDE,MAAxD,CAA+DC,OAA/D,EAAwEC,IAAxE,CAA6E,GAA7E,CAAP;AACD,CAFM;AAIP,OAAO,MAAMC,gBAAgB,GAAIP,MAAD,IAAoB;EAClD,OAAQ,GAAEF,gBAAgB,CAACU,WAAjB,EAA+B,IAAGR,MAAM,CAACG,SAAP,CAAiB,CAAjB,EAAoB,CAApB,CAAuB,EAAnE;AACD,CAFM"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export const getLanguage = () => {
|
|
2
|
-
var _ref, _ref2, _navigator$languages$, _navigator$languages;
|
|
3
|
-
|
|
4
|
-
if (typeof navigator === 'undefined') return ''; // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
5
|
-
|
|
6
|
-
const userLanguage = navigator.userLanguage;
|
|
7
|
-
return (_ref = (_ref2 = (_navigator$languages$ = (_navigator$languages = navigator.languages) === null || _navigator$languages === void 0 ? void 0 : _navigator$languages[0]) !== null && _navigator$languages$ !== void 0 ? _navigator$languages$ : navigator.language) !== null && _ref2 !== void 0 ? _ref2 : userLanguage) !== null && _ref !== void 0 ? _ref : '';
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=language.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getLanguage","navigator","userLanguage","languages","language"],"sources":["language.ts"],"sourcesContent":["export const getLanguage = (): string => {\n if (typeof navigator === 'undefined') return '';\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const userLanguage = (navigator as any).userLanguage as string | undefined;\n\n return navigator.languages?.[0] ?? navigator.language ?? userLanguage ?? '';\n};\n"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG,MAAc;EAAA;;EACvC,IAAI,OAAOC,SAAP,KAAqB,WAAzB,EAAsC,OAAO,EAAP,CADC,CAEvC;;EACA,MAAMC,YAAY,GAAID,SAAD,CAAmBC,YAAxC;EAEA,yEAAOD,SAAS,CAACE,SAAjB,yDAAO,qBAAsB,CAAtB,CAAP,yEAAmCF,SAAS,CAACG,QAA7C,yCAAyDF,YAAzD,uCAAyE,EAAzE;AACD,CANM"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export const getQueryParams = () => {
|
|
2
|
-
/* istanbul ignore if */
|
|
3
|
-
if (typeof window === 'undefined' || !window.location || !window.location.search) {
|
|
4
|
-
return {};
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
const pairs = window.location.search.substring(1).split('&').filter(Boolean);
|
|
8
|
-
const params = pairs.reduce((acc, curr) => {
|
|
9
|
-
const query = curr.split('=', 2);
|
|
10
|
-
const key = tryDecodeURIComponent(query[0]);
|
|
11
|
-
const value = tryDecodeURIComponent(query[1]);
|
|
12
|
-
|
|
13
|
-
if (!value) {
|
|
14
|
-
return acc;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
acc[key] = value;
|
|
18
|
-
return acc;
|
|
19
|
-
}, {});
|
|
20
|
-
return params;
|
|
21
|
-
};
|
|
22
|
-
export const tryDecodeURIComponent = function () {
|
|
23
|
-
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
24
|
-
|
|
25
|
-
try {
|
|
26
|
-
return decodeURIComponent(value);
|
|
27
|
-
} catch {
|
|
28
|
-
return '';
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=query-params.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getQueryParams","window","location","search","pairs","substring","split","filter","Boolean","params","reduce","acc","curr","query","key","tryDecodeURIComponent","value","decodeURIComponent"],"sources":["query-params.ts"],"sourcesContent":["export const getQueryParams = (): Record<string, string | undefined> => {\n /* istanbul ignore if */\n if (typeof window === 'undefined' || !window.location || !window.location.search) {\n return {};\n }\n const pairs = window.location.search.substring(1).split('&').filter(Boolean);\n const params = pairs.reduce<Record<string, string | undefined>>((acc, curr) => {\n const query = curr.split('=', 2);\n const key = tryDecodeURIComponent(query[0]);\n const value = tryDecodeURIComponent(query[1]);\n if (!value) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n return params;\n};\n\nexport const tryDecodeURIComponent = (value = '') => {\n try {\n return decodeURIComponent(value);\n } catch {\n return '';\n }\n};\n"],"mappings":"AAAA,OAAO,MAAMA,cAAc,GAAG,MAA0C;EACtE;EACA,IAAI,OAAOC,MAAP,KAAkB,WAAlB,IAAiC,CAACA,MAAM,CAACC,QAAzC,IAAqD,CAACD,MAAM,CAACC,QAAP,CAAgBC,MAA1E,EAAkF;IAChF,OAAO,EAAP;EACD;;EACD,MAAMC,KAAK,GAAGH,MAAM,CAACC,QAAP,CAAgBC,MAAhB,CAAuBE,SAAvB,CAAiC,CAAjC,EAAoCC,KAApC,CAA0C,GAA1C,EAA+CC,MAA/C,CAAsDC,OAAtD,CAAd;EACA,MAAMC,MAAM,GAAGL,KAAK,CAACM,MAAN,CAAiD,CAACC,GAAD,EAAMC,IAAN,KAAe;IAC7E,MAAMC,KAAK,GAAGD,IAAI,CAACN,KAAL,CAAW,GAAX,EAAgB,CAAhB,CAAd;IACA,MAAMQ,GAAG,GAAGC,qBAAqB,CAACF,KAAK,CAAC,CAAD,CAAN,CAAjC;IACA,MAAMG,KAAK,GAAGD,qBAAqB,CAACF,KAAK,CAAC,CAAD,CAAN,CAAnC;;IACA,IAAI,CAACG,KAAL,EAAY;MACV,OAAOL,GAAP;IACD;;IACDA,GAAG,CAACG,GAAD,CAAH,GAAWE,KAAX;IACA,OAAOL,GAAP;EACD,CATc,EASZ,EATY,CAAf;EAUA,OAAOF,MAAP;AACD,CAjBM;AAmBP,OAAO,MAAMM,qBAAqB,GAAG,YAAgB;EAAA,IAAfC,KAAe,uEAAP,EAAO;;EACnD,IAAI;IACF,OAAOC,kBAAkB,CAACD,KAAD,CAAzB;EACD,CAFD,CAEE,MAAM;IACN,OAAO,EAAP;EACD;AACF,CANM"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { UTMCookie } from '../storage/utm-cookie';
|
|
2
|
-
import { Campaign, CampaignParser as ICampaignParser, ClickIdParameters, ReferrerParameters, UTMParameters } from '@amplitude/analytics-types';
|
|
3
|
-
export declare class CampaignParser implements ICampaignParser {
|
|
4
|
-
utmCookieStorage: UTMCookie;
|
|
5
|
-
parse(): Promise<Campaign>;
|
|
6
|
-
getUtmParam(): Promise<UTMParameters>;
|
|
7
|
-
getReferrer(): ReferrerParameters;
|
|
8
|
-
getClickIds(): ClickIdParameters;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=campaign-parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"campaign-parser.d.ts","sourceRoot":"","sources":["../../../src/attribution/campaign-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAiBlD,OAAO,EACL,QAAQ,EACR,cAAc,IAAI,eAAe,EACjC,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACd,MAAM,4BAA4B,CAAC;AAEpC,qBAAa,cAAe,YAAW,eAAe;IACpD,gBAAgB,YAAmB;IAE7B,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAS1B,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAmB3C,WAAW,IAAI,kBAAkB;IAcjC,WAAW,IAAI,iBAAiB;CAOjC"}
|