redux-paginator-immutable 17.0.51 → 17.1.1

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 (59) hide show
  1. package/Info.d.ts +9 -0
  2. package/Info.js +19 -0
  3. package/Info.js.map +1 -0
  4. package/LoadDataItem.d.ts +25 -0
  5. package/LoadDataItem.js +77 -0
  6. package/LoadDataItem.js.map +1 -0
  7. package/LoadPaginator.d.ts +4 -0
  8. package/LoadPaginator.js +79 -0
  9. package/LoadPaginator.js.map +1 -0
  10. package/LoadPaginatorTypes.d.ts +29 -0
  11. package/LoadPaginatorTypes.js +3 -0
  12. package/LoadPaginatorTypes.js.map +1 -0
  13. package/LoadingButton.d.ts +8 -0
  14. package/LoadingButton.js +24 -0
  15. package/LoadingButton.js.map +1 -0
  16. package/actionTypes.d.ts +9 -0
  17. package/actionTypes.js +13 -0
  18. package/actionTypes.js.map +1 -0
  19. package/actions.d.ts +42 -0
  20. package/actions.js +94 -0
  21. package/actions.js.map +1 -0
  22. package/agent.d.ts +8 -0
  23. package/agent.js +51 -0
  24. package/agent.js.map +1 -0
  25. package/createDataReducer.d.ts +14 -0
  26. package/createDataReducer.js +68 -0
  27. package/createDataReducer.js.map +1 -0
  28. package/createItemReducer.d.ts +9 -0
  29. package/createItemReducer.js +19 -0
  30. package/createItemReducer.js.map +1 -0
  31. package/createPaginator.d.ts +33 -0
  32. package/createPaginator.js +93 -0
  33. package/createPaginator.js.map +1 -0
  34. package/index.d.ts +11 -0
  35. package/index.js +30 -0
  36. package/index.js.map +1 -0
  37. package/package.json +122 -115
  38. package/paginatorMiddleware.d.ts +5 -0
  39. package/paginatorMiddleware.js +72 -0
  40. package/paginatorMiddleware.js.map +1 -0
  41. package/reducerItemData.d.ts +18 -0
  42. package/reducerItemData.js +69 -0
  43. package/reducerItemData.js.map +1 -0
  44. package/reducerOperations.d.ts +4 -0
  45. package/reducerOperations.js +75 -0
  46. package/reducerOperations.js.map +1 -0
  47. package/reducers.d.ts +2 -0
  48. package/reducers.js +78 -0
  49. package/reducers.js.map +1 -0
  50. package/selectors.d.ts +38 -0
  51. package/selectors.js +83 -0
  52. package/selectors.js.map +1 -0
  53. package/style.css +0 -0
  54. package/types.d.ts +107 -0
  55. package/types.js +3 -0
  56. package/types.js.map +1 -0
  57. package/util.d.ts +9 -0
  58. package/util.js +59 -0
  59. package/util.js.map +1 -0
