ballerina-core 1.0.223 → 1.0.224

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 (667) hide show
  1. package/bin/main.d.ts +3 -1
  2. package/bin/main.d.ts.map +1 -1
  3. package/bin/main.js +3 -1
  4. package/bin/main.js.map +1 -1
  5. package/bin/src/api-response-handler/coroutines/runner.d.ts +2 -9
  6. package/bin/src/api-response-handler/coroutines/runner.js +13 -20
  7. package/bin/src/api-response-handler/state.d.ts +12 -12
  8. package/bin/src/api-response-handler/state.js +11 -13
  9. package/bin/src/apiResultStatus/state.d.ts +3 -10
  10. package/bin/src/apiResultStatus/state.js +5 -2
  11. package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.d.ts +75 -400
  12. package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.js +196 -314
  13. package/bin/src/async/domains/mirroring/domains/collection/state.d.ts +25 -38
  14. package/bin/src/async/domains/mirroring/domains/collection/state.js +36 -126
  15. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.d.ts +8 -12
  16. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.js +11 -18
  17. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.d.ts +9 -12
  18. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.js +19 -19
  19. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.d.ts +8 -17
  20. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.js +1 -1
  21. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.d.ts +13 -16
  22. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.js +18 -18
  23. package/bin/src/async/domains/mirroring/domains/entity/state.d.ts +9 -12
  24. package/bin/src/async/domains/mirroring/domains/entity/state.js +9 -18
  25. package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.d.ts +41 -233
  26. package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.js +83 -134
  27. package/bin/src/async/domains/mirroring/domains/singleton/state.d.ts +15 -24
  28. package/bin/src/async/domains/mirroring/domains/singleton/state.js +8 -52
  29. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts +2 -2
  30. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts.map +1 -1
  31. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.js +1 -1
  32. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.d.ts +10 -16
  33. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.js +4 -7
  34. package/bin/src/async/domains/promise/state.d.ts +4 -9
  35. package/bin/src/async/domains/promise/state.js +9 -20
  36. package/bin/src/async/domains/synchronized/coroutines/synchronize.d.ts +4 -29
  37. package/bin/src/async/domains/synchronized/coroutines/synchronize.js +28 -80
  38. package/bin/src/async/domains/synchronized/state.d.ts +7 -14
  39. package/bin/src/async/domains/synchronized/state.js +6 -16
  40. package/bin/src/async/state.d.ts +45 -56
  41. package/bin/src/async/state.js +97 -115
  42. package/bin/src/baseEntity/domains/identifiable/state.d.ts +11 -15
  43. package/bin/src/baseEntity/domains/identifiable/state.js +9 -9
  44. package/bin/src/collections/domains/array/state.d.ts +7 -7
  45. package/bin/src/collections/domains/array/state.js +5 -5
  46. package/bin/src/collections/domains/errors/state.d.ts +10 -10
  47. package/bin/src/collections/domains/errors/state.js +10 -10
  48. package/bin/src/collections/domains/immutable/domains/list/state.d.ts +15 -19
  49. package/bin/src/collections/domains/immutable/domains/list/state.js +44 -46
  50. package/bin/src/collections/domains/immutable/domains/map/state.d.ts +16 -30
  51. package/bin/src/collections/domains/immutable/domains/map/state.js +23 -41
  52. package/bin/src/collections/domains/immutable/domains/orderedMap/state.d.ts +25 -53
  53. package/bin/src/collections/domains/immutable/domains/orderedMap/state.js +65 -84
  54. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.d.ts +6 -6
  55. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.js +6 -6
  56. package/bin/src/collections/domains/maybe/state.d.ts +9 -9
  57. package/bin/src/collections/domains/maybe/state.js +9 -12
  58. package/bin/src/collections/domains/product/state.d.ts +19 -25
  59. package/bin/src/collections/domains/product/state.js +10 -13
  60. package/bin/src/collections/domains/sum/state.d.ts +77 -101
  61. package/bin/src/collections/domains/sum/state.js +32 -49
  62. package/bin/src/collections/domains/valueOrErrors/state.d.ts +27 -53
  63. package/bin/src/collections/domains/valueOrErrors/state.js +56 -81
  64. package/bin/src/coroutines/builder.d.ts +49 -135
  65. package/bin/src/coroutines/builder.js +19 -40
  66. package/bin/src/coroutines/state.d.ts +71 -186
  67. package/bin/src/coroutines/state.js +306 -381
  68. package/bin/src/coroutines/template.d.ts +8 -17
  69. package/bin/src/coroutines/template.js +59 -97
  70. package/bin/src/debounced/coroutines/debounce.d.ts +6 -15
  71. package/bin/src/debounced/coroutines/debounce.js +89 -115
  72. package/bin/src/debounced/state.d.ts +19 -26
  73. package/bin/src/debounced/state.js +25 -62
  74. package/bin/src/diagnostics/domains/message-box/state.d.ts +1 -1
  75. package/bin/src/diagnostics/domains/message-box/state.js +3 -3
  76. package/bin/src/foreignMutations/state.d.ts +3 -3
  77. package/bin/src/foreignMutations/state.js +1 -1
  78. package/bin/src/forms/domains/attachments/views/attachments-view.d.ts +4 -4
  79. package/bin/src/forms/domains/attachments/views/attachments-view.js +8 -30
  80. package/bin/src/forms/domains/collection/domains/reference/state.d.ts +22 -29
  81. package/bin/src/forms/domains/collection/domains/reference/state.js +20 -26
  82. package/bin/src/forms/domains/collection/domains/selection/state.d.ts +15 -37
  83. package/bin/src/forms/domains/collection/domains/selection/state.js +1 -1
  84. package/bin/src/forms/domains/dispatched-forms/built-ins/state.d.ts +120 -535
  85. package/bin/src/forms/domains/dispatched-forms/built-ins/state.d.ts.map +1 -1
  86. package/bin/src/forms/domains/dispatched-forms/built-ins/state.js +739 -1403
  87. package/bin/src/forms/domains/dispatched-forms/built-ins/state.js.map +1 -1
  88. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.d.ts +2 -22
  89. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.d.ts.map +1 -1
  90. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js +44 -128
  91. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js.map +1 -1
  92. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.d.ts +76 -85
  93. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.d.ts.map +1 -1
  94. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.js +155 -174
  95. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.js.map +1 -1
  96. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.d.ts +19 -35
  97. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.js +27 -40
  98. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.d.ts +34 -50
  99. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.d.ts.map +1 -1
  100. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.js +45 -50
  101. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.js.map +1 -1
  102. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.d.ts +56 -121
  103. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.js +59 -102
  104. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.d.ts +15 -42
  105. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.js +29 -64
  106. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.d.ts +29 -70
  107. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.js +20 -52
  108. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.d.ts +18 -61
  109. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.js +33 -88
  110. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.d.ts +10 -20
  111. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.js +13 -21
  112. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.d.ts +28 -0
  113. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.d.ts.map +1 -0
  114. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.js +27 -0
  115. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.js.map +1 -0
  116. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.d.ts +11 -42
  117. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.js +18 -59
  118. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.d.ts +19 -46
  119. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.d.ts.map +1 -1
  120. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.js +55 -110
  121. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.js.map +1 -1
  122. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.d.ts +14 -29
  123. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.js +27 -43
  124. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.d.ts +19 -49
  125. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.js +23 -63
  126. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.d.ts +13 -21
  127. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.js +22 -39
  128. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.d.ts +10 -39
  129. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.js +11 -46
  130. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts +34 -79
  131. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts.map +1 -1
  132. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js +46 -146
  133. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js.map +1 -1
  134. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.d.ts +13 -37
  135. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.js +29 -64
  136. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.d.ts +15 -40
  137. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.js +33 -78
  138. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.d.ts +19 -101
  139. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.d.ts.map +1 -1
  140. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.js +62 -151
  141. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.js.map +1 -1
  142. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts +270 -265
  143. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts.map +1 -1
  144. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js +574 -695
  145. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js.map +1 -1
  146. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.d.ts +51 -103
  147. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.d.ts.map +1 -1
  148. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.js +94 -253
  149. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.js.map +1 -1
  150. package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts +82 -280
  151. package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts.map +1 -1
  152. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js +51 -147
  153. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js.map +1 -1
  154. package/bin/src/forms/domains/dispatched-forms/deserializer/template.d.ts +2 -27
  155. package/bin/src/forms/domains/dispatched-forms/deserializer/template.js +2 -3
  156. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.d.ts +9 -28
  157. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.d.ts.map +1 -1
  158. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.js +84 -137
  159. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.js.map +1 -1
  160. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.d.ts +7 -35
  161. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.js +3 -3
  162. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.d.ts +4 -30
  163. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.d.ts.map +1 -1
  164. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js +24 -59
  165. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js.map +1 -1
  166. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.d.ts +7 -32
  167. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.d.ts.map +1 -1
  168. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js +3 -3
  169. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js.map +1 -1
  170. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.d.ts +4 -27
  171. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.d.ts.map +1 -1
  172. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js +25 -59
  173. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js.map +1 -1
  174. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.d.ts +19 -56
  175. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +6 -18
  176. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.d.ts +7 -31
  177. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.d.ts.map +1 -1
  178. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +31 -74
  179. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js.map +1 -1
  180. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.d.ts +15 -42
  181. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.d.ts.map +1 -1
  182. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +6 -9
  183. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js.map +1 -1
  184. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.d.ts +8 -42
  185. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.d.ts.map +1 -1
  186. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +61 -158
  187. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js.map +1 -1
  188. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.d.ts +11 -45
  189. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.js +1 -1
  190. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.d.ts +8 -44
  191. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.d.ts.map +1 -1
  192. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js +51 -137
  193. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js.map +1 -1
  194. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.d.ts +19 -57
  195. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.d.ts.map +1 -1
  196. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +22 -40
  197. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js.map +1 -1
  198. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.d.ts +28 -75
  199. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.d.ts.map +1 -1
  200. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +10 -19
  201. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js.map +1 -1
  202. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts +8 -54
  203. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts.map +1 -1
  204. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +106 -276
  205. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js.map +1 -1
  206. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.d.ts +7 -38
  207. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.d.ts.map +1 -1
  208. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.js +1 -1
  209. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.d.ts +4 -45
  210. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.d.ts.map +1 -1
  211. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js +8 -31
  212. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js.map +1 -1
  213. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.d.ts +26 -103
  214. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +18 -61
  215. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.d.ts +10 -69
  216. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.d.ts.map +1 -1
  217. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +89 -314
  218. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js.map +1 -1
  219. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.d.ts +7 -37
  220. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.js +3 -3
  221. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.d.ts +4 -31
  222. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.d.ts.map +1 -1
  223. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js +24 -64
  224. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js.map +1 -1
  225. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.d.ts +20 -0
  226. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.d.ts.map +1 -0
  227. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +12 -0
  228. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js.map +1 -0
  229. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.d.ts +16 -0
  230. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.d.ts.map +1 -0
  231. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +38 -0
  232. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js.map +1 -0
  233. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.d.ts +18 -0
  234. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.d.ts.map +1 -0
  235. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +18 -0
  236. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js.map +1 -0
  237. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.d.ts +1381 -0
  238. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.d.ts.map +1 -0
  239. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js +6 -0
  240. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js.map +1 -0
  241. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.d.ts +44 -181
  242. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.d.ts.map +1 -1
  243. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js +30 -199
  244. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js.map +1 -1
  245. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.d.ts +89 -384
  246. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.d.ts.map +1 -1
  247. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +41 -72
  248. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js.map +1 -1
  249. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.d.ts +13 -72
  250. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.d.ts.map +1 -1
  251. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +148 -584
  252. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js.map +1 -1
  253. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.d.ts +29 -0
  254. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.d.ts.map +1 -0
  255. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +13 -0
  256. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js.map +1 -0
  257. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.d.ts +9 -0
  258. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.d.ts.map +1 -0
  259. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +23 -0
  260. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js.map +1 -0
  261. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.d.ts +21 -80
  262. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.d.ts.map +1 -1
  263. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +11 -32
  264. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js.map +1 -1
  265. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.d.ts +10 -59
  266. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.d.ts.map +1 -1
  267. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +71 -198
  268. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js.map +1 -1
  269. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.d.ts +49 -123
  270. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +13 -35
  271. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.d.ts +8 -47
  272. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.d.ts.map +1 -1
  273. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +68 -198
  274. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js.map +1 -1
  275. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.d.ts +51 -121
  276. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +13 -36
  277. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.d.ts +8 -47
  278. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.d.ts.map +1 -1
  279. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +106 -236
  280. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js.map +1 -1
  281. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.d.ts +8 -38
  282. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.js +3 -3
  283. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.d.ts +4 -31
  284. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.d.ts.map +1 -1
  285. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js +24 -64
  286. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js.map +1 -1
  287. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.d.ts +34 -57
  288. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.d.ts.map +1 -1
  289. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +13 -24
  290. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js.map +1 -1
  291. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.d.ts +8 -38
  292. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.js +3 -3
  293. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.d.ts +4 -31
  294. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.d.ts.map +1 -1
  295. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js +27 -68
  296. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js.map +1 -1
  297. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.d.ts +29 -92
  298. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.d.ts.map +1 -1
  299. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +7 -22
  300. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js.map +1 -1
  301. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.d.ts +8 -60
  302. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.d.ts.map +1 -1
  303. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +53 -170
  304. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js.map +1 -1
  305. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.d.ts +1183 -0
  306. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.d.ts.map +1 -0
  307. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js +4 -0
  308. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js.map +1 -0
  309. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.d.ts +23 -0
  310. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.d.ts.map +1 -0
  311. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js +32 -0
  312. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js.map +1 -0
  313. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.d.ts +23 -0
  314. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.d.ts.map +1 -0
  315. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +25 -0
  316. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js.map +1 -0
  317. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.d.ts +22 -0
  318. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.d.ts.map +1 -0
  319. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +35 -0
  320. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js.map +1 -0
  321. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.d.ts +3 -0
  322. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.d.ts.map +1 -0
  323. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +21 -0
  324. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js.map +1 -0
  325. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.d.ts +57 -95
  326. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.d.ts.map +1 -1
  327. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +20 -104
  328. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js.map +1 -1
  329. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts +194 -327
  330. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts.map +1 -1
  331. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +141 -120
  332. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js.map +1 -1
  333. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts +15 -71
  334. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts.map +1 -1
  335. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +222 -508
  336. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js.map +1 -1
  337. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.d.ts +18 -75
  338. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +8 -20
  339. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.d.ts +7 -56
  340. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.d.ts.map +1 -1
  341. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +32 -128
  342. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js.map +1 -1
  343. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.d.ts +18 -76
  344. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +8 -21
  345. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.d.ts +6 -53
  346. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.d.ts.map +1 -1
  347. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +31 -98
  348. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js.map +1 -1
  349. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.d.ts +13 -45
  350. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +9 -12
  351. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.d.ts +6 -31
  352. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.d.ts.map +1 -1
  353. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +21 -65
  354. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js.map +1 -1
  355. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts +438 -557
  356. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts.map +1 -1
  357. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +513 -668
  358. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js.map +1 -1
  359. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.d.ts +6 -29
  360. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.d.ts.map +1 -1
  361. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +16 -53
  362. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js.map +1 -1
  363. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.d.ts +7 -30
  364. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.d.ts.map +1 -1
  365. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +13 -47
  366. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js.map +1 -1
  367. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.d.ts +6 -28
  368. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.d.ts.map +1 -1
  369. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +16 -76
  370. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js.map +1 -1
  371. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.d.ts +6 -26
  372. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.d.ts.map +1 -1
  373. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +22 -88
  374. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js.map +1 -1
  375. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.d.ts +7 -49
  376. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.d.ts.map +1 -1
  377. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +8 -38
  378. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js.map +1 -1
  379. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.d.ts +8 -64
  380. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.d.ts.map +1 -1
  381. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +40 -126
  382. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js.map +1 -1
  383. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.d.ts +6 -26
  384. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.d.ts.map +1 -1
  385. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +61 -159
  386. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js.map +1 -1
  387. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.d.ts +9 -0
  388. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.d.ts.map +1 -0
  389. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +14 -0
  390. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js.map +1 -0
  391. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.d.ts +6 -30
  392. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.d.ts.map +1 -1
  393. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +4 -14
  394. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js.map +1 -1
  395. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.d.ts +7 -53
  396. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.d.ts.map +1 -1
  397. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +26 -91
  398. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js.map +1 -1
  399. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.d.ts +6 -26
  400. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.d.ts.map +1 -1
  401. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +22 -89
  402. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js.map +1 -1
  403. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.d.ts +6 -29
  404. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.d.ts.map +1 -1
  405. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +18 -90
  406. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js.map +1 -1
  407. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.d.ts +8 -62
  408. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.d.ts.map +1 -1
  409. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +87 -169
  410. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js.map +1 -1
  411. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.d.ts +6 -29
  412. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.d.ts.map +1 -1
  413. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +11 -60
  414. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js.map +1 -1
  415. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.d.ts +6 -29
  416. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.d.ts.map +1 -1
  417. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +15 -75
  418. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js.map +1 -1
  419. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.d.ts +7 -51
  420. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.d.ts.map +1 -1
  421. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +46 -183
  422. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js.map +1 -1
  423. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.d.ts +18 -38
  424. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.d.ts.map +1 -1
  425. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js +426 -697
  426. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js.map +1 -1
  427. package/bin/src/forms/domains/dispatched-forms/runner/state.d.ts +45 -90
  428. package/bin/src/forms/domains/dispatched-forms/runner/state.d.ts.map +1 -1
  429. package/bin/src/forms/domains/dispatched-forms/runner/state.js +9 -12
  430. package/bin/src/forms/domains/dispatched-forms/runner/state.js.map +1 -1
  431. package/bin/src/forms/domains/dispatched-forms/runner/template.d.ts +4 -28
  432. package/bin/src/forms/domains/dispatched-forms/runner/template.d.ts.map +1 -1
  433. package/bin/src/forms/domains/dispatched-forms/runner/template.js +19 -43
  434. package/bin/src/forms/domains/dispatched-forms/runner/template.js.map +1 -1
  435. package/bin/src/forms/domains/launcher/coroutines/runner.d.ts +4 -12
  436. package/bin/src/forms/domains/launcher/coroutines/runner.js +45 -120
  437. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.d.ts +3 -16
  438. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +101 -240
  439. package/bin/src/forms/domains/launcher/domains/create/state.d.ts +121 -236
  440. package/bin/src/forms/domains/launcher/domains/create/state.js +17 -62
  441. package/bin/src/forms/domains/launcher/domains/create/template.d.ts +6 -20
  442. package/bin/src/forms/domains/launcher/domains/create/template.js +42 -84
  443. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.d.ts +3 -16
  444. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +103 -242
  445. package/bin/src/forms/domains/launcher/domains/edit/state.d.ts +121 -230
  446. package/bin/src/forms/domains/launcher/domains/edit/state.js +17 -62
  447. package/bin/src/forms/domains/launcher/domains/edit/template.d.ts +6 -20
  448. package/bin/src/forms/domains/launcher/domains/edit/template.js +43 -86
  449. package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
  450. package/bin/src/forms/domains/launcher/domains/merger/state.js +26 -35
  451. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.d.ts +5 -20
  452. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +42 -88
  453. package/bin/src/forms/domains/launcher/domains/passthrough/state.d.ts +58 -123
  454. package/bin/src/forms/domains/launcher/domains/passthrough/state.js +19 -44
  455. package/bin/src/forms/domains/launcher/domains/passthrough/template.d.ts +6 -23
  456. package/bin/src/forms/domains/launcher/domains/passthrough/template.js +34 -56
  457. package/bin/src/forms/domains/launcher/state.d.ts +43 -62
  458. package/bin/src/forms/domains/launcher/state.js +6 -6
  459. package/bin/src/forms/domains/launcher/template.d.ts +15 -35
  460. package/bin/src/forms/domains/launcher/template.js +85 -169
  461. package/bin/src/forms/domains/parser/coroutines/runner.d.ts +5 -13
  462. package/bin/src/forms/domains/parser/coroutines/runner.js +25 -87
  463. package/bin/src/forms/domains/parser/domains/built-ins/state.d.ts +71 -135
  464. package/bin/src/forms/domains/parser/domains/built-ins/state.js +533 -944
  465. package/bin/src/forms/domains/parser/domains/deltas/state.d.ts +296 -417
  466. package/bin/src/forms/domains/parser/domains/deltas/state.js +318 -444
  467. package/bin/src/forms/domains/parser/domains/injectables/state.d.ts +20 -29
  468. package/bin/src/forms/domains/parser/domains/injectables/state.js +26 -29
  469. package/bin/src/forms/domains/parser/domains/layout/state.d.ts +54 -66
  470. package/bin/src/forms/domains/parser/domains/layout/state.d.ts.map +1 -1
  471. package/bin/src/forms/domains/parser/domains/layout/state.js +182 -215
  472. package/bin/src/forms/domains/parser/domains/layout/state.js.map +1 -1
  473. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.d.ts +6 -19
  474. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.d.ts.map +1 -1
  475. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +162 -306
  476. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js.map +1 -1
  477. package/bin/src/forms/domains/parser/domains/predicates/state.d.ts +363 -377
  478. package/bin/src/forms/domains/parser/domains/predicates/state.d.ts.map +1 -1
  479. package/bin/src/forms/domains/parser/domains/predicates/state.js +992 -1218
  480. package/bin/src/forms/domains/parser/domains/predicates/state.js.map +1 -1
  481. package/bin/src/forms/domains/parser/domains/renderer/state.d.ts +92 -245
  482. package/bin/src/forms/domains/parser/domains/renderer/state.js +480 -1137
  483. package/bin/src/forms/domains/parser/domains/types/state.d.ts +130 -170
  484. package/bin/src/forms/domains/parser/domains/types/state.js +170 -355
  485. package/bin/src/forms/domains/parser/domains/validator/state.d.ts +117 -143
  486. package/bin/src/forms/domains/parser/domains/validator/state.d.ts.map +1 -1
  487. package/bin/src/forms/domains/parser/domains/validator/state.js +280 -417
  488. package/bin/src/forms/domains/parser/state.d.ts +82 -217
  489. package/bin/src/forms/domains/parser/state.d.ts.map +1 -1
  490. package/bin/src/forms/domains/parser/state.js +373 -612
  491. package/bin/src/forms/domains/parser/template.d.ts +5 -13
  492. package/bin/src/forms/domains/parser/template.js +1 -1
  493. package/bin/src/forms/domains/primitives/domains/base-64-file/state.d.ts +11 -19
  494. package/bin/src/forms/domains/primitives/domains/base-64-file/state.js +5 -5
  495. package/bin/src/forms/domains/primitives/domains/base-64-file/template.d.ts +7 -18
  496. package/bin/src/forms/domains/primitives/domains/base-64-file/template.js +19 -38
  497. package/bin/src/forms/domains/primitives/domains/boolean/state.d.ts +11 -19
  498. package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
  499. package/bin/src/forms/domains/primitives/domains/boolean/template.d.ts +8 -24
  500. package/bin/src/forms/domains/primitives/domains/boolean/template.js +19 -38
  501. package/bin/src/forms/domains/primitives/domains/date/state.d.ts +20 -39
  502. package/bin/src/forms/domains/primitives/domains/date/state.js +9 -18
  503. package/bin/src/forms/domains/primitives/domains/date/template.d.ts +7 -18
  504. package/bin/src/forms/domains/primitives/domains/date/template.js +25 -51
  505. package/bin/src/forms/domains/primitives/domains/enum/state.d.ts +15 -31
  506. package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
  507. package/bin/src/forms/domains/primitives/domains/enum/template.d.ts +7 -18
  508. package/bin/src/forms/domains/primitives/domains/enum/template.js +48 -117
  509. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.d.ts +8 -17
  510. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
  511. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.d.ts +7 -18
  512. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +40 -99
  513. package/bin/src/forms/domains/primitives/domains/list/state.d.ts +24 -45
  514. package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
  515. package/bin/src/forms/domains/primitives/domains/list/template.d.ts +13 -38
  516. package/bin/src/forms/domains/primitives/domains/list/template.js +71 -200
  517. package/bin/src/forms/domains/primitives/domains/map/state.d.ts +29 -68
  518. package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
  519. package/bin/src/forms/domains/primitives/domains/map/template.d.ts +25 -65
  520. package/bin/src/forms/domains/primitives/domains/map/template.js +103 -294
  521. package/bin/src/forms/domains/primitives/domains/number/state.d.ts +11 -19
  522. package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
  523. package/bin/src/forms/domains/primitives/domains/number/template.d.ts +8 -24
  524. package/bin/src/forms/domains/primitives/domains/number/template.js +19 -38
  525. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.d.ts +42 -89
  526. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +16 -33
  527. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.d.ts +8 -22
  528. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +62 -171
  529. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.d.ts +9 -18
  530. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.js +1 -1
  531. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.d.ts +7 -18
  532. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.js +69 -182
  533. package/bin/src/forms/domains/primitives/domains/secret/state.d.ts +11 -19
  534. package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
  535. package/bin/src/forms/domains/primitives/domains/secret/template.d.ts +7 -18
  536. package/bin/src/forms/domains/primitives/domains/secret/template.js +19 -38
  537. package/bin/src/forms/domains/primitives/domains/string/state.d.ts +13 -21
  538. package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
  539. package/bin/src/forms/domains/primitives/domains/string/template.d.ts +7 -18
  540. package/bin/src/forms/domains/primitives/domains/string/template.js +22 -42
  541. package/bin/src/forms/domains/primitives/domains/sum/state.d.ts +22 -62
  542. package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
  543. package/bin/src/forms/domains/primitives/domains/sum/template.d.ts +16 -48
  544. package/bin/src/forms/domains/primitives/domains/sum/template.js +50 -141
  545. package/bin/src/forms/domains/primitives/domains/tuple/state.d.ts +23 -48
  546. package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
  547. package/bin/src/forms/domains/primitives/domains/tuple/template.d.ts +18 -46
  548. package/bin/src/forms/domains/primitives/domains/tuple/template.js +33 -100
  549. package/bin/src/forms/domains/primitives/domains/unit/state.d.ts +10 -17
  550. package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
  551. package/bin/src/forms/domains/primitives/domains/unit/template.d.ts +4 -9
  552. package/bin/src/forms/domains/primitives/domains/unit/template.js +9 -22
  553. package/bin/src/forms/domains/singleton/domains/form-label/state.d.ts +4 -4
  554. package/bin/src/forms/domains/singleton/domains/form-label/state.js +1 -1
  555. package/bin/src/forms/domains/singleton/state.d.ts +43 -144
  556. package/bin/src/forms/domains/singleton/state.js +10 -12
  557. package/bin/src/forms/domains/singleton/template.d.ts +88 -177
  558. package/bin/src/forms/domains/singleton/template.js +113 -288
  559. package/bin/src/fun/domains/curry/state.d.ts +2 -4
  560. package/bin/src/fun/domains/curry/state.js +1 -1
  561. package/bin/src/fun/domains/id/state.d.ts +1 -1
  562. package/bin/src/fun/domains/id/state.js +1 -1
  563. package/bin/src/fun/domains/predicate/domains/bool-expr.d.ts +41 -57
  564. package/bin/src/fun/domains/predicate/domains/bool-expr.js +67 -76
  565. package/bin/src/fun/domains/predicate/state.d.ts +7 -9
  566. package/bin/src/fun/domains/predicate/state.js +10 -14
  567. package/bin/src/fun/domains/simpleCallback/state.d.ts +1 -1
  568. package/bin/src/fun/domains/simpleCallback/state.js +1 -1
  569. package/bin/src/fun/domains/uncurry/state.d.ts +2 -4
  570. package/bin/src/fun/domains/uncurry/state.js +1 -1
  571. package/bin/src/fun/domains/unit/state.d.ts +1 -1
  572. package/bin/src/fun/domains/unit/state.js +1 -1
  573. package/bin/src/fun/domains/updater/domains/caseUpdater/state.d.ts +7 -22
  574. package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +10 -18
  575. package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +13 -24
  576. package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +10 -40
  577. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +13 -19
  578. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +9 -20
  579. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +13 -24
  580. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +11 -47
  581. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +8 -20
  582. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +5 -17
  583. package/bin/src/fun/domains/updater/domains/replaceWith/state.d.ts +1 -1
  584. package/bin/src/fun/domains/updater/domains/replaceWith/state.js +1 -1
  585. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts +4 -13
  586. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +4 -6
  587. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +22 -60
  588. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +31 -42
  589. package/bin/src/fun/domains/updater/state.d.ts +4 -4
  590. package/bin/src/fun/domains/updater/state.js +10 -12
  591. package/bin/src/fun/state.d.ts +3 -3
  592. package/bin/src/fun/state.js +7 -9
  593. package/bin/src/infinite-data-stream/coroutines/builder.d.ts +27 -209
  594. package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
  595. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.d.ts +5 -21
  596. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +20 -47
  597. package/bin/src/infinite-data-stream/coroutines/runner.d.ts +3 -11
  598. package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
  599. package/bin/src/infinite-data-stream/state.d.ts +51 -84
  600. package/bin/src/infinite-data-stream/state.js +61 -125
  601. package/bin/src/infinite-data-stream/template.d.ts +3 -10
  602. package/bin/src/infinite-data-stream/template.js +2 -3
  603. package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
  604. package/bin/src/math/domains/DOMRect/state.js +8 -10
  605. package/bin/src/math/domains/number/state.d.ts +5 -5
  606. package/bin/src/math/domains/number/state.js +5 -5
  607. package/bin/src/math/domains/rect/state.d.ts +8 -8
  608. package/bin/src/math/domains/rect/state.js +15 -16
  609. package/bin/src/math/domains/rgba/state.d.ts +17 -17
  610. package/bin/src/math/domains/rgba/state.js +81 -77
  611. package/bin/src/math/domains/size2/state.d.ts +8 -8
  612. package/bin/src/math/domains/size2/state.js +6 -6
  613. package/bin/src/math/domains/vector2/state.d.ts +10 -10
  614. package/bin/src/math/domains/vector2/state.js +8 -8
  615. package/bin/src/queue/state.d.ts +7 -19
  616. package/bin/src/queue/state.d.ts.map +1 -1
  617. package/bin/src/queue/state.js +17 -25
  618. package/bin/src/queue/state.js.map +1 -1
  619. package/bin/src/state/domains/repository/state.d.ts +9 -15
  620. package/bin/src/state/domains/repository/state.js +1 -1
  621. package/bin/src/template/state.d.ts +45 -153
  622. package/bin/src/template/state.js +115 -163
  623. package/bin/src/validation/state.d.ts +9 -23
  624. package/bin/src/validation/state.js +45 -38
  625. package/bin/src/value/domains/mutable-value/state.d.ts +3 -3
  626. package/bin/src/value/domains/mutable-value/state.js +2 -3
  627. package/bin/src/value/state.d.ts +9 -9
  628. package/bin/src/value/state.js +8 -11
  629. package/bin/src/value-infinite-data-stream/coroutines/builder.d.ts +25 -207
  630. package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
  631. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.d.ts +4 -6
  632. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.d.ts.map +1 -1
  633. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +24 -45
  634. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js.map +1 -1
  635. package/bin/src/value-infinite-data-stream/coroutines/runner.d.ts +2 -8
  636. package/bin/src/value-infinite-data-stream/coroutines/runner.js +4 -6
  637. package/bin/src/value-infinite-data-stream/coroutines/runner.js.map +1 -1
  638. package/bin/src/value-infinite-data-stream/state.d.ts +68 -132
  639. package/bin/src/value-infinite-data-stream/state.d.ts.map +1 -1
  640. package/bin/src/value-infinite-data-stream/state.js +77 -187
  641. package/bin/src/value-infinite-data-stream/state.js.map +1 -1
  642. package/bin/src/value-infinite-data-stream/template.d.ts +2 -7
  643. package/bin/src/value-infinite-data-stream/template.js +2 -4
  644. package/bin/src/visibility/state.d.ts +2 -5
  645. package/bin/src/visibility/state.js +1 -1
  646. package/package.json +1 -1
  647. package/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.ts +0 -5
  648. package/src/forms/domains/dispatched-forms/deserializer/state.ts +19 -30
  649. package/src/forms/domains/dispatched-forms/runner/coroutines/runner.ts +45 -5
  650. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.ts +2 -2
  651. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.ts +3 -5
  652. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.ts +2 -2
  653. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.ts +2 -2
  654. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.ts +3 -3
  655. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.ts +4 -4
  656. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.ts +2 -1
  657. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.ts +2 -3
  658. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.ts +2 -2
  659. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.ts +4 -5
  660. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.ts +2 -4
  661. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.ts +2 -2
  662. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.ts +6 -9
  663. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.ts +2 -1
  664. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.ts +2 -1
  665. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.ts +3 -5
  666. package/src/forms/domains/dispatched-forms/runner/state.ts +14 -0
  667. package/src/forms/domains/dispatched-forms/runner/template.tsx +1 -0
