lbry-desktop/src/renderer/redux/selectors/cost_info.js

21 lines
860 B
JavaScript
Raw Normal View History

import { createSelector } from 'reselect';
import { selectCurrentParams } from 'redux/selectors/navigation';
2017-04-28 17:14:44 +02:00
export const selectState = state => state.costInfo || {};
2017-04-28 17:14:44 +02:00
export const selectAllCostInfoByUri = createSelector(selectState, state => state.byUri || {});
2017-04-28 17:14:44 +02:00
2017-12-13 22:36:30 +01:00
export const makeSelectCostInfoForUri = uri =>
createSelector(selectAllCostInfoByUri, costInfos => costInfos && costInfos[uri]);
2017-08-22 23:19:33 +02:00
export const selectCostForCurrentPageUri = createSelector(
selectAllCostInfoByUri,
selectCurrentParams,
(costInfo, params) => (params.uri && costInfo[params.uri] ? costInfo[params.uri].cost : undefined)
2017-08-22 23:19:33 +02:00
);
export const selectFetchingCostInfo = createSelector(selectState, state => state.fetching || {});
2017-12-13 22:36:30 +01:00
export const makeSelectFetchingCostInfoForUri = uri =>
createSelector(selectFetchingCostInfo, fetchingByUri => fetchingByUri && fetchingByUri[uri]);