tmdb

2.6.0 • Public • Published

TMDb

GitSpo Mentions Travis build status Coveralls NPM version Canonical Code Style Twitter Follow

The Movie Database (TMDb) SDK.

Features

  • Automatic rate-throttling
  • Strict types

Usage

import {
  Tmdb
} from '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>;
 

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 '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.

Dependencies (8)

Dev Dependencies (20)

Package Sidebar

Install

npm i tmdb

Weekly Downloads

2

Version

2.6.0

License

none

Unpacked Size

73.3 kB

Total Files

20

Last publish

Collaborators

  • gajus