aidbox-react 1.10.1 → 1.11.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.
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +95 -21
- package/dist/cjs/services/fhir.d.ts +7 -7
- package/dist/cjs/utils/fhir.d.ts +3 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +94 -22
- package/dist/esm/services/fhir.d.ts +7 -7
- package/dist/esm/utils/fhir.d.ts +3 -0
- package/dist/index.d.ts +11 -8
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/services/fhir.d.ts +7 -7
- package/lib/services/fhir.d.ts.map +1 -1
- package/lib/services/fhir.js +49 -21
- package/lib/services/fhir.js.map +1 -1
- package/lib/utils/fhir.d.ts +3 -0
- package/lib/utils/fhir.d.ts.map +1 -0
- package/lib/utils/fhir.js +59 -0
- package/lib/utils/fhir.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/services/fhir.ts +62 -25
- package/src/utils/fhir.ts +62 -0
package/dist/cjs/index.d.ts
CHANGED
package/dist/cjs/index.js
CHANGED
|
@@ -150,6 +150,58 @@ function resolveServiceMap(promiseMap) {
|
|
|
150
150
|
});
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
+
function isEmpty(data) {
|
|
154
|
+
if (Array.isArray(data)) {
|
|
155
|
+
return data.length === 0;
|
|
156
|
+
}
|
|
157
|
+
if (typeof data === 'object' && data !== null) {
|
|
158
|
+
return Object.keys(data).length === 0;
|
|
159
|
+
}
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
function cleanEmptyValues(data) {
|
|
163
|
+
if (Array.isArray(data)) {
|
|
164
|
+
return data.map((item) => {
|
|
165
|
+
return isEmpty(item) ? null : cleanEmptyValues(item);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
if (typeof data === 'object' && data !== null) {
|
|
169
|
+
const cleaned = {};
|
|
170
|
+
for (const [key, value] of Object.entries(data)) {
|
|
171
|
+
const cleanedValue = cleanEmptyValues(value);
|
|
172
|
+
if (!isEmpty(cleanedValue)) {
|
|
173
|
+
cleaned[key] = cleanedValue;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return cleaned;
|
|
177
|
+
}
|
|
178
|
+
if (typeof data === 'undefined') {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
return data;
|
|
182
|
+
}
|
|
183
|
+
function isNull(value) {
|
|
184
|
+
return value === null || value === undefined;
|
|
185
|
+
}
|
|
186
|
+
function removeNullsFromDicts(data) {
|
|
187
|
+
if (Array.isArray(data)) {
|
|
188
|
+
return data.map(removeNullsFromDicts);
|
|
189
|
+
}
|
|
190
|
+
if (typeof data === 'object' && data !== null) {
|
|
191
|
+
const result = {};
|
|
192
|
+
for (const [key, value] of Object.entries(data)) {
|
|
193
|
+
if (!isNull(value)) {
|
|
194
|
+
result[key] = removeNullsFromDicts(value);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return result;
|
|
198
|
+
}
|
|
199
|
+
if (typeof data === 'undefined') {
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
return data;
|
|
203
|
+
}
|
|
204
|
+
|
|
153
205
|
const inactiveMapping = {
|
|
154
206
|
DocumentReference: {
|
|
155
207
|
searchField: 'status',
|
|
@@ -214,36 +266,46 @@ function getInactiveSearchParam(resourceType) {
|
|
|
214
266
|
}
|
|
215
267
|
return {};
|
|
216
268
|
}
|
|
217
|
-
function createFHIRResource(resource, searchParams) {
|
|
269
|
+
function createFHIRResource(resource, searchParams, dropNullsFromDicts = true) {
|
|
218
270
|
return __awaiter(this, void 0, void 0, function* () {
|
|
219
|
-
return service(create(resource, searchParams));
|
|
271
|
+
return service(create(resource, searchParams, dropNullsFromDicts));
|
|
220
272
|
});
|
|
221
273
|
}
|
|
222
|
-
function create(resource, searchParams) {
|
|
274
|
+
function create(resource, searchParams, dropNullsFromDicts = true) {
|
|
275
|
+
let cleanedResource = resource;
|
|
276
|
+
if (dropNullsFromDicts) {
|
|
277
|
+
cleanedResource = removeNullsFromDicts(cleanedResource);
|
|
278
|
+
}
|
|
279
|
+
cleanedResource = cleanEmptyValues(cleanedResource);
|
|
223
280
|
return {
|
|
224
281
|
method: 'POST',
|
|
225
|
-
url: `/${
|
|
282
|
+
url: `/${cleanedResource.resourceType}`,
|
|
226
283
|
params: searchParams,
|
|
227
|
-
data:
|
|
284
|
+
data: cleanedResource,
|
|
228
285
|
};
|
|
229
286
|
}
|
|
230
|
-
function updateFHIRResource(resource, searchParams) {
|
|
287
|
+
function updateFHIRResource(resource, searchParams, dropNullsFromDicts = true) {
|
|
231
288
|
return __awaiter(this, void 0, void 0, function* () {
|
|
232
|
-
return service(update(resource, searchParams));
|
|
289
|
+
return service(update(resource, searchParams, dropNullsFromDicts));
|
|
233
290
|
});
|
|
234
291
|
}
|
|
235
|
-
function update(resource, searchParams) {
|
|
292
|
+
function update(resource, searchParams, dropNullsFromDicts = true) {
|
|
293
|
+
let cleanedResource = resource;
|
|
294
|
+
if (dropNullsFromDicts) {
|
|
295
|
+
cleanedResource = removeNullsFromDicts(cleanedResource);
|
|
296
|
+
}
|
|
297
|
+
cleanedResource = cleanEmptyValues(cleanedResource);
|
|
236
298
|
if (searchParams) {
|
|
237
299
|
return {
|
|
238
300
|
method: 'PUT',
|
|
239
|
-
url: `/${
|
|
240
|
-
data:
|
|
301
|
+
url: `/${cleanedResource.resourceType}`,
|
|
302
|
+
data: cleanedResource,
|
|
241
303
|
params: searchParams,
|
|
242
304
|
};
|
|
243
305
|
}
|
|
244
|
-
if (
|
|
245
|
-
const versionId =
|
|
246
|
-
return Object.assign({ method: 'PUT', url: `/${
|
|
306
|
+
if (cleanedResource.id) {
|
|
307
|
+
const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
|
|
308
|
+
return Object.assign({ method: 'PUT', url: `/${cleanedResource.resourceType}/${cleanedResource.id}`, data: cleanedResource }, (versionId ? { headers: { 'If-Match': versionId } } : {}));
|
|
247
309
|
}
|
|
248
310
|
throw new Error('Resourse id and search parameters are not specified');
|
|
249
311
|
}
|
|
@@ -318,16 +380,21 @@ function findFHIRResource(resourceType, params, extraPath) {
|
|
|
318
380
|
}
|
|
319
381
|
});
|
|
320
382
|
}
|
|
321
|
-
function saveFHIRResource(resource) {
|
|
383
|
+
function saveFHIRResource(resource, dropNullsFromDicts = true) {
|
|
322
384
|
return __awaiter(this, void 0, void 0, function* () {
|
|
323
|
-
return service(save(resource));
|
|
385
|
+
return service(save(resource, dropNullsFromDicts));
|
|
324
386
|
});
|
|
325
387
|
}
|
|
326
|
-
function save(resource) {
|
|
388
|
+
function save(resource, dropNullsFromDicts = true) {
|
|
327
389
|
const versionId = resource.meta && resource.meta.versionId;
|
|
328
|
-
|
|
390
|
+
let cleanedResource = resource;
|
|
391
|
+
if (dropNullsFromDicts) {
|
|
392
|
+
cleanedResource = removeNullsFromDicts(cleanedResource);
|
|
393
|
+
}
|
|
394
|
+
cleanedResource = cleanEmptyValues(cleanedResource);
|
|
395
|
+
return Object.assign({ method: resource.id ? 'PUT' : 'POST', data: cleanedResource, url: `/${resource.resourceType}${resource.id ? '/' + resource.id : ''}` }, (resource.id && versionId ? { headers: { 'If-Match': versionId } } : {}));
|
|
329
396
|
}
|
|
330
|
-
function saveFHIRResources(resources, bundleType) {
|
|
397
|
+
function saveFHIRResources(resources, bundleType, dropNullsFromDicts = true) {
|
|
331
398
|
return __awaiter(this, void 0, void 0, function* () {
|
|
332
399
|
return service({
|
|
333
400
|
method: 'POST',
|
|
@@ -335,10 +402,15 @@ function saveFHIRResources(resources, bundleType) {
|
|
|
335
402
|
data: {
|
|
336
403
|
type: bundleType,
|
|
337
404
|
entry: resources.map((resource) => {
|
|
338
|
-
|
|
405
|
+
let cleanedResource = resource;
|
|
406
|
+
if (dropNullsFromDicts) {
|
|
407
|
+
cleanedResource = removeNullsFromDicts(cleanedResource);
|
|
408
|
+
}
|
|
409
|
+
cleanedResource = cleanEmptyValues(cleanedResource);
|
|
410
|
+
const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
|
|
339
411
|
return {
|
|
340
|
-
resource,
|
|
341
|
-
request: Object.assign({ method:
|
|
412
|
+
resource: cleanedResource,
|
|
413
|
+
request: Object.assign({ method: cleanedResource.id ? 'PUT' : 'POST', url: `/${cleanedResource.resourceType}${cleanedResource.id ? '/' + cleanedResource.id : ''}` }, (cleanedResource.id && versionId ? { ifMatch: versionId } : {})),
|
|
342
414
|
};
|
|
343
415
|
}),
|
|
344
416
|
},
|
|
@@ -3242,6 +3314,7 @@ exports.applyFHIRService = applyFHIRService;
|
|
|
3242
3314
|
exports.applyFHIRServices = applyFHIRServices;
|
|
3243
3315
|
exports.axiosInstance = axiosInstance;
|
|
3244
3316
|
exports.buildQueryParams = buildQueryParams;
|
|
3317
|
+
exports.cleanEmptyValues = cleanEmptyValues;
|
|
3245
3318
|
exports.create = create;
|
|
3246
3319
|
exports.createBus = createBus;
|
|
3247
3320
|
exports.createFHIRResource = createFHIRResource;
|
|
@@ -3288,6 +3361,7 @@ exports.parseFHIRDateTime = parseFHIRDateTime;
|
|
|
3288
3361
|
exports.parseFHIRTime = parseFHIRTime;
|
|
3289
3362
|
exports.patch = patch;
|
|
3290
3363
|
exports.patchFHIRResource = patchFHIRResource;
|
|
3364
|
+
exports.removeNullsFromDicts = removeNullsFromDicts;
|
|
3291
3365
|
exports.resetInstanceToken = resetInstanceToken;
|
|
3292
3366
|
exports.resolveArray = resolveArray;
|
|
3293
3367
|
exports.resolveMap = resolveMap;
|
|
@@ -3,19 +3,19 @@ import { AidboxReference, AidboxResource, ValueSet, Bundle, BundleEntry, id } fr
|
|
|
3
3
|
import { RemoteDataResult } from '../libs/remoteData';
|
|
4
4
|
import { SearchParams } from './search';
|
|
5
5
|
export type WithId<T extends AidboxResource> = T & Required<Pick<T, 'id'>>;
|
|
6
|
-
export declare function createFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams): Promise<RemoteDataResult<WithId<R>>>;
|
|
7
|
-
export declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams): AxiosRequestConfig;
|
|
8
|
-
export declare function updateFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams): Promise<RemoteDataResult<WithId<R>>>;
|
|
9
|
-
export declare function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams): AxiosRequestConfig;
|
|
6
|
+
export declare function createFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): Promise<RemoteDataResult<WithId<R>>>;
|
|
7
|
+
export declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): AxiosRequestConfig;
|
|
8
|
+
export declare function updateFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): Promise<RemoteDataResult<WithId<R>>>;
|
|
9
|
+
export declare function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): AxiosRequestConfig;
|
|
10
10
|
export declare function getFHIRResource<R extends AidboxResource>(reference: AidboxReference<R>): Promise<RemoteDataResult<WithId<R>>>;
|
|
11
11
|
export declare function get<R extends AidboxResource>(reference: AidboxReference<R>): AxiosRequestConfig;
|
|
12
12
|
export declare function getFHIRResources<R extends AidboxResource>(resourceType: R['resourceType'], searchParams: SearchParams, extraPath?: string): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
13
13
|
export declare function getAllFHIRResources<R extends AidboxResource>(resourceType: string, params: SearchParams, extraPath?: string): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
14
14
|
export declare function list<R extends AidboxResource>(resourceType: R['resourceType'], searchParams: SearchParams, extraPath?: string): AxiosRequestConfig;
|
|
15
15
|
export declare function findFHIRResource<R extends AidboxResource>(resourceType: R['resourceType'], params: SearchParams, extraPath?: string): Promise<RemoteDataResult<WithId<R>>>;
|
|
16
|
-
export declare function saveFHIRResource<R extends AidboxResource>(resource: R): Promise<RemoteDataResult<WithId<R>>>;
|
|
17
|
-
export declare function save<R extends AidboxResource>(resource: R): AxiosRequestConfig;
|
|
18
|
-
export declare function saveFHIRResources<R extends AidboxResource>(resources: R[], bundleType: 'transaction' | 'batch'): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
16
|
+
export declare function saveFHIRResource<R extends AidboxResource>(resource: R, dropNullsFromDicts?: boolean): Promise<RemoteDataResult<WithId<R>>>;
|
|
17
|
+
export declare function save<R extends AidboxResource>(resource: R, dropNullsFromDicts?: boolean): AxiosRequestConfig;
|
|
18
|
+
export declare function saveFHIRResources<R extends AidboxResource>(resources: R[], bundleType: 'transaction' | 'batch', dropNullsFromDicts?: boolean): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
19
19
|
type NullableRecursivePartial<T> = {
|
|
20
20
|
[P in keyof T]?: NullableRecursivePartial<T[P]> | null;
|
|
21
21
|
};
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.js
CHANGED
|
@@ -149,6 +149,58 @@ function resolveServiceMap(promiseMap) {
|
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
+
function isEmpty(data) {
|
|
153
|
+
if (Array.isArray(data)) {
|
|
154
|
+
return data.length === 0;
|
|
155
|
+
}
|
|
156
|
+
if (typeof data === 'object' && data !== null) {
|
|
157
|
+
return Object.keys(data).length === 0;
|
|
158
|
+
}
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
function cleanEmptyValues(data) {
|
|
162
|
+
if (Array.isArray(data)) {
|
|
163
|
+
return data.map((item) => {
|
|
164
|
+
return isEmpty(item) ? null : cleanEmptyValues(item);
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
if (typeof data === 'object' && data !== null) {
|
|
168
|
+
const cleaned = {};
|
|
169
|
+
for (const [key, value] of Object.entries(data)) {
|
|
170
|
+
const cleanedValue = cleanEmptyValues(value);
|
|
171
|
+
if (!isEmpty(cleanedValue)) {
|
|
172
|
+
cleaned[key] = cleanedValue;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return cleaned;
|
|
176
|
+
}
|
|
177
|
+
if (typeof data === 'undefined') {
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
180
|
+
return data;
|
|
181
|
+
}
|
|
182
|
+
function isNull(value) {
|
|
183
|
+
return value === null || value === undefined;
|
|
184
|
+
}
|
|
185
|
+
function removeNullsFromDicts(data) {
|
|
186
|
+
if (Array.isArray(data)) {
|
|
187
|
+
return data.map(removeNullsFromDicts);
|
|
188
|
+
}
|
|
189
|
+
if (typeof data === 'object' && data !== null) {
|
|
190
|
+
const result = {};
|
|
191
|
+
for (const [key, value] of Object.entries(data)) {
|
|
192
|
+
if (!isNull(value)) {
|
|
193
|
+
result[key] = removeNullsFromDicts(value);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return result;
|
|
197
|
+
}
|
|
198
|
+
if (typeof data === 'undefined') {
|
|
199
|
+
return null;
|
|
200
|
+
}
|
|
201
|
+
return data;
|
|
202
|
+
}
|
|
203
|
+
|
|
152
204
|
const inactiveMapping = {
|
|
153
205
|
DocumentReference: {
|
|
154
206
|
searchField: 'status',
|
|
@@ -213,36 +265,46 @@ function getInactiveSearchParam(resourceType) {
|
|
|
213
265
|
}
|
|
214
266
|
return {};
|
|
215
267
|
}
|
|
216
|
-
function createFHIRResource(resource, searchParams) {
|
|
268
|
+
function createFHIRResource(resource, searchParams, dropNullsFromDicts = true) {
|
|
217
269
|
return __awaiter(this, void 0, void 0, function* () {
|
|
218
|
-
return service(create(resource, searchParams));
|
|
270
|
+
return service(create(resource, searchParams, dropNullsFromDicts));
|
|
219
271
|
});
|
|
220
272
|
}
|
|
221
|
-
function create(resource, searchParams) {
|
|
273
|
+
function create(resource, searchParams, dropNullsFromDicts = true) {
|
|
274
|
+
let cleanedResource = resource;
|
|
275
|
+
if (dropNullsFromDicts) {
|
|
276
|
+
cleanedResource = removeNullsFromDicts(cleanedResource);
|
|
277
|
+
}
|
|
278
|
+
cleanedResource = cleanEmptyValues(cleanedResource);
|
|
222
279
|
return {
|
|
223
280
|
method: 'POST',
|
|
224
|
-
url: `/${
|
|
281
|
+
url: `/${cleanedResource.resourceType}`,
|
|
225
282
|
params: searchParams,
|
|
226
|
-
data:
|
|
283
|
+
data: cleanedResource,
|
|
227
284
|
};
|
|
228
285
|
}
|
|
229
|
-
function updateFHIRResource(resource, searchParams) {
|
|
286
|
+
function updateFHIRResource(resource, searchParams, dropNullsFromDicts = true) {
|
|
230
287
|
return __awaiter(this, void 0, void 0, function* () {
|
|
231
|
-
return service(update(resource, searchParams));
|
|
288
|
+
return service(update(resource, searchParams, dropNullsFromDicts));
|
|
232
289
|
});
|
|
233
290
|
}
|
|
234
|
-
function update(resource, searchParams) {
|
|
291
|
+
function update(resource, searchParams, dropNullsFromDicts = true) {
|
|
292
|
+
let cleanedResource = resource;
|
|
293
|
+
if (dropNullsFromDicts) {
|
|
294
|
+
cleanedResource = removeNullsFromDicts(cleanedResource);
|
|
295
|
+
}
|
|
296
|
+
cleanedResource = cleanEmptyValues(cleanedResource);
|
|
235
297
|
if (searchParams) {
|
|
236
298
|
return {
|
|
237
299
|
method: 'PUT',
|
|
238
|
-
url: `/${
|
|
239
|
-
data:
|
|
300
|
+
url: `/${cleanedResource.resourceType}`,
|
|
301
|
+
data: cleanedResource,
|
|
240
302
|
params: searchParams,
|
|
241
303
|
};
|
|
242
304
|
}
|
|
243
|
-
if (
|
|
244
|
-
const versionId =
|
|
245
|
-
return Object.assign({ method: 'PUT', url: `/${
|
|
305
|
+
if (cleanedResource.id) {
|
|
306
|
+
const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
|
|
307
|
+
return Object.assign({ method: 'PUT', url: `/${cleanedResource.resourceType}/${cleanedResource.id}`, data: cleanedResource }, (versionId ? { headers: { 'If-Match': versionId } } : {}));
|
|
246
308
|
}
|
|
247
309
|
throw new Error('Resourse id and search parameters are not specified');
|
|
248
310
|
}
|
|
@@ -317,16 +379,21 @@ function findFHIRResource(resourceType, params, extraPath) {
|
|
|
317
379
|
}
|
|
318
380
|
});
|
|
319
381
|
}
|
|
320
|
-
function saveFHIRResource(resource) {
|
|
382
|
+
function saveFHIRResource(resource, dropNullsFromDicts = true) {
|
|
321
383
|
return __awaiter(this, void 0, void 0, function* () {
|
|
322
|
-
return service(save(resource));
|
|
384
|
+
return service(save(resource, dropNullsFromDicts));
|
|
323
385
|
});
|
|
324
386
|
}
|
|
325
|
-
function save(resource) {
|
|
387
|
+
function save(resource, dropNullsFromDicts = true) {
|
|
326
388
|
const versionId = resource.meta && resource.meta.versionId;
|
|
327
|
-
|
|
389
|
+
let cleanedResource = resource;
|
|
390
|
+
if (dropNullsFromDicts) {
|
|
391
|
+
cleanedResource = removeNullsFromDicts(cleanedResource);
|
|
392
|
+
}
|
|
393
|
+
cleanedResource = cleanEmptyValues(cleanedResource);
|
|
394
|
+
return Object.assign({ method: resource.id ? 'PUT' : 'POST', data: cleanedResource, url: `/${resource.resourceType}${resource.id ? '/' + resource.id : ''}` }, (resource.id && versionId ? { headers: { 'If-Match': versionId } } : {}));
|
|
328
395
|
}
|
|
329
|
-
function saveFHIRResources(resources, bundleType) {
|
|
396
|
+
function saveFHIRResources(resources, bundleType, dropNullsFromDicts = true) {
|
|
330
397
|
return __awaiter(this, void 0, void 0, function* () {
|
|
331
398
|
return service({
|
|
332
399
|
method: 'POST',
|
|
@@ -334,10 +401,15 @@ function saveFHIRResources(resources, bundleType) {
|
|
|
334
401
|
data: {
|
|
335
402
|
type: bundleType,
|
|
336
403
|
entry: resources.map((resource) => {
|
|
337
|
-
|
|
404
|
+
let cleanedResource = resource;
|
|
405
|
+
if (dropNullsFromDicts) {
|
|
406
|
+
cleanedResource = removeNullsFromDicts(cleanedResource);
|
|
407
|
+
}
|
|
408
|
+
cleanedResource = cleanEmptyValues(cleanedResource);
|
|
409
|
+
const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
|
|
338
410
|
return {
|
|
339
|
-
resource,
|
|
340
|
-
request: Object.assign({ method:
|
|
411
|
+
resource: cleanedResource,
|
|
412
|
+
request: Object.assign({ method: cleanedResource.id ? 'PUT' : 'POST', url: `/${cleanedResource.resourceType}${cleanedResource.id ? '/' + cleanedResource.id : ''}` }, (cleanedResource.id && versionId ? { ifMatch: versionId } : {})),
|
|
341
413
|
};
|
|
342
414
|
}),
|
|
343
415
|
},
|
|
@@ -3182,4 +3254,4 @@ function withRender(config) {
|
|
|
3182
3254
|
};
|
|
3183
3255
|
}
|
|
3184
3256
|
|
|
3185
|
-
export { FHIRDateFormat, FHIRDateTimeFormat, FHIRTimeFormat, RenderRemoteData, SharedStateInitializationError, applyDataTransformer, applyErrorTransformer, applyFHIRService, applyFHIRServices, axiosInstance, buildQueryParams, create, createBus, createFHIRResource, createSharedState, deleteFHIRResource, ensure, extractBundleResources, extractErrorCode, extractErrorDescription, extractFHIRDate, extractFHIRTime, findFHIRResource, forceDelete, forceDeleteFHIRResource, formatError, formatFHIRDate, formatFHIRDateTime, formatFHIRTime, get, getAllFHIRResources, getConcepts, getFHIRResource, getFHIRResources, getIncludedResource, getIncludedResources, getMainResources, getReference, getToken, getUserInfo, investigate, isBackendError, isFHIRDateEqual, isOperationOutcome, isReference, list, login, makeFHIRDateTime, makeReference, mapFailure, mapSuccess, markAsDeleted, parseFHIRDate, parseFHIRDateTime, parseFHIRTime, patch, patchFHIRResource, resetInstanceToken, resolveArray, resolveMap, resolveServiceMap, save, saveFHIRResource, saveFHIRResources, sequenceArray, sequenceMap, service, setInstanceBaseURL, setInstanceToken, transformToBundleEntry, update, updateFHIRResource, useCRUD, usePager, useService, uuid4, withRender, withRootAccess };
|
|
3257
|
+
export { FHIRDateFormat, FHIRDateTimeFormat, FHIRTimeFormat, RenderRemoteData, SharedStateInitializationError, applyDataTransformer, applyErrorTransformer, applyFHIRService, applyFHIRServices, axiosInstance, buildQueryParams, cleanEmptyValues, create, createBus, createFHIRResource, createSharedState, deleteFHIRResource, ensure, extractBundleResources, extractErrorCode, extractErrorDescription, extractFHIRDate, extractFHIRTime, findFHIRResource, forceDelete, forceDeleteFHIRResource, formatError, formatFHIRDate, formatFHIRDateTime, formatFHIRTime, get, getAllFHIRResources, getConcepts, getFHIRResource, getFHIRResources, getIncludedResource, getIncludedResources, getMainResources, getReference, getToken, getUserInfo, investigate, isBackendError, isFHIRDateEqual, isOperationOutcome, isReference, list, login, makeFHIRDateTime, makeReference, mapFailure, mapSuccess, markAsDeleted, parseFHIRDate, parseFHIRDateTime, parseFHIRTime, patch, patchFHIRResource, removeNullsFromDicts, resetInstanceToken, resolveArray, resolveMap, resolveServiceMap, save, saveFHIRResource, saveFHIRResources, sequenceArray, sequenceMap, service, setInstanceBaseURL, setInstanceToken, transformToBundleEntry, update, updateFHIRResource, useCRUD, usePager, useService, uuid4, withRender, withRootAccess };
|
|
@@ -3,19 +3,19 @@ import { AidboxReference, AidboxResource, ValueSet, Bundle, BundleEntry, id } fr
|
|
|
3
3
|
import { RemoteDataResult } from '../libs/remoteData';
|
|
4
4
|
import { SearchParams } from './search';
|
|
5
5
|
export type WithId<T extends AidboxResource> = T & Required<Pick<T, 'id'>>;
|
|
6
|
-
export declare function createFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams): Promise<RemoteDataResult<WithId<R>>>;
|
|
7
|
-
export declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams): AxiosRequestConfig;
|
|
8
|
-
export declare function updateFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams): Promise<RemoteDataResult<WithId<R>>>;
|
|
9
|
-
export declare function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams): AxiosRequestConfig;
|
|
6
|
+
export declare function createFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): Promise<RemoteDataResult<WithId<R>>>;
|
|
7
|
+
export declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): AxiosRequestConfig;
|
|
8
|
+
export declare function updateFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): Promise<RemoteDataResult<WithId<R>>>;
|
|
9
|
+
export declare function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): AxiosRequestConfig;
|
|
10
10
|
export declare function getFHIRResource<R extends AidboxResource>(reference: AidboxReference<R>): Promise<RemoteDataResult<WithId<R>>>;
|
|
11
11
|
export declare function get<R extends AidboxResource>(reference: AidboxReference<R>): AxiosRequestConfig;
|
|
12
12
|
export declare function getFHIRResources<R extends AidboxResource>(resourceType: R['resourceType'], searchParams: SearchParams, extraPath?: string): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
13
13
|
export declare function getAllFHIRResources<R extends AidboxResource>(resourceType: string, params: SearchParams, extraPath?: string): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
14
14
|
export declare function list<R extends AidboxResource>(resourceType: R['resourceType'], searchParams: SearchParams, extraPath?: string): AxiosRequestConfig;
|
|
15
15
|
export declare function findFHIRResource<R extends AidboxResource>(resourceType: R['resourceType'], params: SearchParams, extraPath?: string): Promise<RemoteDataResult<WithId<R>>>;
|
|
16
|
-
export declare function saveFHIRResource<R extends AidboxResource>(resource: R): Promise<RemoteDataResult<WithId<R>>>;
|
|
17
|
-
export declare function save<R extends AidboxResource>(resource: R): AxiosRequestConfig;
|
|
18
|
-
export declare function saveFHIRResources<R extends AidboxResource>(resources: R[], bundleType: 'transaction' | 'batch'): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
16
|
+
export declare function saveFHIRResource<R extends AidboxResource>(resource: R, dropNullsFromDicts?: boolean): Promise<RemoteDataResult<WithId<R>>>;
|
|
17
|
+
export declare function save<R extends AidboxResource>(resource: R, dropNullsFromDicts?: boolean): AxiosRequestConfig;
|
|
18
|
+
export declare function saveFHIRResources<R extends AidboxResource>(resources: R[], bundleType: 'transaction' | 'batch', dropNullsFromDicts?: boolean): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
19
19
|
type NullableRecursivePartial<T> = {
|
|
20
20
|
[P in keyof T]?: NullableRecursivePartial<T[P]> | null;
|
|
21
21
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -56,19 +56,19 @@ declare function resolveServiceMap<I, F>(promiseMap: PromiseRemoteDataResultMap<
|
|
|
56
56
|
declare function resolveServiceMap<I, F>(promiseMap: PromiseRemoteDataMap<I, F>): Promise<RemoteData<I, F[]>>;
|
|
57
57
|
|
|
58
58
|
type WithId<T extends AidboxResource> = T & Required<Pick<T, 'id'>>;
|
|
59
|
-
declare function createFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams): Promise<RemoteDataResult<WithId<R>>>;
|
|
60
|
-
declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams): AxiosRequestConfig;
|
|
61
|
-
declare function updateFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams): Promise<RemoteDataResult<WithId<R>>>;
|
|
62
|
-
declare function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams): AxiosRequestConfig;
|
|
59
|
+
declare function createFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): Promise<RemoteDataResult<WithId<R>>>;
|
|
60
|
+
declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): AxiosRequestConfig;
|
|
61
|
+
declare function updateFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): Promise<RemoteDataResult<WithId<R>>>;
|
|
62
|
+
declare function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): AxiosRequestConfig;
|
|
63
63
|
declare function getFHIRResource<R extends AidboxResource>(reference: AidboxReference<R>): Promise<RemoteDataResult<WithId<R>>>;
|
|
64
64
|
declare function get<R extends AidboxResource>(reference: AidboxReference<R>): AxiosRequestConfig;
|
|
65
65
|
declare function getFHIRResources<R extends AidboxResource>(resourceType: R['resourceType'], searchParams: SearchParams, extraPath?: string): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
66
66
|
declare function getAllFHIRResources<R extends AidboxResource>(resourceType: string, params: SearchParams, extraPath?: string): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
67
67
|
declare function list<R extends AidboxResource>(resourceType: R['resourceType'], searchParams: SearchParams, extraPath?: string): AxiosRequestConfig;
|
|
68
68
|
declare function findFHIRResource<R extends AidboxResource>(resourceType: R['resourceType'], params: SearchParams, extraPath?: string): Promise<RemoteDataResult<WithId<R>>>;
|
|
69
|
-
declare function saveFHIRResource<R extends AidboxResource>(resource: R): Promise<RemoteDataResult<WithId<R>>>;
|
|
70
|
-
declare function save<R extends AidboxResource>(resource: R): AxiosRequestConfig;
|
|
71
|
-
declare function saveFHIRResources<R extends AidboxResource>(resources: R[], bundleType: 'transaction' | 'batch'): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
69
|
+
declare function saveFHIRResource<R extends AidboxResource>(resource: R, dropNullsFromDicts?: boolean): Promise<RemoteDataResult<WithId<R>>>;
|
|
70
|
+
declare function save<R extends AidboxResource>(resource: R, dropNullsFromDicts?: boolean): AxiosRequestConfig;
|
|
71
|
+
declare function saveFHIRResources<R extends AidboxResource>(resources: R[], bundleType: 'transaction' | 'batch', dropNullsFromDicts?: boolean): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
72
72
|
type NullableRecursivePartial<T> = {
|
|
73
73
|
[P in keyof T]?: NullableRecursivePartial<T[P]> | null;
|
|
74
74
|
};
|
|
@@ -148,6 +148,9 @@ declare function getUserInfo(): Promise<User>;
|
|
|
148
148
|
|
|
149
149
|
declare function uuid4(): string;
|
|
150
150
|
|
|
151
|
+
declare function cleanEmptyValues(data: any): any;
|
|
152
|
+
declare function removeNullsFromDicts(data: any): any;
|
|
153
|
+
|
|
151
154
|
interface BaseAction {
|
|
152
155
|
type: unknown;
|
|
153
156
|
}
|
|
@@ -213,4 +216,4 @@ type RenderRemoteDataProps<S, E = any> = RenderRemoteDataBasicProps<S> & RenderC
|
|
|
213
216
|
declare function RenderRemoteData<S, E = any>(props: RenderRemoteDataProps<S, E>): JSX.Element | null;
|
|
214
217
|
declare function withRender<E = any>(config: RenderConfig<E>): <S>(props: RenderRemoteDataProps<S, E>) => JSX.Element;
|
|
215
218
|
|
|
216
|
-
export { CRUDManager, FHIRDateFormat, FHIRDateTimeFormat, FHIRTimeFormat, LoginService, PagerManager, PromiseRemoteDataMap, PromiseRemoteDataResultMap, RemoteDataMap, RemoteDataResultMap, RenderRemoteData, ResourcesMap, SearchParam, SearchParams, ServiceManager, SharedStateInitializationError, StateManager, Token, WithId, applyDataTransformer, applyErrorTransformer, applyFHIRService, applyFHIRServices, axiosInstance, buildQueryParams, create, createBus, createFHIRResource, createSharedState, deleteFHIRResource, ensure, extractBundleResources, extractErrorCode, extractErrorDescription, extractFHIRDate, extractFHIRTime, findFHIRResource, forceDelete, forceDeleteFHIRResource, formatError, formatFHIRDate, formatFHIRDateTime, formatFHIRTime, get, getAllFHIRResources, getConcepts, getFHIRResource, getFHIRResources, getIncludedResource, getIncludedResources, getMainResources, getReference, getToken, getUserInfo, investigate, isBackendError, isFHIRDateEqual, isOperationOutcome, isReference, list, login, makeFHIRDateTime, makeReference, mapFailure, mapSuccess, markAsDeleted, parseFHIRDate, parseFHIRDateTime, parseFHIRTime, patch, patchFHIRResource, resetInstanceToken, resolveArray, resolveMap, resolveServiceMap, save, saveFHIRResource, saveFHIRResources, sequenceArray, sequenceMap, service, setInstanceBaseURL, setInstanceToken, transformToBundleEntry, update, updateFHIRResource, useCRUD, usePager, useService, uuid4, withRender, withRootAccess };
|
|
219
|
+
export { CRUDManager, FHIRDateFormat, FHIRDateTimeFormat, FHIRTimeFormat, LoginService, PagerManager, PromiseRemoteDataMap, PromiseRemoteDataResultMap, RemoteDataMap, RemoteDataResultMap, RenderRemoteData, ResourcesMap, SearchParam, SearchParams, ServiceManager, SharedStateInitializationError, StateManager, Token, WithId, applyDataTransformer, applyErrorTransformer, applyFHIRService, applyFHIRServices, axiosInstance, buildQueryParams, cleanEmptyValues, create, createBus, createFHIRResource, createSharedState, deleteFHIRResource, ensure, extractBundleResources, extractErrorCode, extractErrorDescription, extractFHIRDate, extractFHIRTime, findFHIRResource, forceDelete, forceDeleteFHIRResource, formatError, formatFHIRDate, formatFHIRDateTime, formatFHIRTime, get, getAllFHIRResources, getConcepts, getFHIRResource, getFHIRResources, getIncludedResource, getIncludedResources, getMainResources, getReference, getToken, getUserInfo, investigate, isBackendError, isFHIRDateEqual, isOperationOutcome, isReference, list, login, makeFHIRDateTime, makeReference, mapFailure, mapSuccess, markAsDeleted, parseFHIRDate, parseFHIRDateTime, parseFHIRTime, patch, patchFHIRResource, removeNullsFromDicts, resetInstanceToken, resolveArray, resolveMap, resolveServiceMap, save, saveFHIRResource, saveFHIRResources, sequenceArray, sequenceMap, service, setInstanceBaseURL, setInstanceToken, transformToBundleEntry, update, updateFHIRResource, useCRUD, usePager, useService, uuid4, withRender, withRootAccess };
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAElC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAE7B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAE9B,cAAc,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAElC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAE9B,cAAc,+BAA+B,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -11,6 +11,7 @@ tslib_1.__exportStar(require("./utils/date"), exports);
|
|
|
11
11
|
tslib_1.__exportStar(require("./utils/error"), exports);
|
|
12
12
|
tslib_1.__exportStar(require("./utils/tests"), exports);
|
|
13
13
|
tslib_1.__exportStar(require("./utils/uuid"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./utils/fhir"), exports);
|
|
14
15
|
tslib_1.__exportStar(require("./hooks/bus"), exports);
|
|
15
16
|
tslib_1.__exportStar(require("./hooks/service"), exports);
|
|
16
17
|
tslib_1.__exportStar(require("./hooks/crud"), exports);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAElC,2DAAiC;AACjC,8DAAoC;AACpC,4DAAkC;AAClC,6DAAmC;AACnC,0DAAgC;AAEhC,uDAA6B;AAC7B,wDAA8B;AAC9B,wDAA8B;AAC9B,uDAA6B;AAE7B,sDAA4B;AAC5B,0DAAgC;AAChC,uDAA6B;AAC7B,+DAAqC;AACrC,wDAA8B;AAE9B,wEAA8C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAElC,2DAAiC;AACjC,8DAAoC;AACpC,4DAAkC;AAClC,6DAAmC;AACnC,0DAAgC;AAEhC,uDAA6B;AAC7B,wDAA8B;AAC9B,wDAA8B;AAC9B,uDAA6B;AAC7B,uDAA6B;AAE7B,sDAA4B;AAC5B,0DAAgC;AAChC,uDAA6B;AAC7B,+DAAqC;AACrC,wDAA8B;AAE9B,wEAA8C"}
|
package/lib/services/fhir.d.ts
CHANGED
|
@@ -3,19 +3,19 @@ import { AidboxReference, AidboxResource, ValueSet, Bundle, BundleEntry, id } fr
|
|
|
3
3
|
import { RemoteDataResult } from '../libs/remoteData';
|
|
4
4
|
import { SearchParams } from './search';
|
|
5
5
|
export type WithId<T extends AidboxResource> = T & Required<Pick<T, 'id'>>;
|
|
6
|
-
export declare function createFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams): Promise<RemoteDataResult<WithId<R>>>;
|
|
7
|
-
export declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams): AxiosRequestConfig;
|
|
8
|
-
export declare function updateFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams): Promise<RemoteDataResult<WithId<R>>>;
|
|
9
|
-
export declare function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams): AxiosRequestConfig;
|
|
6
|
+
export declare function createFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): Promise<RemoteDataResult<WithId<R>>>;
|
|
7
|
+
export declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): AxiosRequestConfig;
|
|
8
|
+
export declare function updateFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): Promise<RemoteDataResult<WithId<R>>>;
|
|
9
|
+
export declare function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams, dropNullsFromDicts?: boolean): AxiosRequestConfig;
|
|
10
10
|
export declare function getFHIRResource<R extends AidboxResource>(reference: AidboxReference<R>): Promise<RemoteDataResult<WithId<R>>>;
|
|
11
11
|
export declare function get<R extends AidboxResource>(reference: AidboxReference<R>): AxiosRequestConfig;
|
|
12
12
|
export declare function getFHIRResources<R extends AidboxResource>(resourceType: R['resourceType'], searchParams: SearchParams, extraPath?: string): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
13
13
|
export declare function getAllFHIRResources<R extends AidboxResource>(resourceType: string, params: SearchParams, extraPath?: string): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
14
14
|
export declare function list<R extends AidboxResource>(resourceType: R['resourceType'], searchParams: SearchParams, extraPath?: string): AxiosRequestConfig;
|
|
15
15
|
export declare function findFHIRResource<R extends AidboxResource>(resourceType: R['resourceType'], params: SearchParams, extraPath?: string): Promise<RemoteDataResult<WithId<R>>>;
|
|
16
|
-
export declare function saveFHIRResource<R extends AidboxResource>(resource: R): Promise<RemoteDataResult<WithId<R>>>;
|
|
17
|
-
export declare function save<R extends AidboxResource>(resource: R): AxiosRequestConfig;
|
|
18
|
-
export declare function saveFHIRResources<R extends AidboxResource>(resources: R[], bundleType: 'transaction' | 'batch'): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
16
|
+
export declare function saveFHIRResource<R extends AidboxResource>(resource: R, dropNullsFromDicts?: boolean): Promise<RemoteDataResult<WithId<R>>>;
|
|
17
|
+
export declare function save<R extends AidboxResource>(resource: R, dropNullsFromDicts?: boolean): AxiosRequestConfig;
|
|
18
|
+
export declare function saveFHIRResources<R extends AidboxResource>(resources: R[], bundleType: 'transaction' | 'batch', dropNullsFromDicts?: boolean): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
19
19
|
type NullableRecursivePartial<T> = {
|
|
20
20
|
[P in keyof T]?: NullableRecursivePartial<T[P]> | null;
|
|
21
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fhir.d.ts","sourceRoot":"","sources":["../../src/services/fhir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAE/G,OAAO,EAAa,gBAAgB,EAAoB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"fhir.d.ts","sourceRoot":"","sources":["../../src/services/fhir.ts"],"names":[],"mappings":"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"}
|
package/lib/services/fhir.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.applyFHIRServices = exports.transformToBundleEntry = exports.applyFHIRService = exports.getConcepts = exports.getMainResources = exports.getIncludedResources = exports.getIncludedResource = exports.extractBundleResources = exports.isReference = exports.makeReference = exports.getReference = exports.forceDelete = exports.forceDeleteFHIRResource = exports.markAsDeleted = exports.deleteFHIRResource = exports.patch = exports.patchFHIRResource = exports.saveFHIRResources = exports.save = exports.saveFHIRResource = exports.findFHIRResource = exports.list = exports.getAllFHIRResources = exports.getFHIRResources = exports.get = exports.getFHIRResource = exports.update = exports.updateFHIRResource = exports.create = exports.createFHIRResource = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var remoteData_1 = require("../libs/remoteData");
|
|
6
|
+
var fhir_1 = require("../utils/fhir");
|
|
6
7
|
var instance_1 = require("./instance");
|
|
7
8
|
var service_1 = require("./service");
|
|
8
9
|
var inactiveMapping = {
|
|
@@ -70,43 +71,57 @@ function getInactiveSearchParam(resourceType) {
|
|
|
70
71
|
}
|
|
71
72
|
return {};
|
|
72
73
|
}
|
|
73
|
-
function createFHIRResource(resource, searchParams) {
|
|
74
|
+
function createFHIRResource(resource, searchParams, dropNullsFromDicts) {
|
|
75
|
+
if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
|
|
74
76
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
75
77
|
return tslib_1.__generator(this, function (_a) {
|
|
76
|
-
return [2 /*return*/, (0, service_1.service)(create(resource, searchParams))];
|
|
78
|
+
return [2 /*return*/, (0, service_1.service)(create(resource, searchParams, dropNullsFromDicts))];
|
|
77
79
|
});
|
|
78
80
|
});
|
|
79
81
|
}
|
|
80
82
|
exports.createFHIRResource = createFHIRResource;
|
|
81
|
-
function create(resource, searchParams) {
|
|
83
|
+
function create(resource, searchParams, dropNullsFromDicts) {
|
|
84
|
+
if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
|
|
85
|
+
var cleanedResource = resource;
|
|
86
|
+
if (dropNullsFromDicts) {
|
|
87
|
+
cleanedResource = (0, fhir_1.removeNullsFromDicts)(cleanedResource);
|
|
88
|
+
}
|
|
89
|
+
cleanedResource = (0, fhir_1.cleanEmptyValues)(cleanedResource);
|
|
82
90
|
return {
|
|
83
91
|
method: 'POST',
|
|
84
|
-
url: "/".concat(
|
|
92
|
+
url: "/".concat(cleanedResource.resourceType),
|
|
85
93
|
params: searchParams,
|
|
86
|
-
data:
|
|
94
|
+
data: cleanedResource,
|
|
87
95
|
};
|
|
88
96
|
}
|
|
89
97
|
exports.create = create;
|
|
90
|
-
function updateFHIRResource(resource, searchParams) {
|
|
98
|
+
function updateFHIRResource(resource, searchParams, dropNullsFromDicts) {
|
|
99
|
+
if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
|
|
91
100
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
92
101
|
return tslib_1.__generator(this, function (_a) {
|
|
93
|
-
return [2 /*return*/, (0, service_1.service)(update(resource, searchParams))];
|
|
102
|
+
return [2 /*return*/, (0, service_1.service)(update(resource, searchParams, dropNullsFromDicts))];
|
|
94
103
|
});
|
|
95
104
|
});
|
|
96
105
|
}
|
|
97
106
|
exports.updateFHIRResource = updateFHIRResource;
|
|
98
|
-
function update(resource, searchParams) {
|
|
107
|
+
function update(resource, searchParams, dropNullsFromDicts) {
|
|
108
|
+
if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
|
|
109
|
+
var cleanedResource = resource;
|
|
110
|
+
if (dropNullsFromDicts) {
|
|
111
|
+
cleanedResource = (0, fhir_1.removeNullsFromDicts)(cleanedResource);
|
|
112
|
+
}
|
|
113
|
+
cleanedResource = (0, fhir_1.cleanEmptyValues)(cleanedResource);
|
|
99
114
|
if (searchParams) {
|
|
100
115
|
return {
|
|
101
116
|
method: 'PUT',
|
|
102
|
-
url: "/".concat(
|
|
103
|
-
data:
|
|
117
|
+
url: "/".concat(cleanedResource.resourceType),
|
|
118
|
+
data: cleanedResource,
|
|
104
119
|
params: searchParams,
|
|
105
120
|
};
|
|
106
121
|
}
|
|
107
|
-
if (
|
|
108
|
-
var versionId =
|
|
109
|
-
return tslib_1.__assign({ method: 'PUT', url: "/".concat(
|
|
122
|
+
if (cleanedResource.id) {
|
|
123
|
+
var versionId = cleanedResource.meta && cleanedResource.meta.versionId;
|
|
124
|
+
return tslib_1.__assign({ method: 'PUT', url: "/".concat(cleanedResource.resourceType, "/").concat(cleanedResource.id), data: cleanedResource }, (versionId ? { headers: { 'If-Match': versionId } } : {}));
|
|
110
125
|
}
|
|
111
126
|
throw new Error('Resourse id and search parameters are not specified');
|
|
112
127
|
}
|
|
@@ -211,20 +226,28 @@ function findFHIRResource(resourceType, params, extraPath) {
|
|
|
211
226
|
});
|
|
212
227
|
}
|
|
213
228
|
exports.findFHIRResource = findFHIRResource;
|
|
214
|
-
function saveFHIRResource(resource) {
|
|
229
|
+
function saveFHIRResource(resource, dropNullsFromDicts) {
|
|
230
|
+
if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
|
|
215
231
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
216
232
|
return tslib_1.__generator(this, function (_a) {
|
|
217
|
-
return [2 /*return*/, (0, service_1.service)(save(resource))];
|
|
233
|
+
return [2 /*return*/, (0, service_1.service)(save(resource, dropNullsFromDicts))];
|
|
218
234
|
});
|
|
219
235
|
});
|
|
220
236
|
}
|
|
221
237
|
exports.saveFHIRResource = saveFHIRResource;
|
|
222
|
-
function save(resource) {
|
|
238
|
+
function save(resource, dropNullsFromDicts) {
|
|
239
|
+
if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
|
|
223
240
|
var versionId = resource.meta && resource.meta.versionId;
|
|
224
|
-
|
|
241
|
+
var cleanedResource = resource;
|
|
242
|
+
if (dropNullsFromDicts) {
|
|
243
|
+
cleanedResource = (0, fhir_1.removeNullsFromDicts)(cleanedResource);
|
|
244
|
+
}
|
|
245
|
+
cleanedResource = (0, fhir_1.cleanEmptyValues)(cleanedResource);
|
|
246
|
+
return tslib_1.__assign({ method: resource.id ? 'PUT' : 'POST', data: cleanedResource, url: "/".concat(resource.resourceType).concat(resource.id ? '/' + resource.id : '') }, (resource.id && versionId ? { headers: { 'If-Match': versionId } } : {}));
|
|
225
247
|
}
|
|
226
248
|
exports.save = save;
|
|
227
|
-
function saveFHIRResources(resources, bundleType) {
|
|
249
|
+
function saveFHIRResources(resources, bundleType, dropNullsFromDicts) {
|
|
250
|
+
if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
|
|
228
251
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
229
252
|
return tslib_1.__generator(this, function (_a) {
|
|
230
253
|
return [2 /*return*/, (0, service_1.service)({
|
|
@@ -233,10 +256,15 @@ function saveFHIRResources(resources, bundleType) {
|
|
|
233
256
|
data: {
|
|
234
257
|
type: bundleType,
|
|
235
258
|
entry: resources.map(function (resource) {
|
|
236
|
-
var
|
|
259
|
+
var cleanedResource = resource;
|
|
260
|
+
if (dropNullsFromDicts) {
|
|
261
|
+
cleanedResource = (0, fhir_1.removeNullsFromDicts)(cleanedResource);
|
|
262
|
+
}
|
|
263
|
+
cleanedResource = (0, fhir_1.cleanEmptyValues)(cleanedResource);
|
|
264
|
+
var versionId = cleanedResource.meta && cleanedResource.meta.versionId;
|
|
237
265
|
return {
|
|
238
|
-
resource:
|
|
239
|
-
request: tslib_1.__assign({ method:
|
|
266
|
+
resource: cleanedResource,
|
|
267
|
+
request: tslib_1.__assign({ method: cleanedResource.id ? 'PUT' : 'POST', url: "/".concat(cleanedResource.resourceType).concat(cleanedResource.id ? '/' + cleanedResource.id : '') }, (cleanedResource.id && versionId ? { ifMatch: versionId } : {})),
|
|
240
268
|
};
|
|
241
269
|
}),
|
|
242
270
|
},
|
package/lib/services/fhir.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fhir.js","sourceRoot":"","sources":["../../src/services/fhir.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fhir.js","sourceRoot":"","sources":["../../src/services/fhir.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fhir.d.ts","sourceRoot":"","sources":["../../src/utils/fhir.ts"],"names":[],"mappings":"AAYA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAuB/C;AAMD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAoBnD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removeNullsFromDicts = exports.cleanEmptyValues = void 0;
|
|
4
|
+
function isEmpty(data) {
|
|
5
|
+
if (Array.isArray(data)) {
|
|
6
|
+
return data.length === 0;
|
|
7
|
+
}
|
|
8
|
+
if (typeof data === 'object' && data !== null) {
|
|
9
|
+
return Object.keys(data).length === 0;
|
|
10
|
+
}
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
function cleanEmptyValues(data) {
|
|
14
|
+
if (Array.isArray(data)) {
|
|
15
|
+
return data.map(function (item) {
|
|
16
|
+
return isEmpty(item) ? null : cleanEmptyValues(item);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
if (typeof data === 'object' && data !== null) {
|
|
20
|
+
var cleaned = {};
|
|
21
|
+
for (var _i = 0, _a = Object.entries(data); _i < _a.length; _i++) {
|
|
22
|
+
var _b = _a[_i], key = _b[0], value = _b[1];
|
|
23
|
+
var cleanedValue = cleanEmptyValues(value);
|
|
24
|
+
if (!isEmpty(cleanedValue)) {
|
|
25
|
+
cleaned[key] = cleanedValue;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return cleaned;
|
|
29
|
+
}
|
|
30
|
+
if (typeof data === 'undefined') {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
exports.cleanEmptyValues = cleanEmptyValues;
|
|
36
|
+
function isNull(value) {
|
|
37
|
+
return value === null || value === undefined;
|
|
38
|
+
}
|
|
39
|
+
function removeNullsFromDicts(data) {
|
|
40
|
+
if (Array.isArray(data)) {
|
|
41
|
+
return data.map(removeNullsFromDicts);
|
|
42
|
+
}
|
|
43
|
+
if (typeof data === 'object' && data !== null) {
|
|
44
|
+
var result = {};
|
|
45
|
+
for (var _i = 0, _a = Object.entries(data); _i < _a.length; _i++) {
|
|
46
|
+
var _b = _a[_i], key = _b[0], value = _b[1];
|
|
47
|
+
if (!isNull(value)) {
|
|
48
|
+
result[key] = removeNullsFromDicts(value);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
if (typeof data === 'undefined') {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
return data;
|
|
57
|
+
}
|
|
58
|
+
exports.removeNullsFromDicts = removeNullsFromDicts;
|
|
59
|
+
//# sourceMappingURL=fhir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fhir.js","sourceRoot":"","sources":["../../src/utils/fhir.ts"],"names":[],"mappings":";;;AAAA,SAAS,OAAO,CAAC,IAAS;IACtB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;KAC5B;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;QAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;KACzC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAS;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI;YACjB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;KACN;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;QAC3C,IAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,KAA2B,UAAoB,EAApB,KAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAApB,cAAoB,EAApB,IAAoB,EAAE;YAAtC,IAAA,WAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YAClB,IAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBACxB,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;aAC/B;SACJ;QACD,OAAO,OAAO,CAAC;KAClB;IAED,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;QAC7B,OAAO,IAAI,CAAC;KACf;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAvBD,4CAuBC;AAED,SAAS,MAAM,CAAC,KAAU;IACtB,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AACjD,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAAS;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;KACzC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;QAC3C,IAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,KAA2B,UAAoB,EAApB,KAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAApB,cAAoB,EAApB,IAAoB,EAAE;YAAtC,IAAA,WAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAChB,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;aAC7C;SACJ;QACD,OAAO,MAAM,CAAC;KACjB;IAED,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;QAC7B,OAAO,IAAI,CAAC;KACf;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AApBD,oDAoBC"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
package/src/services/fhir.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { AxiosRequestConfig } from 'axios';
|
|
|
2
2
|
import { AidboxReference, AidboxResource, ValueSet, Bundle, BundleEntry, id } from 'shared/src/contrib/aidbox';
|
|
3
3
|
|
|
4
4
|
import { isFailure, RemoteDataResult, success, failure } from '../libs/remoteData';
|
|
5
|
+
import { cleanEmptyValues, removeNullsFromDicts } from '../utils/fhir';
|
|
5
6
|
import { buildQueryParams } from './instance';
|
|
6
7
|
import { SearchParams } from './search';
|
|
7
8
|
import { service } from './service';
|
|
@@ -93,44 +94,66 @@ function getInactiveSearchParam(resourceType: string) {
|
|
|
93
94
|
|
|
94
95
|
export async function createFHIRResource<R extends AidboxResource>(
|
|
95
96
|
resource: R,
|
|
96
|
-
searchParams?: SearchParams
|
|
97
|
+
searchParams?: SearchParams,
|
|
98
|
+
dropNullsFromDicts = true
|
|
97
99
|
): Promise<RemoteDataResult<WithId<R>>> {
|
|
98
|
-
return service(create(resource, searchParams));
|
|
100
|
+
return service(create(resource, searchParams, dropNullsFromDicts));
|
|
99
101
|
}
|
|
100
102
|
|
|
101
|
-
export function create<R extends AidboxResource>(
|
|
103
|
+
export function create<R extends AidboxResource>(
|
|
104
|
+
resource: R,
|
|
105
|
+
searchParams?: SearchParams,
|
|
106
|
+
dropNullsFromDicts = true
|
|
107
|
+
): AxiosRequestConfig {
|
|
108
|
+
let cleanedResource = resource;
|
|
109
|
+
if (dropNullsFromDicts) {
|
|
110
|
+
cleanedResource = removeNullsFromDicts(cleanedResource);
|
|
111
|
+
}
|
|
112
|
+
cleanedResource = cleanEmptyValues(cleanedResource);
|
|
113
|
+
|
|
102
114
|
return {
|
|
103
115
|
method: 'POST',
|
|
104
|
-
url: `/${
|
|
116
|
+
url: `/${cleanedResource.resourceType}`,
|
|
105
117
|
params: searchParams,
|
|
106
|
-
data:
|
|
118
|
+
data: cleanedResource,
|
|
107
119
|
};
|
|
108
120
|
}
|
|
109
121
|
|
|
110
122
|
export async function updateFHIRResource<R extends AidboxResource>(
|
|
111
123
|
resource: R,
|
|
112
|
-
searchParams?: SearchParams
|
|
124
|
+
searchParams?: SearchParams,
|
|
125
|
+
dropNullsFromDicts = true
|
|
113
126
|
): Promise<RemoteDataResult<WithId<R>>> {
|
|
114
|
-
return service(update(resource, searchParams));
|
|
127
|
+
return service(update(resource, searchParams, dropNullsFromDicts));
|
|
115
128
|
}
|
|
116
129
|
|
|
117
|
-
export function update<R extends AidboxResource>(
|
|
130
|
+
export function update<R extends AidboxResource>(
|
|
131
|
+
resource: R,
|
|
132
|
+
searchParams?: SearchParams,
|
|
133
|
+
dropNullsFromDicts = true
|
|
134
|
+
): AxiosRequestConfig {
|
|
135
|
+
let cleanedResource = resource;
|
|
136
|
+
if (dropNullsFromDicts) {
|
|
137
|
+
cleanedResource = removeNullsFromDicts(cleanedResource);
|
|
138
|
+
}
|
|
139
|
+
cleanedResource = cleanEmptyValues(cleanedResource);
|
|
140
|
+
|
|
118
141
|
if (searchParams) {
|
|
119
142
|
return {
|
|
120
143
|
method: 'PUT',
|
|
121
|
-
url: `/${
|
|
122
|
-
data:
|
|
144
|
+
url: `/${cleanedResource.resourceType}`,
|
|
145
|
+
data: cleanedResource,
|
|
123
146
|
params: searchParams,
|
|
124
147
|
};
|
|
125
148
|
}
|
|
126
149
|
|
|
127
|
-
if (
|
|
128
|
-
const versionId =
|
|
150
|
+
if (cleanedResource.id) {
|
|
151
|
+
const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
|
|
129
152
|
|
|
130
153
|
return {
|
|
131
154
|
method: 'PUT',
|
|
132
|
-
url: `/${
|
|
133
|
-
data:
|
|
155
|
+
url: `/${cleanedResource.resourceType}/${cleanedResource.id}`,
|
|
156
|
+
data: cleanedResource,
|
|
134
157
|
...(versionId ? { headers: { 'If-Match': versionId } } : {}),
|
|
135
158
|
};
|
|
136
159
|
}
|
|
@@ -236,16 +259,24 @@ export async function findFHIRResource<R extends AidboxResource>(
|
|
|
236
259
|
}
|
|
237
260
|
}
|
|
238
261
|
|
|
239
|
-
export async function saveFHIRResource<R extends AidboxResource>(
|
|
240
|
-
|
|
262
|
+
export async function saveFHIRResource<R extends AidboxResource>(
|
|
263
|
+
resource: R,
|
|
264
|
+
dropNullsFromDicts: boolean = true
|
|
265
|
+
): Promise<RemoteDataResult<WithId<R>>> {
|
|
266
|
+
return service(save(resource, dropNullsFromDicts));
|
|
241
267
|
}
|
|
242
268
|
|
|
243
|
-
export function save<R extends AidboxResource>(resource: R): AxiosRequestConfig {
|
|
269
|
+
export function save<R extends AidboxResource>(resource: R, dropNullsFromDicts: boolean = true): AxiosRequestConfig {
|
|
244
270
|
const versionId = resource.meta && resource.meta.versionId;
|
|
271
|
+
let cleanedResource = resource;
|
|
272
|
+
if (dropNullsFromDicts) {
|
|
273
|
+
cleanedResource = removeNullsFromDicts(cleanedResource);
|
|
274
|
+
}
|
|
275
|
+
cleanedResource = cleanEmptyValues(cleanedResource);
|
|
245
276
|
|
|
246
277
|
return {
|
|
247
278
|
method: resource.id ? 'PUT' : 'POST',
|
|
248
|
-
data:
|
|
279
|
+
data: cleanedResource,
|
|
249
280
|
url: `/${resource.resourceType}${resource.id ? '/' + resource.id : ''}`,
|
|
250
281
|
...(resource.id && versionId ? { headers: { 'If-Match': versionId } } : {}),
|
|
251
282
|
};
|
|
@@ -253,7 +284,8 @@ export function save<R extends AidboxResource>(resource: R): AxiosRequestConfig
|
|
|
253
284
|
|
|
254
285
|
export async function saveFHIRResources<R extends AidboxResource>(
|
|
255
286
|
resources: R[],
|
|
256
|
-
bundleType: 'transaction' | 'batch'
|
|
287
|
+
bundleType: 'transaction' | 'batch',
|
|
288
|
+
dropNullsFromDicts: boolean = true
|
|
257
289
|
): Promise<RemoteDataResult<Bundle<WithId<R>>>> {
|
|
258
290
|
return service({
|
|
259
291
|
method: 'POST',
|
|
@@ -261,14 +293,19 @@ export async function saveFHIRResources<R extends AidboxResource>(
|
|
|
261
293
|
data: {
|
|
262
294
|
type: bundleType,
|
|
263
295
|
entry: resources.map((resource) => {
|
|
264
|
-
|
|
296
|
+
let cleanedResource = resource;
|
|
297
|
+
if (dropNullsFromDicts) {
|
|
298
|
+
cleanedResource = removeNullsFromDicts(cleanedResource);
|
|
299
|
+
}
|
|
300
|
+
cleanedResource = cleanEmptyValues(cleanedResource);
|
|
301
|
+
const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
|
|
265
302
|
|
|
266
303
|
return {
|
|
267
|
-
resource,
|
|
304
|
+
resource: cleanedResource,
|
|
268
305
|
request: {
|
|
269
|
-
method:
|
|
270
|
-
url: `/${
|
|
271
|
-
...(
|
|
306
|
+
method: cleanedResource.id ? 'PUT' : 'POST',
|
|
307
|
+
url: `/${cleanedResource.resourceType}${cleanedResource.id ? '/' + cleanedResource.id : ''}`,
|
|
308
|
+
...(cleanedResource.id && versionId ? { ifMatch: versionId } : {}),
|
|
272
309
|
},
|
|
273
310
|
};
|
|
274
311
|
}),
|
|
@@ -395,7 +432,7 @@ export type ResourcesMap<T extends AidboxResource> = {
|
|
|
395
432
|
export function extractBundleResources<T extends AidboxResource>(bundle: Bundle<T>): ResourcesMap<T> {
|
|
396
433
|
const entriesByResourceType = {} as ResourcesMap<T>;
|
|
397
434
|
const entries = bundle.entry || [];
|
|
398
|
-
entries.forEach(function(entry) {
|
|
435
|
+
entries.forEach(function (entry) {
|
|
399
436
|
const type = entry.resource!.resourceType;
|
|
400
437
|
if (!entriesByResourceType[type]) {
|
|
401
438
|
entriesByResourceType[type] = [];
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
function isEmpty(data: any): boolean {
|
|
2
|
+
if (Array.isArray(data)) {
|
|
3
|
+
return data.length === 0;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
if (typeof data === 'object' && data !== null) {
|
|
7
|
+
return Object.keys(data).length === 0;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function cleanEmptyValues(data: any): any {
|
|
14
|
+
if (Array.isArray(data)) {
|
|
15
|
+
return data.map((item) => {
|
|
16
|
+
return isEmpty(item) ? null : cleanEmptyValues(item);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (typeof data === 'object' && data !== null) {
|
|
21
|
+
const cleaned: Record<string, any> = {};
|
|
22
|
+
for (const [key, value] of Object.entries(data)) {
|
|
23
|
+
const cleanedValue = cleanEmptyValues(value);
|
|
24
|
+
if (!isEmpty(cleanedValue)) {
|
|
25
|
+
cleaned[key] = cleanedValue;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return cleaned;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (typeof data === 'undefined') {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return data;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function isNull(value: any): boolean {
|
|
39
|
+
return value === null || value === undefined;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export function removeNullsFromDicts(data: any): any {
|
|
43
|
+
if (Array.isArray(data)) {
|
|
44
|
+
return data.map(removeNullsFromDicts);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (typeof data === 'object' && data !== null) {
|
|
48
|
+
const result: Record<string, any> = {};
|
|
49
|
+
for (const [key, value] of Object.entries(data)) {
|
|
50
|
+
if (!isNull(value)) {
|
|
51
|
+
result[key] = removeNullsFromDicts(value);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (typeof data === 'undefined') {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return data;
|
|
62
|
+
}
|