@@ -0,0 +1,9 @@
1
+ import { PaginatorSettings } from "./types";
2
+ declare const createReducer: ({ key }: PaginatorSettings) => {
3
+ getItems: (state: any) => any;
4
+ getItem: (state: any, id: string) => any;
5
+ getItemsList: ((state: any) => any) & import("reselect").OutputSelectorFields<(args_0: any) => any> & {
6
+ clearCache: () => void;
7
+ };
8
+ };
9
+ export default createReducer;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var reselect_1 = require("reselect");
4
+ /*
5
+ Use to create a simple list where you do not need more information about
6
+ the item. For instance, if you do NOT need to fetch more data or
7
+ manipulate it
8
+ */
9
+ 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(); });
12
+ return {
13
+ getItems: getItems,
14
+ getItem: getItem,
15
+ getItemsList: getItemsList,
16
+ };
17
+ };
18
+ exports.default = createReducer;
19
+ //# sourceMappingURL=createItemReducer.js.map
@@ -0,0 +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"}
@@ -0,0 +1,33 @@
1
+ import * as Immutable from "immutable";
2
+ import { PaginatorSettings } from "./types";
3
+ type EndpointData = {
4
+ path: string;
5
+ cb: () => string;
6
+ };
7
+ type Endpoint = EndpointData | string;
8
+ type Action = {
9
+ meta?: {
10
+ endpoint: string;
11
+ };
12
+ };
13
+ export declare const onlyForEndpoint: (endpoint: string, reducer: any) => (state: Immutable.Map<unknown, unknown> | undefined, action: Action) => any, createPaginator: (endpointData: Endpoint, settings: PaginatorSettings) => {
14
+ requestPage: (page: number, token: string) => import("./types").Action;
15
+ resetView(token: any): import("./types").Action;
16
+ changeView({ view, token }: {
17
+ view: number;
18
+ token: string;
19
+ }): import("./types").Action;
20
+ clearData(): import("./types").Action;
21
+ key: string;
22
+ normalizeDataItem: any;
23
+ dataItemURL: string | undefined;
24
+ manipulateItems: (items: any) => any;
25
+ rowsPerLoad: number;
26
+ manageEntity: any;
27
+ resultsKey: string;
28
+ endpoint: string;
29
+ pagesReducer: (state: Immutable.Map<unknown, unknown> | undefined, action: Action) => any;
30
+ itemsReducer: (state: Immutable.Map<unknown, unknown> | undefined, action: Action) => any;
31
+ dataItemsReducer: (state: Immutable.Map<unknown, unknown> | undefined, action: Action) => any;
32
+ };
33
+ export {};
@@ -0,0 +1,93 @@
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 = exports.onlyForEndpoint = void 0;
41
+ var defaultRowsPerLoad = 25;
42
+ var Immutable = __importStar(require("immutable"));
43
+ var reducers_1 = require("./reducers");
44
+ var actions_1 = __importDefault(require("./actions"));
45
+ var getEndpoint = function (data) {
46
+ if (typeof data === "object") {
47
+ return {
48
+ path: data.path,
49
+ cb: data.cb,
50
+ };
51
+ }
52
+ return {
53
+ path: data,
54
+ cb: null,
55
+ };
56
+ };
57
+ var onlyForEndpoint = function (endpoint, reducer) { return function (state, action) {
58
+ if (state === void 0) { state = Immutable.Map(); }
59
+ if (typeof action.meta === "undefined" || action.meta.endpoint !== endpoint) {
60
+ return state;
61
+ }
62
+ return reducer(state, action);
63
+ }; }, 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);
78
+ },
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,
84
+ });
85
+ },
86
+ clearData: function () {
87
+ return actions_1.default.clearData(endpoint);
88
+ },
89
+ };
90
+ return __assign({ key: key, normalizeDataItem: normalizeDataItem, dataItemURL: dataItemURL, manipulateItems: manipulateItems, rowsPerLoad: rowsPerLoad, manageEntity: manageEntity, resultsKey: resultsKey, endpoint: endpoint, pagesReducer: (0, exports.onlyForEndpoint)(endpoint, reducers_1.pages), itemsReducer: (0, exports.onlyForEndpoint)(endpoint, reducers_1.items), dataItemsReducer: (0, exports.onlyForEndpoint)(endpoint, reducers_1.dataItems) }, endpointedActions);
91
+ };
92
+ exports.onlyForEndpoint = onlyForEndpoint, exports.createPaginator = createPaginator;
93
+ //# sourceMappingURL=createPaginator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPaginator.js","sourceRoot":"","sources":["../src/createPaginator.ts"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import { createPaginator } from "./createPaginator";
2
+ import paginatorMiddleware from "./paginatorMiddleware";
3
+ import paginatorSelectors from "./selectors";
4
+ import { manageDataEntity, manipulateDataItems, manipulateItems, manageEntity } from "./util";
5
+ import Info from "./Info";
6
+ import LoadingButton from "./LoadingButton";
7
+ import LoadPaginator from "./LoadPaginator";
8
+ import LoadDataItem from "./LoadDataItem";
9
+ import createDataReducer from "./createDataReducer";
10
+ import createItemReducer from "./createItemReducer";
11
+ export { Info, LoadingButton, LoadPaginator, LoadDataItem, createPaginator, paginatorMiddleware, paginatorSelectors, createDataReducer, manageDataEntity, manipulateDataItems, createItemReducer, manipulateItems, manageEntity, };
package/index.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.manageEntity = exports.manipulateItems = exports.createItemReducer = exports.manipulateDataItems = exports.manageDataEntity = exports.createDataReducer = exports.paginatorSelectors = exports.paginatorMiddleware = exports.createPaginator = exports.LoadDataItem = exports.LoadPaginator = exports.LoadingButton = exports.Info = void 0;
7
+ var createPaginator_1 = require("./createPaginator");
8
+ Object.defineProperty(exports, "createPaginator", { enumerable: true, get: function () { return createPaginator_1.createPaginator; } });
9
+ var paginatorMiddleware_1 = __importDefault(require("./paginatorMiddleware"));
10
+ exports.paginatorMiddleware = paginatorMiddleware_1.default;
11
+ var selectors_1 = __importDefault(require("./selectors"));
12
+ exports.paginatorSelectors = selectors_1.default;
13
+ var util_1 = require("./util");
14
+ Object.defineProperty(exports, "manageDataEntity", { enumerable: true, get: function () { return util_1.manageDataEntity; } });
15
+ Object.defineProperty(exports, "manipulateDataItems", { enumerable: true, get: function () { return util_1.manipulateDataItems; } });
16
+ Object.defineProperty(exports, "manipulateItems", { enumerable: true, get: function () { return util_1.manipulateItems; } });
17
+ Object.defineProperty(exports, "manageEntity", { enumerable: true, get: function () { return util_1.manageEntity; } });
18
+ var Info_1 = __importDefault(require("./Info"));
19
+ exports.Info = Info_1.default;
20
+ var LoadingButton_1 = __importDefault(require("./LoadingButton"));
21
+ exports.LoadingButton = LoadingButton_1.default;
22
+ var LoadPaginator_1 = __importDefault(require("./LoadPaginator"));
23
+ exports.LoadPaginator = LoadPaginator_1.default;
24
+ var LoadDataItem_1 = __importDefault(require("./LoadDataItem"));
25
+ exports.LoadDataItem = LoadDataItem_1.default;
26
+ var createDataReducer_1 = __importDefault(require("./createDataReducer"));
27
+ exports.createDataReducer = createDataReducer_1.default;
28
+ var createItemReducer_1 = __importDefault(require("./createItemReducer"));
29
+ exports.createItemReducer = createItemReducer_1.default;
30
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,qDAAoD;AAgBlD,gGAhBO,iCAAe,OAgBP;AAfjB,8EAAwD;AAgBtD,8BAhBK,6BAAmB,CAgBL;AAfrB,0DAA6C;AAgB3C,6BAhBK,mBAAkB,CAgBL;AAfpB,+BAA8F;AAiB5F,iGAjBO,uBAAgB,OAiBP;AAChB,oGAlByB,0BAAmB,OAkBzB;AAEnB,gGApB8C,sBAAe,OAoB9C;AACf,6FArB+D,mBAAY,OAqB/D;AApBd,gDAA0B;AAQxB,eARK,cAAI,CAQL;AAPN,kEAA4C;AAQ1C,wBARK,uBAAa,CAQL;AAPf,kEAA4C;AAQ1C,wBARK,uBAAa,CAQL;AAPf,gEAA0C;AAQxC,uBARK,sBAAY,CAQL;AAPd,0EAAoD;AAWlD,4BAXK,2BAAiB,CAWL;AAVnB,0EAAoD;AAalD,4BAbK,2BAAiB,CAaL"}
package/package.json CHANGED
@@ -1,119 +1,126 @@
1
1
  {
2
- "name": "redux-paginator-immutable",
3
- "version": "17.0.51",
4
- "types": "./dist/index.d.ts",
5
- "main": "./dist/index.js",
6
- "engines": {
7
- "node": "^17.0.0"
8
- },
9
- "description": "redux-paginator-immutable helps you deal with paginated API by composing your existing reducers",
10
- "babel": {
11
- "ignore": [
12
- "**/__tests__",
13
- "**/types"
14
- ],
15
- "presets": [
16
- "@babel/env",
17
- "@babel/preset-typescript",
18
- "@babel/preset-react"
19
- ],
20
- "env": {
21
- "production": {
22
- "plugins": [
23
- "@babel/plugin-syntax-dynamic-import",
24
- "@babel/plugin-proposal-class-properties",
25
- "@babel/plugin-proposal-export-default-from",
26
- "@babel/plugin-transform-modules-commonjs",
27
- "@babel/plugin-transform-react-constant-elements",
28
- "@babel/plugin-transform-react-inline-elements",
29
- "@babel/plugin-transform-typescript",
30
- "transform-react-remove-prop-types"
2
+ "name": "redux-paginator-immutable",
3
+ "version": "17.1.1",
4
+ "description": "redux-paginator-immutable",
5
+ "types": "./dist/index.d.ts",
6
+ "main": "./dist/index.js",
7
+ "scripts": {
8
+ "load": "npm run intern-pre && cd dist && npm run ts && npm run intern-copy && npm publish",
9
+ "load-beta": "npm run intern-pre && cd dist && npm run ts && npm run intern-copy && npm publish --tag beta",
10
+ "eslint": "eslint --ext .tsx,.ts src --fix",
11
+ "intern-pre": "npm run eslint && npm run intern-clean && npm run intern-build",
12
+ "intern-build-scss": "node-sass --output-style compressed src -o dist",
13
+ "intern-copy": " copy package.json dist",
14
+ "intern-build": "npm run intern-build-scss",
15
+ "intern-clean": "rimraf dist dist",
16
+ "intern-test": "jest",
17
+ "check": "node script/check & npm run depcheck & npm run check:npm-check",
18
+ "check:npm-check": "npm-check -u -i \"{babel-jest,jest}\" --specials=bin,eslint,babel,webpack",
19
+ "depcheck": "depcheck --ignores=@types/jest,@docusaurus/react-loadable,webpack-cli,@hot-loader/react-dom --ignore-patterns=server,node_modules,tmp,fonts",
20
+ "check:global": "npm-check -gu",
21
+ "ts:check": "tsc --noEmit",
22
+ "ts": "tsc --declaration"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/cristian-sima/redux-paginator-immutable.git"
27
+ },
28
+ "keywords": [],
29
+ "author": "SC SIDEWORK SRL",
30
+ "license": "MIT",
31
+ "bugs": {
32
+ "url": "https://github.com/cristian-sima/redux-paginator-immutable/issues"
33
+ },
34
+ "homepage": "https://github.com/cristian-sima/redux-paginator-immutable#readme",
35
+ "babel": {
36
+ "presets": [
37
+ "@babel/env",
38
+ "@babel/preset-typescript",
39
+ "@babel/preset-react"
40
+ ],
41
+ "env": {
42
+ "production": {
43
+ "plugins": [
44
+ "@babel/plugin-syntax-dynamic-import",
45
+ "@babel/plugin-proposal-class-properties",
46
+ "@babel/plugin-proposal-export-default-from",
47
+ "@babel/plugin-transform-modules-commonjs",
48
+ "@babel/plugin-transform-react-constant-elements",
49
+ "@babel/plugin-transform-react-inline-elements",
50
+ "@babel/plugin-transform-typescript",
51
+ "transform-react-remove-prop-types"
52
+ ]
53
+ },
54
+ "development": {
55
+ "plugins": [
56
+ "@babel/plugin-syntax-dynamic-import",
57
+ "@babel/plugin-proposal-class-properties",
58
+ "@babel/plugin-proposal-export-default-from",
59
+ "@babel/plugin-transform-modules-commonjs"
60
+ ]
61
+ }
62
+ }
63
+ },
64
+ "engines": {
65
+ "node": "^17.0.0"
66
+ },
67
+ "jest": {
68
+ "transform": {
69
+ "^.+\\.tsx?$": "babel-jest"
70
+ },
71
+ "testRegex": "src/.*-test.ts$",
72
+ "modulePaths": [
73
+ "src"
31
74
  ]
32
- },
33
- "developmentTime": {
34
- "plugins": [
35
- "transform-decorators-legacy",
36
- "transform-class-properties"
37
- ]
38
- }
75
+ },
76
+ "devDependencies": {
77
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
78
+ "@babel/plugin-proposal-export-default-from": "^7.18.10",
79
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
80
+ "@babel/plugin-transform-modules-commonjs": "^7.19.6",
81
+ "@babel/plugin-transform-react-constant-elements": "^7.18.12",
82
+ "@babel/plugin-transform-react-inline-elements": "^7.18.6",
83
+ "@babel/plugin-transform-typescript": "^7.20.0",
84
+ "@babel/preset-env": "^7.19.4",
85
+ "@babel/preset-react": "^7.18.6",
86
+ "@babel/preset-typescript": "^7.18.6",
87
+ "@types/jest": "^29.2.0",
88
+ "@types/superagent": "^4.1.15",
89
+ "@typescript-eslint/eslint-plugin": "^5.41.0",
90
+ "@typescript-eslint/parser": "^5.41.0",
91
+ "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
92
+ "copy": "^0.3.2",
93
+ "css-loader": "^6.7.1",
94
+ "depcheck": "^1.4.3",
95
+ "eslint": "^8.26.0",
96
+ "eslint-plugin-import": "^2.26.0",
97
+ "eslint-plugin-react": "^7.31.10",
98
+ "jest-cli": "^29.2.2",
99
+ "jest-immutable-matchers": "^3.0.0",
100
+ "npm-check": "^6.0.1",
101
+ "style-loader": "^3.3.1",
102
+ "ts-loader": "^9.4.1",
103
+ "webpack": "^5.74.0"
104
+ },
105
+ "dependencies": {
106
+ "@docusaurus/react-loadable": "^5.5.2",
107
+ "@reduxjs/toolkit": "^1.8.6",
108
+ "classnames": "^2.3.2",
109
+ "immutable": "^4.2.2",
110
+ "jest": "^27.5.1",
111
+ "moment": "^2.29.4",
112
+ "node-sass": "^7.0.3",
113
+ "query-string": "^8.1.0",
114
+ "react": "^17.0.2",
115
+ "react-final-form": "^6.5.9",
116
+ "react-intersection-observer": "^9.4.1",
117
+ "react-notification-system-redux2": "^3.0.4",
118
+ "react-redux": "^8.0.4",
119
+ "react-simple-tooltip": "^2.6.3",
120
+ "redux": "^4.2.0",
121
+ "reselect": "^4.1.6",
122
+ "superagent": "^8.0.3",
123
+ "typescript": "^4.8.4",
124
+ "x25": "^17.3.17"
39
125
  }
40
- },
41
- "scripts": {
42
- "load": "npm run intern-pre && cd dist && npm run ts && npm run intern-copy && npm publish",
43
- "load-beta": "npm run intern-pre && cd dist && npm run ts && npm run intern-copy && npm publish --tag beta",
44
- "eslint": "eslint --ext .tsx,.ts src --fix",
45
- "intern-pre": "npm run eslint && npm run intern-clean",
46
- "intern-build-scss": "node-sass --output-style compressed src -o dist",
47
- "intern-copy": " copy package.json dist",
48
- "intern-build": "npm run intern-build-scss",
49
- "intern-clean": "rimraf dist dist && mkdir dist",
50
- "intern-test": "jest",
51
- "check": "node script/check & npm run depcheck & npm run check:npm-check",
52
- "check:npm-check": "npm-check -u -i \"{babel-jest,jest}\" --specials=bin,eslint,babel,webpack",
53
- "depcheck": "depcheck --ignores=@types/jest,@docusaurus/react-loadable,webpack-cli,@hot-loader/react-dom --ignore-patterns=server,node_modules,tmp,fonts",
54
- "check:global": "npm-check -gu",
55
- "ts:check": "tsc --noEmit",
56
- "ts": "tsc --declaration"
57
- },
58
- "repository": {
59
- "type": "git",
60
- "url": "git+https://github.com/cristian-sima/redux-paginator-immutable.git"
61
- },
62
- "files": [
63
- "dist",
64
- "src"
65
- ],
66
- "keywords": [
67
- "redux",
68
- "paginator",
69
- "pagination",
70
- "async",
71
- "immutablejs",
72
- "immutable",
73
- "paginate",
74
- "paging"
75
- ],
76
- "author": "Cristian Sima",
77
- "license": "MIT",
78
- "bugs": {
79
- "url": "https://github.com/cristian-sima/redux-paginator-immutable/issues"
80
- },
81
- "homepage": "https://github.com/cristian-sima/redux-paginator-immutable#readme",
82
- "devDependencies": {
83
- "@babel/preset-env": "^7.20.2",
84
- "@babel/preset-typescript": "^7.18.6",
85
- "@types/superagent": "^4.1.16",
86
- "@typescript-eslint/eslint-plugin": "^5.48.0",
87
- "@typescript-eslint/parser": "^5.48.0",
88
- "babel-plugin-transform-decorators-legacy": "^1.3.5",
89
- "babel-polyfill": "^6.26.0",
90
- "chai": "^4.3.7",
91
- "chai-immutable": "^2.1.0",
92
- "codecov": "^3.8.1",
93
- "depcheck": "^1.4.3",
94
- "es3ify": "^0.2.2",
95
- "eslint": "^8.31.0",
96
- "eslint-plugin-import": "^2.26.0",
97
- "eslint-plugin-react": "^7.31.11",
98
- "expect": "^28.1.0",
99
- "flux-standard-action": "^2.1.1",
100
- "glob": "^8.0.3",
101
- "isparta": "^4.1.1",
102
- "mocha": "^10.1.0",
103
- "npm-check": "^5.9.2",
104
- "ts-mocha": "^10.0.0",
105
- "typescript": "^4.9.4",
106
- "webpack": "^5.75.0"
107
- },
108
- "dependencies": {
109
- "immutable": "^3.8.2",
110
- "query-string": "^7.1.1",
111
- "react": "^17.0.2",
112
- "react-intersection-observer": "^9.4.1",
113
- "react-redux": "^8.0.5",
114
- "redux": "^4.2.0",
115
- "reselect": "^4.1.7",
116
- "superagent": "^7.1.3",
117
- "x25": "^17.3.13"
118
- }
119
126
  }
@@ -0,0 +1,5 @@
1
+ import { Action, Dispatch } from "./types";
2
+ declare const paginatorMiddleware: ({ dispatch }: {
3
+ dispatch: Dispatch;
4
+ }) => (next: any) => (action: Action) => any;
5
+ export default paginatorMiddleware;
@@ -0,0 +1,72 @@
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
+ /* eslint-disable no-console, max-lines-per-function */
7
+ var actionTypes_1 = require("./actionTypes");
8
+ var actions_1 = __importDefault(require("./actions"));
9
+ var agent_1 = require("./agent");
10
+ var receivePage = actions_1.default.receivePage, paginatorMiddleware = function (_a) {
11
+ var dispatch = _a.dispatch;
12
+ return function (next) { return function (action) {
13
+ if (action.type === actionTypes_1.REQUEST_PAGE) {
14
+ var _a = action.meta, endpoint_1 = _a.endpoint, endpointCb_1 = _a.endpointCb, manageEntity_1 = _a.manageEntity, resultsKey_1 = _a.resultsKey, totalKey_1 = _a.totalKey, pageArgName_1 = _a.pageArgName, idKey_1 = _a.idKey, _b = action.payload, page_1 = _b.page, token_1 = _b.token;
15
+ dispatch(function (dispatch2) {
16
+ var markAsError = function () {
17
+ dispatch2(receivePage({
18
+ endpoint: endpoint_1,
19
+ endpointCb: endpointCb_1,
20
+ manageEntity: manageEntity_1,
21
+ pageArgName: pageArgName_1,
22
+ idKey: idKey_1,
23
+ page: page_1,
24
+ error: true,
25
+ token: token_1,
26
+ items: [],
27
+ total: 0,
28
+ }));
29
+ }, rawPath = typeof endpointCb_1 === "function" ? endpointCb_1(token_1) : endpoint_1, path = rawPath === null ? "" : rawPath;
30
+ try {
31
+ (0, agent_1.fetchPage)({
32
+ endpoint: path,
33
+ pageArgName: pageArgName_1,
34
+ page: page_1,
35
+ token: token_1,
36
+ }).then(function (res) {
37
+ var response = res.response;
38
+ var results = [], total = 0;
39
+ if (typeof resultsKey_1 === "undefined") {
40
+ results = response;
41
+ }
42
+ else {
43
+ results = response[resultsKey_1];
44
+ total = response[totalKey_1];
45
+ }
46
+ dispatch2(receivePage({
47
+ endpoint: endpoint_1,
48
+ endpointCb: endpointCb_1,
49
+ manageEntity: manageEntity_1,
50
+ pageArgName: pageArgName_1,
51
+ idKey: idKey_1,
52
+ page: page_1,
53
+ error: false,
54
+ token: token_1,
55
+ items: results,
56
+ total: total,
57
+ }));
58
+ }).
59
+ catch(function () {
60
+ markAsError();
61
+ });
62
+ }
63
+ catch (err) {
64
+ markAsError();
65
+ }
66
+ });
67
+ }
68
+ return next(action);
69
+ }; };
70
+ };
71
+ exports.default = paginatorMiddleware;
72
+ //# sourceMappingURL=paginatorMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginatorMiddleware.js","sourceRoot":"","sources":["../src/paginatorMiddleware.ts"],"names":[],"mappings":";;;;;AAAA,uDAAuD;AACvD,6CAA6C;AAC7C,sDAAgC;AAChC,iCAAoC;AAIhC,IAAA,WAAW,GAAK,iBAAO,YAAZ,EAEb,mBAAmB,GAAG,UAAC,EAAoC;QAAlC,QAAQ,cAAA;IAA+B,OAAA,UAAC,IAAS,IAAK,OAAA,UAAC,MAAc;QAC5F,IAAI,MAAM,CAAC,IAAI,KAAK,0BAAY,EAAE;YAE9B,IAAA,KAaE,MAAM,KALP,EAPC,UAAQ,cAAA,EACR,YAAU,gBAAA,EACV,cAAY,kBAAA,EACZ,YAAU,gBAAA,EACV,UAAQ,cAAA,EACR,aAAW,iBAAA,EACX,OAAK,WAAA,EAEP,KAIE,MAAM,QADP,EAFC,MAAI,UAAA,EACJ,OAAK,WACN,CACQ;YAEX,QAAQ,CAAC,UAAC,SAAS;gBACjB,IACE,WAAW,GAAG;oBACZ,SAAS,CAAC,WAAW,CAAC;wBACpB,QAAQ,YAAA;wBACR,UAAU,cAAA;wBACV,YAAY,gBAAA;wBACZ,WAAW,eAAA;wBACX,KAAK,SAAA;wBACL,IAAI,QAAA;wBACJ,KAAK,EAAG,IAAI;wBACZ,KAAK,SAAA;wBACL,KAAK,EAAG,EAAE;wBACV,KAAK,EAAG,CAAC;qBACV,CAAC,CAAC,CAAC;gBACN,CAAC,EAED,OAAO,GAAG,OAAO,YAAU,KAAK,UAAU,CAAC,CAAC,CAAC,YAAU,CAAC,OAAK,CAAC,CAAC,CAAC,CAAC,UAAQ,EACzE,IAAI,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBAEzC,IAAI;oBACF,IAAA,iBAAS,EAAC;wBACR,QAAQ,EAAE,IAAI;wBACd,WAAW,eAAA;wBACX,IAAI,QAAA;wBACJ,KAAK,SAAA;qBACN,CAAC,CAAC,IAAI,CAAC,UAAC,GAAuB;wBACtB,IAAA,QAAQ,GAAK,GAAG,SAAR,CAAS;wBAEzB,IACE,OAAO,GAAG,EAAE,EACZ,KAAK,GAAG,CAAC,CAAC;wBAEZ,IAAI,OAAO,YAAU,KAAK,WAAW,EAAE;4BACrC,OAAO,GAAG,QAAQ,CAAC;yBACpB;6BAAM;4BACL,OAAO,GAAG,QAAQ,CAAC,YAAU,CAAC,CAAC;4BAC/B,KAAK,GAAG,QAAQ,CAAC,UAAQ,CAAC,CAAC;yBAC5B;wBAED,SAAS,CAAC,WAAW,CAAC;4BACpB,QAAQ,YAAA;4BACR,UAAU,cAAA;4BACV,YAAY,gBAAA;4BACZ,WAAW,eAAA;4BACX,KAAK,SAAA;4BACL,IAAI,QAAA;4BACJ,KAAK,EAAG,KAAK;4BACb,KAAK,SAAA;4BACL,KAAK,EAAG,OAAO;4BACf,KAAK,OAAA;yBACN,CAAC,CAAC,CAAC;oBACN,CAAC,CAAC;wBACA,KAAK,CAAC;wBACJ,WAAW,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAC;iBACN;gBAAC,OAAO,GAAG,EAAE;oBACZ,WAAW,EAAE,CAAC;iBACf;YACH,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,EAjF8E,CAiF9E;AAjF+D,CAiF/D,CAAC;AAEJ,kBAAe,mBAAmB,CAAC"}
@@ -0,0 +1,18 @@
1
+ type FetchItemDataFulFilledProps = {
2
+ payload: {
3
+ Data: any;
4
+ };
5
+ meta: {
6
+ id: string;
7
+ };
8
+ };
9
+ declare const fetchItemDataPending: (state: any, { meta: { id, }, }: {
10
+ meta: {
11
+ id: string;
12
+ };
13
+ }) => any, fetchItemDataRejected: (state: any, { meta: { id, }, }: {
14
+ meta: {
15
+ id: string;
16
+ };
17
+ }) => any, fetchItemDataFulFilled: (state: any, { payload: { Data, }, meta: { id, }, }: FetchItemDataFulFilledProps) => any;
18
+ export { fetchItemDataPending, fetchItemDataRejected, fetchItemDataFulFilled };
@@ -0,0 +1,69 @@
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
+ exports.fetchItemDataFulFilled = exports.fetchItemDataRejected = exports.fetchItemDataPending = void 0;
27
+ var Immutable = __importStar(require("immutable"));
28
+ var defaultOptions = Immutable.Map({
29
+ fetching: true,
30
+ fetched: false,
31
+ error: false,
32
+ }), fetchItemDataPending = function (state, _a) {
33
+ var id = _a.meta.id;
34
+ return (state.update(id, function (current) {
35
+ if (typeof current === "undefined") {
36
+ return defaultOptions;
37
+ }
38
+ return current.mergeDeep(defaultOptions);
39
+ }));
40
+ }, fetchItemDataRejected = function (state, _a) {
41
+ var id = _a.meta.id;
42
+ return state.update(id, function (current) {
43
+ if (typeof current === "undefined") {
44
+ return current;
45
+ }
46
+ return current.mergeDeep(Immutable.Map({
47
+ fetching: false,
48
+ fetched: false,
49
+ error: true,
50
+ }));
51
+ });
52
+ }, fetchItemDataFulFilled = function (state, _a) {
53
+ var Data = _a.payload.Data, id = _a.meta.id;
54
+ return state.update(id, function (current) {
55
+ if (typeof current === "undefined") {
56
+ return current;
57
+ }
58
+ return current.mergeDeep(Immutable.Map({
59
+ Data: Data,
60
+ fetching: false,
61
+ fetched: true,
62
+ error: false,
63
+ }));
64
+ });
65
+ };
66
+ exports.fetchItemDataPending = fetchItemDataPending;
67
+ exports.fetchItemDataRejected = fetchItemDataRejected;
68
+ exports.fetchItemDataFulFilled = fetchItemDataFulFilled;
69
+ //# sourceMappingURL=reducerItemData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducerItemData.js","sourceRoot":"","sources":["../src/reducerItemData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,mDAAuC;AAEvC,IACE,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC;IAC7B,QAAQ,EAAG,IAAI;IACf,OAAO,EAAI,KAAK;IAChB,KAAK,EAAM,KAAK;CACjB,CAAC,EAEF,oBAAoB,GAAG,UAAC,KAAU,EAAE,EAQrC;QANK,EAAE,aAAA;IAMF,OAAA,CACF,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,UAAC,OAAa;QAC7B,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;YAClC,OAAO,cAAc,CAAC;SACvB;QAED,OAAO,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC,CACH;AARG,CAQH,EACD,qBAAqB,GAAG,UAAC,KAAU,EAAE,EAQtC;QANK,EAAE,aAAA;IAMF,OAAA,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,UAAC,OAAa;QACjC,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;YAClC,OAAO,OAAO,CAAC;SAChB;QAED,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC;YACrC,QAAQ,EAAG,KAAK;YAChB,OAAO,EAAI,KAAK;YAChB,KAAK,EAAM,IAAI;SAChB,CAAC,CAAC,CAAC;IACN,CAAC,CAAC;AAVE,CAUF,EACF,sBAAsB,GAAG,UAAC,KAAU,EAAE,EAOR;QAL1B,IAAI,kBAAA,EAGJ,EAAE,aAAA;IAE6B,OAAA,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,UAAC,OAAa;QAChE,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;YAClC,OAAO,OAAO,CAAC;SAChB;QAED,OAAO,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC;YACrC,IAAI,MAAA;YACJ,QAAQ,EAAG,KAAK;YAChB,OAAO,EAAI,IAAI;YACf,KAAK,EAAM,KAAK;SACjB,CAAC,CAAC,CAAC;IACN,CAAC,CAAC;AAXiC,CAWjC,CAAC;AAEI,oDAAoB;AAAE,sDAAqB;AAAE,wDAAsB"}
@@ -0,0 +1,4 @@
1
+ import { Action } from "redux";
2
+ import { PagesState, RequestPageAction, ReceivePageAction, ChangeViewAction, ItemsState } from "./types";
3
+ 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;
4
+ export { requestPage, receivePage, performChangeView, changeView, resetView, receivePageItems };