ldc-lionor/app/Enums/PreparationTimeEnum.php
noah.lancien 8278419606 Phpstan
2024-09-06 08:30:55 +00:00

60 lines
1.2 KiB
PHP

<?php
namespace App\Enums;
use App\Traits\Enums\BaseEnum;
enum PreparationTimeEnum: int
{
use BaseEnum;
case interval1 = 1;
case interval2 = 2;
case interval3 = 3;
case interval4 = 4;
/**
* Enum labels
*
* @return array
* @phpstan-ignore-next-line
*/
private const LABELS = [
self::interval1->name => '0-30 min',
self::interval2->name => '30min - 2h',
self::interval3->name => '2h - 4h',
self::interval4->name => '> 4h',
];
/**
* Enum times
*
* @return array
*/
private const TIMES = [
self::interval1->name => ['min' => 0, 'max' => 30],
self::interval2->name => ['min' => 31, 'max' => 120],
self::interval3->name => ['min' => 121, 'max' => 240],
self::interval4->name => ['min' => 241, 'max' => 9999],
];
/**
* Get image
*
* @return array
*/
public function time(): array
{
return self::TIMES[$this->name];
}
/**
* Get enum images
*
* @return array<string, array<string, int>>
*/
public static function toTimes(): array
{
return self::TIMES;
}
}