IntoReactor

Trait IntoReactor 

Source
pub trait IntoReactor<T, S = ()> {
    type Reactor: Reactor<T, S>;

    // Required method
    fn into_reactor(self) -> Self::Reactor;
}
Expand description

A type that can be converted into a Reactor.

This trait is notably implemented for collection types of Reactors for chaining. For example, IntoReactor is implemented for tuples of Reactor types in ThenChain and so such tuples can be used in functions like then to ergonomically sequence a chain of Reactors.

Required Associated Types§

Required Methods§

Source

fn into_reactor(self) -> Self::Reactor

Implementors§

Source§

impl<T, S, R> IntoReactor<T, S> for AndChain<Vec<R>>
where T: Clone, R: Reactor<T, S>,

Source§

type Reactor = AndChain<Dynamic<Vec<R>>>

Source§

impl<T, S, R> IntoReactor<T, S> for OrChain<Vec<R>>
where T: Clone, R: Reactor<T, S>,

Source§

type Reactor = OrChain<Dynamic<Vec<R>>>

Source§

impl<T, S, R> IntoReactor<T, S> for ThenChain<Vec<R>>
where T: Clone, R: Reactor<T, S>,

Source§

type Reactor = ThenChain<Dynamic<Vec<R>>>

Source§

impl<T, S, T1, T2, T3, T4, T5, T6, T7, T8> IntoReactor<T, S> for AndChain<(T1, T2, T3, T4, T5, T6, T7, T8)>
where T: Clone, T1: Reactor<T, S>, T2: Reactor<T, S>, T1::Error: From<T2::Error> + From<T3::Error> + From<T4::Error> + From<T5::Error> + From<T6::Error> + From<T7::Error> + From<T8::Error>, T3: Reactor<T, S>, T4: Reactor<T, S>, T5: Reactor<T, S>, T6: Reactor<T, S>, T7: Reactor<T, S>, T8: Reactor<T, S>,

Source§

type Reactor = And<And<And<And<And<And<And<T1, T2>, T3>, T4>, T5>, T6>, T7>, T8>

Source§

impl<T, S, T1, T2, T3, T4, T5, T6, T7, T8> IntoReactor<T, S> for OrChain<(T1, T2, T3, T4, T5, T6, T7, T8)>
where T: Clone, T1: Reactor<T, S>, T2: Reactor<T, S, Response = T1::Response>, T1::Error: From<T2::Error> + From<T3::Error> + From<T4::Error> + From<T5::Error> + From<T6::Error> + From<T7::Error> + From<T8::Error>, T3: Reactor<T, S, Response = T1::Response>, T4: Reactor<T, S, Response = T1::Response>, T5: Reactor<T, S, Response = T1::Response>, T6: Reactor<T, S, Response = T1::Response>, T7: Reactor<T, S, Response = T1::Response>, T8: Reactor<T, S, Response = T1::Response>,

Source§

type Reactor = Or<Or<Or<Or<Or<Or<Or<T1, T2>, T3>, T4>, T5>, T6>, T7>, T8>

Source§

impl<T, S, T1, T2, T3, T4, T5, T6, T7, T8> IntoReactor<T, S> for ThenChain<(T1, T2, T3, T4, T5, T6, T7, T8)>
where T: Clone, T1: Reactor<T, S>, T2: Reactor<T, S, Response = T1::Response>, T1::Error: From<T2::Error> + From<T3::Error> + From<T4::Error> + From<T5::Error> + From<T6::Error> + From<T7::Error> + From<T8::Error>, T3: Reactor<T, S, Response = T1::Response>, T4: Reactor<T, S, Response = T1::Response>, T5: Reactor<T, S, Response = T1::Response>, T6: Reactor<T, S, Response = T1::Response>, T7: Reactor<T, S, Response = T1::Response>, T8: Reactor<T, S, Response = T1::Response>,

Source§

type Reactor = Then<Then<Then<Then<Then<Then<Then<T1, T2>, T3>, T4>, T5>, T6>, T7>, T8>

Source§

impl<T, S, T2, T3, T4, T5, T6, T7, T8> IntoReactor<T, S> for AndChain<(T2, T3, T4, T5, T6, T7, T8)>
where T: Clone, T2: Reactor<T, S>, T3: Reactor<T, S>, T2::Error: From<T3::Error> + From<T4::Error> + From<T5::Error> + From<T6::Error> + From<T7::Error> + From<T8::Error>, T4: Reactor<T, S>, T5: Reactor<T, S>, T6: Reactor<T, S>, T7: Reactor<T, S>, T8: Reactor<T, S>,

Source§

