@amplitude/analytics-browser 2.11.12 → 2.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/cjs/__mocks__/det-notification.js +1 -0
- package/lib/cjs/__mocks__/det-notification.js.map +1 -1
- package/lib/cjs/attribution/campaign-parser.d.ts +8 -0
- package/lib/cjs/attribution/campaign-parser.d.ts.map +1 -0
- package/lib/cjs/attribution/campaign-parser.js +69 -0
- package/lib/cjs/attribution/campaign-parser.js.map +1 -0
- package/lib/cjs/attribution/campaign.d.ts +31 -0
- package/lib/cjs/attribution/campaign.d.ts.map +1 -0
- package/lib/cjs/attribution/campaign.js +3 -0
- package/lib/cjs/attribution/campaign.js.map +1 -0
- package/lib/cjs/attribution/constants.d.ts +22 -0
- package/lib/cjs/attribution/constants.d.ts.map +1 -0
- package/lib/cjs/attribution/constants.js +44 -0
- package/lib/cjs/attribution/constants.js.map +1 -0
- package/lib/cjs/attribution/helpers.d.ts +12 -0
- package/lib/cjs/attribution/helpers.d.ts.map +1 -0
- package/lib/cjs/attribution/helpers.js +77 -0
- package/lib/cjs/attribution/helpers.js.map +1 -0
- package/lib/cjs/attribution/web-attribution.d.ts +25 -0
- package/lib/cjs/attribution/web-attribution.d.ts.map +1 -0
- package/lib/cjs/attribution/web-attribution.js +73 -0
- package/lib/cjs/attribution/web-attribution.js.map +1 -0
- package/lib/cjs/browser-client-factory.d.ts +1 -1
- package/lib/cjs/browser-client-factory.d.ts.map +1 -1
- package/lib/cjs/browser-client-factory.js +1 -0
- package/lib/cjs/browser-client-factory.js.map +1 -1
- package/lib/cjs/browser-client.d.ts +7 -8
- package/lib/cjs/browser-client.d.ts.map +1 -1
- package/lib/cjs/browser-client.js +22 -21
- package/lib/cjs/browser-client.js.map +1 -1
- package/lib/cjs/config/joined-config.d.ts +6 -1
- package/lib/cjs/config/joined-config.d.ts.map +1 -1
- package/lib/cjs/config/joined-config.js +12 -12
- package/lib/cjs/config/joined-config.js.map +1 -1
- package/lib/cjs/config.d.ts +4 -7
- package/lib/cjs/config.d.ts.map +1 -1
- package/lib/cjs/config.js +18 -16
- package/lib/cjs/config.js.map +1 -1
- package/lib/cjs/constants.d.ts +13 -13
- package/lib/cjs/constants.d.ts.map +1 -1
- package/lib/cjs/constants.js +1 -0
- package/lib/cjs/constants.js.map +1 -1
- package/lib/cjs/cookie-migration/index.d.ts +1 -1
- package/lib/cjs/cookie-migration/index.d.ts.map +1 -1
- package/lib/cjs/cookie-migration/index.js +10 -6
- package/lib/cjs/cookie-migration/index.js.map +1 -1
- package/lib/cjs/default-tracking.d.ts +18 -0
- package/lib/cjs/default-tracking.d.ts.map +1 -0
- package/lib/cjs/default-tracking.js +108 -0
- package/lib/cjs/default-tracking.js.map +1 -0
- package/lib/cjs/det-notification.d.ts +1 -1
- package/lib/cjs/det-notification.d.ts.map +1 -1
- package/lib/cjs/det-notification.js +1 -0
- package/lib/cjs/det-notification.js.map +1 -1
- package/lib/cjs/gtm-snippet-index.js +4 -3
- package/lib/cjs/gtm-snippet-index.js.map +1 -1
- package/lib/cjs/index.d.ts +4 -4
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/lib-prefix.js +1 -0
- package/lib/cjs/lib-prefix.js.map +1 -1
- package/lib/cjs/plugins/context.d.ts +1 -1
- package/lib/cjs/plugins/context.d.ts.map +1 -1
- package/lib/cjs/plugins/context.js +3 -3
- package/lib/cjs/plugins/context.js.map +1 -1
- package/lib/cjs/plugins/file-download-tracking.d.ts +1 -1
- package/lib/cjs/plugins/file-download-tracking.d.ts.map +1 -1
- package/lib/cjs/plugins/file-download-tracking.js +6 -6
- package/lib/cjs/plugins/file-download-tracking.js.map +1 -1
- package/lib/cjs/plugins/form-interaction-tracking.d.ts +1 -1
- package/lib/cjs/plugins/form-interaction-tracking.d.ts.map +1 -1
- package/lib/cjs/plugins/form-interaction-tracking.js +6 -6
- package/lib/cjs/plugins/form-interaction-tracking.js.map +1 -1
- package/lib/cjs/plugins/network-connectivity-checker.d.ts +1 -1
- package/lib/cjs/plugins/network-connectivity-checker.d.ts.map +1 -1
- package/lib/cjs/plugins/network-connectivity-checker.js +5 -5
- package/lib/cjs/plugins/network-connectivity-checker.js.map +1 -1
- package/lib/cjs/snippet-index.js +4 -3
- package/lib/cjs/snippet-index.js.map +1 -1
- package/lib/cjs/storage/browser-storage.d.ts +1 -1
- package/lib/cjs/storage/browser-storage.d.ts.map +1 -1
- package/lib/cjs/storage/browser-storage.js +5 -4
- package/lib/cjs/storage/browser-storage.js.map +1 -1
- package/lib/cjs/storage/local-storage.d.ts +3 -3
- package/lib/cjs/storage/local-storage.d.ts.map +1 -1
- package/lib/cjs/storage/local-storage.js +4 -4
- package/lib/cjs/storage/local-storage.js.map +1 -1
- package/lib/cjs/storage/session-storage.js +3 -2
- package/lib/cjs/storage/session-storage.js.map +1 -1
- package/lib/cjs/transports/send-beacon.d.ts +1 -2
- package/lib/cjs/transports/send-beacon.d.ts.map +1 -1
- package/lib/cjs/transports/send-beacon.js +2 -2
- package/lib/cjs/transports/send-beacon.js.map +1 -1
- package/lib/cjs/transports/xhr.d.ts +1 -2
- package/lib/cjs/transports/xhr.d.ts.map +1 -1
- package/lib/cjs/transports/xhr.js +2 -1
- package/lib/cjs/transports/xhr.js.map +1 -1
- package/lib/cjs/utils/snippet-helper.d.ts +12 -1
- package/lib/cjs/utils/snippet-helper.d.ts.map +1 -1
- package/lib/cjs/utils/snippet-helper.js +1 -0
- package/lib/cjs/utils/snippet-helper.js.map +1 -1
- package/lib/cjs/version.d.ts +1 -1
- package/lib/cjs/version.d.ts.map +1 -1
- package/lib/cjs/version.js +2 -1
- package/lib/cjs/version.js.map +1 -1
- package/lib/esm/attribution/campaign-parser.d.ts +8 -0
- package/lib/esm/attribution/campaign-parser.d.ts.map +1 -0
- package/lib/esm/attribution/campaign-parser.js +66 -0
- package/lib/esm/attribution/campaign-parser.js.map +1 -0
- package/lib/esm/attribution/campaign.d.ts +31 -0
- package/lib/esm/attribution/campaign.d.ts.map +1 -0
- package/lib/esm/attribution/campaign.js +2 -0
- package/lib/esm/attribution/campaign.js.map +1 -0
- package/lib/esm/attribution/constants.d.ts +22 -0
- package/lib/esm/attribution/constants.d.ts.map +1 -0
- package/lib/esm/attribution/constants.js +41 -0
- package/lib/esm/attribution/constants.js.map +1 -0
- package/lib/esm/attribution/helpers.d.ts +12 -0
- package/lib/esm/attribution/helpers.d.ts.map +1 -0
- package/lib/esm/attribution/helpers.js +70 -0
- package/lib/esm/attribution/helpers.js.map +1 -0
- package/lib/esm/attribution/web-attribution.d.ts +25 -0
- package/lib/esm/attribution/web-attribution.d.ts.map +1 -0
- package/lib/esm/attribution/web-attribution.js +70 -0
- package/lib/esm/attribution/web-attribution.js.map +1 -0
- package/lib/esm/browser-client-factory.d.ts +1 -1
- package/lib/esm/browser-client-factory.d.ts.map +1 -1
- package/lib/esm/browser-client-factory.js.map +1 -1
- package/lib/esm/browser-client.d.ts +7 -8
- package/lib/esm/browser-client.d.ts.map +1 -1
- package/lib/esm/browser-client.js +4 -4
- package/lib/esm/browser-client.js.map +1 -1
- package/lib/esm/config/joined-config.d.ts +6 -1
- package/lib/esm/config/joined-config.d.ts.map +1 -1
- package/lib/esm/config/joined-config.js +10 -10
- package/lib/esm/config/joined-config.js.map +1 -1
- package/lib/esm/config.d.ts +4 -7
- package/lib/esm/config.d.ts.map +1 -1
- package/lib/esm/config.js +9 -7
- package/lib/esm/config.js.map +1 -1
- package/lib/esm/constants.d.ts +13 -13
- package/lib/esm/constants.d.ts.map +1 -1
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/cookie-migration/index.d.ts +1 -1
- package/lib/esm/cookie-migration/index.d.ts.map +1 -1
- package/lib/esm/cookie-migration/index.js +9 -5
- package/lib/esm/cookie-migration/index.js.map +1 -1
- package/lib/esm/default-tracking.d.ts +18 -0
- package/lib/esm/default-tracking.d.ts.map +1 -0
- package/lib/esm/default-tracking.js +96 -0
- package/lib/esm/default-tracking.js.map +1 -0
- package/lib/esm/det-notification.d.ts +1 -1
- package/lib/esm/det-notification.d.ts.map +1 -1
- package/lib/esm/det-notification.js.map +1 -1
- package/lib/esm/gtm-snippet-index.js +1 -1
- package/lib/esm/gtm-snippet-index.js.map +1 -1
- package/lib/esm/index.d.ts +4 -4
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/plugins/context.d.ts +1 -1
- package/lib/esm/plugins/context.d.ts.map +1 -1
- package/lib/esm/plugins/context.js +2 -3
- package/lib/esm/plugins/context.js.map +1 -1
- package/lib/esm/plugins/file-download-tracking.d.ts +1 -1
- package/lib/esm/plugins/file-download-tracking.d.ts.map +1 -1
- package/lib/esm/plugins/file-download-tracking.js +1 -1
- package/lib/esm/plugins/file-download-tracking.js.map +1 -1
- package/lib/esm/plugins/form-interaction-tracking.d.ts +1 -1
- package/lib/esm/plugins/form-interaction-tracking.d.ts.map +1 -1
- package/lib/esm/plugins/form-interaction-tracking.js +1 -1
- package/lib/esm/plugins/form-interaction-tracking.js.map +1 -1
- package/lib/esm/plugins/network-connectivity-checker.d.ts +1 -1
- package/lib/esm/plugins/network-connectivity-checker.d.ts.map +1 -1
- package/lib/esm/plugins/network-connectivity-checker.js +1 -1
- package/lib/esm/plugins/network-connectivity-checker.js.map +1 -1
- package/lib/esm/snippet-index.js +1 -1
- package/lib/esm/snippet-index.js.map +1 -1
- package/lib/esm/storage/browser-storage.d.ts +1 -1
- package/lib/esm/storage/browser-storage.d.ts.map +1 -1
- package/lib/esm/storage/browser-storage.js +4 -4
- package/lib/esm/storage/browser-storage.js.map +1 -1
- package/lib/esm/storage/local-storage.d.ts +3 -3
- package/lib/esm/storage/local-storage.d.ts.map +1 -1
- package/lib/esm/storage/local-storage.js +3 -4
- package/lib/esm/storage/local-storage.js.map +1 -1
- package/lib/esm/storage/session-storage.js +1 -1
- package/lib/esm/storage/session-storage.js.map +1 -1
- package/lib/esm/transports/send-beacon.d.ts +1 -2
- package/lib/esm/transports/send-beacon.d.ts.map +1 -1
- package/lib/esm/transports/send-beacon.js +1 -2
- package/lib/esm/transports/send-beacon.js.map +1 -1
- package/lib/esm/transports/xhr.d.ts +1 -2
- package/lib/esm/transports/xhr.d.ts.map +1 -1
- package/lib/esm/transports/xhr.js +2 -2
- package/lib/esm/transports/xhr.js.map +1 -1
- package/lib/esm/utils/snippet-helper.d.ts +12 -1
- package/lib/esm/utils/snippet-helper.d.ts.map +1 -1
- package/lib/esm/utils/snippet-helper.js.map +1 -1
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.d.ts.map +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/esm/version.js.map +1 -1
- package/lib/scripts/amplitude-bookmarklet-snippet-min.js +1 -1
- package/lib/scripts/amplitude-bookmarklet.html +1 -1
- package/lib/scripts/amplitude-gtm-min.js +1 -1
- package/lib/scripts/amplitude-gtm-min.js.gz +0 -0
- package/lib/scripts/amplitude-gtm-min.js.map +1 -1
- package/lib/scripts/amplitude-gtm-snippet-min.js +1 -1
- package/lib/scripts/amplitude-min.js +1 -1
- package/lib/scripts/amplitude-min.js.gz +0 -0
- package/lib/scripts/amplitude-min.js.map +1 -1
- 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/attribution/campaign-parser.d.ts +8 -0
- package/lib/scripts/attribution/campaign-parser.d.ts.map +1 -0
- package/lib/scripts/attribution/campaign.d.ts +31 -0
- package/lib/scripts/attribution/campaign.d.ts.map +1 -0
- package/lib/scripts/attribution/constants.d.ts +22 -0
- package/lib/scripts/attribution/constants.d.ts.map +1 -0
- package/lib/scripts/attribution/helpers.d.ts +12 -0
- package/lib/scripts/attribution/helpers.d.ts.map +1 -0
- package/lib/scripts/attribution/web-attribution.d.ts +25 -0
- package/lib/scripts/attribution/web-attribution.d.ts.map +1 -0
- package/lib/scripts/browser-client-factory.d.ts +1 -1
- package/lib/scripts/browser-client-factory.d.ts.map +1 -1
- package/lib/scripts/browser-client.d.ts +7 -8
- package/lib/scripts/browser-client.d.ts.map +1 -1
- package/lib/scripts/config/joined-config.d.ts +6 -1
- package/lib/scripts/config/joined-config.d.ts.map +1 -1
- package/lib/scripts/config.d.ts +1 -4
- package/lib/scripts/config.d.ts.map +1 -1
- package/lib/scripts/constants.d.ts +1 -1
- package/lib/scripts/constants.d.ts.map +1 -1
- package/lib/scripts/cookie-migration/index.d.ts +1 -1
- package/lib/scripts/cookie-migration/index.d.ts.map +1 -1
- package/lib/scripts/default-tracking.d.ts +18 -0
- package/lib/scripts/default-tracking.d.ts.map +1 -0
- package/lib/scripts/det-notification.d.ts +1 -1
- package/lib/scripts/det-notification.d.ts.map +1 -1
- package/lib/scripts/index.d.ts +4 -4
- package/lib/scripts/index.d.ts.map +1 -1
- package/lib/scripts/plugins/context.d.ts +1 -1
- package/lib/scripts/plugins/context.d.ts.map +1 -1
- package/lib/scripts/plugins/file-download-tracking.d.ts +1 -1
- package/lib/scripts/plugins/file-download-tracking.d.ts.map +1 -1
- package/lib/scripts/plugins/form-interaction-tracking.d.ts +1 -1
- package/lib/scripts/plugins/form-interaction-tracking.d.ts.map +1 -1
- package/lib/scripts/plugins/network-connectivity-checker.d.ts +1 -1
- package/lib/scripts/plugins/network-connectivity-checker.d.ts.map +1 -1
- package/lib/scripts/storage/browser-storage.d.ts +1 -1
- package/lib/scripts/storage/browser-storage.d.ts.map +1 -1
- package/lib/scripts/storage/local-storage.d.ts +3 -3
- package/lib/scripts/storage/local-storage.d.ts.map +1 -1
- package/lib/scripts/transports/send-beacon.d.ts +1 -2
- package/lib/scripts/transports/send-beacon.d.ts.map +1 -1
- package/lib/scripts/transports/xhr.d.ts +1 -2
- package/lib/scripts/transports/xhr.d.ts.map +1 -1
- package/lib/scripts/utils/snippet-helper.d.ts +12 -1
- package/lib/scripts/utils/snippet-helper.d.ts.map +1 -1
- package/lib/scripts/version.d.ts +1 -1
- package/lib/scripts/version.d.ts.map +1 -1
- package/package.json +6 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-download-tracking.d.ts","sourceRoot":"","sources":["../../../src/plugins/file-download-tracking.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-download-tracking.d.ts","sourceRoot":"","sources":["../../../src/plugins/file-download-tracking.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,gBAAgB,EAAiB,MAAM,2BAA2B,CAAC;AAQnG,eAAO,MAAM,oBAAoB,QAAO,gBA+GvC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.fileDownloadTracking = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var constants_1 = require("../constants");
|
|
6
|
-
var
|
|
6
|
+
var analytics_core_1 = require("@amplitude/analytics-core");
|
|
7
7
|
var fileDownloadTracking = function () {
|
|
8
8
|
var observer;
|
|
9
9
|
var eventListeners = [];
|
|
@@ -25,14 +25,14 @@ var fileDownloadTracking = function () {
|
|
|
25
25
|
};
|
|
26
26
|
var name = '@amplitude/plugin-file-download-tracking-browser';
|
|
27
27
|
var type = 'enrichment';
|
|
28
|
-
var setup = function (config, amplitude) { return tslib_1.__awaiter(
|
|
28
|
+
var setup = function (config, amplitude) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
29
29
|
var _a;
|
|
30
30
|
return tslib_1.__generator(this, function (_b) {
|
|
31
31
|
// The form interaction plugin observes changes in the dom. For this to work correctly, the observer can only be setup
|
|
32
32
|
// after the body is built. When Amplitud gets initialized in a script tag, the body tag is still unavailable. So register this
|
|
33
33
|
// only after the window is loaded
|
|
34
34
|
/* istanbul ignore next */
|
|
35
|
-
(_a = (0,
|
|
35
|
+
(_a = (0, analytics_core_1.getGlobalScope)()) === null || _a === void 0 ? void 0 : _a.addEventListener('load', function () {
|
|
36
36
|
/* istanbul ignore if */
|
|
37
37
|
if (!amplitude) {
|
|
38
38
|
// TODO: Add required minimum version of @amplitude/analytics-browser
|
|
@@ -98,10 +98,10 @@ var fileDownloadTracking = function () {
|
|
|
98
98
|
return [2 /*return*/];
|
|
99
99
|
});
|
|
100
100
|
}); };
|
|
101
|
-
var execute = function (event) { return tslib_1.__awaiter(
|
|
101
|
+
var execute = function (event) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
102
102
|
return [2 /*return*/, event];
|
|
103
103
|
}); }); };
|
|
104
|
-
var teardown = function () { return tslib_1.__awaiter(
|
|
104
|
+
var teardown = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
105
105
|
return tslib_1.__generator(this, function (_a) {
|
|
106
106
|
observer === null || observer === void 0 ? void 0 : observer.disconnect();
|
|
107
107
|
removeClickListeners();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-download-tracking.js","sourceRoot":"","sources":["../../../src/plugins/file-download-tracking.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"file-download-tracking.js","sourceRoot":"","sources":["../../../src/plugins/file-download-tracking.ts"],"names":[],"mappings":"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","sourcesContent":["import { DEFAULT_FILE_DOWNLOAD_EVENT, FILE_EXTENSION, FILE_NAME, LINK_ID, LINK_TEXT, LINK_URL } from '../constants';\nimport { BrowserConfig } from '../config';\nimport { getGlobalScope, Event, EnrichmentPlugin, BrowserClient } from '@amplitude/analytics-core';\n\ninterface EventListener {\n element: Element;\n type: 'click';\n handler: () => void;\n}\n\nexport const fileDownloadTracking = (): EnrichmentPlugin => {\n let observer: MutationObserver | undefined;\n let eventListeners: EventListener[] = [];\n const addEventListener = (element: Element, type: 'click', handler: () => void) => {\n element.addEventListener(type, handler);\n eventListeners.push({\n element,\n type,\n handler,\n });\n };\n const removeClickListeners = () => {\n eventListeners.forEach(({ element, type, handler }) => {\n /* istanbul ignore next */\n element?.removeEventListener(type, handler);\n });\n eventListeners = [];\n };\n\n const name = '@amplitude/plugin-file-download-tracking-browser';\n const type = 'enrichment';\n const setup = async (config: BrowserConfig, amplitude: BrowserClient) => {\n // The form interaction plugin observes changes in the dom. For this to work correctly, the observer can only be setup\n // after the body is built. When Amplitud gets initialized in a script tag, the body tag is still unavailable. So register this\n // only after the window is loaded\n /* istanbul ignore next */\n getGlobalScope()?.addEventListener('load', function () {\n /* istanbul ignore if */\n if (!amplitude) {\n // TODO: Add required minimum version of @amplitude/analytics-browser\n config.loggerProvider.warn(\n 'File download tracking requires a later version of @amplitude/analytics-browser. File download events are not tracked.',\n );\n return;\n }\n\n /* istanbul ignore if */\n if (typeof document === 'undefined') {\n return;\n }\n\n const addFileDownloadListener = (a: HTMLAnchorElement) => {\n let url: URL;\n try {\n // eslint-disable-next-line no-restricted-globals\n url = new URL(a.href, window.location.href);\n } catch {\n /* istanbul ignore next */\n return;\n }\n const result = ext.exec(url.href);\n const fileExtension = result?.[1];\n\n if (fileExtension) {\n addEventListener(a, 'click', () => {\n if (fileExtension) {\n amplitude.track(DEFAULT_FILE_DOWNLOAD_EVENT, {\n [FILE_EXTENSION]: fileExtension,\n [FILE_NAME]: url.pathname,\n [LINK_ID]: a.id,\n [LINK_TEXT]: a.text,\n [LINK_URL]: a.href,\n });\n }\n });\n }\n };\n\n const ext =\n /\\.(pdf|xlsx?|docx?|txt|rtf|csv|exe|key|pp(s|t|tx)|7z|pkg|rar|gz|zip|avi|mov|mp4|mpe?g|wmv|midi?|mp3|wav|wma)(\\?.+)?$/;\n\n // Adds listener to existing anchor tags\n const links = Array.from(document.getElementsByTagName('a'));\n links.forEach(addFileDownloadListener);\n\n // Adds listener to anchor tags added after initial load\n /* istanbul ignore else */\n if (typeof MutationObserver !== 'undefined') {\n observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n mutation.addedNodes.forEach((node) => {\n if (node.nodeName === 'A') {\n addFileDownloadListener(node as HTMLAnchorElement);\n }\n if ('querySelectorAll' in node && typeof node.querySelectorAll === 'function') {\n Array.from(node.querySelectorAll('a') as HTMLAnchorElement[]).map(addFileDownloadListener);\n }\n });\n });\n });\n\n observer.observe(document.body, {\n subtree: true,\n childList: true,\n });\n }\n });\n };\n const execute = async (event: Event) => event;\n const teardown = async () => {\n observer?.disconnect();\n removeClickListeners();\n };\n\n return {\n name,\n type,\n setup,\n execute,\n teardown,\n };\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EnrichmentPlugin } from '@amplitude/analytics-
|
|
1
|
+
import { EnrichmentPlugin } from '@amplitude/analytics-core';
|
|
2
2
|
export declare const formInteractionTracking: () => EnrichmentPlugin;
|
|
3
3
|
export declare const stringOrUndefined: <T>(name: T) => T extends string ? string : undefined;
|
|
4
4
|
export declare const extractFormAction: (form: HTMLFormElement) => string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-interaction-tracking.d.ts","sourceRoot":"","sources":["../../../src/plugins/form-interaction-tracking.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"form-interaction-tracking.d.ts","sourceRoot":"","sources":["../../../src/plugins/form-interaction-tracking.ts"],"names":[],"mappings":"AAQA,OAAO,EAAyB,gBAAgB,EAAiB,MAAM,2BAA2B,CAAC;AAQnG,eAAO,MAAM,uBAAuB,QAAO,gBAqH1C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,CAAC,QAAQ,CAAC,KAAG,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAU1E,CAAC;AAGF,eAAO,MAAM,iBAAiB,SAAU,eAAe,KAAG,MAAM,GAAG,IASlE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractFormAction = exports.stringOrUndefined = exports.formInteractionTracking = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var constants_1 = require("../constants");
|
|
6
|
-
var
|
|
6
|
+
var analytics_core_1 = require("@amplitude/analytics-core");
|
|
7
7
|
var formInteractionTracking = function () {
|
|
8
8
|
var observer;
|
|
9
9
|
var eventListeners = [];
|
|
@@ -25,14 +25,14 @@ var formInteractionTracking = function () {
|
|
|
25
25
|
};
|
|
26
26
|
var name = '@amplitude/plugin-form-interaction-tracking-browser';
|
|
27
27
|
var type = 'enrichment';
|
|
28
|
-
var setup = function (config, amplitude) { return tslib_1.__awaiter(
|
|
28
|
+
var setup = function (config, amplitude) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
29
29
|
var _a;
|
|
30
30
|
return tslib_1.__generator(this, function (_b) {
|
|
31
31
|
// The form interaction plugin observes changes in the dom. For this to work correctly, the observer can only be setup
|
|
32
32
|
// after the body is built. When Amplitud gets initialized in a script tag, the body tag is still unavailable. So register this
|
|
33
33
|
// only after the window is loaded
|
|
34
34
|
/* istanbul ignore next */
|
|
35
|
-
(_a = (0,
|
|
35
|
+
(_a = (0, analytics_core_1.getGlobalScope)()) === null || _a === void 0 ? void 0 : _a.addEventListener('load', function () {
|
|
36
36
|
/* istanbul ignore if */
|
|
37
37
|
if (!amplitude) {
|
|
38
38
|
// TODO: Add required minimum version of @amplitude/analytics-browser
|
|
@@ -102,10 +102,10 @@ var formInteractionTracking = function () {
|
|
|
102
102
|
return [2 /*return*/];
|
|
103
103
|
});
|
|
104
104
|
}); };
|
|
105
|
-
var execute = function (event) { return tslib_1.__awaiter(
|
|
105
|
+
var execute = function (event) { return tslib_1.__awaiter(void 0, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
106
106
|
return [2 /*return*/, event];
|
|
107
107
|
}); }); };
|
|
108
|
-
var teardown = function () { return tslib_1.__awaiter(
|
|
108
|
+
var teardown = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
109
109
|
return tslib_1.__generator(this, function (_a) {
|
|
110
110
|
observer === null || observer === void 0 ? void 0 : observer.disconnect();
|
|
111
111
|
removeClickListeners();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-interaction-tracking.js","sourceRoot":"","sources":["../../../src/plugins/form-interaction-tracking.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"form-interaction-tracking.js","sourceRoot":"","sources":["../../../src/plugins/form-interaction-tracking.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DEFAULT_FORM_START_EVENT,\n DEFAULT_FORM_SUBMIT_EVENT,\n FORM_ID,\n FORM_NAME,\n FORM_DESTINATION,\n} from '../constants';\nimport { BrowserConfig } from '../config';\nimport { getGlobalScope, Event, EnrichmentPlugin, BrowserClient } from '@amplitude/analytics-core';\n\ninterface EventListener {\n element: Element;\n type: 'change' | 'submit';\n handler: () => void;\n}\n\nexport const formInteractionTracking = (): EnrichmentPlugin => {\n let observer: MutationObserver | undefined;\n let eventListeners: EventListener[] = [];\n\n const addEventListener = (element: Element, type: 'change' | 'submit', handler: () => void) => {\n element.addEventListener(type, handler);\n eventListeners.push({\n element,\n type,\n handler,\n });\n };\n\n const removeClickListeners = () => {\n eventListeners.forEach(({ element, type, handler }) => {\n /* istanbul ignore next */\n element?.removeEventListener(type, handler);\n });\n eventListeners = [];\n };\n\n const name = '@amplitude/plugin-form-interaction-tracking-browser';\n const type = 'enrichment';\n const setup = async (config: BrowserConfig, amplitude: BrowserClient) => {\n // The form interaction plugin observes changes in the dom. For this to work correctly, the observer can only be setup\n // after the body is built. When Amplitud gets initialized in a script tag, the body tag is still unavailable. So register this\n // only after the window is loaded\n /* istanbul ignore next */\n getGlobalScope()?.addEventListener('load', function () {\n /* istanbul ignore if */\n if (!amplitude) {\n // TODO: Add required minimum version of @amplitude/analytics-browser\n config.loggerProvider.warn(\n 'Form interaction tracking requires a later version of @amplitude/analytics-browser. Form interaction events are not tracked.',\n );\n return;\n }\n\n /* istanbul ignore if */\n if (typeof document === 'undefined') {\n return;\n }\n\n const addFormInteractionListener = (form: HTMLFormElement) => {\n let hasFormChanged = false;\n\n addEventListener(form, 'change', () => {\n const formDestination = extractFormAction(form);\n if (!hasFormChanged) {\n amplitude.track(DEFAULT_FORM_START_EVENT, {\n [FORM_ID]: stringOrUndefined(form.id),\n [FORM_NAME]: stringOrUndefined(form.name),\n [FORM_DESTINATION]: formDestination,\n });\n }\n hasFormChanged = true;\n });\n\n addEventListener(form, 'submit', () => {\n const formDestination = extractFormAction(form);\n if (!hasFormChanged) {\n amplitude.track(DEFAULT_FORM_START_EVENT, {\n [FORM_ID]: stringOrUndefined(form.id),\n [FORM_NAME]: stringOrUndefined(form.name),\n [FORM_DESTINATION]: formDestination,\n });\n }\n\n amplitude.track(DEFAULT_FORM_SUBMIT_EVENT, {\n [FORM_ID]: stringOrUndefined(form.id),\n [FORM_NAME]: stringOrUndefined(form.name),\n [FORM_DESTINATION]: formDestination,\n });\n hasFormChanged = false;\n });\n };\n\n // Adds listener to existing anchor tags\n const forms = Array.from(document.getElementsByTagName('form'));\n forms.forEach(addFormInteractionListener);\n\n // Adds listener to anchor tags added after initial load\n /* istanbul ignore else */\n if (typeof MutationObserver !== 'undefined') {\n observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n mutation.addedNodes.forEach((node) => {\n if (node.nodeName === 'FORM') {\n addFormInteractionListener(node as HTMLFormElement);\n }\n if ('querySelectorAll' in node && typeof node.querySelectorAll === 'function') {\n Array.from(node.querySelectorAll('form') as HTMLFormElement[]).map(addFormInteractionListener);\n }\n });\n });\n });\n\n observer.observe(document.body, {\n subtree: true,\n childList: true,\n });\n }\n });\n };\n const execute = async (event: Event) => event;\n const teardown = async () => {\n observer?.disconnect();\n removeClickListeners();\n };\n\n return {\n name,\n type,\n setup,\n execute,\n teardown,\n };\n};\n\nexport const stringOrUndefined = <T>(name: T): T extends string ? string : undefined => {\n /* istanbul ignore if */\n if (typeof name !== 'string') {\n // We found instances where the value of `name` is an Element and not a string.\n // Elements may have circular references and would throw an error when passed to `JSON.stringify(...)`.\n // If a non-string value is seen, assume there is no value.\n return undefined as T extends string ? string : undefined;\n }\n\n return name as T extends string ? string : undefined;\n};\n\n// Extracts the form action attribute, and normalizes it to a valid URL to preserve the previous behavior of accessing the action property directly.\nexport const extractFormAction = (form: HTMLFormElement): string | null => {\n let formDestination = form.getAttribute('action');\n try {\n // eslint-disable-next-line no-restricted-globals\n formDestination = new URL(encodeURI(formDestination ?? ''), window.location.href).href;\n } catch {\n //\n }\n return formDestination;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-connectivity-checker.d.ts","sourceRoot":"","sources":["../../../src/plugins/network-connectivity-checker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"network-connectivity-checker.d.ts","sourceRoot":"","sources":["../../../src/plugins/network-connectivity-checker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,YAAY,EAAiB,MAAM,2BAA2B,CAAC;AAQxF,eAAO,MAAM,gCAAgC,QAAO,YA6DnD,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.networkConnectivityCheckerPlugin = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var
|
|
5
|
+
var analytics_core_1 = require("@amplitude/analytics-core");
|
|
6
6
|
var networkConnectivityCheckerPlugin = function () {
|
|
7
7
|
var name = '@amplitude/plugin-network-checker-browser';
|
|
8
8
|
var type = 'before';
|
|
9
|
-
var globalScope = (0,
|
|
9
|
+
var globalScope = (0, analytics_core_1.getGlobalScope)();
|
|
10
10
|
var eventListeners = [];
|
|
11
11
|
var addNetworkListener = function (type, handler) {
|
|
12
12
|
if (globalScope) {
|
|
@@ -26,7 +26,7 @@ var networkConnectivityCheckerPlugin = function () {
|
|
|
26
26
|
});
|
|
27
27
|
eventListeners = [];
|
|
28
28
|
};
|
|
29
|
-
var setup = function (config, amplitude) { return tslib_1.__awaiter(
|
|
29
|
+
var setup = function (config, amplitude) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
30
30
|
return tslib_1.__generator(this, function (_a) {
|
|
31
31
|
if (typeof navigator === 'undefined') {
|
|
32
32
|
config.loggerProvider.debug('Network connectivity checker plugin is disabled because navigator is not available.');
|
|
@@ -49,7 +49,7 @@ var networkConnectivityCheckerPlugin = function () {
|
|
|
49
49
|
return [2 /*return*/];
|
|
50
50
|
});
|
|
51
51
|
}); };
|
|
52
|
-
var teardown = function () { return tslib_1.__awaiter(
|
|
52
|
+
var teardown = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
53
53
|
return tslib_1.__generator(this, function (_a) {
|
|
54
54
|
removeNetworkListeners();
|
|
55
55
|
return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-connectivity-checker.js","sourceRoot":"","sources":["../../../src/plugins/network-connectivity-checker.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"network-connectivity-checker.js","sourceRoot":"","sources":["../../../src/plugins/network-connectivity-checker.ts"],"names":[],"mappings":";;;;AAAA,4DAAwF;AAQjF,IAAM,gCAAgC,GAAG;IAC9C,IAAM,IAAI,GAAG,2CAA2C,CAAC;IACzD,IAAM,IAAI,GAAG,QAAiB,CAAC;IAC/B,IAAM,WAAW,GAAG,IAAA,+BAAc,GAAE,CAAC;IACrC,IAAI,cAAc,GAAoB,EAAE,CAAC;IAEzC,IAAM,kBAAkB,GAAG,UAAC,IAA0B,EAAE,OAAmB;QACzE,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,cAAc,CAAC,IAAI,CAAC;gBAClB,IAAI,MAAA;gBACJ,OAAO,SAAA;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,IAAM,sBAAsB,GAAG;QAC7B,cAAc,CAAC,OAAO,CAAC,UAAC,EAAiB;gBAAf,IAAI,UAAA,EAAE,OAAO,aAAA;YACrC,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC,CAAC;QACH,cAAc,GAAG,EAAE,CAAC;IACtB,CAAC,CAAC;IAEF,IAAM,KAAK,GAAG,UAAO,MAAqB,EAAE,SAAwB;;YAClE,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;gBACrC,MAAM,CAAC,cAAc,CAAC,KAAK,CACzB,qFAAqF,CACtF,CAAC;gBACF,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,sBAAO;YACT,CAAC;YAED,MAAM,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;YAEnC,kBAAkB,CAAC,QAAQ,EAAE;gBAC3B,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACvE,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBACvB,mDAAmD;gBACnD,UAAU,CAAC;oBACT,SAAS,CAAC,KAAK,EAAE,CAAC;gBACpB,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,kBAAkB,CAAC,SAAS,EAAE;gBAC5B,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBACxE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACxB,CAAC,CAAC,CAAC;;;SACJ,CAAC;IAEF,IAAM,QAAQ,GAAG;;YACf,sBAAsB,EAAE,CAAC;;;SAC1B,CAAC;IAEF,OAAO;QACL,IAAI,MAAA;QACJ,IAAI,MAAA;QACJ,KAAK,OAAA;QACL,QAAQ,UAAA;KACT,CAAC;AACJ,CAAC,CAAC;AA7DW,QAAA,gCAAgC,oCA6D3C","sourcesContent":["import { getGlobalScope, BeforePlugin, BrowserClient } from '@amplitude/analytics-core';\nimport { BrowserConfig } from 'src/config';\n\ninterface EventListener {\n type: 'online' | 'offline';\n handler: () => void;\n}\n\nexport const networkConnectivityCheckerPlugin = (): BeforePlugin => {\n const name = '@amplitude/plugin-network-checker-browser';\n const type = 'before' as const;\n const globalScope = getGlobalScope();\n let eventListeners: EventListener[] = [];\n\n const addNetworkListener = (type: 'online' | 'offline', handler: () => void) => {\n if (globalScope) {\n globalScope.addEventListener(type, handler);\n eventListeners.push({\n type,\n handler,\n });\n }\n };\n\n const removeNetworkListeners = () => {\n eventListeners.forEach(({ type, handler }) => {\n if (globalScope) {\n globalScope.removeEventListener(type, handler);\n }\n });\n eventListeners = [];\n };\n\n const setup = async (config: BrowserConfig, amplitude: BrowserClient) => {\n if (typeof navigator === 'undefined') {\n config.loggerProvider.debug(\n 'Network connectivity checker plugin is disabled because navigator is not available.',\n );\n config.offline = false;\n return;\n }\n\n config.offline = !navigator.onLine;\n\n addNetworkListener('online', () => {\n config.loggerProvider.debug('Network connectivity changed to online.');\n config.offline = false;\n // Flush immediately will cause ERR_NETWORK_CHANGED\n setTimeout(() => {\n amplitude.flush();\n }, config.flushIntervalMillis);\n });\n\n addNetworkListener('offline', () => {\n config.loggerProvider.debug('Network connectivity changed to offline.');\n config.offline = true;\n });\n };\n\n const teardown = async () => {\n removeNetworkListeners();\n };\n\n return {\n name,\n type,\n setup,\n teardown,\n };\n};\n"]}
|
package/lib/cjs/snippet-index.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
3
|
var tslib_1 = require("tslib");
|
|
3
|
-
var
|
|
4
|
+
var analytics_core_1 = require("@amplitude/analytics-core");
|
|
4
5
|
var amplitude = tslib_1.__importStar(require("./index"));
|
|
5
6
|
var browser_client_factory_1 = require("./browser-client-factory");
|
|
6
7
|
var snippet_helper_1 = require("./utils/snippet-helper");
|
|
7
8
|
// https://developer.mozilla.org/en-US/docs/Glossary/IIFE
|
|
8
9
|
(function () {
|
|
9
|
-
var GlobalScope = (0,
|
|
10
|
+
var GlobalScope = (0, analytics_core_1.getGlobalScope)();
|
|
10
11
|
if (!GlobalScope) {
|
|
11
12
|
console.error('[Amplitude] Error: GlobalScope is not defined');
|
|
12
13
|
return;
|
|
13
14
|
}
|
|
14
15
|
var createNamedInstance = function (instanceName) {
|
|
15
16
|
var instance = (0, browser_client_factory_1.createInstance)();
|
|
16
|
-
var GlobalScope = (0,
|
|
17
|
+
var GlobalScope = (0, analytics_core_1.getGlobalScope)();
|
|
17
18
|
if (GlobalScope && GlobalScope.amplitude && GlobalScope.amplitude._iq && instanceName) {
|
|
18
19
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
19
20
|
// @ts-ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippet-index.js","sourceRoot":"","sources":["../../src/snippet-index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"snippet-index.js","sourceRoot":"","sources":["../../src/snippet-index.ts"],"names":[],"mappings":";;;AAAA,4DAA2D;AAC3D,yDAAqC;AACrC,mEAA0D;AAC1D,yDAA4D;AAE5D,yDAAyD;AACzD,CAAC;IACC,IAAM,WAAW,GAAG,IAAA,+BAAc,GAAE,CAAC;IAErC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,IAAM,mBAAmB,GAAG,UAAC,YAAqB;QAChD,IAAM,QAAQ,GAAG,IAAA,uCAAc,GAAE,CAAC;QAClC,IAAM,WAAW,GAAG,IAAA,+BAAc,GAAE,CAAC;QACrC,IAAI,WAAW,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,YAAY,EAAE,CAAC;YACtF,6DAA6D;YAC7D,aAAa;YACb,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;QACrD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,EAAE,SAAS,EAAE;QAC5E,cAAc,EAAE,mBAAmB;KACpC,CAAC,CAAC;IAEH,IAAI,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAClC,IAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;QAC9B,IAAA,mCAAkB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErC,IAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YACtC,IAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;YAC3G,IAAM,OAAK,GAAG,QAAQ,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;YACjB,IAAA,mCAAkB,EAAC,QAAQ,EAAE,OAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC,CAAC,EAAE,CAAC","sourcesContent":["import { getGlobalScope } from '@amplitude/analytics-core';\nimport * as amplitude from './index';\nimport { createInstance } from './browser-client-factory';\nimport { runQueuedFunctions } from './utils/snippet-helper';\n\n// https://developer.mozilla.org/en-US/docs/Glossary/IIFE\n(function () {\n const GlobalScope = getGlobalScope();\n\n if (!GlobalScope) {\n console.error('[Amplitude] Error: GlobalScope is not defined');\n return;\n }\n\n const createNamedInstance = (instanceName?: string) => {\n const instance = createInstance();\n const GlobalScope = getGlobalScope();\n if (GlobalScope && GlobalScope.amplitude && GlobalScope.amplitude._iq && instanceName) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n GlobalScope.amplitude._iq[instanceName] = instance;\n }\n return instance;\n };\n\n GlobalScope.amplitude = Object.assign(GlobalScope.amplitude || {}, amplitude, {\n createInstance: createNamedInstance,\n });\n\n if (GlobalScope.amplitude.invoked) {\n const queue = GlobalScope.amplitude._q;\n GlobalScope.amplitude._q = [];\n runQueuedFunctions(amplitude, queue);\n\n const instanceNames = Object.keys(GlobalScope.amplitude._iq) || [];\n for (let i = 0; i < instanceNames.length; i++) {\n const instanceName = instanceNames[i];\n const instance = Object.assign(GlobalScope.amplitude._iq[instanceName], createNamedInstance(instanceName));\n const queue = instance._q;\n instance._q = [];\n runQueuedFunctions(instance, queue);\n }\n }\n})();\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Storage as AmplitudeStorage } from '@amplitude/analytics-
|
|
1
|
+
import { Storage as AmplitudeStorage } from '@amplitude/analytics-core';
|
|
2
2
|
export declare class BrowserStorage<T> implements AmplitudeStorage<T> {
|
|
3
3
|
private storage?;
|
|
4
4
|
constructor(storage?: Storage | undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/browser-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"browser-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/browser-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAExE,qBAAa,cAAc,CAAC,CAAC,CAAE,YAAW,gBAAgB,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,OAAO,CAAC;gBAAR,OAAO,CAAC,EAAE,OAAO,YAAA;IAE/B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAqB7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAcxC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIhD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
3
|
exports.BrowserStorage = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
@@ -66,16 +67,16 @@ var BrowserStorage = /** @class */ (function () {
|
|
|
66
67
|
});
|
|
67
68
|
};
|
|
68
69
|
BrowserStorage.prototype.getRaw = function (key) {
|
|
69
|
-
var _a;
|
|
70
70
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
71
|
+
var _a;
|
|
71
72
|
return tslib_1.__generator(this, function (_b) {
|
|
72
73
|
return [2 /*return*/, ((_a = this.storage) === null || _a === void 0 ? void 0 : _a.getItem(key)) || undefined];
|
|
73
74
|
});
|
|
74
75
|
});
|
|
75
76
|
};
|
|
76
77
|
BrowserStorage.prototype.set = function (key, value) {
|
|
77
|
-
var _a;
|
|
78
78
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
79
|
+
var _a;
|
|
79
80
|
return tslib_1.__generator(this, function (_b) {
|
|
80
81
|
try {
|
|
81
82
|
(_a = this.storage) === null || _a === void 0 ? void 0 : _a.setItem(key, JSON.stringify(value));
|
|
@@ -88,8 +89,8 @@ var BrowserStorage = /** @class */ (function () {
|
|
|
88
89
|
});
|
|
89
90
|
};
|
|
90
91
|
BrowserStorage.prototype.remove = function (key) {
|
|
91
|
-
var _a;
|
|
92
92
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
93
|
+
var _a;
|
|
93
94
|
return tslib_1.__generator(this, function (_b) {
|
|
94
95
|
try {
|
|
95
96
|
(_a = this.storage) === null || _a === void 0 ? void 0 : _a.removeItem(key);
|
|
@@ -102,8 +103,8 @@ var BrowserStorage = /** @class */ (function () {
|
|
|
102
103
|
});
|
|
103
104
|
};
|
|
104
105
|
BrowserStorage.prototype.reset = function () {
|
|
105
|
-
var _a;
|
|
106
106
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
107
|
+
var _a;
|
|
107
108
|
return tslib_1.__generator(this, function (_b) {
|
|
108
109
|
try {
|
|
109
110
|
(_a = this.storage) === null || _a === void 0 ? void 0 : _a.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-storage.js","sourceRoot":"","sources":["../../../src/storage/browser-storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browser-storage.js","sourceRoot":"","sources":["../../../src/storage/browser-storage.ts"],"names":[],"mappings":";;;;AAEA;IACE,wBAAoB,OAAiB;QAAjB,YAAO,GAAP,OAAO,CAAU;IAAG,CAAC;IAEnC,kCAAS,GAAf;;;;;;wBACE,wBAAwB;wBACxB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;4BAClB,sBAAO,KAAK,EAAC;wBACf,CAAC;wBAEK,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBAC5B,WAAW,GAAG,IAAI,cAAc,CAAS,IAAI,CAAC,OAAO,CAAC,CAAC;wBACvD,OAAO,GAAG,UAAU,CAAC;;;;wBAEzB,qBAAM,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;wBACzB,qBAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAA;;wBAAtC,KAAK,GAAG,SAA8B;wBAC5C,sBAAO,KAAK,KAAK,MAAM,EAAC;;;wBAExB,0BAA0B;wBAC1B,sBAAO,KAAK,EAAC;4BAEb,qBAAM,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAA;;wBAAjC,SAAiC,CAAC;;;;;;KAErC;IAEK,4BAAG,GAAT,UAAU,GAAW;;;;;;;wBAEH,qBAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAA;;wBAA9B,KAAK,GAAG,SAAsB;wBACpC,IAAI,CAAC,KAAK,EAAE,CAAC;4BACX,sBAAO,SAAS,EAAC;wBACnB,CAAC;wBACD,+DAA+D;wBAC/D,sBAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAC;;;wBAEzB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;wBACrE,sBAAO,SAAS,EAAC;;;;;KAEpB;IAEK,+BAAM,GAAZ,UAAa,GAAW;;;;gBACtB,sBAAO,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC,GAAG,CAAC,KAAI,SAAS,EAAC;;;KAChD;IAEK,4BAAG,GAAT,UAAU,GAAW,EAAE,KAAQ;;;;gBAC7B,IAAI,CAAC;oBACH,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpD,CAAC;gBAAC,WAAM,CAAC;oBACP,EAAE;gBACJ,CAAC;;;;KACF;IAEK,+BAAM,GAAZ,UAAa,GAAW;;;;gBACtB,IAAI,CAAC;oBACH,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;gBAAC,WAAM,CAAC;oBACP,EAAE;gBACJ,CAAC;;;;KACF;IAEK,8BAAK,GAAX;;;;gBACE,IAAI,CAAC;oBACH,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;gBACxB,CAAC;gBAAC,WAAM,CAAC;oBACP,EAAE;gBACJ,CAAC;;;;KACF;IACH,qBAAC;AAAD,CAAC,AAjED,IAiEC;AAjEY,wCAAc","sourcesContent":["import { Storage as AmplitudeStorage } from '@amplitude/analytics-core';\n\nexport class BrowserStorage<T> implements AmplitudeStorage<T> {\n constructor(private storage?: Storage) {}\n\n async isEnabled(): Promise<boolean> {\n /* istanbul ignore if */\n if (!this.storage) {\n return false;\n }\n\n const random = String(Date.now());\n const testStorage = new BrowserStorage<string>(this.storage);\n const testKey = 'AMP_TEST';\n try {\n await testStorage.set(testKey, random);\n const value = await testStorage.get(testKey);\n return value === random;\n } catch {\n /* istanbul ignore next */\n return false;\n } finally {\n await testStorage.remove(testKey);\n }\n }\n\n async get(key: string): Promise<T | undefined> {\n try {\n const value = await this.getRaw(key);\n if (!value) {\n return undefined;\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return JSON.parse(value);\n } catch {\n console.error(`[Amplitude] Error: Could not get value from storage`);\n return undefined;\n }\n }\n\n async getRaw(key: string): Promise<string | undefined> {\n return this.storage?.getItem(key) || undefined;\n }\n\n async set(key: string, value: T): Promise<void> {\n try {\n this.storage?.setItem(key, JSON.stringify(value));\n } catch {\n //\n }\n }\n\n async remove(key: string): Promise<void> {\n try {\n this.storage?.removeItem(key);\n } catch {\n //\n }\n }\n\n async reset(): Promise<void> {\n try {\n this.storage?.clear();\n } catch {\n //\n }\n }\n}\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { ILogger } from '@amplitude/analytics-core';
|
|
1
2
|
import { BrowserStorage } from './browser-storage';
|
|
2
|
-
import { Logger } from '@amplitude/analytics-types';
|
|
3
3
|
interface LocalStorageOptions {
|
|
4
|
-
loggerProvider?:
|
|
4
|
+
loggerProvider?: ILogger;
|
|
5
5
|
}
|
|
6
6
|
export declare class LocalStorage<T> extends BrowserStorage<T> {
|
|
7
|
-
loggerProvider?:
|
|
7
|
+
loggerProvider?: ILogger;
|
|
8
8
|
constructor(config?: LocalStorageOptions);
|
|
9
9
|
set(key: string, value: T): Promise<void>;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/local-storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/local-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,UAAU,mBAAmB;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AACD,qBAAa,YAAY,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACpD,cAAc,CAAC,EAAE,OAAO,CAAC;gBAEb,MAAM,CAAC,EAAE,mBAAmB;IAKlC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAWhD"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
3
|
exports.LocalStorage = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
|
-
var
|
|
5
|
+
var analytics_core_1 = require("@amplitude/analytics-core");
|
|
5
6
|
var browser_storage_1 = require("./browser-storage");
|
|
6
7
|
var MAX_ARRAY_LENGTH = 1000;
|
|
7
8
|
var LocalStorage = /** @class */ (function (_super) {
|
|
8
9
|
tslib_1.__extends(LocalStorage, _super);
|
|
9
10
|
function LocalStorage(config) {
|
|
10
|
-
var _this = this;
|
|
11
11
|
var _a;
|
|
12
|
-
_this = _super.call(this, (_a = (0,
|
|
12
|
+
var _this = _super.call(this, (_a = (0, analytics_core_1.getGlobalScope)()) === null || _a === void 0 ? void 0 : _a.localStorage) || this;
|
|
13
13
|
_this.loggerProvider = config === null || config === void 0 ? void 0 : config.loggerProvider;
|
|
14
14
|
return _this;
|
|
15
15
|
}
|
|
16
16
|
LocalStorage.prototype.set = function (key, value) {
|
|
17
|
-
var _a;
|
|
18
17
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
19
18
|
var droppedEventsCount;
|
|
19
|
+
var _a;
|
|
20
20
|
return tslib_1.__generator(this, function (_b) {
|
|
21
21
|
switch (_b.label) {
|
|
22
22
|
case 0:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-storage.js","sourceRoot":"","sources":["../../../src/storage/local-storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-storage.js","sourceRoot":"","sources":["../../../src/storage/local-storage.ts"],"names":[],"mappings":";;;;AAAA,4DAAoE;AACpE,qDAAmD;AAEnD,IAAM,gBAAgB,GAAG,IAAI,CAAC;AAK9B;IAAqC,wCAAiB;IAGpD,sBAAY,MAA4B;;QACtC,YAAA,MAAK,YAAC,MAAA,IAAA,+BAAc,GAAE,0CAAE,YAAY,CAAC,SAAC;QACtC,KAAI,CAAC,cAAc,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,cAAc,CAAC;;IAC/C,CAAC;IAEK,0BAAG,GAAT,UAAU,GAAW,EAAE,KAAQ;;;;;;;6BACzB,CAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAA,EAAvD,wBAAuD;wBACnD,kBAAkB,GAAG,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC;wBAC3D,qBAAM,gBAAK,CAAC,GAAG,YAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAM,CAAC,EAAA;;wBAA3D,SAA2D,CAAC;wBAC5D,MAAA,IAAI,CAAC,cAAc,0CAAE,KAAK,CACxB,yBAAkB,kBAAkB,uDAA6C,gBAAgB,MAAG,CACrG,CAAC;;4BAEF,qBAAM,gBAAK,CAAC,GAAG,YAAC,GAAG,EAAE,KAAK,CAAC,EAAA;;wBAA3B,SAA2B,CAAC;;;;;;KAE/B;IACH,mBAAC;AAAD,CAAC,AAnBD,CAAqC,gCAAc,GAmBlD;AAnBY,oCAAY","sourcesContent":["import { getGlobalScope, ILogger } from '@amplitude/analytics-core';\nimport { BrowserStorage } from './browser-storage';\n\nconst MAX_ARRAY_LENGTH = 1000;\n\ninterface LocalStorageOptions {\n loggerProvider?: ILogger;\n}\nexport class LocalStorage<T> extends BrowserStorage<T> {\n loggerProvider?: ILogger;\n\n constructor(config?: LocalStorageOptions) {\n super(getGlobalScope()?.localStorage);\n this.loggerProvider = config?.loggerProvider;\n }\n\n async set(key: string, value: T): Promise<void> {\n if (Array.isArray(value) && value.length > MAX_ARRAY_LENGTH) {\n const droppedEventsCount = value.length - MAX_ARRAY_LENGTH;\n await super.set(key, value.slice(0, MAX_ARRAY_LENGTH) as T);\n this.loggerProvider?.error(\n `Failed to save ${droppedEventsCount} events because the queue length exceeded ${MAX_ARRAY_LENGTH}.`,\n );\n } else {\n await super.set(key, value);\n }\n }\n}\n"]}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
3
|
exports.SessionStorage = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
|
-
var
|
|
5
|
+
var analytics_core_1 = require("@amplitude/analytics-core");
|
|
5
6
|
var browser_storage_1 = require("./browser-storage");
|
|
6
7
|
var SessionStorage = /** @class */ (function (_super) {
|
|
7
8
|
tslib_1.__extends(SessionStorage, _super);
|
|
8
9
|
function SessionStorage() {
|
|
9
10
|
var _a;
|
|
10
|
-
return _super.call(this, (_a = (0,
|
|
11
|
+
return _super.call(this, (_a = (0, analytics_core_1.getGlobalScope)()) === null || _a === void 0 ? void 0 : _a.sessionStorage) || this;
|
|
11
12
|
}
|
|
12
13
|
return SessionStorage;
|
|
13
14
|
}(browser_storage_1.BrowserStorage));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-storage.js","sourceRoot":"","sources":["../../../src/storage/session-storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-storage.js","sourceRoot":"","sources":["../../../src/storage/session-storage.ts"],"names":[],"mappings":";;;;AAAA,4DAA2D;AAC3D,qDAAmD;AAEnD;IAAuC,0CAAiB;IACtD;;QACE,OAAA,MAAK,YAAC,MAAA,IAAA,+BAAc,GAAE,0CAAE,cAAc,CAAC,SAAC;IAC1C,CAAC;IACH,qBAAC;AAAD,CAAC,AAJD,CAAuC,gCAAc,GAIpD;AAJY,wCAAc","sourcesContent":["import { getGlobalScope } from '@amplitude/analytics-core';\nimport { BrowserStorage } from './browser-storage';\n\nexport class SessionStorage<T> extends BrowserStorage<T> {\n constructor() {\n super(getGlobalScope()?.sessionStorage);\n }\n}\n"]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { BaseTransport } from '@amplitude/analytics-core';
|
|
2
|
-
import { Payload, Response, Transport } from '@amplitude/analytics-types';
|
|
1
|
+
import { BaseTransport, Payload, Response, Transport } from '@amplitude/analytics-core';
|
|
3
2
|
export declare class SendBeaconTransport extends BaseTransport implements Transport {
|
|
4
3
|
send(serverUrl: string, payload: Payload): Promise<Response | null>;
|
|
5
4
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-beacon.d.ts","sourceRoot":"","sources":["../../../src/transports/send-beacon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"send-beacon.d.ts","sourceRoot":"","sources":["../../../src/transports/send-beacon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAExG,qBAAa,mBAAoB,SAAQ,aAAc,YAAW,SAAS;IACnE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CA0B1E"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
3
|
exports.SendBeaconTransport = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
|
-
var analytics_client_common_1 = require("@amplitude/analytics-client-common");
|
|
5
5
|
var analytics_core_1 = require("@amplitude/analytics-core");
|
|
6
6
|
var SendBeaconTransport = /** @class */ (function (_super) {
|
|
7
7
|
tslib_1.__extends(SendBeaconTransport, _super);
|
|
@@ -13,7 +13,7 @@ var SendBeaconTransport = /** @class */ (function (_super) {
|
|
|
13
13
|
var _this = this;
|
|
14
14
|
return tslib_1.__generator(this, function (_a) {
|
|
15
15
|
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
16
|
-
var globalScope = (0,
|
|
16
|
+
var globalScope = (0, analytics_core_1.getGlobalScope)();
|
|
17
17
|
/* istanbul ignore if */
|
|
18
18
|
if (!(globalScope === null || globalScope === void 0 ? void 0 : globalScope.navigator.sendBeacon)) {
|
|
19
19
|
throw new Error('SendBeaconTransport is not supported');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-beacon.js","sourceRoot":"","sources":["../../../src/transports/send-beacon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"send-beacon.js","sourceRoot":"","sources":["../../../src/transports/send-beacon.ts"],"names":[],"mappings":";;;;AAAA,4DAAwG;AAExG;IAAyC,+CAAa;IAAtD;;IA2BA,CAAC;IA1BO,kCAAI,GAAV,UAAW,SAAiB,EAAE,OAAgB;;;;gBAC5C,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;wBACjC,IAAM,WAAW,GAAG,IAAA,+BAAc,GAAE,CAAC;wBACrC,wBAAwB;wBACxB,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,UAAU,CAAA,EAAE,CAAC;4BACvC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;wBAC1D,CAAC;wBACD,IAAI,CAAC;4BACH,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;4BACrC,IAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;4BACrF,IAAI,OAAO,EAAE,CAAC;gCACZ,OAAO,OAAO,CACZ,KAAI,CAAC,aAAa,CAAC;oCACjB,IAAI,EAAE,GAAG;oCACT,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;oCACtC,kBAAkB,EAAE,IAAI,CAAC,MAAM;oCAC/B,kBAAkB,EAAE,IAAI,CAAC,GAAG,EAAE;iCAC/B,CAAC,CACH,CAAC;4BACJ,CAAC;4BACD,OAAO,OAAO,CAAC,KAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;wBACpD,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,MAAM,CAAC,CAAC,CAAC,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC,EAAC;;;KACJ;IACH,0BAAC;AAAD,CAAC,AA3BD,CAAyC,8BAAa,GA2BrD;AA3BY,kDAAmB","sourcesContent":["import { BaseTransport, getGlobalScope, Payload, Response, Transport } from '@amplitude/analytics-core';\n\nexport class SendBeaconTransport extends BaseTransport implements Transport {\n async send(serverUrl: string, payload: Payload): Promise<Response | null> {\n return new Promise((resolve, reject) => {\n const globalScope = getGlobalScope();\n /* istanbul ignore if */\n if (!globalScope?.navigator.sendBeacon) {\n throw new Error('SendBeaconTransport is not supported');\n }\n try {\n const data = JSON.stringify(payload);\n const success = globalScope.navigator.sendBeacon(serverUrl, JSON.stringify(payload));\n if (success) {\n return resolve(\n this.buildResponse({\n code: 200,\n events_ingested: payload.events.length,\n payload_size_bytes: data.length,\n server_upload_time: Date.now(),\n }),\n );\n }\n return resolve(this.buildResponse({ code: 500 }));\n } catch (e) {\n reject(e);\n }\n });\n }\n}\n"]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { BaseTransport } from '@amplitude/analytics-core';
|
|
2
|
-
import { Payload, Response, Transport } from '@amplitude/analytics-types';
|
|
1
|
+
import { BaseTransport, Payload, Response, Transport } from '@amplitude/analytics-core';
|
|
3
2
|
export declare class XHRTransport extends BaseTransport implements Transport {
|
|
4
3
|
private state;
|
|
5
4
|
send(serverUrl: string, payload: Payload): Promise<Response | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xhr.d.ts","sourceRoot":"","sources":["../../../src/transports/xhr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"xhr.d.ts","sourceRoot":"","sources":["../../../src/transports/xhr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAExF,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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
3
|
exports.XHRTransport = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
@@ -5,7 +6,7 @@ var analytics_core_1 = require("@amplitude/analytics-core");
|
|
|
5
6
|
var XHRTransport = /** @class */ (function (_super) {
|
|
6
7
|
tslib_1.__extends(XHRTransport, _super);
|
|
7
8
|
function XHRTransport() {
|
|
8
|
-
var _this = _super
|
|
9
|
+
var _this = _super.apply(this, tslib_1.__spreadArray([], tslib_1.__read(arguments), false)) || this;
|
|
9
10
|
_this.state = {
|
|
10
11
|
done: 4,
|
|
11
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../../src/transports/xhr.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"xhr.js","sourceRoot":"","sources":["../../../src/transports/xhr.ts"],"names":[],"mappings":";;;;AAAA,4DAAwF;AAExF;IAAkC,wCAAa;IAA/C;;QACU,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,CAAC;4BAC1C,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;wBACtD,CAAC;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,CAAC;gCACvC,IAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;gCACtC,IAAI,CAAC;oCACH,iEAAiE;oCACjE,OAAO,CAAC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gCACxD,CAAC;gCAAC,WAAM,CAAC;oCACP,OAAO,CAAC,KAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gCACpD,CAAC;4BACH,CAAC;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, Payload, Response, Transport } from '@amplitude/analytics-core';\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 responseText = xhr.responseText;\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n resolve(this.buildResponse(JSON.parse(responseText)));\n } catch {\n resolve(this.buildResponse({ code: xhr.status }));\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,4 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Result } from '@amplitude/analytics-core';
|
|
2
|
+
interface ProxyItem {
|
|
3
|
+
name: string;
|
|
4
|
+
args: any[];
|
|
5
|
+
resolve?: (promise: Promise<Result>) => void;
|
|
6
|
+
}
|
|
7
|
+
type QueueProxy = Array<ProxyItem>;
|
|
8
|
+
interface InstanceProxy {
|
|
9
|
+
_q: QueueProxy;
|
|
10
|
+
_iq: Record<string, InstanceProxy>;
|
|
11
|
+
}
|
|
2
12
|
/**
|
|
3
13
|
* Applies the proxied functions on the proxied amplitude snippet to an instance of the real object.
|
|
4
14
|
* @ignore
|
|
@@ -13,4 +23,5 @@ export declare const convertProxyObjectToRealObject: <T>(instance: T, queue: Que
|
|
|
13
23
|
* Check if the param is snippet proxy
|
|
14
24
|
*/
|
|
15
25
|
export declare const isInstanceProxy: (instance: unknown) => instance is InstanceProxy;
|
|
26
|
+
export {};
|
|
16
27
|
//# sourceMappingURL=snippet-helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippet-helper.d.ts","sourceRoot":"","sources":["../../../src/utils/snippet-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,aAAa,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"snippet-helper.d.ts","sourceRoot":"","sources":["../../../src/utils/snippet-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmB,MAAM,2BAA2B,CAAC;AAEpE,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;CAC9C;AAED,KAAK,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAEnC,UAAU,aAAa;IACrB,EAAE,EAAE,UAAU,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,aAAc,MAAM,SAAS,UAAU,SAErE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,GAAI,CAAC,YAAY,CAAC,SAAS,UAAU,KAAG,CAYlF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,aAAc,OAAO,KAAG,QAAQ,IAAI,aAG/D,CAAC"}
|