UNPKG

react-indexeddb-kit

Version:

A TypeScript-based React IndexedDB wrapper with CRUD operations.

22 lines (21 loc) 987 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findUnique = findUnique; const errors_1 = require("../../errors"); // Find a single record by ID with optional selection function findUnique(db, modelDef, id, options) { return new Promise((resolve, reject) => { const transaction = db.transaction(modelDef.name, "readonly"); const store = transaction.objectStore(modelDef.name); const request = store.get(id); request.onsuccess = () => { let result = request.result || null; // Apply selection based on { fieldName: true } format if (result && (options === null || options === void 0 ? void 0 : options.select)) { result = Object.fromEntries(Object.entries(result).filter(([key]) => options.select[key])); } resolve(result); }; request.onerror = () => reject(new errors_1.DatabaseError("Failed to fetch record")); }); }