@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
34 lines • 1.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sortAssets = void 0;
exports.useAssetConfiguration = useAssetConfiguration;
const useRightBalanceAsset_1 = require("../hooks/useRightBalanceAsset");
const useRightMarketTrendModule_1 = require("../hooks/modules/useRightMarketTrendModule");
const useLeftApyModule_1 = require("../hooks/modules/useLeftApyModule");
const useLeftMarketTrendModule_1 = require("../hooks/modules/useLeftMarketTrendModule");
const sortByBalance_1 = require("../utils/sortByBalance");
const sortAssets = (result, rightElement) => {
if (rightElement === "balance" || rightElement === undefined) {
return [...result].sort((a, b) => (0, sortByBalance_1.compareByBalanceThenFiat)(a?.balanceData, b?.balanceData));
}
return result;
};
exports.sortAssets = sortAssets;
function useAssetConfiguration(assets, options) {
const { rightElement = "balance", leftElement } = options;
const rightResults = {
balance: (0, useRightBalanceAsset_1.useRightBalanceAsset)(rightElement === "balance" || rightElement === undefined ? assets : [], options),
marketTrend: (0, useRightMarketTrendModule_1.useRightMarketTrendModule)(rightElement === "marketTrend" ? assets : [], options),
};
const leftResults = {
apy: (0, useLeftApyModule_1.useLeftApyModule)(leftElement === "apy" ? assets : [], options),
marketTrend: (0, useLeftMarketTrendModule_1.useLeftMarketTrendModule)(leftElement === "marketTrend" ? assets : [], options),
};
const merged = assets.map((asset, i) => ({
...asset,
...rightResults[rightElement]?.[i],
...leftResults[leftElement ?? ""]?.[i],
}));
return (0, exports.sortAssets)(merged, rightElement);
}
//# sourceMappingURL=createAssetConfiguration.js.map