aidbox-react 1.10.0 → 1.11.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.
@@ -8,6 +8,7 @@ export * from './utils/date';
8
8
  export * from './utils/error';
9
9
  export * from './utils/tests';
10
10
  export * from './utils/uuid';
11
+ export * from './utils/fhir';
11
12
  export * from './hooks/bus';
12
13
  export * from './hooks/service';
13
14
  export * from './hooks/crud';
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,17 +266,22 @@ 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: `/${resource.resourceType}`,
282
+ url: `/${cleanedResource.resourceType}`,
226
283
  params: searchParams,
227
- data: resource,
284
+ data: cleanedResource,
228
285
  };
229
286
  }
230
287
  function updateFHIRResource(resource, searchParams) {
@@ -232,18 +289,23 @@ function updateFHIRResource(resource, searchParams) {
232
289
  return service(update(resource, searchParams));
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: `/${resource.resourceType}`,
240
- data: resource,
301
+ url: `/${cleanedResource.resourceType}`,
302
+ data: cleanedResource,
241
303
  params: searchParams,
242
304
  };
243
305
  }
244
- if (resource.id) {
245
- const versionId = resource.meta && resource.meta.versionId;
246
- return Object.assign({ method: 'PUT', url: `/${resource.resourceType}/${resource.id}`, data: resource }, (versionId ? { headers: { 'If-Match': versionId } } : {}));
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
- return Object.assign({ method: resource.id ? 'PUT' : 'POST', data: resource, url: `/${resource.resourceType}${resource.id ? '/' + resource.id : ''}` }, (resource.id && versionId ? { headers: { 'If-Match': versionId } } : {}));
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
- const versionId = resource.meta && resource.meta.versionId;
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: resource.id ? 'PUT' : 'POST', url: `/${resource.resourceType}${resource.id ? '/' + resource.id : ''}` }, (resource.id && versionId ? { ifMatch: versionId } : {})),
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;
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
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;
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
  };
@@ -0,0 +1,3 @@
1
+ export declare function cleanEmptyValues(data: any): any;
2
+ export declare function removeNullsFromDicts(data: any): any;
3
+ //# sourceMappingURL=fhir.d.ts.map
@@ -8,6 +8,7 @@ export * from './utils/date';
8
8
  export * from './utils/error';
9
9
  export * from './utils/tests';
10
10
  export * from './utils/uuid';
11
+ export * from './utils/fhir';
11
12
  export * from './hooks/bus';
12
13
  export * from './hooks/service';
13
14
  export * from './hooks/crud';
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,17 +265,22 @@ 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: `/${resource.resourceType}`,
281
+ url: `/${cleanedResource.resourceType}`,
225
282
  params: searchParams,
226
- data: resource,
283
+ data: cleanedResource,
227
284
  };
228
285
  }
229
286
  function updateFHIRResource(resource, searchParams) {
@@ -231,18 +288,23 @@ function updateFHIRResource(resource, searchParams) {
231
288
  return service(update(resource, searchParams));
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: `/${resource.resourceType}`,
239
- data: resource,
300
+ url: `/${cleanedResource.resourceType}`,
301
+ data: cleanedResource,
240
302
  params: searchParams,
241
303
  };
242
304
  }
243
- if (resource.id) {
244
- const versionId = resource.meta && resource.meta.versionId;
245
- return Object.assign({ method: 'PUT', url: `/${resource.resourceType}/${resource.id}`, data: resource }, (versionId ? { headers: { 'If-Match': versionId } } : {}));
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
- return Object.assign({ method: resource.id ? 'PUT' : 'POST', data: resource, url: `/${resource.resourceType}${resource.id ? '/' + resource.id : ''}` }, (resource.id && versionId ? { headers: { 'If-Match': versionId } } : {}));
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
- const versionId = resource.meta && resource.meta.versionId;
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: resource.id ? 'PUT' : 'POST', url: `/${resource.resourceType}${resource.id ? '/' + resource.id : ''}` }, (resource.id && versionId ? { ifMatch: versionId } : {})),
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;
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
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;
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
  };
@@ -0,0 +1,3 @@
1
+ export declare function cleanEmptyValues(data: any): any;
2
+ export declare function removeNullsFromDicts(data: any): any;
3
+ //# sourceMappingURL=fhir.d.ts.map
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;
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
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;
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
@@ -8,6 +8,7 @@ export * from './utils/date';
8
8
  export * from './utils/error';
