sdc-qrf 1.0.0-beta.7 → 1.0.0-beta.9

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/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './types';
2
- export { mapFormToResponse, mapResponseToForm, findAnswersForQuestionsRecursive, removeDisabledAnswers, getEnabledQuestions, calcInitialContext, parseFhirQueryExpression, getChecker, toAnswerValue, getAnswerValues, getAnswerValueType, isAnswerValueEmpty, populateItemKey, removeItemKey, getItemKey, } from './utils';
2
+ export { mapFormToResponse, mapResponseToForm, removeDisabledAnswers, getEnabledQuestions, calcInitialContext, parseFhirQueryExpression, findAnswersForQuestion, getChecker, cleanFormAnswerItems, toAnswerValue, getAnswerValues, getAnswerValueType, isAnswerValueEmpty, populateItemKey, removeItemKey, getItemKey, } from './utils';
3
3
  export { useQuestionnaireResponseFormContext } from './hooks';
4
4
  export { QuestionItems, QuestionItem, QuestionnaireResponseFormProvider } from './components';
5
5
  export * from './converter';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,gCAAgC,EAChC,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,UAAU,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mCAAmC,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AAC9F,cAAc,aAAa,CAAC;AAC5B,mBAAmB,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EACH,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,UAAU,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,mCAAmC,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iCAAiC,EAAE,MAAM,cAAc,CAAC;AAC9F,cAAc,aAAa,CAAC;AAC5B,mBAAmB,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -1,17 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QuestionnaireResponseFormProvider = exports.QuestionItem = exports.QuestionItems = exports.useQuestionnaireResponseFormContext = exports.getItemKey = exports.removeItemKey = exports.populateItemKey = exports.isAnswerValueEmpty = exports.getAnswerValueType = exports.getAnswerValues = exports.toAnswerValue = exports.getChecker = exports.parseFhirQueryExpression = exports.calcInitialContext = exports.getEnabledQuestions = exports.removeDisabledAnswers = exports.findAnswersForQuestionsRecursive = exports.mapResponseToForm = exports.mapFormToResponse = void 0;
3
+ exports.QuestionnaireResponseFormProvider = exports.QuestionItem = exports.QuestionItems = exports.useQuestionnaireResponseFormContext = exports.getItemKey = exports.removeItemKey = exports.populateItemKey = exports.isAnswerValueEmpty = exports.getAnswerValueType = exports.getAnswerValues = exports.toAnswerValue = exports.cleanFormAnswerItems = exports.getChecker = exports.findAnswersForQuestion = exports.parseFhirQueryExpression = exports.calcInitialContext = exports.getEnabledQuestions = exports.removeDisabledAnswers = exports.mapResponseToForm = exports.mapFormToResponse = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  tslib_1.__exportStar(require("./types"), exports);
6
6
  var utils_1 = require("./utils");
7
7
  Object.defineProperty(exports, "mapFormToResponse", { enumerable: true, get: function () { return utils_1.mapFormToResponse; } });
8
8
  Object.defineProperty(exports, "mapResponseToForm", { enumerable: true, get: function () { return utils_1.mapResponseToForm; } });
9
- Object.defineProperty(exports, "findAnswersForQuestionsRecursive", { enumerable: true, get: function () { return utils_1.findAnswersForQuestionsRecursive; } });
10
9
  Object.defineProperty(exports, "removeDisabledAnswers", { enumerable: true, get: function () { return utils_1.removeDisabledAnswers; } });
11
10
  Object.defineProperty(exports, "getEnabledQuestions", { enumerable: true, get: function () { return utils_1.getEnabledQuestions; } });
12
11
  Object.defineProperty(exports, "calcInitialContext", { enumerable: true, get: function () { return utils_1.calcInitialContext; } });
13
12
  Object.defineProperty(exports, "parseFhirQueryExpression", { enumerable: true, get: function () { return utils_1.parseFhirQueryExpression; } });
13
+ Object.defineProperty(exports, "findAnswersForQuestion", { enumerable: true, get: function () { return utils_1.findAnswersForQuestion; } });
14
14
  Object.defineProperty(exports, "getChecker", { enumerable: true, get: function () { return utils_1.getChecker; } });
15
+ Object.defineProperty(exports, "cleanFormAnswerItems", { enumerable: true, get: function () { return utils_1.cleanFormAnswerItems; } });
15
16
  Object.defineProperty(exports, "toAnswerValue", { enumerable: true, get: function () { return utils_1.toAnswerValue; } });
