LevitTimeMixin mixin
A mixin for LevitController that centralizes time-based operations like debouncing, throttling, intervals, and countdowns.
This unified mixin replaces separate debounce/periodic implementations to ensure consistent lifecycle management and memory safety.
- Superclass constraints
Properties
-
disposed
→ Future<
void> -
Completes when cleanup reaches its terminal state.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- initialized → bool
-
Whether onInit has been executed.
no setterinherited
- isClosed → bool
-
Whether the controller has been disposed and closed.
no setterinherited
- isClosing → bool
-
Whether owner cleanup has started.
no setterinherited
- isDisposed → bool
-
Whether cleanup has completed.
no setterinherited
- isInitialized → bool
-
Whether the initialization phase is complete.
no setterinherited
-
ownedResources
→ Iterable<
Object> -
Resources currently tracked by this owner.
no setterinherited
- ownerPath → String
-
The full owner path within the monitoring system (scopeId:registrationKey).
no setterinherited
- registrationKey → String?
-
The registration key used to identify this instance in Levit.
no setterinherited
- resourceOwnerPath → String
-
A diagnostic owner path applied to otherwise unnamed reactive resources.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scope → LevitScope?
-
The LevitScope that currently owns this controller.
no setterinherited
Methods
-
autoDispose<
T> (T object) → T -
Registers
objectfor automatic cleanup when the controller closes.inherited -
cancelAllTimers(
) → void - Cancels all active timers (debounce, throttle, interval).
-
cancelTimer(
String id) → void -
Cancels a specific timer by
id. -
debounce(
String id, Duration duration, void callback()) → void -
Debounces a
callbackfunction. -
didAttachToScope(
LevitScope scope, {String? key}) → void -
Attaches this controller to an owning
scopewith an optional registrationkey.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onClose(
) → FutureOr< void> -
Called when the controller is removed from memory.
override
-
onInit(
) → void -
Called immediately after the controller is initialized.
inherited
-
own<
T> (T resource) → T -
Registers
resourcefor deterministic cleanup and returns it.inherited -
refreshOwnedReactivePaths(
) → void -
Reconciles already-owned reactive diagnostics after scope attachment.
inherited
-
runGuardedAsync<
T> (FutureOr< T> action(), {bool cancelOnClose = true, void onError(Object error, StackTrace stackTrace)?}) → Future<T?> -
Executes
actionand suppresses its result if this controller closes first.inherited -
startCountdown(
{required Duration duration, Duration interval = const Duration(seconds: 1), void onTick(Duration remaining)?, void onFinish()?}) → LxCountdown - Starts a reactive countdown.
-
startInterval(
String id, Duration duration, void callback(Timer timer)) → void - Starts a periodic interval timer.
-
throttle(
String id, Duration duration, void callback()) → void -
Throttles a
callbackfunction. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited