@lorenzopant/tmdb 1.1.5 → 1.1.7

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 (271) hide show
  1. package/dist/client.js +3 -7
  2. package/dist/endpoints/base.d.ts +2 -1
  3. package/dist/endpoints/base.d.ts.map +1 -1
  4. package/dist/endpoints/base.js +1 -5
  5. package/dist/endpoints/configuration.d.ts +1 -1
  6. package/dist/endpoints/configuration.d.ts.map +1 -1
  7. package/dist/endpoints/configuration.js +9 -13
  8. package/dist/endpoints/genres.d.ts +4 -4
  9. package/dist/endpoints/genres.d.ts.map +1 -1
  10. package/dist/endpoints/genres.js +5 -9
  11. package/dist/endpoints/movie_lists.d.ts +3 -3
  12. package/dist/endpoints/movie_lists.d.ts.map +1 -1
  13. package/dist/endpoints/movie_lists.js +5 -9
  14. package/dist/endpoints/movies.d.ts +4 -4
  15. package/dist/endpoints/movies.d.ts.map +1 -1
  16. package/dist/endpoints/movies.js +17 -21
  17. package/dist/endpoints/search.d.ts +5 -5
  18. package/dist/endpoints/search.d.ts.map +1 -1
  19. package/dist/endpoints/search.js +8 -12
  20. package/dist/endpoints/tv_series.d.ts +3 -3
  21. package/dist/endpoints/tv_series.d.ts.map +1 -1
  22. package/dist/endpoints/tv_series.js +4 -8
  23. package/dist/endpoints/tv_series_lists.d.ts +3 -4
  24. package/dist/endpoints/tv_series_lists.d.ts.map +1 -1
  25. package/dist/endpoints/tv_series_lists.js +5 -9
  26. package/dist/errors/messages.js +2 -5
  27. package/dist/errors/tmdb.js +1 -5
  28. package/dist/images/images.d.ts +1 -1
  29. package/dist/images/images.d.ts.map +1 -1
  30. package/dist/images/images.js +3 -7
  31. package/dist/index.d.ts +0 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +3 -22
  34. package/dist/routes.js +1 -4
  35. package/dist/scripts/check-exports.d.ts +2 -0
  36. package/dist/scripts/check-exports.d.ts.map +1 -0
  37. package/dist/scripts/check-exports.js +87 -0
  38. package/dist/scripts/find-missing.d.ts +2 -0
  39. package/dist/scripts/find-missing.d.ts.map +1 -0
  40. package/dist/scripts/find-missing.js +95 -0
  41. package/dist/scripts/generate-explicit-exports.d.ts +2 -0
  42. package/dist/scripts/generate-explicit-exports.d.ts.map +1 -0
  43. package/dist/scripts/generate-explicit-exports.js +47 -0
  44. package/dist/scripts/generate-index-files.d.ts +2 -0
  45. package/dist/scripts/generate-index-files.d.ts.map +1 -0
  46. package/dist/scripts/generate-index-files.js +27 -0
  47. package/dist/tmdb.d.ts +1 -1
  48. package/dist/tmdb.d.ts.map +1 -1
  49. package/dist/tmdb.js +21 -25
  50. package/dist/types/common/changes.d.ts +34 -0
  51. package/dist/types/common/changes.d.ts.map +1 -0
  52. package/dist/types/common/changes.js +1 -0
  53. package/dist/types/common/index.d.ts +5 -0
  54. package/dist/types/common/index.d.ts.map +1 -0
  55. package/dist/types/common/index.js +4 -0
  56. package/dist/types/common/media.d.ts +177 -0
  57. package/dist/types/common/media.d.ts.map +1 -0
  58. package/dist/types/common/media.js +2 -0
  59. package/dist/types/common/pagination.d.ts +7 -0
  60. package/dist/types/common/pagination.d.ts.map +1 -0
  61. package/dist/types/common/pagination.js +1 -0
  62. package/dist/types/{params/common.d.ts → common/params.d.ts} +3 -3
  63. package/dist/types/common/params.d.ts.map +1 -0
  64. package/dist/types/common/params.js +1 -0
  65. package/dist/types/config/configuration.d.ts +48 -0
  66. package/dist/types/config/configuration.d.ts.map +1 -0
  67. package/dist/types/config/configuration.js +1 -0
  68. package/dist/types/{countries.d.ts → config/countries.d.ts} +3 -0
  69. package/dist/types/{countries.d.ts.map → config/countries.d.ts.map} +1 -1
  70. package/dist/types/{countries.js → config/countries.js} +1 -4
  71. package/dist/types/config/images.d.ts +50 -0
  72. package/dist/types/config/images.d.ts.map +1 -0
  73. package/dist/types/config/images.js +13 -0
  74. package/dist/types/config/index.d.ts +7 -0
  75. package/dist/types/config/index.d.ts.map +1 -0
  76. package/dist/types/config/index.js +6 -0
  77. package/dist/types/{lang.d.ts → config/languages.d.ts} +2 -3
  78. package/dist/types/{lang.d.ts.map → config/languages.d.ts.map} +1 -1
  79. package/dist/types/config/languages.js +1 -0
  80. package/dist/types/config/options.d.ts +30 -0
  81. package/dist/types/config/options.d.ts.map +1 -0
  82. package/dist/types/config/options.js +1 -0
  83. package/dist/types/{timezones.d.ts.map → config/timezones.d.ts.map} +1 -1
  84. package/dist/types/{timezones.js → config/timezones.js} +1 -2
  85. package/dist/types/enums.js +2 -5
  86. package/dist/types/index.d.ts +5 -5
  87. package/dist/types/index.d.ts.map +1 -1
  88. package/dist/types/index.js +8 -24
  89. package/dist/types/movies/alternative_titles.d.ts +21 -0
  90. package/dist/types/movies/alternative_titles.d.ts.map +1 -0
  91. package/dist/types/movies/alternative_titles.js +1 -0
  92. package/dist/types/movies/changes.d.ts +3 -0
  93. package/dist/types/movies/changes.d.ts.map +1 -0
  94. package/dist/types/movies/changes.js +1 -0
  95. package/dist/types/movies/credits.d.ts +13 -0
  96. package/dist/types/movies/credits.d.ts.map +1 -0
  97. package/dist/types/movies/credits.js +1 -0
  98. package/dist/types/movies/external_ids.d.ts +16 -0
  99. package/dist/types/movies/external_ids.d.ts.map +1 -0
  100. package/dist/types/movies/external_ids.js +1 -0
  101. package/dist/types/movies/images.d.ts +15 -0
  102. package/dist/types/movies/images.d.ts.map +1 -0
  103. package/dist/types/movies/images.js +1 -0
  104. package/dist/types/movies/index.d.ts +16 -0
  105. package/dist/types/movies/index.d.ts.map +1 -0
  106. package/dist/types/movies/index.js +15 -0
  107. package/dist/types/movies/keywords.d.ts +11 -0
  108. package/dist/types/movies/keywords.d.ts.map +1 -0
  109. package/dist/types/movies/keywords.js +1 -0
  110. package/dist/types/movies/movie.d.ts +106 -0
  111. package/dist/types/movies/movie.d.ts.map +1 -0
  112. package/dist/types/movies/movie.js +1 -0
  113. package/dist/types/movies/params.d.ts +99 -0
  114. package/dist/types/movies/params.d.ts.map +1 -0
  115. package/dist/types/movies/params.js +1 -0
  116. package/dist/types/movies/reccomendations.d.ts +7 -0
  117. package/dist/types/movies/reccomendations.d.ts.map +1 -0
  118. package/dist/types/movies/reccomendations.js +1 -0
  119. package/dist/types/movies/release_dates.d.ts +37 -0
  120. package/dist/types/movies/release_dates.d.ts.map +1 -0
  121. package/dist/types/movies/release_dates.js +1 -0
  122. package/dist/types/movies/reviews.d.ts +38 -0
  123. package/dist/types/movies/reviews.d.ts.map +1 -0
  124. package/dist/types/movies/reviews.js +1 -0
  125. package/dist/types/movies/similar.d.ts +7 -0
  126. package/dist/types/movies/similar.d.ts.map +1 -0
  127. package/dist/types/movies/similar.js +1 -0
  128. package/dist/types/movies/translations.d.ts +36 -0
  129. package/dist/types/movies/translations.d.ts.map +1 -0
  130. package/dist/types/movies/translations.js +1 -0
  131. package/dist/types/movies/videos.d.ts +11 -0
  132. package/dist/types/movies/videos.d.ts.map +1 -0
  133. package/dist/types/movies/videos.js +1 -0
  134. package/dist/types/movies/watch_providers.d.ts +37 -0
  135. package/dist/types/movies/watch_providers.d.ts.map +1 -0
  136. package/dist/types/movies/watch_providers.js +1 -0
  137. package/dist/types/networks/alternative_names.d.ts +1 -0
  138. package/dist/types/networks/alternative_names.d.ts.map +1 -0
  139. package/dist/types/networks/alternative_names.js +1 -0
  140. package/dist/types/networks/images.d.ts +1 -0
  141. package/dist/types/networks/images.d.ts.map +1 -0
  142. package/dist/types/networks/images.js +1 -0
  143. package/dist/types/networks/index.d.ts +2 -0
  144. package/dist/types/networks/index.d.ts.map +1 -0
  145. package/dist/types/networks/index.js +1 -0
  146. package/dist/types/{networks.d.ts → networks/network.d.ts} +2 -2
  147. package/dist/types/networks/network.d.ts.map +1 -0
  148. package/dist/types/networks/network.js +1 -0
  149. package/dist/types/person/index.d.ts +2 -0
  150. package/dist/types/person/index.d.ts.map +1 -0
  151. package/dist/types/person/index.js +1 -0
  152. package/dist/types/{person.d.ts → person/person.d.ts} +2 -5
  153. package/dist/types/person/person.d.ts.map +1 -0
  154. package/dist/types/person/person.js +1 -0
  155. package/dist/types/search/collection.d.ts +22 -0
  156. package/dist/types/search/collection.d.ts.map +1 -0
  157. package/dist/types/search/collection.js +1 -0
  158. package/dist/types/search/company.d.ts +15 -0
  159. package/dist/types/search/company.d.ts.map +1 -0
  160. package/dist/types/search/company.js +1 -0
  161. package/dist/types/search/index.d.ts +7 -0
  162. package/dist/types/search/index.d.ts.map +1 -0
  163. package/dist/types/search/index.js +6 -0
  164. package/dist/types/search/keyword.d.ts +10 -0
  165. package/dist/types/search/keyword.d.ts.map +1 -0
  166. package/dist/types/search/keyword.js +1 -0
  167. package/dist/types/search/movies.d.ts +34 -0
  168. package/dist/types/search/movies.d.ts.map +1 -0
  169. package/dist/types/search/movies.js +1 -0
  170. package/dist/types/search/multi.d.ts +1 -0
  171. package/dist/types/search/multi.d.ts.map +1 -0
  172. package/dist/types/search/multi.js +1 -0
  173. package/dist/types/search/params.d.ts +37 -0
  174. package/dist/types/search/params.d.ts.map +1 -0
  175. package/dist/types/search/params.js +1 -0
  176. package/dist/types/search/tv.d.ts +39 -0
  177. package/dist/types/search/tv.d.ts.map +1 -0
  178. package/dist/types/search/tv.js +1 -0
  179. package/dist/types/tv/{tv_credits.d.ts → aggregate_credits.d.ts} +12 -1
  180. package/dist/types/tv/aggregate_credits.d.ts.map +1 -0
  181. package/dist/types/tv/aggregate_credits.js +1 -0
  182. package/dist/types/tv/credits.d.ts +15 -0
  183. package/dist/types/tv/credits.d.ts.map +1 -0
  184. package/dist/types/tv/credits.js +1 -0
  185. package/dist/types/tv/{tv_episodes.d.ts → episodes.d.ts} +1 -1
  186. package/dist/types/tv/episodes.d.ts.map +1 -0
  187. package/dist/types/tv/episodes.js +1 -0
  188. package/dist/types/tv/external_ids.d.ts +16 -0
  189. package/dist/types/tv/external_ids.d.ts.map +1 -0
  190. package/dist/types/tv/external_ids.js +1 -0
  191. package/dist/types/tv/images.d.ts +18 -0
  192. package/dist/types/tv/images.d.ts.map +1 -0
  193. package/dist/types/tv/images.js +1 -0
  194. package/dist/types/tv/index.d.ts +13 -0
  195. package/dist/types/tv/index.d.ts.map +1 -0
  196. package/dist/types/tv/index.js +12 -0
  197. package/dist/types/tv/keywords.d.ts +11 -0
  198. package/dist/types/tv/keywords.d.ts.map +1 -0
  199. package/dist/types/tv/keywords.js +1 -0
  200. package/dist/types/{params/tv.d.ts → tv/params.d.ts} +3 -3
  201. package/dist/types/tv/params.d.ts.map +1 -0
  202. package/dist/types/tv/params.js +1 -0
  203. package/dist/types/tv/reccomendations.d.ts +5 -0
  204. package/dist/types/tv/reccomendations.d.ts.map +1 -0
  205. package/dist/types/tv/reccomendations.js +1 -0
  206. package/dist/types/tv/{tv_seasons.d.ts → seasons.d.ts} +1 -1
  207. package/dist/types/tv/seasons.d.ts.map +1 -0
  208. package/dist/types/tv/seasons.js +1 -0
  209. package/dist/types/tv/similar.d.ts +5 -0
  210. package/dist/types/tv/similar.d.ts.map +1 -0
  211. package/dist/types/tv/similar.js +1 -0
  212. package/dist/types/tv/tv_series.d.ts +11 -42
  213. package/dist/types/tv/tv_series.d.ts.map +1 -1
  214. package/dist/types/tv/tv_series.js +1 -2
  215. package/dist/types/tv/videos.d.ts +9 -0
  216. package/dist/types/tv/videos.d.ts.map +1 -0
  217. package/dist/types/tv/videos.js +1 -0
  218. package/dist/types/utility.d.ts +7 -49
  219. package/dist/types/utility.d.ts.map +1 -1
  220. package/dist/types/utility.js +10 -2
  221. package/package.json +8 -2
  222. package/tsconfig.json +2 -2
  223. package/dist/types/collections.d.ts +0 -11
  224. package/dist/types/collections.d.ts.map +0 -1
  225. package/dist/types/collections.js +0 -2
  226. package/dist/types/common.d.ts +0 -110
  227. package/dist/types/common.d.ts.map +0 -1
  228. package/dist/types/common.js +0 -3
  229. package/dist/types/companies.d.ts +0 -8
  230. package/dist/types/companies.d.ts.map +0 -1
  231. package/dist/types/companies.js +0 -2
  232. package/dist/types/configuration.d.ts +0 -31
  233. package/dist/types/configuration.d.ts.map +0 -1
  234. package/dist/types/configuration.js +0 -2
  235. package/dist/types/genres.d.ts +0 -8
  236. package/dist/types/genres.d.ts.map +0 -1
  237. package/dist/types/genres.js +0 -2
  238. package/dist/types/images.d.ts +0 -14
  239. package/dist/types/images.d.ts.map +0 -1
  240. package/dist/types/images.js +0 -16
  241. package/dist/types/intl.d.ts +0 -2
  242. package/dist/types/intl.d.ts.map +0 -1
  243. package/dist/types/intl.js +0 -2
  244. package/dist/types/keywords.d.ts +0 -5
  245. package/dist/types/keywords.d.ts.map +0 -1
  246. package/dist/types/keywords.js +0 -2
  247. package/dist/types/lang.js +0 -940
  248. package/dist/types/movies.d.ts +0 -171
  249. package/dist/types/movies.d.ts.map +0 -1
  250. package/dist/types/movies.js +0 -3
  251. package/dist/types/networks.d.ts.map +0 -1
  252. package/dist/types/networks.js +0 -2
  253. package/dist/types/params/common.d.ts.map +0 -1
  254. package/dist/types/params/common.js +0 -2
  255. package/dist/types/params/tv.d.ts.map +0 -1
  256. package/dist/types/params/tv.js +0 -2
  257. package/dist/types/params.d.ts +0 -84
  258. package/dist/types/params.d.ts.map +0 -1
  259. package/dist/types/params.js +0 -2
  260. package/dist/types/person.d.ts.map +0 -1
  261. package/dist/types/person.js +0 -2
  262. package/dist/types/tv/tv_credits.d.ts.map +0 -1
  263. package/dist/types/tv/tv_credits.js +0 -2
  264. package/dist/types/tv/tv_episodes.d.ts.map +0 -1
  265. package/dist/types/tv/tv_episodes.js +0 -2
  266. package/dist/types/tv/tv_others.d.ts +0 -81
  267. package/dist/types/tv/tv_others.d.ts.map +0 -1
  268. package/dist/types/tv/tv_others.js +0 -2
  269. package/dist/types/tv/tv_seasons.d.ts.map +0 -1
  270. package/dist/types/tv/tv_seasons.js +0 -2
  271. /package/dist/types/{timezones.d.ts → config/timezones.d.ts} +0 -0
