screenscraper-js
Version:
A wrapper around the screenscraper API
36 lines (35 loc) • 2.11 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());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getGame = void 0;
const axios_1 = require("./utils/axios");
const game_1 = require("./utils/game");
function getGame(_a) {
return __awaiter(this, arguments, void 0, function* ({ systemId, language = "en", gameId, crc, md5, sha1, romtype = "rom", romname, romsize, serialnum, devid, devpassword, ssid, sspassword, }) {
var _b;
if (!gameId && (!crc || !sha1 || !md5 || !romsize)) {
throw new Error("if no game id is passed then at least one of crc, sha1, md5 must be passed with the size");
}
const game = (yield (0, axios_1.client)(`jeuInfos.php`, {
method: "GET",
params: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ devid,
devpassword,
ssid,
sspassword,
romtype, output: "json" }, (systemId && { systemeid: systemId })), (gameId && { gameid: gameId })), (crc && { crc })), (md5 && { md5 })), (sha1 && { sha1 })), (romsize && { romsize })), (romname && { romname })), (serialnum && { serialnum })),
})).data;
if (!((_b = game.response) === null || _b === void 0 ? void 0 : _b.jeu)) {
return null;
}
return (0, game_1.transformGame)(game.response.jeu, language);
});
}
exports.getGame = getGame;