Lines 100.00% 4 / 4
Methods 100.00% 1 / 1
Classes 100.00% 1 / 1
Name Lines Methods CRAP
 pick 100.00% 4 / 4 100.00% 1 / 1 5
10final readonly class ServerChoice
11{
12    /**
13     * @param list<Server> $servers
14     *
15     * @return Option\Option<Server>
16     */
17    public static function pick(array $servers, ?string $name = null): Option\Option
18    {
19        foreach ($servers as $server) {
20            if ($server->online && !$server->memberOnly && ($name ?? $server->name) === $server->name) {
21                return Option\some($server);
22            }
23        }
24
25        return Option\none();
26    }
27}