diff options
author | Sebastian <sebasjm@gmail.com> | 2022-09-12 10:57:13 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2022-09-12 10:58:09 -0300 |
commit | 27201416c7d234361507e6055ce7ed42c11c650e (patch) | |
tree | 9a8a6ec614f8c8a221af86ddf2c9fd3b54cfceb5 /packages/taler-util/src/time.ts | |
parent | fc413bb5eca2171abb93b96e9b86f7b76c0a27af (diff) | |
download | wallet-core-27201416c7d234361507e6055ce7ed42c11c650e.tar.xz |
ref #7323
Diffstat (limited to 'packages/taler-util/src/time.ts')
-rw-r--r-- | packages/taler-util/src/time.ts | 15 |
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. |