ballerina-core 1.0.228 → 1.0.229

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 (669) hide show
  1. package/bin/main.d.ts +1 -1
  2. package/bin/main.js +1 -1
  3. package/bin/src/api-response-handler/coroutines/runner.d.ts +2 -9
  4. package/bin/src/api-response-handler/coroutines/runner.js +13 -20
  5. package/bin/src/api-response-handler/state.d.ts +12 -12
  6. package/bin/src/api-response-handler/state.js +11 -13
  7. package/bin/src/apiResultStatus/state.d.ts +3 -10
  8. package/bin/src/apiResultStatus/state.js +5 -2
  9. package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.d.ts +75 -400
  10. package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.js +196 -314
  11. package/bin/src/async/domains/mirroring/domains/collection/state.d.ts +25 -38
  12. package/bin/src/async/domains/mirroring/domains/collection/state.js +36 -126
  13. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.d.ts +8 -12
  14. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.js +11 -18
  15. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.d.ts +9 -12
  16. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.js +19 -19
  17. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.d.ts +8 -17
  18. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.js +1 -1
  19. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.d.ts +13 -16
  20. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.js +18 -18
  21. package/bin/src/async/domains/mirroring/domains/entity/state.d.ts +9 -12
  22. package/bin/src/async/domains/mirroring/domains/entity/state.js +9 -18
  23. package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.d.ts +41 -233
  24. package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.js +83 -134
  25. package/bin/src/async/domains/mirroring/domains/singleton/state.d.ts +15 -24
  26. package/bin/src/async/domains/mirroring/domains/singleton/state.js +8 -52
  27. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts +2 -5
  28. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.js +1 -1
  29. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.d.ts +10 -16
  30. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.js +4 -7
  31. package/bin/src/async/domains/promise/state.d.ts +4 -9
  32. package/bin/src/async/domains/promise/state.js +9 -20
  33. package/bin/src/async/domains/synchronized/coroutines/synchronize.d.ts +4 -29
  34. package/bin/src/async/domains/synchronized/coroutines/synchronize.js +28 -80
  35. package/bin/src/async/domains/synchronized/state.d.ts +7 -14
  36. package/bin/src/async/domains/synchronized/state.js +6 -16
  37. package/bin/src/async/state.d.ts +45 -56
  38. package/bin/src/async/state.js +97 -115
  39. package/bin/src/baseEntity/domains/identifiable/state.d.ts +11 -15
  40. package/bin/src/baseEntity/domains/identifiable/state.js +9 -9
  41. package/bin/src/collections/domains/array/state.d.ts +7 -7
  42. package/bin/src/collections/domains/array/state.js +5 -5
  43. package/bin/src/collections/domains/errors/state.d.ts +10 -10
  44. package/bin/src/collections/domains/errors/state.js +10 -10
  45. package/bin/src/collections/domains/immutable/domains/list/state.d.ts +15 -19
  46. package/bin/src/collections/domains/immutable/domains/list/state.js +44 -46
  47. package/bin/src/collections/domains/immutable/domains/map/state.d.ts +16 -30
  48. package/bin/src/collections/domains/immutable/domains/map/state.js +23 -41
  49. package/bin/src/collections/domains/immutable/domains/orderedMap/state.d.ts +25 -53
  50. package/bin/src/collections/domains/immutable/domains/orderedMap/state.js +65 -84
  51. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.d.ts +6 -6
  52. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.js +6 -6
  53. package/bin/src/collections/domains/maybe/state.d.ts +9 -9
  54. package/bin/src/collections/domains/maybe/state.js +9 -12
  55. package/bin/src/collections/domains/product/state.d.ts +19 -25
  56. package/bin/src/collections/domains/product/state.js +10 -13
  57. package/bin/src/collections/domains/sum/state.d.ts +77 -101
  58. package/bin/src/collections/domains/sum/state.js +32 -49
  59. package/bin/src/collections/domains/valueOrErrors/state.d.ts +27 -53
  60. package/bin/src/collections/domains/valueOrErrors/state.js +56 -81
  61. package/bin/src/coroutines/builder.d.ts +49 -135
  62. package/bin/src/coroutines/builder.js +19 -40
  63. package/bin/src/coroutines/state.d.ts +71 -186
  64. package/bin/src/coroutines/state.js +306 -381
  65. package/bin/src/coroutines/template.d.ts +8 -17
  66. package/bin/src/coroutines/template.js +59 -97
  67. package/bin/src/debounced/coroutines/debounce.d.ts +6 -15
  68. package/bin/src/debounced/coroutines/debounce.js +89 -115
  69. package/bin/src/debounced/state.d.ts +19 -26
  70. package/bin/src/debounced/state.js +25 -62
  71. package/bin/src/diagnostics/domains/message-box/state.d.ts +1 -1
  72. package/bin/src/diagnostics/domains/message-box/state.js +3 -3
  73. package/bin/src/foreignMutations/state.d.ts +3 -3
  74. package/bin/src/foreignMutations/state.js +1 -1
  75. package/bin/src/forms/domains/attachments/views/attachments-view.d.ts +4 -4
  76. package/bin/src/forms/domains/attachments/views/attachments-view.js +8 -30
  77. package/bin/src/forms/domains/collection/domains/reference/state.d.ts +22 -29
  78. package/bin/src/forms/domains/collection/domains/reference/state.js +20 -26
  79. package/bin/src/forms/domains/collection/domains/selection/state.d.ts +15 -37
  80. package/bin/src/forms/domains/collection/domains/selection/state.js +1 -1
  81. package/bin/src/forms/domains/dispatched-forms/built-ins/state.d.ts +120 -555
  82. package/bin/src/forms/domains/dispatched-forms/built-ins/state.d.ts.map +1 -1
  83. package/bin/src/forms/domains/dispatched-forms/built-ins/state.js +754 -1967
  84. package/bin/src/forms/domains/dispatched-forms/built-ins/state.js.map +1 -1
  85. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.d.ts +2 -22
  86. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.d.ts.map +1 -1
  87. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js +44 -128
  88. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js.map +1 -1
  89. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.d.ts +63 -119
  90. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.js +145 -315
  91. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.d.ts +19 -35
  92. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.js +27 -40
  93. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.d.ts +28 -60
  94. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.js +40 -76
  95. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.d.ts +56 -121
  96. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.js +59 -102
  97. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.d.ts +15 -42
  98. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.js +29 -64
  99. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.d.ts +29 -70
  100. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.js +20 -52
  101. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.d.ts +18 -61
  102. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.js +33 -88
  103. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.d.ts +10 -20
  104. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.js +13 -21
  105. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.d.ts +19 -50
  106. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.js +23 -52
  107. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.d.ts +11 -42
  108. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.js +18 -59
  109. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.d.ts +19 -46
  110. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.d.ts.map +1 -1
  111. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.js +55 -110
  112. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.js.map +1 -1
  113. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.d.ts +14 -29
  114. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.js +27 -43
  115. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.d.ts +19 -49
  116. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.js +23 -63
  117. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.d.ts +13 -21
  118. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.js +22 -39
  119. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.d.ts +10 -39
  120. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.js +11 -46
  121. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts +34 -79
  122. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts.map +1 -1
  123. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js +46 -146
  124. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js.map +1 -1
  125. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.d.ts +13 -37
  126. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.js +29 -64
  127. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.d.ts +15 -40
  128. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.js +33 -78
  129. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.d.ts +19 -107
  130. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.js +62 -157
  131. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts +229 -410
  132. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts.map +1 -1
  133. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js +569 -946
  134. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js.map +1 -1
  135. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.d.ts +51 -103
  136. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.js +94 -255
  137. package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts +102 -328
  138. package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts.map +1 -1
  139. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js +90 -182
  140. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js.map +1 -1
  141. package/bin/src/forms/domains/dispatched-forms/deserializer/template.d.ts +2 -27
  142. package/bin/src/forms/domains/dispatched-forms/deserializer/template.js +2 -3
  143. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.d.ts +9 -28
  144. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.d.ts.map +1 -1
  145. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.js +7 -142
  146. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.js.map +1 -1
  147. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.d.ts +7 -35
  148. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.js +3 -3
  149. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.d.ts +4 -28
  150. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js +23 -49
  151. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.d.ts +7 -32
  152. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.d.ts.map +1 -1
  153. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js +3 -3
  154. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js.map +1 -1
  155. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.d.ts +4 -25
  156. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.d.ts.map +1 -1
  157. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js +24 -49
  158. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js.map +1 -1
  159. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.d.ts +19 -56
  160. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +6 -18
  161. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.d.ts +7 -29
  162. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +30 -64
  163. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.d.ts +15 -42
  164. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.d.ts.map +1 -1
  165. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +6 -9
  166. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js.map +1 -1
  167. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.d.ts +8 -40
  168. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.d.ts.map +1 -1
  169. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +60 -150
  170. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js.map +1 -1
  171. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.d.ts +11 -45
  172. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.js +1 -1
  173. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.d.ts +8 -42
  174. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js +50 -127
  175. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.d.ts +19 -55
  176. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +22 -40
  177. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.d.ts +28 -76
  178. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.d.ts.map +1 -1
  179. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +10 -19
  180. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js.map +1 -1
  181. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts +6 -50
  182. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts.map +1 -1
  183. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +135 -290
  184. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js.map +1 -1
  185. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.d.ts +7 -41
  186. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.js +1 -1
  187. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.d.ts +4 -45
  188. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js +8 -28
  189. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.d.ts +26 -103
  190. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +18 -61
  191. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.d.ts +9 -64
  192. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +89 -308
  193. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.d.ts +7 -37
  194. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.js +3 -3
  195. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.d.ts +4 -29
  196. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js +23 -54
  197. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.d.ts +13 -50
  198. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +10 -22
  199. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.d.ts +12 -59
  200. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +31 -49
  201. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.d.ts +11 -47
  202. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +10 -29
  203. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js.map +1 -1
  204. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.d.ts +1093 -3896
  205. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js +2 -2
  206. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.d.ts +40 -165
  207. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js +26 -47
  208. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.d.ts +81 -246
  209. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.d.ts.map +1 -1
  210. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +40 -85
  211. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js.map +1 -1
  212. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.d.ts +11 -62
  213. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.d.ts.map +1 -1
  214. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +148 -344
  215. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js.map +1 -1
  216. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.d.ts +20 -65
  217. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +10 -19
  218. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.d.ts +6 -47
  219. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +18 -61
  220. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.d.ts +21 -81
  221. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +11 -32
  222. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.d.ts +10 -57
  223. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.d.ts.map +1 -1
  224. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +70 -195
  225. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js.map +1 -1
  226. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.d.ts +49 -123
  227. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +13 -35
  228. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.d.ts +8 -45
  229. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +68 -195
  230. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.d.ts +51 -121
  231. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +13 -36
  232. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.d.ts +8 -45
  233. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +106 -246
  234. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.d.ts +8 -38
  235. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.js +3 -3
  236. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.d.ts +4 -29
  237. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js +23 -54
  238. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.d.ts +34 -58
  239. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +13 -24
  240. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.d.ts +8 -38
  241. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.js +3 -3
  242. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.d.ts +4 -29
  243. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js +26 -58
  244. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.d.ts +29 -92
  245. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.d.ts.map +1 -1
  246. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +7 -22
  247. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js.map +1 -1
  248. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.d.ts +7 -55
  249. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.d.ts.map +1 -1
  250. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +53 -162
  251. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js.map +1 -1
  252. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.d.ts +949 -2523
  253. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.d.ts.map +1 -1
  254. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js +2 -2
  255. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js.map +1 -1
  256. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.d.ts +11 -44
  257. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.d.ts.map +1 -1
  258. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js +26 -96
  259. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js.map +1 -1
  260. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.d.ts +11 -45
  261. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.d.ts.map +1 -1
  262. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +22 -49
  263. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js.map +1 -1
  264. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.d.ts +22 -0
  265. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.d.ts.map +1 -0
  266. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +35 -0
  267. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js.map +1 -0
  268. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.d.ts +3 -0
  269. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.d.ts.map +1 -0
  270. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +21 -0
  271. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js.map +1 -0
  272. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.d.ts +40 -80
  273. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.d.ts.map +1 -1
  274. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +19 -147
  275. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js.map +1 -1
  276. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts +186 -355
  277. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts.map +1 -1
  278. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +135 -290
  279. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js.map +1 -1
  280. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts +15 -102
  281. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts.map +1 -1
  282. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +208 -580
  283. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js.map +1 -1
  284. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.d.ts +18 -75
  285. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +8 -20
  286. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.d.ts +6 -51
  287. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +32 -121
  288. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.d.ts +18 -76
  289. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +8 -21
  290. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.d.ts +6 -51
  291. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +31 -90
  292. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.d.ts +13 -45
  293. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +9 -12
  294. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.d.ts +6 -29
  295. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +20 -54
  296. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts +436 -602
  297. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts.map +1 -1
  298. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +513 -665
  299. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js.map +1 -1
  300. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.d.ts +6 -25
  301. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.d.ts.map +1 -1
  302. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +18 -51
  303. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js.map +1 -1
  304. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.d.ts +7 -26
  305. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.d.ts.map +1 -1
  306. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +14 -39
  307. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js.map +1 -1
  308. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.d.ts +6 -24
  309. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.d.ts.map +1 -1
  310. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +18 -68
  311. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js.map +1 -1
  312. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.d.ts +6 -22
  313. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.d.ts.map +1 -1
  314. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +24 -76
  315. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js.map +1 -1
  316. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.d.ts +7 -42
  317. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.d.ts.map +1 -1
  318. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +8 -37
  319. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js.map +1 -1
  320. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.d.ts +8 -57
  321. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.d.ts.map +1 -1
  322. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +38 -130
  323. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js.map +1 -1
  324. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.d.ts +6 -22
  325. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.d.ts.map +1 -1
  326. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +63 -139
  327. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js.map +1 -1
  328. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.d.ts +6 -25
  329. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.d.ts.map +1 -1
  330. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +12 -37
  331. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js.map +1 -1
  332. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.d.ts +6 -26
  333. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.d.ts.map +1 -1
  334. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +4 -14
  335. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.d.ts +7 -49
  336. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.d.ts.map +1 -1
  337. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +25 -79
  338. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js.map +1 -1
  339. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.d.ts +6 -22
  340. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.d.ts.map +1 -1
  341. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +24 -76
  342. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js.map +1 -1
  343. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.d.ts +6 -25
  344. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.d.ts.map +1 -1
  345. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +20 -55
  346. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js.map +1 -1
  347. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.d.ts +8 -55
  348. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.d.ts.map +1 -1
  349. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +74 -245
  350. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js.map +1 -1
  351. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.d.ts +6 -25
  352. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.d.ts.map +1 -1
  353. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +13 -54
  354. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js.map +1 -1
  355. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.d.ts +6 -25
  356. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.d.ts.map +1 -1
  357. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +15 -63
  358. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js.map +1 -1
  359. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.d.ts +7 -44
  360. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.d.ts.map +1 -1
  361. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +45 -144
  362. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js.map +1 -1
  363. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.d.ts +18 -0
  364. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.d.ts.map +1 -0
  365. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js +109 -0
  366. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js.map +1 -0
  367. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.d.ts +16 -0
  368. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.d.ts.map +1 -0
  369. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js +39 -0
  370. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js.map +1 -0
  371. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.d.ts +327 -0
  372. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.d.ts.map +1 -0
  373. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.js +3 -0
  374. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.js.map +1 -0
  375. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.d.ts +14 -0
  376. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.d.ts.map +1 -0
  377. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.js +22 -0
  378. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.js.map +1 -0
  379. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.d.ts +45 -0
  380. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.d.ts.map +1 -0
  381. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js +15 -0
  382. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js.map +1 -0
  383. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.d.ts +14 -0
  384. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.d.ts.map +1 -0
  385. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js +39 -0
  386. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js.map +1 -0
  387. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.d.ts +16 -0
  388. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.d.ts.map +1 -0
  389. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js +107 -0
  390. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js.map +1 -0
  391. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.d.ts +16 -0
  392. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.d.ts.map +1 -0
  393. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js +40 -0
  394. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js.map +1 -0
  395. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.d.ts +327 -0
  396. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.d.ts.map +1 -0
  397. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.js +3 -0
  398. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.js.map +1 -0
  399. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.d.ts +14 -0
  400. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.d.ts.map +1 -0
  401. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.js +22 -0
  402. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.js.map +1 -0
  403. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.d.ts +45 -0
  404. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.d.ts.map +1 -0
  405. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js +15 -0
  406. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js.map +1 -0
  407. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.d.ts +14 -0
  408. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.d.ts.map +1 -0
  409. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js +39 -0
  410. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js.map +1 -0
  411. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.d.ts +6 -0
  412. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.d.ts.map +1 -0
  413. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js +87 -0
  414. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js.map +1 -0
  415. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.d.ts +14 -0
  416. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.d.ts.map +1 -0
  417. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js +6 -0
  418. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js.map +1 -0
  419. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.d.ts +6 -0
  420. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.d.ts.map +1 -0
  421. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js +43 -0
  422. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js.map +1 -0
  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.js +423 -773
  425. package/bin/src/forms/domains/dispatched-forms/runner/state.d.ts +103 -90
  426. package/bin/src/forms/domains/dispatched-forms/runner/state.d.ts.map +1 -1
  427. package/bin/src/forms/domains/dispatched-forms/runner/state.js +43 -13
  428. package/bin/src/forms/domains/dispatched-forms/runner/state.js.map +1 -1
  429. package/bin/src/forms/domains/dispatched-forms/runner/template.d.ts +6 -30
  430. package/bin/src/forms/domains/dispatched-forms/runner/template.d.ts.map +1 -1
  431. package/bin/src/forms/domains/dispatched-forms/runner/template.js +33 -63
  432. package/bin/src/forms/domains/dispatched-forms/runner/template.js.map +1 -1
  433. package/bin/src/forms/domains/launcher/coroutines/runner.d.ts +4 -12
  434. package/bin/src/forms/domains/launcher/coroutines/runner.js +45 -120
  435. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.d.ts +3 -16
  436. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +101 -240
  437. package/bin/src/forms/domains/launcher/domains/create/state.d.ts +121 -236
  438. package/bin/src/forms/domains/launcher/domains/create/state.js +17 -62
  439. package/bin/src/forms/domains/launcher/domains/create/template.d.ts +6 -20
  440. package/bin/src/forms/domains/launcher/domains/create/template.js +42 -84
  441. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.d.ts +3 -16
  442. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +103 -242
  443. package/bin/src/forms/domains/launcher/domains/edit/state.d.ts +121 -230
  444. package/bin/src/forms/domains/launcher/domains/edit/state.js +17 -62
  445. package/bin/src/forms/domains/launcher/domains/edit/template.d.ts +6 -20
  446. package/bin/src/forms/domains/launcher/domains/edit/template.js +43 -86
  447. package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
  448. package/bin/src/forms/domains/launcher/domains/merger/state.js +26 -35
  449. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.d.ts +5 -20
  450. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +42 -88
  451. package/bin/src/forms/domains/launcher/domains/passthrough/state.d.ts +58 -123
  452. package/bin/src/forms/domains/launcher/domains/passthrough/state.js +19 -44
  453. package/bin/src/forms/domains/launcher/domains/passthrough/template.d.ts +6 -23
  454. package/bin/src/forms/domains/launcher/domains/passthrough/template.js +34 -56
  455. package/bin/src/forms/domains/launcher/state.d.ts +43 -62
  456. package/bin/src/forms/domains/launcher/state.js +6 -6
  457. package/bin/src/forms/domains/launcher/template.d.ts +15 -35
  458. package/bin/src/forms/domains/launcher/template.js +85 -169
  459. package/bin/src/forms/domains/parser/coroutines/runner.d.ts +5 -13
  460. package/bin/src/forms/domains/parser/coroutines/runner.js +25 -87
  461. package/bin/src/forms/domains/parser/domains/built-ins/state.d.ts +71 -135
  462. package/bin/src/forms/domains/parser/domains/built-ins/state.js +533 -944
  463. package/bin/src/forms/domains/parser/domains/deltas/state.d.ts +296 -417
  464. package/bin/src/forms/domains/parser/domains/deltas/state.js +318 -444
  465. package/bin/src/forms/domains/parser/domains/injectables/state.d.ts +20 -29
  466. package/bin/src/forms/domains/parser/domains/injectables/state.js +26 -29
  467. package/bin/src/forms/domains/parser/domains/layout/state.d.ts +54 -66
  468. package/bin/src/forms/domains/parser/domains/layout/state.d.ts.map +1 -1
  469. package/bin/src/forms/domains/parser/domains/layout/state.js +182 -215
  470. package/bin/src/forms/domains/parser/domains/layout/state.js.map +1 -1
  471. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.d.ts +6 -19
  472. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +162 -324
  473. package/bin/src/forms/domains/parser/domains/predicates/state.d.ts +316 -497
  474. package/bin/src/forms/domains/parser/domains/predicates/state.d.ts.map +1 -1
  475. package/bin/src/forms/domains/parser/domains/predicates/state.js +976 -1457
  476. package/bin/src/forms/domains/parser/domains/predicates/state.js.map +1 -1
  477. package/bin/src/forms/domains/parser/domains/renderer/state.d.ts +92 -245
  478. package/bin/src/forms/domains/parser/domains/renderer/state.js +480 -1137
  479. package/bin/src/forms/domains/parser/domains/types/state.d.ts +130 -170
  480. package/bin/src/forms/domains/parser/domains/types/state.js +170 -355
  481. package/bin/src/forms/domains/parser/domains/validator/state.d.ts +117 -143
  482. package/bin/src/forms/domains/parser/domains/validator/state.d.ts.map +1 -1
  483. package/bin/src/forms/domains/parser/domains/validator/state.js +280 -417
  484. package/bin/src/forms/domains/parser/state.d.ts +82 -217
  485. package/bin/src/forms/domains/parser/state.d.ts.map +1 -1
  486. package/bin/src/forms/domains/parser/state.js +373 -612
  487. package/bin/src/forms/domains/parser/template.d.ts +5 -13
  488. package/bin/src/forms/domains/parser/template.js +1 -1
  489. package/bin/src/forms/domains/primitives/domains/base-64-file/state.d.ts +11 -19
  490. package/bin/src/forms/domains/primitives/domains/base-64-file/state.js +5 -5
  491. package/bin/src/forms/domains/primitives/domains/base-64-file/template.d.ts +7 -18
  492. package/bin/src/forms/domains/primitives/domains/base-64-file/template.js +19 -38
  493. package/bin/src/forms/domains/primitives/domains/boolean/state.d.ts +11 -19
  494. package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
  495. package/bin/src/forms/domains/primitives/domains/boolean/template.d.ts +8 -24
  496. package/bin/src/forms/domains/primitives/domains/boolean/template.js +19 -38
  497. package/bin/src/forms/domains/primitives/domains/date/state.d.ts +20 -39
  498. package/bin/src/forms/domains/primitives/domains/date/state.js +9 -18
  499. package/bin/src/forms/domains/primitives/domains/date/template.d.ts +7 -18
  500. package/bin/src/forms/domains/primitives/domains/date/template.js +25 -51
  501. package/bin/src/forms/domains/primitives/domains/enum/state.d.ts +15 -31
  502. package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
  503. package/bin/src/forms/domains/primitives/domains/enum/template.d.ts +7 -18
  504. package/bin/src/forms/domains/primitives/domains/enum/template.js +48 -117
  505. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.d.ts +8 -17
  506. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
  507. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.d.ts +7 -18
  508. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +40 -99
  509. package/bin/src/forms/domains/primitives/domains/list/state.d.ts +24 -45
  510. package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
  511. package/bin/src/forms/domains/primitives/domains/list/template.d.ts +13 -38
  512. package/bin/src/forms/domains/primitives/domains/list/template.js +71 -200
  513. package/bin/src/forms/domains/primitives/domains/map/state.d.ts +29 -68
  514. package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
  515. package/bin/src/forms/domains/primitives/domains/map/template.d.ts +25 -65
  516. package/bin/src/forms/domains/primitives/domains/map/template.js +103 -294
  517. package/bin/src/forms/domains/primitives/domains/number/state.d.ts +11 -19
  518. package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
  519. package/bin/src/forms/domains/primitives/domains/number/template.d.ts +8 -24
  520. package/bin/src/forms/domains/primitives/domains/number/template.js +19 -38
  521. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.d.ts +42 -89
  522. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +16 -33
  523. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.d.ts +8 -22
  524. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +62 -171
  525. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.d.ts +9 -18
  526. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.js +1 -1
  527. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.d.ts +7 -18
  528. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.js +69 -182
  529. package/bin/src/forms/domains/primitives/domains/secret/state.d.ts +11 -19
  530. package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
  531. package/bin/src/forms/domains/primitives/domains/secret/template.d.ts +7 -18
  532. package/bin/src/forms/domains/primitives/domains/secret/template.js +19 -38
  533. package/bin/src/forms/domains/primitives/domains/string/state.d.ts +13 -21
  534. package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
  535. package/bin/src/forms/domains/primitives/domains/string/template.d.ts +7 -18
  536. package/bin/src/forms/domains/primitives/domains/string/template.js +22 -42
  537. package/bin/src/forms/domains/primitives/domains/sum/state.d.ts +22 -62
  538. package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
  539. package/bin/src/forms/domains/primitives/domains/sum/template.d.ts +16 -48
  540. package/bin/src/forms/domains/primitives/domains/sum/template.js +50 -141
  541. package/bin/src/forms/domains/primitives/domains/tuple/state.d.ts +23 -48
  542. package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
  543. package/bin/src/forms/domains/primitives/domains/tuple/template.d.ts +18 -46
  544. package/bin/src/forms/domains/primitives/domains/tuple/template.js +33 -100
  545. package/bin/src/forms/domains/primitives/domains/unit/state.d.ts +10 -17
  546. package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
  547. package/bin/src/forms/domains/primitives/domains/unit/template.d.ts +4 -9
  548. package/bin/src/forms/domains/primitives/domains/unit/template.js +9 -22
  549. package/bin/src/forms/domains/singleton/domains/form-label/state.d.ts +4 -4
  550. package/bin/src/forms/domains/singleton/domains/form-label/state.js +1 -1
  551. package/bin/src/forms/domains/singleton/state.d.ts +43 -144
  552. package/bin/src/forms/domains/singleton/state.js +10 -12
  553. package/bin/src/forms/domains/singleton/template.d.ts +88 -177
  554. package/bin/src/forms/domains/singleton/template.js +113 -288
  555. package/bin/src/fun/domains/curry/state.d.ts +2 -4
  556. package/bin/src/fun/domains/curry/state.js +1 -1
  557. package/bin/src/fun/domains/id/state.d.ts +1 -1
  558. package/bin/src/fun/domains/id/state.js +1 -1
  559. package/bin/src/fun/domains/predicate/domains/bool-expr.d.ts +41 -57
  560. package/bin/src/fun/domains/predicate/domains/bool-expr.js +67 -76
  561. package/bin/src/fun/domains/predicate/state.d.ts +7 -9
  562. package/bin/src/fun/domains/predicate/state.js +10 -14
  563. package/bin/src/fun/domains/simpleCallback/state.d.ts +1 -1
  564. package/bin/src/fun/domains/simpleCallback/state.js +1 -1
  565. package/bin/src/fun/domains/uncurry/state.d.ts +2 -4
  566. package/bin/src/fun/domains/uncurry/state.js +1 -1
  567. package/bin/src/fun/domains/unit/state.d.ts +1 -1
  568. package/bin/src/fun/domains/unit/state.js +1 -1
  569. package/bin/src/fun/domains/updater/domains/caseUpdater/state.d.ts +7 -22
  570. package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +10 -18
  571. package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +13 -24
  572. package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +10 -40
  573. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +13 -19
  574. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +9 -20
  575. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +13 -24
  576. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +11 -47
  577. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +8 -20
  578. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +5 -17
  579. package/bin/src/fun/domains/updater/domains/replaceWith/state.d.ts +1 -1
  580. package/bin/src/fun/domains/updater/domains/replaceWith/state.js +1 -1
  581. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts +4 -13
  582. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +4 -6
  583. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +22 -60
  584. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +31 -42
  585. package/bin/src/fun/domains/updater/state.d.ts +4 -4
  586. package/bin/src/fun/domains/updater/state.js +10 -12
  587. package/bin/src/fun/state.d.ts +3 -3
  588. package/bin/src/fun/state.js +7 -9
  589. package/bin/src/infinite-data-stream/coroutines/builder.d.ts +27 -209
  590. package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
  591. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.d.ts +5 -21
  592. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +20 -47
  593. package/bin/src/infinite-data-stream/coroutines/runner.d.ts +3 -11
  594. package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
  595. package/bin/src/infinite-data-stream/state.d.ts +51 -84
  596. package/bin/src/infinite-data-stream/state.js +61 -125
  597. package/bin/src/infinite-data-stream/template.d.ts +3 -10
  598. package/bin/src/infinite-data-stream/template.js +2 -3
  599. package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
  600. package/bin/src/math/domains/DOMRect/state.js +8 -10
  601. package/bin/src/math/domains/number/state.d.ts +5 -5
  602. package/bin/src/math/domains/number/state.js +5 -5
  603. package/bin/src/math/domains/rect/state.d.ts +8 -8
  604. package/bin/src/math/domains/rect/state.js +15 -16
  605. package/bin/src/math/domains/rgba/state.d.ts +17 -17
  606. package/bin/src/math/domains/rgba/state.js +81 -77
  607. package/bin/src/math/domains/size2/state.d.ts +8 -8
  608. package/bin/src/math/domains/size2/state.js +6 -6
  609. package/bin/src/math/domains/vector2/state.d.ts +10 -10
  610. package/bin/src/math/domains/vector2/state.js +8 -8
  611. package/bin/src/queue/state.d.ts +7 -23
  612. package/bin/src/queue/state.js +16 -23
  613. package/bin/src/state/domains/repository/state.d.ts +9 -15
  614. package/bin/src/state/domains/repository/state.js +1 -1
  615. package/bin/src/template/state.d.ts +45 -153
  616. package/bin/src/template/state.js +115 -163
  617. package/bin/src/validation/state.d.ts +9 -23
  618. package/bin/src/validation/state.js +45 -38
  619. package/bin/src/value/domains/mutable-value/state.d.ts +3 -3
  620. package/bin/src/value/domains/mutable-value/state.js +2 -3
  621. package/bin/src/value/state.d.ts +9 -9
  622. package/bin/src/value/state.js +8 -11
  623. package/bin/src/value-infinite-data-stream/coroutines/builder.d.ts +25 -207
  624. package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
  625. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.d.ts +2 -4
  626. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +20 -55
  627. package/bin/src/value-infinite-data-stream/coroutines/runner.d.ts +2 -8
  628. package/bin/src/value-infinite-data-stream/coroutines/runner.js +4 -6
  629. package/bin/src/value-infinite-data-stream/state.d.ts +68 -134
  630. package/bin/src/value-infinite-data-stream/state.js +77 -199
  631. package/bin/src/value-infinite-data-stream/template.d.ts +2 -7
  632. package/bin/src/value-infinite-data-stream/template.js +2 -4
  633. package/bin/src/visibility/state.d.ts +2 -5
  634. package/bin/src/visibility/state.js +1 -1
  635. package/package.json +1 -1
  636. package/src/forms/domains/dispatched-forms/deserializer/state.ts +292 -94
  637. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.ts +1 -1
  638. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.ts +1 -1
  639. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.ts +1 -1
  640. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.ts +1 -1
  641. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.ts +1 -1
  642. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.ts +1 -1
  643. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.ts +1 -1
  644. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.ts +1 -1
  645. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.ts +1 -1
  646. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.ts +1 -1
  647. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.ts +1 -1
  648. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.ts +1 -1
  649. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.ts +1 -1
  650. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.ts +1 -1
  651. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.ts +1 -1
  652. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.ts +1 -1
  653. package/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.ts +279 -0
  654. package/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.ts +103 -0
  655. package/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.ts +24 -0
  656. package/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.ts +44 -0
  657. package/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.ts +100 -0
  658. package/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.tsx +116 -0
  659. package/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.ts +272 -0
  660. package/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.ts +101 -0
  661. package/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.ts +24 -0
  662. package/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.ts +43 -0
  663. package/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.ts +96 -0
  664. package/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.tsx +115 -0
  665. package/src/forms/domains/dispatched-forms/runner/{coroutines → domains/kind/passthrough/coroutines}/runner.ts +49 -45
  666. package/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.ts +45 -0
  667. package/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.tsx +118 -0
  668. package/src/forms/domains/dispatched-forms/runner/state.ts +141 -11
  669. package/src/forms/domains/dispatched-forms/runner/template.tsx +102 -59
