mirror of
https://github.com/hydralauncher/hydra.git
synced 2026-01-27 21:01:02 +00:00
30 lines
767 B
TypeScript
30 lines
767 B
TypeScript
import shuffle from "lodash/shuffle";
|
|
|
|
import { getRandomSteam250List } from "@main/services";
|
|
|
|
import { registerEvent } from "../register-event";
|
|
import { searchGames, searchRepacks } from "../helpers/search-games";
|
|
import { formatName } from "@main/helpers";
|
|
|
|
const getRandomGame = async (_event: Electron.IpcMainInvokeEvent) => {
|
|
return getRandomSteam250List().then(async (games) => {
|
|
const shuffledList = shuffle(games);
|
|
|
|
for (const game of shuffledList) {
|
|
const repacks = searchRepacks(formatName(game));
|
|
|
|
if (repacks.length) {
|
|
const results = await searchGames(game);
|
|
|
|
if (results.length) {
|
|
return results[0].objectID;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
};
|
|
|
|
registerEvent(getRandomGame, {
|
|
name: "getRandomGame",
|
|
});
|