tmdb-ts 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,8 +14,10 @@ Installation:
14
14
  npm install --save tmdb-ts
15
15
  ``
16
16
 
17
+ Version 1.0 removed the default import so make sure you update accordingly!
18
+
17
19
  ```js
18
- import TMDB from 'tmdb-ts';
20
+ import { TMDB } from 'tmdb-ts';
19
21
 
20
22
  const tmdb = new TMDB('accessToken');
21
23
 
@@ -1,9 +1,9 @@
1
1
  import { BaseEndpoint } from './base';
2
- import { ChangeOptions, Changes } from '../types/changes';
2
+ import { ChangeOptions, MediaChanges } from '../types/changes';
3
3
  export declare class ChangeEndpoint extends BaseEndpoint {
4
4
  protected readonly accessToken: string;
5
5
  constructor(accessToken: string);
6
- movies(options?: ChangeOptions): Promise<Changes>;
7
- tvShows(options?: ChangeOptions): Promise<Changes>;
8
- person(options?: ChangeOptions): Promise<Changes>;
6
+ movies(options?: ChangeOptions): Promise<MediaChanges>;
7
+ tvShows(options?: ChangeOptions): Promise<MediaChanges>;
8
+ person(options?: ChangeOptions): Promise<MediaChanges>;
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"changes.js","sourceRoot":"","sources":["../../src/endpoints/changes.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AAGtC,MAAa,cAAe,SAAQ,mBAAY;IACf;IAA/B,YAA+B,WAAmB;QAChD,KAAK,CAAC,WAAW,CAAC,CAAC;QADU,gBAAW,GAAX,WAAW,CAAQ;IAElD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAuB;QAClC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAU,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAU,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAuB;QAClC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAU,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;CACF;AAhBD,wCAgBC"}
1
+ {"version":3,"file":"changes.js","sourceRoot":"","sources":["../../src/endpoints/changes.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AAGtC,MAAa,cAAe,SAAQ,mBAAY;IACf;IAA/B,YAA+B,WAAmB;QAChD,KAAK,CAAC,WAAW,CAAC,CAAC;QADU,gBAAW,GAAX,WAAW,CAAQ;IAElD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAuB;QAClC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAe,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAe,aAAa,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAuB;QAClC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAe,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;CACF;AAhBD,wCAgBC"}
@@ -1,11 +1,11 @@
1
1
  import { BaseEndpoint } from './base';
2
- import { AlternativeTitles, ChangeOptions, Credits, ExternalIds, Images, Keywords, LanguageOption, LatestMovie, MovieChanges, MovieDetails, MovieLists, MoviesPlayingNow, PageOption, PopularMovies, Recommendations, RegionOption, ReleaseDates, Reviews, SimilarMovies, TopRatedMovies, Translations, UpcomingMovies, Videos, WatchProviders } from '../types';
2
+ import { AlternativeTitles, AppendToResponse, AppendToResponseMovieKey, ChangeOptions, Changes, Credits, ExternalIds, Images, Keywords, LanguageOption, LatestMovie, MovieDetails, MovieLists, MoviesPlayingNow, PageOption, PopularMovies, Recommendations, RegionOption, ReleaseDates, Reviews, SimilarMovies, TopRatedMovies, Translations, UpcomingMovies, Videos, WatchProviders } from '../types';
3
3
  export declare class MoviesEndpoint extends BaseEndpoint {
4
4
  protected readonly accessToken: string;
5
5
  constructor(accessToken: string);
6
- details(id: number): Promise<MovieDetails>;
6
+ details<T extends AppendToResponseMovieKey[] | undefined>(id: number, appendToResponse?: T): Promise<AppendToResponse<MovieDetails, T, "movie">>;
7
7
  alternativeTitles(id: number): Promise<AlternativeTitles>;
8
- changes(id: number, options?: ChangeOptions): Promise<MovieChanges>;
8
+ changes(id: number, options?: ChangeOptions): Promise<Changes>;
9
9
  credits(id: number): Promise<Credits>;
10
10
  externalIds(id: number): Promise<ExternalIds>;
11
11
  images(id: number): Promise<Images>;
@@ -9,8 +9,13 @@ class MoviesEndpoint extends base_1.BaseEndpoint {
9
9
  super(accessToken);
10
10
  this.accessToken = accessToken;
11
11
  }
12
- async details(id) {
13
- return await this.api.get(`${BASE_MOVIE}/${id}`);
12
+ async details(id, appendToResponse) {
13
+ const options = {
14
+ append_to_response: appendToResponse
15
+ ? appendToResponse.join(',')
16
+ : undefined,
17
+ };
18
+ return await this.api.get(`${BASE_MOVIE}/${id}`, options);
14
19
  }
15
20
  async alternativeTitles(id) {
16
21
  return await this.api.get(`${BASE_MOVIE}/${id}/alternative_titles`);
@@ -1 +1 @@
1
- {"version":3,"file":"movies.js","sourceRoot":"","sources":["../../src/endpoints/movies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"movies.js","sourceRoot":"","sources":["../../src/endpoints/movies.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,16 @@
1
- import { ChangeOptions, ExternalIds, Image, PageOption, PeopleTranslations, PersonChanges, PersonCombinedCredits, PersonDetail, PersonMovieCredit, PersonTvShowCredit, PopularPersons, TaggedImages } from '../types';
1
+ import { AppendToResponse, AppendToResponsePersonKey, ChangeOptions, ExternalIds, PageOption, PeopleImages, PersonTranslations, PersonChanges, PersonCombinedCredits, PersonDetails, PersonMovieCredit, PersonTvShowCredit, PopularPersons, TaggedImages } from '../types';
2
2
  import { BaseEndpoint } from './base';
3
3
  export declare class PeopleEndpoint extends BaseEndpoint {
4
4
  constructor(accessToken: string);
5
- details(id: number): Promise<PersonDetail>;
5
+ details<T extends AppendToResponsePersonKey[] | undefined>(id: number, appendToResponse?: T): Promise<AppendToResponse<PersonDetails, T, "person">>;
6
6
  changes(id: number, options?: ChangeOptions): Promise<PersonChanges>;
7
7
  movieCredits(id: number): Promise<PersonMovieCredit>;
8
8
  tvShowCredits(id: number): Promise<PersonTvShowCredit>;
9
9
  combinedCredits(id: number): Promise<PersonCombinedCredits>;
10
10
  externalId(id: number): Promise<ExternalIds>;
11
- images(id: number): Promise<{
12
- id: number;
13
- profiles: Image[];
14
- }>;
11
+ images(id: number): Promise<PeopleImages>;
15
12
  taggedImages(id: number, options?: PageOption): Promise<TaggedImages>;
16
- translation(id: number): Promise<PeopleTranslations>;
17
- latest(): Promise<PersonDetail>;
13
+ translation(id: number): Promise<PersonTranslations>;
14
+ latest(): Promise<PersonDetails>;
18
15
  popular(options?: PageOption): Promise<PopularPersons>;
19
16
  }
@@ -7,8 +7,13 @@ class PeopleEndpoint extends base_1.BaseEndpoint {
7
7
  constructor(accessToken) {
8
8
  super(accessToken);
9
9
  }
10
- async details(id) {
11
- return await this.api.get(`${BASE_PERSON}/${id}`);
10
+ async details(id, appendToResponse) {
11
+ const options = {
12
+ append_to_response: appendToResponse
13
+ ? appendToResponse.join(',')
14
+ : undefined,
15
+ };
16
+ return await this.api.get(`${BASE_PERSON}/${id}`, options);
12
17
  }
13
18
  async changes(id, options) {
14
19
  return await this.api.get(`${BASE_PERSON}/${id}/changes`, options);
@@ -1 +1 @@
1
- {"version":3,"file":"people.js","sourceRoot":"","sources":["../../src/endpoints/people.ts"],"names":[],"mappings":";;;AAcA,iCAAsC;AAEtC,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B,MAAa,cAAe,SAAQ,mBAAY;IAC9C,YAAY,WAAmB;QAC7B,KAAK,CAAC,WAAW,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAe,GAAG,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,OAAuB;QAC/C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,UAAU,EAC9B,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,gBAAgB,CACrC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,aAAa,CAClC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU;QAC9B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,mBAAmB,CACxC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAc,GAAG,WAAW,IAAI,EAAE,eAAe,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,SAAS,CAC9B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,OAAoB;QACjD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,gBAAgB,EACpC,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,eAAe,CACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAe,GAAG,WAAW,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoB;QAChC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,UAAU,EACxB,OAAO,CACR,CAAC;IACJ,CAAC;CACF;AAnED,wCAmEC"}
1
+ {"version":3,"file":"people.js","sourceRoot":"","sources":["../../src/endpoints/people.ts"],"names":[],"mappings":";;;AAgBA,iCAAsC;AAEtC,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B,MAAa,cAAe,SAAQ,mBAAY;IAC9C,YAAY,WAAmB;QAC7B,KAAK,CAAC,WAAW,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,CACX,EAAU,EACV,gBAAoB;QAEpB,MAAM,OAAO,GAAG;YACd,kBAAkB,EAAE,gBAAgB;gBAClC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC5B,CAAC,CAAC,SAAS;SACd,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,EAAE,EACtB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,OAAuB;QAC/C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,UAAU,EAC9B,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,gBAAgB,CACrC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,aAAa,CAClC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU;QAC9B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,mBAAmB,CACxC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAc,GAAG,WAAW,IAAI,EAAE,eAAe,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAe,GAAG,WAAW,IAAI,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,OAAoB;QACjD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,gBAAgB,EACpC,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,IAAI,EAAE,eAAe,CACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgB,GAAG,WAAW,SAAS,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoB;QAChC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,UAAU,EACxB,OAAO,CACR,CAAC;IACJ,CAAC;CACF;AA5ED,wCA4EC"}
@@ -1,5 +1,5 @@
1
1
  import { BaseEndpoint } from './base';
2
- import { Search } from '../types/search';
2
+ import { MultiSearchResult, Search } from '../types/search';
3
3
  import { Collection, Company, Movie, Person, TV } from '../types';
4
4
  export interface SearchOptions {
5
5
  query: string;
@@ -17,6 +17,9 @@ export interface TvSearchOptions extends SearchOptions {
17
17
  export interface PeopleSearchOptions extends SearchOptions {
18
18
  include_adult?: boolean;
19
19
  }
20
+ export interface MultiSearchOptions extends SearchOptions {
21
+ include_adult?: boolean;
22
+ }
20
23
  export declare class SearchEndpoint extends BaseEndpoint {
21
24
  protected readonly accessToken: string;
22
25
  constructor(accessToken: string);
@@ -29,4 +32,5 @@ export declare class SearchEndpoint extends BaseEndpoint {
29
32
  movies(options: MovieSearchOptions): Promise<Search<Movie>>;
30
33
  people(options: PeopleSearchOptions): Promise<Search<Person>>;
31
34
  tvShows(options: TvSearchOptions): Promise<Search<TV>>;
35
+ multi(options: MultiSearchOptions): Promise<Search<MultiSearchResult>>;
32
36
  }
@@ -24,10 +24,12 @@ class SearchEndpoint extends base_1.BaseEndpoint {
24
24
  async people(options) {
25
25
  return await this.api.get(`${BASE_SEARCH}/person`, options);
26
26
  }
27
- // TODO: Multi search
28
27
  async tvShows(options) {
29
28
  return await this.api.get(`${BASE_SEARCH}/tv`, options);
30
29
  }
30
+ async multi(options) {
31
+ return await this.api.get(`${BASE_SEARCH}/multi`, options);
32
+ }
31
33
  }
32
34
  exports.SearchEndpoint = SearchEndpoint;
33
35
  //# sourceMappingURL=search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/endpoints/search.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AAItC,MAAM,WAAW,GAAG,SAAS,CAAC;AAsB9B,MAAa,cAAe,SAAQ,mBAAY;IACf;IAA/B,YAA+B,WAAmB;QAChD,KAAK,CAAC,WAAW,CAAC,CAAC;QADU,gBAAW,GAAX,WAAW,CAAQ;IAElD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAsB;QACpC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,UAAU,EACxB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAsB;QACtC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,aAAa,EAC3B,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,OAAsB;QAEtB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,UAAU,EACxB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA2B;QACtC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgB,GAAG,WAAW,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA4B;QACvC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAiB,GAAG,WAAW,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,qBAAqB;IAErB,KAAK,CAAC,OAAO,CAAC,OAAwB;QACpC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAa,GAAG,WAAW,KAAK,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;CACF;AAzCD,wCAyCC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/endpoints/search.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AAItC,MAAM,WAAW,GAAG,SAAS,CAAC;AA0B9B,MAAa,cAAe,SAAQ,mBAAY;IACf;IAA/B,YAA+B,WAAmB;QAChD,KAAK,CAAC,WAAW,CAAC,CAAC;QADU,gBAAW,GAAX,WAAW,CAAQ;IAElD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAsB;QACpC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,UAAU,EACxB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAsB;QACtC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,aAAa,EAC3B,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,OAAsB;QAEtB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,UAAU,EACxB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA2B;QACtC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgB,GAAG,WAAW,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA4B;QACvC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAiB,GAAG,WAAW,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAwB;QACpC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAa,GAAG,WAAW,KAAK,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAA2B;QACrC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CACvB,GAAG,WAAW,QAAQ,EACtB,OAAO,CACR,CAAC;IACJ,CAAC;CACF;AA9CD,wCA8CC"}
@@ -1,6 +1,6 @@
1
- import { MediaType, TimeWindow, TrendingResults } from '../types';
1
+ import { TrendingMediaType, TimeWindow, TrendingResults } from '../types';
2
2
  import { BaseEndpoint } from './base';
3
3
  export declare class TrendingEndpoint extends BaseEndpoint {
4
4
  constructor(accessToken: string);
5
- trending<T extends MediaType>(mediaType: T, timeWindow: TimeWindow): Promise<TrendingResults<T>>;
5
+ trending<T extends TrendingMediaType>(mediaType: T, timeWindow: TimeWindow): Promise<TrendingResults<T>>;
6
6
  }
@@ -1,11 +1,11 @@
1
1
  import { BaseEndpoint } from './base';
2
- import { AlternativeTitles, ChangeOptions, ContentRatings, Credits, EpisodeGroups, ExternalIds, Images, Keywords, LanguageOption, LatestTvShows, OnTheAir, PageOption, PopularTvShows, Recommendations, RegionOption, Reviews, ScreenedTheatrically, SeasonDetails, SimilarTvShows, TopRatedTvShows, Translations, TvShowChanges, TvShowDetails, TvShowsAiringToday, Videos, WatchProviders } from '../types';
2
+ import { AlternativeTitles, AppendToResponse, AppendToResponseTvKey, ChangeOptions, Changes, ContentRatings, Credits, EpisodeGroups, ExternalIds, Images, Keywords, LanguageOption, LatestTvShows, OnTheAir, PageOption, PopularTvShows, Recommendations, RegionOption, Reviews, ScreenedTheatrically, SeasonDetails, SimilarTvShows, TopRatedTvShows, Translations, TvShowDetails, TvShowsAiringToday, Videos, WatchProviders } from '../types';
3
3
  export declare class TvShowsEndpoint extends BaseEndpoint {
4
4
  protected readonly accessToken: string;
5
5
  constructor(accessToken: string);
6
- details(id: number): Promise<TvShowDetails>;
6
+ details<T extends AppendToResponseTvKey[] | undefined>(id: number, appendToResponse?: T): Promise<AppendToResponse<TvShowDetails, T, "tvShow">>;
7
7
  alternativeTitles(id: number): Promise<AlternativeTitles>;
8
- changes(id: number, options?: ChangeOptions): Promise<TvShowChanges>;
8
+ changes(id: number, options?: ChangeOptions): Promise<Changes>;
9
9
  contentRatings(id: number): Promise<ContentRatings>;
10
10
  credits(id: number): Promise<Credits>;
11
11
  season(tvId: number, seasonNumber: number): Promise<SeasonDetails>;
@@ -9,8 +9,13 @@ class TvShowsEndpoint extends base_1.BaseEndpoint {
9
9
  super(accessToken);
10
10
  this.accessToken = accessToken;
11
11
  }
12
- async details(id) {
13
- return await this.api.get(`${BASE_TV}/${id}`);
12
+ async details(id, appendToResponse) {
13
+ const options = {
14
+ append_to_response: appendToResponse
15
+ ? appendToResponse.join(',')
16
+ : undefined,
17
+ };
18
+ return await this.api.get(`${BASE_TV}/${id}`, options);
14
19
  }
15
20
  async alternativeTitles(id) {
16
21
  return await this.api.get(`${BASE_TV}/${id}/alternative_titles`);
@@ -1 +1 @@
1
- {"version":3,"file":"tv-shows.js","sourceRoot":"","sources":["../../src/endpoints/tv-shows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tv-shows.js","sourceRoot":"","sources":["../../src/endpoints/tv-shows.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- export interface Change {
1
+ export interface MediaChange {
2
2
  id: number;
3
3
  adult: boolean | undefined;
4
4
  }
5
- export interface Changes {
6
- results: Change[];
5
+ export interface MediaChanges {
6
+ results: MediaChange[];
7
7
  page: number;
8
8
  total_pages: number;
9
9
  total_results: number;
@@ -13,3 +13,18 @@ export interface ChangeOptions {
13
13
  start_date?: string;
14
14
  page?: number;
15
15
  }
16
+ export interface Changes {
17
+ changes: Change[];
18
+ }
19
+ export interface Change {
20
+ key: string;
21
+ items: ChangeItem[];
22
+ }
23
+ export interface ChangeItem {
24
+ id: string;
25
+ action: string;
26
+ time: string;
27
+ value: Array<number>;
28
+ iso_639_1: string;
29
+ original_value: Array<number>;
30
+ }
@@ -1,4 +1,4 @@
1
- export interface Images {
1
+ export interface ImageConfiguration {
2
2
  base_url: string;
3
3
  secure_base_url: string;
4
4
  backdrop_sizes: BackdropSizes[];
@@ -8,7 +8,7 @@ export interface Images {
8
8
  still_sizes: StillSizes[];
9
9
  }
10
10
  export interface Configuration {
11
- images: Images;
11
+ images: ImageConfiguration;
12
12
  change_keys: ChangeKeys[];
13
13
  }
14
14
  export declare const enum BackdropSizes {
@@ -14,29 +14,14 @@ export * from './trending';
14
14
  export * from './find';
15
15
  export * from './keywords';
16
16
  export * from './collections';
17
+ export type MediaType = 'movie' | 'tv' | 'person';
17
18
  export interface AuthorDetails {
18
19
  name: string;
19
20
  username: string;
20
21
  avatar_path: string;
21
22
  rating?: number;
22
23
  }
23
- export interface KnownFor {
24
- id: number;
25
- overview: string;
26
- release_date: string;
27
- video: boolean;
28
- adult: boolean;
29
- backdrop_path: string;
30
- media_type: string;
31
- genre_ids: number[];
32
- title: string;
33
- original_language: string;
34
- original_title: string;
35
- poster_path: string;
36
- vote_count: number;
37
- vote_average: number;
38
- popularity: number;
39
- }
24
+ export type KnownFor = MovieWithMediaType | TVWithMediaType;
40
25
  export interface Person {
41
26
  id: number;
42
27
  name: string;
@@ -47,6 +32,9 @@ export interface Person {
47
32
  gender: number;
48
33
  popularity: number;
49
34
  }
35
+ export interface PersonWithMediaType extends Person {
36
+ media_type: 'person';
37
+ }
50
38
  export interface Movie {
51
39
  id: number;
52
40
  poster_path: string;
@@ -63,6 +51,9 @@ export interface Movie {
63
51
  video: boolean;
64
52
  vote_average: number;
65
53
  }
54
+ export interface MovieWithMediaType extends Movie {
55
+ media_type: 'movie';
56
+ }
66
57
  export interface Company {
67
58
  id: number;
68
59
  logo_path: string;
@@ -84,6 +75,9 @@ export interface TV {
84
75
  vote_count: number;
85
76
  vote_average: number;
86
77
  }
78
+ export interface TVWithMediaType extends TV {
79
+ media_type: 'tv';
80
+ }
87
81
  export interface Genre {
88
82
  id: number;
89
83
  name: string;
@@ -115,6 +109,7 @@ export interface ContentRatings {
115
109
  id: number;
116
110
  }
117
111
  export interface ContentRatingsResult {
112
+ descriptor: unknown[];
118
113
  iso_3166_1: string;
119
114
  rating: string;
120
115
  }
@@ -181,3 +176,9 @@ export interface Image {
181
176
  vote_count: number;
182
177
  width: number;
183
178
  }
179
+ export interface Images {
180
+ id: number;
181
+ backdrops: Image[];
182
+ logos: Image[];
183
+ posters: Image[];
184
+ }
@@ -78,21 +78,6 @@ export interface MovieLists {
78
78
  total_pages: number;
79
79
  total_results: number;
80
80
  }
81
- export interface MovieChangeItem {
82
- id: string;
83
- action: string;
84
- time: string;
85
- iso_639_1: string;
86
- value: string;
87
- original_value: string;
88
- }
89
- export interface MovieChange {
90
- key: string;
91
- items: MovieChangeItem[];
92
- }
93
- export interface MovieChanges {
94
- changes: MovieChange[];
95
- }
96
81
  export interface LatestMovie {
97
82
  adult: boolean;
98
83
  backdrop_path?: string;
@@ -1,3 +1,4 @@
1
+ import { AlternativeTitles, Changes, ContentRatings, Credits, EpisodeGroups, ExternalIds, Images, Keywords, MovieLists, PeopleImages, PersonTranslations, PersonChanges, PersonCombinedCredits, PersonMovieCredit, PersonTvShowCredit, Recommendations, ReleaseDates, Reviews, ScreenedTheatrically, SimilarMovies, SimilarTvShows, TaggedImages, Translations, Videos, WatchProviders } from '.';
1
2
  export interface LanguageOption {
2
3
  language?: string;
3
4
  }
@@ -7,3 +8,56 @@ export interface RegionOption {
7
8
  export interface PageOption {
8
9
  page?: number;
9
10
  }
11
+ export type AppendToResponseMovieKey = 'images' | 'videos' | 'credits' | 'recommendations' | 'reviews' | 'changes' | 'similar' | 'lists' | 'release_dates' | 'alternative_titles' | 'external_ids' | 'translations' | 'watch/providers' | 'keywords';
12
+ export type AppendToResponseTvKey = 'content_ratings' | 'images' | 'videos' | 'credits' | 'recommendations' | 'reviews' | 'changes' | 'similar' | 'alternative_titles' | 'external_ids' | 'translations' | 'watch/providers' | 'aggregate_credits' | 'episode_groups' | 'screened_theatrically' | 'keywords';
13
+ export type AppendToResponsePersonKey = 'images' | 'changes' | 'movie_credits' | 'tv_credits' | 'combined_credits' | 'external_ids' | 'tagged_images' | 'translations';
14
+ type AppendToResponseAllKeys = AppendToResponseTvKey | AppendToResponseMovieKey | AppendToResponsePersonKey;
15
+ export type AppendToResponseMediaType = 'movie' | 'tvShow' | 'person';
16
+ export type AppendToResponse<K, T extends AppendToResponseAllKeys[] | undefined, Media extends AppendToResponseMediaType> = K & (T extends undefined ? object : T extends Array<unknown> ? ('credits' extends T[number] ? {
17
+ credits: Omit<Credits, 'id'>;
18
+ } : object) & ('videos' extends T[number] ? {
19
+ videos: Omit<Videos, 'id'>;
20
+ } : object) & ('images' extends T[number] ? {
21
+ images: Omit<Media extends 'person' ? PeopleImages : Images, 'id'>;
22
+ } : object) & ('recommendations' extends T[number] ? {
23
+ recommendations: Recommendations;
24
+ } : object) & ('reviews' extends T[number] ? {
25
+ reviews: Omit<Reviews, 'id'>;
26
+ } : object) & ('reviews' extends T[number] ? {
27
+ reviews: Omit<Translations, 'id'>;
28
+ } : object) & ('changes' extends T[number] ? {
29
+ changes: Omit<Media extends 'person' ? PersonChanges : Changes, 'id'>;
30
+ } : object) & ('keywords' extends T[number] ? {
31
+ keywords: Omit<Keywords, 'id'>;
32
+ } : object) & ('lists' extends T[number] ? {
33
+ lists: Omit<MovieLists, 'id'>;
34
+ } : object) & ('release_dates' extends T[number] ? {
35
+ release_dates: Omit<ReleaseDates, 'id'>;
36
+ } : object) & ('alternative_titles' extends T[number] ? {
37
+ alternative_titles: Omit<AlternativeTitles, 'id'>;
38
+ } : object) & ('external_ids' extends T[number] ? {
39
+ external_ids: Omit<ExternalIds, 'id'>;
40
+ } : object) & ('translations' extends T[number] ? {
41
+ translations: Omit<Media extends 'person' ? PersonTranslations : Translations, 'id'>;
42
+ } : object) & ('watch/providers' extends T[number] ? {
43
+ 'watch/providers': Omit<WatchProviders, 'id'>;
44
+ } : object) & ('aggregate_credits' extends T[number] ? {
45
+ aggregate_credits: Omit<Credits, 'id'>;
46
+ } : object) & ('episode_groups' extends T[number] ? {
47
+ episode_groups: Omit<EpisodeGroups, 'id'>;
48
+ } : object) & ('screened_theatrically' extends T[number] ? {
49
+ screened_theatrically: Omit<ScreenedTheatrically, 'id'>;
50
+ } : object) & ('similar' extends T[number] ? {
51
+ similar: Media extends 'movie' ? SimilarMovies : Media extends 'tvShow' ? SimilarTvShows : unknown;
52
+ } : object) & ('content_ratings' extends T[number] ? {
53
+ content_ratings: Omit<ContentRatings, 'id'>;
54
+ } : object) & ('movie_credits' extends T[number] ? {
55
+ movie_credits: Omit<PersonMovieCredit, 'id'>;
56
+ } : object) & ('tv_credits' extends T[number] ? {
57
+ tv_credits: Omit<PersonTvShowCredit, 'id'>;
58
+ } : object) & ('combined_credits' extends T[number] ? {
59
+ combined_credits: Omit<PersonCombinedCredits, 'id'>;
60
+ } : object) & ('tagged_images' extends T[number] ? {
61
+ tagged_images: TaggedImages;
62
+ } : object) : never);
63
+ export {};
@@ -1,4 +1,4 @@
1
- import { Movie, Person, TV } from '.';
1
+ import { Image, Movie, Person, TV } from '.';
2
2
  interface Cast {
3
3
  character: string;
4
4
  credit_id: string;
@@ -69,7 +69,7 @@ export interface PersonCombinedCredits {
69
69
  crew: (PersonMovieCrew & PersonTvShowCrew)[];
70
70
  id: number;
71
71
  }
72
- export interface PersonDetail {
72
+ export interface PersonDetails {
73
73
  birthday: string;
74
74
  known_for_department: string;
75
75
  deathday: string;
@@ -114,6 +114,10 @@ export interface PopularPersons {
114
114
  total_results: number;
115
115
  total_pages: number;
116
116
  }
117
+ export interface PeopleImages {
118
+ id: number;
119
+ profiles: Image[];
120
+ }
117
121
  export interface TaggedImage {
118
122
  aspect_ratio: number;
119
123
  file_path: string;
@@ -133,7 +137,7 @@ export interface TaggedImages {
133
137
  total_results: number;
134
138
  total_pages: number;
135
139
  }
136
- export interface PeopleTranslations {
140
+ export interface PersonTranslations {
137
141
  id: number;
138
142
  translations: {
139
143
  iso_3166_1: string;
@@ -1,6 +1,8 @@
1
+ import { MovieWithMediaType, PersonWithMediaType, TVWithMediaType } from '.';
1
2
  export interface Search<T> {
2
3
  page: number;
3
4
  results: T[];
4
5
  total_pages: number;
5
6
  total_results: number;
6
7
  }
8
+ export type MultiSearchResult = MovieWithMediaType | TVWithMediaType | PersonWithMediaType;
@@ -1,12 +1,10 @@
1
- import { Movie, Person, TV } from '.';
2
- export type MediaType = 'all' | 'movie' | 'tv' | 'person';
1
+ import { Movie, Person, TV, MediaType, MovieWithMediaType, TVWithMediaType, PersonWithMediaType } from '.';
3
2
  export type TimeWindow = 'day' | 'week';
4
- type TrendingResult<T extends MediaType> = T extends 'tv' ? TV : T extends 'movie' ? Movie : T extends 'person' ? Person : TV | Movie | Person;
5
- export interface TrendingResults<T extends MediaType> {
3
+ export type TrendingMediaType = MediaType | 'all';
4
+ type TrendingResult<T extends TrendingMediaType> = T extends 'tv' ? TV : T extends 'movie' ? Movie : T extends 'person' ? Person : TVWithMediaType | MovieWithMediaType | PersonWithMediaType;
5
+ export interface TrendingResults<T extends TrendingMediaType> {
6
6
  page: number;
7
- results: (TrendingResult<T> & {
8
- media_type: MediaType;
9
- })[];
7
+ results: TrendingResult<T>[];
10
8
  total_pages: number;
11
9
  total_results: number;
12
10
  }
@@ -118,21 +118,6 @@ export interface SeasonDetails {
118
118
  poster_path: string | null;
119
119
  season_number: number;
120
120
  }
121
- export interface TvShowItem {
122
- id: string;
123
- action: string;
124
- time: string;
125
- value: Array<number>;
126
- iso_639_1: string;
127
- original_value: Array<number>;
128
- }
129
- export interface TvShowChange {
130
- key: string;
131
- items: TvShowItem[];
132
- }
133
- export interface TvShowChanges {
134
- changes: TvShowChange[];
135
- }
136
121
  export interface Network {
137
122
  id: number;
138
123
  logo_path: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tmdb-ts",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "TMDB v3 library wrapper",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",