16
17
  Object.defineProperty(exports, "getAnswerValues", { enumerable: true, get: function () { return utils_1.getAnswerValues; } });
17
18
  Object.defineProperty(exports, "getAnswerValueType", { enumerable: true, get: function () { return utils_1.getAnswerValueType; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,kDAAwB;AACxB,iCAgBiB;AAfb,0GAAA,iBAAiB,OAAA;AACjB,0GAAA,iBAAiB,OAAA;AACjB,yHAAA,gCAAgC,OAAA;AAChC,8GAAA,qBAAqB,OAAA;AACrB,4GAAA,mBAAmB,OAAA;AACnB,2GAAA,kBAAkB,OAAA;AAClB,iHAAA,wBAAwB,OAAA;AACxB,mGAAA,UAAU,OAAA;AACV,sGAAA,aAAa,OAAA;AACb,wGAAA,eAAe,OAAA;AACf,2GAAA,kBAAkB,OAAA;AAClB,2GAAA,kBAAkB,OAAA;AAClB,wGAAA,eAAe,OAAA;AACf,sGAAA,aAAa,OAAA;AACb,mGAAA,UAAU,OAAA;AAEd,iCAA8D;AAArD,4HAAA,mCAAmC,OAAA;AAC5C,2CAA8F;AAArF,2GAAA,aAAa,OAAA;AAAE,0GAAA,YAAY,OAAA;AAAE,+HAAA,iCAAiC,OAAA;AACvE,sDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,kDAAwB;AACxB,iCAiBiB;AAhBb,0GAAA,iBAAiB,OAAA;AACjB,0GAAA,iBAAiB,OAAA;AACjB,8GAAA,qBAAqB,OAAA;AACrB,4GAAA,mBAAmB,OAAA;AACnB,2GAAA,kBAAkB,OAAA;AAClB,iHAAA,wBAAwB,OAAA;AACxB,+GAAA,sBAAsB,OAAA;AACtB,mGAAA,UAAU,OAAA;AACV,6GAAA,oBAAoB,OAAA;AACpB,sGAAA,aAAa,OAAA;AACb,wGAAA,eAAe,OAAA;AACf,2GAAA,kBAAkB,OAAA;AAClB,2GAAA,kBAAkB,OAAA;AAClB,wGAAA,eAAe,OAAA;AACf,sGAAA,aAAa,OAAA;AACb,mGAAA,UAAU,OAAA;AAEd,iCAA8D;AAArD,4HAAA,mCAAmC,OAAA;AAC5C,2CAA8F;AAArF,2GAAA,aAAa,OAAA;AAAE,0GAAA,YAAY,OAAA;AAAE,+HAAA,iCAAiC,OAAA;AACvE,sDAA4B"}
package/dist/types.d.ts CHANGED
@@ -72,7 +72,7 @@ export interface FormAnswerItems {
72
72
  question?: string;
73
73
  items?: FormItems;
74
74
  }
75
- export type FormItems = Record<string, FormGroupItems | FormAnswerItems[] | undefined>;
75
+ export type FormItems = Record<string, FormGroupItems | (FormAnswerItems | undefined)[] | undefined>;
76
76
  export interface QuestionnaireResponseFormData {
77
77
  formValues: FormItems;
78
78
  context: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -12,7 +12,7 @@ export declare function getItemKey(items: FormGroupItems | FormAnswerItems): any
12
12
  export declare function removeItemKey<T extends FormGroupItems | FormAnswerItems>(items: T): T;
13
13
  export declare function populateItemKey(items: FormGroupItems | FormAnswerItems): any;
14
14
  export declare function mapResponseToForm(resource: QuestionnaireResponse, questionnaire: Questionnaire): FormItems;
15
- export declare function findAnswersForQuestionsRecursive(linkId: string, values?: FormItems): any | null;
15
+ export declare function findAnswersForQuestion(linkId: string, parentPath: string[], values: FormItems): FormAnswerItems[];
16
16
  export declare function compareValue(firstAnswerValue: AnswerValue, secondAnswerValue: AnswerValue): 0 | 1 | -1;
17
17
  export declare function isValueEqual(firstValue: AnswerValue, secondValue: AnswerValue): boolean;
18
18
  export declare function getChecker(operator: QuestionnaireItemEnableWhen['operator']): (values: AnswerValue[], answerValue: AnswerValue) => boolean;
@@ -29,5 +29,6 @@ export declare function toFHIRAnswerValue(answerValue: AnswerValue, prefix: stri
29
29
  export declare function getAnswerValueType(v: AnswerValue): keyof AnswerValue;
30
30
  export declare function getAnswerValues(answers: FormAnswerItems[]): AnswerValue[];
31
31
  export declare function isAnswerValueEmpty(value: AnswerValue | undefined | null): boolean;
32
+ export declare function cleanFormAnswerItems(answerItems: (FormAnswerItems | undefined)[]): FormAnswerItems[];
32
33
  export declare function isValueEmpty(value: any): boolean;
33
34
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -8,7 +8,7 @@ exports.getItemKey = getItemKey;
8
8
  exports.removeItemKey = removeItemKey;
9
9
  exports.populateItemKey = populateItemKey;
10
10
  exports.mapResponseToForm = mapResponseToForm;
11
- exports.findAnswersForQuestionsRecursive = findAnswersForQuestionsRecursive;
11
+ exports.findAnswersForQuestion = findAnswersForQuestion;
12
12
  exports.compareValue = compareValue;
13
13
  exports.isValueEqual = isValueEqual;
14
14
  exports.getChecker = getChecker;
@@ -23,6 +23,7 @@ exports.toFHIRAnswerValue = toFHIRAnswerValue;
23
23
  exports.getAnswerValueType = getAnswerValueType;
24
24
  exports.getAnswerValues = getAnswerValues;
25
25
  exports.isAnswerValueEmpty = isAnswerValueEmpty;
26
+ exports.cleanFormAnswerItems = cleanFormAnswerItems;
26
27
  exports.isValueEmpty = isValueEmpty;
27
28
  const tslib_1 = require("tslib");
28
29
  const fhirpath_1 = tslib_1.__importDefault(require("fhirpath"));
@@ -200,9 +201,7 @@ function mapFormToResponseRecursive(answersItems, questionnaireItems) {
200
201
  ];
201
202
  }, acc);
202
203
  }
203
- const qrItemAnswers = answers
204
- .filter((answer) => !isAnswerValueEmpty(answer.value))
205
- .reduce((answersAcc, answer) => {
204
+ const qrItemAnswers = cleanFormAnswerItems(answers).reduce((answersAcc, answer) => {
206
205
  var _a;
207
206
  const items = hasSubAnswerItems(answer.items)
208
207
  ? mapFormToResponseRecursive(answer.items, (_a = question.item) !== null && _a !== void 0 ? _a : [])
@@ -320,7 +319,7 @@ function findAnswersForQuestionsRecursive(linkId, values) {
320
319
  if (acc2) {
321
320
  return acc2;
322
321
  }
323
- return findAnswersForQuestionsRecursive(linkId, v2.items);
322
+ return findAnswersForQuestionsRecursive(linkId, v2 === null || v2 === void 0 ? void 0 : v2.items);
324
323
  }, null);
325
324
  }
326
325
  else if (lodash_1.default.isArray(v.items)) {
@@ -346,13 +345,13 @@ function findAnswersForQuestion(linkId, parentPath, values) {
346
345
  if (part === 'items' || !isNaN(part)) {
347
346
  const parentGroup = lodash_1.default.get(values, [...p, part]);
348
347
  if (typeof parentGroup === 'object' && linkId in parentGroup) {
349
- return parentGroup[linkId];
348
+ return cleanFormAnswerItems(parentGroup[linkId]);
350
349
  }
351
350
  }
352
351
  }
353
352
  // Go down
354
353
  const answers = findAnswersForQuestionsRecursive(linkId, values);
355
- return answers ? answers : [];
354
+ return answers ? cleanFormAnswerItems(answers) : [];
356
355
  }
357
356
  function compareValue(firstAnswerValue, secondAnswerValue) {
358
357
  const firstValueType = getAnswerValueType(firstAnswerValue);
@@ -516,9 +515,7 @@ function removeDisabledAnswersRecursive(args) {
516
515
  }) }) });