9
9
  export * from './utils/tests';
10
10
  export * from './utils/uuid';
11
+ export * from './utils/fhir';
11
12
  export * from './hooks/bus';
12
13
  export * from './hooks/service';
13
14
  export * from './hooks/crud';
@@ -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"}
@@ -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;
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
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;
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;AAEnF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAiBxC,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,cAAc,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAuE3E,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,cAAc,EAC7D,QAAQ,EAAE,CAAC,EACX,YAAY,CAAC,EAAE,YAAY,GAC5B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAEtC;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,kBAAkB,CAO7G;AAED,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,cAAc,EAC7D,QAAQ,EAAE,CAAC,EACX,YAAY,CAAC,EAAE,YAAY,GAC5B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAEtC;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,kBAAkB,CAsB7G;AAED,wBAAsB,eAAe,CAAC,CAAC,SAAS,cAAc,EAC1D,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAEtC;AAED,wBAAgB,GAAG,CAAC,CAAC,SAAS,cAAc,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAK/F;AAED,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAC3D,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,EAC/B,YAAY,EAAE,YAAY,EAC1B,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAE9C;AAED,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAC9D,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAkC9C;AAED,wBAAgB,IAAI,CAAC,CAAC,SAAS,cAAc,EACzC,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,EAC/B,YAAY,EAAE,YAAY,EAC1B,SAAS,CAAC,EAAE,MAAM,GACnB,kBAAkB,CAMpB;AAED,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAC3D,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,EAC/B,MAAM,EAAE,YAAY,EACpB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAmBtC;AAED,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAElH;AAED,wBAAgB,IAAI,CAAC,CAAC,SAAS,cAAc,EAAE,QAAQ,EAAE,CAAC,GAAG,kBAAkB,CAS9E;AAED,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,cAAc,EAC5D,SAAS,EAAE,CAAC,EAAE,EACd,UAAU,EAAE,aAAa,GAAG,OAAO,GACpC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAoB9C;AAED,KAAK,wBAAwB,CAAC,CAAC,IAAI;KAC9B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CACzD,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,cAAc,EAC5D,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,cAAc,CAAC,CAAC,EAChF,YAAY,CAAC,EAAE,YAAY,GAC5B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAEtC;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,cAAc,EAC1C,QAAQ,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EACzE,YAAY,CAAC,EAAE,YAAY,GAC5B,kBAAkB,CAmBpB;AAED,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,cAAc,EAC7D,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAEtC;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,cAAc,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAcxG;AAED,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,cAAc,EAClE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAEtC;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,cAAc,EAChD,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,EAC/B,gBAAgB,EAAE,EAAE,GAAG,YAAY,GACpC,kBAAkB,CAapB;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,CAMxG;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,cAAc,EAClD,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,MAAM,GACjB,eAAe,CAAC,CAAC,CAAC,CAMpB;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,cAAc,EAChD,QAAQ,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GACjC,QAAQ,IAAI,eAAe,CAAC,CAAC,CAAC,CAOhC;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,cAAc,IAAI;KAChD,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS;QAAE,YAAY,EAAE,CAAC,CAAA;KAAE,GAAG,CAAC,EAAE,GAAG,KAAK;CACxE,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAcnG;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAExD,SAAS,EAAE,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC,EAChC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,GAC9B,CAAC,GAAG,SAAS,CAOf;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,cAAc,EAEzD,SAAS,EAAE,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC,EAChC,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,GAChC,CAAC,EAAE,CAEL;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAQlH;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAM1G;AAED,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,GAAG,GAAG,EACpE,OAAO,EAAE,kBAAkB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAEzC;AAOD,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,cAAc,EAAE,MAAM,EAAE,kBAAkB,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAuBlH;AAED,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC,GAAG,GAAG,EACrE,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,EACnC,IAAI,GAAE,aAAa,GAAG,OAAuB,GAC9C,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CASjD"}
1
+ {"version":3,"file":"fhir.d.ts","sourceRoot":"","sources":["../../src/services/fhir.ts"],"names":[],"mappings":"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"}
@@ -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,20 +71,27 @@ 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(resource.resourceType),
92
+ url: "/".concat(cleanedResource.resourceType),
85
93
  params: searchParams,
86
- data: resource,
94
+ data: cleanedResource,
87
95
  };
88
96
  }
89
97
  exports.create = create;
@@ -95,18 +103,24 @@ function updateFHIRResource(resource, searchParams) {
95
103
  });
96
104
  }
97
105
  exports.updateFHIRResource = updateFHIRResource;
98
- function update(resource, searchParams) {
106
+ function update(resource, searchParams, dropNullsFromDicts) {
107
+ if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
108
+ var cleanedResource = resource;
109
+ if (dropNullsFromDicts) {
110
+ cleanedResource = (0, fhir_1.removeNullsFromDicts)(cleanedResource);
111
+ }
112
+ cleanedResource = (0, fhir_1.cleanEmptyValues)(cleanedResource);
99
113
  if (searchParams) {
100
114
  return {
101
115
  method: 'PUT',
102
- url: "/".concat(resource.resourceType),
103
- data: resource,
116
+ url: "/".concat(cleanedResource.resourceType),
117
+ data: cleanedResource,
104
118
  params: searchParams,
105
119
  };
106
120
  }
107
- if (resource.id) {
108
- var versionId = resource.meta && resource.meta.versionId;
109
- return tslib_1.__assign({ method: 'PUT', url: "/".concat(resource.resourceType, "/").concat(resource.id), data: resource }, (versionId ? { headers: { 'If-Match': versionId } } : {}));
121
+ if (cleanedResource.id) {
122
+ var versionId = cleanedResource.meta && cleanedResource.meta.versionId;
123
+ return tslib_1.__assign({ method: 'PUT', url: "/".concat(cleanedResource.resourceType, "/").concat(cleanedResource.id), data: cleanedResource }, (versionId ? { headers: { 'If-Match': versionId } } : {}));
110
124
  }
111
125
  throw new Error('Resourse id and search parameters are not specified');
112
126
  }
@@ -211,20 +225,28 @@ function findFHIRResource(resourceType, params, extraPath) {
211
225
  });
212
226
  }
213
227
  exports.findFHIRResource = findFHIRResource;
214
- function saveFHIRResource(resource) {
228
+ function saveFHIRResource(resource, dropNullsFromDicts) {
229
+ if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
215
230
  return tslib_1.__awaiter(this, void 0, void 0, function () {
216
231
  return tslib_1.__generator(this, function (_a) {
217
- return [2 /*return*/, (0, service_1.service)(save(resource))];
232
+ return [2 /*return*/, (0, service_1.service)(save(resource, dropNullsFromDicts))];
218
233
  });
219
234
  });
220
235
  }
221
236
  exports.saveFHIRResource = saveFHIRResource;
222
- function save(resource) {
237
+ function save(resource, dropNullsFromDicts) {
238
+ if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
223
239
  var versionId = resource.meta && resource.meta.versionId;
224
- return tslib_1.__assign({ method: resource.id ? 'PUT' : 'POST', data: resource, url: "/".concat(resource.resourceType).concat(resource.id ? '/' + resource.id : '') }, (resource.id && versionId ? { headers: { 'If-Match': versionId } } : {}));
240
+ var cleanedResource = resource;
241
+ if (dropNullsFromDicts) {
242
+ cleanedResource = (0, fhir_1.removeNullsFromDicts)(cleanedResource);
243
+ }
244
+ cleanedResource = (0, fhir_1.cleanEmptyValues)(cleanedResource);
245
+ 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
246
  }
226
247
  exports.save = save;
227
- function saveFHIRResources(resources, bundleType) {
248
+ function saveFHIRResources(resources, bundleType, dropNullsFromDicts) {
249
+ if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
228
250
  return tslib_1.__awaiter(this, void 0, void 0, function () {
229
251
  return tslib_1.__generator(this, function (_a) {
230
252
  return [2 /*return*/, (0, service_1.service)({
@@ -233,10 +255,15 @@ function saveFHIRResources(resources, bundleType) {
233
255
  data: {
234
256
  type: bundleType,
235
257
  entry: resources.map(function (resource) {
236
- var versionId = resource.meta && resource.meta.versionId;
258
+ var cleanedResource = resource;
259
+ if (dropNullsFromDicts) {
260
+ cleanedResource = (0, fhir_1.removeNullsFromDicts)(cleanedResource);
261
+ }
262
+ cleanedResource = (0, fhir_1.cleanEmptyValues)(cleanedResource);
263
+ var versionId = cleanedResource.meta && cleanedResource.meta.versionId;
237
264
  return {
238
- resource: resource,
239
- request: tslib_1.__assign({ method: resource.id ? 'PUT' : 'POST', url: "/".concat(resource.resourceType).concat(resource.id ? '/' + resource.id : '') }, (resource.id && versionId ? { ifMatch: versionId } : {})),
265
+ resource: cleanedResource,
266
+ request: tslib_1.__assign({ method: cleanedResource.id ? 'PUT' : 'POST', url: "/".concat(cleanedResource.resourceType).concat(cleanedResource.id ? '/' + cleanedResource.id : '') }, (cleanedResource.id && versionId ? { ifMatch: versionId } : {})),
240
267
  };
241
268
  }),
242
269
  },
@@ -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,3 @@
1
+ export declare function cleanEmptyValues(data: any): any;
2
+ export declare function removeNullsFromDicts(data: any): any;
3
+ //# sourceMappingURL=fhir.d.ts.map
@@ -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
@@ -1,17 +1,18 @@
1
1
  {
2
2
  "name": "aidbox-react",
3
- "version": "1.10.0",
3
+ "version": "1.11.0",
4
4
  "scripts": {
5
5
  "build": "tsc & rollup -c",
6
6
  "prebuild": "rimraf lib/* & rimraf dist/*",
7
7
  "coverage": "jest --config=./jest.config.json --coverage --coverageReporters=text-lcov | coveralls",
8
8
  "test": "jest --config=./jest.config.json",
9
9
  "test:watch": "jest --config=./jest.config.json --watch",
10
- "prepare": "npm run build"
10
+ "prepare": "npm run build",
11
+ "typecheck": "tsc --noEmit"
11
12
  },
12
13
  "dependencies": {
13
- "@beda.software/remote-data": "^1.1.3",
14
- "axios": "^1.6.2",
14
+ "@beda.software/remote-data": "^1.1.4",
15
+ "axios": "^1.8.4",
15
16
  "moment": "^2.29.1"
16
17
  },
17
18
  "devDependencies": {
package/src/index.ts CHANGED
@@ -10,6 +10,7 @@ export * from './utils/date';
10
10
  export * from './utils/error';
11
11
  export * from './utils/tests';
12
12
  export * from './utils/uuid';
13
+ export * from './utils/fhir';
13
14
 
14
15
  export * from './hooks/bus';
15
16
  export * from './hooks/service';
@@ -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,17 +94,28 @@ 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>(resource: R, searchParams?: SearchParams): AxiosRequestConfig {
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: `/${resource.resourceType}`,
116
+ url: `/${cleanedResource.resourceType}`,
105
117
  params: searchParams,
106
- data: resource,
118
+ data: cleanedResource,
107
119
  };
108
120
  }
109
121
 
@@ -114,23 +126,33 @@ export async function updateFHIRResource<R extends AidboxResource>(
114
126
  return service(update(resource, searchParams));
115
127
  }
116
128
 
117
- export function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams): AxiosRequestConfig {
129
+ export function update<R extends AidboxResource>(
130
+ resource: R,
131
+ searchParams?: SearchParams,
132
+ dropNullsFromDicts = true
133
+ ): AxiosRequestConfig {
134
+ let cleanedResource = resource;
135
+ if (dropNullsFromDicts) {
136
+ cleanedResource = removeNullsFromDicts(cleanedResource);
137
+ }
138
+ cleanedResource = cleanEmptyValues(cleanedResource);
139
+
118
140
  if (searchParams) {
119
141
  return {
120
142
  method: 'PUT',
121
- url: `/${resource.resourceType}`,
122
- data: resource,
143
+ url: `/${cleanedResource.resourceType}`,
144
+ data: cleanedResource,
123
145
  params: searchParams,
124
146
  };
125
147
  }
126
148
 
127
- if (resource.id) {
128
- const versionId = resource.meta && resource.meta.versionId;
149
+ if (cleanedResource.id) {
150
+ const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
129
151
 
130
152
  return {
131
153
  method: 'PUT',
132
- url: `/${resource.resourceType}/${resource.id}`,
133
- data: resource,
154
+ url: `/${cleanedResource.resourceType}/${cleanedResource.id}`,
155
+ data: cleanedResource,
134
156
  ...(versionId ? { headers: { 'If-Match': versionId } } : {}),
135
157
  };
136
158
  }
@@ -236,16 +258,24 @@ export async function findFHIRResource<R extends AidboxResource>(
236
258
  }
237
259
  }
238
260
 
239
- export async function saveFHIRResource<R extends AidboxResource>(resource: R): Promise<RemoteDataResult<WithId<R>>> {
240
- return service(save(resource));
261
+ export async function saveFHIRResource<R extends AidboxResource>(
262
+ resource: R,
263
+ dropNullsFromDicts: boolean = true
264
+ ): Promise<RemoteDataResult<WithId<R>>> {
265
+ return service(save(resource, dropNullsFromDicts));
241
266
  }
242
267
 
243
- export function save<R extends AidboxResource>(resource: R): AxiosRequestConfig {
268
+ export function save<R extends AidboxResource>(resource: R, dropNullsFromDicts: boolean = true): AxiosRequestConfig {
244
269
  const versionId = resource.meta && resource.meta.versionId;
270
+ let cleanedResource = resource;
271
+ if (dropNullsFromDicts) {
272
+ cleanedResource = removeNullsFromDicts(cleanedResource);
273
+ }
274
+ cleanedResource = cleanEmptyValues(cleanedResource);
245
275
 
246
276
  return {
247
277
  method: resource.id ? 'PUT' : 'POST',
248
- data: resource,
278
+ data: cleanedResource,
249
279
  url: `/${resource.resourceType}${resource.id ? '/' + resource.id : ''}`,
250
280
  ...(resource.id && versionId ? { headers: { 'If-Match': versionId } } : {}),
251
281
  };
@@ -253,7 +283,8 @@ export function save<R extends AidboxResource>(resource: R): AxiosRequestConfig
253
283
 
254
284
  export async function saveFHIRResources<R extends AidboxResource>(
255
285
  resources: R[],
256
- bundleType: 'transaction' | 'batch'
286
+ bundleType: 'transaction' | 'batch',
287
+ dropNullsFromDicts: boolean = true
257
288
  ): Promise<RemoteDataResult<Bundle<WithId<R>>>> {
258
289
  return service({
259
290
  method: 'POST',
@@ -261,14 +292,19 @@ export async function saveFHIRResources<R extends AidboxResource>(
261
292
  data: {
262
293
  type: bundleType,
263
294
  entry: resources.map((resource) => {
264
- const versionId = resource.meta && resource.meta.versionId;
295
+ let cleanedResource = resource;
296
+ if (dropNullsFromDicts) {
297
+ cleanedResource = removeNullsFromDicts(cleanedResource);
298
+ }
299
+ cleanedResource = cleanEmptyValues(cleanedResource);
300
+ const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
265
301
 
266
302
  return {
267
- resource,
303
+ resource: cleanedResource,
268
304
  request: {
269
- method: resource.id ? 'PUT' : 'POST',
270
- url: `/${resource.resourceType}${resource.id ? '/' + resource.id : ''}`,
271
- ...(resource.id && versionId ? { ifMatch: versionId } : {}),
305
+ method: cleanedResource.id ? 'PUT' : 'POST',
306
+ url: `/${cleanedResource.resourceType}${cleanedResource.id ? '/' + cleanedResource.id : ''}`,
307
+ ...(cleanedResource.id && versionId ? { ifMatch: versionId } : {}),
272
308
  },
273
309
  };
274
310
  }),
@@ -395,7 +431,7 @@ export type ResourcesMap<T extends AidboxResource> = {
395
431
  export function extractBundleResources<T extends AidboxResource>(bundle: Bundle<T>): ResourcesMap<T> {
396
432
  const entriesByResourceType = {} as ResourcesMap<T>;
397
433
  const entries = bundle.entry || [];
398
- entries.forEach(function(entry) {
434
+ entries.forEach(function (entry) {
399
435
  const type = entry.resource!.resourceType;
400
436
  if (!entriesByResourceType[type]) {
401
437
  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
+ }