PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.4
Independent Analytics – WordPress Analytics Plugin v2.15.4
2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / illuminate / conditionable / HigherOrderWhenProxy.php
independent-analytics / vendor / illuminate / conditionable Last commit date
Traits 3 weeks ago HigherOrderWhenProxy.php 3 weeks ago
HigherOrderWhenProxy.php
93 lines
1 <?php
2
3 namespace IAWPSCOPED\Illuminate\Support;
4
5 /** @internal */
6 class HigherOrderWhenProxy
7 {
8 /**
9 * The target being conditionally operated on.
10 *
11 * @var mixed
12 */
13 protected $target;
14 /**
15 * The condition for proxying.
16 *
17 * @var bool
18 */
19 protected $condition;
20 /**
21 * Indicates whether the proxy has a condition.
22 *
23 * @var bool
24 */
25 protected $hasCondition = \false;
26 /**
27 * Determine whether the condition should be negated.
28 *
29 * @var bool
30 */
31 protected $negateConditionOnCapture;
32 /**
33 * Create a new proxy instance.
34 *
35 * @param mixed $target
36 * @return void
37 */
38 public function __construct($target)
39 {
40 $this->target = $target;
41 }
42 /**
43 * Set the condition on the proxy.
44 *
45 * @param bool $condition
46 * @return $this
47 */
48 public function condition($condition)
49 {
50 [$this->condition, $this->hasCondition] = [$condition, \true];
51 return $this;
52 }
53 /**
54 * Indicate that the condition should be negated.
55 *
56 * @return $this
57 */
58 public function negateConditionOnCapture()
59 {
60 $this->negateConditionOnCapture = \true;
61 return $this;
62 }
63 /**
64 * Proxy accessing an attribute onto the target.
65 *
66 * @param string $key
67 * @return mixed
68 */
69 public function __get($key)
70 {
71 if (!$this->hasCondition) {
72 $condition = $this->target->{$key};
73 return $this->condition($this->negateConditionOnCapture ? !$condition : $condition);
74 }
75 return $this->condition ? $this->target->{$key} : $this->target;
76 }
77 /**
78 * Proxy a method call on the target.
79 *
80 * @param string $method
81 * @param array $parameters
82 * @return mixed
83 */
84 public function __call($method, $parameters)
85 {
86 if (!$this->hasCondition) {
87 $condition = $this->target->{$method}(...$parameters);
88 return $this->condition($this->negateConditionOnCapture ? !$condition : $condition);
89 }
90 return $this->condition ? $this->target->{$method}(...$parameters) : $this->target;
91 }
92 }
93