Lines 0.00% 0 / 2
Functions and Methods 0.00% 0 / 2
Classes and Traits 0.00% 0 / 1
Name Lines Functions and Methods CRAP Classes and Traits
HaClientFactory 0.00% 0 / 2 0.00% 0 / 2 6 0.00% 0 / 1
 __construct 0.00% 0 / 1 0.00% 0 / 1 2
 createClient 0.00% 0 / 1 0.00% 0 / 1 2
1<?php
2
3declare(strict_types=1);
4
5namespace Stewart\Client;
6
7use Amp\Websocket\Client\WebsocketConnector;
8use Psr\Log\LoggerInterface;
9use Stewart\Client\Connection\ConnectionConfig;
10use Stewart\Support\Time\Deadlines;
11
12final readonly class HaClientFactory
13{
14    public function __construct(
15        private Deadlines $deadlines,
16        private ?WebsocketConnector $haWebsocketConnector = null,
17    ) {}
18
19    public function createClient(ConnectionConfig $config, LoggerInterface $logger): HaClient
20    {
21        return HaClient::fromConnectionConfig($config, $this->deadlines, $logger, $this->haWebsocketConnector);
22    }
23}