From b57f67ed11376bb5d5bc77d4f59ca78905890133 Mon Sep 17 00:00:00 2001 From: Lazizbek Ergashev Date: Fri, 1 Aug 2025 17:55:42 +0500 Subject: [PATCH] refactor: leverage collection helpers --- src/EnumNames.php | 4 ++-- src/EnumOptions.php | 1 + src/EnumPro.php | 1 + src/EnumRandom.php | 7 ++----- src/EnumStaticCalls.php | 1 + src/EnumValues.php | 9 ++------- tests/EnumNamesTest.php | 1 + tests/EnumOptionsTest.php | 1 + tests/EnumTest.php | 1 + tests/EnumValuesTest.php | 1 + 10 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/EnumNames.php b/src/EnumNames.php index 46a72c2..8e0e270 100644 --- a/src/EnumNames.php +++ b/src/EnumNames.php @@ -1,4 +1,5 @@ map(fn($case) => $case->name); + return collect(self::cases())->pluck('name'); } /** diff --git a/src/EnumOptions.php b/src/EnumOptions.php index 4b3576e..f7fe9d2 100644 --- a/src/EnumOptions.php +++ b/src/EnumOptions.php @@ -1,4 +1,5 @@ self::values()->count()) { - throw new InvalidArgumentException('Count of random values is greater than count of enum values'); - } - - return self::values()->shuffle()->take($count); + return self::values()->random($count); } /** diff --git a/src/EnumStaticCalls.php b/src/EnumStaticCalls.php index f379bd6..533926d 100644 --- a/src/EnumStaticCalls.php +++ b/src/EnumStaticCalls.php @@ -1,4 +1,5 @@ name === $name) { - return $case->value; - } - } - - return null; + return array_column(self::cases(), 'value', 'name')[$name] ?? null; } } diff --git a/tests/EnumNamesTest.php b/tests/EnumNamesTest.php index 1c5d00f..d69490f 100644 --- a/tests/EnumNamesTest.php +++ b/tests/EnumNamesTest.php @@ -1,4 +1,5 @@