@f1studio/form-spec 5.0.0-alpha.101

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 (225) hide show
  1. package/Designer.d.ts +89 -0
  2. package/FormSpec.TS/Components/HelloComponent.js +68 -0
  3. package/FormSpec.TS/Components/HelloComponent.js.map +1 -0
  4. package/FormSpec.TS/Components/HelloComponent.ts.map +1 -0
  5. package/FormSpec.TS/Designer.js +526 -0
  6. package/FormSpec.TS/Designer.js.map +1 -0
  7. package/FormSpec.TS/Designer.ts.map +1 -0
  8. package/FormSpec.TS/FormSpec.js +5400 -0
  9. package/FormSpec.TS/FormSpec.js.map +1 -0
  10. package/FormSpec.TS/FormSpec.ts.map +1 -0
  11. package/FormSpec.TS/FormSpecHelpers.js +382 -0
  12. package/FormSpec.TS/FormSpecHelpers.js.map +1 -0
  13. package/FormSpec.TS/FormSpecHelpers.ts.map +1 -0
  14. package/FormSpec.TS/Helpers.js +732 -0
  15. package/FormSpec.TS/Helpers.js.map +1 -0
  16. package/FormSpec.TS/Helpers.ts.map +1 -0
  17. package/FormSpec.TS/Interfaces.js +257 -0
  18. package/FormSpec.TS/Interfaces.js.map +1 -0
  19. package/FormSpec.TS/Interfaces.ts.map +1 -0
  20. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.js +854 -0
  21. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.js.map +1 -0
  22. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.ts.map +1 -0
  23. package/FormSpec.TS/Interop/FormSpec.Api.Option.js +1961 -0
  24. package/FormSpec.TS/Interop/FormSpec.Api.Option.js.map +1 -0
  25. package/FormSpec.TS/Interop/FormSpec.Api.Option.ts.map +1 -0
  26. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.js +1367 -0
  27. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.js.map +1 -0
  28. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.ts.map +1 -0
  29. package/FormSpec.TS/Logging/LogTypes.js +347 -0
  30. package/FormSpec.TS/Logging/LogTypes.js.map +1 -0
  31. package/FormSpec.TS/Logging/LogTypes.ts.map +1 -0
  32. package/FormSpec.TS/Migrator.js +230 -0
  33. package/FormSpec.TS/Migrator.js.map +1 -0
  34. package/FormSpec.TS/Migrator.ts.map +1 -0
  35. package/FormSpec.TS/PathwayDataExtractor.js +361 -0
  36. package/FormSpec.TS/PathwayDataExtractor.js.map +1 -0
  37. package/FormSpec.TS/PathwayDataExtractor.ts.map +1 -0
  38. package/FormSpec.TS/PathwayExecutor.js +1321 -0
  39. package/FormSpec.TS/PathwayExecutor.js.map +1 -0
  40. package/FormSpec.TS/PathwayExecutor.ts.map +1 -0
  41. package/FormSpec.TS/PathwayValidator.js +346 -0
  42. package/FormSpec.TS/PathwayValidator.js.map +1 -0
  43. package/FormSpec.TS/PathwayValidator.ts.map +1 -0
  44. package/FormSpec.TS/PluginInterface.js +171 -0
  45. package/FormSpec.TS/PluginInterface.js.map +1 -0
  46. package/FormSpec.TS/PluginInterface.ts.map +1 -0
  47. package/FormSpec.TS/Prelude.js +59 -0
  48. package/FormSpec.TS/Prelude.js.map +1 -0
  49. package/FormSpec.TS/Prelude.ts.map +1 -0
  50. package/FormSpec.TS/Renderers/FormSpecMarkdownRenderer.js +958 -0
  51. package/FormSpec.TS/Renderers/FormSpecMarkdownRenderer.js.map +1 -0
  52. package/FormSpec.TS/Renderers/FormSpecMarkdownRenderer.ts.map +1 -0
  53. package/FormSpec.TS/Renderers/MermaidRenderer.js +228 -0
  54. package/FormSpec.TS/Renderers/MermaidRenderer.js.map +1 -0
  55. package/FormSpec.TS/Renderers/MermaidRenderer.ts.map +1 -0
  56. package/FormSpec.TS/Renderers/PathwayRenderers.js +190 -0
  57. package/FormSpec.TS/Renderers/PathwayRenderers.js.map +1 -0
  58. package/FormSpec.TS/Renderers/PathwayRenderers.ts.map +1 -0
  59. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Base.fs +511 -0
  60. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Base.fs.js +437 -0
  61. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Base.fs.js.map +1 -0
  62. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Base.fs.ts.map +1 -0
  63. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Error.fs +16 -0
  64. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Error.fs.js +73 -0
  65. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Error.fs.js.map +1 -0
  66. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Error.fs.ts.map +1 -0
  67. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Extensions.fs +50 -0
  68. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Extensions.fs.js +72 -0
  69. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Extensions.fs.js.map +1 -0
  70. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Extensions.fs.ts.map +1 -0
  71. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Fable.Form.fableproj +28 -0
  72. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Field.fs +24 -0
  73. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Field.fs.js +56 -0
  74. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Field.fs.js.map +1 -0
  75. package/FormSpec.TS/fable_modules/Fable.Form.3.0.0/Field.fs.ts.map +1 -0
  76. package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Fable.Form.Simple.fableproj +31 -0
  77. package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Form.fs +178 -0
  78. package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.js +464 -0
  79. package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.js.map +1 -0
  80. package/FormSpec.TS/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.ts.map +1 -0
  81. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Extensions.fs +17 -0
  82. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Hooks.fs +152 -0
  83. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Hooks.fs.js +25 -0
  84. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Hooks.fs.js.map +1 -0
  85. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Hooks.fs.ts.map +1 -0
  86. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.Types.fableproj +28 -0
  87. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs +218 -0
  88. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.js +37 -0
  89. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.js.map +1 -0
  90. package/FormSpec.TS/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.ts.map +1 -0
  91. package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.Types.fableproj +27 -0
  92. package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs +82 -0
  93. package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs.js +7 -0
  94. package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs.js.map +1 -0
  95. package/FormSpec.TS/fable_modules/Fable.ReactDom.Types.18.2.0/Fable.ReactDom.fs.ts.map +1 -0
  96. package/FormSpec.TS/fable_modules/Feliz.2.7.0/BorderStyle.fs +59 -0
  97. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Colors.fs +154 -0
  98. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Colors.fs.js +32 -0
  99. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Colors.fs.js.map +1 -0
  100. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Colors.fs.ts.map +1 -0
  101. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Feliz.fableproj +42 -0
  102. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Fonts.fs +240 -0
  103. package/FormSpec.TS/fable_modules/Feliz.2.7.0/GridTypes.fs +24 -0
  104. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Html.fs +826 -0
  105. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs +83 -0
  106. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs.js +292 -0
  107. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs.js.map +1 -0
  108. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs.ts.map +1 -0
  109. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Key.fs +65 -0
  110. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Key.fs.js +229 -0
  111. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Key.fs.js.map +1 -0
  112. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Key.fs.ts.map +1 -0
  113. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Length.fs +91 -0
  114. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Locale.fs +876 -0
  115. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Properties.fs +4080 -0
  116. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Properties.fs.js +133 -0
  117. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Properties.fs.js.map +1 -0
  118. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Properties.fs.ts.map +1 -0
  119. package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs +656 -0
  120. package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs.js +561 -0
  121. package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs.js.map +1 -0
  122. package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs.ts.map +1 -0
  123. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactDOM.fs +25 -0
  124. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactDOM.fs.js +46 -0
  125. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactDOM.fs.js.map +1 -0
  126. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactDOM.fs.ts.map +1 -0
  127. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactInterop.js +63 -0
  128. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactInterop.js.map +1 -0
  129. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactTypes.fs +41 -0
  130. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactTypes.fs.js +7 -0
  131. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactTypes.fs.js.map +1 -0
  132. package/FormSpec.TS/fable_modules/Feliz.2.7.0/ReactTypes.fs.ts.map +1 -0
  133. package/FormSpec.TS/fable_modules/Feliz.2.7.0/StyleTypes.fs +53 -0
  134. package/FormSpec.TS/fable_modules/Feliz.2.7.0/StyleTypes.fs.js +7 -0
  135. package/FormSpec.TS/fable_modules/Feliz.2.7.0/StyleTypes.fs.js.map +1 -0
  136. package/FormSpec.TS/fable_modules/Feliz.2.7.0/StyleTypes.fs.ts.map +1 -0
  137. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Styles.fs +5740 -0
  138. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Svg.fs +1455 -0
  139. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Svg.fs.js +39 -0
  140. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Svg.fs.js.map +1 -0
  141. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Svg.fs.ts.map +1 -0
  142. package/FormSpec.TS/fable_modules/Feliz.2.7.0/TextDecorationLine.fs +13 -0
  143. package/FormSpec.TS/fable_modules/Feliz.2.7.0/TextDecorationStyle.fs +33 -0
  144. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Transform.fs +181 -0
  145. package/FormSpec.TS/fable_modules/Feliz.2.7.0/TransformOrigin.fs +17 -0
  146. package/FormSpec.TS/fable_modules/Feliz.2.7.0/TransitionProperty.fs +162 -0
  147. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Types.fs +13 -0
  148. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Types.fs.js +7 -0
  149. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Types.fs.js.map +1 -0
  150. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Types.fs.ts.map +1 -0
  151. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Decode.fs +1768 -0
  152. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Decode.fs.js +2337 -0
  153. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Decode.fs.js.map +1 -0
  154. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Decode.fs.ts.map +1 -0
  155. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs +811 -0
  156. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.js +465 -0
  157. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.js.map +1 -0
  158. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.ts.map +1 -0
  159. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Extra.fs +47 -0
  160. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Extra.fs.js +18 -0
  161. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Extra.fs.js.map +1 -0
  162. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Extra.fs.ts.map +1 -0
  163. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Thoth.Json.fableproj +34 -0
  164. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Types.fs +68 -0
  165. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Types.fs.js +355 -0
  166. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Types.fs.js.map +1 -0
  167. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Types.fs.ts.map +1 -0
  168. package/FormSpec.TS/fable_modules/project_cracked.json +1 -0
  169. package/FormSpec.d.ts +1257 -0
  170. package/FormSpecHelpers.d.ts +50 -0
  171. package/Helpers.d.ts +147 -0
  172. package/Interfaces.d.ts +70 -0
  173. package/Interop/FormSpec.Api.Helpers.d.ts +247 -0
  174. package/Interop/FormSpec.Api.Helpers.d.ts.map +1 -0
  175. package/Interop/FormSpec.Api.Option.d.ts +384 -0
  176. package/Interop/FormSpec.Api.Option.d.ts.map +1 -0
  177. package/Interop/FormSpec.Values.Api.Option.d.ts +324 -0
  178. package/Interop/FormSpec.Values.Api.Option.d.ts.map +1 -0
  179. package/Migrator.d.ts +59 -0
  180. package/PathwayDataExtractor.d.ts +19 -0
  181. package/PathwayExecutor.d.ts +210 -0
  182. package/PathwayValidator.d.ts +52 -0
  183. package/PluginInterface.d.ts +36 -0
  184. package/Prelude.d.ts +11 -0
  185. package/README.TS.md +622 -0
  186. package/README.md +85 -0
  187. package/package.json +39 -0
  188. package/src/Components/HelloComponent.ts +48 -0
  189. package/src/Components/HelloComponent.ts.map +1 -0
  190. package/src/Designer.ts +389 -0
  191. package/src/Designer.ts.map +1 -0
  192. package/src/FormSpec.ts +3114 -0
  193. package/src/FormSpec.ts.map +1 -0
  194. package/src/FormSpecHelpers.ts +374 -0
  195. package/src/FormSpecHelpers.ts.map +1 -0
  196. package/src/Helpers.ts +765 -0
  197. package/src/Helpers.ts.map +1 -0
  198. package/src/Interfaces.ts +166 -0
  199. package/src/Interfaces.ts.map +1 -0
  200. package/src/Interop/FormSpec.Api.Helpers.ts +872 -0
  201. package/src/Interop/FormSpec.Api.Helpers.ts.map +1 -0
  202. package/src/Interop/FormSpec.Api.Option.ts +1618 -0
  203. package/src/Interop/FormSpec.Api.Option.ts.map +1 -0
  204. package/src/Interop/FormSpec.Values.Api.Option.ts +1214 -0
  205. package/src/Interop/FormSpec.Values.Api.Option.ts.map +1 -0
  206. package/src/Logging/LogTypes.ts +212 -0
  207. package/src/Logging/LogTypes.ts.map +1 -0
  208. package/src/Migrator.ts +156 -0
  209. package/src/Migrator.ts.map +1 -0
  210. package/src/PathwayDataExtractor.ts +290 -0
  211. package/src/PathwayDataExtractor.ts.map +1 -0
  212. package/src/PathwayExecutor.ts +1102 -0
  213. package/src/PathwayExecutor.ts.map +1 -0
  214. package/src/PathwayValidator.ts +244 -0
  215. package/src/PathwayValidator.ts.map +1 -0
  216. package/src/PluginInterface.ts +79 -0
  217. package/src/PluginInterface.ts.map +1 -0
  218. package/src/Prelude.ts +21 -0
  219. package/src/Prelude.ts.map +1 -0
  220. package/src/Renderers/FormSpecMarkdownRenderer.ts +874 -0
  221. package/src/Renderers/FormSpecMarkdownRenderer.ts.map +1 -0
  222. package/src/Renderers/MermaidRenderer.ts +218 -0
  223. package/src/Renderers/MermaidRenderer.ts.map +1 -0
  224. package/src/Renderers/PathwayRenderers.ts +200 -0
  225. package/src/Renderers/PathwayRenderers.ts.map +1 -0
