use std::future::{self, Ready}; use crate::event::Event; pub fn channel(event: Event) -> Ready> { future::ready(match event { Event::Channel(channel) => Some(channel), _ => None, }) } pub fn message(event: Event) -> Ready> { future::ready(match event { Event::Message(event) => Some(event), _ => None, }) } pub fn login(event: Event) -> Ready> { future::ready(match event { Event::Login(event) => Some(event), _ => None, }) } pub mod channel { use std::future::{self, Ready}; pub use crate::channel::Event; use crate::channel::event; pub fn created(event: Event) -> Ready> { future::ready(match event { Event::Created(event) => Some(event), Event::Deleted(_) => None, }) } pub fn deleted(event: Event) -> Ready> { future::ready(match event { Event::Deleted(event) => Some(event), Event::Created(_) => None, }) } } pub mod message { use std::future::{self, Ready}; pub use crate::message::Event; use crate::message::event; pub fn sent(event: Event) -> Ready> { future::ready(match event { Event::Sent(event) => Some(event), Event::Deleted(_) => None, }) } pub fn deleted(event: Event) -> future::Ready> { future::ready(match event { Event::Deleted(event) => Some(event), Event::Sent(_) => None, }) } } pub mod login { use std::future::{self, Ready}; pub use crate::login::Event; use crate::login::event; pub fn created(event: Event) -> Ready> { future::ready(match event { Event::Created(event) => Some(event), }) } }