@f1studio/form-spec 5.0.0-alpha.102 → 5.0.0-alpha.104

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.
Files changed (82) hide show
  1. package/FormSpec.TS/Designer.js +2 -2
  2. package/FormSpec.TS/Designer.js.map +1 -1
  3. package/FormSpec.TS/Designer.ts.map +1 -1
  4. package/FormSpec.TS/FormSpec.js +235 -178
  5. package/FormSpec.TS/FormSpec.js.map +1 -1
  6. package/FormSpec.TS/FormSpec.ts.map +1 -1
  7. package/FormSpec.TS/FormSpecHelpers.js +62 -40
  8. package/FormSpec.TS/FormSpecHelpers.js.map +1 -1
  9. package/FormSpec.TS/FormSpecHelpers.ts.map +1 -1
  10. package/FormSpec.TS/FormSpecValues.js +207 -0
  11. package/FormSpec.TS/FormSpecValues.js.map +1 -0
  12. package/FormSpec.TS/FormSpecValues.ts.map +1 -0
  13. package/FormSpec.TS/Helpers.js +26 -25
  14. package/FormSpec.TS/Helpers.js.map +1 -1
  15. package/FormSpec.TS/Helpers.ts.map +1 -1
  16. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.js +85 -125
  17. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.js.map +1 -1
  18. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.ts.map +1 -1
  19. package/FormSpec.TS/Interop/FormSpec.Api.Option.js +40 -19
  20. package/FormSpec.TS/Interop/FormSpec.Api.Option.js.map +1 -1
  21. package/FormSpec.TS/Interop/FormSpec.Api.Option.ts.map +1 -1
  22. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.js +103 -80
  23. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.js.map +1 -1
  24. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.ts.map +1 -1
  25. package/FormSpec.TS/PathwayDataExtractor.js +4 -19
  26. package/FormSpec.TS/PathwayDataExtractor.js.map +1 -1
  27. package/FormSpec.TS/PathwayDataExtractor.ts.map +1 -1
  28. package/FormSpec.TS/PathwayExecutor.js +371 -125
  29. package/FormSpec.TS/PathwayExecutor.js.map +1 -1
  30. package/FormSpec.TS/PathwayExecutor.ts.map +1 -1
  31. package/FormSpec.TS/PathwayValidator.js +14 -26
  32. package/FormSpec.TS/PathwayValidator.js.map +1 -1
  33. package/FormSpec.TS/PathwayValidator.ts.map +1 -1
  34. package/FormSpec.TS/Renderers/FormSpecMarkdownRenderer.ts.map +1 -1
  35. package/FormSpec.TS/Renderers/MermaidRenderer.js +8 -5
  36. package/FormSpec.TS/Renderers/MermaidRenderer.js.map +1 -1
  37. package/FormSpec.TS/Renderers/MermaidRenderer.ts.map +1 -1
  38. package/FormSpec.TS/Renderers/PathwayRenderers.js +35 -26
  39. package/FormSpec.TS/Renderers/PathwayRenderers.js.map +1 -1
  40. package/FormSpec.TS/Renderers/PathwayRenderers.ts.map +1 -1
  41. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.js.map +1 -1
  42. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.ts.map +1 -1
  43. package/FormSpec.TS/fable_modules/project_cracked.json +1 -1
  44. package/FormSpec.d.ts +67 -56
  45. package/FormSpec.d.ts.map +1 -1
  46. package/FormSpecHelpers.d.ts +18 -12
  47. package/FormSpecHelpers.d.ts.map +1 -1
  48. package/FormSpecValues.d.ts +62 -0
  49. package/FormSpecValues.d.ts.map +1 -0
  50. package/Helpers.d.ts +11 -10
  51. package/Helpers.d.ts.map +1 -1
  52. package/Interop/FormSpec.Api.Helpers.d.ts +26 -30
  53. package/Interop/FormSpec.Api.Helpers.d.ts.map +1 -1
  54. package/Interop/FormSpec.Api.Option.d.ts +11 -8
  55. package/Interop/FormSpec.Api.Option.d.ts.map +1 -1
  56. package/Interop/FormSpec.Values.Api.Option.d.ts +35 -22
  57. package/Interop/FormSpec.Values.Api.Option.d.ts.map +1 -1
  58. package/PathwayDataExtractor.d.ts +1 -2
  59. package/PathwayDataExtractor.d.ts.map +1 -1
  60. package/PathwayExecutor.d.ts +63 -33
  61. package/PathwayExecutor.d.ts.map +1 -1
  62. package/PathwayValidator.d.ts.map +1 -1
  63. package/README.md +18 -7
  64. package/Renderers/FormSpecMarkdownRenderer.d.ts +3 -2
  65. package/Renderers/FormSpecMarkdownRenderer.d.ts.map +1 -1
  66. package/Renderers/MermaidRenderer.d.ts.map +1 -1
  67. package/Renderers/PathwayRenderers.d.ts.map +1 -1
  68. package/package.json +1 -1
  69. package/src/Designer.ts +2 -2
  70. package/src/FormSpec.ts +145 -109
  71. package/src/FormSpecHelpers.ts +71 -48
  72. package/src/FormSpecValues.ts +158 -0
  73. package/src/Helpers.ts +52 -51
  74. package/src/Interop/FormSpec.Api.Helpers.ts +113 -150
  75. package/src/Interop/FormSpec.Api.Option.ts +37 -23
  76. package/src/Interop/FormSpec.Values.Api.Option.ts +156 -129
  77. package/src/PathwayDataExtractor.ts +6 -17
  78. package/src/PathwayExecutor.ts +431 -154
  79. package/src/PathwayValidator.ts +17 -23
  80. package/src/Renderers/FormSpecMarkdownRenderer.ts +6 -5
  81. package/src/Renderers/MermaidRenderer.ts +19 -16
  82. package/src/Renderers/PathwayRenderers.ts +37 -29
