| @@ 251-258 (lines=8) @@ | ||
| 248 | * @param callable $predicates... |
|
| 249 | * @return callable |
|
| 250 | */ |
|
| 251 | function all() { |
|
| 252 | $predicates = func_get_args(); |
|
| 253 | return function($value) use($predicates) { |
|
| 254 | return reduce(function($result, $predicate) use($value) { |
|
| 255 | return $result && $predicate($value); |
|
| 256 | }, true, $predicates); |
|
| 257 | }; |
|
| 258 | } |
|
| 259 | ||
| 260 | /** |
|
| 261 | * Takes many predicates and returns a new predicate that |
|
| @@ 282-289 (lines=8) @@ | ||
| 279 | * @param callable $predicates... |
|
| 280 | * @return callable |
|
| 281 | */ |
|
| 282 | function any() { |
|
| 283 | $predicates = func_get_args(); |
|
| 284 | return function($value) use($predicates) { |
|
| 285 | return reduce(function($result, $predicate) use($value) { |
|
| 286 | return $result || $predicate($value); |
|
| 287 | }, true, $predicates); |
|
| 288 | }; |
|
| 289 | } |
|
| 290 | ||
| 291 | ||