@dills1220/tmdb
v2.7.2
Published
TMDb SDK.
Downloads
2
Maintainers
Readme
TMDb
The Movie Database (TMDb) SDK.
Features
- Automatic rate-throttling
- Strict types
Usage
import { Tmdb } from "@dills1220/tmdb";
/**
* @see https://developers.themoviedb.org/3/getting-started/authentication
*/
const apiKey: string = "";
const tmdb = new Tmdb(apiKey);
API
Refer to the source code and the type definitions.
Note: Only a subset of the API is implemented. I will be adding new methods as needed. If you need a method added, raise a PR. Alternatively, you can use the low-level
get
method to construct any API calls.
async findId (resourceType: 'movie' | 'person', externalSource: 'imdb', externalId: string) => Promise<number>;
async get (resource: string, parameters: QueryType = {}) => Object;
async getMovie (movieId: number) => Promise<MovieType>
async getMovieBackdropImages (movieId: number, includeImageLanguage: $ReadOnlyArray<string>) => Promise<$ReadOnlyArray<MovieBackdropImageType>>;
async getMovieCastCredits (movieId: number) => Promise<$ReadOnlyArray<MovieCastCreditType>>;
async getMovieCrewCredits (movieId: number) => Promise<$ReadOnlyArray<MovieCrewCreditType>>;
async getMoviePosterImages (movieId: number, includeImageLanguage: $ReadOnlyArray<string>) => Promise<$ReadOnlyArray<MoviePosterImageType>>;
async getMovieVideos (movieId: number) => Promise<$ReadOnlyArray<MovieVideoType>>;
async getPerson (personId: number) => Promise<PersonType>;
async getPersonMovieCredits (personId: number) => Promise<MovieCreditsType>;
get
get
method is the most primitive TMDb API method and it can be used to construct any of the API queries.
Example: GET /search/movie
API method is not implemented. However, you can still use it as:
await tmdb.get("search/movie", {
query: "The Terminator",
});
Handling errors
Methods that are expected to return a specific resource will throw NotFoundError
if the resource is not found.
import {
Tmdb,
NotFoundError
} from "@dills1220/tmdb";
const tmdb = new Tmdb([..]);
try {
await tmdb.getMovie(1);
} catch (error) {
if (error instanceof NotFoundError) {
console.error('Movie TMDb ID #1 not found.');
} else {
throw error;
}
}
Logging
This package is using roarr
logger to log the program's state.
Export ROARR_LOG=true
environment variable to enable log printing to stdout.
Use roarr-cli
program to pretty-print the logs.
Additional Helpful Info
if you are on Windows and having trouble with running the tests, checkout this thread