bandcamp-fetch
Version:
Scrape Bandcamp content
59 lines • 2.43 kB
TypeScript
import type Bottleneck from 'bottleneck';
import AlbumAPI, { LimiterAlbumAPI } from './album/AlbumAPI.js';
import ArticleAPI, { LimiterArticleAPI } from './article/ArticleAPI.js';
import AutocompleteAPI, { LimiterAutocompleteAPI } from './autocomplete/AutocompleteAPI.js';
import BandAPI, { LimiterBandAPI } from './band/BandAPI.js';
import DiscoveryAPI, { LimiterDiscoveryAPI } from './discovery/DiscoveryAPI.js';
import FanAPI, { LimiterFanAPI } from './fan/FanAPI.js';
import ImageAPI, { LimiterImageAPI } from './image/ImageAPI.js';
import SearchAPI, { LimiterSearchAPI } from './search/SearchAPI.js';
import ShowAPI, { LimiterShowAPI } from './show/ShowAPI.js';
import TagAPI, { LimiterTagAPI } from './tag/TagAPI.js';
import TrackAPI, { LimiterTrackAPI } from './track/TrackAPI.js';
import Cache, { CacheDataType } from './utils/Cache.js';
import StreamAPI from './stream/StreamAPI.js';
export interface BandcampFetchParams {
cookie?: string | null;
}
export default class BandcampFetch {
#private;
readonly album: AlbumAPI;
readonly track: TrackAPI;
readonly discovery: DiscoveryAPI;
readonly image: ImageAPI;
readonly band: BandAPI;
readonly tag: TagAPI;
readonly article: ArticleAPI;
readonly show: ShowAPI;
readonly fan: FanAPI;
readonly search: SearchAPI;
readonly autocomplete: AutocompleteAPI;
readonly stream: StreamAPI;
readonly limiter: {
readonly album: LimiterAlbumAPI;
readonly track: LimiterTrackAPI;
readonly discovery: LimiterDiscoveryAPI;
readonly image: LimiterImageAPI;
readonly band: LimiterBandAPI;
readonly tag: LimiterTagAPI;
readonly article: LimiterArticleAPI;
readonly show: LimiterShowAPI;
readonly fan: LimiterFanAPI;
readonly search: LimiterSearchAPI;
readonly autocomplete: LimiterAutocompleteAPI;
readonly stream: StreamAPI;
updateSettings: (options?: Bottleneck.ConstructorOptions) => void;
};
constructor(params?: BandcampFetchParams);
setCookie(value?: string | null): void;
get cookie(): string | null | undefined;
get cache(): CacheWrapper;
}
export declare class CacheWrapper {
#private;
constructor(cache: Cache);
clear(type?: CacheDataType): void;
setTTL(type: CacheDataType, ttl: number): void;
setMaxPages(maxPages: number): void;
}
//# sourceMappingURL=BandcampFetch.d.ts.map