Skip to main content

Crate ferroui_dynamic_data

Crate ferroui_dynamic_data 

Source
Expand description

ferroui-dynamic-data

A port of DynamicData (reactivemarbles/DynamicData) on top of ferroui-reactive: change sets that describe the edits of a collection, observable caches (SourceCache, keyed) and lists (SourceList), and the operators that transform, filter, sort, group, join and bind them. It is single-threaded like the observables it is built on (docs/porting/reactive.md, sections 5.1 and 5.4).

  • cache: the keyed side (Change<T, K>, ChangeSet<T, K>, ChangeAwareCache, SourceCache, …).
  • list: the side of positions (list::Change<T>, list::ChangeSet<T>, ChangeAwareList, …).

Re-exports§

pub use cache::Change;
pub use cache::ChangeAwareCache;
pub use cache::ChangeReason;
pub use cache::ChangeSet;
pub use cache::ICache;
pub use cache::ICacheUpdater;
pub use cache::IChangeSet;
pub use cache::IConnectableCache;
pub use cache::IObservableCache;
pub use cache::IQuery;
pub use cache::ISourceCache;
pub use cache::ISourceUpdater;
pub use cache::ObservableCache;
pub use cache::ObservableCacheEx;
pub use cache::SourceCache;

Modules§

aggregation
The aggregations of DynamicData (DynamicData/Aggregation): change sets shaped for continuous aggregations (ForAggregation, IAggregateChangeSet, AggregateItem) and the running aggregates of caches and lists: the average (avg), the count and whether there are items (count_cache, is_empty_cache, is_not_empty, …), the maximum and minimum, the sample standard deviation (std_dev) and the sum (sum_cache, sum_list).
binding
DynamicData.Binding: the objects that notify the changes of their properties, and the operators that observe them and bind change sets to collections.
cache
The keyed side of DynamicData (DynamicData/Cache): changes keyed by K, their change sets, and the caches that produce them.
diagnostics
DynamicData.Diagnostics: statistics of the change sets of a sequence (ChangeStatistics, ChangeSummary, DiagnosticOperators.CollectUpdateStats).
experimental
The experimental part of DynamicData (DynamicData/Experimental): a watcher of the items of a cache by key (IWatcher, as_watcher of ExperimentalEx).
kernel
The kernel of DynamicData (DynamicData/Kernel): the extensions of Option<T> (upstream’s Optional<T>) and of its sequences, the status of a connection, the error of an item, the pairs of an item with its index or a value, and the helpers of sequences and schedulers.
list
The list side of DynamicData (DynamicData/List): changes of positions in a list, their change sets, and the lists that produce them.

Structs§

DynamicDataOptions
The defaults of the options of the binding operators (DynamicDataOptions).
ObservableChangeSet
The factories of sequences of change sets (ObservableChangeSet).

Enums§

ItemDisposal
How an item is disposed: at once, or by a task (item is IDisposable, item is IAsyncDisposable).

Traits§

AsAsyncDisposable
An item that may be disposable, at once or by a task: AsyncDisposeMany disposes the items for which to_item_disposal gives a disposal, and leaves the others alone, as upstream disposes the items that implement IDisposable or IAsyncDisposable.
AsDisposable
An item that may be a disposable (item as IDisposable): DisposeMany disposes the items for which to_disposable gives a disposable, and leaves the others alone, as upstream disposes the items that implement IDisposable.
EnumerableEx
The collection as a sequence of one change set of additions (EnumerableEx), implemented for every collection.
IAsyncDisposable
An object whose disposal ends later (IAsyncDisposable).
ObservableItemsEx
The operators of sequences of items (ToObservableChangeSet(IObservable<T>, ..)), implemented for Rc<dyn IObservable<T>>.
ObservableSequencesEx
The operators of sequences of collections of items (ToObservableChangeSet(IObservable< IEnumerable<T>>, ..) and EditDiff(IObservable<IEnumerable<TObject>>, ..)), implemented for Rc<dyn IObservable<I>> of every collection I.

Type Aliases§

ExpireAfterSelector
The expiration of an item: the time after which it is removed, None for never.