globRecursive static method
Implementation
static List<File> globRecursive(
Directory node,
String pattern,
List<String> exclude, {
Directory? root,
}) {
final base = root ?? node;
final excluded = <String>{...exclude, ...fileExclusion};
final results = <File>[];
if (!hasGlobMagic(pattern)) {
results.add(File(_join(node.path, pattern)));
return results;
}
if (!node.existsSync()) return results;
for (final dir in _entries(node).whereType<Directory>()) {
if (_isExcluded(dir.path, base, excluded)) continue;
results.addAll(globRecursive(dir, pattern, exclude, root: base));
}
results.addAll(_glob(node, pattern, base, excluded));
return results;
}