@aws-amplify/analytics 7.0.14 → 7.0.15-node-20-action.f356afc.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/dist/cjs/apis/disable.js.map +1 -1
- package/dist/cjs/apis/enable.js.map +1 -1
- package/dist/cjs/apis/index.js.map +1 -1
- package/dist/cjs/errors/AnalyticsError.js.map +1 -1
- package/dist/cjs/errors/assertValidationError.js.map +1 -1
- package/dist/cjs/errors/index.js.map +1 -1
- package/dist/cjs/errors/validation.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/kinesis/apis/flushEvents.js.map +1 -1
- package/dist/cjs/providers/kinesis/apis/index.js.map +1 -1
- package/dist/cjs/providers/kinesis/apis/record.js.map +1 -1
- package/dist/cjs/providers/kinesis/index.js.map +1 -1
- package/dist/cjs/providers/kinesis/types/buffer.js.map +1 -1
- package/dist/cjs/providers/kinesis/types/index.js.map +1 -1
- package/dist/cjs/providers/kinesis/types/inputs.js.map +1 -1
- package/dist/cjs/providers/kinesis/utils/constants.js.map +1 -1
- package/dist/cjs/providers/kinesis/utils/getEventBuffer.js.map +1 -1
- package/dist/cjs/providers/kinesis/utils/resolveConfig.js.map +1 -1
- package/dist/cjs/providers/kinesis-firehose/apis/flushEvents.js.map +1 -1
- package/dist/cjs/providers/kinesis-firehose/apis/index.js.map +1 -1
- package/dist/cjs/providers/kinesis-firehose/apis/record.js.map +1 -1
- package/dist/cjs/providers/kinesis-firehose/index.js.map +1 -1
- package/dist/cjs/providers/kinesis-firehose/types/buffer.js.map +1 -1
- package/dist/cjs/providers/kinesis-firehose/types/index.js.map +1 -1
- package/dist/cjs/providers/kinesis-firehose/types/inputs.js.map +1 -1
- package/dist/cjs/providers/kinesis-firehose/utils/constants.js.map +1 -1
- package/dist/cjs/providers/kinesis-firehose/utils/getEventBuffer.js.map +1 -1
- package/dist/cjs/providers/kinesis-firehose/utils/index.js.map +1 -1
- package/dist/cjs/providers/kinesis-firehose/utils/resolveConfig.js.map +1 -1
- package/dist/cjs/providers/personalize/apis/flushEvents.js.map +1 -1
- package/dist/cjs/providers/personalize/apis/index.js.map +1 -1
- package/dist/cjs/providers/personalize/apis/record.js.map +1 -1
- package/dist/cjs/providers/personalize/index.js.map +1 -1
- package/dist/cjs/providers/personalize/types/buffer.js.map +1 -1
- package/dist/cjs/providers/personalize/types/index.js.map +1 -1
- package/dist/cjs/providers/personalize/types/inputs.js.map +1 -1
- package/dist/cjs/providers/personalize/utils/autoTrackMedia.js.map +1 -1
- package/dist/cjs/providers/personalize/utils/cachedSession.js.map +1 -1
- package/dist/cjs/providers/personalize/utils/constants.js.map +1 -1
- package/dist/cjs/providers/personalize/utils/getEventBuffer.js.map +1 -1
- package/dist/cjs/providers/personalize/utils/index.js.map +1 -1
- package/dist/cjs/providers/personalize/utils/resolveConfig.js.map +1 -1
- package/dist/cjs/providers/pinpoint/apis/configureAutoTrack.js.map +1 -1
- package/dist/cjs/providers/pinpoint/apis/flushEvents.js.map +1 -1
- package/dist/cjs/providers/pinpoint/apis/identifyUser.js.map +1 -1
- package/dist/cjs/providers/pinpoint/apis/index.js.map +1 -1
- package/dist/cjs/providers/pinpoint/apis/record.js.map +1 -1
- package/dist/cjs/providers/pinpoint/index.js.map +1 -1
- package/dist/cjs/providers/pinpoint/types/index.js.map +1 -1
- package/dist/cjs/providers/pinpoint/types/inputs.js.map +1 -1
- package/dist/cjs/providers/pinpoint/types/options.js.map +1 -1
- package/dist/cjs/providers/pinpoint/utils/index.js.map +1 -1
- package/dist/cjs/providers/pinpoint/utils/resolveConfig.js.map +1 -1
- package/dist/cjs/providers/pinpoint/utils/resolveCredentials.js.map +1 -1
- package/dist/cjs/trackers/EventTracker.js.map +1 -1
- package/dist/cjs/trackers/PageViewTracker.js.map +1 -1
- package/dist/cjs/trackers/SessionTracker.js.map +1 -1
- package/dist/cjs/trackers/SessionTracker.native.js.map +1 -1
- package/dist/cjs/trackers/index.js.map +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/inputs.js.map +1 -1
- package/dist/cjs/types/kinesis.js.map +1 -1
- package/dist/cjs/types/options.js.map +1 -1
- package/dist/cjs/types/trackers.js.map +1 -1
- package/dist/cjs/utils/eventBuffer/EventBuffer.js.map +1 -1
- package/dist/cjs/utils/eventBuffer/index.js.map +1 -1
- package/dist/cjs/utils/eventBuffer/types.js.map +1 -1
- package/dist/cjs/utils/groupBy.js.map +1 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/resolveCredentials.js.map +1 -1
- package/dist/cjs/utils/statusHelpers.js.map +1 -1
- package/dist/cjs/utils/trackerConfigHelpers.js.map +1 -1
- package/dist/cjs/utils/trackerConfigHelpers.native.js.map +1 -1
- package/dist/cjs/utils/trackerHelpers.js.map +1 -1
- package/dist/cjs/utils/userAgent.js.map +1 -1
- package/dist/esm/apis/disable.mjs.map +1 -1
- package/dist/esm/apis/enable.mjs.map +1 -1
- package/dist/esm/errors/AnalyticsError.mjs.map +1 -1
- package/dist/esm/errors/assertValidationError.mjs.map +1 -1
- package/dist/esm/errors/validation.mjs.map +1 -1
- package/dist/esm/providers/kinesis/apis/flushEvents.mjs.map +1 -1
- package/dist/esm/providers/kinesis/apis/record.mjs.map +1 -1
- package/dist/esm/providers/kinesis/utils/constants.mjs.map +1 -1
- package/dist/esm/providers/kinesis/utils/getEventBuffer.mjs.map +1 -1
- package/dist/esm/providers/kinesis/utils/resolveConfig.mjs.map +1 -1
- package/dist/esm/providers/kinesis-firehose/apis/flushEvents.mjs.map +1 -1
- package/dist/esm/providers/kinesis-firehose/apis/record.mjs.map +1 -1
- package/dist/esm/providers/kinesis-firehose/utils/constants.mjs.map +1 -1
- package/dist/esm/providers/kinesis-firehose/utils/getEventBuffer.mjs.map +1 -1
- package/dist/esm/providers/kinesis-firehose/utils/resolveConfig.mjs.map +1 -1
- package/dist/esm/providers/personalize/apis/flushEvents.mjs.map +1 -1
- package/dist/esm/providers/personalize/apis/record.mjs.map +1 -1
- package/dist/esm/providers/personalize/utils/autoTrackMedia.mjs.map +1 -1
- package/dist/esm/providers/personalize/utils/cachedSession.mjs.map +1 -1
- package/dist/esm/providers/personalize/utils/constants.mjs.map +1 -1
- package/dist/esm/providers/personalize/utils/getEventBuffer.mjs.map +1 -1
- package/dist/esm/providers/personalize/utils/resolveConfig.mjs.map +1 -1
- package/dist/esm/providers/pinpoint/apis/configureAutoTrack.mjs.map +1 -1
- package/dist/esm/providers/pinpoint/apis/flushEvents.mjs.map +1 -1
- package/dist/esm/providers/pinpoint/apis/identifyUser.mjs.map +1 -1
- package/dist/esm/providers/pinpoint/apis/record.mjs.map +1 -1
- package/dist/esm/providers/pinpoint/utils/resolveConfig.mjs.map +1 -1
- package/dist/esm/providers/pinpoint/utils/resolveCredentials.mjs.map +1 -1
- package/dist/esm/trackers/EventTracker.mjs.map +1 -1
- package/dist/esm/trackers/PageViewTracker.mjs.map +1 -1
- package/dist/esm/trackers/SessionTracker.mjs.map +1 -1
- package/dist/esm/trackers/SessionTracker.native.mjs.map +1 -1
- package/dist/esm/utils/eventBuffer/EventBuffer.mjs.map +1 -1
- package/dist/esm/utils/groupBy.mjs.map +1 -1
- package/dist/esm/utils/resolveCredentials.mjs.map +1 -1
- package/dist/esm/utils/statusHelpers.mjs.map +1 -1
- package/dist/esm/utils/trackerConfigHelpers.mjs.map +1 -1
- package/dist/esm/utils/trackerConfigHelpers.native.mjs.map +1 -1
- package/dist/esm/utils/trackerHelpers.mjs.map +1 -1
- package/dist/esm/utils/userAgent.mjs.map +1 -1
- package/package.json +110 -109
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusHelpers.js","sources":["
|
|
1
|
+
{"version":3,"file":"statusHelpers.js","sources":["../../../src/utils/statusHelpers.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAnalyticsEnabled = exports.disableAnalytics = exports.enableAnalytics = void 0;\nlet analyticsEnabled = true;\nconst enableAnalytics = () => {\n analyticsEnabled = true;\n};\nexports.enableAnalytics = enableAnalytics;\nconst disableAnalytics = () => {\n analyticsEnabled = false;\n};\nexports.disableAnalytics = disableAnalytics;\n/**\n * Returns the current status of the Analytics category.\n */\nconst isAnalyticsEnabled = () => analyticsEnabled;\nexports.isAnalyticsEnabled = isAnalyticsEnabled;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC;AACzF,IAAI,gBAAgB,GAAG,IAAI,CAAC;AAC5B,MAAM,eAAe,GAAG,MAAM;AAC9B,IAAI,gBAAgB,GAAG,IAAI,CAAC;AAC5B,CAAC,CAAC;AACF,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;AAC1C,MAAM,gBAAgB,GAAG,MAAM;AAC/B,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAC7B,CAAC,CAAC;AACF,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AAC5C;AACA;AACA;AACA,MAAM,kBAAkB,GAAG,MAAM,gBAAgB,CAAC;AAClD,OAAO,CAAC,kBAAkB,GAAG,kBAAkB;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trackerConfigHelpers.js","sources":["
|
|
1
|
+
{"version":3,"file":"trackerConfigHelpers.js","sources":["../../../src/utils/trackerConfigHelpers.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateTrackerConfiguration = void 0;\nconst errors_1 = require(\"../errors\");\n/**\n * Validates tracker configuration.\n */\nconst validateTrackerConfiguration = (input) => {\n (0, errors_1.assertValidationError)(input.type === 'event' ||\n input.type === 'pageView' ||\n input.type === 'session', errors_1.AnalyticsValidationErrorCode.InvalidTracker);\n};\nexports.validateTrackerConfiguration = validateTrackerConfiguration;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,4BAA4B,GAAG,KAAK,CAAC,CAAC;AAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACtC;AACA;AACA;AACA,MAAM,4BAA4B,GAAG,CAAC,KAAK,KAAK;AAChD,IAAI,IAAI,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO;AAC9D,QAAQ,KAAK,CAAC,IAAI,KAAK,UAAU;AACjC,QAAQ,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,QAAQ,CAAC,4BAA4B,CAAC,cAAc,CAAC,CAAC;AACxF,CAAC,CAAC;AACF,OAAO,CAAC,4BAA4B,GAAG,4BAA4B;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trackerConfigHelpers.native.js","sources":["
|
|
1
|
+
{"version":3,"file":"trackerConfigHelpers.native.js","sources":["../../../src/utils/trackerConfigHelpers.native.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateTrackerConfiguration = void 0;\nconst errors_1 = require(\"../errors\");\n/**\n * Validates tracker configuration.\n */\nconst validateTrackerConfiguration = (input) => {\n // React Native only supports session tracking\n (0, errors_1.assertValidationError)(input.type === 'session', errors_1.AnalyticsValidationErrorCode.UnsupportedPlatform);\n};\nexports.validateTrackerConfiguration = validateTrackerConfiguration;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,4BAA4B,GAAG,KAAK,CAAC,CAAC;AAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACtC;AACA;AACA;AACA,MAAM,4BAA4B,GAAG,CAAC,KAAK,KAAK;AAChD;AACA,IAAI,IAAI,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,QAAQ,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,CAAC;AAC7H,CAAC,CAAC;AACF,OAAO,CAAC,4BAA4B,GAAG,4BAA4B;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trackerHelpers.js","sources":["
|
|
1
|
+
{"version":3,"file":"trackerHelpers.js","sources":["../../../src/utils/trackerHelpers.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.updateProviderTrackers = void 0;\nconst trackers_1 = require(\"../trackers\");\n/**\n * Updates a provider's trackers as appropriate for the provided auto-track configuration.\n *\n * @remark\n * This utility will mutate the provider's configured trackers via `providerTrackers`.\n */\nconst updateProviderTrackers = (input, providerEventRecorder, providerTrackers) => {\n let trackerInstance;\n const trackerType = input.type;\n const currentTracker = providerTrackers[trackerType];\n // Check if the tracker was disabled & should be cleaned up\n if (!input.enable) {\n if (currentTracker) {\n currentTracker.cleanup();\n delete providerTrackers[trackerType];\n }\n return;\n }\n // Re-configure the existing tracker, or create & configure an instance if it doesn't exist yet\n if (currentTracker) {\n currentTracker.configure(providerEventRecorder, input.options);\n return;\n }\n // Create a new tracker instance for the type\n if (trackerType === 'event') {\n trackerInstance = new trackers_1.EventTracker(providerEventRecorder, input.options);\n }\n else if (trackerType === 'pageView') {\n trackerInstance = new trackers_1.PageViewTracker(providerEventRecorder, input.options);\n }\n else if (trackerType === 'session') {\n trackerInstance = new trackers_1.SessionTracker(providerEventRecorder, input.options);\n }\n if (trackerInstance) {\n providerTrackers[trackerType] = trackerInstance;\n }\n};\nexports.updateProviderTrackers = updateProviderTrackers;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,sBAAsB,GAAG,KAAK,CAAC,CAAC;AACxC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,KAAK;AACnF,IAAI,IAAI,eAAe,CAAC;AACxB,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;AACnC,IAAI,MAAM,cAAc,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACzD;AACA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AACvB,QAAQ,IAAI,cAAc,EAAE;AAC5B,YAAY,cAAc,CAAC,OAAO,EAAE,CAAC;AACrC,YAAY,OAAO,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACjD,SAAS;AACT,QAAQ,OAAO;AACf,KAAK;AACL;AACA,IAAI,IAAI,cAAc,EAAE;AACxB,QAAQ,cAAc,CAAC,SAAS,CAAC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACvE,QAAQ,OAAO;AACf,KAAK;AACL;AACA,IAAI,IAAI,WAAW,KAAK,OAAO,EAAE;AACjC,QAAQ,eAAe,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5F,KAAK;AACL,SAAS,IAAI,WAAW,KAAK,UAAU,EAAE;AACzC,QAAQ,eAAe,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/F,KAAK;AACL,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE;AACxC,QAAQ,eAAe,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAC9F,KAAK;AACL,IAAI,IAAI,eAAe,EAAE;AACzB,QAAQ,gBAAgB,CAAC,WAAW,CAAC,GAAG,eAAe,CAAC;AACxD,KAAK;AACL,CAAC,CAAC;AACF,OAAO,CAAC,sBAAsB,GAAG,sBAAsB;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userAgent.js","sources":["
|
|
1
|
+
{"version":3,"file":"userAgent.js","sources":["../../../src/utils/userAgent.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAnalyticsUserAgentString = exports.getAnalyticsUserAgent = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nfunction getAnalyticsUserAgent(action) {\n return (0, utils_1.getAmplifyUserAgentObject)({\n category: utils_1.Category.Analytics,\n action,\n });\n}\nexports.getAnalyticsUserAgent = getAnalyticsUserAgent;\nfunction getAnalyticsUserAgentString(action) {\n return (0, utils_1.getAmplifyUserAgent)({\n category: utils_1.Category.Analytics,\n action,\n });\n}\nexports.getAnalyticsUserAgentString = getAnalyticsUserAgentString;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,2BAA2B,GAAG,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAC,CAAC;AAC7E;AACA;AACA,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,SAAS,qBAAqB,CAAC,MAAM,EAAE;AACvC,IAAI,OAAO,IAAI,OAAO,CAAC,yBAAyB,EAAE;AAClD,QAAQ,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS;AAC5C,QAAQ,MAAM;AACd,KAAK,CAAC,CAAC;AACP,CAAC;AACD,OAAO,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;AACtD,SAAS,2BAA2B,CAAC,MAAM,EAAE;AAC7C,IAAI,OAAO,IAAI,OAAO,CAAC,mBAAmB,EAAE;AAC5C,QAAQ,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS;AAC5C,QAAQ,MAAM;AACd,KAAK,CAAC,CAAC;AACP,CAAC;AACD,OAAO,CAAC,2BAA2B,GAAG,2BAA2B;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disable.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"disable.mjs","sources":["../../../src/apis/disable.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { disableAnalytics } from '../utils';\n/**\n * Disables the Analytics category.\n *\n * @note\n * When Analytics is disabled events will not be buffered or transmitted to your selected service. Any auto-tracking\n * behavior that you have configured via `configureAutoTrack` will not have any effect while Analytics is disabled.\n */\nexport const disable = disableAnalytics;\n"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,OAAO,GAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enable.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"enable.mjs","sources":["../../../src/apis/enable.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { enableAnalytics } from '../utils';\n/**\n * Enables the Analytics category to permit the transmission of events.\n *\n * @note\n * Analytics is enabled by default. You do not need to call this API unless you have disabled Analytics.\n */\nexport const enable = enableAnalytics;\n"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalyticsError.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"AnalyticsError.mjs","sources":["../../../src/errors/AnalyticsError.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AmplifyError, } from '@aws-amplify/core/internals/utils';\n/**\n * @internal\n */\nexport class AnalyticsError extends AmplifyError {\n constructor(params) {\n super(params);\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n this.constructor = AnalyticsError;\n Object.setPrototypeOf(this, AnalyticsError.prototype);\n }\n}\n"],"names":[],"mappings":";;AAAA;AACA;AAEA;AACA;AACA;AACO,MAAM,cAAc,SAAS,YAAY,CAAC;AACjD,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB,QAAQ,KAAK,CAAC,MAAM,CAAC,CAAC;AACtB;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;AAC1C,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;AAC9D,KAAK;AACL;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertValidationError.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"assertValidationError.mjs","sources":["../../../src/errors/assertValidationError.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AnalyticsError } from './AnalyticsError';\nimport { validationErrorMap } from './validation';\n/**\n * @internal\n */\nexport function assertValidationError(assertion, name, message) {\n const { message: defaultMessage, recoverySuggestion } = validationErrorMap[name];\n if (!assertion) {\n throw new AnalyticsError({\n name,\n message: message ?? defaultMessage,\n recoverySuggestion,\n });\n }\n}\n"],"names":[],"mappings":";;;AAAA;AACA;AAGA;AACA;AACA;AACO,SAAS,qBAAqB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;AAChE,IAAI,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACrF,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,QAAQ,MAAM,IAAI,cAAc,CAAC;AACjC,YAAY,IAAI;AAChB,YAAY,OAAO,EAAE,OAAO,IAAI,cAAc;AAC9C,YAAY,kBAAkB;AAC9B,SAAS,CAAC,CAAC;AACX,KAAK;AACL;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"validation.mjs","sources":["../../../src/errors/validation.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var AnalyticsValidationErrorCode;\n(function (AnalyticsValidationErrorCode) {\n AnalyticsValidationErrorCode[\"NoAppId\"] = \"NoAppId\";\n AnalyticsValidationErrorCode[\"NoCredentials\"] = \"NoCredentials\";\n AnalyticsValidationErrorCode[\"NoEventName\"] = \"NoEventName\";\n AnalyticsValidationErrorCode[\"NoRegion\"] = \"NoRegion\";\n AnalyticsValidationErrorCode[\"InvalidTracker\"] = \"InvalidTracker\";\n AnalyticsValidationErrorCode[\"UnsupportedPlatform\"] = \"UnsupportedPlatform\";\n AnalyticsValidationErrorCode[\"NoTrackingId\"] = \"NoTrackingId\";\n AnalyticsValidationErrorCode[\"InvalidFlushSize\"] = \"InvalidFlushSize\";\n})(AnalyticsValidationErrorCode || (AnalyticsValidationErrorCode = {}));\nexport const validationErrorMap = {\n [AnalyticsValidationErrorCode.NoAppId]: {\n message: 'Missing application id.',\n },\n [AnalyticsValidationErrorCode.NoCredentials]: {\n message: 'Credentials should not be empty.',\n },\n [AnalyticsValidationErrorCode.NoEventName]: {\n message: 'Events must specify a name.',\n },\n [AnalyticsValidationErrorCode.NoRegion]: {\n message: 'Missing region.',\n },\n [AnalyticsValidationErrorCode.InvalidTracker]: {\n message: 'Invalid tracker type specified.',\n },\n [AnalyticsValidationErrorCode.UnsupportedPlatform]: {\n message: 'Only session tracking is supported on React Native.',\n },\n [AnalyticsValidationErrorCode.InvalidFlushSize]: {\n message: 'Invalid FlushSize, it should be smaller than BufferSize',\n },\n [AnalyticsValidationErrorCode.NoTrackingId]: {\n message: 'A trackingId is required to use Amazon Personalize',\n },\n};\n"],"names":[],"mappings":"AAAA;AACA;AACU,IAAC,6BAA6B;AACxC,CAAC,UAAU,4BAA4B,EAAE;AACzC,IAAI,4BAA4B,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AACxD,IAAI,4BAA4B,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;AACpE,IAAI,4BAA4B,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;AAChE,IAAI,4BAA4B,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AAC1D,IAAI,4BAA4B,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;AACtE,IAAI,4BAA4B,CAAC,qBAAqB,CAAC,GAAG,qBAAqB,CAAC;AAChF,IAAI,4BAA4B,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;AAClE,IAAI,4BAA4B,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;AAC1E,CAAC,EAAE,4BAA4B,KAAK,4BAA4B,GAAG,EAAE,CAAC,CAAC,CAAC;AAC5D,MAAC,kBAAkB,GAAG;AAClC,IAAI,CAAC,4BAA4B,CAAC,OAAO,GAAG;AAC5C,QAAQ,OAAO,EAAE,yBAAyB;AAC1C,KAAK;AACL,IAAI,CAAC,4BAA4B,CAAC,aAAa,GAAG;AAClD,QAAQ,OAAO,EAAE,kCAAkC;AACnD,KAAK;AACL,IAAI,CAAC,4BAA4B,CAAC,WAAW,GAAG;AAChD,QAAQ,OAAO,EAAE,6BAA6B;AAC9C,KAAK;AACL,IAAI,CAAC,4BAA4B,CAAC,QAAQ,GAAG;AAC7C,QAAQ,OAAO,EAAE,iBAAiB;AAClC,KAAK;AACL,IAAI,CAAC,4BAA4B,CAAC,cAAc,GAAG;AACnD,QAAQ,OAAO,EAAE,iCAAiC;AAClD,KAAK;AACL,IAAI,CAAC,4BAA4B,CAAC,mBAAmB,GAAG;AACxD,QAAQ,OAAO,EAAE,qDAAqD;AACtE,KAAK;AACL,IAAI,CAAC,4BAA4B,CAAC,gBAAgB,GAAG;AACrD,QAAQ,OAAO,EAAE,yDAAyD;AAC1E,KAAK;AACL,IAAI,CAAC,4BAA4B,CAAC,YAAY,GAAG;AACjD,QAAQ,OAAO,EAAE,oDAAoD;AACrE,KAAK;AACL;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flushEvents.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"flushEvents.mjs","sources":["../../../../../src/providers/kinesis/apis/flushEvents.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { resolveConfig } from '../utils/resolveConfig';\nimport { getAnalyticsUserAgentString, resolveCredentials, } from '../../../utils';\nimport { getEventBuffer } from '../utils/getEventBuffer';\nimport { AnalyticsAction } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nconst logger = new ConsoleLogger('Kinesis');\n/**\n * Flushes all buffered Kinesis events to the service.\n *\n * @note\n * This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking\n * this API may not be included in the flush.\n */\nexport const flushEvents = () => {\n const { region, flushSize, flushInterval, bufferSize, resendLimit } = resolveConfig();\n resolveCredentials()\n .then(({ credentials, identityId }) => getEventBuffer({\n region,\n flushSize,\n flushInterval,\n bufferSize,\n credentials,\n identityId,\n resendLimit,\n userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),\n }))\n .then(eventBuffer => eventBuffer.flushAll())\n .catch(e => logger.warn('Failed to flush events.', e));\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,MAAM;AACjC,IAAI,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE,CAAC;AAC1F,IAAI,kBAAkB,EAAE;AACxB,SAAS,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,cAAc,CAAC;AAC9D,QAAQ,MAAM;AACd,QAAQ,SAAS;AACjB,QAAQ,aAAa;AACrB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,cAAc,EAAE,2BAA2B,CAAC,eAAe,CAAC,MAAM,CAAC;AAC3E,KAAK,CAAC,CAAC;AACP,SAAS,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;AACpD,SAAS,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/D;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"record.mjs","sources":["../../../../../src/providers/kinesis/apis/record.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getEventBuffer } from '../utils/getEventBuffer';\nimport { resolveConfig } from '../utils/resolveConfig';\nimport { getAnalyticsUserAgentString, isAnalyticsEnabled, resolveCredentials, } from '../../../utils';\nimport { fromUtf8 } from '@smithy/util-utf8';\nimport { AnalyticsAction } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nconst logger = new ConsoleLogger('Kinesis');\n/**\n * Record one analytic event and send it to Kinesis. Events will be buffered and periodically sent to\n * Kinesis.\n *\n * @param params The input object used to construct the request.\n *\n * @throws validation: {@link AnalyticsValidationErrorCode} - Thrown when the provided parameters or library\n * configuration is incorrect.\n *\n * @example\n * ```ts\n * record({\n * streamName: 'myKinesisStream',\n * partitionKey: 'myPartitionKey',\n * data: { } // The data blob to put into the record\n * });\n * ```\n * @param input - The event to record.\n *\n * @returns void\n */\nexport const record = ({ streamName, partitionKey, data, }) => {\n if (!isAnalyticsEnabled()) {\n logger.debug('Analytics is disabled, event will not be recorded.');\n return;\n }\n const timestamp = Date.now();\n const { region, bufferSize, flushSize, flushInterval, resendLimit } = resolveConfig();\n resolveCredentials()\n .then(({ credentials, identityId }) => {\n const buffer = getEventBuffer({\n region,\n bufferSize,\n flushSize,\n flushInterval,\n credentials,\n identityId,\n resendLimit,\n userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),\n });\n buffer.append({\n region,\n streamName,\n partitionKey,\n event: ArrayBuffer.isView(data) ? data : fromUtf8(JSON.stringify(data)),\n timestamp,\n retryCount: 0,\n });\n })\n .catch(e => {\n // An error occured while fetching credentials or persisting the event to the buffer\n logger.warn('Failed to record event.', e);\n });\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AAOA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,GAAG,KAAK;AAC/D,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;AAC/B,QAAQ,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;AAC3E,QAAQ,OAAO;AACf,KAAK;AACL,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACjC,IAAI,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE,CAAC;AAC1F,IAAI,kBAAkB,EAAE;AACxB,SAAS,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK;AAC/C,QAAQ,MAAM,MAAM,GAAG,cAAc,CAAC;AACtC,YAAY,MAAM;AAClB,YAAY,UAAU;AACtB,YAAY,SAAS;AACrB,YAAY,aAAa;AACzB,YAAY,WAAW;AACvB,YAAY,UAAU;AACtB,YAAY,WAAW;AACvB,YAAY,cAAc,EAAE,2BAA2B,CAAC,eAAe,CAAC,MAAM,CAAC;AAC/E,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,CAAC,MAAM,CAAC;AACtB,YAAY,MAAM;AAClB,YAAY,UAAU;AACtB,YAAY,YAAY;AACxB,YAAY,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACnF,YAAY,SAAS;AACrB,YAAY,UAAU,EAAE,CAAC;AACzB,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,SAAS,KAAK,CAAC,CAAC,IAAI;AACpB;AACA,QAAQ,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;AAClD,KAAK,CAAC,CAAC;AACP;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../../src/providers/kinesis/utils/constants.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const DEFAULT_KINESIS_CONFIG = {\n bufferSize: 1000,\n flushSize: 100,\n flushInterval: 5000,\n resendLimit: 5,\n};\n"],"names":[],"mappings":"AAAA;AACA;AACY,MAAC,sBAAsB,GAAG;AACtC,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,WAAW,EAAE,CAAC;AAClB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEventBuffer.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"getEventBuffer.mjs","sources":["../../../../../src/providers/kinesis/utils/getEventBuffer.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { haveCredentialsChanged } from '@aws-amplify/core/internals/utils';\nimport { KinesisClient, PutRecordsCommand } from '@aws-sdk/client-kinesis';\nimport { EventBuffer, groupBy } from '../../../utils';\n/**\n * These Records hold cached event buffers and AWS clients.\n * The hash key is determined by the region and session,\n * consisting of a combined value comprising [region, sessionToken, identityId].\n *\n * Only one active session should exist at any given moment.\n * When a new session is initiated, the previous ones should be released.\n * */\nconst eventBufferMap = {};\nconst cachedClients = {};\nconst createKinesisPutRecordsCommand = (streamName, events) => new PutRecordsCommand({\n StreamName: streamName,\n Records: events.map(event => ({\n PartitionKey: event.partitionKey,\n Data: event.event,\n })),\n});\nconst submitEvents = async (events, client, resendLimit) => {\n const groupedByStreamName = Object.entries(groupBy(event => event.streamName, events));\n const requests = groupedByStreamName\n .map(([streamName, events]) => createKinesisPutRecordsCommand(streamName, events))\n .map(command => client.send(command));\n const responses = await Promise.allSettled(requests);\n const failedEvents = responses\n .map((response, i) => response.status === 'rejected' ? groupedByStreamName[i][1] : [])\n .flat();\n return resendLimit\n ? failedEvents\n .filter(event => event.retryCount < resendLimit)\n .map(event => ({ ...event, retryCount: event.retryCount + 1 }))\n .sort((a, b) => a.timestamp - b.timestamp)\n : [];\n};\nexport const getEventBuffer = ({ region, flushInterval, flushSize, bufferSize, credentials, identityId, resendLimit, userAgentValue, }) => {\n const sessionIdentityKey = [region, identityId].filter(x => !!x).join('-');\n const [cachedClient, cachedCredentials] = cachedClients[sessionIdentityKey] ?? [];\n let credentialsHaveChanged = false;\n // Check if credentials have changed for the cached client\n if (cachedClient) {\n credentialsHaveChanged = haveCredentialsChanged(cachedCredentials, credentials);\n }\n if (!eventBufferMap[sessionIdentityKey] || credentialsHaveChanged) {\n const getKinesisClient = () => {\n if (!cachedClient || credentialsHaveChanged) {\n cachedClients[sessionIdentityKey] = [\n new KinesisClient({\n credentials,\n region,\n customUserAgent: userAgentValue,\n }),\n credentials\n ];\n }\n const [kinesisClient] = cachedClients[sessionIdentityKey];\n return events => submitEvents(events, kinesisClient, resendLimit);\n };\n // create new session\n eventBufferMap[sessionIdentityKey] = new EventBuffer({\n flushInterval,\n flushSize,\n bufferSize,\n }, getKinesisClient);\n // release other sessions\n const releaseSessionKeys = Object.keys(eventBufferMap).filter(x => x !== sessionIdentityKey);\n for (const releaseSessionKey of releaseSessionKeys) {\n eventBufferMap[releaseSessionKey].flushAll().finally(() => {\n eventBufferMap[releaseSessionKey].release();\n delete eventBufferMap[releaseSessionKey];\n delete cachedClients[releaseSessionKey];\n });\n }\n }\n return eventBufferMap[sessionIdentityKey];\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveConfig.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"resolveConfig.mjs","sources":["../../../../../src/providers/kinesis/utils/resolveConfig.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { AnalyticsValidationErrorCode, assertValidationError, } from '../../../errors';\nimport { DEFAULT_KINESIS_CONFIG } from './constants';\nexport const resolveConfig = () => {\n const config = Amplify.getConfig().Analytics?.Kinesis;\n const { region, bufferSize = DEFAULT_KINESIS_CONFIG.bufferSize, flushSize = DEFAULT_KINESIS_CONFIG.flushSize, flushInterval = DEFAULT_KINESIS_CONFIG.flushInterval, resendLimit, } = {\n ...DEFAULT_KINESIS_CONFIG,\n ...config,\n };\n assertValidationError(!!region, AnalyticsValidationErrorCode.NoRegion);\n assertValidationError(flushSize < bufferSize, AnalyticsValidationErrorCode.InvalidFlushSize);\n return {\n region,\n bufferSize,\n flushSize,\n flushInterval,\n resendLimit,\n };\n};\n"],"names":[],"mappings":";;;;;;AAAA;AACA;AAIY,MAAC,aAAa,GAAG,MAAM;AACnC,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;AAC1D,IAAI,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,sBAAsB,CAAC,UAAU,EAAE,SAAS,GAAG,sBAAsB,CAAC,SAAS,EAAE,aAAa,GAAG,sBAAsB,CAAC,aAAa,EAAE,WAAW,GAAG,GAAG;AACzL,QAAQ,GAAG,sBAAsB;AACjC,QAAQ,GAAG,MAAM;AACjB,KAAK,CAAC;AACN,IAAI,qBAAqB,CAAC,CAAC,CAAC,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC;AAC3E,IAAI,qBAAqB,CAAC,SAAS,GAAG,UAAU,EAAE,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;AACjG,IAAI,OAAO;AACX,QAAQ,MAAM;AACd,QAAQ,UAAU;AAClB,QAAQ,SAAS;AACjB,QAAQ,aAAa;AACrB,QAAQ,WAAW;AACnB,KAAK,CAAC;AACN;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flushEvents.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"flushEvents.mjs","sources":["../../../../../src/providers/kinesis-firehose/apis/flushEvents.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getEventBuffer, resolveConfig } from '../utils';\nimport { getAnalyticsUserAgentString, resolveCredentials, } from '../../../utils';\nimport { AnalyticsAction } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nconst logger = new ConsoleLogger('KinesisFirehose');\n/**\n * Flushes all buffered Kinesis events to the service.\n *\n * @note\n * This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking\n * this API may not be included in the flush.\n */\nexport const flushEvents = () => {\n const { region, flushSize, flushInterval, bufferSize, resendLimit } = resolveConfig();\n resolveCredentials()\n .then(({ credentials, identityId }) => getEventBuffer({\n region,\n flushSize,\n flushInterval,\n bufferSize,\n credentials,\n identityId,\n resendLimit,\n userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),\n }))\n .then(eventBuffer => eventBuffer.flushAll())\n .catch(e => logger.warn('Failed to flush events.', e));\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAKA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,MAAM;AACjC,IAAI,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE,CAAC;AAC1F,IAAI,kBAAkB,EAAE;AACxB,SAAS,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,cAAc,CAAC;AAC9D,QAAQ,MAAM;AACd,QAAQ,SAAS;AACjB,QAAQ,aAAa;AACrB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,cAAc,EAAE,2BAA2B,CAAC,eAAe,CAAC,MAAM,CAAC;AAC3E,KAAK,CAAC,CAAC;AACP,SAAS,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;AACpD,SAAS,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/D;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"record.mjs","sources":["../../../../../src/providers/kinesis-firehose/apis/record.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getEventBuffer, resolveConfig } from '../utils';\nimport { getAnalyticsUserAgentString, isAnalyticsEnabled, resolveCredentials, } from '../../../utils';\nimport { fromUtf8 } from '@smithy/util-utf8';\nimport { AnalyticsAction } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nconst logger = new ConsoleLogger('KinesisFirehose');\n/**\n * Record one analytic event and send it to Kinesis Data Firehose. Events will be buffered and periodically sent to\n * Kinesis Data Firehose.\n *\n * @param params The input object used to construct the request.\n *\n * @throws validation: {@link AnalyticsValidationErrorCode} - Thrown when the provided parameters or library\n * configuration is incorrect.\n *\n * @example\n * ```ts\n * record({\n * streamName: 'myFirehoseStream',\n * data: { } // The data blob to put into the record\n * });\n * ```\n */\nexport const record = ({ streamName, data }) => {\n if (!isAnalyticsEnabled()) {\n logger.debug('Analytics is disabled, event will not be recorded.');\n return;\n }\n const timestamp = Date.now();\n const { region, bufferSize, flushSize, flushInterval, resendLimit } = resolveConfig();\n resolveCredentials()\n .then(({ credentials, identityId }) => {\n const buffer = getEventBuffer({\n region,\n credentials,\n identityId,\n bufferSize,\n flushSize,\n flushInterval,\n resendLimit,\n userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),\n });\n buffer.append({\n region,\n streamName,\n event: ArrayBuffer.isView(data) ? data : fromUtf8(JSON.stringify(data)),\n timestamp,\n retryCount: 0,\n });\n })\n .catch(e => {\n logger.warn('Failed to record event.', e);\n });\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;AAChD,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;AAC/B,QAAQ,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;AAC3E,QAAQ,OAAO;AACf,KAAK;AACL,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACjC,IAAI,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE,CAAC;AAC1F,IAAI,kBAAkB,EAAE;AACxB,SAAS,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK;AAC/C,QAAQ,MAAM,MAAM,GAAG,cAAc,CAAC;AACtC,YAAY,MAAM;AAClB,YAAY,WAAW;AACvB,YAAY,UAAU;AACtB,YAAY,UAAU;AACtB,YAAY,SAAS;AACrB,YAAY,aAAa;AACzB,YAAY,WAAW;AACvB,YAAY,cAAc,EAAE,2BAA2B,CAAC,eAAe,CAAC,MAAM,CAAC;AAC/E,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,CAAC,MAAM,CAAC;AACtB,YAAY,MAAM;AAClB,YAAY,UAAU;AACtB,YAAY,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACnF,YAAY,SAAS;AACrB,YAAY,UAAU,EAAE,CAAC;AACzB,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,SAAS,KAAK,CAAC,CAAC,IAAI;AACpB,QAAQ,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;AAClD,KAAK,CAAC,CAAC;AACP;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../../src/providers/kinesis-firehose/utils/constants.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const DEFAULT_KINESIS_FIREHOSE_CONFIG = {\n bufferSize: 1000,\n flushSize: 100,\n flushInterval: 5000,\n resendLimit: 5,\n};\n"],"names":[],"mappings":"AAAA;AACA;AACY,MAAC,+BAA+B,GAAG;AAC/C,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,WAAW,EAAE,CAAC;AAClB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEventBuffer.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"getEventBuffer.mjs","sources":["../../../../../src/providers/kinesis-firehose/utils/getEventBuffer.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { haveCredentialsChanged } from '@aws-amplify/core/internals/utils';\nimport { FirehoseClient, PutRecordBatchCommand, } from '@aws-sdk/client-firehose';\nimport { EventBuffer, groupBy } from '../../../utils';\n/**\n * These Records hold cached event buffers and AWS clients.\n * The hash key is determined by the region and session,\n * consisting of a combined value comprising [region, sessionToken, identityId].\n *\n * Only one active session should exist at any given moment.\n * When a new session is initiated, the previous ones should be released.\n * */\nconst eventBufferMap = {};\nconst cachedClients = {};\nconst createPutRecordsBatchCommand = (streamName, events) => new PutRecordBatchCommand({\n DeliveryStreamName: streamName,\n Records: events.map(event => ({\n Data: event.event,\n })),\n});\nconst submitEvents = async (events, client, resendLimit) => {\n const groupedByStreamName = Object.entries(groupBy(event => event.streamName, events));\n const requests = groupedByStreamName\n .map(([streamName, events]) => createPutRecordsBatchCommand(streamName, events))\n .map(command => client.send(command));\n const responses = await Promise.allSettled(requests);\n const failedEvents = responses\n .map((response, i) => response.status === 'rejected' ? groupedByStreamName[i][1] : [])\n .flat();\n return resendLimit\n ? failedEvents\n .filter(event => event.retryCount < resendLimit)\n .map(event => ({ ...event, retryCount: event.retryCount + 1 }))\n .sort((a, b) => a.timestamp - b.timestamp)\n : [];\n};\nexport const getEventBuffer = ({ region, credentials, identityId, bufferSize, flushSize, flushInterval, resendLimit, userAgentValue, }) => {\n const sessionIdentityKey = [region, identityId].filter(id => !!id).join('-');\n const [cachedClient, cachedCredentials] = cachedClients[sessionIdentityKey] ?? [];\n let credentialsHaveChanged = false;\n // Check if credentials have changed for the cached client\n if (cachedClient) {\n credentialsHaveChanged = haveCredentialsChanged(cachedCredentials, credentials);\n }\n if (!eventBufferMap[sessionIdentityKey] || credentialsHaveChanged) {\n const getClient = () => {\n if (!cachedClient || credentialsHaveChanged) {\n cachedClients[sessionIdentityKey] = [\n new FirehoseClient({\n region,\n credentials,\n customUserAgent: userAgentValue,\n }),\n credentials\n ];\n }\n const [firehoseClient] = cachedClients[sessionIdentityKey];\n return events => submitEvents(events, firehoseClient, resendLimit);\n };\n eventBufferMap[sessionIdentityKey] =\n new EventBuffer({\n bufferSize,\n flushSize,\n flushInterval,\n }, getClient);\n const releaseSessionKeys = Object.keys(eventBufferMap).filter(key => key !== sessionIdentityKey);\n for (const releaseSessionKey of releaseSessionKeys) {\n eventBufferMap[releaseSessionKey].flushAll().finally(() => {\n eventBufferMap[releaseSessionKey].release();\n delete eventBufferMap[releaseSessionKey];\n delete cachedClients[releaseSessionKey];\n });\n }\n }\n return eventBufferMap[sessionIdentityKey];\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveConfig.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"resolveConfig.mjs","sources":["../../../../../src/providers/kinesis-firehose/utils/resolveConfig.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { AnalyticsValidationErrorCode, assertValidationError, } from '../../../errors';\nimport { DEFAULT_KINESIS_FIREHOSE_CONFIG } from './constants';\nexport const resolveConfig = () => {\n const config = Amplify.getConfig().Analytics?.KinesisFirehose;\n const { region, bufferSize = DEFAULT_KINESIS_FIREHOSE_CONFIG.bufferSize, flushSize = DEFAULT_KINESIS_FIREHOSE_CONFIG.flushSize, flushInterval = DEFAULT_KINESIS_FIREHOSE_CONFIG.flushInterval, resendLimit, } = {\n ...DEFAULT_KINESIS_FIREHOSE_CONFIG,\n ...config,\n };\n assertValidationError(!!region, AnalyticsValidationErrorCode.NoRegion);\n assertValidationError(flushSize < bufferSize, AnalyticsValidationErrorCode.InvalidFlushSize);\n return {\n region,\n bufferSize,\n flushSize,\n flushInterval,\n resendLimit,\n };\n};\n"],"names":[],"mappings":";;;;;;AAAA;AACA;AAIY,MAAC,aAAa,GAAG,MAAM;AACnC,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;AAClE,IAAI,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,+BAA+B,CAAC,UAAU,EAAE,SAAS,GAAG,+BAA+B,CAAC,SAAS,EAAE,aAAa,GAAG,+BAA+B,CAAC,aAAa,EAAE,WAAW,GAAG,GAAG;AACpN,QAAQ,GAAG,+BAA+B;AAC1C,QAAQ,GAAG,MAAM;AACjB,KAAK,CAAC;AACN,IAAI,qBAAqB,CAAC,CAAC,CAAC,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC;AAC3E,IAAI,qBAAqB,CAAC,SAAS,GAAG,UAAU,EAAE,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;AACjG,IAAI,OAAO;AACX,QAAQ,MAAM;AACd,QAAQ,UAAU;AAClB,QAAQ,SAAS;AACjB,QAAQ,aAAa;AACrB,QAAQ,WAAW;AACnB,KAAK,CAAC;AACN;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flushEvents.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"flushEvents.mjs","sources":["../../../../../src/providers/personalize/apis/flushEvents.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getEventBuffer, resolveConfig } from '../utils';\nimport { getAnalyticsUserAgentString, resolveCredentials, } from '../../../utils';\nimport { AnalyticsAction } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nconst logger = new ConsoleLogger('Personalize');\n/**\n * Flushes all buffered Personalize events to the service.\n *\n * @note\n * This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking\n * this API may not be included in the flush.\n */\nexport const flushEvents = () => {\n const { region, flushSize, bufferSize, flushInterval } = resolveConfig();\n resolveCredentials()\n .then(({ credentials, identityId }) => getEventBuffer({\n region,\n flushSize,\n flushInterval,\n bufferSize,\n credentials,\n identityId,\n userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),\n }))\n .then(eventBuffer => eventBuffer.flushAll())\n .catch(e => logger.warn('Failed to flush events', e));\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;AACA;AAKA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,MAAM;AACjC,IAAI,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAAC;AAC7E,IAAI,kBAAkB,EAAE;AACxB,SAAS,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,cAAc,CAAC;AAC9D,QAAQ,MAAM;AACd,QAAQ,SAAS;AACjB,QAAQ,aAAa;AACrB,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,UAAU;AAClB,QAAQ,cAAc,EAAE,2BAA2B,CAAC,eAAe,CAAC,MAAM,CAAC;AAC3E,KAAK,CAAC,CAAC;AACP,SAAS,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;AACpD,SAAS,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"record.mjs","sources":["../../../../../src/providers/personalize/apis/record.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { autoTrackMedia, getEventBuffer, resolveCachedSession, resolveConfig, updateCachedSession, } from '../utils';\nimport { getAnalyticsUserAgentString, isAnalyticsEnabled, resolveCredentials, } from '../../../utils';\nimport { AnalyticsAction } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nimport { IDENTIFY_EVENT_TYPE, MEDIA_AUTO_TRACK_EVENT_TYPE, } from '../utils/constants';\nconst logger = new ConsoleLogger('Personalize');\n/**\n * Record one analytic event and send it to Personalize. Events will be buffered and periodically sent to Amazon\n * Personalize.\n *\n * For more examples, you can refer to {@link https://docs.amplify.aws/javascript/build-a-backend/more-features/analytics/personalize-recommendations/#working-with-the-api the API usage guidance.}\n *\n * @param input The input object used to construct the request.\n *\n * @throws validation: {@link AnalyticsValidationErrorCode} - Thrown when the provided parameters or library\n * configuration is incorrect.\n *\n * @example\n * ```ts\n * // Record an `Identify` event to Personalize.\n * record({\n * eventType: \"Identify\",\n * properties: {\n * userId: \"<USER_ID>\"\n * }\n * });\n * ```\n * @param input - The event to record.\n *\n * @returns void\n */\nexport const record = ({ userId, eventId, eventType, properties, }) => {\n if (!isAnalyticsEnabled()) {\n logger.debug('Analytics is disabled, event will not be recorded.');\n return;\n }\n const { region, trackingId, bufferSize, flushSize, flushInterval } = resolveConfig();\n resolveCredentials()\n .then(async ({ credentials, identityId }) => {\n const timestamp = Date.now();\n const { sessionId: cachedSessionId, userId: cachedUserId } = await resolveCachedSession();\n if (eventType === IDENTIFY_EVENT_TYPE) {\n updateCachedSession(typeof properties.userId === 'string' ? properties.userId : '', cachedSessionId, cachedUserId);\n }\n else if (!!userId) {\n updateCachedSession(userId, cachedSessionId, cachedUserId);\n }\n const { sessionId: updatedSessionId, userId: updatedUserId } = await resolveCachedSession();\n const eventBuffer = getEventBuffer({\n region,\n flushSize,\n flushInterval,\n bufferSize,\n credentials,\n identityId,\n userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),\n });\n if (eventType === MEDIA_AUTO_TRACK_EVENT_TYPE) {\n autoTrackMedia({\n trackingId,\n sessionId: updatedSessionId,\n userId: updatedUserId,\n event: {\n eventId,\n eventType,\n properties,\n },\n }, eventBuffer);\n }\n else {\n eventBuffer.append({\n trackingId,\n sessionId: updatedSessionId,\n userId: updatedUserId,\n event: {\n eventId,\n eventType,\n properties,\n },\n timestamp,\n });\n }\n if (eventBuffer.length >= bufferSize) {\n eventBuffer.flushAll();\n }\n })\n .catch(e => {\n logger.warn('Failed to record event.', e);\n });\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoTrackMedia.mjs","sources":["../../../../../../src/providers/personalize/utils/autoTrackMedia.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autoTrackMedia.mjs","sources":["../../../../../src/providers/personalize/utils/autoTrackMedia.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { isBrowser } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nvar HTML5_MEDIA_EVENT;\n(function (HTML5_MEDIA_EVENT) {\n HTML5_MEDIA_EVENT[\"PLAY\"] = \"play\";\n HTML5_MEDIA_EVENT[\"PAUSE\"] = \"pause\";\n HTML5_MEDIA_EVENT[\"ENDED\"] = \"Ended\";\n})(HTML5_MEDIA_EVENT || (HTML5_MEDIA_EVENT = {}));\nvar MEDIA_TYPE;\n(function (MEDIA_TYPE) {\n MEDIA_TYPE[\"IFRAME\"] = \"IFRAME\";\n MEDIA_TYPE[\"VIDEO\"] = \"VIDEO\";\n MEDIA_TYPE[\"AUDIO\"] = \"AUDIO\";\n})(MEDIA_TYPE || (MEDIA_TYPE = {}));\nvar EVENT_TYPE;\n(function (EVENT_TYPE) {\n EVENT_TYPE[\"PLAY\"] = \"Play\";\n EVENT_TYPE[\"ENDED\"] = \"Ended\";\n EVENT_TYPE[\"PAUSE\"] = \"Pause\";\n EVENT_TYPE[\"TIME_WATCHED\"] = \"TimeWatched\";\n})(EVENT_TYPE || (EVENT_TYPE = {}));\nconst logger = new ConsoleLogger('MediaAutoTrack');\nconst startIframeAutoTracking = (element, recordEvent) => {\n let isPlaying = false;\n let player;\n const mediaProperties = () => {\n const duration = Number(parseFloat(player.getDuration()).toFixed(4));\n const currentTime = Number(parseFloat(player.getCurrentTime()).toFixed(4));\n return {\n duration,\n eventValue: Number((currentTime / duration).toFixed(4)),\n };\n };\n const scriptElement = document.createElement('script');\n scriptElement.type = 'text/javascript';\n scriptElement.src = 'https://www.youtube.com/iframe_api';\n document.body.append(scriptElement);\n const timer = setInterval(() => {\n if (isPlaying && player) {\n recordEvent(EVENT_TYPE.TIME_WATCHED, mediaProperties());\n }\n }, 3000);\n element.addEventListener('unload', () => clearInterval(timer));\n // @ts-ignore\n window.onYouTubeIframeAPIReady = () => {\n // @ts-ignore\n delete window.onYouTubeIframeAPIReady;\n // @ts-ignore\n player = new window.YT.Player(element.id, {\n events: {\n onStateChange: (event) => {\n const iframeEventMapping = {\n 0: EVENT_TYPE.ENDED,\n 1: EVENT_TYPE.PLAY,\n 2: EVENT_TYPE.PAUSE,\n };\n // @ts-ignore\n const eventType = iframeEventMapping[event.data];\n switch (eventType) {\n case EVENT_TYPE.ENDED:\n case EVENT_TYPE.PAUSE:\n isPlaying = false;\n break;\n case EVENT_TYPE.PLAY:\n isPlaying = true;\n break;\n }\n if (eventType) {\n recordEvent(eventType, mediaProperties());\n }\n },\n },\n });\n };\n};\nconst startHTMLMediaAutoTracking = (element, recordEvent) => {\n let isPlaying = false;\n const mediaProperties = () => ({\n duration: element.duration,\n eventValue: Number((element.currentTime / element.duration).toFixed(4)),\n });\n const timer = setInterval(() => {\n if (isPlaying) {\n recordEvent(EVENT_TYPE.TIME_WATCHED, mediaProperties());\n }\n }, 3000);\n element.addEventListener('unload', () => clearInterval(timer));\n element.addEventListener(HTML5_MEDIA_EVENT.PLAY, () => {\n isPlaying = true;\n recordEvent(EVENT_TYPE.PLAY, mediaProperties());\n });\n element.addEventListener(HTML5_MEDIA_EVENT.PAUSE, () => {\n isPlaying = false;\n recordEvent(EVENT_TYPE.PAUSE, mediaProperties());\n });\n element.addEventListener(HTML5_MEDIA_EVENT.ENDED, () => {\n isPlaying = false;\n recordEvent(EVENT_TYPE.ENDED, mediaProperties());\n });\n};\nconst checkElementLoaded = (interval, maxTries) => {\n let retryCount = 0;\n const wait = () => new Promise(r => setTimeout(r, interval));\n const check = async (elementId) => {\n if (retryCount >= maxTries) {\n return false;\n }\n const domElement = document.getElementById(elementId);\n if (domElement && domElement.clientHeight) {\n return true;\n }\n else {\n retryCount += 1;\n await wait();\n return await check(elementId);\n }\n };\n return check;\n};\nconst recordEvent = (config, eventBuffer) => (eventType, properties) => {\n // override eventType and merge properties\n eventBuffer.append({\n ...config,\n event: {\n ...config.event,\n eventType,\n properties: {\n ...config.event.properties,\n ...properties,\n },\n },\n timestamp: Date.now(),\n });\n};\nexport const autoTrackMedia = async (config, eventBuffer) => {\n const { eventType, properties } = config.event;\n const { domElementId, ...otherProperties } = properties;\n if (!isBrowser()) {\n logger.debug(`${eventType} only for browser`);\n return;\n }\n if (typeof domElementId === 'string' && !domElementId) {\n logger.debug(\"Missing domElementId field in 'properties' for MediaAutoTrack event type.\");\n return;\n }\n const elementId = domElementId;\n const isElementLoaded = await checkElementLoaded(500, 5)(elementId);\n if (isElementLoaded) {\n const autoTrackConfigWithoutDomElementId = {\n ...config,\n event: {\n ...config.event,\n properties: otherProperties,\n },\n };\n const element = document.getElementById(elementId);\n switch (element?.tagName) {\n case MEDIA_TYPE.IFRAME:\n startIframeAutoTracking(element, recordEvent(autoTrackConfigWithoutDomElementId, eventBuffer));\n break;\n case MEDIA_TYPE.VIDEO:\n case MEDIA_TYPE.AUDIO:\n if (element instanceof HTMLMediaElement) {\n startHTMLMediaAutoTracking(element, recordEvent(autoTrackConfigWithoutDomElementId, eventBuffer));\n }\n break;\n default:\n logger.debug(`Unsupported DOM element tag: ${element?.tagName}`);\n break;\n }\n }\n else {\n logger.debug('Cannot find the media element.');\n }\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cachedSession.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"cachedSession.mjs","sources":["../../../../../src/providers/personalize/utils/cachedSession.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Cache } from '@aws-amplify/core';\nimport { isBrowser, amplifyUuid } from '@aws-amplify/core/internals/utils';\nconst PERSONALIZE_CACHE_USERID = '_awsct_uid';\nconst PERSONALIZE_CACHE_SESSIONID = '_awsct_sid';\nconst DEFAULT_CACHE_PREFIX = 'personalize';\nconst DELIMITER = '.';\nconst CACHE_EXPIRY_IN_DAYS = 7;\nconst normalize = (key) => [key, isBrowser() ? window.location.host : DEFAULT_CACHE_PREFIX].join(DELIMITER);\nconst getCache = (key) => Cache.getItem(normalize(key));\nconst setCache = (key, value) => {\n const expiredAt = new Date(Date.now() + 3600000 * 24 * CACHE_EXPIRY_IN_DAYS);\n Cache.setItem(normalize(key), value, {\n expires: expiredAt.getTime(),\n });\n};\nexport const resolveCachedSession = async () => {\n let sessionId = await getCache(PERSONALIZE_CACHE_SESSIONID);\n if (!sessionId) {\n sessionId = amplifyUuid();\n setCache(PERSONALIZE_CACHE_SESSIONID, sessionId);\n }\n const userId = await getCache(PERSONALIZE_CACHE_USERID);\n return {\n sessionId,\n userId,\n };\n};\nexport const updateCachedSession = (newUserId, currentSessionId, currentUserId) => {\n const isNoCachedSession = !currentSessionId;\n const isSignOutCase = !newUserId && !currentUserId;\n const isSwitchUserCase = !!newUserId && !!currentUserId && newUserId !== currentUserId;\n const isRequireNewSession = isNoCachedSession || isSignOutCase || isSwitchUserCase;\n const isRequireUpdateSession = !!currentSessionId && !currentUserId && !!newUserId;\n if (isRequireNewSession) {\n const newSessionId = amplifyUuid();\n setCache(PERSONALIZE_CACHE_SESSIONID, newSessionId);\n setCache(PERSONALIZE_CACHE_USERID, newUserId);\n }\n else if (isRequireUpdateSession) {\n setCache(PERSONALIZE_CACHE_USERID, newUserId);\n }\n};\n"],"names":[],"mappings":";;;AAAA;AACA;AAGA,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAC9C,MAAM,2BAA2B,GAAG,YAAY,CAAC;AACjD,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAC3C,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC5G,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACxD,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK;AACjC,IAAI,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,oBAAoB,CAAC,CAAC;AACjF,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE;AACzC,QAAQ,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE;AACpC,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AACU,MAAC,oBAAoB,GAAG,YAAY;AAChD,IAAI,IAAI,SAAS,GAAG,MAAM,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAChE,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,QAAQ,SAAS,GAAG,WAAW,EAAE,CAAC;AAClC,QAAQ,QAAQ,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAC5D,IAAI,OAAO;AACX,QAAQ,SAAS;AACjB,QAAQ,MAAM;AACd,KAAK,CAAC;AACN,EAAE;AACU,MAAC,mBAAmB,GAAG,CAAC,SAAS,EAAE,gBAAgB,EAAE,aAAa,KAAK;AACnF,IAAI,MAAM,iBAAiB,GAAG,CAAC,gBAAgB,CAAC;AAChD,IAAI,MAAM,aAAa,GAAG,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC;AACvD,IAAI,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,aAAa,IAAI,SAAS,KAAK,aAAa,CAAC;AAC3F,IAAI,MAAM,mBAAmB,GAAG,iBAAiB,IAAI,aAAa,IAAI,gBAAgB,CAAC;AACvF,IAAI,MAAM,sBAAsB,GAAG,CAAC,CAAC,gBAAgB,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,SAAS,CAAC;AACvF,IAAI,IAAI,mBAAmB,EAAE;AAC7B,QAAQ,MAAM,YAAY,GAAG,WAAW,EAAE,CAAC;AAC3C,QAAQ,QAAQ,CAAC,2BAA2B,EAAE,YAAY,CAAC,CAAC;AAC5D,QAAQ,QAAQ,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;AACtD,KAAK;AACL,SAAS,IAAI,sBAAsB,EAAE;AACrC,QAAQ,QAAQ,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;AACtD,KAAK;AACL;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../../src/providers/personalize/utils/constants.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const DEFAULT_PERSONALIZE_CONFIG = {\n flushSize: 5,\n flushInterval: 5000,\n};\nexport const PERSONALIZE_FLUSH_SIZE_MAX = 10;\nexport const IDENTIFY_EVENT_TYPE = 'Identify';\nexport const MEDIA_AUTO_TRACK_EVENT_TYPE = 'MediaAutoTrack';\n"],"names":[],"mappings":"AAAA;AACA;AACY,MAAC,0BAA0B,GAAG;AAC1C,IAAI,SAAS,EAAE,CAAC;AAChB,IAAI,aAAa,EAAE,IAAI;AACvB,EAAE;AACU,MAAC,0BAA0B,GAAG,GAAG;AACjC,MAAC,mBAAmB,GAAG,WAAW;AAClC,MAAC,2BAA2B,GAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEventBuffer.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"getEventBuffer.mjs","sources":["../../../../../src/providers/personalize/utils/getEventBuffer.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { haveCredentialsChanged } from '@aws-amplify/core/internals/utils';\nimport { PersonalizeEventsClient, PutEventsCommand, } from '@aws-sdk/client-personalize-events';\nimport { EventBuffer, groupBy } from '../../../utils';\n/**\n * These Records hold cached event buffers and AWS clients.\n * The hash key is determined by the region and session,\n * consisting of a combined value comprising [region, sessionToken, identityId].\n *\n * Only one active session should exist at any given moment.\n * When a new session is initiated, the previous ones should be released.\n * */\nconst eventBufferMap = {};\nconst cachedClients = {};\nconst DELIMITER = '#';\nconst createPutEventsCommand = (ids, events) => {\n const [trackingId, sessionId, userId] = ids.split(DELIMITER);\n return new PutEventsCommand({\n trackingId,\n sessionId,\n userId,\n eventList: events.map(event => ({\n eventId: event.event.eventId,\n eventType: event.event.eventType,\n properties: JSON.stringify(event.event.properties),\n sentAt: new Date(event.timestamp),\n })),\n });\n};\nconst submitEvents = async (events, client) => {\n const groupedByIds = Object.entries(groupBy(event => [event.trackingId, event.sessionId, event.userId]\n .filter(id => !!id)\n .join(DELIMITER), events));\n const requests = groupedByIds\n .map(([ids, events]) => createPutEventsCommand(ids, events))\n .map(command => client.send(command));\n await Promise.allSettled(requests);\n return Promise.resolve([]);\n};\nexport const getEventBuffer = ({ region, flushSize, flushInterval, bufferSize, credentials, identityId, userAgentValue, }) => {\n const sessionIdentityKey = [region, identityId].filter(x => !!x).join('-');\n const [cachedClient, cachedCredentials] = cachedClients[sessionIdentityKey] ?? [];\n let credentialsHaveChanged = false;\n // Check if credentials have changed for the cached client\n if (cachedClient) {\n credentialsHaveChanged = haveCredentialsChanged(cachedCredentials, credentials);\n }\n if (!eventBufferMap[sessionIdentityKey] || credentialsHaveChanged) {\n const getClient = () => {\n if (!cachedClient || credentialsHaveChanged) {\n cachedClients[sessionIdentityKey] = [\n new PersonalizeEventsClient({\n region,\n credentials,\n customUserAgent: userAgentValue,\n }),\n credentials\n ];\n }\n const [personalizeClient] = cachedClients[sessionIdentityKey];\n return events => submitEvents(events, personalizeClient);\n };\n eventBufferMap[sessionIdentityKey] =\n new EventBuffer({\n bufferSize,\n flushSize,\n flushInterval,\n }, getClient);\n const releaseSessionKeys = Object.keys(eventBufferMap).filter(key => key !== sessionIdentityKey);\n for (const releaseSessionKey of releaseSessionKeys) {\n eventBufferMap[releaseSessionKey].flushAll().finally(() => {\n eventBufferMap[releaseSessionKey].release();\n delete eventBufferMap[releaseSessionKey];\n delete cachedClients[releaseSessionKey];\n });\n }\n }\n return eventBufferMap[sessionIdentityKey];\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveConfig.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"resolveConfig.mjs","sources":["../../../../../src/providers/personalize/utils/resolveConfig.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { AnalyticsValidationErrorCode, assertValidationError, } from '../../../errors';\nimport { DEFAULT_PERSONALIZE_CONFIG, PERSONALIZE_FLUSH_SIZE_MAX, } from './constants';\nexport const resolveConfig = () => {\n const config = Amplify.getConfig().Analytics?.Personalize;\n const { region, trackingId, flushSize = DEFAULT_PERSONALIZE_CONFIG.flushSize, flushInterval = DEFAULT_PERSONALIZE_CONFIG.flushInterval, } = {\n ...DEFAULT_PERSONALIZE_CONFIG,\n ...config,\n };\n assertValidationError(!!region, AnalyticsValidationErrorCode.NoRegion);\n assertValidationError(!!trackingId, AnalyticsValidationErrorCode.NoTrackingId);\n assertValidationError(flushSize <= PERSONALIZE_FLUSH_SIZE_MAX, AnalyticsValidationErrorCode.InvalidFlushSize, `FlushSize for Personalize should be less or equal than ${PERSONALIZE_FLUSH_SIZE_MAX}`);\n return {\n region,\n trackingId,\n bufferSize: flushSize + 1,\n flushSize,\n flushInterval,\n };\n};\n"],"names":[],"mappings":";;;;;;AAAA;AACA;AAIY,MAAC,aAAa,GAAG,MAAM;AACnC,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;AAC9D,IAAI,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,GAAG,0BAA0B,CAAC,SAAS,EAAE,aAAa,GAAG,0BAA0B,CAAC,aAAa,GAAG,GAAG;AAChJ,QAAQ,GAAG,0BAA0B;AACrC,QAAQ,GAAG,MAAM;AACjB,KAAK,CAAC;AACN,IAAI,qBAAqB,CAAC,CAAC,CAAC,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC;AAC3E,IAAI,qBAAqB,CAAC,CAAC,CAAC,UAAU,EAAE,4BAA4B,CAAC,YAAY,CAAC,CAAC;AACnF,IAAI,qBAAqB,CAAC,SAAS,IAAI,0BAA0B,EAAE,4BAA4B,CAAC,gBAAgB,EAAE,CAAC,uDAAuD,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;AAC1M,IAAI,OAAO;AACX,QAAQ,MAAM;AACd,QAAQ,UAAU;AAClB,QAAQ,UAAU,EAAE,SAAS,GAAG,CAAC;AACjC,QAAQ,SAAS;AACjB,QAAQ,aAAa;AACrB,KAAK,CAAC;AACN;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configureAutoTrack.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"configureAutoTrack.mjs","sources":["../../../../../src/providers/pinpoint/apis/configureAutoTrack.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { updateProviderTrackers, validateTrackerConfiguration, } from '../../../utils';\nimport { record } from './record';\n// Configured Tracker instances for Pinpoint\nconst configuredTrackers = {};\n// Callback that will emit an appropriate event to Pinpoint when required by the Tracker\nconst emitTrackingEvent = (eventName, attributes) => {\n record({\n name: eventName,\n attributes,\n });\n};\n/**\n * Configures automatic event tracking for Pinpoint. This API will automatically transmit an analytic event when\n * configured events are detected within your application. This can include: DOM element events (via the `event`\n * tracker), session events (via the `session` tracker), and page view events (via the `pageView` tracker).\n *\n * @remark Only session tracking is currently supported on React Native.\n *\n * @param {ConfigureAutoTrackInput} params The input object to configure auto track behavior.\n *\n * @throws service: {@link UpdateEndpointException} - Thrown when the underlying Pinpoint service returns an error.\n * @throws validation: {@link AnalyticsValidationErrorCode} - Thrown when the provided parameters or library\n * configuration is incorrect.\n */\nexport const configureAutoTrack = (input) => {\n validateTrackerConfiguration(input);\n // Initialize or update this provider's trackers\n updateProviderTrackers(input, emitTrackingEvent, configuredTrackers);\n};\n"],"names":[],"mappings":";;;;;;;;AAAA;AACA;AAGA;AACA,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B;AACA,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,UAAU,KAAK;AACrD,IAAI,MAAM,CAAC;AACX,QAAQ,IAAI,EAAE,SAAS;AACvB,QAAQ,UAAU;AAClB,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,kBAAkB,GAAG,CAAC,KAAK,KAAK;AAC7C,IAAI,4BAA4B,CAAC,KAAK,CAAC,CAAC;AACxC;AACA,IAAI,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AACzE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flushEvents.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"flushEvents.mjs","sources":["../../../../../src/providers/pinpoint/apis/flushEvents.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { resolveConfig, resolveCredentials } from '../utils';\nimport { flushEvents as flushEventsCore } from '@aws-amplify/core/internals/providers/pinpoint';\nimport { AnalyticsAction } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger } from '@aws-amplify/core';\nimport { getAnalyticsUserAgentString } from '../../../utils';\nconst logger = new ConsoleLogger('Analytics');\n/**\n * Flushes all buffered Pinpoint events to the service.\n *\n * @note\n * This API will make a best-effort attempt to flush events from the buffer. Events recorded immediately after invoking\n * this API may not be included in the flush.\n */\nexport const flushEvents = () => {\n const { appId, region, bufferSize, flushSize, flushInterval, resendLimit } = resolveConfig();\n resolveCredentials()\n .then(({ credentials, identityId }) => flushEventsCore({\n appId,\n region,\n credentials,\n identityId,\n bufferSize,\n flushSize,\n flushInterval,\n resendLimit,\n userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),\n }))\n .catch(e => logger.warn('Failed to flush events', e));\n};\n"],"names":["flushEventsCore"],"mappings":";;;;;;;;;;;;AAAA;AACA;AAMA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,MAAM;AACjC,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE,CAAC;AACjG,IAAI,kBAAkB,EAAE;AACxB,SAAS,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAKA,aAAe,CAAC;AAC/D,QAAQ,KAAK;AACb,QAAQ,MAAM;AACd,QAAQ,WAAW;AACnB,QAAQ,UAAU;AAClB,QAAQ,UAAU;AAClB,QAAQ,SAAS;AACjB,QAAQ,aAAa;AACrB,QAAQ,WAAW;AACnB,QAAQ,cAAc,EAAE,2BAA2B,CAAC,eAAe,CAAC,MAAM,CAAC;AAC3E,KAAK,CAAC,CAAC;AACP,SAAS,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifyUser.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"identifyUser.mjs","sources":["../../../../../src/providers/pinpoint/apis/identifyUser.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AnalyticsAction } from '@aws-amplify/core/internals/utils';\nimport { updateEndpoint, } from '@aws-amplify/core/internals/providers/pinpoint';\nimport { getAnalyticsUserAgentString } from '../../../utils';\nimport { resolveConfig, resolveCredentials } from '../utils';\n/**\n * Sends information about a user to Pinpoint. Sending user information allows you to associate a user to their user\n * profile and activities or actions in your application. Activity can be tracked across devices & platforms by using\n * the same `userId`.\n *\n * @param {IdentifyUserParameters} params The input object used to construct requests sent to Pinpoint's UpdateEndpoint\n * API.\n *\n * @throws service: {@link UpdateEndpointException} - Thrown when the underlying Pinpoint service returns an error.\n * @throws validation: {@link AnalyticsValidationErrorCode} - Thrown when the provided parameters or library\n * configuration is incorrect.\n *\n * @returns A promise that will resolve when the operation is complete.\n *\n * @example\n * ```ts\n * // Identify a user with Pinpoint\n * await identifyUser({\n * userId,\n * userProfile: {\n * email: 'userEmail@example.com'\n * customProperties: {\n * phoneNumber: ['555-555-5555'],\n * },\n * }\n * });\n * ```\n *\n * @example\n * ```ts\n * // Identify a user with Pinpoint with some additional demographics\n * await identifyUser({\n * userId,\n * userProfile: {\n * email: 'userEmail@example.com'\n * customProperties: {\n * phoneNumber: ['555-555-5555'],\n * },\n * demographic: {\n * platform: 'ios',\n * timezone: 'America/Los_Angeles'\n * }\n * }\n * });\n */\nexport const identifyUser = async ({ userId, userProfile, options, }) => {\n const { credentials, identityId } = await resolveCredentials();\n const { appId, region } = resolveConfig();\n const { userAttributes } = options ?? {};\n updateEndpoint({\n appId,\n category: 'Analytics',\n credentials,\n identityId,\n region,\n userAttributes,\n userId,\n userProfile,\n userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.IdentifyUser),\n });\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,YAAY,GAAG,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,KAAK;AACzE,IAAI,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,kBAAkB,EAAE,CAAC;AACnE,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;AAC9C,IAAI,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;AAC7C,IAAI,cAAc,CAAC;AACnB,QAAQ,KAAK;AACb,QAAQ,QAAQ,EAAE,WAAW;AAC7B,QAAQ,WAAW;AACnB,QAAQ,UAAU;AAClB,QAAQ,MAAM;AACd,QAAQ,cAAc;AACtB,QAAQ,MAAM;AACd,QAAQ,WAAW;AACnB,QAAQ,cAAc,EAAE,2BAA2B,CAAC,eAAe,CAAC,YAAY,CAAC;AACjF,KAAK,CAAC,CAAC;AACP;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"record.mjs","sources":["../../../../../src/providers/pinpoint/apis/record.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Hub, ConsoleLogger } from '@aws-amplify/core';\nimport { AMPLIFY_SYMBOL, AnalyticsAction, } from '@aws-amplify/core/internals/utils';\nimport { record as recordCore } from '@aws-amplify/core/internals/providers/pinpoint';\nimport { AnalyticsValidationErrorCode, assertValidationError, } from '../../../errors';\nimport { getAnalyticsUserAgentString, isAnalyticsEnabled, } from '../../../utils';\nimport { resolveConfig, resolveCredentials } from '../utils';\nconst logger = new ConsoleLogger('Analytics');\n/**\n * Records an Analytic event to Pinpoint. Events will be buffered and periodically sent to Pinpoint.\n *\n * @param params The input object used to construct the request.\n *\n * @throws validation: {@link AnalyticsValidationErrorCode} - Thrown when the provided parameters or library\n * configuration is incorrect.\n *\n * @example\n * ```ts\n * // Send an event to Pinpoint\n * record({ name: eventName })\n * ```\n *\n * @example\n * ```ts\n * // Send an event to Pinpoint with metrics & custom attributes\n * record({\n * name: eventName,\n * attributes: {\n * 'my-attribute': attributeValue\n * },\n * metrics: {\n * 'my-metric': metricValue\n * }\n * })\n * ```\n */\nexport const record = (input) => {\n const { appId, region, bufferSize, flushSize, flushInterval, resendLimit } = resolveConfig();\n if (!isAnalyticsEnabled()) {\n logger.debug('Analytics is disabled, event will not be recorded.');\n return;\n }\n assertValidationError(!!input.name, AnalyticsValidationErrorCode.NoEventName);\n resolveCredentials()\n .then(({ credentials, identityId }) => {\n Hub.dispatch('analytics', { event: 'record', data: input, message: 'Recording Analytics event' }, 'Analytics', AMPLIFY_SYMBOL);\n recordCore({\n appId,\n category: 'Analytics',\n credentials,\n event: input,\n identityId,\n region,\n userAgentValue: getAnalyticsUserAgentString(AnalyticsAction.Record),\n bufferSize,\n flushSize,\n flushInterval,\n resendLimit,\n });\n })\n .catch(e => {\n // An error occured while fetching credentials or persisting the event to the buffer\n logger.warn('Failed to record event.', e);\n });\n};\n"],"names":["recordCore"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AAOA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,CAAC,KAAK,KAAK;AACjC,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE,CAAC;AACjG,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;AAC/B,QAAQ,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;AAC3E,QAAQ,OAAO;AACf,KAAK;AACL,IAAI,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,4BAA4B,CAAC,WAAW,CAAC,CAAC;AAClF,IAAI,kBAAkB,EAAE;AACxB,SAAS,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK;AAC/C,QAAQ,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;AACvI,QAAQA,QAAU,CAAC;AACnB,YAAY,KAAK;AACjB,YAAY,QAAQ,EAAE,WAAW;AACjC,YAAY,WAAW;AACvB,YAAY,KAAK,EAAE,KAAK;AACxB,YAAY,UAAU;AACtB,YAAY,MAAM;AAClB,YAAY,cAAc,EAAE,2BAA2B,CAAC,eAAe,CAAC,MAAM,CAAC;AAC/E,YAAY,UAAU;AACtB,YAAY,SAAS;AACrB,YAAY,aAAa;AACzB,YAAY,WAAW;AACvB,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,SAAS,KAAK,CAAC,CAAC,IAAI;AACpB;AACA,QAAQ,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;AAClD,KAAK,CAAC,CAAC;AACP;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveConfig.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"resolveConfig.mjs","sources":["../../../../../src/providers/pinpoint/utils/resolveConfig.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { AnalyticsValidationErrorCode, assertValidationError, } from '../../../errors';\n/**\n * @internal\n */\nexport const resolveConfig = () => {\n const { appId, region, bufferSize, flushSize, flushInterval, resendLimit } = Amplify.getConfig().Analytics?.Pinpoint ?? {};\n assertValidationError(!!appId, AnalyticsValidationErrorCode.NoAppId);\n assertValidationError(!!region, AnalyticsValidationErrorCode.NoRegion);\n return { appId, region, bufferSize, flushSize, flushInterval, resendLimit };\n};\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAGA;AACA;AACA;AACY,MAAC,aAAa,GAAG,MAAM;AACnC,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAC;AAC/H,IAAI,qBAAqB,CAAC,CAAC,CAAC,KAAK,EAAE,4BAA4B,CAAC,OAAO,CAAC,CAAC;AACzE,IAAI,qBAAqB,CAAC,CAAC,CAAC,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC;AAC3E,IAAI,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AAChF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveCredentials.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"resolveCredentials.mjs","sources":["../../../../../src/providers/pinpoint/utils/resolveCredentials.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { fetchAuthSession } from '@aws-amplify/core';\nimport { AnalyticsValidationErrorCode, assertValidationError, } from '../../../errors';\n/**\n * @internal\n */\nexport const resolveCredentials = async () => {\n const { credentials, identityId } = await fetchAuthSession();\n assertValidationError(!!credentials, AnalyticsValidationErrorCode.NoCredentials);\n return { credentials, identityId };\n};\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAGA;AACA;AACA;AACY,MAAC,kBAAkB,GAAG,YAAY;AAC9C,IAAI,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;AACjE,IAAI,qBAAqB,CAAC,CAAC,CAAC,WAAW,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;AACrF,IAAI,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACvC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventTracker.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"EventTracker.mjs","sources":["../../../src/trackers/EventTracker.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger } from '@aws-amplify/core';\nimport { isBrowser } from '@aws-amplify/core/internals/utils';\nconst DEFAULT_EVENTS = ['click'];\nconst DEFAULT_SELECTOR_PREFIX = 'data-amplify-analytics-';\nconst DEFAULT_EVENT_NAME = 'event'; // Default event name as sent to the analytics provider\nconst logger = new ConsoleLogger('EventTracker');\nexport class EventTracker {\n constructor(eventRecorder, options) {\n this.options = {};\n this.trackerActive = false;\n this.eventRecorder = eventRecorder;\n this.handleDocEvent = this.handleDocEvent.bind(this);\n this.configure(eventRecorder, options);\n }\n configure(eventRecorder, options) {\n this.eventRecorder = eventRecorder;\n // Clean up any existing listeners\n this.cleanup();\n // Apply defaults\n this.options = {\n attributes: options?.attributes ?? undefined,\n events: options?.events ?? DEFAULT_EVENTS,\n selectorPrefix: options?.selectorPrefix ?? DEFAULT_SELECTOR_PREFIX,\n };\n // Register event listeners\n if (isBrowser()) {\n this.options.events?.forEach(targetEvent => {\n document.addEventListener(targetEvent, this.handleDocEvent, {\n capture: true,\n });\n });\n this.trackerActive = true;\n }\n }\n cleanup() {\n // No-op if document listener is not active\n if (!this.trackerActive) {\n return;\n }\n // Clean up event listeners\n this.options.events?.forEach(targetEvent => {\n document.removeEventListener(targetEvent, this.handleDocEvent, {\n capture: true,\n });\n });\n }\n handleDocEvent(event) {\n /**\n * Example DOM element:\n *\n * ```\n * <button\n * data-amplify-analytics-on=\"click\"\n * data-amplify-analytics-name=\"click\"\n * data-amplify-analytics-attrs=\"attr1:attr1_value,attr2:attr2_value\"\n * />\n * ```\n */\n const triggerSelector = `[${this.options.selectorPrefix}on]`;\n const attrSelector = `${this.options.selectorPrefix}attrs`;\n const eventNameSelector = `${this.options.selectorPrefix}name`;\n const eventSource = event.target;\n // Validate that the triggering event type is being tracked\n if (!this.options.events?.includes(event.type)) {\n return;\n }\n if (eventSource instanceof HTMLElement) {\n const target = eventSource.closest(triggerSelector);\n if (target) {\n // Parse event name from the element\n const eventName = target.getAttribute(eventNameSelector) || DEFAULT_EVENT_NAME;\n // Parse attributes from the element\n const elementAttributes = {};\n const rawElementAttributes = target.getAttribute(attrSelector);\n rawElementAttributes?.split(/\\s*,\\s*/).forEach(attr => {\n const tmp = attr.trim().split(/\\s*:\\s*/);\n elementAttributes[tmp[0]] = tmp[1];\n });\n // Assemble final list of attributes\n const attributes = Object.assign({\n type: event.type,\n target: `${target.localName} with id ${target.id}`,\n }, this.options.attributes, elementAttributes);\n logger.debug('Recording automatically tracked DOM event', {\n eventName,\n attributes,\n });\n this.eventRecorder(eventName, attributes);\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}
|