Struct composable::effects::Scoped

source ·
pub struct Scoped<Parent, Child>(/* private fields */);
Expand description

An Effects that scopes its Actions to one that sends child actions.

This struct is created by the scope method on Effects. See its documentation for more.

Trait Implementations§

source§

impl<Parent: Clone, Child> Clone for Scoped<Parent, Child>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<Parent, Child> Effects for Scoped<Parent, Child>
where Parent: Effects, <Parent as Effects>::Action: Clone + From<Child> + 'static, Child: 'static,

§

type Action = Child

The Action type sent by this Effects.
source§

fn action(&self, action: impl Into<<Self as Effects>::Action>)

An effect that sends an Action through the Store’s Reducer.
source§

fn task<S: Stream<Item = Child> + 'static>(&self, stream: S) -> Task

A Task represents asynchronous work that will then send zero or more Actions back into the Store’s Reducer as it runs. Read more
source§

fn future<F: Future<Output = Option<<Self as Effects>::Action>> + 'static>( &self, future: F, )
where <Self as Effects>::Action: 'static,

An effect that runs a Future and, if it returns an Action, sends it through the Store’s Reducer.
source§

fn stream<S: Stream<Item = <Self as Effects>::Action> + 'static>( &self, stream: S, )

An effect that runs a Stream and sends every Action it returns through the Store’s Reducer.
source§

fn scope<ChildAction>(&self) -> Scoped<Self, ChildAction>
where <Self as Effects>::Action: From<ChildAction>,

Scopes the Effects down to one that sends child actions. Read more

Auto Trait Implementations§

§

impl<Parent, Child> Freeze for Scoped<Parent, Child>
where Parent: Freeze,

§

impl<Parent, Child> RefUnwindSafe for Scoped<Parent, Child>
where Parent: RefUnwindSafe, Child: RefUnwindSafe,

§

impl<Parent, Child> Send for Scoped<Parent, Child>
where Parent: Send, Child: Send,

§

impl<Parent, Child> Sync for Scoped<Parent, Child>
where Parent: Sync, Child: Sync,

§

impl<Parent, Child> Unpin for Scoped<Parent, Child>
where Parent: Unpin, Child: Unpin,

§

impl<Parent, Child> UnwindSafe for Scoped<Parent, Child>
where Parent: UnwindSafe, Child: UnwindSafe,

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> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

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.
source§

impl<T, Action> Effects<Action> for T
where T: Effects<Action = Action> + 'static,