You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

14 lines
650 B

package com.ballast.sharedui.root
import com.copperleaf.ballast.InputHandler
import com.copperleaf.ballast.InputHandlerScope
class CounterInputHandler :
InputHandler<CounterContract.Inputs, CounterContract.Events, CounterContract.State> {
override suspend fun InputHandlerScope<CounterContract.Inputs, CounterContract.Events, CounterContract.State>.handleInput(
input: CounterContract.Inputs,
) = when (input) {
is CounterContract.Inputs.Increment -> updateState { it.copy(count = it.count + input.amount) }
is CounterContract.Inputs.Decrement -> updateState { it.copy(count = it.count - input.amount) }
}
}