WhenComponent   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 6
dl 0
loc 19
rs 10
c 0
b 0
f 0
wmc 4

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 11 4
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