redux-paginator-immutable 17.1.30 → 18.0.0

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 (60) hide show
  1. package/Info.d.ts +2 -2
  2. package/Info.js +10 -17
  3. package/Info.js.map +1 -1
  4. package/LoadDataItem.js +15 -51
  5. package/LoadDataItem.js.map +1 -1
  6. package/LoadPaginator.d.ts +2 -2
  7. package/LoadPaginator.js +34 -62
  8. package/LoadPaginator.js.map +1 -1
  9. package/LoadPaginatorTypes.d.ts +0 -1
  10. package/LoadPaginatorTypes.js +1 -2
  11. package/LoadingButton.d.ts +2 -2
  12. package/LoadingButton.js +14 -30
  13. package/LoadingButton.js.map +1 -1
  14. package/actionTypes.js +9 -12
  15. package/actionTypes.js.map +1 -1
  16. package/actions.js +59 -78
  17. package/actions.js.map +1 -1
  18. package/actions.test.d.ts +1 -0
  19. package/actions.test.js +98 -0
  20. package/actions.test.js.map +1 -0
  21. package/agent.js +16 -37
  22. package/agent.js.map +1 -1
  23. package/agent.test.d.ts +1 -0
  24. package/agent.test.js +25 -0
  25. package/agent.test.js.map +1 -0
  26. package/createDataReducer.js +17 -43
  27. package/createDataReducer.js.map +1 -1
  28. package/createItemReducer.d.ts +19 -3
  29. package/createItemReducer.js +7 -10
  30. package/createItemReducer.js.map +1 -1
  31. package/createPaginator.js +36 -72
  32. package/createPaginator.js.map +1 -1
  33. package/createPaginator.test.d.ts +1 -0
  34. package/createPaginator.test.js +27 -0
  35. package/createPaginator.test.js.map +1 -0
  36. package/index.js +11 -31
  37. package/index.js.map +1 -1
  38. package/package.json +13 -11
  39. package/paginatorMiddleware.js +57 -65
  40. package/paginatorMiddleware.js.map +1 -1
  41. package/reducerItemData.js +27 -64
  42. package/reducerItemData.js.map +1 -1
  43. package/reducerOperations.d.ts +1 -1
  44. package/reducerOperations.js +21 -46
  45. package/reducerOperations.js.map +1 -1
  46. package/reducers.js +28 -61
  47. package/reducers.js.map +1 -1
  48. package/reducers.test.d.ts +1 -0
  49. package/reducers.test.js +96 -0
  50. package/reducers.test.js.map +1 -0
  51. package/selectors.d.ts +301 -27
  52. package/selectors.js +27 -52
  53. package/selectors.js.map +1 -1
  54. package/selectors.test.d.ts +1 -0
  55. package/selectors.test.js +153 -0
  56. package/selectors.test.js.map +1 -0
  57. package/types.js +1 -2
  58. package/util.d.ts +38 -6
  59. package/util.js +9 -44
  60. package/util.js.map +1 -1
@@ -0,0 +1,98 @@
1
+ /* eslint-disable no-undefined, max-lines-per-function, no-magic-numbers */
2
+ import { describe, expect, test } from "vitest";
3
+ import actions from "./actions.js";
4
+ const { receivePage, requestPage, resetView, changeView, } = actions;
5
+ import { CHANGE_VIEW, RECEIVE_PAGE, REQUEST_PAGE, RESET_VIEW, } from "./actionTypes.js";
6
+ describe("actions", () => {
7
+ test("should create receive page action", () => {
8
+ const action = receivePage({
9
+ endpoint: "some/api/endpoint/",
10
+ pageArgName: "p",
11
+ idKey: "id",
12
+ page: 2,
13
+ token: "foo=bar",
14
+ items: [
15
+ "foo",
16
+ "bar",
17
+ "baz",
18
+ ],
19
+ total: 42,
20
+ });
21
+ expect(action).
22
+ toEqual({
23
+ type: RECEIVE_PAGE,
24
+ meta: {
25
+ endpoint: "some/api/endpoint/",
26
+ pageArgName: "p",
27
+ idKey: "id",
28
+ },
29
+ payload: {
30
+ token: "foo=bar",
31
+ page: 2,
32
+ items: [
33
+ "foo",
34
+ "bar",
35
+ "baz",
36
+ ],
37
+ total: 42,
38
+ },
39
+ });
40
+ });
41
+ test("should create request page action", () => {
42
+ const action = requestPage({
43
+ endpoint: "some/api/endpoint/",
44
+ resultsKey: "results",
45
+ totalKey: "total",
46
+ pageArgName: "p",
47
+ idKey: "id",
48
+ page: 2,
49
+ token: "foo=bar",
50
+ });
51
+ expect(action).
52
+ toEqual({
53
+ type: REQUEST_PAGE,
54
+ meta: {
55
+ endpoint: "some/api/endpoint/",
56
+ resultsKey: "results",
57
+ totalKey: "total",
58
+ pageArgName: "p",
59
+ idKey: "id",
60
+ },
61
+ payload: {
62
+ token: "foo=bar",
63
+ page: 2,
64
+ },
65
+ });
66
+ });
67
+ test("should create reset view action", () => {
68
+ const action = resetView("some/api/endpoint/", "name");
69
+ expect(action).
70
+ toEqual({
71
+ type: RESET_VIEW,
72
+ meta: {
73
+ endpoint: "some/api/endpoint/",
74
+ },
75
+ payload: {
76
+ token: "name",
77
+ },
78
+ });
79
+ });
80
+ test("should create change view action", () => {
81
+ const action = changeView("some/api/endpoint/", {
82
+ token: "name",
83
+ view: 2,
84
+ });
85
+ expect(action).
86
+ toEqual({
87
+ type: CHANGE_VIEW,
88
+ meta: {
89
+ endpoint: "some/api/endpoint/",
90
+ },
91
+ payload: {
92
+ view: 2,
93
+ token: "name",
94
+ },
95
+ });
96
+ });
97
+ });
98
+ //# sourceMappingURL=actions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.test.js","sourceRoot":"","sources":["../src/actions.test.ts"],"names":[],"mappings":"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"}
package/agent.js CHANGED
@@ -1,51 +1,30 @@
1
- "use strict";
2
1
  /* eslint-disable no-bitwise*/
