UNPKG

pipebomb.js

Version:

Library for interacting with Pipe Bomb servers

36 lines (35 loc) 1.36 kB
import Context from "../Context.js"; import Track from "../music/Track.js"; import User from "../User.js"; export default class Playlist { private readonly context; readonly rawCollectionID: string; readonly collectionID: string; private name; readonly owner: User; private trackList; private isDeleted; private updateCallbacks; private suggestedTracks; private suggestedTracksUpdated; private checkTimer; private lastChecked; constructor(context: Context, collectionID: string, name: string, owner: User, trackList?: Track[]); getTrackList(): Promise<Track[]>; getSuggestedTracks(): Promise<Track[]>; getName(): string; addTracks(...tracks: Track[]): Promise<void>; removeTracks(...tracks: Track[]): Promise<void>; setName(name: string): Promise<void>; deleteCollection(): Promise<void>; copyFromOtherPlaylist(collection: Playlist): void; static convertJsonToPlaylist(context: Context, json: any): Playlist; private checkDeletion; private pushToCallbacks; isCollectionDeleted(): boolean; registerUpdateCallback(callback: (collection: Playlist) => void): void; unregisterUpdateCallback(callback: (collection: Playlist) => void): void; private setLoop; checkForUpdates(outOfDateThreshold: number): Promise<void>; getThumbnailUrl(): string; }