Do not use undefined params
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||
import { DetailedCollection, ImageCollection, LanguageOption, Translations } from '../types';
|
import { DetailedCollection, ImageCollection, LanguageOption, Translations } from '../types';
|
||||||
import { BaseEndpoint } from './base';
|
import { BaseEndpoint } from './base';
|
||||||
import querystring from 'querystring';
|
|
||||||
|
|
||||||
const BASE_COLLECTION = '/collection';
|
const BASE_COLLECTION = '/collection';
|
||||||
|
|
||||||
@@ -10,18 +9,23 @@ export class CollectionsEndpoint extends BaseEndpoint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async details(id: number, options? : LanguageOption): Promise<DetailedCollection> {
|
async details(id: number, options? : LanguageOption): Promise<DetailedCollection> {
|
||||||
const params = querystring.encode(options);
|
const params = options
|
||||||
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
|
: '';
|
||||||
return await this.api.get<DetailedCollection>(`${BASE_COLLECTION}/${id}?${params}`);
|
return await this.api.get<DetailedCollection>(`${BASE_COLLECTION}/${id}?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
async images(id: number, options? : LanguageOption): Promise<ImageCollection> {
|
async images(id: number, options? : LanguageOption): Promise<ImageCollection> {
|
||||||
const params = querystring.encode(options);
|
const params = options
|
||||||
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
|
: '';
|
||||||
return await this.api.get<ImageCollection>(`${BASE_COLLECTION}/${id}/images?${params}`);
|
return await this.api.get<ImageCollection>(`${BASE_COLLECTION}/${id}/images?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
async translations(id: number, options? : LanguageOption): Promise<Translations> {
|
async translations(id: number, options? : LanguageOption): Promise<Translations> {
|
||||||
const params = querystring.encode(options);
|
const params = options
|
||||||
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
|
: '';
|
||||||
return await this.api.get<Translations>(`${BASE_COLLECTION}/${id}/translations?${params}`);
|
return await this.api.get<Translations>(`${BASE_COLLECTION}/${id}/translations?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
import { BaseEndpoint } from './base';
|
import { BaseEndpoint } from './base';
|
||||||
import querystring from 'querystring';
|
|
||||||
import { BelongingMovies, Keyword, KeywordsOptions } from '../types';
|
import { BelongingMovies, Keyword, KeywordsOptions } from '../types';
|
||||||
|
|
||||||
const BASE_Keyword = '/keyword';
|
const BASE_Keyword = '/keyword';
|
||||||
@@ -14,7 +13,9 @@ export class KeywordsEndpoint extends BaseEndpoint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async belongingMovies(keywordId : number, options?: KeywordsOptions): Promise<BelongingMovies> {
|
async belongingMovies(keywordId : number, options?: KeywordsOptions): Promise<BelongingMovies> {
|
||||||
const params = querystring.encode(options);
|
const params = options
|
||||||
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
|
: '';
|
||||||
return await this.api.get<BelongingMovies>(`${BASE_Keyword}/${keywordId}/movies?${params}`);
|
return await this.api.get<BelongingMovies>(`${BASE_Keyword}/${keywordId}/movies?${params}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,8 +40,8 @@ export class MoviesEndpoint extends BaseEndpoint{
|
|||||||
}
|
}
|
||||||
|
|
||||||
async changes(id: number, options?: ChangeOptions): Promise<MovieChanges>{
|
async changes(id: number, options?: ChangeOptions): Promise<MovieChanges>{
|
||||||
const params = options
|
const params = options
|
||||||
? new URLSearchParams(Object.entries(options)).toString()
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: '';
|
: '';
|
||||||
return await this.api.get<MovieChanges>(`${BASE_MOVIE}/${id}/changes?${params}`);
|
return await this.api.get<MovieChanges>(`${BASE_MOVIE}/${id}/changes?${params}`);
|
||||||
}
|
}
|
||||||
@@ -63,15 +63,15 @@ export class MoviesEndpoint extends BaseEndpoint{
|
|||||||
}
|
}
|
||||||
|
|
||||||
async lists(id: number, options?: PageOptions): Promise<MovieLists>{
|
async lists(id: number, options?: PageOptions): Promise<MovieLists>{
|
||||||
const params = options
|
const params = options
|
||||||
? new URLSearchParams(Object.entries(options)).toString()
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: '';
|
: '';
|
||||||
return await this.api.get<MovieLists>(`${BASE_MOVIE}/${id}/lists?${params}`);
|
return await this.api.get<MovieLists>(`${BASE_MOVIE}/${id}/lists?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
async recommendations(id: number, options?: PageOptions): Promise<Recommendations>{
|
async recommendations(id: number, options?: PageOptions): Promise<Recommendations>{
|
||||||
const params = options
|
const params = options
|
||||||
? new URLSearchParams(Object.entries(options)).toString()
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: '';
|
: '';
|
||||||
return await this.api.get<Recommendations>(`${BASE_MOVIE}/${id}/recommendations?${params}`);
|
return await this.api.get<Recommendations>(`${BASE_MOVIE}/${id}/recommendations?${params}`);
|
||||||
}
|
}
|
||||||
@@ -81,15 +81,15 @@ export class MoviesEndpoint extends BaseEndpoint{
|
|||||||
}
|
}
|
||||||
|
|
||||||
async reviews(id: number, options?: PageOptions): Promise<Reviews>{
|
async reviews(id: number, options?: PageOptions): Promise<Reviews>{
|
||||||
const params = options
|
const params = options
|
||||||
? new URLSearchParams(Object.entries(options)).toString()
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: '';
|
: '';
|
||||||
return await this.api.get<Reviews>(`${BASE_MOVIE}/${id}/reviews?${params}`);
|
return await this.api.get<Reviews>(`${BASE_MOVIE}/${id}/reviews?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
async similar(id: number, options?: PageOptions): Promise<SimilarMovies>{
|
async similar(id: number, options?: PageOptions): Promise<SimilarMovies>{
|
||||||
const params = options
|
const params = options
|
||||||
? new URLSearchParams(Object.entries(options)).toString()
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: '';
|
: '';
|
||||||
return await this.api.get<SimilarMovies>(`${BASE_MOVIE}/${id}/similar?${params}`);
|
return await this.api.get<SimilarMovies>(`${BASE_MOVIE}/${id}/similar?${params}`);
|
||||||
}
|
}
|
||||||
@@ -115,29 +115,29 @@ export class MoviesEndpoint extends BaseEndpoint{
|
|||||||
}
|
}
|
||||||
|
|
||||||
async nowPlaying(options?: LocaleOptions): Promise<MoviesPlayingNow>{
|
async nowPlaying(options?: LocaleOptions): Promise<MoviesPlayingNow>{
|
||||||
const params = options
|
const params = options
|
||||||
? new URLSearchParams(Object.entries(options)).toString()
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: '';
|
: '';
|
||||||
return await this.api.get<MoviesPlayingNow>(`${BASE_MOVIE}/now_playing?${params}`);
|
return await this.api.get<MoviesPlayingNow>(`${BASE_MOVIE}/now_playing?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
async popular(options?: PageOptions): Promise<PopularMovies>{
|
async popular(options?: PageOptions): Promise<PopularMovies>{
|
||||||
const params = options
|
const params = options
|
||||||
? new URLSearchParams(Object.entries(options)).toString()
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: '';
|
: '';
|
||||||
return await this.api.get<PopularMovies>(`${BASE_MOVIE}/popular?${params}`);
|
return await this.api.get<PopularMovies>(`${BASE_MOVIE}/popular?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
async topRated(options?: LocaleOptions): Promise<TopRatedMovies>{
|
async topRated(options?: LocaleOptions): Promise<TopRatedMovies>{
|
||||||
const params = options
|
const params = options
|
||||||
? new URLSearchParams(Object.entries(options)).toString()
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: '';
|
: '';
|
||||||
return await this.api.get<TopRatedMovies>(`${BASE_MOVIE}/top_rated?${params}`);
|
return await this.api.get<TopRatedMovies>(`${BASE_MOVIE}/top_rated?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
async upcoming(options?: LocaleOptions): Promise<UpcomingMovies>{
|
async upcoming(options?: LocaleOptions): Promise<UpcomingMovies>{
|
||||||
const params = options
|
const params = options
|
||||||
? new URLSearchParams(Object.entries(options)).toString()
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: '';
|
: '';
|
||||||
return await this.api.get<UpcomingMovies>(`${BASE_MOVIE}/upcoming?${params}`);
|
return await this.api.get<UpcomingMovies>(`${BASE_MOVIE}/upcoming?${params}`);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ export class PeopleEndpoint extends BaseEndpoint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async changes(id: number, options? : ChangeOptions): Promise<PersonChanges> {
|
async changes(id: number, options? : ChangeOptions): Promise<PersonChanges> {
|
||||||
const params = options == undefined
|
const params = options
|
||||||
? undefined
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: new URLSearchParams(Object.entries(options)).toString();
|
: '';
|
||||||
return await this.api.get<PersonChanges>(`${BASE_PERSON}/${id}/changes?${params}`);
|
return await this.api.get<PersonChanges>(`${BASE_PERSON}/${id}/changes?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,9 +40,9 @@ export class PeopleEndpoint extends BaseEndpoint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async taggedImages(id: number, options?: PageOptions): Promise<TaggedImages>{
|
async taggedImages(id: number, options?: PageOptions): Promise<TaggedImages>{
|
||||||
const params = options == undefined
|
const params = options
|
||||||
? undefined
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: new URLSearchParams(Object.entries(options)).toString();
|
: '';
|
||||||
return await this.api.get<TaggedImages>(`${BASE_PERSON}/${id}/tagged_images?${params}`);
|
return await this.api.get<TaggedImages>(`${BASE_PERSON}/${id}/tagged_images?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,9 +55,9 @@ export class PeopleEndpoint extends BaseEndpoint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async popular(options?: PageOptions): Promise<PopularPersons>{
|
async popular(options?: PageOptions): Promise<PopularPersons>{
|
||||||
const params = options == undefined
|
const params = options
|
||||||
? undefined
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: new URLSearchParams(Object.entries(options)).toString();
|
: '';
|
||||||
return await this.api.get<PopularPersons>(`${BASE_PERSON}/popular?${params}`);
|
return await this.api.get<PopularPersons>(`${BASE_PERSON}/popular?${params}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,9 +43,9 @@ export class TvShowsEndpoint extends BaseEndpoint{
|
|||||||
}
|
}
|
||||||
|
|
||||||
async changes(id: number, options?: ChangeOptions): Promise<TvShowChanges>{
|
async changes(id: number, options?: ChangeOptions): Promise<TvShowChanges>{
|
||||||
const params = options == undefined
|
const params = options
|
||||||
? undefined
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: new URLSearchParams(Object.entries(options)).toString();
|
: '';
|
||||||
return await this.api.get<TvShowChanges>(`${BASE_TV}/${id}/changes?${params}`);
|
return await this.api.get<TvShowChanges>(`${BASE_TV}/${id}/changes?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,16 +78,16 @@ export class TvShowsEndpoint extends BaseEndpoint{
|
|||||||
}
|
}
|
||||||
|
|
||||||
async recommendations(id: number, options?: PageOptions): Promise<Recommendations>{
|
async recommendations(id: number, options?: PageOptions): Promise<Recommendations>{
|
||||||
const params = options == undefined
|
const params = options
|
||||||
? undefined
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: new URLSearchParams(Object.entries(options)).toString();
|
: '';
|
||||||
return await this.api.get<Recommendations>(`${BASE_TV}/${id}/recommendations?${params}`);
|
return await this.api.get<Recommendations>(`${BASE_TV}/${id}/recommendations?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
async reviews(id: number, options?: PageOptions): Promise<Reviews>{
|
async reviews(id: number, options?: PageOptions): Promise<Reviews>{
|
||||||
const params = options == undefined
|
const params = options
|
||||||
? undefined
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: new URLSearchParams(Object.entries(options)).toString();
|
: '';
|
||||||
return await this.api.get<Reviews>(`${BASE_TV}/${id}/reviews?${params}`);
|
return await this.api.get<Reviews>(`${BASE_TV}/${id}/reviews?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,9 +96,9 @@ export class TvShowsEndpoint extends BaseEndpoint{
|
|||||||
}
|
}
|
||||||
|
|
||||||
async similar(id: number, options?: PageOptions): Promise<SimilarTvShows>{
|
async similar(id: number, options?: PageOptions): Promise<SimilarTvShows>{
|
||||||
const params = options == undefined
|
const params = options
|
||||||
? undefined
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: new URLSearchParams(Object.entries(options)).toString();
|
: '';
|
||||||
return await this.api.get<SimilarTvShows>(`${BASE_TV}/${id}/similar?${params}`);
|
return await this.api.get<SimilarTvShows>(`${BASE_TV}/${id}/similar?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,23 +127,23 @@ export class TvShowsEndpoint extends BaseEndpoint{
|
|||||||
}
|
}
|
||||||
|
|
||||||
async airingToday(options?: LocaleOptions): Promise<TvShowsAiringToday>{
|
async airingToday(options?: LocaleOptions): Promise<TvShowsAiringToday>{
|
||||||
const params = options == undefined
|
const params = options
|
||||||
? undefined
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: new URLSearchParams(Object.entries(options)).toString();
|
: '';
|
||||||
return await this.api.get<TvShowsAiringToday>(`${BASE_TV}/airing_today?${params}`);
|
return await this.api.get<TvShowsAiringToday>(`${BASE_TV}/airing_today?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
async popular(options?: PageOptions): Promise<PopularTvShows>{
|
async popular(options?: PageOptions): Promise<PopularTvShows>{
|
||||||
const params = options == undefined
|
const params = options
|
||||||
? undefined
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: new URLSearchParams(Object.entries(options)).toString();
|
: '';
|
||||||
return await this.api.get<PopularTvShows>(`${BASE_TV}/popular?${params}`);
|
return await this.api.get<PopularTvShows>(`${BASE_TV}/popular?${params}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
async topRated(options?: LocaleOptions): Promise<TopRatedTvShows>{
|
async topRated(options?: LocaleOptions): Promise<TopRatedTvShows>{
|
||||||
const params = options == undefined
|
const params = options
|
||||||
? undefined
|
? new URLSearchParams(Object.entries(options)).toString()
|
||||||
: new URLSearchParams(Object.entries(options)).toString();
|
: '';
|
||||||
return await this.api.get<TopRatedTvShows>(`${BASE_TV}/top_rated?${params}`);
|
return await this.api.get<TopRatedTvShows>(`${BASE_TV}/top_rated?${params}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import { ParsedUrlQueryInput } from 'querystring';
|
|
||||||
import { Movie } from '.';
|
import { Movie } from '.';
|
||||||
|
|
||||||
export interface KeywordsOptions extends ParsedUrlQueryInput {
|
export interface KeywordsOptions {
|
||||||
include_adult?: boolean;
|
include_adult?: boolean;
|
||||||
language?: string;
|
language?: string;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
import { ParsedUrlQueryInput } from 'querystring';
|
export interface LanguageOption {
|
||||||
|
language?: string;
|
||||||
export interface LanguageOption extends ParsedUrlQueryInput {
|
|
||||||
language?: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface PageOption extends ParsedUrlQueryInput {
|
export interface PageOption {
|
||||||
page?: number;
|
page?: number;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user