aidbox-react 1.7.1 → 1.10.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/dist/cjs/components/RenderRemoteData/index.d.ts +1 -0
- package/dist/cjs/hooks/bus.d.ts +1 -0
- package/dist/cjs/hooks/crud.d.ts +1 -0
- package/dist/cjs/hooks/pager.d.ts +1 -0
- package/dist/cjs/hooks/service.d.ts +1 -0
- package/dist/cjs/hooks/shared-state.d.ts +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +112 -118
- package/dist/cjs/libs/remoteData.d.ts +3 -35
- package/dist/cjs/services/fhir.d.ts +1 -0
- package/dist/cjs/services/instance.d.ts +1 -0
- package/dist/cjs/services/search.d.ts +1 -0
- package/dist/cjs/services/service.d.ts +1 -0
- package/dist/cjs/services/token.d.ts +1 -0
- package/dist/cjs/utils/date.d.ts +1 -0
- package/dist/cjs/utils/error.d.ts +1 -0
- package/dist/cjs/utils/tests.d.ts +1 -0
- package/dist/cjs/utils/uuid.d.ts +1 -0
- package/dist/esm/components/RenderRemoteData/index.d.ts +1 -0
- package/dist/esm/hooks/bus.d.ts +1 -0
- package/dist/esm/hooks/crud.d.ts +1 -0
- package/dist/esm/hooks/pager.d.ts +1 -0
- package/dist/esm/hooks/service.d.ts +1 -0
- package/dist/esm/hooks/shared-state.d.ts +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +11 -52
- package/dist/esm/libs/remoteData.d.ts +3 -35
- package/dist/esm/services/fhir.d.ts +1 -0
- package/dist/esm/services/instance.d.ts +1 -0
- package/dist/esm/services/search.d.ts +1 -0
- package/dist/esm/services/service.d.ts +1 -0
- package/dist/esm/services/token.d.ts +1 -0
- package/dist/esm/utils/date.d.ts +1 -0
- package/dist/esm/utils/error.d.ts +1 -0
- package/dist/esm/utils/tests.d.ts +1 -0
- package/dist/esm/utils/uuid.d.ts +1 -0
- package/dist/index.d.ts +3 -36
- package/lib/components/RenderRemoteData/index.d.ts +1 -0
- package/lib/components/RenderRemoteData/index.d.ts.map +1 -0
- package/lib/hooks/bus.d.ts +1 -0
- package/lib/hooks/bus.d.ts.map +1 -0
- package/lib/hooks/crud.d.ts +1 -0
- package/lib/hooks/crud.d.ts.map +1 -0
- package/lib/hooks/pager.d.ts +1 -0
- package/lib/hooks/pager.d.ts.map +1 -0
- package/lib/hooks/service.d.ts +1 -0
- package/lib/hooks/service.d.ts.map +1 -0
- package/lib/hooks/service.js +11 -5
- package/lib/hooks/service.js.map +1 -1
- package/lib/hooks/shared-state.d.ts +1 -0
- package/lib/hooks/shared-state.d.ts.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/libs/remoteData.d.ts +3 -35
- package/lib/libs/remoteData.d.ts.map +1 -0
- package/lib/libs/remoteData.js +13 -59
- package/lib/libs/remoteData.js.map +1 -1
- package/lib/services/fhir.d.ts +1 -0
- package/lib/services/fhir.d.ts.map +1 -0
- package/lib/services/instance.d.ts +1 -0
- package/lib/services/instance.d.ts.map +1 -0
- package/lib/services/search.d.ts +1 -0
- package/lib/services/search.d.ts.map +1 -0
- package/lib/services/service.d.ts +1 -0
- package/lib/services/service.d.ts.map +1 -0
- package/lib/services/token.d.ts +1 -0
- package/lib/services/token.d.ts.map +1 -0
- package/lib/utils/date.d.ts +1 -0
- package/lib/utils/date.d.ts.map +1 -0
- package/lib/utils/error.d.ts +1 -0
- package/lib/utils/error.d.ts.map +1 -0
- package/lib/utils/tests.d.ts +1 -0
- package/lib/utils/tests.d.ts.map +1 -0
- package/lib/utils/uuid.d.ts +1 -0
- package/lib/utils/uuid.d.ts.map +1 -0
- package/package.json +4 -3
- package/src/hooks/service.ts +10 -1
- package/src/libs/remoteData.ts +15 -81
|
@@ -13,3 +13,4 @@ type RenderRemoteDataProps<S, E = any> = RenderRemoteDataBasicProps<S> & RenderC
|
|
|
13
13
|
export declare function RenderRemoteData<S, E = any>(props: RenderRemoteDataProps<S, E>): JSX.Element | null;
|
|
14
14
|
export declare function withRender<E = any>(config: RenderConfig<E>): <S>(props: RenderRemoteDataProps<S, E>) => JSX.Element;
|
|
15
15
|
export {};
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/hooks/bus.d.ts
CHANGED
package/dist/cjs/hooks/crud.d.ts
CHANGED
|
@@ -5,3 +5,4 @@ export interface CRUDManager<T> {
|
|
|
5
5
|
handleDelete: (resourceToDelete: T) => void;
|
|
6
6
|
}
|
|
7
7
|
export declare function useCRUD<T extends AidboxResource>(resourceType: T['resourceType'], id?: string, getOrCreate?: boolean, defaultResource?: Partial<T>): [RemoteData<T>, CRUDManager<T>];
|
|
8
|
+
//# sourceMappingURL=crud.d.ts.map
|
|
@@ -11,3 +11,4 @@ export interface PagerManager {
|
|
|
11
11
|
currentPage: number;
|
|
12
12
|
}
|
|
13
13
|
export declare function usePager<T extends AidboxResource>(resourceType: T['resourceType'], resourcesOnPage?: number, searchParams?: SearchParams): [RemoteData<Bundle<T>>, PagerManager];
|
|
14
|
+
//# sourceMappingURL=pager.d.ts.map
|
|
@@ -6,3 +6,4 @@ export interface ServiceManager<S, F> {
|
|
|
6
6
|
set: (dataOrFn: S | ((data: S) => S)) => void;
|
|
7
7
|
}
|
|
8
8
|
export declare function useService<S = any, F = any>(asyncFunction: () => Promise<RemoteDataResult<S, F>>, deps?: ReadonlyArray<any>): [RemoteData<S, F>, ServiceManager<S, F>];
|
|
9
|
+
//# sourceMappingURL=service.d.ts.map
|
package/dist/cjs/index.d.ts
CHANGED
package/dist/cjs/index.js
CHANGED
|
@@ -1,58 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var remoteData = require('@beda.software/remote-data');
|
|
3
4
|
var axios = require('axios');
|
|
4
5
|
var moment = require('moment');
|
|
5
6
|
|
|
6
|
-
var Status;
|
|
7
|
-
(function (Status) {
|
|
8
|
-
Status["Success"] = "Success";
|
|
9
|
-
Status["Failure"] = "Failure";
|
|
10
|
-
Status["Loading"] = "Loading";
|
|
11
|
-
Status["NotAsked"] = "NotAsked";
|
|
12
|
-
})(Status || (Status = {}));
|
|
13
|
-
const notAsked = {
|
|
14
|
-
status: Status.NotAsked,
|
|
15
|
-
};
|
|
16
|
-
const loading = {
|
|
17
|
-
status: Status.Loading,
|
|
18
|
-
};
|
|
19
|
-
function success(data) {
|
|
20
|
-
return {
|
|
21
|
-
status: Status.Success,
|
|
22
|
-
data,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
function failure(error) {
|
|
26
|
-
return {
|
|
27
|
-
status: Status.Failure,
|
|
28
|
-
error,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
function isNotAsked(remoteData) {
|
|
32
|
-
return remoteData.status === Status.NotAsked;
|
|
33
|
-
}
|
|
34
|
-
function isLoading(remoteData) {
|
|
35
|
-
return remoteData.status === Status.Loading;
|
|
36
|
-
}
|
|
37
|
-
function isSuccess(remoteData) {
|
|
38
|
-
return remoteData.status === Status.Success;
|
|
39
|
-
}
|
|
40
|
-
function isSuccessAll(responses) {
|
|
41
|
-
return responses.every(isSuccess);
|
|
42
|
-
}
|
|
43
|
-
function isFailure(remoteData) {
|
|
44
|
-
return remoteData.status === Status.Failure;
|
|
45
|
-
}
|
|
46
|
-
function isFailureAny(responses) {
|
|
47
|
-
return responses.some(isFailure);
|
|
48
|
-
}
|
|
49
|
-
function isLoadingAny(responses) {
|
|
50
|
-
return responses.some(isLoading);
|
|
51
|
-
}
|
|
52
|
-
function isNotAskedAny(responses) {
|
|
53
|
-
return responses.some(isNotAsked);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
7
|
const flatten = (list) => list.reduce((a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), []);
|
|
57
8
|
const encodeEntry = (key, value) => encodeURIComponent(key) + '=' + encodeURIComponent(value);
|
|
58
9
|
const packEntry = (accumulator, [key, value]) => {
|
|
@@ -120,10 +71,10 @@ function service(config) {
|
|
|
120
71
|
return __awaiter(this, void 0, void 0, function* () {
|
|
121
72
|
try {
|
|
122
73
|
const response = yield axiosInstance(config);
|
|
123
|
-
return success(response.data);
|
|
74
|
+
return remoteData.success(response.data);
|
|
124
75
|
}
|
|
125
76
|
catch (err) {
|
|
126
|
-
return failure(err.response ? err.response.data : err.message);
|
|
77
|
+
return remoteData.failure(err.response ? err.response.data : err.message);
|
|
127
78
|
}
|
|
128
79
|
});
|
|
129
80
|
}
|
|
@@ -139,17 +90,17 @@ function applyErrorTransformer(servicePromise, transformer) {
|
|
|
139
90
|
return mapFailure(response, transformer);
|
|
140
91
|
});
|
|
141
92
|
}
|
|
142
|
-
function mapSuccess(remoteData, transformer) {
|
|
143
|
-
if (isSuccess(remoteData)) {
|
|
144
|
-
return success(transformer(remoteData.data));
|
|
93
|
+
function mapSuccess(remoteData$1, transformer) {
|
|
94
|
+
if (remoteData.isSuccess(remoteData$1)) {
|
|
95
|
+
return remoteData.success(transformer(remoteData$1.data));
|
|
145
96
|
}
|
|
146
|
-
return remoteData;
|
|
97
|
+
return remoteData$1;
|
|
147
98
|
}
|
|
148
|
-
function mapFailure(remoteData, transformer) {
|
|
149
|
-
if (isFailure(remoteData)) {
|
|
150
|
-
return failure(transformer(remoteData.error));
|
|
99
|
+
function mapFailure(remoteData$1, transformer) {
|
|
100
|
+
if (remoteData.isFailure(remoteData$1)) {
|
|
101
|
+
return remoteData.failure(transformer(remoteData$1.error));
|
|
151
102
|
}
|
|
152
|
-
return remoteData;
|
|
103
|
+
return remoteData$1;
|
|
153
104
|
}
|
|
154
105
|
function createKeysMapTransformer(keys) {
|
|
155
106
|
return (data) => keys.reduce((transformed, key, index) => {
|
|
@@ -158,21 +109,21 @@ function createKeysMapTransformer(keys) {
|
|
|
158
109
|
}, {});
|
|
159
110
|
}
|
|
160
111
|
function sequenceArray(remoteDataArray) {
|
|
161
|
-
if (isSuccessAll(remoteDataArray)) {
|
|
162
|
-
return success(remoteDataArray.map((remoteDataResult) => remoteDataResult.data));
|
|
112
|
+
if (remoteData.isSuccessAll(remoteDataArray)) {
|
|
113
|
+
return remoteData.success(remoteDataArray.map((remoteDataResult) => remoteDataResult.data));
|
|
163
114
|
}
|
|
164
|
-
if (isFailureAny(remoteDataArray)) {
|
|
165
|
-
return failure(remoteDataArray.reduce((accumulator, remoteDataResult) => {
|
|
166
|
-
if (isFailure(remoteDataResult)) {
|
|
115
|
+
if (remoteData.isFailureAny(remoteDataArray)) {
|
|
116
|
+
return remoteData.failure(remoteDataArray.reduce((accumulator, remoteDataResult) => {
|
|
117
|
+
if (remoteData.isFailure(remoteDataResult)) {
|
|
167
118
|
accumulator.push(remoteDataResult.error);
|
|
168
119
|
}
|
|
169
120
|
return accumulator;
|
|
170
121
|
}, []));
|
|
171
122
|
}
|
|
172
|
-
if (isLoadingAny(remoteDataArray)) {
|
|
173
|
-
return loading;
|
|
123
|
+
if (remoteData.isLoadingAny(remoteDataArray)) {
|
|
124
|
+
return remoteData.loading;
|
|
174
125
|
}
|
|
175
|
-
return notAsked;
|
|
126
|
+
return remoteData.notAsked;
|
|
176
127
|
}
|
|
177
128
|
function sequenceMap(remoteDataMap) {
|
|
178
129
|
const keys = Object.keys(remoteDataMap);
|
|
@@ -316,7 +267,7 @@ function getAllFHIRResources(resourceType, params, extraPath) {
|
|
|
316
267
|
var _a;
|
|
317
268
|
return __awaiter(this, void 0, void 0, function* () {
|
|
318
269
|
const resultBundleResponse = yield getFHIRResources(resourceType, params, extraPath);
|
|
319
|
-
if (isFailure(resultBundleResponse)) {
|
|
270
|
+
if (remoteData.isFailure(resultBundleResponse)) {
|
|
320
271
|
return resultBundleResponse;
|
|
321
272
|
}
|
|
322
273
|
let resultBundle = resultBundleResponse.data;
|
|
@@ -331,12 +282,12 @@ function getAllFHIRResources(resourceType, params, extraPath) {
|
|
|
331
282
|
method: 'GET',
|
|
332
283
|
url: nextLink.url,
|
|
333
284
|
});
|
|
334
|
-
if (isFailure(response)) {
|
|
285
|
+
if (remoteData.isFailure(response)) {
|
|
335
286
|
return response;
|
|
336
287
|
}
|
|
337
288
|
resultBundle = Object.assign(Object.assign({}, response.data), { entry: [...resultBundle.entry, ...response.data.entry] });
|
|
338
289
|
}
|
|
339
|
-
return success(resultBundle);
|
|
290
|
+
return remoteData.success(resultBundle);
|
|
340
291
|
});
|
|
341
292
|
}
|
|
342
293
|
function list(resourceType, searchParams, extraPath) {
|
|
@@ -349,18 +300,18 @@ function list(resourceType, searchParams, extraPath) {
|
|
|
349
300
|
function findFHIRResource(resourceType, params, extraPath) {
|
|
350
301
|
return __awaiter(this, void 0, void 0, function* () {
|
|
351
302
|
const response = yield getFHIRResources(resourceType, params, extraPath);
|
|
352
|
-
if (isFailure(response)) {
|
|
303
|
+
if (remoteData.isFailure(response)) {
|
|
353
304
|
return response;
|
|
354
305
|
}
|
|
355
306
|
const resources = extractBundleResources(response.data)[resourceType];
|
|
356
307
|
if (resources.length === 1) {
|
|
357
|
-
return success(resources[0]);
|
|
308
|
+
return remoteData.success(resources[0]);
|
|
358
309
|
}
|
|
359
310
|
else if (resources.length === 0) {
|
|
360
|
-
return failure({ error_description: 'No resources found', error: 'no_resources_found' });
|
|
311
|
+
return remoteData.failure({ error_description: 'No resources found', error: 'no_resources_found' });
|
|
361
312
|
}
|
|
362
313
|
else {
|
|
363
|
-
return failure({
|
|
314
|
+
return remoteData.failure({
|
|
364
315
|
error_description: 'Too many resources found',
|
|
365
316
|
error: 'too_many_resources_found',
|
|
366
317
|
});
|
|
@@ -666,13 +617,13 @@ function withRootAccess(fn) {
|
|
|
666
617
|
});
|
|
667
618
|
}
|
|
668
619
|
function ensure(result) {
|
|
669
|
-
if (isSuccess(result)) {
|
|
620
|
+
if (remoteData.isSuccess(result)) {
|
|
670
621
|
return result.data;
|
|
671
622
|
}
|
|
672
623
|
throw new Error(`Network error ${JSON.stringify(result)}`);
|
|
673
624
|
}
|
|
674
625
|
function investigate(result) {
|
|
675
|
-
if (isFailure(result)) {
|
|
626
|
+
if (remoteData.isFailure(result)) {
|
|
676
627
|
return result.error;
|
|
677
628
|
}
|
|
678
629
|
throw new Error(`Nothing to investigate for ${JSON.stringify(result)}`);
|
|
@@ -3024,7 +2975,7 @@ function createBus() {
|
|
|
3024
2975
|
// b.useBus('__super_error__', () => {}, []);
|
|
3025
2976
|
|
|
3026
2977
|
function useService(asyncFunction, deps = []) {
|
|
3027
|
-
const [remoteData, setRemoteData] = react.exports.useState(notAsked);
|
|
2978
|
+
const [remoteData$1, setRemoteData] = react.exports.useState(remoteData.notAsked);
|
|
3028
2979
|
const [reloadsCount, setReloadsCount] = react.exports.useState(0);
|
|
3029
2980
|
const reload = react.exports.useCallback(() => setReloadsCount((x) => x + 1), []);
|
|
3030
2981
|
const load = react.exports.useCallback(() => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -3032,7 +2983,7 @@ function useService(asyncFunction, deps = []) {
|
|
|
3032
2983
|
return yield asyncFunction();
|
|
3033
2984
|
}
|
|
3034
2985
|
catch (err) {
|
|
3035
|
-
return failure(err.response ? err.response.data : err.message);
|
|
2986
|
+
return remoteData.failure(err.response ? err.response.data : err.message);
|
|
3036
2987
|
}
|
|
3037
2988
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3038
2989
|
}), deps);
|
|
@@ -3043,25 +2994,32 @@ function useService(asyncFunction, deps = []) {
|
|
|
3043
2994
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3044
2995
|
}), [...deps, load]);
|
|
3045
2996
|
const reloadAsync = react.exports.useCallback(() => __awaiter(this, void 0, void 0, function* () {
|
|
3046
|
-
setRemoteData(loading);
|
|
2997
|
+
setRemoteData(remoteData.loading);
|
|
3047
2998
|
const response = yield load();
|
|
3048
2999
|
setRemoteData(response);
|
|
3049
3000
|
return response;
|
|
3050
3001
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3051
3002
|
}), [...deps, load]);
|
|
3052
3003
|
react.exports.useEffect(() => {
|
|
3004
|
+
let cancelled = false;
|
|
3053
3005
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
3054
|
-
setRemoteData(loading);
|
|
3055
|
-
|
|
3006
|
+
setRemoteData(remoteData.loading);
|
|
3007
|
+
const response = yield load();
|
|
3008
|
+
if (!cancelled) {
|
|
3009
|
+
setRemoteData(response);
|
|
3010
|
+
}
|
|
3056
3011
|
}))();
|
|
3012
|
+
return () => {
|
|
3013
|
+
cancelled = true;
|
|
3014
|
+
};
|
|
3057
3015
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3058
3016
|
}, [...deps, reloadsCount, load]);
|
|
3059
3017
|
const set = react.exports.useCallback((dataOrFn) => {
|
|
3060
3018
|
if (typeof dataOrFn === 'function') {
|
|
3061
|
-
setRemoteData((rd) => (isSuccess(rd) ? success(dataOrFn(rd.data)) : rd));
|
|
3019
|
+
setRemoteData((rd) => (remoteData.isSuccess(rd) ? remoteData.success(dataOrFn(rd.data)) : rd));
|
|
3062
3020
|
}
|
|
3063
3021
|
else {
|
|
3064
|
-
setRemoteData(success(dataOrFn));
|
|
3022
|
+
setRemoteData(remoteData.success(dataOrFn));
|
|
3065
3023
|
}
|
|
3066
3024
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3067
3025
|
}, deps);
|
|
@@ -3071,47 +3029,47 @@ function useService(asyncFunction, deps = []) {
|
|
|
3071
3029
|
softReloadAsync,
|
|
3072
3030
|
set,
|
|
3073
3031
|
}), [reload, reloadAsync, softReloadAsync, set]);
|
|
3074
|
-
return [remoteData, manager];
|
|
3032
|
+
return [remoteData$1, manager];
|
|
3075
3033
|
}
|
|
3076
3034
|
|
|
3077
3035
|
function useCRUD(resourceType, id, getOrCreate, defaultResource) {
|
|
3078
|
-
const [remoteData, setRemoteData] = react.exports.useState(notAsked);
|
|
3036
|
+
const [remoteData$1, setRemoteData] = react.exports.useState(remoteData.notAsked);
|
|
3079
3037
|
const makeDefaultResource = react.exports.useCallback(() => (Object.assign(Object.assign({ resourceType }, (id && getOrCreate ? { id } : {})), defaultResource)), [resourceType, defaultResource, id, getOrCreate]);
|
|
3080
3038
|
react.exports.useEffect(() => {
|
|
3081
3039
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
3082
3040
|
if (id) {
|
|
3083
|
-
setRemoteData(loading);
|
|
3041
|
+
setRemoteData(remoteData.loading);
|
|
3084
3042
|
const response = yield getFHIRResource(makeReference(resourceType, id));
|
|
3085
|
-
if (isFailure(response) && getOrCreate) {
|
|
3086
|
-
setRemoteData(success(makeDefaultResource()));
|
|
3043
|
+
if (remoteData.isFailure(response) && getOrCreate) {
|
|
3044
|
+
setRemoteData(remoteData.success(makeDefaultResource()));
|
|
3087
3045
|
}
|
|
3088
3046
|
else {
|
|
3089
3047
|
setRemoteData(response);
|
|
3090
3048
|
}
|
|
3091
3049
|
}
|
|
3092
3050
|
else {
|
|
3093
|
-
setRemoteData(success(makeDefaultResource()));
|
|
3051
|
+
setRemoteData(remoteData.success(makeDefaultResource()));
|
|
3094
3052
|
}
|
|
3095
3053
|
}))();
|
|
3096
3054
|
}, [getOrCreate, id, makeDefaultResource, resourceType]);
|
|
3097
3055
|
return [
|
|
3098
|
-
remoteData,
|
|
3056
|
+
remoteData$1,
|
|
3099
3057
|
{
|
|
3100
3058
|
handleSave: (updatedResource, relatedResources) => __awaiter(this, void 0, void 0, function* () {
|
|
3101
3059
|
// Why do we need relatedResource here?
|
|
3102
3060
|
// TODO refactor
|
|
3103
|
-
setRemoteData(loading);
|
|
3061
|
+
setRemoteData(remoteData.loading);
|
|
3104
3062
|
if (relatedResources && relatedResources.length) {
|
|
3105
3063
|
const bundleResponse = yield saveFHIRResources([updatedResource, ...relatedResources], 'transaction');
|
|
3106
|
-
if (isSuccess(bundleResponse)) {
|
|
3064
|
+
if (remoteData.isSuccess(bundleResponse)) {
|
|
3107
3065
|
const extracted = extractBundleResources(bundleResponse.data);
|
|
3108
3066
|
if (extracted) {
|
|
3109
|
-
const resource = success(extracted[resourceType][0]);
|
|
3067
|
+
const resource = remoteData.success(extracted[resourceType][0]);
|
|
3110
3068
|
setRemoteData(resource);
|
|
3111
3069
|
return resource;
|
|
3112
3070
|
}
|
|
3113
3071
|
else {
|
|
3114
|
-
return failure({ message: 'empty response from server' });
|
|
3072
|
+
return remoteData.failure({ message: 'empty response from server' });
|
|
3115
3073
|
}
|
|
3116
3074
|
}
|
|
3117
3075
|
else {
|
|
@@ -3126,7 +3084,7 @@ function useCRUD(resourceType, id, getOrCreate, defaultResource) {
|
|
|
3126
3084
|
}
|
|
3127
3085
|
}),
|
|
3128
3086
|
handleDelete: (resourceToDelete) => __awaiter(this, void 0, void 0, function* () {
|
|
3129
|
-
setRemoteData(loading);
|
|
3087
|
+
setRemoteData(remoteData.loading);
|
|
3130
3088
|
setRemoteData(yield deleteFHIRResource(getReference(resourceToDelete)));
|
|
3131
3089
|
}),
|
|
3132
3090
|
},
|
|
@@ -3172,8 +3130,8 @@ function usePager(resourceType, resourcesOnPage = 15, searchParams = {}) {
|
|
|
3172
3130
|
const [pageToLoad, setPageToLoad] = react.exports.useState((_a = searchParams._page) !== null && _a !== void 0 ? _a : 1);
|
|
3173
3131
|
const [reloadsCount, setReloadsCount] = react.exports.useState(0);
|
|
3174
3132
|
const [resources] = useService(() => getFHIRResources(resourceType, Object.assign(Object.assign({}, searchParams), { _count: resourcesOnPage, _page: pageToLoad })), [pageToLoad, reloadsCount, resourcesOnPage]);
|
|
3175
|
-
const hasNext = react.exports.useMemo(() => { var _a; return (isSuccess(resources) ? Boolean((_a = resources.data.link) === null || _a === void 0 ? void 0 : _a.some((link) => link.relation === 'next')) : false); }, [resources]);
|
|
3176
|
-
const hasPrevious = react.exports.useMemo(() => { var _a; return isSuccess(resources) ? Boolean((_a = resources.data.link) === null || _a === void 0 ? void 0 : _a.some((link) => link.relation === 'previous')) : false; }, [resources]);
|
|
3133
|
+
const hasNext = react.exports.useMemo(() => { var _a; return (remoteData.isSuccess(resources) ? Boolean((_a = resources.data.link) === null || _a === void 0 ? void 0 : _a.some((link) => link.relation === 'next')) : false); }, [resources]);
|
|
3134
|
+
const hasPrevious = react.exports.useMemo(() => { var _a; return remoteData.isSuccess(resources) ? Boolean((_a = resources.data.link) === null || _a === void 0 ? void 0 : _a.some((link) => link.relation === 'previous')) : false; }, [resources]);
|
|
3177
3135
|
const loadNext = react.exports.useCallback(() => setPageToLoad((currentPage) => currentPage + 1), []);
|
|
3178
3136
|
const loadPrevious = react.exports.useCallback(() => setPageToLoad((currentPage) => (hasPrevious ? currentPage - 1 : currentPage)), [hasPrevious]);
|
|
3179
3137
|
const reload = react.exports.useCallback(() => {
|
|
@@ -3201,21 +3159,21 @@ function renderLoadingDefault() {
|
|
|
3201
3159
|
return React.createElement(React.Fragment, null, "Loading...");
|
|
3202
3160
|
}
|
|
3203
3161
|
function RenderRemoteData(props) {
|
|
3204
|
-
const { remoteData, children, renderFailure, renderLoading, renderNotAsked } = props;
|
|
3205
|
-
if (isNotAsked(remoteData)) {
|
|
3162
|
+
const { remoteData: remoteData$1, children, renderFailure, renderLoading, renderNotAsked } = props;
|
|
3163
|
+
if (remoteData.isNotAsked(remoteData$1)) {
|
|
3206
3164
|
return renderNotAsked ? renderNotAsked() : null;
|
|
3207
3165
|
}
|
|
3208
|
-
else if (isLoading(remoteData)) {
|
|
3166
|
+
else if (remoteData.isLoading(remoteData$1)) {
|
|
3209
3167
|
return (renderLoading !== null && renderLoading !== void 0 ? renderLoading : renderLoadingDefault)();
|
|
3210
3168
|
}
|
|
3211
|
-
else if (isFailure(remoteData)) {
|
|
3212
|
-
return (renderFailure !== null && renderFailure !== void 0 ? renderFailure : renderFailureDefault)(remoteData.error);
|
|
3169
|
+
else if (remoteData.isFailure(remoteData$1)) {
|
|
3170
|
+
return (renderFailure !== null && renderFailure !== void 0 ? renderFailure : renderFailureDefault)(remoteData$1.error);
|
|
3213
3171
|
}
|
|
3214
|
-
else if (isSuccess(remoteData)) {
|
|
3215
|
-
return children(remoteData.data);
|
|
3172
|
+
else if (remoteData.isSuccess(remoteData$1)) {
|
|
3173
|
+
return children(remoteData$1.data);
|
|
3216
3174
|
}
|
|
3217
3175
|
else {
|
|
3218
|
-
const n = remoteData;
|
|
3176
|
+
const n = remoteData$1;
|
|
3219
3177
|
throw new Error(n);
|
|
3220
3178
|
}
|
|
3221
3179
|
}
|
|
@@ -3225,6 +3183,54 @@ function withRender(config) {
|
|
|
3225
3183
|
};
|
|
3226
3184
|
}
|
|
3227
3185
|
|
|
3186
|
+
Object.defineProperty(exports, 'failure', {
|
|
3187
|
+
enumerable: true,
|
|
3188
|
+
get: function () { return remoteData.failure; }
|
|
3189
|
+
});
|
|
3190
|
+
Object.defineProperty(exports, 'isFailure', {
|
|
3191
|
+
enumerable: true,
|
|
3192
|
+
get: function () { return remoteData.isFailure; }
|
|
3193
|
+
});
|
|
3194
|
+
Object.defineProperty(exports, 'isFailureAny', {
|
|
3195
|
+
enumerable: true,
|
|
3196
|
+
get: function () { return remoteData.isFailureAny; }
|
|
3197
|
+
});
|
|
3198
|
+
Object.defineProperty(exports, 'isLoading', {
|
|
3199
|
+
enumerable: true,
|
|
3200
|
+
get: function () { return remoteData.isLoading; }
|
|
3201
|
+
});
|
|
3202
|
+
Object.defineProperty(exports, 'isLoadingAny', {
|
|
3203
|
+
enumerable: true,
|
|
3204
|
+
get: function () { return remoteData.isLoadingAny; }
|
|
3205
|
+
});
|
|
3206
|
+
Object.defineProperty(exports, 'isNotAsked', {
|
|
3207
|
+
enumerable: true,
|
|
3208
|
+
get: function () { return remoteData.isNotAsked; }
|
|
3209
|
+
});
|
|
3210
|
+
Object.defineProperty(exports, 'isNotAskedAny', {
|
|
3211
|
+
enumerable: true,
|
|
3212
|
+
get: function () { return remoteData.isNotAskedAny; }
|
|
3213
|
+
});
|
|
3214
|
+
Object.defineProperty(exports, 'isSuccess', {
|
|
3215
|
+
enumerable: true,
|
|
3216
|
+
get: function () { return remoteData.isSuccess; }
|
|
3217
|
+
});
|
|
3218
|
+
Object.defineProperty(exports, 'isSuccessAll', {
|
|
3219
|
+
enumerable: true,
|
|
3220
|
+
get: function () { return remoteData.isSuccessAll; }
|
|
3221
|
+
});
|
|
3222
|
+
Object.defineProperty(exports, 'loading', {
|
|
3223
|
+
enumerable: true,
|
|
3224
|
+
get: function () { return remoteData.loading; }
|
|
3225
|
+
});
|
|
3226
|
+
Object.defineProperty(exports, 'notAsked', {
|
|
3227
|
+
enumerable: true,
|
|
3228
|
+
get: function () { return remoteData.notAsked; }
|
|
3229
|
+
});
|
|
3230
|
+
Object.defineProperty(exports, 'success', {
|
|
3231
|
+
enumerable: true,
|
|
3232
|
+
get: function () { return remoteData.success; }
|
|
3233
|
+
});
|
|
3228
3234
|
exports.FHIRDateFormat = FHIRDateFormat;
|
|
3229
3235
|
exports.FHIRDateTimeFormat = FHIRDateTimeFormat;
|
|
3230
3236
|
exports.FHIRTimeFormat = FHIRTimeFormat;
|
|
@@ -3247,7 +3253,6 @@ exports.extractErrorCode = extractErrorCode;
|
|
|
3247
3253
|
exports.extractErrorDescription = extractErrorDescription;
|
|
3248
3254
|
exports.extractFHIRDate = extractFHIRDate;
|
|
3249
3255
|
exports.extractFHIRTime = extractFHIRTime;
|
|
3250
|
-
exports.failure = failure;
|
|
3251
3256
|
exports.findFHIRResource = findFHIRResource;
|
|
3252
3257
|
exports.forceDelete = forceDelete;
|
|
3253
3258
|
exports.forceDeleteFHIRResource = forceDeleteFHIRResource;
|
|
@@ -3269,25 +3274,15 @@ exports.getUserInfo = getUserInfo;
|
|
|
3269
3274
|
exports.investigate = investigate;
|
|
3270
3275
|
exports.isBackendError = isBackendError;
|
|
3271
3276
|
exports.isFHIRDateEqual = isFHIRDateEqual;
|
|
3272
|
-
exports.isFailure = isFailure;
|
|
3273
|
-
exports.isFailureAny = isFailureAny;
|
|
3274
|
-
exports.isLoading = isLoading;
|
|
3275
|
-
exports.isLoadingAny = isLoadingAny;
|
|
3276
|
-
exports.isNotAsked = isNotAsked;
|
|
3277
|
-
exports.isNotAskedAny = isNotAskedAny;
|
|
3278
3277
|
exports.isOperationOutcome = isOperationOutcome;
|
|
3279
3278
|
exports.isReference = isReference;
|
|
3280
|
-
exports.isSuccess = isSuccess;
|
|
3281
|
-
exports.isSuccessAll = isSuccessAll;
|
|
3282
3279
|
exports.list = list;
|
|
3283
|
-
exports.loading = loading;
|
|
3284
3280
|
exports.login = login;
|
|
3285
3281
|
exports.makeFHIRDateTime = makeFHIRDateTime;
|
|
3286
3282
|
exports.makeReference = makeReference;
|
|
3287
3283
|
exports.mapFailure = mapFailure;
|
|
3288
3284
|
exports.mapSuccess = mapSuccess;
|
|
3289
3285
|
exports.markAsDeleted = markAsDeleted;
|
|
3290
|
-
exports.notAsked = notAsked;
|
|
3291
3286
|
exports.parseFHIRDate = parseFHIRDate;
|
|
3292
3287
|
exports.parseFHIRDateTime = parseFHIRDateTime;
|
|
3293
3288
|
exports.parseFHIRTime = parseFHIRTime;
|
|
@@ -3305,7 +3300,6 @@ exports.sequenceMap = sequenceMap;
|
|
|
3305
3300
|
exports.service = service;
|
|
3306
3301
|
exports.setInstanceBaseURL = setInstanceBaseURL;
|
|
3307
3302
|
exports.setInstanceToken = setInstanceToken;
|
|
3308
|
-
exports.success = success;
|
|
3309
3303
|
exports.transformToBundleEntry = transformToBundleEntry;
|
|
3310
3304
|
exports.update = update;
|
|
3311
3305
|
exports.updateFHIRResource = updateFHIRResource;
|
|
@@ -1,35 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
Loading = "Loading",
|
|
5
|
-
NotAsked = "NotAsked"
|
|
6
|
-
}
|
|
7
|
-
interface RemoteDataNotAsked {
|
|
8
|
-
status: Status.NotAsked;
|
|
9
|
-
}
|
|
10
|
-
export declare const notAsked: RemoteDataNotAsked;
|
|
11
|
-
interface RemoteDataLoading {
|
|
12
|
-
status: Status.Loading;
|
|
13
|
-
}
|
|
14
|
-
export declare const loading: RemoteDataLoading;
|
|
15
|
-
interface RemoteDataSuccess<s> {
|
|
16
|
-
status: Status.Success;
|
|
17
|
-
data: s;
|
|
18
|
-
}
|
|
19
|
-
export declare function success<S = any>(data: S): RemoteDataSuccess<S>;
|
|
20
|
-
interface RemoteDataFailure<F> {
|
|
21
|
-
status: Status.Failure;
|
|
22
|
-
error: F;
|
|
23
|
-
}
|
|
24
|
-
export declare function failure<F = any>(error: F): RemoteDataFailure<F>;
|
|
25
|
-
export type RemoteDataResult<S = any, F = any> = RemoteDataSuccess<S> | RemoteDataFailure<F>;
|
|
26
|
-
export type RemoteData<S = any, F = any> = RemoteDataNotAsked | RemoteDataLoading | RemoteDataResult<S, F>;
|
|
27
|
-
export declare function isNotAsked(remoteData: RemoteData): remoteData is RemoteDataNotAsked;
|
|
28
|
-
export declare function isLoading(remoteData: RemoteData): remoteData is RemoteDataLoading;
|
|
29
|
-
export declare function isSuccess<S>(remoteData: RemoteData<S>): remoteData is RemoteDataSuccess<S>;
|
|
30
|
-
export declare function isSuccessAll<S>(responses: Array<RemoteData<S>>): responses is Array<RemoteDataSuccess<S>>;
|
|
31
|
-
export declare function isFailure<F>(remoteData: RemoteData<any, F>): remoteData is RemoteDataFailure<F>;
|
|
32
|
-
export declare function isFailureAny<F>(responses: Array<RemoteData<any, F>>): responses is Array<RemoteDataFailure<F>>;
|
|
33
|
-
export declare function isLoadingAny(responses: Array<RemoteData>): responses is Array<RemoteDataLoading>;
|
|
34
|
-
export declare function isNotAskedAny(responses: Array<RemoteData>): responses is Array<RemoteDataNotAsked>;
|
|
35
|
-
export {};
|
|
1
|
+
export type { RemoteDataResult, RemoteData } from '@beda.software/remote-data';
|
|
2
|
+
export { notAsked, loading, success, failure, isNotAsked, isLoading, isSuccess, isSuccessAll, isFailure, isFailureAny, isLoadingAny, isNotAskedAny, } from '@beda.software/remote-data';
|
|
3
|
+
//# sourceMappingURL=remoteData.d.ts.map
|
|
@@ -42,3 +42,4 @@ export declare function applyFHIRService<T extends AidboxResource, F = any>(requ
|
|
|
42
42
|
export declare function transformToBundleEntry<R extends AidboxResource>(config: AxiosRequestConfig): BundleEntry<R> | null;
|
|
43
43
|
export declare function applyFHIRServices<T extends AidboxResource, F = any>(requests: Array<AxiosRequestConfig>, type?: 'transaction' | 'batch'): Promise<RemoteDataResult<Bundle<WithId<T>>, F>>;
|
|
44
44
|
export {};
|
|
45
|
+
//# sourceMappingURL=fhir.d.ts.map
|
|
@@ -4,3 +4,4 @@ export declare const axiosInstance: import("axios").AxiosInstance;
|
|
|
4
4
|
export declare function setInstanceBaseURL(baseURL: string): void;
|
|
5
5
|
export declare function setInstanceToken(token: Token): void;
|
|
6
6
|
export declare function resetInstanceToken(): void;
|
|
7
|
+
//# sourceMappingURL=instance.d.ts.map
|
|
@@ -31,3 +31,4 @@ export declare function resolveMap<I, F>(promiseMap: PromiseRemoteDataResultMap<
|
|
|
31
31
|
export declare function resolveMap<I, F>(promiseMap: PromiseRemoteDataMap<I, F>): Promise<RemoteData<I, F[]>>;
|
|
32
32
|
export declare function resolveServiceMap<I, F>(promiseMap: PromiseRemoteDataResultMap<I, F>): Promise<RemoteDataResult<I, F[]>>;
|
|
33
33
|
export declare function resolveServiceMap<I, F>(promiseMap: PromiseRemoteDataMap<I, F>): Promise<RemoteData<I, F[]>>;
|
|
34
|
+
//# sourceMappingURL=service.d.ts.map
|
package/dist/cjs/utils/date.d.ts
CHANGED
|
@@ -12,3 +12,4 @@ export declare const makeFHIRDateTime: (date: string, time?: string) => string;
|
|
|
12
12
|
export declare const extractFHIRDate: (date: string) => string;
|
|
13
13
|
export declare const extractFHIRTime: (date: string) => string;
|
|
14
14
|
export declare const isFHIRDateEqual: (date1: string, date2: string) => boolean;
|
|
15
|
+
//# sourceMappingURL=date.d.ts.map
|
|
@@ -28,3 +28,4 @@ export declare function extractErrorCode(error: any): string;
|
|
|
28
28
|
export declare function isOperationOutcome(error: any): error is OperationOutcome;
|
|
29
29
|
export declare function isBackendError(error: any): error is BackendError;
|
|
30
30
|
export {};
|
|
31
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -8,3 +8,4 @@ export declare function investigate<R = any>(result: RemoteData<unknown, R>): R;
|
|
|
8
8
|
export declare function getToken(user: User, loginService: LoginService): Promise<Token>;
|
|
9
9
|
export declare function login(user: User, loginService: LoginService): Promise<Token>;
|
|
10
10
|
export declare function getUserInfo(): Promise<User>;
|
|
11
|
+
//# sourceMappingURL=tests.d.ts.map
|
package/dist/cjs/utils/uuid.d.ts
CHANGED
|
@@ -13,3 +13,4 @@ type RenderRemoteDataProps<S, E = any> = RenderRemoteDataBasicProps<S> & RenderC
|
|
|
13
13
|
export declare function RenderRemoteData<S, E = any>(props: RenderRemoteDataProps<S, E>): JSX.Element | null;
|
|
14
14
|
export declare function withRender<E = any>(config: RenderConfig<E>): <S>(props: RenderRemoteDataProps<S, E>) => JSX.Element;
|
|
15
15
|
export {};
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/hooks/bus.d.ts
CHANGED
package/dist/esm/hooks/crud.d.ts
CHANGED
|
@@ -5,3 +5,4 @@ export interface CRUDManager<T> {
|
|
|
5
5
|
handleDelete: (resourceToDelete: T) => void;
|
|
6
6
|
}
|
|
7
7
|
export declare function useCRUD<T extends AidboxResource>(resourceType: T['resourceType'], id?: string, getOrCreate?: boolean, defaultResource?: Partial<T>): [RemoteData<T>, CRUDManager<T>];
|
|
8
|
+
//# sourceMappingURL=crud.d.ts.map
|
|
@@ -11,3 +11,4 @@ export interface PagerManager {
|
|
|
11
11
|
currentPage: number;
|
|
12
12
|
}
|
|
13
13
|
export declare function usePager<T extends AidboxResource>(resourceType: T['resourceType'], resourcesOnPage?: number, searchParams?: SearchParams): [RemoteData<Bundle<T>>, PagerManager];
|
|
14
|
+
//# sourceMappingURL=pager.d.ts.map
|
|
@@ -6,3 +6,4 @@ export interface ServiceManager<S, F> {
|
|
|
6
6
|
set: (dataOrFn: S | ((data: S) => S)) => void;
|
|
7
7
|
}
|
|
8
8
|
export declare function useService<S = any, F = any>(asyncFunction: () => Promise<RemoteDataResult<S, F>>, deps?: ReadonlyArray<any>): [RemoteData<S, F>, ServiceManager<S, F>];
|
|
9
|
+
//# sourceMappingURL=service.d.ts.map
|
package/dist/esm/index.d.ts
CHANGED