namespace Toolkit.Foundation; public class FileProvider : IFileProvider { public IReadOnlyCollection Get(string path, FileProviderFilter filter) { if (!Directory.Exists(path)) { return []; } List searchPatterns = filter.Extensions.Count > 0 ? filter.Extensions.Select(ext => $"*.{ext}").ToList() : ["*.*"]; List files = []; foreach (string pattern in searchPatterns) { files.AddRange(Directory.EnumerateFiles(path, pattern, SearchOption.TopDirectoryOnly)); } return files; } }