PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.2.0
Independent Analytics – WordPress Analytics Plugin v2.2.0
2.15.5 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 / support / Optional.php
independent-analytics / vendor / illuminate / support Last commit date
Facades 2 years ago Testing 2 years ago Traits 2 years ago AggregateServiceProvider.php 2 years ago Carbon.php 2 years ago Composer.php 2 years ago ConfigurationUrlParser.php 2 years ago DateFactory.php 2 years ago Env.php 2 years ago Fluent.php 2 years ago HigherOrderTapProxy.php 2 years ago HtmlString.php 2 years ago InteractsWithTime.php 2 years ago Js.php 2 years ago Manager.php 2 years ago MessageBag.php 2 years ago MultipleInstanceManager.php 2 years ago NamespacedItemResolver.php 2 years ago Optional.php 2 years ago Pluralizer.php 2 years ago ProcessUtils.php 2 years ago Reflector.php 2 years ago ServiceProvider.php 2 years ago Str.php 2 years ago Stringable.php 2 years ago Timebox.php 2 years ago ValidatedInput.php 2 years ago ViewErrorBag.php 2 years ago helpers.php 2 years ago
Optional.php
124 lines
1 <?php
2
3 namespace IAWP_SCOPED\Illuminate\Support;
4
5 use ArrayAccess;
6 use ArrayObject;
7 use IAWP_SCOPED\Illuminate\Support\Traits\Macroable;
8 /** @internal */
9 class Optional implements ArrayAccess
10 {
11 use Macroable {
12 __call as macroCall;
13 }
14 /**
15 * The underlying object.
16 *
17 * @var mixed
18 */
19 protected $value;
20 /**
21 * Create a new optional instance.
22 *
23 * @param mixed $value
24 * @return void
25 */
26 public function __construct($value)
27 {
28 $this->value = $value;
29 }
30 /**
31 * Dynamically access a property on the underlying object.
32 *
33 * @param string $key
34 * @return mixed
35 */
36 public function __get($key)
37 {
38 if (\is_object($this->value)) {
39 return $this->value->{$key} ?? null;
40 }
41 }
42 /**
43 * Dynamically check a property exists on the underlying object.
44 *
45 * @param mixed $name
46 * @return bool
47 */
48 public function __isset($name)
49 {
50 if (\is_object($this->value)) {
51 return isset($this->value->{$name});
52 }
53 if (\is_array($this->value) || $this->value instanceof ArrayObject) {
54 return isset($this->value[$name]);
55 }
56 return \false;
57 }
58 /**
59 * Determine if an item exists at an offset.
60 *
61 * @param mixed $key
62 * @return bool
63 */
64 #[\ReturnTypeWillChange]
65 public function offsetExists($key)
66 {
67 return Arr::accessible($this->value) && Arr::exists($this->value, $key);
68 }
69 /**
70 * Get an item at a given offset.
71 *
72 * @param mixed $key
73 * @return mixed
74 */
75 #[\ReturnTypeWillChange]
76 public function offsetGet($key)
77 {
78 return Arr::get($this->value, $key);
79 }
80 /**
81 * Set the item at a given offset.
82 *
83 * @param mixed $key
84 * @param mixed $value
85 * @return void
86 */
87 #[\ReturnTypeWillChange]
88 public function offsetSet($key, $value)
89 {
90 if (Arr::accessible($this->value)) {
91 $this->value[$key] = $value;
92 }
93 }
94 /**
95 * Unset the item at a given offset.
96 *
97 * @param string $key
98 * @return void
99 */
100 #[\ReturnTypeWillChange]
101 public function offsetUnset($key)
102 {
103 if (Arr::accessible($this->value)) {
104 unset($this->value[$key]);
105 }
106 }
107 /**
108 * Dynamically pass a method to the underlying object.
109 *
110 * @param string $method
111 * @param array $parameters
112 * @return mixed
113 */
114 public function __call($method, $parameters)
115 {
116 if (static::hasMacro($method)) {
117 return $this->macroCall($method, $parameters);
118 }
119 if (\is_object($this->value)) {
120 return $this->value->{$method}(...$parameters);
121 }
122 }
123 }
124