Configuration   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 3
dl 0
loc 43
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B getConfigTreeBuilder() 0 37 1
1
<?php
2
3
namespace NatePage\EasyHtmlElement\Bridge\Symfony\DependencyInjection;
4
5
use NatePage\EasyHtmlElement\BranchValidator;
6
use NatePage\EasyHtmlElement\Escaper;
7
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
8
use Symfony\Component\Config\Definition\ConfigurationInterface;
9
10
class Configuration implements ConfigurationInterface
11
{
12
    /**
13
     * {@inheritdoc}
14
     */
15
    public function getConfigTreeBuilder(): TreeBuilder
16
    {
17
        $treeBuilder = new TreeBuilder();
18
        $rootNode = $treeBuilder->root('easy_html_element');
19
20
        $rootNode
21
            ->children()
22
                ->scalarNode('encoding')->defaultValue('utf-8')->end()
23
                ->scalarNode('escaper')->defaultValue(Escaper::class)->end()
24
                ->scalarNode('branch_validator')->defaultValue(BranchValidator::class)->end()
25
                ->arrayNode('escaping')
26
                    ->addDefaultsIfNotSet()
27
                    ->children()
28
                        ->booleanNode('html')->defaultTrue()->end()
29
                        ->booleanNode('html_attr')->defaultTrue()->end()
30
                        ->booleanNode('css')->defaultTrue()->end()
31
                        ->booleanNode('js')->defaultTrue()->end()
32
                        ->booleanNode('url')->defaultTrue()->end()
33
                    ->end()
34
                ->end()
35
                ->arrayNode('map')
36
                    ->prototype('array')
37
                        ->children()
38
                            ->scalarNode('type')->end()
39
                            ->scalarNode('text')->end()
40
                            ->scalarNode('parent')->end()
41
                            ->variableNode('attr')->end()
42
                            ->variableNode('children')->end()
43
                            ->variableNode('extends')->end()
44
                        ->end()
45
                    ->end()
46
                ->end()
47
            ->end()
48
        ;
49
50
        return $treeBuilder;
51
    }
52
}
53