observable-rs 0.2.0

A general purpose observable library
Documentation
//! Observables in rust
//! ## Example
//! ```
//!
//! ```

/// Public API.
mod observable;

// Reexport of the public API.
#[doc(inline)]
pub use crate::observable::*;

use std::cell::Ref;
pub trait Set<T>: Sized {
    fn set(&self, value: T);
}
pub trait Observe<T>: Sized {
    fn get(&self) -> Ref<T>;
    fn subscribe(&self, cb: Box<dyn Fn()>) -> ListenerHandle;
    fn once(&self, cb: Box<dyn Fn()>) -> ListenerHandle;
    fn unsubscribe(&self, handle: ListenerHandle) -> bool;
}