ctrl library

Classes

CtrlState<W extends StatefulWidget>
Base state for views that need to manage multiple controllers or require full control over the widget lifecycle.
CtrlWidget<T extends Ctrl>
A simplified widget for views that need exactly one controller.
DataScope
Manages the lifecycle of ChangeNotifier instances, particularly Observable.
GroupWatch
Widget that rebuilds when any of multiple Observable values change.
HotswapObservable<T>
A Observable that can dynamically switch between different source Observable.
Locator
A minimalist service locator for straightforward dependency injection. No async support, no scopes, no modules, no tags. Just simple registration and retrieval of instances.
MutableObservable<T>
A mutable version of Observable that allows changing its value.
Observable<T>
An observable data holder.
Watch<T>
Widget that rebuilds when a Observable value changes.

Mixins

Ctrl
Mixin for creating Ctrl classes (Controllers, ViewModels, Stores, etc.).
WatchMixin<T extends StatefulWidget>
Mixin that handles Observable observation lifecycle.

Extensions

DataScopeExtensions on DataScope
Extension methods for combining multiple Observable or ChangeNotifier sources.
ListObservable on Observable<Iterable<D>>
Extension methods for Observable containing collections.
LiveDataExtensions on Observable<T>
Extension methods for Observable transformation and manipulation.
MutableDataScope on DataScope
Extension methods for creating MutableObservable within a DataScope.

Typedefs

ChangeDetector<T> = bool Function(T a, T b)
A function that determines if a value has changed.
FactoryFunc<T> = T Function(Injector i)
Function type for factory methods with an injector parameter.
Injector = D Function<D>()