redux-paginator-immutable 17.0.18 → 17.0.22

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 (74) 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 +36 -0
  8. package/lib/LoadPaginator.js +116 -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 +14 -0
  23. package/lib/createDataReducer.js +64 -0
  24. package/lib/createDataReducer.js.map +1 -0
  25. package/lib/createItemReducer.d.ts +9 -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/src/LoadPaginator.tsx +9 -7
  66. package/src/createDataReducer.ts +10 -17
  67. package/src/createItemReducer.ts +4 -4
  68. package/src/types/index.ts +5 -2
  69. package/lib/__tests__/actions.spec.js +0 -117
  70. package/lib/__tests__/agent.spec.js +0 -32
  71. package/lib/__tests__/createPaginator.spec.js +0 -39
  72. package/lib/__tests__/reducers.spec.js +0 -125
  73. package/lib/__tests__/selectors.spec.js +0 -160
  74. package/lib/__tests__/setup.js +0 -3
@@ -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,GAAuC,IAAA,yBAAc,EAC1D,QAAQ,EACR,CAAC,MAAY,EAAE,EAAW,EAAE,EAAE,CAAC,EAAE,EACjC,CAAC,IAAU,EAAE,EAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAC1C,EACD,YAAY,GAAG,IAAA,yBAAc,EAC3B,QAAQ,EACR,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAC9B,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"}
@@ -0,0 +1,58 @@
1
+ declare const _default: {
2
+ getAllResults: ((state: {
3
+ readonly pages: any;
4
+ readonly itemsReducer: any;
5
+ }, params_0: string, params_1: {}) => any) & import("reselect").OutputSelectorFields<(args_0: any, args_1: any) => any> & {
6
+ clearCache: () => void;
7
+ };
8
+ getCurrentTotalResultsCount: ((state: {
9
+ readonly pages: any;
10
+ readonly itemsReducer: any;
11
+ }, params_0: string) => any) & import("reselect").OutputSelectorFields<(args_0: any) => any> & {
12
+ clearCache: () => void;
13
+ };
14
+ getResultsUpToPage: ((state: {
15
+ readonly pages: any;
16
+ readonly itemsReducer: any;
17
+ }, params_0: string, params_1: {}, params_2: {}, params_3: number) => any) & import("reselect").OutputSelectorFields<(args_0: any, args_1: any, args_2: any, args_3: number) => any> & {
18
+ clearCache: () => void;
19
+ };
20
+ isPageFetching: ((state: {
21
+ readonly pages: any;
22
+ readonly itemsReducer: any;
23
+ }, params_0: string, params_1: {}) => any) & import("reselect").OutputSelectorFields<(args_0: any, args_1: any) => any> & {
24
+ clearCache: () => void;
25
+ };
26
+ isPageFetched: ((state: {
27
+ readonly pages: any;
28
+ readonly itemsReducer: any;
29
+ }, params_0: string, params_1: {}) => any) & import("reselect").OutputSelectorFields<(args_0: any, args_1: any) => any> & {
30
+ clearCache: () => void;
31
+ };
32
+ hasPageProblems: ((state: {
33
+ readonly pages: any;
34
+ readonly itemsReducer: any;
35
+ }, params_0: string) => any) & import("reselect").OutputSelectorFields<(args_0: any) => any> & {
36
+ clearCache: () => void;
37
+ };
38
+ getCurrentView: ((state: {
39
+ readonly pages: any;
40
+ readonly itemsReducer: any;
41
+ }, params_0: string) => any) & import("reselect").OutputSelectorFields<(args_0: any) => any> & {
42
+ clearCache: () => void;
43
+ };
44
+ getPaginatorPaginations: (state: any, name: string) => any;
45
+ getPaginatorEntities: (state: any, name: string) => any;
46
+ getPaginators: ((state: {}, params_0: string) => {
47
+ list: any;
48
+ entities: any;
49
+ }) & import("reselect").OutputSelectorFields<(args_0: any, args_1: any) => {
50
+ list: any;
51
+ entities: any;
52
+ } & {
53
+ clearCache: () => void;
54
+ }> & {
55
+ clearCache: () => void;
56
+ };
57
+ };
58
+ export default _default;
@@ -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
+ const Immutable = __importStar(require("immutable"));
23
+ const reselect_1 = require("reselect");
24
+ const pagesSelector = (state) => state, rowsPerPage = 50, pageSelector = (0, reselect_1.createSelector)(pagesSelector, (_state, token) => token, (pages, token) => pages.get(token)), getAllResults = (0, reselect_1.createSelector)(pageSelector, (_state, _token, items) => items, (page, items) => {
25
+ if (typeof page === "undefined") {
26
+ return Immutable.List();
27
+ }
28
+ return page.get("ids").map((id) => items.get(String(id)));
29
+ }), getResultsUpToPage = (0, reselect_1.createSelector)(pageSelector, (_state, _token, items) => items, (_state, _token, _items, target) => target, (_state, _token, _items, _target, perPage) => (perPage || rowsPerPage), (page, items, target, perPage) => {
30
+ if (typeof page === "undefined") {
31
+ return Immutable.List();
32
+ }
33
+ const ids = page.get("ids").slice(0, perPage * target);
34
+ return ids.map((id) => items.get(String(id)));
35
+ }), getCurrentTotalResultsCount = (0, reselect_1.createSelector)(pageSelector, (page) => {
36
+ if (typeof page === "undefined") {
37
+ return 0;
38
+ }
39
+ return page.get("total");
40
+ }), isPageFetching = (0, reselect_1.createSelector)(pageSelector, (_state, _token, target) => target, (page, target) => {
41
+ if (typeof page === "undefined") {
42
+ return false;
43
+ }
44
+ return page.get("fetching") && target === page.get("page");
45
+ }), isPageFetched = (0, reselect_1.createSelector)(pageSelector, (_state, _token, target) => target, (page, target) => {
46
+ if (typeof page === "undefined") {
47
+ return false;
48
+ }
49
+ return page.get("fetched") && target <= page.get("page");
50
+ }), hasPageProblems = (0, reselect_1.createSelector)(pageSelector, (page) => {
51
+ if (typeof page === "undefined") {
52
+ return false;
53
+ }
54
+ return page.get("error");
55
+ }), getCurrentView = (0, reselect_1.createSelector)(pageSelector, (page) => {
56
+ if (typeof page === "undefined") {
57
+ return 1;
58
+ }
59
+ return page.get("view");
60
+ }),
61
+ // these selectors are used for the entire app
62
+ getPaginatorPaginations = (state, name) => state.getIn(["paginations", name]), getPaginatorEntities = (state, name) => state.getIn(["entities", name]), getPaginators = (0, reselect_1.createSelector)(getPaginatorPaginations, getPaginatorEntities, (list, entities) => ({
63
+ list,
64
+ entities,
65
+ }));
66
+ exports.default = {
67
+ getAllResults,
68
+ getCurrentTotalResultsCount,
69
+ getResultsUpToPage,
70
+ isPageFetching,
71
+ isPageFetched,
72
+ hasPageProblems,
73
+ getCurrentView,
74
+ // for state
75
+ getPaginatorPaginations,
76
+ getPaginatorEntities,
77
+ getPaginators,
78
+ };
79
+ //# sourceMappingURL=selectors.js.map