@@ -0,0 +1,9 @@
1
+ import { VideoItem } from "../common";
2
+ /** List of videos related to a TV show. */
3
+ export type TVVideos = {
4
+ /** TMDB unique identifier for the TV show. */
5
+ id: number;
6
+ /** List of video results. */
7
+ results: VideoItem[];
8
+ };
9
+ //# sourceMappingURL=videos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"videos.d.ts","sourceRoot":"","sources":["../../../src/types/tv/videos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG;IACtB,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IAEX,6BAA6B;IAC7B,OAAO,EAAE,SAAS,EAAE,CAAC;CACrB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,52 +1,4 @@
1
- import { CountryISO3166_1 } from "./countries";
2
- import { BackdropSize, LogoSize, PosterSize, ProfileSize, StillSize } from "./images";
3
- import { Language } from "./lang";
4
- import { Timezone } from "./timezones";
5
- export type TMDBOptions = {
6
- /**
7
- * The language to use for requests (ISO 639-1 code)
8
- * This provides localization and translated data.
9
- */
10
- language?: Language;
11
- /**
12
- * Region codes follow ISO 3166-1 (e.g. 'US', 'IT', 'JP') and are used to localize results.
13
- * They affect release dates, age certifications, watch providers, and filtered movie lists.
14
- * Example: 'region=IT' returns Italian-specific results for now playing, watch providers, etc.
15
- * If not set, TMDB may fall back to a default or global data.
16
- */
17
- region?: CountryISO3166_1;
18
- /**
19
- * Provide images default configuration
20
- */
21
- images?: ImagesConfig;
22
- /**
23
- * Provide a timezone default for all the TV Series related queries
24
- * which support the timezone param.
25
- * The timezone is used to calculate the “today” for airing TV shows.
26
- * Read more: https://www.themoviedb.org/talk/54c554679251416eae010d6d
27
- */
28
- timezone?: Timezone;
29
- };
30
- export type ImagesConfig = {
31
- /**
32
- * Whether to use the secure (HTTPS) image base URL.
33
- * Defaults to true. Set to false only if working in an environment where HTTPS is not supported
34
- * or where you explicitly need non-secure image URLs.
35
- */
36
- secure_images_url?: boolean;
37
- /**
38
- * Provide default image size configuration for each type of images.
39
- */
40
- default_image_sizes?: Partial<DefaultImageSizesConfig>;
41
- };
42
- export type DefaultImageSizesConfig = {
43
- posters?: PosterSize;
44
- backdrops?: BackdropSize;
45
- logos?: LogoSize;
46
- profiles?: ProfileSize;
47
- still?: StillSize;
48
- };
49
- export type MediaType = "movie" | "tv";
1
+ import { KnownForItem, KnownForMovie, KnownForTV } from "./common";
50
2
  /**
51
3
  * Forces TypeScript to resolve and display the final shape of a type.
52
4
  * Useful for seeing the actual properties when hovering in the IDE.
@@ -54,4 +6,10 @@ export type MediaType = "movie" | "tv";
54
6
  export type Prettify<T> = T extends object ? (T extends infer O ? {
55
7
  [K in keyof O]: Prettify<O[K]>;
56
8
  } : never) : T;
9
+ /**
10
+ * Type guard checks for KnowForItems (tv or movie)
11
+ * @returns
12
+ */
13
+ export declare function isKnownForMovie(item: KnownForItem): item is KnownForMovie;
14
+ export declare function isKnownForTV(item: KnownForItem): item is KnownForTV;
57
15
  //# sourceMappingURL=utility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/types/utility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,MAAM,WAAW,GAAG;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC;AAEvC;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/types/utility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEnE;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAElH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,IAAI,aAAa,CAEzE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,IAAI,UAAU,CAEnE"}
