From a54c548bf00f881f36d2adc3a6a2614b5f72f9ce Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Tue, 26 Aug 2025 02:23:55 -0400 Subject: Allow callers to pass `Instant`s to `Sequence` predicate constructors. --- src/event/sequence.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/event') diff --git a/src/event/sequence.rs b/src/event/sequence.rs index 77281c2..9a0ea5d 100644 --- a/src/event/sequence.rs +++ b/src/event/sequence.rs @@ -50,24 +50,30 @@ impl fmt::Display for Sequence { } impl Sequence { - pub fn up_to(resume_point: Sequence) -> impl for<'e> Fn(&'e E) -> bool + pub fn up_to(resume_point: P) -> impl for<'e> Fn(&'e E) -> bool + Clone where + P: Into, E: Sequenced, { + let resume_point = resume_point.into(); move |event| event.sequence() <= resume_point } - pub fn after(resume_point: Sequence) -> impl for<'e> Fn(&'e E) -> bool + pub fn after(resume_point: P) -> impl for<'e> Fn(&'e E) -> bool + Clone where + P: Into, E: Sequenced, { + let resume_point = resume_point.into(); move |event| resume_point < event.sequence() } - pub fn start_from(resume_point: Self) -> impl for<'e> Fn(&'e E) -> bool + pub fn start_from(resume_point: P) -> impl for<'e> Fn(&'e E) -> bool + Clone where + P: Into, E: Sequenced, { + let resume_point = resume_point.into(); move |event| resume_point <= event.sequence() } -- cgit v1.2.3