GraphQL\Language\AST\Node::cloneValue PHP Метод

cloneValue() приватный Метод

private cloneValue ( $value ) : array | Node
$value
Результат array | Node
    private function cloneValue($value)
    {
        if (is_array($value)) {
            $cloned = [];
            foreach ($value as $key => $arrValue) {
                $cloned[$key] = $this->cloneValue($arrValue);
            }
        } else {
            if ($value instanceof Node) {
                $cloned = clone $value;
                foreach (get_object_vars($cloned) as $prop => $propValue) {
                    $cloned->{$prop} = $this->cloneValue($propValue);
                }
            } else {
                $cloned = $value;
            }
        }
        return $cloned;
    }