@@ -1,1449 +1,785 @@
1
1
  import { Map, List, OrderedMap } from "immutable";
2
- import {
3
- CollectionReference,
4
- EnumReference,
5
- } from "../../collection/domains/reference/state";
2
+ import { CollectionReference, EnumReference, } from "../../collection/domains/reference/state";
6
3
  import { ValueOrErrors } from "../../../../collections/domains/valueOrErrors/state";
7
- import {
8
- PredicateValue,
9
- replaceWith,
10
- Sum,
11
- unit,
12
- RecordAbstractRendererState,
13
- TableAbstractRendererState,
14
- MapRepo,
15
- ValueTable,
16
- DispatchCommonFormState,
17
- UnionAbstractRendererState,
18
- OneAbstractRendererState,
19
- } from "../../../../../main";
20
- import { DispatchParsedType } from "../deserializer/domains/specification/domains/types/state";
21
- import { UnitAbstractRendererState } from "../runner/domains/abstract-renderers/unit/state";
22
- import { StringAbstractRendererState } from "../runner/domains/abstract-renderers/string/state";
23
- import { NumberAbstractRendererState } from "../runner/domains/abstract-renderers/number/state";
24
- import { BoolAbstractRendererState } from "../runner/domains/abstract-renderers/boolean/state";
25
- import { DateAbstractRendererState } from "../runner/domains/abstract-renderers/date/state";
26
- import { Base64FileAbstractRendererState } from "../runner/domains/abstract-renderers/base-64-file/state";
27
- import { SecretAbstractRendererState } from "../runner/domains/abstract-renderers/secret/state";
28
- import { MapAbstractRendererState } from "../runner/domains/abstract-renderers/map/state";
29
- import { TupleAbstractRendererState } from "../runner/domains/abstract-renderers/tuple/state";
30
- import { SumAbstractRendererState } from "../runner/domains/abstract-renderers/sum/state";
31
- import { EnumAbstractRendererState } from "../runner/domains/abstract-renderers/enum/state";
32
- import { ListAbstractRendererState } from "../runner/domains/abstract-renderers/list/state";
33
- import { SearchableInfiniteStreamAbstractRendererState } from "../runner/domains/abstract-renderers/searchable-infinite-stream/state";
4
+ import { PredicateValue, replaceWith, Sum, unit, RecordAbstractRendererState, TableAbstractRendererState, MapRepo, ValueTable, DispatchCommonFormState, UnionAbstractRendererState, OneAbstractRendererState, } from "../../../../../main";
5
+ import { DispatchParsedType, } from "../deserializer/domains/specification/domains/types/state";
6
+ import { UnitAbstractRendererState, } from "../runner/domains/abstract-renderers/unit/state";
7
+ import { StringAbstractRendererState, } from "../runner/domains/abstract-renderers/string/state";
8
+ import { NumberAbstractRendererState, } from "../runner/domains/abstract-renderers/number/state";
9
+ import { BoolAbstractRendererState, } from "../runner/domains/abstract-renderers/boolean/state";
10
+ import { DateAbstractRendererState, } from "../runner/domains/abstract-renderers/date/state";
11
+ import { Base64FileAbstractRendererState, } from "../runner/domains/abstract-renderers/base-64-file/state";
12
+ import { SecretAbstractRendererState, } from "../runner/domains/abstract-renderers/secret/state";
13
+ import { ReadOnlyAbstractRendererState } from "../runner/domains/abstract-renderers/readOnly/state";
14
+ import { MapAbstractRendererState, } from "../runner/domains/abstract-renderers/map/state";
15
+ import { TupleAbstractRendererState, } from "../runner/domains/abstract-renderers/tuple/state";
16
+ import { SumAbstractRendererState, } from "../runner/domains/abstract-renderers/sum/state";
17
+ import { EnumAbstractRendererState, } from "../runner/domains/abstract-renderers/enum/state";
18
+ import { ListAbstractRendererState, } from "../runner/domains/abstract-renderers/list/state";
19
+ import { SearchableInfiniteStreamAbstractRendererState, } from "../runner/domains/abstract-renderers/searchable-infinite-stream/state";
34
20
  import { LookupRenderer } from "../deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state";
