scdl-core
Version:
SoundCloud downloader
90 lines (89 loc) • 2.01 kB
TypeScript
import { User } from "./user";
export interface TrendingOptions {
limit?: number;
offset?: number;
}
export interface Visual {
urn: string;
entry_time: number;
visual_url: string;
}
export interface Transcoding {
url: string;
preset: string;
duration: number;
snipped: boolean;
format: {
protocol: string;
mime_type: string;
};
quality: string;
}
export interface Track {
artwork_url?: string;
caption?: string;
commentable: boolean;
comment_count: number;
created_at: Date;
description?: string;
downloadable: boolean;
download_count: number;
duration: number;
full_duration: number;
embeddable_by: string;
genre: string;
has_downloads_left: boolean;
id: number;
kind: string;
label_name?: string;
last_modified: Date;
license: string;
likes_count: number;
permalink: string;
permalink_url: string;
playback_count: number;
public: boolean;
publisher_metadata: {
id: number;
urn: string;
artist: string;
contains_music: boolean;
publisher: string;
isrc: string;
explicit: boolean;
p_line: string;
p_line_for_display: string;
writer_composer: string;
release_title: string;
};
purchase_title?: string;
purchase_url?: string;
release_date: Date;
reposts_count: number;
secret_token?: string;
sharing: string;
state: string;
streamable: boolean;
tag_list: string;
title: string;
track_format: string;
uri: string;
urn: string;
user_id: number;
visuals?: Visual;
waveform_url: string;
display_date: Date;
media: {
transcodings: Transcoding[];
};
station_permalink: string;
monetization_model: string;
policy: string;
user: User;
}
export interface TrendingTrackResponse {
collection: Track[];
kind: string;
next_href?: string;
query_urn?: string;
}