mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-09 05:02:42 +00:00
Simplify initCustomStore
This commit is contained in:
@@ -36,54 +36,19 @@ export function initIDBProxy(db, store) {
|
|||||||
// IndexedDB Wrapper
|
// IndexedDB Wrapper
|
||||||
|
|
||||||
export function initCustomStore(db, store){
|
export function initCustomStore(db, store){
|
||||||
const createCustomStore = async ()=>{
|
const createCustomStore = async ()=>IDB.createStore(db, store);
|
||||||
return await IDB.createStore(db, store);
|
|
||||||
};
|
|
||||||
return {
|
return {
|
||||||
entries : async ()=>{
|
entries : async ()=>IDB.entries(await createCustomStore()),
|
||||||
// Return all entries : [[key1, value1], [key2, value2], ... [keyN, valueN] ]
|
keys : async ()=>IDB.keys(await createCustomStore()),
|
||||||
return await IDB.entries(await createCustomStore());
|
values : async ()=>IDB.values(await createCustomStore()),
|
||||||
},
|
clear : async ()=>IDB.clear(await createCustomStore),
|
||||||
keys : async ()=>{
|
get : async (key)=>IDB.get(key, await createCustomStore()),
|
||||||
// Return all keys : [ key1, key2, ... keyN ]
|
getMany : async (keys)=>IDB.getMany(keys, await createCustomStore()),
|
||||||
return await IDB.keys(await createCustomStore());
|
set : async (key, value)=>IDB.set(key, value, await createCustomStore()),
|
||||||
},
|
setMany : async (entries)=>IDB.setMany(entries, await createCustomStore()),
|
||||||
values : async ()=>{
|
update : async (key, updateFn)=>IDB.update(key, updateFn, await createCustomStore()),
|
||||||
// Return all values : [ value1, value2, ... valueN ]
|
del : async (key)=>IDB.del(key, await createCustomStore()),
|
||||||
return await IDB.values(await createCustomStore());
|
delMany : async (keys)=>IDB.delMany(keys, await createCustomStore())
|
||||||
},
|
|
||||||
clear : async ()=>{
|
|
||||||
// Delete all keys and values
|
|
||||||
return await IDB.clear(await createCustomStore);
|
|
||||||
},
|
|
||||||
get : async (key)=>{
|
|
||||||
// Get a value by its key
|
|
||||||
return await IDB.get(key, await createCustomStore());
|
|
||||||
},
|
|
||||||
getMany : async (keys)=>{
|
|
||||||
// Get multiple values at once
|
|
||||||
return await IDB.getMany(keys, await createCustomStore());
|
|
||||||
},
|
|
||||||
set : async (key, value)=>{
|
|
||||||
// Set a value in the store by the key
|
|
||||||
return await IDB.set(key, value, await createCustomStore());
|
|
||||||
},
|
|
||||||
setMany : async (entries)=>{
|
|
||||||
// Set multiple values at once
|
|
||||||
// `entries` is in the form : [ [key1, value1], [key2, value2], ... [keyN, valueN] ]
|
|
||||||
return await IDB.setMany(entries, await createCustomStore());
|
|
||||||
},
|
|
||||||
update : async (key, updateFn)=>{
|
|
||||||
// Update a value in a single atomic action
|
|
||||||
return await IDB.update(key, updateFn, await createCustomStore());
|
|
||||||
},
|
|
||||||
del : async (key)=>{
|
|
||||||
// Delete a single key and associated value from the store
|
|
||||||
return await IDB.del(key, await createCustomStore());
|
|
||||||
},
|
|
||||||
delMany : async (keys)=>{
|
|
||||||
// Delete multiple keys at once
|
|
||||||
return await IDB.delMany(keys, await createCustomStore());
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
Reference in New Issue
Block a user