X-Git-Url: https://git.pterodactylus.net/?p=rhynodge.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Frhynodge%2Ffilters%2Fwebpages%2Fepicgames%2FEpicGamesMerger.kt;fp=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Frhynodge%2Ffilters%2Fwebpages%2Fepicgames%2FEpicGamesMerger.kt;h=80ab923751c3110d100b9f0301e05fb9e58b1788;hp=0000000000000000000000000000000000000000;hb=0bcff043394cd4a7b14f93fd0750b640b0517ef6;hpb=a189d8ef75e86a2120372916c95422e77b40538e diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/epicgames/EpicGamesMerger.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/epicgames/EpicGamesMerger.kt new file mode 100644 index 0000000..80ab923 --- /dev/null +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/webpages/epicgames/EpicGamesMerger.kt @@ -0,0 +1,18 @@ +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()) + } + +}