__webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "AnalyticsEventBuilder": () => (/* binding */ AnalyticsEventBuilder) /* harmony export */ }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! tslib */ "./node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs"); /* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! uuid */ "./node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/v4.js"); /* harmony import */ var _Event__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Event */ "./node_modules/.pnpm/@aws+clickstream-web@0.12.4_react-native@0.79.2_@babel+core@7.27.1_react@19.1.0_/node_modules/@aws/clickstream-web/lib-esm/provider/Event.js"); /* harmony import */ var _EventChecker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EventChecker */ "./node_modules/.pnpm/@aws+clickstream-web@0.12.4_react-native@0.79.2_@babel+core@7.27.1_react@19.1.0_/node_modules/@aws/clickstream-web/lib-esm/provider/EventChecker.js"); /* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../browser */ "./node_modules/.pnpm/@aws+clickstream-web@0.12.4_react-native@0.79.2_@babel+core@7.27.1_react@19.1.0_/node_modules/@aws/clickstream-web/lib-esm/browser/index.js"); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../config */ "./node_modules/.pnpm/@aws+clickstream-web@0.12.4_react-native@0.79.2_@babel+core@7.27.1_react@19.1.0_/node_modules/@aws/clickstream-web/lib-esm/config.js"); /* harmony import */ var _util_StorageUtil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/StorageUtil */ "./node_modules/.pnpm/@aws+clickstream-web@0.12.4_react-native@0.79.2_@babel+core@7.27.1_react@19.1.0_/node_modules/@aws/clickstream-web/lib-esm/util/StorageUtil.js"); // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 var sdkVersion = _config__WEBPACK_IMPORTED_MODULE_3__["default"].sdkVersion; var AnalyticsEventBuilder = /** @class */ (function () { function AnalyticsEventBuilder() { } AnalyticsEventBuilder.createEvent = function (context, event, userAttributes, globalAttributes, session) { if (globalAttributes === void 0) { globalAttributes = {}; } var browserInfo = context.browserInfo, configuration = context.configuration; var attributes = this.getEventAttributesWithCheck(event.attributes, globalAttributes); if (session !== undefined) { attributes[_Event__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.SESSION_ID] = session.sessionId; attributes[_Event__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.SESSION_START_TIMESTAMP] = session.startTime; attributes[_Event__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.SESSION_DURATION] = session.getDuration(); attributes[_Event__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.SESSION_NUMBER] = session.sessionIndex; } attributes[_Event__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.PAGE_TITLE] = _browser__WEBPACK_IMPORTED_MODULE_2__.BrowserInfo.getCurrentPageTitle(); attributes[_Event__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.PAGE_URL] = _browser__WEBPACK_IMPORTED_MODULE_2__.BrowserInfo.getCurrentPageUrl(); attributes[_Event__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.LATEST_REFERRER] = browserInfo.latestReferrer; attributes[_Event__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.LATEST_REFERRER_HOST] = browserInfo.latestReferrerHost; var items = this.getEventItemsWithCheck(event.items, attributes); return { event_type: event.name, event_id: (0,uuid__WEBPACK_IMPORTED_MODULE_5__["default"])(), device_id: _util_StorageUtil__WEBPACK_IMPORTED_MODULE_4__.StorageUtil.getDeviceId(), unique_id: context.userUniqueId, app_id: configuration.appId, timestamp: new Date().getTime(), host_name: browserInfo.hostName, locale: browserInfo.locale, system_language: browserInfo.system_language, country_code: browserInfo.country_code, zone_offset: browserInfo.zoneOffset, make: browserInfo.make, platform: 'Web', screen_height: window.screen.height, screen_width: window.screen.width, viewport_height: window.innerHeight, viewport_width: window.innerWidth, sdk_name: 'aws-solution-clickstream-sdk', sdk_version: sdkVersion, items: items, user: userAttributes !== null && userAttributes !== void 0 ? userAttributes : {}, attributes: attributes, }; }; AnalyticsEventBuilder.getEventAttributesWithCheck = function (eventAttributes, globalAttributes) { if (globalAttributes === void 0) { globalAttributes = {}; } var customAttributes = {}; var checkAttributes = _EventChecker__WEBPACK_IMPORTED_MODULE_1__.EventChecker.checkAttributes; var globalAttributesLength = Object.keys(globalAttributes).length; for (var key in eventAttributes) { var value = eventAttributes[key]; if (value !== null) { var currentNumber = Object.keys(customAttributes).length + globalAttributesLength; var result = checkAttributes(currentNumber, key, value); var _a = _Event__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute, ERROR_CODE = _a.ERROR_CODE, ERROR_MESSAGE = _a.ERROR_MESSAGE; if (result.error_code > 0) { customAttributes[ERROR_CODE] = result.error_code; customAttributes[ERROR_MESSAGE] = result.error_message; } else { customAttributes[key] = value; } } } return Object.assign(customAttributes, globalAttributes); }; AnalyticsEventBuilder.getEventItemsWithCheck = function (items, attributes) { var e_1, _a; var resultItems = undefined; if (items !== undefined) { resultItems = []; var checkItems = _EventChecker__WEBPACK_IMPORTED_MODULE_1__.EventChecker.checkItems; try { for (var items_1 = (0,tslib__WEBPACK_IMPORTED_MODULE_6__.__values)(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) { var item = items_1_1.value; var result = checkItems(resultItems.length, item); var _b = _Event__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute, ERROR_CODE = _b.ERROR_CODE, ERROR_MESSAGE = _b.ERROR_MESSAGE; if (result.error_code > 0) { attributes[ERROR_CODE] = result.error_code; attributes[ERROR_MESSAGE] = result.error_message; } if (result.error_code === _Event__WEBPACK_IMPORTED_MODULE_0__.Event.ErrorCode.NO_ERROR) { resultItems.push(item); } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1); } finally { if (e_1) throw e_1.error; } } } return resultItems; }; return AnalyticsEventBuilder; }()); //# sourceURL=webpack://@pamperedchef/common-analytics/./node_modules/.pnpm/@aws+clickstream-web@0.12.4_react-native@0.79.2_@babel+core@7.27.1_react@19.1.0_/node_modules/@aws/clickstream-web/lib-esm/provider/AnalyticsEventBuilder.js?