110 lines
4.1 KiB
TypeScript
110 lines
4.1 KiB
TypeScript
|
import AlbumAPI, { LimiterAlbumAPI } from './lib/album/AlbumAPI';
|
||
|
import ArticleAPI, { LimiterArticleAPI } from './lib/article/ArticleAPI';
|
||
|
import BandAPI, { LimiterBandAPI } from './lib/band/BandAPI';
|
||
|
import DiscoveryAPI, { LimiterDiscoveryAPI } from './lib/discovery/DiscoveryAPI';
|
||
|
import FanAPI, { LimiterFanAPI } from './lib/fan/FanAPI';
|
||
|
import ImageAPI, { LimiterImageAPI } from './lib/image/ImageAPI';
|
||
|
import ShowAPI, { LimiterShowAPI } from './lib/show/ShowAPI';
|
||
|
import TagAPI, { LimiterTagAPI } from './lib/tag/TagAPI';
|
||
|
import TrackAPI, { LimiterTrackAPI } from './lib/track/TrackAPI';
|
||
|
import SearchAPI, { LimiterSearchAPI } from './lib/search/SearchAPI';
|
||
|
import AutocompleteAPI, { LimiterAutocompleteAPI } from './lib/autocomplete/AutocompleteAPI';
|
||
|
import Limiter from './lib/utils/Limiter';
|
||
|
import { CacheDataType, Cache as CacheImpl } from './lib/utils/Cache';
|
||
|
|
||
|
export { default as AlbumAPI } from './lib/album/AlbumAPI';
|
||
|
export { default as ArticleAPI } from './lib/article/ArticleAPI';
|
||
|
export { default as BandAPI } from './lib/band/BandAPI';
|
||
|
export { default as DiscoveryAPI } from './lib/discovery/DiscoveryAPI';
|
||
|
export { default as FanAPI } from './lib/fan/FanAPI';
|
||
|
export { default as ImageAPI } from './lib/image/ImageAPI';
|
||
|
export { default as ShowAPI } from './lib/show/ShowAPI';
|
||
|
export { default as TagAPI } from './lib/tag/TagAPI';
|
||
|
export { default as TrackAPI } from './lib/track/TrackAPI';
|
||
|
export { default as SearchAPI } from './lib/search/SearchAPI';
|
||
|
export { default as AutocompleteAPI } from './lib/autocomplete/AutocompleteAPI';
|
||
|
|
||
|
export * from './lib/album/AlbumAPI';
|
||
|
export * from './lib/discovery/DiscoveryAPI';
|
||
|
export * from './lib/image/ImageAPI';
|
||
|
export * from './lib/article/ArticleAPI';
|
||
|
export * from './lib/band/BandAPI';
|
||
|
export * from './lib/fan/FanAPI';
|
||
|
export * from './lib/show/ShowAPI';
|
||
|
export * from './lib/tag/TagAPI';
|
||
|
export * from './lib/track/TrackAPI';
|
||
|
export * from './lib/album/AlbumAPI';
|
||
|
export * from './lib/search/SearchAPI';
|
||
|
export * from './lib/autocomplete/AutocompleteAPI';
|
||
|
|
||
|
export * from './lib/types/Album';
|
||
|
export * from './lib/types/Article';
|
||
|
export * from './lib/types/Artist';
|
||
|
export * from './lib/types/Discovery';
|
||
|
export * from './lib/types/Fan';
|
||
|
export * from './lib/types/Image';
|
||
|
export * from './lib/types/Label';
|
||
|
export * from './lib/types/MediaKind';
|
||
|
export * from './lib/types/Show';
|
||
|
export * from './lib/types/Tag';
|
||
|
export * from './lib/types/Track';
|
||
|
export * from './lib/types/UserKind';
|
||
|
export * from './lib/types/Search';
|
||
|
export * from './lib/types/Autocomplete';
|
||
|
export { CacheDataType } from './lib/utils/Cache';
|
||
|
|
||
|
export { default as Album } from './lib/types/Album';
|
||
|
export { default as Article } from './lib/types/Article';
|
||
|
export { default as Artist } from './lib/types/Artist';
|
||
|
export { default as Fan } from './lib/types/Fan';
|
||
|
export { default as Label } from './lib/types/Label';
|
||
|
export { default as MediaKind } from './lib/types/MediaKind';
|
||
|
export { default as Show } from './lib/types/Show';
|
||
|
export { default as Tag } from './lib/types/Tag';
|
||
|
export { default as Track } from './lib/types/Track';
|
||
|
export { default as UserKind } from './lib/types/UserKind';
|
||
|
export { default as NameValuePair } from './lib/utils/NameValuePair';
|
||
|
|
||
|
export class Cache {
|
||
|
static clear(type?: CacheDataType) {
|
||
|
CacheImpl.clear(type);
|
||
|
}
|
||
|
|
||
|
static setTTL(type: CacheDataType, ttl: number) {
|
||
|
CacheImpl.setTTL(type, ttl);
|
||
|
}
|
||
|
|
||
|
static setMaxPages(maxPages: number) {
|
||
|
CacheImpl.setMaxEntries(CacheDataType.Page, maxPages);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export default {
|
||
|
album: AlbumAPI,
|
||
|
track: TrackAPI,
|
||
|
discovery: DiscoveryAPI,
|
||
|
image: ImageAPI,
|
||
|
band: BandAPI,
|
||
|
tag: TagAPI,
|
||
|
article: ArticleAPI,
|
||
|
show: ShowAPI,
|
||
|
fan: FanAPI,
|
||
|
search: SearchAPI,
|
||
|
autocomplete: AutocompleteAPI,
|
||
|
limiter: {
|
||
|
album: LimiterAlbumAPI,
|
||
|
track: LimiterTrackAPI,
|
||
|
discovery: LimiterDiscoveryAPI,
|
||
|
image: LimiterImageAPI,
|
||
|
band: LimiterBandAPI,
|
||
|
tag: LimiterTagAPI,
|
||
|
article: LimiterArticleAPI,
|
||
|
show: LimiterShowAPI,
|
||
|
fan: LimiterFanAPI,
|
||
|
search: LimiterSearchAPI,
|
||
|
autocomplete: LimiterAutocompleteAPI,
|
||
|
updateSettings: Limiter.updateSettings.bind(Limiter)
|
||
|
},
|
||
|
cache: Cache
|
||
|
};
|