diff --git a/packages/tmdb/src/index.ts b/packages/tmdb/src/index.ts index e2ba79d..732fb25 100644 --- a/packages/tmdb/src/index.ts +++ b/packages/tmdb/src/index.ts @@ -1,2 +1,2 @@ export const name = "tmdb"; -export * from './search'; \ No newline at end of file +export * from "./search"; diff --git a/packages/tmdb/src/search.ts b/packages/tmdb/src/search.ts index 6442d3a..43452e6 100644 --- a/packages/tmdb/src/search.ts +++ b/packages/tmdb/src/search.ts @@ -1,46 +1,55 @@ -import type { MovieDetails, TvShowDetails } from 'tmdb-ts'; -import { TMDB } from 'tmdb-ts'; +import type { MovieDetails, TvShowDetails } from "tmdb-ts"; +import { TMDB } from "tmdb-ts"; -const TMDB_API_KEY = 'eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJkYTM1ZTgyMzE4OTc0NTgxNDJmZjljZTE4ODExNWRlNiIsInN1YiI6IjY0OTM0ZDQ1ODliNTYxMDExYzliZDVhMiIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.AzWnIcxPNgDwGdzeIZ_C3mRC_5_qy-Z-SRPglLjzlNc'; +const TMDB_API_KEY = + "eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJkYTM1ZTgyMzE4OTc0NTgxNDJmZjljZTE4ODExNWRlNiIsInN1YiI6IjY0OTM0ZDQ1ODliNTYxMDExYzliZDVhMiIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.AzWnIcxPNgDwGdzeIZ_C3mRC_5_qy-Z-SRPglLjzlNc"; const tmdb = new TMDB(TMDB_API_KEY); export async function searchTitle(query: string): Promise { - try { - const rawResults = await tmdb.search.multi({ query, page: 1, include_adult: false }); - const results = rawResults.results.filter((result) => result.media_type === 'tv' || result.media_type === 'movie'); + try { + const rawResults = await tmdb.search.multi({ + query, + page: 1, + include_adult: false, + }); + const results = rawResults.results.filter( + (result) => result.media_type === "tv" || result.media_type === "movie", + ); - if (!results.length) throw new Error('No results found'); + if (!results.length) throw new Error("No results found"); - return results; - } catch (ex) { - throw new Error(`Error searching for title: ${(ex as Error).message}`); - } + return results; + } catch (ex) { + throw new Error(`Error searching for title: ${(ex as Error).message}`); + } } export async function fetchMediaDetails( - id: string, type: 'movie' | 'tv' - ): Promise<{ type: 'movie' | 'tv'; result: TvShowDetails | MovieDetails } | undefined> { - try { - let result: TvShowDetails | MovieDetails; - - switch (type) { - case 'tv': - result = await tmdb.tvShows.details(parseInt(id, 10)); - break; - case 'movie': - result = await tmdb.movies.details(parseInt(id, 10)); - break; - default: - return undefined; - } - - return { type, result }; - } catch (ex) { - return undefined; - } - } + id: string, + type: "movie" | "tv", +): Promise< + { type: "movie" | "tv"; result: TvShowDetails | MovieDetails } | undefined +> { + try { + let result: TvShowDetails | MovieDetails; - export function getMediaPoster(posterPath: string): string { - return `https://image.tmdb.org/t/p/w185/${posterPath}`; + switch (type) { + case "tv": + result = await tmdb.tvShows.details(parseInt(id, 10)); + break; + case "movie": + result = await tmdb.movies.details(parseInt(id, 10)); + break; + default: + return undefined; + } + + return { type, result }; + } catch (ex) { + return undefined; } - \ No newline at end of file +} + +export function getMediaPoster(posterPath: string): string { + return `https://image.tmdb.org/t/p/w185/${posterPath}`; +}