@amplitude/analytics-browser 1.8.0 → 1.9.0-beta.1

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.
Files changed (90) hide show
  1. package/lib/cjs/browser-client-factory.js +10 -10
  2. package/lib/cjs/browser-client-factory.js.map +1 -1
  3. package/lib/cjs/browser-client.d.ts +11 -7
  4. package/lib/cjs/browser-client.d.ts.map +1 -1
  5. package/lib/cjs/browser-client.js +88 -44
  6. package/lib/cjs/browser-client.js.map +1 -1
  7. package/lib/cjs/config.d.ts +4 -4
  8. package/lib/cjs/config.d.ts.map +1 -1
  9. package/lib/cjs/config.js +37 -29
  10. package/lib/cjs/config.js.map +1 -1
  11. package/lib/cjs/constants.d.ts +7 -0
  12. package/lib/cjs/constants.d.ts.map +1 -0
  13. package/lib/cjs/constants.js +9 -0
  14. package/lib/cjs/constants.js.map +1 -0
  15. package/lib/cjs/cookie-migration/index.d.ts.map +1 -1
  16. package/lib/cjs/cookie-migration/index.js +32 -25
  17. package/lib/cjs/cookie-migration/index.js.map +1 -1
  18. package/lib/cjs/plugins/context.d.ts +0 -1
  19. package/lib/cjs/plugins/context.d.ts.map +1 -1
  20. package/lib/cjs/plugins/context.js +0 -14
  21. package/lib/cjs/plugins/context.js.map +1 -1
  22. package/lib/cjs/plugins/file-download-tracking.d.ts.map +1 -1
  23. package/lib/cjs/plugins/file-download-tracking.js +3 -3
  24. package/lib/cjs/plugins/file-download-tracking.js.map +1 -1
  25. package/lib/cjs/plugins/form-interaction-tracking.d.ts.map +1 -1
  26. package/lib/cjs/plugins/form-interaction-tracking.js +5 -6
  27. package/lib/cjs/plugins/form-interaction-tracking.js.map +1 -1
  28. package/lib/cjs/plugins/session-handler.d.ts +3 -0
  29. package/lib/cjs/plugins/session-handler.d.ts.map +1 -0
  30. package/lib/cjs/plugins/session-handler.js +54 -0
  31. package/lib/cjs/plugins/session-handler.js.map +1 -0
  32. package/lib/cjs/version.d.ts +1 -1
  33. package/lib/cjs/version.d.ts.map +1 -1
  34. package/lib/cjs/version.js +1 -1
  35. package/lib/cjs/version.js.map +1 -1
  36. package/lib/esm/browser-client-factory.js +11 -11
  37. package/lib/esm/browser-client-factory.js.map +1 -1
  38. package/lib/esm/browser-client.d.ts +11 -7
  39. package/lib/esm/browser-client.d.ts.map +1 -1
  40. package/lib/esm/browser-client.js +91 -47
  41. package/lib/esm/browser-client.js.map +1 -1
  42. package/lib/esm/config.d.ts +4 -4
  43. package/lib/esm/config.d.ts.map +1 -1
  44. package/lib/esm/config.js +36 -27
  45. package/lib/esm/config.js.map +1 -1
  46. package/lib/esm/constants.d.ts +7 -0
  47. package/lib/esm/constants.d.ts.map +1 -0
  48. package/lib/esm/constants.js +7 -0
  49. package/lib/esm/constants.js.map +1 -0
  50. package/lib/esm/cookie-migration/index.d.ts.map +1 -1
  51. package/lib/esm/cookie-migration/index.js +35 -28
  52. package/lib/esm/cookie-migration/index.js.map +1 -1
  53. package/lib/esm/plugins/context.d.ts +0 -1
  54. package/lib/esm/plugins/context.d.ts.map +1 -1
  55. package/lib/esm/plugins/context.js +0 -14
  56. package/lib/esm/plugins/context.js.map +1 -1
  57. package/lib/esm/plugins/file-download-tracking.d.ts.map +1 -1
  58. package/lib/esm/plugins/file-download-tracking.js +3 -3
  59. package/lib/esm/plugins/file-download-tracking.js.map +1 -1
  60. package/lib/esm/plugins/form-interaction-tracking.d.ts.map +1 -1
  61. package/lib/esm/plugins/form-interaction-tracking.js +5 -6
  62. package/lib/esm/plugins/form-interaction-tracking.js.map +1 -1
  63. package/lib/esm/plugins/session-handler.d.ts +3 -0
  64. package/lib/esm/plugins/session-handler.d.ts.map +1 -0
  65. package/lib/esm/plugins/session-handler.js +50 -0
  66. package/lib/esm/plugins/session-handler.js.map +1 -0
  67. package/lib/esm/version.d.ts +1 -1
  68. package/lib/esm/version.d.ts.map +1 -1
  69. package/lib/esm/version.js +1 -1
  70. package/lib/esm/version.js.map +1 -1
  71. package/lib/scripts/amplitude-min.js +1 -1
  72. package/lib/scripts/amplitude-min.js.gz +0 -0
  73. package/lib/scripts/amplitude-min.umd.js +1 -1
  74. package/lib/scripts/amplitude-min.umd.js.gz +0 -0
  75. package/lib/scripts/browser-client.d.ts +11 -7
  76. package/lib/scripts/browser-client.d.ts.map +1 -1
  77. package/lib/scripts/config.d.ts +4 -4
  78. package/lib/scripts/config.d.ts.map +1 -1
  79. package/lib/scripts/constants.d.ts +7 -0
  80. package/lib/scripts/constants.d.ts.map +1 -0
  81. package/lib/scripts/cookie-migration/index.d.ts.map +1 -1
  82. package/lib/scripts/plugins/context.d.ts +0 -1
  83. package/lib/scripts/plugins/context.d.ts.map +1 -1
  84. package/lib/scripts/plugins/file-download-tracking.d.ts.map +1 -1
  85. package/lib/scripts/plugins/form-interaction-tracking.d.ts.map +1 -1
  86. package/lib/scripts/plugins/session-handler.d.ts +3 -0
  87. package/lib/scripts/plugins/session-handler.d.ts.map +1 -0
  88. package/lib/scripts/version.d.ts +1 -1
  89. package/lib/scripts/version.d.ts.map +1 -1
  90. package/package.json +7 -5
@@ -1,8 +1,12 @@
1
1
  import { AmplitudeCore } from '@amplitude/analytics-core';
