cache<T extends Object> method
Implementation
Future<Response<T>> cache<T extends Object>(
String name, {
bool? enabled,
Iterable<Object?> keyProps = const [],
required Future<Response<T>> Function() callback,
}) async {
enabled ??= false;
if (!enabled) return callback();
final k = hashKey(T, name, keyProps);
final x = _db[k];
if (x is Response<T> && x.isValid) return x;
final y = await callback();
if (y.isValid) _db[k] = y;
return y;
}