Scrutinizer GitHub App not installed

We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.

Install GitHub App

Completed
Pull Request — master (#494)
by Jérémiah
18:56
created

ResolverMaps::isResolvable()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 0
Metric Value
eloc 4
dl 0
loc 9
ccs 0
cts 5
cp 0
rs 10
c 0
b 0
f 0
cc 3
nc 3
nop 2
crap 12
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Overblog\GraphQLBundle\Resolver;
6
7
final class ResolverMaps implements ResolverMapInterface
8
{
9
    /** @var ResolverMapInterface[] */
10
    private $resolverMaps;
11
12 6
    public function __construct(array $resolverMaps)
13
    {
14 6
        self::checkResolverMaps($resolverMaps);
15 1
        $this->resolverMaps = $resolverMaps;
16 1
    }
17
18
    /**
19
     * {@inheritdoc}
20
     */
21 1
    public function resolve(string $typeName, string $fieldName)
22
    {
23 1
        foreach ($this->resolverMaps as $resolverMap) {
24
            if ($resolverMap->isResolvable($typeName, $fieldName)) {
25
                return $resolverMap->resolve($typeName, $fieldName);
26
            }
27
        }
28 1
        throw new UnresolvableException(\sprintf('Field "%s.%s" could not be resolved.', $typeName, $fieldName));
29
    }
30
31
    /**
32
     * {@inheritdoc}
33
     */
34
    public function isResolvable(string $typeName, string $fieldName): bool
35
    {
36
        foreach ($this->resolverMaps as $resolverMap) {
37
            if ($resolverMap->isResolvable($typeName, $fieldName)) {
38
                return true;
39
            }
40
        }
41
42
        return false;
43
    }
44
45
    /**
46
     * {@inheritdoc}
47
     */
48
    public function covered(?string $typeName = null)
49
    {
50
        $covered = [];
51
        foreach ($this->resolverMaps as $resolverMap) {
52
            $covered = \array_merge($covered, $resolverMap->covered($typeName));
53
        }
54
        $covered = \array_unique($covered);
55
56
        return $covered;
57
    }
58
59 6
    private static function checkResolverMaps(array $resolverMaps): void
60
    {
61 6
        foreach ($resolverMaps as $resolverMap) {
62 5
            if (!$resolverMap instanceof ResolverMapInterface) {
63 5
                throw new \InvalidArgumentException(\sprintf(
64 5
                    'ResolverMap should be instance of "%s" but got "%s".',
65 5
                    ResolverMapInterface::class,
66 5
                    \is_object($resolverMap) ? \get_class($resolverMap) : \gettype($resolverMap)
67
                ));
68
            }
69
        }
70 1
    }
71
}
72