get<T> method
Implementation
Future<T> get<T>({required String key, Duration? duration, required Future<T> Function() process}) async {
final Map? data = await _storageClient.getMap(key);
final untilTime = DateTime.now().millisecondsSinceEpoch - (duration ?? this.duration).inMilliseconds;
if (data != null && data['time'] > untilTime) {
logger.debug('Obtain data from cache: $key');
return data['data'];
}
final T response = await process.call();
await _storageClient.saveMap(key, {'time': DateTime.now().millisecondsSinceEpoch, 'data': response});
return response;
}