[ 'summary', 'full', ], 'tracks' => [ '*' => [ 'title', 'length', 'url', ], ], ]; private function __construct(public ?string $url, public ?string $cover, public array $wiki, public array $tracks) { } public static function make( ?string $url = null, ?string $cover = null, array $wiki = ['summary' => '', 'full' => ''], array $tracks = [] ): self { return new self($url, $cover, $wiki, $tracks); } /** @return array */ public function toArray(): array { return [ 'url' => $this->url, 'cover' => $this->cover, 'wiki' => $this->wiki, 'tracks' => $this->tracks, ]; } }