From 6f1bfa0fb96feb70ca12db6c8a429a5d242433f5 Mon Sep 17 00:00:00 2001 From: Zamitto Date: Mon, 29 Apr 2024 14:12:06 -0300 Subject: [PATCH] changes after pr review --- src/main/events/catalogue/get-random-game.ts | 19 +++++++++---------- src/main/events/catalogue/search-games.ts | 2 +- src/main/services/steam-250.ts | 5 +++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/events/catalogue/get-random-game.ts b/src/main/events/catalogue/get-random-game.ts index 82a7966b..d0d013e7 100644 --- a/src/main/events/catalogue/get-random-game.ts +++ b/src/main/events/catalogue/get-random-game.ts @@ -5,11 +5,10 @@ import { Steam250Game, getSteam250List } from "@main/services"; import { registerEvent } from "../register-event"; import { searchGames, searchRepacks } from "../helpers/search-games"; -let gamesList: Steam250Game[] = []; -let nextGameIndex = 0; +const state = { games: Array(), index: 0 }; const getRandomGame = async (_event: Electron.IpcMainInvokeEvent) => { - if (gamesList.length == 0) { + if (state.games.length == 0) { const steam250List = await getSteam250List(); const filteredSteam250List = steam250List.filter((game) => { @@ -19,20 +18,20 @@ const getRandomGame = async (_event: Electron.IpcMainInvokeEvent) => { return repacks.length && catalogue.length; }); - gamesList = shuffle(filteredSteam250List); + state.games = shuffle(filteredSteam250List); } - if (gamesList.length == 0) { + if (state.games.length == 0) { return ""; } - const resultObjectId = gamesList[nextGameIndex].objectID; + const resultObjectId = state.games[state.index].objectID; - nextGameIndex += 1; + state.index += 1; - if (nextGameIndex == gamesList.length) { - nextGameIndex = 0; - gamesList = shuffle(gamesList); + if (state.index == state.games.length) { + state.index = 0; + state.games = shuffle(state.games); } return resultObjectId; diff --git a/src/main/events/catalogue/search-games.ts b/src/main/events/catalogue/search-games.ts index cdb84d56..f0539562 100644 --- a/src/main/events/catalogue/search-games.ts +++ b/src/main/events/catalogue/search-games.ts @@ -6,7 +6,7 @@ const searchGamesEvent = async ( _event: Electron.IpcMainInvokeEvent, query: string ): Promise => { - return Promise.all(searchGames({ query, take: 12 })); + return searchGames({ query, take: 12 }); }; registerEvent(searchGamesEvent, { diff --git a/src/main/services/steam-250.ts b/src/main/services/steam-250.ts index f5c92364..89836d89 100644 --- a/src/main/services/steam-250.ts +++ b/src/main/services/steam-250.ts @@ -36,8 +36,9 @@ const steam250Paths = [ ]; export const getSteam250List = async () => { - const gamesPromises = steam250Paths.map((path) => requestSteam250(path)); - const gamesList = (await Promise.all(gamesPromises)).flat(); + const gamesList = ( + await Promise.all(steam250Paths.map((path) => requestSteam250(path))) + ).flat(); const gamesMap: Map = gamesList.reduce((map, item) => { map.set(item.objectID, item);