CSPropertyBase
abstract class CSPropertyBase<T>(val parent: CSHasDestruct? = null, val onChange: (value: T) -> Unit? = null) : CSModel, CSProperty<T>
Inheritors
Properties
Functions
Link copied to clipboard
inline fun <ParentValue, ChildValue> CSHasChangeValue<ParentValue>.action(crossinline nullableChild: (ParentValue) -> CSHasChangeValue<ChildValue>?, crossinline action: (ChildValue?) -> Unit): CSRegistration
inline fun <ParentValue, ChildValue> CSHasChangeValue<ParentValue>.action(crossinline child: (ParentValue) -> CSHasChangeValue<ChildValue>, crossinline action: (ChildValue) -> 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
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: (T) -> Unit): CSRegistration
Link copied to clipboard
inline fun <Argument> CSHasChangeValue<out Argument?>.actionNotNullOnce(crossinline function: (Argument) -> Unit): CSRegistration?
Link copied to clipboard
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
infix fun <T> CSHasChangeValue<T>.and(other: CSSafeHasChangeValue<Boolean>): CSSafeHasChangeValue<T>
infix fun CSHasChangeValue<Boolean>.and(other: CSHasChangeValue<Boolean?>): CSHasChangeValue<Boolean>
infix fun CSHasChangeValue<Boolean>.and(other: CSHasChangeValue<Boolean>): CSHasChangeValue<Boolean>
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
fun CSHasDestruct.backgroundOnce(after: Int = 0, @WorkerThread function: () -> Unit): CSBackgroundOnceFunc
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
fun CSProperty<Int>.computedAsPercentOf(parent: CSHasRegistrations, max: Int = 100): CSProperty<Float>
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(dispatcher: CoroutineContext = Main, 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>
fun <ParentValue, ChildValue> CSHasChangeValue<ParentValue>.delegate(parent: CSHasRegistrations? = null, fromValueNullableChild: (ParentValue) -> CSHasChangeValue<ChildValue>?): CSHasChangeValue<ChildValue?>
fun <ParentValue, ChildValue> CSHasChangeValue<ParentValue>.delegate(parent: CSHasRegistrations? = null, fromValueChild: (ParentValue) -> CSHasChangeValue<ChildValue>): CSHasChangeValue<ChildValue>
inline fun <Return> CSHasChange<out Any>.delegate(parent: CSHasRegistrations? = null, crossinline from: () -> Return): CSHasChangeValue<Return>
fun <ChildValue> CSHasChange<out Any>.delegate(parent: CSHasRegistrations? = null, child: () -> CSHasChangeValue<ChildValue>): CSHasChangeValue<ChildValue>
Link copied to clipboard
fun <Argument, Return> CSHasChangeValue<Argument>.delegateChange(parent: CSHasRegistrations? = null, fromValueChildList: (Argument) -> List<CSHasChange<out Return>>): CSHasChange<Return>
fun <ParentValue, ChildValue> CSHasChangeValue<ParentValue>.delegateChange(parent: CSHasRegistrations? = null, fromValueNullableChild: (ParentValue) -> CSHasChange<ChildValue>?): CSHasChange<ChildValue>
fun <ParentValue, ChildValue> CSHasChangeValue<ParentValue>.delegateChange(parent: CSHasRegistrations? = null, fromValueChild: (ParentValue) -> CSHasChange<ChildValue>): CSHasChange<ChildValue>
Link copied to clipboard
fun <T> CSHasChangeValue<T>.delegateIsChange(parent: CSHasRegistrations? = null): CSHasChangeValue<Boolean>
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
Link copied to clipboard
infix inline fun <T> CSHasChangeValue<T>.isEqualTo(other: CSHasChangeValue<T>): CSHasChangeValue<Boolean>
Link copied to clipboard
infix inline fun <T> CSHasChangeValue<T>.isFalse(crossinline condition: (T) -> Boolean): CSHasChangeValue<Boolean>
inline fun CSHasChangeValue<Boolean>.isFalse(parent: CSHasRegistrations? = null): CSHasChangeValue<Boolean>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun <T> CSHasChangeValue<T>.isSetTo(parent: CSHasRegistrations, value: T): CSHasChangeValue<Boolean>
Link copied to clipboard
infix inline fun <T> CSHasChangeValue<T>.isTrue(crossinline condition: (T) -> Boolean): CSHasChangeValue<Boolean>
inline fun CSHasChangeValue<Boolean?>.isTrue(parent: CSHasRegistrations? = null): CSHasChangeValue<Boolean>
inline fun CSHasChangeValue<Boolean>.isTrue(parent: CSHasRegistrations? = null): CSHasChangeValue<Boolean>
Link copied to clipboard
inline fun CSHasRegistrations.later(after: Duration, crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
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
fun <V, Instance : CSHasDestruct> CSHasChangeValue<V>.lazyDestructFactory(parent: CSHasRegistrations, create: (V) -> Instance): CSValue<Instance>
fun <V, Instance : CSHasDestruct> CSHasChangeValue<V>.lazyDestructFactory(parent: CSHasRegistrations? = null, createInstance: (V) -> Instance): CSValue<Instance>
fun <V, Instance : CSHasDestruct> CSHasRegistrations.lazyDestructFactory(property: () -> CSHasChangeValue<V>, create: (V) -> Instance): CSValue<Instance>
Link copied to clipboard
fun <V, Instance> CSHasChangeValue<V>.lazyFactory(parent: CSHasRegistrations, create: (Instance?, V) -> Instance): CSValue<Instance>
fun <V, Instance> CSHasRegistrations.lazyFactory(property: () -> CSHasChangeValue<V>, create: (Instance?, V) -> Instance): CSValue<Instance>
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
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
inline fun <ParentValue, ChildValue> CSHasChangeValue<ParentValue>.onChange(crossinline nullableChild: (ParentValue) -> CSHasChange<ChildValue>?, crossinline onChange: (ChildValue) -> Unit): CSRegistration
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
Link copied to clipboard
Link copied to clipboard
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
Link copied to clipboard
Link copied to clipboard
inline fun <T> CSHasChangeValue<out T?>.onNotNull(crossinline function: (T) -> Unit): CSRegistration
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun CSHasChange<Boolean>.onTrueLaunch(dispatcher: CoroutineContext = Main, function: suspend () -> Unit): CSRegistration
Link copied to clipboard
Link copied to clipboard
inline fun CSHasChangeValue<Boolean>.onTrueUntilFalse(crossinline registration: () -> CSRegistration?): CSRegistration
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
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
fun CSHasRegistrations.register(replace: CSRegistration?, registration: CSRegistration): CSRegistration
fun CSHasRegistrations.register(replace: CSRegistration?, registration: CSRegistration?): CSRegistration?
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
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
fun <T> CSHasChangeValue<T>.safeStateDelegate(parent: CSHasDestruct, onChange: ArgFun<T>? = null): CSSafeHasChangeValue<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 <Argument> CSHasChangeValue<Argument>.stateDelegate(parent: CSHasRegistrations? = null, onChange: ArgFun<Argument>? = null): CSHasChangeValue<Argument>
fun <Argument, Return> CSHasChangeValue<Argument>.stateDelegate(parent: CSHasRegistrations? = null, fromValue: (Argument) -> Return, onChange: ArgFun<Return>? = null): CSHasChangeValue<Return>
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
fun <Argument, Return : CSHasDestruct> CSHasChangeValue<Argument>.stateDelegateDestruct(parent: CSHasRegistrations? = null, fromValue: (Argument) -> Return, onChange: ArgFun<Return>? = null): CSHasChangeValue<Return>
Link copied to clipboard
fun <ParentValue, Return> CSHasChangeValue<ParentValue>.stateDelegateNullable(parent: CSHasRegistrations? = null, fromValueChild: (ParentValue) -> CSHasChangeValue<Return>?, onChange: (Return?) -> Unit? = null): CSHasChangeValue<Return?>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
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 <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
Link copied to clipboard
Link copied to clipboard