@esri/telemetry-amazon 6.0.0-beta.4 → 6.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/esm/index.js +2 -2
  2. package/dist/esm/index.js.map +1 -1
  3. package/dist/esm/index.test.js +17 -0
  4. package/dist/esm/index.test.js.map +1 -1
  5. package/dist/esm/plugins/esri.js +149 -54
  6. package/dist/esm/plugins/esri.js.map +1 -1
  7. package/dist/esm/plugins/esri.test.js +346 -61
  8. package/dist/esm/plugins/esri.test.js.map +1 -1
  9. package/dist/esm/plugins/shared.js +1 -0
  10. package/dist/esm/plugins/shared.js.map +1 -1
  11. package/dist/esm/plugins/utils/browser.js +97 -0
  12. package/dist/esm/plugins/utils/browser.js.map +1 -0
  13. package/dist/esm/plugins/utils/os.js +42 -0
  14. package/dist/esm/plugins/utils/os.js.map +1 -0
  15. package/dist/node/index.js +2 -2
  16. package/dist/node/index.js.map +1 -1
  17. package/dist/node/index.test.js +17 -0
  18. package/dist/node/index.test.js.map +1 -1
  19. package/dist/node/plugins/esri.js +148 -53
  20. package/dist/node/plugins/esri.js.map +1 -1
  21. package/dist/node/plugins/esri.test.js +347 -61
  22. package/dist/node/plugins/esri.test.js.map +1 -1
  23. package/dist/node/plugins/shared.js +3 -1
  24. package/dist/node/plugins/shared.js.map +1 -1
  25. package/dist/node/plugins/utils/browser.js +101 -0
  26. package/dist/node/plugins/utils/browser.js.map +1 -0
  27. package/dist/node/plugins/utils/os.js +46 -0
  28. package/dist/node/plugins/utils/os.js.map +1 -0
  29. package/dist/types/index.d.ts +2 -2
  30. package/dist/types/plugins/esri.d.ts +2 -1
  31. package/dist/types/plugins/shared.d.ts +1 -0
  32. package/dist/types/plugins/utils/browser.d.ts +12 -0
  33. package/dist/types/plugins/utils/os.d.ts +5 -0
  34. package/dist/types/types.d.ts +7 -2
  35. package/dist/umd/telemetry-amazon.js +287 -55
  36. package/dist/umd/telemetry-amazon.js.map +1 -1
  37. package/dist/umd/telemetry-amazon.min.js +287 -55
  38. package/dist/umd/telemetry-amazon.min.js.map +1 -1
  39. package/package.json +1 -1
