taler-typescript-core

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

commit 3688f7e4d4d2ccd148edd25e0a8eaddbd677b317
parent dd8969646be7fa35eccaf89b767798602d19231a
Author: Sebastian <sebasjm@gmail.com>
Date:   Thu, 27 May 2021 11:15:55 -0300

Amount.toFloat and hide filesystem requirement

Diffstat:
Mpackages/taler-util/src/amounts.ts | 7+++++++
Mpackages/taler-util/src/talerconfig.ts | 20+++++++++++++++++---
2 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/packages/taler-util/src/amounts.ts b/packages/taler-util/src/amounts.ts @@ -331,6 +331,13 @@ export class Amounts { }; } + /** + * Convert a Taler amount to a float + */ + static toFloat(amount: AmountJson): number { + return amount.value + (amount.fraction / amountFractionalBase) + } + static min(a: AmountLike, b: AmountLike): AmountJson { const cr = Amounts.cmp(a, b); if (cr >= 0) { diff --git a/packages/taler-util/src/talerconfig.ts b/packages/taler-util/src/talerconfig.ts @@ -25,7 +25,21 @@ */ import { AmountJson } from "./amounts.js"; import { Amounts } from "./amounts.js"; -import fs from "fs"; + +const nodejs_fs = (function () { + let fs: typeof import("fs"); + return function() { + if (!fs) { + /** + * need to use an expression when doing a require if we want + * webpack not to find out about the requirement + */ + const _r = "require" + fs = module[_r]("fs") + } + return fs + } +})() export class ConfigError extends Error { constructor(message: string) { @@ -293,7 +307,7 @@ export class Configuration { } static load(filename: string): Configuration { - const s = fs.readFileSync(filename, "utf-8"); + const s = nodejs_fs().readFileSync(filename, "utf-8"); const cfg = new Configuration(); cfg.loadFromString(s); return cfg; @@ -313,6 +327,6 @@ export class Configuration { } s += "\n"; } - fs.writeFileSync(filename, s); + nodejs_fs().writeFileSync(filename, s); } }