removeExpiredEntries method

Future<void> removeExpiredEntries()

Removes expired cache entries.

This method is useful for periodic cleanup to free up storage space.

Implementation

Future<void> removeExpiredEntries() async {
  _ensureInitialized();

  final keysToDelete = <String>[];
  for (final key in _box!.keys) {
    final data = _box!.get(key);
    if (data != null) {
      final timestamp = DateTime.fromMillisecondsSinceEpoch(
        data['timestamp'] as int,
      );
      if (DateTime.now().difference(timestamp) > cacheDuration) {
        keysToDelete.add(key as String);
      }
    }
  }

  await _box!.deleteAll(keysToDelete);
}