clear method
Implementation
Future<void> clear(List<String> paths) {
return _syncLock.run(() async {
Set<DualDataStore> dataStores = {};
Map<String, List<DualDataStore>> pathDataStores = {};
for (final path in paths) {
final stores = pathDataStores[path] = _resolveDataStores(path);
dataStores.addAll(stores);
}
if (dataStores.isEmpty) {
return;
}
await Future.wait(dataStores.map((dataStore) => dataStore.hydrate()));
for (final path in paths) {
for (final dataStore in pathDataStores[path]!) {
dataStore.recursiveDelete(path);
}
resolver.deletePath(path);
}
_scheduleSync();
});
}