CSActionIsRunning

Constructors

Link copied to clipboard
constructor(parent: CSHasDestruct, vararg actions: CSProperty<Boolean>)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override var value: Boolean

Functions

Link copied to clipboard
inline fun <T> CSHasChangeValue<T>.action(noinline function: (T) -> Unit): CSRegistration
inline fun CSHasChange<Unit>.action(crossinline function: () -> Unit): CSRegistration
inline fun <ParentValue, ChildValue> CSHasChangeValue<ParentValue>.action(crossinline nullableChild: (ParentValue) -> CSHasChangeValue<ChildValue>?, crossinline action: (ChildValue?) -> Unit): CSRegistration
@JvmName(name = "actionChild")
inline fun <ParentValue, ChildValue> CSHasChangeValue<ParentValue>.action(crossinline child: (ParentValue) -> CSHasChangeValue<ChildValue>, crossinline action: (ChildValue) -> Unit): CSRegistration
inline fun CSHasChange<*>.action(crossinline function: () -> Unit): CSRegistration

inline fun CSHasChangeValue<Boolean>.action(crossinline onTrue: (CSRegistration) -> Unit, crossinline onFalse: (CSRegistration) -> Unit): CSRegistration

Register edge handlers for a boolean observable and invoke once for the current state.

Link copied to clipboard
inline fun CSHasChangeValue<Boolean>.actionFalse(crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
inline fun CSHasChangeValue<Boolean>.actionFalseLaunch(dispatcher: CoroutineDispatcher = Main, crossinline function: suspend () -> Unit): CSRegistration
Link copied to clipboard
inline fun <T> CSHasChangeValue<T>.actionFromTo(crossinline function: (from: T?, to: T) -> Unit): CSRegistration
Link copied to clipboard
inline fun <Argument> CSHasChangeValue<Argument>.actionLaterOnce(after: Duration = ZERO, crossinline onChange: ArgFun<Argument>): CSRegistration
Link copied to clipboard
inline fun <T> CSHasChangeValue<T>.actionLaunch(dispatcher: CoroutineDispatcher = Main, crossinline function: suspend (T) -> Unit): CSRegistration
fun <T> CSHasChange<T>.actionLaunch(dispatcher: CoroutineContext = Main, function: suspend () -> Unit): CSRegistration
inline fun <T> CSHasChangeValue<T>.actionLaunch(key: String, dispatcher: CoroutineDispatcher = Main, crossinline function: suspend (T) -> Unit): CSRegistration
fun <T> CSHasChangeValue<T>.actionLaunch(parent: CSHasRegistrations, dispatcher: CoroutineContext = Main, function: suspend (T) -> Unit): CSRegistration
Link copied to clipboard
inline fun <T> CSHasChangeValue<T?>.actionNotNull(crossinline function: () -> Unit): CSRegistration
inline fun <T> CSHasChangeValue<T?>.actionNotNull(crossinline function: (T) -> Unit): CSRegistration
Link copied to clipboard
inline fun <Argument> CSHasChangeValue<out Argument?>.actionNotNullOnce(crossinline function: (Argument) -> Unit): CSRegistration?
Link copied to clipboard
inline fun <T> CSHasChangeValue<T?>.actionNull(crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
inline fun CSHasChangeValue<Boolean>.actionTrue(crossinline function: (CSRegistration) -> Unit): CSRegistration
Link copied to clipboard
inline fun CSHasChangeValue<Boolean>.actionTrueLaunch(dispatcher: CoroutineDispatcher = Main, crossinline function: suspend (CSRegistration) -> Unit): CSRegistration
Link copied to clipboard
Link copied to clipboard
fun <T> CSProperty<List<T>>.add(item: T)
Link copied to clipboard
@JvmName(name = "CSHasChangeValueAndCSHasChangeValueBoolean")
infix fun <T> CSHasChangeValue<T>.and(other: CSHasChangeValue<Boolean>): CSHasChangeValue<T>
@JvmName(name = "CSHasChangeValueAndCSSafeHasChangeValueBoolean")
infix fun <T> CSHasChangeValue<T>.and(other: CSSafeHasChangeValue<Boolean>): CSSafeHasChangeValue<T>
@JvmName(name = "CSHasChangeValueBooleanAndBoolean")
infix fun CSHasChangeValue<Boolean>.and(other: Boolean): CSHasChangeValue<Boolean>
@JvmName(name = "CSHasChangeValueBooleanAndCSHasChangeValueBooleanNullable")
infix fun CSHasChangeValue<Boolean>.and(other: CSHasChangeValue<Boolean?>): CSHasChangeValue<Boolean>
@JvmName(name = "CSHasChangeValueBooleanAndCSHasChangeValueBoolean")
infix fun CSHasChangeValue<Boolean>.and(other: CSHasChangeValue<Boolean>): CSHasChangeValue<Boolean>
@JvmName(name = "CSHasChangeAndCSValue")
infix fun CSHasChange<*>.and(other: CSValue<Boolean>): CSHasChange<Unit>
Link copied to clipboard
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
inline fun <T, V> CSHasChangeValue<T>.computed(parent: CSHasRegistrations? = null, crossinline child: (T) -> CSProperty<V>, noinline onChange: ArgFun<V>? = null): CSProperty<V>
inline fun <T, V> CSProperty<T>.computed(parent: CSHasRegistrations? = null, crossinline from: (T) -> V, crossinline to: (V) -> T, noinline onChange: ArgFun<V>? = null): CSProperty<V>
inline fun <T, V> CSProperty<T>.computed(parent: CSHasRegistrations? = null, crossinline get: (T) -> V, crossinline set: (CSProperty<T>, V) -> Unit, noinline onChange: ArgFun<V>? = null): CSProperty<V>
Link copied to clipboard
Link copied to clipboard
inline fun <T> CSProperty<T>.computedFrom(parent: CSHasRegistrations? = null, crossinline from: (T) -> T, noinline onChange: ArgFun<T>? = null): CSProperty<T>
Link copied to clipboard
inline fun <T> CSProperty<T>.computedTo(parent: CSHasRegistrations? = null, crossinline to: (T) -> T, noinline onChange: ArgFun<T>? = null): CSProperty<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
fun <T, Return> CSHasChangeValue<T>.delegate(parent: CSHasRegistrations? = null, fromValue: (T) -> Return): CSHasChangeValue<Return>
@JvmName(name = "delegateNullable")
fun <ParentValue, ChildValue> CSHasChangeValue<ParentValue>.delegate(parent: CSHasRegistrations? = null, fromValueNullableChild: (ParentValue) -> CSHasChangeValue<ChildValue>?): CSHasChangeValue<ChildValue?>
inline fun <Return> CSHasChange<out Any>.delegate(parent: CSHasRegistrations? = null, crossinline from: () -> Return): CSHasChangeValue<Return>
@JvmName(name = "delegateChild")
fun <ChildValue> CSHasChange<out Any>.delegate(parent: CSHasRegistrations? = null, child: () -> CSHasChangeValue<ChildValue>): CSHasChangeValue<ChildValue>
Link copied to clipboard
Link copied to clipboard
inline fun CSHasChange<*>.event(): CSEvent<*>
Link copied to clipboard
Link copied to clipboard
inline fun CSHasChange<*>.eventLaterOnce(): CSEvent<*>
Link copied to clipboard
open override fun fireChange()
Link copied to clipboard
open fun getAndSet(newValue: Boolean): Boolean
Link copied to clipboard
open operator override fun getValue(thisRef: Any?, property: KProperty<*>): Boolean
Link copied to clipboard
@JvmName(name = "CSHasChangeValueIfFalseCSHasChangeValueBoolean")
infix fun <T> CSHasChangeValue<T>.ifFalse(other: CSHasChangeValue<Boolean>): CSHasChangeValue<T?>
Link copied to clipboard
@JvmName(name = "CSHasChangeValueIfTrueCSHasChangeValueBoolean")
infix fun <T> CSHasChangeValue<T>.ifTrue(other: CSHasChangeValue<Boolean>): CSHasChangeValue<T?>
Link copied to clipboard
operator fun <T> CSHasChange<T>.invoke(param: (T) -> Unit): CSRegistration
operator fun CSHasChange<Unit>.invoke(param: () -> Unit): CSRegistration
Link copied to clipboard
Link copied to clipboard
infix inline fun <T> CSHasChangeValue<T>.isFalse(crossinline condition: (T) -> Boolean): CSHasChangeValue<Boolean>
Link copied to clipboard
Link copied to clipboard
infix inline fun <T> CSHasChangeValue<T>.isNotSetTo(value: T): CSHasChangeValue<Boolean>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
infix inline fun <T> CSHasChangeValue<T>.isTrue(crossinline condition: (T) -> Boolean): CSHasChangeValue<Boolean>
@JvmName(name = "CSHasChangeValueOptionalBooleanDelegateIsTrue")
inline fun CSHasChangeValue<Boolean?>.isTrue(parent: CSHasRegistrations? = null): CSHasChangeValue<Boolean>
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
@JvmName(name = "CSHasChangeValueLazyDestructFactory")
fun <V, Instance : CSHasDestruct> CSHasChangeValue<V>.lazyDestructFactory(parent: CSHasRegistrations, create: (V) -> Instance): CSValue<Instance>
Link copied to clipboard
Link copied to clipboard
inline fun CSHasRegistrations.listenUntilTrueOnce(hasChange: CSHasChange<Boolean>, crossinline listener: () -> Unit): CSRegistration
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
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: (Boolean) -> Unit): CSRegistration
Link copied to clipboard
inline fun <Argument> CSHasChange<Argument>.onChange(crossinline function: () -> Unit): CSRegistration
inline fun <Argument> CSHasChange<Argument>.onChange(crossinline function: (CSRegistration) -> Unit): CSRegistration
inline fun <Argument> CSHasChange<Argument>.onChange(crossinline function: (CSRegistration, Argument) -> Unit): CSRegistration
@JvmName(name = "onChangeChildNullable")
inline fun <ParentValue, ChildValue> CSHasChangeValue<ParentValue>.onChange(crossinline nullableChild: (ParentValue) -> CSHasChange<ChildValue>?, crossinline onChange: (ChildValue) -> Unit): CSRegistration
@JvmName(name = "onChangeChild")
inline fun <ParentValue, ChildValue> CSHasChangeValue<ParentValue>.onChange(crossinline child: (ParentValue) -> CSHasChange<ChildValue>, noinline onChange: (ChildValue) -> Unit): CSRegistration
Link copied to clipboard
inline fun <T> CSHasChangeValue<T>.onChangeFrom(crossinline function: (from: T) -> Unit): CSRegistration
Link copied to clipboard
inline fun <T> CSHasChangeValue<T>.onChangeFromTo(crossinline function: (from: T, to: T) -> Unit): CSRegistration
Link copied to clipboard
fun <T> CSHasChangeValue<T>.onChangeFromToLaunch(function: suspend (from: T, to: T) -> Unit): CSRegistration
fun <T> CSHasChangeValue<T>.onChangeFromToLaunch(parent: CSHasRegistrations, function: suspend (from: T, to: T) -> Unit): CSRegistration
Link copied to clipboard
inline fun <Argument> CSHasChange<Argument>.onChangeLaterOnce(crossinline function: Fun): CSRegistration
inline fun <Argument> CSHasChangeValue<Argument>.onChangeLaterOnce(after: Duration = ZERO, crossinline onChange: ArgFun<Argument>): CSRegistration
inline fun <Argument> CSHasChange<Argument>.onChangeLaterOnce(after: Duration, crossinline function: Fun): CSRegistration
Link copied to clipboard
fun <T> CSHasChange<T>.onChangeLaunch(dispatcher: CoroutineContext = Main, function: suspend (T) -> Unit): CSRegistration
fun <T> CSHasChange<T>.onChangeLaunch(parent: CSHasRegistrations, function: suspend (T) -> Unit): CSRegistration
fun <T> CSHasChange<T>.onChangeLaunch(key: String, dispatcher: CoroutineContext = Main, function: suspend (T) -> Unit): CSRegistration
Link copied to clipboard
inline fun <T> CSHasChangeValue<T?>.onChangeNotNull(crossinline function: (from: T) -> Unit): CSRegistration
Link copied to clipboard
inline fun <Argument> CSHasChange<out Argument?>.onChangeNotNullOnce(crossinline function: (Argument) -> Unit): CSRegistration
Link copied to clipboard
inline fun <Argument> CSHasChange<Argument>.onChangeOnce(parent: CSHasRegistrations? = null, crossinline function: () -> Unit): CSRegistration
inline fun <Argument> CSHasChange<Argument>.onChangeOnce(parent: CSHasRegistrations? = null, crossinline function: (Argument) -> Unit)

Registers a one-time change listener.

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
inline fun <Value> CSHasChangeValue<Value>.onChangeTo(value: Value, crossinline onChange: () -> 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 CSHasChangeValue<Boolean>.onFalse(crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
fun CSHasChange<Boolean>.onFalseLaunch(dispatcher: CoroutineContext = Main, function: suspend () -> Unit): CSRegistration
fun CSHasChange<Boolean>.onFalseLaunch(key: String, dispatcher: CoroutineContext = Main, function: suspend () -> Unit): CSRegistration
Link copied to clipboard
inline fun CSHasChangeValue<Boolean>.onFalseOnce(crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
inline fun CSHasDestruct.onMain(@MainThread crossinline function: () -> Unit)
Link copied to clipboard
inline fun <T> CSHasChangeValue<out T?>.onNotNull(crossinline function: () -> Unit): CSRegistration
inline fun <T> CSHasChangeValue<out T?>.onNotNull(crossinline function: (T) -> Unit): CSRegistration
Link copied to clipboard
inline fun <T> CSHasChangeValue<out T?>.onNull(crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
inline fun CSHasChangeValue<Boolean>.onTrue(crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
fun CSHasChange<Boolean>.onTrueLaunch(dispatcher: CoroutineContext = Main, function: suspend () -> Unit): CSRegistration
Link copied to clipboard
inline fun CSHasChangeValue<Boolean>.onTrueOnce(crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
inline fun CSHasChangeValue<Boolean>.onTrueUntilFalse(crossinline registration: () -> CSRegistration?): CSRegistration
Link copied to clipboard
inline suspend fun <T> CSHasChangeValue<*>.onType(): T
inline fun <T> CSHasChangeValue<*>.onType(crossinline function: (T) -> Unit): CSRegistration
Link copied to clipboard
inline fun <T> CSHasChangeValue<T>.onValue(function: (T) -> Unit)
Link copied to clipboard
Link copied to clipboard
open 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
Link copied to clipboard
Link copied to clipboard
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
fun <T> CSProperty<List<T>>.remove(item: T)
Link copied to clipboard
open fun resume(fireChange: Boolean = true)
Link copied to clipboard
fun <T> CSHasDestruct.safe(property: CSProperty<T>, @AnyThread onChangeUnsafe: (value: T) -> Unit? = null): CSSafeProperty<T>
fun <T> CSProperty<T>.safe(parent: CSHasDestruct, @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
operator fun <T> CSProperty<List<T>>.set(index: Int, newValue: T)
Link copied to clipboard
open operator override fun setValue(thisRef: Any?, property: KProperty<*>, value: Boolean)
Link copied to clipboard
@JvmName(name = "stateDelegateChild")
fun <ParentValue, Return> CSHasChangeValue<ParentValue>.stateDelegate(parent: CSHasRegistrations? = null, fromValueChild: (ParentValue) -> CSHasChangeValue<Return>, onChange: (Return) -> Unit? = null): CSHasChangeValue<Return>
fun <Argument, Return> CSHasChangeValue<Argument>.stateDelegate(parent: CSHasRegistrations? = null, fromValueAndPrevious: (Argument, Return?) -> Return, onChange: ArgFun<Return>? = null): CSHasChangeValue<Return>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
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
@JvmName(name = "untilFalseCSRegistrationNullable")
inline fun CSHasChangeValue<Boolean>.untilFalse(registration: CSRegistration?): CSRegistration?
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 override fun value(newValue: Boolean, fire: Boolean = true)
Link copied to clipboard
suspend fun <T> CSHasChange<T>.wait(): T
Link copied to clipboard
suspend fun <T> CSHasChangeValue<T>.waitFor(condition: (T) -> Boolean)
Link copied to clipboard
Link copied to clipboard