@@ -1,2 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ /**
2
+ * Type guard checks for KnowForItems (tv or movie)
3
+ * @returns
4
+ */
5
+ export function isKnownForMovie(item) {
6
+ return item.media_type === "movie";
7
+ }
8
+ export function isKnownForTV(item) {
9
+ return item.media_type === "tv";
10
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lorenzopant/tmdb",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "description": "A completely type-safe The Movie Database (TMDB) API wrapper for typescript applications.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -37,6 +37,8 @@
37
37
  "husky": "^9.1.7",
38
38
  "release-it": "^19.0.3",
39
39
  "release-it-pnpm": "^4.6.6",
40
+ "ts-morph": "^27.0.2",
41
+ "tsx": "^4.21.0",
40
42
  "typescript": "^5.8.3",
41
43
  "typescript-eslint": "^8.35.0",
42
44
  "vite": "^7.0.0",
@@ -62,6 +64,10 @@
62
64
  "release": "pnpm release:patch",
63
65
  "release:patch": "pnpm version patch --git-tag-version && git push --follow-tags",
64
66
  "release:minor": "pnpm version minor --git-tag-version && git push --follow-tags",
65
- "release:major": "pnpm version major --git-tag-version && git push --follow-tags"
67
+ "release:major": "pnpm version major --git-tag-version && git push --follow-tags",
68
+ "generate-indexes": "tsx src/scripts/generate-index-files.ts",
69
+ "generate-exports": "tsx src/scripts/generate-explicit-exports.ts",
70
+ "prebuild": "npm run generate-indexes",
71
+ "check-exports": "tsx src/scripts/check-exports.ts"
66
72
  }
