1 | <?php |
||
21 | final class TransformedPredicate implements PredicateDecorator |
||
22 | { |
||
23 | protected $transformer; |
||
24 | protected $predicate; |
||
25 | |||
26 | /** |
||
27 | * TransformerPredicate constructor. |
||
28 | * |
||
29 | * @param Transformer $transformer The transformer to call. |
||
30 | * @param Predicate $predicate The predicate to call with the result of the transform. |
||
31 | */ |
||
32 | 3 | public function __construct(Transformer $transformer, Predicate $predicate) |
|
37 | |||
38 | /** |
||
39 | * Gets the transformer in use. |
||
40 | * |
||
41 | * @return Transformer The transformer. |
||
42 | */ |
||
43 | 1 | public function getTransformer() : Transformer |
|
44 | { |
||
45 | 1 | return $this->transformer; |
|
46 | } |
||
47 | |||
48 | /** |
||
49 | * Gets the predicate being decorated. |
||
50 | * |
||
51 | * @return array The predicate as the only element in an array. |
||
52 | */ |
||
53 | 1 | public function getPredicates() : array |
|
54 | { |
||
55 | 1 | return [$this->predicate]; |
|
56 | } |
||
57 | |||
58 | /** |
||
59 | * Evaluates the predicate returning the result of the decorated predicate once the input has been transformed |
||
60 | * |
||
61 | * @param mixed $value The input value which will be transformed. |
||
62 | * @return bool true if decorated predicate returns true. |
||
63 | */ |
||
64 | 1 | public function __invoke($value) : bool |
|
68 | } |
||
69 |