redux-paginator-immutable 17.0.16 → 17.0.21

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 (106) hide show
  1. package/lib/Info.d.ts +9 -0
  2. package/lib/Info.js +19 -41
  3. package/lib/Info.js.map +1 -0
  4. package/lib/LoadDataItem.d.ts +23 -0
  5. package/lib/LoadDataItem.js +59 -110
  6. package/lib/LoadDataItem.js.map +1 -0
  7. package/lib/LoadPaginator.d.ts +41 -0
  8. package/lib/LoadPaginator.js +109 -216
  9. package/lib/LoadPaginator.js.map +1 -0
  10. package/lib/LoadingButton.d.ts +11 -0
  11. package/lib/LoadingButton.js +22 -75
  12. package/lib/LoadingButton.js.map +1 -0
  13. package/lib/actionTypes.d.ts +9 -0
  14. package/lib/actionTypes.js +13 -16
  15. package/lib/actionTypes.js.map +1 -0
  16. package/lib/actions.d.ts +42 -0
  17. package/lib/actions.js +82 -136
  18. package/lib/actions.js.map +1 -0
  19. package/lib/agent.d.ts +8 -0
  20. package/lib/agent.js +37 -86
  21. package/lib/agent.js.map +1 -0
  22. package/lib/createDataReducer.d.ts +14 -0
  23. package/lib/createDataReducer.js +60 -79
  24. package/lib/createDataReducer.js.map +1 -0
  25. package/lib/createItemReducer.d.ts +9 -0
  26. package/lib/createItemReducer.js +14 -32
  27. package/lib/createItemReducer.js.map +1 -0
  28. package/lib/createPaginator.d.ts +14 -0
  29. package/lib/createPaginator.js +83 -140
  30. package/lib/createPaginator.js.map +1 -0
  31. package/lib/index.d.ts +11 -0
  32. package/lib/index.js +30 -58
  33. package/lib/index.js.map +1 -0
  34. package/lib/paginatorMiddleware.d.ts +5 -0
  35. package/lib/paginatorMiddleware.js +68 -102
  36. package/lib/paginatorMiddleware.js.map +1 -0
  37. package/lib/reducerItemData.d.ts +18 -0
  38. package/lib/reducerItemData.js +56 -63
  39. package/lib/reducerItemData.js.map +1 -0
  40. package/lib/reducerOperations.d.ts +3 -0
  41. package/lib/reducerOperations.js +69 -114
  42. package/lib/reducerOperations.js.map +1 -0
  43. package/lib/reducers.d.ts +4 -0
  44. package/lib/reducers.js +75 -87
  45. package/lib/reducers.js.map +1 -0
  46. package/lib/selectors.d.ts +58 -0
  47. package/lib/selectors.js +79 -129
  48. package/lib/selectors.js.map +1 -0
  49. package/lib/types/actions.d.ts +85 -0
  50. package/lib/types/actions.js +3 -1
  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 -29
  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 -1
  57. package/lib/types/state.js.map +1 -0
  58. package/lib/util.d.ts +9 -0
  59. package/lib/util.js +49 -73
  60. package/lib/util.js.map +1 -0
  61. package/lib/words.d.ts +9 -0
  62. package/lib/words.js +12 -15
  63. package/lib/words.js.map +1 -0
  64. package/package.json +35 -21
  65. package/src/Info.tsx +29 -0
  66. package/src/LoadDataItem.tsx +84 -0
  67. package/src/{LoadPaginator.jsx → LoadPaginator.tsx} +77 -94
  68. package/src/LoadingButton.tsx +40 -0
  69. package/src/__tests__/createPaginator.spec.js +6 -6
  70. package/src/__tests__/reducers.spec.js +28 -28
  71. package/src/__tests__/selectors.spec.js +80 -81
  72. package/src/{actionTypes.js → actionTypes.ts} +0 -4
  73. package/src/actions.ts +157 -0
  74. package/src/agent.ts +62 -0
  75. package/src/createDataReducer.ts +91 -0
  76. package/src/{createItemReducer.js → createItemReducer.ts} +7 -13
  77. package/src/createPaginator.ts +107 -0
  78. package/src/{index.js → index.ts} +0 -13
  79. package/src/paginatorMiddleware.ts +93 -0
  80. package/src/reducerItemData.ts +74 -0
  81. package/src/reducerOperations.ts +101 -0
  82. package/src/{reducers.js → reducers.ts} +9 -18
  83. package/src/selectors.ts +113 -0
  84. package/src/types/{actions.js → actions.ts} +27 -39
  85. package/src/types/{index.js → index.ts} +6 -13
  86. package/src/types/{state.js → state.ts} +3 -6
  87. package/src/util.ts +51 -0
  88. package/src/{words.js → words.ts} +0 -2
  89. package/lib/__tests__/actions.spec.js +0 -117
  90. package/lib/__tests__/agent.spec.js +0 -32
  91. package/lib/__tests__/createPaginator.spec.js +0 -39
  92. package/lib/__tests__/reducers.spec.js +0 -126
  93. package/lib/__tests__/selectors.spec.js +0 -162
  94. package/lib/__tests__/setup.js +0 -3
  95. package/src/Info.jsx +0 -34
  96. package/src/LoadDataItem.jsx +0 -116
  97. package/src/LoadingButton.jsx +0 -55
  98. package/src/actions.js +0 -153
  99. package/src/agent.js +0 -55
  100. package/src/createDataReducer.js +0 -94
  101. package/src/createPaginator.js +0 -131
  102. package/src/paginatorMiddleware.js +0 -94
  103. package/src/reducerItemData.jsx +0 -64
  104. package/src/reducerOperations.jsx +0 -112
  105. package/src/selectors.js +0 -143
  106. package/src/util.js +0 -71
