/* 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 { AccountCollection } from './AccountCollection'; import { AccountCollectionFromJSON, AccountCollectionFromJSONTyped, AccountCollectionToJSON, } from './AccountCollection'; import type { PlaylistLibrary } from './PlaylistLibrary'; import { PlaylistLibraryFromJSON, PlaylistLibraryFromJSONTyped, PlaylistLibraryToJSON, } from './PlaylistLibrary'; import type { User } from './User'; import { UserFromJSON, UserFromJSONTyped, UserToJSON, } from './User'; /** * * @export * @interface Account */ export interface Account { /** * * @type {User} * @memberof Account */ user: User; /** * * @type {Array} * @memberof Account */ playlists: Array; /** * * @type {PlaylistLibrary} * @memberof Account */ playlistLibrary?: PlaylistLibrary; /** * * @type {number} * @memberof Account */ trackSaveCount: number; } /** * Check if a given object implements the Account interface. */ export function instanceOfAccount(value: object): value is Account { let isInstance = true; isInstance = isInstance && "user" in value && value["user"] !== undefined; isInstance = isInstance && "playlists" in value && value["playlists"] !== undefined; isInstance = isInstance && "trackSaveCount" in value && value["trackSaveCount"] !== undefined; return isInstance; } export function AccountFromJSON(json: any): Account { return AccountFromJSONTyped(json, false); } export function AccountFromJSONTyped(json: any, ignoreDiscriminator: boolean): Account { if ((json === undefined) || (json === null)) { return json; } return { 'user': UserFromJSON(json['user']), 'playlists': ((json['playlists'] as Array).map(AccountCollectionFromJSON)), 'playlistLibrary': !exists(json, 'playlist_library') ? undefined : PlaylistLibraryFromJSON(json['playlist_library']), 'trackSaveCount': json['track_save_count'], }; } export function AccountToJSON(value?: Account | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'user': UserToJSON(value.user), 'playlists': ((value.playlists as Array).map(AccountCollectionToJSON)), 'playlist_library': PlaylistLibraryToJSON(value.playlistLibrary), 'track_save_count': value.trackSaveCount, }; }