Lines 100.00% 2 / 2
Functions and Methods 100.00% 2 / 2
Classes and Traits 100.00% 1 / 1
Name Lines Functions and Methods CRAP Classes and Traits
MonsterLevel 100.00% 2 / 2 100.00% 2 / 2 2 100.00% 1 / 1
 __construct 100.00% 1 / 1 100.00% 1 / 1 1
 __toString 100.00% 1 / 1 100.00% 1 / 1 1
1<?php
2
3declare(strict_types=1);
4
5namespace Lorekeeper\Core\World\Monster;
6
7use Psl\Type;
8use Stringable;
9
10final readonly class MonsterLevel implements Stringable
11{
12    /** @var int<1, 255> */
13    public int $value;
14
15    public function __construct(int $value)
16    {
17        $this->value = Type\int_range(min: 1, max: 255)->assert($value);
18    }
19
20    public function __toString(): string
21    {
22        return (string) $this->value;
23    }
24}