functions.php 687 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace Illuminate\Support;
  3. if (! function_exists('Illuminate\Support\enum_value')) {
  4. /**
  5. * Return a scalar value for the given value that might be an enum.
  6. *
  7. * @internal
  8. *
  9. * @template TValue
  10. * @template TDefault
  11. *
  12. * @param TValue $value
  13. * @param TDefault|callable(TValue): TDefault $default
  14. * @return ($value is empty ? TDefault : mixed)
  15. */
  16. function enum_value($value, $default = null)
  17. {
  18. return match (true) {
  19. $value instanceof \BackedEnum => $value->value,
  20. $value instanceof \UnitEnum => $value->name,
  21. default => $value ?? value($default),
  22. };
  23. }
  24. }