From 08746f5bf0943bcb9134d5f90487f1b83aa1a115 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 15 Jun 2023 13:06:03 -0300 Subject: compare duration --- packages/taler-util/src/time.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/packages/taler-util/src/time.ts b/packages/taler-util/src/time.ts index 3d7d80485..cf370fdad 100644 --- a/packages/taler-util/src/time.ts +++ b/packages/taler-util/src/time.ts @@ -216,6 +216,29 @@ export namespace Duration { }; } + /** + * Compare two durations. Returns 0 when equal, -1 when a < b + * and +1 when a > b. + */ + export function cmp(d1: Duration, d2: Duration): 1 | 0 | -1 { + if (d1.d_ms === "forever") { + if (d2.d_ms === "forever") { + return 0; + } + return 1; + } + if (d2.d_ms === "forever") { + return -1; + } + if (d1.d_ms == d2.d_ms) { + return 0; + } + if (d1.d_ms > d2.d_ms) { + return 1; + } + return -1; + } + export function max(d1: Duration, d2: Duration): Duration { return durationMax(d1, d2); } -- cgit v1.2.3