Skip to content

Commit 58ddc4f

Browse files
committed
🚨 Fix phpstan issues
1 parent fe3a783 commit 58ddc4f

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

Diff for: src/Tempest/Support/src/Enums/Comparable.php

+6-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
/**
1616
* This trait provides helpers to compare enums
17+
*
18+
* @template TEnum of \UnitEnum
1719
*/
1820
trait Comparable
1921
{
@@ -114,7 +116,10 @@ public static function hasNot(string $name): bool
114116
*/
115117
public static function hasValue(string|int $value): bool
116118
{
117-
$caseValues = is_subclass_of(static::class, BackedEnum::class)
119+
/** @var class-string<TEnum> */
120+
$class = static::class;
121+
122+
$caseValues = is_subclass_of($class, BackedEnum::class)
118123
? array_column(static::cases(), 'value')
119124
: array_column(static::cases(), 'name');
120125

Diff for: src/Tempest/Support/src/Enums/HelperMethods.php

+10-2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010

1111
/**
1212
* This trait provides some useful methods for enums
13+
*
14+
* @template TEnum of \UnitEnum
1315
*/
1416
trait HelperMethods
1517
{
@@ -32,7 +34,10 @@ public static function names(): array
3234
*/
3335
public static function values(): array
3436
{
35-
return is_subclass_of(static::class, BackedEnum::class)
37+
/** @var class-string<TEnum> */
38+
$class = static::class;
39+
40+
return is_subclass_of($class, BackedEnum::class)
3641
? array_column(static::cases(), 'value')
3742
: array_column(static::cases(), 'name');
3843
}
@@ -55,7 +60,10 @@ public static function collect(): ArrayHelper
5560
*/
5661
public static function options(): array
5762
{
58-
return is_subclass_of(static::class, BackedEnum::class)
63+
/** @var class-string<TEnum> */
64+
$class = static::class;
65+
66+
return is_subclass_of($class, BackedEnum::class)
5967
? array_column(static::cases(), 'value', 'name')
6068
: self::values();
6169
}

Diff for: src/Tempest/Support/tests/Enums/AccessibleTest.php

+1
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ public function try_from_method_with_backed_enum(): void
102102
);
103103

104104
// It's case sensitive
105+
// @phpstan-ignore method.alreadyNarrowedType ( Because it's a regression test )
105106
$this->assertNull(
106107
SampleStatusBackedEnum::tryFrom('PUBLISH'),
107108
);

0 commit comments

Comments
 (0)