@@ -0,0 +1,732 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get Converters_fieldKeyToString () {
13
+ return Converters_fieldKeyToString;
14
+ },
15
+ get Converters_stringToFieldKey () {
16
+ return Converters_stringToFieldKey;
17
+ },
18
+ get Helpers_FieldFinders_findFormFieldInFormByLabelString () {
19
+ return Helpers_FieldFinders_findFormFieldInFormByLabelString;
20
+ },
21
+ get Helpers_FieldFinders_findFormFieldInStepByLabelString () {
22
+ return Helpers_FieldFinders_findFormFieldInStepByLabelString;
23
+ },
24
+ get Helpers_FieldFinders_findUniqueFormFieldInFormByLabelString () {
25
+ return Helpers_FieldFinders_findUniqueFormFieldInFormByLabelString;
26
+ },
27
+ get Helpers_FieldFinders_findUniqueFormFieldInStepByLabelString () {
28
+ return Helpers_FieldFinders_findUniqueFormFieldInStepByLabelString;
29
+ },
30
+ get Helpers_FieldFinders_getAllFieldNames () {
31
+ return Helpers_FieldFinders_getAllFieldNames;
32
+ },
33
+ get Helpers_FieldFinders_getAllStepNames () {
34
+ return Helpers_FieldFinders_getAllStepNames;
35
+ },
36
+ get Helpers_FieldFinders_tryFindFieldByKey () {
37
+ return Helpers_FieldFinders_tryFindFieldByKey;
38
+ },
39
+ get Helpers_FieldFinders_tryFindFieldInSpec () {
40
+ return Helpers_FieldFinders_tryFindFieldInSpec;
41
+ },
42
+ get Helpers_FieldFinders_tryFindFormStepByStepNumber () {
43
+ return Helpers_FieldFinders_tryFindFormStepByStepNumber;
44
+ },
45
+ get Helpers_FieldTypeUtils_fieldTypesMatchByCaseName () {
46
+ return Helpers_FieldTypeUtils_fieldTypesMatchByCaseName;
47
+ },
48
+ get Helpers_FieldTypeUtils_getFieldTypeName () {
49
+ return Helpers_FieldTypeUtils_getFieldTypeName;
50
+ },
51
+ get Helpers_FormSpecMutators_addFormFieldToStep () {
52
+ return Helpers_FormSpecMutators_addFormFieldToStep;
53
+ },
54
+ get Helpers_FormSpecMutators_insertFormFieldToStepAt () {
55
+ return Helpers_FormSpecMutators_insertFormFieldToStepAt;
56
+ },
57
+ get Helpers_FormSpecMutators_moveFieldByKeyToPositionInFormStepSpec () {
58
+ return Helpers_FormSpecMutators_moveFieldByKeyToPositionInFormStepSpec;
59
+ },
60
+ get Helpers_FormSpecMutators_moveFormFieldDownInFormSpec () {
61
+ return Helpers_FormSpecMutators_moveFormFieldDownInFormSpec;
62
+ },
63
+ get Helpers_FormSpecMutators_moveFormFieldUpInFormSpec () {
64
+ return Helpers_FormSpecMutators_moveFormFieldUpInFormSpec;
65
+ },
66
+ get Helpers_FormSpecMutators_moveFormStepDownInFormSpec () {
67
+ return Helpers_FormSpecMutators_moveFormStepDownInFormSpec;
68
+ },
69
+ get Helpers_FormSpecMutators_moveFormStepUpInFormSpec () {
70
+ return Helpers_FormSpecMutators_moveFormStepUpInFormSpec;
71
+ },
72
+ get Helpers_FormSpecMutators_removeFormFieldFromFormSpec () {
73
+ return Helpers_FormSpecMutators_removeFormFieldFromFormSpec;
74
+ },
75
+ get Helpers_FormSpecMutators_removeFormStepFromFormSpec () {
76
+ return Helpers_FormSpecMutators_removeFormStepFromFormSpec;
77
+ },
78
+ get Helpers_FormSpecMutators_updateFormFieldInFormSpecStep () {
79
+ return Helpers_FormSpecMutators_updateFormFieldInFormSpecStep;
80
+ },
81
+ get Helpers_FormSpecMutators_updateFormStepInFormSpec () {
82
+ return Helpers_FormSpecMutators_updateFormStepInFormSpec;
83
+ },
84
+ get Helpers_FormSpecTransformers_flattenSpecSteps () {
85
+ return Helpers_FormSpecTransformers_flattenSpecSteps;
86
+ },
87
+ get Helpers_FormSpecValidators_allStepsHaveFields () {
88
+ return Helpers_FormSpecValidators_allStepsHaveFields;
89
+ },
90
+ get Helpers_FormSpecValidators_hasClinicalPathway () {
91
+ return Helpers_FormSpecValidators_hasClinicalPathway;
92
+ },
93
+ get Helpers_canonicalizeFieldKey () {
94
+ return Helpers_canonicalizeFieldKey;
95
+ },
96
+ get Helpers_findAndUpdateFormField () {
97
+ return Helpers_findAndUpdateFormField;
98
+ },
99
+ get Helpers_findAndUpdateFormFieldInAnyStep () {
100
+ return Helpers_findAndUpdateFormFieldInAnyStep;
101
+ },
102
+ get Helpers_generateDeterministicGuid () {
103
+ return Helpers_generateDeterministicGuid;
104
+ },
105
+ get Helpers_optionsFromSpecField () {
106
+ return Helpers_optionsFromSpecField;
107
+ },
108
+ get Helpers_readManyValue () {
109
+ return Helpers_readManyValue;
110
+ },
111
+ get Helpers_readValue () {
112
+ return Helpers_readValue;
113
+ },
114
+ get Helpers_specFieldOptionsToValueOptions () {
115
+ return Helpers_specFieldOptionsToValueOptions;
116
+ },
117
+ get Helpers_updateFormFieldValue () {
118
+ return Helpers_updateFormFieldValue;
119
+ },
120
+ get Helpers_updateFormValuesWithField () {
121
+ return Helpers_updateFormValuesWithField;
122
+ },
123
+ get Helpers_updateManyFunc () {
124
+ return Helpers_updateManyFunc;
125
+ },
126
+ get Helpers_updateSingleFunc () {
127
+ return Helpers_updateSingleFunc;
128
+ }
129
+ });
130
+ const _FormSpec = require("./FormSpec.js");
131
+ const _Guid = require("@fable-org/fable-library-js/Guid.js");
132
+ const _String = require("@fable-org/fable-library-js/String.js");
133
+ const _RegExp = require("@fable-org/fable-library-js/RegExp.js");
134
+ const _Util = require("@fable-org/fable-library-js/Util.js");
135
+ const _Array = require("@fable-org/fable-library-js/Array.js");
136
+ const _Option = require("@fable-org/fable-library-js/Option.js");
137
+ const _List = require("@fable-org/fable-library-js/List.js");
138
+ const _Result = require("@fable-org/fable-library-js/Result.js");
139
+ const _Seq2 = require("@fable-org/fable-library-js/Seq2.js");
140
+ const _Seq = require("@fable-org/fable-library-js/Seq.js");
141
+ const _Map = require("@fable-org/fable-library-js/Map.js");
142
+ const _Set = require("@fable-org/fable-library-js/Set.js");
143
+ function Converters_fieldKeyToString(key) {
144
+ return key.fields[0];
145
+ }
146
+ function Converters_stringToFieldKey(s) {
147
+ return new _FormSpec.Shared_FieldKey((0, _Guid.parse)(s));
148
+ }
149
+ function Helpers_canonicalizeFieldKey(input) {
150
+ if ((0, _String.isNullOrWhiteSpace)(input)) {
151
+ return "field_unknown";
152
+ } else {
153
+ const s_5 = (0, _String.trim)((0, _RegExp.replace)((0, _RegExp.replace)((0, _RegExp.replace)((0, _String.trimEnd)(input.toLowerCase().trim(), ":"), "[\\s\\-]+", "_"), "[^a-z0-9_]", ""), "_+", "_"), "_");
154
+ if ((0, _String.isNullOrEmpty)(s_5)) {
155
+ return "field_unknown";
156
+ } else {
157
+ return s_5;
158
+ }
159
+ }
160
+ }
161
+ function Helpers_generateDeterministicGuid(fieldName) {
162
+ const hash = (0, _Util.stringHash)(Helpers_canonicalizeFieldKey(fieldName)) | 0;
163
+ const bytes = (0, _Array.fill)(new Array(16), 0, 16, 0);
164
+ for(let i = 0; i <= 3; i++){
165
+ (0, _Array.setItem)(bytes, i, hash >> i * 8 & 0xFF);
166
+ (0, _Array.setItem)(bytes, i + 4, hash >> 1 >> i * 8 & 0xFF);
167
+ (0, _Array.setItem)(bytes, i + 8, hash >> 2 >> i * 8 & 0xFF);
168
+ (0, _Array.setItem)(bytes, i + 12, hash >> 3 >> i * 8 & 0xFF);
169
+ }
170
+ (0, _Array.setItem)(bytes, 6, (0, _Array.item)(6, bytes) & 15 | 64);
171
+ (0, _Array.setItem)(bytes, 8, (0, _Array.item)(8, bytes) & 63 | 128);
172
+ return (0, _Guid.arrayToGuid)(bytes);
173
+ }
174
+ function Helpers_FieldFinders_findFormFieldInStepByLabelString(label, stepNumber, formSpec) {
175
+ return (0, _Option.defaultArg)((0, _Option.map)((step_1)=>(0, _List.map)((field_1)=>[
176
+ step_1,
177
+ field_1
178
+ ], (0, _List.filter)((field)=>field.Label === label, step_1.Fields)), (0, _List.tryFind)((step)=>step.StepOrder === stepNumber, formSpec.Steps)), (0, _List.empty)());
179
+ }
180
+ function Helpers_FieldFinders_findFormFieldInFormByLabelString(label, formSpec) {
181
+ return (0, _List.collect)((step)=>(0, _List.map)((field_1)=>[
182
+ step,
183
+ field_1
184
+ ], (0, _List.filter)((field)=>field.Label === label, step.Fields)), formSpec.Steps);
185
+ }
186
+ function Helpers_FieldFinders_findUniqueFormFieldInStepByLabelString(label, stepNumber, formSpec) {
187
+ const fields = Helpers_FieldFinders_findFormFieldInStepByLabelString(label, stepNumber, formSpec);
188
+ if (!(0, _List.isEmpty)(fields)) {
189
+ if ((0, _List.isEmpty)((0, _List.tail)(fields))) {
190
+ return (0, _Result.FSharpResult$2_Ok)((0, _List.head)(fields));
191
+ } else {
192
+ return (0, _Result.FSharpResult$2_Error)(`Multiple fields found with label '${label}' in step ${stepNumber}`);
193
+ }
194
+ } else {
195
+ return (0, _Result.FSharpResult$2_Error)(`No field found with label '${label}' in step ${stepNumber}`);
196
+ }
197
+ }
198
+ function Helpers_FieldFinders_findUniqueFormFieldInFormByLabelString(label, formSpec) {
199
+ const fields = Helpers_FieldFinders_findFormFieldInFormByLabelString(label, formSpec);
200
+ if (!(0, _List.isEmpty)(fields)) {
201
+ if ((0, _List.isEmpty)((0, _List.tail)(fields))) {
202
+ return (0, _Result.FSharpResult$2_Ok)((0, _List.head)(fields));
203
+ } else {
204
+ return (0, _Result.FSharpResult$2_Error)(`Multiple fields found with label '${label}' across all steps`);
205
+ }
206
+ } else {
207
+ return (0, _Result.FSharpResult$2_Error)(`No field found with label '${label}' in any step`);
208
+ }
209
+ }
210
+ function Helpers_FieldFinders_tryFindFieldByKey(fieldKey, formSpec) {
211
+ return (0, _List.tryFind)((field)=>(0, _Util.equals)(field.FieldKey, fieldKey), (0, _List.collect)((step)=>step.Fields, formSpec.Steps));
212
+ }
213
+ function Helpers_FieldFinders_tryFindFormStepByStepNumber(stepNumber, formSpec) {
214
+ return (0, _List.tryFind)((step)=>step.StepOrder === stepNumber, formSpec.Steps);
215
+ }
216
+ function Helpers_FieldFinders_tryFindFieldInSpec(fieldNumber, stepNumber, formSpec) {
217
+ const stepOpt = (0, _List.tryFind)((step)=>step.StepOrder === stepNumber, formSpec.Steps);
218
+ if (stepOpt != null) {
219
+ const fieldOpt = (0, _List.tryFind)((field)=>field.FieldOrder === fieldNumber, (0, _Option.value)(stepOpt).Fields);
220
+ if (fieldOpt != null) {
221
+ return (0, _Option.value)(fieldOpt);
222
+ } else {
223
+ return undefined;
224
+ }
225
+ } else {
226
+ return undefined;
227
+ }
228
+ }
229
+ function Helpers_FieldFinders_getAllFieldNames(formSpec) {
230
+ return (0, _Seq2.List_distinct)((0, _List.map)((field)=>field.Label, (0, _List.collect)((step)=>step.Fields, formSpec.Steps)), {
231
+ Equals: (x, y)=>x === y,
232
+ GetHashCode: _Util.stringHash
233
+ });
234
+ }
235
+ function Helpers_FieldFinders_getAllStepNames(formSpec) {
236
+ return (0, _List.map)((step)=>`Step ${step.StepOrder}`, formSpec.Steps);
237
+ }
238
+ function Helpers_FieldTypeUtils_getFieldTypeName(fieldType) {
239
+ if (fieldType instanceof _FormSpec.Spec_FieldType) {
240
+ const ft = fieldType;
241
+ switch(ft.tag){
242
+ case /* TextArea */ 1:
243
+ return "TextArea";
244
+ case /* Email */ 2:
245
+ return "Email";
246
+ case /* Password */ 3:
247
+ return "Password";
248
+ case /* Search */ 4:
249
+ return "Search";
250
+ case /* Color */ 5:
251
+ return "Color";
252
+ case /* Number */ 6:
253
+ return "Number";
254
+ case /* Tel */ 7:
255
+ return "Tel";
256
+ case /* Date */ 8:
257
+ return "Date";
258
+ case /* DateTimeLocal */ 9:
259
+ return "DateTimeLocal";
260
+ case /* Time */ 10:
261
+ return "Time";
262
+ case /* Checkbox */ 11:
263
+ return "Checkbox";
264
+ case /* Radio */ 12:
265
+ return "Radio";
266
+ case /* SingleChoice */ 13:
267
+ return "SingleChoice";
268
+ case /* Dropdown */ 14:
269
+ return "Dropdown";
270
+ case /* MultiChoice */ 15:
271
+ return "MultiChoice";
272
+ case /* CheckboxList */ 16:
273
+ return "CheckboxList";
274
+ case /* TagList */ 17:
275
+ return "TagList";
276
+ case /* TextAutoComplete */ 18:
277
+ return "TextAutoComplete";
278
+ case /* Matrix */ 19:
279
+ return "Matrix";
280
+ case /* Signature */ 20:
281
+ return "Signature";
282
+ case /* Message */ 21:
283
+ return "Message";
284
+ case /* PluginField */ 22:
285
+ return `PluginField(${ft.fields[0].PluginId})`;
286
+ default:
287
+ return "Text";
288
+ }
289
+ } else {
290
+ return "Unknown";
291
+ }
292
+ }
293
+ function Helpers_FieldTypeUtils_fieldTypesMatchByCaseName(fieldType1, fieldType2) {
294
+ let matchResult, ft1, ft2;
295
+ if (fieldType1 instanceof _FormSpec.Spec_FieldType) {
296
+ if (fieldType2 instanceof _FormSpec.Spec_FieldType) {
297
+ matchResult = 0;
298
+ ft1 = fieldType1;
299
+ ft2 = fieldType2;
300
+ } else {
301
+ matchResult = 1;
302
+ }
303
+ } else {
304
+ matchResult = 1;
305
+ }
306
+ switch(matchResult){
307
+ case 0:
308
+ {
309
+ let matchResult_1;
310
+ switch(ft1.tag){
311
+ case /* Message */ 21:
312
+ {
313
+ if (ft2.tag === /* Message */ 21) {
314
+ matchResult_1 = 0;
315
+ } else {
316
+ matchResult_1 = 10;
317
+ }
318
+ break;
319
+ }
320
+ case /* Matrix */ 19:
321
+ {
322
+ if (ft2.tag === /* Matrix */ 19) {
323
+ matchResult_1 = 1;
324
+ } else {
325
+ matchResult_1 = 10;
326
+ }
327
+ break;
328
+ }
329
+ case /* SingleChoice */ 13:
330
+ {
331
+ if (ft2.tag === /* SingleChoice */ 13) {
332
+ matchResult_1 = 2;
333
+ } else {
334
+ matchResult_1 = 10;
335
+ }
336
+ break;
337
+ }
338
+ case /* MultiChoice */ 15:
339
+ {
340
+ if (ft2.tag === /* MultiChoice */ 15) {
341
+ matchResult_1 = 3;
342
+ } else {
343
+ matchResult_1 = 10;
344
+ }
345
+ break;
346
+ }
347
+ case /* Radio */ 12:
348
+ {
349
+ if (ft2.tag === /* Radio */ 12) {
350
+ matchResult_1 = 4;
351
+ } else {
352
+ matchResult_1 = 10;
353
+ }
354
+ break;
355
+ }
356
+ case /* Dropdown */ 14:
357
+ {
358
+ if (ft2.tag === /* Dropdown */ 14) {
359
+ matchResult_1 = 5;
360
+ } else {
361
+ matchResult_1 = 10;
362
+ }
363
+ break;
364
+ }
365
+ case /* Checkbox */ 11:
366
+ {
367
+ if (ft2.tag === /* Checkbox */ 11) {
368
+ matchResult_1 = 6;
369
+ } else {
370
+ matchResult_1 = 10;
371
+ }
372
+ break;
373
+ }
374
+ case /* CheckboxList */ 16:
375
+ {
376
+ if (ft2.tag === /* CheckboxList */ 16) {
377
+ matchResult_1 = 7;
378
+ } else {
379
+ matchResult_1 = 10;
380
+ }
381
+ break;
382
+ }
383
+ case /* TagList */ 17:
384
+ {
385
+ if (ft2.tag === /* TagList */ 17) {
386
+ matchResult_1 = 8;
387
+ } else {
388
+ matchResult_1 = 10;
389
+ }
390
+ break;
391
+ }
392
+ case /* TextAutoComplete */ 18:
393
+ {
394
+ if (ft2.tag === /* TextAutoComplete */ 18) {
395
+ matchResult_1 = 9;
396
+ } else {
397
+ matchResult_1 = 10;
398
+ }
399
+ break;
400
+ }
401
+ default:
402
+ matchResult_1 = 10;
403
+ }
404
+ switch(matchResult_1){
405
+ case 0:
406
+ return true;
407
+ case 1:
408
+ return true;
409
+ case 2:
410
+ return true;
411
+ case 3:
412
+ return true;
413
+ case 4:
414
+ return true;
415
+ case 5:
416
+ return true;
417
+ case 6:
418
+ return true;
419
+ case 7:
420
+ return true;
421
+ case 8:
422
+ return true;
423
+ case 9:
424
+ return true;
425
+ default:
426
+ return false;
427
+ }
428
+ }
429
+ default:
430
+ return false;
431
+ }
432
+ }
433
+ function Helpers_FormSpecMutators_updateFormFieldInFormSpecStep(inField, formStep, formSpec) {
434
+ const outStep = new _FormSpec.Spec_FormStep$1(formStep.StepOrder, formStep.StepLabel, (0, _List.map)((f)=>{
435
+ if ((0, _Util.equals)(f.FieldKey, inField.FieldKey)) {
436
+ return inField;
437
+ } else {
438
+ return f;
439
+ }
440
+ }, formStep.Fields));
441
+ return new _FormSpec.Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, (0, _List.map)((s)=>{
442
+ if (s.StepOrder === formStep.StepOrder) {
443
+ return outStep;
444
+ } else {
445
+ return s;
446
+ }
447
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
448
+ }
449
+ function Helpers_FormSpecMutators_updateFormStepInFormSpec(formStep, formSpec) {
450
+ return new _FormSpec.Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, (0, _List.map)((s)=>{
451
+ if (s.StepOrder === formStep.StepOrder) {
452
+ return formStep;
453
+ } else {
454
+ return s;
455
+ }
456
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
457
+ }
458
+ function Helpers_FormSpecMutators_addFormFieldToStep(formStep, formSpec, formField) {
459
+ const outStep = new _FormSpec.Spec_FormStep$1(formStep.StepOrder, formStep.StepLabel, (0, _List.append)(formStep.Fields, (0, _List.singleton)(formField)));
460
+ return new _FormSpec.Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, (0, _List.map)((s)=>{
461
+ if (s.StepOrder === formStep.StepOrder) {
462
+ return outStep;
463
+ } else {
464
+ return s;
465
+ }
466
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
467
+ }
468
+ function Helpers_FormSpecMutators_removeFormFieldFromFormSpec(formStepOrder, formField, formSpec) {
469
+ return new _FormSpec.Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, (0, _List.map)((s)=>{
470
+ if (s.StepOrder === formStepOrder) {
471
+ return new _FormSpec.Spec_FormStep$1(s.StepOrder, s.StepLabel, (0, _List.mapIndexed)((i, f_1)=>new _FormSpec.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), (0, _List.filter)((f)=>f.FieldOrder !== formField.FieldOrder, s.Fields)));
472
+ } else {
473
+ return s;
474
+ }
475
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
476
+ }
477
+ function Helpers_FormSpecMutators_insertFormFieldToStepAt(formStep, newPositionFieldOrder, fieldKey) {
478
+ return (0, _List.mapIndexed)((index_1, f_1)=>new _FormSpec.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), (0, _List.insertAt)(newPositionFieldOrder - 1, (0, _List.find)((f)=>(0, _Util.equals)(f.FieldKey, fieldKey), formStep.Fields), formStep.Fields));
479
+ }
480
+ function Helpers_FormSpecMutators_moveFormFieldUpInFormSpec(formStepOrder, formField, formSpec) {
481
+ return new _FormSpec.Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, (0, _List.map)((s)=>{
482
+ if (s.StepOrder === formStepOrder) {
483
+ return new _FormSpec.Spec_FormStep$1(s.StepOrder, s.StepLabel, (0, _List.mapIndexed)((index, f_2)=>new _FormSpec.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), (0, _List.sortBy)((f_1)=>f_1.FieldOrder, (0, _List.map)((f)=>{
484
+ if (f.FieldOrder === formField.FieldOrder) {
485
+ return new _FormSpec.Spec_FormField$1(formField.FieldOrder - 1, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType);
486
+ } else if (f.FieldOrder === formField.FieldOrder - 1) {
487
+ return new _FormSpec.Spec_FormField$1(formField.FieldOrder, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType);
488
+ } else {
489
+ return f;
490
+ }
491
+ }, s.Fields), {
492
+ Compare: _Util.comparePrimitives
493
+ })));
494
+ } else {
495
+ return s;
496
+ }
497
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
498
+ }
499
+ function Helpers_FormSpecMutators_moveFormFieldDownInFormSpec(formStepOrder, formField, formSpec) {
500
+ return new _FormSpec.Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, (0, _List.map)((s)=>{
501
+ if (s.StepOrder === formStepOrder) {
502
+ return new _FormSpec.Spec_FormStep$1(s.StepOrder, s.StepLabel, (0, _List.mapIndexed)((index, f_2)=>new _FormSpec.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), (0, _List.sortBy)((f_1)=>f_1.FieldOrder, (0, _List.map)((f)=>{
503
+ if (f.FieldOrder === formField.FieldOrder) {
504
+ return new _FormSpec.Spec_FormField$1(formField.FieldOrder + 1, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType);
505
+ } else if (f.FieldOrder === formField.FieldOrder + 1) {
506
+ return new _FormSpec.Spec_FormField$1(formField.FieldOrder, f.FieldKey, f.Label, f.Notes, f.DependsOn, f.IsOptional, f.IsDeprecated, f.FieldType);
507
+ } else {
508
+ return f;
509
+ }
510
+ }, s.Fields), {
511
+ Compare: _Util.comparePrimitives
512
+ })));
513
+ } else {
514
+ return s;
515
+ }
516
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
517
+ }
518
+ function Helpers_FormSpecMutators_moveFieldByKeyToPositionInFormStepSpec(fieldKey, newPositionFieldOrder, formStepOrder, formSpec) {
519
+ const formStep = Helpers_FieldFinders_tryFindFormStepByStepNumber(formStepOrder, formSpec);
520
+ if (formStep != null) {
521
+ const formStep_1 = (0, _Option.value)(formStep);
522
+ return new _FormSpec.Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, (0, _List.map)((s)=>{
523
+ if (s.StepOrder === formStep_1.StepOrder) {
524
+ return new _FormSpec.Spec_FormStep$1(s.StepOrder, s.StepLabel, (0, _List.mapIndexed)((index_1, f_1)=>new _FormSpec.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), (0, _Seq2.List_distinct)((0, _List.insertAt)(newPositionFieldOrder - 1, (0, _List.find)((f)=>(0, _Util.equals)(f.FieldKey, fieldKey), s.Fields), s.Fields), {
525
+ Equals: _Util.equals,
526
+ GetHashCode: _Util.safeHash
527
+ })));
528
+ } else {
529
+ return s;
530
+ }
531
+ }, formSpec.Steps), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
532
+ } else {
533
+ return formSpec;
534
+ }
535
+ }
536
+ function Helpers_FormSpecMutators_moveFormStepUpInFormSpec(formStepOrder, formSpec) {
537
+ return new _FormSpec.Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, (0, _List.mapIndexed)((i, s_1)=>new _FormSpec.Spec_FormStep$1(i + 1, s_1.StepLabel, s_1.Fields), (0, _List.sortBy)((s)=>s.StepOrder, (0, _List.map)((innerStep)=>{
538
+ if (innerStep.StepOrder === formStepOrder - 1) {
539
+ return new _FormSpec.Spec_FormStep$1(formStepOrder + 1, innerStep.StepLabel, innerStep.Fields);
540
+ } else if (innerStep.StepOrder === formStepOrder) {
541
+ return new _FormSpec.Spec_FormStep$1(formStepOrder - 1, innerStep.StepLabel, innerStep.Fields);
542
+ } else {
543
+ return innerStep;
544
+ }
545
+ }, formSpec.Steps), {
546
+ Compare: _Util.comparePrimitives
547
+ })), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
548
+ }
549
+ function Helpers_FormSpecMutators_moveFormStepDownInFormSpec(formStepOrder, formSpec) {
550
+ return new _FormSpec.Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, (0, _List.mapIndexed)((i, s_1)=>new _FormSpec.Spec_FormStep$1(i + 1, s_1.StepLabel, s_1.Fields), (0, _List.sortBy)((s)=>s.StepOrder, (0, _List.map)((innerStep)=>{
551
+ if (innerStep.StepOrder === formStepOrder + 1) {
552
+ return new _FormSpec.Spec_FormStep$1(formStepOrder - 1, innerStep.StepLabel, innerStep.Fields);
553
+ } else if (innerStep.StepOrder === formStepOrder) {
554
+ return new _FormSpec.Spec_FormStep$1(formStepOrder + 1, innerStep.StepLabel, innerStep.Fields);
555
+ } else {
556
+ return innerStep;
557
+ }
558
+ }, formSpec.Steps), {
559
+ Compare: _Util.comparePrimitives
560
+ })), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
561
+ }
562
+ function Helpers_FormSpecMutators_removeFormStepFromFormSpec(formStepOrder, formSpec) {
563
+ return new _FormSpec.Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, (0, _List.mapIndexed)((i, s_1)=>new _FormSpec.Spec_FormStep$1(i + 1, s_1.StepLabel, s_1.Fields), (0, _List.filter)((s)=>s.StepOrder !== formStepOrder, formSpec.Steps)), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
564
+ }
565
+ function Helpers_FormSpecTransformers_flattenSpecSteps(formSpec) {
566
+ const flatten = (steps_mut, acc_mut)=>{
567
+ flatten: while(true){
568
+ const steps = steps_mut, acc = acc_mut;
569
+ if (!(0, _List.isEmpty)(steps)) {
570
+ const step = (0, _List.head)(steps);
571
+ steps_mut = (0, _List.tail)(steps);
572
+ acc_mut = (0, _List.append)(acc, (0, _List.map)((field)=>new _FormSpec.Spec_FormField$1(step.StepOrder * 1000 + field.FieldOrder, field.FieldKey, field.Label, field.Notes, field.DependsOn, field.IsOptional, field.IsDeprecated, field.FieldType), step.Fields));
573
+ continue flatten;
574
+ } else {
575
+ return acc;
576
+ }
577
+ break;
578
+ }
579
+ };
580
+ return new _FormSpec.Spec_FormSpec$1(formSpec.Id, formSpec.Code, formSpec.Title, formSpec.Abstract, formSpec.Version, formSpec.FormSpecVersion, (0, _List.singleton)(new _FormSpec.Spec_FormStep$1(1, "Complete Form", flatten(formSpec.Steps, (0, _List.empty)()))), formSpec.CategoryTags, formSpec.Score, formSpec.AssociatedCodes, formSpec.RequiresReview, formSpec.RequiresReviewAndApproval, formSpec.ClinicalPathway);
581
+ }
582
+ function Helpers_FormSpecValidators_allStepsHaveFields(formSpec) {
583
+ return (0, _List.forAll)((step)=>!(0, _List.isEmpty)(step.Fields), formSpec.Steps);
584
+ }
585
+ function Helpers_FormSpecValidators_hasClinicalPathway(formSpec) {
586
+ return formSpec.ClinicalPathway != null;
587
+ }
588
+ function Helpers_specFieldOptionsToValueOptions(options) {
589
+ return (0, _List.map)((o)=>new _FormSpec.Shared_FieldOption(o.Description, o.Value, o.OptionKey), options);
590
+ }
591
+ function Helpers_optionsFromSpecField(field) {
592
+ const matchValue = field.FieldType;
593
+ switch(matchValue.tag){
594
+ case /* PluginField */ 22:
595
+ return (0, _List.empty)();
596
+ case /* CheckboxList */ 16:
597
+ return matchValue.fields[0].Options;
598
+ case /* MultiChoice */ 15:
599
+ return matchValue.fields[0].Options;
600
+ case /* TagList */ 17:
601
+ return matchValue.fields[0].Options;
602
+ case /* Dropdown */ 14:
603
+ return matchValue.fields[0].Options;
604
+ case /* Radio */ 12:
605
+ return matchValue.fields[0].Options;
606
+ case /* SingleChoice */ 13:
607
+ return matchValue.fields[0].Options;
608
+ case /* TextAutoComplete */ 18:
609
+ return matchValue.fields[0].Options;
610
+ case /* Matrix */ 19:
611
+ return matchValue.fields[0].Options;
612
+ default:
613
+ return (0, _List.empty)();
614
+ }
615
+ }
616
+ function Helpers_readValue(field, values) {
617
+ const matchValue = (0, _Seq.tryFind)((k)=>(0, _Util.equals)(k, field.FieldKey), (0, _Seq.map)((tuple)=>tuple[0], (0, _Map.toSeq)(values)));
618
+ if (matchValue != null) {
619
+ const matchValue_1 = (0, _Map.FSharpMap__get_Item)(values, (0, _Option.value)(matchValue)).FieldValue;
620
+ if (matchValue_1.tag === /* Single */ 0) {
621
+ return matchValue_1.fields[0].Value;
622
+ } else {
623
+ return "";
624
+ }
625
+ } else {
626
+ return "";
627
+ }
628
+ }
629
+ function Helpers_readManyValue(fieldKey, values) {
630
+ const matchValue = (0, _Seq.tryFind)((k)=>(0, _Util.equals)(k, fieldKey), (0, _Seq.map)((tuple)=>tuple[0], (0, _Map.toSeq)(values)));
631
+ if (matchValue != null) {
632
+ const matchValue_1 = (0, _Map.FSharpMap__get_Item)(values, (0, _Option.value)(matchValue)).FieldValue;
633
+ if (matchValue_1.tag === /* Multiple */ 1) {
634
+ return (0, _Set.map)((v_1)=>v_1.Value, matchValue_1.fields[0], {
635
+ Compare: _Util.comparePrimitives
636
+ });
637
+ } else {
638
+ return (0, _Set.empty)({
639
+ Compare: _Util.comparePrimitives
640
+ });
641
+ }
642
+ } else {
643
+ return (0, _Set.empty)({
644
+ Compare: _Util.comparePrimitives
645
+ });
646
+ }
647
+ }
648
+ function Helpers_updateSingleFunc(formatter, specField, newValue, values) {
649
+ let Value, matchValue;
650
+ const fieldOptions = Helpers_optionsFromSpecField(specField);
651
+ const newFieldDetails = new _FormSpec.Values_FieldDetails$1(specField.FieldOrder, specField.FieldKey, specField.Label, (0, _FormSpec.Shared_FieldValue_Single)((Value = formatter(newValue), new _FormSpec.Shared_FieldAnswer(specField.FieldKey, (matchValue = (0, _List.tryFind)((o)=>o.Value === newValue, fieldOptions), matchValue == null ? newValue : (0, _Option.value)(matchValue).Description), Value))), specField.FieldType, Helpers_specFieldOptionsToValueOptions(fieldOptions));
652
+ const matchValue_1 = (0, _Seq.tryFind)((k)=>(0, _Util.equals)(k, newFieldDetails.Key), (0, _Seq.map)((tuple)=>tuple[0], (0, _Map.toSeq)(values)));
653
+ if (matchValue_1 != null) {
654
+ const key = (0, _Option.value)(matchValue_1);
655
+ const f = (0, _Map.FSharpMap__Remove)(values, key);
656
+ return (0, _Map.FSharpMap__Add)(values, key, newFieldDetails);
657
+ } else {
658
+ return (0, _Map.FSharpMap__Add)(values, newFieldDetails.Key, newFieldDetails);
659
+ }
660
+ }
661
+ function Helpers_updateManyFunc(formatter, specField, newValue, values) {
662
+ const newFieldDetails = new _FormSpec.Values_FieldDetails$1(specField.FieldOrder, specField.FieldKey, specField.Label, (0, _FormSpec.Shared_FieldValue_Multiple)((0, _Set.map)((v)=>{
663
+ let matchValue;
664
+ const Value = formatter(v);
665
+ return new _FormSpec.Shared_FieldAnswer(specField.FieldKey, (matchValue = (0, _List.tryFind)((o)=>o.Value === v, Helpers_optionsFromSpecField(specField)), matchValue == null ? v : (0, _Option.value)(matchValue).Description), Value);
666
+ }, newValue, {
667
+ Compare: _Util.compare
668
+ })), specField.FieldType, Helpers_specFieldOptionsToValueOptions(Helpers_optionsFromSpecField(specField)));
669
+ const matchValue_1 = (0, _Seq.tryFind)((k)=>(0, _Util.equals)(k, newFieldDetails.Key), (0, _Seq.map)((tuple)=>tuple[0], (0, _Map.toSeq)(values)));
670
+ if (matchValue_1 != null) {
671
+ const key = (0, _Option.value)(matchValue_1);
672
+ return (0, _Map.FSharpMap__Add)((0, _Map.FSharpMap__Remove)(values, newFieldDetails.Key), newFieldDetails.Key, newFieldDetails);
673
+ } else {
674
+ return (0, _Map.FSharpMap__Add)(values, newFieldDetails.Key, newFieldDetails);
675
+ }
676
+ }
677
+ function Helpers_updateFormFieldValue(field, newValue, values) {
678
+ const newFieldDetails = new _FormSpec.Values_FieldDetails$1(field.FieldOrder, field.FieldKey, field.Label, (()=>{
679
+ throw new Error("updateFormFieldValue: Field type handling not implemented.");
680
+ })(), field.FieldType, Helpers_specFieldOptionsToValueOptions(Helpers_optionsFromSpecField(field)));
681
+ const matchValue_1 = (0, _Seq.tryFind)((k)=>(0, _Util.equals)(k, newFieldDetails.Key), (0, _Seq.map)((tuple)=>tuple[0], (0, _Map.toSeq)(values)));
682
+ if (matchValue_1 != null) {
683
+ const key = (0, _Option.value)(matchValue_1);
684
+ return (0, _Map.FSharpMap__Add)((0, _Map.FSharpMap__Remove)(values, key), key, newFieldDetails);
685
+ } else {
686
+ return (0, _Map.FSharpMap__Add)(values, newFieldDetails.Key, newFieldDetails);
687
+ }
688
+ }
689
+ function Helpers_updateFormValuesWithField(fieldKeyAndValue_, fieldKeyAndValue__1, form, getSteps, setSteps) {
690
+ let patternInput;
691
+ const fieldKeyAndValue = [
692
+ fieldKeyAndValue_,
693
+ fieldKeyAndValue__1
694
+ ];
695
+ let stepOrderResult;
696
+ const filteredFormSteps = (0, _Map.filter)((_arg, fieldValues)=>(0, _Map.FSharpMap__ContainsKey)(fieldValues, fieldKeyAndValue[0]), getSteps(form));
697
+ stepOrderResult = (0, _Map.FSharpMap__get_IsEmpty)(filteredFormSteps) ? (0, _Result.FSharpResult$2_Error)("No fields found") : (0, _Map.FSharpMap__get_Count)(filteredFormSteps) > 1 ? (0, _Result.FSharpResult$2_Error)("More than one field found") : (0, _Result.FSharpResult$2_Ok)((0, _List.head)((0, _Map.toList)(filteredFormSteps))[0]);
698
+ if (stepOrderResult.tag === /* Ok */ 0) {
699
+ const stepOrd = stepOrderResult.fields[0];
700
+ const foundStepValues = (0, _Map.toList)((0, _Map.FSharpMap__get_Item)(getSteps(form), stepOrd));
701
+ const foundField = (0, _List.tryFindIndex)((tupledArg_1)=>(0, _Util.equals)(tupledArg_1[0], fieldKeyAndValue[0]), foundStepValues);
702
+ const dynamicStepValues = (0, _Map.ofList)((0, _List.append)((0, _List.singleton)(fieldKeyAndValue), foundField == null ? foundStepValues : (patternInput = (0, _List.splitAt)((0, _Option.value)(foundField), foundStepValues), (0, _List.append)(patternInput[0], (0, _List.tail)(patternInput[1])))), {
703
+ Compare: _Util.compare
704
+ });
705
+ return setSteps((0, _Map.FSharpMap__Change)(getSteps(form), stepOrd, (_arg_3)=>dynamicStepValues), form);
706
+ } else {
707
+ (0, _String.toConsole)(`ERROR updating value: ${stepOrderResult.fields[0]}`);
708
+ return form;
709
+ }
710
+ }
711
+ function Helpers_findAndUpdateFormField(label, stepNumber, newValue, formSpec, form, getSteps, setSteps) {
712
+ return (0, _Result.Result_Map)((tupledArg)=>{
713
+ const field = tupledArg[1];
714
+ const fieldKeyAndValue = [
715
+ field.FieldKey,
716
+ (0, _Map.FSharpMap__get_Item)(Helpers_updateFormFieldValue(field, newValue, (0, _Map.FSharpMap__get_Item)(getSteps(form), new _FormSpec.Values_StepOrder(tupledArg[0].StepOrder))), field.FieldKey)
717
+ ];
718
+ return Helpers_updateFormValuesWithField(fieldKeyAndValue[0], fieldKeyAndValue[1], form, getSteps, setSteps);
719
+ }, Helpers_FieldFinders_findUniqueFormFieldInStepByLabelString(label, stepNumber, formSpec));
720
+ }
721
+ function Helpers_findAndUpdateFormFieldInAnyStep(label, newValue, formSpec, form, getSteps, setSteps) {
722
+ return (0, _Result.Result_Map)((tupledArg)=>{
723
+ const field = tupledArg[1];
724
+ const fieldKeyAndValue = [
725
+ field.FieldKey,
726
+ (0, _Map.FSharpMap__get_Item)(Helpers_updateFormFieldValue(field, newValue, (0, _Map.FSharpMap__get_Item)(getSteps(form), new _FormSpec.Values_StepOrder(tupledArg[0].StepOrder))), field.FieldKey)
727
+ ];
728
+ return Helpers_updateFormValuesWithField(fieldKeyAndValue[0], fieldKeyAndValue[1], form, getSteps, setSteps);
729
+ }, Helpers_FieldFinders_findUniqueFormFieldInFormByLabelString(label, formSpec));
730
+ } //# sourceMappingURL=Helpers.ts.map
731
+
732
+ //# sourceMappingURL=Helpers.js.map