- implementing immutable.js
This commit is contained in:
42
app/selectors/items.js
Normal file
42
app/selectors/items.js
Normal file
@@ -0,0 +1,42 @@
|
||||
import { createSelector } from 'reselect';
|
||||
|
||||
//import { getItemsIdsWithNoBids, getMyBidItemIds, getMyWinningItemIds } from './auctions.js';
|
||||
|
||||
const getState = (state) => state;
|
||||
|
||||
export const getItem = (state, itemId) => state.getIn(['items', itemId], false);
|
||||
|
||||
export const getItems = createSelector(
|
||||
[getState],
|
||||
(state) => state.get('items') || new Map(),
|
||||
);
|
||||
|
||||
export const getItemsAsList = createSelector(
|
||||
[getItems],
|
||||
(itemsAsMap) => itemsAsMap.toList(),
|
||||
);
|
||||
|
||||
export const getAuctionItems = createSelector(
|
||||
[getState],
|
||||
(state) => state.get('items').filter(i => i.type === 'auction') || new Map(),
|
||||
);
|
||||
|
||||
export const getAuctionItemsAsList = createSelector(
|
||||
[getAuctionItems],
|
||||
(auctionItemsAsMap) => auctionItemsAsMap.toList(),
|
||||
);
|
||||
|
||||
export const getTicketItems = createSelector(
|
||||
[getState],
|
||||
(state) => state.get('items').filter(i => i.type === 'ticket') || new Map(),
|
||||
);
|
||||
|
||||
export const getTicketItemsAsList = createSelector(
|
||||
[getTicketItems],
|
||||
(ticketItemsAsMap) => ticketItemsAsMap.toList(),
|
||||
);
|
||||
|
||||
export const getAuctionItemsWithNoBids = createSelector(
|
||||
[getAuctionItems],
|
||||
(auctionItemsAsMap) => auctionItemsAsMap.filter(i => i.bidCount),
|
||||
);
|
||||
Reference in New Issue
Block a user