@@ -1,2012 +1,799 @@
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";
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";
28
13
  import { ReadOnlyAbstractRendererState } from "../runner/domains/abstract-renderers/readOnly/state";
29
- import { MapAbstractRendererState } from "../runner/domains/abstract-renderers/map/state";
30
- import { TupleAbstractRendererState } from "../runner/domains/abstract-renderers/tuple/state";
31
- import { SumAbstractRendererState } from "../runner/domains/abstract-renderers/sum/state";
32
- import { EnumAbstractRendererState } from "../runner/domains/abstract-renderers/enum/state";
33
- import { ListAbstractRendererState } from "../runner/domains/abstract-renderers/list/state";
34
- import { SearchableInfiniteStreamAbstractRendererState } from "../runner/domains/abstract-renderers/searchable-infinite-stream/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";
35
20
  import { LookupRenderer } from "../deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state";
36
- const sortObjectKeys = (obj) =>
37
- Object.keys(obj)
21
+ const sortObjectKeys = (obj) => Object.keys(obj)
38
22
  .sort()
39
23
  .reduce((sortedObj, key) => {
40
- sortedObj[key] = obj[key];
41
- return sortedObj;
42
- }, {});
24
+ sortedObj[key] = obj[key];
25
+ return sortedObj;
26
+ }, {});
43
27
  const simpleMapKeyToIdentifer = (key) => {
44
- if (typeof key == "object") return JSON.stringify(sortObjectKeys(key));
45
- return JSON.stringify(key);
28
+ if (typeof key == "object")
29
+ return JSON.stringify(sortObjectKeys(key));
30
+ return JSON.stringify(key);
46
31
  };
