cache property

  1. @ignore
Future<Cache<T>> cache
latefinal

The Cache backed by a Store

Implementation

@ignore
late final Future<Cache<T>> cache = store.then(
  (FileCacheStore cacheStore) async =>
      await cacheStore.cache<T>(
          name: name,
          fromEncodable: fromEncodable,
          maxEntries: maxEntries,
          eventListenerMode: EventListenerMode.synchronous,
          evictionPolicy: evictionPolicy,
          expiryPolicy: expiryPolicy,
        )
        ..on<CacheEntryCreatedEvent<T>>().listen(
          verbose ? (event) => log('Key "${event.entry.key}" added') : null,
        )
        ..on<CacheEntryUpdatedEvent<T>>().listen(
          verbose
              ? (event) => log('Key "${event.newEntry.key}" updated')
              : null,
        )
        ..on<CacheEntryRemovedEvent<T>>().listen(
          verbose ? (event) => log('Key "${event.entry.key}" removed') : null,
        )
        ..on<CacheEntryExpiredEvent<T>>().listen(
          verbose ? (event) => log('Key "${event.entry.key}" expired') : null,
        )
        ..on<CacheEntryEvictedEvent<T>>().listen(
          verbose ? (event) => log('Key "${event.entry.key}" evicted') : null,
        ),
);