clean method
Future<void>
clean({
- CachePriority priorityOrBelow = CachePriority.high,
- bool staleOnly = false,
override
Removes all keys from store.
priorityOrBelow
flag will remove keys only for the priority or below.
staleOnly
flag will remove keys only if expired
(from maxStale).
By default, all keys will be removed.
Implementation
@override
Future<void> clean({
CachePriority priorityOrBelow = CachePriority.high,
bool staleOnly = false,
}) {
final keys = <String>[];
_cache.entries.forEach((key, resp) {
var shouldRemove = resp.value.priority.index <= priorityOrBelow.index;
shouldRemove &= (staleOnly && resp.value.isStaled()) || !staleOnly;
if (shouldRemove) {
keys.add(key);
}
});
for (var key in keys) {
_cache.remove(key);
}
return Future.value();
}