better-trakt
Version:
A Trakt.tv client with native Typescript support and quality of life features
65 lines • 2.32 kB
JavaScript
;
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