@amplitude/analytics-browser 2.7.4 → 2.8.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 (43) hide show
  1. package/README.md +1 -1
  2. package/lib/cjs/browser-client.d.ts.map +1 -1
  3. package/lib/cjs/browser-client.js +25 -26
  4. package/lib/cjs/browser-client.js.map +1 -1
  5. package/lib/cjs/config.d.ts.map +1 -1
  6. package/lib/cjs/config.js +19 -19
  7. package/lib/cjs/config.js.map +1 -1
  8. package/lib/cjs/transports/xhr.d.ts.map +1 -1
  9. package/lib/cjs/transports/xhr.js +7 -10
  10. package/lib/cjs/transports/xhr.js.map +1 -1
  11. package/lib/cjs/version.d.ts +1 -1
  12. package/lib/cjs/version.js +1 -1
  13. package/lib/cjs/version.js.map +1 -1
  14. package/lib/esm/browser-client.d.ts.map +1 -1
  15. package/lib/esm/browser-client.js +26 -27
  16. package/lib/esm/browser-client.js.map +1 -1
  17. package/lib/esm/config.d.ts.map +1 -1
  18. package/lib/esm/config.js +19 -19
  19. package/lib/esm/config.js.map +1 -1
  20. package/lib/esm/transports/xhr.d.ts.map +1 -1
  21. package/lib/esm/transports/xhr.js +7 -10
  22. package/lib/esm/transports/xhr.js.map +1 -1
  23. package/lib/esm/version.d.ts +1 -1
  24. package/lib/esm/version.js +1 -1
  25. package/lib/esm/version.js.map +1 -1
  26. package/lib/scripts/amplitude-bookmarklet-snippet-min.js +1 -1
  27. package/lib/scripts/amplitude-bookmarklet.html +1 -1
  28. package/lib/scripts/amplitude-gtm-min.js +1 -1
  29. package/lib/scripts/amplitude-gtm-min.js.gz +0 -0
  30. package/lib/scripts/amplitude-gtm-min.js.map +1 -1
  31. package/lib/scripts/amplitude-gtm-snippet-min.js +1 -1
  32. package/lib/scripts/amplitude-min.js +1 -1
  33. package/lib/scripts/amplitude-min.js.gz +0 -0
  34. package/lib/scripts/amplitude-min.js.map +1 -1
  35. package/lib/scripts/amplitude-min.umd.js +1 -1
  36. package/lib/scripts/amplitude-min.umd.js.gz +0 -0
  37. package/lib/scripts/amplitude-snippet-instructions.html +1 -1
  38. package/lib/scripts/amplitude-snippet-min.js +1 -1
  39. package/lib/scripts/browser-client.d.ts.map +1 -1
  40. package/lib/scripts/config.d.ts.map +1 -1
  41. package/lib/scripts/transports/xhr.d.ts.map +1 -1
  42. package/lib/scripts/version.d.ts +1 -1
  43. package/package.json +9 -8
package/README.md CHANGED
@@ -53,7 +53,7 @@ This SDK is also available through CDN. Copy the script loader below and paste b
53
53
  <!-- README_SNIPPET_BLOCK -->
