If I have a module like this: ``` @Module() @Compo...
# koin
b
If I have a module like this:
Copy code
@Module()
@ComponentScan("com.hssw.wallpaperprude")
class DefaultModule {

    @Single
    fun ucFetch() {
        val flow: SharedFlow<Async<RedditClient>> = get()
        val response = MutableSharedFlow<RedditUseCase?>(replay = 1).apply {
How do I get the val "flow" from Koin? The @Single Flow is defined elsewhere in the module
m
Not really sure what you mean, but you can probably use something similar to this technique for `Deferred`:
Copy code
inline fun <reified T> Scope.getDeferred(): Deferred<T> {
    val qualifier = TypeQualifier(T::class)
    return get(qualifier)
}

inline fun <reified T> Module.singleDeferred(
    qualifier: Qualifier? = null,
    createdAtStart: Boolean = false,
    noinline suspendingDefinition: SuspendingDefinition<T>
): KoinDefinition<Deferred<T>> {
    val definition: Definition<Deferred<T>> = { parametersHolder ->
        get<CoroutineScope>().async {
            suspendingDefinition(parametersHolder)
        }
    }
    @Suppress("NAME_SHADOWING")
    val qualifier = qualifier ?: TypeQualifier(T::class)
    return single(qualifier, createdAtStart, definition)
}

...

module {
    singleDeferred<Foo> { ... }
}

val fooDeferred = getDeferred<Foo>()