42 lines
777 B
PHP
42 lines
777 B
PHP
<?php
|
|
|
|
namespace Lucent\AccessKey;
|
|
|
|
use Illuminate\Support\Collection;
|
|
|
|
/**
|
|
* @extends \Illuminate\Support\Collection<int|string, AccessKey>
|
|
*/
|
|
final class AccessKeysCollection extends Collection
|
|
{
|
|
|
|
public function __construct(
|
|
AccessKey ...$array
|
|
) {
|
|
parent::__construct($array);
|
|
}
|
|
|
|
/**
|
|
* @return AccessKey[]
|
|
**/
|
|
public function toArray(): array
|
|
{
|
|
return collect($this)->values()->toArray();
|
|
}
|
|
|
|
|
|
public function toDB(): array
|
|
{
|
|
return \json_decode(\json_encode($this), true);
|
|
}
|
|
|
|
|
|
public static function fromArray(array $data): AccessKeysCollection
|
|
{
|
|
$item = array_map([AccessKey::class, 'fromArray'], $data);
|
|
return new AccessKeysCollection(...$item);
|
|
}
|
|
|
|
|
|
}
|