fruit-company
Version:
Apple services library
79 lines (78 loc) • 2.67 kB
TypeScript
import { UnknownMusicResource } from "./base";
import { SongResource } from "./song";
/**
* An object containing search results for a specific resource.
*/
export interface ResourceSearchResult<Datum extends UnknownMusicResource> {
/**
* The resources for the search result.
*/
readonly data: Datum[];
/**
* The relative location to fetch the search result.
*/
readonly href?: string;
/**
* A relative cursor to fetch the next paginated
* collection of resources in the result, if more exist.
*/
readonly next?: string;
}
/**
* An object that represents the results of a catalog search query.
*/
export interface MusicSearchResults {
/**
* The activities results for a term search for specific resource types.
*/
readonly activities?: ResourceSearchResult<UnknownMusicResource>;
/**
* The albums results for a term search for specific resource types.
*/
readonly albums?: ResourceSearchResult<UnknownMusicResource>;
/**
* The Apple curators results for a term search for specific resource types.
*/
readonly "apple-curators"?: ResourceSearchResult<UnknownMusicResource>;
/**
* The artists results for a term search for specific resource types.
*/
readonly artists?: ResourceSearchResult<UnknownMusicResource>;
/**
* The curators results for a term search for specific resource types.
*/
readonly curators?: ResourceSearchResult<UnknownMusicResource>;
/**
* The music videos results for a term search for specific resource types.
*/
readonly "music-videos"?: ResourceSearchResult<UnknownMusicResource>;
/**
* The playlists results for a term search for specific resource types.
*/
readonly playlists?: ResourceSearchResult<UnknownMusicResource>;
/**
* The record labels results for a term search for specific resource types.
*/
readonly "record-labels"?: ResourceSearchResult<UnknownMusicResource>;
/**
* The songs results for a term search for specific resource types.
*/
readonly songs?: ResourceSearchResult<SongResource>;
/**
* The stations results for a term search for specific resource types.
*/
readonly stations?: ResourceSearchResult<UnknownMusicResource>;
/**
* The top results for a term search for specific resource types.
*/
readonly top?: ResourceSearchResult<UnknownMusicResource>;
}
/**
* The response to a search request.
*/
export interface MusicSearchResponse {
/**
* The results included in the response to a search request.
*/
readonly results: MusicSearchResults;
}