Completed
Push — master ( 57c967...04fa93 )
by Christoffer
05:47 queued 42s
created

RulesProvider   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 1
dl 0
loc 67
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B register() 0 31 1
1
<?php
2
3
namespace Digia\GraphQL\Validation;
4
5
use Digia\GraphQL\Util\TypeComparator;
6
use Digia\GraphQL\Validation\Rule\ExecutableDefinitionsRule;
7
use Digia\GraphQL\Validation\Rule\FieldOnCorrectTypeRule;
8
use Digia\GraphQL\Validation\Rule\FragmentsOnCompositeTypesRule;
9
use Digia\GraphQL\Validation\Rule\KnownArgumentNamesRule;
10
use Digia\GraphQL\Validation\Rule\KnownDirectivesRule;
11
use Digia\GraphQL\Validation\Rule\KnownFragmentNamesRule;
12
use Digia\GraphQL\Validation\Rule\KnownTypeNamesRule;
13
use Digia\GraphQL\Validation\Rule\LoneAnonymousOperationRule;
14
use Digia\GraphQL\Validation\Rule\NoFragmentCyclesRule;
15
use Digia\GraphQL\Validation\Rule\NoUndefinedVariablesRule;
16
use Digia\GraphQL\Validation\Rule\NoUnusedFragmentsRule;
17
use Digia\GraphQL\Validation\Rule\NoUnusedVariablesRule;
18
use Digia\GraphQL\Validation\Rule\OverlappingFieldsCanBeMergedRule;
19
use Digia\GraphQL\Validation\Rule\PossibleFragmentSpreadsRule;
20
use Digia\GraphQL\Validation\Rule\ProvidedNonNullArgumentsRule;
21
use Digia\GraphQL\Validation\Rule\ScalarLeafsRule;
22
use Digia\GraphQL\Validation\Rule\SingleFieldSubscriptionsRule;
23
use Digia\GraphQL\Validation\Rule\UniqueArgumentNamesRule;
24
use Digia\GraphQL\Validation\Rule\UniqueDirectivesPerLocationRule;
25
use Digia\GraphQL\Validation\Rule\UniqueFragmentNamesRule;
26
use Digia\GraphQL\Validation\Rule\UniqueInputFieldNamesRule;
27
use Digia\GraphQL\Validation\Rule\UniqueOperationNamesRule;
28
use Digia\GraphQL\Validation\Rule\UniqueVariableNamesRule;
29
use Digia\GraphQL\Validation\Rule\ValuesOfCorrectTypeRule;
30
use Digia\GraphQL\Validation\Rule\VariablesAreInputTypesRule;
31
use Digia\GraphQL\Validation\Rule\VariablesDefaultValueAllowedRule;
32
use Digia\GraphQL\Validation\Rule\VariablesInAllowedPositionRule;
33
use League\Container\ServiceProvider\AbstractServiceProvider;
34
35
class RulesProvider extends AbstractServiceProvider
36
{
37
    /**
38
     * @var array
39
     */
40
    protected $provides = [
41
        ExecutableDefinitionsRule::class,
42
        FieldOnCorrectTypeRule::class,
43
        FragmentsOnCompositeTypesRule::class,
44
        KnownArgumentNamesRule::class,
45
        KnownDirectivesRule::class,
46
        KnownFragmentNamesRule::class,
47
        KnownTypeNamesRule::class,
48
        LoneAnonymousOperationRule::class,
49
        NoFragmentCyclesRule::class,
50
        NoUndefinedVariablesRule::class,
51
        NoUnusedFragmentsRule::class,
52
        NoUnusedVariablesRule::class,
53
        OverlappingFieldsCanBeMergedRule::class,
54
        PossibleFragmentSpreadsRule::class,
55
        ProvidedNonNullArgumentsRule::class,
56
        ScalarLeafsRule::class,
57
        SingleFieldSubscriptionsRule::class,
58
        UniqueArgumentNamesRule::class,
59
        UniqueDirectivesPerLocationRule::class,
60
        UniqueFragmentNamesRule::class,
61
        UniqueVariableNamesRule::class,
62
        ValuesOfCorrectTypeRule::class,
63
        VariablesAreInputTypesRule::class,
64
        VariablesDefaultValueAllowedRule::class,
65
        VariablesInAllowedPositionRule::class,
66
    ];
67
68
    /**
69
     * @inheritdoc
70
     */
71
    public function register()
72
    {
73
        $this->container->add(ExecutableDefinitionsRule::class, ExecutableDefinitionsRule::class);
74
        $this->container->add(FieldOnCorrectTypeRule::class, FieldOnCorrectTypeRule::class);
75
        $this->container->add(FragmentsOnCompositeTypesRule::class, FragmentsOnCompositeTypesRule::class);
76
        $this->container->add(KnownArgumentNamesRule::class, KnownArgumentNamesRule::class);
77
        $this->container->add(KnownDirectivesRule::class, KnownDirectivesRule::class);
78
        $this->container->add(KnownFragmentNamesRule::class, KnownFragmentNamesRule::class);
79
        $this->container->add(KnownTypeNamesRule::class, KnownTypeNamesRule::class);
80
        $this->container->add(LoneAnonymousOperationRule::class, LoneAnonymousOperationRule::class);
81
        $this->container->add(NoFragmentCyclesRule::class, NoFragmentCyclesRule::class);
82
        $this->container->add(NoUndefinedVariablesRule::class, NoUndefinedVariablesRule::class);
83
        $this->container->add(NoUnusedFragmentsRule::class, NoUnusedFragmentsRule::class);
84
        $this->container->add(NoUnusedVariablesRule::class, NoUnusedVariablesRule::class);
85
        $this->container->add(OverlappingFieldsCanBeMergedRule::class, OverlappingFieldsCanBeMergedRule::class);
86
        $this->container->add(PossibleFragmentSpreadsRule::class, PossibleFragmentSpreadsRule::class)
87
            ->withArgument(TypeComparator::class);
88
        $this->container->add(ProvidedNonNullArgumentsRule::class, ProvidedNonNullArgumentsRule::class);
89
        $this->container->add(ScalarLeafsRule::class, ScalarLeafsRule::class);
90
        $this->container->add(SingleFieldSubscriptionsRule::class, SingleFieldSubscriptionsRule::class);
91
        $this->container->add(UniqueArgumentNamesRule::class, UniqueArgumentNamesRule::class);
92
        $this->container->add(UniqueDirectivesPerLocationRule::class, UniqueDirectivesPerLocationRule::class);
93
        $this->container->add(UniqueFragmentNamesRule::class, UniqueFragmentNamesRule::class);
94
        $this->container->add(UniqueInputFieldNamesRule::class, UniqueInputFieldNamesRule::class);
95
        $this->container->add(UniqueOperationNamesRule::class, UniqueOperationNamesRule::class);
96
        $this->container->add(UniqueVariableNamesRule::class, UniqueVariableNamesRule::class);
97
        $this->container->add(ValuesOfCorrectTypeRule::class, ValuesOfCorrectTypeRule::class);
98
        $this->container->add(VariablesAreInputTypesRule::class, VariablesAreInputTypesRule::class);
99
        $this->container->add(VariablesDefaultValueAllowedRule::class, VariablesDefaultValueAllowedRule::class);
100
        $this->container->add(VariablesInAllowedPositionRule::class, VariablesInAllowedPositionRule::class)
101
            ->withArgument(TypeComparator::class);
102
    }
103
}
104