Lines 85.71% 6 / 7
Functions and Methods 75.00% 3 / 4
Classes and Traits 0.00% 0 / 1
Name Lines Functions and Methods CRAP Classes and Traits
SubscribeEvents 85.71% 6 / 7 75.00% 3 / 4 5.07 0.00% 0 / 1
 __construct 100.00% 1 / 1 100.00% 1 / 1 1
 type 0.00% 0 / 1 0.00% 0 / 1 2
 describe 100.00% 1 / 1 100.00% 1 / 1 1
 toMessage 100.00% 4 / 4 100.00% 1 / 1 2
1<?php
2
3declare(strict_types=1);
4
5namespace Stewart\Client\Connection\Command;
6
7final readonly class SubscribeEvents implements SubscriptionCommand
8{
9    public function __construct(public ?string $eventType = null) {}
10
11    public function type(): string
12    {
13        return 'subscribe_events';
14    }
15
16    public function describe(): string
17    {
18        return \sprintf('subscribe_events "%s"', $this->eventType ?? '*');
19    }
20
21    public function toMessage(): array
22    {
23        $message = ['type' => $this->type()];
24
25        if ($this->eventType !== null) {
26            $message['event_type'] = $this->eventType;
27        }
28
29        return $message;
30    }
31}