@@ -0,0 +1,97 @@
1
+ import { parseOS } from './os';
2
+ function getNavigatorSafe() {
3
+ if (typeof window === 'undefined' || !window.navigator) {
4
+ return undefined;
5
+ }
6
+ return window.navigator;
7
+ }
8
+ function getLanguageInfo(nav) {
9
+ if (!nav) {
10
+ return '';
11
+ }
12
+ const lang = nav.language ||
13
+ nav.browserLanguage ||
14
+ (Array.isArray(nav.languages) && nav.languages.length > 0
15
+ ? nav.languages[0]
16
+ : 'en_US') ||
17
+ '';
18
+ return String(lang).toLowerCase().replace('-', '_');
19
+ }
20
+ function getBrowserTimezone() {
21
+ const tzMatch = /\(([A-Za-z\s].*)\)/.exec(new Date().toString());
22
+ return tzMatch ? tzMatch[1] || '' : '';
23
+ }
24
+ function parseBrowserType(userAgent) {
25
+ const operaMatch = /.+(Opera[\s[A-Z]*|OPR[\sA-Z]*)\/([0-9\.]+).*/i.exec(userAgent);
26
+ if (operaMatch) {
27
+ return {
28
+ type: operaMatch[1],
29
+ version: operaMatch[2],
30
+ };
31
+ }
32
+ const edgeOrTridentMatch = /.+(Trident|Edge)\/([0-9\.]+).*/i.exec(userAgent);
33
+ if (edgeOrTridentMatch) {
34
+ return {
35
+ type: edgeOrTridentMatch[1],
36
+ version: edgeOrTridentMatch[2],
37
+ };
38
+ }
39
+ const headlessMatch = /(headlesschrome)(?:\/([\w\.]+)| )/i.exec(userAgent);
40
+ if (headlessMatch) {
41
+ return {
42
+ type: headlessMatch[1],
43
+ version: headlessMatch[2],
44
+ };
45
+ }
46
+ const browserMatch = /.+(Chrome|Firefox|FxiOS)\/([0-9\.]+).*/i.exec(userAgent);
47
+ if (browserMatch) {
48
+ return {
49
+ type: browserMatch[1],
50
+ version: browserMatch[2],
51
+ };
52
+ }
53
+ const safariMatch = /.+(Safari)\/([0-9\.]+).*/i.exec(userAgent);
54
+ if (safariMatch) {
55
+ return {
56
+ type: safariMatch[1],
57
+ version: safariMatch[2],
58
+ };
59
+ }
60
+ const webkitMatch = /.+(AppleWebKit)\/([0-9\.]+).*/i.exec(userAgent);
61
+ if (webkitMatch) {
62
+ return {
63
+ type: webkitMatch[1],
64
+ version: webkitMatch[2],
65
+ };
66
+ }
67
+ const anyMatch = /.*([A-Z]+)\/([0-9\.]+).*/i.exec(userAgent);
68
+ const fallback = anyMatch || ['', 'NA', '0.0.0'];
69
+ return {
70
+ type: fallback[1],
71
+ version: fallback[2],
72
+ };
73
+ }
74
+ export function getBrowserClientInfo() {
75
+ const nav = getNavigatorSafe();
76
+ if (!nav) {
77
+ return {};
78
+ }
79
+ const userAgent = nav.userAgent || '';
80
+ const browser = parseBrowserType(userAgent);
81
+ const isBrave = (nav.brave && nav.brave.isBrave) || false;
82
+ const type = isBrave ? 'Brave' : browser.type;
83
+ const os = parseOS(userAgent);
84
+ const vendorToken = (nav.vendor || '').split(' ').filter(Boolean)[0];
85
+ const make = type === 'Brave' ? type : vendorToken || nav.product || '';
86
+ return {
87
+ language: getLanguageInfo(nav),
88
+ make,
89
+ model: type,
90
+ version: browser.version,
91
+ name: [type, browser.version].filter(Boolean).join('/'),
92
+ timezone: getBrowserTimezone(),
93
+ platform: nav.platform,
94
+ os,
95
+ };
96
+ }
97
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/plugins/utils/browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export function parseOS(userAgent) {
2
+ var _a;
3
+ const cleanAgent = userAgent.toLowerCase().replace(/ /g, '');
4
+ const osMatchers = [
5
+ {
6
+ name: 'Windows',
7
+ regex: /windowsnt/i,
8
+ versionRegex: /windowsnt([\d\.]+)/i,
9
+ },
10
+ {
11
+ name: 'MacOS',
12
+ regex: /macos|macosx|macintosh|macintel|darwin/i,
13
+ versionRegex: /osx([\d_\.]+)/i,
14
+ },
15
+ {
16
+ name: 'Android',
17
+ regex: /android/i,
18
+ versionRegex: /android([\d\.]+)/i,
19
+ },
20
+ {
21
+ name: 'iOS',
22
+ regex: /iphone|ipad|ipod/i,
23
+ versionRegex: /os([\d_\.]+)/i,
24
+ },
25
+ {
26
+ name: 'Linux',
27
+ regex: /linux/i,
28
+ },
29
+ ];
30
+ const matched = osMatchers.find((entry) => entry.regex.test(cleanAgent));
31
+ if (!matched) {
32
+ return {};
33
+ }
34
+ const version = matched.versionRegex
35
+ ? (_a = (cleanAgent.match(matched.versionRegex) || [])[1]) === null || _a === void 0 ? void 0 : _a.replace(/_/g, '.')
36
+ : undefined;
37
+ return {
38
+ name: matched.name,
39
+ version,
40
+ };
41
+ }
42
+ //# sourceMappingURL=os.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"os.js","sourceRoot":"","sources":["../../../../src/plugins/utils/os.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,OAAO,CAAC,SAAiB;;IACvC,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,UAAU,GAIX;QACH;YACE,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,YAAY;YACnB,YAAY,EAAE,qBAAqB;SACpC;QACD;YACE,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,yCAAyC;YAChD,YAAY,EAAE,gBAAgB;SAC/B;QACD;YACE,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,UAAU;YACjB,YAAY,EAAE,mBAAmB;SAClC;QACD;YACE,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,mBAAmB;YAC1B,YAAY,EAAE,eAAe;SAC9B;QACD;YACE,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ;SAChB;KACF,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY;QAClC,CAAC,CAAC,MAAA,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QACvE,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -79,14 +79,14 @@ class Amazon {
79
79
  const result = this.analytics.track('pageView', telemetryPayload);
80
80
  return typeof result === 'boolean' ? result : true;
81
81
  }
