Skip to main content

ObservableSink

Struct ObservableSink 

Source
pub struct ObservableSink { /* private fields */ }
Expand description

Adapts a binding expression to an observable subject: observers receive the values of the expression, and values pushed into the subject are written to the binding source.

This preserves the semantics of binding expressions as observed through an observable (mostly for unit tests), not necessarily those of an expression instantiated on an object. An expression may act either as an observable or as a binding on an object, not both.

Implementations§

Source§

impl ObservableSink

Source

pub fn create<E: UntypedBindingExpression>( expression: &Rc<E>, target: Option<&FerroObject>, ) -> Rc<ObservableSink>

Produces an observable which can be used to observe the value of expression. Panics if the expression is already instantiated on an object.

Source

pub fn expression(&self) -> &Rc<dyn UntypedBindingExpression>

The expression behind the subject.

Source

pub fn on_next(&self, value: Option<BoxedValue>)

Writes a value to the binding source.

Trait Implementations§

Source§

impl IObservable<Option<Rc<dyn AnyValue>>> for ObservableSink

Source§

fn subscribe( &self, observer: Rc<dyn IObserver<Option<BoxedValue>>>, ) -> Rc<dyn IDisposable>

Subscribes observer; disposing the returned handle unsubscribes it.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ClassDefaults for T
where T: ?Sized,

Source§

fn static_constructor()

The static constructor of a type: work done once per thread, after the properties of the type are registered and before its first instance exists (class handlers, affects_render, metadata overrides). Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.