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
NonEmptyString 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\Support;
6
7use Psl\Type;
8use Stringable;
9
10abstract readonly class NonEmptyString implements Stringable
11{
12    /** @var non-empty-string */
13    public string $value;
14
15    final public function __construct(string $value)
16    {
17        $this->value = Type\non_empty_string()->assert($value);
18    }
19
20    final public function __toString(): string
21    {
22        return $this->value;
23    }
24}