clearExpiredCache static method

Future<void> clearExpiredCache()

Clear expired cache entries

Implementation

static Future<void> clearExpiredCache() async {
  _ensureInitialized();

  final keys = _prefs!.getKeys();
  final now = DateTime.now().millisecondsSinceEpoch;

  for (final key in keys) {
    try {
      final cachedString = _prefs!.getString(key);
      if (cachedString != null) {
        final cacheItem = jsonDecode(cachedString);
        final timestamp = cacheItem['timestamp'] as int;
        final ttl = cacheItem['ttl'] as int?;

        if (ttl != null && now - timestamp > ttl) {
          await _prefs!.remove(key);
        }
      }
    } catch (e) {
      // Remove corrupted cache entries
      await _prefs!.remove(key);
    }
  }
}