54
54
  ```html
55
55
  <script type="text/javascript">
56
- !function(){"use strict";!function(e,t){var r=e.amplitude||{_q:[],_iq:{}};if(r.invoked)e.console&&console.error&&console.error("Amplitude snippet has been loaded.");else{var n=function(e,t){e.prototype[t]=function(){return this._q.push({name:t,args:Array.prototype.slice.call(arguments,0)}),this}},s=function(e,t,r){return function(n){e._q.push({name:t,args:Array.prototype.slice.call(r,0),resolve:n})}},o=function(e,t,r){e._q.push({name:t,args:Array.prototype.slice.call(r,0)})},i=function(e,t,r){e[t]=function(){if(r)return{promise:new Promise(s(e,t,Array.prototype.slice.call(arguments)))};o(e,t,Array.prototype.slice.call(arguments))}},a=function(e){for(var t=0;t<m.length;t++)i(e,m[t],!1);for(var r=0;r<g.length;r++)i(e,g[r],!0)};r.invoked=!0;var c=t.createElement("script");c.type="text/javascript",c.integrity="sha384-ew3/IaKre6E3b6APmfzQLiOtzd29b094xpnsAFwGvPUPjXE4q+pdWQTTO24IsP5d",c.crossOrigin="anonymous",c.async=!0,c.src="https://cdn.amplitude.com/libs/analytics-browser-2.7.4-min.js.gz",c.onload=function(){e.amplitude.runQueuedFunctions||console.log("[Amplitude] Error: could not load SDK")};var u=t.getElementsByTagName("script")[0];u.parentNode.insertBefore(c,u);for(var p=function(){return this._q=[],this},l=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove","getUserProperties"],d=0;d<l.length;d++)n(p,l[d]);r.Identify=p;for(var f=function(){return this._q=[],this},v=["getEventProperties","setProductId","setQuantity","setPrice","setRevenue","setRevenueType","setEventProperties"],y=0;y<v.length;y++)n(f,v[y]);r.Revenue=f;var m=["getDeviceId","setDeviceId","getSessionId","setSessionId","getUserId","setUserId","setOptOut","setTransport","reset","extendSession"],g=["init","add","remove","track","logEvent","identify","groupIdentify","setGroup","revenue","flush"];a(r),r.createInstance=function(e){return r._iq[e]={_q:[]},a(r._iq[e]),r._iq[e]},e.amplitude=r}}(window,document)}();
56
+ !function(){"use strict";!function(e,t){var r=e.amplitude||{_q:[],_iq:{}};if(r.invoked)e.console&&console.error&&console.error("Amplitude snippet has been loaded.");else{var n=function(e,t){e.prototype[t]=function(){return this._q.push({name:t,args:Array.prototype.slice.call(arguments,0)}),this}},s=function(e,t,r){return function(n){e._q.push({name:t,args:Array.prototype.slice.call(r,0),resolve:n})}},o=function(e,t,r){e._q.push({name:t,args:Array.prototype.slice.call(r,0)})},i=function(e,t,r){e[t]=function(){if(r)return{promise:new Promise(s(e,t,Array.prototype.slice.call(arguments)))};o(e,t,Array.prototype.slice.call(arguments))}},a=function(e){for(var t=0;t<g.length;t++)i(e,g[t],!1);for(var r=0;r<m.length;r++)i(e,m[r],!0)};r.invoked=!0;var c=t.createElement("script");c.type="text/javascript",c.integrity="sha384-7OMex1WYtzbDAdKl8HtBEJJB+8Yj6zAJRSeZhWCSQmjLGr4H2OBdrKtiw8HEhwgI",c.crossOrigin="anonymous",c.async=!0,c.src="https://cdn.amplitude.com/libs/analytics-browser-2.8.1-min.js.gz",c.onload=function(){e.amplitude.runQueuedFunctions||console.log("[Amplitude] Error: could not load SDK")};var u=t.getElementsByTagName("script")[0];u.parentNode.insertBefore(c,u);for(var l=function(){return this._q=[],this},p=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove","getUserProperties"],d=0;d<p.length;d++)n(l,p[d]);r.Identify=l;for(var f=function(){return this._q=[],this},v=["getEventProperties","setProductId","setQuantity","setPrice","setRevenue","setRevenueType","setEventProperties"],y=0;y<v.length;y++)n(f,v[y]);r.Revenue=f;var g=["getDeviceId","setDeviceId","getSessionId","setSessionId","getUserId","setUserId","setOptOut","setTransport","reset","extendSession"],m=["init","add","remove","track","logEvent","identify","groupIdentify","setGroup","revenue","flush"];a(r),r.createInstance=function(e){return r._iq[e]={_q:[]},a(r._iq[e]),r._iq[e]},e.amplitude=r}}(window,document)}();
57
57
 
58
58
  amplitude.init("<YOUR_API_KEY>");
59
59
  </script>
@@ -1 +1 @@
1
- {"version":3,"file":"browser-client.d.ts","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuD,MAAM,2BAA2B,CAAC;AAC/G,OAAO,EAaL,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,KAAK,EACL,YAAY,EACZ,QAAQ,IAAI,SAAS,EACrB,OAAO,IAAI,QAAQ,EACnB,aAAa,EAEb,MAAM,EACP,MAAM,4BAA4B,CAAC;AAWpC,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,aAAa;IAG1E,MAAM,EAAE,aAAa,CAAC;IACtB,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAE3C,IAAI,CAAC,MAAM,SAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;cAkB1E,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAuElE,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAWpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAS5B,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;IAsD9B,aAAa;IAQb,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;IAStD,OAAO,CAAC,0BAA0B;IAe5B,OAAO,CAAC,KAAK,EAAE,KAAK;CAyB3B"}
1
+ {"version":3,"file":"browser-client.d.ts","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuD,MAAM,2BAA2B,CAAC;AAC/G,OAAO,EAaL,cAAc,EAEf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,KAAK,EACL,YAAY,EACZ,QAAQ,IAAI,SAAS,EACrB,OAAO,IAAI,QAAQ,EACnB,aAAa,EAEb,MAAM,EACP,MAAM,4BAA4B,CAAC;AAWpC,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,aAAa;IAG1E,MAAM,EAAE,aAAa,CAAC;IACtB,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAE3C,IAAI,CAAC,MAAM,SAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;cAkB1E,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IA4ElE,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAWpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAS5B,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;IAsD9B,aAAa;IAQb,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;IAStD,OAAO,CAAC,0BAA0B;IAe5B,OAAO,CAAC,KAAK,EAAE,KAAK;CAyB3B"}
@@ -39,12 +39,12 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
39
39
  return (0, analytics_core_1.returnWrapper)(this._init(tslib_1.__assign(tslib_1.__assign({}, options), { userId: userId, apiKey: apiKey })));
40
40
  };
41
41
  AmplitudeBrowser.prototype._init = function (options) {
42
- var _a, _b;
42
+ var _a, _b, _c;
43
43
  return tslib_1.__awaiter(this, void 0, void 0, function () {
44
- var browserOptions, attributionTrackingOptions, connector;
44
+ var browserOptions, attributionTrackingOptions, queryParams, querySessionId, connector;
45
45
  var _this = this;
46
- return tslib_1.__generator(this, function (_c) {
47
- switch (_c.label) {
46
+ return tslib_1.__generator(this, function (_d) {
47
+ switch (_d.label) {
48
48
  case 0:
49
49
  // Step 1: Block concurrent initialization
50
50
  if (this.initializing) {
@@ -53,10 +53,10 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
53
53
  this.initializing = true;
54
54
  return [4 /*yield*/, (0, config_1.useBrowserConfig)(options.apiKey, options, this)];
55
55
  case 1:
56
- browserOptions = _c.sent();
56
+ browserOptions = _d.sent();
57
57
  return [4 /*yield*/, _super.prototype._init.call(this, browserOptions)];
58
58
  case 2:
59
- _c.sent();
59
+ _d.sent();
60
60
  if (!(0, analytics_client_common_1.isAttributionTrackingEnabled)(this.config.defaultTracking)) return [3 /*break*/, 4];
61
61
  attributionTrackingOptions = (0, analytics_client_common_1.getAttributionTrackingConfig)(this.config);
62
62
  this.webAttribution = new analytics_client_common_1.WebAttribution(attributionTrackingOptions, this.config);
@@ -64,15 +64,14 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
64
64
  return [4 /*yield*/, this.webAttribution.init()];
65
65
  case 3:
66
66
  // Fetch the current campaign, check if need to track web attribution later
67
- _c.sent();
68
- _c.label = 4;
67
+ _d.sent();
68
+ _d.label = 4;
69
69
  case 4:
70
- // Step 3: Set session ID
71
- // Priority 1: `options.sessionId`
72
- // Priority 2: last known sessionId from user identity storage
73
- // Default: `Date.now()`
74
- // Session ID is handled differently than device ID and user ID due to session events
75
- this.setSessionId((_b = (_a = options.sessionId) !== null && _a !== void 0 ? _a : this.config.sessionId) !== null && _b !== void 0 ? _b : Date.now());
70
+ queryParams = (0, analytics_client_common_1.getQueryParams)();
71
+ querySessionId = Number.isNaN(Number(queryParams.ampSessionId))
72
+ ? undefined
73
+ : Number(queryParams.ampSessionId);
74
+ this.setSessionId((_c = (_b = (_a = options.sessionId) !== null && _a !== void 0 ? _a : querySessionId) !== null && _b !== void 0 ? _b : this.config.sessionId) !== null && _c !== void 0 ? _c : Date.now());
76
75
  connector = (0, analytics_client_common_1.getAnalyticsConnector)(options.instanceName);
77
76
  connector.identityStore.setIdentity({
78
77
  userId: this.config.userId,
@@ -81,43 +80,43 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
81
80
  if (!(this.config.offline !== analytics_types_1.OfflineDisabled)) return [3 /*break*/, 6];
82
81
  return [4 /*yield*/, this.add((0, network_connectivity_checker_1.networkConnectivityCheckerPlugin)()).promise];
83
82
  case 5:
84
- _c.sent();
85
- _c.label = 6;
83
+ _d.sent();
84
+ _d.label = 6;
86
85
  case 6: return [4 /*yield*/, this.add(new analytics_core_1.Destination()).promise];
87
86
  case 7:
88
- _c.sent();
87
+ _d.sent();
89
88
  return [4 /*yield*/, this.add(new context_1.Context()).promise];
90
89
  case 8:
91
- _c.sent();
90
+ _d.sent();
92
91
  return [4 /*yield*/, this.add(new analytics_client_common_1.IdentityEventSender()).promise];
93
92
  case 9:
94
- _c.sent();
93
+ _d.sent();
95
94
  // Notify if DET is enabled
96
95
  (0, det_notification_1.detNotify)(this.config);
97
96
  if (!(0, analytics_client_common_1.isFileDownloadTrackingEnabled)(this.config.defaultTracking)) return [3 /*break*/, 11];
98
97
  return [4 /*yield*/, this.add((0, file_download_tracking_1.fileDownloadTracking)()).promise];
99
98
  case 10:
100
- _c.sent();
101
- _c.label = 11;
99
+ _d.sent();
100
+ _d.label = 11;
102
101
  case 11:
103
102
  if (!(0, analytics_client_common_1.isFormInteractionTrackingEnabled)(this.config.defaultTracking)) return [3 /*break*/, 13];
104
103
  return [4 /*yield*/, this.add((0, form_interaction_tracking_1.formInteractionTracking)()).promise];
105
104
  case 12:
106
- _c.sent();
107
- _c.label = 13;
105
+ _d.sent();
106
+ _d.label = 13;
108
107
  case 13:
109
108
  if (!(0, analytics_client_common_1.isPageViewTrackingEnabled)(this.config.defaultTracking)) return [3 /*break*/, 15];
110
109
  return [4 /*yield*/, this.add((0, plugin_page_view_tracking_browser_1.pageViewTrackingPlugin)((0, analytics_client_common_1.getPageViewTrackingConfig)(this.config))).promise];
111
110
  case 14:
112
- _c.sent();
113
- _c.label = 15;
111
+ _d.sent();
112
+ _d.label = 15;
114
113
  case 15:
115
114
  this.initializing = false;
116
115
  // Step 6: Run queued dispatch functions
117
116
  return [4 /*yield*/, this.runQueuedFunctions('dispatchQ')];
118
117
  case 16:
119
118
  // Step 6: Run queued dispatch functions
120
- _c.sent();
119
+ _d.sent();
121
120
  // Step 7: Add the event receiver after running remaining queued functions.
122
121
  connector.eventBridge.setEventReceiver(function (event) {
123
122
  void _this.track(event.eventType, event.eventProperties);
@@ -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, returnWrapper, Revenue, UUID } from '@amplitude/analytics-core';\nimport {\n getAnalyticsConnector,\n getAttributionTrackingConfig,\n getPageViewTrackingConfig,\n IdentityEventSender,\n isAttributionTrackingEnabled,\n isSessionTrackingEnabled,\n isFileDownloadTrackingEnabled,\n isFormInteractionTrackingEnabled,\n setConnectorDeviceId,\n setConnectorUserId,\n isNewSession,\n isPageViewTrackingEnabled,\n WebAttribution,\n} from '@amplitude/analytics-client-common';\nimport {\n BrowserClient,\n BrowserConfig,\n BrowserOptions,\n Event,\n EventOptions,\n Identify as IIdentify,\n Revenue as IRevenue,\n TransportType,\n OfflineDisabled,\n Result,\n} from '@amplitude/analytics-types';\nimport { convertProxyObjectToRealObject, isInstanceProxy } from './utils/snippet-helper';\nimport { Context } from './plugins/context';\nimport { useBrowserConfig, createTransport } from './config';\nimport { pageViewTrackingPlugin } from '@amplitude/plugin-page-view-tracking-browser';\nimport { formInteractionTracking } from './plugins/form-interaction-tracking';\nimport { fileDownloadTracking } from './plugins/file-download-tracking';\nimport { DEFAULT_SESSION_END_EVENT, DEFAULT_SESSION_START_EVENT } from './constants';\nimport { detNotify } from './det-notification';\nimport { networkConnectivityCheckerPlugin } from './plugins/network-connectivity-checker';\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 previousSessionDeviceId: string | undefined;\n previousSessionUserId: string | undefined;\n webAttribution: WebAttribution | undefined;\n\n init(apiKey = '', userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions) {\n let userId: string | undefined;\n let options: BrowserOptions | undefined;\n\n if (arguments.length > 2) {\n userId = userIdOrOptions as string | undefined;\n options = maybeOptions;\n } else {\n if (typeof userIdOrOptions === 'string') {\n userId = userIdOrOptions;\n options = undefined;\n } else {\n userId = userIdOrOptions?.userId;\n options = userIdOrOptions;\n }\n }\n return returnWrapper(this._init({ ...options, userId, apiKey }));\n }\n protected async _init(options: BrowserOptions & { apiKey: string }) {\n // Step 1: Block concurrent initialization\n if (this.initializing) {\n return;\n }\n this.initializing = true;\n\n // Step 2: Create browser config\n const browserOptions = await useBrowserConfig(options.apiKey, options, this);\n await super._init(browserOptions);\n\n // Add web attribution plugin\n if (isAttributionTrackingEnabled(this.config.defaultTracking)) {\n const attributionTrackingOptions = getAttributionTrackingConfig(this.config);\n this.webAttribution = new WebAttribution(attributionTrackingOptions, this.config);\n // Fetch the current campaign, check if need to track web attribution later\n await this.webAttribution.init();\n }\n\n // Step 3: Set session ID\n // Priority 1: `options.sessionId`\n // Priority 2: last known sessionId from user identity storage\n // Default: `Date.now()`\n // Session ID is handled differently than device ID and user ID due to session events\n this.setSessionId(options.sessionId ?? this.config.sessionId ?? Date.now());\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(options.instanceName);\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 if (this.config.offline !== OfflineDisabled) {\n await this.add(networkConnectivityCheckerPlugin()).promise;\n }\n await this.add(new Destination()).promise;\n await this.add(new Context()).promise;\n await this.add(new IdentityEventSender()).promise;\n\n // Notify if DET is enabled\n detNotify(this.config);\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 page view plugin\n if (isPageViewTrackingEnabled(this.config.defaultTracking)) {\n await this.add(pageViewTrackingPlugin(getPageViewTrackingConfig(this.config))).promise;\n }\n\n this.initializing = false;\n\n // Step 6: Run queued dispatch functions\n await this.runQueuedFunctions('dispatchQ');\n\n // Step 7: Add the event receiver after running remaining queued functions.\n connector.eventBridge.setEventReceiver((event) => {\n void this.track(event.eventType, event.eventProperties);\n });\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 || userId === undefined) {\n this.config.userId = userId;\n setConnectorUserId(userId, this.config.instanceName);\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 setConnectorDeviceId(deviceId, this.config.instanceName);\n }\n\n reset() {\n this.setDeviceId(UUID());\n this.setUserId(undefined);\n }\n\n getSessionId() {\n return this.config?.sessionId;\n }\n\n setSessionId(sessionId: number) {\n const promises: Promise<Result>[] = [];\n if (!this.config) {\n this.q.push(this.setSessionId.bind(this, sessionId));\n return returnWrapper(Promise.resolve());\n }\n // Prevents starting a new session with the same session ID\n if (sessionId === this.config.sessionId) {\n return returnWrapper(Promise.resolve());\n }\n\n const previousSessionId = this.getSessionId();\n const lastEventTime = this.config.lastEventTime;\n let lastEventId = this.config.lastEventId ?? -1;\n\n this.config.sessionId = sessionId;\n this.config.lastEventTime = undefined;\n this.config.pageCounter = 0;\n\n if (isSessionTrackingEnabled(this.config.defaultTracking)) {\n if (previousSessionId && lastEventTime) {\n promises.push(\n this.track(DEFAULT_SESSION_END_EVENT, undefined, {\n device_id: this.previousSessionDeviceId,\n event_id: ++lastEventId,\n session_id: previousSessionId,\n time: lastEventTime + 1,\n user_id: this.previousSessionUserId,\n }).promise,\n );\n }\n this.config.lastEventTime = this.config.sessionId;\n }\n\n // Fire web attribution event when enable webAttribution tracking\n // 1. has new campaign (call setSessionId from init function)\n // 2. or shouldTrackNewCampaign (call setSessionId from async process(event) when there has new campaign and resetSessionOnNewCampaign = true )\n const isCampaignEventTracked = this.trackCampaignEventIfNeeded(++lastEventId, promises);\n\n if (isSessionTrackingEnabled(this.config.defaultTracking)) {\n promises.push(\n this.track(DEFAULT_SESSION_START_EVENT, undefined, {\n event_id: isCampaignEventTracked ? ++lastEventId : lastEventId,\n session_id: this.config.sessionId,\n time: this.config.lastEventTime,\n }).promise,\n );\n }\n\n this.previousSessionDeviceId = this.config.deviceId;\n this.previousSessionUserId = this.config.userId;\n return returnWrapper(Promise.all(promises));\n }\n\n extendSession() {\n if (!this.config) {\n this.q.push(this.extendSession.bind(this));\n return;\n }\n this.config.lastEventTime = Date.now();\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 private trackCampaignEventIfNeeded(lastEventId?: number, promises?: Promise<Result>[]) {\n if (!this.webAttribution || !this.webAttribution.shouldTrackNewCampaign) {\n return false;\n }\n\n const campaignEvent = this.webAttribution.generateCampaignEvent(lastEventId);\n if (promises) {\n promises.push(this.track(campaignEvent).promise);\n } else {\n this.track(campaignEvent);\n }\n this.config.loggerProvider.log('Tracking attribution.');\n return true;\n }\n\n async process(event: Event) {\n const currentTime = Date.now();\n const isEventInNewSession = isNewSession(this.config.sessionTimeout, this.config.lastEventTime);\n const shouldSetSessionIdOnNewCampaign =\n this.webAttribution && this.webAttribution.shouldSetSessionIdOnNewCampaign();\n\n if (\n event.event_type !== DEFAULT_SESSION_START_EVENT &&\n event.event_type !== DEFAULT_SESSION_END_EVENT &&\n (!event.session_id || event.session_id === this.getSessionId())\n ) {\n if (isEventInNewSession || shouldSetSessionIdOnNewCampaign) {\n this.setSessionId(currentTime);\n if (shouldSetSessionIdOnNewCampaign) {\n this.config.loggerProvider.log('Created a new session for new campaign.');\n }\n } else if (!isEventInNewSession) {\n // Web attribution should be tracked during the middle of a session\n // if there has been a chance in the campaign information.\n this.trackCampaignEventIfNeeded();\n }\n }\n\n return super.process(event);\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 getAttributionTrackingConfig,\n getPageViewTrackingConfig,\n IdentityEventSender,\n isAttributionTrackingEnabled,\n isSessionTrackingEnabled,\n isFileDownloadTrackingEnabled,\n isFormInteractionTrackingEnabled,\n setConnectorDeviceId,\n setConnectorUserId,\n isNewSession,\n isPageViewTrackingEnabled,\n WebAttribution,\n getQueryParams,\n} from '@amplitude/analytics-client-common';\nimport {\n BrowserClient,\n BrowserConfig,\n BrowserOptions,\n Event,\n EventOptions,\n Identify as IIdentify,\n Revenue as IRevenue,\n TransportType,\n OfflineDisabled,\n Result,\n} from '@amplitude/analytics-types';\nimport { convertProxyObjectToRealObject, isInstanceProxy } from './utils/snippet-helper';\nimport { Context } from './plugins/context';\nimport { useBrowserConfig, createTransport } from './config';\nimport { pageViewTrackingPlugin } from '@amplitude/plugin-page-view-tracking-browser';\nimport { formInteractionTracking } from './plugins/form-interaction-tracking';\nimport { fileDownloadTracking } from './plugins/file-download-tracking';\nimport { DEFAULT_SESSION_END_EVENT, DEFAULT_SESSION_START_EVENT } from './constants';\nimport { detNotify } from './det-notification';\nimport { networkConnectivityCheckerPlugin } from './plugins/network-connectivity-checker';\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 previousSessionDeviceId: string | undefined;\n previousSessionUserId: string | undefined;\n webAttribution: WebAttribution | undefined;\n\n init(apiKey = '', userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions) {\n let userId: string | undefined;\n let options: BrowserOptions | undefined;\n\n if (arguments.length > 2) {\n userId = userIdOrOptions as string | undefined;\n options = maybeOptions;\n } else {\n if (typeof userIdOrOptions === 'string') {\n userId = userIdOrOptions;\n options = undefined;\n } else {\n userId = userIdOrOptions?.userId;\n options = userIdOrOptions;\n }\n }\n return returnWrapper(this._init({ ...options, userId, apiKey }));\n }\n protected async _init(options: BrowserOptions & { apiKey: string }) {\n // Step 1: Block concurrent initialization\n if (this.initializing) {\n return;\n }\n this.initializing = true;\n\n // Step 2: Create browser config\n const browserOptions = await useBrowserConfig(options.apiKey, options, this);\n await super._init(browserOptions);\n\n // Add web attribution plugin\n if (isAttributionTrackingEnabled(this.config.defaultTracking)) {\n const attributionTrackingOptions = getAttributionTrackingConfig(this.config);\n this.webAttribution = new WebAttribution(attributionTrackingOptions, this.config);\n // Fetch the current campaign, check if need to track web attribution later\n await this.webAttribution.init();\n }\n\n // Step 3: Set session ID\n // Priority 1: `options.sessionId`\n // Priority 2: sessionId from url if it's Number\n // Priority 3: last known sessionId from user identity storage\n // Default: `Date.now()`\n // Session ID is handled differently than device ID and user ID due to session events\n const queryParams = getQueryParams();\n const querySessionId = Number.isNaN(Number(queryParams.ampSessionId))\n ? undefined\n : Number(queryParams.ampSessionId);\n this.setSessionId(options.sessionId ?? querySessionId ?? this.config.sessionId ?? Date.now());\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(options.instanceName);\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 if (this.config.offline !== OfflineDisabled) {\n await this.add(networkConnectivityCheckerPlugin()).promise;\n }\n await this.add(new Destination()).promise;\n await this.add(new Context()).promise;\n await this.add(new IdentityEventSender()).promise;\n\n // Notify if DET is enabled\n detNotify(this.config);\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 page view plugin\n if (isPageViewTrackingEnabled(this.config.defaultTracking)) {\n await this.add(pageViewTrackingPlugin(getPageViewTrackingConfig(this.config))).promise;\n }\n\n this.initializing = false;\n\n // Step 6: Run queued dispatch functions\n await this.runQueuedFunctions('dispatchQ');\n\n // Step 7: Add the event receiver after running remaining queued functions.\n connector.eventBridge.setEventReceiver((event) => {\n void this.track(event.eventType, event.eventProperties);\n });\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 || userId === undefined) {\n this.config.userId = userId;\n setConnectorUserId(userId, this.config.instanceName);\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 setConnectorDeviceId(deviceId, this.config.instanceName);\n }\n\n reset() {\n this.setDeviceId(UUID());\n this.setUserId(undefined);\n }\n\n getSessionId() {\n return this.config?.sessionId;\n }\n\n setSessionId(sessionId: number) {\n const promises: Promise<Result>[] = [];\n if (!this.config) {\n this.q.push(this.setSessionId.bind(this, sessionId));\n return returnWrapper(Promise.resolve());\n }\n // Prevents starting a new session with the same session ID\n if (sessionId === this.config.sessionId) {\n return returnWrapper(Promise.resolve());\n }\n\n const previousSessionId = this.getSessionId();\n const lastEventTime = this.config.lastEventTime;\n let lastEventId = this.config.lastEventId ?? -1;\n\n this.config.sessionId = sessionId;\n this.config.lastEventTime = undefined;\n this.config.pageCounter = 0;\n\n if (isSessionTrackingEnabled(this.config.defaultTracking)) {\n if (previousSessionId && lastEventTime) {\n promises.push(\n this.track(DEFAULT_SESSION_END_EVENT, undefined, {\n device_id: this.previousSessionDeviceId,\n event_id: ++lastEventId,\n session_id: previousSessionId,\n time: lastEventTime + 1,\n user_id: this.previousSessionUserId,\n }).promise,\n );\n }\n this.config.lastEventTime = this.config.sessionId;\n }\n\n // Fire web attribution event when enable webAttribution tracking\n // 1. has new campaign (call setSessionId from init function)\n // 2. or shouldTrackNewCampaign (call setSessionId from async process(event) when there has new campaign and resetSessionOnNewCampaign = true )\n const isCampaignEventTracked = this.trackCampaignEventIfNeeded(++lastEventId, promises);\n\n if (isSessionTrackingEnabled(this.config.defaultTracking)) {\n promises.push(\n this.track(DEFAULT_SESSION_START_EVENT, undefined, {\n event_id: isCampaignEventTracked ? ++lastEventId : lastEventId,\n session_id: this.config.sessionId,\n time: this.config.lastEventTime,\n }).promise,\n );\n }\n\n this.previousSessionDeviceId = this.config.deviceId;\n this.previousSessionUserId = this.config.userId;\n return returnWrapper(Promise.all(promises));\n }\n\n extendSession() {\n if (!this.config) {\n this.q.push(this.extendSession.bind(this));\n return;\n }\n this.config.lastEventTime = Date.now();\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 private trackCampaignEventIfNeeded(lastEventId?: number, promises?: Promise<Result>[]) {\n if (!this.webAttribution || !this.webAttribution.shouldTrackNewCampaign) {\n return false;\n }\n\n const campaignEvent = this.webAttribution.generateCampaignEvent(lastEventId);\n if (promises) {\n promises.push(this.track(campaignEvent).promise);\n } else {\n this.track(campaignEvent);\n }\n this.config.loggerProvider.log('Tracking attribution.');\n return true;\n }\n\n async process(event: Event) {\n const currentTime = Date.now();\n const isEventInNewSession = isNewSession(this.config.sessionTimeout, this.config.lastEventTime);\n const shouldSetSessionIdOnNewCampaign =\n this.webAttribution && this.webAttribution.shouldSetSessionIdOnNewCampaign();\n\n if (\n event.event_type !== DEFAULT_SESSION_START_EVENT &&\n event.event_type !== DEFAULT_SESSION_END_EVENT &&\n (!event.session_id || event.session_id === this.getSessionId())\n ) {\n if (isEventInNewSession || shouldSetSessionIdOnNewCampaign) {\n this.setSessionId(currentTime);\n if (shouldSetSessionIdOnNewCampaign) {\n this.config.loggerProvider.log('Created a new session for new campaign.');\n }\n } else if (!isEventInNewSession) {\n // Web attribution should be tracked during the middle of a session\n // if there has been a chance in the campaign information.\n this.trackCampaignEventIfNeeded();\n }\n }\n\n return super.process(event);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
package/lib/cjs/config.js CHANGED
@@ -202,9 +202,9 @@ var useBrowserConfig = function (apiKey, options, amplitudeInstance) {
202
202
  return tslib_1.__awaiter(_this, void 0, void 0, function () {
203
203
  var identityStorage, cookieOptions, _a, _b, cookieStorage, legacyCookies, previousCookies, queryParams, deviceId, lastEventId, lastEventTime, optOut, sessionId, userId, trackingOptions, pageCounter;
204
204
  var _c;
205
- var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
206
- return tslib_1.__generator(this, function (_2) {
207
- switch (_2.label) {
205
+ var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
206
+ return tslib_1.__generator(this, function (_3) {
207
+ switch (_3.label) {
208
208
  case 0:
209
209
  identityStorage = options.identityStorage || constants_1.DEFAULT_IDENTITY_STORAGE;
210
210
  _c = {};
@@ -217,33 +217,33 @@ var useBrowserConfig = function (apiKey, options, amplitudeInstance) {
217
217
  return [3 /*break*/, 4];
218
218
  case 2: return [4 /*yield*/, (0, exports.getTopLevelDomain)()];
219
219
  case 3:
220
- _b = (_2.sent());
221
- _2.label = 4;
220
+ _b = (_3.sent());
221
+ _3.label = 4;
222
222
  case 4:
223
223
  _a = _b;
224
- _2.label = 5;
224
+ _3.label = 5;
225
225
  case 5:
226
226
  cookieOptions = tslib_1.__assign.apply(void 0, [(_c.domain = _a, _c.expiration = 365, _c.sameSite = 'Lax', _c.secure = false, _c.upgrade = true, _c), options.cookieOptions]);
227
227
  cookieStorage = (0, exports.createCookieStorage)(options.identityStorage, cookieOptions);
228
228
  return [4 /*yield*/, (0, cookie_migration_1.parseLegacyCookies)(apiKey, cookieStorage, (_g = (_f = options.cookieOptions) === null || _f === void 0 ? void 0 : _f.upgrade) !== null && _g !== void 0 ? _g : true)];
229
229
  case 6:
230
- legacyCookies = _2.sent();
230
+ legacyCookies = _3.sent();
231
231
  return [4 /*yield*/, cookieStorage.get((0, analytics_client_common_1.getCookieName)(apiKey))];
232
232
  case 7:
233
- previousCookies = _2.sent();
233
+ previousCookies = _3.sent();
234
234
  queryParams = (0, analytics_client_common_1.getQueryParams)();
235
- deviceId = (_l = (_k = (_j = (_h = 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 : legacyCookies.deviceId) !== null && _l !== void 0 ? _l : (0, analytics_core_1.UUID)();
236
- lastEventId = (_m = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.lastEventId) !== null && _m !== void 0 ? _m : legacyCookies.lastEventId;
237
- lastEventTime = (_o = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.lastEventTime) !== null && _o !== void 0 ? _o : legacyCookies.lastEventTime;
238
- optOut = (_q = (_p = options.optOut) !== null && _p !== void 0 ? _p : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.optOut) !== null && _q !== void 0 ? _q : legacyCookies.optOut;
239
- sessionId = (_r = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.sessionId) !== null && _r !== void 0 ? _r : legacyCookies.sessionId;
240
- userId = (_t = (_s = options.userId) !== null && _s !== void 0 ? _s : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.userId) !== null && _t !== void 0 ? _t : legacyCookies.userId;
241
- amplitudeInstance.previousSessionDeviceId = (_u = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.deviceId) !== null && _u !== void 0 ? _u : legacyCookies.deviceId;
242
- amplitudeInstance.previousSessionUserId = (_v = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.userId) !== null && _v !== void 0 ? _v : legacyCookies.userId;
235
+ deviceId = (_m = (_l = (_k = (_j = (_h = options.deviceId) !== null && _h !== void 0 ? _h : queryParams.ampDeviceId) !== null && _j !== void 0 ? _j : queryParams.deviceId) !== null && _k !== void 0 ? _k : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.deviceId) !== null && _l !== void 0 ? _l : legacyCookies.deviceId) !== null && _m !== void 0 ? _m : (0, analytics_core_1.UUID)();
236
+ lastEventId = (_o = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.lastEventId) !== null && _o !== void 0 ? _o : legacyCookies.lastEventId;
237
+ lastEventTime = (_p = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.lastEventTime) !== null && _p !== void 0 ? _p : legacyCookies.lastEventTime;
238
+ optOut = (_r = (_q = options.optOut) !== null && _q !== void 0 ? _q : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.optOut) !== null && _r !== void 0 ? _r : legacyCookies.optOut;
239
+ sessionId = (_s = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.sessionId) !== null && _s !== void 0 ? _s : legacyCookies.sessionId;
240
+ userId = (_u = (_t = options.userId) !== null && _t !== void 0 ? _t : previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.userId) !== null && _u !== void 0 ? _u : legacyCookies.userId;
241
+ amplitudeInstance.previousSessionDeviceId = (_v = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.deviceId) !== null && _v !== void 0 ? _v : legacyCookies.deviceId;
242
+ amplitudeInstance.previousSessionUserId = (_w = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.userId) !== null && _w !== void 0 ? _w : legacyCookies.userId;
243
243
  trackingOptions = {
244
- ipAddress: (_x = (_w = options.trackingOptions) === null || _w === void 0 ? void 0 : _w.ipAddress) !== null && _x !== void 0 ? _x : true,
245
- language: (_z = (_y = options.trackingOptions) === null || _y === void 0 ? void 0 : _y.language) !== null && _z !== void 0 ? _z : true,
246
- platform: (_1 = (_0 = options.trackingOptions) === null || _0 === void 0 ? void 0 : _0.platform) !== null && _1 !== void 0 ? _1 : true,
244
+ ipAddress: (_y = (_x = options.trackingOptions) === null || _x === void 0 ? void 0 : _x.ipAddress) !== null && _y !== void 0 ? _y : true,
245
+ language: (_0 = (_z = options.trackingOptions) === null || _z === void 0 ? void 0 : _z.language) !== null && _0 !== void 0 ? _0 : true,
246
+ platform: (_2 = (_1 = options.trackingOptions) === null || _1 === void 0 ? void 0 : _1.platform) !== null && _2 !== void 0 ? _2 : true,
247
247
  };
248
248
  pageCounter = previousCookies === null || previousCookies === void 0 ? void 0 : previousCookies.pageCounter;
249
249
  return [2 /*return*/, new BrowserConfig(apiKey, options.appVersion, cookieStorage, cookieOptions, options.defaultTracking, deviceId, options.flushIntervalMillis, options.flushMaxRetries, options.flushQueueSize, identityStorage, options.ingestionMetadata, options.instanceName, lastEventId, lastEventTime, options.loggerProvider, options.logLevel, options.minIdLength, options.offline, optOut, options.partnerId, options.plan, options.serverUrl, options.serverZone, sessionId, options.sessionTimeout, options.storageProvider, trackingOptions, options.transport, options.useBatch, userId, pageCounter)];
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Event,\n BrowserOptions,\n BrowserConfig as IBrowserConfig,\n DefaultTrackingOptions,\n Storage,\n TrackingOptions,\n TransportType,\n UserSession,\n Logger as ILogger,\n LogLevel,\n Plan,\n IngestionMetadata,\n IdentityStorageType,\n ServerZoneType,\n OfflineDisabled,\n} from '@amplitude/analytics-types';\nimport { Config, Logger, MemoryStorage, UUID } from '@amplitude/analytics-core';\nimport { CookieStorage, getCookieName, FetchTransport, getQueryParams } from '@amplitude/analytics-client-common';\n\nimport { LocalStorage } from './storage/local-storage';\nimport { SessionStorage } from './storage/session-storage';\nimport { XHRTransport } from './transports/xhr';\nimport { SendBeaconTransport } from './transports/send-beacon';\nimport { parseLegacyCookies } from './cookie-migration';\nimport { CookieOptions } from '@amplitude/analytics-types/lib/esm/config/browser';\nimport { DEFAULT_IDENTITY_STORAGE, DEFAULT_SERVER_ZONE } from './constants';\nimport { AmplitudeBrowser } from './browser-client';\n\n// Exported for testing purposes only. Do not expose to public interface.\nexport class BrowserConfig extends Config implements IBrowserConfig {\n protected _cookieStorage: Storage<UserSession>;\n protected _deviceId?: string;\n protected _lastEventId?: number;\n protected _lastEventTime?: number;\n protected _optOut = false;\n protected _sessionId?: number;\n protected _userId?: string;\n protected _pageCounter?: number;\n constructor(\n public apiKey: string,\n public appVersion?: string,\n cookieStorage: Storage<UserSession> = new MemoryStorage(),\n public cookieOptions: CookieOptions = {\n domain: '',\n expiration: 365,\n sameSite: 'Lax' as const,\n secure: false,\n upgrade: true,\n },\n public defaultTracking?: boolean | DefaultTrackingOptions,\n deviceId?: string,\n public flushIntervalMillis: number = 1000,\n public flushMaxRetries: number = 5,\n public flushQueueSize: number = 30,\n public identityStorage: IdentityStorageType = DEFAULT_IDENTITY_STORAGE,\n public ingestionMetadata?: IngestionMetadata,\n public instanceName?: string,\n lastEventId?: number,\n lastEventTime?: number,\n public loggerProvider: ILogger = new Logger(),\n public logLevel: LogLevel = LogLevel.Warn,\n public minIdLength?: number,\n public offline: boolean | typeof OfflineDisabled = false,\n optOut = false,\n public partnerId?: string,\n public plan?: Plan,\n public serverUrl: string = '',\n public serverZone: ServerZoneType = DEFAULT_SERVER_ZONE,\n sessionId?: number,\n public sessionTimeout: number = 30 * 60 * 1000,\n public storageProvider: Storage<Event[]> = new LocalStorage({ loggerProvider }),\n public trackingOptions: Required<TrackingOptions> = {\n ipAddress: true,\n language: true,\n platform: true,\n },\n public transport: 'fetch' | 'xhr' | 'beacon' = 'fetch',\n public useBatch: boolean = false,\n userId?: string,\n pageCounter?: number,\n ) {\n super({ apiKey, storageProvider, transportProvider: createTransport(transport) });\n this._cookieStorage = cookieStorage;\n this.deviceId = deviceId;\n this.lastEventId = lastEventId;\n this.lastEventTime = lastEventTime;\n this.optOut = optOut;\n this.sessionId = sessionId;\n this.pageCounter = pageCounter;\n this.userId = userId;\n this.loggerProvider.enable(this.logLevel);\n }\n\n get cookieStorage() {\n return this._cookieStorage;\n }\n\n set cookieStorage(cookieStorage: Storage<UserSession>) {\n if (this._cookieStorage !== cookieStorage) {\n this._cookieStorage = cookieStorage;\n this.updateStorage();\n }\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 get lastEventId() {\n return this._lastEventId;\n }\n\n set lastEventId(lastEventId: number | undefined) {\n if (this._lastEventId !== lastEventId) {\n this._lastEventId = lastEventId;\n this.updateStorage();\n }\n }\n\n get pageCounter() {\n return this._pageCounter;\n }\n\n set pageCounter(pageCounter: number | undefined) {\n if (this._pageCounter !== pageCounter) {\n this._pageCounter = pageCounter;\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 lastEventId: this._lastEventId,\n pageCounter: this._pageCounter,\n };\n void this.cookieStorage.set(getCookieName(this.apiKey), cache);\n }\n}\n\nexport const useBrowserConfig = async (\n apiKey: string,\n options: BrowserOptions = {},\n amplitudeInstance: AmplitudeBrowser,\n): Promise<IBrowserConfig> => {\n // Step 1: Create identity storage instance\n const identityStorage = options.identityStorage || DEFAULT_IDENTITY_STORAGE;\n const cookieOptions = {\n domain:\n identityStorage !== DEFAULT_IDENTITY_STORAGE ? '' : options.cookieOptions?.domain ?? (await getTopLevelDomain()),\n expiration: 365,\n sameSite: 'Lax' as const,\n secure: false,\n upgrade: true,\n ...options.cookieOptions,\n };\n const cookieStorage = createCookieStorage<UserSession>(options.identityStorage, cookieOptions);\n\n // Step 1: Parse cookies using identity storage instance\n const legacyCookies = await parseLegacyCookies(apiKey, cookieStorage, options.cookieOptions?.upgrade ?? true);\n const previousCookies = await cookieStorage.get(getCookieName(apiKey));\n const queryParams = getQueryParams();\n\n // Step 3: Reconcile user identity\n const deviceId =\n options.deviceId ?? queryParams.deviceId ?? previousCookies?.deviceId ?? legacyCookies.deviceId ?? UUID();\n const lastEventId = previousCookies?.lastEventId ?? legacyCookies.lastEventId;\n const lastEventTime = previousCookies?.lastEventTime ?? legacyCookies.lastEventTime;\n const optOut = options.optOut ?? previousCookies?.optOut ?? legacyCookies.optOut;\n const sessionId = previousCookies?.sessionId ?? legacyCookies.sessionId;\n const userId = options.userId ?? previousCookies?.userId ?? legacyCookies.userId;\n amplitudeInstance.previousSessionDeviceId = previousCookies?.deviceId ?? legacyCookies.deviceId;\n amplitudeInstance.previousSessionUserId = previousCookies?.userId ?? legacyCookies.userId;\n\n const trackingOptions = {\n ipAddress: options.trackingOptions?.ipAddress ?? true,\n language: options.trackingOptions?.language ?? true,\n platform: options.trackingOptions?.platform ?? true,\n };\n const pageCounter = previousCookies?.pageCounter;\n\n return new BrowserConfig(\n apiKey,\n options.appVersion,\n cookieStorage,\n cookieOptions,\n options.defaultTracking,\n deviceId,\n options.flushIntervalMillis,\n options.flushMaxRetries,\n options.flushQueueSize,\n identityStorage,\n options.ingestionMetadata,\n options.instanceName,\n lastEventId,\n lastEventTime,\n options.loggerProvider,\n options.logLevel,\n options.minIdLength,\n options.offline,\n optOut,\n options.partnerId,\n options.plan,\n options.serverUrl,\n options.serverZone,\n sessionId,\n options.sessionTimeout,\n options.storageProvider,\n trackingOptions,\n options.transport,\n options.useBatch,\n userId,\n pageCounter,\n );\n};\n\nexport const createCookieStorage = <T>(\n identityStorage: IdentityStorageType = DEFAULT_IDENTITY_STORAGE,\n cookieOptions: CookieOptions = {},\n) => {\n switch (identityStorage) {\n case 'localStorage':\n return new LocalStorage<T>();\n case 'sessionStorage':\n return new SessionStorage<T>();\n case 'none':\n return new MemoryStorage<T>();\n case 'cookie':\n default:\n return new CookieStorage<T>({\n ...cookieOptions,\n expirationDays: cookieOptions.expiration,\n });\n }\n};\n\nexport const createTransport = (transport?: TransportType) => {\n if (transport === 'xhr') {\n return new XHRTransport();\n }\n if (transport === 'beacon') {\n return new SendBeaconTransport();\n }\n return new FetchTransport();\n};\n\nexport const getTopLevelDomain = async (url?: string) => {\n if (\n !(await new CookieStorage<number>().isEnabled()) ||\n (!url && (typeof location === 'undefined' || !location.hostname))\n ) {\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":"AAAA,iBAiVA;;;;AAjVA,8DAgBoC;AACpC,4DAAgF;AAChF,8EAAkH;AAElH,yDAAuD;AACvD,6DAA2D;AAC3D,wCAAgD;AAChD,wDAA+D;AAC/D,uDAAwD;AAExD,yCAA4E;AAG5E,yEAAyE;AACzE;IAAmC,yCAAM;IASvC,uBACS,MAAc,EACd,UAAmB,EAC1B,aAAyD,EAClD,aAMN,EACM,eAAkD,EACzD,QAAiB,EACV,mBAAkC,EAClC,eAA2B,EAC3B,cAA2B,EAC3B,eAA+D,EAC/D,iBAAqC,EACrC,YAAqB,EAC5B,WAAoB,EACpB,aAAsB,EACf,cAAsC,EACtC,QAAkC,EAClC,WAAoB,EACpB,OAAiD,EACxD,MAAc,EACP,SAAkB,EAClB,IAAW,EACX,SAAsB,EACtB,UAAgD,EACvD,SAAkB,EACX,cAAuC,EACvC,eAAwE,EACxE,eAIN,EACM,SAA+C,EAC/C,QAAyB,EAChC,MAAe,EACf,WAAoB;QAtCpB,8BAAA,EAAA,oBAA0C,8BAAa,EAAE;QAClD,8BAAA,EAAA;YACL,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,KAAc;YACxB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI;SACd;QAGM,oCAAA,EAAA,0BAAkC;QAClC,gCAAA,EAAA,mBAA2B;QAC3B,+BAAA,EAAA,mBAA2B;QAC3B,gCAAA,EAAA,kBAAuC,oCAAwB;QAK/D,+BAAA,EAAA,qBAA8B,uBAAM,EAAE;QACtC,yBAAA,EAAA,WAAqB,0BAAQ,CAAC,IAAI;QAElC,wBAAA,EAAA,eAAiD;QACxD,uBAAA,EAAA,cAAc;QAGP,0BAAA,EAAA,cAAsB;QACtB,2BAAA,EAAA,aAA6B,+BAAmB;QAEhD,+BAAA,EAAA,iBAAyB,EAAE,GAAG,EAAE,GAAG,IAAI;QACvC,gCAAA,EAAA,sBAAwC,4BAAY,CAAC,EAAE,cAAc,gBAAA,EAAE,CAAC;QACxE,gCAAA,EAAA;YACL,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;SACf;QACM,0BAAA,EAAA,mBAA+C;QAC/C,yBAAA,EAAA,gBAAyB;QAvClC,YA2CE,kBAAM,EAAE,MAAM,QAAA,EAAE,eAAe,iBAAA,EAAE,iBAAiB,EAAE,IAAA,uBAAe,EAAC,SAAS,CAAC,EAAE,CAAC,SAUlF;QApDQ,YAAM,GAAN,MAAM,CAAQ;QACd,gBAAU,GAAV,UAAU,CAAS;QAEnB,mBAAa,GAAb,aAAa,CAMnB;QACM,qBAAe,GAAf,eAAe,CAAmC;QAElD,yBAAmB,GAAnB,mBAAmB,CAAe;QAClC,qBAAe,GAAf,eAAe,CAAY;QAC3B,oBAAc,GAAd,cAAc,CAAa;QAC3B,qBAAe,GAAf,eAAe,CAAgD;QAC/D,uBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,kBAAY,GAAZ,YAAY,CAAS;QAGrB,oBAAc,GAAd,cAAc,CAAwB;QACtC,cAAQ,GAAR,QAAQ,CAA0B;QAClC,iBAAW,GAAX,WAAW,CAAS;QACpB,aAAO,GAAP,OAAO,CAA0C;QAEjD,eAAS,GAAT,SAAS,CAAS;QAClB,UAAI,GAAJ,IAAI,CAAO;QACX,eAAS,GAAT,SAAS,CAAa;QACtB,gBAAU,GAAV,UAAU,CAAsC;QAEhD,oBAAc,GAAd,cAAc,CAAyB;QACvC,qBAAe,GAAf,eAAe,CAAyD;QACxE,qBAAe,GAAf,eAAe,CAIrB;QACM,eAAS,GAAT,SAAS,CAAsC;QAC/C,cAAQ,GAAR,QAAQ,CAAiB;QA3CxB,aAAO,GAAG,KAAK,CAAC;QAgDxB,KAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,KAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;;IAC5C,CAAC;IAED,sBAAI,wCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;aAED,UAAkB,aAAmC;YACnD,IAAI,IAAI,CAAC,cAAc,KAAK,aAAa,EAAE;gBACzC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;gBACpC,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC;;;OAPA;IASD,sBAAI,mCAAQ;aAAZ;YACE,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;aAED,UAAa,QAA4B;YACvC,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;gBAC/B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;gBAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC;;;OAPA;IASD,sBAAI,iCAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;aAED,UAAW,MAA0B;YACnC,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;gBAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC;;;OAPA;IASD,sBAAI,oCAAS;aAAb;YACE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;aAED,UAAc,SAA6B;YACzC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;gBACjC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC;;;OAPA;IASD,sBAAI,iCAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;aAED,UAAW,MAAe;YACxB,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;gBAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC;;;OAPA;IASD,sBAAI,wCAAa;aAAjB;YACE,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;aAED,UAAkB,aAAiC;YACjD,IAAI,IAAI,CAAC,cAAc,KAAK,aAAa,EAAE;gBACzC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;gBACpC,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC;;;OAPA;IASD,sBAAI,sCAAW;aAAf;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;aAED,UAAgB,WAA+B;YAC7C,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBACrC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;gBAChC,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC;;;OAPA;IASD,sBAAI,sCAAW;aAAf;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;aAED,UAAgB,WAA+B;YAC7C,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBACrC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;gBAChC,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC;;;OAPA;IASO,qCAAa,GAArB;QACE,IAAM,KAAK,GAAG;YACZ,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,WAAW,EAAE,IAAI,CAAC,YAAY;SAC/B,CAAC;QACF,KAAK,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAA,uCAAa,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IACH,oBAAC;AAAD,CAAC,AApKD,CAAmC,uBAAM,GAoKxC;AApKY,sCAAa;AAsKnB,IAAM,gBAAgB,GAAG,UAC9B,MAAc,EACd,OAA4B,EAC5B,iBAAmC;IADnC,wBAAA,EAAA,YAA4B;;;;;;;;oBAItB,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,oCAAwB,CAAC;;yBAGxE,CAAA,eAAe,KAAK,oCAAwB,CAAA,EAA5C,wBAA4C;oBAAG,KAAA,EAAE,CAAA;;;gCAAG,MAAA,OAAO,CAAC,aAAa,0CAAE,MAAM;;;wBAAK,qBAAM,IAAA,yBAAiB,GAAE,EAAA;;oBAA1B,KAAA,CAAC,SAAyB,CAAC,CAAA;;;oBAA5D,QAA4D;;;oBAF9G,aAAa,oCACjB,SAAM,OAEN,aAAU,GAAE,GAAG,EACf,WAAQ,GAAE,KAAc,EACxB,SAAM,GAAE,KAAK,EACb,UAAO,GAAE,IAAI,OACV,OAAO,CAAC,aAAa,EACzB;oBACK,aAAa,GAAG,IAAA,2BAAmB,EAAc,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;oBAGzE,qBAAM,IAAA,qCAAkB,EAAC,MAAM,EAAE,aAAa,EAAE,MAAA,MAAA,OAAO,CAAC,aAAa,0CAAE,OAAO,mCAAI,IAAI,CAAC,EAAA;;oBAAvG,aAAa,GAAG,SAAuF;oBACrF,qBAAM,aAAa,CAAC,GAAG,CAAC,IAAA,uCAAa,EAAC,MAAM,CAAC,CAAC,EAAA;;oBAAhE,eAAe,GAAG,SAA8C;oBAChE,WAAW,GAAG,IAAA,wCAAc,GAAE,CAAC;oBAG/B,QAAQ,GACZ,MAAA,MAAA,MAAA,MAAA,MAAA,OAAO,CAAC,QAAQ,mCAChB,WAAW,CAAC,WAAW,mCACvB,WAAW,CAAC,QAAQ,mCACpB,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,mCACzB,aAAa,CAAC,QAAQ,mCACtB,IAAA,qBAAI,GAAE,CAAC;oBACH,WAAW,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,mCAAI,aAAa,CAAC,WAAW,CAAC;oBACxE,aAAa,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa,mCAAI,aAAa,CAAC,aAAa,CAAC;oBAC9E,MAAM,GAAG,MAAA,MAAA,OAAO,CAAC,MAAM,mCAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,mCAAI,aAAa,CAAC,MAAM,CAAC;oBAC3E,SAAS,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,SAAS,mCAAI,aAAa,CAAC,SAAS,CAAC;oBAClE,MAAM,GAAG,MAAA,MAAA,OAAO,CAAC,MAAM,mCAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,mCAAI,aAAa,CAAC,MAAM,CAAC;oBACjF,iBAAiB,CAAC,uBAAuB,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,mCAAI,aAAa,CAAC,QAAQ,CAAC;oBAChG,iBAAiB,CAAC,qBAAqB,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,mCAAI,aAAa,CAAC,MAAM,CAAC;oBAEpF,eAAe,GAAG;wBACtB,SAAS,EAAE,MAAA,MAAA,OAAO,CAAC,eAAe,0CAAE,SAAS,mCAAI,IAAI;wBACrD,QAAQ,EAAE,MAAA,MAAA,OAAO,CAAC,eAAe,0CAAE,QAAQ,mCAAI,IAAI;wBACnD,QAAQ,EAAE,MAAA,MAAA,OAAO,CAAC,eAAe,0CAAE,QAAQ,mCAAI,IAAI;qBACpD,CAAC;oBACI,WAAW,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,CAAC;oBAEjD,sBAAO,IAAI,aAAa,CACtB,MAAM,EACN,OAAO,CAAC,UAAU,EAClB,aAAa,EACb,aAAa,EACb,OAAO,CAAC,eAAe,EACvB,QAAQ,EACR,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,cAAc,EACtB,eAAe,EACf,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,YAAY,EACpB,WAAW,EACX,aAAa,EACb,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,OAAO,EACf,MAAM,EACN,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,UAAU,EAClB,SAAS,EACT,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,eAAe,EACvB,eAAe,EACf,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,QAAQ,EAChB,MAAM,EACN,WAAW,CACZ,EAAC;;;;CACH,CAAC;AA/EW,QAAA,gBAAgB,oBA+E3B;AAEK,IAAM,mBAAmB,GAAG,UACjC,eAA+D,EAC/D,aAAiC;IADjC,gCAAA,EAAA,kBAAuC,oCAAwB;IAC/D,8BAAA,EAAA,kBAAiC;IAEjC,QAAQ,eAAe,EAAE;QACvB,KAAK,cAAc;YACjB,OAAO,IAAI,4BAAY,EAAK,CAAC;QAC/B,KAAK,gBAAgB;YACnB,OAAO,IAAI,gCAAc,EAAK,CAAC;QACjC,KAAK,MAAM;YACT,OAAO,IAAI,8BAAa,EAAK,CAAC;QAChC,KAAK,QAAQ,CAAC;QACd;YACE,OAAO,IAAI,uCAAa,uCACnB,aAAa,KAChB,cAAc,EAAE,aAAa,CAAC,UAAU,IACxC,CAAC;KACN;AACH,CAAC,CAAC;AAlBW,QAAA,mBAAmB,uBAkB9B;AAEK,IAAM,eAAe,GAAG,UAAC,SAAyB;IACvD,IAAI,SAAS,KAAK,KAAK,EAAE;QACvB,OAAO,IAAI,kBAAY,EAAE,CAAC;KAC3B;IACD,IAAI,SAAS,KAAK,QAAQ,EAAE;QAC1B,OAAO,IAAI,iCAAmB,EAAE,CAAC;KAClC;IACD,OAAO,IAAI,wCAAc,EAAE,CAAC;AAC9B,CAAC,CAAC;AARW,QAAA,eAAe,mBAQ1B;AAEK,IAAM,iBAAiB,GAAG,UAAO,GAAY;;;;oBAE9C,qBAAM,IAAI,uCAAa,EAAU,CAAC,SAAS,EAAE,EAAA;;gBADjD,IACE,CAAC,CAAC,SAA6C,CAAC;oBAChD,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EACjE;oBACA,sBAAO,EAAE,EAAC;iBACX;gBAEK,IAAI,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,QAAQ,CAAC,QAAQ,CAAC;gBAChC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxB,MAAM,GAAG,EAAE,CAAC;gBACZ,UAAU,GAAG,aAAa,CAAC;gBAEjC,KAAS,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;oBAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;iBACvC;gBACQ,CAAC,GAAG,CAAC;;;qBAAE,CAAA,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;gBACzB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACnB,OAAO,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC;gBACnC,OAAO,GAAG,IAAI,uCAAa,CAAS,OAAO,CAAC,CAAC;gBACnD,qBAAM,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAA;;gBAAhC,SAAgC,CAAC;gBACnB,qBAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAA;;gBAArC,KAAK,GAAG,SAA6B;qBACvC,KAAK,EAAL,wBAAK;gBACP,qBAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAA;;gBAAhC,SAAgC,CAAC;gBACjC,sBAAO,GAAG,GAAG,MAAM,EAAC;;gBARW,CAAC,EAAE,CAAA;;oBAYtC,sBAAO,EAAE,EAAC;;;KACX,CAAC;AA7BW,QAAA,iBAAiB,qBA6B5B","sourcesContent":["import {\n Event,\n BrowserOptions,\n BrowserConfig as IBrowserConfig,\n DefaultTrackingOptions,\n Storage,\n TrackingOptions,\n TransportType,\n UserSession,\n Logger as ILogger,\n LogLevel,\n Plan,\n IngestionMetadata,\n IdentityStorageType,\n ServerZoneType,\n OfflineDisabled,\n} from '@amplitude/analytics-types';\nimport { Config, Logger, MemoryStorage, UUID } from '@amplitude/analytics-core';\nimport { CookieStorage, getCookieName, FetchTransport, getQueryParams } from '@amplitude/analytics-client-common';\n\nimport { LocalStorage } from './storage/local-storage';\nimport { SessionStorage } from './storage/session-storage';\nimport { XHRTransport } from './transports/xhr';\nimport { SendBeaconTransport } from './transports/send-beacon';\nimport { parseLegacyCookies } from './cookie-migration';\nimport { CookieOptions } from '@amplitude/analytics-types/lib/esm/config/browser';\nimport { DEFAULT_IDENTITY_STORAGE, DEFAULT_SERVER_ZONE } from './constants';\nimport { AmplitudeBrowser } from './browser-client';\n\n// Exported for testing purposes only. Do not expose to public interface.\nexport class BrowserConfig extends Config implements IBrowserConfig {\n protected _cookieStorage: Storage<UserSession>;\n protected _deviceId?: string;\n protected _lastEventId?: number;\n protected _lastEventTime?: number;\n protected _optOut = false;\n protected _sessionId?: number;\n protected _userId?: string;\n protected _pageCounter?: number;\n constructor(\n public apiKey: string,\n public appVersion?: string,\n cookieStorage: Storage<UserSession> = new MemoryStorage(),\n public cookieOptions: CookieOptions = {\n domain: '',\n expiration: 365,\n sameSite: 'Lax' as const,\n secure: false,\n upgrade: true,\n },\n public defaultTracking?: boolean | DefaultTrackingOptions,\n deviceId?: string,\n public flushIntervalMillis: number = 1000,\n public flushMaxRetries: number = 5,\n public flushQueueSize: number = 30,\n public identityStorage: IdentityStorageType = DEFAULT_IDENTITY_STORAGE,\n public ingestionMetadata?: IngestionMetadata,\n public instanceName?: string,\n lastEventId?: number,\n lastEventTime?: number,\n public loggerProvider: ILogger = new Logger(),\n public logLevel: LogLevel = LogLevel.Warn,\n public minIdLength?: number,\n public offline: boolean | typeof OfflineDisabled = false,\n optOut = false,\n public partnerId?: string,\n public plan?: Plan,\n public serverUrl: string = '',\n public serverZone: ServerZoneType = DEFAULT_SERVER_ZONE,\n sessionId?: number,\n public sessionTimeout: number = 30 * 60 * 1000,\n public storageProvider: Storage<Event[]> = new LocalStorage({ loggerProvider }),\n public trackingOptions: Required<TrackingOptions> = {\n ipAddress: true,\n language: true,\n platform: true,\n },\n public transport: 'fetch' | 'xhr' | 'beacon' = 'fetch',\n public useBatch: boolean = false,\n userId?: string,\n pageCounter?: number,\n ) {\n super({ apiKey, storageProvider, transportProvider: createTransport(transport) });\n this._cookieStorage = cookieStorage;\n this.deviceId = deviceId;\n this.lastEventId = lastEventId;\n this.lastEventTime = lastEventTime;\n this.optOut = optOut;\n this.sessionId = sessionId;\n this.pageCounter = pageCounter;\n this.userId = userId;\n this.loggerProvider.enable(this.logLevel);\n }\n\n get cookieStorage() {\n return this._cookieStorage;\n }\n\n set cookieStorage(cookieStorage: Storage<UserSession>) {\n if (this._cookieStorage !== cookieStorage) {\n this._cookieStorage = cookieStorage;\n this.updateStorage();\n }\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 get lastEventId() {\n return this._lastEventId;\n }\n\n set lastEventId(lastEventId: number | undefined) {\n if (this._lastEventId !== lastEventId) {\n this._lastEventId = lastEventId;\n this.updateStorage();\n }\n }\n\n get pageCounter() {\n return this._pageCounter;\n }\n\n set pageCounter(pageCounter: number | undefined) {\n if (this._pageCounter !== pageCounter) {\n this._pageCounter = pageCounter;\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 lastEventId: this._lastEventId,\n pageCounter: this._pageCounter,\n };\n void this.cookieStorage.set(getCookieName(this.apiKey), cache);\n }\n}\n\nexport const useBrowserConfig = async (\n apiKey: string,\n options: BrowserOptions = {},\n amplitudeInstance: AmplitudeBrowser,\n): Promise<IBrowserConfig> => {\n // Step 1: Create identity storage instance\n const identityStorage = options.identityStorage || DEFAULT_IDENTITY_STORAGE;\n const cookieOptions = {\n domain:\n identityStorage !== DEFAULT_IDENTITY_STORAGE ? '' : options.cookieOptions?.domain ?? (await getTopLevelDomain()),\n expiration: 365,\n sameSite: 'Lax' as const,\n secure: false,\n upgrade: true,\n ...options.cookieOptions,\n };\n const cookieStorage = createCookieStorage<UserSession>(options.identityStorage, cookieOptions);\n\n // Step 1: Parse cookies using identity storage instance\n const legacyCookies = await parseLegacyCookies(apiKey, cookieStorage, options.cookieOptions?.upgrade ?? true);\n const previousCookies = await cookieStorage.get(getCookieName(apiKey));\n const queryParams = getQueryParams();\n\n // Step 3: Reconcile user identity\n const deviceId =\n options.deviceId ??\n queryParams.ampDeviceId ??\n queryParams.deviceId ??\n previousCookies?.deviceId ??\n legacyCookies.deviceId ??\n UUID();\n const lastEventId = previousCookies?.lastEventId ?? legacyCookies.lastEventId;\n const lastEventTime = previousCookies?.lastEventTime ?? legacyCookies.lastEventTime;\n const optOut = options.optOut ?? previousCookies?.optOut ?? legacyCookies.optOut;\n const sessionId = previousCookies?.sessionId ?? legacyCookies.sessionId;\n const userId = options.userId ?? previousCookies?.userId ?? legacyCookies.userId;\n amplitudeInstance.previousSessionDeviceId = previousCookies?.deviceId ?? legacyCookies.deviceId;\n amplitudeInstance.previousSessionUserId = previousCookies?.userId ?? legacyCookies.userId;\n\n const trackingOptions = {\n ipAddress: options.trackingOptions?.ipAddress ?? true,\n language: options.trackingOptions?.language ?? true,\n platform: options.trackingOptions?.platform ?? true,\n };\n const pageCounter = previousCookies?.pageCounter;\n\n return new BrowserConfig(\n apiKey,\n options.appVersion,\n cookieStorage,\n cookieOptions,\n options.defaultTracking,\n deviceId,\n options.flushIntervalMillis,\n options.flushMaxRetries,\n options.flushQueueSize,\n identityStorage,\n options.ingestionMetadata,\n options.instanceName,\n lastEventId,\n lastEventTime,\n options.loggerProvider,\n options.logLevel,\n options.minIdLength,\n options.offline,\n optOut,\n options.partnerId,\n options.plan,\n options.serverUrl,\n options.serverZone,\n sessionId,\n options.sessionTimeout,\n options.storageProvider,\n trackingOptions,\n options.transport,\n options.useBatch,\n userId,\n pageCounter,\n );\n};\n\nexport const createCookieStorage = <T>(\n identityStorage: IdentityStorageType = DEFAULT_IDENTITY_STORAGE,\n cookieOptions: CookieOptions = {},\n) => {\n switch (identityStorage) {\n case 'localStorage':\n return new LocalStorage<T>();\n case 'sessionStorage':\n return new SessionStorage<T>();\n case 'none':\n return new MemoryStorage<T>();\n case 'cookie':\n default:\n return new CookieStorage<T>({\n ...cookieOptions,\n expirationDays: cookieOptions.expiration,\n });\n }\n};\n\nexport const createTransport = (transport?: TransportType) => {\n if (transport === 'xhr') {\n return new XHRTransport();\n }\n if (transport === 'beacon') {\n return new SendBeaconTransport();\n }\n return new FetchTransport();\n};\n\nexport const getTopLevelDomain = async (url?: string) => {\n if (\n !(await new CookieStorage<number>().isEnabled()) ||\n (!url && (typeof location === 'undefined' || !location.hostname))\n ) {\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 +1 @@
1
- {"version":3,"file":"xhr.d.ts","sourceRoot":"","sources":["../../../src/transports/xhr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE1E,qBAAa,YAAa,SAAQ,aAAc,YAAW,SAAS;IAClE,OAAO,CAAC,KAAK,CAEX;IAEI,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CA2B1E"}
1
+ {"version":3,"file":"xhr.d.ts","sourceRoot":"","sources":["../../../src/transports/xhr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE1E,qBAAa,YAAa,SAAQ,aAAc,YAAW,SAAS;IAClE,OAAO,CAAC,KAAK,CAEX;IAEI,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAyB1E"}
@@ -24,16 +24,13 @@ var XHRTransport = /** @class */ (function (_super) {
24
24
  xhr.open('POST', serverUrl, true);
25
25
  xhr.onreadystatechange = function () {
26
26
  if (xhr.readyState === _this.state.done) {
27
- try {
28
- var responsePayload = xhr.responseText;
29
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
30
- var parsedResponsePayload = JSON.parse(responsePayload);
31
- var result = _this.buildResponse(parsedResponsePayload);
32
- resolve(result);
33
- }
34
- catch (e) {
35
- reject(e);
36
- }
27
+ var responsePayload = xhr.responseText;
28
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
29
+ var parsedResponsePayload = responsePayload
30
+ ? JSON.parse(responsePayload)
31
+ : { code: xhr.status };
32
+ var result = _this.buildResponse(parsedResponsePayload);
33
+ resolve(result);
37
34
  }
38
35
  };
39
36
  xhr.setRequestHeader('Content-Type', 'application/json');
@@ -1 +1 @@
1
- {"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../../src/transports/xhr.ts"],"names":[],"mappings":";;;AAAA,4DAA0D;AAG1D;IAAkC,wCAAa;IAA/C;QAAA,qEAgCC;QA/BS,WAAK,GAAG;YACd,IAAI,EAAE,CAAC;SACR,CAAC;;IA6BJ,CAAC;IA3BO,2BAAI,GAAV,UAAW,SAAiB,EAAE,OAAgB;;;;gBAC5C,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;wBACjC,wBAAwB;wBACxB,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;4BACzC,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;yBACrD;wBAED,IAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;wBACjC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;wBAClC,GAAG,CAAC,kBAAkB,GAAG;4BACvB,IAAI,GAAG,CAAC,UAAU,KAAK,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gCACtC,IAAI;oCACF,IAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC;oCACzC,mEAAmE;oCACnE,IAAM,qBAAqB,GAAwB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;oCAC/E,IAAM,MAAM,GAAG,KAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;oCACzD,OAAO,CAAC,MAAM,CAAC,CAAC;iCACjB;gCAAC,OAAO,CAAC,EAAE;oCACV,MAAM,CAAC,CAAC,CAAC,CAAC;iCACX;6BACF;wBACH,CAAC,CAAC;wBACF,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;wBACzD,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBACtC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oBACpC,CAAC,CAAC,EAAC;;;KACJ;IACH,mBAAC;AAAD,CAAC,AAhCD,CAAkC,8BAAa,GAgC9C;AAhCY,oCAAY","sourcesContent":["import { BaseTransport } from '@amplitude/analytics-core';\nimport { Payload, Response, Transport } from '@amplitude/analytics-types';\n\nexport class XHRTransport extends BaseTransport implements Transport {\n private state = {\n done: 4,\n };\n\n async send(serverUrl: string, payload: Payload): Promise<Response | null> {\n return new Promise((resolve, reject) => {\n /* istanbul ignore if */\n if (typeof XMLHttpRequest === 'undefined') {\n reject(new Error('XHRTransport is not supported.'));\n }\n\n const xhr = new XMLHttpRequest();\n xhr.open('POST', serverUrl, true);\n xhr.onreadystatechange = () => {\n if (xhr.readyState === this.state.done) {\n try {\n const responsePayload = xhr.responseText;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const parsedResponsePayload: Record<string, any> = JSON.parse(responsePayload);\n const result = this.buildResponse(parsedResponsePayload);\n resolve(result);\n } catch (e) {\n reject(e);\n }\n }\n };\n xhr.setRequestHeader('Content-Type', 'application/json');\n xhr.setRequestHeader('Accept', '*/*');\n xhr.send(JSON.stringify(payload));\n });\n }\n}\n"]}
1
+ {"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../../src/transports/xhr.ts"],"names":[],"mappings":";;;AAAA,4DAA0D;AAG1D;IAAkC,wCAAa;IAA/C;QAAA,qEA8BC;QA7BS,WAAK,GAAG;YACd,IAAI,EAAE,CAAC;SACR,CAAC;;IA2BJ,CAAC;IAzBO,2BAAI,GAAV,UAAW,SAAiB,EAAE,OAAgB;;;;gBAC5C,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;wBACjC,wBAAwB;wBACxB,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;4BACzC,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;yBACrD;wBAED,IAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;wBACjC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;wBAClC,GAAG,CAAC,kBAAkB,GAAG;4BACvB,IAAI,GAAG,CAAC,UAAU,KAAK,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gCACtC,IAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC;gCACzC,mEAAmE;gCACnE,IAAM,qBAAqB,GAAwB,eAAe;oCAChE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;oCAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;gCACzB,IAAM,MAAM,GAAG,KAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;gCACzD,OAAO,CAAC,MAAM,CAAC,CAAC;6BACjB;wBACH,CAAC,CAAC;wBACF,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;wBACzD,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBACtC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oBACpC,CAAC,CAAC,EAAC;;;KACJ;IACH,mBAAC;AAAD,CAAC,AA9BD,CAAkC,8BAAa,GA8B9C;AA9BY,oCAAY","sourcesContent":["import { BaseTransport } from '@amplitude/analytics-core';\nimport { Payload, Response, Transport } from '@amplitude/analytics-types';\n\nexport class XHRTransport extends BaseTransport implements Transport {\n private state = {\n done: 4,\n };\n\n async send(serverUrl: string, payload: Payload): Promise<Response | null> {\n return new Promise((resolve, reject) => {\n /* istanbul ignore if */\n if (typeof XMLHttpRequest === 'undefined') {\n reject(new Error('XHRTransport is not supported.'));\n }\n\n const xhr = new XMLHttpRequest();\n xhr.open('POST', serverUrl, true);\n xhr.onreadystatechange = () => {\n if (xhr.readyState === this.state.done) {\n const responsePayload = xhr.responseText;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const parsedResponsePayload: Record<string, any> = responsePayload\n ? JSON.parse(responsePayload)\n : { code: xhr.status };\n const result = this.buildResponse(parsedResponsePayload);\n resolve(result);\n }\n };\n xhr.setRequestHeader('Content-Type', 'application/json');\n xhr.setRequestHeader('Accept', '*/*');\n xhr.send(JSON.stringify(payload));\n });\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.7.4";
1
+ export declare const VERSION = "2.8.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, "__esModule", { value: true });
2
2
  exports.VERSION = void 0;
3
- exports.VERSION = '2.7.4';
3
+ exports.VERSION = '2.8.1';
4
4
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;AAAa,QAAA,OAAO,GAAG,OAAO,CAAC","sourcesContent":["export const VERSION = '2.7.4';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;AAAa,QAAA,OAAO,GAAG,OAAO,CAAC","sourcesContent":["export const VERSION = '2.8.1';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-client.d.ts","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuD,MAAM,2BAA2B,CAAC;AAC/G,OAAO,EAaL,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,KAAK,EACL,YAAY,EACZ,QAAQ,IAAI,SAAS,EACrB,OAAO,IAAI,QAAQ,EACnB,aAAa,EAEb,MAAM,EACP,MAAM,4BAA4B,CAAC;AAWpC,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,aAAa;IAG1E,MAAM,EAAE,aAAa,CAAC;IACtB,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAE3C,IAAI,CAAC,MAAM,SAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;cAkB1E,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAuElE,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAWpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAS5B,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;IAsD9B,aAAa;IAQb,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;IAStD,OAAO,CAAC,0BAA0B;IAe5B,OAAO,CAAC,KAAK,EAAE,KAAK;CAyB3B"}
1
+ {"version":3,"file":"browser-client.d.ts","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuD,MAAM,2BAA2B,CAAC;AAC/G,OAAO,EAaL,cAAc,EAEf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,KAAK,EACL,YAAY,EACZ,QAAQ,IAAI,SAAS,EACrB,OAAO,IAAI,QAAQ,EACnB,aAAa,EAEb,MAAM,EACP,MAAM,4BAA4B,CAAC;AAWpC,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,aAAa;IAG1E,MAAM,EAAE,aAAa,CAAC;IACtB,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAE3C,IAAI,CAAC,MAAM,SAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;cAkB1E,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IA4ElE,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAWpC,WAAW;IAIX,WAAW,CAAC,QAAQ,EAAE,MAAM;IAS5B,KAAK;IAKL,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;IAsD9B,aAAa;IAQb,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;IAStD,OAAO,CAAC,0BAA0B;IAe5B,OAAO,CAAC,KAAK,EAAE,KAAK;CAyB3B"}