@yoroi/portfolio
Version:
The Portfolio package of Yoroi SDK
32 lines • 1.15 kB
JavaScript
import { storageSerializer } from '@yoroi/common';
import { freeze } from 'immer';
import { deserializers } from '../../transformers/deserializers';
export const portfolioBalanceStorageMaker = _ref => {
let {
balanceStorage,
primaryBreakdownStorage,
primaryTokenId
} = _ref;
const balances = {
save: entries => balanceStorage.multiSet(entries, storageSerializer),
read: keys => balanceStorage.multiGet(keys, deserializers.tokenAmount),
all: () => balanceStorage.multiGet(balanceStorage.getAllKeys(), deserializers.tokenAmount),
keys: () => balanceStorage.getAllKeys(),
clear: () => balanceStorage.clear()
};
const primaryBreakdown = {
save: breakdown => primaryBreakdownStorage.setItem(primaryTokenId, breakdown, storageSerializer),
read: () => primaryBreakdownStorage.getItem(primaryTokenId, deserializers.primaryBreakdown),
clear: () => primaryBreakdownStorage.clear()
};
const clear = () => {
balanceStorage.clear();
primaryBreakdownStorage.clear();
};
return freeze({
balances,
primaryBreakdown,
clear
}, true);
};
//# sourceMappingURL=balance-storage-maker.js.map