aidbox-react 1.11.1 → 1.11.2

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.js CHANGED
@@ -150,54 +150,35 @@ 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;
153
+ function isEmptyObject(data) {
154
+ return typeof data === 'object' && !Array.isArray(data) && data !== null && Object.keys(data).length === 0;
161
155
  }
162
- function cleanEmptyValues(data) {
156
+ function cleanObject(data, topLevel = true) {
163
157
  if (Array.isArray(data)) {
164
- return data.map((item) => {
165
- return isEmpty(item) ? null : cleanEmptyValues(item);
158
+ const cleanedArray = data.map((item) => {
159
+ const cleaned = cleanObject(item, false);
160
+ //NOTE: convert undefined → null
161
+ return cleaned === undefined ? null : cleaned;
166
162
  });
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
- }
163
+ //NOTE: Trim trailing nulls
164
+ while (cleanedArray.length > 0 && cleanedArray[cleanedArray.length - 1] === null) {
165
+ cleanedArray.pop();
175
166
  }
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);
167
+ return cleanedArray.length > 0 ? cleanedArray : undefined;
189
168
  }
190
169
  if (typeof data === 'object' && data !== null) {
191
170
  const result = {};
192
171
  for (const [key, value] of Object.entries(data)) {
193
- if (!isNull(value)) {
194
- result[key] = removeNullsFromDicts(value);
172
+ const cleanedValue = cleanObject(value, false);
173
+ if (cleanedValue !== undefined && cleanedValue !== null && !isEmptyObject(cleanedValue)) {
174
+ result[key] = cleanedValue;
195
175
  }
196
176
  }
197
- return result;
198
- }
199
- if (typeof data === 'undefined') {
200
- return null;
177
+ const isEmptyResult = Object.keys(result).length === 0;
178
+ if (topLevel && isEmptyResult) {
179
+ return {};
180
+ }
181
+ return isEmptyResult ? undefined : result;
201
182
  }
202
183
  return data;
203
184
  }
@@ -266,17 +247,16 @@ function getInactiveSearchParam(resourceType) {
266
247
  }
267
248
  return {};
268
249
  }
269
- function createFHIRResource(resource, searchParams, dropNullsFromDicts = true) {
250
+ function createFHIRResource(resource, searchParams, needToCleanResource = true) {
270
251
  return __awaiter(this, void 0, void 0, function* () {
271
- return service(create(resource, searchParams, dropNullsFromDicts));
252
+ return service(create(resource, searchParams, needToCleanResource));
272
253
  });
273
254
  }
274
- function create(resource, searchParams, dropNullsFromDicts = true) {
255
+ function create(resource, searchParams, needToCleanResource = true) {
275
256
  let cleanedResource = resource;
276
- if (dropNullsFromDicts) {
277
- cleanedResource = removeNullsFromDicts(cleanedResource);
257
+ if (needToCleanResource) {
258
+ cleanedResource = cleanObject(cleanedResource);
278
259
  }
279
- cleanedResource = cleanEmptyValues(cleanedResource);
280
260
  return {
281
261
  method: 'POST',
282
262
  url: `/${cleanedResource.resourceType}`,
@@ -284,17 +264,16 @@ function create(resource, searchParams, dropNullsFromDicts = true) {
284
264
  data: cleanedResource,
285
265
  };
286
266
  }
287
- function updateFHIRResource(resource, searchParams, dropNullsFromDicts = true) {
267
+ function updateFHIRResource(resource, searchParams, needToCleanResource = true) {
288
268
  return __awaiter(this, void 0, void 0, function* () {
289
- return service(update(resource, searchParams, dropNullsFromDicts));
269
+ return service(update(resource, searchParams, needToCleanResource));
290
270
  });
291
271
  }
292
- function update(resource, searchParams, dropNullsFromDicts = true) {
272
+ function update(resource, searchParams, needToCleanResource = true) {
293
273
  let cleanedResource = resource;
294
- if (dropNullsFromDicts) {
295
- cleanedResource = removeNullsFromDicts(cleanedResource);
274
+ if (needToCleanResource) {
275
+ cleanedResource = cleanObject(cleanedResource);
296
276
  }
297
- cleanedResource = cleanEmptyValues(cleanedResource);
298
277
  if (searchParams) {
299
278
  return {
300
279
  method: 'PUT',
@@ -380,21 +359,20 @@ function findFHIRResource(resourceType, params, extraPath) {
380
359
  }
381
360
  });
382
361
  }
383
- function saveFHIRResource(resource, dropNullsFromDicts = true) {
362
+ function saveFHIRResource(resource, needToCleanResource = true) {
384
363
  return __awaiter(this, void 0, void 0, function* () {
385
- return service(save(resource, dropNullsFromDicts));
364
+ return service(save(resource, needToCleanResource));
386
365
  });
387
366
  }
388
- function save(resource, dropNullsFromDicts = true) {
389
- const versionId = resource.meta && resource.meta.versionId;
367
+ function save(resource, needToCleanResource = true) {
390
368
  let cleanedResource = resource;
391
- if (dropNullsFromDicts) {
392
- cleanedResource = removeNullsFromDicts(cleanedResource);
369
+ if (needToCleanResource) {
370
+ cleanedResource = cleanObject(cleanedResource);
393
371
  }
394
- cleanedResource = cleanEmptyValues(cleanedResource);
372
+ const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
395
373
  return Object.assign({ method: resource.id ? 'PUT' : 'POST', data: cleanedResource, url: `/${resource.resourceType}${resource.id ? '/' + resource.id : ''}` }, (resource.id && versionId ? { headers: { 'If-Match': versionId } } : {}));
396
374
  }
397
- function saveFHIRResources(resources, bundleType, dropNullsFromDicts = true) {
375
+ function saveFHIRResources(resources, bundleType, needToCleanResource = true) {
398
376
  return __awaiter(this, void 0, void 0, function* () {
399
377
  return service({
400
378
  method: 'POST',
@@ -403,10 +381,9 @@ function saveFHIRResources(resources, bundleType, dropNullsFromDicts = true) {
403
381
  type: bundleType,
404
382
  entry: resources.map((resource) => {
405
383
  let cleanedResource = resource;
406
- if (dropNullsFromDicts) {
407
- cleanedResource = removeNullsFromDicts(cleanedResource);
384
+ if (needToCleanResource) {
385
+ cleanedResource = cleanObject(cleanedResource);
408
386
  }
409
- cleanedResource = cleanEmptyValues(cleanedResource);
410
387
  const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
411
388
  return {
412
389
  resource: cleanedResource,
@@ -3314,7 +3291,7 @@ exports.applyFHIRService = applyFHIRService;
3314
3291
  exports.applyFHIRServices = applyFHIRServices;
3315
3292
  exports.axiosInstance = axiosInstance;
3316
3293
  exports.buildQueryParams = buildQueryParams;
3317
- exports.cleanEmptyValues = cleanEmptyValues;
3294
+ exports.cleanObject = cleanObject;
3318
3295
  exports.create = create;
3319
3296
  exports.createBus = createBus;
3320
3297
  exports.createFHIRResource = createFHIRResource;
@@ -3361,7 +3338,6 @@ exports.parseFHIRDateTime = parseFHIRDateTime;
3361
3338
  exports.parseFHIRTime = parseFHIRTime;
3362
3339
  exports.patch = patch;
3363
3340
  exports.patchFHIRResource = patchFHIRResource;
3364
- exports.removeNullsFromDicts = removeNullsFromDicts;
3365
3341
  exports.resetInstanceToken = resetInstanceToken;
3366
3342
  exports.resolveArray = resolveArray;
3367
3343
  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, 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;
6
+ export declare function createFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): Promise<RemoteDataResult<WithId<R>>>;
7
+ export declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): AxiosRequestConfig;
8
+ export declare function updateFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): Promise<RemoteDataResult<WithId<R>>>;
9
+ export declare function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: 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, 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>>>>;
16
+ export declare function saveFHIRResource<R extends AidboxResource>(resource: R, needToCleanResource?: boolean): Promise<RemoteDataResult<WithId<R>>>;
17
+ export declare function save<R extends AidboxResource>(resource: R, needToCleanResource?: boolean): AxiosRequestConfig;
18
+ export declare function saveFHIRResources<R extends AidboxResource>(resources: R[], bundleType: 'transaction' | 'batch', needToCleanResource?: boolean): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
19
19
  type NullableRecursivePartial<T> = {
20
20
  [P in keyof T]?: NullableRecursivePartial<T[P]> | null;
21
21
  };
@@ -1,3 +1,2 @@
1
- export declare function cleanEmptyValues(data: any): any;
2
- export declare function removeNullsFromDicts(data: any): any;
1
+ export declare function cleanObject(data: any, topLevel?: boolean): any;
3
2
  //# sourceMappingURL=fhir.d.ts.map
package/dist/esm/index.js CHANGED
@@ -149,54 +149,35 @@ 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;
152
+ function isEmptyObject(data) {
153
+ return typeof data === 'object' && !Array.isArray(data) && data !== null && Object.keys(data).length === 0;
160
154
  }
161
- function cleanEmptyValues(data) {
155
+ function cleanObject(data, topLevel = true) {
162
156
  if (Array.isArray(data)) {
163
- return data.map((item) => {
164
- return isEmpty(item) ? null : cleanEmptyValues(item);
157
+ const cleanedArray = data.map((item) => {
158
+ const cleaned = cleanObject(item, false);
159
+ //NOTE: convert undefined → null
160
+ return cleaned === undefined ? null : cleaned;
165
161
  });
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
- }
162
+ //NOTE: Trim trailing nulls
163
+ while (cleanedArray.length > 0 && cleanedArray[cleanedArray.length - 1] === null) {
164
+ cleanedArray.pop();
174
165
  }
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);
166
+ return cleanedArray.length > 0 ? cleanedArray : undefined;
188
167
  }
189
168
  if (typeof data === 'object' && data !== null) {
190
169
  const result = {};
191
170
  for (const [key, value] of Object.entries(data)) {
192
- if (!isNull(value)) {
193
- result[key] = removeNullsFromDicts(value);
171
+ const cleanedValue = cleanObject(value, false);
172
+ if (cleanedValue !== undefined && cleanedValue !== null && !isEmptyObject(cleanedValue)) {
173
+ result[key] = cleanedValue;
194
174
  }
195
175
  }
196
- return result;
197
- }
198
- if (typeof data === 'undefined') {
199
- return null;
176
+ const isEmptyResult = Object.keys(result).length === 0;
177
+ if (topLevel && isEmptyResult) {
178
+ return {};
179
+ }
180
+ return isEmptyResult ? undefined : result;
200
181
  }
201
182
  return data;
202
183
  }
@@ -265,17 +246,16 @@ function getInactiveSearchParam(resourceType) {
265
246
  }
266
247
  return {};
267
248
  }
268
- function createFHIRResource(resource, searchParams, dropNullsFromDicts = true) {
249
+ function createFHIRResource(resource, searchParams, needToCleanResource = true) {
269
250
  return __awaiter(this, void 0, void 0, function* () {
270
- return service(create(resource, searchParams, dropNullsFromDicts));
251
+ return service(create(resource, searchParams, needToCleanResource));
271
252
  });
272
253
  }
273
- function create(resource, searchParams, dropNullsFromDicts = true) {
254
+ function create(resource, searchParams, needToCleanResource = true) {
274
255
  let cleanedResource = resource;
275
- if (dropNullsFromDicts) {
276
- cleanedResource = removeNullsFromDicts(cleanedResource);
256
+ if (needToCleanResource) {
257
+ cleanedResource = cleanObject(cleanedResource);
277
258
  }
278
- cleanedResource = cleanEmptyValues(cleanedResource);
279
259
  return {
280
260
  method: 'POST',
281
261
  url: `/${cleanedResource.resourceType}`,
@@ -283,17 +263,16 @@ function create(resource, searchParams, dropNullsFromDicts = true) {
283
263
  data: cleanedResource,
284
264
  };
285
265
  }
286
- function updateFHIRResource(resource, searchParams, dropNullsFromDicts = true) {
266
+ function updateFHIRResource(resource, searchParams, needToCleanResource = true) {
287
267
  return __awaiter(this, void 0, void 0, function* () {
288
- return service(update(resource, searchParams, dropNullsFromDicts));
268
+ return service(update(resource, searchParams, needToCleanResource));
289
269
  });
290
270
  }
291
- function update(resource, searchParams, dropNullsFromDicts = true) {
271
+ function update(resource, searchParams, needToCleanResource = true) {
292
272
  let cleanedResource = resource;
293
- if (dropNullsFromDicts) {
294
- cleanedResource = removeNullsFromDicts(cleanedResource);
273
+ if (needToCleanResource) {
274
+ cleanedResource = cleanObject(cleanedResource);
295
275
  }
296
- cleanedResource = cleanEmptyValues(cleanedResource);
297
276
  if (searchParams) {
298
277
  return {
299
278
  method: 'PUT',
@@ -379,21 +358,20 @@ function findFHIRResource(resourceType, params, extraPath) {
379
358
  }
380
359
  });
381
360
  }
382
- function saveFHIRResource(resource, dropNullsFromDicts = true) {
361
+ function saveFHIRResource(resource, needToCleanResource = true) {
383
362
  return __awaiter(this, void 0, void 0, function* () {
384
- return service(save(resource, dropNullsFromDicts));
363
+ return service(save(resource, needToCleanResource));
385
364
  });
386
365
  }
387
- function save(resource, dropNullsFromDicts = true) {
388
- const versionId = resource.meta && resource.meta.versionId;
366
+ function save(resource, needToCleanResource = true) {
389
367
  let cleanedResource = resource;
390
- if (dropNullsFromDicts) {
391
- cleanedResource = removeNullsFromDicts(cleanedResource);
368
+ if (needToCleanResource) {
369
+ cleanedResource = cleanObject(cleanedResource);
392
370
  }
393
- cleanedResource = cleanEmptyValues(cleanedResource);
371
+ const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
394
372
  return Object.assign({ method: resource.id ? 'PUT' : 'POST', data: cleanedResource, url: `/${resource.resourceType}${resource.id ? '/' + resource.id : ''}` }, (resource.id && versionId ? { headers: { 'If-Match': versionId } } : {}));
395
373
  }
396
- function saveFHIRResources(resources, bundleType, dropNullsFromDicts = true) {
374
+ function saveFHIRResources(resources, bundleType, needToCleanResource = true) {
397
375
  return __awaiter(this, void 0, void 0, function* () {
398
376
  return service({
399
377
  method: 'POST',
@@ -402,10 +380,9 @@ function saveFHIRResources(resources, bundleType, dropNullsFromDicts = true) {
402
380
  type: bundleType,
403
381
  entry: resources.map((resource) => {
404
382
  let cleanedResource = resource;
405
- if (dropNullsFromDicts) {
406
- cleanedResource = removeNullsFromDicts(cleanedResource);
383
+ if (needToCleanResource) {
384
+ cleanedResource = cleanObject(cleanedResource);
407
385
  }
408
- cleanedResource = cleanEmptyValues(cleanedResource);
409
386
  const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
410
387
  return {
411
388
  resource: cleanedResource,
@@ -3254,4 +3231,4 @@ function withRender(config) {
3254
3231
  };
3255
3232
  }
3256
3233
 
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 };
3234
+ export { FHIRDateFormat, FHIRDateTimeFormat, FHIRTimeFormat, RenderRemoteData, SharedStateInitializationError, applyDataTransformer, applyErrorTransformer, applyFHIRService, applyFHIRServices, axiosInstance, buildQueryParams, cleanObject, 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 };
@@ -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, 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;
6
+ export declare function createFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): Promise<RemoteDataResult<WithId<R>>>;
7
+ export declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): AxiosRequestConfig;
8
+ export declare function updateFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): Promise<RemoteDataResult<WithId<R>>>;
9
+ export declare function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: 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, 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>>>>;
16
+ export declare function saveFHIRResource<R extends AidboxResource>(resource: R, needToCleanResource?: boolean): Promise<RemoteDataResult<WithId<R>>>;
17
+ export declare function save<R extends AidboxResource>(resource: R, needToCleanResource?: boolean): AxiosRequestConfig;
18
+ export declare function saveFHIRResources<R extends AidboxResource>(resources: R[], bundleType: 'transaction' | 'batch', needToCleanResource?: boolean): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
19
19
  type NullableRecursivePartial<T> = {
20
20
  [P in keyof T]?: NullableRecursivePartial<T[P]> | null;
21
21
  };
@@ -1,3 +1,2 @@
1
- export declare function cleanEmptyValues(data: any): any;
2
- export declare function removeNullsFromDicts(data: any): any;
1
+ export declare function cleanObject(data: any, topLevel?: boolean): any;
3
2
  //# 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, 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;
59
+ declare function createFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): Promise<RemoteDataResult<WithId<R>>>;
60
+ declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): AxiosRequestConfig;
61
+ declare function updateFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): Promise<RemoteDataResult<WithId<R>>>;
62
+ declare function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: 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, 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>>>>;
69
+ declare function saveFHIRResource<R extends AidboxResource>(resource: R, needToCleanResource?: boolean): Promise<RemoteDataResult<WithId<R>>>;
70
+ declare function save<R extends AidboxResource>(resource: R, needToCleanResource?: boolean): AxiosRequestConfig;
71
+ declare function saveFHIRResources<R extends AidboxResource>(resources: R[], bundleType: 'transaction' | 'batch', needToCleanResource?: boolean): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
72
72
  type NullableRecursivePartial<T> = {
73
73
  [P in keyof T]?: NullableRecursivePartial<T[P]> | null;
74
74
  };
@@ -148,8 +148,7 @@ 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;
151
+ declare function cleanObject(data: any, topLevel?: boolean): any;
153
152
 
154
153
  interface BaseAction {
155
154
  type: unknown;
@@ -216,4 +215,4 @@ type RenderRemoteDataProps<S, E = any> = RenderRemoteDataBasicProps<S> & RenderC
216
215
  declare function RenderRemoteData<S, E = any>(props: RenderRemoteDataProps<S, E>): JSX.Element | null;
217
216
  declare function withRender<E = any>(config: RenderConfig<E>): <S>(props: RenderRemoteDataProps<S, E>) => JSX.Element;
218
217
 
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 };
218
+ 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, cleanObject, 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 };
@@ -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, 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;
6
+ export declare function createFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): Promise<RemoteDataResult<WithId<R>>>;
7
+ export declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): AxiosRequestConfig;
8
+ export declare function updateFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): Promise<RemoteDataResult<WithId<R>>>;
9
+ export declare function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: 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, 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>>>>;
16
+ export declare function saveFHIRResource<R extends AidboxResource>(resource: R, needToCleanResource?: boolean): Promise<RemoteDataResult<WithId<R>>>;
17
+ export declare function save<R extends AidboxResource>(resource: R, needToCleanResource?: boolean): AxiosRequestConfig;
18
+ export declare function saveFHIRResources<R extends AidboxResource>(resources: R[], bundleType: 'transaction' | 'batch', needToCleanResource?: 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;AAGnF,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,EAC3B,kBAAkB,UAAO,GAC1B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAEtC;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,cAAc,EAC3C,QAAQ,EAAE,CAAC,EACX,YAAY,CAAC,EAAE,YAAY,EAC3B,kBAAkB,UAAO,GAC1B,kBAAkB,CAapB;AAED,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,cAAc,EAC7D,QAAQ,EAAE,CAAC,EACX,YAAY,CAAC,EAAE,YAAY,EAC3B,kBAAkB,UAAO,GAC1B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAEtC;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,cAAc,EAC3C,QAAQ,EAAE,CAAC,EACX,YAAY,CAAC,EAAE,YAAY,EAC3B,kBAAkB,UAAO,GAC1B,kBAAkB,CA4BpB;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,EAC3D,QAAQ,EAAE,CAAC,EACX,kBAAkB,GAAE,OAAc,GACnC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAEtC;AAED,wBAAgB,IAAI,CAAC,CAAC,SAAS,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,kBAAkB,GAAE,OAAc,GAAG,kBAAkB,CAclH;AAED,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,cAAc,EAC5D,SAAS,EAAE,CAAC,EAAE,EACd,UAAU,EAAE,aAAa,GAAG,OAAO,EACnC,kBAAkB,GAAE,OAAc,GACnC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAyB9C;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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"}
@@ -71,22 +71,21 @@ function getInactiveSearchParam(resourceType) {
71
71
  }
72
72
  return {};
73
73
  }
74
- function createFHIRResource(resource, searchParams, dropNullsFromDicts) {
75
- if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
74
+ function createFHIRResource(resource, searchParams, needToCleanResource) {
75
+ if (needToCleanResource === void 0) { needToCleanResource = true; }
76
76
  return tslib_1.__awaiter(this, void 0, void 0, function () {
77
77
  return tslib_1.__generator(this, function (_a) {
78
- return [2 /*return*/, (0, service_1.service)(create(resource, searchParams, dropNullsFromDicts))];
78
+ return [2 /*return*/, (0, service_1.service)(create(resource, searchParams, needToCleanResource))];
79
79
  });
80
80
  });
81
81
  }
82
82
  exports.createFHIRResource = createFHIRResource;
83
- function create(resource, searchParams, dropNullsFromDicts) {
84
- if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
83
+ function create(resource, searchParams, needToCleanResource) {
84
+ if (needToCleanResource === void 0) { needToCleanResource = true; }
85
85
  var cleanedResource = resource;
86
- if (dropNullsFromDicts) {
87
- cleanedResource = (0, fhir_1.removeNullsFromDicts)(cleanedResource);
86
+ if (needToCleanResource) {
87
+ cleanedResource = (0, fhir_1.cleanObject)(cleanedResource);
88
88
  }
89
- cleanedResource = (0, fhir_1.cleanEmptyValues)(cleanedResource);
90
89
  return {
91
90
  method: 'POST',
92
91
  url: "/".concat(cleanedResource.resourceType),
@@ -95,22 +94,21 @@ function create(resource, searchParams, dropNullsFromDicts) {
95
94
  };
96
95
  }
97
96
  exports.create = create;
98
- function updateFHIRResource(resource, searchParams, dropNullsFromDicts) {
99
- if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
97
+ function updateFHIRResource(resource, searchParams, needToCleanResource) {
98
+ if (needToCleanResource === void 0) { needToCleanResource = true; }
100
99
  return tslib_1.__awaiter(this, void 0, void 0, function () {
101
100
  return tslib_1.__generator(this, function (_a) {
102
- return [2 /*return*/, (0, service_1.service)(update(resource, searchParams, dropNullsFromDicts))];
101
+ return [2 /*return*/, (0, service_1.service)(update(resource, searchParams, needToCleanResource))];
103
102
  });
104
103
  });
105
104
  }
106
105
  exports.updateFHIRResource = updateFHIRResource;
107
- function update(resource, searchParams, dropNullsFromDicts) {
108
- if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
106
+ function update(resource, searchParams, needToCleanResource) {
107
+ if (needToCleanResource === void 0) { needToCleanResource = true; }
109
108
  var cleanedResource = resource;
110
- if (dropNullsFromDicts) {
111
- cleanedResource = (0, fhir_1.removeNullsFromDicts)(cleanedResource);
109
+ if (needToCleanResource) {
110
+ cleanedResource = (0, fhir_1.cleanObject)(cleanedResource);
112
111
  }
113
- cleanedResource = (0, fhir_1.cleanEmptyValues)(cleanedResource);
114
112
  if (searchParams) {
115
113
  return {
116
114
  method: 'PUT',
@@ -226,28 +224,27 @@ function findFHIRResource(resourceType, params, extraPath) {
226
224
  });
227
225
  }
228
226
  exports.findFHIRResource = findFHIRResource;
229
- function saveFHIRResource(resource, dropNullsFromDicts) {
230
- if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
227
+ function saveFHIRResource(resource, needToCleanResource) {
228
+ if (needToCleanResource === void 0) { needToCleanResource = true; }
231
229
  return tslib_1.__awaiter(this, void 0, void 0, function () {
232
230
  return tslib_1.__generator(this, function (_a) {
233
- return [2 /*return*/, (0, service_1.service)(save(resource, dropNullsFromDicts))];
231
+ return [2 /*return*/, (0, service_1.service)(save(resource, needToCleanResource))];
234
232
  });
235
233
  });
236
234
  }
237
235
  exports.saveFHIRResource = saveFHIRResource;
238
- function save(resource, dropNullsFromDicts) {
239
- if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
240
- var versionId = resource.meta && resource.meta.versionId;
236
+ function save(resource, needToCleanResource) {
237
+ if (needToCleanResource === void 0) { needToCleanResource = true; }
241
238
  var cleanedResource = resource;
242
- if (dropNullsFromDicts) {
243
- cleanedResource = (0, fhir_1.removeNullsFromDicts)(cleanedResource);
239
+ if (needToCleanResource) {
240
+ cleanedResource = (0, fhir_1.cleanObject)(cleanedResource);
244
241
  }
245
- cleanedResource = (0, fhir_1.cleanEmptyValues)(cleanedResource);
242
+ var versionId = cleanedResource.meta && cleanedResource.meta.versionId;
246
243
  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 } } : {}));
247
244
  }
248
245
  exports.save = save;
249
- function saveFHIRResources(resources, bundleType, dropNullsFromDicts) {
250
- if (dropNullsFromDicts === void 0) { dropNullsFromDicts = true; }
246
+ function saveFHIRResources(resources, bundleType, needToCleanResource) {
247
+ if (needToCleanResource === void 0) { needToCleanResource = true; }
251
248
  return tslib_1.__awaiter(this, void 0, void 0, function () {
252
249
  return tslib_1.__generator(this, function (_a) {
253
250
  return [2 /*return*/, (0, service_1.service)({
@@ -257,10 +254,9 @@ function saveFHIRResources(resources, bundleType, dropNullsFromDicts) {
257
254
  type: bundleType,
258
255
  entry: resources.map(function (resource) {
259
256
  var cleanedResource = resource;
260
- if (dropNullsFromDicts) {
261
- cleanedResource = (0, fhir_1.removeNullsFromDicts)(cleanedResource);
257
+ if (needToCleanResource) {
258
+ cleanedResource = (0, fhir_1.cleanObject)(cleanedResource);
262
259
  }
263
- cleanedResource = (0, fhir_1.cleanEmptyValues)(cleanedResource);
264
260
  var versionId = cleanedResource.meta && cleanedResource.meta.versionId;
265
261
  return {
266
262
  resource: cleanedResource,
@@ -1 +1 @@
1
- {"version":3,"file":"fhir.js","sourceRoot":"","sources":["../../src/services/fhir.ts"],"names":[],"mappings":";;;;AAGA,iDAAmF;AACnF,sCAAuE;AACvE,uCAA8C;AAE9C,qCAAoC;AAkBpC,IAAM,eAAe,GAAoB;IACrC,iBAAiB,EAAE;QACf,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,QAAQ;QACrB,KAAK,EAAE,kBAAkB;KAC5B;IACD,WAAW,EAAE;QACT,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,QAAQ;QACrB,KAAK,EAAE,kBAAkB;KAC5B;IACD,QAAQ,EAAE;QACN,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,QAAQ;QACrB,KAAK,EAAE,UAAU;KACpB;IACD,QAAQ,EAAE;QACN,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,QAAQ;QACrB,KAAK,EAAE,KAAK;KACf;IACD,IAAI,EAAE;QACF,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,QAAQ;QACrB,KAAK,EAAE,kBAAkB;KAC5B;IACD,YAAY,EAAE;QACV,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,QAAQ;QACrB,KAAK,EAAE,KAAK;KACf;IACD,OAAO,EAAE;QACL,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,QAAQ;QACrB,KAAK,EAAE,KAAK;KACf;IACD,IAAI,EAAE;QACF,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,QAAQ;QACrB,KAAK,EAAE,KAAK;KACf;IACD,IAAI,EAAE;QACF,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,QAAQ;QACrB,KAAK,EAAE,kBAAkB;KAC5B;IACD,aAAa,EAAE;QACX,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,QAAQ;QACrB,KAAK,EAAE,kBAAkB;KAC5B;CACJ,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAU;IACxB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,SAAS,sBAAsB,CAAC,YAAoB;;IAChD,IAAM,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAE3C,IAAI,IAAI,EAAE;QACN;YACI,GAAC,UAAG,IAAI,CAAC,WAAW,SAAM,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC;eAC3C;KACL;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAsB,kBAAkB,CACpC,QAAW,EACX,YAA2B,EAC3B,kBAAyB;IAAzB,mCAAA,EAAA,yBAAyB;;;YAEzB,sBAAO,IAAA,iBAAO,EAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,EAAC;;;CACtE;AAND,gDAMC;AAED,SAAgB,MAAM,CAClB,QAAW,EACX,YAA2B,EAC3B,kBAAyB;IAAzB,mCAAA,EAAA,yBAAyB;IAEzB,IAAI,eAAe,GAAG,QAAQ,CAAC;IAC/B,IAAI,kBAAkB,EAAE;QACpB,eAAe,GAAG,IAAA,2BAAoB,EAAC,eAAe,CAAC,CAAC;KAC3D;IACD,eAAe,GAAG,IAAA,uBAAgB,EAAC,eAAe,CAAC,CAAC;IAEpD,OAAO;QACH,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,WAAI,eAAe,CAAC,YAAY,CAAE;QACvC,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,eAAe;KACxB,CAAC;AACN,CAAC;AAjBD,wBAiBC;AAED,SAAsB,kBAAkB,CACpC,QAAW,EACX,YAA2B,EAC3B,kBAAyB;IAAzB,mCAAA,EAAA,yBAAyB;;;YAEzB,sBAAO,IAAA,iBAAO,EAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,EAAC;;;CACtE;AAND,gDAMC;AAED,SAAgB,MAAM,CAClB,QAAW,EACX,YAA2B,EAC3B,kBAAyB;IAAzB,mCAAA,EAAA,yBAAyB;IAEzB,IAAI,eAAe,GAAG,QAAQ,CAAC;IAC/B,IAAI,kBAAkB,EAAE;QACpB,eAAe,GAAG,IAAA,2BAAoB,EAAC,eAAe,CAAC,CAAC;KAC3D;IACD,eAAe,GAAG,IAAA,uBAAgB,EAAC,eAAe,CAAC,CAAC;IAEpD,IAAI,YAAY,EAAE;QACd,OAAO;YACH,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,WAAI,eAAe,CAAC,YAAY,CAAE;YACvC,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,YAAY;SACvB,CAAC;KACL;IAED,IAAI,eAAe,CAAC,EAAE,EAAE;QACpB,IAAM,SAAS,GAAG,eAAe,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;QAEzE,0BACI,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,WAAI,eAAe,CAAC,YAAY,cAAI,eAAe,CAAC,EAAE,CAAE,EAC7D,IAAI,EAAE,eAAe,IAClB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC9D;KACL;IAED,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;AAC3E,CAAC;AAhCD,wBAgCC;AAED,SAAsB,eAAe,CACjC,SAA6B;;;YAE7B,sBAAO,IAAA,iBAAO,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAC;;;CAClC;AAJD,0CAIC;AAED,SAAgB,GAAG,CAA2B,SAA6B;IACvE,OAAO;QACH,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,WAAI,SAAS,CAAC,YAAY,cAAI,SAAS,CAAC,EAAE,CAAE;KACpD,CAAC;AACN,CAAC;AALD,kBAKC;AAED,SAAsB,gBAAgB,CAClC,YAA+B,EAC/B,YAA0B,EAC1B,SAAkB;;;YAElB,sBAAO,IAAA,iBAAO,EAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,EAAC;;;CAC/D;AAND,4CAMC;AAED,SAAsB,mBAAmB,CACrC,YAAoB,EACpB,MAAoB,EACpB,SAAkB;;;;;;wBAEW,qBAAM,gBAAgB,CAAI,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EAAA;;oBAAjF,oBAAoB,GAAG,SAA0D;oBAEvF,IAAI,IAAA,sBAAS,EAAC,oBAAoB,CAAC,EAAE;wBACjC,sBAAO,oBAAoB,EAAC;qBAC/B;oBAEG,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC;;;yBAEtC,IAAI;oBACH,QAAQ,GAAG,MAAA,YAAY,CAAC,IAAI,0CAAE,IAAI,CAAC,UAAC,IAAI;wBACxC,OAAO,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC;oBACpC,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,QAAQ,EAAE;wBACX,wBAAM;qBACT;oBAEgB,qBAAM,IAAA,iBAAO,EAAC;4BAC3B,MAAM,EAAE,KAAK;4BACb,GAAG,EAAE,QAAQ,CAAC,GAAG;yBACpB,CAAC,EAAA;;oBAHI,QAAQ,GAAG,SAGf;oBAEF,IAAI,IAAA,sBAAS,EAAC,QAAQ,CAAC,EAAE;wBACrB,sBAAO,QAAQ,EAAC;qBACnB;oBAED,YAAY,yCACL,QAAQ,CAAC,IAAI,KAChB,KAAK,kDAAM,YAAY,CAAC,KAAM,SAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,UACzD,CAAC;;wBAGN,sBAAO,IAAA,oBAAO,EAAC,YAAY,CAAC,EAAC;;;;CAChC;AAtCD,kDAsCC;AAED,SAAgB,IAAI,CAChB,YAA+B,EAC/B,YAA0B,EAC1B,SAAkB;IAElB,OAAO;QACH,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,WAAI,YAAY,cAAI,SAAS,CAAE,CAAC,CAAC,CAAC,WAAI,YAAY,CAAE;QACrE,MAAM,wCAAO,YAAY,GAAK,sBAAsB,CAAC,YAAY,CAAC,CAAE;KACvE,CAAC;AACN,CAAC;AAVD,oBAUC;AAED,SAAsB,gBAAgB,CAClC,YAA+B,EAC/B,MAAoB,EACpB,SAAkB;;;;;wBAED,qBAAM,gBAAgB,CAAI,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EAAA;;oBAArE,QAAQ,GAAG,SAA0D;oBAE3E,IAAI,IAAA,sBAAS,EAAC,QAAQ,CAAC,EAAE;wBACrB,sBAAO,QAAQ,EAAC;qBACnB;oBAEK,SAAS,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAgB,CAAC;oBAErF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;wBACxB,sBAAO,IAAA,oBAAO,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC;qBAChC;yBAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;wBAC/B,sBAAO,IAAA,oBAAO,EAAC,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,EAAC;qBAC5F;yBAAM;wBACH,sBAAO,IAAA,oBAAO,EAAC;gCACX,iBAAiB,EAAE,0BAA0B;gCAC7C,KAAK,EAAE,0BAA0B;6BACpC,CAAC,EAAC;qBACN;;;;;CACJ;AAvBD,4CAuBC;AAED,SAAsB,gBAAgB,CAClC,QAAW,EACX,kBAAkC;IAAlC,mCAAA,EAAA,yBAAkC;;;YAElC,sBAAO,IAAA,iBAAO,EAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,EAAC;;;CACtD;AALD,4CAKC;AAED,SAAgB,IAAI,CAA2B,QAAW,EAAE,kBAAkC;IAAlC,mCAAA,EAAA,yBAAkC;IAC1F,IAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;IAC3D,IAAI,eAAe,GAAG,QAAQ,CAAC;IAC/B,IAAI,kBAAkB,EAAE;QACpB,eAAe,GAAG,IAAA,2BAAoB,EAAC,eAAe,CAAC,CAAC;KAC3D;IACD,eAAe,GAAG,IAAA,uBAAgB,EAAC,eAAe,CAAC,CAAC;IAEpD,0BACI,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EACpC,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,WAAI,QAAQ,CAAC,YAAY,SAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAE,IACpE,CAAC,QAAQ,CAAC,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7E;AACN,CAAC;AAdD,oBAcC;AAED,SAAsB,iBAAiB,CACnC,SAAc,EACd,UAAmC,EACnC,kBAAkC;IAAlC,mCAAA,EAAA,yBAAkC;;;YAElC,sBAAO,IAAA,iBAAO,EAAC;oBACX,MAAM,EAAE,MAAM;oBACd,GAAG,EAAE,GAAG;oBACR,IAAI,EAAE;wBACF,IAAI,EAAE,UAAU;wBAChB,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,UAAC,QAAQ;4BAC1B,IAAI,eAAe,GAAG,QAAQ,CAAC;4BAC/B,IAAI,kBAAkB,EAAE;gCACpB,eAAe,GAAG,IAAA,2BAAoB,EAAC,eAAe,CAAC,CAAC;6BAC3D;4BACD,eAAe,GAAG,IAAA,uBAAgB,EAAC,eAAe,CAAC,CAAC;4BACpD,IAAM,SAAS,GAAG,eAAe,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;4BAEzE,OAAO;gCACH,QAAQ,EAAE,eAAe;gCACzB,OAAO,qBACH,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAC3C,GAAG,EAAE,WAAI,eAAe,CAAC,YAAY,SAAG,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAE,IACzF,CAAC,eAAe,CAAC,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACrE;6BACJ,CAAC;wBACN,CAAC,CAAC;qBACL;iBACJ,CAAC,EAAC;;;CACN;AA7BD,8CA6BC;AAMD,SAAsB,iBAAiB,CACnC,QAAgF,EAChF,YAA2B;;;YAE3B,sBAAO,IAAA,iBAAO,EAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,EAAC;;;CACjD;AALD,8CAKC;AAED,SAAgB,KAAK,CACjB,QAAyE,EACzE,YAA2B;IAE3B,IAAI,YAAY,EAAE;QACd,OAAO;YACH,MAAM,EAAE,OAAO;YACf,GAAG,EAAE,WAAI,QAAQ,CAAC,YAAY,CAAE;YAChC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,YAAY;SACvB,CAAC;KACL;IAED,IAAI,QAAQ,CAAC,EAAE,EAAE;QACb,OAAO;YACH,MAAM,EAAE,OAAO;YACf,GAAG,EAAE,WAAI,QAAQ,CAAC,YAAY,cAAI,QAAQ,CAAC,EAAE,CAAE;YAC/C,IAAI,EAAE,QAAQ;SACjB,CAAC;KACL;IAED,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;AAC3E,CAAC;AAtBD,sBAsBC;AAED,SAAsB,kBAAkB,CACpC,QAA4B;;;YAE5B,sBAAO,IAAA,iBAAO,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAC;;;CAC3C;AAJD,gDAIC;AAED,SAAgB,aAAa,CAA2B,QAA4B;;IAChF,IAAM,mBAAmB,GAAG,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEnE,IAAI,CAAC,mBAAmB,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,sCAA+B,QAAQ,CAAC,YAAY,0BAAuB,CAAC,CAAC;KAChG;IAED,OAAO;QACH,MAAM,EAAE,OAAO;QACf,GAAG,EAAE,WAAI,QAAQ,CAAC,YAAY,cAAI,QAAQ,CAAC,EAAE,CAAE;QAC/C,IAAI;YACA,GAAC,mBAAmB,CAAC,WAAW,IAAG,mBAAmB,CAAC,KAAK;eAC/D;KACJ,CAAC;AACN,CAAC;AAdD,sCAcC;AAED,SAAsB,uBAAuB,CACzC,QAA4B;;;YAE5B,sBAAO,IAAA,iBAAO,EAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAC;;;CACnE;AAJD,0DAIC;AAED,SAAgB,WAAW,CACvB,YAA+B,EAC/B,gBAAmC;IAEnC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC5B,OAAO;YACH,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,WAAI,YAAY,CAAE;YACvB,MAAM,EAAE,gBAAgB;SAC3B,CAAC;KACL;IAED,OAAO;QACH,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,WAAI,YAAY,cAAI,gBAAgB,CAAE;KAC9C,CAAC;AACN,CAAC;AAhBD,kCAgBC;AAED,SAAgB,YAAY,CAA2B,QAAW,EAAE,OAAgB;IAChF,0BACI,YAAY,EAAE,QAAQ,CAAC,YAAY,EACnC,EAAE,EAAE,QAAQ,CAAC,EAAG,IACb,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACjC;AACN,CAAC;AAND,oCAMC;AAED,SAAgB,aAAa,CACzB,YAAoB,EACpB,EAAU,EACV,OAAgB;IAEhB,OAAO;QACH,YAAY,cAAA;QACZ,EAAE,IAAA;QACF,OAAO,SAAA;KACV,CAAC;AACN,CAAC;AAVD,sCAUC;AAED,SAAgB,WAAW,CACvB,QAAgC;IAEhC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAChC,UAAC,SAAS;QACN,OAAA,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,OAAO,CACtG,SAAS,CACZ,KAAK,CAAC,CAAC;IAFR,CAEQ,CACf,CAAC,MAAM,CAAC;AACb,CAAC;AATD,kCASC;AAMD,SAAgB,sBAAsB,CAA2B,MAAiB;IAC9E,IAAM,qBAAqB,GAAG,EAAqB,CAAC;IACpD,IAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACnC,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK;QAC3B,IAAM,IAAI,GAAG,KAAK,CAAC,QAAS,CAAC,YAAY,CAAC;QAC1C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;YAC9B,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SACpC;QACD,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,KAAK,CAAC,qBAAqB,EAAE;QACpC,GAAG,EAAE,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAA3C,CAA2C;KAClE,CAAC,CAAC;AACP,CAAC;AAdD,wDAcC;AAED,SAAgB,mBAAmB;AAC/B,2DAA2D;AAC3D,SAAgC,EAChC,SAA6B;IAE7B,IAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACxD,IAAI,CAAC,aAAa,EAAE;QAChB,OAAO,SAAS,CAAC;KACpB;IACD,IAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,UAAC,QAAW,IAAK,OAAA,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,EAA5B,CAA4B,CAAC,CAAC;IACrF,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAXD,kDAWC;AAED,SAAgB,oBAAoB;AAChC,2DAA2D;AAC3D,SAAgC,EAChC,YAA+B;IAE/B,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAQ,CAAC;AAClD,CAAC;AAND,oDAMC;AAED,SAAgB,gBAAgB,CAA2B,MAAiB,EAAE,YAA+B;IACzG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;QACf,OAAO,EAAE,CAAC;KACb;IAED,OAAO,MAAM,CAAC,KAAK;SACd,MAAM,CAAC,UAAC,KAAK,YAAK,OAAA,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,YAAY,MAAK,YAAY,CAAA,EAAA,CAAC;SAChE,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,QAAS,EAAf,CAAe,CAAC,CAAC;AACzC,CAAC;AARD,4CAQC;AAED,SAAgB,WAAW,CAAC,UAAkB,EAAE,MAAqB;IACjE,OAAO,IAAA,iBAAO,EAAC;QACX,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,oBAAa,UAAU,aAAU;QACtC,MAAM,uBAAO,MAAM,CAAE;KACxB,CAAC,CAAC;AACP,CAAC;AAND,kCAMC;AAED,SAAsB,gBAAgB,CAClC,OAA2B;;;YAE3B,sBAAO,IAAA,iBAAO,EAAe,OAAO,CAAC,EAAC;;;CACzC;AAJD,4CAIC;AAED,IAAM,WAAW,GAAG,UAAC,GAAW;IAC5B,IAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,SAAgB,sBAAsB,CAA2B,MAA0B;IAC/E,IAAA,MAAM,GAAsC,MAAM,OAA5C,EAAE,GAAG,GAAiC,MAAM,IAAvC,EAAE,IAAI,GAA2B,MAAM,KAAjC,EAAE,MAAM,GAAmB,MAAM,OAAzB,EAAE,KAAiB,MAAM,QAAX,EAAZ,OAAO,mBAAG,EAAE,KAAA,CAAY;IAE3D,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE;QACjB,OAAO,IAAI,CAAC;KACf;IACD,IAAM,OAAO,GAAG;QACZ,MAAM,QAAA;QACN,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,IAAA,2BAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;KACrE,CAAC;IAEF,CAAC,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,UAAC,MAAM;QAC/E,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;YACjB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACpD,CAAC,CAAC,IAAA,2BAAgB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACzB;IACL,CAAC,CAAC,CAAC;IAEH,6CACO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACnC,OAAO,SAAA,IACT;AACN,CAAC;AAvBD,wDAuBC;AAED,SAAsB,iBAAiB,CACnC,QAAmC,EACnC,IAA6C;IAA7C,qBAAA,EAAA,oBAA6C;;;YAE7C,sBAAO,IAAA,iBAAO,EAAuB;oBACjC,MAAM,EAAE,MAAM;oBACd,GAAG,EAAE,GAAG;oBACR,IAAI,EAAE;wBACF,IAAI,MAAA;wBACJ,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,KAAK,IAAI,EAAd,CAAc,CAAC;qBAChF;iBACJ,CAAC,EAAC;;;CACN;AAZD,8CAYC"}
1
+ {"version":3,"file":"fhir.js","sourceRoot":"","sources":["../../src/services/fhir.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- export declare function cleanEmptyValues(data: any): any;
2
- export declare function removeNullsFromDicts(data: any): any;
1
+ export declare function cleanObject(data: any, topLevel?: boolean): any;
3
2
  //# sourceMappingURL=fhir.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"fhir.d.ts","sourceRoot":"","sources":["../../src/utils/fhir.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,UAAO,GAAG,GAAG,CAqC3D"}
package/lib/utils/fhir.js CHANGED
@@ -1,59 +1,39 @@
1
1
  "use strict";
2
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;
3
+ exports.cleanObject = void 0;
4
+ function isEmptyObject(data) {
5
+ return typeof data === 'object' && !Array.isArray(data) && data !== null && Object.keys(data).length === 0;
12
6
  }
13
- function cleanEmptyValues(data) {
7
+ function cleanObject(data, topLevel) {
8
+ if (topLevel === void 0) { topLevel = true; }
14
9
  if (Array.isArray(data)) {
15
- return data.map(function (item) {
16
- return isEmpty(item) ? null : cleanEmptyValues(item);
10
+ var cleanedArray = data.map(function (item) {
11
+ var cleaned = cleanObject(item, false);
12
+ //NOTE: convert undefined → null
13
+ return cleaned === undefined ? null : cleaned;
17
14
  });
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
- }
15
+ //NOTE: Trim trailing nulls
16
+ while (cleanedArray.length > 0 && cleanedArray[cleanedArray.length - 1] === null) {
17
+ cleanedArray.pop();
27
18
  }
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);
19
+ return cleanedArray.length > 0 ? cleanedArray : undefined;
42
20
  }
43
21
  if (typeof data === 'object' && data !== null) {
44
22
  var result = {};
45
23
  for (var _i = 0, _a = Object.entries(data); _i < _a.length; _i++) {
46
24
  var _b = _a[_i], key = _b[0], value = _b[1];
47
- if (!isNull(value)) {
48
- result[key] = removeNullsFromDicts(value);
25
+ var cleanedValue = cleanObject(value, false);
26
+ if (cleanedValue !== undefined && cleanedValue !== null && !isEmptyObject(cleanedValue)) {
27
+ result[key] = cleanedValue;
49
28
  }
50
29
  }
51
- return result;
52
- }
53
- if (typeof data === 'undefined') {
54
- return null;
30
+ var isEmptyResult = Object.keys(result).length === 0;
31
+ if (topLevel && isEmptyResult) {
32
+ return {};
33
+ }
34
+ return isEmptyResult ? undefined : result;
55
35
  }
56
36
  return data;
57
37
  }
58
- exports.removeNullsFromDicts = removeNullsFromDicts;
38
+ exports.cleanObject = cleanObject;
59
39
  //# sourceMappingURL=fhir.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"fhir.js","sourceRoot":"","sources":["../../src/utils/fhir.ts"],"names":[],"mappings":";;;AAAA,SAAS,aAAa,CAAC,IAAS;IAC5B,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC/G,CAAC;AAED,SAAgB,WAAW,CAAC,IAAS,EAAE,QAAe;IAAf,yBAAA,EAAA,eAAe;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACrB,IAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI;YAC/B,IAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzC,gCAAgC;YAChC,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;YAC9E,YAAY,CAAC,GAAG,EAAE,CAAC;SACtB;QAED,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;KAC7D;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;QAC3C,IAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,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,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAE/C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;gBACrF,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;aAC9B;SACJ;QAED,IAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QAEvD,IAAI,QAAQ,IAAI,aAAa,EAAE;YAC3B,OAAO,EAAE,CAAC;SACb;QAED,OAAO,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;KAC7C;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AArCD,kCAqCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aidbox-react",
3
- "version": "1.11.1",
3
+ "version": "1.11.2",
4
4
  "scripts": {
5
5
  "build": "tsc & rollup -c",
6
6
  "prebuild": "rimraf lib/* & rimraf dist/*",
@@ -2,7 +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
+ import { cleanObject } from '../utils/fhir';
6
6
  import { buildQueryParams } from './instance';
7
7
  import { SearchParams } from './search';
8
8
  import { service } from './service';
@@ -95,21 +95,20 @@ function getInactiveSearchParam(resourceType: string) {
95
95
  export async function createFHIRResource<R extends AidboxResource>(
96
96
  resource: R,
97
97
  searchParams?: SearchParams,
98
- dropNullsFromDicts = true
98
+ needToCleanResource = true
99
99
  ): Promise<RemoteDataResult<WithId<R>>> {
100
- return service(create(resource, searchParams, dropNullsFromDicts));
100
+ return service(create(resource, searchParams, needToCleanResource));
101
101
  }
102
102
 
103
103
  export function create<R extends AidboxResource>(
104
104
  resource: R,
105
105
  searchParams?: SearchParams,
106
- dropNullsFromDicts = true
106
+ needToCleanResource = true
107
107
  ): AxiosRequestConfig {
108
108
  let cleanedResource = resource;
109
- if (dropNullsFromDicts) {
110
- cleanedResource = removeNullsFromDicts(cleanedResource);
109
+ if (needToCleanResource) {
110
+ cleanedResource = cleanObject(cleanedResource);
111
111
  }
112
- cleanedResource = cleanEmptyValues(cleanedResource);
113
112
 
114
113
  return {
115
114
  method: 'POST',
@@ -122,21 +121,20 @@ export function create<R extends AidboxResource>(
122
121
  export async function updateFHIRResource<R extends AidboxResource>(
123
122
  resource: R,
124
123
  searchParams?: SearchParams,
125
- dropNullsFromDicts = true
124
+ needToCleanResource = true
126
125
  ): Promise<RemoteDataResult<WithId<R>>> {
127
- return service(update(resource, searchParams, dropNullsFromDicts));
126
+ return service(update(resource, searchParams, needToCleanResource));
128
127
  }
129
128
 
130
129
  export function update<R extends AidboxResource>(
131
130
  resource: R,
132
131
  searchParams?: SearchParams,
133
- dropNullsFromDicts = true
132
+ needToCleanResource = true
134
133
  ): AxiosRequestConfig {
135
134
  let cleanedResource = resource;
136
- if (dropNullsFromDicts) {
137
- cleanedResource = removeNullsFromDicts(cleanedResource);
135
+ if (needToCleanResource) {
136
+ cleanedResource = cleanObject(cleanedResource);
138
137
  }
139
- cleanedResource = cleanEmptyValues(cleanedResource);
140
138
 
141
139
  if (searchParams) {
142
140
  return {
@@ -261,18 +259,17 @@ export async function findFHIRResource<R extends AidboxResource>(
261
259
 
262
260
  export async function saveFHIRResource<R extends AidboxResource>(
263
261
  resource: R,
264
- dropNullsFromDicts: boolean = true
262
+ needToCleanResource = true
265
263
  ): Promise<RemoteDataResult<WithId<R>>> {
266
- return service(save(resource, dropNullsFromDicts));
264
+ return service(save(resource, needToCleanResource));
267
265
  }
268
266
 
269
- export function save<R extends AidboxResource>(resource: R, dropNullsFromDicts: boolean = true): AxiosRequestConfig {
270
- const versionId = resource.meta && resource.meta.versionId;
267
+ export function save<R extends AidboxResource>(resource: R, needToCleanResource = true): AxiosRequestConfig {
271
268
  let cleanedResource = resource;
272
- if (dropNullsFromDicts) {
273
- cleanedResource = removeNullsFromDicts(cleanedResource);
269
+ if (needToCleanResource) {
270
+ cleanedResource = cleanObject(cleanedResource);
274
271
  }
275
- cleanedResource = cleanEmptyValues(cleanedResource);
272
+ const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
276
273
 
277
274
  return {
278
275
  method: resource.id ? 'PUT' : 'POST',
@@ -285,7 +282,7 @@ export function save<R extends AidboxResource>(resource: R, dropNullsFromDicts:
285
282
  export async function saveFHIRResources<R extends AidboxResource>(
286
283
  resources: R[],
287
284
  bundleType: 'transaction' | 'batch',
288
- dropNullsFromDicts: boolean = true
285
+ needToCleanResource = true
289
286
  ): Promise<RemoteDataResult<Bundle<WithId<R>>>> {
290
287
  return service({
291
288
  method: 'POST',
@@ -294,10 +291,9 @@ export async function saveFHIRResources<R extends AidboxResource>(
294
291
  type: bundleType,
295
292
  entry: resources.map((resource) => {
296
293
  let cleanedResource = resource;
297
- if (dropNullsFromDicts) {
298
- cleanedResource = removeNullsFromDicts(cleanedResource);
294
+ if (needToCleanResource) {
295
+ cleanedResource = cleanObject(cleanedResource);
299
296
  }
300
- cleanedResource = cleanEmptyValues(cleanedResource);
301
297
  const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
302
298
 
303
299
  return {
package/src/utils/fhir.ts CHANGED
@@ -1,61 +1,41 @@
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;
1
+ function isEmptyObject(data: any) {
2
+ return typeof data === 'object' && !Array.isArray(data) && data !== null && Object.keys(data).length === 0;
11
3
  }
12
4
 
13
- export function cleanEmptyValues(data: any): any {
5
+ export function cleanObject(data: any, topLevel = true): any {
14
6
  if (Array.isArray(data)) {
15
- return data.map((item) => {
16
- return isEmpty(item) ? null : cleanEmptyValues(item);
7
+ const cleanedArray = data.map((item) => {
8
+ const cleaned = cleanObject(item, false);
9
+ //NOTE: convert undefined → null
10
+ return cleaned === undefined ? null : cleaned;
17
11
  });
18
- }
19
12
 
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
- }
13
+ //NOTE: Trim trailing nulls
14
+ while (cleanedArray.length > 0 && cleanedArray[cleanedArray.length - 1] === null) {
15
+ cleanedArray.pop();
27
16
  }
28
- return cleaned;
29
- }
30
17
 
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);
18
+ return cleanedArray.length > 0 ? cleanedArray : undefined;
45
19
  }
46
20
 
47
21
  if (typeof data === 'object' && data !== null) {
48
22
  const result: Record<string, any> = {};
23
+
49
24
  for (const [key, value] of Object.entries(data)) {
50
- if (!isNull(value)) {
51
- result[key] = removeNullsFromDicts(value);
25
+ const cleanedValue = cleanObject(value, false);
26
+
27
+ if (cleanedValue !== undefined && cleanedValue !== null && !isEmptyObject(cleanedValue)) {
28
+ result[key] = cleanedValue;
52
29
  }
53
30
  }
54
- return result;
55
- }
56
31
 
57
- if (typeof data === 'undefined') {
58
- return null;
32
+ const isEmptyResult = Object.keys(result).length === 0;
33
+
34
+ if (topLevel && isEmptyResult) {
35
+ return {};
36
+ }
37
+
38
+ return isEmptyResult ? undefined : result;
59
39
  }
60
40
 
61
41
  return data;