initializeLibraryReaderForDirectory function
Returns a LibraryReader
for library specified by targetLibraryFileName
using the files in sourceDirectory
.
Implementation
Future<LibraryReader> initializeLibraryReaderForDirectory(
String sourceDirectory,
String targetLibraryFileName,
) async {
final map = Map.fromEntries(
Directory(sourceDirectory)
.listSync()
.whereType<File>()
.map((f) => MapEntry(p.basename(f.path), f.readAsStringSync())),
);
try {
return await initializeLibraryReader(map, targetLibraryFileName);
} on ArgumentError catch (e) // ignore: avoid_catching_errors
{
if (e.message == 'Must exist as a key in `contentMap`.') {
throw ArgumentError.value(
targetLibraryFileName,
'targetLibraryFileName',
'Must exist as a file in `sourceDirectory`.',
);
}
rethrow;
}
}