ChainLocaleResolver   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 14
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 5
Bugs 0 Features 1
Metric Value
wmc 3
eloc 8
c 5
b 0
f 1
dl 0
loc 14
ccs 6
cts 6
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A resolve() 0 9 3
1
<?php
2
declare(strict_types=1);
3
4
namespace Nexendrie\Translation\Resolvers;
5
6
use Nexendrie\Utils\Collection;
7
use Nexendrie\Translation\ILocaleResolver;
8
9
/**
10
 * ChainResolver
11
 *
12
 * @author Jakub Konečný
13
 */
14 1
final class ChainLocaleResolver extends Collection implements ILocaleResolver {
15
  use \Nette\SmartObject;
16
17
  protected string $class = ILocaleResolver::class;
18
  
19
  public function resolve(): ?string {
20
    /** @var ILocaleResolver $resolver */
21 1
    foreach($this->items as $resolver) {
22 1
      $lang = $resolver->resolve();
23 1
      if($lang !== null) {
24 1
        return $lang;
25
      }
26
    }
27 1
    return null;
28
  }
29
}
30
?>