ParagraphNode   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
eloc 17
c 3
b 0
f 0
dl 0
loc 31
rs 10
wmc 7

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 12 3
A toSyntax() 0 9 4
1
<?php
2
3
namespace dokuwiki\plugin\prosemirror\parser;
4
5
class ParagraphNode extends Node
6
{
7
    /** @var TextNode[] */
8
    protected $subnodes = [];
9
10
    protected $parent;
11
12
    public function __construct($data, Node $parent)
13
    {
14
        $this->parent = &$parent;
15
16
        $previousNode = null;
17
        if (empty($data['content'])) {
18
            return;
19
        }
20
        foreach ($data['content'] as $nodeData) {
21
            $newNode = self::getSubNode($nodeData, $this, $previousNode);
22
            $this->subnodes[] = $newNode;
23
            $previousNode = $newNode;
24
        }
25
    }
26
27
    public function toSyntax()
28
    {
29
        $doc = '';
30
        foreach ($this->subnodes as $subnode) {
31
            if ($subnode instanceof \dokuwiki\plugin\prosemirror\parser\ParagraphNode) $doc .= "\n";
32
            $doc .= $subnode->toSyntax();
33
            if ($subnode instanceof \dokuwiki\plugin\prosemirror\parser\ParagraphNode) $doc .= "\n";
34
        }
35
        return $doc;
36
    }
37
}
38