UNPKG

error-flux

Version:

Network request interceptor and logger for web applications

123 lines 5.75 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import store from "../state/store"; import genUUID from "../utils/gen-uuid"; export function initDB(dbName_1, storeName_1) { return __awaiter(this, arguments, void 0, function* (dbName, storeName, dbVersion = 1) { return new Promise((resolve, reject) => { const request = indexedDB.open(dbName, dbVersion); request.onerror = () => { reject(new Error("Failed to open database")); }; request.onsuccess = (event) => { resolve(event.target.result); }; request.onupgradeneeded = (event) => { const db = event.target.result; Object.values(storeName).forEach((storeName) => { if (!db.objectStoreNames.contains(storeName)) { db.createObjectStore(storeName, { keyPath: "id" }); } }); }; }); }); } export function saveNetworkLogs(logs) { return __awaiter(this, void 0, void 0, function* () { const { dbName, storeName } = store.getState(); const db = yield initDB(dbName, storeName); return new Promise((resolve, reject) => { const transaction = db.transaction([storeName.networkLogs], "readwrite"); const store = transaction.objectStore(storeName.networkLogs); const logEntry = { id: genUUID(), logs, }; const request = store.add(logEntry); request.onsuccess = () => resolve(); request.onerror = () => reject(new Error("Failed to save logs")); }); }); } export function getNetworkLogs() { return __awaiter(this, void 0, void 0, function* () { const { dbName, storeName } = store.getState(); const db = yield initDB(dbName, storeName); return new Promise((resolve, reject) => { const transaction = db.transaction([storeName.networkLogs], "readonly"); const store = transaction.objectStore(storeName.networkLogs); const request = store.getAll(); request.onsuccess = () => resolve(request.result); request.onerror = () => reject(new Error("Failed to retrieve logs")); }); }); } export function saveConsoleErrors(errors) { return __awaiter(this, void 0, void 0, function* () { const { dbName, storeName } = store.getState(); const db = yield initDB(dbName, storeName); return new Promise((resolve, reject) => { const transaction = db.transaction([storeName.consoleErrors], "readwrite"); const store = transaction.objectStore(storeName.consoleErrors); const errorEntry = { id: genUUID(), errors, }; const request = store.add(errorEntry); request.onsuccess = () => resolve(); request.onerror = () => reject(new Error("Failed to save console errors")); }); }); } export function getConsoleErrors() { return __awaiter(this, void 0, void 0, function* () { const { dbName, storeName } = store.getState(); const db = yield initDB(dbName, storeName); return new Promise((resolve, reject) => { const transaction = db.transaction([storeName.consoleErrors], "readonly"); const store = transaction.objectStore(storeName.consoleErrors); const request = store.getAll(); request.onsuccess = () => resolve(request.result); request.onerror = () => reject(new Error("Failed to retrieve console errors")); }); }); } export function saveUnhandledErrors(errors) { return __awaiter(this, void 0, void 0, function* () { const { dbName, storeName } = store.getState(); const db = yield initDB(dbName, storeName); return new Promise((resolve, reject) => { const transaction = db.transaction([storeName.unhandledErrors], "readwrite"); const store = transaction.objectStore(storeName.unhandledErrors); const errorEntry = { id: genUUID(), errors, }; const request = store.add(errorEntry); request.onsuccess = () => resolve(); request.onerror = () => reject(new Error("Failed to save unhandled errors")); }); }); } export function getUnhandledErrors() { return __awaiter(this, void 0, void 0, function* () { const { dbName, storeName } = store.getState(); const db = yield initDB(dbName, storeName); return new Promise((resolve, reject) => { const transaction = db.transaction([storeName.unhandledErrors], "readonly"); const store = transaction.objectStore(storeName.unhandledErrors); const request = store.getAll(); request.onsuccess = () => resolve(request.result); request.onerror = () => reject(new Error("Failed to retrieve unhandled errors")); }); }); } //# sourceMappingURL=index.js.map