taler-typescript-core

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

commit dc02188d6bcae8446b27f0a094076fdd006931d1
parent 0acafda82911f3d61d4eaa9dec2263ae66863097
Author: Sebastian <sebasjm@gmail.com>
Date:   Wed,  6 Dec 2023 15:11:38 -0300

fix codec was setting values to undefined

Diffstat:
Mpackages/demobank-ui/src/Routing.tsx | 2+-
Mpackages/demobank-ui/src/settings.ts | 11++++++++++-
2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/packages/demobank-ui/src/Routing.tsx b/packages/demobank-ui/src/Routing.tsx @@ -43,7 +43,7 @@ export function Routing(): VNode { const history = createHashHistory(); const backend = useBackendState(); const settings = useSettingsContext(); - const {config} = useBankCoreApiContext(); + const { config } = useBankCoreApiContext(); const { i18n } = useTranslationContext(); if (backend.state.status === "loggedOut") { diff --git a/packages/demobank-ui/src/settings.ts b/packages/demobank-ui/src/settings.ts @@ -64,13 +64,22 @@ const codecForBankUISettings = (): Codec<BankUiSettings> => .property("topNavSites", codecOptional(codecForMap(codecForString()))) .build("BankUiSettings"); +function removeUndefineField(obj: any): object { + return Object.keys(obj).reduce((prev, cur) => { + if (typeof prev[cur] === "undefined") { + delete prev[cur] + } + return prev + }, obj) +} + export function fetchSettings(listener: (s: BankUiSettings) => void): void { fetch("./settings.json") .then(resp => resp.json()) .then(json => codecForBankUISettings().decode(json)) .then(result => listener({ ...defaultSettings, - ...result, + ...removeUndefineField(result), })) .catch(e => { console.log("failed to fetch settings", e)