@amplitude/analytics-browser 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -1
- package/lib/cjs/browser-client-factory.d.ts +5 -0
- package/lib/cjs/browser-client-factory.d.ts.map +1 -0
- package/lib/cjs/browser-client-factory.js +31 -0
- package/lib/cjs/browser-client-factory.js.map +1 -0
- package/lib/cjs/browser-client.d.ts +1 -4
- package/lib/cjs/browser-client.d.ts.map +1 -1
- package/lib/cjs/browser-client.js +2 -28
- package/lib/cjs/browser-client.js.map +1 -1
- package/lib/cjs/config.d.ts +11 -11
- package/lib/cjs/config.d.ts.map +1 -1
- package/lib/cjs/config.js +75 -56
- package/lib/cjs/config.js.map +1 -1
- package/lib/cjs/index.d.ts +1 -1
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +4 -4
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/plugins/file-download-tracking.d.ts +3 -0
- package/lib/cjs/plugins/file-download-tracking.d.ts.map +1 -0
- package/lib/cjs/plugins/file-download-tracking.js +76 -0
- package/lib/cjs/plugins/file-download-tracking.js.map +1 -0
- package/lib/cjs/plugins/form-interaction-tracking.d.ts +3 -0
- package/lib/cjs/plugins/form-interaction-tracking.d.ts.map +1 -0
- package/lib/cjs/plugins/form-interaction-tracking.js +81 -0
- package/lib/cjs/plugins/form-interaction-tracking.js.map +1 -0
- package/lib/cjs/snippet-index.js +18 -3
- package/lib/cjs/snippet-index.js.map +1 -1
- package/lib/cjs/version.d.ts +1 -1
- package/lib/cjs/version.js +1 -1
- package/lib/cjs/version.js.map +1 -1
- package/lib/esm/browser-client-factory.d.ts +5 -0
- package/lib/esm/browser-client-factory.d.ts.map +1 -0
- package/lib/esm/browser-client-factory.js +28 -0
- package/lib/esm/browser-client-factory.js.map +1 -0
- package/lib/esm/browser-client.d.ts +1 -4
- package/lib/esm/browser-client.d.ts.map +1 -1
- package/lib/esm/browser-client.js +2 -27
- package/lib/esm/browser-client.js.map +1 -1
- package/lib/esm/config.d.ts +11 -11
- package/lib/esm/config.d.ts.map +1 -1
- package/lib/esm/config.js +75 -55
- package/lib/esm/config.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +2 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/plugins/file-download-tracking.d.ts +3 -0
- package/lib/esm/plugins/file-download-tracking.d.ts.map +1 -0
- package/lib/esm/plugins/file-download-tracking.js +72 -0
- package/lib/esm/plugins/file-download-tracking.js.map +1 -0
- package/lib/esm/plugins/form-interaction-tracking.d.ts +3 -0
- package/lib/esm/plugins/form-interaction-tracking.d.ts.map +1 -0
- package/lib/esm/plugins/form-interaction-tracking.js +77 -0
- package/lib/esm/plugins/form-interaction-tracking.js.map +1 -0
- package/lib/esm/snippet-index.js +18 -3
- package/lib/esm/snippet-index.js.map +1 -1
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/esm/version.js.map +1 -1
- package/lib/scripts/amplitude-min.js +1 -1
- package/lib/scripts/amplitude-min.js.gz +0 -0
- package/lib/scripts/amplitude-min.umd.js +1 -1
- package/lib/scripts/amplitude-min.umd.js.gz +0 -0
- package/lib/scripts/amplitude-snippet-instructions.html +1 -1
- package/lib/scripts/amplitude-snippet-min.js +1 -1
- package/lib/scripts/browser-client-factory.d.ts +5 -0
- package/lib/scripts/browser-client-factory.d.ts.map +1 -0
- package/lib/scripts/browser-client.d.ts +1 -4
- package/lib/scripts/browser-client.d.ts.map +1 -1
- package/lib/scripts/config.d.ts +11 -11
- package/lib/scripts/config.d.ts.map +1 -1
- package/lib/scripts/index.d.ts +1 -1
- package/lib/scripts/index.d.ts.map +1 -1
- package/lib/scripts/plugins/file-download-tracking.d.ts +3 -0
- package/lib/scripts/plugins/file-download-tracking.d.ts.map +1 -0
- package/lib/scripts/plugins/form-interaction-tracking.d.ts +3 -0
- package/lib/scripts/plugins/form-interaction-tracking.d.ts.map +1 -0
- package/lib/scripts/version.d.ts +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -9,6 +9,14 @@
|
|
|
9
9
|
|
|
10
10
|
Official Amplitude SDK for Web
|
|
11
11
|
|
|
12
|
+
# Doc
|
|
13
|
+
|
|
14
|
+
See our [Typescript Analytics Browser SDK](https://amplitude.github.io/Amplitude-TypeScript/modules/_amplitude_analytics_browser.html) Reference for a list and description of all available SDK methods.
|
|
15
|
+
|
|
16
|
+
# Installation and Quick Start
|
|
17
|
+
|
|
18
|
+
Please visit our :100:[Developer Center](https://www.docs.developers.amplitude.com/data/sdks/typescript-browser/) for instructions on installing and using our the SDK.
|
|
19
|
+
|
|
12
20
|
## Installation
|
|
13
21
|
|
|
14
22
|
To get started with using Amplitude Browser SDK, install the package to your project via NPM or script loader.
|
|
@@ -32,7 +40,7 @@ Alternatively, the package is also distributed through a CDN. Copy and paste the
|
|
|
32
40
|
<!-- README_SNIPPET_BLOCK -->
|
|
33
41
|
```html
|
|
34
42
|
<script type="text/javascript">
|
|
35
|
-
!function(){"use strict";!function(e,t){var r=e.amplitude||{_q:[],_iq:
|
|
43
|
+
!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[t]=function(){if(r)return{promise:new Promise(s(e,t,Array.prototype.slice.call(arguments)))}}},i=function(e){for(var t=0;t<g.length;t++)o(e,g[t],!1);for(var r=0;r<m.length;r++)o(e,m[r],!0)};r.invoked=!0;var a=t.createElement("script");a.type="text/javascript",a.integrity="sha384-IzqrjP/KY9TI8YODrPXv+MxbfCBnQdLZsSyOwYFlhR4BSBluZFciI52a820nFgzb",a.crossOrigin="anonymous",a.async=!0,a.src="https://cdn.amplitude.com/libs/analytics-browser-1.8.0-min.js.gz",a.onload=function(){e.amplitude.runQueuedFunctions||console.log("[Amplitude] Error: could not load SDK")};var c=t.getElementsByTagName("script")[0];c.parentNode.insertBefore(a,c);for(var u=function(){return this._q=[],this},l=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove","getUserProperties"],p=0;p<l.length;p++)n(u,l[p]);r.Identify=u;for(var d=function(){return this._q=[],this},f=["getEventProperties","setProductId","setQuantity","setPrice","setRevenue","setRevenueType","setEventProperties"],v=0;v<f.length;v++)n(d,f[v]);r.Revenue=d;var g=["getDeviceId","setDeviceId","getSessionId","setSessionId","getUserId","setUserId","setOptOut","setTransport","reset"],m=["init","add","remove","track","logEvent","identify","groupIdentify","setGroup","revenue","flush"];i(r),r.createInstance=function(e){return r._iq[e]={_q:[]},i(r._iq[e]),r._iq[e]},e.amplitude=r}}(window,document)}();
|
|
36
44
|
|
|
37
45
|
amplitude.init("YOUR_API_KEY_HERE");
|
|
38
46
|
</script>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-client-factory.d.ts","sourceRoot":"","sources":["../../src/browser-client-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,eAAO,MAAM,cAAc,QAAO,aAsHjC,CAAC;;AAEF,wBAAgC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.createInstance = void 0;
|
|
3
|
+
var analytics_core_1 = require("@amplitude/analytics-core");
|
|
4
|
+
var browser_client_1 = require("./browser-client");
|
|
5
|
+
var createInstance = function () {
|
|
6
|
+
var client = new browser_client_1.AmplitudeBrowser();
|
|
7
|
+
return {
|
|
8
|
+
init: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.init.bind(client)), 'init', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config'])),
|
|
9
|
+
add: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.add.bind(client)), 'add', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.plugins'])),
|
|
10
|
+
remove: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.remove.bind(client)), 'remove', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.plugins'])),
|
|
11
|
+
track: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.track.bind(client)), 'track', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
12
|
+
logEvent: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.logEvent.bind(client)), 'logEvent', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
13
|
+
identify: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.identify.bind(client)), 'identify', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
14
|
+
groupIdentify: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.groupIdentify.bind(client)), 'groupIdentify', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
15
|
+
setGroup: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.setGroup.bind(client)), 'setGroup', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
16
|
+
revenue: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.revenue.bind(client)), 'revenue', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
17
|
+
flush: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.flush.bind(client)), 'flush', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
18
|
+
getUserId: (0, analytics_core_1.debugWrapper)(client.getUserId.bind(client), 'getUserId', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config', 'config.userId'])),
|
|
19
|
+
setUserId: (0, analytics_core_1.debugWrapper)(client.setUserId.bind(client), 'setUserId', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config', 'config.userId'])),
|
|
20
|
+
getDeviceId: (0, analytics_core_1.debugWrapper)(client.getDeviceId.bind(client), 'getDeviceId', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config', 'config.deviceId'])),
|
|
21
|
+
setDeviceId: (0, analytics_core_1.debugWrapper)(client.setDeviceId.bind(client), 'setDeviceId', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config', 'config.deviceId'])),
|
|
22
|
+
reset: (0, analytics_core_1.debugWrapper)(client.reset.bind(client), 'reset', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config', 'config.userId', 'config.deviceId'])),
|
|
23
|
+
getSessionId: (0, analytics_core_1.debugWrapper)(client.getSessionId.bind(client), 'getSessionId', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config'])),
|
|
24
|
+
setSessionId: (0, analytics_core_1.debugWrapper)(client.setSessionId.bind(client), 'setSessionId', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config'])),
|
|
25
|
+
setOptOut: (0, analytics_core_1.debugWrapper)(client.setOptOut.bind(client), 'setOptOut', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config'])),
|
|
26
|
+
setTransport: (0, analytics_core_1.debugWrapper)(client.setTransport.bind(client), 'setTransport', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config'])),
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
exports.createInstance = createInstance;
|
|
30
|
+
exports.default = (0, exports.createInstance)();
|
|
31
|
+
//# sourceMappingURL=browser-client-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-client-factory.js","sourceRoot":"","sources":["../../src/browser-client-factory.ts"],"names":[],"mappings":"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","sourcesContent":["import { debugWrapper, getClientLogConfig, getClientStates, returnWrapper } from '@amplitude/analytics-core';\nimport { BrowserClient } from '@amplitude/analytics-types';\nimport { AmplitudeBrowser } from './browser-client';\n\nexport const createInstance = (): BrowserClient => {\n const client = new AmplitudeBrowser();\n return {\n init: debugWrapper(\n returnWrapper(client.init.bind(client)),\n 'init',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n add: debugWrapper(\n returnWrapper(client.add.bind(client)),\n 'add',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n remove: debugWrapper(\n returnWrapper(client.remove.bind(client)),\n 'remove',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n track: debugWrapper(\n returnWrapper(client.track.bind(client)),\n 'track',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n logEvent: debugWrapper(\n returnWrapper(client.logEvent.bind(client)),\n 'logEvent',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n identify: debugWrapper(\n returnWrapper(client.identify.bind(client)),\n 'identify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n groupIdentify: debugWrapper(\n returnWrapper(client.groupIdentify.bind(client)),\n 'groupIdentify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n setGroup: debugWrapper(\n returnWrapper(client.setGroup.bind(client)),\n 'setGroup',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n revenue: debugWrapper(\n returnWrapper(client.revenue.bind(client)),\n 'revenue',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n flush: debugWrapper(\n returnWrapper(client.flush.bind(client)),\n 'flush',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n getUserId: debugWrapper(\n client.getUserId.bind(client),\n 'getUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n setUserId: debugWrapper(\n client.setUserId.bind(client),\n 'setUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n getDeviceId: debugWrapper(\n client.getDeviceId.bind(client),\n 'getDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n setDeviceId: debugWrapper(\n client.setDeviceId.bind(client),\n 'setDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n reset: debugWrapper(\n client.reset.bind(client),\n 'reset',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId', 'config.deviceId']),\n ),\n getSessionId: debugWrapper(\n client.getSessionId.bind(client),\n 'getSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setSessionId: debugWrapper(\n client.setSessionId.bind(client),\n 'setSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setOptOut: debugWrapper(\n client.setOptOut.bind(client),\n 'setOptOut',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setTransport: debugWrapper(\n client.setTransport.bind(client),\n 'setTransport',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n };\n};\n\nexport default createInstance();\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AmplitudeCore } from '@amplitude/analytics-core';
|
|
2
|
-
import { AttributionOptions,
|
|
2
|
+
import { AttributionOptions, BrowserConfig, BrowserOptions, EventOptions, Identify as IIdentify, Result, Revenue as IRevenue, TransportType } from '@amplitude/analytics-types';
|
|
3
3
|
export declare class AmplitudeBrowser extends AmplitudeCore<BrowserConfig> {
|
|
4
4
|
init(apiKey?: string, userId?: string, options?: BrowserOptions): Promise<void>;
|
|
5
5
|
runAttributionStrategy(attributionConfig?: AttributionOptions, isNewSession?: boolean): Promise<void>;
|
|
@@ -15,7 +15,4 @@ export declare class AmplitudeBrowser extends AmplitudeCore<BrowserConfig> {
|
|
|
15
15
|
groupIdentify(groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions): Promise<Result>;
|
|
16
16
|
revenue(revenue: IRevenue, eventOptions?: EventOptions): Promise<Result>;
|
|
17
17
|
}
|
|
18
|
-
export declare const createInstance: () => BrowserClient;
|
|
19
|
-
declare const _default: BrowserClient;
|
|
20
|
-
export default _default;
|
|
21
18
|
//# 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,
|
|
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,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.
|
|
2
|
+
exports.AmplitudeBrowser = void 0;
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
4
|
var analytics_core_1 = require("@amplitude/analytics-core");
|
|
5
5
|
var analytics_client_common_1 = require("@amplitude/analytics-client-common");
|
|
@@ -29,7 +29,7 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
|
|
|
29
29
|
return [4 /*yield*/, (0, cookie_migration_1.parseOldCookies)(apiKey, options)];
|
|
30
30
|
case 1:
|
|
31
31
|
oldCookies = _d.sent();
|
|
32
|
-
return [4 /*yield*/, (0, config_1.useBrowserConfig)(apiKey,
|
|
32
|
+
return [4 /*yield*/, (0, config_1.useBrowserConfig)(apiKey, tslib_1.__assign(tslib_1.__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 }))];
|
|
33
33
|
case 2:
|
|
34
34
|
browserOptions = _d.sent();
|
|
35
35
|
return [4 /*yield*/, _super.prototype._init.call(this, browserOptions)];
|
|
@@ -180,30 +180,4 @@ var AmplitudeBrowser = /** @class */ (function (_super) {
|
|
|
180
180
|
return AmplitudeBrowser;
|
|
181
181
|
}(analytics_core_1.AmplitudeCore));
|
|
182
182
|
exports.AmplitudeBrowser = AmplitudeBrowser;
|
|
183
|
-
var createInstance = function () {
|
|
184
|
-
var client = new AmplitudeBrowser();
|
|
185
|
-
return {
|
|
186
|
-
init: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.init.bind(client)), 'init', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config'])),
|
|
187
|
-
add: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.add.bind(client)), 'add', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.plugins'])),
|
|
188
|
-
remove: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.remove.bind(client)), 'remove', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.plugins'])),
|
|
189
|
-
track: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.track.bind(client)), 'track', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
190
|
-
logEvent: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.logEvent.bind(client)), 'logEvent', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
191
|
-
identify: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.identify.bind(client)), 'identify', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
192
|
-
groupIdentify: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.groupIdentify.bind(client)), 'groupIdentify', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
193
|
-
setGroup: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.setGroup.bind(client)), 'setGroup', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
194
|
-
revenue: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.revenue.bind(client)), 'revenue', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
195
|
-
flush: (0, analytics_core_1.debugWrapper)((0, analytics_core_1.returnWrapper)(client.flush.bind(client)), 'flush', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config.apiKey', 'timeline.queue.length'])),
|
|
196
|
-
getUserId: (0, analytics_core_1.debugWrapper)(client.getUserId.bind(client), 'getUserId', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config', 'config.userId'])),
|
|
197
|
-
setUserId: (0, analytics_core_1.debugWrapper)(client.setUserId.bind(client), 'setUserId', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config', 'config.userId'])),
|
|
198
|
-
getDeviceId: (0, analytics_core_1.debugWrapper)(client.getDeviceId.bind(client), 'getDeviceId', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config', 'config.deviceId'])),
|
|
199
|
-
setDeviceId: (0, analytics_core_1.debugWrapper)(client.setDeviceId.bind(client), 'setDeviceId', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config', 'config.deviceId'])),
|
|
200
|
-
reset: (0, analytics_core_1.debugWrapper)(client.reset.bind(client), 'reset', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config', 'config.userId', 'config.deviceId'])),
|
|
201
|
-
getSessionId: (0, analytics_core_1.debugWrapper)(client.getSessionId.bind(client), 'getSessionId', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config'])),
|
|
202
|
-
setSessionId: (0, analytics_core_1.debugWrapper)(client.setSessionId.bind(client), 'setSessionId', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config'])),
|
|
203
|
-
setOptOut: (0, analytics_core_1.debugWrapper)(client.setOptOut.bind(client), 'setOptOut', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config'])),
|
|
204
|
-
setTransport: (0, analytics_core_1.debugWrapper)(client.setTransport.bind(client), 'setTransport', (0, analytics_core_1.getClientLogConfig)(client), (0, analytics_core_1.getClientStates)(client, ['config'])),
|
|
205
|
-
};
|
|
206
|
-
};
|
|
207
|
-
exports.createInstance = createInstance;
|
|
208
|
-
exports.default = (0, exports.createInstance)();
|
|
209
183
|
//# sourceMappingURL=browser-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-client.js","sourceRoot":"","sources":["../../src/browser-client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AmplitudeCore,\n Destination,\n Identify,\n Revenue,\n UUID,\n returnWrapper,\n debugWrapper,\n getClientLogConfig,\n getClientStates,\n} from '@amplitude/analytics-core';\nimport { CampaignTracker, getAnalyticsConnector, IdentityEventSender } from '@amplitude/analytics-client-common';\nimport {\n AttributionOptions,\n BrowserClient,\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, userId || oldCookies.userId, {\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 });\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\nexport const createInstance = (): BrowserClient => {\n const client = new AmplitudeBrowser();\n return {\n init: debugWrapper(\n returnWrapper(client.init.bind(client)),\n 'init',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n add: debugWrapper(\n returnWrapper(client.add.bind(client)),\n 'add',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n remove: debugWrapper(\n returnWrapper(client.remove.bind(client)),\n 'remove',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n track: debugWrapper(\n returnWrapper(client.track.bind(client)),\n 'track',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n logEvent: debugWrapper(\n returnWrapper(client.logEvent.bind(client)),\n 'logEvent',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n identify: debugWrapper(\n returnWrapper(client.identify.bind(client)),\n 'identify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n groupIdentify: debugWrapper(\n returnWrapper(client.groupIdentify.bind(client)),\n 'groupIdentify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n setGroup: debugWrapper(\n returnWrapper(client.setGroup.bind(client)),\n 'setGroup',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n revenue: debugWrapper(\n returnWrapper(client.revenue.bind(client)),\n 'revenue',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n flush: debugWrapper(\n returnWrapper(client.flush.bind(client)),\n 'flush',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n getUserId: debugWrapper(\n client.getUserId.bind(client),\n 'getUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n setUserId: debugWrapper(\n client.setUserId.bind(client),\n 'setUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n getDeviceId: debugWrapper(\n client.getDeviceId.bind(client),\n 'getDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n setDeviceId: debugWrapper(\n client.setDeviceId.bind(client),\n 'setDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n reset: debugWrapper(\n client.reset.bind(client),\n 'reset',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId', 'config.deviceId']),\n ),\n getSessionId: debugWrapper(\n client.getSessionId.bind(client),\n 'getSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setSessionId: debugWrapper(\n client.setSessionId.bind(client),\n 'setSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setOptOut: debugWrapper(\n client.setOptOut.bind(client),\n 'setOptOut',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setTransport: debugWrapper(\n client.setTransport.bind(client),\n 'setTransport',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n };\n};\n\nexport default createInstance();\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, 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"]}
|
package/lib/cjs/config.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AttributionOptions, Event, BrowserOptions, BrowserConfig as IBrowserConfig, Storage, TrackingOptions, TransportType, UserSession
|
|
1
|
+
import { AttributionOptions, Event, BrowserOptions, BrowserConfig as IBrowserConfig, Storage, TrackingOptions, TransportType, UserSession } from '@amplitude/analytics-types';
|
|
2
2
|
import { Config, MemoryStorage } from '@amplitude/analytics-core';
|
|
3
|
-
import {
|
|
3
|
+
import { FetchTransport } from '@amplitude/analytics-client-common';
|
|
4
4
|
import { XHRTransport } from './transports/xhr';
|
|
5
5
|
import { SendBeaconTransport } from './transports/send-beacon';
|
|
6
6
|
export declare const getDefaultConfig: () => {
|
|
@@ -11,9 +11,7 @@ export declare const getDefaultConfig: () => {
|
|
|
11
11
|
cookieUpgrade: boolean;
|
|
12
12
|
disableCookies: boolean;
|
|
13
13
|
domain: string;
|
|
14
|
-
sessionManager: SessionManager;
|
|
15
14
|
sessionTimeout: number;
|
|
16
|
-
storageProvider: MemoryStorage<Event[]>;
|
|
17
15
|
trackingOptions: Required<TrackingOptions>;
|
|
18
16
|
transportProvider: FetchTransport;
|
|
19
17
|
};
|
|
@@ -30,8 +28,12 @@ export declare class BrowserConfig extends Config implements IBrowserConfig {
|
|
|
30
28
|
partnerId?: string;
|
|
31
29
|
sessionTimeout: number;
|
|
32
30
|
trackingOptions: TrackingOptions;
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
protected _deviceId?: string;
|
|
32
|
+
protected _lastEventTime?: number;
|
|
33
|
+
protected _optOut: boolean;
|
|
34
|
+
protected _sessionId?: number;
|
|
35
|
+
protected _userId?: string;
|
|
36
|
+
constructor(apiKey: string, options?: BrowserOptions);
|
|
35
37
|
get deviceId(): string | undefined;
|
|
36
38
|
set deviceId(deviceId: string | undefined);
|
|
37
39
|
get userId(): string | undefined;
|
|
@@ -42,8 +44,9 @@ export declare class BrowserConfig extends Config implements IBrowserConfig {
|
|
|
42
44
|
set optOut(optOut: boolean);
|
|
43
45
|
get lastEventTime(): number | undefined;
|
|
44
46
|
set lastEventTime(lastEventTime: number | undefined);
|
|
47
|
+
private updateStorage;
|
|
45
48
|
}
|
|
46
|
-
export declare const useBrowserConfig: (apiKey: string,
|
|
49
|
+
export declare const useBrowserConfig: (apiKey: string, options?: BrowserOptions) => Promise<IBrowserConfig>;
|
|
47
50
|
export declare const createCookieStorage: (overrides?: BrowserOptions, baseConfig?: {
|
|
48
51
|
cookieExpiration: number;
|
|
49
52
|
cookieSameSite: string;
|
|
@@ -52,15 +55,12 @@ export declare const createCookieStorage: (overrides?: BrowserOptions, baseConfi
|
|
|
52
55
|
cookieUpgrade: boolean;
|
|
53
56
|
disableCookies: boolean;
|
|
54
57
|
domain: string;
|
|
55
|
-
sessionManager: SessionManager;
|
|
56
58
|
sessionTimeout: number;
|
|
57
|
-
storageProvider: MemoryStorage<Event[]>;
|
|
58
59
|
trackingOptions: Required<TrackingOptions>;
|
|
59
60
|
transportProvider: FetchTransport;
|
|
60
61
|
}) => Promise<Storage<UserSession>>;
|
|
61
62
|
export declare const createFlexibleStorage: <T>(options: BrowserOptions) => Promise<Storage<T>>;
|
|
62
63
|
export declare const createEventsStorage: (overrides?: BrowserOptions) => Promise<Storage<Event[]> | undefined>;
|
|
63
|
-
export declare const
|
|
64
|
-
export declare const createTransport: (transport?: TransportType) => FetchTransport | XHRTransport | SendBeaconTransport;
|
|
64
|
+
export declare const createTransport: (transport?: TransportType | keyof typeof TransportType) => FetchTransport | XHRTransport | SendBeaconTransport;
|
|
65
65
|
export declare const getTopLevelDomain: (url?: string) => Promise<string>;
|
|
66
66
|
//# sourceMappingURL=config.d.ts.map
|
package/lib/cjs/config.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/lib/cjs/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var _this = this;
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTopLevelDomain = exports.createTransport = exports.
|
|
3
|
+
exports.getTopLevelDomain = exports.createTransport = exports.createEventsStorage = exports.createFlexibleStorage = exports.createCookieStorage = exports.useBrowserConfig = exports.BrowserConfig = exports.getDefaultConfig = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var analytics_types_1 = require("@amplitude/analytics-types");
|
|
6
6
|
var analytics_core_1 = require("@amplitude/analytics-core");
|
|
@@ -27,9 +27,7 @@ var getDefaultConfig = function () {
|
|
|
27
27
|
cookieUpgrade: true,
|
|
28
28
|
disableCookies: false,
|
|
29
29
|
domain: '',
|
|
30
|
-
sessionManager: new analytics_client_common_1.SessionManager(cookieStorage, ''),
|
|
31
30
|
sessionTimeout: 30 * 60 * 1000,
|
|
32
|
-
storageProvider: new analytics_core_1.MemoryStorage(),
|
|
33
31
|
trackingOptions: trackingOptions,
|
|
34
32
|
transportProvider: new analytics_client_common_1.FetchTransport(),
|
|
35
33
|
};
|
|
@@ -37,91 +35,118 @@ var getDefaultConfig = function () {
|
|
|
37
35
|
exports.getDefaultConfig = getDefaultConfig;
|
|
38
36
|
var BrowserConfig = /** @class */ (function (_super) {
|
|
39
37
|
tslib_1.__extends(BrowserConfig, _super);
|
|
40
|
-
function BrowserConfig(apiKey,
|
|
38
|
+
function BrowserConfig(apiKey, options) {
|
|
41
39
|
var _this = this;
|
|
42
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j
|
|
40
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
43
41
|
var defaultConfig = (0, exports.getDefaultConfig)();
|
|
44
|
-
_this = _super.call(this, tslib_1.__assign(tslib_1.__assign({ flushIntervalMillis: 1000, flushMaxRetries: 5, flushQueueSize: 30
|
|
45
|
-
_this.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
_this.
|
|
49
|
-
_this.attribution = options === null || options === void 0 ? void 0 : options.attribution;
|
|
50
|
-
_this.cookieExpiration = (_f = options === null || options === void 0 ? void 0 : options.cookieExpiration) !== null && _f !== void 0 ? _f : defaultConfig.cookieExpiration;
|
|
51
|
-
_this.cookieSameSite = (_g = options === null || options === void 0 ? void 0 : options.cookieSameSite) !== null && _g !== void 0 ? _g : defaultConfig.cookieSameSite;
|
|
52
|
-
_this.cookieSecure = (_h = options === null || options === void 0 ? void 0 : options.cookieSecure) !== null && _h !== void 0 ? _h : defaultConfig.cookieSecure;
|
|
53
|
-
_this.cookieUpgrade = (_j = options === null || options === void 0 ? void 0 : options.cookieUpgrade) !== null && _j !== void 0 ? _j : defaultConfig.cookieUpgrade;
|
|
42
|
+
_this = _super.call(this, tslib_1.__assign(tslib_1.__assign({ flushIntervalMillis: 1000, flushMaxRetries: 5, flushQueueSize: 30, transportProvider: defaultConfig.transportProvider }, options), { apiKey: apiKey })) || this;
|
|
43
|
+
_this._optOut = false;
|
|
44
|
+
// NOTE: Define `cookieStorage` first to persist user session
|
|
45
|
+
// user session properties expect `cookieStorage` to be defined
|
|
46
|
+
_this.cookieStorage = (_a = options === null || options === void 0 ? void 0 : options.cookieStorage) !== null && _a !== void 0 ? _a : defaultConfig.cookieStorage;
|
|
54
47
|
_this.deviceId = options === null || options === void 0 ? void 0 : options.deviceId;
|
|
55
|
-
_this.
|
|
56
|
-
_this.domain = (_l = options === null || options === void 0 ? void 0 : options.domain) !== null && _l !== void 0 ? _l : defaultConfig.domain;
|
|
57
|
-
_this.lastEventTime = (_m = _this.lastEventTime) !== null && _m !== void 0 ? _m : options === null || options === void 0 ? void 0 : options.lastEventTime;
|
|
48
|
+
_this.lastEventTime = options === null || options === void 0 ? void 0 : options.lastEventTime;
|
|
58
49
|
_this.optOut = Boolean(options === null || options === void 0 ? void 0 : options.optOut);
|
|
59
|
-
_this.partnerId = options === null || options === void 0 ? void 0 : options.partnerId;
|
|
60
50
|
_this.sessionId = options === null || options === void 0 ? void 0 : options.sessionId;
|
|
61
|
-
_this.
|
|
62
|
-
_this.
|
|
51
|
+
_this.userId = options === null || options === void 0 ? void 0 : options.userId;
|
|
52
|
+
_this.appVersion = options === null || options === void 0 ? void 0 : options.appVersion;
|
|
53
|
+
_this.attribution = options === null || options === void 0 ? void 0 : options.attribution;
|
|
54
|
+
_this.cookieExpiration = (_b = options === null || options === void 0 ? void 0 : options.cookieExpiration) !== null && _b !== void 0 ? _b : defaultConfig.cookieExpiration;
|
|
55
|
+
_this.cookieSameSite = (_c = options === null || options === void 0 ? void 0 : options.cookieSameSite) !== null && _c !== void 0 ? _c : defaultConfig.cookieSameSite;
|
|
56
|
+
_this.cookieSecure = (_d = options === null || options === void 0 ? void 0 : options.cookieSecure) !== null && _d !== void 0 ? _d : defaultConfig.cookieSecure;
|
|
57
|
+
_this.cookieUpgrade = (_e = options === null || options === void 0 ? void 0 : options.cookieUpgrade) !== null && _e !== void 0 ? _e : defaultConfig.cookieUpgrade;
|
|
58
|
+
_this.disableCookies = (_f = options === null || options === void 0 ? void 0 : options.disableCookies) !== null && _f !== void 0 ? _f : defaultConfig.disableCookies;
|
|
59
|
+
_this.domain = (_g = options === null || options === void 0 ? void 0 : options.domain) !== null && _g !== void 0 ? _g : defaultConfig.domain;
|
|
60
|
+
_this.partnerId = options === null || options === void 0 ? void 0 : options.partnerId;
|
|
61
|
+
_this.sessionTimeout = (_h = options === null || options === void 0 ? void 0 : options.sessionTimeout) !== null && _h !== void 0 ? _h : defaultConfig.sessionTimeout;
|
|
62
|
+
_this.trackingOptions = (_j = options === null || options === void 0 ? void 0 : options.trackingOptions) !== null && _j !== void 0 ? _j : defaultConfig.trackingOptions;
|
|
63
63
|
return _this;
|
|
64
64
|
}
|
|
65
65
|
Object.defineProperty(BrowserConfig.prototype, "deviceId", {
|
|
66
66
|
get: function () {
|
|
67
|
-
return this.
|
|
67
|
+
return this._deviceId;
|
|
68
68
|
},
|
|
69
69
|
set: function (deviceId) {
|
|
70
|
-
this.
|
|
70
|
+
if (this._deviceId !== deviceId) {
|
|
71
|
+
this._deviceId = deviceId;
|
|
72
|
+
this.updateStorage();
|
|
73
|
+
}
|
|
71
74
|
},
|
|
72
75
|
enumerable: false,
|
|
73
76
|
configurable: true
|
|
74
77
|
});
|
|
75
78
|
Object.defineProperty(BrowserConfig.prototype, "userId", {
|
|
76
79
|
get: function () {
|
|
77
|
-
return this.
|
|
80
|
+
return this._userId;
|
|
78
81
|
},
|
|
79
82
|
set: function (userId) {
|
|
80
|
-
this.
|
|
83
|
+
if (this._userId !== userId) {
|
|
84
|
+
this._userId = userId;
|
|
85
|
+
this.updateStorage();
|
|
86
|
+
}
|
|
81
87
|
},
|
|
82
88
|
enumerable: false,
|
|
83
89
|
configurable: true
|
|
84
90
|
});
|
|
85
91
|
Object.defineProperty(BrowserConfig.prototype, "sessionId", {
|
|
86
92
|
get: function () {
|
|
87
|
-
return this.
|
|
93
|
+
return this._sessionId;
|
|
88
94
|
},
|
|
89
95
|
set: function (sessionId) {
|
|
90
|
-
this.
|
|
96
|
+
if (this._sessionId !== sessionId) {
|
|
97
|
+
this._sessionId = sessionId;
|
|
98
|
+
this.updateStorage();
|
|
99
|
+
}
|
|
91
100
|
},
|
|
92
101
|
enumerable: false,
|
|
93
102
|
configurable: true
|
|
94
103
|
});
|
|
95
104
|
Object.defineProperty(BrowserConfig.prototype, "optOut", {
|
|
96
105
|
get: function () {
|
|
97
|
-
return this.
|
|
106
|
+
return this._optOut;
|
|
98
107
|
},
|
|
99
108
|
set: function (optOut) {
|
|
100
|
-
|
|
101
|
-
|
|
109
|
+
if (this._optOut !== optOut) {
|
|
110
|
+
this._optOut = optOut;
|
|
111
|
+
this.updateStorage();
|
|
112
|
+
}
|
|
102
113
|
},
|
|
103
114
|
enumerable: false,
|
|
104
115
|
configurable: true
|
|
105
116
|
});
|
|
106
117
|
Object.defineProperty(BrowserConfig.prototype, "lastEventTime", {
|
|
107
118
|
get: function () {
|
|
108
|
-
return this.
|
|
119
|
+
return this._lastEventTime;
|
|
109
120
|
},
|
|
110
121
|
set: function (lastEventTime) {
|
|
111
|
-
this.
|
|
122
|
+
if (this._lastEventTime !== lastEventTime) {
|
|
123
|
+
this._lastEventTime = lastEventTime;
|
|
124
|
+
this.updateStorage();
|
|
125
|
+
}
|
|
112
126
|
},
|
|
113
127
|
enumerable: false,
|
|
114
128
|
configurable: true
|
|
115
129
|
});
|
|
130
|
+
BrowserConfig.prototype.updateStorage = function () {
|
|
131
|
+
var _a;
|
|
132
|
+
var cache = {
|
|
133
|
+
deviceId: this._deviceId,
|
|
134
|
+
userId: this._userId,
|
|
135
|
+
sessionId: this._sessionId,
|
|
136
|
+
optOut: this._optOut,
|
|
137
|
+
lastEventTime: this._lastEventTime,
|
|
138
|
+
};
|
|
139
|
+
void ((_a = this.cookieStorage) === null || _a === void 0 ? void 0 : _a.set((0, analytics_client_common_1.getCookieName)(this.apiKey), cache));
|
|
140
|
+
};
|
|
116
141
|
return BrowserConfig;
|
|
117
142
|
}(analytics_core_1.Config));
|
|
118
143
|
exports.BrowserConfig = BrowserConfig;
|
|
119
|
-
var useBrowserConfig = function (apiKey,
|
|
120
|
-
var defaultConfig, domain, _a, cookieStorage,
|
|
144
|
+
var useBrowserConfig = function (apiKey, options) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
145
|
+
var defaultConfig, domain, _a, cookieStorage, previousCookies, queryParams, deviceId, lastEventTime, optOut, sessionId, userId, _b, _c, _d;
|
|
121
146
|
var _e;
|
|
122
|
-
var _f, _g, _h, _j, _k;
|
|
123
|
-
return tslib_1.__generator(this, function (
|
|
124
|
-
switch (
|
|
147
|
+
var _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
148
|
+
return tslib_1.__generator(this, function (_q) {
|
|
149
|
+
switch (_q.label) {
|
|
125
150
|
case 0:
|
|
126
151
|
defaultConfig = (0, exports.getDefaultConfig)();
|
|
127
152
|
if (!((_f = options === null || options === void 0 ? void 0 : options.domain) !== null && _f !== void 0)) return [3 /*break*/, 1];
|
|
@@ -129,30 +154,28 @@ var useBrowserConfig = function (apiKey, userId, options) { return tslib_1.__awa
|
|
|
129
154
|
return [3 /*break*/, 3];
|
|
130
155
|
case 1: return [4 /*yield*/, (0, exports.getTopLevelDomain)()];
|
|
131
156
|
case 2:
|
|
132
|
-
_a = (
|
|
133
|
-
|
|
157
|
+
_a = (_q.sent());
|
|
158
|
+
_q.label = 3;
|
|
134
159
|
case 3:
|
|
135
160
|
domain = _a;
|
|
136
161
|
return [4 /*yield*/, (0, exports.createCookieStorage)(tslib_1.__assign(tslib_1.__assign({}, options), { domain: domain }))];
|
|
137
162
|
case 4:
|
|
138
|
-
cookieStorage =
|
|
139
|
-
|
|
140
|
-
return [4 /*yield*/, cookieStorage.get(cookieName)];
|
|
163
|
+
cookieStorage = _q.sent();
|
|
164
|
+
return [4 /*yield*/, cookieStorage.get((0, analytics_client_common_1.getCookieName)(apiKey))];
|
|
141
165
|
case 5:
|
|
142
|
-
|
|
166
|
+
previousCookies = _q.sent();
|
|
143
167
|
queryParams = (0, analytics_client_common_1.getQueryParams)();
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
168
|
+
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 : (0, analytics_core_1.UUID)();
|
|
169
|
+
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;
|
|
170
|
+
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);
|
|
171
|
+
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;
|
|
172
|
+
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;
|
|
147
173
|
_b = BrowserConfig.bind;
|
|
148
|
-
_c = [void 0, apiKey
|
|
174
|
+
_c = [void 0, apiKey];
|
|
149
175
|
_d = [tslib_1.__assign({}, options)];
|
|
150
|
-
_e = { cookieStorage: cookieStorage,
|
|
151
|
-
return [4 /*yield*/, cookieStorage.get(cookieName)];
|
|
152
|
-
case 7:
|
|
153
|
-
_e.sessionId = (_j = (_h = (_l.sent())) === null || _h === void 0 ? void 0 : _h.sessionId) !== null && _j !== void 0 ? _j : options === null || options === void 0 ? void 0 : options.sessionId;
|
|
176
|
+
_e = { cookieStorage: cookieStorage, deviceId: deviceId, domain: domain, lastEventTime: lastEventTime, optOut: optOut, sessionId: sessionId };
|
|
154
177
|
return [4 /*yield*/, (0, exports.createEventsStorage)(options)];
|
|
155
|
-
case
|
|
178
|
+
case 6: return [2 /*return*/, new (_b.apply(BrowserConfig, _c.concat([tslib_1.__assign.apply(void 0, _d.concat([(_e.storageProvider = _q.sent(), _e.trackingOptions = tslib_1.__assign(tslib_1.__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 : (0, exports.createTransport)(options === null || options === void 0 ? void 0 : options.transport), _e.userId = userId, _e)]))])))()];
|
|
156
179
|
}
|
|
157
180
|
});
|
|
158
181
|
}); };
|
|
@@ -259,10 +282,6 @@ var createEventsStorage = function (overrides) { return tslib_1.__awaiter(_this,
|
|
|
259
282
|
});
|
|
260
283
|
}); };
|
|
261
284
|
exports.createEventsStorage = createEventsStorage;
|
|
262
|
-
var createDeviceId = function (idFromCookies, idFromOptions, idFromQueryParams) {
|
|
263
|
-
return idFromOptions || idFromQueryParams || idFromCookies || (0, analytics_core_1.UUID)();
|
|
264
|
-
};
|
|
265
|
-
exports.createDeviceId = createDeviceId;
|
|
266
285
|
var createTransport = function (transport) {
|
|
267
286
|
if (transport === analytics_types_1.TransportType.XHR) {
|
|
268
287
|
return new xhr_1.XHRTransport();
|