Passed
Pull Request — master (#145)
by Christoffer
02:24
created

SupportedASTBuilders   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A get() 0 11 3
1
<?php
2
3
namespace Digia\GraphQL\Language\ASTBuilder;
4
5
class SupportedASTBuilders
6
{
7
    /**
8
     * @var ASTBuilderInterface[]
9
     */
10
    private static $builders;
11
12
    /**
13
     * @var array
14
     */
15
    private static $supportedBuilders = [
16
        ArgumentsASTBuilder::class,
17
        ArgumentsDefinitionASTBuilder::class,
18
        DescriptionASTBuilder::class,
19
        DirectivesASTBuilder::class,
20
        DirectiveDefinitionASTBuilder::class,
21
        DocumentASTBuilder::class,
22
        EnumTypeDefinitionASTBuilder::class,
23
        EnumTypeExtensionASTBuilder::class,
24
        EnumValuesDefinitionASTBuilder::class,
25
        ExecutableDefinitionASTBuilder::class,
26
        FieldASTBuilder::class,
27
        FieldsDefinitionASTBuilder::class,
28
        FragmentASTBuilder::class,
29
        FragmentDefinitionASTBuilder::class,
30
        ImplementsInterfacesASTBuilder::class,
31
        InputFieldsDefinitionASTBuilder::class,
32
        InputObjectTypeDefinitionASTBuilder::class,
33
        InputObjectTypeExtensionASTBuilder::class,
34
        InputValueDefinitionASTBuilder::class,
35
        InterfaceTypeDefinitionASTBuilder::class,
36
        InterfaceTypeExtensionASTBuilder::class,
37
        NameASTBuilder::class,
38
        NamedTypeASTBuilder::class,
39
        ObjectTypeDefinitionASTBuilder::class,
40
        ObjectTypeExtensionASTBuilder::class,
41
        OperationDefinitionASTBuilder::class,
42
        ScalarTypeDefinitionASTBuilder::class,
43
        ScalarTypeExtensionASTBuilder::class,
44
        SchemaDefinitionASTBuilder::class,
45
        SelectionSetASTBuilder::class,
46
        StringLiteralASTBuilder::class,
47
        TypeReferenceASTBuilder::class,
48
        TypeSystemDefinitionASTBuilder::class,
49
        TypeSystemExtensionASTBuilder::class,
50
        UnionMemberTypesASTBuilder::class,
51
        UnionTypeDefinitionASTBuilder::class,
52
        UnionTypeExtensionASTBuilder::class,
53
        ValueASTBuilder::class,
54
        VariableASTBuilder::class,
55
        VariableDefinitionASTBuilder::class,
56
    ];
57
58
    /**
59
     * @return array
60
     */
61
    public static function get(): array
62
    {
63
        if (null === self::$builders) {
0 ignored issues
show
introduced by
The condition null === self::builders is always false.
Loading history...
64
            self::$builders = [];
65
66
            foreach (self::$supportedBuilders as $className) {
67
                self::$builders[] = new $className();
68
            }
69
        }
70
71
        return self::$builders;
72
    }
73
}
74