for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Usox\HyperSonic\FeatureSet\V1161\Responder;
use Traversable;
use Usox\HyperSonic\Response\ResponderInterface;
final class ResponderFactory implements ResponderFactoryInterface
{
/**
* @param array{
* ignoredArticles: string,
* index: array<array{
* name: string,
* artist: array<array{
* id: string,
* coverArt: string,
* artistImageUrl: string,
* albumCount: int,
* starred?: string
* }>
* } $artistList
*/
public function createArtistsResponder(
array $artistList
): ResponderInterface {
return new ArtistsResponder(
$artistList,
);
}
* valid: string,
* email: string,
* licenseExpires: string
* } $licenseData
public function createLicenseResponder(
array $licenseData
return new LicenseResponder(
$licenseData,
public function createPingResponder(): ResponderInterface
return new PingResponder();
public function createCoverArtResponder(
string $coverArt,
string $contentType,
return new CoverArtResponder(
$coverArt,
$contentType,
* } $artist
* @param array<array{
* songCount: int,
* created: string,
* duration: int,
* artist: string,
* artistId: string,
* year: string,
* genre: string,
* playCount: int
* }> $albums
public function createArtistResponder(
array $artist,
array $albums,
return new ArtistResponder($artist, $albums);
* } $album
* isDir: bool,
* title: string,
* album: string,
* track: int,
* size: int,
* contentType: string,
* albumId: string,
* playCount: int,
* }> $songs
public function createAlbumResponder(
array $album,
array $songs,
return new AlbumResponder(
$album,
$songs
* value: string,
* songCount: int
* }> $genres
public function createGenresResponder(
array $genres,
return new GenresResponder(
$genres
* @param Traversable<array{
* id: string
* }> $musicFolders
public function createMusicFoldersResponder(
Traversable $musicFolders
return new MusicFoldersResponder(
$musicFolders