pub trait Observable: AsRef<Branch> {
type Event;
// Provided methods
fn observe<F>(&self, f: F) -> Arc<dyn Drop>
where F: Fn(&TransactionMut<'_>, &Self::Event) + 'static,
Event: AsRef<Self::Event> { ... }
fn observe_with<K, F>(&self, key: K, f: F)
where K: Into<Origin>,
F: Fn(&TransactionMut<'_>, &Self::Event) + 'static,
Event: AsRef<Self::Event> { ... }
fn unobserve<K>(&self, key: K) -> bool
where K: Into<Origin> { ... }
}Required Associated Types§
Provided Methods§
Sourcefn observe<F>(&self, f: F) -> Arc<dyn Drop>
fn observe<F>(&self, f: F) -> Arc<dyn Drop>
Subscribes a given callback to be triggered whenever current y-type is changed. A callback is triggered whenever a transaction gets committed. This function does not trigger if changes have been observed by nested shared collections.
All array-like event changes can be tracked by using [Event::delta] method. All map-like event changes can be tracked by using [Event::keys] method. All text-like event changes can be tracked by using TextEvent::delta method.
Returns a Subscription which, when dropped, will unsubscribe current callback.
Sourcefn observe_with<K, F>(&self, key: K, f: F)
fn observe_with<K, F>(&self, key: K, f: F)
Subscribes a given callback to be triggered whenever current y-type is changed. A callback is triggered whenever a transaction gets committed. This function does not trigger if changes have been observed by nested shared collections.
All array-like event changes can be tracked by using [Event::delta] method. All map-like event changes can be tracked by using [Event::keys] method. All text-like event changes can be tracked by using TextEvent::delta method.
Provided key may be used later to unsubscribe from the event.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.