diff options
author | 2022-01-14 19:43:06 +0700 | |
---|---|---|
committer | 2022-01-14 19:43:06 +0700 | |
commit | 810b445f8d2f429e9ad07625f9b67dba09783d7a (patch) | |
tree | bab7664ef79113a94ccaf48c8eed9ab9e433b40b /native/src/subscription/events.rs | |
parent | b7bc169120d3447ead238e974007027a5152d341 (diff) | |
download | iced-810b445f8d2f429e9ad07625f9b67dba09783d7a.tar.gz iced-810b445f8d2f429e9ad07625f9b67dba09783d7a.tar.bz2 iced-810b445f8d2f429e9ad07625f9b67dba09783d7a.zip |
Rewrite `events` and `events_with` with a new `Runner` abstraction
Diffstat (limited to '')
-rw-r--r-- | native/src/subscription/events.rs | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/native/src/subscription/events.rs b/native/src/subscription/events.rs deleted file mode 100644 index ca143bb3..00000000 --- a/native/src/subscription/events.rs +++ /dev/null @@ -1,35 +0,0 @@ -use crate::event::{self, Event}; -use crate::subscription::{EventStream, Recipe}; -use crate::Hasher; -use iced_futures::futures::future; -use iced_futures::futures::StreamExt; -use iced_futures::BoxStream; - -pub struct Events<Message> { - pub(super) f: fn(Event, event::Status) -> Option<Message>, -} - -impl<Message> Recipe<Hasher, (Event, event::Status)> for Events<Message> -where - Message: 'static + Send, -{ - type Output = Message; - - fn hash(&self, state: &mut Hasher) { - use std::hash::Hash; - - struct Marker; - std::any::TypeId::of::<Marker>().hash(state); - self.f.hash(state); - } - - fn stream( - self: Box<Self>, - event_stream: EventStream, - ) -> BoxStream<Self::Output> { - let stream = event_stream.filter_map(move |(event, status)| { - future::ready((self.f)(event, status)) - }); - iced_futures::boxed_stream(stream) - } -} |