import 'dart:async'; import 'hybrid_cache_store.dart'; class CacheInvalidator { final HybridCacheStore? _store; final Set _invalidated = {}; CacheInvalidator({HybridCacheStore? store}) : _store = store; void invalidate(String key) { _invalidated.add(key); final store = _store; if (store != null) { unawaited(store.remove(key)); } } void invalidateCalendarDay(DateTime date) { final month = '${date.year}-${date.month.toString().padLeft(2, '0')}'; final day = '$month-${date.day.toString().padLeft(2, '0')}'; invalidate('calendar:day:$day'); invalidate('calendar:month:$month'); } bool wasInvalidated(String key) => _invalidated.contains(key); }