package/src/Helpers.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Values_StepOrder, Shared_FieldValue_Multiple, Shared_FieldValue_Single, Shared_FieldAnswer, Shared_FieldValue_$union, Values_FieldDetails$1, Shared_FieldOption, Spec_FieldType_$union, Spec_FieldType, Spec_FormSpec$1, Spec_FormField$1, Spec_FormStep$1, Shared_FieldKey } from "./FormSpec.js";
1
+ import { Values_StepOrder, Shared_FieldValue_Multiple, Shared_FieldValue_Single, Shared_FieldAnswer, Shared_FieldValue_$union, Shared_FieldOption, Spec_FieldType_$union, Spec_FieldType, Spec_FormSpec$1, Spec_FormField$1, Spec_FormStep$1, Shared_FieldKey } from "./FormSpec.js";
2
2
  import { arrayToGuid, parse } from "@fable-org/fable-library-js/Guid.js";
3
3
  import { toConsole, isNullOrEmpty, trimEnd, trim, isNullOrWhiteSpace } from "@fable-org/fable-library-js/String.js";
4
4
  import { replace } from "@fable-org/fable-library-js/RegExp.js";
@@ -10,6 +10,7 @@ import { splitAt, tryFindIndex, forAll, sortBy, find, insertAt, mapIndexed, sing
10
10
  import { Result_Map, FSharpResult$2_$union, FSharpResult$2_Error, FSharpResult$2_Ok } from "@fable-org/fable-library-js/Result.js";
11
11
  import { List_distinct } from "@fable-org/fable-library-js/Seq2.js";
12
12
  import { map as map_2, tryFind as tryFind_1 } from "@fable-org/fable-library-js/Seq.js";
13
+ import { FieldDetails$1 } from "./FormSpecValues.js";
13
14
  import { FSharpMap__Change, ofList, toList, FSharpMap__get_Count, FSharpMap__get_IsEmpty, FSharpMap__ContainsKey, filter as filter_1, FSharpMap__Add, FSharpMap__Remove, FSharpMap, FSharpMap__get_Item, toSeq } from "@fable-org/fable-library-js/Map.js";
14
15
  import { FSharpSet, empty as empty_1, map as map_3 } from "@fable-org/fable-library-js/Set.js";
15
16
 
@@ -382,7 +383,7 @@ export function Helpers_FormSpecMutators_updateFormFieldInFormSpecStep<UserField
382
383
  else {
383
384
  return s;
384
385
  }
385
- }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
386
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
386
387
  }
387
388
 
388
389
  /**
@@ -396,7 +397,7 @@ export function Helpers_FormSpecMutators_updateFormStepInFormSpec<UserField>(for
396
397
  else {
397
398
  return s;
398
399
  }
399
- }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
400
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
400
401
  }
401
402
 
402
403
  /**
@@ -411,7 +412,7 @@ export function Helpers_FormSpecMutators_addFormFieldToStep<UserField>(formStep:
411
412
  else {
412
413
  return s;
413
414
  }
414
- }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
415
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
415
416
  }
416
417
 
417
418
  /**
@@ -420,19 +421,19 @@ export function Helpers_FormSpecMutators_addFormFieldToStep<UserField>(formStep:
420
421
  export function Helpers_FormSpecMutators_removeFormFieldFromFormSpec<UserField>(formStepOrder: int32, formField: Spec_FormField$1<UserField>, formSpec: Spec_FormSpec$1<UserField>): Spec_FormSpec$1<UserField> {
421
422
  return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, map_1<Spec_FormStep$1<UserField>, Spec_FormStep$1<UserField>>((s: Spec_FormStep$1<UserField>): Spec_FormStep$1<UserField> => {
422
423
  if (s.StepOrder === formStepOrder) {
423
- return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((i: int32, f_1: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(i + 1, f_1.FieldKey, f_1.Label, f_1.Notes, f_1.DependsOn, f_1.IsOptional, f_1.IsDeprecated, f_1.FieldType)), filter<Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): boolean => (f.FieldOrder !== formField.FieldOrder), s.Fields)));
424
+ return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((i: int32, f_1: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(i + 1, f_1.FieldKey, f_1.Label, f_1.Notes, f_1.DependsOn, f_1.IsOptional, f_1.IsDeprecated, f_1.FieldType, f_1.Value)), filter<Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): boolean => (f.FieldOrder !== formField.FieldOrder), s.Fields)));
424
425
  }
425
426
  else {
426
427
  return s;
427
428
  }
428
- }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
429
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
429
430
  }
430
431
 
431
432
  /**
432
433
  * Inserts a form field at a specific position within a step.
433
434
  */
434
435
  export function Helpers_FormSpecMutators_insertFormFieldToStepAt<UserField>(formStep: Spec_FormStep$1<UserField>, newPositionFieldOrder: int32, fieldKey: Shared_FieldKey): FSharpList<Spec_FormField$1<UserField>> {
435
- return mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index_1: int32, f_1: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index_1 + 1, f_1.FieldKey, f_1.Label, f_1.Notes, f_1.DependsOn, f_1.IsOptional, f_1.IsDeprecated, f_1.FieldType)), insertAt<Spec_FormField$1<UserField>>(newPositionFieldOrder - 1, find<Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): boolean => equals(f.FieldKey, fieldKey), formStep.Fields), formStep.Fields));
436
+ return mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index_1: int32, f_1: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index_1 + 1, f_1.FieldKey, f_1.Label, f_1.Notes, f_1.DependsOn, f_1.IsOptional, f_1.IsDeprecated, f_1.FieldType, f_1.Value)), insertAt<Spec_FormField$1<UserField>>(newPositionFieldOrder - 1, find<Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): boolean => equals(f.FieldKey, fieldKey), formStep.Fields), formStep.Fields));
436
437
  }
437
438
 
438
439
  /**
@@ -441,12 +442,12 @@ export function Helpers_FormSpecMutators_insertFormFieldToStepAt<UserField>(form
441
442
  export function Helpers_FormSpecMutators_moveFormFieldUpInFormSpec<UserField>(formStepOrder: int32, formField: Spec_FormField$1<UserField>, formSpec: Spec_FormSpec$1<UserField>): Spec_FormSpec$1<UserField> {
442
443
  return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, map_1<Spec_FormStep$1<UserField>, Spec_FormStep$1<UserField>>((s: Spec_FormStep$1<UserField>): Spec_FormStep$1<UserField> => {
443
444
  if (s.StepOrder === formStepOrder) {
444
- return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index: int32, f_2: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index + 1, f_2.FieldKey, f_2.Label, f_2.Notes, f_2.DependsOn, f_2.IsOptional, f_2.IsDeprecated, f_2.FieldType)), sortBy<Spec_FormField$1<UserField>, int32>((f_1: Spec_FormField$1<UserField>): int32 => f_1.FieldOrder, map_1<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => {
445
+ return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index: int32, f_2: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index + 1, f_2.FieldKey, f_2.Label, f_2.Notes, f_2.DependsOn, f_2.IsOptional, f_2.IsDeprecated, f_2.FieldType, f_2.Value)), sortBy<Spec_FormField$1<UserField>, int32>((f_1: Spec_FormField$1<UserField>): int32 => f_1.FieldOrder, map_1<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => {
445
446
  if (f.FieldOrder === formField.FieldOrder) {
446
- return new Spec_FormField$1(formField.FieldOrder - 1, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType);
447
+ return new Spec_FormField$1(formField.FieldOrder - 1, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType, f.Value);
447
448
  }
448
449
  else if (f.FieldOrder === (formField.FieldOrder - 1)) {
449
- return new Spec_FormField$1(formField.FieldOrder, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType);
450
+ return new Spec_FormField$1(formField.FieldOrder, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType, f.Value);
450
451
  }
451
452
  else {
452
453
  return f;
@@ -458,7 +459,7 @@ export function Helpers_FormSpecMutators_moveFormFieldUpInFormSpec<UserField>(fo
458
459
  else {
459
460
  return s;
460
461
  }
461
- }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
462
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
462
463
  }
463
464
 
464
465
  /**
@@ -467,12 +468,12 @@ export function Helpers_FormSpecMutators_moveFormFieldUpInFormSpec<UserField>(fo
467
468
  export function Helpers_FormSpecMutators_moveFormFieldDownInFormSpec<UserField>(formStepOrder: int32, formField: Spec_FormField$1<UserField>, formSpec: Spec_FormSpec$1<UserField>): Spec_FormSpec$1<UserField> {
468
469
  return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, map_1<Spec_FormStep$1<UserField>, Spec_FormStep$1<UserField>>((s: Spec_FormStep$1<UserField>): Spec_FormStep$1<UserField> => {
469
470
  if (s.StepOrder === formStepOrder) {
470
- return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index: int32, f_2: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index + 1, f_2.FieldKey, f_2.Label, f_2.Notes, f_2.DependsOn, f_2.IsOptional, f_2.IsDeprecated, f_2.FieldType)), sortBy<Spec_FormField$1<UserField>, int32>((f_1: Spec_FormField$1<UserField>): int32 => f_1.FieldOrder, map_1<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => {
471
+ return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index: int32, f_2: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index + 1, f_2.FieldKey, f_2.Label, f_2.Notes, f_2.DependsOn, f_2.IsOptional, f_2.IsDeprecated, f_2.FieldType, f_2.Value)), sortBy<Spec_FormField$1<UserField>, int32>((f_1: Spec_FormField$1<UserField>): int32 => f_1.FieldOrder, map_1<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => {
471
472
  if (f.FieldOrder === formField.FieldOrder) {
472
- return new Spec_FormField$1(formField.FieldOrder + 1, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType);
473
+ return new Spec_FormField$1(formField.FieldOrder + 1, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType, f.Value);
473
474
  }
474
475
  else if (f.FieldOrder === (formField.FieldOrder + 1)) {
475
- return new Spec_FormField$1(formField.FieldOrder, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType);
476
+ return new Spec_FormField$1(formField.FieldOrder, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType, f.Value);
476
477
  }
477
478
  else {
478
479
  return f;
@@ -484,7 +485,7 @@ export function Helpers_FormSpecMutators_moveFormFieldDownInFormSpec<UserField>(
484
485
  else {
485
486
  return s;
486
487
  }
487
- }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
488
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
488
489
  }
489
490
 
490
491
  /**
@@ -496,7 +497,7 @@ export function Helpers_FormSpecMutators_moveFieldByKeyToPositionInFormStepSpec<
496
497
  const formStep_1: Spec_FormStep$1<UserField> = value_1(formStep);
497
498
  return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, map_1<Spec_FormStep$1<UserField>, Spec_FormStep$1<UserField>>((s: Spec_FormStep$1<UserField>): Spec_FormStep$1<UserField> => {
498
499
  if (s.StepOrder === formStep_1.StepOrder) {
499
- return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index_1: int32, f_1: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index_1 + 1, f_1.FieldKey, f_1.Label, f_1.Notes, f_1.DependsOn, f_1.IsOptional, f_1.IsDeprecated, f_1.FieldType)), List_distinct<Spec_FormField$1<UserField>>(insertAt<Spec_FormField$1<UserField>>(newPositionFieldOrder - 1, find<Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): boolean => equals(f.FieldKey, fieldKey), s.Fields), s.Fields), {
500
+ return new Spec_FormStep$1(s.StepOrder, s.StepLabel, mapIndexed<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((index_1: int32, f_1: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1(index_1 + 1, f_1.FieldKey, f_1.Label, f_1.Notes, f_1.DependsOn, f_1.IsOptional, f_1.IsDeprecated, f_1.FieldType, f_1.Value)), List_distinct<Spec_FormField$1<UserField>>(insertAt<Spec_FormField$1<UserField>>(newPositionFieldOrder - 1, find<Spec_FormField$1<UserField>>((f: Spec_FormField$1<UserField>): boolean => equals(f.FieldKey, fieldKey), s.Fields), s.Fields), {
500
501
  Equals: equals,
501
502
  GetHashCode: safeHash,
502
503
  })));
@@ -504,7 +505,7 @@ export function Helpers_FormSpecMutators_moveFieldByKeyToPositionInFormStepSpec<
504
505
  else {
505
506
  return s;
506
507
  }
507
- }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
508
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
508
509
  }
509
510
  else {
510
511
  return formSpec;
@@ -527,7 +528,7 @@ export function Helpers_FormSpecMutators_moveFormStepUpInFormSpec<UserField>(for
527
528
  }
528
529
  }, formSpec.Steps), {
529
530
  Compare: comparePrimitives,
530
- })), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
531
+ })), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
531
532
  }
532
533
 
533
534
  /**
@@ -546,14 +547,14 @@ export function Helpers_FormSpecMutators_moveFormStepDownInFormSpec<UserField>(f
546
547
  }
547
548
  }, formSpec.Steps), {
548
549
  Compare: comparePrimitives,
549
- })), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
550
+ })), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
550
551
  }
551
552
 
552
553
  /**
553
554
  * Removes a form step from a FormSpec.
554
555
  */
555
556
  export function Helpers_FormSpecMutators_removeFormStepFromFormSpec<UserField>(formStepOrder: int32, formSpec: Spec_FormSpec$1<UserField>): Spec_FormSpec$1<UserField> {
556
- return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, mapIndexed<Spec_FormStep$1<UserField>, Spec_FormStep$1<UserField>>((i: int32, s_1: Spec_FormStep$1<UserField>): Spec_FormStep$1<UserField> => (new Spec_FormStep$1(i + 1, s_1.StepLabel, s_1.Fields)), filter<Spec_FormStep$1<UserField>>((s: Spec_FormStep$1<UserField>): boolean => (s.StepOrder !== formStepOrder), formSpec.Steps)), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
557
+ return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, mapIndexed<Spec_FormStep$1<UserField>, Spec_FormStep$1<UserField>>((i: int32, s_1: Spec_FormStep$1<UserField>): Spec_FormStep$1<UserField> => (new Spec_FormStep$1(i + 1, s_1.StepLabel, s_1.Fields)), filter<Spec_FormStep$1<UserField>>((s: Spec_FormStep$1<UserField>): boolean => (s.StepOrder !== formStepOrder), formSpec.Steps)), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
557
558
  }
558
559
 
559
560
  /**
@@ -568,7 +569,7 @@ export function Helpers_FormSpecTransformers_flattenSpecSteps<UserField>(formSpe
568
569
  if (!isEmpty(steps)) {
569
570
  const step: Spec_FormStep$1<UserField> = head(steps);
570
571
  steps_mut = tail(steps);
571
- acc_mut = append(acc, map_1<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((field: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1((step.StepOrder * 1000) + field.FieldOrder, field.FieldKey, field.Label, field.Notes, field.DependsOn, field.IsOptional, field.IsDeprecated, field.FieldType)), step.Fields));
572
+ acc_mut = append(acc, map_1<Spec_FormField$1<UserField>, Spec_FormField$1<UserField>>((field: Spec_FormField$1<UserField>): Spec_FormField$1<UserField> => (new Spec_FormField$1((step.StepOrder * 1000) + field.FieldOrder, field.FieldKey, field.Label, field.Notes, field.DependsOn, field.IsOptional, field.IsDeprecated, field.FieldType, field.Value)), step.Fields));
572
573
  continue flatten;
573
574
  }
574
575
  else {
@@ -577,7 +578,7 @@ export function Helpers_FormSpecTransformers_flattenSpecSteps<UserField>(formSpe
577
578
  break;
578
579
  }
579
580
  };
580
- return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, singleton(new Spec_FormStep$1(1, "Complete Form", flatten(formSpec.Steps, empty<Spec_FormField$1<UserField>>()))), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
581
+ return new Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, singleton(new Spec_FormStep$1(1, "Complete Form", flatten(formSpec.Steps, empty<Spec_FormField$1<UserField>>()))), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway, formSpec.Lifecycle, formSpec.FilledMeta);
581
582
  }
582
583
 
583
584
  /**
@@ -595,7 +596,7 @@ export function Helpers_FormSpecValidators_hasClinicalPathway<UserField>(formSpe
595
596
  }
596
597
 
597
598
  export function Helpers_specFieldOptionsToValueOptions(options: FSharpList<Shared_FieldOption>): FSharpList<Shared_FieldOption> {
598
- return map_1<Shared_FieldOption, Shared_FieldOption>((o: Shared_FieldOption): Shared_FieldOption => (new Shared_FieldOption(o.Description, o.Value, o.OptionKey)), options);
599
+ return map_1<Shared_FieldOption, Shared_FieldOption>((o: Shared_FieldOption): Shared_FieldOption => (new Shared_FieldOption(o.Description, o.Value, o.OptionKey, o.Score)), options);
599
600
  }
600
601
 
601
602
  export function Helpers_optionsFromSpecField(field: Spec_FormField$1<Spec_FieldType_$union>): FSharpList<Shared_FieldOption> {
@@ -624,8 +625,8 @@ export function Helpers_optionsFromSpecField(field: Spec_FormField$1<Spec_FieldT
624
625
  }
625
626
  }
626
627
 
627
- export function Helpers_readValue<FieldType>(field: Spec_FormField$1<FieldType>, values: FSharpMap<Shared_FieldKey, Values_FieldDetails$1<FieldType>>): string {
628
- const matchValue: Option<Shared_FieldKey> = tryFind_1<Shared_FieldKey>((k: Shared_FieldKey): boolean => equals(k, field.FieldKey), map_2<[Shared_FieldKey, Values_FieldDetails$1<FieldType>], Shared_FieldKey>((tuple: [Shared_FieldKey, Values_FieldDetails$1<FieldType>]): Shared_FieldKey => tuple[0], toSeq<Shared_FieldKey, Values_FieldDetails$1<FieldType>>(values)));
628
+ export function Helpers_readValue<FieldType>(field: Spec_FormField$1<FieldType>, values: FSharpMap<Shared_FieldKey, FieldDetails$1<FieldType>>): string {
629
+ const matchValue: Option<Shared_FieldKey> = tryFind_1<Shared_FieldKey>((k: Shared_FieldKey): boolean => equals(k, field.FieldKey), map_2<[Shared_FieldKey, FieldDetails$1<FieldType>], Shared_FieldKey>((tuple: [Shared_FieldKey, FieldDetails$1<FieldType>]): Shared_FieldKey => tuple[0], toSeq<Shared_FieldKey, FieldDetails$1<FieldType>>(values)));
629
630
  if (matchValue != null) {
630
631
  const matchValue_1: Shared_FieldValue_$union = FSharpMap__get_Item(values, value_1(matchValue)).FieldValue;
631
632
  if (matchValue_1.tag === /* Single */ 0) {
@@ -640,8 +641,8 @@ export function Helpers_readValue<FieldType>(field: Spec_FormField$1<FieldType>,
640
641
  }
641
642
  }