82
- logEvent(event = {}) {
82
+ logEvent(event = {}, trackOptions) {
83
83
  const telemetryPayload = (0, create_event_log_1.createEventLog)({
84
84
  event,
85
85
  dimensionLookup: this.dimensions,
86
86
  metricLookup: this.metrics,
87
87
  });
88
88
  const { name } = telemetryPayload;
89
- const result = this.analytics.track(name, telemetryPayload);
89
+ const result = this.analytics.track(name, telemetryPayload, trackOptions);
90
90
  return typeof result === 'boolean' ? result : true;
91
91
  }
92
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,yDAAoD;AACpD,iEAA2D;AAC3D,kEAAkC;AAClC,mFAAwD;AACxD,iCAAwC;AAcxC,6FAAsF;AACtF,6FAAsF;AACtF,yCAAkD;AAElD;;;GAGG;AACH,MAAa,MAAM;IAUjB,YAAY,OAA+B;QAR3C,SAAI,GAAW,QAAQ,CAAC;QACxB,iBAAY,GAA4C,EAAE,CAAC;QAI3D,kBAAa,GAAG,KAAK,CAAC;QAIpB,0CAA0C;QAC1C,MAAM,EAAE,GAAG,GAAG,EAAe,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;QAE3E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAA,mBAAS,EAAC;gBACzB,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,OAAO,EAAE;oBACP,IAAA,sBAAiB,EAAC;wBAChB,IAAI;wBACJ,aAAa,EAAE,GAAG,CAAC,EAAE;wBACrB,cAAc,EAAE,GAAG,EAAE,CAAC,IAAA,qBAAc,EAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC;qBAC3D,CAAC;iBACH;aACF,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAA,uBAAgB,EAAC;gBAChC,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,OAAO,EAAE,GAAG,CAAC,IAAI;gBACjB,UAAU,EAAE,GAAG,CAAC,OAAO;gBACvB,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,UAAU;gBACV,IAAI;aACL,CAAC,CAAC;SACJ;QAED,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI;QACF,iCAAiC;QACjC,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO;SACR;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAChC,EAAE,EACF,cAAc,EACd,QAAQ,EACR,eAAe,GACa;QAC5B,OAAO,IAAA,mEAA8B,EAAC;YACpC,EAAE;YACF,cAAc;YACd,QAAQ;YACR,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAChC,EAAE,EACF,cAAc,GACc;QAC5B,OAAO,IAAA,mEAA8B,EAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,OAAyB;QACjD,MAAM,gBAAgB,GAAG,IAAA,wCAAiB,EAAC;YACzC,IAAI;YACJ,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO;YACP,eAAe,EAAE,IAAI,CAAC,UAAU;YAChC,YAAY,EAAE,IAAI,CAAC,OAAO;SAC3B,CAAC,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAClE,OAAO,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,QAAsB,EAAE;QAC/B,MAAM,gBAAgB,GAAG,IAAA,iCAAc,EAAC;YACtC,KAAK;YACL,eAAe,EAAE,IAAI,CAAC,UAAU;YAChC,YAAY,EAAE,IAAI,CAAC,OAAO;SAC3B,CAAC,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAC5D,OAAO,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;CACF;AAjGD,wBAiGC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,yDAAoD;AACpD,iEAA2D;AAC3D,kEAAkC;AAClC,mFAAwD;AACxD,iCAAwC;AAexC,6FAAsF;AACtF,6FAAsF;AACtF,yCAAkD;AAElD;;;GAGG;AACH,MAAa,MAAM;IAUjB,YAAY,OAA+B;QAR3C,SAAI,GAAW,QAAQ,CAAC;QACxB,iBAAY,GAA4C,EAAE,CAAC;QAI3D,kBAAa,GAAG,KAAK,CAAC;QAIpB,0CAA0C;QAC1C,MAAM,EAAE,GAAG,GAAG,EAAe,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;QAE3E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAA,mBAAS,EAAC;gBACzB,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,OAAO,EAAE;oBACP,IAAA,sBAAiB,EAAC;wBAChB,IAAI;wBACJ,aAAa,EAAE,GAAG,CAAC,EAAE;wBACrB,cAAc,EAAE,GAAG,EAAE,CAAC,IAAA,qBAAc,EAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC;qBAC3D,CAAC;iBACH;aACF,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAA,uBAAgB,EAAC;gBAChC,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,OAAO,EAAE,GAAG,CAAC,IAAI;gBACjB,UAAU,EAAE,GAAG,CAAC,OAAO;gBACvB,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,UAAU;gBACV,IAAI;aACL,CAAC,CAAC;SACJ;QAED,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI;QACF,iCAAiC;QACjC,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO;SACR;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAChC,EAAE,EACF,cAAc,EACd,QAAQ,EACR,eAAe,GACa;QAC5B,OAAO,IAAA,mEAA8B,EAAC;YACpC,EAAE;YACF,cAAc;YACd,QAAQ;YACR,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAChC,EAAE,EACF,cAAc,GACc;QAC5B,OAAO,IAAA,mEAA8B,EAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,OAAyB;QACjD,MAAM,gBAAgB,GAAG,IAAA,wCAAiB,EAAC;YACzC,IAAI;YACJ,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO;YACP,eAAe,EAAE,IAAI,CAAC,UAAU;YAChC,YAAY,EAAE,IAAI,CAAC,OAAO;SAC3B,CAAC,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAClE,OAAO,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,QAAQ,CACN,QAAsB,EAAE,EACxB,YAAgC;QAEhC,MAAM,gBAAgB,GAAG,IAAA,iCAAc,EAAC;YACtC,KAAK;YACL,eAAe,EAAE,IAAI,CAAC,UAAU;YAChC,YAAY,EAAE,IAAI,CAAC,OAAO;SAC3B,CAAC,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;QAC1E,OAAO,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;CACF;AApGD,wBAoGC"}
@@ -105,5 +105,22 @@ describe('Amazon', () => {
105
105
  });
106
106
  expect(AnalyticsMock).not.toHaveBeenCalled();
107
107
  });