@@ -1,83 +1,64 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _reselect = require("reselect");
8
-
9
- var _immutable = require("immutable");
10
-
11
- var Immutable = _interopRequireWildcard(_immutable);
12
-
13
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
14
-
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"));
15
25
  /*
16
26
  Use to create a complex list where you need more information about
17
27
  the item. For instance, if you DO need to fetch more data or to
18
28
  manipulate it
19
- */
20
- var createDataReducer = function createDataReducer(_ref) {
21
- var key = _ref.key;
22
-
23
- var getItems = function getItems(state) {
24
- return state.getIn(["entities", key]);
25
- },
26
- getItem = (0, _reselect.createSelector)(getItems, function (state, id) {
27
- return id;
28
- }, function (data, id) {
29
- return data.get(id) || Immutable.Map();
30
- }),
31
- getItemsList = (0, _reselect.createSelector)(getItems, function (data) {
32
- return data.map(function (current) {
33
- return current.get("Data");
34
- }).toList();
35
- }),
36
- getItemData = (0, _reselect.createSelector)(getItems, function (state, id) {
37
- return id;
38
- }, function (data, id) {
39
- if (typeof data === "undefined") {
40
- return Immutable.Map();
41
- }
42
-
43
- return data.getIn([id, "Data"]);
44
- }),
45
- getItemHasError = (0, _reselect.createSelector)(getItem, function (data) {
46
- if (typeof data === "undefined") {
47
- return false;
48
- }
49
-
50
- return data.get("error") === true;
51
- }),
52
- getIsFetchingItemInfo = (0, _reselect.createSelector)(getItem, function (data) {
53
- if (typeof data === "undefined") {
54
- return false;
55
- }
56
-
57
- return data.get("fetching");
58
- }),
59
- getItemIsFetched = (0, _reselect.createSelector)(getItem, function (data) {
60
- if (typeof data === "undefined") {
61
- return false;
62
- }
63
-
64
- return data.get("fetched");
65
- }),
66
- getShouldFetchItemInfo = (0, _reselect.createSelector)(getIsFetchingItemInfo, getItemIsFetched, getItemHasError, function (isFetching, isFetched, hasError) {
67
- return !isFetched && !isFetching && !hasError;
68
- });
69
-
70
- return {
71
- getItems: getItems,
72
- getItem: getItem,
73
- getItemsList: getItemsList,
74
- getItemData: getItemData,
75
- getItemHasError: getItemHasError,
76
- getIsFetchingItemInfo: getIsFetchingItemInfo,
77
- getItemIsFetched: getItemIsFetched,
78
- getShouldFetchItemInfo: getShouldFetchItemInfo
79
- };
80
- };
81
- /* eslint-disable max-lines-per-function, */
82
-
83
- exports.default = createDataReducer;
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
+ }), getShouldFetchItemInfo = (0, reselect_1.createSelector)(getIsFetchingItemInfo, getItemIsFetched, getItemHasError, (isFetching, isFetched, hasError) => (!isFetched && !isFetching && !hasError));
52
+ return {
53
+ getItems,
54
+ getItem,
55
+ getItemsList,
56
+ getItemData,
57
+ getItemHasError,
58
+ getIsFetchingItemInfo,
59
+ getItemIsFetched,
60
+ getShouldFetchItemInfo,
61
+ };
62
+ };
63
+ exports.default = createDataReducer;
64
+ //# 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;AAMvC;;;;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,GAAc,IAAA,yBAAc,EACjC,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,GAAkB,IAAA,yBAAc,EAC1C,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,GAAc,IAAA,yBAAc,EACrC,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,GAAc,IAAA,yBAAc,EACzC,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,GAAc,IAAA,yBAAc,EAC/C,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,GAAc,IAAA,yBAAc,EAC1C,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,EACD,sBAAsB,GAAc,IAAA,yBAAc,EAChD,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,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,9 @@
1
+ import type { PaginatorSettings } from "./types";
2
+ declare const createReducer: ({ key }: PaginatorSettings) => {
3
+ getItems: (state: any) => any;
4
+ getItem: (state: any, id: string) => any;
5
+ getItemsList: ((state: {}) => any) & import("reselect").OutputSelectorFields<(args_0: any) => any> & {
6
+ clearCache: () => void;
7
+ };
8
+ };
9
+ export default createReducer;
@@ -1,36 +1,18 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _reselect = require("reselect");
8
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const reselect_1 = require("reselect");
9
4
  /*
10
5
  Use to create a simple list where you do not need more information about
11
6
  the item. For instance, if you do NOT need to fetch more data or
12
7
  manipulate it
13
- */
14
- var createReducer = function createReducer(_ref) {
15
- var key = _ref.key;
16
-
17
- var getItems = function getItems(state) {
18
- return state.getIn(["entities", key]);
19
- },
20
- getItem = (0, _reselect.createSelector)(getItems, function (state, id) {
21
- return id;
22
- }, function (data, id) {
23
- return data.get(id);
24
- }),
25
- getItemsList = (0, _reselect.createSelector)(getItems, function (data) {
26
- return data.toList();
27
- });
28
-
29
- return {
30
- getItems: getItems,
31
- getItem: getItem,
32
- getItemsList: getItemsList
33
- };
34
- };
35
-
36
- exports.default = createReducer;
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 {};
@@ -1,141 +1,84 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createPaginator = exports.onlyForEndpoint = undefined;
7
-
8
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
9
-
10
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
11
-
12
- /*
13
- if (typeof Endpoint === "object") {
14
- return {
15
- path : Endpoint.path,
16
- cb : Endpoint.cb,
17
- };
18
- }
19
-
20
- return {
21
- path : Endpoint,
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;
22
21
  };
23
- */
24
-
25
- /* eslint-disable max-lines-per-function, */
26
-
27
- var _reducers = require("./reducers");
28
-
29
- var _actions = require("./actions");
30
-
31
- var _actions2 = _interopRequireDefault(_actions);
32
-
33
- var _immutable = require("immutable");
34
-
35
- var Immutable = _interopRequireWildcard(_immutable);
36
-
37
- var _others = require("x25/utility/others");
38
-
39
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
40
-
41
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
42
-
43
- var onlyForEndpoint = exports.onlyForEndpoint = function onlyForEndpoint(endpoint, reducer) {
44
- return function () {
45
- var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Immutable.Map();
46
- var action = arguments[1];
47
-
48
- if (typeof action.meta === "undefined" || action.meta.endpoint !== endpoint) {
49
- return state;
50
- }
51
-
52
- return reducer(state, action);
53
- };
54
- };
55
-
56
- var getEndpoint = function getEndpoint(data) {
57
- if ((typeof data === "undefined" ? "undefined" : _typeof(data)) === "object") {
58
- return {
59
- path: data.path,
60
- cb: data.cb
61
- };
62
- }
63
-
64
- return {
65
- path: data,
66
- cb: null
67
- };
68
- };
69
-
70
- var createPaginator = exports.createPaginator = function createPaginator(endpointData, settings) {
71
- var _getEndpoint = getEndpoint(endpointData),
72
- endpoint = _getEndpoint.path,
73
- endpointCb = _getEndpoint.cb;
74
-
75
- var key = settings.key,
76
- normalizeDataItem = settings.normalizeDataItem,
77
- dataItemURL = settings.dataItemURL,
78
- manageEntity = settings.manageEntity,
79
- resultsKey = settings.resultsKey,
80
- _settings$totalKey = settings.totalKey,
81
- totalKey = _settings$totalKey === undefined ? "Total" : _settings$totalKey,
82
- _settings$pageArgName = settings.pageArgName,
83
- pageArgName = _settings$pageArgName === undefined ? "page" : _settings$pageArgName,
84
- _settings$idKey = settings.idKey,
85
- idKey = _settings$idKey === undefined ? "ID" : _settings$idKey,
86
- _settings$rowsPerLoad = settings.rowsPerLoad,
87
- rowsPerLoad = _settings$rowsPerLoad === undefined ? _others.rowsPerLoad : _settings$rowsPerLoad,
88
- _settings$manipulateI = settings.manipulateItems,
89
- manipulateItems = _settings$manipulateI === undefined ? function (items) {
90
- return items;
91
- } : _settings$manipulateI;
92
-
93
-
94
- var endpointedActions = {
95
- requestPage: function requestPage(page, token) {
96
- return _actions2.default.requestPage({
97
- endpoint: endpoint,
98
- endpointCb: endpointCb,
99
- manageEntity: manageEntity,
100
- resultsKey: resultsKey,
101
- totalKey: totalKey,
102
- pageArgName: pageArgName,
103
- idKey: idKey,
104
- page: page,
105
- token: token
106
- });
107
- },
108
- resetView: function resetView(token) {
109
- return _actions2.default.resetView(endpoint, token);
110
- },
111
- changeView: function changeView(_ref) {
112
- var view = _ref.view,
113
- token = _ref.token;
114
-
115
- return _actions2.default.changeView(endpoint, {
116
- view: view,
117
- token: token
118
- });
119
- },
120
- clearData: function clearData() {
121
- return _actions2.default.clearData(endpoint);
122
- }
123
- };
124
-
125
- return _extends({
126
- key: key,
127
- normalizeDataItem: normalizeDataItem,
128
- dataItemURL: dataItemURL,
129
- manipulateItems: manipulateItems,
130
- rowsPerLoad: rowsPerLoad,
131
- manageEntity: manageEntity,
132
- resultsKey: resultsKey,
133
- endpoint: endpoint,
134
-
135
- pagesReducer: onlyForEndpoint(endpoint, _reducers.pages),
136
- itemsReducer: onlyForEndpoint(endpoint, _reducers.items),
137
-
138
- dataItemsReducer: onlyForEndpoint(endpoint, _reducers.dataItems)
139
-
140
- }, endpointedActions);
141
- };
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 CHANGED
@@ -1,58 +1,30 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
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 = undefined;
7
-
8
- var _createPaginator = require("./createPaginator");
9
-
10
- var _paginatorMiddleware = require("./paginatorMiddleware");
11
-
12
- var _paginatorMiddleware2 = _interopRequireDefault(_paginatorMiddleware);
13
-
14
- var _selectors = require("./selectors");
15
-
16
- var _selectors2 = _interopRequireDefault(_selectors);
17
-
18
- var _util = require("./util");
19
-
20
- var _Info = require("./Info");
21
-
22
- var _Info2 = _interopRequireDefault(_Info);
23
-
24
- var _LoadingButton = require("./LoadingButton");
25
-
26
- var _LoadingButton2 = _interopRequireDefault(_LoadingButton);
27
-
28
- var _LoadPaginator = require("./LoadPaginator");
29
-
30
- var _LoadPaginator2 = _interopRequireDefault(_LoadPaginator);
31
-
32
- var _LoadDataItem = require("./LoadDataItem");
33
-
34
- var _LoadDataItem2 = _interopRequireDefault(_LoadDataItem);
35
-
36
- var _createDataReducer = require("./createDataReducer");
37
-
38
- var _createDataReducer2 = _interopRequireDefault(_createDataReducer);
39
-
40
- var _createItemReducer = require("./createItemReducer");
41
-
42
- var _createItemReducer2 = _interopRequireDefault(_createItemReducer);
43
-
44
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
45
-
46
- exports.Info = _Info2.default;
47
- exports.LoadingButton = _LoadingButton2.default;
48
- exports.LoadPaginator = _LoadPaginator2.default;
49
- exports.LoadDataItem = _LoadDataItem2.default;
50
- exports.createPaginator = _createPaginator.createPaginator;
51
- exports.paginatorMiddleware = _paginatorMiddleware2.default;
52
- exports.paginatorSelectors = _selectors2.default;
53
- exports.createDataReducer = _createDataReducer2.default;
54
- exports.manageDataEntity = _util.manageDataEntity;
55
- exports.manipulateDataItems = _util.manipulateDataItems;
56
- exports.createItemReducer = _createItemReducer2.default;
57
- exports.manipulateItems = _util.manipulateItems;
58
- exports.manageEntity = _util.manageEntity;
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;