47
32
  export const DispatchGenericTypes = [
48
- "SingleSelection",
49
- "MultiSelection",
50
- "List",
51
- "Map",
52
- "Union",
53
- "Tuple",
54
- "Option",
55
- "Sum",
56
- "KeyOf",
57
- "Table",
58
- "One",
59
- "ReadOnly",
33
+ "SingleSelection",
34
+ "MultiSelection",
35
+ "List",
36
+ "Map",
37
+ "Union",
38
+ "Tuple",
39
+ "Option",
40
+ "Sum",
41
+ "KeyOf",
42
+ "Table",
43
+ "One",
44
+ "ReadOnly",
60
45
  ];
61
46
  export const concreteRendererToKind = (concreteRenderers) => (name) => {
62
- const viewTypes = Object.keys(concreteRenderers);
63
- for (const viewType of viewTypes) {
64
- if (name in concreteRenderers[viewType]) {
65
- 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
+ }
66
52
  }
67
- }
68
- return ValueOrErrors.Default.throwOne(
69
- `cannot find view ${name} in concrete renderers`,
70
- );
53
+ return ValueOrErrors.Default.throwOne(`cannot find view ${name} in concrete renderers`);
71
54
  };
72
55
  export const tryGetConcreteRenderer = (concreteRenderers) => (kind, name) => {
73
- if (!concreteRenderers[kind]) {
74
- return ValueOrErrors.Default.throwOne(
75
- `cannot find concrete renderer kind "${kind}" in concrete renderers`,
76
- );
77
- }
78
- if (concreteRenderers[kind][name]) {
79
- return ValueOrErrors.Default.return(concreteRenderers[kind][name]());
80
- }
81
- return ValueOrErrors.Default.throwOne(
82
- `cannot find concrete renderer "${name}" in kind "${kind}"`,
83
- );
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}"`);
84
63
  };
