UNPKG

better-trakt

Version:

A Trakt.tv client with native Typescript support and quality of life features

65 lines 2.32 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Trakt = void 0; const axios_1 = __importDefault(require("axios")); const certifications_1 = require("./certifications"); const countries_1 = require("./countries"); const genres_1 = require("./genres"); const languages_1 = require("./languages"); const movies_1 = require("./movies"); const networks_1 = require("./networks"); const shows_1 = require("./shows"); // api methods const users_1 = require("./users"); const version = ''; /** * Trakt.tv SDK * @example * SDK with basic config * ```ts * import { Trakt } from "better-trakt"; * * const client = new Trakt({ * clientId: "client id", * clientSecret: "client secret", * }); * ``` */ class Trakt { constructor(settings) { // apply settings this.settings = { clientId: settings.clientId, clientSecret: settings.clientSecret, redirectUri: settings.redirectUri || 'urn:ietf:wg:oauth:2.0:oob', apiUrl: settings.apiUrl || 'https://api.trakt.tv', userAgent: settings.userAgent || `better-trakt / ${version} (+https://github.com/getaugur/better-trakt/)`, }; // make base client this.client = axios_1.default.create({ headers: { 'Content-type': 'application/json', 'trakt-api-version': '2', 'trakt-api-key': this.settings.clientId, 'User-Agent': this.settings.userAgent, }, }); const apiConfig = { client: this.client, apiUrl: this.settings.apiUrl, }; this.users = new users_1.Users(apiConfig); this.movies = new movies_1.Movies(apiConfig); this.shows = new shows_1.Shows(apiConfig); this.certifications = new certifications_1.Certifications(apiConfig); this.countries = new countries_1.Countries(apiConfig); this.genres = new genres_1.Genres(apiConfig); this.languages = new languages_1.Languages(apiConfig); this.networks = new networks_1.Networks(apiConfig); } } exports.Trakt = Trakt; //# sourceMappingURL=client.js.map