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 object for 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 callback function.
didAttachToScope(LevitScope scope, {String? key}) → void
Attaches this controller to an owning scope with an optional registration key.
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 resource for 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 action and 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 callback function.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited