UNPKG

tmdb-interface

Version:

This is a Node.js wrapper of TMDB API. We apply chain-style design on it, which make it more semantic and functional.

81 lines (75 loc) 1.89 kB
/** * API modules, these modules add an URL property to Tmdb Object, * and output() will request this URL property */ const movie = require('./api/movie.js') const television = require('./api/television.js') const network = require('./api/network.js') const company = require('./api/company.js') const genres = require('./api/genres.js') const certification = require('./api/certification.js') const imdb = require('./api/imdb.js') const search = require('./api/search.js') const people = require('./api/people.js') const configuration = require('./api/configuration.js') /** * Data Structure */ const Data = require('./Data.js') /** * Function that execuate the request */ const execuate = require('./execuate.js') /** * This Function is used to generate URL which will be sent to TMDB server */ const generateAPI = require('./generateAPI.js') /** * This Function is used to setup startup argments like http object,etc */ const init = require('./init.js') /** * Tmdb Object */ const Tmdb = { init(key, version = 3) { return init(this)(key, version) }, api(path, query = {}) { return generateAPI(this)(path, query) }, async run() { return (await execuate(this)(Data)()) }, movie(movie_id) { return movie(this)(movie_id) }, television(tv_id) { return television(this)(tv_id) }, search() { return search(this)() }, imdb(imdbID) { return imdb(this)(imdbID) }, network(network_id) { return network(this)(network_id) }, genres() { return genres(this)() }, certification() { return certification(this)() }, company(company_id) { return company(this)(company_id) }, people(person_id) { return people(this)(person_id) }, configuration() { return configuration(this)() } } module.exports = Tmdb