1 package net.pterodactylus.rhynodge.filters.webpages.epicgames
3 import net.pterodactylus.rhynodge.Merger
4 import net.pterodactylus.rhynodge.State
6 class EpicGamesMerger : Merger {
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")
12 val oldGames = previousState.games
13 val newGames = currentState.games
15 return FreeGamesState(newGames, (newGames - oldGames).isNotEmpty())