@tdanks2000/tmdb-wrapper 1.2.0 → 1.3.1

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 (167) hide show
  1. package/dist/index.cjs +1598 -0
  2. package/dist/index.d.cts +2812 -0
  3. package/dist/index.d.cts.map +1 -0
  4. package/dist/index.d.mts +2812 -0
  5. package/dist/index.d.mts.map +1 -0
  6. package/dist/index.mjs +1563 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +70 -61
  9. package/dist/@types/endpoints/account.d.ts +0 -16
  10. package/dist/@types/endpoints/account.d.ts.map +0 -1
  11. package/dist/@types/endpoints/account.js +0 -2
  12. package/dist/@types/endpoints/certification.d.ts +0 -19
  13. package/dist/@types/endpoints/certification.d.ts.map +0 -1
  14. package/dist/@types/endpoints/certification.js +0 -2
  15. package/dist/@types/endpoints/changes.d.ts +0 -26
  16. package/dist/@types/endpoints/changes.d.ts.map +0 -1
  17. package/dist/@types/endpoints/changes.js +0 -2
  18. package/dist/@types/endpoints/collection.d.ts +0 -21
  19. package/dist/@types/endpoints/collection.d.ts.map +0 -1
  20. package/dist/@types/endpoints/collection.js +0 -2
  21. package/dist/@types/endpoints/companies.d.ts +0 -29
  22. package/dist/@types/endpoints/companies.d.ts.map +0 -1
  23. package/dist/@types/endpoints/companies.js +0 -2
  24. package/dist/@types/endpoints/configuration.d.ts +0 -106
  25. package/dist/@types/endpoints/configuration.d.ts.map +0 -1
  26. package/dist/@types/endpoints/configuration.js +0 -101
  27. package/dist/@types/endpoints/credits.d.ts +0 -135
  28. package/dist/@types/endpoints/credits.d.ts.map +0 -1
  29. package/dist/@types/endpoints/credits.js +0 -2
  30. package/dist/@types/endpoints/discover.d.ts +0 -68
  31. package/dist/@types/endpoints/discover.d.ts.map +0 -1
  32. package/dist/@types/endpoints/discover.js +0 -2
  33. package/dist/@types/endpoints/find.d.ts +0 -20
  34. package/dist/@types/endpoints/find.d.ts.map +0 -1
  35. package/dist/@types/endpoints/find.js +0 -2
  36. package/dist/@types/endpoints/genre.d.ts +0 -7
  37. package/dist/@types/endpoints/genre.d.ts.map +0 -1
  38. package/dist/@types/endpoints/genre.js +0 -2
  39. package/dist/@types/endpoints/index.d.ts +0 -23
  40. package/dist/@types/endpoints/index.d.ts.map +0 -1
  41. package/dist/@types/endpoints/index.js +0 -38
  42. package/dist/@types/endpoints/keywords.d.ts +0 -21
  43. package/dist/@types/endpoints/keywords.d.ts.map +0 -1
  44. package/dist/@types/endpoints/keywords.js +0 -2
  45. package/dist/@types/endpoints/movies.d.ts +0 -150
  46. package/dist/@types/endpoints/movies.d.ts.map +0 -1
  47. package/dist/@types/endpoints/movies.js +0 -12
  48. package/dist/@types/endpoints/networks.d.ts +0 -14
  49. package/dist/@types/endpoints/networks.d.ts.map +0 -1
  50. package/dist/@types/endpoints/networks.js +0 -2
  51. package/dist/@types/endpoints/options.d.ts +0 -71
  52. package/dist/@types/endpoints/options.d.ts.map +0 -1
  53. package/dist/@types/endpoints/options.js +0 -2
  54. package/dist/@types/endpoints/people.d.ts +0 -135
  55. package/dist/@types/endpoints/people.d.ts.map +0 -1
  56. package/dist/@types/endpoints/people.js +0 -2
  57. package/dist/@types/endpoints/review.d.ts +0 -8
  58. package/dist/@types/endpoints/review.d.ts.map +0 -1
  59. package/dist/@types/endpoints/review.js +0 -2
  60. package/dist/@types/endpoints/search.d.ts +0 -32
  61. package/dist/@types/endpoints/search.d.ts.map +0 -1
  62. package/dist/@types/endpoints/search.js +0 -2
  63. package/dist/@types/endpoints/trending.d.ts +0 -12
  64. package/dist/@types/endpoints/trending.d.ts.map +0 -1
  65. package/dist/@types/endpoints/trending.js +0 -2
  66. package/dist/@types/endpoints/tvEpisode.d.ts +0 -65
  67. package/dist/@types/endpoints/tvEpisode.d.ts.map +0 -1
  68. package/dist/@types/endpoints/tvEpisode.js +0 -2
  69. package/dist/@types/endpoints/tvSeasons.d.ts +0 -31
  70. package/dist/@types/endpoints/tvSeasons.d.ts.map +0 -1
  71. package/dist/@types/endpoints/tvSeasons.js +0 -2
  72. package/dist/@types/endpoints/tvShows.d.ts +0 -260
  73. package/dist/@types/endpoints/tvShows.d.ts.map +0 -1
  74. package/dist/@types/endpoints/tvShows.js +0 -2
  75. package/dist/@types/endpoints/watchProviders.d.ts +0 -303
  76. package/dist/@types/endpoints/watchProviders.d.ts.map +0 -1
  77. package/dist/@types/endpoints/watchProviders.js +0 -2
  78. package/dist/@types/index.d.ts +0 -4
  79. package/dist/@types/index.d.ts.map +0 -1
  80. package/dist/@types/index.js +0 -19
  81. package/dist/@types/models/baseEndpoint.d.ts +0 -8
  82. package/dist/@types/models/baseEndpoint.d.ts.map +0 -1
  83. package/dist/@types/models/baseEndpoint.js +0 -11
  84. package/dist/@types/models/index.d.ts +0 -2
  85. package/dist/@types/models/index.d.ts.map +0 -1
  86. package/dist/@types/models/index.js +0 -17
  87. package/dist/@types/types.d.ts +0 -179
  88. package/dist/@types/types.d.ts.map +0 -1
  89. package/dist/@types/types.js +0 -2
  90. package/dist/endpoints/account.d.ts +0 -18
  91. package/dist/endpoints/account.d.ts.map +0 -1
  92. package/dist/endpoints/account.js +0 -25
  93. package/dist/endpoints/certification.d.ts +0 -23
  94. package/dist/endpoints/certification.d.ts.map +0 -1
  95. package/dist/endpoints/certification.js +0 -32
  96. package/dist/endpoints/changes.d.ts +0 -31
  97. package/dist/endpoints/changes.d.ts.map +0 -1
  98. package/dist/endpoints/changes.js +0 -42
  99. package/dist/endpoints/collections.d.ts +0 -34
  100. package/dist/endpoints/collections.d.ts.map +0 -1
  101. package/dist/endpoints/collections.js +0 -50
  102. package/dist/endpoints/companies.d.ts +0 -31
  103. package/dist/endpoints/companies.d.ts.map +0 -1
  104. package/dist/endpoints/companies.js +0 -42
  105. package/dist/endpoints/configuration.d.ts +0 -18
  106. package/dist/endpoints/configuration.d.ts.map +0 -1
  107. package/dist/endpoints/configuration.js +0 -25
  108. package/dist/endpoints/credits.d.ts +0 -19
  109. package/dist/endpoints/credits.d.ts.map +0 -1
  110. package/dist/endpoints/credits.js +0 -26
  111. package/dist/endpoints/discover.d.ts +0 -25
  112. package/dist/endpoints/discover.d.ts.map +0 -1
  113. package/dist/endpoints/discover.js +0 -35
  114. package/dist/endpoints/find.d.ts +0 -20
  115. package/dist/endpoints/find.d.ts.map +0 -1
  116. package/dist/endpoints/find.js +0 -27
  117. package/dist/endpoints/genre.d.ts +0 -25
  118. package/dist/endpoints/genre.d.ts.map +0 -1
  119. package/dist/endpoints/genre.js +0 -34
  120. package/dist/endpoints/index.d.ts +0 -22
  121. package/dist/endpoints/index.d.ts.map +0 -1
  122. package/dist/endpoints/index.js +0 -37
  123. package/dist/endpoints/keywords.d.ts +0 -26
  124. package/dist/endpoints/keywords.d.ts.map +0 -1
  125. package/dist/endpoints/keywords.js +0 -36
  126. package/dist/endpoints/movies.d.ts +0 -142
  127. package/dist/endpoints/movies.d.ts.map +0 -1
  128. package/dist/endpoints/movies.js +0 -198
  129. package/dist/endpoints/networks.d.ts +0 -31
  130. package/dist/endpoints/networks.d.ts.map +0 -1
  131. package/dist/endpoints/networks.js +0 -42
  132. package/dist/endpoints/people.d.ts +0 -85
  133. package/dist/endpoints/people.d.ts.map +0 -1
  134. package/dist/endpoints/people.js +0 -119
  135. package/dist/endpoints/review.d.ts +0 -19
  136. package/dist/endpoints/review.d.ts.map +0 -1
  137. package/dist/endpoints/review.js +0 -26
  138. package/dist/endpoints/search.d.ts +0 -58
  139. package/dist/endpoints/search.d.ts.map +0 -1
  140. package/dist/endpoints/search.js +0 -75
  141. package/dist/endpoints/trending.d.ts +0 -22
  142. package/dist/endpoints/trending.d.ts.map +0 -1
  143. package/dist/endpoints/trending.js +0 -29
  144. package/dist/endpoints/tvEpisodes.d.ts +0 -62
  145. package/dist/endpoints/tvEpisodes.d.ts.map +0 -1
  146. package/dist/endpoints/tvEpisodes.js +0 -98
  147. package/dist/endpoints/tvSeasons.d.ts +0 -71
  148. package/dist/endpoints/tvSeasons.d.ts.map +0 -1
  149. package/dist/endpoints/tvSeasons.js +0 -109
  150. package/dist/endpoints/tvShows.d.ts +0 -164
  151. package/dist/endpoints/tvShows.d.ts.map +0 -1
  152. package/dist/endpoints/tvShows.js +0 -230
  153. package/dist/endpoints/watchProviders.d.ts +0 -33
  154. package/dist/endpoints/watchProviders.d.ts.map +0 -1
  155. package/dist/endpoints/watchProviders.js +0 -46
  156. package/dist/index.d.ts +0 -30
  157. package/dist/index.d.ts.map +0 -1
  158. package/dist/index.js +0 -46
  159. package/dist/utils/api.d.ts +0 -14
  160. package/dist/utils/api.d.ts.map +0 -1
  161. package/dist/utils/api.js +0 -61
  162. package/dist/utils/getimagePath.d.ts +0 -32
  163. package/dist/utils/getimagePath.d.ts.map +0 -1
  164. package/dist/utils/getimagePath.js +0 -50
  165. package/dist/utils/index.d.ts +0 -3
  166. package/dist/utils/index.d.ts.map +0 -1
  167. package/dist/utils/index.js +0 -18
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":["auth: TokenType","path: string","options?: O","options?: Record<string, unknown>","entries: [string, string][]","baseUrl: string","fileSize: string","imagePath: string","format?: string","imageFormat","auth: TokenType","access_token: TokenType","access_token: TokenType","access_token: TokenType","options?: ChangeOption","access_token: TokenType","id: number","options?: LanguageOption","options?: CollectionImageOptions","access_token: TokenType","id: number","access_token: TokenType","access_token: TokenType","id: string","access_token: TokenType","options?: MovieQueryOptions","options?: TvShowQueryOptions","access_token: TokenType","externalId: string","options: ExternalIdOptions","access_token: TokenType","options?: LanguageOption","access_token: TokenType","keywordId: number","options?: KeywordsOptions","access_token: TokenType","id: number","appendToResponse?: T","language?: string","options?: ChangeOption","options?: LanguageOption","options?: MoviesImageSearchOptions","options?: LanguageOption & PageOption","options?: PageOption & LanguageOption & RegionOption","access_token: TokenType","id: number","access_token: TokenType","id: number","appendToResponse?: T","language?: string","options?: ChangeOption","options?: LanguageOption","options?: PageOption","options?: LanguageOption & PageOption","access_token: TokenType","id: string","access_token: TokenType","options: SearchOptions","options: MovieSearchOptions","options: PeopleSearchOptions","options: TvSearchOptions","options: MultiSearchOptions","access_token: TokenType","mediaType: T","timeWindow: TimeWindow","options?: LanguageOption & PageOption","episodeSelection: EpisodeSelection","access_token: TokenType","appendToResponse?: T","options?: LanguageOption","episodeID: number","options?: ChangeOption","options?: TvEpisodeImageSearchOptions","options?: TvEpisodeVideoSearchOptions","seasonSelection: SeasonSelection","access_token: TokenType","appendToResponse?: T","options?: LanguageOption","seasonId: number","options?: ChangeOption","options?: TvSeasonImageSearchOptions","options?: TvSeasonVideoSearchOptions","access_token: TokenType","id: number","appendToResponse?: T","language?: string","options?: ChangeOption","options?: LanguageOption","tvId: number","seasonNumber: number","options?: TvShowImageOptions","options?: LanguageOption & PageOption","options?: TvShowVideoOptions","options?: PageOption & LanguageOption & TimezoneOption","options?: PageOption & LanguageOption","access_token: TokenType","auth: TokenType"],"sources":["../src/@types/endpoints/configuration.ts","../src/@types/endpoints/movies.ts","../src/utils/api.ts","../src/utils/getimagePath.ts","../src/@types/models/baseEndpoint.ts","../src/endpoints/account.ts","../src/endpoints/certification.ts","../src/endpoints/changes.ts","../src/endpoints/collections.ts","../src/endpoints/companies.ts","../src/endpoints/configuration.ts","../src/endpoints/credits.ts","../src/endpoints/discover.ts","../src/endpoints/find.ts","../src/endpoints/genre.ts","../src/endpoints/keywords.ts","../src/endpoints/movies.ts","../src/endpoints/networks.ts","../src/endpoints/people.ts","../src/endpoints/review.ts","../src/endpoints/search.ts","../src/endpoints/trending.ts","../src/endpoints/tvEpisodes.ts","../src/endpoints/tvSeasons.ts","../src/endpoints/tvShows.ts","../src/endpoints/watchProviders.ts","../src/index.ts"],"sourcesContent":["export interface ImageConfiguration {\n\tbase_url: string;\n\tsecure_base_url: string;\n\tbackdrop_sizes: BackdropSizes[];\n\tlogo_sizes: LogoSizes[];\n\tposter_sizes: PosterSizes[];\n\tprofile_sizes: ProfileSizes[];\n\tstill_sizes: StillSizes[];\n}\n\nexport interface Configuration {\n\timages: ImageConfiguration;\n\tchange_keys: ChangeKeys[];\n}\n\nexport enum BackdropSizes {\n\tW300 = \"w300\",\n\tW500 = \"w500\",\n\tW780 = \"w780\",\n\tW1280 = \"w1280\",\n\tORIGINAL = \"original\",\n}\n\nexport enum LogoSizes {\n\tW45 = \"w45\",\n\tW92 = \"w92\",\n\tW154 = \"w154\",\n\tW185 = \"w185\",\n\tW300 = \"w300\",\n\tW500 = \"w500\",\n\tORIGINAL = \"original\",\n}\n\nexport enum PosterSizes {\n\tW92 = \"w92\",\n\tW154 = \"w154\",\n\tW185 = \"w185\",\n\tW300 = \"w300\",\n\tW500 = \"w500\",\n\tW780 = \"w780\",\n\tORIGINAL = \"original\",\n}\n\nexport enum ProfileSizes {\n\tW45 = \"w45\",\n\tW185 = \"w185\",\n\tW632 = \"w632\",\n\tORIGINAL = \"original\",\n}\n\nexport enum StillSizes {\n\tW92 = \"w92\",\n\tW185 = \"w185\",\n\tW300 = \"w300\",\n\tORIGINAL = \"original\",\n}\n\nexport enum ChangeKeys {\n\tADULT = \"adult\",\n\tAIR_DATE = \"air_date\",\n\tALSO_KNOWN_AS = \"also_known_as\",\n\tALTERNATIVE_TITLES = \"alternative_titles\",\n\tBIOGRAPHY = \"biography\",\n\tBIRTHDAY = \"birthday\",\n\tBUDGET = \"budget\",\n\tCAST = \"cast\",\n\tCERTIFICATIONS = \"certifications\",\n\tCHARACTER_NAMES = \"character_names\",\n\tCREATED_BY = \"created_by\",\n\tCREW = \"crew\",\n\tDEATHDAY = \"deathday\",\n\tEPISODE = \"episode\",\n\tEPISODE_NUMBER = \"episode_number\",\n\tEPISODE_RUN_TIME = \"episode_run_time\",\n\tFREEBASE_ID = \"freebase_id\",\n\tFREEBASE_MID = \"freebase_mid\",\n\tGENERAL = \"general\",\n\tGENRES = \"genres\",\n\tGUEST_STARS = \"guest_stars\",\n\tHOMEPAGE = \"homepage\",\n\tIMAGES = \"images\",\n\tIMDB_ID = \"imdb_id\",\n\tLANGUAGES = \"languages\",\n\tNAME = \"name\",\n\tNETWORK = \"network\",\n\tORIGIN_COUNTRY = \"origin_country\",\n\tORIGINAL_NAME = \"original_name\",\n\tORIGINAL_TITLE = \"original_title\",\n\tOVERVIEW = \"overview\",\n\tPARTS = \"parts\",\n\tPLACE_OF_BIRTH = \"place_of_birth\",\n\tPLOT_KEYWORDS = \"plot_keywords\",\n\tPRODUCTION_CODE = \"production_code\",\n\tPRODUCTION_COMPANIES = \"production_companies\",\n\tPRODUCTION_COUNTRIES = \"production_countries\",\n\tRELEASES = \"releases\",\n\tREVENUE = \"revenue\",\n\tRUNTIME = \"runtime\",\n\tSEASON = \"season\",\n\tSEASON_NUMBER = \"season_number\",\n\tSEASON_REGULAR = \"season_regular\",\n\tSPOKEN_LANGUAGES = \"spoken_languages\",\n\tSTATUS = \"status\",\n\tTAGLINE = \"tagline\",\n\tTITLE = \"title\",\n\tTRANSLATIONS = \"translations\",\n\tTVDB_ID = \"tvdb_id\",\n\tTVRAGE_ID = \"tvrage_id\",\n\tTYPE = \"type\",\n\tVIDEO = \"video\",\n\tVIDEOS = \"videos\",\n}\n","import type {\n\tGenre,\n\tLanguageOption,\n\tMovie,\n\tProductionCompany,\n\tProductionCountry,\n\tSpokenLanguage,\n} from \"..\";\n\nexport interface BelongsToCollection {\n\tid: number;\n\tname: string;\n\tposter_path: string;\n\tbackdrop_path: string;\n}\n\nexport interface MovieDetails {\n\tadult: boolean;\n\tbackdrop_path: string;\n\tbelongs_to_collection?: BelongsToCollection;\n\tbudget: number;\n\tgenres: Genre[];\n\thomepage: string;\n\tid: number;\n\timdb_id: string;\n\toriginal_language: string;\n\toriginal_title: string;\n\toverview: string;\n\tpopularity: number;\n\tposter_path?: string;\n\tproduction_companies: ProductionCompany[];\n\tproduction_countries: ProductionCountry[];\n\trelease_date: string;\n\trevenue: number;\n\truntime: number;\n\tspoken_languages: SpokenLanguage[];\n\tstatus: string;\n\ttagline: string;\n\ttitle: string;\n\tvideo: boolean;\n\tvote_average: number;\n\tvote_count: number;\n}\n\nexport enum ReleaseDateType {\n\tPremiere = 1,\n\t\"Theatrical (limited)\" = 2,\n\tTheatrical = 3,\n\tDigital = 4,\n\tPhysical = 5,\n\tTV = 6,\n}\n\nexport interface ReleaseDate {\n\tcertification: string;\n\tiso_639_1: string;\n\trelease_date: Date;\n\ttype: ReleaseDateType;\n\tnote: string;\n}\n\nexport interface ReleaseDateResult {\n\tiso_3166_1: string;\n\trelease_dates: ReleaseDate[];\n}\n\nexport interface ReleaseDates {\n\tid: number;\n\tresults: ReleaseDateResult[];\n}\n\nexport interface SimilarMovies {\n\tpage: number;\n\tresults: Movie[];\n\ttotal_pages: number;\n\ttotal_results: number;\n}\n\nexport interface MovieList {\n\tdescription: string;\n\tfavorite_count: number;\n\tid: number;\n\titem_count: number;\n\tiso_639_1: string;\n\tlist_type: string;\n\tname: string;\n\tposter_path: string;\n}\n\nexport interface MovieLists {\n\tid: number;\n\tpage: number;\n\tresults: MovieList[];\n\ttotal_pages: number;\n\ttotal_results: number;\n}\n\nexport interface LatestMovie {\n\tadult: boolean;\n\tbackdrop_path?: string;\n\tbelongs_to_collection?: BelongsToCollection;\n\tbudget: number;\n\tgenres: Genre[];\n\thomepage: string;\n\tid: number;\n\timdb_id: string;\n\toriginal_language: string;\n\toriginal_title: string;\n\toverview: string;\n\tpopularity: number;\n\tposter_path: string;\n\tproduction_companies: ProductionCompany[];\n\tproduction_countries: ProductionCountry[];\n\trelease_date: string;\n\trevenue: number;\n\truntime: number;\n\tspoken_languages: SpokenLanguage[];\n\tstatus: string;\n\ttagline: string;\n\ttitle: string;\n\tvideo: boolean;\n\tvote_average: number;\n\tvote_count: number;\n}\n\nexport interface Dates {\n\tmaximum: string;\n\tminimum: string;\n}\n\nexport interface MoviesPlayingNow {\n\tpage: number;\n\tresults: Movie[];\n\tdates: Dates;\n\ttotal_pages: number;\n\ttotal_results: number;\n}\n\nexport interface PopularMovies {\n\tpage: number;\n\tresults: Movie[];\n\ttotal_results: number;\n\ttotal_pages: number;\n}\n\nexport interface TopRatedMovies {\n\tpage: number;\n\tresults: Movie[];\n\ttotal_results: number;\n\ttotal_pages: number;\n}\n\nexport interface UpcomingMovies {\n\tpage: number;\n\tresults: Movie[];\n\ttotal_results: number;\n\ttotal_pages: number;\n}\n\nexport type MovieChangeValue =\n\t| string\n\t| {\n\t\t\tperson_id: number;\n\t\t\tcharacter: string;\n\t\t\torder: number;\n\t\t\tcast_id: number;\n\t\t\tcredit_id: string;\n\t }\n\t| unknown;\n\nexport interface MoviesImageSearchOptions extends LanguageOption {\n\t/**\n\t * a list of ISO-639-1 values to query\n\t */\n\tinclude_image_language?: string[];\n}\n","import type { ErrorResponse, TokenType } from \"../@types\";\n\nconst BASE_URL_V3 = \"https://api.themoviedb.org/3\";\n\nexport class API {\n\tprivate apiKey?: string;\n\tprivate accessToken?: string;\n\n\tconstructor(auth: TokenType) {\n\t\tif (typeof auth === \"string\") {\n\t\t\tthis.accessToken = auth;\n\t\t} else {\n\t\t\tthis.apiKey = auth.apiKey;\n\t\t\tthis.accessToken = auth.accessToken;\n\t\t}\n\t}\n\n\t/**\n\t * Generic GET:\n\t * @template T — response type\n\t * @template O — options (query params) type\n\t */\n\tasync get<T, O extends Record<string, unknown> = Record<string, unknown>>(\n\t\tpath: string,\n\t\toptions?: O,\n\t): Promise<T> {\n\t\tconst rawOptions = {\n\t\t\t...(options ?? {}),\n\t\t\t...(this.apiKey ? { api_key: this.apiKey } : {}),\n\t\t};\n\n\t\tconst params = parseOptions(rawOptions);\n\n\t\tconst response = await fetch(`${BASE_URL_V3}${path}?${params}`, {\n\t\t\tmethod: \"GET\",\n\t\t\theaders: {\n\t\t\t\t...(this.accessToken\n\t\t\t\t\t? { Authorization: `Bearer ${this.accessToken}` }\n\t\t\t\t\t: {}),\n\t\t\t\t\"Content-Type\": \"application/json;charset=utf-8\",\n\t\t\t},\n\t\t});\n\n\t\tif (!response.ok) {\n\t\t\tconst error = (await response.json()) as ErrorResponse;\n\t\t\treturn Promise.reject(error);\n\t\t}\n\n\t\treturn (await response.json()) as T;\n\t}\n}\n\nexport const parseOptions = (options?: Record<string, unknown>): string => {\n\tif (!options) return \"\";\n\n\tconst entries: [string, string][] = [];\n\n\tfor (const [key, value] of Object.entries(options)) {\n\t\tif (value === undefined || value === null) continue;\n\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (const item of value) {\n\t\t\t\tentries.push([key, String(item)]);\n\t\t\t}\n\t\t} else {\n\t\t\tentries.push([key, String(value)]);\n\t\t}\n\t}\n\n\treturn new URLSearchParams(entries).toString();\n};\n","/**\n * Utility method to construct full url for image\n * based on configuration\n *\n * https://developers.themoviedb.org/3/getting-started/images\n * @param {string} baseUrl base image url (e.g., 'https://image.tmdb.org/t/p/')\n * @param {string} fileSize file size (e.g., 'original', 'w500')\n * @param {string} imagePath raw image path\n * @param {string} format override image format (e.g., 'svg', 'png', 'jpg')\n * @returns {string} The complete image URL\n */\nexport const getFullImagePath = (\n\tbaseUrl: string,\n\tfileSize: string,\n\timagePath: string,\n\tformat?: string,\n): string => {\n\tif (!imagePath) return \"\";\n\n\t// Handle case where imagePath doesn't have an extension\n\tconst hasExtension = imagePath.includes(\".\");\n\n\tif (hasExtension) {\n\t\tconst imagePathArr = imagePath.split(\".\");\n\t\tconst imageFormat = format || imagePathArr[1];\n\t\treturn `${baseUrl}${fileSize}${imagePathArr[0]}.${imageFormat}`;\n\t}\n\t// If no extension in path, use provided format or default to jpg\n\tconst imageFormat = format || \"jpg\";\n\treturn `${baseUrl}${fileSize}${imagePath}.${imageFormat}`;\n};\n\n/**\n * Common image sizes available in TMDB\n */\nexport const ImageSizes = {\n\tORIGINAL: \"original\",\n\tW500: \"w500\",\n\tW300: \"w300\",\n\tW185: \"w185\",\n\tW92: \"w92\",\n\tH632: \"h632\",\n};\n\n/**\n * Image formats supported by TMDB\n */\nexport const ImageFormats = {\n\tJPG: \"jpg\",\n\tPNG: \"png\",\n\tSVG: \"svg\",\n};\n","import { API } from \"../../utils\";\nimport type { TokenType } from \"../types\";\n\nexport class BaseEndpoint {\n\tprotected api: API;\n\n\tconstructor(protected readonly auth: TokenType) {\n\t\tthis.api = new API(auth);\n\t}\n}\n","import { type AccountDetails, BaseEndpoint, type TokenType } from \"../@types\";\n\n/**\n * Represents an endpoint for retrieving account details.\n */\nexport class AccountEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new AccountEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves account details asynchronously.\n\t * @returns {Promise<AccountDetails>} A Promise that resolves with the account details.\n\t */\n\tasync details(): Promise<AccountDetails> {\n\t\treturn await this.api.get(\"/account\");\n\t}\n}\n","import { BaseEndpoint, type Certifications, type TokenType } from \"../@types\";\n\n/**\n * Represents an endpoint for retrieving certifications for movies and TV shows.\n */\nexport class CertificationEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new CertificationEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves certifications for movies asynchronously.\n\t * @returns {Promise<Certifications>} A Promise that resolves with the certifications for movies.\n\t */\n\tasync movies(): Promise<Certifications> {\n\t\treturn await this.api.get<Certifications>(\"/certification/movie/list\");\n\t}\n\n\t/**\n\t * Retrieves certifications for TV shows asynchronously.\n\t * @returns {Promise<Certifications>} A Promise that resolves with the certifications for TV shows.\n\t */\n\tasync tv(): Promise<Certifications> {\n\t\treturn await this.api.get<Certifications>(\"/certification/tv/list\");\n\t}\n}\n","import {\n\tBaseEndpoint,\n\ttype ChangeOption,\n\ttype MediaChanges,\n\ttype TokenType,\n} from \"../@types\";\n\n/**\n * Represents an endpoint for retrieving changes in movies, TV shows, and persons.\n */\nexport class ChangeEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new ChangeEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves changes in movies asynchronously.\n\t * @param {ChangeOption} [options] - Optional parameters for filtering the changes.\n\t * @returns {Promise<MediaChanges>} A Promise that resolves with the changes in movies.\n\t */\n\tasync movies(options?: ChangeOption): Promise<MediaChanges> {\n\t\treturn await this.api.get<MediaChanges>(\n\t\t\t\"/movie/changes\",\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves changes in TV shows asynchronously.\n\t * @param {ChangeOption} [options] - Optional parameters for filtering the changes.\n\t * @returns {Promise<MediaChanges>} A Promise that resolves with the changes in TV shows.\n\t */\n\tasync tv(options?: ChangeOption): Promise<MediaChanges> {\n\t\treturn await this.api.get<MediaChanges>(\n\t\t\t\"/tv/changes\",\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves changes related to persons asynchronously.\n\t * @param {ChangeOption} [options] - Optional parameters for filtering the changes.\n\t * @returns {Promise<MediaChanges>} A Promise that resolves with the changes related to persons.\n\t */\n\tasync person(options?: ChangeOption): Promise<MediaChanges> {\n\t\treturn await this.api.get<MediaChanges>(\n\t\t\t\"/person/change\",\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n}\n","import {\n\tBaseEndpoint,\n\ttype CollectionImageOptions,\n\ttype DetailedCollection,\n\ttype ImageCollection,\n\ttype LanguageOption,\n\ttype TokenType,\n\ttype Translations,\n} from \"../@types\";\n\nconst BASE_COLLECTION = \"/collection\";\n\n/**\n * Represents an endpoint for accessing collections and their details.\n */\nexport class CollectionsEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new CollectionsEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves details of a specific collection asynchronously.\n\t * @param {number} id - The ID of the collection.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<DetailedCollection>} A Promise that resolves with the detailed information of the collection.\n\t */\n\tasync details(\n\t\tid: number,\n\t\toptions?: LanguageOption,\n\t): Promise<DetailedCollection> {\n\t\treturn await this.api.get<DetailedCollection>(\n\t\t\t`${BASE_COLLECTION}/${id}`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves images associated with a specific collection asynchronously.\n\t * @param {number} id - The ID of the collection.\n\t * @param {CollectionImageOptions} [options] - Optional parameters for specifying image options.\n\t * @returns {Promise<ImageCollection>} A Promise that resolves with the collection images.\n\t */\n\tasync images(\n\t\tid: number,\n\t\toptions?: CollectionImageOptions,\n\t): Promise<ImageCollection> {\n\t\tconst computedOptions = {\n\t\t\tinclude_image_language: options?.include_image_language?.join(\",\"),\n\t\t\tlanguage: options?.language,\n\t\t};\n\t\treturn await this.api.get<ImageCollection>(\n\t\t\t`${BASE_COLLECTION}/${id}/images`,\n\t\t\tcomputedOptions,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves translations for a specific collection asynchronously.\n\t * @param {number} id - The ID of the collection.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<Translations>} A Promise that resolves with the translations of the collection.\n\t */\n\tasync translations(\n\t\tid: number,\n\t\toptions?: LanguageOption,\n\t): Promise<Translations> {\n\t\treturn await this.api.get<Translations>(\n\t\t\t`${BASE_COLLECTION}/${id}/translations`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n}\n","import {\n\ttype AlternativeNames,\n\tBaseEndpoint,\n\ttype CompanyDetails,\n\ttype CompanyImages,\n\ttype TokenType,\n} from \"../@types\";\n\n/**\n * Represents an endpoint for accessing company details and related information.\n */\nexport class CompaniesEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new CompaniesEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves details of a specific company asynchronously.\n\t * @param {number} id - The ID of the company.\n\t * @returns {Promise<CompanyDetails>} A Promise that resolves with the detailed information of the company.\n\t */\n\tasync details(id: number): Promise<CompanyDetails> {\n\t\treturn await this.api.get<CompanyDetails>(`/company/${id}`);\n\t}\n\n\t/**\n\t * Retrieves alternative names of a specific company asynchronously.\n\t * @param {number} id - The ID of the company.\n\t * @returns {Promise<AlternativeNames>} A Promise that resolves with the alternative names of the company.\n\t */\n\tasync alternativeNames(id: number): Promise<AlternativeNames> {\n\t\treturn await this.api.get<AlternativeNames>(\n\t\t\t`/company/${id}/alternative_names`,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves images associated with a specific company asynchronously.\n\t * @param {number} id - The ID of the company.\n\t * @returns {Promise<CompanyImages>} A Promise that resolves with the images of the company.\n\t */\n\tasync images(id: number): Promise<CompanyImages> {\n\t\treturn await this.api.get<CompanyImages>(`/company/${id}/images`);\n\t}\n}\n","import { BaseEndpoint, type Configuration, type TokenType } from \"../@types\";\n\n/**\n * Represents an endpoint for retrieving current system configuration.\n */\nexport class ConfigurationEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new ConfigurationEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves the current system configuration asynchronously.\n\t * @returns {Promise<Configuration>} A Promise that resolves with the current system configuration.\n\t */\n\tasync getCurrent(): Promise<Configuration> {\n\t\treturn await this.api.get<Configuration>(\"/configuration\");\n\t}\n}\n","import { BaseEndpoint, type CreditResponse, type TokenType } from \"../@types\";\n\n/**\n * Represents an endpoint for retrieving credit details.\n */\nexport class CreditsEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new CreditsEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves credit details by ID asynchronously.\n\t * @param {string} id - The ID of the credit.\n\t * @returns {Promise<CreditResponse>} A Promise that resolves with the credit details.\n\t */\n\tasync getById(id: string): Promise<CreditResponse> {\n\t\treturn await this.api.get<CreditResponse>(`/credit/${id}`);\n\t}\n}\n","import {\n\tBaseEndpoint,\n\ttype MovieDiscoverResult,\n\ttype MovieQueryOptions,\n\ttype TokenType,\n\ttype TvShowDiscoverResult,\n\ttype TvShowQueryOptions,\n} from \"../@types\";\n\nconst BASE_DISCOVER = \"/discover\";\n\n/**\n * Represents an endpoint for discovering movies and TV shows based on various criteria.\n */\nexport class DiscoverEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new DiscoverEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves a list of movies based on the provided query options asynchronously.\n\t * @param {MovieQueryOptions} [options] - Optional parameters for refining the movie discovery.\n\t * @returns {Promise<MovieDiscoverResult>} A Promise that resolves with the movie discovery results.\n\t */\n\tasync movie(options?: MovieQueryOptions): Promise<MovieDiscoverResult> {\n\t\treturn await this.api.get<MovieDiscoverResult>(\n\t\t\t`${BASE_DISCOVER}/movie`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves a list of TV shows based on the provided query options asynchronously.\n\t * @param {TvShowQueryOptions} [options] - Optional parameters for refining the TV show discovery.\n\t * @returns {Promise<TvShowDiscoverResult>} A Promise that resolves with the TV show discovery results.\n\t */\n\tasync tvShow(options?: TvShowQueryOptions): Promise<TvShowDiscoverResult> {\n\t\treturn await this.api.get<TvShowDiscoverResult>(\n\t\t\t`${BASE_DISCOVER}/tv`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n}\n","import {\n\tBaseEndpoint,\n\ttype ExternalIdOptions,\n\ttype FindResult,\n\ttype TokenType,\n} from \"../@types\";\n\n/**\n * Represents an endpoint for finding media by external ID.\n */\nexport class FindEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new FindEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves media by external ID asynchronously.\n\t * @param {string} externalId - The external ID of the media.\n\t * @param {ExternalIdOptions} options - Options for finding media by external ID.\n\t * @returns {Promise<FindResult>} A Promise that resolves with the result of the find operation.\n\t */\n\tasync byId(\n\t\texternalId: string,\n\t\toptions: ExternalIdOptions,\n\t): Promise<FindResult> {\n\t\treturn await this.api.get<FindResult>(\n\t\t\t`/find/${externalId}`,\n\t\t\toptions as unknown as Record<string, unknown>,\n\t\t);\n\t}\n}\n","import {\n\tBaseEndpoint,\n\ttype Genres,\n\ttype LanguageOption,\n\ttype TokenType,\n} from \"../@types\";\n\n/**\n * Represents an endpoint for retrieving genre information for movies and TV shows.\n */\nexport class GenreEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new GenreEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves genre information for movies asynchronously.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<Genres>} A Promise that resolves with the genre information for movies.\n\t */\n\tasync movies(options?: LanguageOption): Promise<Genres> {\n\t\treturn await this.api.get<Genres>(\n\t\t\t\"/genre/movie/list\",\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves genre information for TV shows asynchronously.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<Genres>} A Promise that resolves with the genre information for TV shows.\n\t */\n\tasync tv(options?: LanguageOption): Promise<Genres> {\n\t\treturn await this.api.get<Genres>(\n\t\t\t\"/genre/tv/list\",\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n}\n","import {\n\tBaseEndpoint,\n\ttype BelongingMovies,\n\ttype Keyword,\n\ttype KeywordsOptions,\n\ttype TokenType,\n} from \"../@types\";\n\nconst BASE_KEYWORD = \"/keyword\";\n\n/**\n * Represents an endpoint for accessing keyword details and related movies.\n */\nexport class KeywordsEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new KeywordsEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves details of a specific keyword asynchronously.\n\t * @param {number} keywordId - The ID of the keyword.\n\t * @returns {Promise<Keyword>} A Promise that resolves with the details of the keyword.\n\t */\n\tasync details(keywordId: number): Promise<Keyword> {\n\t\treturn await this.api.get<Keyword>(`${BASE_KEYWORD}/${keywordId}`);\n\t}\n\n\t/**\n\t * Retrieves movies belonging to a specific keyword asynchronously.\n\t * @param {number} keywordId - The ID of the keyword.\n\t * @param {KeywordsOptions} [options] - Optional parameters for refining the search.\n\t * @returns {Promise<BelongingMovies>} A Promise that resolves with the movies belonging to the keyword.\n\t */\n\tasync belongingMovies(\n\t\tkeywordId: number,\n\t\toptions?: KeywordsOptions,\n\t): Promise<BelongingMovies> {\n\t\treturn await this.api.get<BelongingMovies>(\n\t\t\t`${BASE_KEYWORD}/${keywordId}/movies`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n}\n","import {\n\ttype AlternativeTitles,\n\ttype AppendToResponse,\n\ttype AppendToResponseMovieKey,\n\tBaseEndpoint,\n\ttype ChangeOption,\n\ttype Changes,\n\ttype Credits,\n\ttype ExternalIds,\n\ttype Images,\n\ttype Keywords,\n\ttype LanguageOption,\n\ttype LatestMovie,\n\ttype MovieChangeValue,\n\ttype MovieDetails,\n\ttype MovieLists,\n\ttype MoviesImageSearchOptions,\n\ttype MoviesPlayingNow,\n\ttype PageOption,\n\ttype PopularMovies,\n\ttype Recommendations,\n\ttype RegionOption,\n\ttype ReleaseDates,\n\ttype Reviews,\n\ttype SimilarMovies,\n\ttype TokenType,\n\ttype TopRatedMovies,\n\ttype Translations,\n\ttype UpcomingMovies,\n\ttype Videos,\n\ttype WatchProviders,\n} from \"../@types\";\n\nconst BASE_MOVIE = \"/movie\";\n\n/**\n * Represents an endpoint for accessing movie-related information.\n */\nexport class MoviesEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new MoviesEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves details of a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @param {AppendToResponseMovieKey[]} [appendToResponse] - Optional keys to append to the response.\n\t * @param {string} [language] - Optional parameter for specifying the language.\n\t * @returns {Promise<AppendToResponse<MovieDetails, AppendToResponseMovieKey[], 'movie'>>} A Promise that resolves with the details of the movie.\n\t */\n\tasync details<T extends AppendToResponseMovieKey[] | undefined>(\n\t\tid: number,\n\t\tappendToResponse?: T,\n\t\tlanguage?: string,\n\t) {\n\t\tconst options = {\n\t\t\tappend_to_response: appendToResponse\n\t\t\t\t? appendToResponse.join(\",\")\n\t\t\t\t: undefined,\n\t\t\tlanguage: language,\n\t\t};\n\n\t\treturn await this.api.get<AppendToResponse<MovieDetails, T, \"movie\">>(\n\t\t\t`${BASE_MOVIE}/${id}`,\n\t\t\toptions,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves alternative titles of a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @returns {Promise<AlternativeTitles>} A Promise that resolves with the alternative titles of the movie.\n\t */\n\tasync alternativeTitles(id: number): Promise<AlternativeTitles> {\n\t\treturn await this.api.get<AlternativeTitles>(\n\t\t\t`${BASE_MOVIE}/${id}/alternative_titles`,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves changes made to a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @param {ChangeOption} [options] - Optional parameters for filtering changes.\n\t * @returns {Promise<Changes<MovieChangeValue>>} A Promise that resolves with the changes made to the movie.\n\t */\n\tasync changes(\n\t\tid: number,\n\t\toptions?: ChangeOption,\n\t): Promise<Changes<MovieChangeValue>> {\n\t\treturn await this.api.get<Changes<MovieChangeValue>>(\n\t\t\t`${BASE_MOVIE}/${id}/changes`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves credits of a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<Credits>} A Promise that resolves with the credits of the movie.\n\t */\n\tasync credits(id: number, options?: LanguageOption): Promise<Credits> {\n\t\treturn await this.api.get<Credits>(\n\t\t\t`${BASE_MOVIE}/${id}/credits`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves external IDs of a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @returns {Promise<ExternalIds>} A Promise that resolves with the external IDs of the movie.\n\t */\n\tasync externalIds(id: number): Promise<ExternalIds> {\n\t\treturn await this.api.get<ExternalIds>(`${BASE_MOVIE}/${id}/external_ids`);\n\t}\n\n\t/**\n\t * Retrieves images of a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @param {MoviesImageSearchOptions} [options] - Optional parameters for specifying image search options.\n\t * @returns {Promise<Images>} A Promise that resolves with the images of the movie.\n\t */\n\tasync images(\n\t\tid: number,\n\t\toptions?: MoviesImageSearchOptions,\n\t): Promise<Images> {\n\t\tconst computedOptions = {\n\t\t\tinclude_image_language: options?.include_image_language?.join(\",\"),\n\t\t\tlanguage: options?.language,\n\t\t};\n\t\treturn await this.api.get<Images>(\n\t\t\t`${BASE_MOVIE}/${id}/images`,\n\t\t\tcomputedOptions,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves keywords of a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @returns {Promise<Keywords>} A Promise that resolves with the keywords of the movie.\n\t */\n\tasync keywords(id: number): Promise<Keywords> {\n\t\treturn await this.api.get<Keywords>(`${BASE_MOVIE}/${id}/keywords`);\n\t}\n\n\t/**\n\t * Retrieves lists containing a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @param {LanguageOption & PageOption} [options] - Optional parameters for specifying language and pagination options.\n\t * @returns {Promise<MovieLists>} A Promise that resolves with the lists containing the movie.\n\t */\n\tasync lists(\n\t\tid: number,\n\t\toptions?: LanguageOption & PageOption,\n\t): Promise<MovieLists> {\n\t\treturn await this.api.get<MovieLists>(\n\t\t\t`${BASE_MOVIE}/${id}/lists`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves recommendations for a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @param {LanguageOption & PageOption} [options] - Optional parameters for specifying language and pagination options.\n\t * @returns {Promise<Recommendations>} A Promise that resolves with the recommendations for the movie.\n\t */\n\tasync recommendations(\n\t\tid: number,\n\t\toptions?: LanguageOption & PageOption,\n\t): Promise<Recommendations> {\n\t\treturn await this.api.get<Recommendations>(\n\t\t\t`${BASE_MOVIE}/${id}/recommendations`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves release dates of a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @returns {Promise<ReleaseDates>} A Promise that resolves with the release dates of the movie.\n\t */\n\tasync releaseDates(id: number): Promise<ReleaseDates> {\n\t\treturn await this.api.get<ReleaseDates>(\n\t\t\t`${BASE_MOVIE}/${id}/release_dates`,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves reviews for a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @param {LanguageOption & PageOption} [options] - Optional parameters for specifying language and pagination options.\n\t * @returns {Promise<Reviews>} A Promise that resolves with the reviews for the movie.\n\t */\n\tasync reviews(\n\t\tid: number,\n\t\toptions?: LanguageOption & PageOption,\n\t): Promise<Reviews> {\n\t\treturn await this.api.get<Reviews>(\n\t\t\t`${BASE_MOVIE}/${id}/reviews`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves similar movies for a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @param {LanguageOption & PageOption} [options] - Optional parameters for specifying language and pagination options.\n\t * @returns {Promise<SimilarMovies>} A Promise that resolves with the similar movies for the movie.\n\t */\n\tasync similar(\n\t\tid: number,\n\t\toptions?: LanguageOption & PageOption,\n\t): Promise<SimilarMovies> {\n\t\treturn await this.api.get<SimilarMovies>(\n\t\t\t`${BASE_MOVIE}/${id}/similar`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves translations of a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @returns {Promise<Translations>} A Promise that resolves with the translations of the movie.\n\t */\n\tasync translations(id: number): Promise<Translations> {\n\t\treturn await this.api.get<Translations>(`${BASE_MOVIE}/${id}/translations`);\n\t}\n\n\t/**\n\t * Retrieves videos of a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<Videos>} A Promise that resolves with the videos of the movie.\n\t */\n\tasync videos(id: number, options?: LanguageOption): Promise<Videos> {\n\t\treturn await this.api.get<Videos>(\n\t\t\t`${BASE_MOVIE}/${id}/videos`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves watch providers of a specific movie asynchronously.\n\t * @param {number} id - The ID of the movie.\n\t * @returns {Promise<WatchProviders>} A Promise that resolves with the watch providers of the movie.\n\t */\n\tasync watchProviders(id: number): Promise<WatchProviders> {\n\t\treturn await this.api.get<WatchProviders>(\n\t\t\t`${BASE_MOVIE}/${id}/watch/providers`,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves details of the latest movie asynchronously.\n\t * @returns {Promise<LatestMovie>} A Promise that resolves with the details of the latest movie.\n\t */\n\tasync latest(): Promise<LatestMovie> {\n\t\treturn await this.api.get<LatestMovie>(`${BASE_MOVIE}/latest`);\n\t}\n\n\t/**\n\t * Retrieves movies playing now asynchronously.\n\t * @param {PageOption & LanguageOption & RegionOption} [options] - Optional parameters for specifying language, region, and pagination options.\n\t * @returns {Promise<MoviesPlayingNow>} A Promise that resolves with the movies playing now.\n\t */\n\tasync nowPlaying(\n\t\toptions?: PageOption & LanguageOption & RegionOption,\n\t): Promise<MoviesPlayingNow> {\n\t\treturn await this.api.get<MoviesPlayingNow>(\n\t\t\t`${BASE_MOVIE}/now_playing`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves popular movies asynchronously.\n\t * @param {LanguageOption & PageOption} [options] - Optional parameters for specifying language and pagination options.\n\t * @returns {Promise<PopularMovies>} A Promise that resolves with the popular movies.\n\t */\n\tasync popular(options?: LanguageOption & PageOption): Promise<PopularMovies> {\n\t\treturn await this.api.get<PopularMovies>(\n\t\t\t`${BASE_MOVIE}/popular`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves top rated movies asynchronously.\n\t * @param {PageOption & LanguageOption & RegionOption} [options] - Optional parameters for specifying language, region, and pagination options.\n\t * @returns {Promise<TopRatedMovies>} A Promise that resolves with the top rated movies.\n\t */\n\tasync topRated(\n\t\toptions?: PageOption & LanguageOption & RegionOption,\n\t): Promise<TopRatedMovies> {\n\t\treturn await this.api.get<TopRatedMovies>(\n\t\t\t`${BASE_MOVIE}/top_rated`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves upcoming movies asynchronously.\n\t * @param {PageOption & LanguageOption & RegionOption} [options] - Optional parameters for specifying language, region, and pagination options.\n\t * @returns {Promise<UpcomingMovies>} A Promise that resolves with the upcoming movies.\n\t */\n\tasync upcoming(\n\t\toptions?: PageOption & LanguageOption & RegionOption,\n\t): Promise<UpcomingMovies> {\n\t\treturn await this.api.get<UpcomingMovies>(\n\t\t\t`${BASE_MOVIE}/upcoming`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n}\n","import {\n\ttype AlternativeNames,\n\tBaseEndpoint,\n\ttype NetworkDetails,\n\ttype NetworkImages,\n\ttype TokenType,\n} from \"../@types\";\n\n/**\n * Represents an endpoint for accessing network details.\n */\nexport class NetworksEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new NetworksEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves details of a specific network asynchronously.\n\t * @param {number} id - The ID of the network.\n\t * @returns {Promise<NetworkDetails>} A Promise that resolves with the details of the network.\n\t */\n\tasync details(id: number): Promise<NetworkDetails> {\n\t\treturn await this.api.get<NetworkDetails>(`/network/${id}`);\n\t}\n\n\t/**\n\t * Retrieves alternative names of a specific network asynchronously.\n\t * @param {number} id - The ID of the network.\n\t * @returns {Promise<AlternativeNames>} A Promise that resolves with the alternative names of the network.\n\t */\n\tasync alternativeNames(id: number): Promise<AlternativeNames> {\n\t\treturn await this.api.get<AlternativeNames>(\n\t\t\t`/network/${id}/alternative_names`,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves images of a specific network asynchronously.\n\t * @param {number} id - The ID of the network.\n\t * @returns {Promise<NetworkImages>} A Promise that resolves with the images of the network.\n\t */\n\tasync images(id: number): Promise<NetworkImages> {\n\t\treturn await this.api.get<NetworkImages>(`/network/${id}/images`);\n\t}\n}\n","import {\n\ttype AppendToResponse,\n\ttype AppendToResponsePersonKey,\n\tBaseEndpoint,\n\ttype ChangeOption,\n\ttype Changes,\n\ttype ExternalIds,\n\ttype LanguageOption,\n\ttype PageOption,\n\ttype PeopleImages,\n\ttype PersonChangeValue,\n\ttype PersonCombinedCredits,\n\ttype PersonDetails,\n\ttype PersonMovieCredit,\n\ttype PersonTranslations,\n\ttype PersonTvShowCredit,\n\ttype PopularPersons,\n\ttype TaggedImages,\n\ttype TokenType,\n} from \"../@types\";\n\nconst BASE_PERSON = \"/person\";\n\n/**\n * Represents an endpoint for accessing information about people.\n */\nexport class PeopleEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new PeopleEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves details of a specific person asynchronously.\n\t * @param {number} id - The ID of the person.\n\t * @param {AppendToResponsePersonKey[]} [appendToResponse] - Optional keys to append to the response.\n\t * @param {string} [language] - Optional parameter for specifying the language.\n\t * @returns {Promise<AppendToResponse<PersonDetails, AppendToResponsePersonKey[], 'person'>>} A Promise that resolves with the details of the person.\n\t */\n\tasync details<T extends AppendToResponsePersonKey[] | undefined>(\n\t\tid: number,\n\t\tappendToResponse?: T,\n\t\tlanguage?: string,\n\t) {\n\t\tconst options = {\n\t\t\tappend_to_response: appendToResponse\n\t\t\t\t? appendToResponse.join(\",\")\n\t\t\t\t: undefined,\n\t\t\tlanguage: language,\n\t\t};\n\t\treturn await this.api.get<AppendToResponse<PersonDetails, T, \"person\">>(\n\t\t\t`${BASE_PERSON}/${id}`,\n\t\t\toptions,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves changes made to a specific person asynchronously.\n\t * @param {number} id - The ID of the person.\n\t * @param {ChangeOption} [options] - Optional parameters for filtering changes.\n\t * @returns {Promise<Changes<PersonChangeValue>>} A Promise that resolves with the changes made to the person.\n\t */\n\tasync changes(\n\t\tid: number,\n\t\toptions?: ChangeOption,\n\t): Promise<Changes<PersonChangeValue>> {\n\t\treturn await this.api.get<Changes<PersonChangeValue>>(\n\t\t\t`${BASE_PERSON}/${id}/changes`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves movie credits of a specific person asynchronously.\n\t * @param {number} id - The ID of the person.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<PersonMovieCredit>} A Promise that resolves with the movie credits of the person.\n\t */\n\tasync movieCredits(\n\t\tid: number,\n\t\toptions?: LanguageOption,\n\t): Promise<PersonMovieCredit> {\n\t\treturn await this.api.get<PersonMovieCredit>(\n\t\t\t`${BASE_PERSON}/${id}/movie_credits`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves TV show credits of a specific person asynchronously.\n\t * @param {number} id - The ID of the person.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<PersonTvShowCredit>} A Promise that resolves with the TV show credits of the person.\n\t */\n\tasync tvShowCredits(\n\t\tid: number,\n\t\toptions?: LanguageOption,\n\t): Promise<PersonTvShowCredit> {\n\t\treturn await this.api.get<PersonTvShowCredit>(\n\t\t\t`${BASE_PERSON}/${id}/tv_credits`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves combined credits of a specific person asynchronously.\n\t * @param {number} id - The ID of the person.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<PersonCombinedCredits>} A Promise that resolves with the combined credits of the person.\n\t */\n\tasync combinedCredits(\n\t\tid: number,\n\t\toptions?: LanguageOption,\n\t): Promise<PersonCombinedCredits> {\n\t\treturn await this.api.get<PersonCombinedCredits>(\n\t\t\t`${BASE_PERSON}/${id}/combined_credits`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves external IDs of a specific person asynchronously.\n\t * @param {number} id - The ID of the person.\n\t * @returns {Promise<ExternalIds>} A Promise that resolves with the external IDs of the person.\n\t */\n\tasync externalId(id: number): Promise<ExternalIds> {\n\t\treturn await this.api.get<ExternalIds>(`${BASE_PERSON}/${id}/external_ids`);\n\t}\n\n\t/**\n\t * Retrieves images of a specific person asynchronously.\n\t * @param {number} id - The ID of the person.\n\t * @returns {Promise<PeopleImages>} A Promise that resolves with the images of the person.\n\t */\n\tasync images(id: number): Promise<PeopleImages> {\n\t\treturn await this.api.get<PeopleImages>(`${BASE_PERSON}/${id}/images`);\n\t}\n\n\t/**\n\t * Retrieves tagged images of a specific person asynchronously.\n\t * @param {number} id - The ID of the person.\n\t * @param {PageOption} [options] - Optional parameters for specifying pagination options.\n\t * @returns {Promise<TaggedImages>} A Promise that resolves with the tagged images of the person.\n\t */\n\tasync taggedImages(id: number, options?: PageOption): Promise<TaggedImages> {\n\t\treturn await this.api.get<TaggedImages>(\n\t\t\t`${BASE_PERSON}/${id}/tagged_images`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves translations of a specific person asynchronously.\n\t * @param {number} id - The ID of the person.\n\t * @returns {Promise<PersonTranslations>} A Promise that resolves with the translations of the person.\n\t */\n\tasync translation(id: number): Promise<PersonTranslations> {\n\t\treturn await this.api.get<PersonTranslations>(\n\t\t\t`${BASE_PERSON}/${id}/translations`,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves details of the latest person asynchronously.\n\t * @returns {Promise<PersonDetails>} A Promise that resolves with the details of the latest person.\n\t */\n\tasync latest(): Promise<PersonDetails> {\n\t\treturn await this.api.get<PersonDetails>(`${BASE_PERSON}/latest`);\n\t}\n\n\t/**\n\t * Retrieves popular persons asynchronously.\n\t * @param {LanguageOption & PageOption} [options] - Optional parameters for specifying language and pagination options.\n\t * @returns {Promise<PopularPersons>} A Promise that resolves with the popular persons.\n\t */\n\tasync popular(\n\t\toptions?: LanguageOption & PageOption,\n\t): Promise<PopularPersons> {\n\t\treturn await this.api.get<PopularPersons>(\n\t\t\t`${BASE_PERSON}/popular`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n}\n","import { BaseEndpoint, type ReviewDetails, type TokenType } from \"../@types\";\n\n/**\n * Represents an endpoint for accessing review details.\n */\nexport class ReviewEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new ReviewEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves details of a specific review asynchronously.\n\t * @param {string} id - The ID of the review.\n\t * @returns {Promise<ReviewDetails>} A Promise that resolves with the details of the review.\n\t */\n\tasync details(id: string): Promise<ReviewDetails> {\n\t\treturn await this.api.get<ReviewDetails>(`/review/${id}`);\n\t}\n}\n","import {\n\tBaseEndpoint,\n\ttype Collection,\n\ttype Company,\n\ttype Movie,\n\ttype MovieSearchOptions,\n\ttype MultiSearchOptions,\n\ttype MultiSearchResult,\n\ttype PeopleSearchOptions,\n\ttype Person,\n\ttype Search,\n\ttype SearchOptions,\n\ttype TokenType,\n\ttype TV,\n\ttype TvSearchOptions,\n} from \"../@types\";\n\nconst BASE_SEARCH = \"/search\";\n\n/**\n * Represents an endpoint for performing various search operations.\n */\nexport class SearchEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new SearchEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Searches for companies asynchronously.\n\t * @param {SearchOptions} options - The search options.\n\t * @returns {Promise<Search<Company>>} A Promise that resolves with the search results for companies.\n\t */\n\tasync companies(options: SearchOptions): Promise<Search<Company>> {\n\t\treturn await this.api.get<Search<Company>>(\n\t\t\t`${BASE_SEARCH}/company`,\n\n\t\t\toptions as unknown as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Searches for collections asynchronously.\n\t * @param {SearchOptions} options - The search options.\n\t * @returns {Promise<Search<Collection>>} A Promise that resolves with the search results for collections.\n\t */\n\tasync collections(options: SearchOptions): Promise<Search<Collection>> {\n\t\treturn await this.api.get<Search<Collection>>(\n\t\t\t`${BASE_SEARCH}/collection`,\n\n\t\t\toptions as unknown as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Searches for keywords asynchronously.\n\t * @param {SearchOptions} options - The search options.\n\t * @returns {Promise<Search<{ id: string; name: string }>>} A Promise that resolves with the search results for keywords.\n\t */\n\tasync keywords(\n\t\toptions: SearchOptions,\n\t): Promise<Search<{ id: string; name: string }>> {\n\t\treturn await this.api.get<Search<{ id: string; name: string }>>(\n\t\t\t`${BASE_SEARCH}/keyword`,\n\n\t\t\toptions as unknown as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Searches for movies asynchronously.\n\t * @param {MovieSearchOptions} options - The search options.\n\t * @returns {Promise<Search<Movie>>} A Promise that resolves with the search results for movies.\n\t */\n\tasync movies(options: MovieSearchOptions): Promise<Search<Movie>> {\n\t\treturn await this.api.get<Search<Movie>>(\n\t\t\t`${BASE_SEARCH}/movie`,\n\n\t\t\toptions as unknown as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Searches for people asynchronously.\n\t * @param {PeopleSearchOptions} options - The search options.\n\t * @returns {Promise<Search<Person>>} A Promise that resolves with the search results for people.\n\t */\n\tasync people(options: PeopleSearchOptions): Promise<Search<Person>> {\n\t\treturn await this.api.get<Search<Person>>(\n\t\t\t`${BASE_SEARCH}/person`,\n\n\t\t\toptions as unknown as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Searches for TV shows asynchronously.\n\t * @param {TvSearchOptions} options - The search options.\n\t * @returns {Promise<Search<TV>>} A Promise that resolves with the search results for TV shows.\n\t */\n\tasync tv(options: TvSearchOptions): Promise<Search<TV>> {\n\t\treturn await this.api.get<Search<TV>>(\n\t\t\t`${BASE_SEARCH}/tv`,\n\n\t\t\toptions as unknown as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Performs a multi-search asynchronously.\n\t * @param {MultiSearchOptions} options - The search options.\n\t * @returns {Promise<Search<MultiSearchResult>>} A Promise that resolves with the multi-search results.\n\t */\n\tasync multi(options: MultiSearchOptions): Promise<Search<MultiSearchResult>> {\n\t\treturn await this.api.get<Search<MultiSearchResult>>(\n\t\t\t`${BASE_SEARCH}/multi`,\n\n\t\t\toptions as unknown as Record<string, unknown>,\n\t\t);\n\t}\n}\n","import {\n\tBaseEndpoint,\n\ttype LanguageOption,\n\ttype PageOption,\n\ttype TimeWindow,\n\ttype TokenType,\n\ttype TrendingMediaType,\n\ttype TrendingResults,\n} from \"../@types\";\n\n/**\n * Represents an endpoint for retrieving trending content.\n */\nexport class TrendingEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new TrendingEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves trending content asynchronously based on media type and time window.\n\t * @param {TrendingMediaType} mediaType - The type of media (e.g., 'all', 'movie', 'tv').\n\t * @param {TimeWindow} timeWindow - The time window for trending content (e.g., 'day', 'week').\n\t * @param {LanguageOption & PageOption} [options] - Optional parameters for specifying the language and pagination.\n\t * @returns {Promise<TrendingResults<T>>} A Promise that resolves with the trending results.\n\t * @template T - The type of media being searched for (e.g., 'movie', 'tv').\n\t */\n\tasync trending<T extends TrendingMediaType>(\n\t\tmediaType: T,\n\t\ttimeWindow: TimeWindow,\n\t\toptions?: LanguageOption & PageOption,\n\t): Promise<TrendingResults<T>> {\n\t\treturn await this.api.get<TrendingResults<T>>(\n\t\t\t`/trending/${mediaType}/${timeWindow}`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n}\n","import {\n\ttype AppendToResponse,\n\ttype AppendToResponseTvEpisodeKey,\n\tBaseEndpoint,\n\ttype ChangeOption,\n\ttype Changes,\n\ttype Episode,\n\ttype EpisodeSelection,\n\ttype ExternalIds,\n\ttype Images,\n\ttype LanguageOption,\n\ttype TokenType,\n\ttype TvEpisodeChangeValue,\n\ttype TvEpisodeCredit,\n\ttype TvEpisodeImageSearchOptions,\n\ttype TvEpisodeTranslations,\n\ttype TvEpisodeVideoSearchOptions,\n\ttype Videos,\n} from \"../@types\";\n\nconst BASE_EPISODE = (episodeSelection: EpisodeSelection): string => {\n\treturn `/tv/${episodeSelection.tvShowID}/season/${episodeSelection.seasonNumber}/episode/${episodeSelection.episodeNumber}`;\n};\n\n/**\n * Represents an endpoint for accessing TV episode-related information.\n */\nexport class TvEpisodesEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new TvEpisodesEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves details of a specific TV episode asynchronously.\n\t * @param {EpisodeSelection} episodeSelection - The selection criteria for the TV episode.\n\t * @param {AppendToResponseTvEpisodeKey[]} [appendToResponse] - Additional data to append to the response.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<AppendToResponse<Omit<Episode, 'show_id'>, AppendToResponseTvEpisodeKey[], 'tvEpisode'>>}\n\t * A Promise that resolves with the details of the TV episode.\n\t */\n\tasync details<T extends AppendToResponseTvEpisodeKey[] | undefined>(\n\t\tepisodeSelection: EpisodeSelection,\n\t\tappendToResponse?: T,\n\t\toptions?: LanguageOption,\n\t) {\n\t\tconst combinedOptions = {\n\t\t\tappend_to_response: appendToResponse\n\t\t\t\t? appendToResponse.join(\",\")\n\t\t\t\t: undefined,\n\t\t\t...options,\n\t\t};\n\n\t\treturn await this.api.get<\n\t\t\tAppendToResponse<Omit<Episode, \"show_id\">, T, \"tvEpisode\">\n\t\t>(`${BASE_EPISODE(episodeSelection)}`, combinedOptions);\n\t}\n\n\t/**\n\t * Retrieves changes related to a specific TV episode asynchronously.\n\t * @param {number} episodeID - The ID of the TV episode.\n\t * @param {ChangeOption} [options] - Optional parameters for specifying changes.\n\t * @returns {Promise<Changes<TvEpisodeChangeValue>>} A Promise that resolves with the changes related to the TV episode.\n\t */\n\tasync changes(episodeID: number, options?: ChangeOption) {\n\t\treturn await this.api.get<Changes<TvEpisodeChangeValue>>(\n\t\t\t`/tv/episode/${episodeID}/changes`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves credits for a specific TV episode asynchronously.\n\t * @param {EpisodeSelection} episodeSelection - The selection criteria for the TV episode.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<TvEpisodeCredit>} A Promise that resolves with the credits for the TV episode.\n\t */\n\tasync credits(episodeSelection: EpisodeSelection, options?: LanguageOption) {\n\t\treturn await this.api.get<TvEpisodeCredit>(\n\t\t\t`${BASE_EPISODE(episodeSelection)}/credits`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves external IDs for a specific TV episode asynchronously.\n\t * @param {EpisodeSelection} episodeSelection - The selection criteria for the TV episode.\n\t * @returns {Promise<ExternalIds>} A Promise that resolves with the external IDs for the TV episode.\n\t */\n\tasync externalIds(episodeSelection: EpisodeSelection) {\n\t\treturn await this.api.get<ExternalIds>(\n\t\t\t`${BASE_EPISODE(episodeSelection)}/external_ids`,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves images for a specific TV episode asynchronously.\n\t * @param {EpisodeSelection} episodeSelection - The selection criteria for the TV episode.\n\t * @param {TvEpisodeImageSearchOptions} [options] - Optional parameters for specifying image search options.\n\t * @returns {Promise<Images>} A Promise that resolves with the images for the TV episode.\n\t */\n\tasync images(\n\t\tepisodeSelection: EpisodeSelection,\n\t\toptions?: TvEpisodeImageSearchOptions,\n\t) {\n\t\tconst computedOptions = {\n\t\t\tinclude_image_language: options?.include_image_language?.join(\",\"),\n\t\t\tlanguage: options?.language,\n\t\t};\n\t\treturn await this.api.get<Images>(\n\t\t\t`${BASE_EPISODE(episodeSelection)}/images`,\n\t\t\tcomputedOptions,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves translations for a specific TV episode asynchronously.\n\t * @param {EpisodeSelection} episodeSelection - The selection criteria for the TV episode.\n\t * @returns {Promise<TvEpisodeTranslations>} A Promise that resolves with the translations for the TV episode.\n\t */\n\tasync translations(episodeSelection: EpisodeSelection) {\n\t\treturn await this.api.get<TvEpisodeTranslations>(\n\t\t\t`${BASE_EPISODE(episodeSelection)}/translations`,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves videos for a specific TV episode asynchronously.\n\t * @param {EpisodeSelection} episodeSelection - The selection criteria for the TV episode.\n\t * @param {TvEpisodeVideoSearchOptions} [options] - Optional parameters for specifying video search options.\n\t * @returns {Promise<Videos>} A Promise that resolves with the videos for the TV episode.\n\t */\n\tasync videos(\n\t\tepisodeSelection: EpisodeSelection,\n\t\toptions?: TvEpisodeVideoSearchOptions,\n\t) {\n\t\tconst computedOptions = {\n\t\t\tinclude_video_language: options?.include_video_language?.join(\",\"),\n\t\t\tlanguage: options?.language,\n\t\t};\n\t\treturn await this.api.get<Videos>(\n\t\t\t`${BASE_EPISODE(episodeSelection)}/videos`,\n\t\t\tcomputedOptions,\n\t\t);\n\t}\n}\n","import {\n\ttype AggregateCredits,\n\ttype AppendToResponse,\n\ttype AppendToResponseTvSeasonKey,\n\tBaseEndpoint,\n\ttype ChangeOption,\n\ttype Changes,\n\ttype Credits,\n\ttype ExternalIds,\n\ttype Images,\n\ttype LanguageOption,\n\ttype SeasonDetails,\n\ttype SeasonSelection,\n\ttype TokenType,\n\ttype Translations,\n\ttype TvSeasonChangeValue,\n\ttype TvSeasonImageSearchOptions,\n\ttype TvSeasonVideoSearchOptions,\n\ttype Videos,\n} from \"../@types\";\n\nconst BASE_SEASON = (seasonSelection: SeasonSelection): string => {\n\treturn `/tv/${seasonSelection.tvShowID}/season/${seasonSelection.seasonNumber}`;\n};\n\n/**\n * Represents an endpoint for accessing TV season-related information.\n */\nexport class TvSeasonsEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new TvSeasonsEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves details of a specific TV season asynchronously.\n\t * @param {SeasonSelection} seasonSelection - The selection criteria for the TV season.\n\t * @param {AppendToResponseTvSeasonKey[]} [appendToResponse] - Additional data to append to the response.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<AppendToResponse<SeasonDetails, AppendToResponseTvSeasonKey[], 'tvSeason'>>}\n\t * A Promise that resolves with the details of the TV season.\n\t */\n\tasync details<T extends AppendToResponseTvSeasonKey[] | undefined>(\n\t\tseasonSelection: SeasonSelection,\n\t\tappendToResponse?: T,\n\t\toptions?: LanguageOption,\n\t) {\n\t\tconst combinedOptions = {\n\t\t\tappend_to_response: appendToResponse\n\t\t\t\t? appendToResponse.join(\",\")\n\t\t\t\t: undefined,\n\t\t\t...options,\n\t\t};\n\n\t\treturn await this.api.get<AppendToResponse<SeasonDetails, T, \"tvSeason\">>(\n\t\t\t`${BASE_SEASON(seasonSelection)}`,\n\t\t\tcombinedOptions,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves aggregate credits for a specific TV season asynchronously.\n\t * @param {SeasonSelection} seasonSelection - The selection criteria for the TV season.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<AggregateCredits>} A Promise that resolves with the aggregate credits for the TV season.\n\t */\n\tasync aggregateCredits(\n\t\tseasonSelection: SeasonSelection,\n\t\toptions?: LanguageOption,\n\t) {\n\t\treturn await this.api.get<AggregateCredits>(\n\t\t\t`${BASE_SEASON(seasonSelection)}/aggregate_credits`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves changes related to a specific TV season asynchronously.\n\t * @param {number} seasonId - The ID of the TV season.\n\t * @param {ChangeOption} [options] - Optional parameters for specifying changes.\n\t * @returns {Promise<Changes<TvSeasonChangeValue>>} A Promise that resolves with the changes related to the TV season.\n\t */\n\tasync changes(seasonId: number, options?: ChangeOption) {\n\t\treturn await this.api.get<Changes<TvSeasonChangeValue>>(\n\t\t\t`/tv/season/${seasonId}/changes`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves credits for a specific TV season asynchronously.\n\t * @param {SeasonSelection} seasonSelection - The selection criteria for the TV season.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<Credits>} A Promise that resolves with the credits for the TV season.\n\t */\n\tasync credits(seasonSelection: SeasonSelection, options?: LanguageOption) {\n\t\treturn await this.api.get<Credits>(\n\t\t\t`${BASE_SEASON(seasonSelection)}/credits`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves external IDs for a specific TV season asynchronously.\n\t * @param {SeasonSelection} seasonSelection - The selection criteria for the TV season.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<ExternalIds>} A Promise that resolves with the external IDs for the TV season.\n\t */\n\tasync externalIds(\n\t\tseasonSelection: SeasonSelection,\n\t\toptions?: LanguageOption,\n\t) {\n\t\treturn await this.api.get<ExternalIds>(\n\t\t\t`${BASE_SEASON(seasonSelection)}/external_ids`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves images for a specific TV season asynchronously.\n\t * @param {SeasonSelection} seasonSelection - The selection criteria for the TV season.\n\t * @param {TvSeasonImageSearchOptions} [options] - Optional parameters for specifying image search options.\n\t * @returns {Promise<Images>} A Promise that resolves with the images for the TV season.\n\t */\n\tasync images(\n\t\tseasonSelection: SeasonSelection,\n\t\toptions?: TvSeasonImageSearchOptions,\n\t) {\n\t\tconst computedOptions = {\n\t\t\tinclude_image_language: options?.include_image_language?.join(\",\"),\n\t\t\tlanguage: options?.language,\n\t\t};\n\t\treturn await this.api.get<Images>(\n\t\t\t`${BASE_SEASON(seasonSelection)}/images`,\n\t\t\tcomputedOptions,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves videos for a specific TV season asynchronously.\n\t * @param {SeasonSelection} seasonSelection - The selection criteria for the TV season.\n\t * @param {TvSeasonVideoSearchOptions} [options] - Optional parameters for specifying video search options.\n\t * @returns {Promise<Videos>} A Promise that resolves with the videos for the TV season.\n\t */\n\tasync videos(\n\t\tseasonSelection: SeasonSelection,\n\t\toptions?: TvSeasonVideoSearchOptions,\n\t) {\n\t\tconst computedOptions = {\n\t\t\tinclude_video_language: options?.include_video_language?.join(\",\"),\n\t\t\tlanguage: options?.language,\n\t\t};\n\t\treturn await this.api.get<Videos>(\n\t\t\t`${BASE_SEASON(seasonSelection)}/videos`,\n\t\t\tcomputedOptions,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves translations for a specific TV season asynchronously.\n\t * @param {SeasonSelection} seasonSelection - The selection criteria for the TV season.\n\t * @param {LanguageOption} [options] - Optional parameters for specifying the language.\n\t * @returns {Promise<Translations>} A Promise that resolves with the translations for the TV season.\n\t */\n\tasync translations(\n\t\tseasonSelection: SeasonSelection,\n\t\toptions?: LanguageOption,\n\t) {\n\t\treturn await this.api.get<Translations>(\n\t\t\t`${BASE_SEASON(seasonSelection)}/translations`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n}\n","import {\n\ttype AggregateCredits,\n\ttype AlternativeTitles,\n\ttype AppendToResponse,\n\ttype AppendToResponseTvKey,\n\tBaseEndpoint,\n\ttype ChangeOption,\n\ttype Changes,\n\ttype ContentRatings,\n\ttype Credits,\n\ttype EpisodeGroups,\n\ttype ExternalIds,\n\ttype Images,\n\ttype Keywords,\n\ttype LanguageOption,\n\ttype Latesttv,\n\ttype OnTheAir,\n\ttype PageOption,\n\ttype Populartv,\n\ttype Recommendations,\n\ttype Reviews,\n\ttype ScreenedTheatrically,\n\ttype SeasonDetails,\n\ttype Similartv,\n\ttype TimezoneOption,\n\ttype TokenType,\n\ttype TopRatedtv,\n\ttype Translations,\n\ttype TvShowChangeValue,\n\ttype TvShowDetails,\n\ttype TvShowImageOptions,\n\ttype TvShowVideoOptions,\n\ttype tvAiringToday,\n\ttype Videos,\n\ttype WatchProviders,\n} from \"../@types\";\n\nconst BASE_TV = \"/tv\";\n\n/**\n * Represents an endpoint for accessing TV show-related information.\n */\nexport class TvShowsEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new TvShowsEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves details of a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @param {AppendToResponseTvKey[]} [appendToResponse] - Additional data to append to the response.\n\t * @param {string} [language] - The language for the response.\n\t * @returns {Promise<AppendToResponse<TvShowDetails, AppendToResponseTvKey[], 'tvShow'>>}\n\t * A Promise that resolves with the details of the TV show.\n\t */\n\tasync details<T extends AppendToResponseTvKey[] | undefined>(\n\t\tid: number,\n\t\tappendToResponse?: T,\n\t\tlanguage?: string,\n\t): Promise<AppendToResponse<TvShowDetails, T, \"tvShow\">> {\n\t\tconst options = {\n\t\t\tappend_to_response: appendToResponse\n\t\t\t\t? appendToResponse.join(\",\")\n\t\t\t\t: undefined,\n\t\t\tlanguage: language,\n\t\t};\n\t\treturn await this.api.get<AppendToResponse<TvShowDetails, T, \"tvShow\">>(\n\t\t\t`${BASE_TV}/${id}`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves alternative titles of a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @returns {Promise<AlternativeTitles>} A Promise that resolves with the alternative titles of the TV show.\n\t */\n\tasync alternativeTitles(id: number): Promise<AlternativeTitles> {\n\t\treturn await this.api.get<AlternativeTitles>(\n\t\t\t`${BASE_TV}/${id}/alternative_titles`,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves changes for a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @param {ChangeOption} [options] - Additional options for the request.\n\t * @returns {Promise<Changes<TvShowChangeValue>>}\n\t * A Promise that resolves with the changes for the TV show.\n\t */\n\tasync changes(\n\t\tid: number,\n\t\toptions?: ChangeOption,\n\t): Promise<Changes<TvShowChangeValue>> {\n\t\treturn await this.api.get<Changes<TvShowChangeValue>>(\n\t\t\t`${BASE_TV}/${id}/changes`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves content ratings for a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @returns {Promise<ContentRatings>} A Promise that resolves with the content ratings of the TV show.\n\t */\n\tasync contentRatings(id: number): Promise<ContentRatings> {\n\t\treturn await this.api.get<ContentRatings>(\n\t\t\t`${BASE_TV}/${id}/content_ratings`,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves aggregate credits for a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @param {LanguageOption} [options] - Additional options for the request.\n\t * @returns {Promise<AggregateCredits>} A Promise that resolves with the aggregate credits of the TV show.\n\t */\n\tasync aggregateCredits(\n\t\tid: number,\n\t\toptions?: LanguageOption,\n\t): Promise<AggregateCredits> {\n\t\treturn await this.api.get<AggregateCredits>(\n\t\t\t`${BASE_TV}/${id}/aggregate_credits`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves credits for a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @param {LanguageOption} [options] - Additional options for the request.\n\t * @returns {Promise<Credits>} A Promise that resolves with the credits of the TV show.\n\t */\n\tasync credits(id: number, options?: LanguageOption): Promise<Credits> {\n\t\treturn await this.api.get<Credits>(\n\t\t\t`${BASE_TV}/${id}/credits`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves details of a specific season of a TV show asynchronously.\n\t * @param {number} tvId - The ID of the TV show.\n\t * @param {number} seasonNumber - The season number.\n\t * @returns {Promise<SeasonDetails>} A Promise that resolves with the details of the season.\n\t */\n\tasync season(tvId: number, seasonNumber: number): Promise<SeasonDetails> {\n\t\treturn await this.api.get<SeasonDetails>(\n\t\t\t`${BASE_TV}/${tvId}/season/${seasonNumber}`,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves episode groups for a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @returns {Promise<EpisodeGroups>} A Promise that resolves with the episode groups of the TV show.\n\t */\n\tasync episodeGroups(id: number): Promise<EpisodeGroups> {\n\t\treturn await this.api.get<EpisodeGroups>(`${BASE_TV}/${id}/episode_groups`);\n\t}\n\n\t/**\n\t * Retrieves external IDs for a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @returns {Promise<ExternalIds>} A Promise that resolves with the external IDs of the TV show.\n\t */\n\tasync externalIds(id: number): Promise<ExternalIds> {\n\t\treturn await this.api.get<ExternalIds>(`${BASE_TV}/${id}/external_ids`);\n\t}\n\n\t/**\n\t * Retrieves images for a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @param {TvShowImageOptions} [options] - Additional options for the request.\n\t * @returns {Promise<Images>} A Promise that resolves with the images of the TV show.\n\t */\n\tasync images(id: number, options?: TvShowImageOptions): Promise<Images> {\n\t\tconst computedOptions = {\n\t\t\tinclude_image_language: options?.include_image_language?.join(\",\"),\n\t\t\tlanguage: options?.language,\n\t\t};\n\t\treturn await this.api.get<Images>(\n\t\t\t`${BASE_TV}/${id}/images`,\n\t\t\tcomputedOptions,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves keywords for a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @returns {Promise<Keywords>} A Promise that resolves with the keywords of the TV show.\n\t */\n\tasync keywords(id: number): Promise<Keywords> {\n\t\treturn await this.api.get<Keywords>(`${BASE_TV}/${id}/keywords`);\n\t}\n\n\t/**\n\t * Retrieves recommendations for a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @param {LanguageOption & PageOption} [options] - Additional options for the request.\n\t * @returns {Promise<Recommendations>} A Promise that resolves with the recommendations for the TV show.\n\t */\n\tasync recommendations(\n\t\tid: number,\n\t\toptions?: LanguageOption & PageOption,\n\t): Promise<Recommendations> {\n\t\treturn await this.api.get<Recommendations>(\n\t\t\t`${BASE_TV}/${id}/recommendations`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves reviews for a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @param {LanguageOption & PageOption} [options] - Additional options for the request.\n\t * @returns {Promise<Reviews>} A Promise that resolves with the reviews of the TV show.\n\t */\n\tasync reviews(\n\t\tid: number,\n\t\toptions?: LanguageOption & PageOption,\n\t): Promise<Reviews> {\n\t\treturn await this.api.get<Reviews>(\n\t\t\t`${BASE_TV}/${id}/reviews`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves information about whether the TV show was screened theatrically asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @returns {Promise<ScreenedTheatrically>} A Promise that resolves with information about theatrical screenings.\n\t */\n\tasync screenedTheatrically(id: number): Promise<ScreenedTheatrically> {\n\t\treturn await this.api.get<ScreenedTheatrically>(\n\t\t\t`${BASE_TV}/${id}/screened_theatrically`,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves similar TV shows for a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @param {LanguageOption & PageOption} [options] - Additional options for the request.\n\t * @returns {Promise<Similartv>} A Promise that resolves with the similar TV shows.\n\t */\n\tasync similar(\n\t\tid: number,\n\t\toptions?: LanguageOption & PageOption,\n\t): Promise<Similartv> {\n\t\treturn await this.api.get<Similartv>(\n\t\t\t`${BASE_TV}/${id}/similar`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves translations for a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @returns {Promise<Translations>} A Promise that resolves with the translations of the TV show.\n\t */\n\tasync translations(id: number): Promise<Translations> {\n\t\treturn await this.api.get<Translations>(`${BASE_TV}/${id}/translations`);\n\t}\n\n\t/**\n\t * Retrieves videos for a specific TV show asynchronously.\n\t * @param {number} id - The ID of the TV show.\n\t * @param {TvShowVideoOptions} [options] - Additional options for the request.\n\t * @returns {Promise<Videos>} A Promise that resolves with the videos of the TV show.\n\t */\n\tasync videos(id: number, options?: TvShowVideoOptions): Promise<Videos> {\n\t\tconst computedOptions = {\n\t\t\tinclude_video_language: options?.include_video_language?.join(\",\"),\n\t\t\tlanguage: options?.language,\n\t\t};\n\t\treturn await this.api.get<Videos>(\n\t\t\t`${BASE_TV}/${id}/videos`,\n\t\t\tcomputedOptions,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves watch providers for a specific TV show asynchronously.\n\t * Powered by JustWatch.\n\t * @param {number} id - The ID of the TV show.\n\t * @returns {Promise<WatchProviders>} A Promise that resolves with the watch providers of the TV show.\n\t */\n\tasync watchProviders(id: number): Promise<WatchProviders> {\n\t\treturn await this.api.get<WatchProviders>(\n\t\t\t`${BASE_TV}/${id}/watch/providers`,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves the latest TV show asynchronously.\n\t * @returns {Promise<Latesttv>} A Promise that resolves with the latest TV show.\n\t */\n\tasync latest(): Promise<Latesttv> {\n\t\treturn await this.api.get<Latesttv>(`${BASE_TV}/latest`);\n\t}\n\n\t/**\n\t * Retrieves TV shows that are currently on the air asynchronously.\n\t * @param {PageOption & LanguageOption & TimezoneOption} [options] - Additional options for the request.\n\t * @returns {Promise<OnTheAir>} A Promise that resolves with TV shows currently on the air.\n\t */\n\tasync onTheAir(\n\t\toptions?: PageOption & LanguageOption & TimezoneOption,\n\t): Promise<OnTheAir> {\n\t\treturn await this.api.get<OnTheAir>(\n\t\t\t`${BASE_TV}/on_the_air`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves TV shows that are airing today asynchronously.\n\t * @param {PageOption & LanguageOption & TimezoneOption} [options] - Additional options for the request.\n\t * @returns {Promise<tvAiringToday>} A Promise that resolves with TV shows airing today.\n\t */\n\tasync airingToday(\n\t\toptions?: PageOption & LanguageOption & TimezoneOption,\n\t): Promise<tvAiringToday> {\n\t\treturn await this.api.get<tvAiringToday>(\n\t\t\t`${BASE_TV}/airing_today`,\n\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves popular TV shows asynchronously.\n\t * @param {PageOption & LanguageOption} [options] - Additional options for the request.\n\t * @returns {Promise<Populartv>} A Promise that resolves with popular TV shows.\n\t */\n\tasync popular(options?: PageOption & LanguageOption): Promise<Populartv> {\n\t\treturn await this.api.get<Populartv>(\n\t\t\t`${BASE_TV}/popular`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n\n\t/**\n\t * Retrieves top-rated TV shows asynchronously.\n\t * @param {PageOption & LanguageOption} [options] - Additional options for the request.\n\t * @returns {Promise<TopRatedtv>} A Promise that resolves with top-rated TV shows.\n\t */\n\tasync topRated(options?: PageOption & LanguageOption): Promise<TopRatedtv> {\n\t\treturn await this.api.get<TopRatedtv>(\n\t\t\t`${BASE_TV}/top_rated`,\n\t\t\toptions as Record<string, unknown>,\n\t\t);\n\t}\n}\n","import {\n\tBaseEndpoint,\n\ttype TokenType,\n\ttype WatchProviders,\n\ttype WatchRegionsResponse,\n} from \"../@types\";\n\n/**\n * Represents an endpoint for accessing watch provider information.\n */\nexport class WatchProvidersEndpoint extends BaseEndpoint {\n\t/**\n\t * Constructs a new WatchProvidersEndpoint instance.\n\t * @param {string} access_token - The access token used for authentication.\n\t */\n\tconstructor(protected readonly access_token: TokenType) {\n\t\tsuper(access_token);\n\t}\n\n\t/**\n\t * Retrieves a list of all available watch providers (streaming services).\n\t * @returns {Promise<WatchProviders>} A Promise that resolves with the list of watch providers.\n\t */\n\tasync available(): Promise<WatchProviders> {\n\t\treturn await this.api.get<WatchProviders>(\"/watch/providers/movie\");\n\t}\n\n\t/**\n\t * Retrieves a list of available regions for watch providers.\n\t * @returns {Promise<WatchRegionsResponse>} A Promise that resolves with the list of available regions.\n\t */\n\tasync regions(): Promise<WatchRegionsResponse> {\n\t\treturn await this.api.get<WatchRegionsResponse>(\"/watch/providers/regions\");\n\t}\n\n\t/**\n\t * Retrieves a list of watch providers for movies.\n\t * @returns {Promise<WatchProviders>} A Promise that resolves with the list of movie watch providers.\n\t */\n\tasync movie(): Promise<WatchProviders> {\n\t\treturn await this.api.get<WatchProviders>(\"/watch/providers/movie\");\n\t}\n\n\t/**\n\t * Retrieves a list of watch providers for TV shows.\n\t * @returns {Promise<WatchProviders>} A Promise that resolves with the list of TV watch providers.\n\t */\n\tasync tv(): Promise<WatchProviders> {\n\t\treturn await this.api.get<WatchProviders>(\"/watch/providers/tv\");\n\t}\n}\n","import type { TokenType } from \"./@types\";\nimport {\n\tAccountEndpoint,\n\tCertificationEndpoint,\n\tChangeEndpoint,\n\tCollectionsEndpoint,\n\tCompaniesEndpoint,\n\tConfigurationEndpoint,\n\tCreditsEndpoint,\n\tDiscoverEndpoint,\n\tFindEndpoint,\n\tGenreEndpoint,\n\tKeywordsEndpoint,\n\tMoviesEndpoint,\n\tNetworksEndpoint,\n\tPeopleEndpoint,\n\tReviewEndpoint,\n\tSearchEndpoint,\n\tTrendingEndpoint,\n\tTvEpisodesEndpoint,\n\tTvSeasonsEndpoint,\n\tTvShowsEndpoint,\n\tWatchProvidersEndpoint,\n} from \"./endpoints\";\n\nclass TMDB {\n\tconstructor(auth: TokenType) {\n\t\tthis.account = new AccountEndpoint(auth);\n\t\tthis.certification = new CertificationEndpoint(auth);\n\t\tthis.changes = new ChangeEndpoint(auth);\n\t\tthis.collections = new CollectionsEndpoint(auth);\n\t\tthis.companies = new CompaniesEndpoint(auth);\n\t\tthis.configuration = new ConfigurationEndpoint(auth);\n\t\tthis.credits = new CreditsEndpoint(auth);\n\t\tthis.discover = new DiscoverEndpoint(auth);\n\t\tthis.find = new FindEndpoint(auth);\n\t\tthis.genre = new GenreEndpoint(auth);\n\t\tthis.keywords = new KeywordsEndpoint(auth);\n\t\tthis.movies = new MoviesEndpoint(auth);\n\t\tthis.networks = new NetworksEndpoint(auth);\n\t\tthis.people = new PeopleEndpoint(auth);\n\t\tthis.review = new ReviewEndpoint(auth);\n\t\tthis.search = new SearchEndpoint(auth);\n\t\tthis.trending = new TrendingEndpoint(auth);\n\t\tthis.tvEpisodes = new TvEpisodesEndpoint(auth);\n\t\tthis.tvSeasons = new TvSeasonsEndpoint(auth);\n\t\tthis.tvShows = new TvShowsEndpoint(auth);\n\t\tthis.watchProviders = new WatchProvidersEndpoint(auth);\n\t}\n\n\taccount: AccountEndpoint;\n\tcertification: CertificationEndpoint;\n\tchanges: ChangeEndpoint;\n\tcollections: CollectionsEndpoint;\n\tcompanies: CompaniesEndpoint;\n\tconfiguration: ConfigurationEndpoint;\n\tcredits: CreditsEndpoint;\n\tdiscover: DiscoverEndpoint;\n\tfind: FindEndpoint;\n\tgenre: GenreEndpoint;\n\tkeywords: KeywordsEndpoint;\n\tmovies: MoviesEndpoint;\n\tnetworks: NetworksEndpoint;\n\tpeople: PeopleEndpoint;\n\treview: ReviewEndpoint;\n\tsearch: SearchEndpoint;\n\ttrending: TrendingEndpoint;\n\ttvEpisodes: TvEpisodesEndpoint;\n\ttvSeasons: TvSeasonsEndpoint;\n\ttvShows: TvShowsEndpoint;\n\twatchProviders: WatchProvidersEndpoint;\n}\n\nexport * from \"./@types\";\nexport * from \"./utils\";\nexport { TMDB };\n"],"mappings":";;;AAeA,IAAY,0DAAL;AACN;AACA;AACA;AACA;AACA;;AACA;AAED,IAAY,kDAAL;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAED,IAAY,sDAAL;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAED,IAAY,wDAAL;AACN;AACA;AACA;AACA;;AACA;AAED,IAAY,oDAAL;AACN;AACA;AACA;AACA;;AACA;AAED,IAAY,oDAAL;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;;;ACnED,IAAY,8DAAL;AACN;AACA;AACA;AACA;AACA;AACA;;AACA;;;;ACjDD,MAAM,cAAc;AAEpB,IAAa,MAAb,MAAiB;CAIhB,YAAYA,MAAiB;kBA+D5B,MAlEO;kBAkEN,MAjEM;AAGP,aAAW,SAAS,SACnB,MAAK,cAAc;OACb;AACN,QAAK,SAAS,KAAK;AACnB,QAAK,cAAc,KAAK;EACxB;CACD;;;;;;CAOD,MAAM,IACLC,MACAC,SACa;EACb,MAAM,aAAa;GAClB,GAAI,WAAW,CAAE;GACjB,GAAI,KAAK,SAAS,EAAE,SAAS,KAAK,OAAQ,IAAG,CAAE;EAC/C;EAED,MAAM,SAAS,aAAa,WAAW;EAEvC,MAAM,WAAW,MAAM,OAAO,EAAE,YAAY,EAAE,KAAK,GAAG,OAAO,GAAG;GAC/D,QAAQ;GACR,SAAS;IACR,GAAI,KAAK,cACN,EAAE,gBAAgB,SAAS,KAAK,YAAY,EAAG,IAC/C,CAAE;IACL,gBAAgB;GAChB;EACD,EAAC;AAEF,OAAK,SAAS,IAAI;GACjB,MAAM,QAAS,MAAM,SAAS,MAAM;AACpC,UAAO,QAAQ,OAAO,MAAM;EAC5B;AAED,SAAQ,MAAM,SAAS,MAAM;CAC7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"}
package/package.json CHANGED
@@ -1,63 +1,72 @@
1
1
  {
2
- "name": "@tdanks2000/tmdb-wrapper",
3
- "version": "1.2.0",
4
- "description": "A powerful and easy-to-use TypeScript wrapper for The Movie Database (TMDb) API",
5
- "module": "./src/index.ts",
6
- "type": "module",
7
- "main": "dist/index.js",
8
- "types": "dist/index.d.ts",
9
- "publishConfig": {
10
- "access": "public"
11
- },
12
- "repository": {
13
- "type": "git",
14
- "url": "git+https://github.com/tdanks2000/tmdb-wrapper.git"
15
- },
16
- "homepage": "https://github.com/tdanks2000/tmdb-wrapper#readme",
17
- "bugs": {
18
- "url": "https://github.com/tdanks2000/tmdb-wrapper/issues"
19
- },
20
- "files": [
21
- "dist/**/*",
22
- "README.md"
23
- ],
24
- "keywords": [
25
- "tmdb",
26
- "tmdbWrapper",
27
- "tmdb wrapper",
28
- "tmdb-wrapper",
29
- "api wrapper",
30
- "node",
31
- "typescript",
32
- "movies",
33
- "tv shows",
34
- "movie database",
35
- "themoviedb",
36
- "tmdb api",
37
- "entertainment",
38
- "media"
39
- ],
40
- "engines": {
41
- "node": ">=16"
42
- },
43
- "author": "TDanks2000",
44
- "license": "MIT",
45
- "private": false,
46
- "scripts": {
47
- "build": "tsc",
48
- "release": "npm run build && npm version patch && npm publish",
49
- "release:minor": "npm run build && npm version minor && npm publish",
50
- "release:major": "npm run build && npm version major && npm publish",
51
- "preversion": "npm run build",
52
- "check": "biome check .",
53
- "check:unsafe": "biome check --write --unsafe .",
54
- "check:write": "biome check --write ."
55
- },
56
- "devDependencies": {
57
- "@biomejs/biome": "^2.0.0-beta.5",
58
- "@types/node": "^22.15.27",
59
- "ts-node": "^10.9.2",
60
- "tsc-alias": "^1.8.16",
61
- "typescript": "^5.8.3"
62
- }
2
+ "name": "@tdanks2000/tmdb-wrapper",
3
+ "version": "1.3.1",
4
+ "description": "A powerful and easy-to-use TypeScript wrapper for The Movie Database (TMDb) API",
5
+ "module": "./dist/index.mjs",
6
+ "type": "module",
7
+ "main": "./dist/index.cjs",
8
+ "types": "./dist/index.d.mts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.mts",
12
+ "import": "./dist/index.mjs",
13
+ "require": "./dist/index.cjs"
14
+ }
15
+ },
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/tdanks2000/tmdb-wrapper.git"
22
+ },
23
+ "homepage": "https://github.com/tdanks2000/tmdb-wrapper#readme",
24
+ "bugs": {
25
+ "url": "https://github.com/tdanks2000/tmdb-wrapper/issues"
26
+ },
27
+ "files": [
28
+ "dist/**/*",
29
+ "README.md"
30
+ ],
31
+ "keywords": [
32
+ "tmdb",
33
+ "tmdbWrapper",
34
+ "tmdb wrapper",
35
+ "tmdb-wrapper",
36
+ "api wrapper",
37
+ "node",
38
+ "typescript",
39
+ "movies",
40
+ "tv shows",
41
+ "movie database",
42
+ "themoviedb",
43
+ "tmdb api",
44
+ "entertainment",
45
+ "media"
46
+ ],
47
+ "engines": {
48
+ "node": ">=16"
49
+ },
50
+ "author": "TDanks2000",
51
+ "license": "MIT",
52
+ "private": false,
53
+ "scripts": {
54
+ "build": "tsdown",
55
+ "dev": "tsdown --watch",
56
+ "test": "bun test",
57
+ "release": "npm run test && npm run build && npm version patch && npm publish",
58
+ "release:minor": "npm run test && npm run build && npm version minor && npm publish",
59
+ "release:major": "npm run test && npm run build && npm version major && npm publish",
60
+ "preversion": "npm run test && npm run build",
61
+ "check": "biome check .",
62
+ "check:unsafe": "biome check --write --unsafe .",
63
+ "check:write": "biome check --write ."
64
+ },
65
+ "devDependencies": {
66
+ "@biomejs/biome": "^2.0.0-beta.5",
67
+ "@types/bun": "^1.2.15",
68
+ "@types/node": "^22.15.29",
69
+ "tsdown": "^0.12.6",
70
+ "typescript": "^5.8.3"
71
+ }
63
72
  }
