ArrayNodeToArrayHandler::isResponsible()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
namespace Saxulum\JsonDocument\NodeToArray;
4
5
use Saxulum\JsonDocument\AbstractNode;
6
use Saxulum\JsonDocument\ArrayNode;
7
8
class ArrayNodeToArrayHandler extends AbstractNodeToArrayHandler
9
{
10
    /**
11
     * @param  AbstractNode $node
12
     * @param  bool         $embedded
13
     * @return array
14
     */
15
    public function getArray(AbstractNode $node, $embedded = false)
16
    {
17
        if (!$node instanceof ArrayNode) {
18
            throw new \InvalidArgumentException("Invalid node type!");
19
        }
20
21
        $array = array();
22
23
        foreach ($node->getNodes() as $index => $childNode) {
24
            $array[$index] = $this->getMainHandler()->getArray($childNode, true);
25
        }
26
27
        return $array;
28
    }
29
30
    /**
31
     * @param  AbstractNode $node
32
     * @return bool
33
     */
34
    public function isResponsible(AbstractNode $node)
35
    {
36
        return $node instanceof ArrayNode;
37
    }
38
}
39