@esri/telemetry-amazon 6.0.0-beta.0 → 6.0.0-beta.10

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 (78) hide show
  1. package/README.md +26 -9
  2. package/dist/esm/auth.js +22 -31
  3. package/dist/esm/auth.js.map +1 -1
  4. package/dist/esm/create-event-log.js +15 -15
  5. package/dist/esm/create-event-log.js.map +1 -1
  6. package/dist/esm/create-event-log.test.js +50 -8
  7. package/dist/esm/create-event-log.test.js.map +1 -1
  8. package/dist/esm/create-page-view-log.js +1 -6
  9. package/dist/esm/create-page-view-log.js.map +1 -1
  10. package/dist/esm/format-telemetry-attributes.js +8 -4
  11. package/dist/esm/format-telemetry-attributes.js.map +1 -1
  12. package/dist/esm/index.js +43 -19
  13. package/dist/esm/index.js.map +1 -1
  14. package/dist/esm/index.test.js +106 -160
  15. package/dist/esm/index.test.js.map +1 -1
  16. package/dist/esm/plugins/esri.js +419 -0
  17. package/dist/esm/plugins/esri.js.map +1 -0
  18. package/dist/esm/plugins/esri.test.js +556 -0
  19. package/dist/esm/plugins/esri.test.js.map +1 -0
  20. package/dist/esm/plugins/utils/browser.js +97 -0
  21. package/dist/esm/plugins/utils/browser.js.map +1 -0
  22. package/dist/esm/plugins/utils/browser.test.js +130 -0
  23. package/dist/esm/plugins/utils/browser.test.js.map +1 -0
  24. package/dist/esm/plugins/utils/os.js +140 -0
  25. package/dist/esm/plugins/utils/os.js.map +1 -0
  26. package/dist/esm/plugins/utils/os.test.js +54 -0
  27. package/dist/esm/plugins/utils/os.test.js.map +1 -0
  28. package/dist/esm/plugins/utils/shared.js +74 -0
  29. package/dist/esm/plugins/utils/shared.js.map +1 -0
  30. package/dist/esm/types.js +97 -1
  31. package/dist/esm/types.js.map +1 -1
  32. package/dist/node/auth.js +22 -31
  33. package/dist/node/auth.js.map +1 -1
  34. package/dist/node/create-event-log.js +15 -15
  35. package/dist/node/create-event-log.js.map +1 -1
  36. package/dist/node/create-event-log.test.js +50 -8
  37. package/dist/node/create-event-log.test.js.map +1 -1
  38. package/dist/node/create-page-view-log.js +1 -6
  39. package/dist/node/create-page-view-log.js.map +1 -1
  40. package/dist/node/format-telemetry-attributes.js +8 -4
  41. package/dist/node/format-telemetry-attributes.js.map +1 -1
  42. package/dist/node/index.js +43 -19
  43. package/dist/node/index.js.map +1 -1
  44. package/dist/node/index.test.js +106 -160
  45. package/dist/node/index.test.js.map +1 -1
  46. package/dist/node/plugins/esri.js +423 -0
  47. package/dist/node/plugins/esri.js.map +1 -0
  48. package/dist/node/plugins/esri.test.js +559 -0
  49. package/dist/node/plugins/esri.test.js.map +1 -0
  50. package/dist/node/plugins/utils/browser.js +101 -0
  51. package/dist/node/plugins/utils/browser.js.map +1 -0
  52. package/dist/node/plugins/utils/browser.test.js +132 -0
  53. package/dist/node/plugins/utils/browser.test.js.map +1 -0
  54. package/dist/node/plugins/utils/os.js +144 -0
  55. package/dist/node/plugins/utils/os.js.map +1 -0
  56. package/dist/node/plugins/utils/os.test.js +56 -0
  57. package/dist/node/plugins/utils/os.test.js.map +1 -0
  58. package/dist/node/plugins/utils/shared.js +83 -0
  59. package/dist/node/plugins/utils/shared.js.map +1 -0
  60. package/dist/node/types.js +98 -0
  61. package/dist/node/types.js.map +1 -1
  62. package/dist/types/create-event-log.d.ts +2 -2
  63. package/dist/types/create-page-view-log.d.ts +1 -1
  64. package/dist/types/format-telemetry-attributes.d.ts +3 -3
  65. package/dist/types/index.d.ts +14 -7
  66. package/dist/types/plugins/esri.d.ts +6 -0
  67. package/dist/types/plugins/esri.test.d.ts +1 -0
  68. package/dist/types/plugins/utils/browser.d.ts +12 -0
  69. package/dist/types/plugins/utils/browser.test.d.ts +1 -0
  70. package/dist/types/plugins/utils/os.d.ts +5 -0
  71. package/dist/types/plugins/utils/os.test.d.ts +1 -0
  72. package/dist/types/plugins/utils/shared.d.ts +12 -0
  73. package/dist/types/types.d.ts +114 -19
  74. package/dist/umd/telemetry-amazon.js +1253 -141
  75. package/dist/umd/telemetry-amazon.js.map +1 -1
  76. package/dist/umd/telemetry-amazon.min.js +1253 -141
  77. package/dist/umd/telemetry-amazon.min.js.map +1 -1
  78. package/package.json +4 -3
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # `@esri/telemetry-amazon`
2
2
 