@@ -1,16 +0,0 @@
1
- export interface Gravatar {
2
- hash: string;
3
- }
4
- export interface Avatar {
5
- gravatar: Gravatar;
6
- }
7
- export interface AccountDetails {
8
- avatar: Avatar;
9
- id: number;
10
- include_adult: boolean;
11
- iso_3166_1: string;
12
- iso_639_1: string;
13
- name: string;
14
- username: string;
15
- }
16
- //# sourceMappingURL=account.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/@types/endpoints/account.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,MAAM;IACtB,QAAQ,EAAE,QAAQ,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACjB"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,19 +0,0 @@
1
- export interface Certification {
2
- certification: string;
3
- meaning: string;
4
- order: number;
5
- }
6
- export interface Certifications {
7
- certifications: {
8
- US: Certification[];
9
- CA: Certification[];
10
- DE: Certification[];
11
- GB: Certification[];
12
- AU: Certification[];
13
- BR: Certification[];
14
- FR: Certification[];
15
- NZ: Certification[];
16
- IN: Certification[];
17
- };
18
- }
19
- //# sourceMappingURL=certification.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"certification.d.ts","sourceRoot":"","sources":["../../../src/@types/endpoints/certification.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC9B,cAAc,EAAE;QACf,EAAE,EAAE,aAAa,EAAE,CAAC;QACpB,EAAE,EAAE,aAAa,EAAE,CAAC;QACpB,EAAE,EAAE,aAAa,EAAE,CAAC;QACpB,EAAE,EAAE,aAAa,EAAE,CAAC;QACpB,EAAE,EAAE,aAAa,EAAE,CAAC;QACpB,EAAE,EAAE,aAAa,EAAE,CAAC;QACpB,EAAE,EAAE,aAAa,EAAE,CAAC;QACpB,EAAE,EAAE,aAAa,EAAE,CAAC;QACpB,EAAE,EAAE,aAAa,EAAE,CAAC;KACpB,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,26 +0,0 @@
1
- export interface MediaChange {
2
- id: number;
3
- adult: boolean | undefined;
4
- }
5
- export interface MediaChanges {
6
- results: MediaChange[];
7
- page: number;
8
- total_pages: number;
9
- total_results: number;
10
- }
11
- export interface Changes<T> {
12
- changes: Change<T>[];
13
- }
14
- export interface Change<T> {
15
- key: string;
16
- items: ChangeItem<T>[];
17
- }
18
- export interface ChangeItem<T> {
19
- id: string;
20
- action: string;
21
- time: string;
22
- value: T;
23
- iso_639_1: string;
24
- original_value: T;
25
- }
26
- //# sourceMappingURL=changes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../../src/@types/endpoints/changes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,OAAO,CAAC,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,MAAM,CAAC,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,CAAC,CAAC;CAClB"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,21 +0,0 @@
1
- import { LanguageOption, Movie } from "..";
2
- export interface Collection {
3
- id: number;
4
- backdrop_path: string;
5
- name: string;
6
- poster_path: string;
7
- adult: boolean;
8
- original_language: string;
9
- original_name: string;
10
- overview: string;
11
- }
12
- export interface DetailedCollection extends Collection {
13
- parts: Movie[];
14
- }
15
- export interface CollectionImageOptions extends LanguageOption {
16
- /**
17
- * a list of ISO-639-1 values to query
18
- */
19
- include_image_language?: string[];
20
- }
21
- //# sourceMappingURL=collection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../src/@types/endpoints/collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAE3C,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACrD,KAAK,EAAE,KAAK,EAAE,CAAC;CACf;AAED,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC7D;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,29 +0,0 @@
1
- import { Image } from "..";
2
- export interface CompanyDetails {
3
- description: string;
4
- headquarters: string;
5
- homepage: string;
6
- id: number;
7
- logo_path: string;
8
- name: string;
9
- origin_country: string;
10
- parent_company: ParentCompany;
11
- }
12
- export interface ParentCompany {
13
- name: string;
14
- id: number;
15
- logo_path: string;
16
- }
17
- export interface AlternativeNames {
18
- id: number;
19
- results: Name[];
20
- }
21
- export interface Name {
22
- name: string;
23
- type: string;
24
- }
25
- export interface CompanyImages {
26
- id: number;
27
- logos: Image[];
28
- }
29
- //# sourceMappingURL=companies.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"companies.d.ts","sourceRoot":"","sources":["../../../src/@types/endpoints/companies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAE3B,MAAM,WAAW,cAAc;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,IAAI,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,IAAI;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,EAAE,CAAC;CACf"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });