put<T> method
Stores a value in the cache.
key
is the unique identifier for the cached item.
value
is the value to be stored.
seconds
is an optional parameter for setting an expiration time.
Implementation
Future<void> put<T>(String key, T value, {int? seconds}) async {
final File cacheFile = File('${_cacheDirectory.path}/$key');
final Map<String, dynamic> data = {'value': value};
if (seconds != null) {
data['expiration'] =
DateTime.now().add(Duration(seconds: seconds)).toIso8601String();
}
await cacheFile.writeAsString(jsonEncode(data));
}