run npm format

This commit is contained in:
DerPenz
2023-04-15 18:32:53 +02:00
parent 6c361002bf
commit 2b26b7b848
10 changed files with 161 additions and 60 deletions

View File

@@ -8,7 +8,7 @@ export default class Api {
this.accessToken = accessToken;
}
async get<T>(path: string, options?: Record<string,any>): Promise<T> {
async get<T>(path: string, options?: Record<string, any>): Promise<T> {
const params = parseOptions(options);
const response = await fetch(`${BASE_URL_V3}${path}?${params}`, {
method: 'GET',

View File

@@ -13,15 +13,30 @@ export class CollectionsEndpoint extends BaseEndpoint {
super(accessToken);
}
async details(id: number, options? : LanguageOption): Promise<DetailedCollection> {
return await this.api.get<DetailedCollection>(`${BASE_COLLECTION}/${id}`, options);
async details(
id: number,
options?: LanguageOption
): Promise<DetailedCollection> {
return await this.api.get<DetailedCollection>(
`${BASE_COLLECTION}/${id}`,
options
);
}
async images(id: number, options? : LanguageOption): Promise<ImageCollection> {
return await this.api.get<ImageCollection>(`${BASE_COLLECTION}/${id}/images`, options);
async images(id: number, options?: LanguageOption): Promise<ImageCollection> {
return await this.api.get<ImageCollection>(
`${BASE_COLLECTION}/${id}/images`,
options
);
}
async translations(id: number, options? : LanguageOption): Promise<Translations> {
return await this.api.get<Translations>(`${BASE_COLLECTION}/${id}/translations`, options);
async translations(
id: number,
options?: LanguageOption
): Promise<Translations> {
return await this.api.get<Translations>(
`${BASE_COLLECTION}/${id}/translations`,
options
);
}
}

View File

@@ -1,4 +1,8 @@
import { MovieDiscoverResult, SortOption, TvShowDiscoverResult } from '../types';
import {
MovieDiscoverResult,
SortOption,
TvShowDiscoverResult,
} from '../types';
import { BaseEndpoint } from './base';
const BASE_DISCOVER = '/discover';
@@ -65,10 +69,16 @@ export class DiscoverEndpoint extends BaseEndpoint {
}
async movie(options?: MovieQueryOptions): Promise<MovieDiscoverResult> {
return await this.api.get<MovieDiscoverResult>(`${BASE_DISCOVER}/movie`, options);
return await this.api.get<MovieDiscoverResult>(
`${BASE_DISCOVER}/movie`,
options
);
}
async tvShow(options?: TvShowQueryOptions): Promise<TvShowDiscoverResult> {
return await this.api.get<TvShowDiscoverResult>(`${BASE_DISCOVER}/tv`, options);
return await this.api.get<TvShowDiscoverResult>(
`${BASE_DISCOVER}/tv`,
options
);
}
}

View File

@@ -6,7 +6,10 @@ export class FindEndpoint extends BaseEndpoint {
super(accessToken);
}
async byId(externalId: string, options: ExternalIdOptions): Promise<FindResult> {
async byId(
externalId: string,
options: ExternalIdOptions
): Promise<FindResult> {
return await this.api.get<FindResult>(`/find/${externalId}`, options);
}
}

View File

@@ -12,7 +12,13 @@ export class KeywordsEndpoint extends BaseEndpoint {
return await this.api.get<Keyword>(`${BASE_Keyword}/${keywordId}`);
}
async belongingMovies(keywordId : number, options?: KeywordsOptions): Promise<BelongingMovies> {
return await this.api.get<BelongingMovies>(`${BASE_Keyword}/${keywordId}/movies`, options);
async belongingMovies(
keywordId: number,
options?: KeywordsOptions
): Promise<BelongingMovies> {
return await this.api.get<BelongingMovies>(
`${BASE_Keyword}/${keywordId}/movies`,
options
);
}
}

View File

@@ -43,8 +43,11 @@ export class MoviesEndpoint extends BaseEndpoint {
);
}
async changes(id: number, options?: ChangeOptions): Promise<MovieChanges>{
return await this.api.get<MovieChanges>(`${BASE_MOVIE}/${id}/changes`, options);
async changes(id: number, options?: ChangeOptions): Promise<MovieChanges> {
return await this.api.get<MovieChanges>(
`${BASE_MOVIE}/${id}/changes`,
options
);
}
async credits(id: number): Promise<Credits> {
@@ -63,12 +66,21 @@ export class MoviesEndpoint extends BaseEndpoint {
return await this.api.get<Keywords>(`${BASE_MOVIE}/${id}/keywords`);
}
async lists(id: number, options?: LanguageOption | PageOption): Promise<MovieLists>{
async lists(
id: number,
options?: LanguageOption | PageOption
): Promise<MovieLists> {
return await this.api.get<MovieLists>(`${BASE_MOVIE}/${id}/lists`, options);
}
async recommendations(id: number, options?: PageOption): Promise<Recommendations>{
return await this.api.get<Recommendations>(`${BASE_MOVIE}/${id}/recommendations`, options);
async recommendations(
id: number,
options?: PageOption
): Promise<Recommendations> {
return await this.api.get<Recommendations>(
`${BASE_MOVIE}/${id}/recommendations`,
options
);
}
async releaseDates(id: number): Promise<ReleaseDates> {
@@ -77,12 +89,15 @@ export class MoviesEndpoint extends BaseEndpoint {
);
}
async reviews(id: number, options?: PageOption): Promise<Reviews>{
async reviews(id: number, options?: PageOption): Promise<Reviews> {
return await this.api.get<Reviews>(`${BASE_MOVIE}/${id}/reviews`, options);
}
async similar(id: number, options?: PageOption): Promise<SimilarMovies>{
return await this.api.get<SimilarMovies>(`${BASE_MOVIE}/${id}/similar`, options);
async similar(id: number, options?: PageOption): Promise<SimilarMovies> {
return await this.api.get<SimilarMovies>(
`${BASE_MOVIE}/${id}/similar`,
options
);
}
async translations(id: number): Promise<Translations> {
@@ -107,19 +122,34 @@ export class MoviesEndpoint extends BaseEndpoint {
return await this.api.get<LatestMovie>(`${BASE_MOVIE}/latest`);
}
async nowPlaying(options?: PageOption & LanguageOption & RegionOption): Promise<MoviesPlayingNow>{
return await this.api.get<MoviesPlayingNow>(`${BASE_MOVIE}/now_playing`, options);
async nowPlaying(
options?: PageOption & LanguageOption & RegionOption
): Promise<MoviesPlayingNow> {
return await this.api.get<MoviesPlayingNow>(
`${BASE_MOVIE}/now_playing`,
options
);
}
async popular(options?: PageOption): Promise<PopularMovies>{
async popular(options?: PageOption): Promise<PopularMovies> {
return await this.api.get<PopularMovies>(`${BASE_MOVIE}/popular`, options);
}
async topRated(options?: PageOption & LanguageOption & RegionOption): Promise<TopRatedMovies>{
return await this.api.get<TopRatedMovies>(`${BASE_MOVIE}/top_rated`, options);
async topRated(
options?: PageOption & LanguageOption & RegionOption
): Promise<TopRatedMovies> {
return await this.api.get<TopRatedMovies>(
`${BASE_MOVIE}/top_rated`,
options
);
}
async upcoming(options?: PageOption & LanguageOption & RegionOption): Promise<UpcomingMovies>{
return await this.api.get<UpcomingMovies>(`${BASE_MOVIE}/upcoming`, options);
async upcoming(
options?: PageOption & LanguageOption & RegionOption
): Promise<UpcomingMovies> {
return await this.api.get<UpcomingMovies>(
`${BASE_MOVIE}/upcoming`,
options
);
}
}

View File

@@ -25,8 +25,11 @@ export class PeopleEndpoint extends BaseEndpoint {
return await this.api.get<PersonDetail>(`${BASE_PERSON}/${id}`);
}
async changes(id: number, options? : ChangeOptions): Promise<PersonChanges> {
return await this.api.get<PersonChanges>(`${BASE_PERSON}/${id}/changes`, options);
async changes(id: number, options?: ChangeOptions): Promise<PersonChanges> {
return await this.api.get<PersonChanges>(
`${BASE_PERSON}/${id}/changes`,
options
);
}
async movieCredits(id: number): Promise<PersonMovieCredit> {
@@ -57,8 +60,11 @@ export class PeopleEndpoint extends BaseEndpoint {
);
}
async taggedImages(id: number, options?: PageOption): Promise<TaggedImages>{
return await this.api.get<TaggedImages>(`${BASE_PERSON}/${id}/tagged_images`, options);
async taggedImages(id: number, options?: PageOption): Promise<TaggedImages> {
return await this.api.get<TaggedImages>(
`${BASE_PERSON}/${id}/tagged_images`,
options
);
}
async translation(id: number): Promise<PeopleTranslations> {
@@ -71,7 +77,10 @@ export class PeopleEndpoint extends BaseEndpoint {
return await this.api.get<PersonDetail>(`${BASE_PERSON}/latest`);
}
async popular(options?: PageOption): Promise<PopularPersons>{
return await this.api.get<PopularPersons>(`${BASE_PERSON}/popular`, options);
async popular(options?: PageOption): Promise<PopularPersons> {
return await this.api.get<PopularPersons>(
`${BASE_PERSON}/popular`,
options
);
}
}

View File

@@ -29,29 +29,40 @@ export class SearchEndpoint extends BaseEndpoint {
super(accessToken);
}
async companies(options: SearchOptions): Promise<Search<Company>>{
return await this.api.get<Search<Company>>(`${BASE_SEARCH}/company`, options);
async companies(options: SearchOptions): Promise<Search<Company>> {
return await this.api.get<Search<Company>>(
`${BASE_SEARCH}/company`,
options
);
}
async collections(options: SearchOptions): Promise<Search<Collection>>{
return await this.api.get<Search<Collection>>(`${BASE_SEARCH}/collection`, options);
async collections(options: SearchOptions): Promise<Search<Collection>> {
return await this.api.get<Search<Collection>>(
`${BASE_SEARCH}/collection`,
options
);
}
async keywords(options: SearchOptions): Promise<Search<{ id: string, name: string }>>{
return await this.api.get<Search<{ id: string, name: string }>>(`${BASE_SEARCH}/keyword`, options);
async keywords(
options: SearchOptions
): Promise<Search<{ id: string; name: string }>> {
return await this.api.get<Search<{ id: string; name: string }>>(
`${BASE_SEARCH}/keyword`,
options
);
}
async movies(options: MovieSearchOptions): Promise<Search<Movie>>{
async movies(options: MovieSearchOptions): Promise<Search<Movie>> {
return await this.api.get<Search<Movie>>(`${BASE_SEARCH}/movie`, options);
}
async people(options: PeopleSearchOptions): Promise<Search<Person>>{
async people(options: PeopleSearchOptions): Promise<Search<Person>> {
return await this.api.get<Search<Person>>(`${BASE_SEARCH}/person`, options);
}
// TODO: Multi search
async tvShows(options: TvSearchOptions): Promise<Search<TV>>{
async tvShows(options: TvSearchOptions): Promise<Search<TV>> {
return await this.api.get<Search<TV>>(`${BASE_SEARCH}/tv`, options);
}
}

View File

@@ -45,8 +45,11 @@ export class TvShowsEndpoint extends BaseEndpoint {
);
}
async changes(id: number, options?: ChangeOptions): Promise<TvShowChanges>{
return await this.api.get<TvShowChanges>(`${BASE_TV}/${id}/changes`, options);
async changes(id: number, options?: ChangeOptions): Promise<TvShowChanges> {
return await this.api.get<TvShowChanges>(
`${BASE_TV}/${id}/changes`,
options
);
}
async contentRatings(id: number): Promise<ContentRatings> {
@@ -81,11 +84,17 @@ export class TvShowsEndpoint extends BaseEndpoint {
return await this.api.get<Keywords>(`${BASE_TV}/${id}/keywords`);
}
async recommendations(id: number, options?: PageOption): Promise<Recommendations>{
return await this.api.get<Recommendations>(`${BASE_TV}/${id}/recommendations`, options);
async recommendations(
id: number,
options?: PageOption
): Promise<Recommendations> {
return await this.api.get<Recommendations>(
`${BASE_TV}/${id}/recommendations`,
options
);
}
async reviews(id: number, options?: PageOption): Promise<Reviews>{
async reviews(id: number, options?: PageOption): Promise<Reviews> {
return await this.api.get<Reviews>(`${BASE_TV}/${id}/reviews`, options);
}
@@ -95,8 +104,11 @@ export class TvShowsEndpoint extends BaseEndpoint {
);
}
async similar(id: number, options?: PageOption): Promise<SimilarTvShows>{
return await this.api.get<SimilarTvShows>(`${BASE_TV}/${id}/similar`, options);
async similar(id: number, options?: PageOption): Promise<SimilarTvShows> {
return await this.api.get<SimilarTvShows>(
`${BASE_TV}/${id}/similar`,
options
);
}
async translations(id: number): Promise<Translations> {
@@ -125,15 +137,24 @@ export class TvShowsEndpoint extends BaseEndpoint {
return await this.api.get<OnTheAir>(`${BASE_TV}/on_the_air`);
}
async airingToday(options?: PageOption & LanguageOption & RegionOption): Promise<TvShowsAiringToday>{
return await this.api.get<TvShowsAiringToday>(`${BASE_TV}/airing_today`, options);
async airingToday(
options?: PageOption & LanguageOption & RegionOption
): Promise<TvShowsAiringToday> {
return await this.api.get<TvShowsAiringToday>(
`${BASE_TV}/airing_today`,
options
);
}
async popular(options?: PageOption & LanguageOption & RegionOption): Promise<PopularTvShows>{
async popular(
options?: PageOption & LanguageOption & RegionOption
): Promise<PopularTvShows> {
return await this.api.get<PopularTvShows>(`${BASE_TV}/popular`, options);
}
async topRated(options?: PageOption & LanguageOption & RegionOption): Promise<TopRatedTvShows>{
async topRated(
options?: PageOption & LanguageOption & RegionOption
): Promise<TopRatedTvShows> {
return await this.api.get<TopRatedTvShows>(`${BASE_TV}/top_rated`, options);
}
}

View File

@@ -1,7 +1,3 @@
export function parseOptions(
options?: Record<string, any>,
): string {
return options
? new URLSearchParams(Object.entries(options)).toString()
: '';
export function parseOptions(options?: Record<string, any>): string {
return options ? new URLSearchParams(Object.entries(options)).toString() : '';
}