UNPKG

brickcharts

Version:

A comprehensive library for managing Billboard and Last.FM charts with visualizations and data management

62 lines (61 loc) 1.7 kB
import { ChartClient, ChartData, ChartEntry, ChartSource, FetchOptions, DateRange, HistoricalChartData } from '../types'; export interface LastFMAlbum { name: string; artist: { name: string; mbid?: string; }; playcount: string; rank: string; '@attr'?: { rank: string; }; } export interface LastFMArtist { name: string; playcount: string; listeners: string; rank: string; '@attr'?: { rank: string; }; } export interface LastFMResponse<T> { [key: string]: { track?: T[]; album?: T[]; artist?: T[]; '@attr': { from?: string; to?: string; page: string; perPage: string; total: string; totalPages: string; }; }; } export declare class LastFMClient implements ChartClient { private readonly apiKey; readonly name = "Last.FM"; readonly source = ChartSource.LASTFM; private readonly baseUrl; private readonly chartMap; constructor(apiKey: string); getAvailableCharts(): Promise<string[]>; getChart(type: string, options?: FetchOptions): Promise<ChartData>; getHistoricalData(type: string, dateRange: DateRange): Promise<HistoricalChartData>; /** * Search for tracks by artist or title */ searchTracks(query: string, limit?: number): Promise<ChartEntry[]>; /** * Get track info including play count and tags */ getTrackInfo(artist: string, track: string): Promise<any>; private transformToChartData; private transformTracks; private transformAlbums; private transformArtists; } //# sourceMappingURL=LastFMClient.d.ts.map