putJson static method

Future<void> putJson(
  1. String key,
  2. dynamic data, {
  3. Duration ttl = const Duration(minutes: 10),
})

Stores JSON data with a specified TTL.

Implementation

static Future<void> putJson(String key, dynamic data, {Duration ttl = const Duration(minutes: 10)}) async {
  await _init();
  final Map<String, dynamic> cacheWrapper = {
    'expiry': DateTime.now().add(ttl).millisecondsSinceEpoch,
    'content': data,
  };
  await _prefs?.setString('cache_$key', json.encode(cacheWrapper));
}