@lorenzopant/tmdb 1.17.1 → 1.17.3

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.
Files changed (141) hide show
  1. package/dist/index.d.ts +5113 -4
  2. package/dist/index.js +3747 -5
  3. package/package.json +12 -5
  4. package/dist/client.d.ts +0 -51
  5. package/dist/client.js +0 -166
  6. package/dist/endpoints/base.d.ts +0 -22
  7. package/dist/endpoints/base.js +0 -32
  8. package/dist/endpoints/certifications.d.ts +0 -20
  9. package/dist/endpoints/certifications.js +0 -24
  10. package/dist/endpoints/changes.d.ts +0 -40
  11. package/dist/endpoints/changes.js +0 -46
  12. package/dist/endpoints/collections.d.ts +0 -39
  13. package/dist/endpoints/collections.js +0 -52
  14. package/dist/endpoints/companies.d.ts +0 -37
  15. package/dist/endpoints/companies.js +0 -49
  16. package/dist/endpoints/configuration.d.ts +0 -72
  17. package/dist/endpoints/configuration.js +0 -83
  18. package/dist/endpoints/credits.d.ts +0 -16
  19. package/dist/endpoints/credits.js +0 -22
  20. package/dist/endpoints/discover.d.ts +0 -36
  21. package/dist/endpoints/discover.js +0 -61
  22. package/dist/endpoints/find.d.ts +0 -16
  23. package/dist/endpoints/find.js +0 -21
  24. package/dist/endpoints/genres.d.ts +0 -25
  25. package/dist/endpoints/genres.js +0 -28
  26. package/dist/endpoints/keywords.d.ts +0 -29
  27. package/dist/endpoints/keywords.js +0 -38
  28. package/dist/endpoints/movie_lists.d.ts +0 -53
  29. package/dist/endpoints/movie_lists.js +0 -65
  30. package/dist/endpoints/movies.d.ts +0 -202
  31. package/dist/endpoints/movies.js +0 -255
  32. package/dist/endpoints/networks.d.ts +0 -36
  33. package/dist/endpoints/networks.js +0 -46
  34. package/dist/endpoints/people.d.ts +0 -91
  35. package/dist/endpoints/people.js +0 -128
  36. package/dist/endpoints/people_lists.d.ts +0 -16
  37. package/dist/endpoints/people_lists.js +0 -16
  38. package/dist/endpoints/reviews.d.ts +0 -14
  39. package/dist/endpoints/reviews.js +0 -16
  40. package/dist/endpoints/search.d.ts +0 -88
  41. package/dist/endpoints/search.js +0 -102
  42. package/dist/endpoints/trending.d.ts +0 -36
  43. package/dist/endpoints/trending.js +0 -48
  44. package/dist/endpoints/tv_episode_groups.d.ts +0 -13
  45. package/dist/endpoints/tv_episode_groups.js +0 -16
  46. package/dist/endpoints/tv_episodes.d.ts +0 -110
  47. package/dist/endpoints/tv_episodes.js +0 -136
  48. package/dist/endpoints/tv_seasons.d.ts +0 -128
  49. package/dist/endpoints/tv_seasons.js +0 -164
  50. package/dist/endpoints/tv_series.d.ts +0 -244
  51. package/dist/endpoints/tv_series.js +0 -311
  52. package/dist/endpoints/tv_series_lists.d.ts +0 -51
  53. package/dist/endpoints/tv_series_lists.js +0 -63
  54. package/dist/endpoints/watch_providers.d.ts +0 -34
  55. package/dist/endpoints/watch_providers.js +0 -46
  56. package/dist/errors/messages.d.ts +0 -15
  57. package/dist/errors/messages.js +0 -47
  58. package/dist/errors/tmdb.d.ts +0 -45
  59. package/dist/errors/tmdb.js +0 -39
  60. package/dist/images/images.d.ts +0 -12
  61. package/dist/images/images.js +0 -26
  62. package/dist/routes.d.ts +0 -157
  63. package/dist/routes.js +0 -157
  64. package/dist/tmdb.d.ts +0 -61
  65. package/dist/tmdb.js +0 -94
  66. package/dist/types/collections.d.ts +0 -72
  67. package/dist/types/collections.js +0 -1
  68. package/dist/types/common/certifications.d.ts +0 -19
  69. package/dist/types/common/certifications.js +0 -1
  70. package/dist/types/common/changes.d.ts +0 -44
  71. package/dist/types/common/changes.js +0 -1
  72. package/dist/types/common/images.d.ts +0 -64
  73. package/dist/types/common/images.js +0 -1
  74. package/dist/types/common/index.d.ts +0 -6
  75. package/dist/types/common/index.js +0 -6
  76. package/dist/types/common/media.d.ts +0 -305
  77. package/dist/types/common/media.js +0 -1
  78. package/dist/types/common/pagination.d.ts +0 -6
  79. package/dist/types/common/pagination.js +0 -1
  80. package/dist/types/common/params.d.ts +0 -27
  81. package/dist/types/common/params.js +0 -1
  82. package/dist/types/companies.d.ts +0 -53
  83. package/dist/types/companies.js +0 -1
  84. package/dist/types/config/configuration.d.ts +0 -56
  85. package/dist/types/config/configuration.js +0 -1
  86. package/dist/types/config/countries.d.ts +0 -3
  87. package/dist/types/config/countries.js +0 -1257
  88. package/dist/types/config/images.d.ts +0 -49
  89. package/dist/types/config/images.js +0 -13
  90. package/dist/types/config/index.d.ts +0 -6
  91. package/dist/types/config/index.js +0 -6
  92. package/dist/types/config/languages.d.ts +0 -11
  93. package/dist/types/config/languages.js +0 -1
  94. package/dist/types/config/options.d.ts +0 -46
  95. package/dist/types/config/options.js +0 -1
  96. package/dist/types/config/timezones.d.ts +0 -751
  97. package/dist/types/config/timezones.js +0 -1149
  98. package/dist/types/credits.d.ts +0 -148
  99. package/dist/types/credits.js +0 -1
  100. package/dist/types/discover.d.ts +0 -130
  101. package/dist/types/discover.js +0 -27
  102. package/dist/types/enums.d.ts +0 -8
  103. package/dist/types/enums.js +0 -9
  104. package/dist/types/find.d.ts +0 -103
  105. package/dist/types/find.js +0 -1
  106. package/dist/types/index.d.ts +0 -21
  107. package/dist/types/index.js +0 -21
  108. package/dist/types/keywords.d.ts +0 -19
  109. package/dist/types/keywords.js +0 -1
  110. package/dist/types/movies.d.ts +0 -304
  111. package/dist/types/movies.js +0 -1
  112. package/dist/types/networks.d.ts +0 -45
  113. package/dist/types/networks.js +0 -1
  114. package/dist/types/people-lists.d.ts +0 -5
  115. package/dist/types/people-lists.js +0 -1
  116. package/dist/types/people.d.ts +0 -214
  117. package/dist/types/people.js +0 -1
  118. package/dist/types/reviews.d.ts +0 -22
  119. package/dist/types/reviews.js +0 -1
  120. package/dist/types/search.d.ts +0 -198
  121. package/dist/types/search.js +0 -1
  122. package/dist/types/trending.d.ts +0 -55
  123. package/dist/types/trending.js +0 -1
  124. package/dist/types/tv-episode-groups.d.ts +0 -63
  125. package/dist/types/tv-episode-groups.js +0 -13
  126. package/dist/types/tv-episodes.d.ts +0 -98
  127. package/dist/types/tv-episodes.js +0 -1
  128. package/dist/types/tv-seasons.d.ts +0 -133
  129. package/dist/types/tv-seasons.js +0 -1
  130. package/dist/types/tv-series.d.ts +0 -445
  131. package/dist/types/tv-series.js +0 -1
  132. package/dist/types/utility.d.ts +0 -16
  133. package/dist/types/utility.js +0 -10
  134. package/dist/types/watch-providers.d.ts +0 -34
  135. package/dist/types/watch-providers.js +0 -1
  136. package/dist/utils/index.d.ts +0 -2
  137. package/dist/utils/index.js +0 -2
  138. package/dist/utils/jwt.d.ts +0 -1
  139. package/dist/utils/jwt.js +0 -61
  140. package/dist/utils/logger.d.ts +0 -18
  141. package/dist/utils/logger.js +0 -40