3
- var __assign = (this && this.__assign) || function () {
4
- __assign = Object.assign || function(t) {
5
- for (var s, i = 1, n = arguments.length; i < n; i++) {
6
- s = arguments[i];
7
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
- t[p] = s[p];
9
- }
10
- return t;
11
- };
12
- return __assign.apply(this, arguments);
13
- };
14
- var __importDefault = (this && this.__importDefault) || function (mod) {
15
- return (mod && mod.__esModule) ? mod : { "default": mod };
16
- };
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.fetchPage = exports.buildSuffix = void 0;
19
- var query_string_1 = __importDefault(require("query-string"));
20
- var superagent_1 = __importDefault(require("superagent"));
21
- var buildSuffix = function (pageArgName, page, params) {
22
- var _a, _b;
23
- var parsedParams = query_string_1.default.parse(params);
24
- var finalParsedParams = {}, startString = "";
25
- for (var _i = 0, _c = Object.keys(parsedParams); _i < _c.length; _i++) {
26
- var key = _c[_i];
2
+ import qs from "query-string";
3
+ import agent from "superagent";
4
+ export const buildSuffix = (pageArgName, page, params) => {
5
+ const parsedParams = qs.parse(params);
6
+ let finalParsedParams = {}, startString = "";
7
+ for (const key of Object.keys(parsedParams)) {
27
8
  if (parsedParams[key] === null) {
28
9
  startString += key;
29
10
  }
30
11
  else {
31
- finalParsedParams = __assign(__assign({}, finalParsedParams), (_a = {}, _a[key] = parsedParams[key], _a));
12
+ finalParsedParams = Object.assign(Object.assign({}, finalParsedParams), { [key]: parsedParams[key] });
32
13
  }
33
14
  }
34
- startString = startString === "" ? "?" : "".concat(startString, "?");
35
- if (Object.keys(finalParsedParams).length > 0 && query_string_1.default.extract(params) !== "") {
36
- startString = params.replace(query_string_1.default.extract(params), "");
15
+ startString = startString === "" ? "?" : `${startString}?`;
16
+ if (Object.keys(finalParsedParams).length > 0 && qs.extract(params) !== "") {
17
+ startString = params.replace(qs.extract(params), "");
37
18
  }
38
- return startString + query_string_1.default.stringify(__assign(__assign({}, finalParsedParams), (_b = {}, _b[pageArgName] = page, _b)), {
19
+ return startString + qs.stringify(Object.assign(Object.assign({}, finalParsedParams), { [pageArgName]: page }), {
39
20
  encode: false,
40
21
  }).replace(startString, "");
41
- }, fetchPage = function (_a) {
42
- var endpoint = _a.endpoint, pageArgName = _a.pageArgName, page = _a.page, token = _a.token;
43
- var suffix = (0, exports.buildSuffix)(pageArgName, page, token), url = endpoint + suffix, promise = new Promise(function (resolve, reject) { return (superagent_1.default.
22
+ }, fetchPage = ({ endpoint, pageArgName, page, token, }) => {
23
+ const suffix = buildSuffix(pageArgName, page, token), url = endpoint + suffix, promise = new Promise((resolve, reject) => (agent.
44
24
  get(url).
45
- end(function (err, res) { return err ? reject(err) : resolve(res); })); });
46
- return promise.then(function (res) { return ({
25
+ end((err, res) => err ? reject(err) : resolve(res))));
26
+ return promise.then((res) => ({
47
27
  response: res.body,
48
- }); });
28
+ }));
49
29
  };
50
- exports.buildSuffix = buildSuffix, exports.fetchPage = fetchPage;
51
30
  //# sourceMappingURL=agent.js.map
package/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";AAAA,8BAA8B;;;;;;;;;;;;;;;;;AAS9B,8DAA8B;AAC9B,0DAA+B;AAExB,IACL,WAAW,GAAG,UAAC,WAAmB,EAAE,IAAY,EAAE,MAAc;;IAC9D,IAAM,YAAY,GAAG,sBAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,iBAAiB,GAAG,EAAE,EACxB,WAAW,GAAG,EAAE,CAAC;IAEnB,KAAkB,UAAyB,EAAzB,KAAA,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAzB,cAAyB,EAAzB,IAAyB,EAAE,CAAC;QAAzC,IAAM,GAAG,SAAA;QACZ,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/B,WAAW,IAAI,GAAG,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,iBAAiB,yBAAQ,iBAAiB,gBACvC,GAAG,IAAG,YAAY,CAAC,GAAG,CAAC,MACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,WAAW,GAAG,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAG,WAAW,MAAG,CAAC;IAE3D,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,sBAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QAC3E,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,WAAW,GAAG,sBAAE,CAAC,SAAS,uBAAM,iBAAiB,gBACrD,WAAW,IAAG,IAAI,QAClB;QACD,MAAM,EAAE,KAAK;KACd,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC,EACD,SAAS,GAAG,UAAC,EAKG;QAJd,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,IAAI,UAAA,EACJ,KAAK,WAAA;IAEL,IAAM,MAAM,GAAG,IAAA,mBAAW,EAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,EAClD,GAAG,GAAG,QAAQ,GAAG,MAAM,EACvB,OAAO,GAAQ,IAAI,OAAO,CACxB,UAAC,OAAY,EAAE,MAAW,IAAK,OAAA,CAC7B,oBAAK;QACH,GAAG,CAAC,GAAG,CAAC;QACR,GAAG,CAAC,UAAC,GAAQ,EAAE,GAAQ,IAAK,OAAA,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAhC,CAAgC,CAAC,CAChE,EAJ8B,CAI9B,CACF,CAAC;IAEJ,OAAO,OAAO,CAAC,IAAI,CAAC,UAAC,GAEpB,IAAK,OAAA,CAAC;QACL,QAAQ,EAAE,GAAG,CAAC,IAAI;KACnB,CAAC,EAFI,CAEJ,CAAC,CAAC;AACN,CAAC,CAAC;AAhDF,QAAA,WAAW,gBA2BX,QAAA,SAAS,aAqBP"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAS9B,OAAO,EAAE,MAAM,cAAc,CAAC;AAC9B,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,MACL,WAAW,GAAG,CAAC,WAAmB,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE;IAClE,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,iBAAiB,GAAG,EAAE,EACxB,WAAW,GAAG,EAAE,CAAC;IAEnB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5C,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/B,WAAW,IAAI,GAAG,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,iBAAiB,mCAAQ,iBAAiB,KACxC,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,GACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,WAAW,GAAG,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC;IAE3D,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QAC3E,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,WAAW,GAAG,EAAE,CAAC,SAAS,iCAAM,iBAAiB,KACtD,CAAC,WAAW,CAAC,EAAE,IAAI,KAClB;QACD,MAAM,EAAE,KAAK;KACd,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC,EACD,SAAS,GAAG,CAAC,EACX,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,KAAK,GACS,EAAE,EAAE;IAClB,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,EAClD,GAAG,GAAG,QAAQ,GAAG,MAAM,EACvB,OAAO,GAAQ,IAAI,OAAO,CACxB,CAAC,OAAY,EAAE,MAAW,EAAE,EAAE,CAAC,CAC7B,KAAK;QACH,GAAG,CAAC,GAAG,CAAC;QACR,GAAG,CAAC,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAChE,CACF,CAAC;IAEJ,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,GAEpB,EAAE,EAAE,CAAC,CAAC;QACL,QAAQ,EAAE,GAAG,CAAC,IAAI;KACnB,CAAC,CAAC,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
package/agent.test.js ADDED
@@ -0,0 +1,25 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import { buildSuffix } from "./agent.js";
3
+ describe("buildSuffix", () => {
4
+ test("should correctly build the url suffix when simple params are provided", () => {
5
+ expect(buildSuffix("p", 1, "foo=bar")).
6
+ toEqual("?foo=bar&p=1");
7
+ });
8
+ test("should correctly build the url suffix when less simple params are provided", () => {
9
+ expect(buildSuffix("p", 1, "foo=bar&baz=foo")).
10
+ toEqual("?baz=foo&foo=bar&p=1");
11
+ });
12
+ test("should correctly build the url suffix when params contains no extractable query params", () => {
13
+ expect(buildSuffix("p", 1, "foo/bar")).
14
+ toEqual("foo/bar?p=1");
15
+ });
16
+ test('should correctly build the url suffix when "params" is not provided', () => {
17
+ expect(buildSuffix("p", 1, "")).
18
+ toEqual("?p=1");
19
+ });
20
+ test("should correctly build the url suffix when complex params are provided", () => {
21
+ expect(buildSuffix("p", 1, "foo/bar?bar=biz&baz=foo")).
22
+ toEqual("foo/bar?baz=foo&bar=biz&p=1");
23
+ });
24
+ });
25
+ //# sourceMappingURL=agent.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.test.js","sourceRoot":"","sources":["../src/agent.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAE3B,IAAI,CAAC,uEAAuE,EAAE,GAAG,EAAE;QACjF,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACpC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACtF,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAC5C,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wFAAwF,EAAE,GAAG,EAAE;QAClG,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACpC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC/E,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAClF,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,yBAAyB,CAAC,CAAC;YACpD,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
@@ -1,68 +1,42 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- var reselect_1 = require("reselect");
27
- var Immutable = __importStar(require("immutable"));
1
+ import { createSelector } from "reselect";
2
+ import * as Immutable from "immutable";
28
3
  /*
29
4
  Use to create a complex list where you need more information about
30
5
  the item. For instance, if you DO need to fetch more data or to
31
6
  manipulate it
32
7
  */
33
- var createDataReducer = function (_a) {
34
- var key = _a.key;
35
- var getItems = function (state) { return (state.getIn(["entities", key])); }, getItem = (0, reselect_1.createSelector)(getItems, function (_state, id) { return id; }, function (data, id) { return data.get(id) || Immutable.Map(); }), getItemsList = (0, reselect_1.createSelector)(getItems, function (data) { return data.map(function (current) { return current.get("Data"); }).toList(); }), getItemData = (0, reselect_1.createSelector)(getItems, function (_state, id) { return id; }, function (data, id) {
8
+ const createDataReducer = ({ key }) => {
9
+ const getItems = (state) => (state.getIn(["entities", key])), getItem = createSelector(getItems, (_state, id) => id, (data, id) => data.get(id) || Immutable.Map()), getItemsList = createSelector(getItems, (data) => data.map((current) => current.get("Data")).toList()), getItemData = createSelector(getItems, (_state, id) => id, (data, id) => {
36
10
  if (typeof data === "undefined") {
37
11
  return Immutable.Map();
38
12
  }
39
13
  return data.getIn([id, "Data"]);
40
- }), getItemHasError = (0, reselect_1.createSelector)(getItem, function (data) {
14
+ }), getItemHasError = createSelector(getItem, (data) => {
41
15
  if (typeof data === "undefined") {
42
16
  return false;
43
17
  }
44
18
  return data.get("error") === true;
45
- }), getIsFetchingItemInfo = (0, reselect_1.createSelector)(getItem, function (data) {
19
+ }), getIsFetchingItemInfo = createSelector(getItem, (data) => {
46
20
  if (typeof data === "undefined") {
47
21
  return false;
48
22
  }
49
23
  return data.get("fetching");
50
- }), getItemIsFetched = (0, reselect_1.createSelector)(getItem, function (data) {
24
+ }), getItemIsFetched = createSelector(getItem, (data) => {
51
25
  if (typeof data === "undefined") {
52
26
  return false;
53
27
  }
54
28
  return data.get("fetched");
55
- }), getShouldFetchItemInfo = (0, reselect_1.createSelector)(getIsFetchingItemInfo, getItemIsFetched, getItemHasError, function (isFetching, isFetched, hasError) { return (!isFetched && !isFetching && !hasError); });
29
+ }), getShouldFetchItemInfo = createSelector(getIsFetchingItemInfo, getItemIsFetched, getItemHasError, (isFetching, isFetched, hasError) => (!isFetched && !isFetching && !hasError));
56
30
  return {
57
- getItems: getItems,
58
- getItem: getItem,
59
- getItemsList: getItemsList,
60
- getItemData: getItemData,
61
- getItemHasError: getItemHasError,
62
- getIsFetchingItemInfo: getIsFetchingItemInfo,
63
- getItemIsFetched: getItemIsFetched,
64
- getShouldFetchItemInfo: getShouldFetchItemInfo,
31
+ getItems,
32
+ getItem,
33
+ getItemsList,
34
+ getItemData,
35
+ getItemHasError,
36
+ getIsFetchingItemInfo,
37
+ getItemIsFetched,
38
+ getShouldFetchItemInfo,
65
39
  };
66
40
  };
67
- exports.default = createDataReducer;
41
+ export default createDataReducer;
68
42
  //# sourceMappingURL=createDataReducer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createDataReducer.js","sourceRoot":"","sources":["../src/createDataReducer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAA0C;AAC1C,mDAAuC;AAMvC;;;;EAIE;AACF,IACE,iBAAiB,GAAG,UAAC,EAA0B;QAAxB,GAAG,SAAA;IACxB,IACE,QAAQ,GAAG,UAAC,KAAU,IAAW,OAAA,CAC/B,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAC/B,EAFgC,CAEhC,EACD,OAAO,GAAc,IAAA,yBAAc,EACjC,QAAQ,EACR,UAAC,MAAY,EAAE,EAAW,IAAK,OAAA,EAAE,EAAF,CAAE,EACjC,UAAC,IAAU,EAAE,EAAW,IAAW,OAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,EAA/B,CAA+B,CACnE,EACD,YAAY,GAAkB,IAAA,yBAAc,EAC1C,QAAQ,EACR,UAAC,IAAU,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,UAAC,OAAa,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAnB,CAAmB,CAAC,CAAC,MAAM,EAAE,EAAzD,CAAyD,CAC1E,EACD,WAAW,GAAc,IAAA,yBAAc,EACrC,QAAQ,EACR,UAAC,MAAY,EAAE,EAAW,IAAK,OAAA,EAAE,EAAF,CAAE,EACjC,UAAC,IAAU,EAAE,EAAW;QACtB,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAClC,CAAC,CACF,EACD,eAAe,GAAc,IAAA,yBAAc,EACzC,OAAO,EACP,UAAC,IAAU;QACT,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpC,CAAC,CACF,EACD,qBAAqB,GAAc,IAAA,yBAAc,EAC/C,OAAO,EACP,UAAC,IAAU;QACT,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC,CACF,EACD,gBAAgB,GAAc,IAAA,yBAAc,EAC1C,OAAO,EACP,UAAC,IAAU;QACT,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC,CACF,EACD,sBAAsB,GAAc,IAAA,yBAAc,EAChD,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,UAAC,UAAoB,EAAE,SAAmB,EAAE,QAAkB,IAAe,OAAA,CAC3E,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,CACvC,EAF4E,CAE5E,CACF,CAAC;IAEJ,OAAO;QACL,QAAQ,UAAA;QACR,OAAO,SAAA;QACP,YAAY,cAAA;QACZ,WAAW,aAAA;QACX,eAAe,iBAAA;QACf,qBAAqB,uBAAA;QACrB,gBAAgB,kBAAA;QAChB,sBAAsB,wBAAA;KACvB,CAAC;AACJ,CAAC,CAAC;AAEJ,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"createDataReducer.js","sourceRoot":"","sources":["../src/createDataReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;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,cAAc,CACjC,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,cAAc,CAC1C,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,cAAc,CACrC,QAAQ,EACR,CAAC,MAAY,EAAE,EAAW,EAAE,EAAE,CAAC,EAAE,EACjC,CAAC,IAAU,EAAE,EAAW,EAAQ,EAAE;QAChC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAClC,CAAC,CACF,EACD,eAAe,GAAc,cAAc,CACzC,OAAO,EACP,CAAC,IAAU,EAAY,EAAE;QACvB,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpC,CAAC,CACF,EACD,qBAAqB,GAAc,cAAc,CAC/C,OAAO,EACP,CAAC,IAAU,EAAY,EAAE;QACvB,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC,CACF,EACD,gBAAgB,GAAc,cAAc,CAC1C,OAAO,EACP,CAAC,IAAU,EAAY,EAAE;QACvB,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC,CACF,EACD,sBAAsB,GAAc,cAAc,CAChD,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,eAAe,iBAAiB,CAAC"}
@@ -2,10 +2,26 @@ import { PaginatorSettings } from "./types";
2
2
  declare const createReducer: ({ key }: PaginatorSettings) => {
3
3
  getItems: (state: any) => any;
4
4
  getItem: (state: any, id: string) => any;
5
- getItemsList: ((state: any) => any) & import("reselect").OutputSelectorFields<(args_0: any) => any, {
6
- clearCache: () => void;
7
- }> & {
5
+ getItemsList: ((state: any) => any) & {
8
6
  clearCache: () => void;
7
+ resultsCount: () => number;
8
+ resetResultsCount: () => void;
9
+ } & {
10
+ resultFunc: (resultFuncArgs_0: any) => any;
11
+ memoizedResultFunc: ((resultFuncArgs_0: any) => any) & {
12
+ clearCache: () => void;
13
+ resultsCount: () => number;
14
+ resetResultsCount: () => void;
15
+ };
16
+ lastResult: () => any;
17
+ dependencies: [(state: any) => any];
18
+ recomputations: () => number;
19
+ resetRecomputations: () => void;
20
+ dependencyRecomputations: () => number;
21
+ resetDependencyRecomputations: () => void;
22
+ } & {
23
+ argsMemoize: typeof import("reselect").weakMapMemoize;
24
+ memoize: typeof import("reselect").weakMapMemoize;
9
25
  };
10
26
  };
11
27
  export default createReducer;
@@ -1,19 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var reselect_1 = require("reselect");
1
+ import { createSelector } from "reselect";
4
2
  /*
5
3
  Use to create a simple list where you do not need more information about
6
4
  the item. For instance, if you do NOT need to fetch more data or
7
5
  manipulate it
8
6
  */
9
- var createReducer = function (_a) {
10
- var key = _a.key;
11
- var getItems = function (state) { return state.getIn(["entities", key]); }, getItem = (0, reselect_1.createSelector)(getItems, function (_state, id) { return id; }, function (data, id) { return data.get(id); }), getItemsList = (0, reselect_1.createSelector)(getItems, function (data) { return data.toList(); });
7
+ const createReducer = ({ key }) => {
8
+ const getItems = (state) => state.getIn(["entities", key]), getItem = createSelector(getItems, (_state, id) => id, (data, id) => data.get(id)), getItemsList = createSelector(getItems, (data) => data.toList());
12
9
  return {
13
- getItems: getItems,
14
- getItem: getItem,
15
- getItemsList: getItemsList,
10
+ getItems,
11
+ getItem,
12
+ getItemsList,
16
13
  };
17
14
  };
18
- exports.default = createReducer;
15
+ export default createReducer;
19
16
  //# sourceMappingURL=createItemReducer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createItemReducer.js","sourceRoot":"","sources":["../src/createItemReducer.ts"],"names":[],"mappings":";;AAAA,qCAA0C;AAG1C;;;;EAIE;AACF,IAAM,aAAa,GAAG,UAAC,EAA0B;QAAxB,GAAG,SAAA;IAC1B,IACE,QAAQ,GAAG,UAAC,KAAU,IAAK,OAAA,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,EAA9B,CAA8B,EACzD,OAAO,GAAuC,IAAA,yBAAc,EAC1D,QAAQ,EACR,UAAC,MAAY,EAAE,EAAW,IAAK,OAAA,EAAE,EAAF,CAAE,EACjC,UAAC,IAAU,EAAE,EAAW,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAZ,CAAY,CAC1C,EACD,YAAY,GAAG,IAAA,yBAAc,EAC3B,QAAQ,EACR,UAAC,IAAU,IAAK,OAAA,IAAI,CAAC,MAAM,EAAE,EAAb,CAAa,CAC9B,CAAC;IAEJ,OAAO;QACL,QAAQ,UAAA;QACR,OAAO,SAAA;QACP,YAAY,cAAA;KACb,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"createItemReducer.js","sourceRoot":"","sources":["../src/createItemReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;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,cAAc,CAC1D,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,cAAc,CAC3B,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,eAAe,aAAa,CAAC"}
@@ -1,48 +1,8 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- var __importDefault = (this && this.__importDefault) || function (mod) {
37
- return (mod && mod.__esModule) ? mod : { "default": mod };
38
- };
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.createPaginator = void 0;
41
- var defaultRowsPerLoad = 25;
42
- var Immutable = __importStar(require("immutable"));
43
- var actions_1 = __importDefault(require("./actions"));
44
- var reducers_1 = require("./reducers");
45
- var getEndpoint = function (data) {
1
+ const defaultRowsPerLoad = 25;
2
+ import * as Immutable from "immutable";
3
+ import actions from "./actions.js";
4
+ import { dataItems as dataItemsReducer, items as itemsReducer, pages as pagesReducer } from "./reducers.js";
5
+ const getEndpoint = (data) => {
46
6
  if (typeof data === "object") {
47
7
  return {
48
8
  path: data.path,
@@ -53,41 +13,45 @@ var getEndpoint = function (data) {
53
13
  path: data,
54
14
  cb: null,
55
15
  };
56
- }, onlyForEndpoint = function (endpoint, reducer) { return function (state, action) {
57
- if (state === void 0) { state = Immutable.Map(); }
16
+ }, onlyForEndpoint = (endpoint, reducer) => (state = Immutable.Map(), action) => {
58
17
  if (typeof action.meta === "undefined" || action.meta.endpoint !== endpoint) {
59
18
  return state;
60
19
  }
61
20
  return reducer(state, action);
62
- }; };
63
- var createPaginator = function (endpointData, settings) {
64
- var _a = getEndpoint(endpointData), endpoint = _a.path, endpointCb = _a.cb, key = settings.key, normalizeDataItem = settings.normalizeDataItem, dataItemURL = settings.dataItemURL, manageEntity = settings.manageEntity, resultsKey = settings.resultsKey, _b = settings.totalKey, totalKey = _b === void 0 ? "Total" : _b, _c = settings.pageArgName, pageArgName = _c === void 0 ? "page" : _c, _d = settings.idKey, idKey = _d === void 0 ? "ID" : _d, _e = settings.rowsPerLoad, rowsPerLoad = _e === void 0 ? defaultRowsPerLoad : _e, _f = settings.manipulateItems, manipulateItems = _f === void 0 ? function (items) { return items; } : _f, endpointedActions = {
65
- requestPage: function (page, token) { return actions_1.default.requestPage({
66
- endpoint: endpoint,
67
- endpointCb: endpointCb,
68
- manageEntity: manageEntity,
69
- resultsKey: resultsKey,
70
- totalKey: totalKey,
71
- pageArgName: pageArgName,
72
- idKey: idKey,
73
- page: page,
74
- token: token,
75
- }); },
76
- resetView: function (token) {
77
- return actions_1.default.resetView(endpoint, token);
21
+ };
22
+ export const createPaginator = (endpointData, settings) => {
23
+ const { path: endpoint, cb: endpointCb, } = getEndpoint(endpointData), { key, normalizeDataItem, dataItemURL, manageEntity, resultsKey, totalKey = "Total", pageArgName = "page", idKey = "ID", rowsPerLoad = defaultRowsPerLoad, manipulateItems = (items) => items, } = settings, endpointedActions = {
24
+ requestPage: (page, token) => actions.requestPage({
25
+ endpoint,
26
+ endpointCb,
27
+ manageEntity,
28
+ resultsKey,
29
+ totalKey,
30
+ pageArgName,
31
+ idKey,
32
+ page,
33
+ token,
34
+ }),
35
+ resetView(token) {
36
+ return actions.resetView(endpoint, token);
78
37
  },
79
- changeView: function (_a) {
80
- var view = _a.view, token = _a.token;
81
- return actions_1.default.changeView(endpoint, {
82
- view: view,
83
- token: token,
38
+ changeView({ view, token }) {
39
+ return actions.changeView(endpoint, {
40
+ view,
41
+ token,
84
42
  });
85
43
  },
86
- clearData: function () {
87
- return actions_1.default.clearData(endpoint);
44
+ clearData() {
45
+ return actions.clearData(endpoint);
88
46
  },
89
47
  };
90
- return __assign({ key: key, normalizeDataItem: normalizeDataItem, dataItemURL: dataItemURL, manipulateItems: manipulateItems, rowsPerLoad: rowsPerLoad, manageEntity: manageEntity, resultsKey: resultsKey, endpoint: endpoint, pagesReducer: onlyForEndpoint(endpoint, reducers_1.pages), itemsReducer: onlyForEndpoint(endpoint, reducers_1.items), dataItemsReducer: onlyForEndpoint(endpoint, reducers_1.dataItems) }, endpointedActions);
48
+ return Object.assign({ key,
49
+ normalizeDataItem,
50
+ dataItemURL,
51
+ manipulateItems,
52
+ rowsPerLoad,
53
+ manageEntity,
54
+ resultsKey,
55
+ endpoint, pagesReducer: onlyForEndpoint(endpoint, pagesReducer), itemsReducer: onlyForEndpoint(endpoint, itemsReducer), dataItemsReducer: onlyForEndpoint(endpoint, dataItemsReducer) }, endpointedActions);
91
56
  };
92
- exports.createPaginator = createPaginator;
93
57
  //# sourceMappingURL=createPaginator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createPaginator.js","sourceRoot":"","sources":["../src/createPaginator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createPaginator.js","sourceRoot":"","sources":["../src/createPaginator.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AACvC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,KAAK,IAAI,YAAY,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAgBzG,MAAM,WAAW,GAAG,CAAC,IAAc,EAAE,EAAE;IACnC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAG,IAAI,CAAC,IAAI;YAChB,EAAE,EAAK,IAAI,CAAC,EAAE;SACf,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAG,IAAI;QACX,EAAE,EAAK,IAAI;KACZ,CAAC;AACJ,CAAC,EACD,eAAe,GAAG,CAAC,QAAiB,EAAE,OAAa,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,EAAE,MAAe,EAAE,EAAE;IACnG,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC,CAAC;AAEJ,MAAM,CAAC,MACL,eAAe,GAAG,CAAC,YAAsB,EAAE,QAA2B,EAAE,EAAE;IACxE,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,kBAAkB,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,OAAO,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,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,UAAU,CAAE,EAAE,IAAI,EAAE,KAAK,EAAoC;YAC3D,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAClC,IAAI;gBACJ,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,SAAS;YACP,OAAO,OAAO,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,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,EAC1D,YAAY,EAAO,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,EAC1D,gBAAgB,EAAG,eAAe,CAAC,QAAQ,EAAE,gBAAgB,CAAC,IAC3D,iBAAiB,EACpB;AACJ,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,27 @@
1
+ /* eslint-disable max-len, no-undefined, no-magic-numbers */
2
+ import { describe, expect, test } from "vitest";
3
+ import actions from "./actions.js";
4
+ import { createPaginator } from "./createPaginator.js";
5
+ const { requestPage } = actions;
6
+ describe("createPaginator", () => {
7
+ test("should create correct request action creator", () => {
8
+ const paginator = createPaginator("some/api/endpoint", {
9
+ pageArgName: "p",
10
+ idKey: "id_field",
11
+ resultsKey: "results",
12
+ totalKey: "count",
13
+ }), action = paginator.requestPage(42, "foo=bar");
14
+ expect(action).
15
+ toEqual(requestPage({
16
+ endpoint: "some/api/endpoint",
17
+ endpointCb: null,
18
+ resultsKey: "results",
19
+ totalKey: "count",
20
+ pageArgName: "p",
21
+ idKey: "id_field",
22
+ page: 42,
23
+ token: "foo=bar",
24
+ }));
25
+ });
26
+ });
27
+ //# sourceMappingURL=createPaginator.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPaginator.test.js","sourceRoot":"","sources":["../src/createPaginator.test.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAG5D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;AAEhC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAE/B,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACxD,MAAM,SAAS,GAAG,eAAe,CAAC,mBAAmB,EAAE;YACnD,WAAW,EAAG,GAAG;YACjB,KAAK,EAAS,UAAU;YACxB,UAAU,EAAI,SAAS;YACvB,QAAQ,EAAM,OAAO;SACf,CAAC,EACT,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAEhD,MAAM,CAAC,MAAM,CAAC;YACZ,OAAO,CAAC,WAAW,CAAC;YAClB,QAAQ,EAAM,mBAAmB;YACjC,UAAU,EAAI,IAAI;YAClB,UAAU,EAAI,SAAS;YACvB,QAAQ,EAAM,OAAO;YACrB,WAAW,EAAG,GAAG;YACjB,KAAK,EAAS,UAAU;YACxB,IAAI,EAAU,EAAE;YAChB,KAAK,EAAS,SAAS;SACjB,CAAC,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
package/index.js CHANGED
@@ -1,32 +1,12 @@
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.manipulateItems = exports.manipulateDataItems = exports.manageEntity = exports.manageDataEntity = exports.paginatorSelectors = exports.reducerOperations = exports.paginatorMiddleware = exports.LoadPaginator = exports.LoadingButton = exports.LoadDataItem = exports.Info = exports.createPaginator = exports.createItemReducer = exports.createDataReducer = void 0;
7
- var createDataReducer_1 = require("./createDataReducer");
8
- Object.defineProperty(exports, "createDataReducer", { enumerable: true, get: function () { return __importDefault(createDataReducer_1).default; } });
9
- var createItemReducer_1 = require("./createItemReducer");
10
- Object.defineProperty(exports, "createItemReducer", { enumerable: true, get: function () { return __importDefault(createItemReducer_1).default; } });
11
- var createPaginator_1 = require("./createPaginator");
12
- Object.defineProperty(exports, "createPaginator", { enumerable: true, get: function () { return createPaginator_1.createPaginator; } });
13
- var Info_1 = require("./Info");
14
- Object.defineProperty(exports, "Info", { enumerable: true, get: function () { return __importDefault(Info_1).default; } });
15
- var LoadDataItem_1 = require("./LoadDataItem");
16
- Object.defineProperty(exports, "LoadDataItem", { enumerable: true, get: function () { return __importDefault(LoadDataItem_1).default; } });
17
- var LoadingButton_1 = require("./LoadingButton");
18
- Object.defineProperty(exports, "LoadingButton", { enumerable: true, get: function () { return __importDefault(LoadingButton_1).default; } });
19
- var LoadPaginator_1 = require("./LoadPaginator");
20
- Object.defineProperty(exports, "LoadPaginator", { enumerable: true, get: function () { return __importDefault(LoadPaginator_1).default; } });
21
- var paginatorMiddleware_1 = require("./paginatorMiddleware");
22
- Object.defineProperty(exports, "paginatorMiddleware", { enumerable: true, get: function () { return __importDefault(paginatorMiddleware_1).default; } });
23
- var reducerOperations_1 = require("./reducerOperations");
24
- Object.defineProperty(exports, "reducerOperations", { enumerable: true, get: function () { return __importDefault(reducerOperations_1).default; } });
25
- var selectors_1 = require("./selectors");
26
- Object.defineProperty(exports, "paginatorSelectors", { enumerable: true, get: function () { return __importDefault(selectors_1).default; } });
27
- var util_1 = require("./util");
28
- Object.defineProperty(exports, "manageDataEntity", { enumerable: true, get: function () { return util_1.manageDataEntity; } });
29
- Object.defineProperty(exports, "manageEntity", { enumerable: true, get: function () { return util_1.manageEntity; } });
30
- Object.defineProperty(exports, "manipulateDataItems", { enumerable: true, get: function () { return util_1.manipulateDataItems; } });
31
- Object.defineProperty(exports, "manipulateItems", { enumerable: true, get: function () { return util_1.manipulateItems; } });
1
+ export { default as createDataReducer } from "./createDataReducer.js";
2
+ export { default as createItemReducer } from "./createItemReducer.js";
3
+ export { createPaginator } from "./createPaginator.js";
4
+ export { default as Info } from "./Info.js";
5
+ export { default as LoadDataItem } from "./LoadDataItem.js";
6
+ export { default as LoadingButton } from "./LoadingButton.js";
7
+ export { default as LoadPaginator } from "./LoadPaginator.js";
8
+ export { default as paginatorMiddleware } from "./paginatorMiddleware.js";
9
+ export { default as reducerOperations } from "./reducerOperations.js";
10
+ export { default as paginatorSelectors } from "./selectors.js";
11
+ export { manageDataEntity, manageEntity, manipulateDataItems, manipulateItems } from "./util.js";
32
12
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,+BAAyC;AAAhC,6GAAA,OAAO,OAAQ;AACxB,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,6DAAuE;AAA9D,2IAAA,OAAO,OAAuB;AACvC,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,yCAA4D;AAAnD,gIAAA,OAAO,OAAsB;AACtC,+BAA8F;AAArF,wGAAA,gBAAgB,OAAA;AAAE,oGAAA,YAAY,OAAA;AAAE,2GAAA,mBAAmB,OAAA;AAAE,uGAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC"}