--- /dev/null
+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())
+ }
+
+}