@@ -1,304 +0,0 @@
1
- import { AlternativeTitle, Cast, Changes, Crew, DateRange, Genre, ImageItem, ImagesResult, Keyword, MovieCollection, PaginatedResponse, ProductionCompany, ProductionCountry, Review, SpokenLanguage, TMDBQueryParams, TranslationResults, VideoResults, WithLanguagePage, WithParams } from "./common";
2
- import { CountryISO3166_1, Language, LanguageISO6391 } from "./config";
3
- import { ReleaseType } from "./enums";
4
- import { MovieResultItem } from "./search";
5
- import { Prettify } from "./utility";
6
- /**
7
- * Complete movie details with metadata, production info, and statistics
8
- */
9
- export type MovieDetails = {
10
- /** Whether the movie is marked as adult content */
11
- adult: boolean;
12
- /** Path to backdrop image, null if not available */
13
- backdrop_path: string | null;
14
- /** Collection the movie belongs to (e.g., "The Lord of the Rings Collection"), null if standalone */
15
- belongs_to_collection: MovieCollection | null;
16
- /** Production budget in US dollars */
17
- budget: number;
18
- /** Array of genres associated with the movie */
19
- genres: Genre[];
20
- /** Official homepage URL, null if not available */
21
- homepage: string | null;
22
- /** Unique movie identifier in TMDB */
23
- id: number;
24
- /** IMDb identifier (e.g., "tt0133093"), null if not linked */
25
- imdb_id: string | null;
26
- /** Array of origin country codes (ISO 3166-1) */
27
- origin_country: string[];
28
- /** Original language of the movie (ISO 639-1 code) */
29
- original_language: string;
30
- /** Original title in the original language */
31
- original_title: string;
32
- /** Plot synopsis/overview, null if not available */
33
- overview: string | null;
34
- /** Popularity score calculated by TMDB */
35
- popularity: number;
36
- /** Path to poster image, null if not available */
37
- poster_path: string | null;
38
- /** Array of companies that produced the movie */
39
- production_companies: ProductionCompany[];
40
- /** Array of countries where the movie was produced */
41
- production_countries: ProductionCountry[];
42
- /** Release date in ISO 8601 format (YYYY-MM-DD) */
43
- release_date: string;
44
- /** Box office revenue in US dollars */
45
- revenue: number;
46
- /** Runtime in minutes, null if not set */
47
- runtime: number | null;
48
- /** Array of languages spoken in the movie */
49
- spoken_languages: SpokenLanguage[];
50
- /** Release status (e.g., "Released", "Post Production", "In Production") */
51
- status: string;
52
- /** Movie tagline/slogan, null if not available */
53
- tagline: string | null;
54
- /** Movie title (localized if language parameter was provided) */
55
- title: string;
56
- /** Whether a video is available on TMDB */
57
- video: boolean;
58
- /** Average user rating (0-10 scale) */
59
- vote_average: number;
60
- /** Total number of votes received */
61
- vote_count: number;
62
- };
63
- /**
64
- * Available endpoints that can be appended to movie details requests
65
- */
66
- export type MovieAppendToResponseNamespace = "alternative_titles" | "changes" | "credits" | "external_ids" | "images" | "keywords" | "recommendations" | "release_dates" | "reviews" | "similar" | "translations" | "videos";
67
- /**
68
- * Mapping of append-to-response keys to their return types
69
- */
70
- export type MovieAppendableMap = {
71
- alternative_titles: MovieAlternativeTitles;
72
- changes: MovieChanges;
73
- credits: MovieCredits;
74
- external_ids: MovieExternalIDs;
75
- images: MovieImages;
76
- keywords: MovieKeywords;
77
- recommendations: MovieRecommendations;
78
- release_dates: MovieReleaseDates;
79
- reviews: MovieReviews;
80
- similar: MovieSimilar;
81
- translations: MovieTranslations;
82
- videos: MovieVideos;
83
- };
84
- /**
85
- * Movie details with additional appended data
86
- * @template T - Array of namespace strings to append
87
- * @example
88
- * ```typescript
89
- * // Get movie details with credits and videos
90
- * const movie: MovieDetailsWithAppends<['credits', 'videos']> = await getMovie(550, {
91
- * append_to_response: ['credits','videos']
92
- * });
93
- * ```
94
- */
95
- export type MovieDetailsWithAppends<T extends readonly MovieAppendToResponseNamespace[]> = MovieDetails & {
96
- [K in T[number]]: MovieAppendableMap[K];
97
- };
98
- /**
99
- * Alternative titles for a movie in different countries/languages
100
- */
101
- export type MovieAlternativeTitles = {
102
- /** Movie identifier */
103
- id: number;
104
- /** Array of alternative titles */
105
- titles: AlternativeTitle[];
106
- };
107
- export type MovieChanges = Changes;
108
- /**
109
- * Cast and crew credits for a movie
110
- */
111
- export type MovieCredits = {
112
- /** Movie identifier */
113
- id: number;
114
- /** Array of cast members (actors) */
115
- cast: Cast[];
116
- /** Array of crew members (directors, writers, etc.) */
117
- crew: Crew[];
118
- };
119
- /**
120
- * External platform identifiers for a movie
121
- */
122
- export type MovieExternalIDs = {
123
- /** Movie identifier in TMDB */
124
- id: number;
125
- /** IMDb identifier (e.g., "tt0133093"), null if not available */
126
- imdb_id?: string | null;
127
- /** Facebook page identifier, null if not available */
128
- facebook_id?: string | null;
129
- /** Twitter/X handle, null if not available */
130
- twitter_id?: string | null;
131
- /** Instagram handle, null if not available */
132
- instagram_id?: string | null;
133
- };
134
- /**
135
- * Collection of movie images (backdrops, logos, posters)
136
- */
137
- export type MovieImages = ImagesResult<ImageItem, "backdrops" | "logos" | "posters">;
138
- /**
139
- * Keywords/tags associated with a movie
140
- */
141
- export type MovieKeywords = {
142
- /** Movie identifier */
143
- id: number;
144
- /** Array of keyword objects */
145
- keywords: Keyword[];
146
- };
147
- /**
148
- * Paginated list of recommended movies based on this movie
149
- */
150
- export type MovieRecommendations = PaginatedResponse<MovieResultItem>;
151
- /**
152
- * Release dates and certifications across different countries
153
- */
154
- export type MovieReleaseDates = {
155
- /** Movie identifier */
156
- id: number;
157
- /** Array of release date results grouped by country */
158
- results: MovieReleaseDateResult[];
159
- };
160
- /**
161
- * Release dates for a specific country
162
- */
163
- export type MovieReleaseDateResult = {
164
- /** ISO 3166-1 country code */
165
- iso_3166_1: string;
166
- /** Array of release dates (movies can have multiple releases per country) */
167
- release_dates: MovieReleaseDate[];
168
- };
169
- /**
170
- * Individual release date entry with certification
171
- */
172
- export type MovieReleaseDate = {
173
- /** Age certification/rating (e.g., "PG-13", "R", "12A") */
174
- certification: string;
175
- /** ISO 639-1 language code */
176
- iso_639_1: string;
177
- /** Release date and time in ISO 8601 format */
178
- release_date: string;
179
- /** Type of release (1=Premiere, 2=Theatrical (limited), 3=Theatrical, 4=Digital, 5=Physical, 6=TV) */
180
- type: ReleaseType | number;
181
- /** Additional notes about this release */
182
- note: string;
183
- /** Content descriptors (currently unused by TMDB) */
184
- descriptors: unknown[];
185
- };
186
- /**
187
- * Paginated list of user reviews for a movie
188
- */
189
- export type MovieReviews = PaginatedResponse<Review>;
190
- /**
191
- * Paginated list of movies similar to this movie
192
- */
193
- export type MovieSimilar = PaginatedResponse<MovieResultItem>;
194
- /**
195
- * Movie translations containing all available language versions
196
- */
197
- export type MovieTranslations = TranslationResults<MovieTranslationData>;
198
- /**
199
- * Translation data for a specific language
200
- */
201
- export type MovieTranslationData = {
202
- /** Translated homepage URL */
203
- homepage?: string;
204
- /** Translated synopsis/overview */
205
- overview?: string;
206
- /** Movie runtime in minutes */
207
- runtime?: number;
208
- /** Translated tagline */
209
- tagline?: string;
210
- /** Translated movie title */
211
- title?: string;
212
- };
213
- /**
214
- * Collection of videos (trailers, teasers, clips) for a movie
215
- */
216
- export type MovieVideos = VideoResults;
217
- /**
218
- * Parameters for movie list endpoints (popular, top rated, now playing, upcoming).
219
- */
220
- export type MovieListParams = TMDBQueryParams;
221
- /**
222
- * Almost every query within the Movie domain
223
- * will take this required param to identify the movie.
224
- */
225
- type MovieBaseParam = {
226
- movie_id: number;
227
- };
228
- /**
229
- * Parameters for fetching movie details with optional additional data appended.
230
- */
231
- export type MovieDetailsParams = Prettify<MovieBaseParam & {
232
- append_to_response?: MovieAppendToResponseNamespace | MovieAppendToResponseNamespace[];
233
- } & WithParams<"language">>;
234
- /**
235
- * Parameters for fetching alternative titles for a movie.
236
- */
237
- export type MovieAlternativeTitlesParams = Prettify<MovieBaseParam & {
238
- country?: CountryISO3166_1;
239
- }>;
240
- /**
241
- * Parameters for fetching movie credits (cast and crew).
242
- */
243
- export type MovieCreditsParams = Prettify<MovieBaseParam & WithParams<"language">>;
244
- /**
245
- * Parameters for fetching movie keywords.
246
- */
247
- export type MovieKeywordsParams = MovieBaseParam;
248
- /**
249
- * Parameters for fetching external IDs (IMDb, Facebook, Twitter, Instagram).
250
- */
251
- export type MovieExternalIDsParams = MovieBaseParam;
252
- /**
253
- * Parameters for fetching release dates and certifications.
254
- */
255
- export type MovieReleaseDatesParams = MovieBaseParam;
256
- /**
257
- * Parameters for fetching movie translations.
258
- */
259
- export type MovieTranslationsParams = MovieBaseParam;
260
- /**
261
- * Parameters for fetching watch provider availability.
262
- */
263
- export type MovieWatchProvidersParams = MovieBaseParam;
264
- /**
265
- * Parameters for fetching movie change history.
266
- */
267
- export type MovieChangesParams = Prettify<MovieBaseParam & WithParams<"page"> & DateRange>;
268
- /**
269
- * Parameters for fetching movie images (backdrops, logos, posters).
270
- *
271
- * Note: language and include_image_language params still only support
272
- * ISO-639-1 language definition according to TMDB docs:
273
- *
274
- * "These are all specified as IETF tags to identify the languages we use on TMDB.
275
- * There is one exception which is image languages.
276
- * They are currently only designated by a ISO-639-1 tag. This is a planned upgrade for the future."
277
- * https://developer.themoviedb.org/reference/configuration-primary-translations
278
- *
279
- * However, in practice, language in format "en-US" is still accepted.
280
- * So we allow for both formats.
281
- */
282
- export type MovieImagesParams = Prettify<MovieBaseParam & {
283
- /** Language for image metadata (supports both ISO-639-1 and full Language format) */
284
- language?: Language | LanguageISO6391;
285
- /** Languages to include images for. Pass an array — it will be serialized as a comma-separated list (e.g. ["en", "null"]). Use "null" to include untagged images. */
286
- include_image_language?: (Language | "null")[];
287
- }>;
288
- /**
289
- * Parameters for fetching movie recommendations.
290
- */
291
- export type MovieRecommendationsParams = Prettify<MovieBaseParam & WithLanguagePage>;
292
- /**
293
- * Parameters for fetching similar movies.
294
- */
295
- export type MovieSimilarParams = MovieRecommendationsParams;
296
- /**
297
- * Parameters for fetching movie videos (trailers, teasers, clips).
298
- */
299
- export type MovieVideosParams = Prettify<MovieBaseParam & WithParams<"language">>;
300
- /**
301
- * Parameters for fetching movie reviews.
302
- */
303
- export type MovieReviewsParams = Prettify<MovieBaseParam & WithLanguagePage>;
304
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,45 +0,0 @@
1
- import { ImagesResult, OrganizationImage } from "./common";
2
- import { CountryISO3166_1 } from "./config";
3
- /**
4
- * Represents a network entry as returned in search results or list responses.
5
- *
6
- * @see https://developer.themoviedb.org/reference/network-details
7
- */
8
- export type NetworkItem = {
9
- /** The unique TMDB identifier of the network. */
10
- id: number;
11
- /** Path to the network's logo, to be appended to the TMDB base image URL. */
12
- logo_path: string;
13
- /** The name of the network. */
14
- name: string;
15
- /** The ISO 3166-1 country code of the network's country of origin. */
16
- origin_country: CountryISO3166_1;
17
- };
18
- /**
19
- * Represents the images response for a network.
20
- * Networks only expose logo images.
21
- *
22
- * @see https://developer.themoviedb.org/reference/network-images
23
- */
24
- export type NetworkImages = ImagesResult<OrganizationImage, "logos">;
25
- /**
26
- * Represents the full details of a network, as returned by the network details endpoint.
27
- * Extends {@link NetworkItem} with additional metadata.
28
- *
29
- * @see https://developer.themoviedb.org/reference/network-details
30
- */
31
- export type Network = NetworkItem & {
32
- /** The city or location of the network's headquarters, if available. */
33
- headquarters?: string | null;
34
- /** The URL of the network's official homepage, if available. */
35
- homepage?: string | null;
36
- };
37
- /**
38
- * Base parameters required by all network endpoints.
39
- *
40
- * @see https://developer.themoviedb.org/reference/network-details
41
- */
42
- export type NetworkBaseParams = {
43
- /** The unique TMDB identifier of the network. */
44
- network_id: number;
45
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import type { WithLanguage, WithPage } from "./common/params";
2
- /**
3
- * Query parameters for the people popular list endpoint.
4
- */
5
- export type PeopleListParams = WithLanguage & WithPage;
@@ -1 +0,0 @@
1
- export {};
@@ -1,214 +0,0 @@
1
- import { Changes, DateRange, ImageItem, ImagesResult, MediaType, PaginatedResponse, TranslationResults, WithLanguage, WithPage } from "./common";
2
- import { MovieResultItem, TVSeriesResultItem } from "./search";
3
- import { Prettify } from "./utility";
4
- /**
5
- * Top-level person details returned by TMDB.
6
- */
7
- export type PersonDetails = {
8
- /** Whether the person is marked as adult content */
9
- adult: boolean;
10
- /** Alternative names or aliases */
11
- also_known_as: string[];
12
- /** Localized or default biography text */
13
- biography?: string;
14
- /** Date of birth in ISO 8601 format */
15
- birthday?: string;
16
- /** Date of death in ISO 8601 format, if applicable */
17
- deathday?: string;
18
- /** Gender code reported by TMDB */
19
- gender: number;
20
- /** Official homepage URL, if available */
21
- homepage?: string;
22
- /** TMDB person identifier */
23
- id: number;
24
- /** IMDb identifier, if linked */
25
- imdb_id?: string;
26
- /** Primary department the person is known for */
27
- known_for_department?: string;
28
- /** Display name */
29
- name: string;
30
- /** Place of birth, if known */
31
- place_of_birth?: string;
32
- /** Popularity score */
33
- popularity: number;
34
- /** Relative path to the profile image */
35
- profile_path?: string;
36
- };
37
- /**
38
- * Endpoints that can be appended to a person details request.
39
- */
40
- export type PersonAppendToResponseNamespace = "changes" | "combined_credits" | "external_ids" | "images" | "movie_credits" | "tagged_images" | "translations" | "tv_credits";
41
- /**
42
- * Person details with appended subresources.
43
- */
44
- export type PersonDetailsWithAppends<T extends readonly PersonAppendToResponseNamespace[]> = PersonDetails & {
45
- [K in T[number]]: PersonAppendableMap[K];
46
- };
47
- /**
48
- * Changes made to a person resource.
49
- */
50
- export type PersonChanges = Changes;
51
- /**
52
- * External identifiers linked to a person.
53
- */
54
- export type PersonExternalIDs = {
55
- id: number;
56
- freebase_mid?: string;
57
- freebase_id?: string;
58
- imdb_id?: string;
59
- tvrage_id?: number;
60
- wikidata_id?: string;
61
- facebook_id?: string;
62
- instagram_id?: string;
63
- tiktok_id?: string;
64
- twitter_id?: string;
65
- youtube_id?: string;
66
- };
67
- /**
68
- * Profile images belonging to a person.
69
- */
70
- export type PersonImages = ImagesResult<ImageItem, "profiles">;
71
- /**
72
- * Cast credit for a movie on a person profile.
73
- */
74
- export type PersonMovieCastCredit = MovieResultItem & {
75
- character: string;
76
- credit_id: string;
77
- order: number;
78
- };
79
- /**
80
- * Crew credit for a movie on a person profile.
81
- */
82
- export type PersonMovieCrewCredit = MovieResultItem & {
83
- credit_id: string;
84
- department: string;
85
- job: string;
86
- };
87
- /**
88
- * Movie credits for a person.
89
- */
90
- export type PersonMovieCredits = {
91
- id: number;
92
- cast: PersonMovieCastCredit[];
93
- crew: PersonMovieCrewCredit[];
94
- };
95
- /**
96
- * Cast credit for a TV show on a person profile.
97
- */
98
- export type PersonTVCastCredit = TVSeriesResultItem & {
99
- character: string;
100
- credit_id: string;
101
- episode_count: number;
102
- };
103
- /**
104
- * Crew credit for a TV show on a person profile.
105
- */
106
- export type PersonTVCrewCredit = TVSeriesResultItem & {
107
- credit_id: string;
108
- department: string;
109
- episode_count: number;
110
- job: string;
111
- };
112
- /**
113
- * TV credits for a person.
114
- */
115
- export type PersonTVCredits = {
116
- id: number;
117
- cast: PersonTVCastCredit[];
118
- crew: PersonTVCrewCredit[];
119
- };
120
- /**
121
- * Combined movie/TV cast credit for a person.
122
- */
123
- export type PersonCombinedCastCredit = (PersonMovieCastCredit & {
124
- media_type: "movie";
125
- }) | (PersonTVCastCredit & {
126
- media_type: "tv";
127
- });
128
- /**
129
- * Combined movie/TV crew credit for a person.
130
- */
131
- export type PersonCombinedCrewCredit = (PersonMovieCrewCredit & {
132
- media_type: "movie";
133
- }) | (PersonTVCrewCredit & {
134
- media_type: "tv";
135
- });
136
- /**
137
- * Combined credits for a person.
138
- */
139
- export type PersonCombinedCredits = {
140
- id: number;
141
- cast: PersonCombinedCastCredit[];
142
- crew: PersonCombinedCrewCredit[];
143
- };
144
- /**
145
- * Tagged image media payload associated with a person image tag.
146
- */
147
- export type PersonTaggedImageMedia = (MovieResultItem & {
148
- media_type: "movie";
149
- }) | (TVSeriesResultItem & {
150
- media_type: "tv";
151
- });
152
- /**
153
- * A single tagged image entry for a person.
154
- */
155
- export type PersonTaggedImage = ImageItem & {
156
- id: string;
157
- image_type: string;
158
- media: PersonTaggedImageMedia;
159
- media_type: MediaType;
160
- };
161
- /**
162
- * Paginated tagged images for a person.
163
- */
164
- export type PersonTaggedImages = PaginatedResponse<PersonTaggedImage> & {
165
- id: number;
166
- };
167
- /**
168
- * Translation payload for person records.
169
- */
170
- export type PersonTranslationData = {
171
- biography?: string;
172
- name?: string;
173
- };
174
- /**
175
- * Available translations for a person.
176
- */
177
- export type PersonTranslations = TranslationResults<PersonTranslationData>;
178
- /**
179
- * Mapping of person append keys to their response types.
180
- */
181
- export type PersonAppendableMap = {
182
- changes: PersonChanges;
183
- combined_credits: PersonCombinedCredits;
184
- external_ids: PersonExternalIDs;
185
- images: PersonImages;
186
- movie_credits: PersonMovieCredits;
187
- tagged_images: PersonTaggedImages;
188
- translations: PersonTranslations;
189
- tv_credits: PersonTVCredits;
190
- };
191
- /**
192
- * Base param for person-specific endpoints.
193
- */
194
- export type PersonBaseParam = {
195
- person_id: number;
196
- };
197
- /**
198
- * Parameters for fetching person details.
199
- */
200
- export type PersonDetailsParams = Prettify<PersonBaseParam & {
201
- append_to_response?: PersonAppendToResponseNamespace | PersonAppendToResponseNamespace[];
202
- } & WithLanguage>;
203
- /**
204
- * Parameters for fetching person changes.
205
- */
206
- export type PersonChangesParams = Prettify<PersonBaseParam & WithPage & DateRange>;
207
- /**
208
- * Parameters for language-aware person credit endpoints.
209
- */
210
- export type PersonCreditsParams = Prettify<PersonBaseParam & WithLanguage>;
211
- export type PersonExternalIDsParams = PersonBaseParam;
212
- export type PersonImagesParams = PersonBaseParam;
213
- export type PersonTranslationsParams = PersonBaseParam;
214
- export type PersonTaggedImagesParams = Prettify<PersonBaseParam & WithPage>;
@@ -1 +0,0 @@
1
- export {};
@@ -1,22 +0,0 @@
1
- import type { Review } from "./common/media";
2
- /**
3
- * Full details for a single TMDB review, as returned by GET /review/{review_id}.
4
- * Extends the base Review type with media context fields.
5
- */
6
- export type ReviewDetails = Review & {
7
- /** ISO 639-1 language code of the review content */
8
- iso_639_1: string;
9
- /** The TMDB ID of the reviewed media */
10
- media_id: number;
11
- /** The title of the reviewed media */
12
- media_title: string;
13
- /** The type of media being reviewed */
14
- media_type: "movie" | "tv";
15
- };
16
- /**
17
- * Parameters for fetching a review by its TMDB review ID.
18
- */
19
- export type ReviewDetailsParams = {
20
- /** The TMDB review identifier */
21
- review_id: string;
22
- };
@@ -1 +0,0 @@
1
- export {};