[][src]Trait seed::dom_types::MessageMapper

pub trait MessageMapper<Ms, OtherMs> {
    type SelfWithOtherMs;
    fn map_message(
        self,
        f: impl FnOnce(Ms) -> OtherMs + 'static + Clone
    ) -> Self::SelfWithOtherMs; }

Associated Types

Loading content...

Required methods

fn map_message(
    self,
    f: impl FnOnce(Ms) -> OtherMs + 'static + Clone
) -> Self::SelfWithOtherMs

Loading content...

Implementations on Foreign Types

impl<Ms: 'static, OtherMs: 'static> MessageMapper<Ms, OtherMs> for Vec<Node<Ms>>[src]

type SelfWithOtherMs = Vec<Node<OtherMs>>

impl<Ms: 'static, OtherMs: 'static> MessageMapper<Ms, OtherMs> for Vec<El<Ms>>[src]

type SelfWithOtherMs = Vec<El<OtherMs>>

Loading content...

Implementors

impl<Ms: 'static, OtherMs: 'static> MessageMapper<Ms, OtherMs> for Node<Ms>[src]

type SelfWithOtherMs = Node<OtherMs>

fn map_message(
    self,
    f: impl FnOnce(Ms) -> OtherMs + 'static + Clone
) -> Node<OtherMs>
[src]

See note on impl for El

impl<Ms: 'static, OtherMs: 'static> MessageMapper<Ms, OtherMs> for El<Ms>[src]

type SelfWithOtherMs = El<OtherMs>

fn map_message(
    self,
    f: impl FnOnce(Ms) -> OtherMs + 'static + Clone
) -> El<OtherMs>
[src]

Maps an element's message to have another message.

This allows third party components to integrate with your application without having to know about your Msg type beforehand.

Note

There is an overhead to calling this versus keeping all messages under one type. The deeper the nested structure of children, the more time this will take to run.

impl<Ms: 'static, OtherMs: 'static> MessageMapper<Ms, OtherMs> for LifecycleHooks<Ms>[src]

type SelfWithOtherMs = LifecycleHooks<OtherMs>

impl<Ms: 'static, OtherMs: 'static> MessageMapper<Ms, OtherMs> for Listener<Ms>[src]

type SelfWithOtherMs = Listener<OtherMs>

Loading content...