mirror of
https://github.com/koel/koel
synced 2024-12-25 20:13:06 +00:00
38 lines
1,019 B
PHP
38 lines
1,019 B
PHP
|
<?php
|
||
|
|
||
|
namespace App\Values;
|
||
|
|
||
|
use Illuminate\Support\Collection;
|
||
|
|
||
|
final class SyncResultCollection extends Collection
|
||
|
{
|
||
|
public static function create(): self
|
||
|
{
|
||
|
return new self();
|
||
|
}
|
||
|
|
||
|
/** @return Collection|array<array-key, SyncResult> */
|
||
|
public function valid(): Collection
|
||
|
{
|
||
|
return $this->filter(static fn (SyncResult $result): bool => $result->isValid());
|
||
|
}
|
||
|
|
||
|
/** @return Collection|array<array-key, SyncResult> */
|
||
|
public function success(): Collection
|
||
|
{
|
||
|
return $this->filter(static fn (SyncResult $result): bool => $result->isSuccess());
|
||
|
}
|
||
|
|
||
|
/** @return Collection|array<array-key, SyncResult> */
|
||
|
public function skipped(): Collection
|
||
|
{
|
||
|
return $this->filter(static fn (SyncResult $result): bool => $result->isSkipped());
|
||
|
}
|
||
|
|
||
|
/** @return Collection|array<array-key, SyncResult> */
|
||
|
public function error(): Collection
|
||
|
{
|
||
|
return $this->filter(static fn (SyncResult $result): bool => $result->isError());
|
||
|
}
|
||
|
}
|