getOrCompute<T> method
T
getOrCompute<
T>({ - required CacheKey key,
- required T compute(),
})
override
Implementation
@override
T getOrCompute<T>({required CacheKey key, required T Function() compute}) {
final container = _getOrCreateContainer(key.cacheName);
final cached = container.data[key.key];
if (cached != null && cached is T) {
container.recordHit();
_updateLRU(container, key.key, cached);
return cached;
}
container.recordMiss();
final result = compute();
_addToCache(container, key.key, result);
return result;
}