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
PlayerLevel 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\Player;
6
7use Psl\Type;
8use Stringable;
9
10final readonly class PlayerLevel implements Stringable
11{
12    /** @var int<1, 100> */
13    public int $value;
14
15    public function __construct(int $value)
16    {
17        $this->value = Type\int_range(min: 1, max: 100)->assert($value);
18    }
19
20    public function __toString(): string
21    {
22        return (string) $this->value;
23    }
24}