28 lines
531 B
PHP
28 lines
531 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Kernel\Object;
|
|
|
|
use BackedEnum;
|
|
|
|
class Enum
|
|
{
|
|
/**
|
|
* Extract values from an array of BackedEnum instances.
|
|
*
|
|
* @param array<int,BackedEnum> $enums
|
|
*
|
|
* @return array<int,int|string|float>
|
|
*/
|
|
public static function values(array $enums): array
|
|
{
|
|
return array_map(fn (BackedEnum $enum) => static::value($enum), $enums);
|
|
}
|
|
|
|
public static function value(BackedEnum $enum): int|string|float
|
|
{
|
|
return $enum->value;
|
|
}
|
|
}
|