fetchAll method
Fetches metadata for all packages concurrently.
Entries that cannot be resolved (404, parse error) are silently excluded from the result map.
Implementation
Future<Map<String, PackageMetadata>> fetchAll(
Map<String, Version> packages, {
bool fresh = false,
}) async {
final entries = await Future.wait(
packages.entries.map((e) async {
final m =
await fetch(name: e.key, currentVersion: e.value, fresh: fresh);
return MapEntry(e.key, m);
}),
);
return {
for (final e in entries)
if (e.value != null) e.key: e.value!
};
}