@amplitude/analytics-client-common 2.1.4-beta.0 → 2.1.5
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/cjs/attribution/web-attribution.d.ts +2 -0
- package/lib/cjs/attribution/web-attribution.d.ts.map +1 -1
- package/lib/cjs/attribution/web-attribution.js +6 -1
- package/lib/cjs/attribution/web-attribution.js.map +1 -1
- package/lib/esm/attribution/web-attribution.d.ts +2 -0
- package/lib/esm/attribution/web-attribution.d.ts.map +1 -1
- package/lib/esm/attribution/web-attribution.js +6 -1
- package/lib/esm/attribution/web-attribution.js.map +1 -1
- package/package.json +3 -3
|
@@ -8,6 +8,8 @@ export declare class WebAttribution {
|
|
|
8
8
|
previousCampaign?: Campaign;
|
|
9
9
|
currentCampaign: Campaign;
|
|
10
10
|
shouldTrackNewCampaign: boolean;
|
|
11
|
+
sessionTimeout: number;
|
|
12
|
+
lastEventTime?: number;
|
|
11
13
|
constructor(options: Options, config: BrowserConfig);
|
|
12
14
|
init(): Promise<void>;
|
|
13
15
|
fetchCampaign(): Promise<[Campaign, Campaign | undefined]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-attribution.d.ts","sourceRoot":"","sources":["../../../src/attribution/web-attribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAmE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"web-attribution.d.ts","sourceRoot":"","sources":["../../../src/attribution/web-attribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAmE,MAAM,WAAW,CAAC;AAMrG,qBAAa,cAAc;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,eAAe,EAAE,QAAQ,CAAC;IAC1B,sBAAsB,UAAS;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IAe7C,IAAI;IAUJ,aAAa;IAInB;;;;OAIG;IACH,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM;IAUvC,+BAA+B;CAGhC"}
|
|
@@ -5,6 +5,7 @@ var helpers_1 = require("./helpers");
|
|
|
5
5
|
var helpers_2 = require("../storage/helpers");
|
|
6
6
|
var campaign_parser_1 = require("./campaign-parser");
|
|
7
7
|
var constants_1 = require("./constants");
|
|
8
|
+
var session_1 = require("../session");
|
|
8
9
|
var WebAttribution = /** @class */ (function () {
|
|
9
10
|
function WebAttribution(options, config) {
|
|
10
11
|
var _a;
|
|
@@ -13,17 +14,21 @@ var WebAttribution = /** @class */ (function () {
|
|
|
13
14
|
this.storage = config.cookieStorage;
|
|
14
15
|
this.storageKey = (0, helpers_2.getStorageKey)(config.apiKey, 'MKTG');
|
|
15
16
|
this.currentCampaign = constants_1.BASE_CAMPAIGN;
|
|
17
|
+
this.sessionTimeout = config.sessionTimeout;
|
|
18
|
+
this.lastEventTime = config.lastEventTime;
|
|
16
19
|
config.loggerProvider.log('Installing web attribution tracking.');
|
|
17
20
|
}
|
|
18
21
|
WebAttribution.prototype.init = function () {
|
|
19
22
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
23
|
+
var isEventInNewSession;
|
|
20
24
|
var _a;
|
|
21
25
|
return tslib_1.__generator(this, function (_b) {
|
|
22
26
|
switch (_b.label) {
|
|
23
27
|
case 0: return [4 /*yield*/, this.fetchCampaign()];
|
|
24
28
|
case 1:
|
|
25
29
|
_a = tslib_1.__read.apply(void 0, [_b.sent(), 2]), this.currentCampaign = _a[0], this.previousCampaign = _a[1];
|
|
26
|
-
|
|
30
|
+
isEventInNewSession = !this.lastEventTime ? true : (0, session_1.isNewSession)(this.sessionTimeout, this.lastEventTime);
|
|
31
|
+
if (!(0, helpers_1.isNewCampaign)(this.currentCampaign, this.previousCampaign, this.options, isEventInNewSession)) return [3 /*break*/, 3];
|
|
27
32
|
this.shouldTrackNewCampaign = true;
|
|
28
33
|
return [4 /*yield*/, this.storage.set(this.storageKey, this.currentCampaign)];
|
|
29
34
|
case 2:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-attribution.js","sourceRoot":"","sources":["../../../src/attribution/web-attribution.ts"],"names":[],"mappings":";;;AAEA,qCAAqG;AACrG,8CAAmD;AACnD,qDAAmD;AACnD,yCAA4C;
|
|
1
|
+
{"version":3,"file":"web-attribution.js","sourceRoot":"","sources":["../../../src/attribution/web-attribution.ts"],"names":[],"mappings":";;;AAEA,qCAAqG;AACrG,8CAAmD;AACnD,qDAAmD;AACnD,yCAA4C;AAC5C,sCAA0C;AAE1C;IAUE,wBAAY,OAAgB,EAAE,MAAqB;;QAJnD,2BAAsB,GAAG,KAAK,CAAC;QAK7B,IAAI,CAAC,OAAO,sBACV,iBAAiB,EAAE,OAAO,EAC1B,yBAAyB,EAAE,KAAK,EAChC,gBAAgB,EAAE,IAAA,qCAA2B,EAAC,MAAA,MAAM,CAAC,aAAa,0CAAE,MAAM,CAAC,IACxE,OAAO,CACX,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,aAA6C,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,IAAA,uBAAa,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,GAAG,yBAAa,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpE,CAAC;IAEK,6BAAI,GAAV;;;;;;4BACkD,qBAAM,IAAI,CAAC,aAAa,EAAE,EAAA;;wBAA1E,KAAA,8BAAgD,SAA0B,KAAA,EAAzE,IAAI,CAAC,eAAe,QAAA,EAAE,IAAI,CAAC,gBAAgB,QAAA,CAA+B;wBACrE,mBAAmB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,sBAAY,EAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;6BAE3G,IAAA,uBAAa,EAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAA7F,wBAA6F;wBAC/F,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;wBACnC,qBAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,EAAA;;wBAA7D,SAA6D,CAAC;;;;;;KAEjE;IAEK,sCAAa,GAAnB;;;;4BACS,qBAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,gCAAc,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAA;4BAA3F,sBAAO,SAAoF,EAAC;;;;KAC7F;IAED;;;;OAIG;IACH,8CAAqB,GAArB,UAAsB,QAAiB;QACrC,sCAAsC;QACtC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAM,aAAa,GAAG,IAAA,6BAAmB,EAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,IAAI,QAAQ,EAAE;YACZ,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;SACnC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,wDAA+B,GAA/B;QACE,OAAO,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;IACjF,CAAC;IACH,qBAAC;AAAD,CAAC,AAzDD,IAyDC;AAzDY,wCAAc","sourcesContent":["import { BrowserConfig } from '@amplitude/analytics-types';\nimport { Campaign, Storage } from '@amplitude/analytics-types';\nimport { Options, getDefaultExcludedReferrers, createCampaignEvent, isNewCampaign } from './helpers';\nimport { getStorageKey } from '../storage/helpers';\nimport { CampaignParser } from './campaign-parser';\nimport { BASE_CAMPAIGN } from './constants';\nimport { isNewSession } from '../session';\n\nexport class WebAttribution {\n options: Options;\n storage: Storage<Campaign>;\n storageKey: string;\n previousCampaign?: Campaign;\n currentCampaign: Campaign;\n shouldTrackNewCampaign = false;\n sessionTimeout: number;\n lastEventTime?: number;\n\n constructor(options: Options, config: BrowserConfig) {\n this.options = {\n initialEmptyValue: 'EMPTY',\n resetSessionOnNewCampaign: false,\n excludeReferrers: getDefaultExcludedReferrers(config.cookieOptions?.domain),\n ...options,\n };\n this.storage = config.cookieStorage as unknown as Storage<Campaign>;\n this.storageKey = getStorageKey(config.apiKey, 'MKTG');\n this.currentCampaign = BASE_CAMPAIGN;\n this.sessionTimeout = config.sessionTimeout;\n this.lastEventTime = config.lastEventTime;\n config.loggerProvider.log('Installing web attribution tracking.');\n }\n\n async init() {\n [this.currentCampaign, this.previousCampaign] = await this.fetchCampaign();\n const isEventInNewSession = !this.lastEventTime ? true : isNewSession(this.sessionTimeout, this.lastEventTime);\n\n if (isNewCampaign(this.currentCampaign, this.previousCampaign, this.options, isEventInNewSession)) {\n this.shouldTrackNewCampaign = true;\n await this.storage.set(this.storageKey, this.currentCampaign);\n }\n }\n\n async fetchCampaign() {\n return await Promise.all([new CampaignParser().parse(), this.storage.get(this.storageKey)]);\n }\n\n /**\n * This can be called when enable web attribution and either\n * 1. set a new session\n * 2. has new campaign and enable resetSessionOnNewCampaign\n */\n generateCampaignEvent(event_id?: number) {\n // Mark this campaign has been tracked\n this.shouldTrackNewCampaign = false;\n const campaignEvent = createCampaignEvent(this.currentCampaign, this.options);\n if (event_id) {\n campaignEvent.event_id = event_id;\n }\n return campaignEvent;\n }\n\n shouldSetSessionIdOnNewCampaign() {\n return this.shouldTrackNewCampaign && !!this.options.resetSessionOnNewCampaign;\n }\n}\n"]}
|
|
@@ -8,6 +8,8 @@ export declare class WebAttribution {
|
|
|
8
8
|
previousCampaign?: Campaign;
|
|
9
9
|
currentCampaign: Campaign;
|
|
10
10
|
shouldTrackNewCampaign: boolean;
|
|
11
|
+
sessionTimeout: number;
|
|
12
|
+
lastEventTime?: number;
|
|
11
13
|
constructor(options: Options, config: BrowserConfig);
|
|
12
14
|
init(): Promise<void>;
|
|
13
15
|
fetchCampaign(): Promise<[Campaign, Campaign | undefined]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-attribution.d.ts","sourceRoot":"","sources":["../../../src/attribution/web-attribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAmE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"web-attribution.d.ts","sourceRoot":"","sources":["../../../src/attribution/web-attribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAmE,MAAM,WAAW,CAAC;AAMrG,qBAAa,cAAc;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,eAAe,EAAE,QAAQ,CAAC;IAC1B,sBAAsB,UAAS;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IAe7C,IAAI;IAUJ,aAAa;IAInB;;;;OAIG;IACH,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM;IAUvC,+BAA+B;CAGhC"}
|
|
@@ -3,6 +3,7 @@ import { getDefaultExcludedReferrers, createCampaignEvent, isNewCampaign } from
|
|
|
3
3
|
import { getStorageKey } from '../storage/helpers';
|
|
4
4
|
import { CampaignParser } from './campaign-parser';
|
|
5
5
|
import { BASE_CAMPAIGN } from './constants';
|
|
6
|
+
import { isNewSession } from '../session';
|
|
6
7
|
var WebAttribution = /** @class */ (function () {
|
|
7
8
|
function WebAttribution(options, config) {
|
|
8
9
|
var _a;
|
|
@@ -11,17 +12,21 @@ var WebAttribution = /** @class */ (function () {
|
|
|
11
12
|
this.storage = config.cookieStorage;
|
|
12
13
|
this.storageKey = getStorageKey(config.apiKey, 'MKTG');
|
|
13
14
|
this.currentCampaign = BASE_CAMPAIGN;
|
|
15
|
+
this.sessionTimeout = config.sessionTimeout;
|
|
16
|
+
this.lastEventTime = config.lastEventTime;
|
|
14
17
|
config.loggerProvider.log('Installing web attribution tracking.');
|
|
15
18
|
}
|
|
16
19
|
WebAttribution.prototype.init = function () {
|
|
17
20
|
return __awaiter(this, void 0, void 0, function () {
|
|
21
|
+
var isEventInNewSession;
|
|
18
22
|
var _a;
|
|
19
23
|
return __generator(this, function (_b) {
|
|
20
24
|
switch (_b.label) {
|
|
21
25
|
case 0: return [4 /*yield*/, this.fetchCampaign()];
|
|
22
26
|
case 1:
|
|
23
27
|
_a = __read.apply(void 0, [_b.sent(), 2]), this.currentCampaign = _a[0], this.previousCampaign = _a[1];
|
|
24
|
-
|
|
28
|
+
isEventInNewSession = !this.lastEventTime ? true : isNewSession(this.sessionTimeout, this.lastEventTime);
|
|
29
|
+
if (!isNewCampaign(this.currentCampaign, this.previousCampaign, this.options, isEventInNewSession)) return [3 /*break*/, 3];
|
|
25
30
|
this.shouldTrackNewCampaign = true;
|
|
26
31
|
return [4 /*yield*/, this.storage.set(this.storageKey, this.currentCampaign)];
|
|
27
32
|
case 2:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-attribution.js","sourceRoot":"","sources":["../../../src/attribution/web-attribution.ts"],"names":[],"mappings":";AAEA,OAAO,EAAW,2BAA2B,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"web-attribution.js","sourceRoot":"","sources":["../../../src/attribution/web-attribution.ts"],"names":[],"mappings":";AAEA,OAAO,EAAW,2BAA2B,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;IAUE,wBAAY,OAAgB,EAAE,MAAqB;;QAJnD,2BAAsB,GAAG,KAAK,CAAC;QAK7B,IAAI,CAAC,OAAO,cACV,iBAAiB,EAAE,OAAO,EAC1B,yBAAyB,EAAE,KAAK,EAChC,gBAAgB,EAAE,2BAA2B,CAAC,MAAA,MAAM,CAAC,aAAa,0CAAE,MAAM,CAAC,IACxE,OAAO,CACX,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,aAA6C,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpE,CAAC;IAEK,6BAAI,GAAV;;;;;;4BACkD,qBAAM,IAAI,CAAC,aAAa,EAAE,EAAA;;wBAA1E,KAAA,sBAAgD,SAA0B,KAAA,EAAzE,IAAI,CAAC,eAAe,QAAA,EAAE,IAAI,CAAC,gBAAgB,QAAA,CAA+B;wBACrE,mBAAmB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;6BAE3G,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAA7F,wBAA6F;wBAC/F,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;wBACnC,qBAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,EAAA;;wBAA7D,SAA6D,CAAC;;;;;;KAEjE;IAEK,sCAAa,GAAnB;;;;4BACS,qBAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAA;4BAA3F,sBAAO,SAAoF,EAAC;;;;KAC7F;IAED;;;;OAIG;IACH,8CAAqB,GAArB,UAAsB,QAAiB;QACrC,sCAAsC;QACtC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,IAAI,QAAQ,EAAE;YACZ,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;SACnC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,wDAA+B,GAA/B;QACE,OAAO,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;IACjF,CAAC;IACH,qBAAC;AAAD,CAAC,AAzDD,IAyDC","sourcesContent":["import { BrowserConfig } from '@amplitude/analytics-types';\nimport { Campaign, Storage } from '@amplitude/analytics-types';\nimport { Options, getDefaultExcludedReferrers, createCampaignEvent, isNewCampaign } from './helpers';\nimport { getStorageKey } from '../storage/helpers';\nimport { CampaignParser } from './campaign-parser';\nimport { BASE_CAMPAIGN } from './constants';\nimport { isNewSession } from '../session';\n\nexport class WebAttribution {\n options: Options;\n storage: Storage<Campaign>;\n storageKey: string;\n previousCampaign?: Campaign;\n currentCampaign: Campaign;\n shouldTrackNewCampaign = false;\n sessionTimeout: number;\n lastEventTime?: number;\n\n constructor(options: Options, config: BrowserConfig) {\n this.options = {\n initialEmptyValue: 'EMPTY',\n resetSessionOnNewCampaign: false,\n excludeReferrers: getDefaultExcludedReferrers(config.cookieOptions?.domain),\n ...options,\n };\n this.storage = config.cookieStorage as unknown as Storage<Campaign>;\n this.storageKey = getStorageKey(config.apiKey, 'MKTG');\n this.currentCampaign = BASE_CAMPAIGN;\n this.sessionTimeout = config.sessionTimeout;\n this.lastEventTime = config.lastEventTime;\n config.loggerProvider.log('Installing web attribution tracking.');\n }\n\n async init() {\n [this.currentCampaign, this.previousCampaign] = await this.fetchCampaign();\n const isEventInNewSession = !this.lastEventTime ? true : isNewSession(this.sessionTimeout, this.lastEventTime);\n\n if (isNewCampaign(this.currentCampaign, this.previousCampaign, this.options, isEventInNewSession)) {\n this.shouldTrackNewCampaign = true;\n await this.storage.set(this.storageKey, this.currentCampaign);\n }\n }\n\n async fetchCampaign() {\n return await Promise.all([new CampaignParser().parse(), this.storage.get(this.storageKey)]);\n }\n\n /**\n * This can be called when enable web attribution and either\n * 1. set a new session\n * 2. has new campaign and enable resetSessionOnNewCampaign\n */\n generateCampaignEvent(event_id?: number) {\n // Mark this campaign has been tracked\n this.shouldTrackNewCampaign = false;\n const campaignEvent = createCampaignEvent(this.currentCampaign, this.options);\n if (event_id) {\n campaignEvent.event_id = event_id;\n }\n return campaignEvent;\n }\n\n shouldSetSessionIdOnNewCampaign() {\n return this.shouldTrackNewCampaign && !!this.options.resetSessionOnNewCampaign;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amplitude/analytics-client-common",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Amplitude Inc",
|
|
6
6
|
"homepage": "https://github.com/amplitude/Amplitude-TypeScript",
|
|
@@ -36,12 +36,12 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@amplitude/analytics-connector": "^1.4.8",
|
|
39
|
-
"@amplitude/analytics-core": "^2.2.
|
|
39
|
+
"@amplitude/analytics-core": "^2.2.6",
|
|
40
40
|
"@amplitude/analytics-types": "^2.5.0",
|
|
41
41
|
"tslib": "^2.4.1"
|
|
42
42
|
},
|
|
43
43
|
"files": [
|
|
44
44
|
"lib"
|
|
45
45
|
],
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "62e8e4aa56193545588e67ad5c431dabb4945e39"
|
|
47
47
|
}
|