CSSafeWeakProperty
class CSSafeWeakProperty<T>(parent: CSHasDestruct, value: T? = null, onChangeUnsafe: (value: T?) -> Unit? = null) : CSPropertyBase<T?> , CSSafeProperty<T?>
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>
infix fun <T> CSSafeHasChangeValue<T>.and(other: CSHasChangeValue<Boolean>): CSSafeHasChangeValue<T>
infix fun <T> CSSafeHasChangeValue<T>.and(other: CSSafeHasChangeValue<Boolean>): CSSafeHasChangeValue<T>
infix fun CSSafeHasChangeValue<Boolean>.and(other: CSSafeHasChangeValue<Boolean?>): CSSafeHasChangeValue<Boolean>
infix fun CSSafeHasChangeValue<Boolean>.and(other: CSSafeHasChangeValue<Boolean>): CSSafeHasChangeValue<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
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> CSSafeHasChangeValue<T>.delegate(parent: CSHasRegistrations? = null): CSSafeHasChangeValue<T>
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>
fun <T, Return> CSSafeHasChangeValue<T>.delegate(parent: CSHasRegistrations? = null, fromValue: (T) -> Return): CSSafeHasChangeValue<Return>
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
infix fun <T> CSSafeHasChangeValue<T>.ifFalse(other: CSSafeHasChangeValue<Boolean>): CSSafeHasChangeValue<T?>
Link copied to clipboard
infix fun <T> CSSafeHasChangeValue<T>.ifTrue(other: CSSafeHasChangeValue<Boolean>): CSSafeHasChangeValue<T?>
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
inline fun CSSafeHasChangeValue<Boolean>.onUnsafeTrue(crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
infix fun CSSafeHasChangeValue<Boolean>.or(other: CSSafeHasChangeValue<Boolean>): CSSafeHasChangeValue<Boolean>
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>
fun <Argument, Return> CSSafeHasChangeValue<Argument>.safeStateDelegate(parent: CSHasDestruct, unsafeFromValue: (Argument) -> Return): CSSafeHasChangeValue<Return>
fun <T> CSSafeHasChangeValue<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>
fun <Argument, Return> CSSafeHasChangeValue<Argument>.stateDelegate(parent: CSHasDestruct, unsafeFromValue: (Argument) -> Return, onChange: ArgFun<Return>? = null): CSSafeHasChangeValue<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
Link copied to clipboard