517
516
  }
518
517
  }
519
- return Object.assign(Object.assign({}, acc), { [linkId]: answers
520
- .filter((answer) => !isAnswerValueEmpty(answer.value))
521
- .reduce((answersAcc, answer, index) => {
518
+ return Object.assign(Object.assign({}, acc), { [linkId]: cleanFormAnswerItems(answers).reduce((answersAcc, answer, index) => {
522
519
  var _a;
523
520
  const items = hasSubAnswerItems(answer.items)
524
521
  ? removeDisabledAnswersRecursive({
@@ -637,6 +634,9 @@ function getAnswerValues(answers) {
637
634
  function isAnswerValueEmpty(value) {
638
635
  return isValueEmpty(value) || lodash_1.default.every(lodash_1.default.mapValues(value, isValueEmpty));
639
636
  }
637
+ function cleanFormAnswerItems(answerItems) {
638
+ return answerItems.filter((answer) => !!answer).filter((answer) => !isAnswerValueEmpty(answer.value));
639
+ }
640
640
  function isValueEmpty(value) {
641
641
  if (lodash_1.default.isNaN(value)) {
642
642
  console.warn('Please be aware that a NaN value has been detected. In the context of an "exist" operator, a NaN value is interpreted as a non-existent value. This may lead to unexpected behavior in your code. Ensure to handle or correct this to maintain the integrity of your application.');
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sdc-qrf",
3
3
  "license": "MIT",
4
- "version": "1.0.0-beta.7",
4
+ "version": "1.0.0-beta.9",
5
5
  "scripts": {
6
6
  "test": "vitest --watch=false",
7
7
  "test:watch": "vitest --watch",
package/src/index.ts CHANGED
@@ -2,12 +2,13 @@ export * from './types';
2
2
  export {
3
3
  mapFormToResponse,
4
4
  mapResponseToForm,
5
- findAnswersForQuestionsRecursive,
6
5
  removeDisabledAnswers,
7
6
  getEnabledQuestions,
8
7
  calcInitialContext,
9
8
  parseFhirQueryExpression,
9
+ findAnswersForQuestion,
10
10
  getChecker,
11
+ cleanFormAnswerItems,
11
12
  toAnswerValue,
12
13
  getAnswerValues,
13
14
  getAnswerValueType,
package/src/types.ts CHANGED
@@ -109,7 +109,8 @@ export interface FormAnswerItems {
109
109
  items?: FormItems;
110
110
  }
111
111
 
112
- export type FormItems = Record<string, FormGroupItems | FormAnswerItems[] | undefined>;
112
+ // Form renderers might insert undefined for missing field values even into array
113
+ export type FormItems = Record<string, FormGroupItems | (FormAnswerItems | undefined)[] | undefined>;
113
114
 
114
115
  export interface QuestionnaireResponseFormData {
115
116
  formValues: FormItems;
package/src/utils.ts CHANGED
@@ -193,7 +193,7 @@ function isGroup(question: QuestionnaireItem) {
193
193
 
194
194
  function isFormGroupItems(
195
195
  question: QuestionnaireItem,
196
- answers: FormGroupItems | FormAnswerItems[],
196
+ answers: FormGroupItems | (FormAnswerItems | undefined)[],
197
197
  ): answers is FormGroupItems {
198
198
  return isGroup(question) && _.isPlainObject(answers);
199
199
  }
@@ -249,21 +249,19 @@ function mapFormToResponseRecursive(
249
249
  }, acc);
250
250
  }
251
251
 
252
- const qrItemAnswers = answers
253
- .filter((answer) => !isAnswerValueEmpty(answer.value))
254
- .reduce((answersAcc, answer) => {
255
- const items = hasSubAnswerItems(answer.items)
256
- ? mapFormToResponseRecursive(answer.items, question.item ?? [])
257
- : [];
252
+ const qrItemAnswers = cleanFormAnswerItems(answers).reduce((answersAcc, answer) => {
253
+ const items = hasSubAnswerItems(answer.items)
254
+ ? mapFormToResponseRecursive(answer.items, question.item ?? [])
255
+ : [];
258
256
 
259
- return [
260
- ...answersAcc,
261
- {
262
- ...toFHIRAnswerValue(answer.value!, 'value'),
263
- ...(items.length ? { item: items } : {}),
264
- },
265
- ];
266
- }, [] as QuestionnaireResponseItemAnswer[]);
257
+ return [
258
+ ...answersAcc,
259
+ {
260
+ ...toFHIRAnswerValue(answer.value!, 'value'),
261
+ ...(items.length ? { item: items } : {}),
262
+ },
263
+ ];
264
+ }, [] as QuestionnaireResponseItemAnswer[]);
267
265
 
268
266
  if (!qrItemAnswers.length) {
269
267
  return acc;
@@ -386,7 +384,7 @@ export function mapResponseToForm(resource: QuestionnaireResponse, questionnaire
386
384
  return mapResponseToFormRecursive(resource.item ?? [], questionnaire.item ?? []);
387
385
  }
388
386
 
389
- export function findAnswersForQuestionsRecursive(linkId: string, values?: FormItems): any | null {
387
+ function findAnswersForQuestionsRecursive(linkId: string, values?: FormItems): any | null {
390
388
  if (values && _.has(values, linkId)) {
391
389
  return values[linkId];
392
390
  }
@@ -410,7 +408,7 @@ export function findAnswersForQuestionsRecursive(linkId: string, values?: FormIt
410
408
  return acc2;
411
409
  }
412
410
 
413
- return findAnswersForQuestionsRecursive(linkId, v2.items);
411
+ return findAnswersForQuestionsRecursive(linkId, v2?.items);
414
412
  },
415
413
  null,
416
414
  );
@@ -434,7 +432,7 @@ export function findAnswersForQuestionsRecursive(linkId: string, values?: FormIt
434
432
  );
435
433
  }
436
434
 
437
- function findAnswersForQuestion(linkId: string, parentPath: string[], values: FormItems): Array<FormAnswerItems> {
435
+ export function findAnswersForQuestion(linkId: string, parentPath: string[], values: FormItems): FormAnswerItems[] {
438
436
  const p = _.cloneDeep(parentPath);
439
437
 
440
438
  // Go up
@@ -447,7 +445,7 @@ function findAnswersForQuestion(linkId: string, parentPath: string[], values: Fo
447
445
  const parentGroup = _.get(values, [...p, part]);
448
446
 
449
447
  if (typeof parentGroup === 'object' && linkId in parentGroup) {
450
- return parentGroup[linkId];
448
+ return cleanFormAnswerItems(parentGroup[linkId]);
451
449
  }
452
450
  }
453
451
  }
@@ -455,7 +453,7 @@ function findAnswersForQuestion(linkId: string, parentPath: string[], values: Fo
455
453
  // Go down
456
454
  const answers = findAnswersForQuestionsRecursive(linkId, values);
457
455
 
458
- return answers ? answers : [];
456
+ return answers ? cleanFormAnswerItems(answers) : [];
459
457
  }
460
458
 
461
459
  export function compareValue(firstAnswerValue: AnswerValue, secondAnswerValue: AnswerValue) {
@@ -696,21 +694,19 @@ function removeDisabledAnswersRecursive(args: RemoveDisabledAnswersRecursiveArgs
696
694
 
697
695
  return {
698
696
  ...acc,
699
- [linkId!]: answers
700
- .filter((answer) => !isAnswerValueEmpty(answer.value))
701
- .reduce((answersAcc, answer, index) => {
702
- const items = hasSubAnswerItems(answer.items)
703
- ? removeDisabledAnswersRecursive({
704
- questionnaireItems: questionnaireItem.item ?? [],
705
- parentPath: [...args.parentPath, linkId!, index.toString(), 'items'],
706
- answersItems: answer.items,
707
- initialValues: { ...values, [linkId!]: [...answersAcc, { ...answer, items: [] }] },
708
- context: args.context,
709
- })
710
- : {};
711
-
712
- return [...answersAcc, { ...answer, items }];
713
- }, [] as any),
697
+ [linkId!]: cleanFormAnswerItems(answers).reduce((answersAcc, answer, index) => {
698
+ const items = hasSubAnswerItems(answer.items)
699
+ ? removeDisabledAnswersRecursive({
700
+ questionnaireItems: questionnaireItem.item ?? [],
701
+ parentPath: [...args.parentPath, linkId!, index.toString(), 'items'],
702
+ answersItems: answer.items,
703
+ initialValues: { ...values, [linkId!]: [...answersAcc, { ...answer, items: [] }] },
704
+ context: args.context,
705
+ })
706
+ : {};
707
+
708
+ return [...answersAcc, { ...answer, items }];
709
+ }, [] as any),
714
710
  };
715
711
  }, {} as any);
716
712
  }
@@ -871,6 +867,10 @@ export function isAnswerValueEmpty(value: AnswerValue | undefined | null) {
871
867
  return isValueEmpty(value) || _.every(_.mapValues(value, isValueEmpty));
872
868
  }
873
869
 
870
+ export function cleanFormAnswerItems(answerItems: (FormAnswerItems | undefined)[]): FormAnswerItems[] {
871
+ return answerItems.filter((answer) => !!answer).filter((answer) => !isAnswerValueEmpty(answer.value));
872
+ }
873
+
874
874
  export function isValueEmpty(value: any) {
875
875
  if (_.isNaN(value)) {
876
876
  console.warn(