@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["IdentityEventSender","PluginType","BEFORE","getAnalyticsConnector","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;;AACA;;;;AAEO,MAAMA,mBAAN,CAAkD;EAAA;IAAA,8BAChD,UADgD;;IAAA,8BAEhDC,0BAAA,CAAWC,MAFqC;;IAAA,uCAIvC,IAAAC,yCAAA,IAAwBC,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,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.SessionManager = void 0;
|
|
7
|
-
|
|
8
|
-
var _cookieName = require("./utils/cookie-name");
|
|
9
|
-
|
|
10
|
-
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; }
|
|
11
|
-
|
|
12
|
-
class SessionManager {
|
|
13
|
-
constructor(storage, apiKey) {
|
|
14
|
-
this.storage = storage;
|
|
15
|
-
|
|
16
|
-
_defineProperty(this, "storageKey", void 0);
|
|
17
|
-
|
|
18
|
-
_defineProperty(this, "cache", void 0);
|
|
19
|
-
|
|
20
|
-
_defineProperty(this, "isSessionCacheValid", true);
|
|
21
|
-
|
|
22
|
-
this.storageKey = (0, _cookieName.getCookieName)(apiKey);
|
|
23
|
-
this.cache = {
|
|
24
|
-
optOut: false
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* load() must be called immediately after instantation
|
|
29
|
-
*
|
|
30
|
-
* ```ts
|
|
31
|
-
* await new SessionManager(...).load();
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
async load() {
|
|
37
|
-
var _await$this$storage$g;
|
|
38
|
-
|
|
39
|
-
this.cache = (_await$this$storage$g = await this.storage.get(this.storageKey)) !== null && _await$this$storage$g !== void 0 ? _await$this$storage$g : {
|
|
40
|
-
optOut: false
|
|
41
|
-
};
|
|
42
|
-
return this;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
setSession(session) {
|
|
46
|
-
this.cache = { ...this.cache,
|
|
47
|
-
...session
|
|
48
|
-
};
|
|
49
|
-
void this.storage.set(this.storageKey, this.cache);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
getSessionId() {
|
|
53
|
-
this.isSessionCacheValid = true;
|
|
54
|
-
void this.storage.get(this.storageKey).then(userSession => {
|
|
55
|
-
// Checks if session id has been set since the last get
|
|
56
|
-
if (this.isSessionCacheValid) {
|
|
57
|
-
this.cache.sessionId = userSession === null || userSession === void 0 ? void 0 : userSession.sessionId;
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
return this.cache.sessionId;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
setSessionId(sessionId) {
|
|
64
|
-
// Flags session id has been set
|
|
65
|
-
this.isSessionCacheValid = false;
|
|
66
|
-
this.setSession({
|
|
67
|
-
sessionId
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
getDeviceId() {
|
|
72
|
-
return this.cache.deviceId;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
setDeviceId(deviceId) {
|
|
76
|
-
this.setSession({
|
|
77
|
-
deviceId
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
getUserId() {
|
|
82
|
-
return this.cache.userId;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
setUserId(userId) {
|
|
86
|
-
this.setSession({
|
|
87
|
-
userId
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
getLastEventTime() {
|
|
92
|
-
return this.cache.lastEventTime;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
setLastEventTime(lastEventTime) {
|
|
96
|
-
this.setSession({
|
|
97
|
-
lastEventTime
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
getOptOut() {
|
|
102
|
-
return this.cache.optOut;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
setOptOut(optOut) {
|
|
106
|
-
this.setSession({
|
|
107
|
-
optOut
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
exports.SessionManager = SessionManager;
|
|
114
|
-
//# sourceMappingURL=session-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["SessionManager","constructor","storage","apiKey","storageKey","getStorageKey","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;;;;AAEO,MAAMA,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,GAAkB,IAAAC,yBAAA,EAAcF,MAAd,CAAlB;IACA,KAAKG,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,KAAKJ,OAAL,CAAaO,GAAb,CAAiB,KAAKL,UAAtB,CAApB,yEAA0D;MACxDG,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,KAAKT,OAAL,CAAaU,GAAb,CAAiB,KAAKR,UAAtB,EAAkC,KAAKE,KAAvC,CAAL;EACD;;EAEDO,YAAY,GAAG;IACb,KAAKC,mBAAL,GAA2B,IAA3B;IACA,KAAK,KAAKZ,OAAL,CAAaO,GAAb,CAAiB,KAAKL,UAAtB,EAAkCW,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,124 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.CookieStorage = void 0;
|
|
7
|
-
|
|
8
|
-
var _platform = require("../utils/platform");
|
|
9
|
-
|
|
10
|
-
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; }
|
|
11
|
-
|
|
12
|
-
class CookieStorage {
|
|
13
|
-
constructor(options) {
|
|
14
|
-
_defineProperty(this, "options", void 0);
|
|
15
|
-
|
|
16
|
-
this.options = { ...options
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
async isEnabled() {
|
|
21
|
-
/* istanbul ignore if */
|
|
22
|
-
if ((0, _platform.isNative)() || typeof window === 'undefined') {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const random = String(Date.now());
|
|
27
|
-
const testStrorage = new CookieStorage(this.options);
|
|
28
|
-
const testKey = 'AMP_TEST';
|
|
29
|
-
|
|
30
|
-
try {
|
|
31
|
-
await testStrorage.set(testKey, random);
|
|
32
|
-
const value = await testStrorage.get(testKey);
|
|
33
|
-
return value === random;
|
|
34
|
-
} catch {
|
|
35
|
-
/* istanbul ignore next */
|
|
36
|
-
return false;
|
|
37
|
-
} finally {
|
|
38
|
-
await testStrorage.remove(testKey);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
async get(key) {
|
|
43
|
-
let value = await this.getRaw(key);
|
|
44
|
-
|
|
45
|
-
if (!value) {
|
|
46
|
-
return undefined;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
try {
|
|
50
|
-
try {
|
|
51
|
-
value = decodeURIComponent(atob(value));
|
|
52
|
-
} catch {// value not encoded
|
|
53
|
-
} // eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return JSON.parse(value);
|
|
57
|
-
} catch {
|
|
58
|
-
/* istanbul ignore next */
|
|
59
|
-
return undefined;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
async getRaw(key) {
|
|
64
|
-
const cookie = window.document.cookie.split('; ');
|
|
65
|
-
const match = cookie.find(c => c.indexOf(key + '=') === 0);
|
|
66
|
-
|
|
67
|
-
if (!match) {
|
|
68
|
-
return undefined;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return match.substring(key.length + 1);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
async set(key, value) {
|
|
75
|
-
try {
|
|
76
|
-
var _this$options$expirat;
|
|
77
|
-
|
|
78
|
-
const expirationDays = (_this$options$expirat = this.options.expirationDays) !== null && _this$options$expirat !== void 0 ? _this$options$expirat : 0;
|
|
79
|
-
const expires = value !== null ? expirationDays : -1;
|
|
80
|
-
let expireDate = undefined;
|
|
81
|
-
|
|
82
|
-
if (expires) {
|
|
83
|
-
const date = new Date();
|
|
84
|
-
date.setTime(date.getTime() + expires * 24 * 60 * 60 * 1000);
|
|
85
|
-
expireDate = date;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
let str = `${key}=${btoa(encodeURIComponent(JSON.stringify(value)))}`;
|
|
89
|
-
|
|
90
|
-
if (expireDate) {
|
|
91
|
-
str += `; expires=${expireDate.toUTCString()}`;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
str += '; path=/';
|
|
95
|
-
|
|
96
|
-
if (this.options.domain) {
|
|
97
|
-
str += `; domain=${this.options.domain}`;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
if (this.options.secure) {
|
|
101
|
-
str += '; Secure';
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
if (this.options.sameSite) {
|
|
105
|
-
str += `; SameSite=${this.options.sameSite}`;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
window.document.cookie = str;
|
|
109
|
-
} catch {//
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
async remove(key) {
|
|
114
|
-
await this.set(key, null);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
async reset() {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
exports.CookieStorage = CookieStorage;
|
|
124
|
-
//# sourceMappingURL=cookie.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["CookieStorage","constructor","options","isEnabled","isNative","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,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.UTMCookie = void 0;
|
|
7
|
-
|
|
8
|
-
var _cookie = require("./cookie");
|
|
9
|
-
|
|
10
|
-
class UTMCookie extends _cookie.CookieStorage {
|
|
11
|
-
async get(key) {
|
|
12
|
-
try {
|
|
13
|
-
const value = await this.getRaw(key);
|
|
14
|
-
|
|
15
|
-
if (!value) {
|
|
16
|
-
return undefined;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const entries = value.split('.').splice(-1)[0].split('|');
|
|
20
|
-
return entries.reduce((acc, curr) => {
|
|
21
|
-
const [key, value = ''] = curr.split('=', 2);
|
|
22
|
-
|
|
23
|
-
if (!value) {
|
|
24
|
-
return acc;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
acc[key] = decodeURIComponent(value);
|
|
28
|
-
return acc;
|
|
29
|
-
}, {});
|
|
30
|
-
} catch {
|
|
31
|
-
return undefined;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
async set() {
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
exports.UTMCookie = UTMCookie;
|
|
42
|
-
//# sourceMappingURL=utm-cookie.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["UTMCookie","CookieStorage","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;;AAEO,MAAMA,SAAN,SAAwBC,qBAAxB,CAA0E;EACtE,MAAHC,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,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.FetchTransport = void 0;
|
|
7
|
-
|
|
8
|
-
var _analyticsCore = require("@amplitude/analytics-core");
|
|
9
|
-
|
|
10
|
-
class FetchTransport extends _analyticsCore.BaseTransport {
|
|
11
|
-
async send(serverUrl, payload) {
|
|
12
|
-
/* istanbul ignore if */
|
|
13
|
-
if (typeof fetch === 'undefined') {
|
|
14
|
-
throw new Error('FetchTransport is not supported');
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const options = {
|
|
18
|
-
headers: {
|
|
19
|
-
'Content-Type': 'application/json',
|
|
20
|
-
Accept: '*/*'
|
|
21
|
-
},
|
|
22
|
-
body: JSON.stringify(payload),
|
|
23
|
-
method: 'POST'
|
|
24
|
-
};
|
|
25
|
-
const response = await fetch(serverUrl, options); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
26
|
-
|
|
27
|
-
const responsePayload = await response.json();
|
|
28
|
-
return this.buildResponse(responsePayload);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
exports.FetchTransport = FetchTransport;
|
|
34
|
-
//# sourceMappingURL=fetch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["FetchTransport","BaseTransport","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;;AAGO,MAAMA,cAAN,SAA6BC,4BAA7B,CAAgE;EAC3D,MAAJC,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,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getAnalyticsConnector = void 0;
|
|
7
|
-
|
|
8
|
-
var _analyticsConnector = require("@amplitude/analytics-connector");
|
|
9
|
-
|
|
10
|
-
const getAnalyticsConnector = () => {
|
|
11
|
-
return _analyticsConnector.AnalyticsConnector.getInstance('$default_instance');
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
exports.getAnalyticsConnector = getAnalyticsConnector;
|
|
15
|
-
//# sourceMappingURL=analytics-connector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getAnalyticsConnector","AnalyticsConnector","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;;AAEO,MAAMA,qBAAqB,GAAG,MAA0B;EAC7D,OAAOC,sCAAA,CAAmBC,WAAnB,CAA+B,mBAA/B,CAAP;AACD,CAFM"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getOldCookieName = exports.getCookieName = void 0;
|
|
7
|
-
|
|
8
|
-
var _analyticsCore = require("@amplitude/analytics-core");
|
|
9
|
-
|
|
10
|
-
const getCookieName = function (apiKey) {
|
|
11
|
-
let postKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
12
|
-
let limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
|
|
13
|
-
return [_analyticsCore.AMPLITUDE_PREFIX, postKey, apiKey.substring(0, limit)].filter(Boolean).join('_');
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
exports.getCookieName = getCookieName;
|
|
17
|
-
|
|
18
|
-
const getOldCookieName = apiKey => {
|
|
19
|
-
return `${_analyticsCore.AMPLITUDE_PREFIX.toLowerCase()}_${apiKey.substring(0, 6)}`;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
exports.getOldCookieName = getOldCookieName;
|
|
23
|
-
//# sourceMappingURL=cookie-name.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getCookieName","apiKey","postKey","limit","AMPLITUDE_PREFIX","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;;AAEO,MAAMA,aAAa,GAAG,UAACC,MAAD,EAA8C;EAAA,IAA7BC,OAA6B,uEAAnB,EAAmB;EAAA,IAAfC,KAAe,uEAAP,EAAO;EACzE,OAAO,CAACC,+BAAD,EAAmBF,OAAnB,EAA4BD,MAAM,CAACI,SAAP,CAAiB,CAAjB,EAAoBF,KAApB,CAA5B,EAAwDG,MAAxD,CAA+DC,OAA/D,EAAwEC,IAAxE,CAA6E,GAA7E,CAAP;AACD,CAFM;;;;AAIA,MAAMC,gBAAgB,GAAIR,MAAD,IAAoB;EAClD,OAAQ,GAAEG,+BAAA,CAAiBM,WAAjB,EAA+B,IAAGT,MAAM,CAACI,SAAP,CAAiB,CAAjB,EAAoB,CAApB,CAAuB,EAAnE;AACD,CAFM"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getLanguage = void 0;
|
|
7
|
-
|
|
8
|
-
const getLanguage = () => {
|
|
9
|
-
var _ref, _ref2, _navigator$languages$, _navigator$languages;
|
|
10
|
-
|
|
11
|
-
if (typeof navigator === 'undefined') return ''; // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
12
|
-
|
|
13
|
-
const userLanguage = navigator.userLanguage;
|
|
14
|
-
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 : '';
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
exports.getLanguage = getLanguage;
|
|
18
|
-
//# 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":";;;;;;;AAAO,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,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.tryDecodeURIComponent = exports.getQueryParams = void 0;
|
|
7
|
-
|
|
8
|
-
const getQueryParams = () => {
|
|
9
|
-
/* istanbul ignore if */
|
|
10
|
-
if (typeof window === 'undefined' || !window.location || !window.location.search) {
|
|
11
|
-
return {};
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const pairs = window.location.search.substring(1).split('&').filter(Boolean);
|
|
15
|
-
const params = pairs.reduce((acc, curr) => {
|
|
16
|
-
const query = curr.split('=', 2);
|
|
17
|
-
const key = tryDecodeURIComponent(query[0]);
|
|
18
|
-
const value = tryDecodeURIComponent(query[1]);
|
|
19
|
-
|
|
20
|
-
if (!value) {
|
|
21
|
-
return acc;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
acc[key] = value;
|
|
25
|
-
return acc;
|
|
26
|
-
}, {});
|
|
27
|
-
return params;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
exports.getQueryParams = getQueryParams;
|
|
31
|
-
|
|
32
|
-
const tryDecodeURIComponent = function () {
|
|
33
|
-
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
34
|
-
|
|
35
|
-
try {
|
|
36
|
-
return decodeURIComponent(value);
|
|
37
|
-
} catch {
|
|
38
|
-
return '';
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
exports.tryDecodeURIComponent = tryDecodeURIComponent;
|
|
43
|
-
//# 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":";;;;;;;AAAO,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;;;;AAmBA,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,62 +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 { UTMCookie } from '../storage/utm-cookie';
|
|
4
|
-
import { getQueryParams } from '../utils/query-params';
|
|
5
|
-
import { UTM_CAMPAIGN, UTM_CONTENT, UTM_MEDIUM, UTM_SOURCE, UTM_TERM, UTMZ_SOURCE, UTMZ_MEDIUM, UTMZ_CAMPAIGN, UTMZ_TERM, UTMZ_CONTENT, GCLID, FBCLID, BASE_CAMPAIGN } from './constants';
|
|
6
|
-
export class CampaignParser {
|
|
7
|
-
constructor() {
|
|
8
|
-
_defineProperty(this, "utmCookieStorage", new UTMCookie());
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
async parse() {
|
|
12
|
-
return { ...BASE_CAMPAIGN,
|
|
13
|
-
...(await this.getUtmParam()),
|
|
14
|
-
...this.getReferrer(),
|
|
15
|
-
...this.getClickIds()
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
async getUtmParam() {
|
|
20
|
-
const params = getQueryParams();
|
|
21
|
-
const cookies = (await this.utmCookieStorage.isEnabled()) && (await this.utmCookieStorage.get('__utmz')) || {};
|
|
22
|
-
const utmSource = params[UTM_SOURCE] || cookies[UTMZ_SOURCE];
|
|
23
|
-
const utmMedium = params[UTM_MEDIUM] || cookies[UTMZ_MEDIUM];
|
|
24
|
-
const utmCampaign = params[UTM_CAMPAIGN] || cookies[UTMZ_CAMPAIGN];
|
|
25
|
-
const utmTerm = params[UTM_TERM] || cookies[UTMZ_TERM];
|
|
26
|
-
const utmContent = params[UTM_CONTENT] || cookies[UTMZ_CONTENT];
|
|
27
|
-
return {
|
|
28
|
-
utm_source: utmSource,
|
|
29
|
-
utm_medium: utmMedium,
|
|
30
|
-
utm_campaign: utmCampaign,
|
|
31
|
-
utm_term: utmTerm,
|
|
32
|
-
utm_content: utmContent
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
getReferrer() {
|
|
37
|
-
const data = {
|
|
38
|
-
referrer: undefined,
|
|
39
|
-
referring_domain: undefined
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
try {
|
|
43
|
-
var _data$referrer$split$, _data$referrer;
|
|
44
|
-
|
|
45
|
-
data.referrer = document.referrer || undefined;
|
|
46
|
-
data.referring_domain = (_data$referrer$split$ = (_data$referrer = data.referrer) === null || _data$referrer === void 0 ? void 0 : _data$referrer.split('/')[2]) !== null && _data$referrer$split$ !== void 0 ? _data$referrer$split$ : undefined;
|
|
47
|
-
} catch {// nothing to track
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return data;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
getClickIds() {
|
|
54
|
-
const params = getQueryParams();
|
|
55
|
-
return {
|
|
56
|
-
[GCLID]: params[GCLID],
|
|
57
|
-
[FBCLID]: params[FBCLID]
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=campaign-parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["UTMCookie","getQueryParams","UTM_CAMPAIGN","UTM_CONTENT","UTM_MEDIUM","UTM_SOURCE","UTM_TERM","UTMZ_SOURCE","UTMZ_MEDIUM","UTMZ_CAMPAIGN","UTMZ_TERM","UTMZ_CONTENT","GCLID","FBCLID","BASE_CAMPAIGN","CampaignParser","parse","getUtmParam","getReferrer","getClickIds","params","cookies","utmCookieStorage","isEnabled","get","utmSource","utmMedium","utmCampaign","utmTerm","utmContent","utm_source","utm_medium","utm_campaign","utm_term","utm_content","data","referrer","undefined","referring_domain","document","split"],"sources":["campaign-parser.ts"],"sourcesContent":["import { UTMCookie } from '../storage/utm-cookie';\nimport { getQueryParams } from '../utils/query-params';\nimport {\n UTM_CAMPAIGN,\n UTM_CONTENT,\n UTM_MEDIUM,\n UTM_SOURCE,\n UTM_TERM,\n UTMZ_SOURCE,\n UTMZ_MEDIUM,\n UTMZ_CAMPAIGN,\n UTMZ_TERM,\n UTMZ_CONTENT,\n GCLID,\n FBCLID,\n BASE_CAMPAIGN,\n} from './constants';\nimport {\n Campaign,\n CampaignParser as ICampaignParser,\n ClickIdParameters,\n ReferrerParameters,\n UTMParameters,\n} from '@amplitude/analytics-types';\n\nexport class CampaignParser implements ICampaignParser {\n utmCookieStorage = new UTMCookie();\n\n async parse(): Promise<Campaign> {\n return {\n ...BASE_CAMPAIGN,\n ...(await this.getUtmParam()),\n ...this.getReferrer(),\n ...this.getClickIds(),\n } as Campaign;\n }\n\n async getUtmParam(): Promise<UTMParameters> {\n const params = getQueryParams();\n const cookies = ((await this.utmCookieStorage.isEnabled()) && (await this.utmCookieStorage.get('__utmz'))) || {};\n\n const utmSource = params[UTM_SOURCE] || cookies[UTMZ_SOURCE];\n const utmMedium = params[UTM_MEDIUM] || cookies[UTMZ_MEDIUM];\n const utmCampaign = params[UTM_CAMPAIGN] || cookies[UTMZ_CAMPAIGN];\n const utmTerm = params[UTM_TERM] || cookies[UTMZ_TERM];\n const utmContent = params[UTM_CONTENT] || cookies[UTMZ_CONTENT];\n\n return {\n utm_source: utmSource,\n utm_medium: utmMedium,\n utm_campaign: utmCampaign,\n utm_term: utmTerm,\n utm_content: utmContent,\n };\n }\n\n getReferrer(): ReferrerParameters {\n const data: ReferrerParameters = {\n referrer: undefined,\n referring_domain: undefined,\n };\n try {\n data.referrer = document.referrer || undefined;\n data.referring_domain = data.referrer?.split('/')[2] ?? undefined;\n } catch {\n // nothing to track\n }\n return data;\n }\n\n getClickIds(): ClickIdParameters {\n const params = getQueryParams();\n return {\n [GCLID]: params[GCLID],\n [FBCLID]: params[FBCLID],\n };\n }\n}\n"],"mappings":";;AAAA,SAASA,SAAT,QAA0B,uBAA1B;AACA,SAASC,cAAT,QAA+B,uBAA/B;AACA,SACEC,YADF,EAEEC,WAFF,EAGEC,UAHF,EAIEC,UAJF,EAKEC,QALF,EAMEC,WANF,EAOEC,WAPF,EAQEC,aARF,EASEC,SATF,EAUEC,YAVF,EAWEC,KAXF,EAYEC,MAZF,EAaEC,aAbF,QAcO,aAdP;AAuBA,OAAO,MAAMC,cAAN,CAAgD;EAAA;IAAA,0CAClC,IAAIf,SAAJ,EADkC;EAAA;;EAG1C,MAALgB,KAAK,GAAsB;IAC/B,OAAO,EACL,GAAGF,aADE;MAEL,IAAI,MAAM,KAAKG,WAAL,EAAV,CAFK;MAGL,GAAG,KAAKC,WAAL,EAHE;MAIL,GAAG,KAAKC,WAAL;IAJE,CAAP;EAMD;;EAEgB,MAAXF,WAAW,GAA2B;IAC1C,MAAMG,MAAM,GAAGnB,cAAc,EAA7B;IACA,MAAMoB,OAAO,GAAI,CAAC,MAAM,KAAKC,gBAAL,CAAsBC,SAAtB,EAAP,MAA8C,MAAM,KAAKD,gBAAL,CAAsBE,GAAtB,CAA0B,QAA1B,CAApD,CAAD,IAA8F,EAA9G;IAEA,MAAMC,SAAS,GAAGL,MAAM,CAACf,UAAD,CAAN,IAAsBgB,OAAO,CAACd,WAAD,CAA/C;IACA,MAAMmB,SAAS,GAAGN,MAAM,CAAChB,UAAD,CAAN,IAAsBiB,OAAO,CAACb,WAAD,CAA/C;IACA,MAAMmB,WAAW,GAAGP,MAAM,CAAClB,YAAD,CAAN,IAAwBmB,OAAO,CAACZ,aAAD,CAAnD;IACA,MAAMmB,OAAO,GAAGR,MAAM,CAACd,QAAD,CAAN,IAAoBe,OAAO,CAACX,SAAD,CAA3C;IACA,MAAMmB,UAAU,GAAGT,MAAM,CAACjB,WAAD,CAAN,IAAuBkB,OAAO,CAACV,YAAD,CAAjD;IAEA,OAAO;MACLmB,UAAU,EAAEL,SADP;MAELM,UAAU,EAAEL,SAFP;MAGLM,YAAY,EAAEL,WAHT;MAILM,QAAQ,EAAEL,OAJL;MAKLM,WAAW,EAAEL;IALR,CAAP;EAOD;;EAEDX,WAAW,GAAuB;IAChC,MAAMiB,IAAwB,GAAG;MAC/BC,QAAQ,EAAEC,SADqB;MAE/BC,gBAAgB,EAAED;IAFa,CAAjC;;IAIA,IAAI;MAAA;;MACFF,IAAI,CAACC,QAAL,GAAgBG,QAAQ,CAACH,QAAT,IAAqBC,SAArC;MACAF,IAAI,CAACG,gBAAL,8CAAwBH,IAAI,CAACC,QAA7B,mDAAwB,eAAeI,KAAf,CAAqB,GAArB,EAA0B,CAA1B,CAAxB,yEAAwDH,SAAxD;IACD,CAHD,CAGE,MAAM,CACN;IACD;;IACD,OAAOF,IAAP;EACD;;EAEDhB,WAAW,GAAsB;IAC/B,MAAMC,MAAM,GAAGnB,cAAc,EAA7B;IACA,OAAO;MACL,CAACW,KAAD,GAASQ,MAAM,CAACR,KAAD,CADV;MAEL,CAACC,MAAD,GAAUO,MAAM,CAACP,MAAD;IAFX,CAAP;EAID;;AAnDoD"}
|