GetUserWithFlowUseCase.kt

package com.gyleedev.githubsearch.domain.usecase

import com.gyleedev.githubsearch.domain.model.UserModel
import com.gyleedev.githubsearch.domain.repository.GitHubRepository
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flowOf
import javax.inject.Inject

class GetUserWithFlowUseCase @Inject constructor(
    private val repository: GitHubRepository,
) {
    operator fun invoke(user: String): Flow<UserModel?> = try {
        repository.getUserWithFlow(user)
    } catch (e: Exception) {
        flowOf(null)
    }
}