108
+ test('logEvent forwards immediate track option to analytics.track', () => {
109
+ const track = jest.fn(() => true);
110
+ createEsriPluginMock.mockReturnValue({ track });
111
+ const telemetry = new _1.Amazon({
112
+ userPoolID: 'pool-id',
113
+ app: {
114
+ name: 'test',
115
+ id: '1234',
116
+ },
117
+ mode: 'esri',
118
+ });
119
+ const result = telemetry.logEvent({ eventType: 'cta_click', category: 'nav' }, { immediate: true });
120
+ const trackMock = track;
121
+ expect(result).toBe(true);
122
+ expect(trackMock).toHaveBeenCalledTimes(1);
123
+ expect(trackMock.mock.calls[0][2]).toEqual({ immediate: true });
124
+ });
108
125
  });
109
126
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const ESRI_ENDPOINT_URL = (appId) => `https://tedev.arcgis.com/v1/apps/${appId}/
10
10
  const SESSION_START_EVENT = '_session.start';
11
11
  const SESSION_STOP_EVENT = '_session.stop';
12
12
  const DEFAULT_IDLE_TIMEOUT_MS = 30 * 60 * 1000;
13
+ const DEFAULT_DEBOUNCE_MS = 5000;
13
14
  /** Converts a string to a number, guarded against invalid values */
14
15
  function getNumber(value, fallback = 0) {
15
16
  const numeric = Number(value);
@@ -51,58 +52,77 @@ function splitEventData(payload) {
51
52
  metrics,
52
53
  };
53
54
  }
54
- function buildBatchEventPayload({ eventName, payload, trackerName, appName, appVersion, session, }) {
55
- var _a, _b, _c, _d;
56
- const endpointId = (0, shared_1.getEndpointId)();
57
- const timestamp = new Date().toISOString();
58
- const sessionContext = session ||
55
+ function buildBatchEventPayload({ queuedEvents, trackerName, appName, appVersion, }) {
56
+ var _a, _b, _c, _d, _e, _f;
57
+ const endpointEvent = queuedEvents[queuedEvents.length - 1] ||
59
58
  {
60
- id: `${Date.now()}-${Math.random().toString(16).slice(2)}`,
61
- startTimestamp: timestamp,
62
- startUnixMs: Date.now(),
59
+ payload: {},
60
+ browserInfo: {},
63
61
  };
64
- const isStopEvent = eventName === SESSION_STOP_EVENT;
65
- const { attributes, metrics } = splitEventData(payload);
62
+ const payload = endpointEvent.payload || {};
63
+ const browserInfo = endpointEvent.browserInfo || {};
64
+ const endpointId = (0, shared_1.getEndpointId)();
65
+ const location = {};
66
+ if (payload === null || payload === void 0 ? void 0 : payload.city) {
67
+ location.City = payload.city;
68
+ }
69
+ if (payload === null || payload === void 0 ? void 0 : payload.country) {
70
+ location.Country = payload.country;
71
+ }
72
+ if ((payload === null || payload === void 0 ? void 0 : payload.lat) !== undefined && (payload === null || payload === void 0 ? void 0 : payload.lat) !== null) {
73
+ location.Lat = getNumber(payload.lat);
74
+ }
75
+ if ((payload === null || payload === void 0 ? void 0 : payload.lon) !== undefined && (payload === null || payload === void 0 ? void 0 : payload.lon) !== null) {
76
+ location.Lon = getNumber(payload.lon);
77
+ }
66
78
  return {
67
79
  BatchEvent: {
68
80
  Endpoint: {
69
81
  Id: endpointId,
82
+ Demographic: Object.assign({ Locale: (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.language) || '', Make: (payload === null || payload === void 0 ? void 0 : payload.deviceMake) || (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.make) || '', Model: (payload === null || payload === void 0 ? void 0 : payload.deviceModel) || (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.model) || '', ModelVersion: (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.version) || '', Platform: ((_a = browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.os) === null || _a === void 0 ? void 0 : _a.name) || (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.platform) || '' }, (((_b = browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.os) === null || _b === void 0 ? void 0 : _b.version)
83
+ ? { PlatformVersion: browserInfo.os.version }
84
+ : {})),
70
85
  Device: {
71
- Make: (payload === null || payload === void 0 ? void 0 : payload.deviceMake) || '',
72
- Model: (payload === null || payload === void 0 ? void 0 : payload.deviceModel) || '',
73
- },
74
- Location: {
75
- City: (payload === null || payload === void 0 ? void 0 : payload.city) || '',
76
- Country: (payload === null || payload === void 0 ? void 0 : payload.country) || '',
77
- Lat: getNumber(payload === null || payload === void 0 ? void 0 : payload.lat),
78
- Lon: getNumber(payload === null || payload === void 0 ? void 0 : payload.lon),
86
+ Make: (payload === null || payload === void 0 ? void 0 : payload.deviceMake) || (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.make) || '',
87
+ Model: (payload === null || payload === void 0 ? void 0 : payload.deviceModel) || (browserInfo === null || browserInfo === void 0 ? void 0 : browserInfo.model) || '',
79
88
  },
89
+ Location: location,
80
90
  Application: {
81
- AppTitle: (_b = (_a = payload === null || payload === void 0 ? void 0 : payload.appTitle) !== null && _a !== void 0 ? _a : appName) !== null && _b !== void 0 ? _b : trackerName,
82
- AppVersion: (_c = payload === null || payload === void 0 ? void 0 : payload.appVersion) !== null && _c !== void 0 ? _c : appVersion,
83
- ClientSdkVersion: (_d = payload === null || payload === void 0 ? void 0 : payload.clientSdkVersion) !== null && _d !== void 0 ? _d : trackerName,
91
+ AppTitle: (_d = (_c = payload === null || payload === void 0 ? void 0 : payload.appTitle) !== null && _c !== void 0 ? _c : appName) !== null && _d !== void 0 ? _d : trackerName,
92
+ AppVersion: (_e = payload === null || payload === void 0 ? void 0 : payload.appVersion) !== null && _e !== void 0 ? _e : appVersion,
93
+ ClientSdkVersion: (_f = payload === null || payload === void 0 ? void 0 : payload.clientSdkVersion) !== null && _f !== void 0 ? _f : trackerName,
84
94
  },
85
95
  },
86
- Events: [
87
- {
88
- EventType: eventName,
96
+ Events: queuedEvents.map((queuedEvent) => {
97
+ console.log('queued event', queuedEvent.eventName);
98
+ const timestamp = queuedEvent.timestamp;
99
+ const { attributes, metrics } = splitEventData(queuedEvent.payload);
100
+ const sessionContext = queuedEvent.session ||
101
+ {
102
+ id: `${queuedEvent.unixMs}-${Math.random().toString(16).slice(2)}`,
103
+ startTimestamp: timestamp,
104
+ startUnixMs: queuedEvent.unixMs,
105
+ };
106
+ const isStopEvent = queuedEvent.eventName === SESSION_STOP_EVENT;
107
+ return {
108
+ EventType: queuedEvent.eventName,
89
109
  Timestamp: timestamp,
90
110
  Session: {
91
111
  Id: sessionContext.id,
92
112
  StartTimestamp: sessionContext.startTimestamp,
93
113
  EndTimestamp: timestamp,
94
114
  Duration: isStopEvent
95
- ? Math.max(0, Date.now() - sessionContext.startUnixMs)
115
+ ? Math.max(0, queuedEvent.unixMs - sessionContext.startUnixMs)
96
116
  : 0,
97
117
  },
98
118
  Attributes: attributes,
99
119
  Metrics: metrics,
100
- },
101
- ],
120
+ };
121
+ }),
102
122
  },
103
123
  };
104
124
  }
105
- function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID, fips, }) {
125
+ function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID, fips, debounceMs = DEFAULT_DEBOUNCE_MS, }) {
106
126
  const url = ESRI_ENDPOINT_URL(appId);
107
127
  let isDisabled = false;
108
128
  let hasWarned = false;
@@ -110,8 +130,10 @@ function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID,
110
130
  let sessionStopSent = false;
111
131
  let activeSession;
112
132
  let idleTimerId;
133
+ let debounceTimerId;
113
134
  let lifecycleListenersAttached = false;
114
135
  const removeLifecycleListeners = [];
136
+ let pendingEvents = [];
115
137
  const isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
116
138
  const warnOnce = (message, details) => {
117
139
  if (hasWarned) {
@@ -149,32 +171,43 @@ function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID,
149
171
  clearTimeout(idleTimerId);
150
172
  idleTimerId = undefined;
151
173
  };
152
- const removeAllLifecycleListeners = () => {
153
- removeLifecycleListeners.splice(0).forEach((removeListener) => {
154
- removeListener();
155
- });
156
- lifecycleListenersAttached = false;
174
+ const clearDebounceTimer = () => {
175
+ if (!debounceTimerId) {
176
+ return;
177
+ }
178
+ clearTimeout(debounceTimerId);
179
+ debounceTimerId = undefined;
157
180
  };
158
- const createSession = () => {
159
- const now = Date.now();
160
- return {
161
- id: `${now}-${Math.random().toString(16).slice(2)}`,
162
- startTimestamp: new Date(now).toISOString(),
163
- startUnixMs: now,
164
- };
181
+ const clearPendingEvents = () => {
182
+ pendingEvents = [];
183
+ };
184
+ const enqueueEvent = (event) => {
185
+ pendingEvents.push(event);
186
+ };
187
+ const dequeuePendingEvents = () => {
188
+ if (pendingEvents.length === 0) {
189
+ return [];
190
+ }
191
+ const queuedEvents = pendingEvents;
192
+ pendingEvents = [];
193
+ return queuedEvents;
165
194
  };
166
- const sendEvent = (eventName, payload, sessionOverride) => {
195
+ const sendQueuedEvents = (queuedEvents) => {
196
+ var _a;
197
+ if (queuedEvents.length === 0) {
198
+ return;
199
+ }
167
200
  if (isDisabled || !url || !userPoolID) {
168
201
  (0, shared_1.debugLog)('Skipping esri track call', {
169
- eventName,
202
+ eventName: (_a = queuedEvents[queuedEvents.length - 1]) === null || _a === void 0 ? void 0 : _a.eventName,
170
203
  reason: 'plugin-disabled',
171
204
  });
172
- return false;
205
+ return;
173
206
  }
174
- (0, shared_1.debugLog)('Sending esri endpoint event', {
175
- eventName,
207
+ (0, shared_1.debugLog)('Sending esri endpoint batch event', {
176
208
  trackerName,
177
209
  url,
210
+ eventCount: queuedEvents.length,
178
211
  });
179
212
  void (0, auth_1.getCredentials)(userPoolID, { fips })
180
213
  .then((credentials) => {
@@ -197,39 +230,100 @@ function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID,
197
230
  'Content-Type': 'application/json',
198
231
  },
199
232
  body: JSON.stringify(buildBatchEventPayload({
200
- eventName,
201
- payload: payload,
233
+ queuedEvents,
202
234
  trackerName,
203
235
  appName,
204
236
  appVersion,
205
- session: sessionOverride || activeSession,
206
237
  })),
207
238
  });
208
239
  })
209
240
  .then(() => {
210
241
  (0, shared_1.debugLog)('Endpoint event sent', {
211
- eventName,
212
242
  trackerName,
243
+ eventCount: queuedEvents.length,
213
244
  });
214
245
  })
215
246
  .catch((error) => {
247
+ var _a;
216
248
  isDisabled = true;
217
249
  clearIdleTimer();
250
+ clearDebounceTimer();
251
+ clearPendingEvents();
218
252
  removeAllLifecycleListeners();
219
253
  warnOnce('Esri telemetry disabled after endpoint track failure', {
220
- eventName,
254
+ eventName: (_a = queuedEvents[queuedEvents.length - 1]) === null || _a === void 0 ? void 0 : _a.eventName,
221
255
  trackerName,
222
256
  message: (error === null || error === void 0 ? void 0 : error.message) || String(error),
223
257
  });
224
258
  });
259
+ };
260
+ const flushPendingEvents = (eventToAppend) => {
261
+ clearDebounceTimer();
262
+ const queuedEvents = dequeuePendingEvents();
263
+ if (eventToAppend) {
264
+ queuedEvents.push(eventToAppend);
265
+ }
266
+ console.log('flushing', eventToAppend);
267
+ console.log('stack', queuedEvents);
268
+ sendQueuedEvents(queuedEvents);
269
+ };
270
+ const scheduleDebounceFlush = () => {
271
+ clearDebounceTimer();
272
+ debounceTimerId = setTimeout(() => {
273
+ flushPendingEvents();
274
+ }, debounceMs);
275
+ };
276
+ const removeAllLifecycleListeners = () => {
277
+ removeLifecycleListeners.splice(0).forEach((removeListener) => {
278
+ removeListener();
279
+ });
280
+ lifecycleListenersAttached = false;
281
+ };
282
+ const createSession = () => {
283
+ const now = Date.now();
284
+ return {
285
+ id: `${now}-${Math.random().toString(16).slice(2)}`,
286
+ startTimestamp: new Date(now).toISOString(),
287
+ startUnixMs: now,
288
+ };
289
+ };
290
+ const sendEvent = (eventName, payload, sessionOverride, options, forceImmediate = false) => {
291
+ if (isDisabled || !url || !userPoolID) {
292
+ (0, shared_1.debugLog)('Skipping esri track call', {
293
+ eventName,
294
+ reason: 'plugin-disabled',
295
+ });
296
+ return false;
297
+ }
298
+ (0, shared_1.debugLog)('Queueing esri endpoint event', {
299
+ eventName,
300
+ trackerName,
301
+ immediate: Boolean((options === null || options === void 0 ? void 0 : options.immediate) || forceImmediate),
302
+ });
303
+ const queuedEvent = {
304
+ eventName,
305
+ payload: payload,
306
+ session: sessionOverride || activeSession,
307
+ browserInfo: (0, shared_1.getBrowserClientInfo)(),
308
+ timestamp: new Date().toISOString(),
309
+ unixMs: Date.now(),
310
+ };
311
+ if ((options === null || options === void 0 ? void 0 : options.immediate) || forceImmediate) {
312
+ flushPendingEvents(queuedEvent);
313
+ }
314
+ else {
315
+ enqueueEvent(queuedEvent);
316
+ scheduleDebounceFlush();
317
+ }
225
318
  return true;
226
319
  };
227
320
  const sendSessionLifecycleEvent = (eventName, reason, sessionOverride) => {
228
321
  return sendEvent(eventName, {
229
322
  reason,
230
- }, sessionOverride);
323
+ }, sessionOverride, undefined, true);
231
324
  };
232
325
  const stopSession = (reason) => {
326
+ console.log('stopping session');
233
327
  if (!hasSessionStarted || sessionStopSent) {
234
328
  return false;
235
329
  }
@@ -297,7 +391,8 @@ function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID,
297
391
  lifecycleListenersAttached = true;
298
392
  };
299
393
  return {
300
- track: (eventName, payload) => {
394
+ track: (eventName, payload, options) => {
395
+ void options;
301
396
  attachLifecycleListeners();
302
397
  const isSessionStopEvent = eventName === SESSION_STOP_EVENT;
303
398
  if (!hasSessionStarted &&
@@ -322,7 +417,7 @@ function createEsriPlugin({ trackerName, appName, appId, appVersion, userPoolID,
322
417
  resetIdleTimer();
323
418
  }
324
419
  const sessionForEvent = activeSession;
325
- const didSend = sendEvent(eventName, payload, sessionForEvent);
420
+ const didSend = sendEvent(eventName, payload, sessionForEvent, options, eventName === SESSION_START_EVENT || eventName === SESSION_STOP_EVENT);
326
421
  if (isSessionStopEvent && didSend) {
327
422
  activeSession = undefined;
328
423
  }
@@ -1 +1 @@
1
- {"version":3,"file":"esri.js","sourceRoot":"","sources":["../../../src/plugins/esri.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"esri.js","sourceRoot":"","sources":["../../../src/plugins/esri.ts"],"names":[],"mappings":"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"}