(key, write)
| 43 | } |
| 44 | |
| 45 | function enqueueCacheWrite(key, write) { |
| 46 | const previousWrite = writeQueues.get(key) ?? Promise.resolve(); |
| 47 | const pendingWrite = previousWrite.catch(() => { |
| 48 | }).then(write); |
| 49 | writeQueues.set(key, pendingWrite); |
| 50 | return pendingWrite.finally(() => { |
| 51 | if (writeQueues.get(key) === pendingWrite) { |
| 52 | writeQueues.delete(key); |
| 53 | } |
| 54 | }); |
| 55 | } |
| 56 | |
| 57 | export function isCacheEntryExpired(entry, forceRefresh = false) { |
| 58 | return forceRefresh || !entry || (Date.now() - entry.updatedAt) > CACHE_EXPIRATION; |
no outgoing calls
no test coverage detected