67
73
  }
package/tsconfig.json CHANGED
@@ -26,9 +26,9 @@
26
26
  // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
27
27
 
28
28
  /* Modules */
29
- "module": "nodenext" /* Specify what module code is generated. */,
29
+ "module": "esnext" /* Specify what module code is generated. */,
30
30
  "rootDir": "src" /* Specify the root folder within your source files. */,
31
- "moduleResolution": "nodenext" /* Specify how TypeScript looks up a file from a given module specifier. */,
31
+ "moduleResolution": "bundler" /* Specify how TypeScript looks up a file from a given module specifier. */,
32
32
  // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
33
33
  // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
34
34
  // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
@@ -1,11 +0,0 @@
1
- export type SearchCollectionItem = {
2
- adult: boolean;
3
- backdrop_path: string;
4
- id: number;
5
- name: string;
6
- original_name: string;
7
- original_language: string;
8
- overview: string;
9
- poster_path: string;
10
- };
11
- //# sourceMappingURL=collections.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/types/collections.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,110 +0,0 @@
1
- /**
2
- * Represents a genre of a movie or TV show.
3
- */
4
- export type Genre = {
5
- id: number;
6
- name: string;
7
- };
8
- /**
9
- * Represents a production company involved in creating a movie or TV show.
10
- */
11
- export type ProductionCompany = {
12
- id: number;
13
- logo_path: string | null;
14
- name: string;
15
- origin_country: string;
16
- };
17
- /**
18
- * Represents a country where a movie or TV show was produced.
19
- */
20
- export type ProductionCountry = {
21
- iso_3166_1: string;
22
- name: string;
23
- };
24
- /**
25
- * Represents a spoken language in a movie or TV show.
26
- */
27
- export type SpokenLanguage = {
28
- english_name: string;
29
- iso_639_1: string;
30
- name: string;
31
- };
32
- /**
33
- * Represents a collection of movies.
34
- */
35
- export type Collection = {
36
- id: number;
37
- name: string;
38
- poster_path: string | null;
39
- backdrop_path: string | null;
40
- };
41
- /**
42
- * Represents common class for cast and crew types
43
- */
44
- export type Credit = {
45
- adult: boolean;
46
- gender: number | null;
47
- id: number;
48
- known_for_department: string;
49
- name: string;
50
- original_name: string;
51
- popularity: number;
52
- profile_path?: string | null;
53
- credit_id: string;
54
- };
55
- /**
56
- * Represents a cast member in a movie or TV show.
57
- */
58
- export type Cast = Credit & {
59
- cast_id: number;
60
- character: string;
61
- order: number;
62
- };
63
- /**
64
- * Represents a crew member in a movie or TV show.
65
- */
66
- export type Crew = Credit & {
67
- department: string;
68
- job: string;
69
- };
70
- export type Keyword = {
71
- id: number;
72
- name: string;
73
- };
74
- export type Changes = {
75
- changes: Change[];
76
- };
77
- export type Change = {
78
- key: string;
79
- items: ChangeItem[];
80
- };
81
- export type ChangeItem = {
82
- id: number;
83
- action: string;
84
- time: string;
85
- iso_639_1: string;
86
- iso_3166_1: string;
87
- value: object;
88
- };
89
- export type ImageItem = {
90
- aspect_ratio: number;
91
- height: number;
92
- iso_639_1: string | null;
93
- file_path: string;
94
- vote_average: number;
95
- vote_count: number;
96
- width: number;
97
- };
98
- export type VideoItem = {
99
- iso_649_1: string;
100
- iso_3166_1: string;
101
- name: string;
102
- key: string;
103
- site: string;
104
- size: number;
105
- type: string;
106
- official: boolean;
107
- published_at: string;
108
- id: string;
109
- };
110
- //# sourceMappingURL=common.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- // src/types/common.ts
3
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,8 +0,0 @@
1
- import { CountryISO3166_1 } from "./countries";
2
- export type SearchCompanyItem = {
3
- id: number;
4
- logo_path: string;
5
- name: string;
6
- origin_country: CountryISO3166_1;
7
- };
8
- //# sourceMappingURL=companies.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"companies.d.ts","sourceRoot":"","sources":["../../src/types/companies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,gBAAgB,CAAC;CACjC,CAAC"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,31 +0,0 @@
1
- import { Language } from "./lang";
2
- export type ImageConfiguration = {
3
- base_url: string;
4
- secure_base_url: string;
5
- backdrop_sizes: string[];
6
- logo_sizes: string[];
7
- poster_sizes: string[];
8
- profile_sizes: string[];
9
- still_sizes: string[];
10
- };
11
- export type ConfigurationResponse = {
12
- images: ImageConfiguration;
13
- change_keys: string[];
14
- };
15
- export type ConfigurationCountriesParams = {
16
- language?: Language;
17
- };
18
- export type ConfigurationJob = {
19
- department: string;
20
- jobs: string[];
21
- };
22
- export type ConfigurationLanguage = {
23
- iso_639_1: string;
24
- english_name: string;
25
- name: string;
26
- };
27
- export type ConfigurationTimezone = {
28
- iso_3166_1: string;
29
- zones: string[];
30
- };
31
- //# sourceMappingURL=configuration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/types/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,8 +0,0 @@
1
- export type Genre = {
2
- id: number;
3
- name: string;
4
- };
5
- export type GenresResponse = {
6
- genres: Genre[];
7
- };
8
- //# sourceMappingURL=genres.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"genres.d.ts","sourceRoot":"","sources":["../../src/types/genres.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,KAAK,EAAE,CAAC;CAChB,CAAC"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,14 +0,0 @@
1
- export declare const IMAGE_BASE_URL = "http://image.tmdb.org/t/p/";
2
- export declare const IMAGE_SECURE_BASE_URL = "https://image.tmdb.org/t/p/";
3
- export declare const BACKDROP_SIZES: readonly ["w300", "w780", "w1280", "original"];
4
- export type BackdropSize = (typeof BACKDROP_SIZES)[number];
5
- export declare const LOGO_SIZES: readonly ["w45", "w92", "w154", "w185", "w300", "w500", "original"];
6
- export type LogoSize = (typeof LOGO_SIZES)[number];
7
- export declare const POSTER_SIZES: readonly ["w92", "w154", "w185", "w342", "w500", "w780", "original"];
8
- export type PosterSize = (typeof POSTER_SIZES)[number];
9
- export declare const PROFILE_SIZES: readonly ["w45", "w185", "h632", "original"];
10
- export type ProfileSize = (typeof PROFILE_SIZES)[number];
11
- export declare const STILL_SIZES: readonly ["w92", "w185", "w300", "original"];
12
- export type StillSize = (typeof STILL_SIZES)[number];
13
- export type ImageSize = BackdropSize | LogoSize | PosterSize | ProfileSize | StillSize;
14
- //# sourceMappingURL=images.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/types/images.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,+BAA+B,CAAC;AAC3D,eAAO,MAAM,qBAAqB,gCAAgC,CAAC;AAGnE,eAAO,MAAM,cAAc,gDAAiD,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAG3D,eAAO,MAAM,UAAU,qEAAsE,CAAC;AAC9F,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAGnD,eAAO,MAAM,YAAY,sEAAuE,CAAC;AACjG,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAGvD,eAAO,MAAM,aAAa,8CAA+C,CAAC;AAC1E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAGzD,eAAO,MAAM,WAAW,8CAA+C,CAAC;AACxE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAGrD,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.STILL_SIZES = exports.PROFILE_SIZES = exports.POSTER_SIZES = exports.LOGO_SIZES = exports.BACKDROP_SIZES = exports.IMAGE_SECURE_BASE_URL = exports.IMAGE_BASE_URL = void 0;
4
- // Image base URLs
5
- exports.IMAGE_BASE_URL = "http://image.tmdb.org/t/p/";
6
- exports.IMAGE_SECURE_BASE_URL = "https://image.tmdb.org/t/p/";
7
- // Backdrop sizes
8
- exports.BACKDROP_SIZES = ["w300", "w780", "w1280", "original"];
9
- // Logo sizes
10
- exports.LOGO_SIZES = ["w45", "w92", "w154", "w185", "w300", "w500", "original"];
11
- // Poster sizes
12
- exports.POSTER_SIZES = ["w92", "w154", "w185", "w342", "w500", "w780", "original"];
13
- // Profile sizes
14
- exports.PROFILE_SIZES = ["w45", "w185", "h632", "original"];
15
- // Still sizes
16
- exports.STILL_SIZES = ["w92", "w185", "w300", "original"];
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=intl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intl.d.ts","sourceRoot":"","sources":["../../src/types/intl.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +0,0 @@
1
- export type SearchKeywordItem = {
2
- id: number;
3
- name: string;
4
- };
5
- //# sourceMappingURL=keywords.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keywords.d.ts","sourceRoot":"","sources":["../../src/types/keywords.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACb,CAAC"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });