aidbox-react 1.7.1 → 1.8.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/CHANGELOG.md ADDED
@@ -0,0 +1,44 @@
1
+ ## 1.8.0
2
+
3
+ - Fix race condition when deps changed in useService hook. #61
4
+
5
+ ## 1.7.1
6
+
7
+ - Add an optional refresh_token to the Token interface.
8
+
9
+ ## 1.7.0
10
+
11
+ - Extend usePager hook with loadPrevious, loadPage, hasPrevious, and currentPage properties.
12
+
13
+ ## 1.6.0
14
+
15
+ - Add a compiled and resolved build as default library import.
16
+
17
+ ## 1.5.0
18
+
19
+ - Fix useService hook performance
20
+
21
+ ## 1.4.0
22
+
23
+ - Add softReloadAsync ans reloadAsync to useService manager
24
+
25
+ ## 1.3.3
26
+
27
+ - Adjust the code for new ts
28
+
29
+ ## 1.3.2
30
+
31
+ - Fix build
32
+
33
+ ## 1.3.0
34
+
35
+ - findFHIRResources uses getFHIRResources under the hood
36
+ - formatError respects OperationOutcome.issue.diagnostics in addition to OperationOutcome.issue.details.text
37
+
38
+ ## 1.2.0
39
+
40
+ - All requests helpers from FHIR module returns Resources wrapped with WithId type-wrapper.
41
+
42
+ ## 1.1.1
43
+
44
+ - Stable release
package/dist/cjs/index.js CHANGED
@@ -3050,10 +3050,17 @@ function useService(asyncFunction, deps = []) {
3050
3050
  // eslint-disable-next-line react-hooks/exhaustive-deps
3051
3051
  }), [...deps, load]);
3052
3052
  react.exports.useEffect(() => {
3053
+ let cancelled = false;
3053
3054
  (() => __awaiter(this, void 0, void 0, function* () {
3054
3055
  setRemoteData(loading);
3055
- setRemoteData(yield load());
3056
+ const response = yield load();
3057
+ if (!cancelled) {
3058
+ setRemoteData(response);
3059
+ }
3056
3060
  }))();
3061
+ return () => {
3062
+ cancelled = true;
3063
+ };
3057
3064
  // eslint-disable-next-line react-hooks/exhaustive-deps
3058
3065
  }, [...deps, reloadsCount, load]);
3059
3066
  const set = react.exports.useCallback((dataOrFn) => {
package/dist/esm/index.js CHANGED
@@ -3048,10 +3048,17 @@ function useService(asyncFunction, deps = []) {
3048
3048
  // eslint-disable-next-line react-hooks/exhaustive-deps
3049
3049
  }), [...deps, load]);
3050
3050
  react.exports.useEffect(() => {
3051
+ let cancelled = false;
3051
3052
  (() => __awaiter(this, void 0, void 0, function* () {
3052
3053
  setRemoteData(loading);
3053
- setRemoteData(yield load());
3054
+ const response = yield load();
3055
+ if (!cancelled) {
3056
+ setRemoteData(response);
3057
+ }
3054
3058
  }))();
3059
+ return () => {
3060
+ cancelled = true;
3061
+ };
3055
3062
  // eslint-disable-next-line react-hooks/exhaustive-deps
3056
3063
  }, [...deps, reloadsCount, load]);
3057
3064
  const set = react.exports.useCallback((dataOrFn) => {
@@ -52,20 +52,26 @@ function useService(asyncFunction, deps) {
52
52
  });
53
53
  }); }, tslib_1.__spreadArray(tslib_1.__spreadArray([], deps, true), [load], false));
54
54
  (0, react_1.useEffect)(function () {
55
+ var cancelled = false;
55
56
  (function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
56
- var _a;
57
- return tslib_1.__generator(this, function (_b) {
58
- switch (_b.label) {
57
+ var response;
58
+ return tslib_1.__generator(this, function (_a) {
59
+ switch (_a.label) {
59
60
  case 0:
60
61
  setRemoteData(remoteData_1.loading);
61
- _a = setRemoteData;
62
62
  return [4 /*yield*/, load()];
63
63
  case 1:
64
- _a.apply(void 0, [_b.sent()]);
64
+ response = _a.sent();
65
+ if (!cancelled) {
66
+ setRemoteData(response);
67
+ }
65
68
  return [2 /*return*/];
66
69
  }
67
70
  });
68
71
  }); })();
72
+ return function () {
73
+ cancelled = true;
74
+ };
69
75
  // eslint-disable-next-line react-hooks/exhaustive-deps
70
76
  }, tslib_1.__spreadArray(tslib_1.__spreadArray([], deps, true), [reloadsCount, load], false));
71
77
  var set = (0, react_1.useCallback)(function (dataOrFn) {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/hooks/service.ts"],"names":[],"mappings":";;;;AAAA,+BAAkE;AAElE,iDAAkH;AAalH,SAAgB,UAAU,CACtB,aAAoD,EACpD,IAA6B;IAFjC,iBA8DC;IA5DG,qBAAA,EAAA,SAA6B;IAEvB,IAAA,KAA8B,IAAA,gBAAQ,EAAmB,qBAAQ,CAAC,EAAjE,UAAU,QAAA,EAAE,aAAa,QAAwC,CAAC;IACnE,IAAA,KAAkC,IAAA,gBAAQ,EAAC,CAAC,CAAC,EAA5C,YAAY,QAAA,EAAE,eAAe,QAAe,CAAC;IACpD,IAAM,MAAM,GAAG,IAAA,mBAAW,EAAC,cAAM,OAAA,eAAe,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,CAAC,EAA7B,CAA6B,EAAE,EAAE,CAAC,CAAC;IAEpE,IAAM,IAAI,GAAG,IAAA,mBAAW,EAAC;;;;;;oBAEV,qBAAM,aAAa,EAAE,EAAA;wBAA5B,sBAAO,SAAqB,EAAC;;;oBAE7B,sBAAO,IAAA,oBAAO,EAAC,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,eAAe,GAAG,IAAA,mBAAW,EAAC;;;;wBACf,qBAAM,IAAI,EAAE,EAAA;;oBAAvB,QAAQ,GAAG,SAAY;oBAC7B,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAExB,sBAAO,QAAQ,EAAC;;;SAEnB,kDAAM,IAAI,UAAE,IAAI,UAAE,CAAC;IAEpB,IAAM,WAAW,GAAG,IAAA,mBAAW,EAAC;;;;;oBAC5B,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,kDAAM,IAAI,UAAE,IAAI,UAAE,CAAC;IAEpB,IAAA,iBAAS,EAAC;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,kDAAM,IAAI,UAAE,YAAY,EAAE,IAAI,UAAE,CAAC;IAElC,IAAM,GAAG,GAAG,IAAA,mBAAW,EAAC,UAAC,QAA8B;QACnD,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;YAChC,aAAa,CAAC,UAAC,EAAE,IAAK,OAAA,CAAC,IAAA,sBAAS,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAE,QAA2B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAArE,CAAqE,CAAC,CAAC;SAChG;aAAM;YACH,aAAa,CAAC,IAAA,oBAAO,EAAC,QAAQ,CAAC,CAAC,CAAC;SACpC;QACD,uDAAuD;IAC3D,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,IAAM,OAAO,GAAG,IAAA,eAAO,EACnB,cAAM,OAAA,CAAC;QACH,MAAM,QAAA;QACN,WAAW,aAAA;QACX,eAAe,iBAAA;QACf,GAAG,KAAA;KACN,CAAC,EALI,CAKJ,EACF,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,CAAC,CAC9C,CAAC;IAEF,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AA9DD,gCA8DC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/hooks/service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aidbox-react",
3
- "version": "1.7.1",
3
+ "version": "1.8.0",
4
4
  "scripts": {
5
5
  "build": "tsc & rollup -c",
6
6
  "prebuild": "rimraf lib/* & rimraf dist/*",
@@ -24,7 +24,7 @@ export function useService<S = any, F = any>(
24
24
  const load = useCallback(async () => {
25
25
  try {
26
26
  return await asyncFunction();
27
- } catch (err: any) {
27
+ } catch (err) {
28
28
  return failure(err.response ? err.response.data : err.message);
29
29
  }
30
30
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -48,10 +48,19 @@ export function useService<S = any, F = any>(
48
48
  }, [...deps, load]);
49
49
 
50
50
  useEffect(() => {
51
+ let cancelled = false;
52
+
51
53
  (async () => {
52
54
  setRemoteData(loading);
53
- setRemoteData(await load());
55
+ const response = await load();
56
+ if (!cancelled) {
57
+ setRemoteData(response);
58
+ }
54
59
  })();
60
+
61
+ return () => {
62
+ cancelled = true;
63
+ };
55
64
  // eslint-disable-next-line react-hooks/exhaustive-deps
56
65
  }, [...deps, reloadsCount, load]);
57
66