WhenComponent::__construct()   A
last analyzed

Complexity

Conditions 4
Paths 5

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 6
nc 5
nop 2
dl 0
loc 11
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Lagdo\UiBuilder\Component\Virtual;
4
5
use Lagdo\UiBuilder\Component\Component;
6
use Closure;
7
8
use function is_a;
9
10
class WhenComponent extends VirtualComponent
11
{
12
    /**
13
     * The constructor
14
     *
15
     * @param bool $condition
16
     * @param Closure|Component $element
17
     */
18
    public function __construct(bool $condition, Closure|Component $element)
19
    {
20
        if (!$condition) {
21
            return;
22
        }
23
24
        if (is_a($element, Closure::class)) {
25
            $element = $element();
26
        }
27
        if ($element !== null) {
28
            $this->children[] = $element;
29
        }
30
    }
31
}
32