diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-06 13:52:48 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-06 13:52:48 +0900 |
| commit | ba22d3a98e8f3fbf50274180bfeb870a10d9ae55 (patch) | |
| tree | 33b2d5ca0a1b2627ab383d472226e03601aeebbf /crates/shirabe | |
| parent | 9d7983455c051185f44a507c2f4e9b8a33f1799d (diff) | |
| download | php-shirabe-ba22d3a98e8f3fbf50274180bfeb870a10d9ae55.tar.gz php-shirabe-ba22d3a98e8f3fbf50274180bfeb870a10d9ae55.tar.zst php-shirabe-ba22d3a98e8f3fbf50274180bfeb870a10d9ae55.zip | |
feat(archivable-files-finder): wire exclude closure into Finder::filter
Add a Finder::filter(Box<dyn FnMut(&SplFileInfo) -> bool>) stub method and
route the exclude closure through it, matching PHP's ->in()->filter() chain.
FnMut faithfully represents PHP's stateful \Closure.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe')
| -rw-r--r-- | crates/shirabe/src/package/archiver/archivable_files_finder.rs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/crates/shirabe/src/package/archiver/archivable_files_finder.rs b/crates/shirabe/src/package/archiver/archivable_files_finder.rs index 2e06e4d..09041a3 100644 --- a/crates/shirabe/src/package/archiver/archivable_files_finder.rs +++ b/crates/shirabe/src/package/archiver/archivable_files_finder.rs @@ -74,11 +74,10 @@ impl ArchivableFilesFinder { finder .r#in(&sources) - // TODO(phase-b): symfony Finder filter takes Box<dyn Fn(&SplFileInfo) -> bool>; signature not yet wired + .filter(Box::new(filter)) .ignore_vcs(true) .ignore_dot_files(false) .sort_by_name(); - let _ = filter; let inner_iter: Box<dyn Iterator<Item = SplFileInfo>> = Box::new(finder.get_iterator()); |
