UNPKG

@neo-one/node-storage-cache-esnext-esm

Version:

NEO•ONE node storage cache.

54 lines (52 loc) 1.49 kB
export function createReadStorage({ cache, storage, serializeKeyString, }) { const get = async (key) => { const keyString = serializeKeyString(key); const value = cache.get(keyString); if (value !== undefined) { return value; } return storage.get(key).then((val) => { cache.set(keyString, val); return val; }); }; const tryGet = async (key) => { const keyString = serializeKeyString(key); const value = cache.get(keyString); if (value !== undefined) { return value; } return storage.tryGet(key).then((val) => { if (val !== undefined) { cache.set(keyString, val); } return val; }); }; return { get, tryGet }; } export function createReadAllStorage({ cache, storage, serializeKeyString, }) { const readStorage = createReadStorage({ cache, storage, serializeKeyString, }); return { get: readStorage.get, tryGet: readStorage.tryGet, all$: storage.all$, }; } export function createReadGetAllStorage({ cache, storage, serializeKeyString, }) { const readStorage = createReadStorage({ cache, storage, serializeKeyString, }); return { get: readStorage.get, tryGet: readStorage.tryGet, getAll$: storage.getAll$, }; } //# sourceMappingURL=read.js.map