Skip to content

Commit 3992a2d

Browse files
committed
- fix '0' intBackedENum error on wrap method
1 parent 99f9a97 commit 3992a2d

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

src/Traits/EnumFrom.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,16 @@ public static function wrap(self|string|int|null $value): ?self
1919
return $value;
2020
}
2121

22+
$enum = null;
2223
if (is_string($value) && self::isIntBacked()) {
23-
if (is_numeric($value)) {
24+
if(is_numeric($value)){
2425
$enum = self::tryFrom(intval($value));
2526
}
2627
} else {
2728
$enum = self::tryFrom($value);
2829
}
2930

30-
if (! $enum && is_string($value)) {
31+
if ($enum === null && is_string($value)) {
3132
$enum = self::tryFromName($value);
3233
}
3334

tests/EnumFromTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
'Int Backed Enum' => [IntBackedEnum::class, 0, IntBackedEnum::PENDING],
1919
'Int Backed Enum2' => [IntBackedEnum::class, IntBackedEnum::PENDING, IntBackedEnum::PENDING],
2020
'Int Backed Enum3' => [IntBackedEnum::class, 'PENDING', IntBackedEnum::PENDING],
21+
'Int Backed Enum4' => [IntBackedEnum::class, '0', IntBackedEnum::PENDING],
2122
'String Backed Enum' => [StringBackedEnum::class, 'P', StringBackedEnum::PENDING],
2223
'String Backed Enum2' => [StringBackedEnum::class, StringBackedEnum::PENDING, StringBackedEnum::PENDING],
2324
'String Backed Enum3' => [StringBackedEnum::class, 'PENDING', StringBackedEnum::PENDING],

0 commit comments

Comments
 (0)