@amplitude/analytics-browser 1.2.3 → 1.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/README.md +1 -1
- package/lib/cjs/browser-client.d.ts +3 -3
- package/lib/cjs/browser-client.d.ts.map +1 -1
- package/lib/cjs/browser-client.js +5 -7
- package/lib/cjs/browser-client.js.map +1 -1
- package/lib/cjs/config.d.ts +3 -3
- package/lib/cjs/config.d.ts.map +1 -1
- package/lib/cjs/config.js +10 -13
- package/lib/cjs/config.js.map +1 -1
- package/lib/cjs/cookie-migration/index.d.ts.map +1 -1
- package/lib/cjs/cookie-migration/index.js +3 -4
- package/lib/cjs/cookie-migration/index.js.map +1 -1
- package/lib/cjs/index.d.ts +1 -1
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/plugins/context.d.ts.map +1 -1
- package/lib/cjs/plugins/context.js +7 -2
- package/lib/cjs/plugins/context.js.map +1 -1
- package/lib/cjs/version.d.ts +1 -1
- package/lib/cjs/version.js +1 -1
- package/lib/cjs/version.js.map +1 -1
- package/lib/esm/browser-client.d.ts +3 -3
- package/lib/esm/browser-client.d.ts.map +1 -1
- package/lib/esm/browser-client.js +2 -4
- package/lib/esm/browser-client.js.map +1 -1
- package/lib/esm/config.d.ts +3 -3
- package/lib/esm/config.d.ts.map +1 -1
- package/lib/esm/config.js +2 -5
- package/lib/esm/config.js.map +1 -1
- package/lib/esm/cookie-migration/index.d.ts.map +1 -1
- package/lib/esm/cookie-migration/index.js +1 -2
- package/lib/esm/cookie-migration/index.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/plugins/context.d.ts.map +1 -1
- package/lib/esm/plugins/context.js +7 -2
- package/lib/esm/plugins/context.js.map +1 -1
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/esm/version.js.map +1 -1
- package/lib/scripts/amplitude-min.js +1 -1
- package/lib/scripts/amplitude-min.js.gz +0 -0
- package/lib/scripts/amplitude-min.umd.js +1 -1
- package/lib/scripts/amplitude-min.umd.js.gz +0 -0
- package/lib/scripts/amplitude-snippet-instructions.html +1 -1
- package/lib/scripts/amplitude-snippet-min.js +1 -1
- package/package.json +5 -4
- package/lib/cjs/attribution/campaign-parser.d.ts +0 -10
- package/lib/cjs/attribution/campaign-parser.d.ts.map +0 -1
- package/lib/cjs/attribution/campaign-parser.js +0 -83
- package/lib/cjs/attribution/campaign-parser.js.map +0 -1
- package/lib/cjs/attribution/campaign-tracker.d.ts +0 -74
- package/lib/cjs/attribution/campaign-tracker.d.ts.map +0 -1
- package/lib/cjs/attribution/campaign-tracker.js +0 -113
- package/lib/cjs/attribution/campaign-tracker.js.map +0 -1
- package/lib/cjs/attribution/constants.d.ts +0 -17
- package/lib/cjs/attribution/constants.d.ts.map +0 -1
- package/lib/cjs/attribution/constants.js +0 -28
- package/lib/cjs/attribution/constants.js.map +0 -1
- package/lib/cjs/plugins/identity.d.ts +0 -9
- package/lib/cjs/plugins/identity.d.ts.map +0 -1
- package/lib/cjs/plugins/identity.js +0 -30
- package/lib/cjs/plugins/identity.js.map +0 -1
- package/lib/cjs/session-manager.d.ts +0 -28
- package/lib/cjs/session-manager.d.ts.map +0 -1
- package/lib/cjs/session-manager.js +0 -84
- package/lib/cjs/session-manager.js.map +0 -1
- package/lib/cjs/storage/cookie.d.ts +0 -12
- package/lib/cjs/storage/cookie.d.ts.map +0 -1
- package/lib/cjs/storage/cookie.js +0 -146
- package/lib/cjs/storage/cookie.js.map +0 -1
- package/lib/cjs/storage/utm-cookie.d.ts +0 -6
- package/lib/cjs/storage/utm-cookie.d.ts.map +0 -1
- package/lib/cjs/storage/utm-cookie.js +0 -50
- package/lib/cjs/storage/utm-cookie.js.map +0 -1
- package/lib/cjs/transports/fetch.d.ts +0 -6
- package/lib/cjs/transports/fetch.d.ts.map +0 -1
- package/lib/cjs/transports/fetch.js +0 -42
- package/lib/cjs/transports/fetch.js.map +0 -1
- package/lib/cjs/utils/analytics-connector.d.ts +0 -3
- package/lib/cjs/utils/analytics-connector.d.ts.map +0 -1
- package/lib/cjs/utils/analytics-connector.js +0 -8
- package/lib/cjs/utils/analytics-connector.js.map +0 -1
- package/lib/cjs/utils/cookie-name.d.ts +0 -3
- package/lib/cjs/utils/cookie-name.d.ts.map +0 -1
- package/lib/cjs/utils/cookie-name.js +0 -14
- package/lib/cjs/utils/cookie-name.js.map +0 -1
- package/lib/cjs/utils/language.d.ts +0 -2
- package/lib/cjs/utils/language.d.ts.map +0 -1
- package/lib/cjs/utils/language.js +0 -12
- package/lib/cjs/utils/language.js.map +0 -1
- package/lib/cjs/utils/query-params.d.ts +0 -3
- package/lib/cjs/utils/query-params.d.ts.map +0 -1
- package/lib/cjs/utils/query-params.js +0 -32
- package/lib/cjs/utils/query-params.js.map +0 -1
- package/lib/esm/attribution/campaign-parser.d.ts +0 -10
- package/lib/esm/attribution/campaign-parser.d.ts.map +0 -1
- package/lib/esm/attribution/campaign-parser.js +0 -81
- package/lib/esm/attribution/campaign-parser.js.map +0 -1
- package/lib/esm/attribution/campaign-tracker.d.ts +0 -74
- package/lib/esm/attribution/campaign-tracker.d.ts.map +0 -1
- package/lib/esm/attribution/campaign-tracker.js +0 -111
- package/lib/esm/attribution/campaign-tracker.js.map +0 -1
- package/lib/esm/attribution/constants.d.ts +0 -17
- package/lib/esm/attribution/constants.d.ts.map +0 -1
- package/lib/esm/attribution/constants.js +0 -26
- package/lib/esm/attribution/constants.js.map +0 -1
- package/lib/esm/plugins/identity.d.ts +0 -9
- package/lib/esm/plugins/identity.d.ts.map +0 -1
- package/lib/esm/plugins/identity.js +0 -28
- package/lib/esm/plugins/identity.js.map +0 -1
- package/lib/esm/session-manager.d.ts +0 -28
- package/lib/esm/session-manager.d.ts.map +0 -1
- package/lib/esm/session-manager.js +0 -82
- package/lib/esm/session-manager.js.map +0 -1
- package/lib/esm/storage/cookie.d.ts +0 -12
- package/lib/esm/storage/cookie.d.ts.map +0 -1
- package/lib/esm/storage/cookie.js +0 -144
- package/lib/esm/storage/cookie.js.map +0 -1
- package/lib/esm/storage/utm-cookie.d.ts +0 -6
- package/lib/esm/storage/utm-cookie.d.ts.map +0 -1
- package/lib/esm/storage/utm-cookie.js +0 -48
- package/lib/esm/storage/utm-cookie.js.map +0 -1
- package/lib/esm/transports/fetch.d.ts +0 -6
- package/lib/esm/transports/fetch.d.ts.map +0 -1
- package/lib/esm/transports/fetch.js +0 -40
- package/lib/esm/transports/fetch.js.map +0 -1
- package/lib/esm/utils/analytics-connector.d.ts +0 -3
- package/lib/esm/utils/analytics-connector.d.ts.map +0 -1
- package/lib/esm/utils/analytics-connector.js +0 -5
- package/lib/esm/utils/analytics-connector.js.map +0 -1
- package/lib/esm/utils/cookie-name.d.ts +0 -3
- package/lib/esm/utils/cookie-name.d.ts.map +0 -1
- package/lib/esm/utils/cookie-name.js +0 -10
- package/lib/esm/utils/cookie-name.js.map +0 -1
- package/lib/esm/utils/language.d.ts +0 -2
- package/lib/esm/utils/language.d.ts.map +0 -1
- package/lib/esm/utils/language.js +0 -9
- package/lib/esm/utils/language.js.map +0 -1
- package/lib/esm/utils/query-params.d.ts +0 -3
- package/lib/esm/utils/query-params.d.ts.map +0 -1
- package/lib/esm/utils/query-params.js +0 -28
- package/lib/esm/utils/query-params.js.map +0 -1
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.FetchTransport = void 0;
|
|
3
|
-
var tslib_1 = require("tslib");
|
|
4
|
-
var analytics_core_1 = require("@amplitude/analytics-core");
|
|
5
|
-
var FetchTransport = /** @class */ (function (_super) {
|
|
6
|
-
(0, tslib_1.__extends)(FetchTransport, _super);
|
|
7
|
-
function FetchTransport() {
|
|
8
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
9
|
-
}
|
|
10
|
-
FetchTransport.prototype.send = function (serverUrl, payload) {
|
|
11
|
-
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
12
|
-
var options, response, responsePayload;
|
|
13
|
-
return (0, tslib_1.__generator)(this, function (_a) {
|
|
14
|
-
switch (_a.label) {
|
|
15
|
-
case 0:
|
|
16
|
-
/* istanbul ignore if */
|
|
17
|
-
if (typeof fetch === 'undefined') {
|
|
18
|
-
throw new Error('FetchTransport is not supported');
|
|
19
|
-
}
|
|
20
|
-
options = {
|
|
21
|
-
headers: {
|
|
22
|
-
'Content-Type': 'application/json',
|
|
23
|
-
Accept: '*/*',
|
|
24
|
-
},
|
|
25
|
-
body: JSON.stringify(payload),
|
|
26
|
-
method: 'POST',
|
|
27
|
-
};
|
|
28
|
-
return [4 /*yield*/, fetch(serverUrl, options)];
|
|
29
|
-
case 1:
|
|
30
|
-
response = _a.sent();
|
|
31
|
-
return [4 /*yield*/, response.json()];
|
|
32
|
-
case 2:
|
|
33
|
-
responsePayload = _a.sent();
|
|
34
|
-
return [2 /*return*/, this.buildResponse(responsePayload)];
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
return FetchTransport;
|
|
40
|
-
}(analytics_core_1.BaseTransport));
|
|
41
|
-
exports.FetchTransport = FetchTransport;
|
|
42
|
-
//# sourceMappingURL=fetch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/transports/fetch.ts"],"names":[],"mappings":";;;AAAA,4DAA0D;AAG1D;IAAoC,+CAAa;IAAjD;;IAmBA,CAAC;IAlBO,6BAAI,GAAV,UAAW,SAAiB,EAAE,OAAgB;;;;;;wBAC5C,wBAAwB;wBACxB,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;4BAChC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;yBACpD;wBACK,OAAO,GAAgB;4BAC3B,OAAO,EAAE;gCACP,cAAc,EAAE,kBAAkB;gCAClC,MAAM,EAAE,KAAK;6BACd;4BACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;4BAC7B,MAAM,EAAE,MAAM;yBACf,CAAC;wBACe,qBAAM,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,EAAA;;wBAA1C,QAAQ,GAAG,SAA+B;wBAEH,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;wBAA5D,eAAe,GAAwB,SAAqB;wBAClE,sBAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,EAAC;;;;KAC5C;IACH,qBAAC;AAAD,CAAC,AAnBD,CAAoC,8BAAa,GAmBhD;AAnBY,wCAAc","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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-connector.d.ts","sourceRoot":"","sources":["../../../src/utils/analytics-connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,eAAO,MAAM,qBAAqB,QAAO,kBAExC,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.getAnalyticsConnector = void 0;
|
|
3
|
-
var analytics_connector_1 = require("@amplitude/analytics-connector");
|
|
4
|
-
var getAnalyticsConnector = function () {
|
|
5
|
-
return analytics_connector_1.AnalyticsConnector.getInstance('$default_instance');
|
|
6
|
-
};
|
|
7
|
-
exports.getAnalyticsConnector = getAnalyticsConnector;
|
|
8
|
-
//# sourceMappingURL=analytics-connector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-connector.js","sourceRoot":"","sources":["../../../src/utils/analytics-connector.ts"],"names":[],"mappings":";;AAAA,sEAAoE;AAE7D,IAAM,qBAAqB,GAAG;IACnC,OAAO,wCAAkB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAC7D,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC","sourcesContent":["import { AnalyticsConnector } from '@amplitude/analytics-connector';\n\nexport const getAnalyticsConnector = (): AnalyticsConnector => {\n return AnalyticsConnector.getInstance('$default_instance');\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cookie-name.d.ts","sourceRoot":"","sources":["../../../src/utils/cookie-name.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,WAAY,MAAM,6CAE3C,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAAY,MAAM,WAE9C,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.getOldCookieName = exports.getCookieName = void 0;
|
|
3
|
-
var analytics_core_1 = require("@amplitude/analytics-core");
|
|
4
|
-
var getCookieName = function (apiKey, postKey, limit) {
|
|
5
|
-
if (postKey === void 0) { postKey = ''; }
|
|
6
|
-
if (limit === void 0) { limit = 10; }
|
|
7
|
-
return [analytics_core_1.AMPLITUDE_PREFIX, postKey, apiKey.substring(0, limit)].filter(Boolean).join('_');
|
|
8
|
-
};
|
|
9
|
-
exports.getCookieName = getCookieName;
|
|
10
|
-
var getOldCookieName = function (apiKey) {
|
|
11
|
-
return "".concat(analytics_core_1.AMPLITUDE_PREFIX.toLowerCase(), "_").concat(apiKey.substring(0, 6));
|
|
12
|
-
};
|
|
13
|
-
exports.getOldCookieName = getOldCookieName;
|
|
14
|
-
//# sourceMappingURL=cookie-name.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cookie-name.js","sourceRoot":"","sources":["../../../src/utils/cookie-name.ts"],"names":[],"mappings":";;AAAA,4DAA6D;AAEtD,IAAM,aAAa,GAAG,UAAC,MAAc,EAAE,OAAY,EAAE,KAAU;IAAxB,wBAAA,EAAA,YAAY;IAAE,sBAAA,EAAA,UAAU;IACpE,OAAO,CAAC,iCAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3F,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,IAAM,gBAAgB,GAAG,UAAC,MAAc;IAC7C,OAAO,UAAG,iCAAgB,CAAC,WAAW,EAAE,cAAI,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC;AACvE,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B","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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../../../src/utils/language.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,QAAO,MAM9B,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.getLanguage = void 0;
|
|
3
|
-
var getLanguage = function () {
|
|
4
|
-
var _a, _b, _c, _d;
|
|
5
|
-
if (typeof navigator === 'undefined')
|
|
6
|
-
return '';
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
8
|
-
var userLanguage = navigator.userLanguage;
|
|
9
|
-
return (_d = (_c = (_b = (_a = navigator.languages) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : navigator.language) !== null && _c !== void 0 ? _c : userLanguage) !== null && _d !== void 0 ? _d : '';
|
|
10
|
-
};
|
|
11
|
-
exports.getLanguage = getLanguage;
|
|
12
|
-
//# sourceMappingURL=language.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"language.js","sourceRoot":"","sources":["../../../src/utils/language.ts"],"names":[],"mappings":";;AAAO,IAAM,WAAW,GAAG;;IACzB,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAChD,sEAAsE;IACtE,IAAM,YAAY,GAAI,SAAiB,CAAC,YAAkC,CAAC;IAE3E,OAAO,MAAA,MAAA,MAAA,MAAA,SAAS,CAAC,SAAS,0CAAG,CAAC,CAAC,mCAAI,SAAS,CAAC,QAAQ,mCAAI,YAAY,mCAAI,EAAE,CAAC;AAC9E,CAAC,CAAC;AANW,QAAA,WAAW,eAMtB","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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../../src/utils/query-params.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,QAAO,OAAO,MAAM,EAAE,MAAM,GAAG,SAAS,CAiBlE,CAAC;AAEF,eAAO,MAAM,qBAAqB,4BAMjC,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.tryDecodeURIComponent = exports.getQueryParams = void 0;
|
|
3
|
-
var getQueryParams = function () {
|
|
4
|
-
/* istanbul ignore if */
|
|
5
|
-
if (typeof window === 'undefined' || !window.location || !window.location.search) {
|
|
6
|
-
return {};
|
|
7
|
-
}
|
|
8
|
-
var pairs = window.location.search.substring(1).split('&').filter(Boolean);
|
|
9
|
-
var params = pairs.reduce(function (acc, curr) {
|
|
10
|
-
var query = curr.split('=', 2);
|
|
11
|
-
var key = (0, exports.tryDecodeURIComponent)(query[0]);
|
|
12
|
-
var value = (0, exports.tryDecodeURIComponent)(query[1]);
|
|
13
|
-
if (!value) {
|
|
14
|
-
return acc;
|
|
15
|
-
}
|
|
16
|
-
acc[key] = value;
|
|
17
|
-
return acc;
|
|
18
|
-
}, {});
|
|
19
|
-
return params;
|
|
20
|
-
};
|
|
21
|
-
exports.getQueryParams = getQueryParams;
|
|
22
|
-
var tryDecodeURIComponent = function (value) {
|
|
23
|
-
if (value === void 0) { value = ''; }
|
|
24
|
-
try {
|
|
25
|
-
return decodeURIComponent(value);
|
|
26
|
-
}
|
|
27
|
-
catch (_a) {
|
|
28
|
-
return '';
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
exports.tryDecodeURIComponent = tryDecodeURIComponent;
|
|
32
|
-
//# sourceMappingURL=query-params.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query-params.js","sourceRoot":"","sources":["../../../src/utils/query-params.ts"],"names":[],"mappings":";;AAAO,IAAM,cAAc,GAAG;IAC5B,wBAAwB;IACxB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;QAChF,OAAO,EAAE,CAAC;KACX;IACD,IAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAqC,UAAC,GAAG,EAAE,IAAI;QACxE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjC,IAAM,GAAG,GAAG,IAAA,6BAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAM,KAAK,GAAG,IAAA,6BAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,GAAG,CAAC;SACZ;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB;AAEK,IAAM,qBAAqB,GAAG,UAAC,KAAU;IAAV,sBAAA,EAAA,UAAU;IAC9C,IAAI;QACF,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;KAClC;IAAC,WAAM;QACN,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAC;AANW,QAAA,qBAAqB,yBAMhC","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"]}
|
|
@@ -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"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
|
-
import { UTMCookie } from '../storage/utm-cookie';
|
|
3
|
-
import { getQueryParams } from '../utils/query-params';
|
|
4
|
-
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';
|
|
5
|
-
var CampaignParser = /** @class */ (function () {
|
|
6
|
-
function CampaignParser() {
|
|
7
|
-
this.utmCookieStorage = new UTMCookie();
|
|
8
|
-
}
|
|
9
|
-
CampaignParser.prototype.parse = function () {
|
|
10
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
11
|
-
var _a;
|
|
12
|
-
return __generator(this, function (_b) {
|
|
13
|
-
switch (_b.label) {
|
|
14
|
-
case 0:
|
|
15
|
-
_a = [__assign({}, BASE_CAMPAIGN)];
|
|
16
|
-
return [4 /*yield*/, this.getUtmParam()];
|
|
17
|
-
case 1: return [2 /*return*/, __assign.apply(void 0, [__assign.apply(void 0, [__assign.apply(void 0, _a.concat([(_b.sent())])), this.getReferrer()]), this.getClickIds()])];
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
CampaignParser.prototype.getUtmParam = function () {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
24
|
-
var params, cookies, _a, utmSource, utmMedium, utmCampaign, utmTerm, utmContent;
|
|
25
|
-
return __generator(this, function (_b) {
|
|
26
|
-
switch (_b.label) {
|
|
27
|
-
case 0:
|
|
28
|
-
params = getQueryParams();
|
|
29
|
-
return [4 /*yield*/, this.utmCookieStorage.isEnabled()];
|
|
30
|
-
case 1:
|
|
31
|
-
_a = (_b.sent());
|
|
32
|
-
if (!_a) return [3 /*break*/, 3];
|
|
33
|
-
return [4 /*yield*/, this.utmCookieStorage.get('__utmz')];
|
|
34
|
-
case 2:
|
|
35
|
-
_a = (_b.sent());
|
|
36
|
-
_b.label = 3;
|
|
37
|
-
case 3:
|
|
38
|
-
cookies = (_a) || {};
|
|
39
|
-
utmSource = params[UTM_SOURCE] || cookies[UTMZ_SOURCE];
|
|
40
|
-
utmMedium = params[UTM_MEDIUM] || cookies[UTMZ_MEDIUM];
|
|
41
|
-
utmCampaign = params[UTM_CAMPAIGN] || cookies[UTMZ_CAMPAIGN];
|
|
42
|
-
utmTerm = params[UTM_TERM] || cookies[UTMZ_TERM];
|
|
43
|
-
utmContent = params[UTM_CONTENT] || cookies[UTMZ_CONTENT];
|
|
44
|
-
return [2 /*return*/, {
|
|
45
|
-
utm_source: utmSource,
|
|
46
|
-
utm_medium: utmMedium,
|
|
47
|
-
utm_campaign: utmCampaign,
|
|
48
|
-
utm_term: utmTerm,
|
|
49
|
-
utm_content: utmContent,
|
|
50
|
-
}];
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
|
-
CampaignParser.prototype.getReferrer = function () {
|
|
56
|
-
var _a, _b;
|
|
57
|
-
var data = {
|
|
58
|
-
referrer: undefined,
|
|
59
|
-
referring_domain: undefined,
|
|
60
|
-
};
|
|
61
|
-
try {
|
|
62
|
-
data.referrer = document.referrer || undefined;
|
|
63
|
-
data.referring_domain = (_b = (_a = data.referrer) === null || _a === void 0 ? void 0 : _a.split('/')[2]) !== null && _b !== void 0 ? _b : undefined;
|
|
64
|
-
}
|
|
65
|
-
catch (_c) {
|
|
66
|
-
// nothing to track
|
|
67
|
-
}
|
|
68
|
-
return data;
|
|
69
|
-
};
|
|
70
|
-
CampaignParser.prototype.getClickIds = function () {
|
|
71
|
-
var _a;
|
|
72
|
-
var params = getQueryParams();
|
|
73
|
-
return _a = {},
|
|
74
|
-
_a[GCLID] = params[GCLID],
|
|
75
|
-
_a[FBCLID] = params[FBCLID],
|
|
76
|
-
_a;
|
|
77
|
-
};
|
|
78
|
-
return CampaignParser;
|
|
79
|
-
}());
|
|
80
|
-
export { CampaignParser };
|
|
81
|
-
//# sourceMappingURL=campaign-parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"campaign-parser.js","sourceRoot":"","sources":["../../../src/attribution/campaign-parser.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,EACT,YAAY,EACZ,KAAK,EACL,MAAM,EACN,aAAa,GACd,MAAM,aAAa,CAAC;AASrB;IAAA;QACE,qBAAgB,GAAG,IAAI,SAAS,EAAE,CAAC;IAmDrC,CAAC;IAjDO,8BAAK,GAAX;;;;;;2CAEO,aAAa;wBACZ,qBAAM,IAAI,CAAC,WAAW,EAAE,EAAA;4BAF9B,sBAAO,kFAEF,CAAC,SAAwB,CAAC,KAC1B,IAAI,CAAC,WAAW,EAAE,IAClB,IAAI,CAAC,WAAW,EAAE,EACV,EAAC;;;;KACf;IAEK,oCAAW,GAAjB;;;;;;wBACQ,MAAM,GAAG,cAAc,EAAE,CAAC;wBACd,qBAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAA;;wBAAxC,KAAA,CAAC,SAAuC,CAAC,CAAA;iCAAzC,wBAAyC;wBAAK,qBAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAA;;wBAA1C,KAAA,CAAC,SAAyC,CAAC,CAAA;;;wBAAnG,OAAO,GAAG,IAA0F,IAAI,EAAE;wBAE1G,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;wBACvD,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;wBACvD,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;wBAC7D,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;wBACjD,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;wBAEhE,sBAAO;gCACL,UAAU,EAAE,SAAS;gCACrB,UAAU,EAAE,SAAS;gCACrB,YAAY,EAAE,WAAW;gCACzB,QAAQ,EAAE,OAAO;gCACjB,WAAW,EAAE,UAAU;6BACxB,EAAC;;;;KACH;IAED,oCAAW,GAAX;;QACE,IAAM,IAAI,GAAuB;YAC/B,QAAQ,EAAE,SAAS;YACnB,gBAAgB,EAAE,SAAS;SAC5B,CAAC;QACF,IAAI;YACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC;YAC/C,IAAI,CAAC,gBAAgB,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,mCAAI,SAAS,CAAC;SACnE;QAAC,WAAM;YACN,mBAAmB;SACpB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAW,GAAX;;QACE,IAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC;YACE,GAAC,KAAK,IAAG,MAAM,CAAC,KAAK,CAAC;YACtB,GAAC,MAAM,IAAG,MAAM,CAAC,MAAM,CAAC;eACxB;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,AApDD,IAoDC","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"]}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { Storage, Campaign, CampaignParser as ICampaignParser, CampaignTracker as ICampaignTracker, CampaignTrackFunction, CampaignTrackerOptions } from '@amplitude/analytics-types';
|
|
2
|
-
export declare class CampaignTracker implements ICampaignTracker {
|
|
3
|
-
storage: Storage<Campaign>;
|
|
4
|
-
storageKey: string;
|
|
5
|
-
parser: ICampaignParser;
|
|
6
|
-
track: CampaignTrackFunction;
|
|
7
|
-
onNewCampaign: (campaign: Campaign) => unknown;
|
|
8
|
-
disabled: boolean;
|
|
9
|
-
trackNewCampaigns: boolean;
|
|
10
|
-
trackPageViews: boolean;
|
|
11
|
-
excludeReferrers: string[];
|
|
12
|
-
initialEmptyValue: string;
|
|
13
|
-
constructor(apiKey: string, options: CampaignTrackerOptions);
|
|
14
|
-
isNewCampaign(currentCampaign: Campaign, previousCampaign: Campaign): boolean;
|
|
15
|
-
saveCampaignToStorage(campaign: Campaign): Promise<void>;
|
|
16
|
-
getCampaignFromStorage(): Promise<Campaign>;
|
|
17
|
-
createCampaignEvent(campaign: Campaign): {
|
|
18
|
-
event_type: string;
|
|
19
|
-
event_properties?: {
|
|
20
|
-
[key: string]: any;
|
|
21
|
-
} | undefined;
|
|
22
|
-
user_properties: {
|
|
23
|
-
[key: string]: any;
|
|
24
|
-
} | import("@amplitude/analytics-types").IdentifyUserProperties | {
|
|
25
|
-
[x: string]: any;
|
|
26
|
-
};
|
|
27
|
-
group_properties?: {
|
|
28
|
-
[key: string]: any;
|
|
29
|
-
} | undefined;
|
|
30
|
-
groups?: {
|
|
31
|
-
[key: string]: any;
|
|
32
|
-
} | undefined;
|
|
33
|
-
user_id?: string | undefined;
|
|
34
|
-
device_id?: string | undefined;
|
|
35
|
-
time?: number | undefined;
|
|
36
|
-
location_lat?: number | undefined;
|
|
37
|
-
location_lng?: number | undefined;
|
|
38
|
-
app_version?: string | undefined;
|
|
39
|
-
version_name?: string | undefined;
|
|
40
|
-
library?: string | undefined;
|
|
41
|
-
platform?: string | undefined;
|
|
42
|
-
os_name?: string | undefined;
|
|
43
|
-
os_version?: string | undefined;
|
|
44
|
-
device_brand?: string | undefined;
|
|
45
|
-
device_manufacturer?: string | undefined;
|
|
46
|
-
device_model?: string | undefined;
|
|
47
|
-
carrier?: string | undefined;
|
|
48
|
-
country?: string | undefined;
|
|
49
|
-
region?: string | undefined;
|
|
50
|
-
city?: string | undefined;
|
|
51
|
-
dma?: string | undefined;
|
|
52
|
-
idfa?: string | undefined;
|
|
53
|
-
idfv?: string | undefined;
|
|
54
|
-
adid?: string | undefined;
|
|
55
|
-
android_id?: string | undefined;
|
|
56
|
-
language?: string | undefined;
|
|
57
|
-
ip?: string | undefined;
|
|
58
|
-
price?: number | undefined;
|
|
59
|
-
quantity?: number | undefined;
|
|
60
|
-
revenue?: number | undefined;
|
|
61
|
-
productId?: string | undefined;
|
|
62
|
-
revenueType?: string | undefined;
|
|
63
|
-
event_id?: number | undefined;
|
|
64
|
-
session_id?: number | undefined;
|
|
65
|
-
insert_id?: string | undefined;
|
|
66
|
-
plan?: import("@amplitude/analytics-types").Plan | undefined;
|
|
67
|
-
partner_id?: string | undefined;
|
|
68
|
-
extra?: {
|
|
69
|
-
[key: string]: any;
|
|
70
|
-
} | undefined;
|
|
71
|
-
};
|
|
72
|
-
send(isNewSession: boolean): Promise<void>;
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=campaign-tracker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"campaign-tracker.d.ts","sourceRoot":"","sources":["../../../src/attribution/campaign-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,cAAc,IAAI,eAAe,EACjC,eAAe,IAAI,gBAAgB,EACnC,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,4BAA4B,CAAC;AAKpC,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,qBAAqB,CAAC;IAC7B,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC;IAE/C,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;gBAEd,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB;IAiB3D,aAAa,CAAC,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ;IAe7D,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,sBAAsB,IAAI,OAAO,CAAC,QAAQ,CAAC;IAIjD,mBAAmB,CAAC,QAAQ,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BhC,IAAI,CAAC,YAAY,EAAE,OAAO;CAejC"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { __assign, __awaiter, __generator, __read } from "tslib";
|
|
2
|
-
import { createIdentifyEvent, Identify } from '@amplitude/analytics-core';
|
|
3
|
-
import { getCookieName as getStorageKey } from '../utils/cookie-name';
|
|
4
|
-
import { CampaignParser } from './campaign-parser';
|
|
5
|
-
import { BASE_CAMPAIGN, EMPTY_VALUE, MKTG } from './constants';
|
|
6
|
-
var CampaignTracker = /** @class */ (function () {
|
|
7
|
-
function CampaignTracker(apiKey, options) {
|
|
8
|
-
var _a, _b;
|
|
9
|
-
this.storage = options.storage;
|
|
10
|
-
this.storageKey = getStorageKey(apiKey, MKTG);
|
|
11
|
-
this.parser = new CampaignParser();
|
|
12
|
-
this.track = options.track;
|
|
13
|
-
this.onNewCampaign = options.onNewCampaign;
|
|
14
|
-
this.disabled = Boolean(options.disabled);
|
|
15
|
-
this.trackNewCampaigns = Boolean(options.trackNewCampaigns);
|
|
16
|
-
this.trackPageViews = Boolean(options.trackPageViews);
|
|
17
|
-
this.excludeReferrers = (_a = options.excludeReferrers) !== null && _a !== void 0 ? _a : [];
|
|
18
|
-
if (typeof location !== 'undefined') {
|
|
19
|
-
this.excludeReferrers.unshift(location.hostname);
|
|
20
|
-
}
|
|
21
|
-
this.initialEmptyValue = (_b = options.initialEmptyValue) !== null && _b !== void 0 ? _b : EMPTY_VALUE;
|
|
22
|
-
}
|
|
23
|
-
CampaignTracker.prototype.isNewCampaign = function (currentCampaign, previousCampaign) {
|
|
24
|
-
var isReferrerExcluded = Boolean(currentCampaign.referring_domain && this.excludeReferrers.includes(currentCampaign.referring_domain));
|
|
25
|
-
var hasNewUtm = previousCampaign.utm_campaign !== currentCampaign.utm_campaign ||
|
|
26
|
-
previousCampaign.utm_source !== currentCampaign.utm_source ||
|
|
27
|
-
previousCampaign.utm_medium !== currentCampaign.utm_medium ||
|
|
28
|
-
previousCampaign.utm_term !== currentCampaign.utm_term ||
|
|
29
|
-
previousCampaign.utm_content !== currentCampaign.utm_content;
|
|
30
|
-
var hasNewReferrer = previousCampaign.referring_domain !== currentCampaign.referring_domain;
|
|
31
|
-
return !isReferrerExcluded && (hasNewUtm || hasNewReferrer);
|
|
32
|
-
};
|
|
33
|
-
CampaignTracker.prototype.saveCampaignToStorage = function (campaign) {
|
|
34
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
35
|
-
return __generator(this, function (_a) {
|
|
36
|
-
switch (_a.label) {
|
|
37
|
-
case 0: return [4 /*yield*/, this.storage.set(this.storageKey, campaign)];
|
|
38
|
-
case 1:
|
|
39
|
-
_a.sent();
|
|
40
|
-
return [2 /*return*/];
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
CampaignTracker.prototype.getCampaignFromStorage = function () {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
47
|
-
return __generator(this, function (_a) {
|
|
48
|
-
switch (_a.label) {
|
|
49
|
-
case 0: return [4 /*yield*/, this.storage.get(this.storageKey)];
|
|
50
|
-
case 1: return [2 /*return*/, (_a.sent()) || __assign({}, BASE_CAMPAIGN)];
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
|
-
CampaignTracker.prototype.createCampaignEvent = function (campaign) {
|
|
56
|
-
var _this = this;
|
|
57
|
-
var campaignParameters = __assign(__assign({}, BASE_CAMPAIGN), campaign);
|
|
58
|
-
var identifyEvent = Object.entries(campaignParameters).reduce(function (identify, _a) {
|
|
59
|
-
var _b = __read(_a, 2), key = _b[0], value = _b[1];
|
|
60
|
-
identify.setOnce("initial_".concat(key), value || _this.initialEmptyValue);
|
|
61
|
-
if (value) {
|
|
62
|
-
return identify.set(key, value);
|
|
63
|
-
}
|
|
64
|
-
return identify.unset(key);
|
|
65
|
-
}, new Identify());
|
|
66
|
-
var pageViewEvent = {
|
|
67
|
-
event_type: 'Page View',
|
|
68
|
-
event_properties: {
|
|
69
|
-
page_title: /* istanbul ignore next */ (typeof document !== 'undefined' && document.title) || '',
|
|
70
|
-
page_location: /* istanbul ignore next */ (typeof location !== 'undefined' && location.href) || '',
|
|
71
|
-
page_path: /* istanbul ignore next */ (typeof location !== 'undefined' && location.pathname) || '',
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
return __assign(__assign({}, createIdentifyEvent(identifyEvent)), (this.trackPageViews && pageViewEvent));
|
|
75
|
-
};
|
|
76
|
-
CampaignTracker.prototype.send = function (isNewSession) {
|
|
77
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
78
|
-
var currentCampaign, previousCampaign;
|
|
79
|
-
return __generator(this, function (_a) {
|
|
80
|
-
switch (_a.label) {
|
|
81
|
-
case 0:
|
|
82
|
-
if (this.disabled) {
|
|
83
|
-
return [2 /*return*/];
|
|
84
|
-
}
|
|
85
|
-
return [4 /*yield*/, this.parser.parse()];
|
|
86
|
-
case 1:
|
|
87
|
-
currentCampaign = _a.sent();
|
|
88
|
-
return [4 /*yield*/, this.getCampaignFromStorage()];
|
|
89
|
-
case 2:
|
|
90
|
-
previousCampaign = _a.sent();
|
|
91
|
-
if (!isNewSession) {
|
|
92
|
-
if (!this.trackNewCampaigns || !this.isNewCampaign(currentCampaign, previousCampaign)) {
|
|
93
|
-
return [2 /*return*/];
|
|
94
|
-
}
|
|
95
|
-
this.onNewCampaign(currentCampaign);
|
|
96
|
-
}
|
|
97
|
-
return [4 /*yield*/, this.track(this.createCampaignEvent(currentCampaign))];
|
|
98
|
-
case 3:
|
|
99
|
-
_a.sent();
|
|
100
|
-
return [4 /*yield*/, this.saveCampaignToStorage(currentCampaign)];
|
|
101
|
-
case 4:
|
|
102
|
-
_a.sent();
|
|
103
|
-
return [2 /*return*/];
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
};
|
|
108
|
-
return CampaignTracker;
|
|
109
|
-
}());
|
|
110
|
-
export { CampaignTracker };
|
|
111
|
-
//# sourceMappingURL=campaign-tracker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"campaign-tracker.js","sourceRoot":"","sources":["../../../src/attribution/campaign-tracker.ts"],"names":[],"mappings":"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","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"]}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Campaign } from '@amplitude/analytics-types';
|
|
2
|
-
export declare const UTM_SOURCE = "utm_source";
|
|
3
|
-
export declare const UTM_MEDIUM = "utm_medium";
|
|
4
|
-
export declare const UTM_CAMPAIGN = "utm_campaign";
|
|
5
|
-
export declare const UTM_TERM = "utm_term";
|
|
6
|
-
export declare const UTM_CONTENT = "utm_content";
|
|
7
|
-
export declare const UTMZ_SOURCE = "utmcsr";
|
|
8
|
-
export declare const UTMZ_MEDIUM = "utmcmd";
|
|
9
|
-
export declare const UTMZ_CAMPAIGN = "utmccn";
|
|
10
|
-
export declare const UTMZ_TERM = "utmctr";
|
|
11
|
-
export declare const UTMZ_CONTENT = "utmcct";
|
|
12
|
-
export declare const GCLID = "gclid";
|
|
13
|
-
export declare const FBCLID = "fbclid";
|
|
14
|
-
export declare const EMPTY_VALUE = "EMPTY";
|
|
15
|
-
export declare const BASE_CAMPAIGN: Campaign;
|
|
16
|
-
export declare const MKTG = "MKTG";
|
|
17
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/attribution/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,eAAO,MAAM,SAAS,WAAW,CAAC;AAClC,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,eAAO,MAAM,KAAK,UAAU,CAAC;AAC7B,eAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,eAAO,MAAM,aAAa,EAAE,QAU3B,CAAC;AAEF,eAAO,MAAM,IAAI,SAAS,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export var UTM_SOURCE = 'utm_source';
|
|
2
|
-
export var UTM_MEDIUM = 'utm_medium';
|
|
3
|
-
export var UTM_CAMPAIGN = 'utm_campaign';
|
|
4
|
-
export var UTM_TERM = 'utm_term';
|
|
5
|
-
export var UTM_CONTENT = 'utm_content';
|
|
6
|
-
export var UTMZ_SOURCE = 'utmcsr';
|
|
7
|
-
export var UTMZ_MEDIUM = 'utmcmd';
|
|
8
|
-
export var UTMZ_CAMPAIGN = 'utmccn';
|
|
9
|
-
export var UTMZ_TERM = 'utmctr';
|
|
10
|
-
export var UTMZ_CONTENT = 'utmcct';
|
|
11
|
-
export var GCLID = 'gclid';
|
|
12
|
-
export var FBCLID = 'fbclid';
|
|
13
|
-
export var EMPTY_VALUE = 'EMPTY';
|
|
14
|
-
export var 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 var MKTG = 'MKTG';
|
|
26
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/attribution/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,UAAU,GAAG,YAAY,CAAC;AACvC,MAAM,CAAC,IAAM,UAAU,GAAG,YAAY,CAAC;AACvC,MAAM,CAAC,IAAM,YAAY,GAAG,cAAc,CAAC;AAC3C,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAU,CAAC;AACnC,MAAM,CAAC,IAAM,WAAW,GAAG,aAAa,CAAC;AAEzC,MAAM,CAAC,IAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,IAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,IAAM,aAAa,GAAG,QAAQ,CAAC;AACtC,MAAM,CAAC,IAAM,SAAS,GAAG,QAAQ,CAAC;AAClC,MAAM,CAAC,IAAM,YAAY,GAAG,QAAQ,CAAC;AAErC,MAAM,CAAC,IAAM,KAAK,GAAG,OAAO,CAAC;AAC7B,MAAM,CAAC,IAAM,MAAM,GAAG,QAAQ,CAAC;AAE/B,MAAM,CAAC,IAAM,WAAW,GAAG,OAAO,CAAC;AAEnC,MAAM,CAAC,IAAM,aAAa,GAAa;IACrC,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,SAAS;IACvB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,SAAS;IACnB,gBAAgB,EAAE,SAAS;IAC3B,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,CAAC,IAAM,IAAI,GAAG,MAAM,CAAC","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"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { BeforePlugin, Config, Event, PluginType } from '@amplitude/analytics-types';
|
|
2
|
-
export declare class IdentityEventSender implements BeforePlugin {
|
|
3
|
-
name: string;
|
|
4
|
-
type: PluginType.BEFORE;
|
|
5
|
-
identityStore: import("@amplitude/analytics-connector/dist/types/src/identityStore").IdentityStoreImpl;
|
|
6
|
-
execute(context: Event): Promise<Event>;
|
|
7
|
-
setup(_: Config): Promise<undefined>;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/plugins/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGrF,qBAAa,mBAAoB,YAAW,YAAY;IACtD,IAAI,SAAc;IAClB,IAAI,oBAA8B;IAElC,aAAa,0FAAyC;IAEhD,OAAO,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAQ7C,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CAGrC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { __awaiter, __generator } from "tslib";
|
|
2
|
-
import { PluginType } from '@amplitude/analytics-types';
|
|
3
|
-
import { getAnalyticsConnector } from '../utils/analytics-connector';
|
|
4
|
-
var IdentityEventSender = /** @class */ (function () {
|
|
5
|
-
function IdentityEventSender() {
|
|
6
|
-
this.name = 'identity';
|
|
7
|
-
this.type = PluginType.BEFORE;
|
|
8
|
-
this.identityStore = getAnalyticsConnector().identityStore;
|
|
9
|
-
}
|
|
10
|
-
IdentityEventSender.prototype.execute = function (context) {
|
|
11
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
12
|
-
var userProperties;
|
|
13
|
-
return __generator(this, function (_a) {
|
|
14
|
-
userProperties = context.user_properties;
|
|
15
|
-
if (userProperties) {
|
|
16
|
-
this.identityStore.editIdentity().updateUserProperties(userProperties).commit();
|
|
17
|
-
}
|
|
18
|
-
return [2 /*return*/, context];
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
IdentityEventSender.prototype.setup = function (_) {
|
|
23
|
-
return Promise.resolve(undefined);
|
|
24
|
-
};
|
|
25
|
-
return IdentityEventSender;
|
|
26
|
-
}());
|
|
27
|
-
export { IdentityEventSender };
|
|
28
|
-
//# sourceMappingURL=identity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/plugins/identity.ts"],"names":[],"mappings":";AAAA,OAAO,EAA+B,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE;IAAA;QACE,SAAI,GAAG,UAAU,CAAC;QAClB,SAAI,GAAG,UAAU,CAAC,MAAe,CAAC;QAElC,kBAAa,GAAG,qBAAqB,EAAE,CAAC,aAAa,CAAC;IAaxD,CAAC;IAXO,qCAAO,GAAb,UAAc,OAAc;;;;gBACpB,cAAc,GAAG,OAAO,CAAC,eAAsC,CAAC;gBACtE,IAAI,cAAc,EAAE;oBAClB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjF;gBACD,sBAAO,OAAO,EAAC;;;KAChB;IAED,mCAAK,GAAL,UAAM,CAAS;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACH,0BAAC;AAAD,CAAC,AAjBD,IAiBC","sourcesContent":["import { BeforePlugin, Config, Event, PluginType } 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"]}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { UserSession, Storage, SessionManager as ISessionManager } from '@amplitude/analytics-types';
|
|
2
|
-
export declare class SessionManager implements ISessionManager {
|
|
3
|
-
private storage;
|
|
4
|
-
storageKey: string;
|
|
5
|
-
cache: UserSession;
|
|
6
|
-
isSessionCacheValid: boolean;
|
|
7
|
-
constructor(storage: Storage<UserSession>, apiKey: string);
|
|
8
|
-
/**
|
|
9
|
-
* load() must be called immediately after instantation
|
|
10
|
-
*
|
|
11
|
-
* ```ts
|
|
12
|
-
* await new SessionManager(...).load();
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
load(): Promise<this>;
|
|
16
|
-
setSession(session: Partial<UserSession>): void;
|
|
17
|
-
getSessionId(): number | undefined;
|
|
18
|
-
setSessionId(sessionId: number): void;
|
|
19
|
-
getDeviceId(): string | undefined;
|
|
20
|
-
setDeviceId(deviceId: string): void;
|
|
21
|
-
getUserId(): string | undefined;
|
|
22
|
-
setUserId(userId: string): void;
|
|
23
|
-
getLastEventTime(): number | undefined;
|
|
24
|
-
setLastEventTime(lastEventTime: number): void;
|
|
25
|
-
getOptOut(): boolean;
|
|
26
|
-
setOptOut(optOut: boolean): void;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=session-manager.d.ts.map
|