UNPKG

axios-cache-interceptor-keyv

Version:

Universal storage adapter using Keyv for axios-cache-interceptor - supports Redis, SQLite, MongoDB, PostgreSQL and more backends

31 lines 1.02 kB
import { buildStorage } from 'axios-cache-interceptor'; export function createKeyvStorage(keyv, options) { const debug = options?.debug ?? false; const log = (action, key, extra) => { if (debug) { console.log(`[axios-cache-interceptor-keyv] ${action}:`, { key, ...extra }); } }; const storage = { async find(key) { const result = await keyv.get(key); log('FIND', key, { found: result !== undefined }); return result; }, async set(key, value) { const ttl = value.state === 'cached' ? value.ttl : undefined; await keyv.set(key, value, ttl); log('SET', key, { state: value.state, ttl }); }, async remove(key) { await keyv.delete(key); log('REMOVE', key); }, async clear() { await keyv.clear(); log('CLEAR', '*'); }, }; return buildStorage(storage); } //# sourceMappingURL=keyv-storage.js.map