type Reactor = And<And<And<And<And<And<T2, T3>, T4>, T5>, T6>, T7>, T8>

Source§

impl<T, S, T2, T3, T4, T5, T6, T7, T8> IntoReactor<T, S> for OrChain<(T2, T3, T4, T5, T6, T7, T8)>
where T: Clone, T2: Reactor<T, S>, T3: Reactor<T, S, Response = T2::Response>, T2::Error: From<T3::Error> + From<T4::Error> + From<T5::Error> + From<T6::Error> + From<T7::Error> + From<T8::Error>, T4: Reactor<T, S, Response = T2::Response>, T5: Reactor<T, S, Response = T2::Response>, T6: Reactor<T, S, Response = T2::Response>, T7: Reactor<T, S, Response = T2::Response>, T8: Reactor<T, S, Response = T2::Response>,

Source§

type Reactor = Or<Or<Or<Or<Or<Or<T2, T3>, T4>, T5>, T6>, T7>, T8>

Source§

impl<T, S, T2, T3, T4, T5, T6, T7, T8> IntoReactor<T, S> for ThenChain<(T2, T3, T4, T5, T6, T7, T8)>
where T: Clone, T2: Reactor<T, S>, T3: Reactor<T, S, Response = T2::Response>, T2::Error: From<T3::Error> + From<T4::Error> + From<T5::Error> + From<T6::Error> + From<T7::Error> + From<T8::Error>, T4: Reactor<T, S, Response = T2::Response>, T5: Reactor<T, S, Response = T2::Response>, T6: Reactor<T, S, Response = T2::Response>, T7: Reactor<T, S, Response = T2::Response>, T8: Reactor<T, S, Response = T2::Response>,

Source§

type Reactor = Then<Then<Then<Then<Then<Then<T2, T3>, T4>, T5>, T6>, T7>, T8>

Source§

impl<T, S, T3, T4, T5, T6, T7, T8> IntoReactor<T, S> for AndChain<(T3, T4, T5, T6, T7, T8)>
where T: Clone, T3: Reactor<T, S>, T4: Reactor<T, S>, T3::Error: From<T4::Error> + From<T5::Error> + From<T6::Error> + From<T7::Error> + From<T8::Error>, T5: Reactor<T, S>, T6: Reactor<T, S>, T7: Reactor<T, S>, T8: Reactor<T, S>,

Source§

type Reactor = And<And<And<And<And<T3, T4>, T5>, T6>, T7>, T8>

Source§

impl<T, S, T3, T4, T5, T6, T7, T8> IntoReactor<T, S> for OrChain<(T3, T4, T5, T6, T7, T8)>
where T: Clone, T3: Reactor<T, S>, T4: Reactor<T, S, Response = T3::Response>, T3::Error: From<T4::Error> + From<T5::Error> + From<T6::Error> + From<T7::Error> + From<T8::Error>, T5: Reactor<T, S, Response = T3::Response>, T6: Reactor<T, S, Response = T3::Response>, T7: Reactor<T, S, Response = T3::Response>, T8: Reactor<T, S, Response = T3::Response>,

Source§

type Reactor = Or<Or<Or<Or<Or<T3, T4>, T5>, T6>, T7>, T8>

Source§

impl<T, S, T3, T4, T5, T6, T7, T8> IntoReactor<T, S> for ThenChain<(T3, T4, T5, T6, T7, T8)>
where T: Clone, T3: Reactor<T, S>, T4: Reactor<T, S, Response = T3::Response>, T3::Error: From<T4::Error> + From<T5::Error> + From<T6::Error> + From<T7::Error> + From<T8::Error>, T5: Reactor<T, S, Response = T3::Response>, T6: Reactor<T, S, Response = T3::Response>, T7: Reactor<T, S, Response = T3::Response>, T8: Reactor<T, S, Response = T3::Response>,

Source§

type Reactor = Then<Then<Then<Then<Then<T3, T4>, T5>, T6>, T7>, T8>

Source§

impl<T, S, T4, T5, T6, T7, T8> IntoReactor<T, S> for AndChain<(T4, T5, T6, T7, T8)>
where T: Clone, T4: Reactor<T, S>, T5: Reactor<T, S>, T4::Error: From<T5::Error> + From<T6::Error> + From<T7::Error> + From<T8::Error>, T6: Reactor<T, S>, T7: Reactor<T, S>, T8: Reactor<T, S>,

Source§

type Reactor = And<And<And<And<T4, T5>, T6>, T7>, T8>

Source§

