deleteExpiredEntries method
Removes all expired entries from the cache.
Implementation
@override
Future<void> deleteExpiredEntries() async {
final dir = Directory(_cacheDir);
if (!dir.existsSync()) return;
final now = _clock();
final expiryFiles = dir
.listSync()
.whereType<File>()
.where((f) => f.path.endsWith('.expiry'))
.toList();
for (final expiryFile in expiryFiles) {
final expiryStr = await expiryFile.readAsString();
final expiry = DateTime.tryParse(expiryStr.trim());
if (expiry == null || now.isAfter(expiry)) {
final base = expiryFile.path.replaceFirst('.expiry', '');
final jsonFile = File('$base.json');
await _deleteEntry(jsonFile, expiryFile);
}
}
}