Code Duplication    Length = 18-22 lines in 3 locations

src/TableRenderer.php 1 location

@@ 23-40 (lines=18) @@
20
use League\CommonMark\HtmlElement;
21
use League\CommonMark\Util\Xml;
22
23
class TableRenderer implements BlockRendererInterface
24
{
25
    public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, bool $inTightList = false)
26
    {
27
        if (!$block instanceof Table) {
28
            throw new \InvalidArgumentException('Incompatible block type: '.get_class($block));
29
        }
30
31
        $attrs = [];
32
        foreach ($block->getData('attributes', []) as $key => $value) {
33
            $attrs[$key] = Xml::escape($value);
34
        }
35
36
        $separator = $htmlRenderer->getOption('inner_separator', "\n");
37
38
        return new HtmlElement('table', $attrs, $separator.$htmlRenderer->renderBlocks($block->children()).$separator);
39
    }
40
}
41

src/TableRowRenderer.php 1 location

@@ 23-40 (lines=18) @@
20
use League\CommonMark\HtmlElement;
21
use League\CommonMark\Util\Xml;
22
23
class TableRowRenderer implements BlockRendererInterface
24
{
25
    public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, bool $inTightList = false)
26
    {
27
        if (!$block instanceof TableRow) {
28
            throw new \InvalidArgumentException('Incompatible block type: '.get_class($block));
29
        }
30
31
        $attrs = [];
32
        foreach ($block->getData('attributes', []) as $key => $value) {
33
            $attrs[$key] = Xml::escape($value);
34
        }
35
36
        $separator = $htmlRenderer->getOption('inner_separator', "\n");
37
38
        return new HtmlElement('tr', $attrs, $separator.$htmlRenderer->renderBlocks($block->children()).$separator);
39
    }
40
}
41

src/TableRowsRenderer.php 1 location

@@ 23-44 (lines=22) @@
20
use League\CommonMark\HtmlElement;
21
use League\CommonMark\Util\Xml;
22
23
class TableRowsRenderer implements BlockRendererInterface
24
{
25
    public function render(AbstractBlock $block, ElementRendererInterface $htmlRenderer, bool $inTightList = false)
26
    {
27
        if (!$block instanceof TableRows) {
28
            throw new \InvalidArgumentException('Incompatible block type: '.get_class($block));
29
        }
30
31
        if (!$block->hasChildren()) {
32
            return '';
33
        }
34
35
        $attrs = [];
36
        foreach ($block->getData('attributes', []) as $key => $value) {
37
            $attrs[$key] = Xml::escape($value);
38
        }
39
40
        $separator = $htmlRenderer->getOption('inner_separator', "\n");
41
42
        return new HtmlElement($block->type, $attrs, $separator.$htmlRenderer->renderBlocks($block->children()).$separator);
43
    }
44
}
45