filesInDirectory method
Implementation
Future<List<String>> filesInDirectory(
String directory, {
required String workingDirectory,
List<String> ignoreDirs = const [],
}) async {
final directories = switch (platform) {
Platform(isLinux: true) || Platform(isMacOS: true) => await _findLinux(
directory,
workingDirectory: workingDirectory,
file: false,
ignoreDirs: ignoreDirs,
),
Platform(isWindows: true) => await _findWindowsDirectory(
directory,
workingDirectory: workingDirectory,
ignoreDirs: ignoreDirs,
),
_ => throw UnsupportedError(
'Unsupported platform: ${platform.operatingSystem}',
),
};
final futures = <Future<List<String>>>[];
for (final directory in directories) {
futures.add(
file('*', workingDirectory: directory, ignoreDirs: ignoreDirs),
);
}
final results = await Future.wait(futures);
return results.expand((e) => e).toList();
}