yandex-music
Version:
Creative and progressive Node.js framework for applications that interact with yandex music
112 lines • 2.69 kB
TypeScript
import { CoverPlaylist, Owner } from "../common";
import { TrackInterface as Track } from "../tracks/tracks.interfaces";
export interface BlockBase {
type: string;
typeForFrom: string;
title: string;
}
export interface Podcast extends BlockBase {
podcasts: Array<number>;
}
export interface NewRealeses extends BlockBase {
id: string;
newReleases: Array<number>;
}
export interface NewPlaylists extends BlockBase {
id: string;
newPlaylists: Array<{
uid: number;
kind: number;
}>;
}
export interface LandingBlock extends BlockBase {
id: string;
description: string;
entities: Array<LandingBlockEntities>;
}
export interface LandingBlockEntities {
id: string;
type: string;
data: {
title: string;
url: string;
urlScheme: string;
textColor: string;
backgroundColor: string;
backgroundImageUri: string;
coverWhite: string;
};
}
export interface LandingInterface {
pumpkin: boolean;
contentId: string;
blocks: Array<LandingBlock>;
}
export interface ChartTrack {
id: number;
track: Track;
timestamp: string;
playCount: number;
chart: {
position: number;
progress: string;
listeners: number;
shift: number;
bgColor: string;
};
recent: boolean;
}
export interface ChartSimilar extends ChartBase {
backgroundColor: string;
textColor: string;
image: string;
actionButton: {
text: string;
url: string;
color: string;
};
}
export interface ChartBase {
owner: Owner;
playlistUuid: string;
available: true;
uid: number;
kind: number;
title: string;
description: string;
descriptionFormatted: string;
revision: number;
snapshot: number;
trackCount: number;
visibility: string;
collective: boolean;
created: string;
modified: string;
isBanner: boolean;
isPremiere: boolean;
durationMs: number;
cover: CoverPlaylist;
ogImage: string;
tags: Array<{
id: string;
value: string;
}>;
likesCount: number;
}
export interface ChartInfo extends ChartBase {
tracks: Array<ChartTrack>;
similarPlaylists: Array<ChartSimilar>;
}
export interface Chart extends BlockBase {
id: string;
chartDescription: string;
menu: {
items: Array<{
title: string;
url: string;
selected?: boolean;
}>;
};
chart: ChartInfo;
}
//# sourceMappingURL=landing.interfaces.d.ts.map