85
- export const getDefaultRecordRenderer = (
86
- isNested,
87
- defaultRecordRenderer,
88
- defaultNestedRecordRenderer,
89
- ) => (isNested ? defaultNestedRecordRenderer() : defaultRecordRenderer());
90
- export const dispatchDefaultState =
91
- (
92
- infiniteStreamSources,
93
- injectedPrimitives,
94
- types,
95
- forms,
96
- converters,
97
- lookupSources,
98
- tableApiSources,
99
- specApis,
100
- ) =>
101
- (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) => {
102
66
  const result = (() => {
103
- var _a, _b, _c, _d;
104
- if (renderer == undefined) {
105
- return ValueOrErrors.Default.return(undefined);
106
- }
107
- if (renderer.kind == "lookupType-lookupRenderer") {
108
- return DispatchParsedType.Operations.ResolveLookupType(
109
- renderer.type.name,
110
- types,
111
- ).Then((resolvedType) =>
112
- LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then(
113
- (resolvedRenderer) =>
114
- dispatchDefaultState(
115
- infiniteStreamSources,
116
- injectedPrimitives,
117
- types,
118
- forms,
119
- converters,
120
- lookupSources,
121
- tableApiSources,
122
- specApis,
123
- )(resolvedType, resolvedRenderer),
124
- ),
125
- );
126
- }
127
- if (renderer.kind == "lookupType-inlinedRenderer") {
128
- return DispatchParsedType.Operations.ResolveLookupType(
129
- renderer.type.name,
130
- types,
131
- ).Then((resolvedType) =>
132
- dispatchDefaultState(
133
- infiniteStreamSources,
134
- injectedPrimitives,
135
- types,
136
- forms,
137
- converters,
138
- lookupSources,
139
- tableApiSources,
140
- specApis,
141
- )(resolvedType, renderer.inlinedRenderer),
142
- );
143
- }
144
- if (renderer.kind == "inlinedType-lookupRenderer") {
145
- return LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then(
146
- (resolvedRenderer) =>
147
- dispatchDefaultState(
148
- infiniteStreamSources,
149
- injectedPrimitives,
150
- types,
151
- forms,
152
- converters,
153
- lookupSources,
154
- tableApiSources,
155
- specApis,
156
- )(renderer.type, resolvedRenderer),
157
- );
158
- }
159
- if (t.kind == "primitive")
160
- return t.name == "unit"
161
- ? ValueOrErrors.Default.return(UnitAbstractRendererState.Default())
162
- : t.name == "boolean"
163
- ? ValueOrErrors.Default.return(BoolAbstractRendererState.Default())
164
- : t.name == "number"
165
- ? ValueOrErrors.Default.return(
166
- NumberAbstractRendererState.Default(),
167
- )
168
- : t.name == "string" ||
169
- t.name == "entityIdString" ||
170
- t.name == "calculatedDisplayValue"
171
- ? ValueOrErrors.Default.return(
172
- StringAbstractRendererState.Default(),
173
- )
174
- : t.name == "base64File"
175
- ? ValueOrErrors.Default.return(
176
- Base64FileAbstractRendererState.Default(),
177
- )
178
- : t.name == "secret"
179
- ? ValueOrErrors.Default.return(
180
- SecretAbstractRendererState.Default(),
181
- )
182
- : t.name == "Date"
183
- ? ValueOrErrors.Default.return(
184
- DateAbstractRendererState.Default(),
185
- )
186
- : (injectedPrimitives === null ||
187
- injectedPrimitives === void 0
188
- ? void 0
189
- : injectedPrimitives.get(t.name)) != undefined
190
- ? ValueOrErrors.Default.return(
191
- Object.assign(
192
- {
193
- commonFormState:
194
- DispatchCommonFormState.Default(),
195
- },
196
- injectedPrimitives === null ||
197
- injectedPrimitives === void 0
198
- ? void 0
199
- : injectedPrimitives.get(t.name).defaultState,
200
- ),
201
- )
202
- : ValueOrErrors.Default.throwOne(
203
- `could not resolve defaultState for primitive renderer kind "${t.name}"`,
204
- );
205
- if (t.kind == "singleSelection")
206
- return renderer.kind == "enumRenderer"
207
- ? ValueOrErrors.Default.return(EnumAbstractRendererState().Default())
208
- : renderer.kind == "streamRenderer"
209
- ? infiniteStreamSources(renderer.stream).Then((streamSource) =>
210
- ValueOrErrors.Default.return(
211
- SearchableInfiniteStreamAbstractRendererState.Default(
212
- streamSource,
213
- ),
214
- ),
215
- )
216
- : ValueOrErrors.Default.throwOne(
217
- `received non singleSelection renderer kind "${renderer.kind}" when resolving defaultState for singleSelection`,
218
- );
219
- if (t.kind == "multiSelection")
220
- return renderer.kind == "enumRenderer"
221
- ? ValueOrErrors.Default.return(EnumAbstractRendererState().Default())
222
- : renderer.kind == "streamRenderer"
223
- ? infiniteStreamSources(renderer.stream).Then((streamSource) =>
224
- ValueOrErrors.Default.return(
225
- SearchableInfiniteStreamAbstractRendererState.Default(
226
- streamSource,
227
- ),
228
- ),
229
- )
230
- : ValueOrErrors.Default.throwOne(
231
- `received non multiSelection renderer kind "${renderer.kind}" when resolving defaultState for multiSelection`,
232
- );
233
- if (t.kind == "list")
234
- return renderer.kind == "listRenderer"
235
- ? ValueOrErrors.Default.return(
236
- ListAbstractRendererState.Default.zero(),
237
- )
238
- : ValueOrErrors.Default.throwOne(
239
- `received non list renderer kind "${renderer.kind}" when resolving defaultState for list`,
240
- );
241
- if (t.kind == "map")
242
- return renderer.kind == "mapRenderer"
243
- ? ValueOrErrors.Default.return(
244
- MapAbstractRendererState.Default.zero(),
245
- )
246
- : ValueOrErrors.Default.throwOne(
247
- `received non map renderer kind "${renderer.kind}" when resolving defaultState for map`,
248
- );
249
- if (t.kind == "tuple")
250
- return renderer.kind == "tupleRenderer"
251
- ? ValueOrErrors.Operations.All(
252
- List(
253
- t.args.map((_, index) =>
254
- dispatchDefaultState(
255
- infiniteStreamSources,
256
- injectedPrimitives,
257
- types,
258
- forms,
259
- converters,
260
- lookupSources,
261
- tableApiSources,
262
- specApis,
263
- )(_, renderer.itemRenderers[index].renderer).Then(
264
- (itemState) =>
265
- ValueOrErrors.Default.return([index, itemState]),
266
- ),
267
- ),
268
- ),
269
- ).Then((itemStates) =>
270
- ValueOrErrors.Default.return(
271
- TupleAbstractRendererState.Default(Map(itemStates)),
272
- ),
273
- )
274
- : ValueOrErrors.Default.throwOne(
275
- `received non tuple renderer kind "${renderer.kind}" when resolving defaultState for tuple`,
276
- );
277
- if (t.kind == "sum")
278
- return renderer.kind == "sumRenderer"
279
- ? dispatchDefaultState(
280
- infiniteStreamSources,
281
- injectedPrimitives,
282
- types,
283
- forms,
284
- converters,
285
- lookupSources,
286
- tableApiSources,
287
- specApis,
288
- )(t.args[0], renderer.leftRenderer.renderer).Then((left) =>
289
- renderer.rightRenderer == undefined
290
- ? ValueOrErrors.Default.throwOne(
291
- `rightRenderer is undefined when resolving defaultState sum view ${renderer.concreteRenderer}`,
292
- )
293
- : dispatchDefaultState(
294
- infiniteStreamSources,
295
- injectedPrimitives,
296
- types,
297
- forms,
298
- converters,
299
- lookupSources,
300
- tableApiSources,
301
- specApis,
302
- )(t.args[1], renderer.rightRenderer.renderer).Then((right) =>
303
- ValueOrErrors.Default.return(
304
- 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({
305
129
  left,
306
130
  right,
307
- }),
308
- ),
309
- ),
310
- )
311
- : renderer.kind == "sumUnitDateRenderer"
312
- ? ValueOrErrors.Default.return(
313
- SumAbstractRendererState.Default({
314
- left: UnitAbstractRendererState.Default(),
315
- right: DateAbstractRendererState.Default(),
316
- }),
317
- )
318
- : ValueOrErrors.Default.throwOne(
319
- `renderer kind "${renderer.kind}" not supported for sum`,
320
- );
321
- if (t.kind == "one")
322
- return renderer.kind != "oneRenderer"
323
- ? ValueOrErrors.Default.throwOne(
324
- `received non one renderer kind "${renderer.kind}" when resolving defaultState for one`,
325
- )
326
- : specApis.lookups != undefined &&
327
- specApis.lookups.get(renderer.api[0]) != undefined &&
328
- ((_a = specApis.lookups.get(renderer.api[0])) === null ||
329
- _a === void 0
330
- ? void 0
331
- : _a.one) != undefined &&
332
- ((_b = specApis.lookups.get(renderer.api[0])) === null ||
333
- _b === void 0
334
- ? void 0
335
- : _b.one.get(renderer.api[1])) != undefined &&
336
- ((_d =
337
- (_c = specApis.lookups.get(renderer.api[0])) === null ||
338
- _c === void 0
339
- ? void 0
340
- : _c.one.get(renderer.api[1])) === null || _d === void 0
341
- ? void 0
342
- : _d.methods.getManyUnlinked)
343
- ? lookupSources == undefined
344
- ? ValueOrErrors.Default.throwOne(
345
- `lookup sources referenced but no lookup sources are provided`,
346
- )
347
- : lookupSources(renderer.api[0]) == undefined
348
- ? ValueOrErrors.Default.throwOne(
349
- `cannot find lookup source for ${renderer.api[0]}`,
350
- )
351
- : lookupSources(renderer.api[0]).Then((lookupSource) =>
352
- lookupSource.one == undefined
353
- ? ValueOrErrors.Default.throwOne(
354
- `one source not provided for ${renderer.api[0]}`,
355
- )
356
- : lookupSource
357
- .one(renderer.api[1]) // safe because we check for undefined above but type system doesn't know that
358
- .Then((oneSource) =>
359
- oneSource.getManyUnlinked == undefined
360
- ? ValueOrErrors.Default.throwOne(
361
- `getManyUnlinked not provided for ${renderer.api[0]}-${renderer.api[1]}`,
362
- )
363
- : MapRepo.Operations.tryFindWithError(
364
- t.arg.name,
365
- types,
366
- () =>
367
- `cannot find lookup type ${JSON.stringify(t.arg.name)} in ${JSON.stringify(t)}`,
368
- ).Then((lookupType) =>
369
- ValueOrErrors.Default.return(
370
- OneAbstractRendererState.Default(
371
- oneSource.getManyUnlinked(
372
- // safe because we check for undefined above but type system doesn't know that
373
- dispatchFromAPIRawValue(
374
- lookupType,
375
- types,
376
- converters,
377
- injectedPrimitives,
378
- ),
379
- ),
380
- ),
381
- ),
382
- ),
383
- ),
384
- )
385
- : ValueOrErrors.Default.return(
386
- OneAbstractRendererState.Default(undefined),
387
- );
388
- if (t.kind == "readOnly")
389
- return renderer.kind != "readOnlyRenderer"
390
- ? ValueOrErrors.Default.throwOne(
391
- `received non readOnly renderer kind "${renderer.kind}" when resolving defaultState for readOnly`,
392
- )
393
- : dispatchDefaultState(
394
- infiniteStreamSources,
395
- injectedPrimitives,
396
- types,
397
- forms,
398
- converters,
399
- lookupSources,
400
- tableApiSources,
401
- specApis,
402
- )(t.arg, renderer.childRenderer.renderer).Then((childState) =>
403
- ValueOrErrors.Default.return(
404
- ReadOnlyAbstractRendererState.Default.childFormState(
405
- childState,
406
- ),
407
- ),
408
- );
409
- if (t.kind == "record")
410
- return renderer.kind == "recordRenderer"
411
- ? ValueOrErrors.Operations.All(
412
- List(
413
- renderer.fields
414
- .entrySeq()
415
- .map(([fieldName, fieldRenderer]) =>
416
- MapRepo.Operations.tryFindWithError(
417
- fieldName,
418
- t.fields,
419
- () =>
420
- `field ${fieldName} not found in renderer ${JSON.stringify(renderer.fields)} fields`,
421
- ).Then((fieldType) =>
422
- dispatchDefaultState(
423
- infiniteStreamSources,
424
- injectedPrimitives,
425
- types,
426
- forms,
427
- converters,
428
- lookupSources,
429
- tableApiSources,
430
- specApis,
431
- )(fieldType, fieldRenderer.renderer).Then((value) =>
432
- ValueOrErrors.Default.return([fieldName, value]),
433
- ),
434
- ),
435
- ),
436
- ),
437
- ).Then((res) =>
438
- ValueOrErrors.Default.return(
439
- RecordAbstractRendererState.Default.fieldState(Map(res)),
440
- ),
441
- )
442
- : ValueOrErrors.Default.throwOne(
443
- `received non record renderer kind "${renderer.kind}" when resolving defaultValue for record`,
444
- );
445
- if (t.kind == "union") {
446
- return renderer.kind == "unionRenderer"
447
- ? ValueOrErrors.Operations.All(
448
- List(
449
- renderer.cases
450
- .entrySeq()
451
- .map(([caseName, caseRenderer]) =>
452
- MapRepo.Operations.tryFindWithError(
453
- caseName,
454
- t.args,
455
- () =>
456
- `case ${caseName} not found in type ${JSON.stringify(t)}`,
457
- ).Then((caseType) =>
458
- dispatchDefaultState(
459
- infiniteStreamSources,
460
- injectedPrimitives,
461
- types,
462
- forms,
463
- converters,
464
- lookupSources,
465
- tableApiSources,
466
- specApis,
467
- )(caseType, caseRenderer).Then((caseState) =>
468
- ValueOrErrors.Default.return([caseName, caseState]),
469
- ),
470
- ),
471
- ),
472
- ),
473
- ).Then((caseStates) =>
474
- ValueOrErrors.Default.return(
475
- UnionAbstractRendererState.Default(Map(caseStates)),
476
- ),
477
- )
478
- : ValueOrErrors.Default.throwOne(
479
- `received non union renderer kind "${renderer.kind}" when resolving defaultState for union`,
480
- );
481
- }
482
- if (t.kind == "table") {
483
- return renderer.kind == "tableRenderer"
484
- ? ValueOrErrors.Default.return(TableAbstractRendererState.Default())
485
- : ValueOrErrors.Default.throwOne(
486
- `received non table renderer kind "${renderer.kind}" when resolving defaultState for table`,
487
- );
488
- }
489
- return ValueOrErrors.Default.throwOne(
490
- `type of kind "${JSON.stringify(t)}" not supported by defaultState`,
491
- );
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`);
492
183
  })();
493
- return result.MapErrors((errors) =>
494
- errors.map(
495
- (error) =>
496
- `${error}\n...When resolving defaultState for ${t.kind} and renderer kind ${renderer.kind}`,
497
- ),
498
- );
499
- };
500
- export const dispatchDefaultValue =
501
- (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) => {
502
187
  const result = (() => {
503
- if (renderer == undefined) {
504
- return ValueOrErrors.Default.return(PredicateValue.Default.unit());
505
- }
506
- if (renderer.kind == "lookupType-lookupRenderer")
507
- return DispatchParsedType.Operations.ResolveLookupType(
508
- renderer.type.name,
509
- types,
510
- ).Then((resolvedType) =>
511
- LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then(
512
- (resolvedRenderer) =>
513
- dispatchDefaultValue(
514
- injectedPrimitives,
515
- types,
516
- forms,
517
- )(resolvedType, resolvedRenderer),
518
- ),
519
- );
520
- if (renderer.kind == "lookupType-inlinedRenderer")
521
- return DispatchParsedType.Operations.ResolveLookupType(
522
- renderer.type.name,
523
- types,
524
- ).Then((resolvedType) =>
525
- dispatchDefaultValue(
526
- injectedPrimitives,
527
- types,
528
- forms,
529
- )(resolvedType, renderer.inlinedRenderer),
530
- );
531
- if (renderer.kind == "inlinedType-lookupRenderer")
532
- return LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then(
533
- (resolvedRenderer) =>
534
- dispatchDefaultValue(
535
- injectedPrimitives,
536
- types,
537
- forms,
538
- )(renderer.type, resolvedRenderer),
539
- );
540
- if (t.kind == "primitive")
541
- return t.name == "unit"
542
- ? ValueOrErrors.Default.return(PredicateValue.Default.unit())
543
- : t.name == "boolean"
544
- ? ValueOrErrors.Default.return(PredicateValue.Default.boolean())
545
- : t.name == "number"
546
- ? ValueOrErrors.Default.return(PredicateValue.Default.number())
547
- : t.name == "string"
548
- ? ValueOrErrors.Default.return(PredicateValue.Default.string())
549
- : t.name == "base64File"
550
- ? ValueOrErrors.Default.return(
551
- PredicateValue.Default.string(),
552
- )
553
- : t.name == "secret"
554
- ? ValueOrErrors.Default.return(
555
- PredicateValue.Default.string(),
556
- )
557
- : t.name == "Date"
558
- ? ValueOrErrors.Default.return(
559
- PredicateValue.Default.date(),
560
- )
561
- : (injectedPrimitives === null ||
562
- injectedPrimitives === void 0
563
- ? void 0
564
- : injectedPrimitives.get(t.name)) != undefined
565
- ? ValueOrErrors.Default.return(
566
- injectedPrimitives === null ||
567
- injectedPrimitives === void 0
568
- ? void 0
569
- : injectedPrimitives.get(t.name).defaultValue,
570
- )
571
- : ValueOrErrors.Default.throwOne(
572
- `could not resolve defaultValue for primitive renderer type "${t.name}"`,
573
- );
574
- if (t.kind == "singleSelection")
575
- return renderer.kind == "enumRenderer" ||
576
- renderer.kind == "streamRenderer"
577
- ? ValueOrErrors.Default.return(
578
- PredicateValue.Default.option(
579
- false,
580
- PredicateValue.Default.unit(),
581
- ),
582
- )
583
- : ValueOrErrors.Default.throwOne(
584
- `received non singleSelection renderer kind "${renderer.kind}" when resolving defaultValue for singleSelection`,
585
- );
586
- if (t.kind == "multiSelection")
587
- return renderer.kind == "enumRenderer" ||
588
- renderer.kind == "streamRenderer"
589
- ? ValueOrErrors.Default.return(
590
- PredicateValue.Default.record(OrderedMap()),
591
- )
592
- : ValueOrErrors.Default.throwOne(
593
- `received non multiSelection renderer kind "${renderer.kind}" when resolving defaultValue for multiSelection`,
594
- );
595
- if (t.kind == "list")
596
- return renderer.kind == "listRenderer"
597
- ? ValueOrErrors.Default.return(PredicateValue.Default.tuple(List()))
598
- : ValueOrErrors.Default.throwOne(
599
- `received non list renderer kind "${renderer.kind}" when resolving defaultValue for list`,
600
- );
601
- if (t.kind == "map")
602
- return renderer.kind == "mapRenderer"
603
- ? ValueOrErrors.Default.return(PredicateValue.Default.tuple(List()))
604
- : ValueOrErrors.Default.throwOne(
605
- `received non map renderer kind "${renderer.kind}" when resolving defaultValue for map`,
606
- );
607
- if (t.kind == "tuple")
608
- return renderer.kind == "tupleRenderer"
609
- ? ValueOrErrors.Operations.All(
610
- List(
611
- t.args.map((_, index) =>
612
- dispatchDefaultValue(
613
- injectedPrimitives,
614
- types,
615
- forms,
616
- )(_, renderer.itemRenderers[index].renderer),
617
- ),
618
- ),
619
- ).Then((values) =>
620
- ValueOrErrors.Default.return(
621
- PredicateValue.Default.tuple(List(values)),
622
- ),
623
- )
624
- : ValueOrErrors.Default.throwOne(
625
- `received non tuple renderer kind "${renderer.kind}" when resolving defaultValue for tuple`,
626
- );
627
- if (t.kind == "sum")
628
- return renderer.kind == "sumRenderer"
629
- ? dispatchDefaultValue(
630
- injectedPrimitives,
631
- types,
632
- forms,
633
- )(t.args[1], renderer.rightRenderer.renderer).Then((right) =>
634
- ValueOrErrors.Default.return(
635
- PredicateValue.Default.sum(Sum.Default.right(right)),
636
- ),
637
- )
638
- : renderer.kind == "sumUnitDateRenderer"
639
- ? ValueOrErrors.Default.return(
640
- PredicateValue.Default.sum(
641
- Sum.Default.left(PredicateValue.Default.unit()),
642
- ),
643
- )
644
- : ValueOrErrors.Default.throwOne(
645
- `received non sum renderer kind "${renderer.kind}" when resolving defaultValue for sum`,
646
- );
647
- if (t.kind == "one") {
648
- return renderer.kind == "oneRenderer"
649
- ? ValueOrErrors.Default.return(
650
- PredicateValue.Default.option(
651
- false,
652
- PredicateValue.Default.unit(),
653
- ),
654
- )
655
- : ValueOrErrors.Default.throwOne(
656
- `received non one renderer kind "${renderer.kind}" when resolving defaultValue for one`,
657
- );
658
- }
659
- if (t.kind == "readOnly") {
660
- return renderer.kind == "readOnlyRenderer"
661
- ? dispatchDefaultValue(
662
- injectedPrimitives,
663
- types,
664
- forms,
665
- )(t.arg, renderer.childRenderer.renderer).Then((childValue) =>
666
- ValueOrErrors.Default.return(
667
- PredicateValue.Default.readonly(childValue),
668
- ),
669
- )
670
- : ValueOrErrors.Default.throwOne(
671
- `received non readOnly renderer kind "${renderer.kind}" when resolving defaultValue for readOnly`,
672
- );
673
- }
674
- if (t.kind == "record")
675
- return renderer.kind == "recordRenderer"
676
- ? ValueOrErrors.Operations.All(
677
- List(
678
- renderer.fields
679
- .entrySeq()
680
- .map(([fieldName, fieldRenderer]) =>
681
- MapRepo.Operations.tryFindWithError(
682
- fieldName,
683
- t.fields,
684
- () =>
685
- `field ${fieldName} not found in type ${JSON.stringify(t)} fields`,
686
- ).Then((fieldType) =>
687
- dispatchDefaultValue(
688
- injectedPrimitives,
689
- types,
690
- forms,
691
- )(fieldType, fieldRenderer.renderer).Then((value) =>
692
- ValueOrErrors.Default.return([fieldName, value]),
693
- ),
694
- ),
695
- ),
696
- ),
697
- ).Then((res) =>
698
- ValueOrErrors.Default.return(
699
- PredicateValue.Default.record(OrderedMap(res)),
700
- ),
701
- )
702
- : ValueOrErrors.Default.throwOne(
703
- `received non record renderer kind "${renderer.kind}" when resolving defaultValue for record`,
704
- );
705
- if (t.kind == "union") {
706
- return renderer.kind != "unionRenderer"
707
- ? ValueOrErrors.Default.throwOne(
708
- `received non union renderer kind "${renderer.kind}" when resolving defaultValue for union`,
709
- )
710
- : MapRepo.Operations.tryFirstWithError(
711
- t.args,
712
- () => `union type ${JSON.stringify(t, null, 2)} has no cases`,
713
- ).Then((firstCaseType) =>
714
- MapRepo.Operations.tryFirstWithError(
715
- renderer.cases,
716
- () => `union renderer has no cases`,
717
- ).Then((firstCaseRenderer) =>
718
- dispatchDefaultValue(
719
- injectedPrimitives,
720
- types,
721
- forms,
722
- )(firstCaseType, firstCaseRenderer),
723
- ),
724
- );
725
- }
726
- if (t.kind == "table") {
727
- return renderer.kind == "tableRenderer"
728
- ? ValueOrErrors.Default.return(
729
- PredicateValue.Default.table(0, 0, Map(), false),
730
- )
731
- : ValueOrErrors.Default.throwOne(
732
- `received non table renderer kind "${renderer.kind}" when resolving defaultValue for table`,
733
- );
734
- }
735
- return ValueOrErrors.Default.throwOne(
736
- `type ${t} not supported by defaultValue`,
737
- );
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`);
738
270
  })();