impl<T, S, T4, T5, T6, T7, T8> IntoReactor<T, S> for OrChain<(T4, T5, T6, T7, T8)>
where T: Clone, T4: Reactor<T, S>, T5: Reactor<T, S, Response = T4::Response>, T4::Error: From<T5::Error> + From<T6::Error> + From<T7::Error> + From<T8::Error>, T6: Reactor<T, S, Response = T4::Response>, T7: Reactor<T, S, Response = T4::Response>, T8: Reactor<T, S, Response = T4::Response>,

Source§

type Reactor = Or<Or<Or<Or<T4, T5>, T6>, T7>, T8>

Source§

impl<T, S, T4, T5, T6, T7, T8> IntoReactor<T, S> for ThenChain<(T4, T5, T6, T7, T8)>
where T: Clone, T4: Reactor<T, S>, T5: Reactor<T, S, Response = T4::Response>, T4::Error: From<T5::Error> + From<T6::Error> + From<T7::Error> + From<T8::Error>, T6: Reactor<T, S, Response = T4::Response>, T7: Reactor<T, S, Response = T4::Response>, T8: Reactor<T, S, Response = T4::Response>,

Source§

type Reactor = Then<Then<Then<Then<T4, T5>, T6>, T7>, T8>

Source§

impl<T, S, T5, T6, T7, T8> IntoReactor<T, S> for AndChain<(T5, T6, T7, T8)>
where T: Clone, T5: Reactor<T, S>, T6: Reactor<T, S>, T5::Error: From<T6::Error> + From<T7::Error> + From<T8::Error>, T7: Reactor<T, S>, T8: Reactor<T, S>,

Source§

type Reactor = And<And<And<T5, T6>, T7>, T8>

Source§

impl<T, S, T5, T6, T7, T8> IntoReactor<T, S> for OrChain<(T5, T6, T7, T8)>
where T: Clone, T5: Reactor<T, S>, T6: Reactor<T, S, Response = T5::Response>, T5::Error: From<T6::Error> + From<T7::Error> + From<T8::Error>, T7: Reactor<T, S, Response = T5::Response>, T8: Reactor<T, S, Response = T5::Response>,

Source§

type Reactor = Or<Or<Or<T5, T6>, T7>, T8>

Source§

impl<T, S, T5, T6, T7, T8> IntoReactor<T, S> for ThenChain<(T5, T6, T7, T8)>
where T: Clone, T5: Reactor<T, S>, T6: Reactor<T, S, Response = T5::Response>, T5::Error: From<T6::Error> + From<T7::Error> + From<T8::Error>, T7: Reactor<T, S, Response = T5::Response>, T8: Reactor<T, S, Response = T5::Response>,

Source§

type Reactor = Then<Then<Then<T5, T6>, T7>, T8>

Source§

impl<T, S, T6, T7, T8> IntoReactor<T, S> for AndChain<(T6, T7, T8)>
where T: Clone, T6: Reactor<T, S>, T7: Reactor<T, S>, T6::Error: From<T7::Error> + From<T8::Error>, T8: Reactor<T, S>,

Source§

type Reactor = And<And<T6, T7>, T8>

Source§

impl<T, S, T6, T7, T8> IntoReactor<T, S> for OrChain<(T6, T7, T8)>
where T: Clone, T6: Reactor<T, S>, T7: Reactor<T, S, Response = T6::Response>, T6::Error: From<T7::Error> + From<T8::Error>, T8: Reactor<T, S, Response = T6::Response>,

Source§

type Reactor = Or<Or<T6, T7>, T8>

Source§

impl<T, S, T6, T7, T8> IntoReactor<T, S> for ThenChain<(T6, T7, T8)>
where T: Clone, T6: Reactor<T, S>, T7: Reactor<T, S, Response = T6::Response>, T6::Error: From<T7::Error> + From<T8::Error>, T8: Reactor<T, S, Response = T6::Response>,

Source§

type Reactor = Then<Then<T6, T7>, T8>

Source§

impl<T, S, T7, T8> IntoReactor<T, S> for AndChain<(T7, T8)>
where T: Clone, T7: Reactor<T, S>, T8: Reactor<T, S>, T7::Error: From<T8::Error>,

Source§

type Reactor = And<T7, T8>

Source§

impl<T, S, T7, T8> IntoReactor<T, S> for OrChain<(T7, T8)>
where T: Clone, T7: Reactor<T, S>, T8: Reactor<T, S, Response = T7::Response>, T7::Error: From<T8::Error>,

Source§

type Reactor = Or<T7, T8>

Source§

impl<T, S, T7, T8> IntoReactor<T, S> for ThenChain<(T7, T8)>
where T: Clone, T7: Reactor<T, S>, T8: Reactor<T, S, Response = T7::Response>, T7::Error: From<T8::Error>,

Source§

type Reactor = Then<T7, T8>