__webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "StorageUtil": () => (/* binding */ StorageUtil) /* harmony export */ }); /* harmony import */ var _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @aws-amplify/core */ "./node_modules/.pnpm/@aws-amplify+core@5.8.14_react-native@0.79.2_@babel+core@7.27.1_react@19.1.0_/node_modules/@aws-amplify/core/lib-esm/Logger/ConsoleLogger.js"); /* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! uuid */ "./node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-browser/v4.js"); /* harmony import */ var _provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../provider */ "./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/index.js"); /* harmony import */ var _tracker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../tracker */ "./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/tracker/index.js"); // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_2__.ConsoleLogger('StorageUtil'); var StorageUtil = /** @class */ (function () { function StorageUtil() { } StorageUtil.getDeviceId = function () { if (StorageUtil.deviceId !== '') { return StorageUtil.deviceId; } var deviceId = localStorage.getItem(StorageUtil.deviceIdKey); if (deviceId === null) { deviceId = (0,uuid__WEBPACK_IMPORTED_MODULE_3__["default"])(); localStorage.setItem(StorageUtil.deviceIdKey, deviceId); } StorageUtil.deviceId = deviceId; return deviceId; }; StorageUtil.setCurrentUserUniqueId = function (userUniqueId) { StorageUtil.userUniqueId = userUniqueId; localStorage.setItem(StorageUtil.userUniqueIdKey, userUniqueId); }; StorageUtil.getCurrentUserUniqueId = function () { if (StorageUtil.userUniqueId !== '') { return StorageUtil.userUniqueId; } var userUniqueId = localStorage.getItem(StorageUtil.userUniqueIdKey); if (userUniqueId === null) { userUniqueId = (0,uuid__WEBPACK_IMPORTED_MODULE_3__["default"])(); StorageUtil.setCurrentUserUniqueId(userUniqueId); localStorage.setItem(StorageUtil.userUniqueIdKey, userUniqueId); StorageUtil.saveUserFirstTouchTimestamp(); } StorageUtil.userUniqueId = userUniqueId; return userUniqueId; }; StorageUtil.saveUserFirstTouchTimestamp = function () { var _b; var firstTouchTimestamp = new Date().getTime(); localStorage.setItem(StorageUtil.userFirstTouchTimestampKey, String(firstTouchTimestamp)); StorageUtil.updateUserAttributes((_b = {}, _b[_provider__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.USER_FIRST_TOUCH_TIMESTAMP] = { value: firstTouchTimestamp, set_timestamp: firstTouchTimestamp, }, _b)); }; StorageUtil.saveUserIdMapping = function (userIdMappingObject) { localStorage.setItem(StorageUtil.userIdMappingKey, JSON.stringify(userIdMappingObject)); }; StorageUtil.getUserIdMapping = function () { return JSON.parse(localStorage.getItem(StorageUtil.userIdMappingKey)); }; StorageUtil.getUserInfoFromMapping = function (userId) { var _b, _c; var userIdMapping = StorageUtil.getUserIdMapping(); var userInfo; var timestamp = new Date().getTime(); if (userIdMapping === null) { userIdMapping = {}; userInfo = (_b = { user_uniqueId: { value: StorageUtil.getCurrentUserUniqueId(), set_timestamp: timestamp, } }, _b[_provider__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.USER_FIRST_TOUCH_TIMESTAMP] = StorageUtil.getAllUserAttributes()[_provider__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.USER_FIRST_TOUCH_TIMESTAMP], _b); } else if (userId in userIdMapping) { userInfo = userIdMapping[userId]; StorageUtil.setCurrentUserUniqueId(userInfo.user_uniqueId.value.toString()); } else { var userUniqueId = (0,uuid__WEBPACK_IMPORTED_MODULE_3__["default"])(); StorageUtil.setCurrentUserUniqueId(userUniqueId); userInfo = (_c = { user_uniqueId: { value: userUniqueId, set_timestamp: timestamp, } }, _c[_provider__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.USER_FIRST_TOUCH_TIMESTAMP] = { value: timestamp, set_timestamp: timestamp, }, _c); } userIdMapping[userId] = userInfo; StorageUtil.saveUserIdMapping(userIdMapping); return userInfo; }; StorageUtil.getBundleSequenceId = function () { var _b; return parseInt((_b = localStorage.getItem(StorageUtil.bundleSequenceIdKey)) !== null && _b !== void 0 ? _b : '1'); }; StorageUtil.saveBundleSequenceId = function (bundleSequenceId) { localStorage.setItem(StorageUtil.bundleSequenceIdKey, String(bundleSequenceId)); }; StorageUtil.updateUserAttributes = function (userAttributes) { localStorage.setItem(StorageUtil.userAttributesKey, JSON.stringify(userAttributes)); }; StorageUtil.getAllUserAttributes = function () { var _b; var userAttributes = (_b = localStorage.getItem(StorageUtil.userAttributesKey)) !== null && _b !== void 0 ? _b : '{}'; return JSON.parse(userAttributes); }; StorageUtil.getSimpleUserAttributes = function () { var _b; var allUserAttributes = StorageUtil.getAllUserAttributes(); var simpleUserAttributes = (_b = {}, _b[_provider__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.USER_FIRST_TOUCH_TIMESTAMP] = allUserAttributes[_provider__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.USER_FIRST_TOUCH_TIMESTAMP], _b); if (allUserAttributes[_provider__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.USER_ID] !== undefined) { simpleUserAttributes[_provider__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.USER_ID] = allUserAttributes[_provider__WEBPACK_IMPORTED_MODULE_0__.Event.ReservedAttribute.USER_ID]; } return simpleUserAttributes; }; StorageUtil.getFailedEvents = function () { var _b; return (_b = localStorage.getItem(StorageUtil.failedEventsKey)) !== null && _b !== void 0 ? _b : ''; }; StorageUtil.saveFailedEvent = function (event) { var MAX_FAILED_EVENTS_SIZE = StorageUtil.MAX_FAILED_EVENTS_SIZE; var allEvents = StorageUtil.getFailedEvents(); var eventsStr = ''; if (allEvents === '') { eventsStr = _provider__WEBPACK_IMPORTED_MODULE_0__.Event.Constants.PREFIX + JSON.stringify(event); } else { eventsStr = allEvents + ',' + JSON.stringify(event); } if (eventsStr.length <= MAX_FAILED_EVENTS_SIZE) { localStorage.setItem(StorageUtil.failedEventsKey, eventsStr); } else { var maxSize = MAX_FAILED_EVENTS_SIZE / 1024; logger.warn("Failed events reached max cache size of ".concat(maxSize, "kb")); } }; StorageUtil.clearFailedEvents = function () { localStorage.removeItem(StorageUtil.failedEventsKey); }; StorageUtil.getAllEvents = function () { var _b; return (_b = localStorage.getItem(StorageUtil.eventsKey)) !== null && _b !== void 0 ? _b : ''; }; StorageUtil.saveEvent = function (event) { var MAX_BATCH_EVENTS_SIZE = StorageUtil.MAX_BATCH_EVENTS_SIZE; var allEvents = StorageUtil.getAllEvents(); var eventsStr = ''; if (allEvents === '') { eventsStr = _provider__WEBPACK_IMPORTED_MODULE_0__.Event.Constants.PREFIX + JSON.stringify(event); } else { eventsStr = allEvents + ',' + JSON.stringify(event); } if (eventsStr.length <= MAX_BATCH_EVENTS_SIZE) { localStorage.setItem(StorageUtil.eventsKey, eventsStr); return true; } else { var maxSize = MAX_BATCH_EVENTS_SIZE / 1024; logger.warn("Events reached max cache size of ".concat(maxSize, "kb")); return false; } }; StorageUtil.clearEvents = function (eventsJson) { var eventsString = this.getAllEvents(); if (eventsString === '') return; var deletedEvents = JSON.parse(eventsJson); var allEvents = JSON.parse(this.getAllEvents() + _provider__WEBPACK_IMPORTED_MODULE_0__.Event.Constants.SUFFIX); if (allEvents.length > deletedEvents.length) { var leftEvents = allEvents.splice(deletedEvents.length); var leftEventsStr = JSON.stringify(leftEvents); leftEventsStr = leftEventsStr.substring(0, leftEventsStr.length - 1); localStorage.setItem(StorageUtil.eventsKey, leftEventsStr); } else { localStorage.removeItem(StorageUtil.eventsKey); } }; StorageUtil.clearAllEvents = function () { localStorage.removeItem(StorageUtil.eventsKey); }; StorageUtil.saveSession = function (session) { localStorage.setItem(StorageUtil.sessionKey, JSON.stringify(session)); }; StorageUtil.getSession = function () { var sessionStr = localStorage.getItem(StorageUtil.sessionKey); if (sessionStr === null) { return null; } var sessionObject = JSON.parse(sessionStr); return new _tracker__WEBPACK_IMPORTED_MODULE_1__.Session(sessionObject.sessionId, sessionObject.sessionIndex, sessionObject.startTime, sessionObject.pauseTime); }; StorageUtil.getIsFirstOpen = function () { return localStorage.getItem(StorageUtil.isFirstOpenKey) === null; }; StorageUtil.saveIsFirstOpenToFalse = function () { localStorage.setItem(StorageUtil.isFirstOpenKey, '0'); }; StorageUtil.clearPageInfo = function () { localStorage.setItem(StorageUtil.previousPageUrlKey, ''); localStorage.setItem(StorageUtil.previousPageTitleKey, ''); }; StorageUtil.getPreviousPageUrl = function () { var _b; return (_b = localStorage.getItem(StorageUtil.previousPageUrlKey)) !== null && _b !== void 0 ? _b : ''; }; StorageUtil.savePreviousPageUrl = function (url) { localStorage.setItem(StorageUtil.previousPageUrlKey, url); }; StorageUtil.getPreviousPageTitle = function () { var _b; return (_b = localStorage.getItem(StorageUtil.previousPageTitleKey)) !== null && _b !== void 0 ? _b : ''; }; StorageUtil.savePreviousPageTitle = function (title) { localStorage.setItem(StorageUtil.previousPageTitleKey, title); }; StorageUtil.getPreviousPageStartTime = function () { var startTime = localStorage.getItem(StorageUtil.previousPageStartTimeKey); if (startTime === null) { return 0; } else { return Number(startTime); } }; StorageUtil.savePreviousPageStartTime = function (timestamp) { localStorage.setItem(StorageUtil.previousPageStartTimeKey, timestamp.toString()); }; StorageUtil.checkDeviceId = function () { var _b; var currentDeviceId = (_b = localStorage.getItem(StorageUtil.deviceIdKey)) !== null && _b !== void 0 ? _b : ''; if (StorageUtil.deviceId !== '' && currentDeviceId === '') { localStorage.setItem(StorageUtil.deviceIdKey, StorageUtil.deviceId); } }; StorageUtil.checkUserUniqueId = function () { var _b; var currentUserUniqueId = (_b = localStorage.getItem(StorageUtil.userUniqueIdKey)) !== null && _b !== void 0 ? _b : ''; if (StorageUtil.userUniqueId !== '' && currentUserUniqueId === '') { localStorage.setItem(StorageUtil.userUniqueIdKey, StorageUtil.userUniqueId); } }; StorageUtil.checkIsFirstOpen = function () { if (StorageUtil.getIsFirstOpen()) { StorageUtil.saveIsFirstOpenToFalse(); } }; StorageUtil.checkClickstreamId = function () { StorageUtil.checkDeviceId(); StorageUtil.checkUserUniqueId(); StorageUtil.checkIsFirstOpen(); }; StorageUtil.clearAll = function () { localStorage.clear(); StorageUtil.deviceid = ''; StorageUtil.userUniqueId = ''; }; var _a; _a = StorageUtil; StorageUtil.MAX_REQUEST_EVENTS_SIZE = 1024 * 512; StorageUtil.MAX_FAILED_EVENTS_SIZE = _a.MAX_REQUEST_EVENTS_SIZE; StorageUtil.MAX_BATCH_EVENTS_SIZE = 1024 * 1024; StorageUtil.prefix = 'aws-solution/clickstream-web/'; StorageUtil.deviceIdKey = _a.prefix + 'deviceIdKey'; StorageUtil.userUniqueIdKey = _a.prefix + 'userUniqueIdKey'; StorageUtil.bundleSequenceIdKey = _a.prefix + 'bundleSequenceIdKey'; StorageUtil.userAttributesKey = _a.prefix + 'userAttributesKey'; StorageUtil.userFirstTouchTimestampKey = _a.prefix + 'userFirstTouchTimestampKey'; StorageUtil.failedEventsKey = _a.prefix + 'failedEventsKey'; StorageUtil.eventsKey = _a.prefix + 'eventsKey'; StorageUtil.sessionKey = _a.prefix + 'sessionKey'; StorageUtil.isFirstOpenKey = _a.prefix + 'isFirstOpenKey'; StorageUtil.previousPageUrlKey = _a.prefix + 'previousPageUrlKey'; StorageUtil.previousPageTitleKey = _a.prefix + 'previousPageTitleKey'; StorageUtil.previousPageStartTimeKey = _a.prefix + 'previousPageStartTimeKey'; StorageUtil.userIdMappingKey = _a.prefix + 'userIdMappingKey'; StorageUtil.deviceId = ''; StorageUtil.userUniqueId = ''; return StorageUtil; }()); //# 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/util/StorageUtil.js?