739
- return result.MapErrors((errors) =>
740
- errors.map(
741
- (error) =>
742
- `${error}\n...When resolving defaultValue for type "${JSON.stringify(t, null, 2)}" and renderer kind "${renderer.kind}"`,
743
- ),
744
- );
745
- };
746
- export const dispatchFromAPIRawValue =
747
- (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) => {
748
274
  const result = (() => {
749
- if (t.kind == "primitive") {
750
- // unit is a special kind of primitive
751
- if (t.name == "unit") {
752
- return ValueOrErrors.Default.return(PredicateValue.Default.unit());
753
- }
754
- if (
755
- !PredicateValue.Operations.IsPrimitive(raw) &&
756
- !(injectedPrimitives === null || injectedPrimitives === void 0
757
- ? void 0
758
- : injectedPrimitives.keySeq().contains(t.name))
759
- ) {
760
- return ValueOrErrors.Default.throwOne(
761
- `primitive expected but got ${JSON.stringify(raw)}`,
762
- );
763
- }
764
- return ValueOrErrors.Default.return(
765
- converters[t.name].fromAPIRawValue(raw),
766
- );
767
- }
768
- if (t.kind == "union") {
769
- const result = converters["union"].fromAPIRawValue(raw);
770
- const caseType = t.args.get(result.caseName);
771
- if (caseType == undefined)
772
- return ValueOrErrors.Default.throwOne(
773
- `union case ${result.caseName} not found in type ${JSON.stringify(t)}`,
774
- );
775
- return dispatchFromAPIRawValue(
776
- caseType,
777
- types,
778
- converters,
779
- injectedPrimitives,
780
- )(result.fields).Then((value) =>
781
- ValueOrErrors.Default.return(
782
- PredicateValue.Default.unionCase(result.caseName, value),
783
- ),
784
- );
785
- }
786
- if (t.kind == "singleSelection") {
787
- const result = converters["SingleSelection"].fromAPIRawValue(raw);
788
- const isSome = result.kind == "l";
789
- const value = isSome
790
- ? PredicateValue.Default.record(OrderedMap(result.value))
791
- : PredicateValue.Default.unit();
792
- return ValueOrErrors.Default.return(
793
- PredicateValue.Default.option(isSome, value),
794
- );
795
- }
796
- if (t.kind == "multiSelection") {
797
- const result = converters["MultiSelection"].fromAPIRawValue(raw);
798
- const values = result.map((_) =>
799
- PredicateValue.Default.record(OrderedMap(_)),
800
- );
801
- return ValueOrErrors.Default.return(
802
- PredicateValue.Default.record(OrderedMap(values)),
803
- );
804
- }
805
- if (t.kind == "list") {
806
- const result = converters["List"].fromAPIRawValue(raw);
807
- return ValueOrErrors.Operations.All(
808
- result.map((_) =>
809
- dispatchFromAPIRawValue(
810
- t.args[0],
811
- types,
812
- converters,
813
- injectedPrimitives,
814
- )(_),
815
- ),
816
- ).Then((values) =>
817
- ValueOrErrors.Default.return(PredicateValue.Default.tuple(values)),
818
- );
819
- }
820
- if (t.kind == "map" && t.args.length == 2) {
821
- const result = converters["Map"].fromAPIRawValue(raw);
822
- return ValueOrErrors.Operations.All(
823
- List(
824
- result.map((_) =>
825
- dispatchFromAPIRawValue(
826
- t.args[0],
827
- types,
828
- converters,
829
- injectedPrimitives,
830
- )(_[0]).Then((key) =>
831
- dispatchFromAPIRawValue(
832
- t.args[1],
833
- types,
834
- converters,
835
- injectedPrimitives,
836
- )(_[1]).Then((value) =>
837
- ValueOrErrors.Default.return(
838
- PredicateValue.Default.tuple(List([key, value])),
839
- ),
840
- ),
841
- ),
842
- ),
843
- ),
844
- ).Then((values) =>
845
- ValueOrErrors.Default.return(
846
- PredicateValue.Default.tuple(List(values)),
847
- ),
848
- );
849
- }
850
- if (t.kind == "tuple") {
851
- const result = converters["Tuple"].fromAPIRawValue(raw);
852
- return ValueOrErrors.Operations.All(
853
- List(
854
- result.map((_, index) =>
855
- dispatchFromAPIRawValue(
856
- t.args[index],
857
- types,
858
- converters,
859
- injectedPrimitives,
860
- )(_),
861
- ),
862
- ),
863
- ).Then((values) =>
864
- ValueOrErrors.Default.return(
865
- PredicateValue.Default.tuple(List(values)),
866
- ),
867
- );
868
- }
869
- if (t.kind == "sum" && t.args.length === 2) {
870
- const result = converters["Sum"].fromAPIRawValue(raw);
871
- return dispatchFromAPIRawValue(
872
- result.kind == "l" ? t.args[0] : t.args[1],
873
- types,
874
- converters,
875
- injectedPrimitives,
876
- )(result.value).Then((value) =>
877
- ValueOrErrors.Default.return(
878
- PredicateValue.Default.sum(
879
- Sum.Updaters.map2(replaceWith(value), replaceWith(value))(result),
880
- ),
881
- ),
882
- );
883
- }
884
- if (t.kind == "sumN") {
885
- const result = converters["SumN"].fromAPIRawValue(raw);
886
- return dispatchFromAPIRawValue(
887
- t.args[result.caseIndex],
888
- types,
889
- converters,
890
- injectedPrimitives,
891
- )(result.value).Then((value) =>
892
- ValueOrErrors.Default.return(
893
- PredicateValue.Default.sumN(result.caseIndex, result.arity, value),
894
- ),
895
- );
896
- }
897
- if (t.kind == "lookup")
898
- return MapRepo.Operations.tryFindWithError(
899
- t.name, // TODO -- double check this is correct instead of typeName, and maybe remove typeName
900
- types,
901
- () => `type ${t.name} not found in types`,
902
- ).Then((type) =>
903
- dispatchFromAPIRawValue(
904
- type,
905
- types,
906
- converters,
907
- injectedPrimitives,
908
- )(raw),
909
- );
910
- // TODO -- this can be more functional
911
- if (t.kind == "table") {
912
- // move to the converter
913
- if (typeof raw != "object") {
914
- return ValueOrErrors.Default.throwOne(
915
- `object expected but got ${JSON.stringify(raw)}`,
916
- );
917
- }
918
- const converterResult = converters["Table"].fromAPIRawValue(raw);
919
- const argType = t.arg;
920
- return DispatchParsedType.Operations.ResolveLookupType(
921
- argType.name,
922
- types,
923
- ).Then((resolvedType) =>
924
- ValueOrErrors.Operations.All(
925
- List(
926
- converterResult.data
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));
285
+ }
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)));
292
+ }
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));
300
+ }
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
927
338
  .toArray()
928
- .map(([key, record]) =>
929
- dispatchFromAPIRawValue(
930
- resolvedType,
931
- types,
932
- converters,
933
- injectedPrimitives,
934
- )(record).Then((value) =>
935
- PredicateValue.Operations.IsRecord(value)
936
- ? ValueOrErrors.Default.return([key, value])
937
- : ValueOrErrors.Default.throwOne(
938
- `record expected but got ${PredicateValue.Operations.GetKind(value)}`,
939
- ),
940
- ),
941
- ),
942
- ),
943
- ).Then((values) =>
944
- ValueOrErrors.Default.return(
945
- ValueTable.Default.fromParsed(
946
- converterResult.from,
947
- converterResult.to,
948
- converterResult.hasMoreValues,
949
- OrderedMap(values),
950
- ),
951
- ),
952
- ),
953
- );
954
- }
955
- if (t.kind == "one") {
956
- const result = converters["One"].fromAPIRawValue(raw);
957
- if (!result.isSome) {
958
- return ValueOrErrors.Default.return(result);
959
- }
960
- return dispatchFromAPIRawValue(
961
- t.arg,
962
- types,
963
- converters,
964
- injectedPrimitives,
965
- )(result.value).Then((value) =>
966
- ValueOrErrors.Default.return(
967
- PredicateValue.Default.option(true, value),
968
- ),
969
- );
970
- }
971
- if (t.kind == "readOnly") {
972
- const readOnlyResult = converters["ReadOnly"].fromAPIRawValue(raw);
973
- return dispatchFromAPIRawValue(
974
- t.arg,
975
- types,
976
- converters,
977
- injectedPrimitives,
978
- )(readOnlyResult.ReadOnly).Then((value) =>
979
- ValueOrErrors.Default.return(PredicateValue.Default.readonly(value)),
980
- );
981
- }
982
- // TODO -- this can be more functional
983
- if (t.kind == "record") {
984
- if (typeof raw != "object") {
985
- return ValueOrErrors.Default.throwOne(
986
- `object expected but got ${JSON.stringify(raw)}`,
987
- );
988
- }
989
- let result = OrderedMap();
990
- let errors = List();
991
- t.fields.forEach((fieldType, fieldName) => {
992
- const fieldValue = raw[fieldName];
993
- if (fieldValue !== null && fieldValue === undefined) {
994
- return;
995
- }
996
- const parsedValue = dispatchFromAPIRawValue(
997
- fieldType,
998
- types,
999
- converters,
1000
- injectedPrimitives,
1001
- )(fieldValue);
1002
- if (parsedValue.kind == "errors") {
1003
- errors = errors.concat(parsedValue.errors);
1004
- } else {
1005
- result = result.set(fieldName, parsedValue.value);
1006
- }
1007
- });
1008
- if (errors.size > 0) {
1009
- return ValueOrErrors.Default.throw(errors);
1010
- }
1011
- return ValueOrErrors.Default.return(
1012
- PredicateValue.Default.record(result),
1013
- );
1014
- }
1015
- // Filters
1016
- if (t.kind == "contains") {
1017
- const result = converters["Contains"].fromAPIRawValue(raw);
1018
- return dispatchFromAPIRawValue(
1019
- t.contains,
1020
- types,
1021
- converters,
1022
- injectedPrimitives,
1023
- )(result.contains).Then((value) =>
1024
- ValueOrErrors.Default.return(
1025
- PredicateValue.Default.filterContains(value),
1026
- ),
1027
- );
1028
- }
1029
- if (t.kind == "=") {
1030
- const result = converters["="].fromAPIRawValue(raw);
1031
- return dispatchFromAPIRawValue(
1032
- t.equalsTo,
1033
- types,
1034
- converters,
1035
- injectedPrimitives,
1036
- )(result.equalsTo).Then((value) =>
1037
- ValueOrErrors.Default.return(
1038
- PredicateValue.Default.filterEqualsTo(value),
1039
- ),
1040
- );
1041
- }
1042
- if (t.kind == "!=") {
1043
- const result = converters["!="].fromAPIRawValue(raw);
1044
- return dispatchFromAPIRawValue(
1045
- t.notEqualsTo,
1046
- types,
1047
- converters,
1048
- injectedPrimitives,
1049
- )(result.notEqualsTo).Then((value) =>
1050
- ValueOrErrors.Default.return(
1051
- PredicateValue.Default.filterNotEqualsTo(value),
1052
- ),
1053
- );
1054
- }
1055
- if (t.kind == ">=") {
1056
- const result = converters[">="].fromAPIRawValue(raw);
1057
- return dispatchFromAPIRawValue(
1058
- t.greaterThanOrEqualsTo,
1059
- types,
1060
- converters,
1061
- injectedPrimitives,
1062
- )(result.greaterThanOrEqualsTo).Then((value) =>
1063
- ValueOrErrors.Default.return(
1064
- PredicateValue.Default.filterGreaterThanOrEqualsTo(value),
1065
- ),
1066
- );
1067
- }
1068
- if (t.kind == ">") {
1069
- const result = converters[">"].fromAPIRawValue(raw);
1070
- return dispatchFromAPIRawValue(
1071
- t.greaterThan,
1072
- types,
1073
- converters,
1074
- injectedPrimitives,
1075
- )(result.greaterThan).Then((value) =>
1076
- ValueOrErrors.Default.return(
1077
- PredicateValue.Default.filterGreaterThan(value),
1078
- ),
1079
- );
1080
- }
1081
- if (t.kind == "!=null")
1082
- return ValueOrErrors.Operations.Return(
1083
- converters["!=null"].fromAPIRawValue(raw),
1084
- );
1085
- if (t.kind == "=null")
1086
- return ValueOrErrors.Operations.Return(
1087
- converters["=null"].fromAPIRawValue(raw),
1088
- );
1089
- if (t.kind == "<=") {
1090
- const result = converters["<="].fromAPIRawValue(raw);
1091
- return dispatchFromAPIRawValue(
1092
- t.smallerThanOrEqualsTo,
1093
- types,
1094
- converters,
1095
- injectedPrimitives,
1096
- )(result.smallerThanOrEqualsTo).Then((value) =>
1097
- ValueOrErrors.Default.return(
1098
- PredicateValue.Default.filterSmallerThanOrEqualsTo(value),
1099
- ),
1100
- );
1101
- }
1102
- if (t.kind == "<") {
1103
- const result = converters["<"].fromAPIRawValue(raw);
1104
- return dispatchFromAPIRawValue(
1105
- t.smallerThan,
1106
- types,
1107
- converters,
1108
- injectedPrimitives,
1109
- )(result.smallerThan).Then((value) =>
1110
- ValueOrErrors.Default.return(
1111
- PredicateValue.Default.filterSmallerThan(value),
1112
- ),
1113
- );
1114
- }
1115
- if (t.kind == "startsWith") {
1116
- const result = converters.StartsWith.fromAPIRawValue(raw);
1117
- return dispatchFromAPIRawValue(
1118
- t.startsWith,
1119
- types,
1120
- converters,
1121
- injectedPrimitives,
1122
- )(result.startsWith).Then((value) =>
1123
- ValueOrErrors.Default.return(
1124
- PredicateValue.Default.filterStartsWith(value),
1125
- ),
1126
- );
1127
- }
1128
- return ValueOrErrors.Default.throwOne(
1129
- `unsupported type ${JSON.stringify(t)} for raw: `,
1130
- );
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)));
407
+ }
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)));
411
+ }
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)));
415
+ }
416
+ return ValueOrErrors.Default.throwOne(`unsupported type ${JSON.stringify(t)} for raw: `);
1131
417
  })();
