redux-paginator-immutable 17.0.18 → 17.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/lib/Info.d.ts +9 -0
  2. package/lib/Info.js +19 -0
  3. package/lib/Info.js.map +1 -0
  4. package/lib/LoadDataItem.d.ts +23 -0
  5. package/lib/LoadDataItem.js +59 -0
  6. package/lib/LoadDataItem.js.map +1 -0
  7. package/lib/LoadPaginator.d.ts +41 -0
  8. package/lib/LoadPaginator.js +109 -0
  9. package/lib/LoadPaginator.js.map +1 -0
  10. package/lib/LoadingButton.d.ts +11 -0
  11. package/lib/LoadingButton.js +22 -0
  12. package/lib/LoadingButton.js.map +1 -0
  13. package/lib/actionTypes.d.ts +9 -0
  14. package/lib/actionTypes.js +13 -0
  15. package/lib/actionTypes.js.map +1 -0
  16. package/lib/actions.d.ts +42 -0
  17. package/lib/actions.js +82 -0
  18. package/lib/actions.js.map +1 -0
  19. package/lib/agent.d.ts +8 -0
  20. package/lib/agent.js +37 -0
  21. package/lib/agent.js.map +1 -0
  22. package/lib/createDataReducer.d.ts +36 -0
  23. package/lib/createDataReducer.js +79 -0
  24. package/lib/createDataReducer.js.map +1 -0
  25. package/lib/createItemReducer.d.ts +11 -0
  26. package/lib/createItemReducer.js +18 -0
  27. package/lib/createItemReducer.js.map +1 -0
  28. package/lib/createPaginator.d.ts +14 -0
  29. package/lib/createPaginator.js +84 -0
  30. package/lib/createPaginator.js.map +1 -0
  31. package/lib/index.d.ts +11 -0
  32. package/lib/index.js +30 -0
  33. package/lib/index.js.map +1 -0
  34. package/lib/paginatorMiddleware.d.ts +5 -0
  35. package/lib/paginatorMiddleware.js +68 -0
  36. package/lib/paginatorMiddleware.js.map +1 -0
  37. package/lib/reducerItemData.d.ts +18 -0
  38. package/lib/reducerItemData.js +56 -0
  39. package/lib/reducerItemData.js.map +1 -0
  40. package/lib/reducerOperations.d.ts +3 -0
  41. package/lib/reducerOperations.js +69 -0
  42. package/lib/reducerOperations.js.map +1 -0
  43. package/lib/reducers.d.ts +4 -0
  44. package/lib/reducers.js +75 -0
  45. package/lib/reducers.js.map +1 -0
  46. package/lib/selectors.d.ts +58 -0
  47. package/lib/selectors.js +79 -0
  48. package/lib/selectors.js.map +1 -0
  49. package/lib/types/actions.d.ts +85 -0
  50. package/lib/types/actions.js +3 -0
  51. package/lib/types/actions.js.map +1 -0
  52. package/lib/types/index.d.ts +21 -0
  53. package/lib/types/index.js +16 -0
  54. package/lib/types/index.js.map +1 -0
  55. package/lib/types/state.d.ts +6 -0
  56. package/lib/types/state.js +3 -0
  57. package/lib/types/state.js.map +1 -0
  58. package/lib/util.d.ts +9 -0
  59. package/lib/util.js +49 -0
  60. package/lib/util.js.map +1 -0
  61. package/lib/words.d.ts +9 -0
  62. package/lib/words.js +12 -0
  63. package/lib/words.js.map +1 -0
  64. package/package.json +24 -17
  65. package/lib/__tests__/actions.spec.js +0 -117
  66. package/lib/__tests__/agent.spec.js +0 -32
  67. package/lib/__tests__/createPaginator.spec.js +0 -39
  68. package/lib/__tests__/reducers.spec.js +0 -125
  69. package/lib/__tests__/selectors.spec.js +0 -160
  70. package/lib/__tests__/setup.js +0 -3
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ /* eslint-disable max-lines-per-function, */
23
+ const reselect_1 = require("reselect");
24
+ const Immutable = __importStar(require("immutable"));
25
+ /*
26
+ Use to create a complex list where you need more information about
27
+ the item. For instance, if you DO need to fetch more data or to
28
+ manipulate it
29
+ */
30
+ const createDataReducer = ({ key }) => {
31
+ const getItems = (state) => (state.getIn(["entities", key])), getItem = (0, reselect_1.createSelector)(getItems, (_state, id) => id, (data, id) => data.get(id) || Immutable.Map()), getItemsList = (0, reselect_1.createSelector)(getItems, (data) => data.map((current) => current.get("Data")).toList()), getItemData = (0, reselect_1.createSelector)(getItems, (_state, id) => id, (data, id) => {
32
+ if (typeof data === "undefined") {
33
+ return Immutable.Map();
34
+ }
35
+ return data.getIn([id, "Data"]);
36
+ }), getItemHasError = (0, reselect_1.createSelector)(getItem, (data) => {
37
+ if (typeof data === "undefined") {
38
+ return false;
39
+ }
40
+ return data.get("error") === true;
41
+ }), getIsFetchingItemInfo = (0, reselect_1.createSelector)(getItem, (data) => {
42
+ if (typeof data === "undefined") {
43
+ return false;
44
+ }
45
+ return data.get("fetching");
46
+ }), getItemIsFetched = (0, reselect_1.createSelector)(getItem, (data) => {
47
+ if (typeof data === "undefined") {
48
+ return false;
49
+ }
50
+ return data.get("fetched");
51
+ }),
52
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
53
+ // @ts-ignore
54
+ getShouldFetchItemInfo = (0, reselect_1.createSelector)(
55
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
56
+ // @ts-ignore
57
+ getIsFetchingItemInfo,
58
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
59
+ // @ts-ignore
60
+ getItemIsFetched,
61
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
62
+ // @ts-ignore
63
+ getItemHasError,
64
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
65
+ // @ts-ignore
66
+ (isFetching, isFetched, hasError) => (!isFetched && !isFetching && !hasError));
67
+ return {
68
+ getItems,
69
+ getItem,
70
+ getItemsList,
71
+ getItemData,
72
+ getItemHasError,
73
+ getIsFetchingItemInfo,
74
+ getItemIsFetched,
75
+ getShouldFetchItemInfo,
76
+ };
77
+ };
78
+ exports.default = createDataReducer;
79
+ //# sourceMappingURL=createDataReducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDataReducer.js","sourceRoot":"","sources":["../src/createDataReducer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,6CAA6C;AAC7C,uCAA0C;AAC1C,qDAAuC;AAGvC;;;;EAIE;AACF,MACE,iBAAiB,GAAG,CAAC,EAAE,GAAG,EAAqB,EAAE,EAAE;IACjD,MACE,QAAQ,GAAG,CAAC,KAAU,EAAQ,EAAE,CAAC,CAC/B,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAC/B,EACD,OAAO,GAAG,IAAA,yBAAc,EACtB,QAAQ,EACR,CAAC,MAAY,EAAE,EAAW,EAAE,EAAE,CAAC,EAAE,EACjC,CAAC,IAAU,EAAE,EAAW,EAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,CACnE,EACD,YAAY,GAAG,IAAA,yBAAc,EAC3B,QAAQ,EACR,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAa,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAC1E,EACD,WAAW,GAAG,IAAA,yBAAc,EAC1B,QAAQ,EACR,CAAC,MAAY,EAAE,EAAW,EAAE,EAAE,CAAC,EAAE,EACjC,CAAC,IAAU,EAAE,EAAW,EAAQ,EAAE;QAChC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;YAC/B,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC;SACxB;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAClC,CAAC,CACF,EACD,eAAe,GAAG,IAAA,yBAAc,EAC9B,OAAO,EACP,CAAC,IAAU,EAAY,EAAE;QACvB,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;YAC/B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpC,CAAC,CACF,EACD,qBAAqB,GAAG,IAAA,yBAAc,EACpC,OAAO,EACP,CAAC,IAAU,EAAY,EAAE;QACvB,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;YAC/B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC,CACF,EACD,gBAAgB,GAAG,IAAA,yBAAc,EAC/B,OAAO,EACP,CAAC,IAAU,EAAY,EAAE;QACvB,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;YAC/B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC,CACF;IACD,6DAA6D;IAC7D,aAAa;IACb,sBAAsB,GAAG,IAAA,yBAAc;IACrC,6DAA6D;IAC7D,aAAa;IACb,qBAAqB;IACrB,6DAA6D;IAC7D,aAAa;IACb,gBAAgB;IAChB,6DAA6D;IAC7D,aAAa;IACb,eAAe;IACf,6DAA6D;IAC7D,aAAa;IACb,CAAC,UAAoB,EAAE,SAAmB,EAAE,QAAkB,EAAY,EAAE,CAAC,CAC3E,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CACvC,CACF,CAAC;IAEJ,OAAO;QACL,QAAQ;QACR,OAAO;QACP,YAAY;QACZ,WAAW;QACX,eAAe;QACf,qBAAqB;QACrB,gBAAgB;QAChB,sBAAsB;KACvB,CAAC;AACJ,CAAC,CAAC;AAEJ,kBAAe,iBAAiB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { PaginatorSettings } from "./types";
2
+ declare const createReducer: ({ key }: PaginatorSettings) => {
3
+ getItems: (state: any) => any;
4
+ getItem: ((state: {}) => any) & import("reselect").OutputSelectorFields<(args_0: any, args_1: any) => any> & {
5
+ clearCache: () => void;
6
+ };
7
+ getItemsList: ((state: {}) => any) & import("reselect").OutputSelectorFields<(args_0: any) => any> & {
8
+ clearCache: () => void;
9
+ };
10
+ };
11
+ export default createReducer;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const reselect_1 = require("reselect");
4
+ /*
5
+ Use to create a simple list where you do not need more information about
6
+ the item. For instance, if you do NOT need to fetch more data or
7
+ manipulate it
8
+ */
9
+ const createReducer = ({ key }) => {
10
+ const getItems = (state) => state.getIn(["entities", key]), getItem = (0, reselect_1.createSelector)(getItems, (_state, id) => id, (data, id) => data.get(id)), getItemsList = (0, reselect_1.createSelector)(getItems, (data) => data.toList());
11
+ return {
12
+ getItems,
13
+ getItem,
14
+ getItemsList,
15
+ };
16
+ };
17
+ exports.default = createReducer;
18
+ //# sourceMappingURL=createItemReducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createItemReducer.js","sourceRoot":"","sources":["../src/createItemReducer.ts"],"names":[],"mappings":";;AAAA,uCAA0C;AAG1C;;;;EAIE;AACF,MAAM,aAAa,GAAG,CAAC,EAAE,GAAG,EAAqB,EAAE,EAAE;IACnD,MACE,QAAQ,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,EACzD,OAAO,GAAG,IAAA,yBAAc,EACtB,QAAQ,EACR,CAAC,MAAY,EAAE,EAAQ,EAAE,EAAE,CAAC,EAAE,EAC9B,CAAC,IAAU,EAAE,EAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CACvC,EACD,YAAY,GAAG,IAAA,yBAAc,EAC3B,QAAQ,EACR,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CACxB,CAAC;IAEJ,OAAO;QACL,QAAQ;QACR,OAAO;QACP,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { PaginatorSettings } from "./types";
2
+ declare type EndpointData = {
3
+ path: string;
4
+ cb: () => string;
5
+ };
6
+ declare type Endpoint = EndpointData | string;
7
+ declare type CreatePaginator = (endpoint: Endpoint, info: PaginatorSettings) => any;
8
+ declare type OnlyForEndpoint = (endpoint: string, reducer: any) => (state: any, action: {
9
+ meta: {
10
+ endpoint: string;
11
+ };
12
+ }) => any;
13
+ export declare const onlyForEndpoint: OnlyForEndpoint, createPaginator: CreatePaginator;
14
+ export {};
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ /* eslint-disable max-lines-per-function, */
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
6
+ }) : (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ o[k2] = m[k];
9
+ }));
10
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
11
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
12
+ }) : function(o, v) {
13
+ o["default"] = v;
14
+ });
15
+ var __importStar = (this && this.__importStar) || function (mod) {
16
+ if (mod && mod.__esModule) return mod;
17
+ var result = {};
18
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
19
+ __setModuleDefault(result, mod);
20
+ return result;
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.createPaginator = exports.onlyForEndpoint = void 0;
27
+ const others_1 = require("x25/utility/others");
28
+ const Immutable = __importStar(require("immutable"));
29
+ const reducers_1 = require("./reducers");
30
+ const actions_1 = __importDefault(require("./actions"));
31
+ const getEndpoint = (data) => {
32
+ if (typeof data === "object") {
33
+ return {
34
+ path: data.path,
35
+ cb: data.cb,
36
+ };
37
+ }
38
+ return {
39
+ path: data,
40
+ cb: null,
41
+ };
42
+ };
43
+ const onlyForEndpoint = (endpoint, reducer) => (state = Immutable.Map(), action) => {
44
+ if (typeof action.meta === "undefined" || action.meta.endpoint !== endpoint) {
45
+ return state;
46
+ }
47
+ return reducer(state, action);
48
+ }, createPaginator = (endpointData, settings) => {
49
+ const { path: endpoint, cb: endpointCb, } = getEndpoint(endpointData), { key, normalizeDataItem, dataItemURL, manageEntity, resultsKey, totalKey = "Total", pageArgName = "page", idKey = "ID", rowsPerLoad = others_1.rowsPerLoad, manipulateItems = (items) => items, } = settings, endpointedActions = {
50
+ requestPage: (page, token) => actions_1.default.requestPage({
51
+ endpoint,
52
+ endpointCb,
53
+ manageEntity,
54
+ resultsKey,
55
+ totalKey,
56
+ pageArgName,
57
+ idKey,
58
+ page,
59
+ token,
60
+ }),
61
+ resetView(token) {
62
+ return actions_1.default.resetView(endpoint, token);
63
+ },
64
+ changeView({ view, token }) {
65
+ return actions_1.default.changeView(endpoint, {
66
+ view,
67
+ token,
68
+ });
69
+ },
70
+ clearData() {
71
+ return actions_1.default.clearData(endpoint);
72
+ },
73
+ };
74
+ return Object.assign({ key,
75
+ normalizeDataItem,
76
+ dataItemURL,
77
+ manipulateItems,
78
+ rowsPerLoad,
79
+ manageEntity,
80
+ resultsKey,
81
+ endpoint, pagesReducer: (0, exports.onlyForEndpoint)(endpoint, reducers_1.pages), itemsReducer: (0, exports.onlyForEndpoint)(endpoint, reducers_1.items), dataItemsReducer: (0, exports.onlyForEndpoint)(endpoint, reducers_1.dataItems) }, endpointedActions);
82
+ };
83
+ exports.onlyForEndpoint = onlyForEndpoint, exports.createPaginator = createPaginator;
84
+ //# sourceMappingURL=createPaginator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPaginator.js","sourceRoot":"","sources":["../src/createPaginator.ts"],"names":[],"mappings":";AAAA,6CAA6C;;;;;;;;;;;;;;;;;;;;;;;;;AAE7C,+CAAuE;AACvE,qDAAuC;AACvC,yCAAyG;AACzG,wDAAgC;AAkBhC,MAAM,WAAW,GAAG,CAAC,IAAc,EAAE,EAAE;IACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO;YACL,IAAI,EAAG,IAAI,CAAC,IAAI;YAChB,EAAE,EAAK,IAAI,CAAC,EAAE;SACf,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAG,IAAI;QACX,EAAE,EAAK,IAAI;KACZ,CAAC;AACJ,CAAC,CAAC;AAEK,MACL,eAAe,GAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE;IAC5F,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;QAC3E,OAAO,KAAK,CAAC;KACd;IAED,OAAO,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC,EACD,eAAe,GAAoB,CAAC,YAAsB,EAAE,QAA2B,EAAE,EAAE;IACzF,MACE,EACE,IAAI,EAAE,QAAQ,EACd,EAAE,EAAE,UAAU,GACf,GAAG,WAAW,CAAC,YAAY,CAAC,EAC7B,EACE,GAAG,EACH,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,GAAG,OAAO,EAClB,WAAW,GAAG,MAAM,EACpB,KAAK,GAAG,IAAI,EACZ,WAAW,GAAG,oBAAkB,EAChC,eAAe,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GACnC,GAAG,QAAQ,EACZ,iBAAiB,GAAG;QAClB,WAAW,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,iBAAO,CAAC,WAAW,CAAC;YAChE,QAAQ;YACR,UAAU;YACV,YAAY;YACZ,UAAU;YACV,QAAQ;YACR,WAAW;YACX,KAAK;YACL,IAAI;YACJ,KAAK;SACN,CAAC;QAEF,SAAS,CAAE,KAAW;YACpB,OAAO,iBAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,UAAU,CAAE,EAAE,IAAI,EAAE,KAAK,EAAoC;YAC3D,OAAO,iBAAO,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAClC,IAAI;gBACJ,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,SAAS;YACP,OAAO,iBAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;IAEJ,uBACE,GAAG;QACH,iBAAiB;QACjB,WAAW;QACX,eAAe;QACf,WAAW;QACX,YAAY;QACZ,UAAU;QACV,QAAQ,EACR,YAAY,EAAO,IAAA,uBAAe,EAAC,QAAQ,EAAE,gBAAY,CAAC,EAC1D,YAAY,EAAO,IAAA,uBAAe,EAAC,QAAQ,EAAE,gBAAY,CAAC,EAC1D,gBAAgB,EAAG,IAAA,uBAAe,EAAC,QAAQ,EAAE,oBAAgB,CAAC,IAC3D,iBAAiB,EACpB;AACJ,CAAC,CAAC;AApEF,QAAA,eAAe,oBAOf,QAAA,eAAe,mBA6Db"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import { createPaginator } from "./createPaginator";
2
+ import paginatorMiddleware from "./paginatorMiddleware";
3
+ import paginatorSelectors from "./selectors";
4
+ import { manageDataEntity, manipulateDataItems, manipulateItems, manageEntity } from "./util";
5
+ import Info from "./Info";
6
+ import LoadingButton from "./LoadingButton";
7
+ import LoadPaginator from "./LoadPaginator";
8
+ import LoadDataItem from "./LoadDataItem";
9
+ import createDataReducer from "./createDataReducer";
10
+ import createItemReducer from "./createItemReducer";
11
+ export { Info, LoadingButton, LoadPaginator, LoadDataItem, createPaginator, paginatorMiddleware, paginatorSelectors, createDataReducer, manageDataEntity, manipulateDataItems, createItemReducer, manipulateItems, manageEntity, };
package/lib/index.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.manageEntity = exports.manipulateItems = exports.createItemReducer = exports.manipulateDataItems = exports.manageDataEntity = exports.createDataReducer = exports.paginatorSelectors = exports.paginatorMiddleware = exports.createPaginator = exports.LoadDataItem = exports.LoadPaginator = exports.LoadingButton = exports.Info = void 0;
7
+ const createPaginator_1 = require("./createPaginator");
8
+ Object.defineProperty(exports, "createPaginator", { enumerable: true, get: function () { return createPaginator_1.createPaginator; } });
9
+ const paginatorMiddleware_1 = __importDefault(require("./paginatorMiddleware"));
10
+ exports.paginatorMiddleware = paginatorMiddleware_1.default;
11
+ const selectors_1 = __importDefault(require("./selectors"));
12
+ exports.paginatorSelectors = selectors_1.default;
13
+ const util_1 = require("./util");
14
+ Object.defineProperty(exports, "manageDataEntity", { enumerable: true, get: function () { return util_1.manageDataEntity; } });
15
+ Object.defineProperty(exports, "manipulateDataItems", { enumerable: true, get: function () { return util_1.manipulateDataItems; } });
16
+ Object.defineProperty(exports, "manipulateItems", { enumerable: true, get: function () { return util_1.manipulateItems; } });
17
+ Object.defineProperty(exports, "manageEntity", { enumerable: true, get: function () { return util_1.manageEntity; } });
18
+ const Info_1 = __importDefault(require("./Info"));
19
+ exports.Info = Info_1.default;
20
+ const LoadingButton_1 = __importDefault(require("./LoadingButton"));
21
+ exports.LoadingButton = LoadingButton_1.default;
22
+ const LoadPaginator_1 = __importDefault(require("./LoadPaginator"));
23
+ exports.LoadPaginator = LoadPaginator_1.default;
24
+ const LoadDataItem_1 = __importDefault(require("./LoadDataItem"));
25
+ exports.LoadDataItem = LoadDataItem_1.default;
26
+ const createDataReducer_1 = __importDefault(require("./createDataReducer"));
27
+ exports.createDataReducer = createDataReducer_1.default;
28
+ const createItemReducer_1 = __importDefault(require("./createItemReducer"));
29
+ exports.createItemReducer = createItemReducer_1.default;
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAoD;AAgBlD,gGAhBO,iCAAe,OAgBP;AAfjB,gFAAwD;AAgBtD,8BAhBK,6BAAmB,CAgBL;AAfrB,4DAA6C;AAgB3C,6BAhBK,mBAAkB,CAgBL;AAfpB,iCAA8F;AAiB5F,iGAjBO,uBAAgB,OAiBP;AAChB,oGAlByB,0BAAmB,OAkBzB;AAEnB,gGApB8C,sBAAe,OAoB9C;AACf,6FArB+D,mBAAY,OAqB/D;AApBd,kDAA0B;AAQxB,eARK,cAAI,CAQL;AAPN,oEAA4C;AAQ1C,wBARK,uBAAa,CAQL;AAPf,oEAA4C;AAQ1C,wBARK,uBAAa,CAQL;AAPf,kEAA0C;AAQxC,uBARK,sBAAY,CAQL;AAPd,4EAAoD;AAWlD,4BAXK,2BAAiB,CAWL;AAVnB,4EAAoD;AAalD,4BAbK,2BAAiB,CAaL"}
@@ -0,0 +1,5 @@
1
+ import type { Dispatch, Action } from "./types";
2
+ declare const paginatorMiddleware: ({ dispatch }: {
3
+ dispatch: Dispatch;
4
+ }) => (next: any) => (action: Action) => any;
5
+ export default paginatorMiddleware;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const actionTypes_1 = require("./actionTypes");
7
+ const actions_1 = __importDefault(require("./actions"));
8
+ const agent_1 = require("./agent");
9
+ const { receivePage } = actions_1.default, paginatorMiddleware = ({ dispatch }) => (next) => (action) => {
10
+ if (action.type === actionTypes_1.REQUEST_PAGE) {
11
+ const { meta: { endpoint, endpointCb, manageEntity, resultsKey, totalKey, pageArgName, idKey, }, payload: { page, token, }, } = action;
12
+ dispatch((dispatch2) => {
13
+ const markAsError = () => {
14
+ dispatch2(receivePage({
15
+ endpoint,
16
+ endpointCb,
17
+ manageEntity,
18
+ pageArgName,
19
+ idKey,
20
+ page,
21
+ error: true,
22
+ token,
23
+ items: [],
24
+ total: 0,
25
+ }));
26
+ }, rawPath = typeof endpointCb === "function" ? endpointCb(token) : endpoint, path = rawPath === null ? "" : rawPath;
27
+ try {
28
+ (0, agent_1.fetchPage)({
29
+ endpoint: path,
30
+ pageArgName,
31
+ page,
32
+ token,
33
+ }).then((res) => {
34
+ const { response } = res;
35
+ let results = [], total = 0;
36
+ if (typeof resultsKey === "undefined") {
37
+ results = response;
38
+ }
39
+ else {
40
+ results = response[resultsKey];
41
+ total = response[totalKey];
42
+ }
43
+ dispatch2(receivePage({
44
+ endpoint,
45
+ endpointCb,
46
+ manageEntity,
47
+ pageArgName,
48
+ idKey,
49
+ page,
50
+ error: false,
51
+ token,
52
+ items: results,
53
+ total,
54
+ }));
55
+ }).
56
+ catch(() => {
57
+ markAsError();
58
+ });
59
+ }
60
+ catch (err) {
61
+ markAsError();
62
+ }
63
+ });
64
+ }
65
+ return next(action);
66
+ };
67
+ exports.default = paginatorMiddleware;
68
+ //# sourceMappingURL=paginatorMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginatorMiddleware.js","sourceRoot":"","sources":["../src/paginatorMiddleware.ts"],"names":[],"mappings":";;;;;AAEA,+CAA6C;AAC7C,wDAAgC;AAChC,mCAAoC;AAEpC,MACE,EAAE,WAAW,EAAE,GAAG,iBAAO,EAEzB,mBAAmB,GAAG,CAAC,EAAE,QAAQ,EAA0B,EAAE,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAChG,IAAI,MAAM,CAAC,IAAI,KAAK,0BAAY,EAAE;QAChC,MAAM,EACJ,IAAI,EAAE,EACJ,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,WAAW,EACX,KAAK,GACN,EACD,OAAO,EAAE,EACP,IAAI,EACJ,KAAK,GACN,GACF,GAAG,MAAM,CAAC;QAEX,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE;YACrB,MACE,WAAW,GAAG,GAAG,EAAE;gBACjB,SAAS,CAAC,WAAW,CAAC;oBACpB,QAAQ;oBACR,UAAU;oBACV,YAAY;oBACZ,WAAW;oBACX,KAAK;oBACL,IAAI;oBACJ,KAAK,EAAG,IAAI;oBACZ,KAAK;oBACL,KAAK,EAAG,EAAE;oBACV,KAAK,EAAG,CAAC;iBACV,CAAC,CAAC,CAAC;YACN,CAAC,EAED,OAAO,GAAG,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EACzE,IAAI,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAEzC,IAAI;gBACF,IAAA,iBAAS,EAAC;oBACR,QAAQ,EAAE,IAAI;oBACd,WAAW;oBACX,IAAI;oBACJ,KAAK;iBACN,CAAC,CAAC,IAAI,CAAC,CAAC,GAAuB,EAAE,EAAE;oBAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;oBAEzB,IACE,OAAO,GAAG,EAAE,EACZ,KAAK,GAAG,CAAC,CAAC;oBAEZ,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;wBACrC,OAAO,GAAG,QAAQ,CAAC;qBACpB;yBAAM;wBACL,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;wBAC/B,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAC5B;oBAED,SAAS,CAAC,WAAW,CAAC;wBACpB,QAAQ;wBACR,UAAU;wBACV,YAAY;wBACZ,WAAW;wBACX,KAAK;wBACL,IAAI;wBACJ,KAAK,EAAG,KAAK;wBACb,KAAK;wBACL,KAAK,EAAG,OAAO;wBACf,KAAK;qBACN,CAAC,CAAC,CAAC;gBACN,CAAC,CAAC;oBACA,KAAK,CAAC,GAAG,EAAE;oBACT,WAAW,EAAE,CAAC;gBAChB,CAAC,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACZ,WAAW,EAAE,CAAC;aACf;QACH,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC,CAAC;AAEJ,kBAAe,mBAAmB,CAAC"}
@@ -0,0 +1,18 @@
1
+ declare type FetchItemDataFulFilledProps = {
2
+ payload: {
3
+ Data: any;
4
+ };
5
+ meta: {
6
+ id: string;
7
+ };
8
+ };
9
+ declare const fetchItemDataPending: (state: any, { meta: { id, }, }: {
10
+ meta: {
11
+ id: string;
12
+ };
13
+ }) => any, fetchItemDataRejected: (state: any, { meta: { id, }, }: {
14
+ meta: {
15
+ id: string;
16
+ };
17
+ }) => any, fetchItemDataFulFilled: (state: any, { payload: { Data, }, meta: { id, }, }: FetchItemDataFulFilledProps) => any;
18
+ export { fetchItemDataPending, fetchItemDataRejected, fetchItemDataFulFilled };
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.fetchItemDataFulFilled = exports.fetchItemDataRejected = exports.fetchItemDataPending = void 0;
23
+ const Immutable = __importStar(require("immutable"));
24
+ const defaultOptions = Immutable.Map({
25
+ fetching: true,
26
+ fetched: false,
27
+ error: false,
28
+ }), fetchItemDataPending = (state, { meta: { id, }, }) => (state.update(id, (current) => {
29
+ if (typeof current === "undefined") {
30
+ return defaultOptions;
31
+ }
32
+ return current.mergeDeep(defaultOptions);
33
+ })), fetchItemDataRejected = (state, { meta: { id, }, }) => state.update(id, (current) => {
34
+ if (typeof current === "undefined") {
35
+ return current;
36
+ }
37
+ return current.mergeDeep(Immutable.Map({
38
+ fetching: false,
39
+ fetched: false,
40
+ error: true,
41
+ }));
42
+ }), fetchItemDataFulFilled = (state, { payload: { Data, }, meta: { id, }, }) => state.update(id, (current) => {
43
+ if (typeof current === "undefined") {
44
+ return current;
45
+ }
46
+ return current.mergeDeep(Immutable.Map({
47
+ Data,
48
+ fetching: false,
49
+ fetched: true,
50
+ error: false,
51
+ }));
52
+ });
53
+ exports.fetchItemDataPending = fetchItemDataPending;
54
+ exports.fetchItemDataRejected = fetchItemDataRejected;
55
+ exports.fetchItemDataFulFilled = fetchItemDataFulFilled;
56
+ //# sourceMappingURL=reducerItemData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducerItemData.js","sourceRoot":"","sources":["../src/reducerItemData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAQA,qDAAuC;AAEvC,MACE,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC;IAC7B,QAAQ,EAAG,IAAI;IACf,OAAO,EAAI,KAAK;IAChB,KAAK,EAAM,KAAK;CACjB,CAAC,EAEF,oBAAoB,GAAG,CAAC,KAAU,EAAE,EAClC,IAAI,EAAE,EACJ,EAAE,GACH,GAKJ,EAAE,EAAE,CAAC,CACF,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,OAAa,EAAE,EAAE;IACjC,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;QAClC,OAAO,cAAc,CAAC;KACvB;IAED,OAAO,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AAC3C,CAAC,CAAC,CACH,EACD,qBAAqB,GAAG,CAAC,KAAU,EAAE,EACnC,IAAI,EAAE,EACJ,EAAE,GACH,GAKJ,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,OAAa,EAAE,EAAE;IACrC,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;QAClC,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC;QACrC,QAAQ,EAAG,KAAK;QAChB,OAAO,EAAI,KAAK;QAChB,KAAK,EAAM,IAAI;KAChB,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,EACF,sBAAsB,GAAG,CAAC,KAAU,EAAE,EACpC,OAAO,EAAE,EACP,IAAI,GACL,EACD,IAAI,EAAE,EACJ,EAAE,GACH,GAC2B,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,OAAa,EAAE,EAAE;IACpE,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;QAClC,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC;QACrC,IAAI;QACJ,QAAQ,EAAG,KAAK;QAChB,OAAO,EAAI,IAAI;QACf,KAAK,EAAM,KAAK;KACjB,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AAEI,oDAAoB;AAAE,sDAAqB;AAAE,wDAAsB"}
@@ -0,0 +1,3 @@
1
+ import type { ItemsState, PagesState, Action, ReceivePageAction, ChangeViewAction, RequestPageAction } from "./types";
2
+ declare const requestPage: (state: PagesState, action: RequestPageAction) => any, receivePage: (state: PagesState, action: ReceivePageAction) => any, performChangeView: (state: PagesState, action: any, view: number) => any, changeView: (state: PagesState, action: ChangeViewAction) => any, resetView: (state: PagesState, action: Action) => any, receivePageItems: (state: ItemsState, action: ReceivePageAction) => any;
3
+ export { requestPage, receivePage, performChangeView, changeView, resetView, receivePageItems };
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.receivePageItems = exports.resetView = exports.changeView = exports.performChangeView = exports.receivePage = exports.requestPage = void 0;
23
+ const Immutable = __importStar(require("immutable"));
24
+ const requestPage = (state, action) => {
25
+ const { payload: { token, page, }, } = action, elements = Immutable.Map({
26
+ page,
27
+ error: false,
28
+ fetching: true,
29
+ fetched: false,
30
+ });
31
+ if (state.has(token)) {
32
+ return state.update(token, (current) => current.merge(elements));
33
+ }
34
+ const init = elements.merge({
35
+ view: 1,
36
+ token,
37
+ ids: Immutable.List(),
38
+ });
39
+ return state.set(token, init);
40
+ }, receivePage = (state, action) => {
41
+ const { meta: { idKey, }, payload: { token, items, total, error, }, } = action;
42
+ if (state.has(token)) {
43
+ const hasError = error === true;
44
+ return state.update(token, ((current) => current.update((page) => current.merge(Immutable.Map({
45
+ ids: page.get("ids").concat(Immutable.List(items.map((item) => String(item[idKey])))),
46
+ fetching: false,
47
+ error: hasError,
48
+ fetched: true,
49
+ total: hasError ? page.get("total") : total,
50
+ })))));
51
+ }
52
+ return state;
53
+ }, performChangeView = (state, action, view) => {
54
+ const { payload: { token, }, } = action, item = state.get(token);
55
+ if (typeof item === "undefined") {
56
+ return state;
57
+ }
58
+ return state.update(token, (current) => current.set("view", view));
59
+ }, changeView = (state, action) => (performChangeView(state, action, action.payload.view)), resetView = (state, action) => performChangeView(state, action, 1), receivePageItems = (state, action) => {
60
+ const { payload, meta } = action, { items: payloadItems } = payload, { idKey, manageEntity } = meta, manage = typeof manageEntity === "function" ? manageEntity : ((item) => Immutable.Map(item)), newItems = payloadItems.reduce((previous, item) => (previous.set(String(item[idKey]), manage(item, state, idKey))), Immutable.Map());
61
+ return state.merge(newItems);
62
+ };
63
+ exports.requestPage = requestPage;
64
+ exports.receivePage = receivePage;
65
+ exports.performChangeView = performChangeView;
66
+ exports.changeView = changeView;
67
+ exports.resetView = resetView;
68
+ exports.receivePageItems = receivePageItems;
69
+ //# sourceMappingURL=reducerOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducerOperations.js","sourceRoot":"","sources":["../src/reducerOperations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ItemsState, PagesState, Action } from "./types";
2
+ export declare const pages: (state: PagesState, action: Action) => any;
3
+ export declare const items: (state: ItemsState, action: Action) => any;
4
+ export declare const dataItems: (state: ItemsState, action: Action) => any;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.dataItems = exports.items = exports.pages = void 0;
23
+ const Immutable = __importStar(require("immutable"));
24
+ const actionTypes_1 = require("./actionTypes");
25
+ const reducerItemData = __importStar(require("./reducerItemData"));
26
+ const reducerOperations = __importStar(require("./reducerOperations"));
27
+ const pages = (state = Immutable.Map(), action) => {
28
+ switch (action.type) {
29
+ case actionTypes_1.REQUEST_PAGE:
30
+ return reducerOperations.requestPage(state, action);
31
+ case actionTypes_1.RECEIVE_PAGE:
32
+ return reducerOperations.receivePage(state, action);
33
+ case actionTypes_1.RESET_VIEW:
34
+ return reducerOperations.resetView(state, action);
35
+ case actionTypes_1.CHANGE_VIEW:
36
+ return reducerOperations.changeView(state, action);
37
+ case actionTypes_1.FETCH_CURRENT_COMPANY_INFO_PENDING:
38
+ case actionTypes_1.CLEAR_DATA:
39
+ return state.clear();
40
+ default:
41
+ return state;
42
+ }
43
+ };
44
+ exports.pages = pages;
45
+ const items = (state = Immutable.Map(), action) => {
46
+ switch (action.type) {
47
+ case actionTypes_1.RECEIVE_PAGE:
48
+ return reducerOperations.receivePageItems(state, action);
49
+ case actionTypes_1.FETCH_CURRENT_COMPANY_INFO_PENDING:
50
+ case actionTypes_1.CLEAR_DATA:
51
+ return state.clear();
52
+ default:
53
+ return state;
54
+ }
55
+ };
56
+ exports.items = items;
57
+ const dataItems = (state = Immutable.Map(), action) => {
58
+ switch (action.type) {
59
+ case actionTypes_1.RECEIVE_PAGE:
60
+ return reducerOperations.receivePageItems(state, action);
61
+ case actionTypes_1.FETCH_ITEM_DATA_PENDING:
62
+ return reducerItemData.fetchItemDataPending(state, action);
63
+ case actionTypes_1.FETCH_ITEM_DATA_REJECTED:
64
+ return reducerItemData.fetchItemDataRejected(state, action);
65
+ case actionTypes_1.FETCH_ITEM_DATA_FULFILLED:
66
+ return reducerItemData.fetchItemDataFulFilled(state, action);
67
+ case actionTypes_1.FETCH_CURRENT_COMPANY_INFO_PENDING:
68
+ case actionTypes_1.CLEAR_DATA:
69
+ return state.clear();
70
+ default:
71
+ return state;
72
+ }
73
+ };
74
+ exports.dataItems = dataItems;
75
+ //# sourceMappingURL=reducers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducers.js","sourceRoot":"","sources":["../src/reducers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AACvC,+CAUuB;AAEvB,mEAAqD;AACrD,uEAAyD;AAElD,MAAM,KAAK,GAAG,CAAC,QAAoB,SAAS,CAAC,GAAG,EAAE,EAAE,MAAc,EAAE,EAAE;IAC3E,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,0BAAY;YACf,OAAO,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEtD,KAAK,0BAAY;YACf,OAAO,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEtD,KAAK,wBAAU;YACb,OAAO,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEpD,KAAK,yBAAW;YACd,OAAO,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAErD,KAAK,gDAAkC,CAAC;QACxC,KAAK,wBAAU;YACb,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;QAEvB;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC,CAAC;AArBW,QAAA,KAAK,SAqBhB;AACK,MAAM,KAAK,GAAG,CAAC,QAAoB,SAAS,CAAC,GAAG,EAAE,EAAE,MAAc,EAAE,EAAE;IAC3E,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,0BAAY;YACf,OAAO,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE3D,KAAK,gDAAkC,CAAC;QACxC,KAAK,wBAAU;YACb,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;QAEvB;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC,CAAC;AAZW,QAAA,KAAK,SAYhB;AACK,MAAM,SAAS,GAAG,CAAC,QAAoB,SAAS,CAAC,GAAG,EAAE,EAAE,MAAc,EAAE,EAAE;IAC/E,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,0BAAY;YACf,OAAO,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE3D,KAAK,qCAAuB;YAC1B,OAAO,eAAe,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE7D,KAAK,sCAAwB;YAC3B,OAAO,eAAe,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE9D,KAAK,uCAAyB;YAC5B,OAAO,eAAe,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE/D,KAAK,gDAAkC,CAAC;QACxC,KAAK,wBAAU;YACb,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;QAEvB;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC,CAAC;AArBW,QAAA,SAAS,aAqBpB"}