kv-test-lib 3.5.0-rc.3 → 3.5.0-rc.4

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.
@@ -237,7 +237,7 @@ export var removeFromIdLinkPersistedQueue = function (job) {
237
237
  };
238
238
  export var addPersistedIdLinks = function (key, value, useCookies) {
239
239
  return __awaiter(void 0, void 0, void 0, function () {
240
- var persistedIdLinksStr, persistedIdLinks, storedSoFar;
240
+ var persistedIdLinksStr, persistedIdLinks, storedSoFar, oldestKey;
241
241
  return __generator(this, function (_a) {
242
242
  switch (_a.label) {
243
243
  case 0:
@@ -246,9 +246,10 @@ export var addPersistedIdLinks = function (key, value, useCookies) {
246
246
  persistedIdLinksStr = _a.sent();
247
247
  persistedIdLinks = JSON.parse(persistedIdLinksStr) || {};
248
248
  storedSoFar = Object.keys(persistedIdLinks);
249
- if (storedSoFar.length > MAX_STORED_IDLINKS) {
250
- Log.debug("Maximum stored idLinks reached, most recent idLink will not be stored.");
251
- return [2 /*return*/];
249
+ if (storedSoFar.length >= MAX_STORED_IDLINKS) {
250
+ oldestKey = storedSoFar[0];
251
+ delete persistedIdLinks[oldestKey];
252
+ Log.debug("Maximum stored idLinks reached, removing oldest '".concat(oldestKey, "' to store new one."));
252
253
  }
253
254
  persistedIdLinks[key] = value;
254
255
  updatePersistedValue(PersistKey.IdentityLinks, JSON.stringify(persistedIdLinks), useCookies);
@@ -584,7 +585,7 @@ export var persistSentDeviceIds = function (ids) {
584
585
  export var MAX_STORED_DEVICE_IDS = 9;
585
586
  export var checkAndRecordDeviceIdChange = function (name, value) {
586
587
  return __awaiter(void 0, void 0, void 0, function () {
587
- var sentIds;
588
+ var sentIds, oldestKey;
588
589
  return __generator(this, function (_a) {
589
590
  switch (_a.label) {
590
591
  case 0:
@@ -594,8 +595,9 @@ export var checkAndRecordDeviceIdChange = function (name, value) {
594
595
  if (sentIds[name] === value) return [2 /*return*/, false];
595
596
  if (!(name in sentIds) && !value) return [2 /*return*/, false];
596
597
  if (!(name in sentIds) && value && Object.keys(sentIds).length >= MAX_STORED_DEVICE_IDS) {
597
- Log.debug("Maximum stored device identifiers reached, skipping.");
598
- return [2 /*return*/, false];
598
+ oldestKey = Object.keys(sentIds)[0];
599
+ delete sentIds[oldestKey];
600
+ Log.debug("Maximum stored device identifiers reached, removing oldest '".concat(oldestKey, "' to store new one."));
599
601
  }
600
602
  if (value) {
601
603
  sentIds[name] = value;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../node/browser/persist.js"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","_","label","sent","t","trys","ops","f","y","g","verb","Symbol","iterator","n","v","op","TypeError","call","pop","length","push","utils","getUrlParameter","setCookie","getCookie","deleteCookie","Log","MAX_STORED_IDLINKS","PersistKey","storedKeys","LastKvinit","EventQueue","IdLinkQueue","UpdateQueue","DeviceId","InstallId","FirstStartDate","InstallSentDate","KvinitSentDate","SessionCount","IdentityLinks","SentDeviceIds","OverrideAppId","OverrideDeviceId","LastInstall","InstallCount","storage","configureStorage","adapter","checkInstallIdChange","inputId","useCookies","persistedInstallId","_a","readAndUpdatePersistedValue","updatePersistedValue","addToPersistedEventQueue","job","persistedQueueStr","persistedQueue","getItem","undefined","JSON","parse","setItem","stringify","removeFromEventPersistedQueue","queueWithJobRemoved","filter","persistedJob","id","updateOrAddPersistedIdLinkQueue","idLinkKey","updated","_i","persistedQueue_1","persistedKey","Object","keys","idLink","removeFromIdLinkPersistedQueue","addPersistedIdLinks","key","persistedIdLinksStr","persistedIdLinks","storedSoFar","debug","checkDuplicateIdLink","getPersistedIdentityLinks","readAndUpdateUTM","appGuid","storageName","urlValue","storageValue","cookieValue","useCookie","deletePersistedValue","item","removeItem","deleteAllPersisted","all","map","readAndUpdateDeviceId","storedDeviceId","kvId","concat","getCurrTimeSec","uuidv4","replace","readAndUpdateSessionCount","storedSessionCount","sessionCount","parseInt","toString","updateLastInstall","lastInstallObject","lastInstallStr","getLastInstall","updateInstallCount","installCount","error_1","error","error_2","getSentDeviceIds","raw","_b","persistSentDeviceIds","ids","MAX_STORED_DEVICE_IDS","checkAndRecordDeviceIdChange","name","sentIds"],"mappings":"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","file":"persist.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport * as utils from \"../utils/utils\";\nimport { getUrlParameter } from \"./browser\";\nimport { setCookie, getCookie, deleteCookie } from \"./cookies\";\nimport { Log } from \"../utils/log\";\nexport var MAX_STORED_IDLINKS = 9;\nexport var PersistKey;\n(function (PersistKey) {\n PersistKey[\"LastKvinit\"] = \"com.kochava.tracker.LastKvinit\";\n PersistKey[\"EventQueue\"] = \"com.kochava.tracker.EventQueue\";\n PersistKey[\"IdLinkQueue\"] = \"com.kochava.tracker.IdLinkQueue\";\n PersistKey[\"UpdateQueue\"] = \"com.kochava.tracker.UpdateQueue\";\n PersistKey[\"DeviceId\"] = \"com.kochava.tracker.DeviceId\";\n PersistKey[\"InstallId\"] = \"com.kochava.tracker.InstallId\";\n PersistKey[\"FirstStartDate\"] = \"com.kochava.tracker.FirstStartDate\";\n PersistKey[\"InstallSentDate\"] = \"com.kochava.tracker.InstallSentDate\";\n PersistKey[\"KvinitSentDate\"] = \"com.kochava.tracker.KvinitSentDate\";\n PersistKey[\"SessionCount\"] = \"com.kochava.tracker.SessionCount\";\n PersistKey[\"IdentityLinks\"] = \"com.kochava.tracker.IdentityLinks\";\n PersistKey[\"SentDeviceIds\"] = \"com.kochava.tracker.SentDeviceIds\";\n PersistKey[\"OverrideAppId\"] = \"com.kochava.tracker.OverrideAppId\";\n PersistKey[\"OverrideDeviceId\"] = \"com.kochava.tracker.OverrideDeviceId\";\n PersistKey[\"LastInstall\"] = \"com.kochava.tracker.LastInstall\";\n PersistKey[\"InstallCount\"] = \"com.kochava.tracker.InstallCount\";\n PersistKey[\"OldKvid\"] = \"kv_id\";\n})(PersistKey || (PersistKey = {}));\nvar storedKeys = [\n PersistKey.LastKvinit,\n PersistKey.EventQueue,\n PersistKey.IdLinkQueue,\n PersistKey.UpdateQueue,\n PersistKey.DeviceId,\n PersistKey.InstallId,\n PersistKey.FirstStartDate,\n PersistKey.InstallSentDate,\n PersistKey.KvinitSentDate,\n PersistKey.SessionCount,\n PersistKey.IdentityLinks,\n PersistKey.SentDeviceIds,\n PersistKey.OverrideAppId,\n PersistKey.OverrideDeviceId,\n PersistKey.LastInstall,\n PersistKey.InstallCount,\n];\nvar storage;\nexport var configureStorage = function (adapter) {\n storage = adapter;\n};\nexport var checkInstallIdChange = function (inputId, useCookies) { return __awaiter(void 0, void 0, void 0, function () {\n var persistedInstallId;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, readAndUpdatePersistedValue(PersistKey.InstallId, useCookies)];\n case 1:\n persistedInstallId = _a.sent();\n // if the input is empty, we don't need to change\n if (!inputId)\n return [2 /*return*/, false];\n // if the persistedId is empty, we will need to change\n if (!persistedInstallId) {\n updatePersistedValue(PersistKey.InstallId, inputId, useCookies);\n return [2 /*return*/, true];\n }\n // if the inputId and persistedId are the same, we dont need to change\n if (inputId === persistedInstallId)\n return [2 /*return*/, false];\n // at this point both inputId and persistedInstallId exist and are not equal,\n // so we must need to change\n updatePersistedValue(PersistKey.InstallId, inputId, useCookies);\n return [2 /*return*/, true];\n }\n });\n}); };\nexport var addToPersistedEventQueue = function (job) { return __awaiter(void 0, void 0, void 0, function () {\n var persistedQueueStr, persistedQueue;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.EventQueue)];\n case 1:\n persistedQueueStr = _a.sent();\n if (persistedQueueStr === null || persistedQueueStr === undefined || persistedQueueStr === '{}')\n persistedQueueStr = '[]';\n persistedQueue = JSON.parse(persistedQueueStr) || [];\n persistedQueue.push(job);\n return [4 /*yield*/, storage.setItem(PersistKey.EventQueue, JSON.stringify(persistedQueue))];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nexport var removeFromEventPersistedQueue = function (job) { return __awaiter(void 0, void 0, void 0, function () {\n var persistedQueueStr, persistedQueue, queueWithJobRemoved;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.EventQueue)];\n case 1:\n persistedQueueStr = _a.sent();\n persistedQueue = JSON.parse(persistedQueueStr) || [];\n queueWithJobRemoved = persistedQueue.filter(function (persistedJob) {\n return persistedJob.id !== job.id;\n });\n return [4 /*yield*/, storage.setItem(PersistKey.EventQueue, JSON.stringify(queueWithJobRemoved))];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nexport var updateOrAddPersistedIdLinkQueue = function (job) { return __awaiter(void 0, void 0, void 0, function () {\n var idLinkKey, persistedQueueStr, persistedQueue, updated, _i, persistedQueue_1, persistedJob, persistedKey;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n idLinkKey = Object.keys(job.idLink)[0];\n return [4 /*yield*/, storage.getItem(PersistKey.IdLinkQueue)];\n case 1:\n persistedQueueStr = _a.sent();\n persistedQueue = JSON.parse(persistedQueueStr) || [];\n updated = false;\n for (_i = 0, persistedQueue_1 = persistedQueue; _i < persistedQueue_1.length; _i++) {\n persistedJob = persistedQueue_1[_i];\n persistedKey = Object.keys(persistedJob.idLink)[0];\n // if the key is already there, update it\n if (idLinkKey === persistedKey) {\n persistedJob.idLink[idLinkKey] = job.idLink[idLinkKey];\n updated = true;\n }\n }\n // if the key is new, add it\n if (!updated) {\n persistedQueue.push(job);\n }\n return [4 /*yield*/, storage.setItem(PersistKey.IdLinkQueue, JSON.stringify(persistedQueue))];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nexport var removeFromIdLinkPersistedQueue = function (job) { return __awaiter(void 0, void 0, void 0, function () {\n var persistedQueueStr, persistedQueue, queueWithJobRemoved;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.IdLinkQueue)];\n case 1:\n persistedQueueStr = _a.sent();\n persistedQueue = JSON.parse(persistedQueueStr) || [];\n queueWithJobRemoved = persistedQueue.filter(function (persistedJob) {\n return persistedJob.id !== job.id;\n });\n return [4 /*yield*/, storage.setItem(PersistKey.IdLinkQueue, JSON.stringify(queueWithJobRemoved))];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nexport var addPersistedIdLinks = function (key, value, useCookies) { return __awaiter(void 0, void 0, void 0, function () {\n var persistedIdLinksStr, persistedIdLinks, storedSoFar;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.IdentityLinks)];\n case 1:\n persistedIdLinksStr = _a.sent();\n persistedIdLinks = JSON.parse(persistedIdLinksStr) || {};\n storedSoFar = Object.keys(persistedIdLinks);\n if (storedSoFar.length > MAX_STORED_IDLINKS) {\n Log.debug(\"Maximum stored idLinks reached, most recent idLink will not be stored.\");\n return [2 /*return*/];\n }\n persistedIdLinks[key] = value;\n updatePersistedValue(PersistKey.IdentityLinks, JSON.stringify(persistedIdLinks), useCookies);\n return [2 /*return*/];\n }\n });\n}); };\nexport var checkDuplicateIdLink = function (key, value) { return __awaiter(void 0, void 0, void 0, function () {\n var persistedIdLinksStr, persistedIdLinks, persistedKey;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.IdentityLinks)];\n case 1:\n persistedIdLinksStr = _a.sent();\n if (persistedIdLinksStr) {\n persistedIdLinks = JSON.parse(persistedIdLinksStr) || {};\n for (persistedKey in persistedIdLinks) {\n if (key === persistedKey && persistedIdLinks[persistedKey] === value) {\n return [2 /*return*/, true];\n }\n }\n }\n return [2 /*return*/, false];\n }\n });\n}); };\nexport var getPersistedIdentityLinks = function () { return __awaiter(void 0, void 0, void 0, function () {\n var persistedIdLinksStr;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.IdentityLinks)];\n case 1:\n persistedIdLinksStr = _a.sent();\n if (persistedIdLinksStr) {\n return [2 /*return*/, JSON.parse(persistedIdLinksStr)];\n }\n return [2 /*return*/, undefined];\n }\n });\n}); };\nexport var readAndUpdateUTM = function (appGuid, useCookies) { return __awaiter(void 0, void 0, void 0, function () {\n var storageName, urlValue, storageValue, cookieValue;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n storageName = appGuid + \"_click\";\n urlValue = getUrlParameter(\"ko_click_id\");\n return [4 /*yield*/, storage.getItem(storageName)];\n case 1:\n storageValue = _a.sent();\n cookieValue = \"\";\n if (useCookies)\n cookieValue = getCookie(storageName);\n if (!urlValue) return [3 /*break*/, 3];\n return [4 /*yield*/, storage.setItem(storageName, urlValue)];\n case 2:\n _a.sent();\n if (useCookies)\n setCookie(storageName, urlValue);\n return [3 /*break*/, 4];\n case 3:\n if (storageValue) {\n if (useCookies)\n setCookie(storageName, urlValue);\n }\n _a.label = 4;\n case 4: return [2 /*return*/, (urlValue) ? urlValue :\n (storageValue) ? storageValue :\n (cookieValue) ? cookieValue : \"\"];\n }\n });\n}); };\nexport var readAndUpdatePersistedValue = function (key, useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n var urlValue, storageValue, cookieValue;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n urlValue = getUrlParameter(key);\n return [4 /*yield*/, storage.getItem(key)];\n case 1:\n storageValue = _a.sent();\n cookieValue = \"\";\n if (useCookie)\n cookieValue = getCookie(key);\n if (!urlValue) return [3 /*break*/, 3];\n return [4 /*yield*/, updatePersistedValue(key, urlValue, useCookie)];\n case 2:\n _a.sent();\n return [3 /*break*/, 7];\n case 3:\n if (!storageValue) return [3 /*break*/, 5];\n return [4 /*yield*/, updatePersistedValue(key, storageValue, useCookie)];\n case 4:\n _a.sent();\n return [3 /*break*/, 7];\n case 5:\n if (!cookieValue) return [3 /*break*/, 7];\n return [4 /*yield*/, updatePersistedValue(key, storageValue, useCookie)];\n case 6:\n _a.sent();\n _a.label = 7;\n case 7: return [2 /*return*/, (urlValue) ? urlValue :\n (storageValue) ? storageValue :\n (cookieValue) ? cookieValue : \"\"];\n }\n });\n}); };\nexport var updatePersistedValue = function (key, value, useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.setItem(key, value)];\n case 1:\n _a.sent();\n if (useCookie)\n setCookie(key, value);\n return [2 /*return*/];\n }\n });\n}); };\nexport var deletePersistedValue = function (item) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.removeItem(item)];\n case 1:\n _a.sent();\n deleteCookie(item);\n return [2 /*return*/];\n }\n });\n}); };\nexport var deleteAllPersisted = function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, Promise.all(storedKeys.map(function (item) { return deletePersistedValue(item); }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nexport var readAndUpdateDeviceId = function (useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n var storedDeviceId, kvId;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, readAndUpdatePersistedValue(PersistKey.DeviceId, useCookie)];\n case 1:\n storedDeviceId = _a.sent();\n if (!storedDeviceId) {\n kvId = \"KB\".concat(utils.getCurrTimeSec(), \"T\").concat(utils.uuidv4());\n storedDeviceId = kvId.replace(/-/g, \"\");\n }\n return [4 /*yield*/, updatePersistedValue(PersistKey.DeviceId, storedDeviceId, useCookie)];\n case 2:\n _a.sent();\n return [2 /*return*/, storedDeviceId];\n }\n });\n}); };\nexport var readAndUpdateSessionCount = function (useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n var storedSessionCount, sessionCount;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, readAndUpdatePersistedValue(PersistKey.SessionCount, useCookie)];\n case 1:\n storedSessionCount = _a.sent();\n sessionCount = 1;\n if (storedSessionCount) {\n sessionCount = parseInt(storedSessionCount);\n sessionCount++;\n }\n return [4 /*yield*/, updatePersistedValue(PersistKey.SessionCount, sessionCount.toString(), useCookie)];\n case 2:\n _a.sent();\n return [2 /*return*/, sessionCount];\n }\n });\n}); };\nexport var updateLastInstall = function (lastInstallObject, useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n var lastInstallStr;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n lastInstallStr = JSON.stringify(lastInstallObject);\n return [4 /*yield*/, storage.setItem(PersistKey.LastInstall, lastInstallStr)];\n case 1:\n _a.sent();\n if (useCookie)\n setCookie(PersistKey.LastInstall, lastInstallStr);\n return [2 /*return*/];\n }\n });\n}); };\nexport var getLastInstall = function (useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n var lastInstallStr, cookieValue;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.LastInstall)];\n case 1:\n lastInstallStr = _a.sent();\n if (lastInstallStr) {\n return [2 /*return*/, JSON.parse(lastInstallStr)];\n }\n else if (useCookie) {\n cookieValue = getCookie(PersistKey.LastInstall);\n if (cookieValue) {\n return [2 /*return*/, JSON.parse(cookieValue)];\n }\n }\n return [2 /*return*/, undefined];\n }\n });\n}); };\nexport var updateInstallCount = function (installCount, useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.setItem(PersistKey.InstallCount, installCount.toString())];\n case 1:\n _a.sent();\n if (useCookie) {\n setCookie(PersistKey.InstallCount, installCount.toString());\n }\n return [2 /*return*/];\n }\n });\n}); };\nexport var getItem = function (key) { return __awaiter(void 0, void 0, void 0, function () {\n var value, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, storage.getItem(key)];\n case 1:\n value = _a.sent();\n if (value) {\n return [2 /*return*/, value];\n }\n else {\n return [2 /*return*/, null];\n }\n return [3 /*break*/, 3];\n case 2:\n error_1 = _a.sent();\n Log.error(\"Error getting item \".concat(key, \" from localStorage:\"), error_1);\n return [2 /*return*/, null];\n case 3: return [2 /*return*/];\n }\n });\n}); };\nexport var setItem = function (key, value) { return __awaiter(void 0, void 0, void 0, function () {\n var error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, storage.setItem(key, value)];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n error_2 = _a.sent();\n Log.error(\"Error setting item \".concat(key, \" in localStorage:\"), error_2);\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n}); };\nexport var getSentDeviceIds = function () { return __awaiter(void 0, void 0, void 0, function () {\n var raw;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.SentDeviceIds)];\n case 1:\n raw = _a.sent();\n if (!raw)\n return [2 /*return*/, {}];\n try {\n return [2 /*return*/, JSON.parse(raw)];\n }\n catch (_b) {\n return [2 /*return*/, {}];\n }\n return [2 /*return*/];\n }\n });\n}); };\nexport var persistSentDeviceIds = function (ids) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.setItem(PersistKey.SentDeviceIds, JSON.stringify(ids))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nexport var MAX_STORED_DEVICE_IDS = 9;\nexport var checkAndRecordDeviceIdChange = function (name, value) { return __awaiter(void 0, void 0, void 0, function () {\n var sentIds;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, getSentDeviceIds()];\n case 1:\n sentIds = _a.sent();\n if (sentIds[name] === value)\n return [2 /*return*/, false];\n if (!(name in sentIds) && !value)\n return [2 /*return*/, false];\n if (!(name in sentIds) && value && Object.keys(sentIds).length >= MAX_STORED_DEVICE_IDS) {\n Log.debug(\"Maximum stored device identifiers reached, skipping.\");\n return [2 /*return*/, false];\n }\n if (value) {\n sentIds[name] = value;\n }\n else {\n delete sentIds[name];\n }\n return [4 /*yield*/, persistSentDeviceIds(sentIds)];\n case 2:\n _a.sent();\n return [2 /*return*/, true];\n }\n });\n}); };\n"]}
1
+ {"version":3,"sources":["../../node/browser/persist.js"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","_","label","sent","t","trys","ops","f","y","g","verb","Symbol","iterator","n","v","op","TypeError","call","pop","length","push","utils","getUrlParameter","setCookie","getCookie","deleteCookie","Log","MAX_STORED_IDLINKS","PersistKey","storedKeys","LastKvinit","EventQueue","IdLinkQueue","UpdateQueue","DeviceId","InstallId","FirstStartDate","InstallSentDate","KvinitSentDate","SessionCount","IdentityLinks","SentDeviceIds","OverrideAppId","OverrideDeviceId","LastInstall","InstallCount","storage","configureStorage","adapter","checkInstallIdChange","inputId","useCookies","persistedInstallId","_a","readAndUpdatePersistedValue","updatePersistedValue","addToPersistedEventQueue","job","persistedQueueStr","persistedQueue","getItem","undefined","JSON","parse","setItem","stringify","removeFromEventPersistedQueue","queueWithJobRemoved","filter","persistedJob","id","updateOrAddPersistedIdLinkQueue","idLinkKey","updated","_i","persistedQueue_1","persistedKey","Object","keys","idLink","removeFromIdLinkPersistedQueue","addPersistedIdLinks","key","persistedIdLinksStr","persistedIdLinks","storedSoFar","oldestKey","debug","concat","checkDuplicateIdLink","getPersistedIdentityLinks","readAndUpdateUTM","appGuid","storageName","urlValue","storageValue","cookieValue","useCookie","deletePersistedValue","item","removeItem","deleteAllPersisted","all","map","readAndUpdateDeviceId","storedDeviceId","kvId","getCurrTimeSec","uuidv4","replace","readAndUpdateSessionCount","storedSessionCount","sessionCount","parseInt","toString","updateLastInstall","lastInstallObject","lastInstallStr","getLastInstall","updateInstallCount","installCount","error_1","error","error_2","getSentDeviceIds","raw","_b","persistSentDeviceIds","ids","MAX_STORED_DEVICE_IDS","checkAndRecordDeviceIdChange","name","sentIds"],"mappings":"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","file":"persist.js","sourcesContent":["/*\n Authored by Brett Barinaga on 11/17/21.\n Copyright (c) Kochava, Inc. All rights reserved.\n*/\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport * as utils from \"../utils/utils\";\nimport { getUrlParameter } from \"./browser\";\nimport { setCookie, getCookie, deleteCookie } from \"./cookies\";\nimport { Log } from \"../utils/log\";\nexport var MAX_STORED_IDLINKS = 9;\nexport var PersistKey;\n(function (PersistKey) {\n PersistKey[\"LastKvinit\"] = \"com.kochava.tracker.LastKvinit\";\n PersistKey[\"EventQueue\"] = \"com.kochava.tracker.EventQueue\";\n PersistKey[\"IdLinkQueue\"] = \"com.kochava.tracker.IdLinkQueue\";\n PersistKey[\"UpdateQueue\"] = \"com.kochava.tracker.UpdateQueue\";\n PersistKey[\"DeviceId\"] = \"com.kochava.tracker.DeviceId\";\n PersistKey[\"InstallId\"] = \"com.kochava.tracker.InstallId\";\n PersistKey[\"FirstStartDate\"] = \"com.kochava.tracker.FirstStartDate\";\n PersistKey[\"InstallSentDate\"] = \"com.kochava.tracker.InstallSentDate\";\n PersistKey[\"KvinitSentDate\"] = \"com.kochava.tracker.KvinitSentDate\";\n PersistKey[\"SessionCount\"] = \"com.kochava.tracker.SessionCount\";\n PersistKey[\"IdentityLinks\"] = \"com.kochava.tracker.IdentityLinks\";\n PersistKey[\"SentDeviceIds\"] = \"com.kochava.tracker.SentDeviceIds\";\n PersistKey[\"OverrideAppId\"] = \"com.kochava.tracker.OverrideAppId\";\n PersistKey[\"OverrideDeviceId\"] = \"com.kochava.tracker.OverrideDeviceId\";\n PersistKey[\"LastInstall\"] = \"com.kochava.tracker.LastInstall\";\n PersistKey[\"InstallCount\"] = \"com.kochava.tracker.InstallCount\";\n PersistKey[\"OldKvid\"] = \"kv_id\";\n})(PersistKey || (PersistKey = {}));\nvar storedKeys = [\n PersistKey.LastKvinit,\n PersistKey.EventQueue,\n PersistKey.IdLinkQueue,\n PersistKey.UpdateQueue,\n PersistKey.DeviceId,\n PersistKey.InstallId,\n PersistKey.FirstStartDate,\n PersistKey.InstallSentDate,\n PersistKey.KvinitSentDate,\n PersistKey.SessionCount,\n PersistKey.IdentityLinks,\n PersistKey.SentDeviceIds,\n PersistKey.OverrideAppId,\n PersistKey.OverrideDeviceId,\n PersistKey.LastInstall,\n PersistKey.InstallCount,\n];\nvar storage;\nexport var configureStorage = function (adapter) {\n storage = adapter;\n};\nexport var checkInstallIdChange = function (inputId, useCookies) { return __awaiter(void 0, void 0, void 0, function () {\n var persistedInstallId;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, readAndUpdatePersistedValue(PersistKey.InstallId, useCookies)];\n case 1:\n persistedInstallId = _a.sent();\n // if the input is empty, we don't need to change\n if (!inputId)\n return [2 /*return*/, false];\n // if the persistedId is empty, we will need to change\n if (!persistedInstallId) {\n updatePersistedValue(PersistKey.InstallId, inputId, useCookies);\n return [2 /*return*/, true];\n }\n // if the inputId and persistedId are the same, we dont need to change\n if (inputId === persistedInstallId)\n return [2 /*return*/, false];\n // at this point both inputId and persistedInstallId exist and are not equal,\n // so we must need to change\n updatePersistedValue(PersistKey.InstallId, inputId, useCookies);\n return [2 /*return*/, true];\n }\n });\n}); };\nexport var addToPersistedEventQueue = function (job) { return __awaiter(void 0, void 0, void 0, function () {\n var persistedQueueStr, persistedQueue;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.EventQueue)];\n case 1:\n persistedQueueStr = _a.sent();\n if (persistedQueueStr === null || persistedQueueStr === undefined || persistedQueueStr === '{}')\n persistedQueueStr = '[]';\n persistedQueue = JSON.parse(persistedQueueStr) || [];\n persistedQueue.push(job);\n return [4 /*yield*/, storage.setItem(PersistKey.EventQueue, JSON.stringify(persistedQueue))];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nexport var removeFromEventPersistedQueue = function (job) { return __awaiter(void 0, void 0, void 0, function () {\n var persistedQueueStr, persistedQueue, queueWithJobRemoved;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.EventQueue)];\n case 1:\n persistedQueueStr = _a.sent();\n persistedQueue = JSON.parse(persistedQueueStr) || [];\n queueWithJobRemoved = persistedQueue.filter(function (persistedJob) {\n return persistedJob.id !== job.id;\n });\n return [4 /*yield*/, storage.setItem(PersistKey.EventQueue, JSON.stringify(queueWithJobRemoved))];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nexport var updateOrAddPersistedIdLinkQueue = function (job) { return __awaiter(void 0, void 0, void 0, function () {\n var idLinkKey, persistedQueueStr, persistedQueue, updated, _i, persistedQueue_1, persistedJob, persistedKey;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n idLinkKey = Object.keys(job.idLink)[0];\n return [4 /*yield*/, storage.getItem(PersistKey.IdLinkQueue)];\n case 1:\n persistedQueueStr = _a.sent();\n persistedQueue = JSON.parse(persistedQueueStr) || [];\n updated = false;\n for (_i = 0, persistedQueue_1 = persistedQueue; _i < persistedQueue_1.length; _i++) {\n persistedJob = persistedQueue_1[_i];\n persistedKey = Object.keys(persistedJob.idLink)[0];\n // if the key is already there, update it\n if (idLinkKey === persistedKey) {\n persistedJob.idLink[idLinkKey] = job.idLink[idLinkKey];\n updated = true;\n }\n }\n // if the key is new, add it\n if (!updated) {\n persistedQueue.push(job);\n }\n return [4 /*yield*/, storage.setItem(PersistKey.IdLinkQueue, JSON.stringify(persistedQueue))];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nexport var removeFromIdLinkPersistedQueue = function (job) { return __awaiter(void 0, void 0, void 0, function () {\n var persistedQueueStr, persistedQueue, queueWithJobRemoved;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.IdLinkQueue)];\n case 1:\n persistedQueueStr = _a.sent();\n persistedQueue = JSON.parse(persistedQueueStr) || [];\n queueWithJobRemoved = persistedQueue.filter(function (persistedJob) {\n return persistedJob.id !== job.id;\n });\n return [4 /*yield*/, storage.setItem(PersistKey.IdLinkQueue, JSON.stringify(queueWithJobRemoved))];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nexport var addPersistedIdLinks = function (key, value, useCookies) { return __awaiter(void 0, void 0, void 0, function () {\n var persistedIdLinksStr, persistedIdLinks, storedSoFar, oldestKey;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.IdentityLinks)];\n case 1:\n persistedIdLinksStr = _a.sent();\n persistedIdLinks = JSON.parse(persistedIdLinksStr) || {};\n storedSoFar = Object.keys(persistedIdLinks);\n if (storedSoFar.length >= MAX_STORED_IDLINKS) {\n oldestKey = storedSoFar[0];\n delete persistedIdLinks[oldestKey];\n Log.debug(\"Maximum stored idLinks reached, removing oldest '\".concat(oldestKey, \"' to store new one.\"));\n }\n persistedIdLinks[key] = value;\n updatePersistedValue(PersistKey.IdentityLinks, JSON.stringify(persistedIdLinks), useCookies);\n return [2 /*return*/];\n }\n });\n}); };\nexport var checkDuplicateIdLink = function (key, value) { return __awaiter(void 0, void 0, void 0, function () {\n var persistedIdLinksStr, persistedIdLinks, persistedKey;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.IdentityLinks)];\n case 1:\n persistedIdLinksStr = _a.sent();\n if (persistedIdLinksStr) {\n persistedIdLinks = JSON.parse(persistedIdLinksStr) || {};\n for (persistedKey in persistedIdLinks) {\n if (key === persistedKey && persistedIdLinks[persistedKey] === value) {\n return [2 /*return*/, true];\n }\n }\n }\n return [2 /*return*/, false];\n }\n });\n}); };\nexport var getPersistedIdentityLinks = function () { return __awaiter(void 0, void 0, void 0, function () {\n var persistedIdLinksStr;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.IdentityLinks)];\n case 1:\n persistedIdLinksStr = _a.sent();\n if (persistedIdLinksStr) {\n return [2 /*return*/, JSON.parse(persistedIdLinksStr)];\n }\n return [2 /*return*/, undefined];\n }\n });\n}); };\nexport var readAndUpdateUTM = function (appGuid, useCookies) { return __awaiter(void 0, void 0, void 0, function () {\n var storageName, urlValue, storageValue, cookieValue;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n storageName = appGuid + \"_click\";\n urlValue = getUrlParameter(\"ko_click_id\");\n return [4 /*yield*/, storage.getItem(storageName)];\n case 1:\n storageValue = _a.sent();\n cookieValue = \"\";\n if (useCookies)\n cookieValue = getCookie(storageName);\n if (!urlValue) return [3 /*break*/, 3];\n return [4 /*yield*/, storage.setItem(storageName, urlValue)];\n case 2:\n _a.sent();\n if (useCookies)\n setCookie(storageName, urlValue);\n return [3 /*break*/, 4];\n case 3:\n if (storageValue) {\n if (useCookies)\n setCookie(storageName, urlValue);\n }\n _a.label = 4;\n case 4: return [2 /*return*/, (urlValue) ? urlValue :\n (storageValue) ? storageValue :\n (cookieValue) ? cookieValue : \"\"];\n }\n });\n}); };\nexport var readAndUpdatePersistedValue = function (key, useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n var urlValue, storageValue, cookieValue;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n urlValue = getUrlParameter(key);\n return [4 /*yield*/, storage.getItem(key)];\n case 1:\n storageValue = _a.sent();\n cookieValue = \"\";\n if (useCookie)\n cookieValue = getCookie(key);\n if (!urlValue) return [3 /*break*/, 3];\n return [4 /*yield*/, updatePersistedValue(key, urlValue, useCookie)];\n case 2:\n _a.sent();\n return [3 /*break*/, 7];\n case 3:\n if (!storageValue) return [3 /*break*/, 5];\n return [4 /*yield*/, updatePersistedValue(key, storageValue, useCookie)];\n case 4:\n _a.sent();\n return [3 /*break*/, 7];\n case 5:\n if (!cookieValue) return [3 /*break*/, 7];\n return [4 /*yield*/, updatePersistedValue(key, storageValue, useCookie)];\n case 6:\n _a.sent();\n _a.label = 7;\n case 7: return [2 /*return*/, (urlValue) ? urlValue :\n (storageValue) ? storageValue :\n (cookieValue) ? cookieValue : \"\"];\n }\n });\n}); };\nexport var updatePersistedValue = function (key, value, useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.setItem(key, value)];\n case 1:\n _a.sent();\n if (useCookie)\n setCookie(key, value);\n return [2 /*return*/];\n }\n });\n}); };\nexport var deletePersistedValue = function (item) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.removeItem(item)];\n case 1:\n _a.sent();\n deleteCookie(item);\n return [2 /*return*/];\n }\n });\n}); };\nexport var deleteAllPersisted = function () { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, Promise.all(storedKeys.map(function (item) { return deletePersistedValue(item); }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nexport var readAndUpdateDeviceId = function (useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n var storedDeviceId, kvId;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, readAndUpdatePersistedValue(PersistKey.DeviceId, useCookie)];\n case 1:\n storedDeviceId = _a.sent();\n if (!storedDeviceId) {\n kvId = \"KB\".concat(utils.getCurrTimeSec(), \"T\").concat(utils.uuidv4());\n storedDeviceId = kvId.replace(/-/g, \"\");\n }\n return [4 /*yield*/, updatePersistedValue(PersistKey.DeviceId, storedDeviceId, useCookie)];\n case 2:\n _a.sent();\n return [2 /*return*/, storedDeviceId];\n }\n });\n}); };\nexport var readAndUpdateSessionCount = function (useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n var storedSessionCount, sessionCount;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, readAndUpdatePersistedValue(PersistKey.SessionCount, useCookie)];\n case 1:\n storedSessionCount = _a.sent();\n sessionCount = 1;\n if (storedSessionCount) {\n sessionCount = parseInt(storedSessionCount);\n sessionCount++;\n }\n return [4 /*yield*/, updatePersistedValue(PersistKey.SessionCount, sessionCount.toString(), useCookie)];\n case 2:\n _a.sent();\n return [2 /*return*/, sessionCount];\n }\n });\n}); };\nexport var updateLastInstall = function (lastInstallObject, useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n var lastInstallStr;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n lastInstallStr = JSON.stringify(lastInstallObject);\n return [4 /*yield*/, storage.setItem(PersistKey.LastInstall, lastInstallStr)];\n case 1:\n _a.sent();\n if (useCookie)\n setCookie(PersistKey.LastInstall, lastInstallStr);\n return [2 /*return*/];\n }\n });\n}); };\nexport var getLastInstall = function (useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n var lastInstallStr, cookieValue;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.LastInstall)];\n case 1:\n lastInstallStr = _a.sent();\n if (lastInstallStr) {\n return [2 /*return*/, JSON.parse(lastInstallStr)];\n }\n else if (useCookie) {\n cookieValue = getCookie(PersistKey.LastInstall);\n if (cookieValue) {\n return [2 /*return*/, JSON.parse(cookieValue)];\n }\n }\n return [2 /*return*/, undefined];\n }\n });\n}); };\nexport var updateInstallCount = function (installCount, useCookie) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.setItem(PersistKey.InstallCount, installCount.toString())];\n case 1:\n _a.sent();\n if (useCookie) {\n setCookie(PersistKey.InstallCount, installCount.toString());\n }\n return [2 /*return*/];\n }\n });\n}); };\nexport var getItem = function (key) { return __awaiter(void 0, void 0, void 0, function () {\n var value, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, storage.getItem(key)];\n case 1:\n value = _a.sent();\n if (value) {\n return [2 /*return*/, value];\n }\n else {\n return [2 /*return*/, null];\n }\n return [3 /*break*/, 3];\n case 2:\n error_1 = _a.sent();\n Log.error(\"Error getting item \".concat(key, \" from localStorage:\"), error_1);\n return [2 /*return*/, null];\n case 3: return [2 /*return*/];\n }\n });\n}); };\nexport var setItem = function (key, value) { return __awaiter(void 0, void 0, void 0, function () {\n var error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, storage.setItem(key, value)];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n error_2 = _a.sent();\n Log.error(\"Error setting item \".concat(key, \" in localStorage:\"), error_2);\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n}); };\nexport var getSentDeviceIds = function () { return __awaiter(void 0, void 0, void 0, function () {\n var raw;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.getItem(PersistKey.SentDeviceIds)];\n case 1:\n raw = _a.sent();\n if (!raw)\n return [2 /*return*/, {}];\n try {\n return [2 /*return*/, JSON.parse(raw)];\n }\n catch (_b) {\n return [2 /*return*/, {}];\n }\n return [2 /*return*/];\n }\n });\n}); };\nexport var persistSentDeviceIds = function (ids) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, storage.setItem(PersistKey.SentDeviceIds, JSON.stringify(ids))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n}); };\nexport var MAX_STORED_DEVICE_IDS = 9;\nexport var checkAndRecordDeviceIdChange = function (name, value) { return __awaiter(void 0, void 0, void 0, function () {\n var sentIds, oldestKey;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, getSentDeviceIds()];\n case 1:\n sentIds = _a.sent();\n if (sentIds[name] === value)\n return [2 /*return*/, false];\n if (!(name in sentIds) && !value)\n return [2 /*return*/, false];\n if (!(name in sentIds) && value && Object.keys(sentIds).length >= MAX_STORED_DEVICE_IDS) {\n oldestKey = Object.keys(sentIds)[0];\n delete sentIds[oldestKey];\n Log.debug(\"Maximum stored device identifiers reached, removing oldest '\".concat(oldestKey, \"' to store new one.\"));\n }\n if (value) {\n sentIds[name] = value;\n }\n else {\n delete sentIds[name];\n }\n return [4 /*yield*/, persistSentDeviceIds(sentIds)];\n case 2:\n _a.sent();\n return [2 /*return*/, true];\n }\n });\n}); };\n"]}
@@ -1,3 +1,3 @@
1
1
  export var SDK_VERSION = "3.5.0";
2
- export var BUILD_DATE = "2026-06-03T06:27:23.220-07:00";
2
+ export var BUILD_DATE = "2026-06-03T14:39:00.264-07:00";
3
3
  //# sourceMappingURL=buildInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../node/generated/buildInfo.js"],"names":["SDK_VERSION","BUILD_DATE"],"mappings":"AAAA,OAAO,IAAIA,cAAc,OAAlB;AACP,OAAO,IAAIC,aAAa,+BAAjB","file":"buildInfo.js","sourcesContent":["export var SDK_VERSION = \"3.5.0\";\nexport var BUILD_DATE = \"2026-06-03T06:27:23.220-07:00\";\n"]}
1
+ {"version":3,"sources":["../../node/generated/buildInfo.js"],"names":["SDK_VERSION","BUILD_DATE"],"mappings":"AAAA,OAAO,IAAIA,cAAc,OAAlB;AACP,OAAO,IAAIC,aAAa,+BAAjB","file":"buildInfo.js","sourcesContent":["export var SDK_VERSION = \"3.5.0\";\nexport var BUILD_DATE = \"2026-06-03T14:39:00.264-07:00\";\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kv-test-lib",
3
- "version": "3.5.0-rc.3",
3
+ "version": "3.5.0-rc.4",
4
4
  "main": "es5_dist/kochava.js",
5
5
  "files": [
6
6
  "es5_dist/"