35
- const sortObjectKeys = (obj) =>
36
- Object.keys(obj)
21
+ const sortObjectKeys = (obj) => Object.keys(obj)
37
22
  .sort()
38
23
  .reduce((sortedObj, key) => {
39
- sortedObj[key] = obj[key];
40
- return sortedObj;
41
- }, {});
24
+ sortedObj[key] = obj[key];
25
+ return sortedObj;
26
+ }, {});
42
27
  const simpleMapKeyToIdentifer = (key) => {
43
- if (typeof key == "object") return JSON.stringify(sortObjectKeys(key));
44
- return JSON.stringify(key);
28
+ if (typeof key == "object")
29
+ return JSON.stringify(sortObjectKeys(key));
30
+ return JSON.stringify(key);
45
31
  };
46
32
  export const DispatchGenericTypes = [
47
- "SingleSelection",
48
- "MultiSelection",
49
- "List",
50
- "Map",
51
- "Union",
52
- "Tuple",
53
- "Option",
54
- "Sum",
55
- "KeyOf",
56
- "Table",
57
- "One",
33
+ "SingleSelection",
34
+ "MultiSelection",
35
+ "List",
36
+ "Map",
37
+ "Union",
38
+ "Tuple",
39
+ "Option",
40
+ "Sum",
41
+ "KeyOf",
42
+ "Table",
43
+ "One",
44
+ "ReadOnly",
58
45
  ];