642
643
 
643
- export function Helpers_readManyValue<FieldType>(fieldKey: Shared_FieldKey, values: FSharpMap<Shared_FieldKey, Values_FieldDetails$1<FieldType>>): FSharpSet<string> {
644
- const matchValue: Option<Shared_FieldKey> = tryFind_1<Shared_FieldKey>((k: Shared_FieldKey): boolean => equals(k, fieldKey), map_2<[Shared_FieldKey, Values_FieldDetails$1<FieldType>], Shared_FieldKey>((tuple: [Shared_FieldKey, Values_FieldDetails$1<FieldType>]): Shared_FieldKey => tuple[0], toSeq<Shared_FieldKey, Values_FieldDetails$1<FieldType>>(values)));
644
+ export function Helpers_readManyValue<FieldType>(fieldKey: Shared_FieldKey, values: FSharpMap<Shared_FieldKey, FieldDetails$1<FieldType>>): FSharpSet<string> {
645
+ const matchValue: Option<Shared_FieldKey> = tryFind_1<Shared_FieldKey>((k: Shared_FieldKey): boolean => equals(k, fieldKey), map_2<[Shared_FieldKey, FieldDetails$1<FieldType>], Shared_FieldKey>((tuple: [Shared_FieldKey, FieldDetails$1<FieldType>]): Shared_FieldKey => tuple[0], toSeq<Shared_FieldKey, FieldDetails$1<FieldType>>(values)));
645
646
  if (matchValue != null) {
646
647
  const matchValue_1: Shared_FieldValue_$union = FSharpMap__get_Item(values, value_1(matchValue)).FieldValue;
647
648
  if (matchValue_1.tag === /* Multiple */ 1) {
@@ -662,14 +663,14 @@ export function Helpers_readManyValue<FieldType>(fieldKey: Shared_FieldKey, valu
662
663
  }
663
664
  }
664
665
 
665
- export function Helpers_updateSingleFunc(formatter: ((arg0: string) => string), specField: Spec_FormField$1<Spec_FieldType_$union>, newValue: string, values: FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>): FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>> {
666
+ export function Helpers_updateSingleFunc(formatter: ((arg0: string) => string), specField: Spec_FormField$1<Spec_FieldType_$union>, newValue: string, values: FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>): FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>> {
666
667
  let Value: string, matchValue: Option<Shared_FieldOption>;
667
668
  const fieldOptions: FSharpList<Shared_FieldOption> = Helpers_optionsFromSpecField(specField);
668
- const newFieldDetails: Values_FieldDetails$1<Spec_FieldType_$union> = new Values_FieldDetails$1(specField.FieldOrder, specField.FieldKey, specField.Label, Shared_FieldValue_Single((Value = formatter(newValue), new Shared_FieldAnswer(specField.FieldKey, (matchValue = tryFind<Shared_FieldOption>((o: Shared_FieldOption): boolean => (o.Value === newValue), fieldOptions), (matchValue == null) ? newValue : value_1(matchValue).Description), Value))), specField.FieldType, Helpers_specFieldOptionsToValueOptions(fieldOptions));
669
- const matchValue_1: Option<Shared_FieldKey> = tryFind_1<Shared_FieldKey>((k: Shared_FieldKey): boolean => equals(k, newFieldDetails.Key), map_2<[Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>], Shared_FieldKey>((tuple: [Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>]): Shared_FieldKey => tuple[0], toSeq<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>(values)));
669
+ const newFieldDetails: FieldDetails$1<Spec_FieldType_$union> = new FieldDetails$1(specField.FieldOrder, specField.FieldKey, specField.Label, Shared_FieldValue_Single((Value = formatter(newValue), new Shared_FieldAnswer(specField.FieldKey, (matchValue = tryFind<Shared_FieldOption>((o: Shared_FieldOption): boolean => (o.Value === newValue), fieldOptions), (matchValue == null) ? newValue : value_1(matchValue).Description), Value))), specField.FieldType, Helpers_specFieldOptionsToValueOptions(fieldOptions));
670
+ const matchValue_1: Option<Shared_FieldKey> = tryFind_1<Shared_FieldKey>((k: Shared_FieldKey): boolean => equals(k, newFieldDetails.Key), map_2<[Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>], Shared_FieldKey>((tuple: [Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>]): Shared_FieldKey => tuple[0], toSeq<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>(values)));
670
671
  if (matchValue_1 != null) {
671
672
  const key: Shared_FieldKey = value_1(matchValue_1);
672
- const f: FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>> = FSharpMap__Remove(values, key);
673
+ const f: FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>> = FSharpMap__Remove(values, key);
673
674
  return FSharpMap__Add(values, key, newFieldDetails);
674
675
  }
675
676
  else {
@@ -677,15 +678,15 @@ export function Helpers_updateSingleFunc(formatter: ((arg0: string) => string),
677
678
  }
678
679
  }
679
680
 
680
- export function Helpers_updateManyFunc(formatter: ((arg0: string) => string), specField: Spec_FormField$1<Spec_FieldType_$union>, newValue: FSharpSet<string>, values: FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>): FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>> {
681
- const newFieldDetails: Values_FieldDetails$1<Spec_FieldType_$union> = new Values_FieldDetails$1(specField.FieldOrder, specField.FieldKey, specField.Label, Shared_FieldValue_Multiple(map_3<string, Shared_FieldAnswer>((v: string): Shared_FieldAnswer => {
681
+ export function Helpers_updateManyFunc(formatter: ((arg0: string) => string), specField: Spec_FormField$1<Spec_FieldType_$union>, newValue: FSharpSet<string>, values: FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>): FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>> {
682
+ const newFieldDetails: FieldDetails$1<Spec_FieldType_$union> = new FieldDetails$1(specField.FieldOrder, specField.FieldKey, specField.Label, Shared_FieldValue_Multiple(map_3<string, Shared_FieldAnswer>((v: string): Shared_FieldAnswer => {
682
683
  let matchValue: Option<Shared_FieldOption>;
683
684
  const Value: string = formatter(v);
684
685
  return new Shared_FieldAnswer(specField.FieldKey, (matchValue = tryFind<Shared_FieldOption>((o: Shared_FieldOption): boolean => (o.Value === v), Helpers_optionsFromSpecField(specField)), (matchValue == null) ? v : value_1(matchValue).Description), Value);
685
686
  }, newValue, {
686
687
  Compare: compare,
687
688
  })), specField.FieldType, Helpers_specFieldOptionsToValueOptions(Helpers_optionsFromSpecField(specField)));
688
- const matchValue_1: Option<Shared_FieldKey> = tryFind_1<Shared_FieldKey>((k: Shared_FieldKey): boolean => equals(k, newFieldDetails.Key), map_2<[Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>], Shared_FieldKey>((tuple: [Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>]): Shared_FieldKey => tuple[0], toSeq<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>(values)));
689
+ const matchValue_1: Option<Shared_FieldKey> = tryFind_1<Shared_FieldKey>((k: Shared_FieldKey): boolean => equals(k, newFieldDetails.Key), map_2<[Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>], Shared_FieldKey>((tuple: [Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>]): Shared_FieldKey => tuple[0], toSeq<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>(values)));
689
690
  if (matchValue_1 != null) {
690
691
  const key: Shared_FieldKey = value_1(matchValue_1);
691
692
  return FSharpMap__Add(FSharpMap__Remove(values, newFieldDetails.Key), newFieldDetails.Key, newFieldDetails);
@@ -697,13 +698,13 @@ export function Helpers_updateManyFunc(formatter: ((arg0: string) => string), sp
697
698
 
698
699
  /**
699
700
  * It adds OR updates a form field's value based on its type
700
- * Returns the updated DynamicStepValues
701
+ * Returns the updated ResultStepValues
701
702
  */
702
- export function Helpers_updateFormFieldValue(field: Spec_FormField$1<Spec_FieldType_$union>, newValue: any, values: FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>): FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>> {
703
- const newFieldDetails: Values_FieldDetails$1<Spec_FieldType_$union> = new Values_FieldDetails$1(field.FieldOrder, field.FieldKey, field.Label, (() => {
703
+ export function Helpers_updateFormFieldValue(field: Spec_FormField$1<Spec_FieldType_$union>, newValue: any, values: FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>): FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>> {
704
+ const newFieldDetails: FieldDetails$1<Spec_FieldType_$union> = new FieldDetails$1(field.FieldOrder, field.FieldKey, field.Label, (() => {
704
705
  throw new Error("updateFormFieldValue: Field type handling not implemented.");
705
706
  })(), field.FieldType, Helpers_specFieldOptionsToValueOptions(Helpers_optionsFromSpecField(field)));
706
- const matchValue_1: Option<Shared_FieldKey> = tryFind_1<Shared_FieldKey>((k: Shared_FieldKey): boolean => equals(k, newFieldDetails.Key), map_2<[Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>], Shared_FieldKey>((tuple: [Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>]): Shared_FieldKey => tuple[0], toSeq<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>(values)));
707
+ const matchValue_1: Option<Shared_FieldKey> = tryFind_1<Shared_FieldKey>((k: Shared_FieldKey): boolean => equals(k, newFieldDetails.Key), map_2<[Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>], Shared_FieldKey>((tuple: [Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>]): Shared_FieldKey => tuple[0], toSeq<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>(values)));
707
708
  if (matchValue_1 != null) {
708
709
  const key: Shared_FieldKey = value_1(matchValue_1);
709
710
  return FSharpMap__Add(FSharpMap__Remove(values, key), key, newFieldDetails);
@@ -717,20 +718,20 @@ export function Helpers_updateFormFieldValue(field: Spec_FormField$1<Spec_FieldT
717
718
  * Updates a form's values with a new field value
718
719
  * Returns the updated form
719
720
  */
720
- export function Helpers_updateFormValuesWithField<T>(fieldKeyAndValue_: Shared_FieldKey, fieldKeyAndValue__1: Values_FieldDetails$1<Spec_FieldType_$union>, form: T, getSteps: ((arg0: T) => FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>>), setSteps: ((arg0: FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>>, arg1: T) => T)): T {
721
- let patternInput: [FSharpList<[Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>]>, FSharpList<[Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>]>];
722
- const fieldKeyAndValue = [fieldKeyAndValue_, fieldKeyAndValue__1] as [Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>];
721
+ export function Helpers_updateFormValuesWithField<T>(fieldKeyAndValue_: Shared_FieldKey, fieldKeyAndValue__1: FieldDetails$1<Spec_FieldType_$union>, form: T, getSteps: ((arg0: T) => FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>>), setSteps: ((arg0: FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>>, arg1: T) => T)): T {
722
+ let patternInput: [FSharpList<[Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>]>, FSharpList<[Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>]>];
723
+ const fieldKeyAndValue = [fieldKeyAndValue_, fieldKeyAndValue__1] as [Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>];
723
724
  let stepOrderResult: FSharpResult$2_$union<Values_StepOrder, string>;
724
- const filteredFormSteps: FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>> = filter_1<Values_StepOrder, FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>>((_arg: Values_StepOrder, fieldValues: FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>): boolean => FSharpMap__ContainsKey(fieldValues, fieldKeyAndValue[0]), getSteps(form));
725
- stepOrderResult = (FSharpMap__get_IsEmpty(filteredFormSteps) ? FSharpResult$2_Error<Values_StepOrder, string>("No fields found") : ((FSharpMap__get_Count(filteredFormSteps) > 1) ? FSharpResult$2_Error<Values_StepOrder, string>("More than one field found") : FSharpResult$2_Ok<Values_StepOrder, string>(head<[Values_StepOrder, FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>]>(toList<Values_StepOrder, FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>>(filteredFormSteps))[0])));
725
+ const filteredFormSteps: FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>> = filter_1<Values_StepOrder, FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>>((_arg: Values_StepOrder, fieldValues: FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>): boolean => FSharpMap__ContainsKey(fieldValues, fieldKeyAndValue[0]), getSteps(form));
726
+ stepOrderResult = (FSharpMap__get_IsEmpty(filteredFormSteps) ? FSharpResult$2_Error<Values_StepOrder, string>("No fields found") : ((FSharpMap__get_Count(filteredFormSteps) > 1) ? FSharpResult$2_Error<Values_StepOrder, string>("More than one field found") : FSharpResult$2_Ok<Values_StepOrder, string>(head<[Values_StepOrder, FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>]>(toList<Values_StepOrder, FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>>(filteredFormSteps))[0])));
726
727
  if (stepOrderResult.tag === /* Ok */ 0) {
727
728
  const stepOrd: Values_StepOrder = stepOrderResult.fields[0];
728
- const foundStepValues: FSharpList<[Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>]> = toList<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>(FSharpMap__get_Item(getSteps(form), stepOrd));
729
- const foundField: Option<int32> = tryFindIndex<[Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>]>((tupledArg_1: [Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>]): boolean => equals(tupledArg_1[0], fieldKeyAndValue[0]), foundStepValues);
730
- const dynamicStepValues: FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>> = ofList<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>(append<[Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>]>(singleton(fieldKeyAndValue), (foundField == null) ? foundStepValues : ((patternInput = splitAt<[Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>]>(value_1(foundField), foundStepValues), append(patternInput[0], tail<[Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>]>(patternInput[1]))))), {
729
+ const foundStepValues: FSharpList<[Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>]> = toList<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>(FSharpMap__get_Item(getSteps(form), stepOrd));
730
+ const foundField: Option<int32> = tryFindIndex<[Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>]>((tupledArg_1: [Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>]): boolean => equals(tupledArg_1[0], fieldKeyAndValue[0]), foundStepValues);
731
+ const dynamicStepValues: FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>> = ofList<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>(append<[Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>]>(singleton(fieldKeyAndValue), (foundField == null) ? foundStepValues : ((patternInput = splitAt<[Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>]>(value_1(foundField), foundStepValues), append(patternInput[0], tail<[Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>]>(patternInput[1]))))), {
731
732
  Compare: compare,
732
733
  });
733
- return setSteps(FSharpMap__Change(getSteps(form), stepOrd, (_arg_3: Option<FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>>): Option<FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>> => dynamicStepValues), form);
734
+ return setSteps(FSharpMap__Change(getSteps(form), stepOrd, (_arg_3: Option<FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>>): Option<FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>> => dynamicStepValues), form);
734
735
  }
735
736
  else {
736
737
  toConsole(`ERROR updating value: ${stepOrderResult.fields[0]}`);
@@ -742,10 +743,10 @@ export function Helpers_updateFormValuesWithField<T>(fieldKeyAndValue_: Shared_F
742
743
  * Finds and updates a form field's value by its label string in a specific step
743
744
  * Returns Ok with the updated form if successful, Error otherwise
744
745
  */
745
- export function Helpers_findAndUpdateFormField<T>(label: string, stepNumber: int32, newValue: any, formSpec: Spec_FormSpec$1<Spec_FieldType_$union>, form: T, getSteps: ((arg0: T) => FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>>), setSteps: ((arg0: FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>>, arg1: T) => T)): FSharpResult$2_$union<T, string> {
746
+ export function Helpers_findAndUpdateFormField<T>(label: string, stepNumber: int32, newValue: any, formSpec: Spec_FormSpec$1<Spec_FieldType_$union>, form: T, getSteps: ((arg0: T) => FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>>), setSteps: ((arg0: FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>>, arg1: T) => T)): FSharpResult$2_$union<T, string> {
746
747
  return Result_Map<[Spec_FormStep$1<Spec_FieldType_$union>, Spec_FormField$1<Spec_FieldType_$union>], T, string>((tupledArg: [Spec_FormStep$1<Spec_FieldType_$union>, Spec_FormField$1<Spec_FieldType_$union>]): T => {
747
748
  const field: Spec_FormField$1<Spec_FieldType_$union> = tupledArg[1];
748
- const fieldKeyAndValue = [field.FieldKey, FSharpMap__get_Item(Helpers_updateFormFieldValue(field, newValue, FSharpMap__get_Item(getSteps(form), new Values_StepOrder(tupledArg[0].StepOrder))), field.FieldKey)] as [Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>];
749
+ const fieldKeyAndValue = [field.FieldKey, FSharpMap__get_Item(Helpers_updateFormFieldValue(field, newValue, FSharpMap__get_Item(getSteps(form), new Values_StepOrder(tupledArg[0].StepOrder))), field.FieldKey)] as [Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>];
749
750
  return Helpers_updateFormValuesWithField<T>(fieldKeyAndValue[0], fieldKeyAndValue[1], form, getSteps, setSteps);
750
751
  }, Helpers_FieldFinders_findUniqueFormFieldInStepByLabelString<Spec_FieldType_$union>(label, stepNumber, formSpec));
751
752
  }
@@ -754,10 +755,10 @@ export function Helpers_findAndUpdateFormField<T>(label: string, stepNumber: int
754
755
  * Finds and updates a form field's value by its label string across all steps
755
756
  * Returns Ok with the updated form if successful, Error otherwise
756
757
  */
757
- export function Helpers_findAndUpdateFormFieldInAnyStep<T>(label: string, newValue: any, formSpec: Spec_FormSpec$1<Spec_FieldType_$union>, form: T, getSteps: ((arg0: T) => FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>>), setSteps: ((arg0: FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>>>, arg1: T) => T)): FSharpResult$2_$union<T, string> {
758
+ export function Helpers_findAndUpdateFormFieldInAnyStep<T>(label: string, newValue: any, formSpec: Spec_FormSpec$1<Spec_FieldType_$union>, form: T, getSteps: ((arg0: T) => FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>>), setSteps: ((arg0: FSharpMap<Values_StepOrder, FSharpMap<Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>>>, arg1: T) => T)): FSharpResult$2_$union<T, string> {
758
759
  return Result_Map<[Spec_FormStep$1<Spec_FieldType_$union>, Spec_FormField$1<Spec_FieldType_$union>], T, string>((tupledArg: [Spec_FormStep$1<Spec_FieldType_$union>, Spec_FormField$1<Spec_FieldType_$union>]): T => {
759
760
  const field: Spec_FormField$1<Spec_FieldType_$union> = tupledArg[1];
760
- const fieldKeyAndValue = [field.FieldKey, FSharpMap__get_Item(Helpers_updateFormFieldValue(field, newValue, FSharpMap__get_Item(getSteps(form), new Values_StepOrder(tupledArg[0].StepOrder))), field.FieldKey)] as [Shared_FieldKey, Values_FieldDetails$1<Spec_FieldType_$union>];
761
+ const fieldKeyAndValue = [field.FieldKey, FSharpMap__get_Item(Helpers_updateFormFieldValue(field, newValue, FSharpMap__get_Item(getSteps(form), new Values_StepOrder(tupledArg[0].StepOrder))), field.FieldKey)] as [Shared_FieldKey, FieldDetails$1<Spec_FieldType_$union>];
761
762
  return Helpers_updateFormValuesWithField<T>(fieldKeyAndValue[0], fieldKeyAndValue[1], form, getSteps, setSteps);
762
763
  }, Helpers_FieldFinders_findUniqueFormFieldInFormByLabelString<Spec_FieldType_$union>(label, formSpec));
763
764
  }