import { createSelector } from "reselect"; import { selectCurrentParams } from "selectors/navigation"; export const _selectState = state => state.costInfo || {}; export const selectAllCostInfoByUri = createSelector( _selectState, state => state.byUri || {} ); export const makeSelectCostInfoForUri = uri => { return createSelector( selectAllCostInfoByUri, costInfos => costInfos && costInfos[uri] ); }; export const selectCostForCurrentPageUri = createSelector( selectAllCostInfoByUri, selectCurrentParams, (costInfo, params) => params.uri && costInfo[params.uri] ? costInfo[params.uri].cost : undefined ); export const selectFetchingCostInfo = createSelector( _selectState, state => state.fetching || {} ); export const makeSelectFetchingCostInfoForUri = uri => { return createSelector( selectFetchingCostInfo, fetchingByUri => fetchingByUri && fetchingByUri[uri] ); };