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
EntityPlacement 100.00% 2 / 2 100.00% 2 / 2 2 100.00% 1 / 1
 __construct 100.00% 1 / 1 100.00% 1 / 1 1
 unregistered 100.00% 1 / 1 100.00% 1 / 1 1
1<?php
2
3declare(strict_types=1);
4
5namespace Stewart\Contracts\Registry;
6
7use Stewart\Contracts\Entity\EntityId;
8use Stewart\Contracts\Registry\Collection\LabelIdCollection;
9
10final readonly class EntityPlacement
11{
12    public function __construct(
13        public EntityId $entityId,
14        public ?DeviceId $deviceId,
15        public ?AreaId $areaId,
16        public ?FloorId $floorId,
17        public LabelIdCollection $labelIds,
18        public bool $indirectlyTargetable,
19    ) {}
20
21    public static function unregistered(EntityId $entityId): self
22    {
23        return new self($entityId, null, null, null, LabelIdCollection::empty(), true);
24    }
25}