UNPKG

igdb-api-node

Version:

Nodejs API Wrapper for the IGDB.com API

43 lines (42 loc) 1.64 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getTagNumber = void 0; const apicalypse_1 = __importDefault(require("apicalypse")); const tag_number_1 = __importDefault(require("./tag-number")); exports.getTagNumber = tag_number_1.default; const version_1 = require("./version"); const createIGDBClient = (clientID, appAccessToken, opts = {}) => { const id = clientID || process.env.TWITCH_CLIENT_ID || global.TWITCH_CLIENT_ID; const token = appAccessToken || process.env.TWITCH_APP_ACCESS_TOKEN || global.TWITCH_APP_ACCESS_TOKEN; if (!id) { throw new Error("ClientID must be provided, either as an argument or through env TWITCH_CLIENT_ID"); } if (!token) { throw new Error("AppAccessToken must be provided, either as an argument or through env TWITCH_APP_ACCESS_TOKEN"); } const defaultOptions = { method: 'POST', baseURL: 'https://api.igdb.com/v4', headers: { 'client-id': id, 'authorization': `Bearer ${token}`, 'x-user-agent': `igdb-api-node v${version_1.VERSION}`, accept: 'application/json', }, responseType: 'json' }; // Deep merge the headers const mergedOptions = { ...defaultOptions, ...opts, headers: { ...defaultOptions.headers, ...(opts.headers || {}) } }; return (0, apicalypse_1.default)(mergedOptions); }; exports.default = createIGDBClient;