/* tslint:disable */ /* eslint-disable */ // @ts-nocheck /** * Audius API * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { exists, mapValues } from '../runtime'; import type { SearchPlaylist } from './SearchPlaylist'; import { SearchPlaylistFromJSON, SearchPlaylistFromJSONTyped, SearchPlaylistToJSON, } from './SearchPlaylist'; import type { SearchTrack } from './SearchTrack'; import { SearchTrackFromJSON, SearchTrackFromJSONTyped, SearchTrackToJSON, } from './SearchTrack'; import type { User } from './User'; import { UserFromJSON, UserFromJSONTyped, UserToJSON, } from './User'; /** * * @export * @interface SearchModel */ export interface SearchModel { /** * * @type {Array} * @memberof SearchModel */ users: Array; /** * * @type {Array} * @memberof SearchModel */ followedUsers?: Array; /** * * @type {Array} * @memberof SearchModel */ tracks: Array; /** * * @type {Array} * @memberof SearchModel */ savedTracks?: Array; /** * * @type {Array} * @memberof SearchModel */ playlists: Array; /** * * @type {Array} * @memberof SearchModel */ savedPlaylists?: Array; /** * * @type {Array} * @memberof SearchModel */ albums: Array; /** * * @type {Array} * @memberof SearchModel */ savedAlbums?: Array; } /** * Check if a given object implements the SearchModel interface. */ export function instanceOfSearchModel(value: object): value is SearchModel { let isInstance = true; isInstance = isInstance && "users" in value && value["users"] !== undefined; isInstance = isInstance && "tracks" in value && value["tracks"] !== undefined; isInstance = isInstance && "playlists" in value && value["playlists"] !== undefined; isInstance = isInstance && "albums" in value && value["albums"] !== undefined; return isInstance; } export function SearchModelFromJSON(json: any): SearchModel { return SearchModelFromJSONTyped(json, false); } export function SearchModelFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchModel { if ((json === undefined) || (json === null)) { return json; } return { 'users': ((json['users'] as Array).map(UserFromJSON)), 'followedUsers': !exists(json, 'followed_users') ? undefined : ((json['followed_users'] as Array).map(UserFromJSON)), 'tracks': ((json['tracks'] as Array).map(SearchTrackFromJSON)), 'savedTracks': !exists(json, 'saved_tracks') ? undefined : ((json['saved_tracks'] as Array).map(SearchTrackFromJSON)), 'playlists': ((json['playlists'] as Array).map(SearchPlaylistFromJSON)), 'savedPlaylists': !exists(json, 'saved_playlists') ? undefined : ((json['saved_playlists'] as Array).map(SearchPlaylistFromJSON)), 'albums': ((json['albums'] as Array).map(SearchPlaylistFromJSON)), 'savedAlbums': !exists(json, 'saved_albums') ? undefined : ((json['saved_albums'] as Array).map(SearchPlaylistFromJSON)), }; } export function SearchModelToJSON(value?: SearchModel | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'users': ((value.users as Array).map(UserToJSON)), 'followed_users': value.followedUsers === undefined ? undefined : ((value.followedUsers as Array).map(UserToJSON)), 'tracks': ((value.tracks as Array).map(SearchTrackToJSON)), 'saved_tracks': value.savedTracks === undefined ? undefined : ((value.savedTracks as Array).map(SearchTrackToJSON)), 'playlists': ((value.playlists as Array).map(SearchPlaylistToJSON)), 'saved_playlists': value.savedPlaylists === undefined ? undefined : ((value.savedPlaylists as Array).map(SearchPlaylistToJSON)), 'albums': ((value.albums as Array).map(SearchPlaylistToJSON)), 'saved_albums': value.savedAlbums === undefined ? undefined : ((value.savedAlbums as Array).map(SearchPlaylistToJSON)), }; }