CSSuspendPropertyImpl

class CSSuspendPropertyImpl<T>(value: T, onApply: suspend (value: T) -> Unit = { }) : CSSuspendPropertyBase<T>

Constructors

Link copied to clipboard
constructor(value: T, onApply: suspend (value: T) -> Unit = { })

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val onChange: suspend (value: T) -> Unit
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override var value: T

Functions

Link copied to clipboard
infix inline suspend fun <T> CSSuspendProperty<T>.assign(other: T)
infix inline suspend fun <T> CSSuspendProperty<T>.assign(other: CSValue<T>)
Link copied to clipboard
fun <T> CSHasDestruct.atomicProperty(value: T, onChange: (value: T) -> Unit? = null): CSAtomicProperty<T>
Link copied to clipboard
Link copied to clipboard
fun CSHasRegistrations.debouncer(function: suspend () -> Unit): CSDebouncer
fun CSHasRegistrations.debouncer(dispatcher: CoroutineContext = Main, function: suspend () -> Unit): CSDebouncer
fun CSHasRegistrations.debouncer(after: Duration, function: suspend () -> Unit): CSDebouncer
fun CSHasRegistrations.debouncer(scope: CoroutineScope, function: suspend () -> Unit): CSDebouncer
fun CSHasRegistrations.debouncer(dispatcher: CoroutineContext = Main, after: Duration, function: suspend () -> Unit): CSDebouncer
Link copied to clipboard
open suspend override fun fireChange()
Link copied to clipboard
open operator override fun getValue(thisRef: Any?, property: KProperty<*>): T
Link copied to clipboard
inline fun CSHasDestruct.later(@MainThread crossinline function: () -> Unit)
inline fun CSHasRegistrations.later(after: Int, crossinline function: () -> Unit): CSRegistration
inline fun CSHasRegistrations.later(after: Duration, crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
fun CSHasRegistrations.laterOnce(function: suspend () -> Unit): CSLaterOnceFunc
fun CSHasRegistrations.laterOnce(after: Duration, function: suspend () -> Unit): CSLaterOnceFunc
fun CSHasRegistrations.laterOnce(dispatcher: CoroutineDispatcher = Main, function: suspend () -> Unit): CSLaterOnceFunc
fun CSHasRegistrations.laterOnce(dispatcher: CoroutineDispatcher = Main, after: Duration, function: suspend () -> Unit): CSLaterOnceFunc
Link copied to clipboard
Link copied to clipboard
fun CSHasRegistrations.launch(dispatcher: CoroutineContext = Main, func: suspend (JobRegistration) -> Unit): JobRegistration
fun CSHasRegistrations.launch(key: String, dispatcher: CoroutineContext = Main, func: suspend (JobRegistration) -> Unit): JobRegistration
fun CSHasRegistrations.launch(scope: CoroutineScope, context: CoroutineContext = Main, func: suspend (JobRegistration) -> Unit): JobRegistration
Link copied to clipboard
fun CSHasRegistrations.launchIfNot(key: String, dispatcher: CoroutineContext = Main, func: suspend (CSRegistration) -> Unit): CSRegistration?
Link copied to clipboard
fun CSHasRegistrations.launchRepeat(delay: Int, start: Boolean = true, dispatcher: CoroutineContext = Main, function: suspend () -> Unit): CSRegistration
fun CSHasRegistrations.launchRepeat(after: Int, delay: Int, start: Boolean = true, dispatcher: CoroutineContext = Main, function: suspend () -> Unit): CSRegistration
fun CSHasRegistrations.launchRepeat(dispatcher: CoroutineContext, delay: Int, after: Int = delay, start: Boolean = true, function: suspend () -> Unit): CSRegistration
fun CSHasRegistrations.launchRepeat(dispatcher: CoroutineContext = Main, delay: Duration = ZERO, after: Duration = delay, start: Boolean = true, function: suspend () -> Unit): CSRegistration
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun CSHasRegistrations.listenUntilTrueOnce(hasChange: CSHasChange<Boolean>, crossinline listener: () -> Unit): CSRegistration
Link copied to clipboard
fun <T> CSHasDestruct.nullAtomicProperty(value: T? = null, onChange: (value: T?) -> Unit? = null): CSAtomicProperty<T?>
Link copied to clipboard
Link copied to clipboard
open override fun onChange(function: suspend (T) -> Unit): CSRegistration
Link copied to clipboard
inline fun CSHasRegistrations.onChangeOnce(event: CSHasChange<*>, crossinline listener: () -> Unit): CSRegistration
inline fun <T> CSHasRegistrations.onChangeOnce(event: CSHasChange<T>, crossinline listener: (argument: T) -> Unit): CSRegistration
Link copied to clipboard
open override fun onDestruct()
Link copied to clipboard
inline fun CSHasDestruct.onDestructed(crossinline func: Fun)
inline fun CSHasDestruct.onDestructed(parent: CSHasRegistrations, crossinline func: Fun)
Link copied to clipboard
inline fun CSHasDestruct.onMain(@MainThread crossinline function: () -> Unit)
Link copied to clipboard
open override fun pause()
Link copied to clipboard
@JvmName(name = "plusNullable")
operator fun <T : CSRegistration> CSHasRegistrations.plus(registration: T?): T?
@JvmName(name = "plusPairNullable")
operator fun CSHasRegistrations.plus(registration: Pair<String, CSRegistration?>): CSRegistration?
@JvmName(name = "plusRegistrationReplace")
operator fun CSHasRegistrations.plus(registration: Pair<CSRegistration?, CSRegistration>): CSRegistration
Link copied to clipboard
@JvmName(name = "registerNullable")
fun CSHasRegistrations.register(registration: CSRegistration?): CSRegistration?
@JvmName(name = "registerKeyRegistrationNullable")
fun CSHasRegistrations.register(key: String, registration: CSRegistration?): CSRegistration?
@JvmName(name = "registerReplaceRegistrationNullable")
fun CSHasRegistrations.register(replace: CSRegistration?, registration: CSRegistration?): CSRegistration?
Link copied to clipboard
open suspend override fun resume(fireChange: Boolean = true)
Link copied to clipboard
fun <T> CSHasDestruct.safe(property: CSProperty<T>, @AnyThread onChangeUnsafe: (value: T) -> Unit? = null): CSSafeProperty<T>
Link copied to clipboard
@JvmName(name = "eventWithArgument")
inline fun <T> CSHasDestruct.safeEvent(): CSSafeEvent<T>
Link copied to clipboard
fun <T> CSHasDestruct.safeProperty(value: T, onChangeUnsafe: (value: T) -> Unit? = null): CSSafePropertyImpl<T>
fun <T> CSHasDestruct.safeProperty(value: T, onChangeUnsafe: (previous: T, current: T) -> Unit): CSSafePropertyImpl<T>
Link copied to clipboard
Link copied to clipboard
fun <T> CSHasDestruct.safeWeakProperty(value: T? = null, onChangeUnsafe: (value: T?) -> Unit? = null): CSProperty<T?>
Link copied to clipboard
fun CSHasRegistrations.throttler(function: suspend () -> Unit): CSThrottler<Unit>
fun <T> CSHasRegistrations.throttler(function: suspend (T) -> Unit): CSThrottler<T>
fun CSHasRegistrations.throttler(dispatcher: CoroutineContext = Main, function: suspend () -> Unit): CSThrottler<Unit>
fun <T> CSHasRegistrations.throttler(dispatcher: CoroutineContext = Main, function: suspend (T) -> Unit): CSThrottler<T>
fun CSHasRegistrations.throttler(after: Duration, function: suspend () -> Unit): CSThrottler<Unit>
fun <T> CSHasRegistrations.throttler(after: Duration, function: suspend (T) -> Unit): CSThrottler<T>
fun CSHasRegistrations.throttler(dispatcher: CoroutineContext = Main, after: Duration, function: suspend () -> Unit): CSThrottler<Unit>
fun <T> CSHasRegistrations.throttler(dispatcher: CoroutineContext = Main, after: Duration, function: suspend (T) -> Unit): CSThrottler<T>
Link copied to clipboard
fun <Item : CSHasDestruct> CSValue<Int>.update(list: MutableList<Item>, function: (index: Int) -> Item)
fun CSValue<Int>.update(newCount: Int, onAdd: ArgFun<Int>? = null, onRemove: ArgFun<Int>? = null)
Link copied to clipboard
open suspend override fun value(newValue: T, fire: Boolean = true)