taler-typescript-core

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

commit e3ec395b35b8fcff9a6423bb118f14c9649ddcd8
parent c41d7e043798616a39c6c0a41b886ead3fa2eb9c
Author: Sebastian <sebasjm@gmail.com>
Date:   Fri,  2 Jun 2023 14:11:57 -0300

memory key should be string

Diffstat:
Mpackages/exchange-backoffice-ui/src/hooks/useOfficer.ts | 4++--
Mpackages/web-util/src/hooks/useMemoryStorage.ts | 20++++++++++----------
2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/packages/exchange-backoffice-ui/src/hooks/useOfficer.ts b/packages/exchange-backoffice-ui/src/hooks/useOfficer.ts @@ -49,10 +49,10 @@ interface OfficerReady { } const OFFICER_KEY = buildStorageKey("officer", codecForOfficer()); -const ACCOUNT_KEY = buildStorageKey<Account>("account"); +const ACCOUNT_KEY = "account"; export function useOfficer(): OfficerState { - const accountStorage = useMemoryStorage(ACCOUNT_KEY); + const accountStorage = useMemoryStorage<Account>(ACCOUNT_KEY); const officerStorage = useLocalStorage(OFFICER_KEY); const officer = officerStorage.value; diff --git a/packages/web-util/src/hooks/useMemoryStorage.ts b/packages/web-util/src/hooks/useMemoryStorage.ts @@ -27,37 +27,37 @@ const storage: ObservableMap<string, any> = memoryMap<any>(); //with initial value export function useMemoryStorage<Type = string>( - key: StorageKey<Type>, + key: string, defaultValue: Type, ): Required<StorageState<Type>>; //with initial value export function useMemoryStorage<Type = string>( - key: StorageKey<Type>, + key: string, ): StorageState<Type>; // impl export function useMemoryStorage<Type = string>( - key: StorageKey<Type>, + key: string, defaultValue?: Type, ): StorageState<Type> { const [storedValue, setStoredValue] = useState<Type | undefined>( (): Type | undefined => { - const prev = storage.get(key.id); - return prev; + const prev = storage.get(key); + return prev === undefined ? defaultValue : prev; }, ); useEffect(() => { - return storage.onUpdate(key.id, () => { - const newValue = storage.get(key.id); - setStoredValue(newValue); + return storage.onUpdate(key, () => { + const newValue = storage.get(key); + setStoredValue(newValue === undefined ? defaultValue : newValue); }); }, []); const setValue = (value?: Type): void => { if (value === undefined) { - storage.delete(key.id); + storage.delete(key); } else { - storage.set(key.id, value); + storage.set(key, value); } };