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,102 +1,68 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _actionTypes = require("./actionTypes");
8
-
9
- var _actions = require("./actions");
10
-
11
- var _actions2 = _interopRequireDefault(_actions);
12
-
13
- var _agent = require("./agent");
14
-
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
-
17
- /* eslint-disable no-console, max-lines-per-function */
18
-
19
- var receivePage = _actions2.default.receivePage;
20
-
21
-
22
- var paginatorMiddleware = function paginatorMiddleware(_ref) {
23
- var dispatch = _ref.dispatch;
24
- return function (next) {
25
- return function (action) {
26
- if (action.type === _actionTypes.REQUEST_PAGE) {
27
- var _action$meta = action.meta,
28
- endpoint = _action$meta.endpoint,
29
- endpointCb = _action$meta.endpointCb,
30
- manageEntity = _action$meta.manageEntity,
31
- resultsKey = _action$meta.resultsKey,
32
- totalKey = _action$meta.totalKey,
33
- pageArgName = _action$meta.pageArgName,
34
- idKey = _action$meta.idKey,
35
- _action$payload = action.payload,
36
- page = _action$payload.page,
37
- token = _action$payload.token;
38
-
39
-
40
- dispatch(function (dispatch2) {
41
- var markAsError = function markAsError() {
42
- dispatch2(receivePage({
43
- endpoint: endpoint,
44
- endpointCb: endpointCb,
45
- manageEntity: manageEntity,
46
- pageArgName: pageArgName,
47
- idKey: idKey,
48
- page: page,
49
- error: true,
50
- token: token,
51
- items: [],
52
- total: 0
53
- }));
54
- };
55
-
56
- var rawPath = typeof endpointCb === "function" ? endpointCb(token) : endpoint;
57
- var path = rawPath === null ? "" : rawPath;
58
-
59
- try {
60
- (0, _agent.fetchPage)({
61
- endpoint: path,
62
- pageArgName: pageArgName,
63
- page: page,
64
- token: token
65
- }).then(function (res) {
66
- var response = res.response;
67
-
68
- var results = [],
69
- total = 0;
70
-
71
- if (typeof resultsKey === "undefined") {
72
- results = response;
73
- } else {
74
- results = response[resultsKey];
75
- total = response[totalKey];
76
- }
77
- dispatch2(receivePage({
78
- endpoint: endpoint,
79
- endpointCb: endpointCb,
80
- manageEntity: manageEntity,
81
- pageArgName: pageArgName,
82
- idKey: idKey,
83
- page: page,
84
- error: false,
85
- token: token,
86
- items: results,
87
- total: total
88
- }));
89
- }).catch(function () {
90
- markAsError();
91
- });
92
- } catch (err) {
93
- markAsError();
94
- }
95
- });
96
- }
97
- return next(action);
98
- };
99
- };
100
- };
101
-
102
- exports.default = paginatorMiddleware;
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 };
@@ -1,63 +1,56 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.fetchItemDataFulFilled = exports.fetchItemDataRejected = exports.fetchItemDataPending = undefined;
7
-
8
- var _immutable = require("immutable");
9
-
10
- var Immutable = _interopRequireWildcard(_immutable);
11
-
12
- 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; } }
13
-
14
- var defaultOptions = Immutable.Map({
15
- fetching: true,
16
- fetched: false,
17
- error: false
18
- });
19
-
20
- var fetchItemDataPending = function fetchItemDataPending(state, _ref) {
21
- var id = _ref.meta.id;
22
- return state.update(id, function (current) {
23
- if (typeof current === "undefined") {
24
- return defaultOptions;
25
- }
26
-
27
- return current.mergeDeep(defaultOptions);
28
- });
29
- },
30
- fetchItemDataRejected = function fetchItemDataRejected(state, _ref2) {
31
- var id = _ref2.meta.id;
32
- return state.update(id, function (current) {
33
- if (typeof current === "undefined") {
34
- return current;
35
- }
36
-
37
- return current.mergeDeep(Immutable.Map({
38
- fetching: false,
39
- fetched: false,
40
- error: true
41
- }));
42
- });
43
- },
44
- fetchItemDataFulFilled = function fetchItemDataFulFilled(state, _ref3) {
45
- var Data = _ref3.payload.Data,
46
- id = _ref3.meta.id;
47
- return state.update(id, function (current) {
48
- if (typeof current === "undefined") {
49
- return current;
50
- }
51
-
52
- return current.mergeDeep(Immutable.Map({
53
- Data: Data,
54
- fetching: false,
55
- fetched: true,
56
- error: false
57
- }));
58
- });
59
- };
60
-
61
- exports.fetchItemDataPending = fetchItemDataPending;
62
- exports.fetchItemDataRejected = fetchItemDataRejected;
63
- exports.fetchItemDataFulFilled = fetchItemDataFulFilled;
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 };
@@ -1,114 +1,69 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.receivePageItems = exports.resetView = exports.changeView = exports.performChangeView = exports.receivePage = exports.requestPage = undefined;
7
-
8
- var _immutable = require("immutable");
9
-
10
- var Immutable = _interopRequireWildcard(_immutable);
11
-
12
- 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; } }
13
-
14
- var requestPage = function requestPage(state, action) {
15
- var _action$payload = action.payload,
16
- token = _action$payload.token,
17
- page = _action$payload.page;
18
-
19
-
20
- var elements = Immutable.Map({
21
- page: page,
22
- error: false,
23
- fetching: true,
24
- fetched: false
25
- });
26
-
27
- if (state.has(token)) {
28
- return state.update(token, function (current) {
29
- return current.merge(elements);
30
- });
31
- }
32
-
33
- var init = elements.merge({
34
- view: 1,
35
- token: token,
36
- ids: Immutable.List()
37
- });
38
-
39
- return state.set(token, init);
40
- },
41
- receivePage = function receivePage(state, action) {
42
- var idKey = action.meta.idKey,
43
- _action$payload2 = action.payload,
44
- token = _action$payload2.token,
45
- items = _action$payload2.items,
46
- total = _action$payload2.total,
47
- error = _action$payload2.error;
48
-
49
-
50
- if (state.has(token)) {
51
- var hasError = error === true;
52
-
53
- return state.update(token, function (current) {
54
- return current.update(function (page) {
55
- return current.merge(Immutable.Map({
56
- ids: page.get("ids").concat(Immutable.List(items.map(function (item) {
57
- return String(item[idKey]);
58
- }))),
59
- fetching: false,
60
- error: hasError,
61
- fetched: true,
62
- total: hasError ? page.get("total") : total
63
- }));
64
- });
65
- });
66
- }
67
-
68
- return state;
69
- },
70
- performChangeView = function performChangeView(state, action, view) {
71
- var token = action.payload.token;
72
-
73
-
74
- var item = state.get(token);
75
-
76
- if (typeof item === "undefined") {
77
- return state;
78
- }
79
-
80
- return state.update(token, function (current) {
81
- return current.set("view", view);
82
- });
83
- },
84
- changeView = function changeView(state, action) {
85
- return performChangeView(state, action, action.payload.view);
86
- },
87
- resetView = function resetView(state, action) {
88
- return performChangeView(state, action, 1);
89
- },
90
- receivePageItems = function receivePageItems(state, action) {
91
- var payload = action.payload,
92
- meta = action.meta;
93
- var payloadItems = payload.items;
94
- var idKey = meta.idKey,
95
- manageEntity = meta.manageEntity;
96
-
97
-
98
- var manage = typeof manageEntity === "function" ? manageEntity : function (item) {
99
- return Immutable.Map(item);
100
- };
101
-
102
- var newItems = payloadItems.reduce(function (previous, item) {
103
- return previous.set(String(item[idKey]), manage(item, state, idKey));
104
- }, Immutable.Map());
105
-
106
- return state.merge(newItems);
107
- };
108
-
109
- exports.requestPage = requestPage;
110
- exports.receivePage = receivePage;
111
- exports.performChangeView = performChangeView;
112
- exports.changeView = changeView;
113
- exports.resetView = resetView;
114
- exports.receivePageItems = receivePageItems;
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;