UNPKG

@manhgdev/spotifyweb

Version:

Spotify library in typescript without using the Spotify Web API. No authentication required with automatic internal token generation.

152 lines (151 loc) 4.43 kB
import { SpotiflyBase } from "./base.js"; export declare class SpotiflyPlaylist extends SpotiflyBase { id: string; constructor(cookie: string); create(name: string): Promise<{ uri: string; revision: string; }>; rename(newName: string): Promise<unknown>; changeDescription(newDescription: string): Promise<unknown>; fetchMetadata(limit?: number): Promise<{ __typename: string; uri: string; name: string; description: string; ownerV2: { data: { __typename: string; uri: string; username: string; name: string; avatar: { sources: Array<{ url: string; width: number; height: number; }>; }; }; }; images: { items: Array<{ extractedColors: { colorRaw: { hex: string; isFallback: boolean; }; }; sources: Array<{ url: string; width: any; height: any; }>; }>; }; collaborative: boolean; followers: number; format: string; attributes: Array<any>; sharingInfo: { shareUrl: string; }; content: { __typename: string; totalCount: number; pagingInfo: { limit: number; }; items: Array<{ itemV2: { __typename: string; data: { __typename: string; uri: string; trackDuration: { totalMilliseconds: number; }; }; }; }>; }; }>; fetchContents(limit?: number): Promise<{ uid: string; addedAt: { isoString: string; }; addedBy: { data: { __typename: string; uri: string; username: string; name: string; avatar: { sources: Array<{ url: string; width: number; height: number; }>; }; }; }; attributes: Array<any>; itemV2: { __typename: string; data: { __typename: string; uri: string; name: string; trackDuration: { totalMilliseconds: number; }; playcount: string; albumOfTrack: { uri: string; name: string; artists: { items: Array<{ uri: string; profile: { name: string; }; }>; }; coverArt: { sources: Array<{ url: string; width: number; height: number; }>; }; }; artists: { items: Array<{ uri: string; profile: { name: string; }; }>; }; discNumber: number; trackNumber: number; playability: { playable: boolean; reason: string; }; contentRating: { label: string; }; }; }; }[]>; add(...trackUris: string[]): Promise<unknown>; remove(...trackUris: string[]): Promise<unknown>; cloneFrom(id: string, config?: { name?: string; description?: string; limit?: number; }): Promise<void>; delete(): Promise<unknown>; }