@yoroi/portfolio
Version:
The Portfolio package of Yoroi SDK
39 lines (38 loc) • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.portfolioBalanceStorageMaker = void 0;
var _common = require("@yoroi/common");
var _immer = require("immer");
var _deserializers = require("../../transformers/deserializers");
const portfolioBalanceStorageMaker = _ref => {
let {
balanceStorage,
primaryBreakdownStorage,
primaryTokenId
} = _ref;
const balances = {
save: entries => balanceStorage.multiSet(entries, _common.storageSerializer),
read: keys => balanceStorage.multiGet(keys, _deserializers.deserializers.tokenAmount),
all: () => balanceStorage.multiGet(balanceStorage.getAllKeys(), _deserializers.deserializers.tokenAmount),
keys: () => balanceStorage.getAllKeys(),
clear: () => balanceStorage.clear()
};
const primaryBreakdown = {
save: breakdown => primaryBreakdownStorage.setItem(primaryTokenId, breakdown, _common.storageSerializer),
read: () => primaryBreakdownStorage.getItem(primaryTokenId, _deserializers.deserializers.primaryBreakdown),
clear: () => primaryBreakdownStorage.clear()
};
const clear = () => {
balanceStorage.clear();
primaryBreakdownStorage.clear();
};
return (0, _immer.freeze)({
balances,
primaryBreakdown,
clear
}, true);
};
exports.portfolioBalanceStorageMaker = portfolioBalanceStorageMaker;
//# sourceMappingURL=balance-storage-maker.js.map