get method
Returns the value of key
.
Implementation
@override
FutureOr<V?> get(K key, {Duration? timeout, bool refresh = false}) {
var now = DateTime.now();
if (refresh) {
var val = _sharedMap.get(key);
return _cacheValue(key, val, now);
}
timeout ??= this.timeout;
var prev = _cache[key];
if (prev != null) {
var elapsedTime = now.difference(prev.$1);
if (elapsedTime <= timeout) {
return prev.$2;
}
}
var getAsync = _getAsync;
if (getAsync != null) {
return getAsync;
}
var val = _sharedMap.get(key);
return _cacheValue(key, val, now);
}