diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2024-10-30 01:14:02 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2024-10-30 01:14:02 -0400 |
| commit | ffba911ba5240f67cc616b2cc2eaf7c730ebbde8 (patch) | |
| tree | 23df60d7af53b4f5fe14fec4e77f64188f4a9f37 /src/message/history.rs | |
| parent | 36e659e971d091cfcbe370f5e45a0d01102d2e83 (diff) | |
Avoid hard-coding the assumption that delete comes-after create.
I mean, it always does, but I'd rather get a panic during message/channel reconstruction than wrong results if that assumption is ever violated inadvertently.
Diffstat (limited to 'src/message/history.rs')
| -rw-r--r-- | src/message/history.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/message/history.rs b/src/message/history.rs index 0424d0d..67e437a 100644 --- a/src/message/history.rs +++ b/src/message/history.rs @@ -1,3 +1,5 @@ +use itertools::Itertools as _; + use super::{ event::{Deleted, Event, Sent}, Id, Message, @@ -57,6 +59,8 @@ impl History { } pub fn events(&self) -> impl Iterator<Item = Event> { - [self.sent()].into_iter().chain(self.deleted()) + [self.sent()] + .into_iter() + .merge_by(self.deleted(), Sequence::merge) } } |