59
46
  export const concreteRendererToKind = (concreteRenderers) => (name) => {
60
- const viewTypes = Object.keys(concreteRenderers);
61
- for (const viewType of viewTypes) {
62
- if (name in concreteRenderers[viewType]) {
63
- return ValueOrErrors.Default.return(viewType);
47
+ const viewTypes = Object.keys(concreteRenderers);
48
+ for (const viewType of viewTypes) {
49
+ if (name in concreteRenderers[viewType]) {
50
+ return ValueOrErrors.Default.return(viewType);
51
+ }
64
52
  }
65
- }
66
- return ValueOrErrors.Default.throwOne(
67
- `cannot find view ${name} in concrete renderers`,
68
- );
53
+ return ValueOrErrors.Default.throwOne(`cannot find view ${name} in concrete renderers`);
69
54
  };
70
55
  export const tryGetConcreteRenderer = (concreteRenderers) => (kind, name) => {
71
- if (!concreteRenderers[kind]) {
72
- return ValueOrErrors.Default.throwOne(
73
- `cannot find concrete renderer kind "${kind}" in concrete renderers`,
74
- );
75
- }
76
- if (concreteRenderers[kind][name]) {
77
- return ValueOrErrors.Default.return(concreteRenderers[kind][name]());
78
- }
79
- return ValueOrErrors.Default.throwOne(
80
- `cannot find concrete renderer "${name}" in kind "${kind}"`,
81
- );
56
+ if (!concreteRenderers[kind]) {
57
+ return ValueOrErrors.Default.throwOne(`cannot find concrete renderer kind "${kind}" in concrete renderers`);
58
+ }
59
+ if (concreteRenderers[kind][name]) {
60
+ return ValueOrErrors.Default.return(concreteRenderers[kind][name]());
61
+ }
62
+ return ValueOrErrors.Default.throwOne(`cannot find concrete renderer "${name}" in kind "${kind}"`);
82
63
  };
83
- export const getDefaultRecordRenderer = (
84
- isNested,
85
- defaultRecordRenderer,
86
- defaultNestedRecordRenderer,
87
- ) => (isNested ? defaultNestedRecordRenderer() : defaultRecordRenderer());
88
- export const dispatchDefaultState =
89
- (
90
- infiniteStreamSources,
91
- injectedPrimitives,
92
- types,
93
- forms,
94
- converters,
95
- lookupSources,
96
- tableApiSources,
97
- ) =>
98
- (t, renderer) => {
64
+ export const getDefaultRecordRenderer = (isNested, defaultRecordRenderer, defaultNestedRecordRenderer) => (isNested ? defaultNestedRecordRenderer() : defaultRecordRenderer());
65
+ export const dispatchDefaultState = (infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis) => (t, renderer) => {
99
66
  const result = (() => {
100
- if (renderer == undefined) {
101
- return ValueOrErrors.Default.return(undefined);
102
- }
103
- if (renderer.kind == "lookupType-lookupRenderer") {
104
- return DispatchParsedType.Operations.ResolveLookupType(
105
- renderer.type.name,
106
- types,
107
- ).Then((resolvedType) =>
108
- LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then(
109
- (resolvedRenderer) =>
110
- dispatchDefaultState(
111
- infiniteStreamSources,
112
- injectedPrimitives,
113
- types,
114
- forms,
115
- converters,
116
- lookupSources,
117
- tableApiSources,
118
- )(resolvedType, resolvedRenderer),
119
- ),
120
- );
121
- }
122
- if (renderer.kind == "lookupType-inlinedRenderer") {
123
- return DispatchParsedType.Operations.ResolveLookupType(
124
- renderer.type.name,
125
- types,
126
- ).Then((resolvedType) =>
127
- dispatchDefaultState(
128
- infiniteStreamSources,
129
- injectedPrimitives,
130
- types,
131
- forms,
132
- converters,
133
- lookupSources,
134
- tableApiSources,
135
- )(resolvedType, renderer.inlinedRenderer),
136
- );
137
- }
138
- if (renderer.kind == "inlinedType-lookupRenderer") {
139
- return LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then(
140
- (resolvedRenderer) =>
141
- dispatchDefaultState(
142
- infiniteStreamSources,
143
- injectedPrimitives,
144
- types,
145
- forms,
146
- converters,
147
- lookupSources,
148
- tableApiSources,
149
- )(renderer.type, resolvedRenderer),
150
- );
151
- }
152
- if (t.kind == "primitive")
153
- return t.name == "unit"
154
- ? ValueOrErrors.Default.return(UnitAbstractRendererState.Default())
155
- : t.name == "boolean"
156
- ? ValueOrErrors.Default.return(BoolAbstractRendererState.Default())
157
- : t.name == "number"
158
- ? ValueOrErrors.Default.return(
159
- NumberAbstractRendererState.Default(),
160
- )
161
- : t.name == "string"
162
- ? ValueOrErrors.Default.return(
163
- StringAbstractRendererState.Default(),
164
- )
165
- : t.name == "base64File"
166
- ? ValueOrErrors.Default.return(
167
- Base64FileAbstractRendererState.Default(),
168
- )
169
- : t.name == "secret"
170
- ? ValueOrErrors.Default.return(
171
- SecretAbstractRendererState.Default(),
172
- )
173
- : t.name == "Date"
174
- ? ValueOrErrors.Default.return(
175
- DateAbstractRendererState.Default(),
176
- )
177
- : (injectedPrimitives === null ||
178
- injectedPrimitives === void 0
179
- ? void 0
180
- : injectedPrimitives.get(t.name)) != undefined
181
- ? ValueOrErrors.Default.return(
182
- Object.assign(
183
- {
184
- commonFormState:
185
- DispatchCommonFormState.Default(),
186
- },
187
- injectedPrimitives === null ||
188
- injectedPrimitives === void 0
189
- ? void 0
190
- : injectedPrimitives.get(t.name).defaultState,
191
- ),
192
- )
193
- : ValueOrErrors.Default.throwOne(
194
- `could not resolve defaultState for primitive renderer kind "${t.name}"`,
195
- );
196
- if (t.kind == "singleSelection")
197
- return renderer.kind == "enumRenderer"
198
- ? ValueOrErrors.Default.return(EnumAbstractRendererState().Default())
199
- : renderer.kind == "streamRenderer"
200
- ? infiniteStreamSources(renderer.stream).Then((streamSource) =>
201
- ValueOrErrors.Default.return(
202
- SearchableInfiniteStreamAbstractRendererState.Default(
203
- streamSource,
204
- ),
205
- ),
206
- )
207
- : ValueOrErrors.Default.throwOne(
208
- `received non singleSelection renderer kind "${renderer.kind}" when resolving defaultState for singleSelection`,
209
- );
210
- if (t.kind == "multiSelection")
211
- return renderer.kind == "enumRenderer"
212
- ? ValueOrErrors.Default.return(EnumAbstractRendererState().Default())
213
- : renderer.kind == "streamRenderer"
214
- ? infiniteStreamSources(renderer.stream).Then((streamSource) =>
215
- ValueOrErrors.Default.return(
216
- SearchableInfiniteStreamAbstractRendererState.Default(
217
- streamSource,
218
- ),
219
- ),
220
- )
221
- : ValueOrErrors.Default.throwOne(
222
- `received non multiSelection renderer kind "${renderer.kind}" when resolving defaultState for multiSelection`,
223
- );
224
- if (t.kind == "list")
225
- return renderer.kind == "listRenderer"
226
- ? ValueOrErrors.Default.return(
227
- ListAbstractRendererState.Default.zero(),
228
- )
229
- : ValueOrErrors.Default.throwOne(
230
- `received non list renderer kind "${renderer.kind}" when resolving defaultState for list`,
231
- );
232
- if (t.kind == "map")
233
- return renderer.kind == "mapRenderer"
234
- ? ValueOrErrors.Default.return(
235
- MapAbstractRendererState.Default.zero(),
236
- )
237
- : ValueOrErrors.Default.throwOne(
238
- `received non map renderer kind "${renderer.kind}" when resolving defaultState for map`,
239
- );
240
- if (t.kind == "tuple")
241
- return renderer.kind == "tupleRenderer"
242
- ? ValueOrErrors.Operations.All(
243
- List(
244
- t.args.map((_, index) =>
245
- dispatchDefaultState(
246
- infiniteStreamSources,
247
- injectedPrimitives,
248
- types,
249
- forms,
250
- converters,
251
- lookupSources,
252
- tableApiSources,
253
- )(_, renderer.itemRenderers[index].renderer).Then(
254
- (itemState) =>
255
- ValueOrErrors.Default.return([index, itemState]),
256
- ),
257
- ),
258
- ),
259
- ).Then((itemStates) =>
260
- ValueOrErrors.Default.return(
261
- TupleAbstractRendererState.Default(Map(itemStates)),
262
- ),
263
- )
264
- : ValueOrErrors.Default.throwOne(
265
- `received non tuple renderer kind "${renderer.kind}" when resolving defaultState for tuple`,
266
- );
267
- if (t.kind == "sum")
268
- return renderer.kind == "sumRenderer"
269
- ? dispatchDefaultState(
270
- infiniteStreamSources,
271
- injectedPrimitives,
272
- types,
273
- forms,
274
- converters,
275
- lookupSources,
276
- tableApiSources,
277
- )(t.args[0], renderer.leftRenderer.renderer).Then((left) =>
278
- renderer.rightRenderer == undefined
279
- ? ValueOrErrors.Default.throwOne(
280
- `rightRenderer is undefined when resolving defaultState sum view ${renderer.concreteRenderer}`,
281
- )
282
- : dispatchDefaultState(
283
- infiniteStreamSources,
284
- injectedPrimitives,
285
- types,
286
- forms,
287
- converters,
288
- lookupSources,
289
- tableApiSources,
290
- )(t.args[1], renderer.rightRenderer.renderer).Then((right) =>
291
- ValueOrErrors.Default.return(
292
- SumAbstractRendererState.Default({
67
+ var _a, _b, _c, _d;
68
+ if (renderer == undefined) {
69
+ return ValueOrErrors.Default.return(undefined);
70
+ }
71
+ if (renderer.kind == "lookupType-lookupRenderer") {
72
+ return DispatchParsedType.Operations.ResolveLookupType(renderer.type.name, types).Then((resolvedType) => LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then((resolvedRenderer) => dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(resolvedType, resolvedRenderer)));
73
+ }
74
+ if (renderer.kind == "lookupType-inlinedRenderer") {
75
+ return DispatchParsedType.Operations.ResolveLookupType(renderer.type.name, types).Then((resolvedType) => dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(resolvedType, renderer.inlinedRenderer));
76
+ }
77
+ if (renderer.kind == "inlinedType-lookupRenderer") {
78
+ return LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then((resolvedRenderer) => dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(renderer.type, resolvedRenderer));
79
+ }
80
+ if (t.kind == "primitive")
81
+ return t.name == "unit"
82
+ ? ValueOrErrors.Default.return(UnitAbstractRendererState.Default())
83
+ : t.name == "boolean"
84
+ ? ValueOrErrors.Default.return(BoolAbstractRendererState.Default())
85
+ : t.name == "number"
86
+ ? ValueOrErrors.Default.return(NumberAbstractRendererState.Default())
87
+ : t.name == "string" ||
88
+ t.name == "entityIdString" ||
89
+ t.name == "calculatedDisplayValue"
90
+ ? ValueOrErrors.Default.return(StringAbstractRendererState.Default())
91
+ : t.name == "base64File"
92
+ ? ValueOrErrors.Default.return(Base64FileAbstractRendererState.Default())
93
+ : t.name == "secret"
94
+ ? ValueOrErrors.Default.return(SecretAbstractRendererState.Default())
95
+ : t.name == "Date"
96
+ ? ValueOrErrors.Default.return(DateAbstractRendererState.Default())
97
+ : (injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.get(t.name)) != undefined
98
+ ? ValueOrErrors.Default.return(Object.assign({ commonFormState: DispatchCommonFormState.Default() }, injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.get(t.name).defaultState))
99
+ : ValueOrErrors.Default.throwOne(`could not resolve defaultState for primitive renderer kind "${t.name}"`);
100
+ if (t.kind == "singleSelection")
101
+ return renderer.kind == "enumRenderer"
102
+ ? ValueOrErrors.Default.return(EnumAbstractRendererState().Default())
103
+ : renderer.kind == "streamRenderer"
104
+ ? infiniteStreamSources(renderer.stream).Then((streamSource) => ValueOrErrors.Default.return(SearchableInfiniteStreamAbstractRendererState.Default(streamSource)))
105
+ : ValueOrErrors.Default.throwOne(`received non singleSelection renderer kind "${renderer.kind}" when resolving defaultState for singleSelection`);
106
+ if (t.kind == "multiSelection")
107
+ return renderer.kind == "enumRenderer"
108
+ ? ValueOrErrors.Default.return(EnumAbstractRendererState().Default())
109
+ : renderer.kind == "streamRenderer"
110
+ ? infiniteStreamSources(renderer.stream).Then((streamSource) => ValueOrErrors.Default.return(SearchableInfiniteStreamAbstractRendererState.Default(streamSource)))
111
+ : ValueOrErrors.Default.throwOne(`received non multiSelection renderer kind "${renderer.kind}" when resolving defaultState for multiSelection`);
112
+ if (t.kind == "list")
113
+ return renderer.kind == "listRenderer"
114
+ ? ValueOrErrors.Default.return(ListAbstractRendererState.Default.zero())
115
+ : ValueOrErrors.Default.throwOne(`received non list renderer kind "${renderer.kind}" when resolving defaultState for list`);
116
+ if (t.kind == "map")
117
+ return renderer.kind == "mapRenderer"
118
+ ? ValueOrErrors.Default.return(MapAbstractRendererState.Default.zero())
119
+ : ValueOrErrors.Default.throwOne(`received non map renderer kind "${renderer.kind}" when resolving defaultState for map`);
120
+ if (t.kind == "tuple")
121
+ return renderer.kind == "tupleRenderer"
122
+ ? ValueOrErrors.Operations.All(List(t.args.map((_, index) => dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(_, renderer.itemRenderers[index].renderer).Then((itemState) => ValueOrErrors.Default.return([index, itemState]))))).Then((itemStates) => ValueOrErrors.Default.return(TupleAbstractRendererState.Default(Map(itemStates))))
123
+ : ValueOrErrors.Default.throwOne(`received non tuple renderer kind "${renderer.kind}" when resolving defaultState for tuple`);
124
+ if (t.kind == "sum")
125
+ return renderer.kind == "sumRenderer"
126
+ ? dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(t.args[0], renderer.leftRenderer.renderer).Then((left) => renderer.rightRenderer == undefined
127
+ ? ValueOrErrors.Default.throwOne(`rightRenderer is undefined when resolving defaultState sum view ${renderer.concreteRenderer}`)
128
+ : dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(t.args[1], renderer.rightRenderer.renderer).Then((right) => ValueOrErrors.Default.return(SumAbstractRendererState.Default({
293
129
  left,
294
130
  right,
295
- }),
296
- ),
297
- ),
298
- )
299
- : renderer.kind == "sumUnitDateRenderer"
300
- ? ValueOrErrors.Default.return(
301
- SumAbstractRendererState.Default({
302
- left: UnitAbstractRendererState.Default(),
303
- right: DateAbstractRendererState.Default(),
304
- }),
305
- )
306
- : ValueOrErrors.Default.throwOne(
307
- `renderer kind "${renderer.kind}" not supported for sum`,
308
- );
309
- if (t.kind == "one")
310
- return renderer.kind != "oneRenderer"
311
- ? ValueOrErrors.Default.throwOne(
312
- `received non one renderer kind "${renderer.kind}" when resolving defaultState for one`,
313
- )
314
- : lookupSources == undefined
315
- ? ValueOrErrors.Default.throwOne(
316
- `lookup sources referenced but no lookup sources are provided`,
317
- )
318
- : lookupSources(renderer.api[0]) == undefined
319
- ? ValueOrErrors.Default.throwOne(
320
- `cannot find lookup source for ${renderer.api[0]}`,
321
- )
322
- : lookupSources(renderer.api[0]).Then((lookupSource) =>
323
- lookupSource.one == undefined
324
- ? ValueOrErrors.Default.throwOne(
325
- `one source not provided for ${renderer.api[0]}`,
326
- )
327
- : lookupSource
328
- .one(renderer.api[1]) // safe because we check for undefined above but type system doesn't know that
329
- .Then((oneSource) =>
330
- MapRepo.Operations.tryFindWithError(
331
- t.arg.name,
332
- types,
333
- () =>
334
- `cannot find lookup type ${JSON.stringify(t.arg.name)} in ${JSON.stringify(t)}`,
335
- ).Then((lookupType) =>
336
- ValueOrErrors.Default.return(
337
- OneAbstractRendererState.Default(
338
- oneSource.getManyUnlinked(
339
- dispatchFromAPIRawValue(
340
- lookupType,
341
- types,
342
- converters,
343
- injectedPrimitives,
344
- ),
345
- ),
346
- ),
347
- ),
348
- ),
349
- ),
350
- );
351
- if (t.kind == "record")
352
- return renderer.kind == "recordRenderer"
353
- ? ValueOrErrors.Operations.All(
354
- List(
355
- renderer.fields
356
- .entrySeq()
357
- .map(([fieldName, fieldRenderer]) =>
358
- MapRepo.Operations.tryFindWithError(
359
- fieldName,
360
- t.fields,
361
- () =>
362
- `field ${fieldName} not found in renderer ${JSON.stringify(renderer.fields)} fields`,
363
- ).Then((fieldType) =>
364
- dispatchDefaultState(
365
- infiniteStreamSources,
366
- injectedPrimitives,
367
- types,
368
- forms,
369
- converters,
370
- lookupSources,
371
- tableApiSources,
372
- )(fieldType, fieldRenderer.renderer).Then((value) =>
373
- ValueOrErrors.Default.return([fieldName, value]),
374
- ),
375
- ),
376
- ),
377
- ),
378
- ).Then((res) =>
379
- ValueOrErrors.Default.return(
380
- RecordAbstractRendererState.Default.fieldState(Map(res)),
381
- ),
382
- )
383
- : ValueOrErrors.Default.throwOne(
384
- `received non record renderer kind "${renderer.kind}" when resolving defaultValue for record`,
385
- );
386
- if (t.kind == "union") {
387
- return renderer.kind == "unionRenderer"
388
- ? ValueOrErrors.Operations.All(
389
- List(
390
- renderer.cases
391
- .entrySeq()
392
- .map(([caseName, caseRenderer]) =>
393
- MapRepo.Operations.tryFindWithError(
394
- caseName,
395
- t.args,
396
- () =>
397
- `case ${caseName} not found in type ${JSON.stringify(t)}`,
398
- ).Then((caseType) =>
399
- dispatchDefaultState(
400
- infiniteStreamSources,
401
- injectedPrimitives,
402
- types,
403
- forms,
404
- converters,
405
- lookupSources,
406
- tableApiSources,
407
- )(caseType, caseRenderer).Then((caseState) =>
408
- ValueOrErrors.Default.return([caseName, caseState]),
409
- ),
410
- ),
411
- ),
412
- ),
413
- ).Then((caseStates) =>
414
- ValueOrErrors.Default.return(
415
- UnionAbstractRendererState.Default(Map(caseStates)),
416
- ),
417
- )
418
- : ValueOrErrors.Default.throwOne(
419
- `received non union renderer kind "${renderer.kind}" when resolving defaultState for union`,
420
- );
421
- }
422
- if (t.kind == "table") {
423
- return renderer.kind == "tableRenderer"
424
- ? ValueOrErrors.Default.return(TableAbstractRendererState.Default())
425
- : ValueOrErrors.Default.throwOne(
426
- `received non table renderer kind "${renderer.kind}" when resolving defaultState for table`,
427
- );
428
- }
429
- return ValueOrErrors.Default.throwOne(
430
- `type of kind "${JSON.stringify(t)}" not supported by defaultState`,
431
- );
131
+ }))))
132
+ : renderer.kind == "sumUnitDateRenderer"
133
+ ? ValueOrErrors.Default.return(SumAbstractRendererState.Default({
134
+ left: UnitAbstractRendererState.Default(),
135
+ right: DateAbstractRendererState.Default(),
136
+ }))
137
+ : ValueOrErrors.Default.throwOne(`renderer kind "${renderer.kind}" not supported for sum`);
138
+ if (t.kind == "one")
139
+ return renderer.kind != "oneRenderer"
140
+ ? ValueOrErrors.Default.throwOne(`received non one renderer kind "${renderer.kind}" when resolving defaultState for one`)
141
+ : specApis.lookups != undefined &&
142
+ specApis.lookups.get(renderer.api[0]) != undefined &&
143
+ ((_a = specApis.lookups.get(renderer.api[0])) === null || _a === void 0 ? void 0 : _a.one) != undefined &&
144
+ ((_b = specApis.lookups.get(renderer.api[0])) === null || _b === void 0 ? void 0 : _b.one.get(renderer.api[1])) !=
145
+ undefined &&
146
+ ((_d = (_c = specApis.lookups.get(renderer.api[0])) === null || _c === void 0 ? void 0 : _c.one.get(renderer.api[1])) === null || _d === void 0 ? void 0 : _d.methods.getManyUnlinked)
147
+ ? lookupSources == undefined
148
+ ? ValueOrErrors.Default.throwOne(`lookup sources referenced but no lookup sources are provided`)
149
+ : lookupSources(renderer.api[0]) == undefined
150
+ ? ValueOrErrors.Default.throwOne(`cannot find lookup source for ${renderer.api[0]}`)
151
+ : lookupSources(renderer.api[0]).Then((lookupSource) => lookupSource.one == undefined
152
+ ? ValueOrErrors.Default.throwOne(`one source not provided for ${renderer.api[0]}`)
153
+ : lookupSource.one(renderer.api[1]) // safe because we check for undefined above but type system doesn't know that
154
+ .Then((oneSource) => oneSource.getManyUnlinked == undefined
155
+ ? ValueOrErrors.Default.throwOne(`getManyUnlinked not provided for ${renderer.api[0]}-${renderer.api[1]}`)
156
+ : MapRepo.Operations.tryFindWithError(t.arg.name, types, () => `cannot find lookup type ${JSON.stringify(t.arg.name)} in ${JSON.stringify(t)}`).Then((lookupType) => ValueOrErrors.Default.return(OneAbstractRendererState.Default(oneSource.getManyUnlinked(
157
+ // safe because we check for undefined above but type system doesn't know that
158
+ dispatchFromAPIRawValue(lookupType, types, converters, injectedPrimitives)))))))
159
+ : ValueOrErrors.Default.return(OneAbstractRendererState.Default(undefined));
160
+ if (t.kind == "readOnly")
161
+ return renderer.kind != "readOnlyRenderer"
162
+ ? ValueOrErrors.Default.throwOne(`received non readOnly renderer kind "${renderer.kind}" when resolving defaultState for readOnly`)
163
+ : dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(t.arg, renderer.childRenderer.renderer).Then((childState) => ValueOrErrors.Default.return(ReadOnlyAbstractRendererState.Default.childFormState(childState)));
164
+ if (t.kind == "record")
165
+ return renderer.kind == "recordRenderer"
166
+ ? ValueOrErrors.Operations.All(List(renderer.fields
167
+ .entrySeq()
168
+ .map(([fieldName, fieldRenderer]) => MapRepo.Operations.tryFindWithError(fieldName, t.fields, () => `field ${fieldName} not found in renderer ${JSON.stringify(renderer.fields)} fields`).Then((fieldType) => dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(fieldType, fieldRenderer.renderer).Then((value) => ValueOrErrors.Default.return([fieldName, value])))))).Then((res) => ValueOrErrors.Default.return(RecordAbstractRendererState.Default.fieldState(Map(res))))
169
+ : ValueOrErrors.Default.throwOne(`received non record renderer kind "${renderer.kind}" when resolving defaultValue for record`);
170
+ if (t.kind == "union") {
171
+ return renderer.kind == "unionRenderer"
172
+ ? ValueOrErrors.Operations.All(List(renderer.cases
173
+ .entrySeq()
174
+ .map(([caseName, caseRenderer]) => MapRepo.Operations.tryFindWithError(caseName, t.args, () => `case ${caseName} not found in type ${JSON.stringify(t)}`).Then((caseType) => dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(caseType, caseRenderer).Then((caseState) => ValueOrErrors.Default.return([caseName, caseState])))))).Then((caseStates) => ValueOrErrors.Default.return(UnionAbstractRendererState.Default(Map(caseStates))))
175
+ : ValueOrErrors.Default.throwOne(`received non union renderer kind "${renderer.kind}" when resolving defaultState for union`);
176
+ }
177
+ if (t.kind == "table") {
178
+ return renderer.kind == "tableRenderer"
179
+ ? ValueOrErrors.Default.return(TableAbstractRendererState.Default())
180
+ : ValueOrErrors.Default.throwOne(`received non table renderer kind "${renderer.kind}" when resolving defaultState for table`);
181
+ }
182
+ return ValueOrErrors.Default.throwOne(`type of kind "${JSON.stringify(t)}" not supported by defaultState`);
432
183
  })();
433
- return result.MapErrors((errors) =>
434
- errors.map(
435
- (error) =>
436
- `${error}\n...When resolving defaultState for ${t.kind} and renderer kind ${renderer.kind}`,
437
- ),
438
- );
439
- };
440
- export const dispatchDefaultValue =
441
- (injectedPrimitives, types, forms) => (t, renderer) => {
184
+ return result.MapErrors((errors) => errors.map((error) => `${error}\n...When resolving defaultState for ${t.kind} and renderer kind ${renderer.kind}`));
185
+ };
186
+ export const dispatchDefaultValue = (injectedPrimitives, types, forms) => (t, renderer) => {
442
187
  const result = (() => {
443
- if (renderer == undefined) {
444
- return ValueOrErrors.Default.return(PredicateValue.Default.unit());
445
- }
446
- if (renderer.kind == "lookupType-lookupRenderer")
447
- return DispatchParsedType.Operations.ResolveLookupType(
448
- renderer.type.name,
449
- types,
450
- ).Then((resolvedType) =>
451
- LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then(
452
- (resolvedRenderer) =>
453
- dispatchDefaultValue(
454
- injectedPrimitives,
455
- types,
456
- forms,
457
- )(resolvedType, resolvedRenderer),
458
- ),
459
- );
460
- if (renderer.kind == "lookupType-inlinedRenderer")
461
- return DispatchParsedType.Operations.ResolveLookupType(
462
- renderer.type.name,
463
- types,
464
- ).Then((resolvedType) =>
465
- dispatchDefaultValue(
466
- injectedPrimitives,
467
- types,
468
- forms,
469
- )(resolvedType, renderer.inlinedRenderer),
470
- );
471
- if (renderer.kind == "inlinedType-lookupRenderer")
472
- return LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then(
473
- (resolvedRenderer) =>
474
- dispatchDefaultValue(
475
- injectedPrimitives,
476
- types,
477
- forms,
478
- )(renderer.type, resolvedRenderer),
479
- );
480
- if (t.kind == "primitive")
481
- return t.name == "unit"
482
- ? ValueOrErrors.Default.return(PredicateValue.Default.unit())
483
- : t.name == "boolean"
484
- ? ValueOrErrors.Default.return(PredicateValue.Default.boolean())
485
- : t.name == "number"
486
- ? ValueOrErrors.Default.return(PredicateValue.Default.number())
487
- : t.name == "string"
488
- ? ValueOrErrors.Default.return(PredicateValue.Default.string())
489
- : t.name == "base64File"
490
- ? ValueOrErrors.Default.return(
491
- PredicateValue.Default.string(),
492
- )
493
- : t.name == "secret"
494
- ? ValueOrErrors.Default.return(
495
- PredicateValue.Default.string(),
496
- )
497
- : t.name == "Date"
498
- ? ValueOrErrors.Default.return(
499
- PredicateValue.Default.date(),
500
- )
501
- : (injectedPrimitives === null ||
502
- injectedPrimitives === void 0
503
- ? void 0
504
- : injectedPrimitives.get(t.name)) != undefined
505
- ? ValueOrErrors.Default.return(
506
- injectedPrimitives === null ||
507
- injectedPrimitives === void 0
508
- ? void 0
509
- : injectedPrimitives.get(t.name).defaultValue,
510
- )
511
- : ValueOrErrors.Default.throwOne(
512
- `could not resolve defaultValue for primitive renderer type "${t.name}"`,
513
- );
514
- if (t.kind == "singleSelection")
515
- return renderer.kind == "enumRenderer" ||
516
- renderer.kind == "streamRenderer"
517
- ? ValueOrErrors.Default.return(
518
- PredicateValue.Default.option(
519
- false,
520
- PredicateValue.Default.unit(),
521
- ),
522
- )
523
- : ValueOrErrors.Default.throwOne(
524
- `received non singleSelection renderer kind "${renderer.kind}" when resolving defaultValue for singleSelection`,
525
- );
526
- if (t.kind == "multiSelection")
527
- return renderer.kind == "enumRenderer" ||
528
- renderer.kind == "streamRenderer"
529
- ? ValueOrErrors.Default.return(
530
- PredicateValue.Default.record(OrderedMap()),
531
- )
532
- : ValueOrErrors.Default.throwOne(
533
- `received non multiSelection renderer kind "${renderer.kind}" when resolving defaultValue for multiSelection`,
534
- );
535
- if (t.kind == "list")
536
- return renderer.kind == "listRenderer"
537
- ? ValueOrErrors.Default.return(PredicateValue.Default.tuple(List()))
538
- : ValueOrErrors.Default.throwOne(
539
- `received non list renderer kind "${renderer.kind}" when resolving defaultValue for list`,
540
- );
541
- if (t.kind == "map")
542
- return renderer.kind == "mapRenderer"
543
- ? ValueOrErrors.Default.return(PredicateValue.Default.tuple(List()))
544
- : ValueOrErrors.Default.throwOne(
545
- `received non map renderer kind "${renderer.kind}" when resolving defaultValue for map`,
546
- );
547
- if (t.kind == "tuple")
548
- return renderer.kind == "tupleRenderer"
549
- ? ValueOrErrors.Operations.All(
550
- List(
551
- t.args.map((_, index) =>
552
- dispatchDefaultValue(
553
- injectedPrimitives,
554
- types,
555
- forms,
556
- )(_, renderer.itemRenderers[index].renderer),
557
- ),
558
- ),
559
- ).Then((values) =>
560
- ValueOrErrors.Default.return(
561
- PredicateValue.Default.tuple(List(values)),
562
- ),
563
- )
564
- : ValueOrErrors.Default.throwOne(
565
- `received non tuple renderer kind "${renderer.kind}" when resolving defaultValue for tuple`,
566
- );
567
- if (t.kind == "sum")
568
- return renderer.kind == "sumRenderer"
569
- ? dispatchDefaultValue(
570
- injectedPrimitives,
571
- types,
572
- forms,
573
- )(t.args[0], renderer.leftRenderer.renderer).Then((left) =>
574
- ValueOrErrors.Default.return(
575
- PredicateValue.Default.sum(Sum.Default.left(left)),
576
- ),
577
- )
578
- : renderer.kind == "sumUnitDateRenderer"
579
- ? ValueOrErrors.Default.return(
580
- PredicateValue.Default.sum(
581
- Sum.Default.left(PredicateValue.Default.unit()),
582
- ),
583
- )
584
- : ValueOrErrors.Default.throwOne(
585
- `received non sum renderer kind "${renderer.kind}" when resolving defaultValue for sum`,
586
- );
587
- if (t.kind == "one") {
588
- return renderer.kind == "oneRenderer"
589
- ? ValueOrErrors.Default.return(
590
- PredicateValue.Default.option(
591
- false,
592
- PredicateValue.Default.unit(),
593
- ),
594
- )
595
- : ValueOrErrors.Default.throwOne(
596
- `received non one renderer kind "${renderer.kind}" when resolving defaultValue for one`,
597
- );
598
- }
599
- if (t.kind == "record")
600
- return renderer.kind == "recordRenderer"
601
- ? ValueOrErrors.Operations.All(
602
- List(
603
- renderer.fields
604
- .entrySeq()
605
- .map(([fieldName, fieldRenderer]) =>
606
- MapRepo.Operations.tryFindWithError(
607
- fieldName,
608
- t.fields,
609
- () =>
610
- `field ${fieldName} not found in type ${JSON.stringify(t)} fields`,
611
- ).Then((fieldType) =>
612
- dispatchDefaultValue(
613
- injectedPrimitives,
614
- types,
615
- forms,
616
- )(fieldType, fieldRenderer.renderer).Then((value) =>
617
- ValueOrErrors.Default.return([fieldName, value]),
618
- ),
619
- ),
620
- ),
621
- ),
622
- ).Then((res) =>
623
- ValueOrErrors.Default.return(
624
- PredicateValue.Default.record(OrderedMap(res)),
625
- ),
626
- )
627
- : ValueOrErrors.Default.throwOne(
628
- `received non record renderer kind "${renderer.kind}" when resolving defaultValue for record`,
629
- );
630
- if (t.kind == "union") {
631
- return renderer.kind != "unionRenderer"
632
- ? ValueOrErrors.Default.throwOne(
633
- `received non union renderer kind "${renderer.kind}" when resolving defaultValue for union`,
634
- )
635
- : MapRepo.Operations.tryFirstWithError(
636
- t.args,
637
- () => `union type ${JSON.stringify(t, null, 2)} has no cases`,
638
- ).Then((firstCaseType) =>
639
- MapRepo.Operations.tryFirstWithError(
640
- renderer.cases,
641
- () => `union renderer has no cases`,
642
- ).Then((firstCaseRenderer) =>
643
- dispatchDefaultValue(
644
- injectedPrimitives,
645
- types,
646
- forms,
647
- )(firstCaseType, firstCaseRenderer),
648
- ),
649
- );
650
- }
651
- if (t.kind == "table") {
652
- return renderer.kind == "tableRenderer"
653
- ? ValueOrErrors.Default.return(
654
- PredicateValue.Default.table(0, 0, Map(), false),
655
- )
656
- : ValueOrErrors.Default.throwOne(
657
- `received non table renderer kind "${renderer.kind}" when resolving defaultValue for table`,
658
- );
659
- }
660
- return ValueOrErrors.Default.throwOne(
661
- `type ${t} not supported by defaultValue`,
662
- );
188
+ if (renderer == undefined) {
189
+ return ValueOrErrors.Default.return(PredicateValue.Default.unit());
190
+ }
191
+ if (renderer.kind == "lookupType-lookupRenderer")
192
+ return DispatchParsedType.Operations.ResolveLookupType(renderer.type.name, types).Then((resolvedType) => LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then((resolvedRenderer) => dispatchDefaultValue(injectedPrimitives, types, forms)(resolvedType, resolvedRenderer)));
193
+ if (renderer.kind == "lookupType-inlinedRenderer")
194
+ return DispatchParsedType.Operations.ResolveLookupType(renderer.type.name, types).Then((resolvedType) => dispatchDefaultValue(injectedPrimitives, types, forms)(resolvedType, renderer.inlinedRenderer));
195
+ if (renderer.kind == "inlinedType-lookupRenderer")
196
+ return LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then((resolvedRenderer) => dispatchDefaultValue(injectedPrimitives, types, forms)(renderer.type, resolvedRenderer));
197
+ if (t.kind == "primitive")
198
+ return t.name == "unit"
199
+ ? ValueOrErrors.Default.return(PredicateValue.Default.unit())
200
+ : t.name == "boolean"
201
+ ? ValueOrErrors.Default.return(PredicateValue.Default.boolean())
202
+ : t.name == "number"
203
+ ? ValueOrErrors.Default.return(PredicateValue.Default.number())
204
+ : t.name == "string"
205
+ ? ValueOrErrors.Default.return(PredicateValue.Default.string())
206
+ : t.name == "base64File"
207
+ ? ValueOrErrors.Default.return(PredicateValue.Default.string())
208
+ : t.name == "secret"
209
+ ? ValueOrErrors.Default.return(PredicateValue.Default.string())
210
+ : t.name == "Date"
211
+ ? ValueOrErrors.Default.return(PredicateValue.Default.date())
212
+ : (injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.get(t.name)) != undefined
213
+ ? ValueOrErrors.Default.return(injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.get(t.name).defaultValue)
214
+ : ValueOrErrors.Default.throwOne(`could not resolve defaultValue for primitive renderer type "${t.name}"`);
215
+ if (t.kind == "singleSelection")
216
+ return renderer.kind == "enumRenderer" ||
217
+ renderer.kind == "streamRenderer"
218
+ ? ValueOrErrors.Default.return(PredicateValue.Default.option(false, PredicateValue.Default.unit()))
219
+ : ValueOrErrors.Default.throwOne(`received non singleSelection renderer kind "${renderer.kind}" when resolving defaultValue for singleSelection`);
220
+ if (t.kind == "multiSelection")
221
+ return renderer.kind == "enumRenderer" ||
222
+ renderer.kind == "streamRenderer"
223
+ ? ValueOrErrors.Default.return(PredicateValue.Default.record(OrderedMap()))
224
+ : ValueOrErrors.Default.throwOne(`received non multiSelection renderer kind "${renderer.kind}" when resolving defaultValue for multiSelection`);
225
+ if (t.kind == "list")
226
+ return renderer.kind == "listRenderer"
227
+ ? ValueOrErrors.Default.return(PredicateValue.Default.tuple(List()))
228
+ : ValueOrErrors.Default.throwOne(`received non list renderer kind "${renderer.kind}" when resolving defaultValue for list`);
229
+ if (t.kind == "map")
230
+ return renderer.kind == "mapRenderer"
231
+ ? ValueOrErrors.Default.return(PredicateValue.Default.tuple(List()))
232
+ : ValueOrErrors.Default.throwOne(`received non map renderer kind "${renderer.kind}" when resolving defaultValue for map`);
233
+ if (t.kind == "tuple")
234
+ return renderer.kind == "tupleRenderer"
235
+ ? ValueOrErrors.Operations.All(List(t.args.map((_, index) => dispatchDefaultValue(injectedPrimitives, types, forms)(_, renderer.itemRenderers[index].renderer)))).Then((values) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(List(values))))
236
+ : ValueOrErrors.Default.throwOne(`received non tuple renderer kind "${renderer.kind}" when resolving defaultValue for tuple`);
237
+ if (t.kind == "sum")
238
+ return renderer.kind == "sumRenderer"
239
+ ? dispatchDefaultValue(injectedPrimitives, types, forms)(t.args[0], renderer.leftRenderer.renderer).Then((left) => ValueOrErrors.Default.return(PredicateValue.Default.sum(Sum.Default.left(left))))
240
+ : renderer.kind == "sumUnitDateRenderer"
241
+ ? ValueOrErrors.Default.return(PredicateValue.Default.sum(Sum.Default.left(PredicateValue.Default.unit())))
242
+ : ValueOrErrors.Default.throwOne(`received non sum renderer kind "${renderer.kind}" when resolving defaultValue for sum`);
243
+ if (t.kind == "one") {
244
+ return renderer.kind == "oneRenderer"
245
+ ? ValueOrErrors.Default.return(PredicateValue.Default.option(false, PredicateValue.Default.unit()))
246
+ : ValueOrErrors.Default.throwOne(`received non one renderer kind "${renderer.kind}" when resolving defaultValue for one`);
247
+ }
248
+ if (t.kind == "readOnly") {
249
+ return renderer.kind == "readOnlyRenderer"
250
+ ? dispatchDefaultValue(injectedPrimitives, types, forms)(t.arg, renderer.childRenderer.renderer).Then((childValue) => ValueOrErrors.Default.return(PredicateValue.Default.readonly(childValue)))
251
+ : ValueOrErrors.Default.throwOne(`received non readOnly renderer kind "${renderer.kind}" when resolving defaultValue for readOnly`);
252
+ }
253
+ if (t.kind == "record")
254
+ return renderer.kind == "recordRenderer"
255
+ ? ValueOrErrors.Operations.All(List(renderer.fields
256
+ .entrySeq()
257
+ .map(([fieldName, fieldRenderer]) => MapRepo.Operations.tryFindWithError(fieldName, t.fields, () => `field ${fieldName} not found in type ${JSON.stringify(t)} fields`).Then((fieldType) => dispatchDefaultValue(injectedPrimitives, types, forms)(fieldType, fieldRenderer.renderer).Then((value) => ValueOrErrors.Default.return([fieldName, value])))))).Then((res) => ValueOrErrors.Default.return(PredicateValue.Default.record(OrderedMap(res))))
258
+ : ValueOrErrors.Default.throwOne(`received non record renderer kind "${renderer.kind}" when resolving defaultValue for record`);
259
+ if (t.kind == "union") {
260
+ return renderer.kind != "unionRenderer"
261
+ ? ValueOrErrors.Default.throwOne(`received non union renderer kind "${renderer.kind}" when resolving defaultValue for union`)
262
+ : MapRepo.Operations.tryFirstWithError(t.args, () => `union type ${JSON.stringify(t, null, 2)} has no cases`).Then((firstCaseType) => MapRepo.Operations.tryFirstWithError(renderer.cases, () => `union renderer has no cases`).Then((firstCaseRenderer) => dispatchDefaultValue(injectedPrimitives, types, forms)(firstCaseType, firstCaseRenderer)));
263
+ }
264
+ if (t.kind == "table") {
265
+ return renderer.kind == "tableRenderer"
266
+ ? ValueOrErrors.Default.return(PredicateValue.Default.table(0, 0, Map(), false))
267
+ : ValueOrErrors.Default.throwOne(`received non table renderer kind "${renderer.kind}" when resolving defaultValue for table`);
268
+ }
269
+ return ValueOrErrors.Default.throwOne(`type ${t} not supported by defaultValue`);
663
270
  })();
664
- return result.MapErrors((errors) =>
665
- errors.map(
666
- (error) =>
667
- `${error}\n...When resolving defaultValue for type "${JSON.stringify(t, null, 2)}" and renderer kind "${renderer.kind}"`,
668
- ),
669
- );
670
- };
671
- export const dispatchFromAPIRawValue =
672
- (t, types, converters, injectedPrimitives) => (raw) => {
271
+ return result.MapErrors((errors) => errors.map((error) => `${error}\n...When resolving defaultValue for type "${JSON.stringify(t, null, 2)}" and renderer kind "${renderer.kind}"`));
272
+ };
273
+ export const dispatchFromAPIRawValue = (t, types, converters, injectedPrimitives) => (raw) => {
673
274
  const result = (() => {
674
- if (t.kind == "primitive") {
675
- // unit is a special kind of primitive
676
- if (t.name == "unit") {
677
- return ValueOrErrors.Default.return(PredicateValue.Default.unit());
275
+ if (t.kind == "primitive") {
276
+ // unit is a special kind of primitive
277
+ if (t.name == "unit") {
278
+ return ValueOrErrors.Default.return(PredicateValue.Default.unit());
279
+ }
280
+ if (!PredicateValue.Operations.IsPrimitive(raw) &&
281
+ !(injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.keySeq().contains(t.name))) {
282
+ return ValueOrErrors.Default.throwOne(`primitive expected but got ${JSON.stringify(raw)}`);
283
+ }
284
+ return ValueOrErrors.Default.return(converters[t.name].fromAPIRawValue(raw));
678
285
  }
679
- if (
680
- !PredicateValue.Operations.IsPrimitive(raw) &&
681
- !(injectedPrimitives === null || injectedPrimitives === void 0
682
- ? void 0
683
- : injectedPrimitives.keySeq().contains(t.name))
684
- ) {
685
- return ValueOrErrors.Default.throwOne(
686
- `primitive expected but got ${JSON.stringify(raw)}`,
687
- );
286
+ if (t.kind == "union") {
287
+ const result = converters["union"].fromAPIRawValue(raw);
288
+ const caseType = t.args.get(result.caseName);
289
+ if (caseType == undefined)
290
+ return ValueOrErrors.Default.throwOne(`union case ${result.caseName} not found in type ${JSON.stringify(t)}`);
291
+ return dispatchFromAPIRawValue(caseType, types, converters, injectedPrimitives)(result.fields).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.unionCase(result.caseName, value)));
688
292
  }
689
- return ValueOrErrors.Default.return(
690
- converters[t.name].fromAPIRawValue(raw),
691
- );
692
- }
693
- if (t.kind == "union") {
694
- const result = converters["union"].fromAPIRawValue(raw);
695
- const caseType = t.args.get(result.caseName);
696
- if (caseType == undefined)
697
- return ValueOrErrors.Default.throwOne(
698
- `union case ${result.caseName} not found in type ${JSON.stringify(t)}`,
699
- );
700
- if (caseType.kind != "record" && caseType.kind != "lookup")
701
- return ValueOrErrors.Default.throwOne(
702
- `union case ${result.caseName} expected record or lookup type, got ${JSON.stringify(caseType)}`,
703
- );
704
- return dispatchFromAPIRawValue(
705
- caseType,
706
- types,
707
- converters,
708
- injectedPrimitives,
709
- )(result.fields).Then((value) =>
710
- PredicateValue.Operations.IsRecord(value)
711
- ? ValueOrErrors.Default.return(
712
- PredicateValue.Default.unionCase(result.caseName, value),
713
- )
714
- : ValueOrErrors.Default.throwOne(
715
- `union case ${result.caseName} expected record, got ${PredicateValue.Operations.GetKind(value)}`,
716
- ),
717
- );
718
- }
719
- if (t.kind == "singleSelection") {
720
- const result = converters["SingleSelection"].fromAPIRawValue(raw);
721
- const isSome = result.kind == "l";
722
- const value = isSome
723
- ? PredicateValue.Default.record(OrderedMap(result.value))
724
- : PredicateValue.Default.unit();
725
- return ValueOrErrors.Default.return(
726
- PredicateValue.Default.option(isSome, value),
727
- );
728
- }
729
- if (t.kind == "multiSelection") {
730
- const result = converters["MultiSelection"].fromAPIRawValue(raw);
731
- const values = result.map((_) =>
732
- PredicateValue.Default.record(OrderedMap(_)),
733
- );
734
- return ValueOrErrors.Default.return(
735
- PredicateValue.Default.record(OrderedMap(values)),
736
- );
737
- }
738
- if (t.kind == "list") {
739
- const result = converters["List"].fromAPIRawValue(raw);
740
- return ValueOrErrors.Operations.All(
741
- result.map((_) =>
742
- dispatchFromAPIRawValue(
743
- t.args[0],
744
- types,
745
- converters,
746
- injectedPrimitives,
747
- )(_),
748
- ),
749
- ).Then((values) =>
750
- ValueOrErrors.Default.return(PredicateValue.Default.tuple(values)),
751
- );
752
- }
753
- if (t.kind == "map" && t.args.length == 2) {
754
- const result = converters["Map"].fromAPIRawValue(raw);
755
- return ValueOrErrors.Operations.All(
756
- List(
757
- result.map((_) =>
758
- dispatchFromAPIRawValue(
759
- t.args[0],
760
- types,
761
- converters,
762
- injectedPrimitives,
763
- )(_[0]).Then((key) =>
764
- dispatchFromAPIRawValue(
765
- t.args[1],
766
- types,
767
- converters,
768
- injectedPrimitives,
769
- )(_[1]).Then((value) =>
770
- ValueOrErrors.Default.return(
771
- PredicateValue.Default.tuple(List([key, value])),
772
- ),
773
- ),
774
- ),
775
- ),
776
- ),
777
- ).Then((values) =>
778
- ValueOrErrors.Default.return(
779
- PredicateValue.Default.tuple(List(values)),
780
- ),
781
- );
782
- }
783
- if (t.kind == "tuple") {
784
- const result = converters["Tuple"].fromAPIRawValue(raw);
785
- return ValueOrErrors.Operations.All(
786
- List(
787
- result.map((_, index) =>
788
- dispatchFromAPIRawValue(
789
- t.args[index],
790
- types,
791
- converters,
792
- injectedPrimitives,
793
- )(_),
794
- ),
795
- ),
796
- ).Then((values) =>
797
- ValueOrErrors.Default.return(
798
- PredicateValue.Default.tuple(List(values)),
799
- ),
800
- );
801
- }
802
- if (t.kind == "sum" && t.args.length === 2) {
803
- const result = converters["Sum"].fromAPIRawValue(raw);
804
- return dispatchFromAPIRawValue(
805
- result.kind == "l" ? t.args[0] : t.args[1],
806
- types,
807
- converters,
808
- injectedPrimitives,
809
- )(result.value).Then((value) =>
810
- ValueOrErrors.Default.return(
811
- PredicateValue.Default.sum(
812
- Sum.Updaters.map2(replaceWith(value), replaceWith(value))(result),
813
- ),
814
- ),
815
- );
816
- }
817
- if (t.kind == "lookup")
818
- return MapRepo.Operations.tryFindWithError(
819
- t.name, // TODO -- double check this is correct instead of typeName, and maybe remove typeName
820
- types,
821
- () => `type ${t.name} not found in types`,
822
- ).Then((type) =>
823
- dispatchFromAPIRawValue(
824
- type,
825
- types,
826
- converters,
827
- injectedPrimitives,
828
- )(raw),
829
- );
830
- // TODO -- this can be more functional
831
- if (t.kind == "table") {
832
- // move to the converter
833
- if (typeof raw != "object") {
834
- return ValueOrErrors.Default.throwOne(
835
- `object expected but got ${JSON.stringify(raw)}`,
836
- );
293
+ if (t.kind == "singleSelection") {
294
+ const result = converters["SingleSelection"].fromAPIRawValue(raw);
295
+ const isSome = result.kind == "l";
296
+ const value = isSome
297
+ ? PredicateValue.Default.record(OrderedMap(result.value))
298
+ : PredicateValue.Default.unit();
299
+ return ValueOrErrors.Default.return(PredicateValue.Default.option(isSome, value));
837
300
  }
838
- const converterResult = converters["Table"].fromAPIRawValue(raw);
839
- const argType = t.arg;
840
- return DispatchParsedType.Operations.ResolveLookupType(
841
- argType.name,
842
- types,
843
- ).Then((resolvedType) =>
844
- ValueOrErrors.Operations.All(
845
- List(
846
- converterResult.data
301
+ if (t.kind == "multiSelection") {
302
+ const result = converters["MultiSelection"].fromAPIRawValue(raw);
303
+ const values = result.map((_) => PredicateValue.Default.record(OrderedMap(_)));
304
+ return ValueOrErrors.Default.return(PredicateValue.Default.record(OrderedMap(values)));
305
+ }
306
+ if (t.kind == "list") {
307
+ const result = converters["List"].fromAPIRawValue(raw);
308
+ return ValueOrErrors.Operations.All(result.map((_) => dispatchFromAPIRawValue(t.args[0], types, converters, injectedPrimitives)(_))).Then((values) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(values)));
309
+ }
310
+ if (t.kind == "map" && t.args.length == 2) {
311
+ const result = converters["Map"].fromAPIRawValue(raw);
312
+ return ValueOrErrors.Operations.All(List(result.map((_) => dispatchFromAPIRawValue(t.args[0], types, converters, injectedPrimitives)(_[0]).Then((key) => dispatchFromAPIRawValue(t.args[1], types, converters, injectedPrimitives)(_[1]).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(List([key, value])))))))).Then((values) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(List(values))));
313
+ }
314
+ if (t.kind == "tuple") {
315
+ const result = converters["Tuple"].fromAPIRawValue(raw);
316
+ return ValueOrErrors.Operations.All(List(result.map((_, index) => dispatchFromAPIRawValue(t.args[index], types, converters, injectedPrimitives)(_)))).Then((values) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(List(values))));
317
+ }
318
+ if (t.kind == "sum" && t.args.length === 2) {
319
+ const result = converters["Sum"].fromAPIRawValue(raw);
320
+ return dispatchFromAPIRawValue(result.kind == "l" ? t.args[0] : t.args[1], types, converters, injectedPrimitives)(result.value).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.sum(Sum.Updaters.map2(replaceWith(value), replaceWith(value))(result))));
321
+ }
322
+ if (t.kind == "sumN") {
323
+ const result = converters["SumN"].fromAPIRawValue(raw);
324
+ return dispatchFromAPIRawValue(t.args[result.caseIndex], types, converters, injectedPrimitives)(result.value).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.sumN(result.caseIndex, result.arity, value)));
325
+ }
326
+ if (t.kind == "lookup")
327
+ return MapRepo.Operations.tryFindWithError(t.name, // TODO -- double check this is correct instead of typeName, and maybe remove typeName
328
+ types, () => `type ${t.name} not found in types`).Then((type) => dispatchFromAPIRawValue(type, types, converters, injectedPrimitives)(raw));
329
+ // TODO -- this can be more functional
330
+ if (t.kind == "table") {
331
+ // move to the converter
332
+ if (typeof raw != "object") {
333
+ return ValueOrErrors.Default.throwOne(`object expected but got ${JSON.stringify(raw)}`);
334
+ }
335
+ const converterResult = converters["Table"].fromAPIRawValue(raw);
336
+ const argType = t.arg;
337
+ return DispatchParsedType.Operations.ResolveLookupType(argType.name, types).Then((resolvedType) => ValueOrErrors.Operations.All(List(converterResult.data
847
338
  .toArray()
848
- .map(([key, record]) =>
849
- dispatchFromAPIRawValue(
850
- resolvedType,
851
- types,
852
- converters,
853
- injectedPrimitives,
854
- )(record).Then((value) =>
855
- PredicateValue.Operations.IsRecord(value)
856
- ? ValueOrErrors.Default.return([key, value])
857
- : ValueOrErrors.Default.throwOne(
858
- `record expected but got ${PredicateValue.Operations.GetKind(value)}`,
859
- ),
860
- ),
861
- ),
862
- ),
863
- ).Then((values) =>
864
- ValueOrErrors.Default.return(
865
- ValueTable.Default.fromParsed(
866
- converterResult.from,
867
- converterResult.to,
868
- converterResult.hasMoreValues,
869
- OrderedMap(values),
870
- ),
871
- ),
872
- ),
873
- );
874
- }
875
- if (t.kind == "one") {
876
- const result = converters["One"].fromAPIRawValue(raw);
877
- if (!result.isSome) {
878
- return ValueOrErrors.Default.return(result);
339
+ .map(([key, record]) => dispatchFromAPIRawValue(resolvedType, types, converters, injectedPrimitives)(record).Then((value) => PredicateValue.Operations.IsRecord(value)
340
+ ? ValueOrErrors.Default.return([key, value])
341
+ : ValueOrErrors.Default.throwOne(`record expected but got ${PredicateValue.Operations.GetKind(value)}`))))).Then((values) => ValueOrErrors.Default.return(ValueTable.Default.fromParsed(converterResult.from, converterResult.to, converterResult.hasMoreValues, OrderedMap(values)))));
342
+ }
343
+ if (t.kind == "one") {
344
+ const result = converters["One"].fromAPIRawValue(raw);
345
+ if (!result.isSome) {
346
+ return ValueOrErrors.Default.return(result);
347
+ }
348
+ return dispatchFromAPIRawValue(t.arg, types, converters, injectedPrimitives)(result.value).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.option(true, value)));
349
+ }
350
+ if (t.kind == "readOnly") {
351
+ const readOnlyResult = converters["ReadOnly"].fromAPIRawValue(raw);
352
+ return dispatchFromAPIRawValue(t.arg, types, converters, injectedPrimitives)(readOnlyResult.ReadOnly).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.readonly(value)));
353
+ }
354
+ // TODO -- this can be more functional
355
+ if (t.kind == "record") {
356
+ if (typeof raw != "object") {
357
+ return ValueOrErrors.Default.throwOne(`object expected but got ${JSON.stringify(raw)}`);
358
+ }
359
+ let result = OrderedMap();
360
+ let errors = List();
361
+ t.fields.forEach((fieldType, fieldName) => {
362
+ const fieldValue = raw[fieldName];
363
+ if (fieldValue !== null && fieldValue === undefined) {
364
+ return;
365
+ }
366
+ const parsedValue = dispatchFromAPIRawValue(fieldType, types, converters, injectedPrimitives)(fieldValue);
367
+ if (parsedValue.kind == "errors") {
368
+ errors = errors.concat(parsedValue.errors);
369
+ }
370
+ else {
371
+ result = result.set(fieldName, parsedValue.value);
372
+ }
373
+ });
374
+ if (errors.size > 0) {
375
+ return ValueOrErrors.Default.throw(errors);
376
+ }
377
+ return ValueOrErrors.Default.return(PredicateValue.Default.record(result));
378
+ }
379
+ // Filters
380
+ if (t.kind == "contains") {
381
+ const result = converters["Contains"].fromAPIRawValue(raw);
382
+ return dispatchFromAPIRawValue(t.contains, types, converters, injectedPrimitives)(result.contains).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterContains(value)));
383
+ }
384
+ if (t.kind == "=") {
385
+ const result = converters["="].fromAPIRawValue(raw);
386
+ return dispatchFromAPIRawValue(t.equalsTo, types, converters, injectedPrimitives)(result.equalsTo).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterEqualsTo(value)));
387
+ }
388
+ if (t.kind == "!=") {
389
+ const result = converters["!="].fromAPIRawValue(raw);
390
+ return dispatchFromAPIRawValue(t.notEqualsTo, types, converters, injectedPrimitives)(result.notEqualsTo).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterNotEqualsTo(value)));
391
+ }
392
+ if (t.kind == ">=") {
393
+ const result = converters[">="].fromAPIRawValue(raw);
394
+ return dispatchFromAPIRawValue(t.greaterThanOrEqualsTo, types, converters, injectedPrimitives)(result.greaterThanOrEqualsTo).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterGreaterThanOrEqualsTo(value)));
395
+ }
396
+ if (t.kind == ">") {
397
+ const result = converters[">"].fromAPIRawValue(raw);
398
+ return dispatchFromAPIRawValue(t.greaterThan, types, converters, injectedPrimitives)(result.greaterThan).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterGreaterThan(value)));
399
+ }
400
+ if (t.kind == "!=null")
401
+ return ValueOrErrors.Operations.Return(converters["!=null"].fromAPIRawValue(raw));
402
+ if (t.kind == "=null")
403
+ return ValueOrErrors.Operations.Return(converters["=null"].fromAPIRawValue(raw));
404
+ if (t.kind == "<=") {
405
+ const result = converters["<="].fromAPIRawValue(raw);
406
+ return dispatchFromAPIRawValue(t.smallerThanOrEqualsTo, types, converters, injectedPrimitives)(result.smallerThanOrEqualsTo).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterSmallerThanOrEqualsTo(value)));
879
407
  }
