Lines 100.00% 4 / 4
Methods 100.00% 2 / 2
Classes 100.00% 1 / 1
Name Lines Methods CRAP
 __construct 100.00% 1 / 1 100.00% 1 / 1 1
 createTriggerFor 100.00% 3 / 3 100.00% 1 / 1 2
11final readonly class TriggerFactory
12{
13    public function __construct(private Clock $clock) {}
14
15    public function createTriggerFor(WallClockSchedule|ElapsedSchedule $schedule): Trigger
16    {
17        return $schedule instanceof ElapsedSchedule
18            ? new ElapsedTrigger($schedule, $this->clock)
19            : new WallTrigger($schedule, $this->clock);
20    }
21}