redux-paginator-immutable 17.1.30 → 19.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.
- package/Info.d.ts +2 -2
- package/Info.js +10 -17
- package/Info.js.map +1 -1
- package/LoadDataItem.js +15 -51
- package/LoadDataItem.js.map +1 -1
- package/LoadPaginator.d.ts +2 -2
- package/LoadPaginator.js +34 -62
- package/LoadPaginator.js.map +1 -1
- package/LoadPaginatorTypes.d.ts +2 -2
- package/LoadPaginatorTypes.js +1 -2
- package/LoadingButton.d.ts +2 -2
- package/LoadingButton.js +14 -30
- package/LoadingButton.js.map +1 -1
- package/actionTypes.js +9 -12
- package/actionTypes.js.map +1 -1
- package/actions.js +59 -78
- package/actions.js.map +1 -1
- package/actions.test.d.ts +1 -0
- package/actions.test.js +98 -0
- package/actions.test.js.map +1 -0
- package/agent.js +16 -37
- package/agent.js.map +1 -1
- package/agent.test.d.ts +1 -0
- package/agent.test.js +25 -0
- package/agent.test.js.map +1 -0
- package/createDataReducer.js +17 -43
- package/createDataReducer.js.map +1 -1
- package/createItemReducer.d.ts +19 -3
- package/createItemReducer.js +7 -10
- package/createItemReducer.js.map +1 -1
- package/createPaginator.js +36 -72
- package/createPaginator.js.map +1 -1
- package/createPaginator.test.d.ts +1 -0
- package/createPaginator.test.js +27 -0
- package/createPaginator.test.js.map +1 -0
- package/index.js +11 -31
- package/index.js.map +1 -1
- package/package.json +13 -11
- package/paginatorMiddleware.js +57 -65
- package/paginatorMiddleware.js.map +1 -1
- package/reducerItemData.js +27 -64
- package/reducerItemData.js.map +1 -1
- package/reducerOperations.d.ts +1 -1
- package/reducerOperations.js +21 -46
- package/reducerOperations.js.map +1 -1
- package/reducers.js +28 -61
- package/reducers.js.map +1 -1
- package/reducers.test.d.ts +1 -0
- package/reducers.test.js +96 -0
- package/reducers.test.js.map +1 -0
- package/selectors.d.ts +301 -27
- package/selectors.js +27 -52
- package/selectors.js.map +1 -1
- package/selectors.test.d.ts +1 -0
- package/selectors.test.js +153 -0
- package/selectors.test.js.map +1 -0
- package/types.js +1 -2
- package/util.d.ts +38 -6
- package/util.js +9 -44
- package/util.js.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/actions.test.js
ADDED
|
@@ -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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 =
|
|
12
|
+
finalParsedParams = Object.assign(Object.assign({}, finalParsedParams), { [key]: parsedParams[key] });
|
|
32
13
|
}
|
|
33
14
|
}
|
|
34
|
-
startString = startString === "" ? "?" :
|
|
35
|
-
if (Object.keys(finalParsedParams).length > 0 &&
|
|
36
|
-
startString = params.replace(
|
|
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 +
|
|
19
|
+
return startString + qs.stringify(Object.assign(Object.assign({}, finalParsedParams), { [pageArgName]: page }), {
|
|
39
20
|
encode: false,
|
|
40
21
|
}).replace(startString, "");
|
|
41
|
-
}, fetchPage =
|
|
42
|
-
|
|
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(
|
|
46
|
-
return promise.then(
|
|
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":"
|
|
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"}
|
package/agent.test.d.ts
ADDED
|
@@ -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"}
|
package/createDataReducer.js
CHANGED
|
@@ -1,68 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
|
|
34
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
29
|
+
}), getShouldFetchItemInfo = createSelector(getIsFetchingItemInfo, getItemIsFetched, getItemHasError, (isFetching, isFetched, hasError) => (!isFetched && !isFetching && !hasError));
|
|
56
30
|
return {
|
|
57
|
-
getItems
|
|
58
|
-
getItem
|
|
59
|
-
getItemsList
|
|
60
|
-
getItemData
|
|
61
|
-
getItemHasError
|
|
62
|
-
getIsFetchingItemInfo
|
|
63
|
-
getItemIsFetched
|
|
64
|
-
getShouldFetchItemInfo
|
|
31
|
+
getItems,
|
|
32
|
+
getItem,
|
|
33
|
+
getItemsList,
|
|
34
|
+
getItemData,
|
|
35
|
+
getItemHasError,
|
|
36
|
+
getIsFetchingItemInfo,
|
|
37
|
+
getItemIsFetched,
|
|
38
|
+
getShouldFetchItemInfo,
|
|
65
39
|
};
|
|
66
40
|
};
|
|
67
|
-
|
|
41
|
+
export default createDataReducer;
|
|
68
42
|
//# sourceMappingURL=createDataReducer.js.map
|
package/createDataReducer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDataReducer.js","sourceRoot":"","sources":["../src/createDataReducer.ts"],"names":[],"mappings":"
|
|
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"}
|
package/createItemReducer.d.ts
CHANGED
|
@@ -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) &
|
|
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;
|
package/createItemReducer.js
CHANGED
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
10
|
-
|
|
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
|
|
14
|
-
getItem
|
|
15
|
-
getItemsList
|
|
10
|
+
getItems,
|
|
11
|
+
getItem,
|
|
12
|
+
getItemsList,
|
|
16
13
|
};
|
|
17
14
|
};
|
|
18
|
-
|
|
15
|
+
export default createReducer;
|
|
19
16
|
//# sourceMappingURL=createItemReducer.js.map
|
package/createItemReducer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createItemReducer.js","sourceRoot":"","sources":["../src/createItemReducer.ts"],"names":[],"mappings":"
|
|
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"}
|
package/createPaginator.js
CHANGED
|
@@ -1,48 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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 =
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
requestPage:
|
|
66
|
-
endpoint
|
|
67
|
-
endpointCb
|
|
68
|
-
manageEntity
|
|
69
|
-
resultsKey
|
|
70
|
-
totalKey
|
|
71
|
-
pageArgName
|
|
72
|
-
idKey
|
|
73
|
-
page
|
|
74
|
-
token
|
|
75
|
-
})
|
|
76
|
-
resetView
|
|
77
|
-
return
|
|
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
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
token: token,
|
|
38
|
+
changeView({ view, token }) {
|
|
39
|
+
return actions.changeView(endpoint, {
|
|
40
|
+
view,
|
|
41
|
+
token,
|
|
84
42
|
});
|
|
85
43
|
},
|
|
86
|
-
clearData
|
|
87
|
-
return
|
|
44
|
+
clearData() {
|
|
45
|
+
return actions.clearData(endpoint);
|
|
88
46
|
},
|
|
89
47
|
};
|
|
90
|
-
return
|
|
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
|
package/createPaginator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPaginator.js","sourceRoot":"","sources":["../src/createPaginator.ts"],"names":[],"mappings":"
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|