🚧 Add merger for free games from the Epic games store
[rhynodge.git] / src / main / kotlin / net / pterodactylus / rhynodge / filters / webpages / epicgames / EpicGamesMerger.kt
1 package net.pterodactylus.rhynodge.filters.webpages.epicgames
2
3 import net.pterodactylus.rhynodge.Merger
4 import net.pterodactylus.rhynodge.State
5
6 class EpicGamesMerger : Merger {
7
8         override fun mergeStates(previousState: State, currentState: State): State {
9                 previousState as? FreeGamesState ?: throw IllegalArgumentException("previousState is not a FreeGamesState")
10                 currentState as? FreeGamesState ?: throw IllegalArgumentException("currentState is not a FreeGamesState")
11
12                 val oldGames = previousState.games
13                 val newGames = currentState.games
14
15                 return FreeGamesState(newGames, (newGames - oldGames).isNotEmpty())
16         }
17
18 }