From 2c0d9712e3e2f09b0871be0dbbf3714a79cc85f9 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Sun, 8 Mar 2026 22:57:38 -0300 Subject: [PATCH] CompareRElayEvent() helpers. --- utils.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/utils.go b/utils.go index 0766515..3625760 100644 --- a/utils.go +++ b/utils.go @@ -71,6 +71,22 @@ func CompareEventReverse(b, a Event) int { return cmp.Compare(a.CreatedAt, b.CreatedAt) } +// CompareRelayEvent is meant to to be used with slices.Sort +func CompareRelayEvent(a, b RelayEvent) int { + if a.CreatedAt == b.CreatedAt { + return bytes.Compare(a.ID[:], b.ID[:]) + } + return cmp.Compare(a.CreatedAt, b.CreatedAt) +} + +// CompareRelayEventReverse is meant to to be used with slices.Sort +func CompareRelayEventReverse(b, a RelayEvent) int { + if a.CreatedAt == b.CreatedAt { + return bytes.Compare(a.ID[:], b.ID[:]) + } + return cmp.Compare(a.CreatedAt, b.CreatedAt) +} + // AppendUnique adds items to an array only if they don't already exist in the array. // Returns the modified array. func AppendUnique[I comparable](arr []I, item ...I) []I {