3
- > This is a plugin for the `Telemetry.js` package to interact with an AWS Analytics store. This package uses the third-party libraries, [analytics](https://github.com/DavidWells/analytics) and [@analytics/aws-pinpoint](https://github.com/DavidWells/analytics/tree/master/packages/analytics-plugin-aws-pinpoint) packages.
3
+ > This is a plugin for the `Telemetry.js` package to interact with an AWS Analytics store.
4
4
 
5
5
  ## Table of Contents
6
6
 
@@ -9,10 +9,11 @@
9
9
  - [How to Use](#how-to-use)
10
10
  - [Amazon Configuration](#amazon-configuration)
11
11
  - [Example](#example)
12
- - [`telemetry.logEvent(event)`](#telemetrylogeventevent)
12
+ - [`telemetry.logEvent(event)`](#telemetrylogeventevent)
13
13
  - [Telemetry Sharing Permissions](#telemetry-sharing-permissions)
14
14
  - [Portal Items](#portal-items)
15
15
  - [Usage](#usage)
16
+ - [Amazon Pinpoint Retirement](#amazon-pinpoint-retirement)
16
17
  - [Issues](#issues)
17
18
  - [Contributing](#contributing)
18
19
  - [License](#license)
@@ -24,7 +25,7 @@ npm install @esri/telemetry-amazon
24
25
 
25
26
  ## How to Use
26
27
 
27
- `@esri/telemetry-amazon` packages works in the client-side browser and server-side Node.js. To use, install the package, include it in your project, create an instance of the plugin, and add it to the `plugins` array with [@esri/telemetry](../../README.md)
28
+ `@esri/telemetry-amazon` package works in the client-side browser and server-side Node.js. To use it, install the package, include it in your project, create an instance of the Amazon plugin, and add it to the `plugins` array with [@esri/telemetry](../../README.md).
28
29
 
29
30
  Below is an example of how to use the telemetry-amazon plugin.
30
31
 
@@ -34,6 +35,7 @@ import { Amazon } from '@esri/telemetry-amazon';
34
35
 
35
36
  const amazonTracker = new Amazon({
36
37
  userPoolID: USER_POOL_ID,
38
+ mode: 'pinpoint', // Pinpoint retires on October 30, 2026. Use 'esri' or omit this field for continued support.
37
39
  fips: true, // defaults to false
38
40
  app: {
39
41
  name: APP_NAME,
@@ -57,18 +59,18 @@ telemetry.logPageView();
57
59
  telemetry.logEvent();
58
60
  ```
59
61
 
60
- After initializing `Telemetry.js` with the `telemetry-amazon` plugin, telemetry data will be sent to the AWS Pinpoint instance of the provided App.
62
+ After initializing `Telemetry.js` with the Amazon plugin, telemetry data will be sent to the configured destination.
61
63
 
62
64
  ## Amazon Configuration
63
65
 
64
- - Get your app and user pool ID from AWS Pinpoint instance
65
- - Pass in options object to create an instance of the plugin
66
- - the `fips` option determines if AWS FIPS endpoints are used for cognito and pinpoint requests
66
+ - Get your app and user pool ID from AWS
67
+ - Pass in an options object to create an instance of the Amazon plugin
68
+ - the `fips` option determines if AWS FIPS endpoints are used for cognito requests
67
69
  - Pass in an object containing the mapping for your custom dimensions and metrics
68
70
 
69
71
  ```js
70
72
  // or if you are using optional custom dimensions and/or custom metrics
71
- const googleTracker = new Amazon({
73
+ const amazonTracker = new Amazon({
72
74
  dimensions: {
73
75
  datasetID: 1,
74
76
  attribute: 2,
@@ -167,6 +169,21 @@ const setAccessParams = {
167
169
  const result = await Amazon.setAccessPermissions(setAccessParams: ISetAccessPermissionsParams)
168
170
  ```
169
171
 
172
+ ## Amazon Pinpoint Retirement
173
+
174
+ Amazon Pinpoint will be retired on **October 30, 2026**. After this date, Pinpoint can no longer be used for telemetry delivery. See the [official AWS retirement announcement](https://docs.aws.amazon.com/pinpoint/latest/userguide/migrate.html) for details.
175
+
176
+ By default, the Amazon tracker now sends events to Esri's backend instead of Pinpoint while keeping the same tracker identity. No changes to your plugin configuration are necessary. Prior to Pinpoint's retirement you can set `mode: 'pinpoint'` to restore legacy behavior and/or to verify the shape of the events being logged:
177
+
178
+ ```js
179
+ const amazonTracker = new Amazon({
180
+ mode: 'pinpoint',
181
+ ....
182
+ });
183
+ ```
184
+
185
+ NOTE: After **October 30, 2026** the `mode: 'pinpoint'` property will be a no-op, and all traffic will be routed through the Esri backend.
186
+
170
187
  ## Issues
171
188
 
172
189
  If something isn't working, please take a look at [previously logged issues](https://devtopia.esri.com/WebGIS/arcgis-telemetry.js/issues) first. Have you found a new bug? Create an issue [here](https://devtopia.esri.com/WebGIS/arcgis-telemetry.js/issues/new).
@@ -177,7 +194,7 @@ Esri welcomes contributions from anyone and everyone. Please see our [guidelines
177
194
 
178
195
  ## License
179
196
 
180
- Copyright © 2022 Esri
197
+ Copyright © 2026 Esri
181
198
 
182
199
  Licensed under the Apache License, Version 2.0 (the "License");
183
200
  you may not use this file except in compliance with the License.
package/dist/esm/auth.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { storage } from '@esri/telemetry';
2
2
  const COGNITO_KEY = 'TELEMETRY_COGNITO_CREDENTIALS';
3
- export function getCredentials(IdentityPoolId, options = {}) {
3
+ export async function getCredentials(IdentityPoolId, options = {}) {
4
4
  const fipsSubdomainSuffix = options.fips === true ? '-fips' : '';
5
5
  const COGNITO_URL = `https://cognito-identity${fipsSubdomainSuffix}.us-east-1.amazonaws.com/`;
6
6
  let cached = storage.get(COGNITO_KEY);
7
7
  if (cached && Date.now() / 1000 < cached.Expiration)
8
- return Promise.resolve(cached);
8
+ return cached;
9
9
  const fetchOptions = {
10
10
  method: 'POST',
11
11
  headers: {
@@ -14,34 +14,25 @@ export function getCredentials(IdentityPoolId, options = {}) {
14
14
  },
15
15
  body: JSON.stringify({ IdentityPoolId }),
16
16
  };
17
- return fetch(COGNITO_URL, fetchOptions)
18
- .then((response) => {
19
- if (!response.ok) {
20
- throw new Error(response.statusText);
21
- }
22
- return response.json();
23
- })
24
- .then((response) => {
25
- const { IdentityId } = response;
26
- const options = {
27
- method: 'POST',
28
- headers: {
29
- 'Content-type': 'application/x-amz-json-1.1',
30
- 'X-Amz-Target': 'AWSCognitoIdentityService.GetCredentialsForIdentity',
31
- },
32
- body: JSON.stringify({ IdentityId }),
33
- };
34
- return fetch(COGNITO_URL, options);
35
- })
36
- .then((response) => {
37
- if (!response.ok) {
38
- throw new Error(response.statusText);
39
- }
40
- return response.json();
41
- })
42
- .then(({ Credentials }) => {
43
- storage.set(COGNITO_KEY, Credentials);
44
- return Credentials;
45
- });
17
+ const getIdResponse = await fetch(COGNITO_URL, fetchOptions);
18
+ if (!getIdResponse.ok) {
19
+ throw new Error(getIdResponse.statusText);
20
+ }
21
+ const { IdentityId } = await getIdResponse.json();
22
+ const credentialsOptions = {
23
+ method: 'POST',
24
+ headers: {
25
+ 'Content-type': 'application/x-amz-json-1.1',
26
+ 'X-Amz-Target': 'AWSCognitoIdentityService.GetCredentialsForIdentity',
27
+ },
28
+ body: JSON.stringify({ IdentityId }),
29
+ };
30
+ const getCredentialsResponse = await fetch(COGNITO_URL, credentialsOptions);
31
+ if (!getCredentialsResponse.ok) {
32
+ throw new Error(getCredentialsResponse.statusText);
33
+ }
34
+ const { Credentials } = await getCredentialsResponse.json();
35
+ storage.set(COGNITO_KEY, Credentials);
36
+ return Credentials;
46
37
  }
47
38
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,WAAW,GAAG,+BAA+B,CAAC;AAEpD,MAAM,UAAU,cAAc,CAC5B,cAAsB,EACtB,UAA2C,EAAE;IAE7C,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,WAAW,GAAG,2BAA2B,mBAAmB,2BAA2B,CAAC;IAC9F,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,UAAU;QACjD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjC,MAAM,YAAY,GAAG;QACnB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,4BAA4B;YAC5C,cAAc,EAAE,iCAAiC;SAClD;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;KACzC,CAAC;IAEF,OAAO,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC;SACpC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SACtC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;QAChC,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,4BAA4B;gBAC5C,cAAc,EAAE,qDAAqD;aACtE;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;SACrC,CAAC;QACF,OAAO,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SACtC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACtC,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,WAAW,GAAG,+BAA+B,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,cAAsB,EACtB,UAA2C,EAAE;IAE7C,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,WAAW,GAAG,2BAA2B,mBAAmB,2BAA2B,CAAC;IAC9F,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,UAAU;QAAE,OAAO,MAAM,CAAC;IAEnE,MAAM,YAAY,GAAG;QACnB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,4BAA4B;YAC5C,cAAc,EAAE,iCAAiC;SAClD;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;KACzC,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC7D,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;QACrB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;KAC3C;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,kBAAkB,GAAG;QACzB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,4BAA4B;YAC5C,cAAc,EAAE,qDAAqD;SACtE;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;KACrC,CAAC;IAEF,MAAM,sBAAsB,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC5E,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;KACpD;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACtC,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1,31 +1,31 @@
1
1
  import { formatTelemetryAttributes } from './format-telemetry-attributes';
2
2
  import { formatTelemetryMetrics } from './format-telemetry-metrics';
3
+ import { AMAZON_EVENT_ATTRIBUTE_KEYS, } from './types';
3
4
  export function createEventLog({ event = {}, dimensionLookup = {}, metricLookup = {}, }) {
4
- var _a, _b;
5
+ var _a, _b, _c;
6
+ const acceptedAttributeKeys = new Set(AMAZON_EVENT_ATTRIBUTE_KEYS);
5
7
  const { pathname: eventPathname, eventType = 'other' } = event;
6
8
  const metrics = formatTelemetryMetrics(event, metricLookup);
7
- const eventAttributes = formatTelemetryAttributes({
8
- telemetryData: Object.assign({ eventType }, event),
9
+ const formattedEventAttributes = formatTelemetryAttributes({
10
+ telemetryData: Object.assign({}, event),
9
11
  dimensionLookup,
10
- excludeKeys: [
11
- 'workflow',
12
- 'pathname',
13
- ...Object.keys(metrics),
14
- ...Object.keys(metricLookup),
15
- ],
16
12
  });
17
- const telemetryPayload = Object.assign(Object.assign({ name: eventType }, eventAttributes), metrics);
13
+ const eventAttributes = Object.fromEntries(Object.entries(formattedEventAttributes).filter(([key]) => {
14
+ return acceptedAttributeKeys.has(key);
15
+ }));
16
+ const telemetryPayload = Object.assign(Object.assign(Object.assign({}, eventAttributes), metrics), { name: eventType });
18
17
  // Set browser properties if available
19
- if (typeof document !== 'undefined' && document.referrer) {
18
+ if (typeof document !== 'undefined' &&
19
+ document.referrer &&
20
+ !telemetryPayload.referrer) {
20
21
  telemetryPayload.referrer = document.referrer;
21
22
  }
22
23
  if (typeof window !== 'undefined' && !telemetryPayload.hostname) {
23
24
  telemetryPayload.hostname = (_a = window.location) === null || _a === void 0 ? void 0 : _a.hostname;
24
25
  }
25
- telemetryPayload.path =
26
- typeof window !== 'undefined' && window.location.pathname
27
- ? (_b = window.location) === null || _b === void 0 ? void 0 : _b.pathname
28
- : eventPathname;
26
+ (_b = telemetryPayload.path) !== null && _b !== void 0 ? _b : (telemetryPayload.path = typeof window !== 'undefined' && window.location.pathname
27
+ ? (_c = window.location) === null || _c === void 0 ? void 0 : _c.pathname
28
+ : eventPathname);
29
29
  return telemetryPayload;
30
30
  }
31
31
  //# sourceMappingURL=create-event-log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-event-log.js","sourceRoot":"","sources":["../../src/create-event-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,GAAG,EAAe,EACvB,eAAe,GAAG,EAAE,EACpB,YAAY,GAAG,EAAE,GAKlB;;IACC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,yBAAyB,CAAC;QAChD,aAAa,kBAAI,SAAS,IAAK,KAAK,CAAE;QACtC,eAAe;QACf,WAAW,EAAE;YACX,UAAU;YACV,UAAU;YACV,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SAC7B;KACF,CAAC,CAAC;IAEH,MAAM,gBAAgB,iCACpB,IAAI,EAAE,SAAS,IACZ,eAAe,GACf,OAAO,CACX,CAAC;IAEF,sCAAsC;IACtC,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,QAAQ,EAAE;QACxD,gBAAgB,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;KAC/C;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC/D,gBAAgB,CAAC,QAAQ,GAAG,MAAA,MAAM,CAAC,QAAQ,0CAAE,QAAQ,CAAC;KACvD;IAED,gBAAgB,CAAC,IAAI;QACnB,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ;YACvD,CAAC,CAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,QAAQ;YAC3B,CAAC,CAAC,aAAa,CAAC;IAEpB,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"create-event-log.js","sourceRoot":"","sources":["../../src/create-event-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EACL,2BAA2B,GAG5B,MAAM,SAAS,CAAC;AAEjB,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,GAAG,EAAqB,EAC7B,eAAe,GAAG,EAAE,EACpB,YAAY,GAAG,EAAE,GAKlB;;IACC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAS,2BAA2B,CAAC,CAAC;IAC3E,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,wBAAwB,GAAG,yBAAyB,CAAC;QACzD,aAAa,oBAAO,KAAK,CAAE;QAC3B,eAAe;KAChB,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CACxC,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE;QACxD,OAAO,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC,CACH,CAAC;IACF,MAAM,gBAAgB,iDACjB,eAAe,GACf,OAAO,KACV,IAAI,EAAE,SAAS,GAChB,CAAC;IAEF,sCAAsC;IACtC,IACE,OAAO,QAAQ,KAAK,WAAW;QAC/B,QAAQ,CAAC,QAAQ;QACjB,CAAC,gBAAgB,CAAC,QAAQ,EAC1B;QACA,gBAAgB,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;KAC/C;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC/D,gBAAgB,CAAC,QAAQ,GAAG,MAAA,MAAM,CAAC,QAAQ,0CAAE,QAAQ,CAAC;KACvD;IAED,MAAA,gBAAgB,CAAC,IAAI,oCAArB,gBAAgB,CAAC,IAAI,GACnB,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ;QACvD,CAAC,CAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,QAAQ;QAC3B,CAAC,CAAC,aAAa,EAAC;IAEpB,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
@@ -35,7 +35,6 @@ describe('Window defined - Browser', () => {
35
35
  action: 'bar',
36
36
  category: 'foo',
37
37
  dimension6: 'abcdef0123456789',
38
- eventType: 'download',
39
38
  hostname: 'https://hostname.com',
40
39
  label: 'buzz',
41
40
  path: '/path/name',
@@ -69,7 +68,6 @@ describe('Window defined - Browser', () => {
69
68
  action: 'bar',
70
69
  category: 'foo',
71
70
  dimension6: 'abcdef0123456789',
72
- eventType: 'download',
73
71
  hostname: 'https://hostname.com',
74
72
  label: 'buzz',
75
73
  path: '/path/name',
@@ -104,7 +102,6 @@ describe('Window defined - Browser', () => {
104
102
  action: 'bar',
105
103
  category: 'foo',
106
104
  dimension6: 'abcdef0123456789',
107
- eventType: 'other',
108
105
  hostname: 'https://hostname.com',
109
106
  label: 'buzz',
110
107
  path: '/path/name',
@@ -126,13 +123,62 @@ describe('Window defined - Browser', () => {
126
123
  };
127
124
  const result = createEventLog({ event, dimensionLookup, metricLookup });
128
125
  expect(result).toEqual({
129
- eventType: 'other',
130
126
  hostname: 'https://hostname.com',
131
127
  path: '/path/name',
132
128
  referrer: 'https://foo-bar.com',
133
129
  name: 'other',
134
130
  });
135
131
  });
132
+ test('createEventLog keeps workflow eventType as tracking name', () => {
133
+ const event = {
134
+ name: 'item panel action',
135
+ eventType: 'workflow',
136
+ category: 'item panel action',
137
+ action: 'start',
138
+ details: 'table',
139
+ duration: 0,
140
+ };
141
+ const result = createEventLog({
142
+ event,
143
+ dimensionLookup: {},
144
+ metricLookup: {},
145
+ });
146
+ expect(result).toEqual({
147
+ category: 'item panel action',
148
+ action: 'start',
149
+ details: 'table',
150
+ hostname: 'https://hostname.com',
151
+ path: '/path/name',
152
+ referrer: 'https://foo-bar.com',
153
+ name: 'workflow',
154
+ duration: 0,
155
+ });
156
+ expect(result).not.toHaveProperty('eventType');
157
+ });
158
+ test('createEventLog drops attributes outside the accepted allowlist', () => {
159
+ const event = {
160
+ eventType: 'download',
161
+ category: 'foo',
162
+ action: 'bar',
163
+ unknownField: 'drop-me',
164
+ workflowId: 'abc123',
165
+ };
166
+ const result = createEventLog({
167
+ event,
168
+ dimensionLookup: {},
169
+ metricLookup: {},
170
+ });
171
+ expect(result).toEqual({
172
+ category: 'foo',
173
+ action: 'bar',
174
+ workflowId: 'abc123',
175
+ hostname: 'https://hostname.com',
176
+ path: '/path/name',
177
+ referrer: 'https://foo-bar.com',
178
+ name: 'download',
179
+ });
180
+ expect(result).not.toHaveProperty('unknownField');
181
+ });
136
182
  });
137
183
  describe('Window undefined - Server', () => {
138
184
  beforeEach(() => {
@@ -164,7 +210,6 @@ describe('Window undefined - Server', () => {
164
210
  action: 'bar',
165
211
  category: 'foo',
166
212
  dimension6: 'abcdef0123456789',
167
- eventType: 'download',
168
213
  label: 'buzz',
169
214
  name: 'download',
170
215
  count: 4,
@@ -196,7 +241,6 @@ describe('Window undefined - Server', () => {
196
241
  action: 'bar',
197
242
  category: 'foo',
198
243
  dimension6: 'abcdef0123456789',
199
- eventType: 'download',
200
244
  label: 'buzz',
201
245
  name: 'download',
202
246
  count: 4,
@@ -228,7 +272,6 @@ describe('Window undefined - Server', () => {
228
272
  action: 'bar',
229
273
  category: 'foo',
230
274
  dimension6: 'abcdef0123456789',
231
- eventType: 'download',
232
275
  label: 'buzz',
233
276
  name: 'download',
234
277
  count: 4,
@@ -262,7 +305,6 @@ describe('Window undefined - Server', () => {
262
305
  action: 'bar',
263
306
  category: 'foo',
264
307
  dimension6: 'abcdef0123456789',
265
- eventType: 'download',
266
308
  label: 'buzz',
267
309
  name: 'download',
268
310
  count: 4,
@@ -1 +1 @@
1
- {"version":3,"file":"create-event-log.test.js","sourceRoot":"","sources":["../../src/create-event-log.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-event-log.test.js","sourceRoot":"","sources":["../../src/create-event-log.test.ts"],"names":[],"mappings":"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"}
@@ -5,15 +5,10 @@ export function createPageViewLog({ page, previousPage = {}, options = {}, dimen
5
5
  const attributes = formatTelemetryAttributes({
6
6
  telemetryData: options,
7
7
  dimensionLookup,
8
- excludeKeys: [
9
- 'workflow',
10
- ...Object.keys(metrics),
11
- ...Object.keys(metricLookup),
12
- ],
13
8
  });
14
9
  const { referrer, title } = document || {};
15
10
  const { hostname, pathname } = window && window.location ? window.location : {};
16
11
  return Object.assign(Object.assign({ name: 'pageView', referrer,
17
- hostname, path: page || pathname, pageUrl: page || pathname, pageName: title, previousPageUrl: previousPage.pageUrl, previousPageName: previousPage.pageName }, attributes), metrics);
12
+ hostname, path: page || pathname, pageUrl: page || pathname, pageName: title, previousPageUrl: previousPage === null || previousPage === void 0 ? void 0 : previousPage.pageUrl, previousPageName: previousPage === null || previousPage === void 0 ? void 0 : previousPage.pageName }, attributes), metrics);
18
13
  }
19
14
  //# sourceMappingURL=create-page-view-log.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-page-view-log.js","sourceRoot":"","sources":["../../src/create-page-view-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,EACJ,YAAY,GAAG,EAAE,EACjB,OAAO,GAAG,EAAE,EACZ,eAAe,GAAG,EAAE,EACpB,YAAY,GAAG,EAAE,GAOlB;IACC,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,yBAAyB,CAAC;QAC3C,aAAa,EAAE,OAAO;QACtB,eAAe;QACf,WAAW,EAAE;YACX,UAAU;YACV,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SAC7B;KACF,CAAC,CAAC;IAEH,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;IAC3C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAC1B,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAU,CAAC;IAE5D,qCACE,IAAI,EAAE,UAAU,EAChB,QAAQ;QACR,QAAQ,EACR,IAAI,EAAE,IAAI,IAAI,QAAQ,EACtB,OAAO,EAAE,IAAI,IAAI,QAAQ,EACzB,QAAQ,EAAE,KAAK,EACf,eAAe,EAAE,YAAY,CAAC,OAAO,EACrC,gBAAgB,EAAE,YAAY,CAAC,QAAQ,IACpC,UAAU,GACV,OAAO,EACV;AACJ,CAAC"}
1
+ {"version":3,"file":"create-page-view-log.js","sourceRoot":"","sources":["../../src/create-page-view-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,EACJ,YAAY,GAAG,EAAE,EACjB,OAAO,GAAG,EAAE,EACZ,eAAe,GAAG,EAAE,EACpB,YAAY,GAAG,EAAE,GAOlB;IACC,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,yBAAyB,CAAC;QAC3C,aAAa,EAAE,OAAO;QACtB,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;IAC3C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAC1B,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAU,CAAC;IAE5D,qCACE,IAAI,EAAE,UAAU,EAChB,QAAQ;QACR,QAAQ,EACR,IAAI,EAAE,IAAI,IAAI,QAAQ,EACtB,OAAO,EAAE,IAAI,IAAI,QAAQ,EACzB,QAAQ,EAAE,KAAK,EACf,eAAe,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,EACtC,gBAAgB,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,IACrC,UAAU,GACV,OAAO,EACV;AACJ,CAAC"}
@@ -1,13 +1,17 @@
1
- export function formatTelemetryAttributes({ telemetryData, dimensionLookup = {}, excludeKeys = [], }) {
1
+ import { AMAZON_EVENT_ATTRIBUTE_KEYS } from './types';
2
+ function isAmazonEventAttributeKey(key) {
3
+ return AMAZON_EVENT_ATTRIBUTE_KEYS.includes(key);
4
+ }
5
+ export function formatTelemetryAttributes({ telemetryData, dimensionLookup = {}, }) {
2
6
  return Object.keys(telemetryData)
3
7
  .filter((key) => {
4
- return !excludeKeys.includes(key);
8
+ return isAmazonEventAttributeKey(key);
5
9
  })
6
10
  .map((key) => {
7
11
  if (dimensionLookup[key]) {
8
12
  return {
9
13
  key: getCustomDimensionKey(dimensionLookup, key),
10
- value: telemetryData[key],
14
+ value: getValue(telemetryData, key),
11
15
  };
12
16
  }
13
17
  return {
@@ -24,7 +28,7 @@ function getValue(data, key) {
24
28
  if (key === 'json') {
25
29
  return data[key] ? JSON.stringify(data[key]) : 'null';
26
30
  }
27
- return data[key] === undefined ? 'null' : data[key].toString();
31
+ return data[key] === undefined ? 'null' : String(data[key]);
28
32
  }
29
33
  function getCustomDimensionKey(lookup, key) {
30
34
  return `dimension${lookup[key]}`;
@@ -1 +1 @@
1
- {"version":3,"file":"format-telemetry-attributes.js","sourceRoot":"","sources":["../../src/format-telemetry-attributes.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB,CAAC,EACxC,aAAa,EACb,eAAe,GAAG,EAAE,EACpB,WAAW,GAAG,EAAE,GAKjB;IACC,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;SAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;YACxB,OAAO;gBACL,GAAG,EAAE,qBAAqB,CAAC,eAAe,EAAE,GAAG,CAAC;gBAChD,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC;aAC1B,CAAC;SACH;QAED,OAAO;YACL,GAAG;YACH,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;SACpC,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAyB,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACtD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAED,SAAS,QAAQ,CAAC,IAAyB,EAAE,GAAW;IACtD,IAAI,GAAG,KAAK,MAAM,EAAE;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;KACvD;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA8B,EAC9B,GAAW;IAEX,OAAO,YAAY,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"format-telemetry-attributes.js","sourceRoot":"","sources":["../../src/format-telemetry-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAwB,MAAM,SAAS,CAAC;AAE5E,SAAS,yBAAyB,CAAC,GAAW;IAC5C,OAAQ,2BAAiD,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EACxC,aAAa,EACb,eAAe,GAAG,EAAE,GAIrB;IACC,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;SAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,OAAO,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;YACxB,OAAO;gBACL,GAAG,EAAE,qBAAqB,CAAC,eAAe,EAAE,GAAG,CAAC;gBAChD,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;aACpC,CAAC;SACH;QAED,OAAO;YACL,GAAG;YACH,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;SACpC,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAyB,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACtD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAED,SAAS,QAAQ,CAAC,IAA6B,EAAE,GAAW;IAC1D,IAAI,GAAG,KAAK,MAAM,EAAE;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;KACvD;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA8B,EAC9B,GAAW;IAEX,OAAO,YAAY,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACnC,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,33 +1,55 @@
1
- import { getCredentials } from './auth';
2
1
  import { createEventLog } from './create-event-log';
3
2
  import { createPageViewLog } from './create-page-view-log';
4
3
  import Analytics from 'analytics';
5
4
  import awsPinpointPlugin from '@analytics/aws-pinpoint';
5
+ import { getCredentials } from './auth';
6
6
  import { setPortalItemAccessPermissions } from './set-portal-item-access-permissions';
7
7
  import { getPortalItemAccessPermissions } from './get-portal-item-access-permissions';
8
+ import { createEsriPlugin } from './plugins/esri';
9
+ // October 31, 2026
10
+ const PINPOINT_RETIREMENT_CUTOFF_UTC_MS = Date.parse('2026-10-31T00:00:00.000Z');
8
11
  /**
9
12
  * Amazon Telemetry
10
- * Supports Amazon Pinpoint
13
+ * Supports Pinpoint and Esri endpoint modes
11
14
  */
12
15
  export class Amazon {
13
16
  constructor(options) {
14
17
  this.name = 'amazon';
18
+ this.previousPage = {};
15
19
  this.isInitialized = false;
16
- const { app = {}, fips, userPoolID } = options;
17
- this.analytics = Analytics({
18
- app: app.name,
19
- version: app.version,
20
- plugins: [
21
- awsPinpointPlugin({
22
- fips,
23
- pinpointAppId: app.id,
24
- getCredentials: () => {
25
- return getCredentials(userPoolID, { fips });
26
- },
27
- }),
28
- ],
29
- });
20
+ this.appConfig = {};
21
+ this.isPinpointRetired = (nowMs = Date.now()) => nowMs >= PINPOINT_RETIREMENT_CUTOFF_UTC_MS;
22
+ // default to `esri` mode if not specified
23
+ const { app = {}, fips, userPoolID, mode = 'esri' } = options;
30
24
  Object.assign(this, options);
25
+ this.appConfig = app;
26
+ this.userPoolIDConfig = userPoolID;
27
+ this.fipsConfig = fips;
28
+ /** @deprecated Pinpoint is retiring on October 31, 2026. After this point all traffic will be routed to the in-house endpoint */
29
+ if (mode === 'pinpoint' && !this.isPinpointRetired()) {
30
+ this.mode = 'pinpoint';
31
+ this.analytics = Analytics({
32
+ app: app.name,
33
+ version: app.version,
34
+ plugins: [
35
+ awsPinpointPlugin({
36
+ fips,
37
+ pinpointAppId: app.id,
38
+ getCredentials: () => getCredentials(userPoolID, { fips }),
39
+ }),
40
+ ],
41
+ });
42
+ return;
43
+ }
44
+ this.mode = 'esri';
45
+ this.analytics = createEsriPlugin({
46
+ trackerName: this.name,
47
+ appName: this.appConfig.name,
48
+ appVersion: this.appConfig.version,
49
+ appId: this.appConfig.id,
50
+ userPoolID: this.userPoolIDConfig,
51
+ fips: this.fipsConfig,
52
+ });
31
53
  }
32
54
  init() {
33
55
  // if already initialized, return
@@ -58,16 +80,18 @@ export class Amazon {
58
80
  });
59
81
  const { pageUrl, pageName } = telemetryPayload;
60
82
  this.previousPage = { pageUrl, pageName };
61
- this.analytics.track('pageView', telemetryPayload);
83
+ const result = this.analytics.track('pageView', telemetryPayload);
84
+ return typeof result === 'boolean' ? result : true;
62
85
  }
63
- logEvent(event = {}) {
86
+ logEvent(event = {}, trackOptions) {
64
87
  const telemetryPayload = createEventLog({
65
88
  event,
66
89
  dimensionLookup: this.dimensions,
67
90
  metricLookup: this.metrics,
68
91
  });
69
92
  const { name } = telemetryPayload;
70
- this.analytics.track(name, telemetryPayload);
93
+ const result = this.analytics.track(name, telemetryPayload, trackOptions);
94
+ return typeof result === 'boolean' ? result : true;
71
95
  }
72
96
  }
73
97
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,SAAgC,MAAM,WAAW,CAAC;AACzD,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AAYxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF;;;GAGG;AACH,MAAM,OAAO,MAAM;IASjB,YAAY,OAA+B;QAP3C,SAAI,GAAW,QAAQ,CAAC;QAKxB,kBAAa,GAAG,KAAK,CAAC;QAGpB,MAAM,EAAE,GAAG,GAAG,EAAe,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YACzB,GAAG,EAAE,GAAG,CAAC,IAAI;YACb,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE;gBACP,iBAAiB,CAAC;oBAChB,IAAI;oBACJ,aAAa,EAAE,GAAG,CAAC,EAAE;oBACrB,cAAc,EAAE,GAAG,EAAE;wBACnB,OAAO,cAAc,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC9C,CAAC;iBACF,CAAC;aACH;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI;QACF,iCAAiC;QACjC,IAAI,IAAI,CAAC,aAAa,EAAE;YAAE,OAAO;SAAE;QAEnC,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,8BAA8B,CAAC;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,8BAA8B,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,OAAyB;QACjD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;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,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,QAAsB,EAAE;QAC/B,MAAM,gBAAgB,GAAG,cAAc,CAAC;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,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC/C,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}