-
Notifications
You must be signed in to change notification settings - Fork 1
/
AwaitHost.kt
34 lines (21 loc) · 707 Bytes
/
AwaitHost.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Copyright 2024 Soil Contributors
// SPDX-License-Identifier: Apache-2.0
package soil.query.compose.runtime
import androidx.compose.runtime.Stable
import androidx.compose.runtime.compositionLocalOf
@Stable
interface AwaitHost {
val keys: Set<Any>
operator fun get(key: Any): Boolean
operator fun set(key: Any, isAwaited: Boolean)
fun remove(key: Any)
companion object Noop : AwaitHost {
override val keys: Set<Any> = emptySet()
override fun get(key: Any): Boolean = false
override fun set(key: Any, isAwaited: Boolean) = Unit
override fun remove(key: Any) = Unit
}
}
val LocalAwaitHost = compositionLocalOf<AwaitHost> {
AwaitHost
}