get method
Implementation
@override
Future<dynamic> get(String key) async {
final file = await _recordFile(key);
if (await file.exists()) {
return codec
.decode(
await file.readAsString(),
expectedKey: key,
allowLegacy: false,
)
.value;
}
final legacy = _legacyFile(key);
if (legacy == null || !await legacy.exists()) return null;
final decoded = codec.decode(
await legacy.readAsString(),
expectedKey: key,
allowLegacy: true,
legacyFallbackKey: key,
);
await _writeAtomically(file, codec.encode(key, decoded.value));
await legacy.delete();
notifyListeners(key);
return decoded.value;
}