nameCache.js 542 B

123456789101112131415161718192021
  1. const cache = new Map()
  2. const get = (feedId) => {
  3. if (!feedId) return null
  4. const entry = cache.get(String(feedId))
  5. return entry ? entry.name : null
  6. }
  7. const set = (feedId, name, ts) => {
  8. if (!feedId || typeof name !== 'string' || !name) return
  9. const id = String(feedId)
  10. const t = Number(ts) || 0
  11. const prev = cache.get(id)
  12. if (!prev || (prev.ts || 0) <= t) cache.set(id, { name, ts: t })
  13. }
  14. const has = (feedId) => !!feedId && cache.has(String(feedId))
  15. const size = () => cache.size
  16. module.exports = { get, set, has, size }