import { createSelector } from 'reselect'; const getState = (state) => state; export const getItemBidCount = (state, itemId) => state.getIn(['auctions', itemId, 'bidCount'], 0); export const getItemPrice = (state, itemId) => state.getIn(['auctions', itemId, 'currentPrice'], 0); export const isBiddingItem = (state, itemId) => state.getIn(['auctions', itemId, 'isBidding'], false); export const isWinningItem = (state, itemId) => state.getIn(['auctions', itemId, 'isWinning'], false); export const getAuctionStatus = (state, itemId) => state.getIn(['actions', itemId], false); export const getAuctionStatuses = createSelector( [getState], (state) => state.get('actions') || new Map(), ); export const getItemsIdsWithNoBids = createSelector( [getAuctionStatuses], (auctions) => auctions.filter(auction => auction.bidCount === 0), ); export const getMyBidItemIds = createSelector( [getAuctionStatuses], (auctions) => auctions.filter(auction => auction.isBidding), ); export const getMyWinningItemIds = createSelector( [getAuctionStatuses], (auctions) => auctions.filter(auction => auction.isWinning), );