880
- return dispatchFromAPIRawValue(
881
- t.arg,
882
- types,
883
- converters,
884
- injectedPrimitives,
885
- )(result.value).Then((value) =>
886
- ValueOrErrors.Default.return(
887
- PredicateValue.Default.option(true, value),
888
- ),
889
- );
890
- }
891
- // TODO -- this can be more functional
892
- if (t.kind == "record") {
893
- if (typeof raw != "object") {
894
- return ValueOrErrors.Default.throwOne(
895
- `object expected but got ${JSON.stringify(raw)}`,
896
- );
408
+ if (t.kind == "<") {
409
+ const result = converters["<"].fromAPIRawValue(raw);
410
+ return dispatchFromAPIRawValue(t.smallerThan, types, converters, injectedPrimitives)(result.smallerThan).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterSmallerThan(value)));
897
411
  }
898
- let result = OrderedMap();
899
- let errors = List();
900
- t.fields.forEach((fieldType, fieldName) => {
901
- const fieldValue = raw[fieldName];
902
- if (fieldValue !== null && fieldValue === undefined) {
903
- return;
904
- }
905
- const parsedValue = dispatchFromAPIRawValue(
906
- fieldType,
907
- types,
908
- converters,
909
- injectedPrimitives,
910
- )(fieldValue);
911
- if (parsedValue.kind == "errors") {
912
- errors = errors.concat(parsedValue.errors);
913
- } else {
914
- result = result.set(fieldName, parsedValue.value);
915
- }
916
- });
917
- if (errors.size > 0) {
918
- return ValueOrErrors.Default.throw(errors);
412
+ if (t.kind == "startsWith") {
413
+ const result = converters.StartsWith.fromAPIRawValue(raw);
414
+ return dispatchFromAPIRawValue(t.startsWith, types, converters, injectedPrimitives)(result.startsWith).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterStartsWith(value)));
919
415
  }
