Lines 100.00% 3 / 3
Functions and Methods 100.00% 1 / 1
Classes and Traits 100.00% 1 / 1
Name Lines Functions and Methods CRAP Classes and Traits
Notice 100.00% 3 / 3 100.00% 1 / 1 3 100.00% 1 / 1
 text 100.00% 3 / 3 100.00% 1 / 1 3
1<?php
2
3declare(strict_types=1);
4
5namespace Lorekeeper\Server\Event;
6
7use Lorekeeper\Server\Message\DelimitedMessage;
8use Lorekeeper\Server\Message\Message;
9use Psl\Option;
10
11final readonly class Notice
12{
13    /** @return Option\Option<string> */
14    public static function text(Message $message, string $channel): Option\Option
15    {
16        if (!$message instanceof DelimitedMessage || ($message->data[1] ?? null) !== $channel) {
17            return Option\none();
18        }
19
20        return Option\from_nullable($message->data[3] ?? null);
21    }
22}