aidbox-react 1.11.1 → 1.11.2-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -150,54 +150,44 @@ 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 isEmpty(data: any): boolean {
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 isEmptyObject(data) {
163
+ return typeof data === 'object' && !Array.isArray(data) && data !== null && Object.keys(data).length === 0;
161
164
  }
162
- function cleanEmptyValues(data) {
165
+ function cleanObject(data, topLevel = true) {
163
166
  if (Array.isArray(data)) {
164
- return data.map((item) => {
165
- return isEmpty(item) ? null : cleanEmptyValues(item);
167
+ const cleanedArray = data.map((item) => {
168
+ const cleaned = cleanObject(item, false);
169
+ //NOTE: convert undefined → null
170
+ return cleaned === undefined ? null : cleaned;
166
171
  });
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
- }
172
+ //NOTE: Trim trailing nulls
173
+ while (cleanedArray.length > 0 && cleanedArray[cleanedArray.length - 1] === null) {
174
+ cleanedArray.pop();
175
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);
176
+ return cleanedArray.length > 0 ? cleanedArray : undefined;
189
177
  }
190
178
  if (typeof data === 'object' && data !== null) {
191
179
  const result = {};
192
180
  for (const [key, value] of Object.entries(data)) {
193
- if (!isNull(value)) {
194
- result[key] = removeNullsFromDicts(value);
181
+ const cleanedValue = cleanObject(value, false);
182
+ if (cleanedValue !== undefined && cleanedValue !== null && !isEmptyObject(cleanedValue)) {
183
+ result[key] = cleanedValue;
195
184
  }
196
185
  }
197
- return result;
198
- }
199
- if (typeof data === 'undefined') {
200
- return null;
186
+ const isEmptyResult = Object.keys(result).length === 0;
187
+ if (topLevel && isEmptyResult) {
188
+ return {};
189
+ }
190
+ return isEmptyResult ? undefined : result;
201
191
  }
202
192
  return data;
203
193
  }
@@ -271,12 +261,11 @@ function createFHIRResource(resource, searchParams, dropNullsFromDicts = true) {
271
261
  return service(create(resource, searchParams, dropNullsFromDicts));
272
262
  });
273
263
  }
274
- function create(resource, searchParams, dropNullsFromDicts = true) {
264
+ function create(resource, searchParams, needToCleanResource = true) {
275
265
  let cleanedResource = resource;
276
- if (dropNullsFromDicts) {
277
- cleanedResource = removeNullsFromDicts(cleanedResource);
266
+ if (needToCleanResource) {
267
+ cleanedResource = cleanObject(cleanedResource);
278
268
  }
279
- cleanedResource = cleanEmptyValues(cleanedResource);
280
269
  return {
281
270
  method: 'POST',
282
271
  url: `/${cleanedResource.resourceType}`,
@@ -289,12 +278,11 @@ function updateFHIRResource(resource, searchParams, dropNullsFromDicts = true) {
289
278
  return service(update(resource, searchParams, dropNullsFromDicts));
290
279
  });
291
280
  }
292
- function update(resource, searchParams, dropNullsFromDicts = true) {
281
+ function update(resource, searchParams, needToCleanResource = true) {
293
282
  let cleanedResource = resource;
294
- if (dropNullsFromDicts) {
295
- cleanedResource = removeNullsFromDicts(cleanedResource);
283
+ if (needToCleanResource) {
284
+ cleanedResource = cleanObject(cleanedResource);
296
285
  }
297
- cleanedResource = cleanEmptyValues(cleanedResource);
298
286
  if (searchParams) {
299
287
  return {
300
288
  method: 'PUT',
@@ -385,16 +373,15 @@ function saveFHIRResource(resource, dropNullsFromDicts = true) {
385
373
  return service(save(resource, dropNullsFromDicts));
386
374
  });
387
375
  }
388
- function save(resource, dropNullsFromDicts = true) {
389
- const versionId = resource.meta && resource.meta.versionId;
376
+ function save(resource, needToCleanResource = true) {
390
377
  let cleanedResource = resource;
391
- if (dropNullsFromDicts) {
392
- cleanedResource = removeNullsFromDicts(cleanedResource);
378
+ if (needToCleanResource) {
379
+ cleanedResource = cleanObject(cleanedResource);
393
380
  }
394
- cleanedResource = cleanEmptyValues(cleanedResource);
381
+ const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
395
382
  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
383
  }
397
- function saveFHIRResources(resources, bundleType, dropNullsFromDicts = true) {
384
+ function saveFHIRResources(resources, bundleType, needToCleanResource = true) {
398
385
  return __awaiter(this, void 0, void 0, function* () {
399
386
  return service({
400
387
  method: 'POST',
@@ -403,10 +390,9 @@ function saveFHIRResources(resources, bundleType, dropNullsFromDicts = true) {
403
390
  type: bundleType,
404
391
  entry: resources.map((resource) => {
405
392
  let cleanedResource = resource;
406
- if (dropNullsFromDicts) {
407
- cleanedResource = removeNullsFromDicts(cleanedResource);
393
+ if (needToCleanResource) {
394
+ cleanedResource = cleanObject(cleanedResource);
408
395
  }
409
- cleanedResource = cleanEmptyValues(cleanedResource);
410
396
  const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
411
397
  return {
412
398
  resource: cleanedResource,
@@ -3314,7 +3300,7 @@ exports.applyFHIRService = applyFHIRService;
3314
3300
  exports.applyFHIRServices = applyFHIRServices;
3315
3301
  exports.axiosInstance = axiosInstance;
3316
3302
  exports.buildQueryParams = buildQueryParams;
3317
- exports.cleanEmptyValues = cleanEmptyValues;
3303
+ exports.cleanObject = cleanObject;
3318
3304
  exports.create = create;
3319
3305
  exports.createBus = createBus;
3320
3306
  exports.createFHIRResource = createFHIRResource;
@@ -3361,7 +3347,6 @@ exports.parseFHIRDateTime = parseFHIRDateTime;
3361
3347
  exports.parseFHIRTime = parseFHIRTime;
3362
3348
  exports.patch = patch;
3363
3349
  exports.patchFHIRResource = patchFHIRResource;
3364
- exports.removeNullsFromDicts = removeNullsFromDicts;
3365
3350
  exports.resetInstanceToken = resetInstanceToken;
3366
3351
  exports.resolveArray = resolveArray;
3367
3352
  exports.resolveMap = resolveMap;
@@ -4,9 +4,9 @@ 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
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;
7
+ export declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): AxiosRequestConfig;
8
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;
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>>>>;
@@ -14,8 +14,8 @@ export declare function getAllFHIRResources<R extends AidboxResource>(resourceTy
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
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>>>>;
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,44 @@ 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 isEmpty(data: any): boolean {
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 isEmptyObject(data) {
162
+ return typeof data === 'object' && !Array.isArray(data) && data !== null && Object.keys(data).length === 0;
160
163
  }
161
- function cleanEmptyValues(data) {
164
+ function cleanObject(data, topLevel = true) {
162
165
  if (Array.isArray(data)) {
163
- return data.map((item) => {
164
- return isEmpty(item) ? null : cleanEmptyValues(item);
166
+ const cleanedArray = data.map((item) => {
167
+ const cleaned = cleanObject(item, false);
168
+ //NOTE: convert undefined → null
169
+ return cleaned === undefined ? null : cleaned;
165
170
  });
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
- }
171
+ //NOTE: Trim trailing nulls
172
+ while (cleanedArray.length > 0 && cleanedArray[cleanedArray.length - 1] === null) {
173
+ cleanedArray.pop();
174
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);
175
+ return cleanedArray.length > 0 ? cleanedArray : undefined;
188
176
  }
189
177
  if (typeof data === 'object' && data !== null) {
190
178
  const result = {};
191
179
  for (const [key, value] of Object.entries(data)) {
192
- if (!isNull(value)) {
193
- result[key] = removeNullsFromDicts(value);
180
+ const cleanedValue = cleanObject(value, false);
181
+ if (cleanedValue !== undefined && cleanedValue !== null && !isEmptyObject(cleanedValue)) {
182
+ result[key] = cleanedValue;
194
183
  }
195
184
  }
196
- return result;
197
- }
198
- if (typeof data === 'undefined') {
199
- return null;
185
+ const isEmptyResult = Object.keys(result).length === 0;
186
+ if (topLevel && isEmptyResult) {
187
+ return {};
188
+ }
189
+ return isEmptyResult ? undefined : result;
200
190
  }
201
191
  return data;
202
192
  }
@@ -270,12 +260,11 @@ function createFHIRResource(resource, searchParams, dropNullsFromDicts = true) {
270
260
  return service(create(resource, searchParams, dropNullsFromDicts));
271
261
  });
272
262
  }
273
- function create(resource, searchParams, dropNullsFromDicts = true) {
263
+ function create(resource, searchParams, needToCleanResource = true) {
274
264
  let cleanedResource = resource;
275
- if (dropNullsFromDicts) {
276
- cleanedResource = removeNullsFromDicts(cleanedResource);
265
+ if (needToCleanResource) {
266
+ cleanedResource = cleanObject(cleanedResource);
277
267
  }
278
- cleanedResource = cleanEmptyValues(cleanedResource);
279
268
  return {
280
269
  method: 'POST',
281
270
  url: `/${cleanedResource.resourceType}`,
@@ -288,12 +277,11 @@ function updateFHIRResource(resource, searchParams, dropNullsFromDicts = true) {
288
277
  return service(update(resource, searchParams, dropNullsFromDicts));
289
278
  });
290
279
  }
291
- function update(resource, searchParams, dropNullsFromDicts = true) {
280
+ function update(resource, searchParams, needToCleanResource = true) {
292
281
  let cleanedResource = resource;
293
- if (dropNullsFromDicts) {
294
- cleanedResource = removeNullsFromDicts(cleanedResource);
282
+ if (needToCleanResource) {
283
+ cleanedResource = cleanObject(cleanedResource);
295
284
  }
296
- cleanedResource = cleanEmptyValues(cleanedResource);
297
285
  if (searchParams) {
298
286
  return {
299
287
  method: 'PUT',
@@ -384,16 +372,15 @@ function saveFHIRResource(resource, dropNullsFromDicts = true) {
384
372
  return service(save(resource, dropNullsFromDicts));
385
373
  });
386
374
  }
387
- function save(resource, dropNullsFromDicts = true) {
388
- const versionId = resource.meta && resource.meta.versionId;
375
+ function save(resource, needToCleanResource = true) {
389
376
  let cleanedResource = resource;
390
- if (dropNullsFromDicts) {
391
- cleanedResource = removeNullsFromDicts(cleanedResource);
377
+ if (needToCleanResource) {
378
+ cleanedResource = cleanObject(cleanedResource);
392
379
  }
393
- cleanedResource = cleanEmptyValues(cleanedResource);
380
+ const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
394
381
  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
382
  }
396
- function saveFHIRResources(resources, bundleType, dropNullsFromDicts = true) {
383
+ function saveFHIRResources(resources, bundleType, needToCleanResource = true) {
397
384
  return __awaiter(this, void 0, void 0, function* () {
398
385
  return service({
399
386
  method: 'POST',
@@ -402,10 +389,9 @@ function saveFHIRResources(resources, bundleType, dropNullsFromDicts = true) {
402
389
  type: bundleType,
403
390
  entry: resources.map((resource) => {
404
391
  let cleanedResource = resource;
405
- if (dropNullsFromDicts) {
406
- cleanedResource = removeNullsFromDicts(cleanedResource);
392
+ if (needToCleanResource) {
393
+ cleanedResource = cleanObject(cleanedResource);
407
394
  }
408
- cleanedResource = cleanEmptyValues(cleanedResource);
409
395
  const versionId = cleanedResource.meta && cleanedResource.meta.versionId;
410
396
  return {
411
397
  resource: cleanedResource,
@@ -3254,4 +3240,4 @@ function withRender(config) {
3254
3240
  };
3255
3241
  }
3256
3242
 
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 };
3243
+ 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 };
@@ -4,9 +4,9 @@ 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
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;
7
+ export declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): AxiosRequestConfig;
8
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;
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>>>>;
@@ -14,8 +14,8 @@ export declare function getAllFHIRResources<R extends AidboxResource>(resourceTy
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
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>>>>;
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
@@ -57,9 +57,9 @@ declare function resolveServiceMap<I, F>(promiseMap: PromiseRemoteDataMap<I, F>)
57
57
 
58
58
  type WithId<T extends AidboxResource> = T & Required<Pick<T, 'id'>>;
59
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;
60
+ declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): AxiosRequestConfig;
61
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;
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>>>>;
@@ -67,8 +67,8 @@ declare function getAllFHIRResources<R extends AidboxResource>(resourceType: str
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
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>>>>;
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 };
@@ -4,9 +4,9 @@ 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
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;
7
+ export declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams, needToCleanResource?: boolean): AxiosRequestConfig;
8
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;
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>>>>;
@@ -14,8 +14,8 @@ export declare function getAllFHIRResources<R extends AidboxResource>(resourceTy
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
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>>>>;
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":"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"}
1
+ {"version":3,"file":"fhir.d.ts","sourceRoot":"","sources":["../../src/services/fhir.ts"],"names":[],"mappings":"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"}
@@ -80,13 +80,12 @@ function createFHIRResource(resource, searchParams, dropNullsFromDicts) {
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),
@@ -104,13 +103,12 @@ function updateFHIRResource(resource, searchParams, dropNullsFromDicts) {
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',
@@ -235,19 +233,18 @@ function saveFHIRResource(resource, dropNullsFromDicts) {
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":"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"}
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":"AAgBA,wBAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,UAAO,GAAG,GAAG,CAqC3D"}
package/lib/utils/fhir.js CHANGED
@@ -1,59 +1,48 @@
1
1
  "use strict";
2
+ // function isEmpty(data: any): boolean {
3
+ // if (Array.isArray(data)) {
4
+ // return data.length === 0;
5
+ // }
2
6
  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;
7
+ exports.cleanObject = void 0;
8
+ // if (typeof data === 'object' && data !== null) {
9
+ // return Object.keys(data).length === 0;
10
+ // }
11
+ // return false;
12
+ // }
13
+ function isEmptyObject(data) {
14
+ return typeof data === 'object' && !Array.isArray(data) && data !== null && Object.keys(data).length === 0;
12
15
  }
13
- function cleanEmptyValues(data) {
16
+ function cleanObject(data, topLevel) {
17
+ if (topLevel === void 0) { topLevel = true; }
14
18
  if (Array.isArray(data)) {
15
- return data.map(function (item) {
16
- return isEmpty(item) ? null : cleanEmptyValues(item);
19
+ var cleanedArray = data.map(function (item) {
20
+ var cleaned = cleanObject(item, false);
21
+ //NOTE: convert undefined → null
22
+ return cleaned === undefined ? null : cleaned;
17
23
  });
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
- }
24
+ //NOTE: Trim trailing nulls
25
+ while (cleanedArray.length > 0 && cleanedArray[cleanedArray.length - 1] === null) {
26
+ cleanedArray.pop();
27
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);
28
+ return cleanedArray.length > 0 ? cleanedArray : undefined;
42
29
  }
43
30
  if (typeof data === 'object' && data !== null) {
44
31
  var result = {};
45
32
  for (var _i = 0, _a = Object.entries(data); _i < _a.length; _i++) {
46
33
  var _b = _a[_i], key = _b[0], value = _b[1];
47
- if (!isNull(value)) {
48
- result[key] = removeNullsFromDicts(value);
34
+ var cleanedValue = cleanObject(value, false);
35
+ if (cleanedValue !== undefined && cleanedValue !== null && !isEmptyObject(cleanedValue)) {
36
+ result[key] = cleanedValue;
49
37
  }
50
38
  }
51
- return result;
52
- }
53
- if (typeof data === 'undefined') {
54
- return null;
39
+ var isEmptyResult = Object.keys(result).length === 0;
40
+ if (topLevel && isEmptyResult) {
41
+ return {};
42
+ }
43
+ return isEmptyResult ? undefined : result;
55
44
  }
56
45
  return data;
57
46
  }
58
- exports.removeNullsFromDicts = removeNullsFromDicts;
47
+ exports.cleanObject = cleanObject;
59
48
  //# 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,yCAAyC;AACzC,iCAAiC;AACjC,oCAAoC;AACpC,QAAQ;;;AAER,uDAAuD;AACvD,iDAAiD;AACjD,QAAQ;AAER,oBAAoB;AACpB,IAAI;AAEJ,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-0",
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';
@@ -103,13 +103,12 @@ export async function createFHIRResource<R extends AidboxResource>(
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',
@@ -130,13 +129,12 @@ export async function updateFHIRResource<R extends AidboxResource>(
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 {
@@ -266,13 +264,12 @@ export async function saveFHIRResource<R extends AidboxResource>(
266
264
  return service(save(resource, dropNullsFromDicts));
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,53 @@
1
- function isEmpty(data: any): boolean {
2
- if (Array.isArray(data)) {
3
- return data.length === 0;
4
- }
1
+ // function isEmpty(data: any): boolean {
2
+ // if (Array.isArray(data)) {
3
+ // return data.length === 0;
4
+ // }
5
5
 
6
- if (typeof data === 'object' && data !== null) {
7
- return Object.keys(data).length === 0;
8
- }
6
+ // if (typeof data === 'object' && data !== null) {
7
+ // return Object.keys(data).length === 0;
8
+ // }
9
+
10
+ // return false;
11
+ // }
9
12
 
10
- return false;
13
+ function isEmptyObject(data: any) {
14
+ return typeof data === 'object' && !Array.isArray(data) && data !== null && Object.keys(data).length === 0;
11
15
  }
12
16
 
13
- export function cleanEmptyValues(data: any): any {
17
+ export function cleanObject(data: any, topLevel = true): any {
14
18
  if (Array.isArray(data)) {
15
- return data.map((item) => {
16
- return isEmpty(item) ? null : cleanEmptyValues(item);
19
+ const cleanedArray = data.map((item) => {
20
+ const cleaned = cleanObject(item, false);
21
+ //NOTE: convert undefined → null
22
+ return cleaned === undefined ? null : cleaned;
17
23
  });
18
- }
19
24
 
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
- }
25
+ //NOTE: Trim trailing nulls
26
+ while (cleanedArray.length > 0 && cleanedArray[cleanedArray.length - 1] === null) {
27
+ cleanedArray.pop();
27
28
  }
28
- return cleaned;
29
- }
30
-
31
- if (typeof data === 'undefined') {
32
- return null;
33
- }
34
29
 
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);
30
+ return cleanedArray.length > 0 ? cleanedArray : undefined;
45
31
  }
46
32
 
47
33
  if (typeof data === 'object' && data !== null) {
48
34
  const result: Record<string, any> = {};
35
+
49
36
  for (const [key, value] of Object.entries(data)) {
50
- if (!isNull(value)) {
51
- result[key] = removeNullsFromDicts(value);
37
+ const cleanedValue = cleanObject(value, false);
38
+
39
+ if (cleanedValue !== undefined && cleanedValue !== null && !isEmptyObject(cleanedValue)) {
40
+ result[key] = cleanedValue;
52
41
  }
53
42
  }
54
- return result;
55
- }
56
43
 
57
- if (typeof data === 'undefined') {
58
- return null;
44
+ const isEmptyResult = Object.keys(result).length === 0;
45
+
46
+ if (topLevel && isEmptyResult) {
47
+ return {};
48
+ }
49
+
50
+ return isEmptyResult ? undefined : result;
59
51
  }
60
52
 
61
53
  return data;