Skip to content

Commit 867c9b0

Browse files
author
Tiago Araujo de Souza
committed
Renamed safeFlow to useCaseFlow
1 parent 540ffff commit 867c9b0

File tree

5 files changed

+12
-10
lines changed

5 files changed

+12
-10
lines changed

app/src/main/java/com/monstarlab/arch/extensions/UseCaseExtensions.kt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,28 @@ package com.monstarlab.arch.extensions
33
import com.monstarlab.core.domain.error.ErrorModel
44
import com.monstarlab.core.domain.error.toError
55
import kotlinx.coroutines.flow.Flow
6+
import kotlinx.coroutines.flow.FlowCollector
7+
import kotlinx.coroutines.flow.catch
68
import kotlinx.coroutines.flow.flow
9+
import kotlinx.coroutines.flow.map
710
import kotlinx.coroutines.flow.transform
8-
11+
import timber.log.Timber
912

1013
sealed class UseCaseResult<out T> {
1114
data class Success<T>(val value: T) : UseCaseResult<T>()
1215
data class Error(val error: ErrorModel) : UseCaseResult<Nothing>()
1316
}
1417

1518
suspend inline fun <T> safeUseCase(
16-
crossinline block: suspend () -> T
19+
crossinline block: suspend () -> T,
1720
): UseCaseResult<T> = try {
1821
UseCaseResult.Success(block())
1922
} catch (e: ErrorModel) {
2023
UseCaseResult.Error(e.toError())
2124
}
2225

23-
inline fun <T> safeFlow(
24-
crossinline block: suspend () -> T
26+
inline fun <T> useCaseFlow(
27+
crossinline block: suspend () -> T,
2528
): Flow<UseCaseResult<T>> = flow {
2629
try {
2730
val repoResult = block()
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.monstarlab.core.usecases.blog
22

33
import com.monstarlab.arch.extensions.UseCaseResult
4-
import com.monstarlab.arch.extensions.safeFlow
4+
import com.monstarlab.arch.extensions.useCaseFlow
55
import com.monstarlab.core.data.repositories.PostRepository
66
import com.monstarlab.core.domain.model.Post
77
import kotlinx.coroutines.flow.Flow
@@ -10,7 +10,7 @@ import javax.inject.Inject
1010
class GetPostsUseCase @Inject constructor(
1111
private val postRepository: PostRepository
1212
){
13-
fun getPosts(): Flow<UseCaseResult<List<Post>>> = safeFlow {
13+
fun getPosts(): Flow<UseCaseResult<List<Post>>> = useCaseFlow {
1414
postRepository.getPosts()
1515
}
1616
}

app/src/main/java/com/monstarlab/core/usecases/resources/GetResourcesUseCase.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.monstarlab.core.usecases.resources
22

3-
import com.monstarlab.arch.extensions.safeFlow
3+
import com.monstarlab.arch.extensions.useCaseFlow
44
import com.monstarlab.core.data.repositories.ResourceRepository
55
import kotlinx.coroutines.delay
66
import javax.inject.Inject
@@ -9,7 +9,7 @@ class GetResourcesUseCase @Inject constructor(
99
private val resourceRepository: ResourceRepository
1010
) {
1111

12-
fun getResources() = safeFlow {
12+
fun getResources() = useCaseFlow {
1313
delay(2000)
1414
resourceRepository.getResources()
1515
}

app/src/main/java/com/monstarlab/core/usecases/user/LoginUseCase.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class LoginUseCase @Inject constructor(
1010
private val userRepository: UserRepository
1111
) {
1212

13-
fun login(email: String, password: String): Flow<UseCaseResult<User>> = safeFlow {
13+
fun login(email: String, password: String): Flow<UseCaseResult<User>> = useCaseFlow {
1414
userRepository.login(email, password)
1515
userRepository.getUser()
1616
}

app/src/main/java/com/monstarlab/injection/components/AppComponent.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import com.monstarlab.injection.modules.*
55
import dagger.Component
66
import dagger.android.AndroidInjector
77
import dagger.android.support.AndroidSupportInjectionModule
8-
import dk.nodes.template.injection.modules.*
98
import javax.inject.Singleton
109

1110
@Component(

0 commit comments

Comments
 (0)