ReducerPod<T> class base

A Pod that listens to changes to existing Pods returned by the responder. When any of these returned Pods update, it recalculates its value using the reducer function, then calls the responder again to refresh Pods to listen to. This recursive behaviour ensures that the Pod continuously listens to new changes from any updated Pods.

T is the type of this Pod and the value produced by the reducer function.

Note that when this pod disposes via dispose, it will not dispose the Pods provided by responder. Explicit disposal is needed.

Inheritance
Mixed-in types
Available extensions

Constructors

ReducerPod({required Iterable<ValueListenable?> responder(), required T reducer(List values)})
ReducerPod.single(ValueListenable<T> responder())
factory

Properties

hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
no setterinherited
isDisposed bool
Whether this Pod has been disposed of or not.
no setterinherited
reducer → T Function(List values)
Reduces the values of the current Pods returned by responder to a single value of type T, to update this Pod's value.
final
responder Iterable<ValueListenable?> Function()
Produces a list of Pods to listen to. This gets called recursively each time any of the Pods in the returned list change.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
toDisposeResources Set<_ToDisposeResource>
The list of resources marked for dispose via willDispose.
no setterinherited
value → T?
The current value of the object. When the value changes, the callbacks registered with addListener will be invoked.
no setterinherited

Methods

addListener(VoidCallback listener) → void
❌ Do not use this method directly. Use addStrongRefListener instead.
inherited
addSingleExecutionListener(VoidCallback listener) → void
Registers a listener that will be called only once when the object notifies its listeners. After the listener is called, it is automatically removed.
inherited
addStrongRefListener({required VoidCallback strongRefListener}) → void
Register a closure to be called when the object notifies its listeners.
inherited
asChildPod<TParent>() ChildPod<TParent, T>

Available on ValueListenable<T>, provided by the CastPodListenableX extension

Casts the ValueListenable to a ChildPod.
asDisposablePod() DisposablePod<T>

Available on ValueListenable<T>, provided by the CastPodListenableX extension

Casts the ValueListenable to a DisposablePod.
asGenericPod() GenericPod<T>

Available on ValueListenable<T>, provided by the CastPodListenableX extension

Casts the ValueListenable to a GenericPod.
asPodDisposable() DisposablePod<T>

Available on ValueListenable<T>, provided by the CastPodListenableX extension

asProtectedPod() ProtectedPod<T>

Available on ValueListenable<T>, provided by the CastPodListenableX extension

Casts the ValueListenable to a ProtectedPod.
asRootPod() RootPod<T>

Available on ValueListenable<T>, provided by the CastPodListenableX extension

Casts the ValueListenable to a RootPod.
asSharedPod<TRawValue>() SharedPod<T, TRawValue>

Available on ValueListenable<T>, provided by the CastPodListenableX extension

Casts the ValueListenable to a SharedPod.
asValueListenable() ValueListenable<T>

Available on ValueListenable<T>, provided by the CastPodListenableX extension

Returns the Pod as a ValueListenable.
cond(bool test(T? value)) FutureOr<T?>
Returns the value of the Pod when the test returns true.
inherited
dispose() → void
Dipsoses this ValueListenable and sets isDisposed to true. Successive calls to this method will be ignored.
override
disposeChildren() → void
Disposes and removes all children.
inherited
map<B>(B reducer(T? value)) ChildPod<T?, B>
Maps this GenericPod to a new ChildPod using the specified reducer.
inherited
nonNull<T1 extends T>() FutureOr<T1>
Returns the value of the Pod when it is not null.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
inherited
reduce<C, O>(GenericPod<O> other, TReducerFn2<C, T?, O> reducer) ChildPod<dynamic, C>
Reduces the current Pod and other into a single ChildPod.
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that the object notifies.
inherited
toString() String
A string representation of this object.
inherited
willDispose<T>(T resource, {_OnBeforeCallback<T>? onBeforeDispose}) → T
Marks the resource for dispose.
inherited

Operators

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