Skip to content

Commit 648de53

Browse files
author
codeliner
committed
Support varadic arguments in conditional filters
1 parent 16e3f28 commit 648de53

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

src/Filter/AndFilter.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,15 @@ final class AndFilter implements Filter
1717

1818
private $bFilter;
1919

20-
public function __construct(Filter $aFilter, Filter $bFilter)
20+
public function __construct(Filter $aFilter, Filter $bFilter, Filter ...$filters)
2121
{
2222
$this->aFilter = $aFilter;
23-
$this->bFilter = $bFilter;
23+
24+
if(count($filters)) {
25+
$this->bFilter = new self($bFilter, ...$filters);
26+
} else {
27+
$this->bFilter = $bFilter;
28+
}
2429
}
2530

2631
/**

src/Filter/OrFilter.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,15 @@ final class OrFilter implements Filter
1717

1818
private $bFilter;
1919

20-
public function __construct(Filter $aFilter, Filter $bFilter)
20+
public function __construct(Filter $aFilter, Filter $bFilter, Filter ...$filters)
2121
{
2222
$this->aFilter = $aFilter;
23-
$this->bFilter = $bFilter;
23+
24+
if(count($filters)) {
25+
$this->bFilter = new self($bFilter, ...$filters);
26+
} else {
27+
$this->bFilter = $bFilter;
28+
}
2429
}
2530

2631
/**

0 commit comments

Comments
 (0)