@@ 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 |