hydrate method
Implementation
Future<void> hydrate() async {
if (isHydrated) {
return;
}
if (!(await _file.exists())) {
isHydrated = true;
return;
}
try {
await _logger.measure(
'Hydrate',
() async {
final encodedStore = await _readFile();
if (encodedStore != null) {
final Map json = jsonDecode(encodedStore);
for (final entry in json.entries) {
final resolverPath = entry.key;
final valueStore = ValueStore.fromJson(entry.value);
_storeResolver.write(resolverPath, valueStore);
}
}
isHydrated = true;
},
);
} catch (e) {
_logger.log('Corrupt file data store $name');
rethrow;
}
}