UNPKG

tmdb-api-js

Version:

JavaScript wrapper for The Movie Database API

88 lines (82 loc) 2.41 kB
var __defProp = Object.defineProperty; var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __hasOwnProp = Object.prototype.hasOwnProperty; var __moduleCache = /* @__PURE__ */ new WeakMap; var __toCommonJS = (from) => { var entry = __moduleCache.get(from), desc; if (entry) return entry; entry = __defProp({}, "__esModule", { value: true }); if (from && typeof from === "object" || typeof from === "function") __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable })); __moduleCache.set(from, entry); return entry; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true, configurable: true, set: (newValue) => all[name] = () => newValue }); }; // src/index.ts var exports_src = {}; __export(exports_src, { default: () => src_default }); module.exports = __toCommonJS(exports_src); // src/constants.ts var TMDB_BASE_API_URL = "https://api.themoviedb.org/3"; var TMDB_LANGUAGE = "en-US"; var CONSTANTS = { TMDB_BASE_API_URL, TMDB_LANGUAGE }; var constants_default = CONSTANTS; // src/client.ts class Client { language; apiKey; baseUrl; constructor(apiKey, baseUrl, language) { this.language = language ?? constants_default.TMDB_LANGUAGE; this.apiKey = apiKey; this.baseUrl = baseUrl ?? constants_default.TMDB_BASE_API_URL; } async get(path) { const response = await fetch(`${this.baseUrl}/${path}?language=${this.language}`, { headers: { Authorization: `Bearer ${this.apiKey}`, "Content-Type": "application/json" } }); return response.json(); } } var client_default = Client; // src/tv/tv-client.ts class TVClient extends client_default { constructor(apiKey, baseUrl, language) { super(apiKey, baseUrl, language); } async getDetails(showId) { const response = await this.get(`tv/${showId}`); return response; } } var tv_client_default = TVClient; // src/index.ts class TMDBClient extends client_default { tv; constructor(apiKey, baseUrl, language) { super(apiKey, baseUrl, language); this.tv = new tv_client_default(apiKey, baseUrl, language); } } var src_default = TMDBClient;