( ip: string, privacy: FreeModeIpPrivacy | null, )
| 248 | } |
| 249 | |
| 250 | function setIpinfoPrivacyCache( |
| 251 | ip: string, |
| 252 | privacy: FreeModeIpPrivacy | null, |
| 253 | ): void { |
| 254 | while (ipinfoPrivacyCache.size >= IPINFO_PRIVACY_CACHE_MAX_ENTRIES) { |
| 255 | const oldestIp = ipinfoPrivacyCache.keys().next().value |
| 256 | if (!oldestIp) break |
| 257 | ipinfoPrivacyCache.delete(oldestIp) |
| 258 | } |
| 259 | |
| 260 | ipinfoPrivacyCache.set(ip, { |
| 261 | expiresAt: Date.now() + IPINFO_PRIVACY_CACHE_TTL_MS, |
| 262 | privacy, |
| 263 | }) |
| 264 | } |
| 265 | |
| 266 | function setSpurPrivacyCache( |
| 267 | ip: string, |
no test coverage detected