@lorenzopant/tmdb 1.10.0 → 1.12.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/dist/endpoints/networks.d.ts +36 -0
- package/dist/endpoints/networks.d.ts.map +1 -0
- package/dist/endpoints/networks.js +46 -0
- package/dist/endpoints/tv_episodes.d.ts +118 -0
- package/dist/endpoints/tv_episodes.d.ts.map +1 -0
- package/dist/endpoints/tv_episodes.js +136 -0
- package/dist/routes.d.ts +17 -0
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +17 -0
- package/dist/tmdb.d.ts +4 -0
- package/dist/tmdb.d.ts.map +1 -1
- package/dist/tmdb.js +6 -0
- package/dist/types/common/changes.d.ts +5 -5
- package/dist/types/common/changes.d.ts.map +1 -1
- package/dist/types/common/images.d.ts +65 -0
- package/dist/types/common/images.d.ts.map +1 -0
- package/dist/types/common/index.d.ts +1 -0
- package/dist/types/common/index.d.ts.map +1 -1
- package/dist/types/common/index.js +1 -0
- package/dist/types/common/media.d.ts +38 -24
- package/dist/types/common/media.d.ts.map +1 -1
- package/dist/types/common/media.js +0 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/movies/images.d.ts +2 -11
- package/dist/types/movies/images.d.ts.map +1 -1
- package/dist/types/movies/translations.d.ts +2 -10
- package/dist/types/movies/translations.d.ts.map +1 -1
- package/dist/types/movies/videos.d.ts +2 -7
- package/dist/types/movies/videos.d.ts.map +1 -1
- package/dist/types/other/collections.d.ts +4 -23
- package/dist/types/other/collections.d.ts.map +1 -1
- package/dist/types/other/companies.d.ts +5 -33
- package/dist/types/other/companies.d.ts.map +1 -1
- package/dist/types/other/index.d.ts +1 -0
- package/dist/types/other/index.d.ts.map +1 -1
- package/dist/types/other/index.js +1 -0
- package/dist/types/other/networks.d.ts +46 -0
- package/dist/types/other/networks.d.ts.map +1 -0
- package/dist/types/other/networks.js +1 -0
- package/dist/types/tv/episode_groups.d.ts +1 -1
- package/dist/types/tv/episode_groups.d.ts.map +1 -1
- package/dist/types/tv/external_ids.d.ts +9 -9
- package/dist/types/tv/external_ids.d.ts.map +1 -1
- package/dist/types/tv/images.d.ts +2 -11
- package/dist/types/tv/images.d.ts.map +1 -1
- package/dist/types/tv/translations.d.ts +2 -15
- package/dist/types/tv/translations.d.ts.map +1 -1
- package/dist/types/tv/tv_series.d.ts +1 -1
- package/dist/types/tv/tv_series.d.ts.map +1 -1
- package/dist/types/tv-episodes/credits.d.ts +8 -0
- package/dist/types/tv-episodes/credits.d.ts.map +1 -0
- package/dist/types/tv-episodes/credits.js +1 -0
- package/dist/types/tv-episodes/external_ids.d.ts +3 -0
- package/dist/types/tv-episodes/external_ids.d.ts.map +1 -0
- package/dist/types/tv-episodes/external_ids.js +1 -0
- package/dist/types/tv-episodes/images.d.ts +3 -0
- package/dist/types/tv-episodes/images.d.ts.map +1 -0
- package/dist/types/tv-episodes/images.js +1 -0
- package/dist/types/tv-episodes/index.d.ts +4 -0
- package/dist/types/tv-episodes/index.d.ts.map +1 -0
- package/dist/types/tv-episodes/index.js +3 -0
- package/dist/types/tv-episodes/params.d.ts +30 -0
- package/dist/types/tv-episodes/params.d.ts.map +1 -0
- package/dist/types/tv-episodes/params.js +1 -0
- package/dist/types/tv-episodes/translations.d.ts +7 -0
- package/dist/types/tv-episodes/translations.d.ts.map +1 -0
- package/dist/types/tv-episodes/translations.js +1 -0
- package/dist/types/tv-episodes/tv_episodes.d.ts +61 -0
- package/dist/types/tv-episodes/tv_episodes.d.ts.map +1 -0
- package/dist/types/tv-episodes/tv_episodes.js +1 -0
- package/dist/types/tv-episodes/videos.d.ts +3 -0
- package/dist/types/tv-episodes/videos.d.ts.map +1 -0
- package/dist/types/tv-episodes/videos.js +1 -0
- package/dist/types/tv-seasons/params.d.ts +15 -0
- package/dist/types/tv-seasons/params.d.ts.map +1 -0
- package/dist/types/tv-seasons/params.js +1 -0
- package/dist/types/tv-seasons/tv-season.d.ts +1 -0
- package/dist/types/tv-seasons/tv-season.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/types/networks/alternative_names.d.ts +0 -1
- package/dist/types/networks/alternative_names.d.ts.map +0 -1
- package/dist/types/networks/images.d.ts +0 -1
- package/dist/types/networks/images.d.ts.map +0 -1
- package/dist/types/networks/images.js +0 -1
- package/dist/types/networks/index.d.ts +0 -2
- package/dist/types/networks/index.d.ts.map +0 -1
- package/dist/types/networks/index.js +0 -1
- package/dist/types/networks/network.d.ts +0 -8
- package/dist/types/networks/network.d.ts.map +0 -1
- /package/dist/types/{networks/network.js → common/images.js} +0 -0
- /package/dist/types/{networks/alternative_names.js → tv-seasons/tv-season.js} +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { AlternativeNamesResult, Network, NetworkBaseParams, NetworkImages } from "../types";
|
|
2
|
+
import { TMDBAPIBase } from "./base";
|
|
3
|
+
export declare class NetworksAPI extends TMDBAPIBase {
|
|
4
|
+
private networkPath;
|
|
5
|
+
/**
|
|
6
|
+
* Details
|
|
7
|
+
* GET - https://api.themoviedb.org/3/network/{network_id}
|
|
8
|
+
*
|
|
9
|
+
* Get the network details by ID.
|
|
10
|
+
*
|
|
11
|
+
* @param network_id Unique identifier for the network
|
|
12
|
+
* @reference https://developer.themoviedb.org/reference/network-details
|
|
13
|
+
*/
|
|
14
|
+
details(params: NetworkBaseParams): Promise<Network>;
|
|
15
|
+
/**
|
|
16
|
+
* Alternative names
|
|
17
|
+
* GET - https://api.themoviedb.org/3/network/{network_id}/alternative_names
|
|
18
|
+
*
|
|
19
|
+
* Get the list of alternative names for a network.
|
|
20
|
+
*
|
|
21
|
+
* @param network_id Unique identifier for the network
|
|
22
|
+
* @reference https://developer.themoviedb.org/reference/network-alternative-names
|
|
23
|
+
*/
|
|
24
|
+
alternative_names(params: NetworkBaseParams): Promise<AlternativeNamesResult>;
|
|
25
|
+
/**
|
|
26
|
+
* Images
|
|
27
|
+
* GET - https://api.themoviedb.org/3/network/{network_id}/images
|
|
28
|
+
*
|
|
29
|
+
* Get the logos for a network by ID.
|
|
30
|
+
*
|
|
31
|
+
* @param network_id Unique identifier for the network
|
|
32
|
+
* @reference https://developer.themoviedb.org/reference/network-images
|
|
33
|
+
*/
|
|
34
|
+
images(params: NetworkBaseParams): Promise<NetworkImages>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=networks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../src/endpoints/networks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,WAAY,SAAQ,WAAW;IAC3C,OAAO,CAAC,WAAW;IAInB;;;;;;;;OAQG;IACG,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1D;;;;;;;;OAQG;IACG,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAKnF;;;;;;;;OAQG;IACG,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;CAI/D"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ENDPOINTS } from "../routes";
|
|
2
|
+
import { TMDBAPIBase } from "./base";
|
|
3
|
+
export class NetworksAPI extends TMDBAPIBase {
|
|
4
|
+
networkPath(network_id) {
|
|
5
|
+
return `${ENDPOINTS.NETWORKS.DETAILS}/${network_id}`;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Details
|
|
9
|
+
* GET - https://api.themoviedb.org/3/network/{network_id}
|
|
10
|
+
*
|
|
11
|
+
* Get the network details by ID.
|
|
12
|
+
*
|
|
13
|
+
* @param network_id Unique identifier for the network
|
|
14
|
+
* @reference https://developer.themoviedb.org/reference/network-details
|
|
15
|
+
*/
|
|
16
|
+
async details(params) {
|
|
17
|
+
const endpoint = this.networkPath(params.network_id);
|
|
18
|
+
return this.client.request(endpoint, params);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Alternative names
|
|
22
|
+
* GET - https://api.themoviedb.org/3/network/{network_id}/alternative_names
|
|
23
|
+
*
|
|
24
|
+
* Get the list of alternative names for a network.
|
|
25
|
+
*
|
|
26
|
+
* @param network_id Unique identifier for the network
|
|
27
|
+
* @reference https://developer.themoviedb.org/reference/network-alternative-names
|
|
28
|
+
*/
|
|
29
|
+
async alternative_names(params) {
|
|
30
|
+
const endpoint = `${this.networkPath(params.network_id)}${ENDPOINTS.NETWORKS.ALTERNATIVE_NAMES}`;
|
|
31
|
+
return this.client.request(endpoint, params);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Images
|
|
35
|
+
* GET - https://api.themoviedb.org/3/network/{network_id}/images
|
|
36
|
+
*
|
|
37
|
+
* Get the logos for a network by ID.
|
|
38
|
+
*
|
|
39
|
+
* @param network_id Unique identifier for the network
|
|
40
|
+
* @reference https://developer.themoviedb.org/reference/network-images
|
|
41
|
+
*/
|
|
42
|
+
async images(params) {
|
|
43
|
+
const endpoint = `${this.networkPath(params.network_id)}${ENDPOINTS.NETWORKS.IMAGES}`;
|
|
44
|
+
return this.client.request(endpoint);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { Changes } from "../types";
|
|
2
|
+
import { TVEpisodeCredits } from "../types/tv-episodes";
|
|
3
|
+
import { TVEpisodeExternalIDs } from "../types/tv-episodes/external_ids";
|
|
4
|
+
import { TVEpisodeImages } from "../types/tv-episodes/images";
|
|
5
|
+
import { TVEpisodeBaseParams, TVEpisodeCreditsParams, TVEpisodeDetailsParams, TVEpisodeId, TVEpisodeImagesParams } from "../types/tv-episodes/params";
|
|
6
|
+
import { TVEpisodeTranslations } from "../types/tv-episodes/translations";
|
|
7
|
+
import { TVEpisode, TVEpisodeAppendToResponseNamespace, TVEpisodeDetailsWithAppends } from "../types/tv-episodes/tv_episodes";
|
|
8
|
+
import { TVEpisodeVideos } from "../types/tv-episodes/videos";
|
|
9
|
+
import { TMDBAPIBase } from "./base";
|
|
10
|
+
export declare class TVEpisodesAPI extends TMDBAPIBase {
|
|
11
|
+
private episodePath;
|
|
12
|
+
private episodeSubPath;
|
|
13
|
+
/**
|
|
14
|
+
* Details
|
|
15
|
+
* GET - https://api.themoviedb.org/3/tv/{series_id}/season/{season_number}/episode/{episode_number}
|
|
16
|
+
*
|
|
17
|
+
* Query the details of a TV episode.
|
|
18
|
+
* @param series_id The ID of the TV series.
|
|
19
|
+
* @param season_number The number of the season within the TV show
|
|
20
|
+
* @param episode_number The number of the episode within the season
|
|
21
|
+
* @param append_to_response A comma-separated list of the fields to include in the response.
|
|
22
|
+
* @param language The language to use for the response.
|
|
23
|
+
* @returns A promise that resolves to the TV episode .
|
|
24
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-details
|
|
25
|
+
*/
|
|
26
|
+
details<T extends readonly TVEpisodeAppendToResponseNamespace[] = []>(params: TVEpisodeDetailsParams & {
|
|
27
|
+
append_to_response?: T[number] | T;
|
|
28
|
+
}): Promise<T extends [] ? TVEpisode : TVEpisodeDetailsWithAppends<T>>;
|
|
29
|
+
/**
|
|
30
|
+
* Changes
|
|
31
|
+
* GET - https://api.themoviedb.org/3/tv/episode/{episode_id}/changes
|
|
32
|
+
*
|
|
33
|
+
* Get the changes for a TV episode. By default only the last 24 hours are returned.
|
|
34
|
+
* ACCORDING TO TMDB DOCS:
|
|
35
|
+
* You can query up to 14 days in a single query by using the start_date and end_date query parameters.
|
|
36
|
+
* BUT NO start_date or end_date query params are specified in the documentation
|
|
37
|
+
*
|
|
38
|
+
* NOTE: TV show changes are a little different than movie changes in that there are some edits
|
|
39
|
+
* on seasons and episodes that will create a top level change entry at the show level.
|
|
40
|
+
* These can be found under the season and episode keys.
|
|
41
|
+
* These keys will contain a series_id and episode_id.
|
|
42
|
+
* You can use the season changes and episode changes methods to look these up individually.
|
|
43
|
+
*
|
|
44
|
+
* @param episode_id The ID of the TV episode.
|
|
45
|
+
* @returns A promise that resolves to the TV episode changes history.
|
|
46
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-changes-by-id
|
|
47
|
+
*/
|
|
48
|
+
changes(params: TVEpisodeId): Promise<Changes>;
|
|
49
|
+
/**
|
|
50
|
+
* Credits
|
|
51
|
+
* GET - https://api.themoviedb.org/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/credits
|
|
52
|
+
*
|
|
53
|
+
* Get the credits for a TV episode.
|
|
54
|
+
* @param series_id The ID of the TV series.
|
|
55
|
+
* @param season_number The number of the season within the TV show
|
|
56
|
+
* @param episode_number The number of the episode within the season
|
|
57
|
+
* @param language The language to use for the response.
|
|
58
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-credits
|
|
59
|
+
*/
|
|
60
|
+
credits(params: TVEpisodeCreditsParams): Promise<TVEpisodeCredits>;
|
|
61
|
+
/**
|
|
62
|
+
* External IDs
|
|
63
|
+
* GET - https://api.themoviedb.org/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/external_ids
|
|
64
|
+
*
|
|
65
|
+
* Get a list of external IDs that have been added to a TV episode.
|
|
66
|
+
* @param series_id The ID of the TV series.
|
|
67
|
+
* @param season_number The number of the season within the TV show
|
|
68
|
+
* @param episode_number The number of the episode within the season
|
|
69
|
+
* @returns A promise that resolves to the TV episode external ids.
|
|
70
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-external-ids
|
|
71
|
+
*/
|
|
72
|
+
external_ids(params: TVEpisodeBaseParams): Promise<TVEpisodeExternalIDs>;
|
|
73
|
+
/**
|
|
74
|
+
* Images
|
|
75
|
+
* GET - https://api.themoviedb.org/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/images
|
|
76
|
+
*
|
|
77
|
+
* Fetches still images related to a specific tv episode
|
|
78
|
+
* The images are returned in various sizes and formats.
|
|
79
|
+
*
|
|
80
|
+
* NOTE: If you have a language specified, it will act as a filter on the returned items. You can use the include_image_language param to query additional languages.
|
|
81
|
+
*
|
|
82
|
+
* @param series_id The ID of the TV series.
|
|
83
|
+
* @param season_number The number of the season within the TV show
|
|
84
|
+
* @param episode_number The number of the episode within the season
|
|
85
|
+
* @param language - (Optional) The language code to filter the images by language.
|
|
86
|
+
* @param include_image_language - (Optional) A comma-separated list of language codes to include images for.
|
|
87
|
+
* @returns A promise that resolves to a `TVEpisodeImages` object containing the tv episode's images.
|
|
88
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-images
|
|
89
|
+
*/
|
|
90
|
+
images(params: TVEpisodeImagesParams): Promise<TVEpisodeImages>;
|
|
91
|
+
/**
|
|
92
|
+
* Translations
|
|
93
|
+
* GET - https://api.themoviedb.org/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/translations
|
|
94
|
+
*
|
|
95
|
+
* Get the translations that have been added to a TV episode.
|
|
96
|
+
* Take a read through our language documentation for more information about languages on TMDB.
|
|
97
|
+
* https://developer.themoviedb.org/docs/languages
|
|
98
|
+
* @param series_id The ID of the TV series.
|
|
99
|
+
* @param season_number The number of the season within the TV show
|
|
100
|
+
* @param episode_number The number of the episode within the season
|
|
101
|
+
* @returns A promise that resolves to the translations of the tv episode.
|
|
102
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-translations
|
|
103
|
+
*/
|
|
104
|
+
translations(params: TVEpisodeBaseParams): Promise<TVEpisodeTranslations>;
|
|
105
|
+
/**
|
|
106
|
+
* Videos
|
|
107
|
+
* GET - https://api.themoviedb.org/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/videos
|
|
108
|
+
*
|
|
109
|
+
* Get the videos that belong to a TV episode.
|
|
110
|
+
* @param series_id The ID of the TV series.
|
|
111
|
+
* @param season_number The number of the season within the TV show
|
|
112
|
+
* @param episode_number The number of the episode within the season
|
|
113
|
+
* @returns A promise that resolves to the videos for the tv episode.
|
|
114
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-videos
|
|
115
|
+
*/
|
|
116
|
+
videos(params: TVEpisodeBaseParams): Promise<TVEpisodeVideos>;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=tv_episodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tv_episodes.d.ts","sourceRoot":"","sources":["../../src/endpoints/tv_episodes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACN,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,kCAAkC,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC9H,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,aAAc,SAAQ,WAAW;IAC7C,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,cAAc;IAItB;;;;;;;;;;;;OAYG;IACG,OAAO,CAAC,CAAC,SAAS,SAAS,kCAAkC,EAAE,GAAG,EAAE,EACzE,MAAM,EAAE,sBAAsB,GAAG;QAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;KAAE,GACrE,OAAO,CAAC,CAAC,SAAS,EAAE,GAAG,SAAS,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC;IAMrE;;;;;;;;;;;;;;;;;;OAkBG;IACG,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpD;;;;;;;;;;OAUG;IACG,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAMxE;;;;;;;;;;OAUG;IACG,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAK9E;;;;;;;;;;;;;;;;OAgBG;IACG,MAAM,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAMrE;;;;;;;;;;;;OAYG;IACG,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAK/E;;;;;;;;;;OAUG;IACG,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;CAInE"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { ENDPOINTS } from "../routes";
|
|
2
|
+
import { TMDBAPIBase } from "./base";
|
|
3
|
+
export class TVEpisodesAPI extends TMDBAPIBase {
|
|
4
|
+
episodePath(params) {
|
|
5
|
+
return `${ENDPOINTS.TV_SERIES.DETAILS}/${params.series_id}${ENDPOINTS.TV_SEASONS.DETAILS}/${params.season_number}${ENDPOINTS.TV_EPISODES.DETAILS}/${params.episode_number}`;
|
|
6
|
+
}
|
|
7
|
+
episodeSubPath(params, route) {
|
|
8
|
+
return `${this.episodePath(params)}${route}`;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Details
|
|
12
|
+
* GET - https://api.themoviedb.org/3/tv/{series_id}/season/{season_number}/episode/{episode_number}
|
|
13
|
+
*
|
|
14
|
+
* Query the details of a TV episode.
|
|
15
|
+
* @param series_id The ID of the TV series.
|
|
16
|
+
* @param season_number The number of the season within the TV show
|
|
17
|
+
* @param episode_number The number of the episode within the season
|
|
18
|
+
* @param append_to_response A comma-separated list of the fields to include in the response.
|
|
19
|
+
* @param language The language to use for the response.
|
|
20
|
+
* @returns A promise that resolves to the TV episode .
|
|
21
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-details
|
|
22
|
+
*/
|
|
23
|
+
async details(params) {
|
|
24
|
+
const { language = this.defaultOptions.language, append_to_response, ...rest } = params;
|
|
25
|
+
const endpoint = this.episodePath(rest);
|
|
26
|
+
return this.client.request(endpoint, { language, append_to_response });
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Changes
|
|
30
|
+
* GET - https://api.themoviedb.org/3/tv/episode/{episode_id}/changes
|
|
31
|
+
*
|
|
32
|
+
* Get the changes for a TV episode. By default only the last 24 hours are returned.
|
|
33
|
+
* ACCORDING TO TMDB DOCS:
|
|
34
|
+
* You can query up to 14 days in a single query by using the start_date and end_date query parameters.
|
|
35
|
+
* BUT NO start_date or end_date query params are specified in the documentation
|
|
36
|
+
*
|
|
37
|
+
* NOTE: TV show changes are a little different than movie changes in that there are some edits
|
|
38
|
+
* on seasons and episodes that will create a top level change entry at the show level.
|
|
39
|
+
* These can be found under the season and episode keys.
|
|
40
|
+
* These keys will contain a series_id and episode_id.
|
|
41
|
+
* You can use the season changes and episode changes methods to look these up individually.
|
|
42
|
+
*
|
|
43
|
+
* @param episode_id The ID of the TV episode.
|
|
44
|
+
* @returns A promise that resolves to the TV episode changes history.
|
|
45
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-changes-by-id
|
|
46
|
+
*/
|
|
47
|
+
async changes(params) {
|
|
48
|
+
const endpoint = `${ENDPOINTS.TV_SERIES.DETAILS}/${ENDPOINTS.TV_EPISODES.DETAILS}/${params.episode_id}/${ENDPOINTS.TV_EPISODES.CHANGES}`;
|
|
49
|
+
return this.client.request(endpoint, { ...params });
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Credits
|
|
53
|
+
* GET - https://api.themoviedb.org/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/credits
|
|
54
|
+
*
|
|
55
|
+
* Get the credits for a TV episode.
|
|
56
|
+
* @param series_id The ID of the TV series.
|
|
57
|
+
* @param season_number The number of the season within the TV show
|
|
58
|
+
* @param episode_number The number of the episode within the season
|
|
59
|
+
* @param language The language to use for the response.
|
|
60
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-credits
|
|
61
|
+
*/
|
|
62
|
+
async credits(params) {
|
|
63
|
+
const { language = this.defaultOptions.language, ...rest } = params;
|
|
64
|
+
const endpoint = this.episodeSubPath(rest, ENDPOINTS.TV_EPISODES.CREDITS);
|
|
65
|
+
return this.client.request(endpoint, { language });
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* External IDs
|
|
69
|
+
* GET - https://api.themoviedb.org/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/external_ids
|
|
70
|
+
*
|
|
71
|
+
* Get a list of external IDs that have been added to a TV episode.
|
|
72
|
+
* @param series_id The ID of the TV series.
|
|
73
|
+
* @param season_number The number of the season within the TV show
|
|
74
|
+
* @param episode_number The number of the episode within the season
|
|
75
|
+
* @returns A promise that resolves to the TV episode external ids.
|
|
76
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-external-ids
|
|
77
|
+
*/
|
|
78
|
+
async external_ids(params) {
|
|
79
|
+
const endpoint = this.episodeSubPath(params, ENDPOINTS.TV_EPISODES.EXTERNAL_IDS);
|
|
80
|
+
return this.client.request(endpoint);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Images
|
|
84
|
+
* GET - https://api.themoviedb.org/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/images
|
|
85
|
+
*
|
|
86
|
+
* Fetches still images related to a specific tv episode
|
|
87
|
+
* The images are returned in various sizes and formats.
|
|
88
|
+
*
|
|
89
|
+
* NOTE: If you have a language specified, it will act as a filter on the returned items. You can use the include_image_language param to query additional languages.
|
|
90
|
+
*
|
|
91
|
+
* @param series_id The ID of the TV series.
|
|
92
|
+
* @param season_number The number of the season within the TV show
|
|
93
|
+
* @param episode_number The number of the episode within the season
|
|
94
|
+
* @param language - (Optional) The language code to filter the images by language.
|
|
95
|
+
* @param include_image_language - (Optional) A comma-separated list of language codes to include images for.
|
|
96
|
+
* @returns A promise that resolves to a `TVEpisodeImages` object containing the tv episode's images.
|
|
97
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-images
|
|
98
|
+
*/
|
|
99
|
+
async images(params) {
|
|
100
|
+
const { language = this.defaultOptions.language, include_image_language, ...rest } = params;
|
|
101
|
+
const endpoint = this.episodeSubPath(rest, ENDPOINTS.TV_EPISODES.IMAGES);
|
|
102
|
+
return this.client.request(endpoint, { language, include_image_language });
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Translations
|
|
106
|
+
* GET - https://api.themoviedb.org/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/translations
|
|
107
|
+
*
|
|
108
|
+
* Get the translations that have been added to a TV episode.
|
|
109
|
+
* Take a read through our language documentation for more information about languages on TMDB.
|
|
110
|
+
* https://developer.themoviedb.org/docs/languages
|
|
111
|
+
* @param series_id The ID of the TV series.
|
|
112
|
+
* @param season_number The number of the season within the TV show
|
|
113
|
+
* @param episode_number The number of the episode within the season
|
|
114
|
+
* @returns A promise that resolves to the translations of the tv episode.
|
|
115
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-translations
|
|
116
|
+
*/
|
|
117
|
+
async translations(params) {
|
|
118
|
+
const endpoint = this.episodeSubPath(params, ENDPOINTS.TV_EPISODES.TRANSLATIONS);
|
|
119
|
+
return this.client.request(endpoint);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Videos
|
|
123
|
+
* GET - https://api.themoviedb.org/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/videos
|
|
124
|
+
*
|
|
125
|
+
* Get the videos that belong to a TV episode.
|
|
126
|
+
* @param series_id The ID of the TV series.
|
|
127
|
+
* @param season_number The number of the season within the TV show
|
|
128
|
+
* @param episode_number The number of the episode within the season
|
|
129
|
+
* @returns A promise that resolves to the videos for the tv episode.
|
|
130
|
+
* @reference https://developer.themoviedb.org/reference/tv-episode-videos
|
|
131
|
+
*/
|
|
132
|
+
async videos(params) {
|
|
133
|
+
const endpoint = this.episodeSubPath(params, ENDPOINTS.TV_EPISODES.VIDEOS);
|
|
134
|
+
return this.client.request(endpoint);
|
|
135
|
+
}
|
|
136
|
+
}
|
package/dist/routes.d.ts
CHANGED
|
@@ -63,6 +63,11 @@ export declare const ENDPOINTS: {
|
|
|
63
63
|
VIDEOS: string;
|
|
64
64
|
WATCH_PROVIDERS: string;
|
|
65
65
|
};
|
|
66
|
+
NETWORKS: {
|
|
67
|
+
DETAILS: string;
|
|
68
|
+
ALTERNATIVE_NAMES: string;
|
|
69
|
+
IMAGES: string;
|
|
70
|
+
};
|
|
66
71
|
SEARCH: {
|
|
67
72
|
MOVIE: string;
|
|
68
73
|
COLLECTION: string;
|
|
@@ -97,6 +102,18 @@ export declare const ENDPOINTS: {
|
|
|
97
102
|
VIDEOS: string;
|
|
98
103
|
WATCH_PROVIDERS: string;
|
|
99
104
|
};
|
|
105
|
+
TV_SEASONS: {
|
|
106
|
+
DETAILS: string;
|
|
107
|
+
};
|
|
108
|
+
TV_EPISODES: {
|
|
109
|
+
DETAILS: string;
|
|
110
|
+
CHANGES: string;
|
|
111
|
+
CREDITS: string;
|
|
112
|
+
EXTERNAL_IDS: string;
|
|
113
|
+
IMAGES: string;
|
|
114
|
+
TRANSLATIONS: string;
|
|
115
|
+
VIDEOS: string;
|
|
116
|
+
};
|
|
100
117
|
WATCH_PROVIDERS: {
|
|
101
118
|
MOVIE: string;
|
|
102
119
|
TV: string;
|
package/dist/routes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyHrB,CAAC"}
|
package/dist/routes.js
CHANGED
|
@@ -63,6 +63,11 @@ export const ENDPOINTS = {
|
|
|
63
63
|
VIDEOS: "/videos",
|
|
64
64
|
WATCH_PROVIDERS: "/watch/providers",
|
|
65
65
|
},
|
|
66
|
+
NETWORKS: {
|
|
67
|
+
DETAILS: "/network",
|
|
68
|
+
ALTERNATIVE_NAMES: "/alternative_names",
|
|
69
|
+
IMAGES: "/images",
|
|
70
|
+
},
|
|
66
71
|
SEARCH: {
|
|
67
72
|
MOVIE: "/search/movie",
|
|
68
73
|
COLLECTION: "/search/collection",
|
|
@@ -97,6 +102,18 @@ export const ENDPOINTS = {
|
|
|
97
102
|
VIDEOS: "/videos",
|
|
98
103
|
WATCH_PROVIDERS: "/watch/providers",
|
|
99
104
|
},
|
|
105
|
+
TV_SEASONS: {
|
|
106
|
+
DETAILS: "/season",
|
|
107
|
+
},
|
|
108
|
+
TV_EPISODES: {
|
|
109
|
+
DETAILS: "/episode",
|
|
110
|
+
CHANGES: "/changes",
|
|
111
|
+
CREDITS: "/credits",
|
|
112
|
+
EXTERNAL_IDS: "/external_ids",
|
|
113
|
+
IMAGES: "/images",
|
|
114
|
+
TRANSLATIONS: "/translations",
|
|
115
|
+
VIDEOS: "/videos",
|
|
116
|
+
},
|
|
100
117
|
WATCH_PROVIDERS: {
|
|
101
118
|
MOVIE: "/watch/providers/movie",
|
|
102
119
|
TV: "/watch/providers/tv",
|
package/dist/tmdb.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ import { TVSeriesListsAPI } from "./endpoints/tv_series_lists";
|
|
|
16
16
|
import { WatchProvidersAPI } from "./endpoints/watch_providers";
|
|
17
17
|
import { ImageAPI } from "./images/images";
|
|
18
18
|
import { TMDBOptions } from "./types/config";
|
|
19
|
+
import { NetworksAPI } from "./endpoints/networks";
|
|
20
|
+
import { TVEpisodesAPI } from "./endpoints/tv_episodes";
|
|
19
21
|
export declare class TMDB {
|
|
20
22
|
private client;
|
|
21
23
|
private options;
|
|
@@ -36,6 +38,8 @@ export declare class TMDB {
|
|
|
36
38
|
collections: CollectionsAPI;
|
|
37
39
|
discover: DiscoverAPI;
|
|
38
40
|
find: FindAPI;
|
|
41
|
+
networks: NetworksAPI;
|
|
42
|
+
tv_episodes: TVEpisodesAPI;
|
|
39
43
|
/**
|
|
40
44
|
* Creates a new TMDB instance.
|
|
41
45
|
* @param accessToken The TMDB API access token.
|
package/dist/tmdb.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmdb.d.ts","sourceRoot":"","sources":["../src/tmdb.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"tmdb.d.ts","sourceRoot":"","sources":["../src/tmdb.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,qBAAa,IAAI;IAChB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAc;IACtB,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,aAAa,CAAC;IAC3B,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,QAAQ,CAAC;IACjB,aAAa,EAAE,gBAAgB,CAAC;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,EAAE,WAAW,CAAC;IACvB,eAAe,EAAE,iBAAiB,CAAC;IACnC,cAAc,EAAE,iBAAiB,CAAC;IAClC,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,UAAU,CAAC;IACpB,WAAW,EAAE,cAAc,CAAC;IAC5B,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,aAAa,CAAC;IAGlC;;;;OAIG;gBACS,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;CAwB1D"}
|
package/dist/tmdb.js
CHANGED
|
@@ -18,6 +18,8 @@ import { TVSeriesListsAPI } from "./endpoints/tv_series_lists";
|
|
|
18
18
|
import { WatchProvidersAPI } from "./endpoints/watch_providers";
|
|
19
19
|
import { Errors } from "./errors/messages";
|
|
20
20
|
import { ImageAPI } from "./images/images";
|
|
21
|
+
import { NetworksAPI } from "./endpoints/networks";
|
|
22
|
+
import { TVEpisodesAPI } from "./endpoints/tv_episodes";
|
|
21
23
|
export class TMDB {
|
|
22
24
|
client;
|
|
23
25
|
options; // ** Default options for all requests
|
|
@@ -38,6 +40,8 @@ export class TMDB {
|
|
|
38
40
|
collections;
|
|
39
41
|
discover;
|
|
40
42
|
find;
|
|
43
|
+
networks;
|
|
44
|
+
tv_episodes;
|
|
41
45
|
// etc...
|
|
42
46
|
/**
|
|
43
47
|
* Creates a new TMDB instance.
|
|
@@ -66,5 +70,7 @@ export class TMDB {
|
|
|
66
70
|
this.collections = new CollectionsAPI(this.client, this.options);
|
|
67
71
|
this.discover = new DiscoverAPI(this.client, this.options);
|
|
68
72
|
this.find = new FindAPI(this.client, this.options);
|
|
73
|
+
this.networks = new NetworksAPI(this.client, this.options);
|
|
74
|
+
this.tv_episodes = new TVEpisodesAPI(this.client, this.options);
|
|
69
75
|
}
|
|
70
76
|
}
|
|
@@ -19,19 +19,19 @@ export type Change = {
|
|
|
19
19
|
*/
|
|
20
20
|
export type ChangeItem = {
|
|
21
21
|
/** Unique identifier for the changed item */
|
|
22
|
-
id: number;
|
|
22
|
+
id: number | string;
|
|
23
23
|
/** Type of change performed (e.g., "added", "updated", "deleted") */
|
|
24
24
|
action: string;
|
|
25
25
|
/** Timestamp of when the change occurred (ISO 8601 format) */
|
|
26
26
|
time: string;
|
|
27
27
|
/** ISO 639-1 language code associated with the change */
|
|
28
|
-
iso_639_1
|
|
28
|
+
iso_639_1?: string | null;
|
|
29
29
|
/** ISO 3166-1 country code associated with the change */
|
|
30
|
-
iso_3166_1
|
|
30
|
+
iso_3166_1?: string | null;
|
|
31
31
|
/** The changed data object (structure varies by change type) */
|
|
32
|
-
value: object;
|
|
32
|
+
value: object | string;
|
|
33
33
|
/** The original data object (structure varies by change type) */
|
|
34
|
-
original_value?: object;
|
|
34
|
+
original_value?: object | string;
|
|
35
35
|
};
|
|
36
36
|
/**
|
|
37
37
|
* Represents a single change result item from the changes endpoint.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../../src/types/common/changes.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACrB,uCAAuC;IACvC,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACpB,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,KAAK,EAAE,UAAU,EAAE,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACxB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../../src/types/common/changes.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACrB,uCAAuC;IACvC,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACpB,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,KAAK,EAAE,UAAU,EAAE,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACxB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gEAAgE;IAChE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,sEAAsE;IACtE,KAAK,EAAE,OAAO,CAAC;CACf,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { LiteralUnion } from "../utility";
|
|
2
|
+
/**
|
|
3
|
+
* Defines the possible image collection keys returned by TMDB image endpoints.
|
|
4
|
+
*/
|
|
5
|
+
export type ImageCollectionKey = "backdrops" | "logos" | "posters" | "profiles" | "stills";
|
|
6
|
+
/**
|
|
7
|
+
* Image metadata and details
|
|
8
|
+
*/
|
|
9
|
+
export type ImageItem = {
|
|
10
|
+
/** Aspect ratio of the image (width/height) */
|
|
11
|
+
aspect_ratio: number;
|
|
12
|
+
/** Image height in pixels */
|
|
13
|
+
height: number;
|
|
14
|
+
/** ISO 639-1 language code if image contains text, null otherwise */
|
|
15
|
+
iso_639_1?: string | null;
|
|
16
|
+
/** Relative path to the image file (append to base URL) */
|
|
17
|
+
file_path: string;
|
|
18
|
+
/** Average user rating for this image */
|
|
19
|
+
vote_average: number;
|
|
20
|
+
/** Total number of votes for this image */
|
|
21
|
+
vote_count: number;
|
|
22
|
+
/** Image width in pixels */
|
|
23
|
+
width: number;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Represents a single company or network logo (slightly different from ImageItem)
|
|
27
|
+
*
|
|
28
|
+
* Note on FileType from TMDB:
|
|
29
|
+
* There are two image formats that are supported for companies, PNG's and SVG's.
|
|
30
|
+
* You can see which type the original file is by looking at the file_type field.
|
|
31
|
+
* We prefer SVG's as they are resolution independent and as such, the width and height are only
|
|
32
|
+
* there to reflect the original asset that was uploaded.
|
|
33
|
+
* An SVG can be scaled properly beyond those dimensions if you call them as a PNG.
|
|
34
|
+
*/
|
|
35
|
+
export type OrganizationImage = Omit<ImageItem, "iso_639_1"> & {
|
|
36
|
+
id: string;
|
|
37
|
+
file_type: FileType;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Represents the response from a TMDB image endpoint.
|
|
41
|
+
* Use the generic parameter to specify which image collections are present.
|
|
42
|
+
*
|
|
43
|
+
* @template K - The image collection keys available for the given entity type.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* // Company or Network (logos only)
|
|
47
|
+
* type OrganizationImagesResult = ImagesResult<"logos">;
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* // Movie or TV Show (backdrops, logos and posters)
|
|
51
|
+
* type MovieImagesResult = ImagesResult<"backdrops" | "logos" | "posters">;
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* // Person (profiles only)
|
|
55
|
+
* type PersonImagesResult = ImagesResult<"profiles">;
|
|
56
|
+
*/
|
|
57
|
+
export type ImagesResult<T, K extends ImageCollectionKey> = {
|
|
58
|
+
/** The unique TMDB identifier of the entity. */
|
|
59
|
+
id: number;
|
|
60
|
+
} & {
|
|
61
|
+
[P in K]: T[];
|
|
62
|
+
};
|
|
63
|
+
/** Available file type on svg (for images) */
|
|
64
|
+
export type FileType = LiteralUnion<".png" | ".svg">;
|
|
65
|
+
//# sourceMappingURL=images.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../../src/types/common/images.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE3F;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACvB,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG;IAC9D,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,kBAAkB,IAAI;IAC3D,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;CACX,GAAG;KACF,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;CACb,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC"}
|