1132
- return result.MapErrors((errors) =>
1133
- errors.map(
1134
- (error) =>
1135
- `${error}\n...When converting type ${JSON.stringify(t, null, 2)} and value ${JSON.stringify(raw, null, 2)} from API raw value`,
1136
- ),
1137
- );
1138
- };
1139
- export const dispatchToAPIRawValue =
1140
- (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) => {
1141
421
  const result = (() => {
1142
- var _a,
1143
- _b,
1144
- _c,
1145
- _d,
1146
- _e,
1147
- _f,
1148
- _g,
1149
- _h,
1150
- _j,
1151
- _k,
1152
- _l,
1153
- _m,
1154
- _o,
1155
- _p,
1156
- _q,
1157
- _r,
1158
- _s,
1159
- _t,
1160
- _u;
1161
- if (t.kind == "primitive") {
1162
- if (t.name == "unit") {
1163
- return ValueOrErrors.Default.return(unit);
1164
- }
1165
- return ValueOrErrors.Operations.Return(
1166
- converters[t.name].toAPIRawValue([
1167
- raw,
1168
- (_b =
1169
- (_a =
1170
- formState === null || formState === void 0
1171
- ? void 0
1172
- : formState.commonFormState) === null || _a === void 0
1173
- ? void 0
1174
- : _a.modifiedByUser) !== null && _b !== void 0
1175
- ? _b
1176
- : false,
1177
- ]),
1178
- );
1179
- }
1180
- if (t.kind == "union") {
1181
- if (!PredicateValue.Operations.IsUnionCase(raw)) {
1182
- return ValueOrErrors.Default.throwOne(
1183
- `Union case expected but got ${JSON.stringify(raw)}\n...when converting union to API raw value`,
1184
- );
1185
- }
1186
- const caseName = raw.caseName;
1187
- if (
1188
- caseName == undefined ||
1189
- !PredicateValue.Operations.IsString(caseName)
1190
- ) {
1191
- return ValueOrErrors.Default.throwOne(
1192
- `caseName expected but got ${JSON.stringify(raw)}`,
1193
- );
1194
- }
1195
- const caseType = t.args.get(caseName);
1196
- if (caseType == undefined) {
1197
- return ValueOrErrors.Default.throwOne(
1198
- `union case ${caseName} not found in type ${JSON.stringify(t)}`,
1199
- );
1200
- }
1201
- return dispatchToAPIRawValue(
1202
- caseType,
1203
- types,
1204
- converters,
1205
- injectedPrimitives,
1206
- )(raw.fields, formState);
1207
- }
1208
- if (t.kind == "singleSelection") {
1209
- if (!PredicateValue.Operations.IsOption(raw)) {
1210
- return ValueOrErrors.Default.throwOne(
1211
- `Option expected but got ${JSON.stringify(raw)}`,
1212
- );
1213
- }
1214
- if (raw.isSome) {
1215
- if (!PredicateValue.Operations.IsRecord(raw.value)) {
1216
- return ValueOrErrors.Default.throwOne(
1217
- `Record expected but got ${JSON.stringify(raw.value)}`,
1218
- );
1219
- }
1220
- const rawValue = raw.value.fields.toJS();
1221
- if (
1222
- !CollectionReference.Operations.IsCollectionReference(rawValue) &&
1223
- !EnumReference.Operations.IsEnumReference(rawValue)
1224
- ) {
1225
- return ValueOrErrors.Default.throwOne(
1226
- `CollectionReference or EnumReference expected but got ${rawValue}`,
1227
- );
1228
- }
1229
- return ValueOrErrors.Operations.Return(
1230
- converters["SingleSelection"].toAPIRawValue([
1231
- Sum.Default.left(rawValue),
1232
- (_d =
1233
- (_c =
1234
- formState === null || formState === void 0
1235
- ? void 0
1236
- : formState.commonFormState) === null || _c === void 0
1237
- ? void 0
1238
- : _c.modifiedByUser) !== null && _d !== void 0
1239
- ? _d
1240
- : false,
1241
- ]),
1242
- );
1243
- } else {
1244
- return ValueOrErrors.Operations.Return(
1245
- converters["SingleSelection"].toAPIRawValue([
1246
- Sum.Default.right("no selection"),
1247
- (_f =
1248
- (_e =
1249
- formState === null || formState === void 0
1250
- ? void 0
1251
- : formState.commonFormState) === null || _e === void 0
1252
- ? void 0
1253
- : _e.modifiedByUser) !== null && _f !== void 0
1254
- ? _f
1255
- : false,
1256
- ]),
1257
- );
1258
- }
1259
- }
1260
- if (t.kind == "multiSelection") {
1261
- if (!PredicateValue.Operations.IsRecord(raw)) {
1262
- return ValueOrErrors.Default.throwOne(
1263
- `Record expected but got multi selection of ${JSON.stringify(raw)}`,
1264
- );
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
+ });
1265
452
  }
1266
- const rawValue = raw.fields.map((value) => {
1267
- if (!PredicateValue.Operations.IsRecord(value)) {
1268
- return ValueOrErrors.Default.throwOne(
1269
- `Record expected but got ${JSON.stringify(value)}`,
1270
- );
1271
- }
1272
- const fieldsObject = value.fields.toJS();
1273
- if (
1274
- !CollectionReference.Operations.IsCollectionReference(
1275
- fieldsObject,
1276
- ) &&
1277
- !EnumReference.Operations.IsEnumReference(fieldsObject)
1278
- ) {
1279
- return ValueOrErrors.Default.throwOne(
1280
- `CollectionReference or EnumReference expected but got ${JSON.stringify(fieldsObject)}`,
1281
- );
1282
- }
1283
- return ValueOrErrors.Default.return(fieldsObject);
1284
- });
1285
- return ValueOrErrors.Operations.All(rawValue.valueSeq().toList()).Then(
1286
- (values) => {
1287
- var _a, _b;
1288
- return ValueOrErrors.Default.return(
1289
- converters["MultiSelection"].toAPIRawValue([
1290
- OrderedMap(
1291
- values
1292
- .map((v) => {
1293
- if (
1294
- CollectionReference.Operations.IsCollectionReference(v)
1295
- ) {
1296
- return [v.Id, v];
1297
- }
1298
- return [v.Value, v];
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 filteredRawValues = raw.fields.filter((value) => {
483
+ if (!PredicateValue.Operations.IsRecord(value)) {
484
+ console.warn("Received a non-record value in a multi selection, ignoring: ", JSON.stringify(value));
485
+ return false;
486
+ }
487
+ const fieldsObject = value.fields.toJS();
488
+ if (!CollectionReference.Operations.IsCollectionReference(fieldsObject) &&
489
+ !EnumReference.Operations.IsEnumReference(fieldsObject)) {
490
+ console.warn("Received a non-collection or enum reference value in a multi selection, ignoring: ", JSON.stringify(value));
491
+ return false;
492
+ }
493
+ return true;
494
+ });
495
+ const rawValue = filteredRawValues.map((value) => {
496
+ // should never happen due to the filter above but is a type check
497
+ if (!PredicateValue.Operations.IsRecord(value)) {
498
+ return ValueOrErrors.Default.throwOne(`Record expected but got ${JSON.stringify(value)}`);
499
+ }
500
+ const fieldsObject = value.fields.toJS();
501
+ if (!CollectionReference.Operations.IsCollectionReference(fieldsObject) &&
502
+ !EnumReference.Operations.IsEnumReference(fieldsObject)) {
503
+ return ValueOrErrors.Default.throwOne(`CollectionReference or EnumReference expected but got ${JSON.stringify(fieldsObject)}`);
504
+ }
505
+ return ValueOrErrors.Default.return(fieldsObject);
506
+ });
507
+ return ValueOrErrors.Operations.All(rawValue.valueSeq().toList()).Then((values) => {
508
+ var _a, _b;
509
+ return ValueOrErrors.Default.return(converters["MultiSelection"].toAPIRawValue([
510
+ OrderedMap(values
511
+ .map((v) => {
512
+ if (CollectionReference.Operations.IsCollectionReference(v)) {
513
+ return [v.Id, v];
514
+ }
515
+ return [v.Value, v];
1299
516
  })
1300
- .toArray(),
1301
- ),
1302
- (_b =
1303
- (_a =
1304
- formState === null || formState === void 0
1305
- ? void 0
1306
- : formState.commonFormState) === null || _a === void 0
1307
- ? void 0
1308
- : _a.modifiedByUser) !== null && _b !== void 0
1309
- ? _b
1310
- : false,
1311
- ]),
1312
- );
1313
- },
1314
- );
1315
- }
1316
- if (t.kind == "list") {
1317
- if (!PredicateValue.Operations.IsTuple(raw)) {
1318
- return ValueOrErrors.Default.throwOne(
1319
- `Tuple expected but got list of ${JSON.stringify(raw)}`,
1320
- );
1321
- }
1322
- return ValueOrErrors.Operations.All(
1323
- List(
1324
- raw.values.map((value, index) => {
1325
- var _a;
1326
- return dispatchToAPIRawValue(
1327
- t.args[0],
1328
- types,
1329
- converters,
1330
- injectedPrimitives,
1331
- )(
1332
- value,
1333
- (_a =
1334
- formState === null || formState === void 0
1335
- ? void 0
1336
- : formState.elementFormStates) === null || _a === void 0
1337
- ? void 0
1338
- : _a.get(index),
1339
- );
1340
- }),
1341
- ),
1342
- ).Then((values) => {
1343
- var _a, _b;
1344
- return ValueOrErrors.Default.return(
1345
- converters["List"].toAPIRawValue([
1346
- values,
1347
- (_b =
1348
- (_a =
1349
- formState === null || formState === void 0
1350
- ? void 0
1351
- : formState.commonFormState) === null || _a === void 0
1352
- ? void 0
1353
- : _a.modifiedByUser) !== null && _b !== void 0
1354
- ? _b
1355
- : false,
1356
- ]),
1357
- );
1358
- });
1359
- }
1360
- if (t.kind == "map" && t.args.length == 2) {
1361
- const keyValues = raw.values.map((keyValue, index) => {
1362
- var _a, _b;
1363
- return dispatchToAPIRawValue(
1364
- t.args[0],
1365
- types,
1366
- converters,
1367
- injectedPrimitives,
1368
- )(
1369
- keyValue.values.get(0),
1370
- (_b =
1371
- (_a =
1372
- formState === null || formState === void 0
1373
- ? void 0
1374
- : formState.elementFormStates) === null || _a === void 0
1375
- ? void 0
1376
- : _a.get(index)) === null || _b === void 0
1377
- ? void 0
1378
- : _b.KeyFormState,
1379
- )
1380
- .Then((possiblyUndefinedKey) => {
1381
- if (
1382
- possiblyUndefinedKey == undefined ||
1383
- possiblyUndefinedKey == null ||
1384
- possiblyUndefinedKey == "" ||
1385
- (typeof possiblyUndefinedKey == "object" &&
1386
- (Object.keys(possiblyUndefinedKey).length == 0 ||
1387
- ("IsSome" in possiblyUndefinedKey &&
1388
- !possiblyUndefinedKey.IsSome)))
1389
- ) {
1390
- return ValueOrErrors.Default.throwOne(
1391
- `A mapped key is undefined for type ${JSON.stringify(t.args[0])}`,
1392
- );
1393
- } else {
1394
- return ValueOrErrors.Default.return(possiblyUndefinedKey);
1395
- }
1396
- })
1397
- .Then((key) => {
1398
- var _a, _b;
1399
- return dispatchToAPIRawValue(
1400
- t.args[1],
1401
- types,
1402
- converters,
1403
- injectedPrimitives,
1404
- )(
1405
- keyValue.values.get(1),
1406
- (_b =
1407
- (_a =
1408
- formState === null || formState === void 0
1409
- ? void 0
1410
- : formState.elementFormStates) === null || _a === void 0
1411
- ? void 0
1412
- : _a.get(index)) === null || _b === void 0
1413
- ? void 0
1414
- : _b.ValueFormState,
1415
- ).Then((value) => ValueOrErrors.Default.return([key, value]));
517
+ .toArray()),
518
+ (_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,
519
+ ]));
1416
520
  });
1417
- });
1418
- return ValueOrErrors.Operations.All(List(keyValues)).Then((values) => {
1419
- var _a, _b;
1420
- if (
1421
- values.map((kv) => JSON.stringify(kv[0])).toSet().size !=
1422
- values.size
1423
- ) {
1424
- return ValueOrErrors.Default.throwOne(
1425
- "Keys in the map are not unique",
1426
- );
1427
- }
1428
- return ValueOrErrors.Operations.Return(
1429
- converters["Map"].toAPIRawValue([
1430
- values,
1431
- (_b =
1432
- (_a =
1433
- formState === null || formState === void 0
1434
- ? void 0
1435
- : formState.commonFormState) === null || _a === void 0
1436
- ? void 0
1437
- : _a.modifiedByUser) !== null && _b !== void 0
1438
- ? _b
1439
- : false,
1440
- ]),
1441
- );
1442
- });
1443
- }
1444
- if (t.kind == "sum" && t.args.length === 2) {
1445
- if (!PredicateValue.Operations.IsSum(raw)) {
1446
- return ValueOrErrors.Default.throwOne(
1447
- `Sum expected but got ${JSON.stringify(raw)}`,
1448
- );
1449
- }
1450
- return dispatchToAPIRawValue(
1451
- raw.value.kind == "l" ? t.args[0] : t.args[1],
1452
- types,
1453
- converters,
1454
- injectedPrimitives,
1455
- )(
1456
- raw.value.value,
1457
- raw.value.kind == "l"
1458
- ? (_g =
1459
- formState === null || formState === void 0
1460
- ? void 0
1461
- : formState.commonFormState) === null || _g === void 0
1462
- ? void 0
1463
- : _g.left
1464
- : (_h =
1465
- formState === null || formState === void 0
1466
- ? void 0
1467
- : formState.commonFormState) === null || _h === void 0
1468
- ? void 0
1469
- : _h.right,
1470
- ).Then((value) => {
1471
- var _a, _b;
1472
- return ValueOrErrors.Default.return(
1473
- converters["Sum"].toAPIRawValue([
1474
- raw.value.kind == "l"
1475
- ? Sum.Default.left(value)
1476
- : Sum.Default.right(value),
1477
- (_b =
1478
- (_a =
1479
- formState === null || formState === void 0
1480
- ? void 0
1481
- : formState.commonFormState) === null || _a === void 0
1482
- ? void 0
1483
- : _a.modifiedByUser) !== null && _b !== void 0
1484
- ? _b
1485
- : false,
1486
- ]),
1487
- );
1488
- });
1489
- }
1490
- if (t.kind == "sumN") {
1491
- if (!PredicateValue.Operations.IsSumN(raw)) {
1492
- return ValueOrErrors.Default.throwOne(
1493
- `SumN expected but got ${JSON.stringify(raw)}`,
1494
- );
1495
- }
1496
- return dispatchToAPIRawValue(
1497
- t.args[raw.caseIndex],
1498
- types,
1499
- converters,
1500
- injectedPrimitives,
1501
- )(
1502
- raw.value,
1503
- (_j =
1504
- formState === null || formState === void 0
1505
- ? void 0
1506
- : formState.commonFormState) === null || _j === void 0
1507
- ? void 0
1508
- : _j.modifiedByUser,
1509
- ).Then((value) => {
1510
- var _a, _b;
1511
- return ValueOrErrors.Default.return(
1512
- converters["SumN"].toAPIRawValue([
1513
- PredicateValue.Default.sumN(raw.caseIndex, raw.arity, value),
1514
- (_b =
1515
- (_a =
1516
- formState === null || formState === void 0
1517
- ? void 0
1518
- : formState.commonFormState) === null || _a === void 0
1519
- ? void 0
1520
- : _a.modifiedByUser) !== null && _b !== void 0
1521
- ? _b
1522
- : false,
1523
- ]),
1524
- );
1525
- });
1526
- }
1527
- if (t.kind == "tuple") {
1528
- if (!PredicateValue.Operations.IsTuple(raw)) {
1529
- return ValueOrErrors.Default.throwOne(
1530
- `Tuple expected but got ${JSON.stringify(raw)}`,
1531
- );
1532
521
  }
1533
- return ValueOrErrors.Operations.All(
1534
- List(
1535
- raw.values.map((value, index) => {
1536
- var _a;
1537
- return dispatchToAPIRawValue(
1538
- t.args[index],
1539
- types,
1540
- converters,
1541
- injectedPrimitives,
1542
- )(
1543
- value,
1544
- (_a =
1545
- formState === null || formState === void 0
1546
- ? void 0
1547
- : formState.itemFormStates) === null || _a === void 0
1548
- ? void 0
1549
- : _a.get(index),
1550
- );
1551
- }),
1552
- ),
1553
- ).Then((values) => {
1554
- var _a, _b;
1555
- return ValueOrErrors.Default.return(
1556
- converters["Tuple"].toAPIRawValue([
1557
- values,
1558
- (_b =
1559
- (_a =
1560
- formState === null || formState === void 0
1561
- ? void 0
1562
- : formState.commonFormState) === null || _a === void 0
1563
- ? void 0
1564
- : _a.modifiedByUser) !== null && _b !== void 0
1565
- ? _b
1566
- : false,
1567
- ]),
1568
- );
1569
- });
1570
- }
1571
- if (t.kind == "lookup")
1572
- return dispatchToAPIRawValue(
1573
- types.get(t.name),
1574
- types,
1575
- converters,
1576
- injectedPrimitives,
1577
- )(raw, formState);
1578
- if (t.kind == "record") {
1579
- if (!PredicateValue.Operations.IsRecord(raw)) {
1580
- return ValueOrErrors.Default.throwOne(
1581
- `Record expected but got ${JSON.stringify(raw)}`,
1582
- );
522
+ if (t.kind == "list") {
523
+ if (!PredicateValue.Operations.IsTuple(raw)) {
524
+ return ValueOrErrors.Default.throwOne(`Tuple expected but got list of ${JSON.stringify(raw)}`);
525
+ }
526
+ return ValueOrErrors.Operations.All(List(raw.values.map((value, index) => {
527
+ var _a;
528
+ 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));
529
+ }))).Then((values) => {
530
+ var _a, _b;
531
+ return ValueOrErrors.Default.return(converters["List"].toAPIRawValue([
532
+ values,
533
+ (_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,
534
+ ]));
535
+ });
1583
536
  }
1584
- const res = [];
1585
- t.fields.forEach((fieldType, fieldName) => {
1586
- var _a;
1587
- const rawField = raw.fields.get(fieldName);
1588
- if (rawField == undefined) {
1589
- return;
1590
- }
1591
- res.push([
1592
- fieldName,
1593
- dispatchToAPIRawValue(
1594
- fieldType,
1595
- types,
1596
- converters,
1597
- injectedPrimitives,
1598
- )(
1599
- raw.fields.get(fieldName),
1600
- (_a =
1601
- formState === null || formState === void 0
1602
- ? void 0
1603
- : formState.fieldStates) === null || _a === void 0
1604
- ? void 0
1605
- : _a.get(fieldName),
1606
- ),
1607
- ]);
1608
- });
1609
- const errors = ValueOrErrors.Operations.All(
1610
- List(res.map(([_, value]) => value)),
1611
- );
1612
- if (errors.kind == "errors") return errors;
1613
- return ValueOrErrors.Operations.Return(
1614
- res.reduce((acc, [fieldName, value]) => {
1615
- acc[fieldName] = value.value;
1616
- return acc;
1617
- }, {}),
1618
- );
1619
- }
1620
- if (t.kind == "one") {
1621
- if (!PredicateValue.Operations.IsOption(raw)) {
1622
- return ValueOrErrors.Default.throwOne(
1623
- `Option expected but got ${JSON.stringify(raw)}\n...when converting one to API raw value`,
1624
- );
537
+ if (t.kind == "map" && t.args.length == 2) {
538
+ const keyValues = raw.values.map((keyValue, index) => {
539
+ var _a, _b;
540
+ 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)
541
+ .Then((possiblyUndefinedKey) => {
542
+ if (possiblyUndefinedKey == undefined ||
543
+ possiblyUndefinedKey == null ||
544
+ possiblyUndefinedKey == "" ||
545
+ (typeof possiblyUndefinedKey == "object" &&
546
+ (Object.keys(possiblyUndefinedKey).length == 0 ||
547
+ ("IsSome" in possiblyUndefinedKey &&
548
+ !possiblyUndefinedKey.IsSome)))) {
549
+ return ValueOrErrors.Default.throwOne(`A mapped key is undefined for type ${JSON.stringify(t.args[0])}`);
550
+ }
551
+ else {
552
+ return ValueOrErrors.Default.return(possiblyUndefinedKey);
553
+ }
554
+ })
555
+ .Then((key) => {
556
+ var _a, _b;
557
+ 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]));
558
+ });
559
+ });
560
+ return ValueOrErrors.Operations.All(List(keyValues)).Then((values) => {
561
+ var _a, _b;
562
+ if (values.map((kv) => JSON.stringify(kv[0])).toSet().size !=
563
+ values.size) {
564
+ return ValueOrErrors.Default.throwOne("Keys in the map are not unique");
565
+ }
566
+ return ValueOrErrors.Operations.Return(converters["Map"].toAPIRawValue([
567
+ values,
568
+ (_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,
569
+ ]));
570
+ });
1625
571
  }
1626
- if (!raw.isSome) {
1627
- return ValueOrErrors.Default.return(
1628
- converters["One"].toAPIRawValue([
1629
- raw,
1630
- (_l =
1631
- (_k =
1632
- formState === null || formState === void 0
1633
- ? void 0
1634
- : formState.commonFormState) === null || _k === void 0
1635
- ? void 0
1636
- : _k.modifiedByUser) !== null && _l !== void 0
1637
- ? _l
1638
- : false,
1639
- ]),
1640
- );
572
+ if (t.kind == "sum" && t.args.length === 2) {
573
+ if (!PredicateValue.Operations.IsSum(raw)) {
574
+ return ValueOrErrors.Default.throwOne(`Sum expected but got ${JSON.stringify(raw)}`);
575
+ }
576
+ return dispatchToAPIRawValue(raw.value.kind == "l" ? t.args[0] : t.args[1], types, converters, injectedPrimitives)(raw.value.value, raw.value.kind == "l"
577
+ ? (_g = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _g === void 0 ? void 0 : _g.left
578
+ : (_h = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _h === void 0 ? void 0 : _h.right).Then((value) => {
579
+ var _a, _b;
580
+ return ValueOrErrors.Default.return(converters["Sum"].toAPIRawValue([
581
+ raw.value.kind == "l"
582
+ ? Sum.Default.left(value)
583
+ : Sum.Default.right(value),
584
+ (_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,
585
+ ]));
586
+ });
1641
587
  }
1642
- return dispatchToAPIRawValue(
1643
- t.arg,
1644
- types,
1645
- converters,
1646
- injectedPrimitives,
1647
- )(
1648
- raw.value,
1649
- (_o =
1650
- (_m =
1651
- formState === null || formState === void 0
1652
- ? void 0
1653
- : formState.commonFormState) === null || _m === void 0
1654
- ? void 0
1655
- : _m.modifiedByUser) !== null && _o !== void 0
1656
- ? _o
1657
- : false,
1658
- ).Then((value) => {
1659
- var _a, _b;
1660
- return ValueOrErrors.Default.return(
1661
- converters["One"].toAPIRawValue([
1662
- PredicateValue.Default.option(true, value),
1663
- (_b =
1664
- (_a =
1665
- formState === null || formState === void 0
1666
- ? void 0
1667
- : formState.commonFormState) === null || _a === void 0
1668
- ? void 0
1669
- : _a.modifiedByUser) !== null && _b !== void 0
1670
- ? _b
1671
- : false,
1672
- ]),
1673
- );
1674
- });
1675
- }
1676
- if (t.kind == "readOnly") {
1677
- if (!PredicateValue.Operations.IsReadOnly(raw)) {
1678
- return ValueOrErrors.Default.throwOne(
1679
- `ReadOnly expected but got ${JSON.stringify(raw)}`,
1680
- );
588
+ if (t.kind == "sumN") {
589
+ if (!PredicateValue.Operations.IsSumN(raw)) {
590
+ return ValueOrErrors.Default.throwOne(`SumN expected but got ${JSON.stringify(raw)}`);
591
+ }
592
+ 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) => {
593
+ var _a, _b;
594
+ return ValueOrErrors.Default.return(converters["SumN"].toAPIRawValue([
595
+ PredicateValue.Default.sumN(raw.caseIndex, raw.arity, value),
596
+ (_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,
597
+ ]));
598
+ });
1681
599
  }
1682
- return dispatchToAPIRawValue(
1683
- t.arg,
1684
- types,
1685
- converters,
1686
- injectedPrimitives,
1687
- )(raw.ReadOnly, formState).Then((childValue) => {
1688
- var _a, _b;
1689
- return ValueOrErrors.Default.return(
1690
- converters["ReadOnly"].toAPIRawValue([
1691
- { ReadOnly: childValue },
1692
- (_b =
1693
- (_a =
1694
- formState === null || formState === void 0
1695
- ? void 0
1696
- : formState.commonFormState) === null || _a === void 0
1697
- ? void 0
1698
- : _a.modifiedByUser) !== null && _b !== void 0
1699
- ? _b
1700
- : false,
1701
- ]),
1702
- );
1703
- });
1704
- }
1705
- if (t.kind == "table") {
1706
- if (!PredicateValue.Operations.IsTable(raw)) {
1707
- return ValueOrErrors.Default.throwOne(
1708
- `Table expected but got ${JSON.stringify(raw)}`,
1709
- );
600
+ if (t.kind == "tuple") {
601
+ if (!PredicateValue.Operations.IsTuple(raw)) {
602
+ return ValueOrErrors.Default.throwOne(`Tuple expected but got ${JSON.stringify(raw)}`);
603
+ }
604
+ return ValueOrErrors.Operations.All(List(raw.values.map((value, index) => {
605
+ var _a;
606
+ 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));
607
+ }))).Then((values) => {
608
+ var _a, _b;
609
+ return ValueOrErrors.Default.return(converters["Tuple"].toAPIRawValue([
610
+ values,
611
+ (_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,
612
+ ]));
613
+ });
1710
614
  }
1711
- return ValueOrErrors.Default.return(
1712
- converters["Table"].toAPIRawValue([
1713
- raw,
1714
- (_q =
1715
- (_p =
1716
- formState === null || formState === void 0
1717
- ? void 0
1718
- : formState.commonFormState) === null || _p === void 0
1719
- ? void 0
1720
- : _p.modifiedByUser) !== null && _q !== void 0
1721
- ? _q
1722
- : false,
1723
- ]),
1724
- );
1725
- }
1726
- // Filters
1727
- if (t.kind == "contains") {
1728
- if (!PredicateValue.Operations.IsFilterContains(raw)) {
1729
- return ValueOrErrors.Default.throwOne(
1730
- `FilterContains expected but got ${JSON.stringify(raw)}`,
1731
- );
615
+ if (t.kind == "lookup")
616
+ return dispatchToAPIRawValue(types.get(t.name), types, converters, injectedPrimitives)(raw, formState);
617
+ if (t.kind == "record") {
618
+ if (!PredicateValue.Operations.IsRecord(raw)) {
619
+ return ValueOrErrors.Default.throwOne(`Record expected but got ${JSON.stringify(raw)}`);
620
+ }
621
+ const res = [];
622
+ t.fields.forEach((fieldType, fieldName) => {
623
+ var _a;
624
+ const rawField = raw.fields.get(fieldName);
625
+ if (rawField == undefined) {
626
+ return;
627
+ }
628
+ res.push([
629
+ fieldName,
630
+ 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)),
631
+ ]);
632
+ });
633
+ const errors = ValueOrErrors.Operations.All(List(res.map(([_, value]) => value)));
634
+ if (errors.kind == "errors")
635
+ return errors;
636
+ return ValueOrErrors.Operations.Return(res.reduce((acc, [fieldName, value]) => {
637
+ acc[fieldName] = value.value;
638
+ return acc;
639
+ }, {}));
640
+ }
641
+ if (t.kind == "one") {
642
+ if (!PredicateValue.Operations.IsOption(raw)) {
643
+ return ValueOrErrors.Default.throwOne(`Option expected but got ${JSON.stringify(raw)}\n...when converting one to API raw value`);
644
+ }
645
+ if (!raw.isSome) {
646
+ return ValueOrErrors.Default.return(converters["One"].toAPIRawValue([
647
+ raw,
648
+ (_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,
649
+ ]));
650
+ }
651
+ 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) => {
652
+ var _a, _b;
653
+ return ValueOrErrors.Default.return(converters["One"].toAPIRawValue([
654
+ PredicateValue.Default.option(true, value),
655
+ (_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,
656
+ ]));
657
+ });
1732
658
  }
1733
- return dispatchToAPIRawValue(
1734
- t.contains,
1735
- types,
1736
- converters,
1737
- injectedPrimitives,
1738
- )(raw.contains, formState).Then((value) => {
1739
- var _a, _b;
1740
- return ValueOrErrors.Default.return(
1741
- converters["Contains"].toAPIRawValue([
1742
- PredicateValue.Default.filterContains(value),
1743
- (_b =
1744
- (_a =
1745
- formState === null || formState === void 0
1746
- ? void 0
1747
- : formState.commonFormState) === null || _a === void 0
1748
- ? void 0
1749
- : _a.modifiedByUser) !== null && _b !== void 0
1750
- ? _b
1751
- : false,
1752
- ]),
1753
- );
1754
- });
1755
- }
1756
- if (t.kind == "=") {
1757
- if (!PredicateValue.Operations.IsFilterEqualsTo(raw)) {
1758
- return ValueOrErrors.Default.throwOne(
1759
- `FilterEqualsTo expected but got ${JSON.stringify(raw)}`,
1760
- );
659
+ if (t.kind == "readOnly") {
660
+ if (!PredicateValue.Operations.IsReadOnly(raw)) {
661
+ return ValueOrErrors.Default.throwOne(`ReadOnly expected but got ${JSON.stringify(raw)}`);
662
+ }
663
+ return dispatchToAPIRawValue(t.arg, types, converters, injectedPrimitives)(raw.ReadOnly, formState).Then((childValue) => {
664
+ var _a, _b;
665
+ return ValueOrErrors.Default.return(converters["ReadOnly"].toAPIRawValue([
666
+ { ReadOnly: childValue },
667
+ (_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,
668
+ ]));
669
+ });
1761
670
  }
1762
- return dispatchToAPIRawValue(
1763
- t.equalsTo,
1764
- types,
1765
- converters,
1766
- injectedPrimitives,
1767
- )(raw.equalsTo, formState).Then((value) => {
1768
- var _a, _b;
1769
- return ValueOrErrors.Default.return(
1770
- converters["="].toAPIRawValue([
1771
- PredicateValue.Default.filterEqualsTo(value),
1772
- (_b =
1773
- (_a =
1774
- formState === null || formState === void 0
1775
- ? void 0
1776
- : formState.commonFormState) === null || _a === void 0
1777
- ? void 0
1778
- : _a.modifiedByUser) !== null && _b !== void 0
1779
- ? _b
1780
- : false,
1781
- ]),
1782
- );
1783
- });
1784
- }
1785
- if (t.kind == "!=") {
1786
- if (!PredicateValue.Operations.IsFilterNotEqualsTo(raw)) {
1787
- return ValueOrErrors.Default.throwOne(
1788
- `FilterNotEqualsTo expected but got ${JSON.stringify(raw)}`,
1789
- );
671
+ if (t.kind == "table") {
672
+ if (!PredicateValue.Operations.IsTable(raw)) {
673
+ return ValueOrErrors.Default.throwOne(`Table expected but got ${JSON.stringify(raw)}`);
674
+ }
675
+ return ValueOrErrors.Default.return(converters["Table"].toAPIRawValue([
676
+ raw,
677
+ (_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,
678
+ ]));
679
+ }
680
+ // Filters
681
+ if (t.kind == "contains") {
682
+ if (!PredicateValue.Operations.IsFilterContains(raw)) {
683
+ return ValueOrErrors.Default.throwOne(`FilterContains expected but got ${JSON.stringify(raw)}`);
684
+ }
685
+ return dispatchToAPIRawValue(t.contains, types, converters, injectedPrimitives)(raw.contains, formState).Then((value) => {
686
+ var _a, _b;
687
+ return ValueOrErrors.Default.return(converters["Contains"].toAPIRawValue([
688
+ PredicateValue.Default.filterContains(value),
689
+ (_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,
690
+ ]));
691
+ });
1790
692
  }
1791
- return dispatchToAPIRawValue(
1792
- t.notEqualsTo,
1793
- types,
1794
- converters,
1795
- injectedPrimitives,
1796
- )(raw.notEqualsTo, formState).Then((value) => {
1797
- var _a, _b;
1798
- return ValueOrErrors.Default.return(
1799
- converters["!="].toAPIRawValue([
1800
- PredicateValue.Default.filterNotEqualsTo(value),
1801
- (_b =
1802
- (_a =
1803
- formState === null || formState === void 0
1804
- ? void 0
1805
- : formState.commonFormState) === null || _a === void 0
1806
- ? void 0
1807
- : _a.modifiedByUser) !== null && _b !== void 0
1808
- ? _b
1809
- : false,
1810
- ]),
1811
- );
1812
- });
1813
- }
1814
- if (t.kind == ">=") {
1815
- if (!PredicateValue.Operations.IsFilterGreaterThanOrEqualsTo(raw)) {
1816
- return ValueOrErrors.Default.throwOne(
1817
- `FilterGreaterThanOrEqualsTo expected but got ${JSON.stringify(raw)}`,
1818
- );
693
+ if (t.kind == "=") {
694
+ if (!PredicateValue.Operations.IsFilterEqualsTo(raw)) {
695
+ return ValueOrErrors.Default.throwOne(`FilterEqualsTo expected but got ${JSON.stringify(raw)}`);
696
+ }
697
+ return dispatchToAPIRawValue(t.equalsTo, types, converters, injectedPrimitives)(raw.equalsTo, formState).Then((value) => {
698
+ var _a, _b;
699
+ return ValueOrErrors.Default.return(converters["="].toAPIRawValue([
700
+ PredicateValue.Default.filterEqualsTo(value),
701
+ (_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,
702
+ ]));
703
+ });
1819
704
  }
1820
- return dispatchToAPIRawValue(
1821
- t.greaterThanOrEqualsTo,
1822
- types,
1823
- converters,
1824
- injectedPrimitives,
1825
- )(raw.greaterThanOrEqualsTo, formState).Then((value) => {
1826
- var _a, _b;
1827
- return ValueOrErrors.Default.return(
1828
- converters[">="].toAPIRawValue([
1829
- PredicateValue.Default.filterGreaterThanOrEqualsTo(value),
1830
- (_b =
1831
- (_a =
1832
- formState === null || formState === void 0
1833
- ? void 0
1834
- : formState.commonFormState) === null || _a === void 0
1835
- ? void 0
1836
- : _a.modifiedByUser) !== null && _b !== void 0
1837
- ? _b
1838
- : false,
1839
- ]),
1840
- );
1841
- });
1842
- }
1843
- if (t.kind == ">") {
1844
- if (!PredicateValue.Operations.IsFilterGreaterThan(raw)) {
1845
- return ValueOrErrors.Default.throwOne(
1846
- `FilterGreaterThan expected but got ${JSON.stringify(raw)}`,
1847
- );
705
+ if (t.kind == "!=") {
706
+ if (!PredicateValue.Operations.IsFilterNotEqualsTo(raw)) {
707
+ return ValueOrErrors.Default.throwOne(`FilterNotEqualsTo expected but got ${JSON.stringify(raw)}`);
708
+ }
709
+ return dispatchToAPIRawValue(t.notEqualsTo, types, converters, injectedPrimitives)(raw.notEqualsTo, formState).Then((value) => {
710
+ var _a, _b;
711
+ return ValueOrErrors.Default.return(converters["!="].toAPIRawValue([
712
+ PredicateValue.Default.filterNotEqualsTo(value),
713
+ (_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,
714
+ ]));
715
+ });
1848
716
  }
1849
- return dispatchToAPIRawValue(
1850
- t.greaterThan,
1851
- types,
1852
- converters,
1853
- injectedPrimitives,
1854
- )(raw.greaterThan, formState).Then((value) => {
1855
- var _a, _b;
1856
- return ValueOrErrors.Default.return(
1857
- converters[">"].toAPIRawValue([
1858
- PredicateValue.Default.filterGreaterThan(value),
1859
- (_b =
1860
- (_a =
1861
- formState === null || formState === void 0
1862
- ? void 0
1863
- : formState.commonFormState) === null || _a === void 0
1864
- ? void 0
1865
- : _a.modifiedByUser) !== null && _b !== void 0
1866
- ? _b
1867
- : false,
1868
- ]),
1869
- );
1870
- });
1871
- }
1872
- if (t.kind == "!=null") {
1873
- if (!PredicateValue.Operations.IsFilterIsNotNull(raw)) {
1874
- return ValueOrErrors.Default.throwOne(
1875
- `FilterIsNotNull expected but got ${JSON.stringify(raw)}`,
1876
- );
717
+ if (t.kind == ">=") {
718
+ if (!PredicateValue.Operations.IsFilterGreaterThanOrEqualsTo(raw)) {
719
+ return ValueOrErrors.Default.throwOne(`FilterGreaterThanOrEqualsTo expected but got ${JSON.stringify(raw)}`);
720
+ }
721
+ return dispatchToAPIRawValue(t.greaterThanOrEqualsTo, types, converters, injectedPrimitives)(raw.greaterThanOrEqualsTo, formState).Then((value) => {
722
+ var _a, _b;
723
+ return ValueOrErrors.Default.return(converters[">="].toAPIRawValue([
724
+ PredicateValue.Default.filterGreaterThanOrEqualsTo(value),
725
+ (_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,
726
+ ]));
727
+ });
1877
728
  }
1878
- return ValueOrErrors.Default.return(
1879
- converters["!=null"].toAPIRawValue([
1880
- raw,
1881
- (_s =
1882
- (_r =
1883
- formState === null || formState === void 0
1884
- ? void 0
1885
- : formState.commonFormState) === null || _r === void 0
1886
- ? void 0
1887
- : _r.modifiedByUser) !== null && _s !== void 0
1888
- ? _s
1889
- : false,
1890
- ]),
1891
- );
1892
- }
1893
- if (t.kind == "=null") {
1894
- if (!PredicateValue.Operations.IsFilterIsNull(raw)) {
1895
- return ValueOrErrors.Default.throwOne(
1896
- `FilterIsNull expected but got ${JSON.stringify(raw)}`,
1897
- );
729
+ if (t.kind == ">") {
730
+ if (!PredicateValue.Operations.IsFilterGreaterThan(raw)) {
731
+ return ValueOrErrors.Default.throwOne(`FilterGreaterThan expected but got ${JSON.stringify(raw)}`);
732
+ }
733
+ return dispatchToAPIRawValue(t.greaterThan, types, converters, injectedPrimitives)(raw.greaterThan, formState).Then((value) => {
734
+ var _a, _b;
735
+ return ValueOrErrors.Default.return(converters[">"].toAPIRawValue([
736
+ PredicateValue.Default.filterGreaterThan(value),
737
+ (_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,
738
+ ]));
739
+ });
1898
740
  }
1899
- return ValueOrErrors.Default.return(
1900
- converters["=null"].toAPIRawValue([
1901
- raw,
1902
- (_u =
1903
- (_t =
1904
- formState === null || formState === void 0
1905
- ? void 0
1906
- : formState.commonFormState) === null || _t === void 0
1907
- ? void 0
1908
- : _t.modifiedByUser) !== null && _u !== void 0
1909
- ? _u
1910
- : false,
1911
- ]),
1912
- );
1913
- }
1914
- if (t.kind == "<=") {
1915
- if (!PredicateValue.Operations.IsFilterSmallerThanOrEqualsTo(raw)) {
1916
- return ValueOrErrors.Default.throwOne(
1917
- `FilterSmallerThanOrEqualsTo expected but got ${JSON.stringify(raw)}`,
1918
- );
741
+ if (t.kind == "!=null") {
742
+ if (!PredicateValue.Operations.IsFilterIsNotNull(raw)) {
743
+ return ValueOrErrors.Default.throwOne(`FilterIsNotNull expected but got ${JSON.stringify(raw)}`);
744
+ }
745
+ return ValueOrErrors.Default.return(converters["!=null"].toAPIRawValue([
746
+ raw,
747
+ (_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,
748
+ ]));
749
+ }
750
+ if (t.kind == "=null") {
751
+ if (!PredicateValue.Operations.IsFilterIsNull(raw)) {
752
+ return ValueOrErrors.Default.throwOne(`FilterIsNull expected but got ${JSON.stringify(raw)}`);
753
+ }
754
+ return ValueOrErrors.Default.return(converters["=null"].toAPIRawValue([
755
+ raw,
756
+ (_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,
757
+ ]));
758
+ }
759
+ if (t.kind == "<=") {
760
+ if (!PredicateValue.Operations.IsFilterSmallerThanOrEqualsTo(raw)) {
761
+ return ValueOrErrors.Default.throwOne(`FilterSmallerThanOrEqualsTo expected but got ${JSON.stringify(raw)}`);
762
+ }
763
+ return dispatchToAPIRawValue(t.smallerThanOrEqualsTo, types, converters, injectedPrimitives)(raw.smallerThanOrEqualsTo, formState).Then((value) => {
764
+ var _a, _b;
765
+ return ValueOrErrors.Default.return(converters["<="].toAPIRawValue([
766
+ PredicateValue.Default.filterSmallerThanOrEqualsTo(value),
767
+ (_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,
768
+ ]));
769
+ });
1919
770
  }
1920
- return dispatchToAPIRawValue(
1921
- t.smallerThanOrEqualsTo,
1922
- types,
1923
- converters,
1924
- injectedPrimitives,
1925
- )(raw.smallerThanOrEqualsTo, formState).Then((value) => {
1926
- var _a, _b;
1927
- return ValueOrErrors.Default.return(
1928
- converters["<="].toAPIRawValue([
1929
- PredicateValue.Default.filterSmallerThanOrEqualsTo(value),
1930
- (_b =
1931
- (_a =
1932
- formState === null || formState === void 0
1933
- ? void 0
1934
- : formState.commonFormState) === null || _a === void 0
1935
- ? void 0
1936
- : _a.modifiedByUser) !== null && _b !== void 0
1937
- ? _b
1938
- : false,
1939
- ]),
1940
- );
1941
- });
1942
- }
1943
- if (t.kind == "<") {
1944
- if (!PredicateValue.Operations.IsFilterSmallerThan(raw)) {
1945
- return ValueOrErrors.Default.throwOne(
1946
- `FilterSmallerThan expected but got ${JSON.stringify(raw)}`,
1947
- );
771
+ if (t.kind == "<") {
772
+ if (!PredicateValue.Operations.IsFilterSmallerThan(raw)) {
773
+ return ValueOrErrors.Default.throwOne(`FilterSmallerThan expected but got ${JSON.stringify(raw)}`);
774
+ }
775
+ return dispatchToAPIRawValue(t.smallerThan, types, converters, injectedPrimitives)(raw.smallerThan, formState).Then((value) => {
776
+ var _a, _b;
777
+ return ValueOrErrors.Default.return(converters["<"].toAPIRawValue([
778
+ PredicateValue.Default.filterSmallerThan(value),
779
+ (_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,
780
+ ]));
781
+ });
1948
782
  }
1949
- return dispatchToAPIRawValue(
1950
- t.smallerThan,
1951
- types,
1952
- converters,
1953
- injectedPrimitives,
1954
- )(raw.smallerThan, formState).Then((value) => {
1955
- var _a, _b;
1956
- return ValueOrErrors.Default.return(
1957
- converters["<"].toAPIRawValue([
1958
- PredicateValue.Default.filterSmallerThan(value),
1959
- (_b =
1960
- (_a =
1961
- formState === null || formState === void 0
1962
- ? void 0
1963
- : formState.commonFormState) === null || _a === void 0
1964
- ? void 0
1965
- : _a.modifiedByUser) !== null && _b !== void 0
1966
- ? _b
1967
- : false,
1968
- ]),
1969
- );
1970
- });
1971
- }
1972
- if (t.kind == "startsWith") {
1973
- if (!PredicateValue.Operations.IsFilterStartsWith(raw)) {
1974
- return ValueOrErrors.Default.throwOne(
1975
- `FilterStartsWith expected but got ${JSON.stringify(raw)}`,
1976
- );
783
+ if (t.kind == "startsWith") {
784
+ if (!PredicateValue.Operations.IsFilterStartsWith(raw)) {
785
+ return ValueOrErrors.Default.throwOne(`FilterStartsWith expected but got ${JSON.stringify(raw)}`);
786
+ }
787
+ return dispatchToAPIRawValue(t.startsWith, types, converters, injectedPrimitives)(raw.startsWith, formState).Then((value) => {
788
+ var _a, _b;
789
+ return ValueOrErrors.Default.return(converters["StartsWith"].toAPIRawValue([
790
+ PredicateValue.Default.filterStartsWith(value),
791
+ (_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,
792
+ ]));
793
+ });
1977
794
  }
1978
- return dispatchToAPIRawValue(
1979
- t.startsWith,
1980
- types,
1981
- converters,
1982
- injectedPrimitives,
1983
- )(raw.startsWith, formState).Then((value) => {
1984
- var _a, _b;
1985
- return ValueOrErrors.Default.return(
1986
- converters["StartsWith"].toAPIRawValue([
1987
- PredicateValue.Default.filterStartsWith(value),
1988
- (_b =
1989
- (_a =
1990
- formState === null || formState === void 0
1991
- ? void 0
1992
- : formState.commonFormState) === null || _a === void 0
1993
- ? void 0
1994
- : _a.modifiedByUser) !== null && _b !== void 0
1995
- ? _b
1996
- : false,
1997
- ]),
1998
- );
1999
- });
2000
- }
2001
- return ValueOrErrors.Default.throwOne(
2002
- `Unsupported type ${JSON.stringify(t)}`,
2003
- );
795
+ return ValueOrErrors.Default.throwOne(`Unsupported type ${JSON.stringify(t)}`);
2004
796
  })();
2005
- return result.MapErrors((errors) =>
2006
- errors.map(
2007
- (error) =>
2008
- `${error}\n...When converting type ${JSON.stringify(t, null, 2)} and value ${JSON.stringify(raw, null, 2)} to API raw value`,
2009
- ),
2010
- );
2011
- };
2012
- //# sourceMappingURL=state.js.map
797
+ 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`));
798
+ };
799
+ //# sourceMappingURL=state.js.map