X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;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;hb=593dff9452ddfd852786c98e86cec0c4b76fe160;hp=0000000000000000000000000000000000000000;hpb=f0824d2a3ad6713fed7a11d65535e9ec7a81a904;p=rhynodge.git 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()) + } + +}