diff options
author | Florian Dold <florian.dold@gmail.com> | 2020-09-02 14:44:36 +0530 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2020-09-02 14:44:40 +0530 |
commit | 8a3ac7f08b114360118bf58a38983401107a62cf (patch) | |
tree | ecace89f8b01818f1d521760d987ff02d5cdd33c /packages/taler-wallet-core/src/util/time.ts | |
parent | 8d0081b62248f0663e3b4e1ba5246b454f5823db (diff) | |
download | wallet-core-8a3ac7f08b114360118bf58a38983401107a62cf.tar.gz wallet-core-8a3ac7f08b114360118bf58a38983401107a62cf.tar.bz2 wallet-core-8a3ac7f08b114360118bf58a38983401107a62cf.zip |
schedule exchange updating
Diffstat (limited to 'packages/taler-wallet-core/src/util/time.ts')
-rw-r--r-- | packages/taler-wallet-core/src/util/time.ts | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/taler-wallet-core/src/util/time.ts b/packages/taler-wallet-core/src/util/time.ts index ff4c1885b..1641924a1 100644 --- a/packages/taler-wallet-core/src/util/time.ts +++ b/packages/taler-wallet-core/src/util/time.ts @@ -76,6 +76,38 @@ export function timestampMin(t1: Timestamp, t2: Timestamp): Timestamp { return { t_ms: Math.min(t1.t_ms, t2.t_ms) }; } +export function timestampMax(t1: Timestamp, t2: Timestamp): Timestamp { + if (t1.t_ms === "never") { + return { t_ms: "never" }; + } + if (t2.t_ms === "never") { + return { t_ms: "never" }; + } + return { t_ms: Math.max(t1.t_ms, t2.t_ms) }; +} + +const SECONDS = 1000 +const MINUTES = SECONDS * 60; +const HOURS = MINUTES * 60; + +export function durationFromSpec(spec: { + seconds?: number, + hours?: number, + minutes?: number, +}): Duration { + let d_ms = 0; + if (spec.seconds) { + d_ms += spec.seconds * SECONDS; + } + if (spec.minutes) { + d_ms += spec.minutes * MINUTES; + } + if (spec.hours) { + d_ms += spec.hours * HOURS; + } + return { d_ms }; +} + /** * Truncate a timestamp so that that it represents a multiple * of seconds. The timestamp is always rounded down. |