Skip to content

Commit 23a6815

Browse files
committed
Remove remaining redundant BackedEnum from union types
Since BackedEnum extends UnitEnum, having both in union types is redundant. This removes BackedEnum from union types in validation, permission, queue, and cache packages while keeping the import where needed for instanceof checks.
1 parent 74ad611 commit 23a6815

File tree

9 files changed

+43
-47
lines changed

9 files changed

+43
-47
lines changed

src/cache/src/Repository.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -539,7 +539,7 @@ public function getName(): ?string
539539
/**
540540
* Determine if a cached value exists.
541541
*
542-
* @param UnitEnum|string $key
542+
* @param string|UnitEnum $key
543543
*/
544544
public function offsetExists($key): bool
545545
{
@@ -549,7 +549,7 @@ public function offsetExists($key): bool
549549
/**
550550
* Retrieve an item from the cache by key.
551551
*
552-
* @param UnitEnum|string $key
552+
* @param string|UnitEnum $key
553553
*/
554554
public function offsetGet($key): mixed
555555
{
@@ -559,7 +559,7 @@ public function offsetGet($key): mixed
559559
/**
560560
* Store an item in the cache for the default time.
561561
*
562-
* @param UnitEnum|string $key
562+
* @param string|UnitEnum $key
563563
* @param mixed $value
564564
*/
565565
public function offsetSet($key, $value): void
@@ -570,7 +570,7 @@ public function offsetSet($key, $value): void
570570
/**
571571
* Remove an item from the cache.
572572
*
573-
* @param UnitEnum|string $key
573+
* @param string|UnitEnum $key
574574
*/
575575
public function offsetUnset($key): void
576576
{

src/permission/src/Middlewares/PermissionMiddleware.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public function process(
7777
/**
7878
* Generate a unique identifier for the middleware based on the permissions.
7979
*/
80-
public static function using(array|BackedEnum|int|string|UnitEnum ...$permissions): string
80+
public static function using(array|UnitEnum|int|string ...$permissions): string
8181
{
8282
return static::class . ':' . self::parsePermissionsToString($permissions);
8383
}

src/permission/src/Middlewares/RoleMiddleware.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public function process(
7777
/**
7878
* Generate a unique identifier for the middleware based on the roles.
7979
*/
80-
public static function using(array|BackedEnum|int|string|UnitEnum ...$roles): string
80+
public static function using(array|UnitEnum|int|string ...$roles): string
8181
{
8282
return static::class . ':' . self::parseRolesToString($roles);
8383
}

src/permission/src/Traits/HasPermission.php

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public function getPermissionsViaRoles(): BaseCollection
163163
/**
164164
* Check if the owner has a specific permission.
165165
*/
166-
public function hasPermission(BackedEnum|int|string|UnitEnum $permission): bool
166+
public function hasPermission(UnitEnum|int|string $permission): bool
167167
{
168168
// First check if there's a direct forbidden permission - this takes highest priority
169169
if ($this->hasForbiddenPermission($permission)) {
@@ -181,7 +181,7 @@ public function hasPermission(BackedEnum|int|string|UnitEnum $permission): bool
181181
/**
182182
* Check if the owner has a direct permission.
183183
*/
184-
public function hasDirectPermission(BackedEnum|int|string|UnitEnum $permission): bool
184+
public function hasDirectPermission(UnitEnum|int|string $permission): bool
185185
{
186186
$ownerPermissions = $this->getCachedPermissions();
187187

@@ -196,7 +196,7 @@ public function hasDirectPermission(BackedEnum|int|string|UnitEnum $permission):
196196
/**
197197
* Check if the owner has permission via roles.
198198
*/
199-
public function hasPermissionViaRoles(BackedEnum|int|string|UnitEnum $permission): bool
199+
public function hasPermissionViaRoles(UnitEnum|int|string $permission): bool
200200
{
201201
if (is_a($this->getOwnerType(), Role::class, true)) {
202202
return false;
@@ -233,7 +233,7 @@ public function hasPermissionViaRoles(BackedEnum|int|string|UnitEnum $permission
233233
/**
234234
* Check if the owner has any of the specified permissions.
235235
*/
236-
public function hasAnyPermissions(array|BackedEnum|int|string|UnitEnum ...$permissions): bool
236+
public function hasAnyPermissions(array|UnitEnum|int|string ...$permissions): bool
237237
{
238238
return BaseCollection::make($permissions)->flatten()->some(
239239
fn ($permission) => $this->hasPermission($permission)
@@ -243,7 +243,7 @@ public function hasAnyPermissions(array|BackedEnum|int|string|UnitEnum ...$permi
243243
/**
244244
* Check if the owner has all of the specified permissions.
245245
*/
246-
public function hasAllPermissions(array|BackedEnum|int|string|UnitEnum ...$permissions): bool
246+
public function hasAllPermissions(array|UnitEnum|int|string ...$permissions): bool
247247
{
248248
return BaseCollection::make($permissions)->flatten()->every(
249249
fn ($permission) => $this->hasPermission($permission)
@@ -253,7 +253,7 @@ public function hasAllPermissions(array|BackedEnum|int|string|UnitEnum ...$permi
253253
/**
254254
* Check if the owner has all direct permissions.
255255
*/
256-
public function hasAllDirectPermissions(array|BackedEnum|int|string|UnitEnum ...$permissions): bool
256+
public function hasAllDirectPermissions(array|UnitEnum|int|string ...$permissions): bool
257257
{
258258
return BaseCollection::make($permissions)->flatten()->every(
259259
fn ($permission) => $this->hasDirectPermission($permission)
@@ -263,7 +263,7 @@ public function hasAllDirectPermissions(array|BackedEnum|int|string|UnitEnum ...
263263
/**
264264
* Check if the owner has any direct permissions.
265265
*/
266-
public function hasAnyDirectPermissions(array|BackedEnum|int|string|UnitEnum ...$permissions): bool
266+
public function hasAnyDirectPermissions(array|UnitEnum|int|string ...$permissions): bool
267267
{
268268
return BaseCollection::make($permissions)->flatten()->some(
269269
fn ($permission) => $this->hasDirectPermission($permission)
@@ -273,7 +273,7 @@ public function hasAnyDirectPermissions(array|BackedEnum|int|string|UnitEnum ...
273273
/**
274274
* Give permission to the owner.
275275
*/
276-
public function givePermissionTo(array|BackedEnum|int|string|UnitEnum ...$permissions): static
276+
public function givePermissionTo(array|UnitEnum|int|string ...$permissions): static
277277
{
278278
$result = $this->attachPermission($permissions);
279279
if (is_a($this->getOwnerType(), Role::class, true)) {
@@ -291,7 +291,7 @@ public function givePermissionTo(array|BackedEnum|int|string|UnitEnum ...$permis
291291
/**
292292
* Give forbidden permission to the owner.
293293
*/
294-
public function giveForbiddenTo(array|BackedEnum|int|string|UnitEnum ...$permissions): static
294+
public function giveForbiddenTo(array|UnitEnum|int|string ...$permissions): static
295295
{
296296
$result = $this->attachPermission($permissions, true);
297297
if (is_a($this->getOwnerType(), Role::class, true)) {
@@ -309,7 +309,7 @@ public function giveForbiddenTo(array|BackedEnum|int|string|UnitEnum ...$permiss
309309
/**
310310
* Revoke permission from the owner.
311311
*/
312-
public function revokePermissionTo(array|BackedEnum|int|string|UnitEnum ...$permissions): static
312+
public function revokePermissionTo(array|UnitEnum|int|string ...$permissions): static
313313
{
314314
$detachPermissions = $this->collectPermissions($permissions);
315315

@@ -330,8 +330,8 @@ public function revokePermissionTo(array|BackedEnum|int|string|UnitEnum ...$perm
330330
/**
331331
* Synchronize the owner's permissions with the given permission list.
332332
*
333-
* @param array<BackedEnum|int|string|UnitEnum> $allowPermissions
334-
* @param array<BackedEnum|int|string|UnitEnum> $forbiddenPermissions
333+
* @param array<int|string|UnitEnum> $allowPermissions
334+
* @param array<int|string|UnitEnum> $forbiddenPermissions
335335
*/
336336
public function syncPermissions(array $allowPermissions = [], array $forbiddenPermissions = []): array
337337
{
@@ -365,7 +365,7 @@ public function syncPermissions(array $allowPermissions = [], array $forbiddenPe
365365
/**
366366
* Normalize permission value to field and value pair.
367367
*/
368-
private function normalizePermissionValue(BackedEnum|int|string|UnitEnum $permission): array
368+
private function normalizePermissionValue(UnitEnum|int|string $permission): array
369369
{
370370
$value = $this->extractPermissionValue($permission);
371371
$isId = $this->isPermissionIdType($permission);
@@ -378,7 +378,7 @@ private function normalizePermissionValue(BackedEnum|int|string|UnitEnum $permis
378378
/**
379379
* Extract the actual value from a permission of any supported type.
380380
*/
381-
private function extractPermissionValue(BackedEnum|int|string|UnitEnum $permission): int|string
381+
private function extractPermissionValue(UnitEnum|int|string $permission): int|string
382382
{
383383
return match (true) {
384384
$permission instanceof BackedEnum => $permission->value,
@@ -390,7 +390,7 @@ private function extractPermissionValue(BackedEnum|int|string|UnitEnum $permissi
390390
/**
391391
* Check if the permission should be treated as an ID (int) rather than name (string).
392392
*/
393-
private function isPermissionIdType(BackedEnum|int|string|UnitEnum $permission): bool
393+
private function isPermissionIdType(UnitEnum|int|string $permission): bool
394394
{
395395
return match (true) {
396396
is_int($permission) => true,
@@ -403,7 +403,7 @@ private function isPermissionIdType(BackedEnum|int|string|UnitEnum $permission):
403403
/**
404404
* Separate permissions array into IDs and names collections.
405405
*
406-
* @param array<BackedEnum|int|string|UnitEnum> $permissions
406+
* @param array<int|string|UnitEnum> $permissions
407407
*/
408408
private function separatePermissionsByType(array $permissions): array
409409
{
@@ -426,7 +426,7 @@ private function separatePermissionsByType(array $permissions): array
426426
/**
427427
* Attach permission to the owner.
428428
*
429-
* @param array<BackedEnum|int|string|UnitEnum> $permissions
429+
* @param array<int|string|UnitEnum> $permissions
430430
*/
431431
private function attachPermission(array $permissions, bool $isForbidden = false): static
432432
{
@@ -454,7 +454,7 @@ private function attachPermission(array $permissions, bool $isForbidden = false)
454454
/**
455455
* Check if the owner has a forbidden permission.
456456
*/
457-
public function hasForbiddenPermission(BackedEnum|int|string|UnitEnum $permission): bool
457+
public function hasForbiddenPermission(UnitEnum|int|string $permission): bool
458458
{
459459
$ownerPermissions = $this->getCachedPermissions();
460460

@@ -469,7 +469,7 @@ public function hasForbiddenPermission(BackedEnum|int|string|UnitEnum $permissio
469469
/**
470470
* Check if the owner has a forbidden permission via roles.
471471
*/
472-
public function hasForbiddenPermissionViaRoles(BackedEnum|int|string|UnitEnum $permission): bool
472+
public function hasForbiddenPermissionViaRoles(UnitEnum|int|string $permission): bool
473473
{
474474
// @phpstan-ignore function.alreadyNarrowedType (trait used by both Role and non-Role models)
475475
if (is_a(static::class, Role::class, true)) {
@@ -506,7 +506,7 @@ public function hasForbiddenPermissionViaRoles(BackedEnum|int|string|UnitEnum $p
506506
/**
507507
* Returns array of permission ids.
508508
*/
509-
private function collectPermissions(array|BackedEnum|int|string|UnitEnum ...$permissions): array
509+
private function collectPermissions(array|UnitEnum|int|string ...$permissions): array
510510
{
511511
if (empty($permissions)) {
512512
return [];

src/permission/src/Traits/HasRole.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public function roles(): MorphToMany
9898
/**
9999
* Check if the owner has a specific role.
100100
*/
101-
public function hasRole(BackedEnum|int|string|UnitEnum $role): bool
101+
public function hasRole(UnitEnum|int|string $role): bool
102102
{
103103
$roles = $this->getCachedRoles();
104104

@@ -110,7 +110,7 @@ public function hasRole(BackedEnum|int|string|UnitEnum $role): bool
110110
/**
111111
* Normalize role value to field and value pair.
112112
*/
113-
private function normalizeRoleValue(BackedEnum|int|string|UnitEnum $role): array
113+
private function normalizeRoleValue(UnitEnum|int|string $role): array
114114
{
115115
$value = $this->extractRoleValue($role);
116116
$isId = $this->isRoleIdType($role);
@@ -123,7 +123,7 @@ private function normalizeRoleValue(BackedEnum|int|string|UnitEnum $role): array
123123
/**
124124
* Extract the actual value from a role of any supported type.
125125
*/
126-
private function extractRoleValue(BackedEnum|int|string|UnitEnum $role): int|string
126+
private function extractRoleValue(UnitEnum|int|string $role): int|string
127127
{
128128
return match (true) {
129129
$role instanceof BackedEnum => $role->value,
@@ -137,7 +137,7 @@ private function extractRoleValue(BackedEnum|int|string|UnitEnum $role): int|str
137137
*
138138
* @throws InvalidArgumentException if the role type is unsupported
139139
*/
140-
private function isRoleIdType(BackedEnum|int|string|UnitEnum $role): bool
140+
private function isRoleIdType(UnitEnum|int|string $role): bool
141141
{
142142
return match (true) {
143143
is_int($role) => true,
@@ -150,7 +150,7 @@ private function isRoleIdType(BackedEnum|int|string|UnitEnum $role): bool
150150
/**
151151
* Separate roles array into IDs and names collections.
152152
*
153-
* @param array<int, BackedEnum|int|string|UnitEnum> $roles
153+
* @param array<int, int|string|UnitEnum> $roles
154154
*/
155155
private function separateRolesByType(array $roles): array
156156
{
@@ -173,7 +173,7 @@ private function separateRolesByType(array $roles): array
173173
/**
174174
* Check if the owner has any of the specified roles.
175175
*
176-
* @param array<int, BackedEnum|int|string|UnitEnum> $roles
176+
* @param array<int, int|string|UnitEnum> $roles
177177
*/
178178
public function hasAnyRoles(array $roles): bool
179179
{
@@ -189,7 +189,7 @@ public function hasAnyRoles(array $roles): bool
189189
/**
190190
* Check if the owner has all of the specified roles.
191191
*
192-
* @param array<int, BackedEnum|int|string|UnitEnum> $roles
192+
* @param array<int, int|string|UnitEnum> $roles
193193
*/
194194
public function hasAllRoles(array $roles): bool
195195
{
@@ -205,7 +205,7 @@ public function hasAllRoles(array $roles): bool
205205
/**
206206
* Get only the roles that match the specified roles from the owner's assigned roles.
207207
*
208-
* @param array<int, BackedEnum|int|string|UnitEnum> $roles
208+
* @param array<int, int|string|UnitEnum> $roles
209209
*/
210210
public function onlyRoles(array $roles): Collection
211211
{
@@ -230,7 +230,7 @@ public function onlyRoles(array $roles): Collection
230230
/**
231231
* Assign roles to the owner.
232232
*/
233-
public function assignRole(array|BackedEnum|int|string|UnitEnum ...$roles): static
233+
public function assignRole(array|UnitEnum|int|string ...$roles): static
234234
{
235235
$this->loadMissing('roles');
236236
$roles = $this->collectRoles($roles);
@@ -250,7 +250,7 @@ public function assignRole(array|BackedEnum|int|string|UnitEnum ...$roles): stat
250250
/**
251251
* Revoke the given role from owner.
252252
*/
253-
public function removeRole(array|BackedEnum|int|string|UnitEnum ...$roles): static
253+
public function removeRole(array|UnitEnum|int|string ...$roles): static
254254
{
255255
$detachRoles = $this->collectRoles($roles);
256256

@@ -265,7 +265,7 @@ public function removeRole(array|BackedEnum|int|string|UnitEnum ...$roles): stat
265265
/**
266266
* Synchronize the owner's roles with the given role list.
267267
*/
268-
public function syncRoles(array|BackedEnum|int|string|UnitEnum ...$roles): array
268+
public function syncRoles(array|UnitEnum|int|string ...$roles): array
269269
{
270270
$roles = $this->collectRoles($roles);
271271

@@ -280,7 +280,7 @@ public function syncRoles(array|BackedEnum|int|string|UnitEnum ...$roles): array
280280
/**
281281
* Returns array of role ids.
282282
*/
283-
private function collectRoles(array|BackedEnum|int|string|UnitEnum ...$roles): array
283+
private function collectRoles(array|UnitEnum|int|string ...$roles): array
284284
{
285285
$roles = BaseCollection::make($roles)
286286
->flatten()

src/queue/src/Middleware/RateLimited.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace Hypervel\Queue\Middleware;
66

7-
use BackedEnum;
87
use Hyperf\Collection\Arr;
98
use Hyperf\Collection\Collection;
109
use Hyperf\Context\ApplicationContext;
@@ -34,7 +33,7 @@ class RateLimited
3433
/**
3534
* Create a new middleware instance.
3635
*/
37-
public function __construct(BackedEnum|string|UnitEnum $limiterName)
36+
public function __construct(UnitEnum|string $limiterName)
3837
{
3938
$this->limiter = ApplicationContext::getContainer()
4039
->get(RateLimiter::class);

src/validation/src/Rule.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace Hypervel\Validation;
66

7-
use BackedEnum;
87
use Closure;
98
use Hyperf\Contract\Arrayable;
109
use Hypervel\Support\Arr;
@@ -100,7 +99,7 @@ public static function exists(string $table, string $column = 'NULL'): Exists
10099
/**
101100
* Get an in rule builder instance.
102101
*/
103-
public static function in(array|Arrayable|BackedEnum|string|UnitEnum $values): In
102+
public static function in(array|Arrayable|UnitEnum|string $values): In
104103
{
105104
if ($values instanceof Arrayable) {
106105
$values = $values->toArray();
@@ -112,7 +111,7 @@ public static function in(array|Arrayable|BackedEnum|string|UnitEnum $values): I
112111
/**
113112
* Get a not_in rule builder instance.
114113
*/
115-
public static function notIn(array|Arrayable|BackedEnum|string|UnitEnum $values): NotIn
114+
public static function notIn(array|Arrayable|UnitEnum|string $values): NotIn
116115
{
117116
if ($values instanceof Arrayable) {
118117
$values = $values->toArray();

src/validation/src/Rules/In.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace Hypervel\Validation\Rules;
66

7-
use BackedEnum;
87
use Hyperf\Contract\Arrayable;
98
use Stringable;
109
use UnitEnum;
@@ -26,7 +25,7 @@ class In implements Stringable
2625
/**
2726
* Create a new in rule instance.
2827
*/
29-
public function __construct(array|Arrayable|BackedEnum|string|UnitEnum $values)
28+
public function __construct(array|Arrayable|UnitEnum|string $values)
3029
{
3130
if ($values instanceof Arrayable) {
3231
$values = $values->toArray();

0 commit comments

Comments
 (0)