kv-test-lib 3.5.2-rc.1 → 3.5.2-rc.2
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/es5_dist/adapters/browser.js +10 -0
- package/es5_dist/adapters/browser.js.map +1 -1
- package/es5_dist/browser/persist.js +15 -22
- package/es5_dist/browser/persist.js.map +1 -1
- package/es5_dist/generated/buildInfo.js +1 -1
- package/es5_dist/generated/buildInfo.js.map +1 -1
- package/es5_dist/jobqueue.js +36 -3
- package/es5_dist/jobqueue.js.map +1 -1
- package/es5_dist/kochava.js +479 -150
- package/es5_dist/kochava.js.map +1 -1
- package/es5_dist/payloads/install.js +44 -6
- package/es5_dist/payloads/install.js.map +1 -1
- package/es5_dist/payloads/kvinit.js +28 -4
- package/es5_dist/payloads/kvinit.js.map +1 -1
- package/package.json +1 -1
|
@@ -112,6 +112,16 @@ export var browserStorage = {
|
|
|
112
112
|
return [2 /*return*/];
|
|
113
113
|
});
|
|
114
114
|
});
|
|
115
|
+
},
|
|
116
|
+
// Synchronous fast-path — localStorage is synchronous under the hood, so the
|
|
117
|
+
// SDK can restore persisted state during construction on browser targets.
|
|
118
|
+
// Deliberately uncaught (unlike the async methods above): a throw here is the
|
|
119
|
+
// StorageAdapter-contract signal to fall back to the async restore path.
|
|
120
|
+
getItemSync: function (k) {
|
|
121
|
+
return window.localStorage.getItem(k);
|
|
122
|
+
},
|
|
123
|
+
setItemSync: function (k, v) {
|
|
124
|
+
window.localStorage.setItem(k, v);
|
|
115
125
|
}
|
|
116
126
|
};
|
|
117
127
|
//# sourceMappingURL=browser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../node/adapters/browser.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","browserStorage","getItem","k","_a","window","localStorage","_b","setItem","removeItem"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../node/adapters/browser.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","browserStorage","getItem","k","_a","window","localStorage","_b","setItem","removeItem","getItemSync","setItemSync"],"mappings":"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","file":"browser.js","sourcesContent":["var __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};\nexport var browserStorage = {\n getItem: function (k) {\n return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {\n try {\n return [2 /*return*/, window.localStorage.getItem(k)];\n }\n catch (_b) {\n return [2 /*return*/, null];\n }\n return [2 /*return*/];\n }); });\n },\n setItem: function (k, v) {\n return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {\n try {\n window.localStorage.setItem(k, v);\n }\n catch ( /* intentionally empty */_b) { /* intentionally empty */ }\n return [2 /*return*/];\n }); });\n },\n removeItem: function (k) {\n return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {\n try {\n window.localStorage.removeItem(k);\n }\n catch ( /* intentionally empty */_b) { /* intentionally empty */ }\n return [2 /*return*/];\n }); });\n },\n // Synchronous fast-path — localStorage is synchronous under the hood, so the\n // SDK can restore persisted state during construction on browser targets.\n // Deliberately uncaught (unlike the async methods above): a throw here is the\n // StorageAdapter-contract signal to fall back to the async restore path.\n getItemSync: function (k) { return window.localStorage.getItem(k); },\n setItemSync: function (k, v) { window.localStorage.setItem(k, v); }\n};\n"]}
|
|
@@ -84,7 +84,6 @@ var __generator = this && this.__generator || function (thisArg, body) {
|
|
|
84
84
|
if (op[0] & 5) throw op[1];return { value: op[0] ? op[1] : void 0, done: true };
|
|
85
85
|
}
|
|
86
86
|
};
|
|
87
|
-
import * as utils from "../utils/utils";
|
|
88
87
|
import { getUrlParameter } from "./browser";
|
|
89
88
|
import { setCookie, getCookie, deleteCookie } from "./cookies";
|
|
90
89
|
import { Log } from "../utils/log";
|
|
@@ -114,6 +113,21 @@ var storage;
|
|
|
114
113
|
export var configureStorage = function (adapter) {
|
|
115
114
|
storage = adapter;
|
|
116
115
|
};
|
|
116
|
+
// Synchronous storage capability — true when the configured adapter exposes a
|
|
117
|
+
// synchronous fast-path (browser localStorage). Drives whether the SDK can
|
|
118
|
+
// restore persisted state during construction or must do so asynchronously.
|
|
119
|
+
export var hasSyncStorage = function () {
|
|
120
|
+
return typeof (storage === null || storage === void 0 ? void 0 : storage.getItemSync) === "function";
|
|
121
|
+
};
|
|
122
|
+
// Unlike the other persist helpers these do NOT catch — per the StorageAdapter
|
|
123
|
+
// contract a throwing sync accessor (e.g. private browsing mode) is the signal
|
|
124
|
+
// for the caller to fall back to the async restore path.
|
|
125
|
+
export var getItemSync = function (key) {
|
|
126
|
+
return (storage === null || storage === void 0 ? void 0 : storage.getItemSync) ? storage.getItemSync(key) : null;
|
|
127
|
+
};
|
|
128
|
+
export var setItemSync = function (key, value) {
|
|
129
|
+
if (storage === null || storage === void 0 ? void 0 : storage.setItemSync) storage.setItemSync(key, value);
|
|
130
|
+
};
|
|
117
131
|
export var checkInstallIdChange = function (inputId, useCookies) {
|
|
118
132
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
119
133
|
var persistedInstallId;
|
|
@@ -405,27 +419,6 @@ export var deleteAllPersisted = function () {
|
|
|
405
419
|
});
|
|
406
420
|
});
|
|
407
421
|
};
|
|
408
|
-
export var readAndUpdateDeviceId = function (useCookie) {
|
|
409
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
410
|
-
var storedDeviceId, kvId;
|
|
411
|
-
return __generator(this, function (_a) {
|
|
412
|
-
switch (_a.label) {
|
|
413
|
-
case 0:
|
|
414
|
-
return [4 /*yield*/, readAndUpdatePersistedValue(PersistKey.DeviceId, useCookie)];
|
|
415
|
-
case 1:
|
|
416
|
-
storedDeviceId = _a.sent();
|
|
417
|
-
if (!storedDeviceId) {
|
|
418
|
-
kvId = "KB".concat(utils.getCurrTimeSec(), "T").concat(utils.uuidv4());
|
|
419
|
-
storedDeviceId = kvId.replace(/-/g, "");
|
|
420
|
-
}
|
|
421
|
-
return [4 /*yield*/, updatePersistedValue(PersistKey.DeviceId, storedDeviceId, useCookie)];
|
|
422
|
-
case 2:
|
|
423
|
-
_a.sent();
|
|
424
|
-
return [2 /*return*/, storedDeviceId];
|
|
425
|
-
}
|
|
426
|
-
});
|
|
427
|
-
});
|
|
428
|
-
};
|
|
429
422
|
export var readAndUpdateSessionCount = function (useCookie) {
|
|
430
423
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
431
424
|
var storedSessionCount, sessionCount;
|
|
@@ -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","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
|
+
{"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","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","hasSyncStorage","getItemSync","key","setItemSync","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","persistedIdLinksStr","persistedIdLinks","storedSoFar","oldestKey","debug","concat","checkDuplicateIdLink","getPersistedIdentityLinks","readAndUpdateUTM","appGuid","storageName","urlValue","storageValue","cookieValue","useCookie","deletePersistedValue","item","removeItem","deleteAllPersisted","all","map","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 { 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};\n// Synchronous storage capability — true when the configured adapter exposes a\n// synchronous fast-path (browser localStorage). Drives whether the SDK can\n// restore persisted state during construction or must do so asynchronously.\nexport var hasSyncStorage = function () {\n return typeof (storage === null || storage === void 0 ? void 0 : storage.getItemSync) === \"function\";\n};\n// Unlike the other persist helpers these do NOT catch — per the StorageAdapter\n// contract a throwing sync accessor (e.g. private browsing mode) is the signal\n// for the caller to fall back to the async restore path.\nexport var getItemSync = function (key) {\n return (storage === null || storage === void 0 ? void 0 : storage.getItemSync) ? storage.getItemSync(key) : null;\n};\nexport var setItemSync = function (key, value) {\n if (storage === null || storage === void 0 ? void 0 : storage.setItemSync)\n storage.setItemSync(key, value);\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 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 +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.2\";\nexport var BUILD_DATE = \"2026-07-
|
|
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.2\";\nexport var BUILD_DATE = \"2026-07-08T13:31:02.549-07:00\";\n"]}
|
package/es5_dist/jobqueue.js
CHANGED
|
@@ -101,6 +101,9 @@ function jobIsEventJob(obj) {
|
|
|
101
101
|
}
|
|
102
102
|
var JobQueue = /** @class */function () {
|
|
103
103
|
function JobQueue() {
|
|
104
|
+
// Holds the pending retry-wait's resolve so stop() can wake the loop instead
|
|
105
|
+
// of clearing the timer and leaving the await pending forever.
|
|
106
|
+
this.fn_resolveWait = null;
|
|
104
107
|
this.updateQueue = [];
|
|
105
108
|
this.idLinkQueue = [];
|
|
106
109
|
this.eventQueue = [];
|
|
@@ -153,11 +156,18 @@ var JobQueue = /** @class */function () {
|
|
|
153
156
|
return __generator(this, function (_k) {
|
|
154
157
|
switch (_k.label) {
|
|
155
158
|
case 0:
|
|
159
|
+
// Re-check invalidation between each load/persist block: the updateXJobs
|
|
160
|
+
// calls write the queues back, and a shutdown landing mid-sequence on
|
|
161
|
+
// asynchronous storage must not have later write-backs land post-wipe.
|
|
156
162
|
_a = this;
|
|
157
163
|
_c = (_b = JSON).parse;
|
|
158
164
|
return [4 /*yield*/, getItem(PersistKey.UpdateQueue)];
|
|
159
165
|
case 1:
|
|
166
|
+
// Re-check invalidation between each load/persist block: the updateXJobs
|
|
167
|
+
// calls write the queues back, and a shutdown landing mid-sequence on
|
|
168
|
+
// asynchronous storage must not have later write-backs land post-wipe.
|
|
160
169
|
_a.updateQueue = _c.apply(_b, [_k.sent()]) || [];
|
|
170
|
+
if (instance.invalidatedBool) return [2 /*return*/];
|
|
161
171
|
return [4 /*yield*/, this.updateUpdateJobs(instance)];
|
|
162
172
|
case 2:
|
|
163
173
|
_k.sent();
|
|
@@ -167,6 +177,7 @@ var JobQueue = /** @class */function () {
|
|
|
167
177
|
return [4 /*yield*/, getItem(PersistKey.IdLinkQueue)];
|
|
168
178
|
case 3:
|
|
169
179
|
_d.idLinkQueue = _f.apply(_e, [_k.sent()]) || [];
|
|
180
|
+
if (instance.invalidatedBool) return [2 /*return*/];
|
|
170
181
|
return [4 /*yield*/, this.updateIdLinkJobs(instance)];
|
|
171
182
|
case 4:
|
|
172
183
|
_k.sent();
|
|
@@ -176,10 +187,12 @@ var JobQueue = /** @class */function () {
|
|
|
176
187
|
return [4 /*yield*/, getItem(PersistKey.EventQueue)];
|
|
177
188
|
case 5:
|
|
178
189
|
_g.eventQueue = _j.apply(_h, [_k.sent()]) || [];
|
|
190
|
+
if (instance.invalidatedBool) return [2 /*return*/];
|
|
179
191
|
return [4 /*yield*/, this.updateEventJobs(instance)];
|
|
180
192
|
case 6:
|
|
181
193
|
_k.sent();
|
|
182
194
|
Log.trace("Started Event Queue", JSON.parse(JSON.stringify(this.eventQueue)));
|
|
195
|
+
if (instance.invalidatedBool) return [2 /*return*/];
|
|
183
196
|
this.stopped = false;
|
|
184
197
|
this.paused = false;
|
|
185
198
|
return [4 /*yield*/, this.dequeueAndProcessJobs(instance)];
|
|
@@ -193,6 +206,13 @@ var JobQueue = /** @class */function () {
|
|
|
193
206
|
JobQueue.prototype.stop = function () {
|
|
194
207
|
this.stopped = true;
|
|
195
208
|
if (this.timeOut) clearTimeout(this.timeOut);
|
|
209
|
+
// Wake any pending retry wait so the loop resumes and exits, rather than the
|
|
210
|
+
// await hanging forever on a cleared timer.
|
|
211
|
+
if (this.fn_resolveWait) {
|
|
212
|
+
var fn_resolve = this.fn_resolveWait;
|
|
213
|
+
this.fn_resolveWait = null;
|
|
214
|
+
fn_resolve();
|
|
215
|
+
}
|
|
196
216
|
this.processing = false;
|
|
197
217
|
};
|
|
198
218
|
JobQueue.prototype.pause = function () {
|
|
@@ -362,9 +382,10 @@ var JobQueue = /** @class */function () {
|
|
|
362
382
|
if (this.processing) return [2 /*return*/, false];
|
|
363
383
|
if (this.paused) return [2 /*return*/, false];
|
|
364
384
|
if (this.stopped) return [2 /*return*/, false];
|
|
385
|
+
if (instance.invalidatedBool) return [2 /*return*/, false];
|
|
365
386
|
_a.label = 1;
|
|
366
387
|
case 1:
|
|
367
|
-
if (!(!this.stopped && !this.paused)) return [3 /*break*/, 5];
|
|
388
|
+
if (!(!this.stopped && !this.paused && !instance.invalidatedBool)) return [3 /*break*/, 5];
|
|
368
389
|
job = this.dequeueJob();
|
|
369
390
|
if (!job) {
|
|
370
391
|
return [2 /*return*/, false];
|
|
@@ -377,6 +398,11 @@ var JobQueue = /** @class */function () {
|
|
|
377
398
|
if (this.stopped) {
|
|
378
399
|
return [2 /*return*/, true];
|
|
379
400
|
}
|
|
401
|
+
// Don't write the queue back to storage after invalidation — it would
|
|
402
|
+
// clobber a freshly-reset instance's storage.
|
|
403
|
+
if (instance.invalidatedBool) {
|
|
404
|
+
return [2 /*return*/, true];
|
|
405
|
+
}
|
|
380
406
|
this.processing = false;
|
|
381
407
|
if (!result) return [3 /*break*/, 4];
|
|
382
408
|
return [4 /*yield*/, this.persistQueueForJob(job)];
|
|
@@ -472,6 +498,10 @@ var JobQueue = /** @class */function () {
|
|
|
472
498
|
return __generator(this, function (_g) {
|
|
473
499
|
switch (_g.label) {
|
|
474
500
|
case 0:
|
|
501
|
+
// Halt fast if the instance was invalidated (shutdown) mid-flight.
|
|
502
|
+
if (instance.invalidatedBool) {
|
|
503
|
+
return [2 /*return*/, { value: true }];
|
|
504
|
+
}
|
|
475
505
|
if (!!instance.sdkDisabled) return [3 /*break*/, 2];
|
|
476
506
|
return [4 /*yield*/, this_1.attemptJob(instance, job)];
|
|
477
507
|
case 1:
|
|
@@ -493,7 +523,10 @@ var JobQueue = /** @class */function () {
|
|
|
493
523
|
retrySec_1 = retryWaterfall[retryIndex];
|
|
494
524
|
Log.error("Job failed, attempting again in ".concat(retrySec_1, " seconds"));
|
|
495
525
|
return [4 /*yield*/, new Promise(function (resolve) {
|
|
496
|
-
|
|
526
|
+
_this.fn_resolveWait = resolve;
|
|
527
|
+
_this.timeOut = setTimeout(function () {
|
|
528
|
+
_this.fn_resolveWait = null;resolve();
|
|
529
|
+
}, retrySec_1 * 1000);
|
|
497
530
|
})];
|
|
498
531
|
case 4:
|
|
499
532
|
_g.sent();
|
|
@@ -513,7 +546,7 @@ var JobQueue = /** @class */function () {
|
|
|
513
546
|
if (typeof state_1 === "object") return [2 /*return*/, state_1.value];
|
|
514
547
|
_f.label = 3;
|
|
515
548
|
case 3:
|
|
516
|
-
if (!success && !this.stopped) return [3 /*break*/, 1];
|
|
549
|
+
if (!success && !this.stopped && !instance.invalidatedBool) return [3 /*break*/, 1];
|
|
517
550
|
_f.label = 4;
|
|
518
551
|
case 4:
|
|
519
552
|
// Job Canceled
|