tmdb-lib-js
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

tmdb-lib-js


Unofficial Javascript wrapper / library for The Movie Database API.

The Movie Database Logo


Result types are based on Official Api Reference Responses definitions, but some of them are missing or incorrect in official definitions. It's more likely to happen in responses with multiple types of data. If you encounter one, please rise an issue here.

Info

Currently library implements only v3 of The Movie Database API.

This library is currently being written. You can check implemented endpoints in this list.

After implementing all endpoints I plan on making React version of this library.

Installation

npm instal tmdb-lib-js

Usage

API Endpoints

tmdb-lib-js follows TMDB official documentation organization of API endpoints. You access them like this:

const details = await TMDB.networks.details({network_id: 123}, "readAccessToken")

Fully supports types for each endpoint request and response.

tmdb-lib-js has built-in fetcher for each endpint. The fetcher injects the TMDB API Read Access Token into the request. To use it, you set Access Token in the method. Also you can use custom fetcher by passing it instead of Access Token.

If you are implementing this library client side (eg. in firebase app) I reccomend implementing custom fetcher that is executed server side (eg. cloud functions in firebase) to not expose Access Token to client.

Custom Fetcher

To work correctly custom fetcher must satisfy its type in endpint methods.

According to this type, custom fetcher must implement GET, POST and DELETE html requests like this:

    {
     method: 'GET',
     headers: {
      accept: 'application/json',
      Authorization: `Bearer ${readAccessToken}`
     }
    }
    
    {
     method: 'POST',
     headers: {
      accept: 'application/json',
      "content-type": 'application/json',
      Authorization: `Bearer ${readAccessToken}`
     },
     body: request.rawBody ? JSON.stringify(request.rawBody) : ""
    }

    {
     method: 'DELETE',
     headers: {
      accept: 'application/json',
      "content-type": 'application/json',
      Authorization: `Bearer ${readAccessToken}`
     },
     body: request.rawBody ? JSON.stringify(request.rawBody) : ""
    }
    

I recommend looking into build-in fetcher as a reference for making custom fetcher.

Images

not implemented yet.

Package Sidebar

Install

npm i tmdb-lib-js

Weekly Downloads

0

Version

0.2.0

License

ISC

Unpacked Size

179 kB

Total Files

247

Last publish

Collaborators

  • bartosz-dude