package net.pterodactylus.rhynodge.filters.webpages.epicgames import net.pterodactylus.rhynodge.Merger import net.pterodactylus.rhynodge.State class EpicGamesMerger : Merger { override fun mergeStates(previousState: State, currentState: State): State { previousState as? FreeGamesState ?: throw IllegalArgumentException("previousState is not a FreeGamesState") currentState as? FreeGamesState ?: throw IllegalArgumentException("currentState is not a FreeGamesState") val oldGames = previousState.games val newGames = currentState.games return FreeGamesState(newGames, (newGames - oldGames).isNotEmpty()) } }