diff --git a/src/main/events/catalogue/get-random-game.ts b/src/main/events/catalogue/get-random-game.ts index d4bfd6af..c7484d6b 100644 --- a/src/main/events/catalogue/get-random-game.ts +++ b/src/main/events/catalogue/get-random-game.ts @@ -6,7 +6,7 @@ import { registerEvent } from "../register-event"; import { searchGames, searchRepacks } from "../helpers/search-games"; import { formatName } from "@main/helpers"; -let gamesList = new Array(); +let gamesList: Steam250Game[] = []; let nextGameIndex = 0; const getRandomGame = async (_event: Electron.IpcMainInvokeEvent) => { @@ -24,15 +24,15 @@ const getRandomGame = async (_event: Electron.IpcMainInvokeEvent) => { const repacks = searchRepacks(formatName(game.title)); if (repacks.length) { - const results = await searchGames({ query: game.title }); + const catalogueResults = await searchGames({ query: game.title }); - if (results.length) { - resultObjectId = results[0].objectID; + if (catalogueResults.length) { + resultObjectId = catalogueResults[0].objectID; } } nextGameIndex += 1; - if (nextGameIndex == gamesList.length - 1) { + if (nextGameIndex == gamesList.length) { nextGameIndex = 0; gamesList = shuffle(gamesList); } diff --git a/src/main/services/steam-250.ts b/src/main/services/steam-250.ts index 079f067f..dc84cb21 100644 --- a/src/main/services/steam-250.ts +++ b/src/main/services/steam-250.ts @@ -11,17 +11,17 @@ export const requestSteam250 = async (path: string) => { const { window } = new JSDOM(response.data); const { document } = window; - return Array.from(document.querySelectorAll(".appline .title a")).map( - ($title: HTMLAnchorElement) => { + return Array.from(document.querySelectorAll(".appline .title a")) + .map(($title: HTMLAnchorElement) => { const steamGameUrl = $title.href; if (!steamGameUrl) return null; return { title: $title.textContent, objectID: steamGameUrl.split("/").pop(), - }; - } - ); + } as Steam250Game; + }) + .filter((game) => game != null); }); };