summaryrefslogtreecommitdiff
path: root/packages/taler-util/src/time.ts
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-09-12 10:57:13 -0300
committerSebastian <sebasjm@gmail.com>2022-09-12 10:58:09 -0300
commit27201416c7d234361507e6055ce7ed42c11c650e (patch)
tree9a8a6ec614f8c8a221af86ddf2c9fd3b54cfceb5 /packages/taler-util/src/time.ts
parentfc413bb5eca2171abb93b96e9b86f7b76c0a27af (diff)
downloadwallet-core-27201416c7d234361507e6055ce7ed42c11c650e.tar.gz
wallet-core-27201416c7d234361507e6055ce7ed42c11c650e.tar.bz2
wallet-core-27201416c7d234361507e6055ce7ed42c11c650e.zip
ref #7323
Diffstat (limited to 'packages/taler-util/src/time.ts')
-rw-r--r--packages/taler-util/src/time.ts15
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/taler-util/src/time.ts b/packages/taler-util/src/time.ts
index 0ba684beb..9c25af400 100644
--- a/packages/taler-util/src/time.ts
+++ b/packages/taler-util/src/time.ts
@@ -343,6 +343,21 @@ export function durationAdd(d1: Duration, d2: Duration): Duration {
return { d_ms: d1.d_ms + d2.d_ms };
}
+export const codecForAbsoluteTime: Codec<AbsoluteTime> = {
+ decode(x: any, c?: Context): AbsoluteTime {
+ const t_ms = x.t_ms;
+ if (typeof t_ms === "string") {
+ if (t_ms === "never") {
+ return { t_ms: "never" };
+ }
+ } else if (typeof t_ms === "number") {
+ return { t_ms };
+ }
+ throw Error(`expected timestamp at ${renderContext(c)}`);
+ },
+};
+
+
export const codecForTimestamp: Codec<TalerProtocolTimestamp> = {
decode(x: any, c?: Context): TalerProtocolTimestamp {
// Compatibility, should be removed soon.