aidbox-react 1.3.1 → 1.3.5
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/lib/components/RenderRemoteData/{index.jsx → index.js} +4 -4
- package/lib/components/RenderRemoteData/index.js.map +1 -0
- package/lib/hooks/service.d.ts +4 -3
- package/lib/hooks/service.js +52 -20
- package/lib/hooks/service.js.map +1 -1
- package/package.json +2 -2
- package/src/hooks/service.ts +35 -15
- package/src/services/service.ts +1 -1
- package/CHANGELOG.md +0 -12
- package/lib/components/RenderRemoteData/index.jsx.map +0 -1
|
@@ -6,10 +6,10 @@ var react_1 = tslib_1.__importDefault(require("react"));
|
|
|
6
6
|
var remoteData_1 = require("../../libs/remoteData");
|
|
7
7
|
var error_1 = require("../../utils/error");
|
|
8
8
|
function renderFailureDefault(error) {
|
|
9
|
-
return
|
|
9
|
+
return react_1.default.createElement(react_1.default.Fragment, null, error_1.formatError(error));
|
|
10
10
|
}
|
|
11
11
|
function renderLoadingDefault() {
|
|
12
|
-
return
|
|
12
|
+
return react_1.default.createElement(react_1.default.Fragment, null, "Loading...");
|
|
13
13
|
}
|
|
14
14
|
function RenderRemoteData(props) {
|
|
15
15
|
var remoteData = props.remoteData, children = props.children, renderFailure = props.renderFailure, renderLoading = props.renderLoading, renderNotAsked = props.renderNotAsked;
|
|
@@ -33,8 +33,8 @@ function RenderRemoteData(props) {
|
|
|
33
33
|
exports.RenderRemoteData = RenderRemoteData;
|
|
34
34
|
function withRender(config) {
|
|
35
35
|
return function (props) {
|
|
36
|
-
return
|
|
36
|
+
return react_1.default.createElement(RenderRemoteData, tslib_1.__assign({}, config, props));
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
exports.withRender = withRender;
|
|
40
|
-
//# sourceMappingURL=index.
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/RenderRemoteData/index.tsx"],"names":[],"mappings":";;;;AAAA,wDAA0B;AAE1B,oDAAgG;AAChG,2CAAgD;AAahD,SAAS,oBAAoB,CAAI,KAAQ;IACrC,OAAO,8DAAG,mBAAW,CAAC,KAAK,CAAC,CAAI,CAAC;AACrC,CAAC;AAED,SAAS,oBAAoB;IACzB,OAAO,2EAAe,CAAC;AAC3B,CAAC;AAID,SAAgB,gBAAgB,CAAa,KAAkC;IACnE,IAAA,UAAU,GAA6D,KAAK,WAAlE,EAAE,QAAQ,GAAmD,KAAK,SAAxD,EAAE,aAAa,GAAoC,KAAK,cAAzC,EAAE,aAAa,GAAqB,KAAK,cAA1B,EAAE,cAAc,GAAK,KAAK,eAAV,CAAW;IACrF,IAAI,uBAAU,CAAC,UAAU,CAAC,EAAE;QACxB,OAAO,cAAc,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACnD;SAAM,IAAI,sBAAS,CAAC,UAAU,CAAC,EAAE;QAC9B,OAAO,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,oBAAoB,CAAC,EAAE,CAAC;KACpD;SAAM,IAAI,sBAAS,CAAC,UAAU,CAAC,EAAE;QAC9B,OAAO,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,oBAAoB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACpE;SAAM,IAAI,sBAAS,CAAC,UAAU,CAAC,EAAE;QAC9B,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KACpC;SAAM;QACH,IAAM,CAAC,GAAU,UAAU,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;KACtB;AACL,CAAC;AAdD,4CAcC;AAED,SAAgB,UAAU,CAAU,MAAuB;IACvD,OAAO,UAAY,KAAkC;QACjD,OAAO,8BAAC,gBAAgB,uBAAK,MAAM,EAAM,KAAK,EAAI,CAAC;IACvD,CAAC,CAAC;AACN,CAAC;AAJD,gCAIC"}
|
package/lib/hooks/service.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { RemoteData, RemoteDataResult } from '../libs/remoteData';
|
|
2
|
-
export interface ServiceManager<S> {
|
|
3
|
-
reload: () =>
|
|
2
|
+
export interface ServiceManager<S, F> {
|
|
3
|
+
reload: () => Promise<RemoteDataResult<S, F>>;
|
|
4
|
+
softReload: () => Promise<RemoteDataResult<S, F>>;
|
|
4
5
|
set: (dataOrFn: S | ((data: S) => S)) => void;
|
|
5
6
|
}
|
|
6
|
-
export declare function useService<S = any, F = any>(asyncFunction: () => Promise<RemoteDataResult<S, F>>, deps?: ReadonlyArray<any>): [RemoteData<S, F>, ServiceManager<S>];
|
|
7
|
+
export declare function useService<S = any, F = any>(asyncFunction: () => Promise<RemoteDataResult<S, F>>, deps?: ReadonlyArray<any>): [RemoteData<S, F>, ServiceManager<S, F>];
|
package/lib/hooks/service.js
CHANGED
|
@@ -8,37 +8,69 @@ function useService(asyncFunction, deps) {
|
|
|
8
8
|
var _this = this;
|
|
9
9
|
if (deps === void 0) { deps = []; }
|
|
10
10
|
var _a = react_1.useState(remoteData_1.notAsked), remoteData = _a[0], setRemoteData = _a[1];
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
var load = react_1.useCallback(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
12
|
+
var err_1;
|
|
13
|
+
return tslib_1.__generator(this, function (_a) {
|
|
14
|
+
switch (_a.label) {
|
|
15
|
+
case 0:
|
|
16
|
+
_a.trys.push([0, 2, , 3]);
|
|
17
|
+
return [4 /*yield*/, asyncFunction()];
|
|
18
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
19
|
+
case 2:
|
|
20
|
+
err_1 = _a.sent();
|
|
21
|
+
return [2 /*return*/, remoteData_1.failure(err_1.response ? err_1.response.data : err_1.message)];
|
|
22
|
+
case 3: return [2 /*return*/];
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}); }, deps);
|
|
26
|
+
var softReload = react_1.useCallback(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
27
|
+
var response;
|
|
28
|
+
return tslib_1.__generator(this, function (_a) {
|
|
29
|
+
switch (_a.label) {
|
|
30
|
+
case 0: return [4 /*yield*/, load()];
|
|
31
|
+
case 1:
|
|
32
|
+
response = _a.sent();
|
|
33
|
+
setRemoteData(response);
|
|
34
|
+
return [2 /*return*/, response];
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}); }, tslib_1.__spreadArrays(deps, [load]));
|
|
38
|
+
var reload = react_1.useCallback(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
39
|
+
var response;
|
|
40
|
+
return tslib_1.__generator(this, function (_a) {
|
|
41
|
+
switch (_a.label) {
|
|
42
|
+
case 0:
|
|
43
|
+
setRemoteData(remoteData_1.loading);
|
|
44
|
+
return [4 /*yield*/, load()];
|
|
45
|
+
case 1:
|
|
46
|
+
response = _a.sent();
|
|
47
|
+
setRemoteData(response);
|
|
48
|
+
return [2 /*return*/, response];
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}); }, tslib_1.__spreadArrays(deps, [load]));
|
|
13
52
|
react_1.useEffect(function () {
|
|
14
53
|
(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
15
|
-
var
|
|
16
|
-
return tslib_1.__generator(this, function (
|
|
17
|
-
switch (
|
|
54
|
+
var _a;
|
|
55
|
+
return tslib_1.__generator(this, function (_b) {
|
|
56
|
+
switch (_b.label) {
|
|
18
57
|
case 0:
|
|
19
58
|
setRemoteData(remoteData_1.loading);
|
|
20
|
-
_a
|
|
59
|
+
_a = setRemoteData;
|
|
60
|
+
return [4 /*yield*/, load()];
|
|
21
61
|
case 1:
|
|
22
|
-
_a.
|
|
23
|
-
return [
|
|
24
|
-
case 2:
|
|
25
|
-
response = _a.sent();
|
|
26
|
-
setRemoteData(response);
|
|
27
|
-
return [3 /*break*/, 4];
|
|
28
|
-
case 3:
|
|
29
|
-
err_1 = _a.sent();
|
|
30
|
-
setRemoteData(remoteData_1.failure(err_1.response ? err_1.response.data : err_1.message));
|
|
31
|
-
return [3 /*break*/, 4];
|
|
32
|
-
case 4: return [2 /*return*/];
|
|
62
|
+
_a.apply(void 0, [_b.sent()]);
|
|
63
|
+
return [2 /*return*/];
|
|
33
64
|
}
|
|
34
65
|
});
|
|
35
66
|
}); })();
|
|
36
|
-
// eslint-disable-next-line
|
|
37
|
-
},
|
|
67
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
68
|
+
}, tslib_1.__spreadArrays(deps, [load]));
|
|
38
69
|
return [
|
|
39
70
|
remoteData,
|
|
40
71
|
{
|
|
41
|
-
reload:
|
|
72
|
+
reload: reload,
|
|
73
|
+
softReload: softReload,
|
|
42
74
|
set: function (dataOrFn) {
|
|
43
75
|
if (typeof dataOrFn === 'function') {
|
|
44
76
|
setRemoteData(function (rd) { return (remoteData_1.isSuccess(rd) ? remoteData_1.success(dataOrFn(rd.data)) : rd); });
|
package/lib/hooks/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/hooks/service.ts"],"names":[],"mappings":";;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/hooks/service.ts"],"names":[],"mappings":";;;;AAAA,+BAAyD;AAEzD,iDAAkH;AAQlH,SAAgB,UAAU,CACtB,aAAoD,EACpD,IAA6B;IAFjC,iBAsDC;IApDG,qBAAA,EAAA,SAA6B;IAEvB,IAAA,KAA8B,gBAAQ,CAAmB,qBAAQ,CAAC,EAAjE,UAAU,QAAA,EAAE,aAAa,QAAwC,CAAC;IAEzE,IAAM,IAAI,GAAG,mBAAW,CAAC;;;;;;oBAEV,qBAAM,aAAa,EAAE,EAAA;wBAA5B,sBAAO,SAAqB,EAAC;;;oBAE7B,sBAAO,oBAAO,CAAC,KAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAG,CAAC,OAAO,CAAC,EAAC;;;;SAGtE,EAAE,IAAI,CAAC,CAAC;IAET,IAAM,UAAU,GAAG,mBAAW,CAAC;;;;wBACV,qBAAM,IAAI,EAAE,EAAA;;oBAAvB,QAAQ,GAAG,SAAY;oBAC7B,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAExB,sBAAO,QAAQ,EAAC;;;SAEnB,yBAAM,IAAI,GAAE,IAAI,GAAE,CAAC;IAEpB,IAAM,MAAM,GAAG,mBAAW,CAAC;;;;;oBACvB,aAAa,CAAC,oBAAO,CAAC,CAAC;oBACN,qBAAM,IAAI,EAAE,EAAA;;oBAAvB,QAAQ,GAAG,SAAY;oBAC7B,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAExB,sBAAO,QAAQ,EAAC;;;SAEnB,yBAAM,IAAI,GAAE,IAAI,GAAE,CAAC;IAEpB,iBAAS,CAAC;QACN,CAAC;;;;;wBACG,aAAa,CAAC,oBAAO,CAAC,CAAC;wBACvB,KAAA,aAAa,CAAA;wBAAC,qBAAM,IAAI,EAAE,EAAA;;wBAA1B,kBAAc,SAAY,EAAC,CAAC;;;;aAC/B,CAAC,EAAE,CAAC;QACL,uDAAuD;IAC3D,CAAC,yBAAM,IAAI,GAAE,IAAI,GAAE,CAAC;IAEpB,OAAO;QACH,UAAU;QACV;YACI,MAAM,QAAA;YACN,UAAU,YAAA;YACV,GAAG,EAAE,UAAC,QAA8B;gBAChC,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;oBAChC,aAAa,CAAC,UAAC,EAAE,IAAK,OAAA,CAAC,sBAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAO,CAAE,QAA2B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAArE,CAAqE,CAAC,CAAC;iBAChG;qBAAM;oBACH,aAAa,CAAC,oBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACpC;YACL,CAAC;SACJ;KACJ,CAAC;AACN,CAAC;AAtDD,gCAsDC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aidbox-react",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.5",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "tsc",
|
|
6
6
|
"coverage": "jest --config=./jest.config.json --coverage --coverageReporters=text-lcov | coveralls",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"prepare": "npm run build"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"axios": "^0.21.
|
|
12
|
+
"axios": "^0.21.2",
|
|
13
13
|
"moment": "^2.29.1"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
package/src/hooks/service.ts
CHANGED
|
@@ -1,38 +1,58 @@
|
|
|
1
|
-
import { useEffect, useState } from 'react';
|
|
1
|
+
import { useEffect, useState, useCallback } from 'react';
|
|
2
2
|
|
|
3
3
|
import { loading, notAsked, RemoteData, RemoteDataResult, success, failure, isSuccess } from '../libs/remoteData';
|
|
4
4
|
|
|
5
|
-
export interface ServiceManager<S> {
|
|
6
|
-
reload: () =>
|
|
5
|
+
export interface ServiceManager<S, F> {
|
|
6
|
+
reload: () => Promise<RemoteDataResult<S, F>>;
|
|
7
|
+
softReload: () => Promise<RemoteDataResult<S, F>>;
|
|
7
8
|
set: (dataOrFn: S | ((data: S) => S)) => void;
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
export function useService<S = any, F = any>(
|
|
11
12
|
asyncFunction: () => Promise<RemoteDataResult<S, F>>,
|
|
12
13
|
deps: ReadonlyArray<any> = []
|
|
13
|
-
): [RemoteData<S, F>, ServiceManager<S>] {
|
|
14
|
+
): [RemoteData<S, F>, ServiceManager<S, F>] {
|
|
14
15
|
const [remoteData, setRemoteData] = useState<RemoteData<S, F>>(notAsked);
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
const load = useCallback(async () => {
|
|
18
|
+
try {
|
|
19
|
+
return await asyncFunction();
|
|
20
|
+
} catch (err) {
|
|
21
|
+
return failure(err.response ? err.response.data : err.message);
|
|
22
|
+
}
|
|
23
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
24
|
+
}, deps);
|
|
25
|
+
|
|
26
|
+
const softReload = useCallback(async () => {
|
|
27
|
+
const response = await load();
|
|
28
|
+
setRemoteData(response);
|
|
29
|
+
|
|
30
|
+
return response;
|
|
31
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32
|
+
}, [...deps, load]);
|
|
33
|
+
|
|
34
|
+
const reload = useCallback(async () => {
|
|
35
|
+
setRemoteData(loading);
|
|
36
|
+
const response = await load();
|
|
37
|
+
setRemoteData(response);
|
|
38
|
+
|
|
39
|
+
return response;
|
|
40
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
41
|
+
}, [...deps, load]);
|
|
18
42
|
|
|
19
43
|
useEffect(() => {
|
|
20
44
|
(async () => {
|
|
21
45
|
setRemoteData(loading);
|
|
22
|
-
|
|
23
|
-
const response: RemoteDataResult<S, F> = await asyncFunction();
|
|
24
|
-
setRemoteData(response);
|
|
25
|
-
} catch (err) {
|
|
26
|
-
setRemoteData(failure(err.response ? err.response.data : err.message));
|
|
27
|
-
}
|
|
46
|
+
setRemoteData(await load());
|
|
28
47
|
})();
|
|
29
|
-
// eslint-disable-next-line
|
|
30
|
-
}, deps
|
|
48
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49
|
+
}, [...deps, load]);
|
|
31
50
|
|
|
32
51
|
return [
|
|
33
52
|
remoteData,
|
|
34
53
|
{
|
|
35
|
-
reload
|
|
54
|
+
reload,
|
|
55
|
+
softReload,
|
|
36
56
|
set: (dataOrFn: S | ((data: S) => S)) => {
|
|
37
57
|
if (typeof dataOrFn === 'function') {
|
|
38
58
|
setRemoteData((rd) => (isSuccess(rd) ? success((dataOrFn as (data: S) => S)(rd.data)) : rd));
|
package/src/services/service.ts
CHANGED
|
@@ -20,7 +20,7 @@ export async function service<S = any, F = any>(config: AxiosRequestConfig): Pro
|
|
|
20
20
|
const response = await axiosInstance(config);
|
|
21
21
|
|
|
22
22
|
return success(response.data);
|
|
23
|
-
} catch (err) {
|
|
23
|
+
} catch (err: any) {
|
|
24
24
|
return failure(err.response ? err.response.data : err.message);
|
|
25
25
|
}
|
|
26
26
|
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
## 1.3.0
|
|
2
|
-
|
|
3
|
-
- findFHIRResources uses getFHIRResources under the hood
|
|
4
|
-
- formatError respects OperationOutcome.issue.diagnostics in addition to OperationOutcome.issue.details.text
|
|
5
|
-
|
|
6
|
-
## 1.2.0
|
|
7
|
-
|
|
8
|
-
- All requests helpers from FHIR module returns Resources wrapped with WithId type-wrapper.
|
|
9
|
-
|
|
10
|
-
## 1.1.1
|
|
11
|
-
|
|
12
|
-
- Stable release
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../src/components/RenderRemoteData/index.tsx"],"names":[],"mappings":";;;;AAAA,wDAA0B;AAE1B,oDAAgG;AAChG,2CAAgD;AAahD,SAAS,oBAAoB,CAAI,KAAQ;IACrC,OAAO,EAAE,CAAC,mBAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,SAAS,oBAAoB;IACzB,OAAO,EAAE,UAAU,GAAG,CAAC;AAC3B,CAAC;AAID,SAAgB,gBAAgB,CAAa,KAAkC;IACnE,IAAA,UAAU,GAA6D,KAAK,WAAlE,EAAE,QAAQ,GAAmD,KAAK,SAAxD,EAAE,aAAa,GAAoC,KAAK,cAAzC,EAAE,aAAa,GAAqB,KAAK,cAA1B,EAAE,cAAc,GAAK,KAAK,eAAV,CAAW;IACrF,IAAI,uBAAU,CAAC,UAAU,CAAC,EAAE;QACxB,OAAO,cAAc,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACnD;SAAM,IAAI,sBAAS,CAAC,UAAU,CAAC,EAAE;QAC9B,OAAO,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,oBAAoB,CAAC,EAAE,CAAC;KACpD;SAAM,IAAI,sBAAS,CAAC,UAAU,CAAC,EAAE;QAC9B,OAAO,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,oBAAoB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACpE;SAAM,IAAI,sBAAS,CAAC,UAAU,CAAC,EAAE;QAC9B,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KACpC;SAAM;QACH,IAAM,CAAC,GAAU,UAAU,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;KACtB;AACL,CAAC;AAdD,4CAcC;AAED,SAAgB,UAAU,CAAU,MAAuB;IACvD,OAAO,UAAY,KAAkC;QACjD,OAAO,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,EAAG,CAAC;IACvD,CAAC,CAAC;AACN,CAAC;AAJD,gCAIC"}
|