UNPKG

747 BJavaScriptView Raw
1// @flow
2
3import type { PaginatorSettings } from "./types";
4
5import { createSelector } from "reselect";
6
7/*
8 Use to create a simple list where you do not need more information about
9 the item. For instance, if you do NOT need to fetch more data or
10 manipulate it
11*/
12const createReducer = ({ key } : PaginatorSettings) => {
13 const
14 getItems = (state : any) => state.getIn([
15 "entities",
16 key,
17 ]),
18 getItem = createSelector(
19 getItems,
20 (state, id) => id,
21 (data, id) => data.get(id)
22 ),
23 getItemsList = createSelector(
24 getItems,
25 (data) => data.toList()
26 );
27
28 return {
29 getItems,
30 getItem,
31 getItemsList,
32 };
33};
34
35export default createReducer;