ferroui-dynamic-data 0.3.0

A port of DynamicData for FerroUI: reactive collections, change sets, observable caches and lists with their operators, independent of the user interface
Documentation
//! The operators of `ObservableCacheEx` that apply to any sequence, not only to sequences of change
//! sets (`FinallySafe<T>`, `MonitorStatus<T>`).

use ferroui_system::IObservable;
use std::rc::Rc;

/// The operators of `ObservableCacheEx` on a sequence of any values (`ObservableCacheEx.FinallySafe`,
/// `ObservableCacheEx.MonitorStatus`).
///
/// Their names are not those of operators of `ferroui_reactive::ObservableExt`, nor of the
/// operators of change sets, so the traits can all be in scope.
pub trait ObservableCacheSequenceEx<T: 'static> {
    /// The sequence as the handle the operators take.
    fn observable_sequence(&self) -> Rc<dyn IObservable<T>>;

    super::ops::finally_safe::finally_safe_methods!();
    super::ops::monitor_status::monitor_status_methods!();
}

impl<T: 'static> ObservableCacheSequenceEx<T> for Rc<dyn IObservable<T>> {
    fn observable_sequence(&self) -> Rc<dyn IObservable<T>> {
        self.clone()
    }
}