From d8de3bf77975c6e30c3260bc41f35c4b97b1f072 Mon Sep 17 00:00:00 2001 From: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com> Date: Tue, 9 Nov 2021 23:31:27 +0200 Subject: [PATCH] Re-add `IComparable` to `Snowflake` --- DiscordChatExporter.Core/Discord/Snowflake.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/DiscordChatExporter.Core/Discord/Snowflake.cs b/DiscordChatExporter.Core/Discord/Snowflake.cs index f0fe943..e02e169 100644 --- a/DiscordChatExporter.Core/Discord/Snowflake.cs +++ b/DiscordChatExporter.Core/Discord/Snowflake.cs @@ -5,7 +5,7 @@ using System.Text.RegularExpressions; namespace DiscordChatExporter.Core.Discord { - public readonly record struct Snowflake(ulong Value) + public readonly partial record struct Snowflake(ulong Value) { public DateTimeOffset ToDate() => DateTimeOffset.FromUnixTimeMilliseconds( (long)((Value >> 22) + 1420070400000UL) @@ -13,7 +13,10 @@ namespace DiscordChatExporter.Core.Discord [ExcludeFromCodeCoverage] public override string ToString() => Value.ToString(CultureInfo.InvariantCulture); + } + public partial record struct Snowflake + { public static Snowflake Zero { get; } = new(0); public static Snowflake FromDate(DateTimeOffset date) => new( @@ -45,4 +48,9 @@ namespace DiscordChatExporter.Core.Discord public static Snowflake Parse(string str) => Parse(str, null); } + + public partial record struct Snowflake : IComparable + { + public int CompareTo(Snowflake other) => Value.CompareTo(other.Value); + } } \ No newline at end of file