Skip to content

Instantly share code, notes, and snippets.

@twittemb
Created March 19, 2020 20:39
Show Gist options
  • Save twittemb/3c29fb07c4ee414dd1b0f54eb6902d4c to your computer and use it in GitHub Desktop.
Save twittemb/3c29fb07c4ee414dd1b0f54eb6902d4c to your computer and use it in GitHub Desktop.
func levelsReducer(currentLevels: Levels, event: Event) -> Levels {
guard currentLevels.left != currentLevels.right else { return currentLevels }
switch event {
case .decreaseLeft:
return Levels(left: currentLevels.left-1, right: currentLevels.right)
case .increaseLeft:
return Levels(left: currentLevels.left+1, right: currentLevels.right)
case .decreaseRight:
return Levels(left: currentLevels.left, right: currentLevels.right-1)
case .increaseRight:
return Levels(left: currentLevels.left, right: currentLevels.right+1)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment