taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 08746f5bf0943bcb9134d5f90487f1b83aa1a115
parent 4e7967dbace6734ac364c30a9dc691c1014bea45
Author: Sebastian <sebasjm@gmail.com>
Date:   Thu, 15 Jun 2023 13:06:03 -0300

compare duration

Diffstat:
Mpackages/taler-util/src/time.ts | 23+++++++++++++++++++++++
1 file changed, 23 insertions(+), 0 deletions(-)

diff --git 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); }