Skip to content

Commit

Permalink
[chore] #1 blockingintent
Browse files Browse the repository at this point in the history
  • Loading branch information
Sangwook123 committed Apr 10, 2024
1 parent 0c4e2d2 commit 1a91c2d
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import androidx.lifecycle.ViewModel
import dagger.hilt.android.lifecycle.HiltViewModel
import org.orbitmvi.orbit.Container
import org.orbitmvi.orbit.ContainerHost
import org.orbitmvi.orbit.annotation.OrbitExperimental
import org.orbitmvi.orbit.syntax.simple.blockingIntent
import org.orbitmvi.orbit.syntax.simple.intent
import org.orbitmvi.orbit.syntax.simple.postSideEffect
import org.orbitmvi.orbit.syntax.simple.reduce
Expand Down Expand Up @@ -38,7 +40,8 @@ class LoginViewModel @Inject constructor(
fun updateId(id: String) = updateState { copy(id = id) }
fun updatePw(pw: String) = updateState { copy(password = pw) }

private fun updateState(reducer: LoginState.() -> LoginState) = intent {
@OptIn(OrbitExperimental::class)
private fun updateState(reducer: LoginState.() -> LoginState) = blockingIntent {
reduce { state.reducer() }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import androidx.lifecycle.ViewModel
import dagger.hilt.android.lifecycle.HiltViewModel
import org.orbitmvi.orbit.Container
import org.orbitmvi.orbit.ContainerHost
import org.orbitmvi.orbit.annotation.OrbitExperimental
import org.orbitmvi.orbit.syntax.simple.blockingIntent
import org.orbitmvi.orbit.syntax.simple.intent
import org.orbitmvi.orbit.syntax.simple.postSideEffect
import org.orbitmvi.orbit.syntax.simple.reduce
Expand Down Expand Up @@ -53,7 +55,8 @@ class SignupViewModel @Inject constructor() : ContainerHost<SignupState, SignupS
fun updateName(name: String) = updateState { copy(name = name) }
fun updateHobby(hobby: String) = updateState { copy(hobby = hobby) }

private fun updateState(reducer: SignupState.() -> SignupState) = intent {
@OptIn(OrbitExperimental::class)
private fun updateState(reducer: SignupState.() -> SignupState) = blockingIntent {
reduce { state.reducer() }
}
}

0 comments on commit 1a91c2d

Please sign in to comment.