@tdanks2000/tmdb-wrapper 1.0.2 → 1.1.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.
Files changed (94) hide show
  1. package/README.md +334 -148
  2. package/dist/@types/models/baseEndpoint.d.ts.map +1 -1
  3. package/dist/endpoints/account.d.ts.map +1 -1
  4. package/dist/endpoints/certification.d.ts.map +1 -1
  5. package/dist/endpoints/changes.d.ts.map +1 -1
  6. package/dist/endpoints/collections.d.ts.map +1 -1
  7. package/dist/endpoints/collections.js +1 -1
  8. package/dist/endpoints/companies.d.ts.map +1 -1
  9. package/dist/endpoints/configuration.d.ts.map +1 -1
  10. package/dist/endpoints/credits.d.ts.map +1 -1
  11. package/dist/endpoints/discover.d.ts.map +1 -1
  12. package/dist/endpoints/find.d.ts.map +1 -1
  13. package/dist/endpoints/genre.d.ts.map +1 -1
  14. package/dist/endpoints/index.d.ts +3 -0
  15. package/dist/endpoints/index.d.ts.map +1 -1
  16. package/dist/endpoints/index.js +3 -0
  17. package/dist/endpoints/keywords.d.ts.map +1 -1
  18. package/dist/endpoints/movies.d.ts.map +1 -1
  19. package/dist/endpoints/movies.js +1 -1
  20. package/dist/endpoints/networks.d.ts.map +1 -1
  21. package/dist/endpoints/people.d.ts.map +1 -1
  22. package/dist/endpoints/review.d.ts.map +1 -1
  23. package/dist/endpoints/search.d.ts.map +1 -1
  24. package/dist/endpoints/trending.d.ts.map +1 -1
  25. package/dist/endpoints/tvEpisodes.d.ts.map +1 -1
  26. package/dist/endpoints/tvEpisodes.js +2 -2
  27. package/dist/endpoints/tvSeasons.d.ts.map +1 -1
  28. package/dist/endpoints/tvSeasons.js +2 -2
  29. package/dist/endpoints/tvShows.d.ts.map +1 -1
  30. package/dist/endpoints/tvShows.js +2 -2
  31. package/dist/endpoints/watchProviders.d.ts +33 -0
  32. package/dist/endpoints/watchProviders.d.ts.map +1 -0
  33. package/dist/endpoints/watchProviders.js +63 -0
  34. package/dist/index.d.ts +4 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +3 -0
  37. package/dist/utils/api.d.ts.map +1 -1
  38. package/dist/utils/getimagePath.d.ts +24 -4
  39. package/dist/utils/getimagePath.d.ts.map +1 -1
  40. package/dist/utils/getimagePath.js +39 -8
  41. package/package.json +28 -10
  42. package/src/@types/endpoints/account.ts +0 -17
  43. package/src/@types/endpoints/certification.ts +0 -19
  44. package/src/@types/endpoints/changes.ts +0 -29
  45. package/src/@types/endpoints/collection.ts +0 -23
  46. package/src/@types/endpoints/companies.ts +0 -33
  47. package/src/@types/endpoints/configuration.ts +0 -112
  48. package/src/@types/endpoints/credits.ts +0 -149
  49. package/src/@types/endpoints/discover.ts +0 -87
  50. package/src/@types/endpoints/find.ts +0 -28
  51. package/src/@types/endpoints/genre.ts +0 -3
  52. package/src/@types/endpoints/index.ts +0 -22
  53. package/src/@types/endpoints/keywords.ts +0 -24
  54. package/src/@types/endpoints/movies.ts +0 -169
  55. package/src/@types/endpoints/networks.ts +0 -15
  56. package/src/@types/endpoints/options.ts +0 -189
  57. package/src/@types/endpoints/people.ts +0 -151
  58. package/src/@types/endpoints/review.ts +0 -8
  59. package/src/@types/endpoints/search.ts +0 -39
  60. package/src/@types/endpoints/trending.ts +0 -20
  61. package/src/@types/endpoints/tvEpisode.ts +0 -72
  62. package/src/@types/endpoints/tvSeasons.ts +0 -37
  63. package/src/@types/endpoints/tvShows.ts +0 -284
  64. package/src/@types/endpoints/watchProviders.ts +0 -298
  65. package/src/@types/index.ts +0 -3
  66. package/src/@types/models/baseEndpoint.ts +0 -9
  67. package/src/@types/models/index.ts +0 -1
  68. package/src/@types/types.ts +0 -199
  69. package/src/endpoints/account.ts +0 -22
  70. package/src/endpoints/certification.ts +0 -30
  71. package/src/endpoints/changes.ts +0 -41
  72. package/src/endpoints/collections.ts +0 -57
  73. package/src/endpoints/companies.ts +0 -41
  74. package/src/endpoints/configuration.ts +0 -22
  75. package/src/endpoints/credits.ts +0 -23
  76. package/src/endpoints/discover.ts +0 -40
  77. package/src/endpoints/find.ts +0 -24
  78. package/src/endpoints/genre.ts +0 -32
  79. package/src/endpoints/index.ts +0 -18
  80. package/src/endpoints/keywords.ts +0 -35
  81. package/src/endpoints/movies.ts +0 -244
  82. package/src/endpoints/networks.ts +0 -41
  83. package/src/endpoints/people.ts +0 -147
  84. package/src/endpoints/review.ts +0 -23
  85. package/src/endpoints/search.ts +0 -93
  86. package/src/endpoints/trending.ts +0 -30
  87. package/src/endpoints/tvEpisodes.ts +0 -125
  88. package/src/endpoints/tvSeasons.ts +0 -138
  89. package/src/endpoints/tvShows.ts +0 -286
  90. package/src/index.ts +0 -66
  91. package/src/utils/api.ts +0 -31
  92. package/src/utils/getimagePath.ts +0 -16
  93. package/src/utils/index.ts +0 -2
  94. package/tsconfig.json +0 -108
