@redhat-cloud-services/frontend-components-utilities 4.0.7 → 4.0.9
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/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/esm/useFetchBatched/index.js +2 -0
- package/esm/useFetchBatched/index.js.map +1 -0
- package/esm/useFetchBatched/useFetchBatched.js +30 -0
- package/esm/useFetchBatched/useFetchBatched.js.map +1 -0
- package/esm/usePromiseQueue/index.js +2 -0
- package/esm/usePromiseQueue/index.js.map +1 -0
- package/esm/usePromiseQueue/usePromiseQueue.js +84 -0
- package/esm/usePromiseQueue/usePromiseQueue.js.map +1 -0
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/package.json +4 -4
- package/useFetchBatched/index.d.ts +1 -0
- package/useFetchBatched/index.js +9 -0
- package/useFetchBatched/index.js.map +1 -0
- package/useFetchBatched/package.json +1 -0
- package/useFetchBatched/useFetchBatched.d.ts +7 -0
- package/useFetchBatched/useFetchBatched.js +35 -0
- package/useFetchBatched/useFetchBatched.js.map +1 -0
- package/usePromiseQueue/index.d.ts +1 -0
- package/usePromiseQueue/index.js +9 -0
- package/usePromiseQueue/index.js.map +1 -0
- package/usePromiseQueue/package.json +1 -0
- package/usePromiseQueue/usePromiseQueue.d.ts +6 -0
- package/usePromiseQueue/usePromiseQueue.js +89 -0
- package/usePromiseQueue/usePromiseQueue.js.map +1 -0
package/esm/index.js
CHANGED
|
@@ -21,4 +21,6 @@ export { useInventory } from './useInventory';
|
|
|
21
21
|
export * from './CypressUtils';
|
|
22
22
|
export * from './useInsightsNavigate';
|
|
23
23
|
export * from './useExportPDF';
|
|
24
|
+
export * from './usePromiseQueue';
|
|
25
|
+
export * from './useFetchBatched';
|
|
24
26
|
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAC;2BAChC,WAAW;sBAAxB,OAAO;AACnB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;gCAC5B,gBAAgB;2BAAlC,YAAY;AACxB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;wBACvC,QAAQ;mBAAlB,IAAI;4BACU,YAAY;uBAA1B,QAAQ;AACpB,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;gCACjC,mBAAmB;2BAArC,YAAY;AACxB,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC1D,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAC;2BAChC,WAAW;sBAAxB,OAAO;AACnB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;gCAC5B,gBAAgB;2BAAlC,YAAY;AACxB,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;wBACvC,QAAQ;mBAAlB,IAAI;4BACU,YAAY;uBAA1B,QAAQ;AACpB,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;gCACjC,mBAAmB;2BAArC,YAAY;AACxB,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC1D,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/useFetchBatched/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
+
if (ar || !(i in from)) {
|
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
+
ar[i] = from[i];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
+
};
|
|
10
|
+
import usePromiseQueue from '../usePromiseQueue';
|
|
11
|
+
var useFetchBatched = function () {
|
|
12
|
+
var _a = usePromiseQueue(), isLoading = _a.isResolving, resolve = _a.resolve;
|
|
13
|
+
return {
|
|
14
|
+
isLoading: isLoading,
|
|
15
|
+
fetchBatched: function (fetchFunction, total, filter, batchSize) {
|
|
16
|
+
if (batchSize === void 0) { batchSize = 50; }
|
|
17
|
+
var pages = Math.ceil(total / batchSize) || 1;
|
|
18
|
+
var results = resolve(__spreadArray([], new Array(pages), true).map(function (_, pageIdx) { return function () { return fetchFunction(filter, { page: pageIdx + 1, per_page: batchSize }); }; }));
|
|
19
|
+
return results;
|
|
20
|
+
},
|
|
21
|
+
fetchBatchedInline: function (fetchFunction, list, batchSize) {
|
|
22
|
+
if (batchSize === void 0) { batchSize = 20; }
|
|
23
|
+
var pages = Math.ceil(list.length / batchSize) || 1;
|
|
24
|
+
var results = resolve(__spreadArray([], new Array(pages), true).map(function (_, pageIdx) { return function () { return fetchFunction(list.slice(batchSize * pageIdx, batchSize * (pageIdx + 1))); }; }));
|
|
25
|
+
return results;
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export default useFetchBatched;
|
|
30
|
+
//# sourceMappingURL=useFetchBatched.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFetchBatched.js","sourceRoot":"","sources":["../../src/useFetchBatched/useFetchBatched.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,eAAe,MAAM,oBAAoB,CAAC;AAKjD,IAAM,eAAe,GAAG;IAChB,IAAA,KAAsC,eAAe,EAAE,EAAxC,SAAS,iBAAA,EAAE,OAAO,aAAsB,CAAC;IAE9D,OAAO;QACL,SAAS,WAAA;QACT,YAAY,EAAE,UAAC,aAAgC,EAAE,KAAa,EAAE,MAAc,EAAE,SAAc;YAAd,0BAAA,EAAA,cAAc;YAC5F,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAM,OAAO,GAAG,OAAO,CAAC,kBAAI,IAAI,KAAK,CAAC,KAAK,CAAC,QAAE,GAAG,CAAC,UAAC,CAAC,EAAE,OAAO,IAAK,OAAA,cAAM,OAAA,aAAa,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAjE,CAAiE,EAAvE,CAAuE,CAAC,CAAC,CAAC;YAE5I,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,kBAAkB,EAAE,UAAC,aAAgC,EAAE,IAAmB,EAAE,SAAc;YAAd,0BAAA,EAAA,cAAc;YACxF,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAEtD,IAAM,OAAO,GAAG,OAAO,CACrB,kBAAI,IAAI,KAAK,CAAC,KAAK,CAAC,QAAE,GAAG,CAAC,UAAC,CAAC,EAAE,OAAO,IAAK,OAAA,cAAM,OAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAzE,CAAyE,EAA/E,CAA+E,CAAC,CAC3H,CAAC;YAEF,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/usePromiseQueue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
+
function step(op) {
|
|
26
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
+
switch (op[0]) {
|
|
31
|
+
case 0: case 1: t = op; break;
|
|
32
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
+
default:
|
|
36
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
+
if (t[2]) _.ops.pop();
|
|
41
|
+
_.trys.pop(); continue;
|
|
42
|
+
}
|
|
43
|
+
op = body.call(thisArg, _);
|
|
44
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
import { useCallback, useState } from 'react';
|
|
49
|
+
import pAll from 'p-all';
|
|
50
|
+
var DEFAULT_CONCURRENT_PROMISES = 2;
|
|
51
|
+
var usePromiseQueue = function (concurrency) {
|
|
52
|
+
if (concurrency === void 0) { concurrency = DEFAULT_CONCURRENT_PROMISES; }
|
|
53
|
+
var defaultState = {
|
|
54
|
+
isResolving: false,
|
|
55
|
+
promiseResults: undefined,
|
|
56
|
+
};
|
|
57
|
+
var _a = useState(defaultState), results = _a[0], setResults = _a[1];
|
|
58
|
+
var resolve = useCallback(function (fns) { return __awaiter(void 0, void 0, void 0, function () {
|
|
59
|
+
var results;
|
|
60
|
+
return __generator(this, function (_a) {
|
|
61
|
+
switch (_a.label) {
|
|
62
|
+
case 0:
|
|
63
|
+
setResults(function (state) { return (__assign(__assign({}, state), { isResolving: true })); });
|
|
64
|
+
return [4, pAll(fns, {
|
|
65
|
+
concurrency: concurrency,
|
|
66
|
+
})];
|
|
67
|
+
case 1:
|
|
68
|
+
results = _a.sent();
|
|
69
|
+
setResults({
|
|
70
|
+
isResolving: false,
|
|
71
|
+
promiseResults: results,
|
|
72
|
+
});
|
|
73
|
+
return [2, results];
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}); }, [concurrency]);
|
|
77
|
+
return {
|
|
78
|
+
isResolving: results.isResolving,
|
|
79
|
+
results: results.promiseResults,
|
|
80
|
+
resolve: resolve,
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
export default usePromiseQueue;
|
|
84
|
+
//# sourceMappingURL=usePromiseQueue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePromiseQueue.js","sourceRoot":"","sources":["../../src/usePromiseQueue/usePromiseQueue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,IAAI,MAAM,OAAO,CAAC;AAEzB,IAAM,2BAA2B,GAAG,CAAC,CAAC;AAStC,IAAM,eAAe,GAAG,UAAC,WAAyC;IAAzC,4BAAA,EAAA,yCAAyC;IAChE,IAAM,YAAY,GAA0B;QAC1C,WAAW,EAAE,KAAK;QAClB,cAAc,EAAE,SAAS;KAC1B,CAAC;IACI,IAAA,KAAwB,QAAQ,CAAC,YAAY,CAAC,EAA7C,OAAO,QAAA,EAAE,UAAU,QAA0B,CAAC;IAErD,IAAM,OAAO,GAAG,WAAW,CACzB,UAAO,GAAQ;;;;;oBACb,UAAU,CAAC,UAAC,KAAK,IAAK,OAAA,uBACjB,KAAK,KACR,WAAW,EAAE,IAAI,IACjB,EAHoB,CAGpB,CAAC,CAAC;oBACiB,WAAM,IAAI,CAAC,GAAG,EAAE;4BACnC,WAAW,aAAA;yBACZ,CAAC,EAAA;;oBAFI,OAAO,GAAQ,SAEnB;oBACF,UAAU,CAAC;wBACT,WAAW,EAAE,KAAK;wBAClB,cAAc,EAAE,OAAO;qBACxB,CAAC,CAAC;oBAEH,WAAO,OAAO,EAAC;;;SAChB,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,cAAc;QAC/B,OAAO,SAAA;KACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -57,4 +57,6 @@ Object.defineProperty(exports, "useInventory", { enumerable: true, get: function
|
|
|
57
57
|
__exportStar(require("./CypressUtils"), exports);
|
|
58
58
|
__exportStar(require("./useInsightsNavigate"), exports);
|
|
59
59
|
__exportStar(require("./useExportPDF"), exports);
|
|
60
|
+
__exportStar(require("./usePromiseQueue"), exports);
|
|
61
|
+
__exportStar(require("./useFetchBatched"), exports);
|
|
60
62
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAAyD;AAAhD,6HAAA,OAAO,OAAoB;AACpC,qDAAqC;AACrC,+CAA0D;AAAjD,8HAAA,OAAO,OAAiB;AACjC,+DAA+C;AAC/C,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB;AACtC,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,+CAA+B;AAC/B,uDAAuC;AACvC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,kEAAkD;AAClD,uCAA0D;AAAjD,8HAAA,OAAO,OAAqB;AACrC,6CAA2B;AAC3B,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iDAA+B;AAC/B,wDAAsC;AACtC,iDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAAyD;AAAhD,6HAAA,OAAO,OAAoB;AACpC,qDAAqC;AACrC,+CAA0D;AAAjD,8HAAA,OAAO,OAAiB;AACjC,+DAA+C;AAC/C,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB;AACtC,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAClC,+CAA+B;AAC/B,uDAAuC;AACvC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,kEAAkD;AAClD,uCAA0D;AAAjD,8HAAA,OAAO,OAAqB;AACrC,6CAA2B;AAC3B,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iDAA+B;AAC/B,wDAAsC;AACtC,iDAA+B;AAC/B,oDAAkC;AAClC,oDAAkC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redhat-cloud-services/frontend-components-utilities",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.9",
|
|
4
4
|
"description": "Util functions for RedHat Cloud Services project.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -32,17 +32,17 @@
|
|
|
32
32
|
"react": "^18.2.0",
|
|
33
33
|
"react-dom": "^18.2.0",
|
|
34
34
|
"react-redux": ">=7.0.0",
|
|
35
|
-
"react-router-dom": "^5.0.0 || ^6.0.0"
|
|
36
|
-
"cypress": ">=12.0.0 < 14.0.0"
|
|
35
|
+
"react-router-dom": "^5.0.0 || ^6.0.0"
|
|
37
36
|
},
|
|
38
37
|
"dependencies": {
|
|
39
38
|
"@redhat-cloud-services/rbac-client": "^1.0.100",
|
|
40
39
|
"@redhat-cloud-services/types": "^0.0.24",
|
|
41
40
|
"@sentry/browser": "^5.30.0",
|
|
42
41
|
"awesome-debounce-promise": "^2.1.0",
|
|
43
|
-
"axios": "^0.28.
|
|
42
|
+
"axios": "^0.28.1",
|
|
44
43
|
"commander": "^2.20.3",
|
|
45
44
|
"mkdirp": "^1.0.4",
|
|
45
|
+
"p-all": "^5.0.0",
|
|
46
46
|
"react-content-loader": "^6.2.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './useFetchBatched';
|
|
@@ -0,0 +1,9 @@
|
|
|
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.default = void 0;
|
|
7
|
+
var useFetchBatched_1 = require("./useFetchBatched");
|
|
8
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(useFetchBatched_1).default; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/useFetchBatched/index.ts"],"names":[],"mappings":";;;;;;AAAA,qDAA4C;AAAnC,2HAAA,OAAO,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"main":"index.js","module":"../esm/useFetchBatched/index.js","typings":"index.d.ts"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
type FetchFunctionType = (filter: object | Array<string>, options?: object) => void;
|
|
2
|
+
declare const useFetchBatched: () => {
|
|
3
|
+
isLoading: boolean;
|
|
4
|
+
fetchBatched: (fetchFunction: FetchFunctionType, total: number, filter: object, batchSize?: number) => Promise<any>;
|
|
5
|
+
fetchBatchedInline: (fetchFunction: FetchFunctionType, list: Array<string>, batchSize?: number) => Promise<any>;
|
|
6
|
+
};
|
|
7
|
+
export default useFetchBatched;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
3
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
4
|
+
if (ar || !(i in from)) {
|
|
5
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
6
|
+
ar[i] = from[i];
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
var usePromiseQueue_1 = __importDefault(require("../usePromiseQueue"));
|
|
16
|
+
var useFetchBatched = function () {
|
|
17
|
+
var _a = (0, usePromiseQueue_1.default)(), isLoading = _a.isResolving, resolve = _a.resolve;
|
|
18
|
+
return {
|
|
19
|
+
isLoading: isLoading,
|
|
20
|
+
fetchBatched: function (fetchFunction, total, filter, batchSize) {
|
|
21
|
+
if (batchSize === void 0) { batchSize = 50; }
|
|
22
|
+
var pages = Math.ceil(total / batchSize) || 1;
|
|
23
|
+
var results = resolve(__spreadArray([], new Array(pages), true).map(function (_, pageIdx) { return function () { return fetchFunction(filter, { page: pageIdx + 1, per_page: batchSize }); }; }));
|
|
24
|
+
return results;
|
|
25
|
+
},
|
|
26
|
+
fetchBatchedInline: function (fetchFunction, list, batchSize) {
|
|
27
|
+
if (batchSize === void 0) { batchSize = 20; }
|
|
28
|
+
var pages = Math.ceil(list.length / batchSize) || 1;
|
|
29
|
+
var results = resolve(__spreadArray([], new Array(pages), true).map(function (_, pageIdx) { return function () { return fetchFunction(list.slice(batchSize * pageIdx, batchSize * (pageIdx + 1))); }; }));
|
|
30
|
+
return results;
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
exports.default = useFetchBatched;
|
|
35
|
+
//# sourceMappingURL=useFetchBatched.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFetchBatched.js","sourceRoot":"","sources":["../src/useFetchBatched/useFetchBatched.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uEAAiD;AAKjD,IAAM,eAAe,GAAG;IAChB,IAAA,KAAsC,IAAA,yBAAe,GAAE,EAAxC,SAAS,iBAAA,EAAE,OAAO,aAAsB,CAAC;IAE9D,OAAO;QACL,SAAS,WAAA;QACT,YAAY,EAAE,UAAC,aAAgC,EAAE,KAAa,EAAE,MAAc,EAAE,SAAc;YAAd,0BAAA,EAAA,cAAc;YAC5F,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAM,OAAO,GAAG,OAAO,CAAC,kBAAI,IAAI,KAAK,CAAC,KAAK,CAAC,QAAE,GAAG,CAAC,UAAC,CAAC,EAAE,OAAO,IAAK,OAAA,cAAM,OAAA,aAAa,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAjE,CAAiE,EAAvE,CAAuE,CAAC,CAAC,CAAC;YAE5I,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,kBAAkB,EAAE,UAAC,aAAgC,EAAE,IAAmB,EAAE,SAAc;YAAd,0BAAA,EAAA,cAAc;YACxF,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAEtD,IAAM,OAAO,GAAG,OAAO,CACrB,kBAAI,IAAI,KAAK,CAAC,KAAK,CAAC,QAAE,GAAG,CAAC,UAAC,CAAC,EAAE,OAAO,IAAK,OAAA,cAAM,OAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAzE,CAAyE,EAA/E,CAA+E,CAAC,CAC3H,CAAC;YAEF,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './usePromiseQueue';
|
|
@@ -0,0 +1,9 @@
|
|
|
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.default = void 0;
|
|
7
|
+
var usePromiseQueue_1 = require("./usePromiseQueue");
|
|
8
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(usePromiseQueue_1).default; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/usePromiseQueue/index.ts"],"names":[],"mappings":";;;;;;AAAA,qDAA4C;AAAnC,2HAAA,OAAO,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"main":"index.js","module":"../esm/usePromiseQueue/index.js","typings":"index.d.ts"}
|
|
@@ -0,0 +1,89 @@
|
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
var react_1 = require("react");
|
|
54
|
+
var p_all_1 = __importDefault(require("p-all"));
|
|
55
|
+
var DEFAULT_CONCURRENT_PROMISES = 2;
|
|
56
|
+
var usePromiseQueue = function (concurrency) {
|
|
57
|
+
if (concurrency === void 0) { concurrency = DEFAULT_CONCURRENT_PROMISES; }
|
|
58
|
+
var defaultState = {
|
|
59
|
+
isResolving: false,
|
|
60
|
+
promiseResults: undefined,
|
|
61
|
+
};
|
|
62
|
+
var _a = (0, react_1.useState)(defaultState), results = _a[0], setResults = _a[1];
|
|
63
|
+
var resolve = (0, react_1.useCallback)(function (fns) { return __awaiter(void 0, void 0, void 0, function () {
|
|
64
|
+
var results;
|
|
65
|
+
return __generator(this, function (_a) {
|
|
66
|
+
switch (_a.label) {
|
|
67
|
+
case 0:
|
|
68
|
+
setResults(function (state) { return (__assign(__assign({}, state), { isResolving: true })); });
|
|
69
|
+
return [4, (0, p_all_1.default)(fns, {
|
|
70
|
+
concurrency: concurrency,
|
|
71
|
+
})];
|
|
72
|
+
case 1:
|
|
73
|
+
results = _a.sent();
|
|
74
|
+
setResults({
|
|
75
|
+
isResolving: false,
|
|
76
|
+
promiseResults: results,
|
|
77
|
+
});
|
|
78
|
+
return [2, results];
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}); }, [concurrency]);
|
|
82
|
+
return {
|
|
83
|
+
isResolving: results.isResolving,
|
|
84
|
+
results: results.promiseResults,
|
|
85
|
+
resolve: resolve,
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
exports.default = usePromiseQueue;
|
|
89
|
+
//# sourceMappingURL=usePromiseQueue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePromiseQueue.js","sourceRoot":"","sources":["../src/usePromiseQueue/usePromiseQueue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA8C;AAC9C,gDAAyB;AAEzB,IAAM,2BAA2B,GAAG,CAAC,CAAC;AAStC,IAAM,eAAe,GAAG,UAAC,WAAyC;IAAzC,4BAAA,EAAA,yCAAyC;IAChE,IAAM,YAAY,GAA0B;QAC1C,WAAW,EAAE,KAAK;QAClB,cAAc,EAAE,SAAS;KAC1B,CAAC;IACI,IAAA,KAAwB,IAAA,gBAAQ,EAAC,YAAY,CAAC,EAA7C,OAAO,QAAA,EAAE,UAAU,QAA0B,CAAC;IAErD,IAAM,OAAO,GAAG,IAAA,mBAAW,EACzB,UAAO,GAAQ;;;;;oBACb,UAAU,CAAC,UAAC,KAAK,IAAK,OAAA,uBACjB,KAAK,KACR,WAAW,EAAE,IAAI,IACjB,EAHoB,CAGpB,CAAC,CAAC;oBACiB,WAAM,IAAA,eAAI,EAAC,GAAG,EAAE;4BACnC,WAAW,aAAA;yBACZ,CAAC,EAAA;;oBAFI,OAAO,GAAQ,SAEnB;oBACF,UAAU,CAAC;wBACT,WAAW,EAAE,KAAK;wBAClB,cAAc,EAAE,OAAO;qBACxB,CAAC,CAAC;oBAEH,WAAO,OAAO,EAAC;;;SAChB,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,OAAO,EAAE,OAAO,CAAC,cAAc;QAC/B,OAAO,SAAA;KACR,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,eAAe,CAAC"}
|