Completed
Push — master ( 006032...d9c179 )
by Fèvre
27s queued 12s
created

GithubPullRequestRenderer   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
c 1
b 0
f 0
dl 0
loc 29
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getXmlAttributes() 0 3 1
A getXmlTagName() 0 3 1
A render() 0 7 1
1
<?php
2
namespace Xetaravel\Markdown\GithubPullRequest;
3
4
use League\CommonMark\Node\Node;
5
use League\CommonMark\Renderer\ChildNodeRendererInterface;
6
use League\CommonMark\Renderer\NodeRendererInterface;
7
use League\CommonMark\Util\HtmlElement;
8
use League\CommonMark\Util\Xml;
9
use League\CommonMark\Xml\XmlNodeRendererInterface;
10
11
final class GithubPullRequestRenderer implements NodeRendererInterface, XmlNodeRendererInterface
12
{
13
    /**
14
     * @param GithubPullRequest $node
15
     *
16
     * {@inheritDoc}
17
     *
18
     * @psalm-suppress MoreSpecificImplementedParamType
19
     */
20
    public function render(Node $node, ChildNodeRendererInterface $childRenderer): \Stringable
21
    {
22
        GithubPullRequest::assertInstanceOf($node);
23
24
        $attrs = $node->data->get('attributes');
25
26
        return new HtmlElement('a', $attrs, Xml::escape($node->getLiteral()));
27
    }
28
29
    public function getXmlTagName(Node $node): string
30
    {
31
        return 'a';
32
    }
33
34
    /**
35
     * {@inheritDoc}
36
     */
37
    public function getXmlAttributes(Node $node): array
38
    {
39
        return [];
40
    }
41
}
42