@@ -1,189 +0,0 @@
1
- import {
2
- AlternativeTitles,
3
- Changes,
4
- ContentRatings,
5
- Credits,
6
- EpisodeGroups,
7
- ExternalIds,
8
- Images,
9
- Keywords,
10
- MovieChangeValue,
11
- MovieLists,
12
- PeopleImages,
13
- PersonChangeValue,
14
- PersonCombinedCredits,
15
- PersonMovieCredit,
16
- PersonTranslations,
17
- PersonTvShowCredit,
18
- Recommendations,
19
- ReleaseDates,
20
- Reviews,
21
- ScreenedTheatrically,
22
- SimilarMovies,
23
- Similartv,
24
- TaggedImages,
25
- Translations,
26
- TvEpisodeChangeValue,
27
- TvEpisodeCredit,
28
- TvEpisodeTranslations,
29
- TvSeasonChangeValue,
30
- TvShowChangeValue,
31
- Videos,
32
- WatchProviders,
33
- } from '..';
34
-
35
- export interface LanguageOption {
36
- language?: string;
37
- }
38
-
39
- export interface RegionOption {
40
- region?: string;
41
- }
42
-
43
- export interface TimezoneOption {
44
- timezone?: string;
45
- }
46
-
47
- export interface PageOption {
48
- page?: number;
49
- }
50
-
51
- export interface ChangeOption extends PageOption {
52
- start_date?: Date;
53
- end_date?: Date;
54
- }
55
-
56
- export type AppendToResponseMovieKey =
57
- | 'images'
58
- | 'videos'
59
- | 'credits'
60
- | 'recommendations'
61
- | 'reviews'
62
- | 'changes'
63
- | 'similar'
64
- | 'lists'
65
- | 'release_dates'
66
- | 'alternative_titles'
67
- | 'external_ids'
68
- | 'translations'
69
- | 'watch/providers'
70
- | 'keywords';
71
-
72
- export type AppendToResponseTvKey =
73
- | 'content_ratings'
74
- | 'images'
75
- | 'videos'
76
- | 'credits'
77
- | 'recommendations'
78
- | 'reviews'
79
- | 'changes'
80
- | 'similar'
81
- | 'alternative_titles'
82
- | 'external_ids'
83
- | 'translations'
84
- | 'watch/providers'
85
- | 'aggregate_credits'
86
- | 'episode_groups'
87
- | 'screened_theatrically'
88
- | 'keywords';
89
-
90
- export type AppendToResponsePersonKey =
91
- | 'images'
92
- | 'changes'
93
- | 'movie_credits'
94
- | 'tv_credits'
95
- | 'combined_credits'
96
- | 'external_ids'
97
- | 'tagged_images'
98
- | 'translations';
99
-
100
- export type AppendToResponseTvEpisodeKey = 'images' | 'credits' | 'external_ids' | 'videos' | 'translations';
101
-
102
- export type AppendToResponseTvSeasonKey =
103
- | 'images'
104
- | 'credits'
105
- | 'external_ids'
106
- | 'videos'
107
- | 'aggregate_credits'
108
- | 'translations';
109
-
110
- type AppendToResponseAllKeys =
111
- | AppendToResponseTvKey
112
- | AppendToResponseMovieKey
113
- | AppendToResponseTvEpisodeKey
114
- | AppendToResponseTvSeasonKey
115
- | AppendToResponsePersonKey;
116
-
117
- export type AppendToResponseMediaType = 'movie' | 'tvShow' | 'person' | 'tvSeason' | 'tvEpisode';
118
-
119
- export type AppendToResponse<
120
- K,
121
- T extends AppendToResponseAllKeys[] | undefined,
122
- Media extends AppendToResponseMediaType,
123
- > = K &
124
- (T extends undefined
125
- ? object
126
- : T extends Array<unknown>
127
- ? ('credits' extends T[number]
128
- ? {
129
- credits: Media extends 'tvEpisode' ? TvEpisodeCredit : Omit<Credits, 'id'>;
130
- }
131
- : object) &
132
- ('videos' extends T[number] ? { videos: Omit<Videos, 'id'> } : object) &
133
- ('images' extends T[number]
134
- ? {
135
- images: Omit<Media extends 'person' ? PeopleImages : Images, 'id'>;
136
- }
137
- : object) &
138
- ('recommendations' extends T[number] ? { recommendations: Recommendations } : object) &
139
- ('reviews' extends T[number] ? { reviews: Omit<Reviews, 'id'> } : object) &
140
- ('reviews' extends T[number] ? { reviews: Omit<Translations, 'id'> } : object) &
141
- ('changes' extends T[number]
142
- ? {
143
- changes: Changes<
144
- Media extends 'person'
145
- ? PersonChangeValue
146
- : Media extends 'movie'
147
- ? MovieChangeValue
148
- : Media extends 'tvShow'
149
- ? TvShowChangeValue
150
- : Media extends 'tvSeason'
151
- ? TvSeasonChangeValue
152
- : TvEpisodeChangeValue
153
- >;
154
- }
155
- : object) &
156
- ('keywords' extends T[number] ? { keywords: Omit<Keywords, 'id'> } : object) &
157
- ('lists' extends T[number] ? { lists: Omit<MovieLists, 'id'> } : object) &
158
- ('release_dates' extends T[number] ? { release_dates: Omit<ReleaseDates, 'id'> } : object) &
159
- ('alternative_titles' extends T[number] ? { alternative_titles: Omit<AlternativeTitles, 'id'> } : object) &
160
- ('external_ids' extends T[number] ? { external_ids: Omit<ExternalIds, 'id'> } : object) &
161
- ('translations' extends T[number]
162
- ? {
163
- translations: Omit<
164
- Media extends 'person'
165
- ? PersonTranslations
166
- : Media extends 'tvEpisode'
167
- ? TvEpisodeTranslations
168
- : Translations,
169
- 'id'
170
- >;
171
- }
172
- : object) &
173
- ('watch/providers' extends T[number] ? { 'watch/providers': Omit<WatchProviders, 'id'> } : object) &
174
- ('aggregate_credits' extends T[number] ? { aggregate_credits: Omit<Credits, 'id'> } : object) &
175
- ('episode_groups' extends T[number] ? { episode_groups: Omit<EpisodeGroups, 'id'> } : object) &
176
- ('screened_theatrically' extends T[number]
177
- ? { screened_theatrically: Omit<ScreenedTheatrically, 'id'> }
178
- : object) &
179
- ('similar' extends T[number]
180
- ? {
181
- similar: Media extends 'movie' ? SimilarMovies : Media extends 'tvShow' ? Similartv : unknown;
182
- }
183
- : object) &
184
- ('content_ratings' extends T[number] ? { content_ratings: Omit<ContentRatings, 'id'> } : object) &
185
- ('movie_credits' extends T[number] ? { movie_credits: Omit<PersonMovieCredit, 'id'> } : object) &
186
- ('tv_credits' extends T[number] ? { tv_credits: Omit<PersonTvShowCredit, 'id'> } : object) &
187
- ('combined_credits' extends T[number] ? { combined_credits: Omit<PersonCombinedCredits, 'id'> } : object) &
188
- ('tagged_images' extends T[number] ? { tagged_images: TaggedImages } : object)
189
- : never);
@@ -1,151 +0,0 @@
1
- import { Image, Movie, Person, TV } from '..';
2
-
3
- interface Cast {
4
- character: string;
5
- credit_id: string;
6
- vote_count: number;
7
- id: number;
8
- backdrop_path: string;
9
- poster_path: string;
10
- original_language: string;
11
- vote_average: number;
12
- genre_ids: number[];
13
- popularity: number;
14
- overview: string;
15
- }
16
-
17
- interface Crew {
18
- id: number;
19
- department: string;
20
- original_language: string;
21
- credit_id: string;
22
- overview: string;
23
- vote_count: number;
24
- poster_path: string;
25
- backdrop_path: string;
26
- popularity: number;
27
- genre_ids: number[];
28
- job: string;
29
- vote_average: number;
30
- }
31
-
32
- export interface PersonMovieCast extends Cast {
33
- release_date: string;
34
- video: boolean;
35
- adult: boolean;
36
- title: string;
37
- original_title: string;
38
- }
39
-
40
- export interface PersonMovieCrew extends Crew {
41
- original_title: string;
42
- video: boolean;
43
- title: string;
44
- adult: boolean;
45
- release_date: string;
46
- }
47
-
48
- export interface PersonTvShowCrew extends Crew {
49
- episode_count: number;
50
- origin_country: string[];
51
- original_name: string;
52
- name: string;
53
- first_air_date: string;
54
- }
55
-
56
- export interface PersonTvShowCast extends Cast {
57
- original_name: string;
58
- name: string;
59
- episode_count: number;
60
- first_air_date: string;
61
- origin_country: string[];
62
- }
63
-
64
- export interface PersonMovieCredit {
65
- cast: PersonMovieCast[];
66
- crew: PersonMovieCrew[];
67
- id: number;
68
- }
69
-
70
- export interface PersonTvShowCredit {
71
- cast: PersonTvShowCast[];
72
- crew: PersonTvShowCrew[];
73
- id: number;
74
- }
75
-
76
- export interface PersonCombinedCredits {
77
- cast: (PersonMovieCast & PersonTvShowCast)[];
78
- crew: (PersonMovieCrew & PersonTvShowCrew)[];
79
- id: number;
80
- }
81
-
82
- export interface PersonDetails {
83
- birthday: string;
84
- known_for_department: string;
85
- deathday: string;
86
- id: number;
87
- name: string;
88
- also_known_as: string[];
89
- gender: number;
90
- biography: string;
91
- popularity: number;
92
- place_of_birth: string;
93
- profile_path: string;
94
- adult: boolean;
95
- imdb_id: string;
96
- homepage: string;
97
- }
98
-
99
- export type PersonChangeValue =
100
- | string
101
- | {
102
- profile: {
103
- file_path: string;
104
- };
105
- };
106
-
107
- export interface PopularPersons {
108
- page: number;
109
- results: Person[];
110
- total_results: number;
111
- total_pages: number;
112
- }
113
-
114
- export interface PeopleImages {
115
- id: number;
116
- profiles: Image[];
117
- }
118
-
119
- export interface TaggedImage {
120
- aspect_ratio: number;
121
- file_path: string;
122
- height: number;
123
- id: string;
124
- iso_639_1: string;
125
- vote_average: number;
126
- vote_count: number;
127
- width: number;
128
- image_type: string;
129
- media_type: string;
130
- media: Movie | TV;
131
- }
132
-
133
- export interface TaggedImages {
134
- page: number;
135
- results: TaggedImage[];
136
- total_results: number;
137
- total_pages: number;
138
- }
139
-
140
- export interface PersonTranslations {
141
- id: number;
142
- translations: {
143
- iso_3166_1: string;
144
- iso_639_1: string;
145
- name: string;
146
- english_name: string;
147
- data: {
148
- biography: string;
149
- };
150
- };
151
- }
@@ -1,8 +0,0 @@
1
- import { Review } from '..';
2
-
3
- export interface ReviewDetails extends Review {
4
- iso_639_1: string;
5
- media_id: number;
6
- media_title: number;
7
- media_type: number;
8
- }
@@ -1,39 +0,0 @@
1
- import { LanguageOption, MovieWithMediaType, PageOption, PersonWithMediaType, RegionOption, TVWithMediaType } from '..';
2
-
3
- export interface Search<T> {
4
- page: number;
5
- results: T[];
6
- total_pages: number;
7
- total_results: number;
8
- }
9
-
10
- export type MultiSearchResult = MovieWithMediaType | TVWithMediaType | PersonWithMediaType;
11
-
12
- export interface SearchOptions {
13
- query: string;
14
- page?: number;
15
- }
16
-
17
- export interface MovieSearchOptions extends SearchOptions, LanguageOption, PageOption, RegionOption {
18
- include_adult?: boolean;
19
- year?: number;
20
- primary_release_year?: number;
21
- }
22
-
23
- export interface CollectionSearchOptions extends SearchOptions, LanguageOption, PageOption, RegionOption {
24
- include_adult?: boolean;
25
- }
26
-
27
- export interface TvSearchOptions extends SearchOptions, LanguageOption, PageOption {
28
- include_adult?: boolean;
29
- year?: number;
30
- first_air_date_year?: number;
31
- }
32
-
33
- export interface PeopleSearchOptions extends SearchOptions, LanguageOption, PageOption {
34
- include_adult?: boolean;
35
- }
36
-
37
- export interface MultiSearchOptions extends SearchOptions, LanguageOption, PageOption {
38
- include_adult?: boolean;
39
- }
@@ -1,20 +0,0 @@
1
- import { MediaType, Movie, MovieWithMediaType, Person, PersonWithMediaType, TV, TVWithMediaType } from '..';
2
-
3
- export type TimeWindow = 'day' | 'week';
4
-
5
- export type TrendingMediaType = MediaType | 'all';
6
-
7
- type TrendingResult<T extends TrendingMediaType> = T extends 'tv'
8
- ? TV
9
- : T extends 'movie'
10
- ? Movie
11
- : T extends 'person'
12
- ? Person
13
- : TVWithMediaType | MovieWithMediaType | PersonWithMediaType;
14
-
15
- export interface TrendingResults<T extends TrendingMediaType> {
16
- page: number;
17
- results: TrendingResult<T>[];
18
- total_pages: number;
19
- total_results: number;
20
- }
@@ -1,72 +0,0 @@
1
- import { Credits, Crew, LanguageOption } from '..';
2
-
3
- export interface EpisodeSelection {
4
- tvShowID: number;
5
- seasonNumber: number;
6
- episodeNumber: number;
7
- }
8
-
9
- export interface Episode {
10
- air_date: string;
11
- episode_number: number;
12
- crew: Crew[];
13
- guest_stars: GuestStar[];
14
- id: number;
15
- name: string;
16
- overview: string;
17
- production_code: string;
18
- season_number: number;
19
- still_path: string;
20
- vote_average: number;
21
- vote_count: number;
22
- runtime: number;
23
- show_id: number;
24
- }
25
-
26
- export interface GuestStar {
27
- credit_id: string;
28
- order: number;
29
- character: string;
30
- adult: boolean;
31
- gender: number | null;
32
- id: number;
33
- known_for_department: string;
34
- name: string;
35
- original_name: string;
36
- popularity: number;
37
- profile_path: string | null;
38
- }
39
-
40
- export interface TvEpisodeCredit extends Credits {
41
- guest_stars: GuestStar[];
42
- }
43
-
44
- export interface TvEpisodeTranslations {
45
- id: number;
46
- translations: {
47
- iso_3166_1: string;
48
- iso_639_1: string;
49
- name: string;
50
- english_name: string;
51
- data: {
52
- name: string;
53
- overview: string;
54
- };
55
- };
56
- }
57
-
58
- export type TvEpisodeChangeValue = string | unknown;
59
-
60
- export interface TvEpisodeImageSearchOptions extends LanguageOption {
61
- /**
62
- * a list of ISO-639-1 values to query
63
- */
64
- include_image_language?: string[];
65
- }
66
-
67
- export interface TvEpisodeVideoSearchOptions extends LanguageOption {
68
- /**
69
- * a list of ISO-639-1 values to query
70
- */
71
- include_video_language?: string[];
72
- }
@@ -1,37 +0,0 @@
1
- import { Episode, LanguageOption } from '..';
2
-
3
- export interface SeasonSelection {
4
- tvShowID: number;
5
- seasonNumber: number;
6
- }
7
-
8
- export interface SeasonDetails {
9
- air_date: string;
10
- episodes: Episode[];
11
- name: string;
12
- overview: string;
13
- id: number;
14
- poster_path: string | null;
15
- season_number: number;
16
- }
17
-
18
- export type TvSeasonChangeValue =
19
- | string
20
- | {
21
- episode_id: number;
22
- episode_number: number;
23
- };
24
-
25
- export interface TvSeasonImageSearchOptions extends LanguageOption {
26
- /**
27
- * a list of ISO-639-1 values to query
28
- */
29
- include_image_language?: string[];
30
- }
31
-
32
- export interface TvSeasonVideoSearchOptions extends LanguageOption {
33
- /**
34
- * a list of ISO-639-1 values to query
35
- */
36
- include_video_language?: string[];
37
- }