920
- return ValueOrErrors.Default.return(
921
- PredicateValue.Default.record(result),
922
- );
923
- }
924
- return ValueOrErrors.Default.throwOne(
925
- `unsupported type ${JSON.stringify(t)} for raw: `,
926
- );
416
+ return ValueOrErrors.Default.throwOne(`unsupported type ${JSON.stringify(t)} for raw: `);
927
417
  })();
928
- return result.MapErrors((errors) =>
929
- errors.map(
930
- (error) =>
931
- `${error}\n...When converting type ${JSON.stringify(t, null, 2)} and value ${JSON.stringify(raw, null, 2)} from API raw value`,
932
- ),
933
- );
934
- };
935
- export const dispatchToAPIRawValue =
936
- (t, types, converters, injectedPrimitives) => (raw, formState) => {
418
+ return result.MapErrors((errors) => errors.map((error) => `${error}\n...When converting type ${JSON.stringify(t, null, 2)} and value ${JSON.stringify(raw, null, 2)} from API raw value`));
419
+ };
420
+ export const dispatchToAPIRawValue = (t, types, converters, injectedPrimitives) => (raw, formState) => {
937
421
  const result = (() => {
938
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
939
- if (t.kind == "primitive") {
940
- if (t.name == "unit") {
941
- return ValueOrErrors.Default.return(unit);
422
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
423
+ if (t.kind == "primitive") {
424
+ if (t.name == "unit") {
425
+ return ValueOrErrors.Default.return(unit);
426
+ }
427
+ return ValueOrErrors.Operations.Return(converters[t.name].toAPIRawValue([
428
+ raw,
429
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
430
+ ]));
431
+ }
432
+ if (t.kind == "union") {
433
+ if (!PredicateValue.Operations.IsUnionCase(raw)) {
434
+ return ValueOrErrors.Default.throwOne(`Union case expected but got ${JSON.stringify(raw)}\n...when converting union to API raw value`);
435
+ }
436
+ const caseName = raw.caseName;
437
+ if (caseName == undefined ||
438
+ !PredicateValue.Operations.IsString(caseName)) {
439
+ return ValueOrErrors.Default.throwOne(`caseName expected but got ${JSON.stringify(raw)}`);
440
+ }
441
+ const caseType = t.args.get(caseName);
442
+ if (caseType == undefined) {
443
+ return ValueOrErrors.Default.throwOne(`union case ${caseName} not found in type ${JSON.stringify(t)}`);
444
+ }
445
+ return dispatchToAPIRawValue(caseType, types, converters, injectedPrimitives)(raw.fields, formState).Then((value) => {
446
+ var _a, _b;
447
+ return ValueOrErrors.Default.return(converters["union"].toAPIRawValue([
448
+ { caseName, fields: value },
449
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
450
+ ]));
451
+ });
452
+ }
453
+ if (t.kind == "singleSelection") {
454
+ if (!PredicateValue.Operations.IsOption(raw)) {
455
+ return ValueOrErrors.Default.throwOne(`Option expected but got ${JSON.stringify(raw)}`);
456
+ }
457
+ if (raw.isSome) {
458
+ if (!PredicateValue.Operations.IsRecord(raw.value)) {
459
+ return ValueOrErrors.Default.throwOne(`Record expected but got ${JSON.stringify(raw.value)}`);
460
+ }
461
+ const rawValue = raw.value.fields.toJS();
462
+ if (!CollectionReference.Operations.IsCollectionReference(rawValue) &&
463
+ !EnumReference.Operations.IsEnumReference(rawValue)) {
464
+ return ValueOrErrors.Default.throwOne(`CollectionReference or EnumReference expected but got ${rawValue}`);
465
+ }
466
+ return ValueOrErrors.Operations.Return(converters["SingleSelection"].toAPIRawValue([
467
+ Sum.Default.left(rawValue),
468
+ (_d = (_c = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _c === void 0 ? void 0 : _c.modifiedByUser) !== null && _d !== void 0 ? _d : false,
469
+ ]));
470
+ }
471
+ else {
472
+ return ValueOrErrors.Operations.Return(converters["SingleSelection"].toAPIRawValue([
473
+ Sum.Default.right("no selection"),
474
+ (_f = (_e = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _e === void 0 ? void 0 : _e.modifiedByUser) !== null && _f !== void 0 ? _f : false,
475
+ ]));
476
+ }
477
+ }
478
+ if (t.kind == "multiSelection") {
479
+ if (!PredicateValue.Operations.IsRecord(raw)) {
480
+ return ValueOrErrors.Default.throwOne(`Record expected but got multi selection of ${JSON.stringify(raw)}`);
481
+ }
482
+ const rawValue = raw.fields.map((value) => {
483
+ if (!PredicateValue.Operations.IsRecord(value)) {
484
+ return ValueOrErrors.Default.throwOne(`Record expected but got ${JSON.stringify(value)}`);
485
+ }
486
+ const fieldsObject = value.fields.toJS();
487
+ if (!CollectionReference.Operations.IsCollectionReference(fieldsObject) &&
488
+ !EnumReference.Operations.IsEnumReference(fieldsObject)) {
489
+ return ValueOrErrors.Default.throwOne(`CollectionReference or EnumReference expected but got ${JSON.stringify(fieldsObject)}`);
490
+ }
491
+ return ValueOrErrors.Default.return(fieldsObject);
492
+ });
493
+ return ValueOrErrors.Operations.All(rawValue.valueSeq().toList()).Then((values) => {
494
+ var _a, _b;
495
+ return ValueOrErrors.Default.return(converters["MultiSelection"].toAPIRawValue([
496
+ OrderedMap(values
497
+ .map((v) => {
498
+ if (CollectionReference.Operations.IsCollectionReference(v)) {
499
+ return [v.Id, v];
500
+ }
501
+ return [v.Value, v];
502
+ })
503
+ .toArray()),
504
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
505
+ ]));
506
+ });
942
507
  }
943
- return ValueOrErrors.Operations.Return(
944
- converters[t.name].toAPIRawValue([
945
- raw,
946
- (_b =
947
- (_a =
948
- formState === null || formState === void 0
949
- ? void 0
950
- : formState.commonFormState) === null || _a === void 0
951
- ? void 0
952
- : _a.modifiedByUser) !== null && _b !== void 0
953
- ? _b
954
- : false,
955
- ]),
956
- );
957
- }
958
- if (t.kind == "union") {
959
- if (!PredicateValue.Operations.IsUnionCase(raw)) {
960
- return ValueOrErrors.Default.throwOne(
961
- `Union case expected but got ${JSON.stringify(raw)}\n...when converting union to API raw value`,
962
- );
508
+ if (t.kind == "list") {
509
+ if (!PredicateValue.Operations.IsTuple(raw)) {
510
+ return ValueOrErrors.Default.throwOne(`Tuple expected but got list of ${JSON.stringify(raw)}`);
511
+ }
512
+ return ValueOrErrors.Operations.All(List(raw.values.map((value, index) => {
513
+ var _a;
514
+ return dispatchToAPIRawValue(t.args[0], types, converters, injectedPrimitives)(value, (_a = formState === null || formState === void 0 ? void 0 : formState.elementFormStates) === null || _a === void 0 ? void 0 : _a.get(index));
515
+ }))).Then((values) => {
516
+ var _a, _b;
517
+ return ValueOrErrors.Default.return(converters["List"].toAPIRawValue([
518
+ values,
519
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
520
+ ]));
521
+ });
963
522
  }
964
- const caseName = raw.caseName;
965
- if (
966
- caseName == undefined ||
967
- !PredicateValue.Operations.IsString(caseName)
968
- ) {
969
- return ValueOrErrors.Default.throwOne(
970
- `caseName expected but got ${JSON.stringify(raw)}`,
971
- );
523
+ if (t.kind == "map" && t.args.length == 2) {
524
+ const keyValues = raw.values.map((keyValue, index) => {
525
+ var _a, _b;
526
+ return dispatchToAPIRawValue(t.args[0], types, converters, injectedPrimitives)(keyValue.values.get(0), (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.elementFormStates) === null || _a === void 0 ? void 0 : _a.get(index)) === null || _b === void 0 ? void 0 : _b.KeyFormState)
527
+ .Then((possiblyUndefinedKey) => {
528
+ if (possiblyUndefinedKey == undefined ||
529
+ possiblyUndefinedKey == null ||
530
+ possiblyUndefinedKey == "" ||
531
+ (typeof possiblyUndefinedKey == "object" &&
532
+ (Object.keys(possiblyUndefinedKey).length == 0 ||
533
+ ("IsSome" in possiblyUndefinedKey &&
534
+ !possiblyUndefinedKey.IsSome)))) {
535
+ return ValueOrErrors.Default.throwOne(`A mapped key is undefined for type ${JSON.stringify(t.args[0])}`);
536
+ }
537
+ else {
538
+ return ValueOrErrors.Default.return(possiblyUndefinedKey);
539
+ }
540
+ })
541
+ .Then((key) => {
542
+ var _a, _b;
543
+ return dispatchToAPIRawValue(t.args[1], types, converters, injectedPrimitives)(keyValue.values.get(1), (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.elementFormStates) === null || _a === void 0 ? void 0 : _a.get(index)) === null || _b === void 0 ? void 0 : _b.ValueFormState).Then((value) => ValueOrErrors.Default.return([key, value]));
544
+ });
545
+ });
546
+ return ValueOrErrors.Operations.All(List(keyValues)).Then((values) => {
547
+ var _a, _b;
548
+ if (values.map((kv) => JSON.stringify(kv[0])).toSet().size !=
549
+ values.size) {
550
+ return ValueOrErrors.Default.throwOne("Keys in the map are not unique");
551
+ }
552
+ return ValueOrErrors.Operations.Return(converters["Map"].toAPIRawValue([
553
+ values,
554
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
555
+ ]));
556
+ });
972
557
  }
973
- const caseType = t.args.get(caseName);
974
- if (caseType == undefined) {
975
- return ValueOrErrors.Default.throwOne(
976
- `union case ${caseName} not found in type ${JSON.stringify(t)}`,
977
- );
558
+ if (t.kind == "sum" && t.args.length === 2) {
559
+ if (!PredicateValue.Operations.IsSum(raw)) {
560
+ return ValueOrErrors.Default.throwOne(`Sum expected but got ${JSON.stringify(raw)}`);
561
+ }
562
+ return dispatchToAPIRawValue(raw.value.kind == "l" ? t.args[0] : t.args[1], types, converters, injectedPrimitives)(raw.value.value, raw.value.kind == "l"
563
+ ? (_g = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _g === void 0 ? void 0 : _g.left
564
+ : (_h = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _h === void 0 ? void 0 : _h.right).Then((value) => {
565
+ var _a, _b;
566
+ return ValueOrErrors.Default.return(converters["Sum"].toAPIRawValue([
567
+ raw.value.kind == "l"
568
+ ? Sum.Default.left(value)
569
+ : Sum.Default.right(value),
570
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
571
+ ]));
572
+ });
978
573
  }
979
- return dispatchToAPIRawValue(
980
- caseType,
981
- types,
982
- converters,
983
- injectedPrimitives,
984
- )(raw.fields, formState);
985
- }
986
- if (t.kind == "singleSelection") {
987
- if (!PredicateValue.Operations.IsOption(raw)) {
988
- return ValueOrErrors.Default.throwOne(
989
- `Option expected but got ${JSON.stringify(raw)}`,
990
- );
574
+ if (t.kind == "sumN") {
575
+ if (!PredicateValue.Operations.IsSumN(raw)) {
576
+ return ValueOrErrors.Default.throwOne(`SumN expected but got ${JSON.stringify(raw)}`);
577
+ }
578
+ return dispatchToAPIRawValue(t.args[raw.caseIndex], types, converters, injectedPrimitives)(raw.value, (_j = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _j === void 0 ? void 0 : _j.modifiedByUser).Then((value) => {
579
+ var _a, _b;
580
+ return ValueOrErrors.Default.return(converters["SumN"].toAPIRawValue([
581
+ PredicateValue.Default.sumN(raw.caseIndex, raw.arity, value),
582
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
583
+ ]));
584
+ });
991
585
  }
992
- if (raw.isSome) {
993
- if (!PredicateValue.Operations.IsRecord(raw.value)) {
994
- return ValueOrErrors.Default.throwOne(
995
- `Record expected but got ${JSON.stringify(raw.value)}`,
996
- );
997
- }
998
- const rawValue = raw.value.fields.toJS();
999
- if (
1000
- !CollectionReference.Operations.IsCollectionReference(rawValue) &&
1001
- !EnumReference.Operations.IsEnumReference(rawValue)
1002
- ) {
1003
- return ValueOrErrors.Default.throwOne(
1004
- `CollectionReference or EnumReference expected but got ${rawValue}`,
1005
- );
1006
- }
1007
- return ValueOrErrors.Operations.Return(
1008
- converters["SingleSelection"].toAPIRawValue([
1009
- Sum.Default.left(rawValue),
1010
- (_d =
1011
- (_c =
1012
- formState === null || formState === void 0
1013
- ? void 0
1014
- : formState.commonFormState) === null || _c === void 0
1015
- ? void 0
1016
- : _c.modifiedByUser) !== null && _d !== void 0
1017
- ? _d
1018
- : false,
1019
- ]),
1020
- );
1021
- } else {
1022
- return ValueOrErrors.Operations.Return(
1023
- converters["SingleSelection"].toAPIRawValue([
1024
- Sum.Default.right("no selection"),
1025
- (_f =
1026
- (_e =
1027
- formState === null || formState === void 0
1028
- ? void 0
1029
- : formState.commonFormState) === null || _e === void 0
1030
- ? void 0
1031
- : _e.modifiedByUser) !== null && _f !== void 0
1032
- ? _f
1033
- : false,
1034
- ]),
1035
- );
586
+ if (t.kind == "tuple") {
587
+ if (!PredicateValue.Operations.IsTuple(raw)) {
588
+ return ValueOrErrors.Default.throwOne(`Tuple expected but got ${JSON.stringify(raw)}`);
589
+ }
590
+ return ValueOrErrors.Operations.All(List(raw.values.map((value, index) => {
591
+ var _a;
592
+ return dispatchToAPIRawValue(t.args[index], types, converters, injectedPrimitives)(value, (_a = formState === null || formState === void 0 ? void 0 : formState.itemFormStates) === null || _a === void 0 ? void 0 : _a.get(index));
593
+ }))).Then((values) => {
594
+ var _a, _b;
595
+ return ValueOrErrors.Default.return(converters["Tuple"].toAPIRawValue([
596
+ values,
597
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
598
+ ]));
599
+ });
1036
600
  }
1037
- }
1038
- if (t.kind == "multiSelection") {
1039
- if (!PredicateValue.Operations.IsRecord(raw)) {
1040
- return ValueOrErrors.Default.throwOne(
1041
- `Record expected but got multi selection of ${JSON.stringify(raw)}`,
1042
- );
601
+ if (t.kind == "lookup")
602
+ return dispatchToAPIRawValue(types.get(t.name), types, converters, injectedPrimitives)(raw, formState);
603
+ if (t.kind == "record") {
604
+ if (!PredicateValue.Operations.IsRecord(raw)) {
605
+ return ValueOrErrors.Default.throwOne(`Record expected but got ${JSON.stringify(raw)}`);
606
+ }
607
+ const res = [];
608
+ t.fields.forEach((fieldType, fieldName) => {
609
+ var _a;
610
+ const rawField = raw.fields.get(fieldName);
611
+ if (rawField == undefined) {
612
+ return;
613
+ }
614
+ res.push([
615
+ fieldName,
616
+ dispatchToAPIRawValue(fieldType, types, converters, injectedPrimitives)(raw.fields.get(fieldName), (_a = formState === null || formState === void 0 ? void 0 : formState.fieldStates) === null || _a === void 0 ? void 0 : _a.get(fieldName)),
617
+ ]);
618
+ });
619
+ const errors = ValueOrErrors.Operations.All(List(res.map(([_, value]) => value)));
620
+ if (errors.kind == "errors")
621
+ return errors;
622
+ return ValueOrErrors.Operations.Return(res.reduce((acc, [fieldName, value]) => {
623
+ acc[fieldName] = value.value;
624
+ return acc;
625
+ }, {}));
1043
626
  }
1044
- const rawValue = raw.fields.map((value) => {
1045
- if (!PredicateValue.Operations.IsRecord(value)) {
1046
- return ValueOrErrors.Default.throwOne(
1047
- `Record expected but got ${JSON.stringify(value)}`,
1048
- );
1049
- }
1050
- const fieldsObject = value.fields.toJS();
1051
- if (
1052
- !CollectionReference.Operations.IsCollectionReference(
1053
- fieldsObject,
1054
- ) &&
1055
- !EnumReference.Operations.IsEnumReference(fieldsObject)
1056
- ) {
1057
- return ValueOrErrors.Default.throwOne(
1058
- `CollectionReference or EnumReference expected but got ${JSON.stringify(fieldsObject)}`,
1059
- );
1060
- }
1061
- return ValueOrErrors.Default.return(fieldsObject);
1062
- });
1063
- return ValueOrErrors.Operations.All(rawValue.valueSeq().toList()).Then(
1064
- (values) => {
1065
- var _a, _b;
1066
- return ValueOrErrors.Default.return(
1067
- converters["MultiSelection"].toAPIRawValue([
1068
- OrderedMap(
1069
- values
1070
- .map((v) => {
1071
- if (
1072
- CollectionReference.Operations.IsCollectionReference(v)
1073
- ) {
1074
- return [v.Id, v];
1075
- }
1076
- return [v.Value, v];
1077
- })
1078
- .toArray(),
1079
- ),
1080
- (_b =
1081
- (_a =
1082
- formState === null || formState === void 0
1083
- ? void 0
1084
- : formState.commonFormState) === null || _a === void 0
1085
- ? void 0
1086
- : _a.modifiedByUser) !== null && _b !== void 0
1087
- ? _b
1088
- : false,
1089
- ]),
1090
- );
1091
- },
1092
- );
1093
- }
1094
- if (t.kind == "list") {
1095
- if (!PredicateValue.Operations.IsTuple(raw)) {
1096
- return ValueOrErrors.Default.throwOne(
1097
- `Tuple expected but got list of ${JSON.stringify(raw)}`,
1098
- );
627
+ if (t.kind == "one") {
628
+ if (!PredicateValue.Operations.IsOption(raw)) {
629
+ return ValueOrErrors.Default.throwOne(`Option expected but got ${JSON.stringify(raw)}\n...when converting one to API raw value`);
630
+ }
631
+ if (!raw.isSome) {
632
+ return ValueOrErrors.Default.return(converters["One"].toAPIRawValue([
633
+ raw,
634
+ (_l = (_k = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _k === void 0 ? void 0 : _k.modifiedByUser) !== null && _l !== void 0 ? _l : false,
635
+ ]));
636
+ }
637
+ return dispatchToAPIRawValue(t.arg, types, converters, injectedPrimitives)(raw.value, (_o = (_m = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _m === void 0 ? void 0 : _m.modifiedByUser) !== null && _o !== void 0 ? _o : false).Then((value) => {
638
+ var _a, _b;
639
+ return ValueOrErrors.Default.return(converters["One"].toAPIRawValue([
640
+ PredicateValue.Default.option(true, value),
641
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
642
+ ]));
643
+ });
644
+ }
645
+ if (t.kind == "readOnly") {
646
+ if (!PredicateValue.Operations.IsReadOnly(raw)) {
647
+ return ValueOrErrors.Default.throwOne(`ReadOnly expected but got ${JSON.stringify(raw)}`);
648
+ }
649
+ return dispatchToAPIRawValue(t.arg, types, converters, injectedPrimitives)(raw.ReadOnly, formState).Then((childValue) => {
650
+ var _a, _b;
651
+ return ValueOrErrors.Default.return(converters["ReadOnly"].toAPIRawValue([
652
+ { ReadOnly: childValue },
653
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
654
+ ]));
655
+ });
656
+ }
657
+ if (t.kind == "table") {
658
+ if (!PredicateValue.Operations.IsTable(raw)) {
659
+ return ValueOrErrors.Default.throwOne(`Table expected but got ${JSON.stringify(raw)}`);
660
+ }
661
+ return ValueOrErrors.Default.return(converters["Table"].toAPIRawValue([
662
+ raw,
663
+ (_q = (_p = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _p === void 0 ? void 0 : _p.modifiedByUser) !== null && _q !== void 0 ? _q : false,
664
+ ]));
665
+ }
666
+ // Filters
667
+ if (t.kind == "contains") {
668
+ if (!PredicateValue.Operations.IsFilterContains(raw)) {
669
+ return ValueOrErrors.Default.throwOne(`FilterContains expected but got ${JSON.stringify(raw)}`);
670
+ }
671
+ return dispatchToAPIRawValue(t.contains, types, converters, injectedPrimitives)(raw.contains, formState).Then((value) => {
672
+ var _a, _b;
673
+ return ValueOrErrors.Default.return(converters["Contains"].toAPIRawValue([
674
+ PredicateValue.Default.filterContains(value),
675
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
676
+ ]));
677
+ });
678
+ }
679
+ if (t.kind == "=") {
680
+ if (!PredicateValue.Operations.IsFilterEqualsTo(raw)) {
681
+ return ValueOrErrors.Default.throwOne(`FilterEqualsTo expected but got ${JSON.stringify(raw)}`);
682
+ }
683
+ return dispatchToAPIRawValue(t.equalsTo, types, converters, injectedPrimitives)(raw.equalsTo, formState).Then((value) => {
684
+ var _a, _b;
685
+ return ValueOrErrors.Default.return(converters["="].toAPIRawValue([
686
+ PredicateValue.Default.filterEqualsTo(value),
687
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
688
+ ]));
689
+ });
1099
690
  }
1100
- return ValueOrErrors.Operations.All(
1101
- List(
1102
- raw.values.map((value, index) => {
1103
- var _a;
1104
- return dispatchToAPIRawValue(
1105
- t.args[0],
1106
- types,
1107
- converters,
1108
- injectedPrimitives,
1109
- )(
1110
- value,
1111
- (_a =
1112
- formState === null || formState === void 0
1113
- ? void 0
1114
- : formState.elementFormStates) === null || _a === void 0
1115
- ? void 0
1116
- : _a.get(index),
1117
- );
1118
- }),
1119
- ),
1120
- ).Then((values) => {
1121
- var _a, _b;
1122
- return ValueOrErrors.Default.return(
1123
- converters["List"].toAPIRawValue([
1124
- values,
1125
- (_b =
1126
- (_a =
1127
- formState === null || formState === void 0
1128
- ? void 0
1129
- : formState.commonFormState) === null || _a === void 0
1130
- ? void 0
1131
- : _a.modifiedByUser) !== null && _b !== void 0
1132
- ? _b
1133
- : false,
1134
- ]),
1135
- );
1136
- });
1137
- }
1138
- if (t.kind == "map" && t.args.length == 2) {
1139
- const keyValues = raw.values.map((keyValue, index) => {
1140
- var _a, _b;
1141
- return dispatchToAPIRawValue(
1142
- t.args[0],
1143
- types,
1144
- converters,
1145
- injectedPrimitives,
1146
- )(
1147
- keyValue.values.get(0),
1148
- (_b =
1149
- (_a =
1150
- formState === null || formState === void 0
1151
- ? void 0
1152
- : formState.elementFormStates) === null || _a === void 0
1153
- ? void 0
1154
- : _a.get(index)) === null || _b === void 0
1155
- ? void 0
1156
- : _b.KeyFormState,
1157
- )
1158
- .Then((possiblyUndefinedKey) => {
1159
- if (
1160
- possiblyUndefinedKey == undefined ||
1161
- possiblyUndefinedKey == null ||
1162
- possiblyUndefinedKey == "" ||
1163
- (typeof possiblyUndefinedKey == "object" &&
1164
- (Object.keys(possiblyUndefinedKey).length == 0 ||
1165
- ("IsSome" in possiblyUndefinedKey &&
1166
- !possiblyUndefinedKey.IsSome)))
1167
- ) {
1168
- return ValueOrErrors.Default.throwOne(
1169
- `A mapped key is undefined for type ${JSON.stringify(t.args[0])}`,
1170
- );
1171
- } else {
1172
- return ValueOrErrors.Default.return(possiblyUndefinedKey);
1173
- }
1174
- })
1175
- .Then((key) => {
1176
- var _a, _b;
1177
- return dispatchToAPIRawValue(
1178
- t.args[1],
1179
- types,
1180
- converters,
1181
- injectedPrimitives,
1182
- )(
1183
- keyValue.values.get(1),
1184
- (_b =
1185
- (_a =
1186
- formState === null || formState === void 0
1187
- ? void 0
1188
- : formState.elementFormStates) === null || _a === void 0
1189
- ? void 0
1190
- : _a.get(index)) === null || _b === void 0
1191
- ? void 0
1192
- : _b.ValueFormState,
1193
- ).Then((value) => ValueOrErrors.Default.return([key, value]));
691
+ if (t.kind == "!=") {
692
+ if (!PredicateValue.Operations.IsFilterNotEqualsTo(raw)) {
693
+ return ValueOrErrors.Default.throwOne(`FilterNotEqualsTo expected but got ${JSON.stringify(raw)}`);
694
+ }
695
+ return dispatchToAPIRawValue(t.notEqualsTo, types, converters, injectedPrimitives)(raw.notEqualsTo, formState).Then((value) => {
696
+ var _a, _b;
697
+ return ValueOrErrors.Default.return(converters["!="].toAPIRawValue([
698
+ PredicateValue.Default.filterNotEqualsTo(value),
699
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
700
+ ]));
1194
701
  });
1195
- });
1196
- return ValueOrErrors.Operations.All(List(keyValues)).Then((values) => {
1197
- var _a, _b;
1198
- if (
1199
- values.map((kv) => JSON.stringify(kv[0])).toSet().size !=
1200
- values.size
1201
- ) {
1202
- return ValueOrErrors.Default.throwOne(
1203
- "Keys in the map are not unique",
1204
- );
1205
- }
1206
- return ValueOrErrors.Operations.Return(
1207
- converters["Map"].toAPIRawValue([
1208
- values,
1209
- (_b =
1210
- (_a =
1211
- formState === null || formState === void 0
1212
- ? void 0
1213
- : formState.commonFormState) === null || _a === void 0
1214
- ? void 0
1215
- : _a.modifiedByUser) !== null && _b !== void 0
1216
- ? _b
1217
- : false,
1218
- ]),
1219
- );
1220
- });
1221
- }
1222
- if (t.kind == "sum" && t.args.length === 2) {
1223
- if (!PredicateValue.Operations.IsSum(raw)) {
1224
- return ValueOrErrors.Default.throwOne(
1225
- `Sum expected but got ${JSON.stringify(raw)}`,
1226
- );
1227
702
  }
1228
- return dispatchToAPIRawValue(
1229
- raw.value.kind == "l" ? t.args[0] : t.args[1],
1230
- types,
1231
- converters,
1232
- injectedPrimitives,
1233
- )(
1234
- raw.value.value,
1235
- raw.value.kind == "l"
1236
- ? (_g =
1237
- formState === null || formState === void 0
1238
- ? void 0
1239
- : formState.commonFormState) === null || _g === void 0
1240
- ? void 0
1241
- : _g.left
1242
- : (_h =
1243
- formState === null || formState === void 0
1244
- ? void 0
1245
- : formState.commonFormState) === null || _h === void 0
1246
- ? void 0
1247
- : _h.right,
1248
- ).Then((value) => {
1249
- var _a, _b;
1250
- return ValueOrErrors.Default.return(
1251
- converters["Sum"].toAPIRawValue([
1252
- raw.value.kind == "l"
1253
- ? Sum.Default.left(value)
1254
- : Sum.Default.right(value),
1255
- (_b =
1256
- (_a =
1257
- formState === null || formState === void 0
1258
- ? void 0
1259
- : formState.commonFormState) === null || _a === void 0
1260
- ? void 0
1261
- : _a.modifiedByUser) !== null && _b !== void 0
1262
- ? _b
1263
- : false,
1264
- ]),
1265
- );
1266
- });
1267
- }
1268
- if (t.kind == "tuple") {
1269
- if (!PredicateValue.Operations.IsTuple(raw)) {
1270
- return ValueOrErrors.Default.throwOne(
1271
- `Tuple expected but got ${JSON.stringify(raw)}`,
1272
- );
703
+ if (t.kind == ">=") {
704
+ if (!PredicateValue.Operations.IsFilterGreaterThanOrEqualsTo(raw)) {
705
+ return ValueOrErrors.Default.throwOne(`FilterGreaterThanOrEqualsTo expected but got ${JSON.stringify(raw)}`);
706
+ }
707
+ return dispatchToAPIRawValue(t.greaterThanOrEqualsTo, types, converters, injectedPrimitives)(raw.greaterThanOrEqualsTo, formState).Then((value) => {
708
+ var _a, _b;
709
+ return ValueOrErrors.Default.return(converters[">="].toAPIRawValue([
710
+ PredicateValue.Default.filterGreaterThanOrEqualsTo(value),
711
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
712
+ ]));
713
+ });
714
+ }
715
+ if (t.kind == ">") {
716
+ if (!PredicateValue.Operations.IsFilterGreaterThan(raw)) {
717
+ return ValueOrErrors.Default.throwOne(`FilterGreaterThan expected but got ${JSON.stringify(raw)}`);
718
+ }
719
+ return dispatchToAPIRawValue(t.greaterThan, types, converters, injectedPrimitives)(raw.greaterThan, formState).Then((value) => {
720
+ var _a, _b;
721
+ return ValueOrErrors.Default.return(converters[">"].toAPIRawValue([
722
+ PredicateValue.Default.filterGreaterThan(value),
723
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
724
+ ]));
725
+ });
726
+ }
727
+ if (t.kind == "!=null") {
728
+ if (!PredicateValue.Operations.IsFilterIsNotNull(raw)) {
729
+ return ValueOrErrors.Default.throwOne(`FilterIsNotNull expected but got ${JSON.stringify(raw)}`);
730
+ }
731
+ return ValueOrErrors.Default.return(converters["!=null"].toAPIRawValue([
732
+ raw,
733
+ (_s = (_r = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _r === void 0 ? void 0 : _r.modifiedByUser) !== null && _s !== void 0 ? _s : false,
734
+ ]));
1273
735
  }
1274
- return ValueOrErrors.Operations.All(
1275
- List(
1276
- raw.values.map((value, index) => {
1277
- var _a;
1278
- return dispatchToAPIRawValue(
1279
- t.args[index],
1280
- types,
1281
- converters,
1282
- injectedPrimitives,
1283
- )(
1284
- value,
1285
- (_a =
1286
- formState === null || formState === void 0
1287
- ? void 0
1288
- : formState.itemFormStates) === null || _a === void 0
1289
- ? void 0
1290
- : _a.get(index),
1291
- );
1292
- }),
1293
- ),
1294
- ).Then((values) => {
1295
- var _a, _b;
1296
- return ValueOrErrors.Default.return(
1297
- converters["Tuple"].toAPIRawValue([
1298
- values,
1299
- (_b =
1300
- (_a =
1301
- formState === null || formState === void 0
1302
- ? void 0
1303
- : formState.commonFormState) === null || _a === void 0
1304
- ? void 0
1305
- : _a.modifiedByUser) !== null && _b !== void 0
1306
- ? _b
1307
- : false,
1308
- ]),
1309
- );
1310
- });
1311
- }
1312
- if (t.kind == "lookup")
1313
- return dispatchToAPIRawValue(
1314
- types.get(t.name),
1315
- types,
1316
- converters,
1317
- injectedPrimitives,
1318
- )(raw, formState);
1319
- if (t.kind == "record") {
1320
- if (!PredicateValue.Operations.IsRecord(raw)) {
1321
- return ValueOrErrors.Default.throwOne(
1322
- `Record expected but got ${JSON.stringify(raw)}`,
1323
- );
736
+ if (t.kind == "=null") {
737
+ if (!PredicateValue.Operations.IsFilterIsNull(raw)) {
738
+ return ValueOrErrors.Default.throwOne(`FilterIsNull expected but got ${JSON.stringify(raw)}`);
739
+ }
740
+ return ValueOrErrors.Default.return(converters["=null"].toAPIRawValue([
741
+ raw,
742
+ (_u = (_t = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _t === void 0 ? void 0 : _t.modifiedByUser) !== null && _u !== void 0 ? _u : false,
743
+ ]));
1324
744
  }
1325
- const res = [];
1326
- t.fields.forEach((fieldType, fieldName) => {
1327
- var _a;
1328
- const rawField = raw.fields.get(fieldName);
1329
- if (rawField == undefined) {
1330
- return;
1331
- }
1332
- res.push([
1333
- fieldName,
1334
- dispatchToAPIRawValue(
1335
- fieldType,
1336
- types,
1337
- converters,
1338
- injectedPrimitives,
1339
- )(
1340
- raw.fields.get(fieldName),
1341
- (_a =
1342
- formState === null || formState === void 0
1343
- ? void 0
1344
- : formState.fieldStates) === null || _a === void 0
1345
- ? void 0
1346
- : _a.get(fieldName),
1347
- ),
1348
- ]);
1349
- });
1350
- const errors = ValueOrErrors.Operations.All(
1351
- List(res.map(([_, value]) => value)),
1352
- );
1353
- if (errors.kind == "errors") return errors;
1354
- return ValueOrErrors.Operations.Return(
1355
- res.reduce((acc, [fieldName, value]) => {
1356
- acc[fieldName] = value.value;
1357
- return acc;
1358
- }, {}),
1359
- );
1360
- }
1361
- if (t.kind == "one") {
1362
- if (!PredicateValue.Operations.IsOption(raw)) {
1363
- return ValueOrErrors.Default.throwOne(
1364
- `Option expected but got ${JSON.stringify(raw)}\n...when converting one to API raw value`,
1365
- );
745
+ if (t.kind == "<=") {
746
+ if (!PredicateValue.Operations.IsFilterSmallerThanOrEqualsTo(raw)) {
747
+ return ValueOrErrors.Default.throwOne(`FilterSmallerThanOrEqualsTo expected but got ${JSON.stringify(raw)}`);
748
+ }
749
+ return dispatchToAPIRawValue(t.smallerThanOrEqualsTo, types, converters, injectedPrimitives)(raw.smallerThanOrEqualsTo, formState).Then((value) => {
750
+ var _a, _b;
751
+ return ValueOrErrors.Default.return(converters["<="].toAPIRawValue([
752
+ PredicateValue.Default.filterSmallerThanOrEqualsTo(value),
753
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
754
+ ]));
755
+ });
1366
756
  }
1367
- if (!raw.isSome) {
1368
- return ValueOrErrors.Default.return(
1369
- converters["One"].toAPIRawValue([
1370
- raw,
1371
- (_k =
1372
- (_j =
1373
- formState === null || formState === void 0
1374
- ? void 0
1375
- : formState.commonFormState) === null || _j === void 0
1376
- ? void 0
1377
- : _j.modifiedByUser) !== null && _k !== void 0
1378
- ? _k
1379
- : false,
1380
- ]),
1381
- );
757
+ if (t.kind == "<") {
758
+ if (!PredicateValue.Operations.IsFilterSmallerThan(raw)) {
759
+ return ValueOrErrors.Default.throwOne(`FilterSmallerThan expected but got ${JSON.stringify(raw)}`);
760
+ }
761
+ return dispatchToAPIRawValue(t.smallerThan, types, converters, injectedPrimitives)(raw.smallerThan, formState).Then((value) => {
762
+ var _a, _b;
763
+ return ValueOrErrors.Default.return(converters["<"].toAPIRawValue([
764
+ PredicateValue.Default.filterSmallerThan(value),
765
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
766
+ ]));
767
+ });
1382
768
  }
1383
- return dispatchToAPIRawValue(
1384
- t.arg,
1385
- types,
1386
- converters,
1387
- injectedPrimitives,
1388
- )(
1389
- raw.value,
1390
- (_m =
1391
- (_l =
1392
- formState === null || formState === void 0
1393
- ? void 0
1394
- : formState.commonFormState) === null || _l === void 0
1395
- ? void 0
1396
- : _l.modifiedByUser) !== null && _m !== void 0
1397
- ? _m
1398
- : false,
1399
- ).Then((value) => {
1400
- var _a, _b;
1401
- return ValueOrErrors.Default.return(
1402
- converters["One"].toAPIRawValue([
1403
- PredicateValue.Default.option(true, value),
1404
- (_b =
1405
- (_a =
1406
- formState === null || formState === void 0
1407
- ? void 0
1408
- : formState.commonFormState) === null || _a === void 0
1409
- ? void 0
1410
- : _a.modifiedByUser) !== null && _b !== void 0
1411
- ? _b
1412
- : false,
1413
- ]),
1414
- );
1415
- });
1416
- }
1417
- if (t.kind == "table") {
1418
- if (!PredicateValue.Operations.IsTable(raw)) {
1419
- return ValueOrErrors.Default.throwOne(
1420
- `Table expected but got ${JSON.stringify(raw)}`,
1421
- );
769
+ if (t.kind == "startsWith") {
770
+ if (!PredicateValue.Operations.IsFilterStartsWith(raw)) {
771
+ return ValueOrErrors.Default.throwOne(`FilterStartsWith expected but got ${JSON.stringify(raw)}`);
772
+ }
773
+ return dispatchToAPIRawValue(t.startsWith, types, converters, injectedPrimitives)(raw.startsWith, formState).Then((value) => {
774
+ var _a, _b;
775
+ return ValueOrErrors.Default.return(converters["StartsWith"].toAPIRawValue([
776
+ PredicateValue.Default.filterStartsWith(value),
777
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
778
+ ]));
779
+ });
1422
780
  }
1423
- return ValueOrErrors.Default.return(
1424
- converters["Table"].toAPIRawValue([
1425
- raw,
1426
- (_p =
1427
- (_o =
1428
- formState === null || formState === void 0
1429
- ? void 0
1430
- : formState.commonFormState) === null || _o === void 0
1431
- ? void 0
1432
- : _o.modifiedByUser) !== null && _p !== void 0
1433
- ? _p
1434
- : false,
1435
- ]),
1436
- );
1437
- }
1438
- return ValueOrErrors.Default.throwOne(
1439
- `Unsupported type ${JSON.stringify(t)}`,
1440
- );
781
+ return ValueOrErrors.Default.throwOne(`Unsupported type ${JSON.stringify(t)}`);
1441
782
  })();
1442
- return result.MapErrors((errors) =>
1443
- errors.map(
1444
- (error) =>
1445
- `${error}\n...When converting type ${JSON.stringify(t, null, 2)} and value ${JSON.stringify(raw, null, 2)} to API raw value`,
1446
- ),
1447
- );
1448
- };
1449
- //# sourceMappingURL=state.js.map
783
+ return result.MapErrors((errors) => errors.map((error) => `${error}\n...When converting type ${JSON.stringify(t, null, 2)} and value ${JSON.stringify(raw, null, 2)} to API raw value`));
784
+ };
785
+ //# sourceMappingURL=state.js.map