2
- import { AttributionOptions, BrowserConfig, BrowserOptions, EventOptions, Identify as IIdentify, Result, Revenue as IRevenue, TransportType } from '@amplitude/analytics-types';
3
- export declare class AmplitudeBrowser extends AmplitudeCore<BrowserConfig> {
4
- init(apiKey?: string, userId?: string, options?: BrowserOptions): Promise<void>;
5
- runAttributionStrategy(attributionConfig?: AttributionOptions, isNewSession?: boolean): Promise<void>;
2
+ import { BrowserClient, BrowserConfig, BrowserOptions, EventOptions, Identify as IIdentify, Revenue as IRevenue, TransportType } from '@amplitude/analytics-types';
3
+ export declare class AmplitudeBrowser extends AmplitudeCore implements BrowserClient {
4
+ config: BrowserConfig;
5
+ previousSessionUserId: string | undefined;
6
+ init(apiKey?: string, userId?: string, options?: BrowserOptions): import("@amplitude/analytics-types").AmplitudeReturn<void>;
7
+ protected _init(options: BrowserOptions & {
8
+ apiKey: string;
9
+ }): Promise<void>;
6
10
  getUserId(): string | undefined;
7
11
  setUserId(userId: string | undefined): void;
8
12
  getDeviceId(): string | undefined;
@@ -11,8 +15,8 @@ export declare class AmplitudeBrowser extends AmplitudeCore<BrowserConfig> {
11
15
  getSessionId(): number | undefined;
12
16
  setSessionId(sessionId: number): void;
13
17
  setTransport(transport: TransportType): void;
14
- identify(identify: IIdentify, eventOptions?: EventOptions): Promise<Result>;
15
- groupIdentify(groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions): Promise<Result>;
16
- revenue(revenue: IRevenue, eventOptions?: EventOptions): Promise<Result>;
18
+ identify(identify: IIdentify, eventOptions?: EventOptions): import("@amplitude/analytics-types").AmplitudeReturn<import("@amplitude/analytics-types").Result>;
19
+ groupIdentify(groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions): import("@amplitude/analytics-types").AmplitudeReturn<import("@amplitude/analytics-types").Result>;
20
+ revenue(revenue: IRevenue, eventOptions?: EventOptions): import("@amplitude/analytics-types").AmplitudeReturn<import("@amplitude/analytics-types").Result>;
17
21
  }
18
22
  //# sourceMappingURL=browser-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-client.d.ts","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,MAAM,2BAA2B,CAAC;AAEhG,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,cAAc,EAEd,YAAY,EACZ,QAAQ,IAAI,SAAS,EACrB,MAAM,EACN,OAAO,IAAI,QAAQ,EACnB,aAAa,EACd,MAAM,4BAA4B,CAAC;AAMpC,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,aAAa,CAAC;IAC1D,IAAI,CAAC,MAAM,SAAK,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IA8D3D,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,YAAY,UAAQ;IAezF,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAQpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAQ5B,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;IAS9B,YAAY,CAAC,SAAS,EAAE,aAAa;IAQrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAe3E,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAC5B,QAAQ,EAAE,SAAS,EACnB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,CAAC;IASlB,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY;CAQvD"}
1
+ {"version":3,"file":"browser-client.d.ts","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuD,MAAM,2BAA2B,CAAC;AAS/G,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,QAAQ,IAAI,SAAS,EACrB,OAAO,IAAI,QAAQ,EACnB,aAAa,EACd,MAAM,4BAA4B,CAAC;AAYpC,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,aAAa;IAG1E,MAAM,EAAE,aAAa,CAAC;IACtB,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C,IAAI,CAAC,MAAM,SAAK,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;cAG3C,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IA2FlE,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAYpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAQ5B,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;IA+B9B,YAAY,CAAC,SAAS,EAAE,aAAa;IAQrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY;IAezD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,YAAY;IAS/G,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY;CAQvD"}
@@ -1,38 +1,47 @@
1
1
  import { __assign, __awaiter, __extends, __generator } from "tslib";
2
- import { AmplitudeCore, Destination, Identify, Revenue, UUID } from '@amplitude/analytics-core';
3
- import { CampaignTracker, getAnalyticsConnector, IdentityEventSender } from '@amplitude/analytics-client-common';
2
+ import { AmplitudeCore, Destination, Identify, returnWrapper, Revenue, UUID } from '@amplitude/analytics-core';
3
+ import { getAnalyticsConnector, getPageViewTrackingConfig, IdentityEventSender, isSessionTrackingEnabled, isFileDownloadTrackingEnabled, isFormInteractionTrackingEnabled, } from '@amplitude/analytics-client-common';
4
4
  import { convertProxyObjectToRealObject, isInstanceProxy } from './utils/snippet-helper';
5
5
  import { Context } from './plugins/context';
6
- import { useBrowserConfig, createTransport, createFlexibleStorage } from './config';
6
+ import { useBrowserConfig, createTransport } from './config';
7
7
  import { parseOldCookies } from './cookie-migration';
8
+ import { webAttributionPlugin } from '@amplitude/plugin-web-attribution-browser';
9
+ import { pageViewTrackingPlugin } from '@amplitude/plugin-page-view-tracking-browser';
10
+ import { sessionHandlerPlugin } from './plugins/session-handler';
11
+ import { formInteractionTracking } from './plugins/form-interaction-tracking';
12
+ import { fileDownloadTracking } from './plugins/file-download-tracking';
13
+ import { DEFAULT_PAGE_VIEW_EVENT, DEFAULT_SESSION_END_EVENT, DEFAULT_SESSION_START_EVENT } from './constants';
8
14
  var AmplitudeBrowser = /** @class */ (function (_super) {
9
15
  __extends(AmplitudeBrowser, _super);
10
16
  function AmplitudeBrowser() {
11
17
  return _super !== null && _super.apply(this, arguments) || this;
12
18
  }
13
19
  AmplitudeBrowser.prototype.init = function (apiKey, userId, options) {
14
- var _a, _b, _c;
15
20
  if (apiKey === void 0) { apiKey = ''; }
21
+ return returnWrapper(this._init(__assign(__assign({}, options), { userId: userId, apiKey: apiKey })));
22
+ };
23
+ AmplitudeBrowser.prototype._init = function (options) {
24
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
16
25
  return __awaiter(this, void 0, void 0, function () {
17
- var oldCookies, browserOptions, isNewSession, connector;
26
+ var oldCookies, browserOptions, isNewSession, connector, webAttribution, pageViewTrackingOptions;
18
27
  var _this = this;
19
- return __generator(this, function (_d) {
20
- switch (_d.label) {
28
+ return __generator(this, function (_k) {
29
+ switch (_k.label) {
21
30
  case 0:
22
31
  // Step 0: Block concurrent initialization
23
32
  if (this.initializing) {
24
33
  return [2 /*return*/];
25
34
  }
26
35
  this.initializing = true;
27
- return [4 /*yield*/, parseOldCookies(apiKey, options)];
36
+ return [4 /*yield*/, parseOldCookies(options.apiKey, options)];
28
37
  case 1:
29
- oldCookies = _d.sent();
30
- return [4 /*yield*/, useBrowserConfig(apiKey, __assign(__assign({}, options), { deviceId: (_a = oldCookies.deviceId) !== null && _a !== void 0 ? _a : options === null || options === void 0 ? void 0 : options.deviceId, sessionId: (_b = oldCookies.sessionId) !== null && _b !== void 0 ? _b : options === null || options === void 0 ? void 0 : options.sessionId, optOut: (_c = options === null || options === void 0 ? void 0 : options.optOut) !== null && _c !== void 0 ? _c : oldCookies.optOut, lastEventTime: oldCookies.lastEventTime, userId: userId !== null && userId !== void 0 ? userId : oldCookies.userId }))];
38
+ oldCookies = _k.sent();
39
+ return [4 /*yield*/, useBrowserConfig(options.apiKey, __assign(__assign({}, options), { deviceId: (_a = oldCookies.deviceId) !== null && _a !== void 0 ? _a : options.deviceId, sessionId: (_b = oldCookies.sessionId) !== null && _b !== void 0 ? _b : options.sessionId, optOut: (_c = options.optOut) !== null && _c !== void 0 ? _c : oldCookies.optOut, lastEventTime: oldCookies.lastEventTime, userId: (_d = options.userId) !== null && _d !== void 0 ? _d : oldCookies.userId }))];
31
40
  case 2:
32
- browserOptions = _d.sent();
41
+ browserOptions = _k.sent();
33
42
  return [4 /*yield*/, _super.prototype._init.call(this, browserOptions)];
34
43
  case 3:
35
- _d.sent();
44
+ _k.sent();
36
45
  isNewSession = !this.config.lastEventTime;
37
46
  if (!this.config.sessionId ||
38
47
  (this.config.lastEventTime && Date.now() - this.config.lastEventTime > this.config.sessionTimeout)) {
@@ -52,49 +61,61 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
52
61
  });
53
62
  // Step 4: Install plugins
54
63
  // Do not track any events before this
55
- return [4 /*yield*/, this.add(new Context())];
64
+ return [4 /*yield*/, this.add(new Destination()).promise];
56
65
  case 4:
57
66
  // Step 4: Install plugins
58
67
  // Do not track any events before this
59
- _d.sent();
60
- return [4 /*yield*/, this.add(new IdentityEventSender())];
68
+ _k.sent();
69
+ return [4 /*yield*/, this.add(new Context()).promise];
61
70
  case 5:
62
- _d.sent();
63
- return [4 /*yield*/, this.add(new Destination())];
71
+ _k.sent();
72
+ return [4 /*yield*/, this.add(sessionHandlerPlugin()).promise];
64
73
  case 6:
65
- _d.sent();
66
- this.initializing = false;
67
- // Step 5: Track attributions
68
- return [4 /*yield*/, this.runAttributionStrategy(browserOptions.attribution, isNewSession)];
74
+ _k.sent();
75
+ return [4 /*yield*/, this.add(new IdentityEventSender()).promise];
69
76
  case 7:
70
- // Step 5: Track attributions
71
- _d.sent();
77
+ _k.sent();
78
+ if (!isFileDownloadTrackingEnabled(this.config.defaultTracking)) return [3 /*break*/, 9];
79
+ return [4 /*yield*/, this.add(fileDownloadTracking()).promise];
80
+ case 8:
81
+ _k.sent();
82
+ _k.label = 9;
83
+ case 9:
84
+ if (!isFormInteractionTrackingEnabled(this.config.defaultTracking)) return [3 /*break*/, 11];
85
+ return [4 /*yield*/, this.add(formInteractionTracking()).promise];
86
+ case 10:
87
+ _k.sent();
88
+ _k.label = 11;
89
+ case 11:
90
+ if (!!((_e = this.config.attribution) === null || _e === void 0 ? void 0 : _e.disabled)) return [3 /*break*/, 13];
91
+ webAttribution = webAttributionPlugin({
92
+ excludeReferrers: (_f = this.config.attribution) === null || _f === void 0 ? void 0 : _f.excludeReferrers,
93
+ initialEmptyValue: (_g = this.config.attribution) === null || _g === void 0 ? void 0 : _g.initialEmptyValue,
94
+ resetSessionOnNewCampaign: (_h = this.config.attribution) === null || _h === void 0 ? void 0 : _h.resetSessionOnNewCampaign,
95
+ });
96
+ // For Amplitude-internal functionality
97
+ // if pluginEnabledOverride === undefined then use plugin default logic
98
+ // if pluginEnabledOverride === true then track attribution
99
+ // if pluginEnabledOverride === false then do not track attribution
100
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
101
+ webAttribution.__pluginEnabledOverride =
102
+ isNewSession || ((_j = this.config.attribution) === null || _j === void 0 ? void 0 : _j.trackNewCampaigns) ? undefined : false;
103
+ return [4 /*yield*/, this.add(webAttribution).promise];
104
+ case 12:
105
+ _k.sent();
106
+ _k.label = 13;
107
+ case 13:
108
+ pageViewTrackingOptions = getPageViewTrackingConfig(this.config);
109
+ pageViewTrackingOptions.eventType = pageViewTrackingOptions.eventType || DEFAULT_PAGE_VIEW_EVENT;
110
+ return [4 /*yield*/, this.add(pageViewTrackingPlugin(pageViewTrackingOptions)).promise];
111
+ case 14:
112
+ _k.sent();
113
+ this.initializing = false;
72
114
  // Step 6: Run queued dispatch functions
73
115
  return [4 /*yield*/, this.runQueuedFunctions('dispatchQ')];
74
- case 8:
116
+ case 15:
75
117
  // Step 6: Run queued dispatch functions
76
- _d.sent();
77
- return [2 /*return*/];
78
- }
79
- });
80
- });
81
- };
82
- AmplitudeBrowser.prototype.runAttributionStrategy = function (attributionConfig, isNewSession) {
83
- if (isNewSession === void 0) { isNewSession = false; }
84
- return __awaiter(this, void 0, void 0, function () {
85
- var track, onNewCampaign, storage, campaignTracker;
86
- return __generator(this, function (_a) {
87
- switch (_a.label) {
88
- case 0:
89
- track = this.track.bind(this);
90
- onNewCampaign = this.setSessionId.bind(this, Date.now());
91
- return [4 /*yield*/, createFlexibleStorage(this.config)];
92
- case 1:
93
- storage = _a.sent();
94
- campaignTracker = new CampaignTracker(this.config.apiKey, __assign(__assign({}, attributionConfig), { storage: storage, track: track, onNewCampaign: onNewCampaign }));
95
- return [4 /*yield*/, campaignTracker.send(isNewSession)];
96
- case 2:
97
- _a.sent();
118
+ _k.sent();
98
119
  return [2 /*return*/];
99
120
  }
100
121
  });
@@ -109,7 +130,11 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
109
130
  this.q.push(this.setUserId.bind(this, userId));
110
131
  return;
111
132
  }
112
- this.config.userId = userId;
133
+ if (userId !== this.config.userId) {
134
+ this.previousSessionUserId = this.config.userId;
135
+ this.config.userId = userId;
136
+ this.setSessionId(Date.now());
137
+ }
113
138
  };
114
139
  AmplitudeBrowser.prototype.getDeviceId = function () {
115
140
  var _a;
@@ -135,8 +160,27 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
135
160
  this.q.push(this.setSessionId.bind(this, sessionId));
136
161
  return;
137
162
  }
163
+ var previousSessionId = this.getSessionId();
164
+ var previousLastEventTime = this.config.lastEventTime;
138
165
  this.config.sessionId = sessionId;
139
166
  this.config.lastEventTime = undefined;
167
+ if (isSessionTrackingEnabled(this.config.defaultTracking)) {
168
+ if (previousSessionId && previousLastEventTime) {
169
+ var eventOptions = {
170
+ session_id: previousSessionId,
171
+ time: previousLastEventTime + 1,
172
+ };
173
+ if (this.previousSessionUserId) {
174
+ eventOptions.user_id = this.previousSessionUserId;
175
+ }
176
+ this.track(DEFAULT_SESSION_END_EVENT, undefined, eventOptions);
177
+ this.previousSessionUserId = undefined;
178
+ }
179
+ this.track(DEFAULT_SESSION_START_EVENT, undefined, {
180
+ session_id: sessionId,
181
+ time: sessionId - 1,
182
+ });
183
+ }
140
184
  };
141
185
  AmplitudeBrowser.prototype.setTransport = function (transport) {
142
186
  if (!this.config) {
@@ -1 +1 @@
1
- {"version":3,"file":"browser-client.js","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"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","sourcesContent":["import { AmplitudeCore, Destination, Identify, Revenue, UUID } from '@amplitude/analytics-core';\nimport { CampaignTracker, getAnalyticsConnector, IdentityEventSender } from '@amplitude/analytics-client-common';\nimport {\n AttributionOptions,\n BrowserConfig,\n BrowserOptions,\n Campaign,\n EventOptions,\n Identify as IIdentify,\n Result,\n Revenue as IRevenue,\n TransportType,\n} from '@amplitude/analytics-types';\nimport { convertProxyObjectToRealObject, isInstanceProxy } from './utils/snippet-helper';\nimport { Context } from './plugins/context';\nimport { useBrowserConfig, createTransport, createFlexibleStorage } from './config';\nimport { parseOldCookies } from './cookie-migration';\n\nexport class AmplitudeBrowser extends AmplitudeCore<BrowserConfig> {\n async init(apiKey = '', userId?: string, options?: BrowserOptions) {\n // Step 0: Block concurrent initialization\n if (this.initializing) {\n return;\n }\n this.initializing = true;\n\n // Step 1: Read cookies stored by old SDK\n const oldCookies = await parseOldCookies(apiKey, options);\n\n // Step 2: Create browser config\n const browserOptions = await useBrowserConfig(apiKey, {\n ...options,\n deviceId: oldCookies.deviceId ?? options?.deviceId,\n sessionId: oldCookies.sessionId ?? options?.sessionId,\n optOut: options?.optOut ?? oldCookies.optOut,\n lastEventTime: oldCookies.lastEventTime,\n userId: userId ?? oldCookies.userId,\n });\n\n await super._init(browserOptions);\n\n // Step 3: Manage session\n let isNewSession = !this.config.lastEventTime;\n if (\n !this.config.sessionId ||\n (this.config.lastEventTime && Date.now() - this.config.lastEventTime > this.config.sessionTimeout)\n ) {\n // Either\n // 1) No previous session; or\n // 2) Previous session expired\n this.setSessionId(Date.now());\n isNewSession = true;\n }\n\n // Set up the analytics connector to integrate with the experiment SDK.\n // Send events from the experiment SDK and forward identifies to the\n // identity store.\n const connector = getAnalyticsConnector();\n connector.eventBridge.setEventReceiver((event) => {\n void this.track(event.eventType, event.eventProperties);\n });\n connector.identityStore.setIdentity({\n userId: this.config.userId,\n deviceId: this.config.deviceId,\n });\n\n // Step 4: Install plugins\n // Do not track any events before this\n await this.add(new Context());\n await this.add(new IdentityEventSender());\n await this.add(new Destination());\n\n this.initializing = false;\n\n // Step 5: Track attributions\n await this.runAttributionStrategy(browserOptions.attribution, isNewSession);\n\n // Step 6: Run queued dispatch functions\n await this.runQueuedFunctions('dispatchQ');\n }\n\n async runAttributionStrategy(attributionConfig?: AttributionOptions, isNewSession = false) {\n const track = this.track.bind(this);\n const onNewCampaign = this.setSessionId.bind(this, Date.now());\n\n const storage = await createFlexibleStorage<Campaign>(this.config);\n const campaignTracker = new CampaignTracker(this.config.apiKey, {\n ...attributionConfig,\n storage,\n track,\n onNewCampaign,\n });\n\n await campaignTracker.send(isNewSession);\n }\n\n getUserId() {\n return this.config?.userId;\n }\n\n setUserId(userId: string | undefined) {\n if (!this.config) {\n this.q.push(this.setUserId.bind(this, userId));\n return;\n }\n this.config.userId = userId;\n }\n\n getDeviceId() {\n return this.config?.deviceId;\n }\n\n setDeviceId(deviceId: string) {\n if (!this.config) {\n this.q.push(this.setDeviceId.bind(this, deviceId));\n return;\n }\n this.config.deviceId = deviceId;\n }\n\n reset() {\n this.setUserId(undefined);\n this.setDeviceId(UUID());\n }\n\n getSessionId() {\n return this.config?.sessionId;\n }\n\n setSessionId(sessionId: number) {\n if (!this.config) {\n this.q.push(this.setSessionId.bind(this, sessionId));\n return;\n }\n this.config.sessionId = sessionId;\n this.config.lastEventTime = undefined;\n }\n\n setTransport(transport: TransportType) {\n if (!this.config) {\n this.q.push(this.setTransport.bind(this, transport));\n return;\n }\n this.config.transportProvider = createTransport(transport);\n }\n\n identify(identify: IIdentify, eventOptions?: EventOptions): Promise<Result> {\n if (isInstanceProxy(identify)) {\n const queue = identify._q;\n identify._q = [];\n identify = convertProxyObjectToRealObject(new Identify(), queue);\n }\n if (eventOptions?.user_id) {\n this.setUserId(eventOptions.user_id);\n }\n if (eventOptions?.device_id) {\n this.setDeviceId(eventOptions.device_id);\n }\n return super.identify(identify, eventOptions);\n }\n\n groupIdentify(\n groupType: string,\n groupName: string | string[],\n identify: IIdentify,\n eventOptions?: EventOptions,\n ): Promise<Result> {\n if (isInstanceProxy(identify)) {\n const queue = identify._q;\n identify._q = [];\n identify = convertProxyObjectToRealObject(new Identify(), queue);\n }\n return super.groupIdentify(groupType, groupName, identify, eventOptions);\n }\n\n revenue(revenue: IRevenue, eventOptions?: EventOptions) {\n if (isInstanceProxy(revenue)) {\n const queue = revenue._q;\n revenue._q = [];\n revenue = convertProxyObjectToRealObject(new Revenue(), queue);\n }\n return super.revenue(revenue, eventOptions);\n }\n}\n"]}
1
+ {"version":3,"file":"browser-client.js","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"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","sourcesContent":["import { AmplitudeCore, Destination, Identify, returnWrapper, Revenue, UUID } from '@amplitude/analytics-core';\nimport {\n getAnalyticsConnector,\n getPageViewTrackingConfig,\n IdentityEventSender,\n isSessionTrackingEnabled,\n isFileDownloadTrackingEnabled,\n isFormInteractionTrackingEnabled,\n} from '@amplitude/analytics-client-common';\nimport {\n BrowserClient,\n BrowserConfig,\n BrowserOptions,\n EventOptions,\n Identify as IIdentify,\n Revenue as IRevenue,\n TransportType,\n} from '@amplitude/analytics-types';\nimport { convertProxyObjectToRealObject, isInstanceProxy } from './utils/snippet-helper';\nimport { Context } from './plugins/context';\nimport { useBrowserConfig, createTransport } from './config';\nimport { parseOldCookies } from './cookie-migration';\nimport { webAttributionPlugin } from '@amplitude/plugin-web-attribution-browser';\nimport { pageViewTrackingPlugin } from '@amplitude/plugin-page-view-tracking-browser';\nimport { sessionHandlerPlugin } from './plugins/session-handler';\nimport { formInteractionTracking } from './plugins/form-interaction-tracking';\nimport { fileDownloadTracking } from './plugins/file-download-tracking';\nimport { DEFAULT_PAGE_VIEW_EVENT, DEFAULT_SESSION_END_EVENT, DEFAULT_SESSION_START_EVENT } from './constants';\n\nexport class AmplitudeBrowser extends AmplitudeCore implements BrowserClient {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: BrowserConfig;\n previousSessionUserId: string | undefined;\n\n init(apiKey = '', userId?: string, options?: BrowserOptions) {\n return returnWrapper(this._init({ ...options, userId, apiKey }));\n }\n protected async _init(options: BrowserOptions & { apiKey: string }) {\n // Step 0: Block concurrent initialization\n if (this.initializing) {\n return;\n }\n this.initializing = true;\n\n // Step 1: Read cookies stored by old SDK\n const oldCookies = await parseOldCookies(options.apiKey, options);\n\n // Step 2: Create browser config\n const browserOptions = await useBrowserConfig(options.apiKey, {\n ...options,\n deviceId: oldCookies.deviceId ?? options.deviceId,\n sessionId: oldCookies.sessionId ?? options.sessionId,\n optOut: options.optOut ?? oldCookies.optOut,\n lastEventTime: oldCookies.lastEventTime,\n userId: options.userId ?? oldCookies.userId,\n });\n\n await super._init(browserOptions);\n\n // Step 3: Manage session\n let isNewSession = !this.config.lastEventTime;\n if (\n !this.config.sessionId ||\n (this.config.lastEventTime && Date.now() - this.config.lastEventTime > this.config.sessionTimeout)\n ) {\n // Either\n // 1) No previous session; or\n // 2) Previous session expired\n this.setSessionId(Date.now());\n isNewSession = true;\n }\n\n // Set up the analytics connector to integrate with the experiment SDK.\n // Send events from the experiment SDK and forward identifies to the\n // identity store.\n const connector = getAnalyticsConnector();\n connector.eventBridge.setEventReceiver((event) => {\n void this.track(event.eventType, event.eventProperties);\n });\n connector.identityStore.setIdentity({\n userId: this.config.userId,\n deviceId: this.config.deviceId,\n });\n\n // Step 4: Install plugins\n // Do not track any events before this\n await this.add(new Destination()).promise;\n await this.add(new Context()).promise;\n await this.add(sessionHandlerPlugin()).promise;\n await this.add(new IdentityEventSender()).promise;\n\n if (isFileDownloadTrackingEnabled(this.config.defaultTracking)) {\n await this.add(fileDownloadTracking()).promise;\n }\n\n if (isFormInteractionTrackingEnabled(this.config.defaultTracking)) {\n await this.add(formInteractionTracking()).promise;\n }\n\n // Add web attribution plugin\n if (!this.config.attribution?.disabled) {\n const webAttribution = webAttributionPlugin({\n excludeReferrers: this.config.attribution?.excludeReferrers,\n initialEmptyValue: this.config.attribution?.initialEmptyValue,\n resetSessionOnNewCampaign: this.config.attribution?.resetSessionOnNewCampaign,\n });\n\n // For Amplitude-internal functionality\n // if pluginEnabledOverride === undefined then use plugin default logic\n // if pluginEnabledOverride === true then track attribution\n // if pluginEnabledOverride === false then do not track attribution\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n (webAttribution as any).__pluginEnabledOverride =\n isNewSession || this.config.attribution?.trackNewCampaigns ? undefined : false;\n await this.add(webAttribution).promise;\n }\n\n // Add page view plugin\n const pageViewTrackingOptions = getPageViewTrackingConfig(this.config);\n pageViewTrackingOptions.eventType = pageViewTrackingOptions.eventType || DEFAULT_PAGE_VIEW_EVENT;\n await this.add(pageViewTrackingPlugin(pageViewTrackingOptions)).promise;\n\n this.initializing = false;\n\n // Step 6: Run queued dispatch functions\n await this.runQueuedFunctions('dispatchQ');\n }\n\n getUserId() {\n return this.config?.userId;\n }\n\n setUserId(userId: string | undefined) {\n if (!this.config) {\n this.q.push(this.setUserId.bind(this, userId));\n return;\n }\n if (userId !== this.config.userId) {\n this.previousSessionUserId = this.config.userId;\n this.config.userId = userId;\n this.setSessionId(Date.now());\n }\n }\n\n getDeviceId() {\n return this.config?.deviceId;\n }\n\n setDeviceId(deviceId: string) {\n if (!this.config) {\n this.q.push(this.setDeviceId.bind(this, deviceId));\n return;\n }\n this.config.deviceId = deviceId;\n }\n\n reset() {\n this.setUserId(undefined);\n this.setDeviceId(UUID());\n }\n\n getSessionId() {\n return this.config?.sessionId;\n }\n\n setSessionId(sessionId: number) {\n if (!this.config) {\n this.q.push(this.setSessionId.bind(this, sessionId));\n return;\n }\n const previousSessionId = this.getSessionId();\n const previousLastEventTime = this.config.lastEventTime;\n\n this.config.sessionId = sessionId;\n this.config.lastEventTime = undefined;\n\n if (isSessionTrackingEnabled(this.config.defaultTracking)) {\n if (previousSessionId && previousLastEventTime) {\n const eventOptions: EventOptions = {\n session_id: previousSessionId,\n time: previousLastEventTime + 1,\n };\n if (this.previousSessionUserId) {\n eventOptions.user_id = this.previousSessionUserId;\n }\n this.track(DEFAULT_SESSION_END_EVENT, undefined, eventOptions);\n this.previousSessionUserId = undefined;\n }\n\n this.track(DEFAULT_SESSION_START_EVENT, undefined, {\n session_id: sessionId,\n time: sessionId - 1,\n });\n }\n }\n\n setTransport(transport: TransportType) {\n if (!this.config) {\n this.q.push(this.setTransport.bind(this, transport));\n return;\n }\n this.config.transportProvider = createTransport(transport);\n }\n\n identify(identify: IIdentify, eventOptions?: EventOptions) {\n if (isInstanceProxy(identify)) {\n const queue = identify._q;\n identify._q = [];\n identify = convertProxyObjectToRealObject(new Identify(), queue);\n }\n if (eventOptions?.user_id) {\n this.setUserId(eventOptions.user_id);\n }\n if (eventOptions?.device_id) {\n this.setDeviceId(eventOptions.device_id);\n }\n return super.identify(identify, eventOptions);\n }\n\n groupIdentify(groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions) {\n if (isInstanceProxy(identify)) {\n const queue = identify._q;\n identify._q = [];\n identify = convertProxyObjectToRealObject(new Identify(), queue);\n }\n return super.groupIdentify(groupType, groupName, identify, eventOptions);\n }\n\n revenue(revenue: IRevenue, eventOptions?: EventOptions) {\n if (isInstanceProxy(revenue)) {\n const queue = revenue._q;\n revenue._q = [];\n revenue = convertProxyObjectToRealObject(new Revenue(), queue);\n }\n return super.revenue(revenue, eventOptions);\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { AttributionOptions, Event, BrowserOptions, BrowserConfig as IBrowserConfig, Storage, TrackingOptions, TransportType, UserSession } from '@amplitude/analytics-types';
1
+ import { AttributionOptions, Event, BrowserOptions, BrowserConfig as IBrowserConfig, DefaultTrackingOptions, Storage, TrackingOptions, TransportType, UserSession } from '@amplitude/analytics-types';
2
2
  import { Config, MemoryStorage } from '@amplitude/analytics-core';
3
3
  import { FetchTransport } from '@amplitude/analytics-client-common';
4
4
  import { XHRTransport } from './transports/xhr';
@@ -23,6 +23,7 @@ export declare class BrowserConfig extends Config implements IBrowserConfig {
23
23
  cookieSecure: boolean;
24
24
  cookieUpgrade: boolean;
25
25
  cookieStorage: Storage<UserSession>;
26
+ defaultTracking?: DefaultTrackingOptions | boolean;
26
27
  disableCookies: boolean;
27
28
  domain: string;
28
29
  partnerId?: string;
@@ -47,7 +48,7 @@ export declare class BrowserConfig extends Config implements IBrowserConfig {
47
48
  private updateStorage;
48
49
  }
49
50
  export declare const useBrowserConfig: (apiKey: string, options?: BrowserOptions) => Promise<IBrowserConfig>;
50
- export declare const createCookieStorage: (overrides?: BrowserOptions, baseConfig?: {
51
+ export declare const createCookieStorage: <T>(overrides?: BrowserOptions, baseConfig?: {
51
52
  cookieExpiration: number;
52
53
  cookieSameSite: string;
53
54
  cookieSecure: boolean;
@@ -58,8 +59,7 @@ export declare const createCookieStorage: (overrides?: BrowserOptions, baseConfi
58
59
  sessionTimeout: number;
59
60
  trackingOptions: Required<TrackingOptions>;
60
61
  transportProvider: FetchTransport;
61
- }) => Promise<Storage<UserSession>>;
62
- export declare const createFlexibleStorage: <T>(options: BrowserOptions) => Promise<Storage<T>>;
62
+ }) => Promise<Storage<T>>;
63
63
  export declare const createEventsStorage: (overrides?: BrowserOptions) => Promise<Storage<Event[]> | undefined>;
64
64
  export declare const createTransport: (transport?: TransportType | keyof typeof TransportType) => FetchTransport | XHRTransport | SendBeaconTransport;
65
65
  export declare const getTopLevelDomain: (url?: string) => Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,cAAc,EACd,aAAa,IAAI,cAAc,EAC/B,OAAO,EACP,eAAe,EACf,aAAa,EACb,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAQ,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAgD,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGlH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,gBAAgB;;;;;;;;;;;CAuB5B,CAAC;AAEF,qBAAa,aAAc,SAAQ,MAAO,YAAW,cAAc;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IAGjC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEf,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IAiCpD,IAAI,QAAQ,IAIW,MAAM,GAAG,SAAS,CAFxC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAKxC;IAED,IAAI,MAAM,IAIS,MAAM,GAAG,SAAS,CAFpC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAKpC;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAK1C;IAED,IAAI,MAAM,IAIS,OAAO,CAFzB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAKzB;IAED,IAAI,aAAa,IAIgB,MAAM,GAAG,SAAS,CAFlD;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAKlD;IAED,OAAO,CAAC,aAAa;CAUtB;AAED,eAAO,MAAM,gBAAgB,WAAkB,MAAM,YAAY,cAAc,KAAG,QAAQ,cAAc,CAgCvG,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAClB,cAAc;;;;;;;;;;;MAEzB,QAAQ,QAAQ,WAAW,CAAC,CAO9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,eAAsB,cAAc,wBAcrE,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAAsB,cAAc,KAAG,QAAQ,QAAQ,KAAK,EAAE,CAAC,GAAG,SAAS,CAe1G,CAAC;AAEF,eAAO,MAAM,eAAe,eAAgB,aAAa,GAAG,MAAM,oBAAoB,wDAQrF,CAAC;AAEF,eAAO,MAAM,iBAAiB,SAAgB,MAAM,oBA0BnD,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,cAAc,EACd,aAAa,IAAI,cAAc,EAC/B,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,aAAa,EACb,WAAW,EACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAQ,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAgD,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGlH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,gBAAgB;;;;;;;;;;;CAuB5B,CAAC;AAEF,qBAAa,aAAc,SAAQ,MAAO,YAAW,cAAc;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC;IACnD,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IAGjC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEf,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IAmCpD,IAAI,QAAQ,IAIW,MAAM,GAAG,SAAS,CAFxC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAKxC;IAED,IAAI,MAAM,IAIS,MAAM,GAAG,SAAS,CAFpC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAKpC;IAED,IAAI,SAAS,IAIY,MAAM,GAAG,SAAS,CAF1C;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAK1C;IAED,IAAI,MAAM,IAIS,OAAO,CAFzB;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAKzB;IAED,IAAI,aAAa,IAIgB,MAAM,GAAG,SAAS,CAFlD;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAKlD;IAED,OAAO,CAAC,aAAa;CAUtB;AAED,eAAO,MAAM,gBAAgB,WAAkB,MAAM,YAAY,cAAc,KAAG,QAAQ,cAAc,CAgCvG,CAAC;AAEF,eAAO,MAAM,mBAAmB,kBAClB,cAAc;;;;;;;;;;;yBAS3B,CAAC;AAkBF,eAAO,MAAM,mBAAmB,eAAsB,cAAc,KAAG,QAAQ,QAAQ,KAAK,EAAE,CAAC,GAAG,SAAS,CAe1G,CAAC;AAEF,eAAO,MAAM,eAAe,eAAgB,aAAa,GAAG,MAAM,oBAAoB,wDAQrF,CAAC;AAEF,eAAO,MAAM,iBAAiB,SAAgB,MAAM,oBA0BnD,CAAC"}
package/lib/esm/config.js CHANGED
@@ -51,7 +51,9 @@ var BrowserConfig = /** @class */ (function (_super) {
51
51
  _this.cookieSameSite = (_c = options === null || options === void 0 ? void 0 : options.cookieSameSite) !== null && _c !== void 0 ? _c : defaultConfig.cookieSameSite;
52
52
  _this.cookieSecure = (_d = options === null || options === void 0 ? void 0 : options.cookieSecure) !== null && _d !== void 0 ? _d : defaultConfig.cookieSecure;
53
53
  _this.cookieUpgrade = (_e = options === null || options === void 0 ? void 0 : options.cookieUpgrade) !== null && _e !== void 0 ? _e : defaultConfig.cookieUpgrade;
54
+ _this.defaultTracking = options === null || options === void 0 ? void 0 : options.defaultTracking;
54
55
  _this.disableCookies = (_f = options === null || options === void 0 ? void 0 : options.disableCookies) !== null && _f !== void 0 ? _f : defaultConfig.disableCookies;
56
+ _this.defaultTracking = options === null || options === void 0 ? void 0 : options.defaultTracking;
55
57
  _this.domain = (_g = options === null || options === void 0 ? void 0 : options.domain) !== null && _g !== void 0 ? _g : defaultConfig.domain;
56
58
  _this.partnerId = options === null || options === void 0 ? void 0 : options.partnerId;
57
59
  _this.sessionTimeout = (_h = options === null || options === void 0 ? void 0 : options.sessionTimeout) !== null && _h !== void 0 ? _h : defaultConfig.sessionTimeout;
@@ -138,40 +140,47 @@ var BrowserConfig = /** @class */ (function (_super) {
138
140
  }(Config));
139
141
  export { BrowserConfig };
140
142
  export var useBrowserConfig = function (apiKey, options) { return __awaiter(void 0, void 0, void 0, function () {
141
- var defaultConfig, domain, _a, cookieStorage, previousCookies, queryParams, deviceId, lastEventTime, optOut, sessionId, userId, _b, _c, _d;
142
- var _e;
143
- var _f, _g, _h, _j, _k, _l, _m, _o, _p;
144
- return __generator(this, function (_q) {
145
- switch (_q.label) {
143
+ var defaultConfig, domain, _a, _b, cookieStorage, previousCookies, queryParams, deviceId, lastEventTime, optOut, sessionId, userId, _c, _d, _e;
144
+ var _f;
145
+ var _g, _h, _j, _k, _l, _m, _o, _p, _q;
146
+ return __generator(this, function (_r) {
147
+ switch (_r.label) {
146
148
  case 0:
147
149
  defaultConfig = getDefaultConfig();
148
- if (!((_f = options === null || options === void 0 ? void 0 : options.domain) !== null && _f !== void 0)) return [3 /*break*/, 1];
149
- _a = _f;
150
- return [3 /*break*/, 3];
151
- case 1: return [4 /*yield*/, getTopLevelDomain()];
152
- case 2:
153
- _a = (_q.sent());
154
- _q.label = 3;
150
+ if (!(options === null || options === void 0 ? void 0 : options.disableCookies)) return [3 /*break*/, 1];
151
+ _a = '';
152
+ return [3 /*break*/, 5];
153
+ case 1:
154
+ if (!((_g = options === null || options === void 0 ? void 0 : options.domain) !== null && _g !== void 0)) return [3 /*break*/, 2];
155
+ _b = _g;
156
+ return [3 /*break*/, 4];
157
+ case 2: return [4 /*yield*/, getTopLevelDomain()];
155
158
  case 3:
159
+ _b = (_r.sent());
160
+ _r.label = 4;
161
+ case 4:
162
+ _a = _b;
163
+ _r.label = 5;
164
+ case 5:
156
165
  domain = _a;
157
166
  return [4 /*yield*/, createCookieStorage(__assign(__assign({}, options), { domain: domain }))];
158
- case 4:
159
- cookieStorage = _q.sent();
167
+ case 6:
168
+ cookieStorage = _r.sent();
160
169
  return [4 /*yield*/, cookieStorage.get(getCookieName(apiKey))];
161
- case 5:
162
- previousCookies = _q.sent();
170
+ case 7:
171
+ previousCookies = _r.sent();
163
172
  queryParams = getQueryParams();
164
- deviceId = (_j = (_h = (_g = options === null || options === void 0 ? void 0 : options.deviceId) !== null && _g !== void 0 ? _g : queryParams.deviceId) !== null && _h !== void 0 ? _h : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.deviceId) !== null && _j !== void 0 ? _j : UUID();
165
- lastEventTime = (_k = options === null || options === void 0 ? void 0 : options.lastEventTime) !== null && _k !== void 0 ? _k : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.lastEventTime;
166
- optOut = (_l = options === null || options === void 0 ? void 0 : options.optOut) !== null && _l !== void 0 ? _l : Boolean(previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.optOut);
167
- sessionId = (_m = options === null || options === void 0 ? void 0 : options.sessionId) !== null && _m !== void 0 ? _m : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.sessionId;
168
- userId = (_o = options === null || options === void 0 ? void 0 : options.userId) !== null && _o !== void 0 ? _o : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.userId;
169
- _b = BrowserConfig.bind;
170
- _c = [void 0, apiKey];
171
- _d = [__assign({}, options)];
172
- _e = { cookieStorage: cookieStorage, deviceId: deviceId, domain: domain, lastEventTime: lastEventTime, optOut: optOut, sessionId: sessionId };
173
+ deviceId = (_k = (_j = (_h = options === null || options === void 0 ? void 0 : options.deviceId) !== null && _h !== void 0 ? _h : queryParams.deviceId) !== null && _j !== void 0 ? _j : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.deviceId) !== null && _k !== void 0 ? _k : UUID();
174
+ lastEventTime = (_l = options === null || options === void 0 ? void 0 : options.lastEventTime) !== null && _l !== void 0 ? _l : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.lastEventTime;
175
+ optOut = (_m = options === null || options === void 0 ? void 0 : options.optOut) !== null && _m !== void 0 ? _m : Boolean(previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.optOut);
176
+ sessionId = (_o = options === null || options === void 0 ? void 0 : options.sessionId) !== null && _o !== void 0 ? _o : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.sessionId;
177
+ userId = (_p = options === null || options === void 0 ? void 0 : options.userId) !== null && _p !== void 0 ? _p : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.userId;
178
+ _c = BrowserConfig.bind;
179
+ _d = [void 0, apiKey];
180
+ _e = [__assign({}, options)];
181
+ _f = { cookieStorage: cookieStorage, deviceId: deviceId, domain: domain, lastEventTime: lastEventTime, optOut: optOut, sessionId: sessionId };
173
182
  return [4 /*yield*/, createEventsStorage(options)];
174
- case 6: return [2 /*return*/, new (_b.apply(BrowserConfig, _c.concat([__assign.apply(void 0, _d.concat([(_e.storageProvider = _q.sent(), _e.trackingOptions = __assign(__assign({}, defaultConfig.trackingOptions), options === null || options === void 0 ? void 0 : options.trackingOptions), _e.transportProvider = (_p = options === null || options === void 0 ? void 0 : options.transportProvider) !== null && _p !== void 0 ? _p : createTransport(options === null || options === void 0 ? void 0 : options.transport), _e.userId = userId, _e)]))])))()];
183
+ case 8: return [2 /*return*/, new (_c.apply(BrowserConfig, _d.concat([__assign.apply(void 0, _e.concat([(_f.storageProvider = _r.sent(), _f.trackingOptions = __assign(__assign({}, defaultConfig.trackingOptions), options === null || options === void 0 ? void 0 : options.trackingOptions), _f.transportProvider = (_q = options === null || options === void 0 ? void 0 : options.transportProvider) !== null && _q !== void 0 ? _q : createTransport(options === null || options === void 0 ? void 0 : options.transport), _f.userId = userId, _f)]))])))()];
175
184
  }
176
185
  });
177
186
  }); };
@@ -199,7 +208,7 @@ export var createCookieStorage = function (overrides, baseConfig) {
199
208
  });
200
209
  });
201
210
  };
202
- export var createFlexibleStorage = function (options) { return __awaiter(void 0, void 0, void 0, function () {
211
+ var createFlexibleStorage = function (options) { return __awaiter(void 0, void 0, void 0, function () {
203
212
  var storage, _a;
204
213
  return __generator(this, function (_b) {
205
214
  switch (_b.label) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AttributionOptions,\n Event,\n BrowserOptions,\n BrowserConfig as IBrowserConfig,\n Storage,\n TrackingOptions,\n TransportType,\n UserSession,\n} from '@amplitude/analytics-types';\nimport { Config, MemoryStorage, UUID } from '@amplitude/analytics-core';\nimport { CookieStorage, getCookieName, getQueryParams, FetchTransport } from '@amplitude/analytics-client-common';\n\nimport { LocalStorage } from './storage/local-storage';\nimport { XHRTransport } from './transports/xhr';\nimport { SendBeaconTransport } from './transports/send-beacon';\n\nexport const getDefaultConfig = () => {\n const cookieStorage = new MemoryStorage<UserSession>();\n const trackingOptions: Required<TrackingOptions> = {\n deviceManufacturer: true,\n deviceModel: true,\n ipAddress: true,\n language: true,\n osName: true,\n osVersion: true,\n platform: true,\n };\n return {\n cookieExpiration: 365,\n cookieSameSite: 'Lax',\n cookieSecure: false,\n cookieStorage,\n cookieUpgrade: true,\n disableCookies: false,\n domain: '',\n sessionTimeout: 30 * 60 * 1000,\n trackingOptions,\n transportProvider: new FetchTransport(),\n };\n};\n\nexport class BrowserConfig extends Config implements IBrowserConfig {\n appVersion?: string;\n attribution?: AttributionOptions;\n cookieExpiration: number;\n cookieSameSite: string;\n cookieSecure: boolean;\n cookieUpgrade: boolean;\n cookieStorage: Storage<UserSession>;\n disableCookies: boolean;\n domain: string;\n partnerId?: string;\n sessionTimeout: number;\n trackingOptions: TrackingOptions;\n\n // NOTE: These protected properties are used to cache values from async storage\n protected _deviceId?: string;\n protected _lastEventTime?: number;\n protected _optOut = false;\n protected _sessionId?: number;\n protected _userId?: string;\n\n constructor(apiKey: string, options?: BrowserOptions) {\n const defaultConfig = getDefaultConfig();\n super({\n flushIntervalMillis: 1000,\n flushMaxRetries: 5,\n flushQueueSize: 30,\n transportProvider: defaultConfig.transportProvider,\n ...options,\n apiKey,\n });\n\n // NOTE: Define `cookieStorage` first to persist user session\n // user session properties expect `cookieStorage` to be defined\n this.cookieStorage = options?.cookieStorage ?? defaultConfig.cookieStorage;\n this.deviceId = options?.deviceId;\n this.lastEventTime = options?.lastEventTime;\n this.optOut = Boolean(options?.optOut);\n this.sessionId = options?.sessionId;\n this.userId = options?.userId;\n\n this.appVersion = options?.appVersion;\n this.attribution = options?.attribution;\n this.cookieExpiration = options?.cookieExpiration ?? defaultConfig.cookieExpiration;\n this.cookieSameSite = options?.cookieSameSite ?? defaultConfig.cookieSameSite;\n this.cookieSecure = options?.cookieSecure ?? defaultConfig.cookieSecure;\n this.cookieUpgrade = options?.cookieUpgrade ?? defaultConfig.cookieUpgrade;\n this.disableCookies = options?.disableCookies ?? defaultConfig.disableCookies;\n this.domain = options?.domain ?? defaultConfig.domain;\n this.partnerId = options?.partnerId;\n this.sessionTimeout = options?.sessionTimeout ?? defaultConfig.sessionTimeout;\n this.trackingOptions = options?.trackingOptions ?? defaultConfig.trackingOptions;\n }\n\n get deviceId() {\n return this._deviceId;\n }\n\n set deviceId(deviceId: string | undefined) {\n if (this._deviceId !== deviceId) {\n this._deviceId = deviceId;\n this.updateStorage();\n }\n }\n\n get userId() {\n return this._userId;\n }\n\n set userId(userId: string | undefined) {\n if (this._userId !== userId) {\n this._userId = userId;\n this.updateStorage();\n }\n }\n\n get sessionId() {\n return this._sessionId;\n }\n\n set sessionId(sessionId: number | undefined) {\n if (this._sessionId !== sessionId) {\n this._sessionId = sessionId;\n this.updateStorage();\n }\n }\n\n get optOut() {\n return this._optOut;\n }\n\n set optOut(optOut: boolean) {\n if (this._optOut !== optOut) {\n this._optOut = optOut;\n this.updateStorage();\n }\n }\n\n get lastEventTime() {\n return this._lastEventTime;\n }\n\n set lastEventTime(lastEventTime: number | undefined) {\n if (this._lastEventTime !== lastEventTime) {\n this._lastEventTime = lastEventTime;\n this.updateStorage();\n }\n }\n\n private updateStorage() {\n const cache = {\n deviceId: this._deviceId,\n userId: this._userId,\n sessionId: this._sessionId,\n optOut: this._optOut,\n lastEventTime: this._lastEventTime,\n };\n void this.cookieStorage?.set(getCookieName(this.apiKey), cache);\n }\n}\n\nexport const useBrowserConfig = async (apiKey: string, options?: BrowserOptions): Promise<IBrowserConfig> => {\n const defaultConfig = getDefaultConfig();\n\n // create cookie storage\n const domain = options?.domain ?? (await getTopLevelDomain());\n const cookieStorage = await createCookieStorage({ ...options, domain });\n const previousCookies = await cookieStorage.get(getCookieName(apiKey));\n const queryParams = getQueryParams();\n\n // reconcile user session\n const deviceId = options?.deviceId ?? queryParams.deviceId ?? previousCookies?.deviceId ?? UUID();\n const lastEventTime = options?.lastEventTime ?? previousCookies?.lastEventTime;\n const optOut = options?.optOut ?? Boolean(previousCookies?.optOut);\n const sessionId = options?.sessionId ?? previousCookies?.sessionId;\n const userId = options?.userId ?? previousCookies?.userId;\n\n return new BrowserConfig(apiKey, {\n ...options,\n cookieStorage,\n deviceId,\n domain,\n lastEventTime,\n optOut,\n sessionId,\n storageProvider: await createEventsStorage(options),\n trackingOptions: {\n ...defaultConfig.trackingOptions,\n ...options?.trackingOptions,\n },\n transportProvider: options?.transportProvider ?? createTransport(options?.transport),\n userId,\n });\n};\n\nexport const createCookieStorage = async (\n overrides?: BrowserOptions,\n baseConfig = getDefaultConfig(),\n): Promise<Storage<UserSession>> => {\n const options = { ...baseConfig, ...overrides };\n const cookieStorage = overrides?.cookieStorage;\n if (!cookieStorage || !(await cookieStorage.isEnabled())) {\n return createFlexibleStorage<UserSession>(options);\n }\n return cookieStorage;\n};\n\nexport const createFlexibleStorage = async <T>(options: BrowserOptions): Promise<Storage<T>> => {\n let storage: Storage<T> = new CookieStorage({\n domain: options.domain,\n expirationDays: options.cookieExpiration,\n sameSite: options.cookieSameSite,\n secure: options.cookieSecure,\n });\n if (options.disableCookies || !(await storage.isEnabled())) {\n storage = new LocalStorage();\n if (!(await storage.isEnabled())) {\n storage = new MemoryStorage();\n }\n }\n return storage;\n};\n\nexport const createEventsStorage = async (overrides?: BrowserOptions): Promise<Storage<Event[]> | undefined> => {\n const hasStorageProviderProperty = overrides && Object.prototype.hasOwnProperty.call(overrides, 'storageProvider');\n // If storageProperty is explicitly undefined `{ storageProperty: undefined }`\n // then storageProvider is undefined\n // If storageProvider is implicitly undefined `{ }`\n // then storageProvider is LocalStorage\n // Otherwise storageProvider is overriden\n if (!hasStorageProviderProperty || overrides.storageProvider) {\n for (const storage of [overrides?.storageProvider, new LocalStorage<Event[]>()]) {\n if (storage && (await storage.isEnabled())) {\n return storage;\n }\n }\n }\n return undefined;\n};\n\nexport const createTransport = (transport?: TransportType | keyof typeof TransportType) => {\n if (transport === TransportType.XHR) {\n return new XHRTransport();\n }\n if (transport === TransportType.SendBeacon) {\n return new SendBeaconTransport();\n }\n return getDefaultConfig().transportProvider;\n};\n\nexport const getTopLevelDomain = async (url?: string) => {\n if (!(await new CookieStorage<number>().isEnabled()) || (!url && typeof location === 'undefined')) {\n return '';\n }\n\n const host = url ?? location.hostname;\n const parts = host.split('.');\n const levels = [];\n const storageKey = 'AMP_TLDTEST';\n\n for (let i = parts.length - 2; i >= 0; --i) {\n levels.push(parts.slice(i).join('.'));\n }\n for (let i = 0; i < levels.length; i++) {\n const domain = levels[i];\n const options = { domain: '.' + domain };\n const storage = new CookieStorage<number>(options);\n await storage.set(storageKey, 1);\n const value = await storage.get(storageKey);\n if (value) {\n await storage.remove(storageKey);\n return '.' + domain;\n }\n }\n\n return '';\n};\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AttributionOptions,\n Event,\n BrowserOptions,\n BrowserConfig as IBrowserConfig,\n DefaultTrackingOptions,\n Storage,\n TrackingOptions,\n TransportType,\n UserSession,\n} from '@amplitude/analytics-types';\nimport { Config, MemoryStorage, UUID } from '@amplitude/analytics-core';\nimport { CookieStorage, getCookieName, getQueryParams, FetchTransport } from '@amplitude/analytics-client-common';\n\nimport { LocalStorage } from './storage/local-storage';\nimport { XHRTransport } from './transports/xhr';\nimport { SendBeaconTransport } from './transports/send-beacon';\n\nexport const getDefaultConfig = () => {\n const cookieStorage = new MemoryStorage<UserSession>();\n const trackingOptions: Required<TrackingOptions> = {\n deviceManufacturer: true,\n deviceModel: true,\n ipAddress: true,\n language: true,\n osName: true,\n osVersion: true,\n platform: true,\n };\n return {\n cookieExpiration: 365,\n cookieSameSite: 'Lax',\n cookieSecure: false,\n cookieStorage,\n cookieUpgrade: true,\n disableCookies: false,\n domain: '',\n sessionTimeout: 30 * 60 * 1000,\n trackingOptions,\n transportProvider: new FetchTransport(),\n };\n};\n\nexport class BrowserConfig extends Config implements IBrowserConfig {\n appVersion?: string;\n attribution?: AttributionOptions;\n cookieExpiration: number;\n cookieSameSite: string;\n cookieSecure: boolean;\n cookieUpgrade: boolean;\n cookieStorage: Storage<UserSession>;\n defaultTracking?: DefaultTrackingOptions | boolean;\n disableCookies: boolean;\n domain: string;\n partnerId?: string;\n sessionTimeout: number;\n trackingOptions: TrackingOptions;\n\n // NOTE: These protected properties are used to cache values from async storage\n protected _deviceId?: string;\n protected _lastEventTime?: number;\n protected _optOut = false;\n protected _sessionId?: number;\n protected _userId?: string;\n\n constructor(apiKey: string, options?: BrowserOptions) {\n const defaultConfig = getDefaultConfig();\n super({\n flushIntervalMillis: 1000,\n flushMaxRetries: 5,\n flushQueueSize: 30,\n transportProvider: defaultConfig.transportProvider,\n ...options,\n apiKey,\n });\n\n // NOTE: Define `cookieStorage` first to persist user session\n // user session properties expect `cookieStorage` to be defined\n this.cookieStorage = options?.cookieStorage ?? defaultConfig.cookieStorage;\n this.deviceId = options?.deviceId;\n this.lastEventTime = options?.lastEventTime;\n this.optOut = Boolean(options?.optOut);\n this.sessionId = options?.sessionId;\n this.userId = options?.userId;\n\n this.appVersion = options?.appVersion;\n this.attribution = options?.attribution;\n this.cookieExpiration = options?.cookieExpiration ?? defaultConfig.cookieExpiration;\n this.cookieSameSite = options?.cookieSameSite ?? defaultConfig.cookieSameSite;\n this.cookieSecure = options?.cookieSecure ?? defaultConfig.cookieSecure;\n this.cookieUpgrade = options?.cookieUpgrade ?? defaultConfig.cookieUpgrade;\n this.defaultTracking = options?.defaultTracking;\n this.disableCookies = options?.disableCookies ?? defaultConfig.disableCookies;\n this.defaultTracking = options?.defaultTracking;\n this.domain = options?.domain ?? defaultConfig.domain;\n this.partnerId = options?.partnerId;\n this.sessionTimeout = options?.sessionTimeout ?? defaultConfig.sessionTimeout;\n this.trackingOptions = options?.trackingOptions ?? defaultConfig.trackingOptions;\n }\n\n get deviceId() {\n return this._deviceId;\n }\n\n set deviceId(deviceId: string | undefined) {\n if (this._deviceId !== deviceId) {\n this._deviceId = deviceId;\n this.updateStorage();\n }\n }\n\n get userId() {\n return this._userId;\n }\n\n set userId(userId: string | undefined) {\n if (this._userId !== userId) {\n this._userId = userId;\n this.updateStorage();\n }\n }\n\n get sessionId() {\n return this._sessionId;\n }\n\n set sessionId(sessionId: number | undefined) {\n if (this._sessionId !== sessionId) {\n this._sessionId = sessionId;\n this.updateStorage();\n }\n }\n\n get optOut() {\n return this._optOut;\n }\n\n set optOut(optOut: boolean) {\n if (this._optOut !== optOut) {\n this._optOut = optOut;\n this.updateStorage();\n }\n }\n\n get lastEventTime() {\n return this._lastEventTime;\n }\n\n set lastEventTime(lastEventTime: number | undefined) {\n if (this._lastEventTime !== lastEventTime) {\n this._lastEventTime = lastEventTime;\n this.updateStorage();\n }\n }\n\n private updateStorage() {\n const cache = {\n deviceId: this._deviceId,\n userId: this._userId,\n sessionId: this._sessionId,\n optOut: this._optOut,\n lastEventTime: this._lastEventTime,\n };\n void this.cookieStorage?.set(getCookieName(this.apiKey), cache);\n }\n}\n\nexport const useBrowserConfig = async (apiKey: string, options?: BrowserOptions): Promise<IBrowserConfig> => {\n const defaultConfig = getDefaultConfig();\n\n // create cookie storage\n const domain = options?.disableCookies ? '' : options?.domain ?? (await getTopLevelDomain());\n const cookieStorage = await createCookieStorage<UserSession>({ ...options, domain });\n const previousCookies = await cookieStorage.get(getCookieName(apiKey));\n const queryParams = getQueryParams();\n\n // reconcile user session\n const deviceId = options?.deviceId ?? queryParams.deviceId ?? previousCookies?.deviceId ?? UUID();\n const lastEventTime = options?.lastEventTime ?? previousCookies?.lastEventTime;\n const optOut = options?.optOut ?? Boolean(previousCookies?.optOut);\n const sessionId = options?.sessionId ?? previousCookies?.sessionId;\n const userId = options?.userId ?? previousCookies?.userId;\n\n return new BrowserConfig(apiKey, {\n ...options,\n cookieStorage,\n deviceId,\n domain,\n lastEventTime,\n optOut,\n sessionId,\n storageProvider: await createEventsStorage(options),\n trackingOptions: {\n ...defaultConfig.trackingOptions,\n ...options?.trackingOptions,\n },\n transportProvider: options?.transportProvider ?? createTransport(options?.transport),\n userId,\n });\n};\n\nexport const createCookieStorage = async <T>(\n overrides?: BrowserOptions,\n baseConfig = getDefaultConfig(),\n): Promise<Storage<T>> => {\n const options = { ...baseConfig, ...overrides };\n const cookieStorage = overrides?.cookieStorage as Storage<T>;\n if (!cookieStorage || !(await cookieStorage.isEnabled())) {\n return createFlexibleStorage<T>(options);\n }\n return cookieStorage;\n};\n\nconst createFlexibleStorage = async <T>(options: BrowserOptions): Promise<Storage<T>> => {\n let storage: Storage<T> = new CookieStorage({\n domain: options.domain,\n expirationDays: options.cookieExpiration,\n sameSite: options.cookieSameSite,\n secure: options.cookieSecure,\n });\n if (options.disableCookies || !(await storage.isEnabled())) {\n storage = new LocalStorage();\n if (!(await storage.isEnabled())) {\n storage = new MemoryStorage();\n }\n }\n return storage;\n};\n\nexport const createEventsStorage = async (overrides?: BrowserOptions): Promise<Storage<Event[]> | undefined> => {\n const hasStorageProviderProperty = overrides && Object.prototype.hasOwnProperty.call(overrides, 'storageProvider');\n // If storageProperty is explicitly undefined `{ storageProperty: undefined }`\n // then storageProvider is undefined\n // If storageProvider is implicitly undefined `{ }`\n // then storageProvider is LocalStorage\n // Otherwise storageProvider is overriden\n if (!hasStorageProviderProperty || overrides.storageProvider) {\n for (const storage of [overrides?.storageProvider, new LocalStorage<Event[]>()]) {\n if (storage && (await storage.isEnabled())) {\n return storage;\n }\n }\n }\n return undefined;\n};\n\nexport const createTransport = (transport?: TransportType | keyof typeof TransportType) => {\n if (transport === TransportType.XHR) {\n return new XHRTransport();\n }\n if (transport === TransportType.SendBeacon) {\n return new SendBeaconTransport();\n }\n return getDefaultConfig().transportProvider;\n};\n\nexport const getTopLevelDomain = async (url?: string) => {\n if (!(await new CookieStorage<number>().isEnabled()) || (!url && typeof location === 'undefined')) {\n return '';\n }\n\n const host = url ?? location.hostname;\n const parts = host.split('.');\n const levels = [];\n const storageKey = 'AMP_TLDTEST';\n\n for (let i = parts.length - 2; i >= 0; --i) {\n levels.push(parts.slice(i).join('.'));\n }\n for (let i = 0; i < levels.length; i++) {\n const domain = levels[i];\n const options = { domain: '.' + domain };\n const storage = new CookieStorage<number>(options);\n await storage.set(storageKey, 1);\n const value = await storage.get(storageKey);\n if (value) {\n await storage.remove(storageKey);\n return '.' + domain;\n }\n }\n\n return '';\n};\n"]}
@@ -0,0 +1,7 @@
1
+ export declare const DEFAULT_PAGE_VIEW_EVENT = "[Amplitude] Page View";
2
+ export declare const DEFAULT_SESSION_START_EVENT = "session_start";
3
+ export declare const DEFAULT_SESSION_END_EVENT = "session_end";
4
+ export declare const DEFAULT_FORM_START_EVENT = "[Amplitude] Form Start";
5
+ export declare const DEFAULT_FORM_SUBMIT_EVENT = "[Amplitude] Form Submit";
6
+ export declare const DEFAULT_FILE_DOWNLOAD_EVENT = "[Amplitude] File Download";
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAC/D,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAC3D,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AACvD,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AACjE,eAAO,MAAM,yBAAyB,4BAA4B,CAAC;AACnE,eAAO,MAAM,2BAA2B,8BAA8B,CAAC"}
@@ -0,0 +1,7 @@
1
+ export var DEFAULT_PAGE_VIEW_EVENT = '[Amplitude] Page View';
2
+ export var DEFAULT_SESSION_START_EVENT = 'session_start';
3
+ export var DEFAULT_SESSION_END_EVENT = 'session_end';
4
+ export var DEFAULT_FORM_START_EVENT = '[Amplitude] Form Start';
5
+ export var DEFAULT_FORM_SUBMIT_EVENT = '[Amplitude] Form Submit';
6
+ export var DEFAULT_FILE_DOWNLOAD_EVENT = '[Amplitude] File Download';
7
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,uBAAuB,GAAG,uBAAuB,CAAC;AAC/D,MAAM,CAAC,IAAM,2BAA2B,GAAG,eAAe,CAAC;AAC3D,MAAM,CAAC,IAAM,yBAAyB,GAAG,aAAa,CAAC;AACvD,MAAM,CAAC,IAAM,wBAAwB,GAAG,wBAAwB,CAAC;AACjE,MAAM,CAAC,IAAM,yBAAyB,GAAG,yBAAyB,CAAC;AACnE,MAAM,CAAC,IAAM,2BAA2B,GAAG,2BAA2B,CAAC","sourcesContent":["export const DEFAULT_PAGE_VIEW_EVENT = '[Amplitude] Page View';\nexport const DEFAULT_SESSION_START_EVENT = 'session_start';\nexport const DEFAULT_SESSION_END_EVENT = 'session_end';\nexport const DEFAULT_FORM_START_EVENT = '[Amplitude] Form Start';\nexport const DEFAULT_FORM_SUBMIT_EVENT = '[Amplitude] Form Submit';\nexport const DEFAULT_FILE_DOWNLOAD_EVENT = '[Amplitude] File Download';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cookie-migration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAW,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAKlF,eAAO,MAAM,eAAe,WAAkB,MAAM,YAAY,cAAc,KAAG,QAAQ,WAAW,CA+BnG,CAAC;AAEF,eAAO,MAAM,SAAS,QAAS,MAAM,uBAMpC,CAAC;AAEF,eAAO,MAAM,MAAM,WAAY,MAAM,KAAG,MAAM,GAAG,SAShD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cookie-migration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIzE,eAAO,MAAM,eAAe,WAAkB,MAAM,YAAY,cAAc,KAAG,QAAQ,WAAW,CAyBnG,CAAC;AAEF,eAAO,MAAM,SAAS,QAAS,MAAM,uBAMpC,CAAC;AAEF,eAAO,MAAM,MAAM,WAAY,MAAM,KAAG,MAAM,GAAG,SAShD,CAAC"}