@odyssoft/tmdb
Version:
Unofficial TMDB v3 api wrapper, built using TypeScript and node.js
30 lines (29 loc) • 1.57 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const Request = (apiKey, endpoint, options) => __awaiter(void 0, void 0, void 0, function* () {
const extras = [`api_key=${apiKey}`];
if (!options || !options.hasOwnProperty('language')) {
extras.push('language=en-US');
}
options &&
Object.keys(options).forEach((key) => extras.push(`${key}=${key === 'append_to_response' && Array.isArray(options[key])
? options[key].join()
: options[key]}`));
return axios_1.default
.get(`https://api.themoviedb.org/3${endpoint}?${extras.join('&')}`)
.then(({ data }) => data);
});
exports.default = Request;