Completed
Pull Request — master (#122)
by Tobias
01:12
created

DeprecatedClassesStrategy   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 0
dl 0
loc 26
ccs 0
cts 7
cp 0
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A getCandidates() 0 8 2
1
<?php
2
3
namespace Http\Discovery\Strategy;
4
5
use Http\Message\MessageFactory;
6
use Http\Message\StreamFactory;
7
use Http\Message\UriFactory;
8
use Nyholm\Psr7\Factory\MessageFactory as NyholmMessageFactory;
9
use Nyholm\Psr7\Factory\StreamFactory as NyholmStreamFactory;
10
use Nyholm\Psr7\Factory\UriFactory as NyholmUriFactory;
11
12
/**
13
 * Discover classes that are deprecated and no longer should be supported.
14
 *
15
 * @internal
16
 *
17
 * @author Tobias Nyholm <[email protected]>
18
 */
19
final class DeprecatedClassesStrategy implements DiscoveryStrategy
20
{
21
    private static $classes = [
22
        MessageFactory::class => [
23
            ['class' => NyholmMessageFactory::class, 'condition' => [NyholmRequest::class, NyholmMessageFactory::class]],
24
        ],
25
        StreamFactory::class => [
26
            ['class' => NyholmStreamFactory::class, 'condition' => [NyholmRequest::class, NyholmStreamFactory::class]],
27
        ],
28
        UriFactory::class => [
29
            ['class' => NyholmUriFactory::class, 'condition' => [NyholmRequest::class, NyholmUriFactory::class]],
30
        ],
31
    ];
32
33
    /**
34
     * {@inheritdoc}
35
     */
36
    public static function getCandidates($type)
37
    {
38
        if (isset(self::$classes[$type])) {
39
            return self::$classes[$type];
40
        }
41
42
        return [];
43
    }
44
}
45