ArrayAppendHelperTrait   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
c 1
b 0
f 0
dl 0
loc 41
ccs 8
cts 8
cp 1
rs 10
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A appendIf() 0 7 2
A appendIfValueNotNull() 0 3 1
A appendIfValueHaveSiblings() 0 3 1
1
<?php
2
namespace Yoanm\JsonRpcHttpServerSwaggerDoc\App\Helper;
3
4
/**
5
 * Class ArrayAppendHelperTrait
6
 */
7
trait ArrayAppendHelperTrait
8
{
9
    /**
10
     * @param string $key
11
     * @param mixed  $value
12
     * @param array  $doc
13
     *
14
     * @return array
15
     */
16 80
    protected function appendIfValueHaveSiblings(string $key, array $value, array $doc = []) : array
17
    {
18 80
        return $this->appendIf((count($value) > 0), $key, $value, $doc);
19
    }
20
21
    /**
22
     * @param string $key
23
     * @param mixed  $value
24
     * @param array  $doc
25
     *
26
     * @return array
27
     */
28 80
    protected function appendIfValueNotNull(string $key, $value, array $doc = []) : array
29
    {
30 80
        return $this->appendIf((null !== $value), $key, $value, $doc);
31
    }
32
33
    /**
34
     * @param bool   $doAppend
35
     * @param string $key
36
     * @param mixed  $value
37
     * @param array  $doc
38
     *
39
     * @return array
40
     */
41 88
    protected function appendIf(bool $doAppend, string $key, $value, array $doc = []) : array
42
    {
43 88
        if (true === $doAppend) {
44 72
            $doc[$key] = $value;
45
        }
46
47 88
        return $doc;
48
    }
49
}
50