ballerina-core 1.0.258 → 1.0.260

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 (453) hide show
  1. package/bin/main.d.ts +1 -0
  2. package/bin/main.d.ts.map +1 -1
  3. package/bin/main.js +1 -0
  4. package/bin/main.js.map +1 -1
  5. package/bin/src/api-response-handler/coroutines/runner.js +13 -20
  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.js +196 -314
  10. package/bin/src/async/domains/mirroring/domains/collection/state.js +36 -126
  11. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.js +11 -18
  12. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.js +19 -19
  13. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.js +1 -1
  14. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.js +18 -18
  15. package/bin/src/async/domains/mirroring/domains/entity/state.js +9 -18
  16. package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.js +83 -134
  17. package/bin/src/async/domains/mirroring/domains/singleton/state.js +8 -52
  18. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts +9 -15
  19. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.js +1 -1
  20. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.js +4 -7
  21. package/bin/src/async/domains/promise/state.d.ts +4 -9
  22. package/bin/src/async/domains/promise/state.js +9 -20
  23. package/bin/src/async/domains/synchronized/coroutines/synchronize.js +28 -80
  24. package/bin/src/async/domains/synchronized/state.d.ts +7 -14
  25. package/bin/src/async/domains/synchronized/state.js +6 -16
  26. package/bin/src/async/state.d.ts +45 -56
  27. package/bin/src/async/state.js +97 -115
  28. package/bin/src/baseEntity/domains/identifiable/state.d.ts +11 -15
  29. package/bin/src/baseEntity/domains/identifiable/state.js +9 -9
  30. package/bin/src/collections/domains/array/state.d.ts +7 -7
  31. package/bin/src/collections/domains/array/state.js +5 -5
  32. package/bin/src/collections/domains/errors/state.d.ts +10 -10
  33. package/bin/src/collections/domains/errors/state.js +10 -10
  34. package/bin/src/collections/domains/immutable/domains/list/state.js +44 -46
  35. package/bin/src/collections/domains/immutable/domains/map/state.js +23 -41
  36. package/bin/src/collections/domains/immutable/domains/orderedMap/state.js +65 -84
  37. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.d.ts +6 -6
  38. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.js +6 -6
  39. package/bin/src/collections/domains/maybe/state.d.ts +9 -9
  40. package/bin/src/collections/domains/maybe/state.js +9 -12
  41. package/bin/src/collections/domains/product/state.d.ts +19 -25
  42. package/bin/src/collections/domains/product/state.js +10 -13
  43. package/bin/src/collections/domains/sum/state.d.ts +77 -101
  44. package/bin/src/collections/domains/sum/state.js +32 -49
  45. package/bin/src/collections/domains/valueOrErrors/state.js +56 -81
  46. package/bin/src/coroutines/builder.js +19 -40
  47. package/bin/src/coroutines/state.js +306 -381
  48. package/bin/src/coroutines/template.js +59 -97
  49. package/bin/src/debounced/coroutines/debounce.js +89 -115
  50. package/bin/src/debounced/state.js +25 -62
  51. package/bin/src/diagnostics/domains/message-box/state.d.ts +1 -1
  52. package/bin/src/diagnostics/domains/message-box/state.js +3 -3
  53. package/bin/src/foreignMutations/state.d.ts +3 -3
  54. package/bin/src/foreignMutations/state.js +1 -1
  55. package/bin/src/forms/domains/attachments/views/attachments-view.js +8 -30
  56. package/bin/src/forms/domains/collection/domains/reference/state.js +20 -26
  57. package/bin/src/forms/domains/collection/domains/selection/state.js +1 -1
  58. package/bin/src/forms/domains/dispatched-forms/built-ins/state.js +754 -2007
  59. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js +44 -123
  60. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.d.ts +3 -3
  61. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.d.ts.map +1 -1
  62. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.js +81 -70
  63. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.js.map +1 -1
  64. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.js +27 -40
  65. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.d.ts +2 -2
  66. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.d.ts.map +1 -1
  67. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.js +5 -2
  68. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.js.map +1 -1
  69. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.d.ts +3 -2
  70. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.d.ts.map +1 -1
  71. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.js +28 -6
  72. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.js.map +1 -1
  73. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.d.ts +2 -2
  74. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.d.ts.map +1 -1
  75. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.js +5 -2
  76. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.js.map +1 -1
  77. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.d.ts +2 -2
  78. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.d.ts.map +1 -1
  79. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.js +11 -8
  80. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.js.map +1 -1
  81. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.d.ts +3 -3
  82. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.d.ts.map +1 -1
  83. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.js +7 -4
  84. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.js.map +1 -1
  85. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.js +13 -21
  86. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.d.ts +2 -2
  87. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.d.ts.map +1 -1
  88. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.js +5 -2
  89. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.js.map +1 -1
  90. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.d.ts +2 -2
  91. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.d.ts.map +1 -1
  92. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.js +6 -3
  93. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.js.map +1 -1
  94. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.d.ts +2 -2
  95. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.d.ts.map +1 -1
  96. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.js +10 -4
  97. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.js.map +1 -1
  98. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.js +27 -43
  99. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.d.ts +2 -1
  100. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.d.ts.map +1 -1
  101. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.js +5 -2
  102. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.js.map +1 -1
  103. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.js +22 -39
  104. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.d.ts +2 -2
  105. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.d.ts.map +1 -1
  106. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.js +4 -1
  107. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.js.map +1 -1
  108. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts +3 -3
  109. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts.map +1 -1
  110. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js +17 -7
  111. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js.map +1 -1
  112. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.d.ts +2 -1
  113. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.d.ts.map +1 -1
  114. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.js +7 -3
  115. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.js.map +1 -1
  116. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.d.ts +1 -1
  117. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.d.ts.map +1 -1
  118. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.js +12 -6
  119. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.js.map +1 -1
  120. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.d.ts +2 -2
  121. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.d.ts.map +1 -1
  122. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.js +34 -18
  123. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.js.map +1 -1
  124. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.d.ts +48 -156
  125. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.js +103 -355
  126. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js +638 -1084
  127. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.d.ts +24 -9
  128. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.d.ts.map +1 -1
  129. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.js +148 -75
  130. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.js.map +1 -1
  131. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/statev2.d.ts +29 -0
  132. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/statev2.d.ts.map +1 -0
  133. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/statev2.js +114 -0
  134. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/statev2.js.map +1 -0
  135. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/enum/state.d.ts +27 -0
  136. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/enum/state.d.ts.map +1 -0
  137. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/enum/state.js +29 -0
  138. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/enum/state.js.map +1 -0
  139. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/list/state.d.ts +44 -0
  140. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/list/state.d.ts.map +1 -0
  141. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/list/state.js +52 -0
  142. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/list/state.js.map +1 -0
  143. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/lookup/state.d.ts +64 -0
  144. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/lookup/state.d.ts.map +1 -0
  145. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/lookup/state.js +75 -0
  146. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/lookup/state.js.map +1 -0
  147. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/map/state.d.ts +24 -0
  148. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/map/state.d.ts.map +1 -0
  149. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/map/state.js +35 -0
  150. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/map/state.js.map +1 -0
  151. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/nestedRenderer/state.d.ts +38 -0
  152. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/nestedRenderer/state.d.ts.map +1 -0
  153. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/nestedRenderer/state.js +49 -0
  154. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/nestedRenderer/state.js.map +1 -0
  155. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/one/state.d.ts +27 -0
  156. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/one/state.d.ts.map +1 -0
  157. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/one/state.js +39 -0
  158. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/one/state.js.map +1 -0
  159. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/primitive/state.d.ts +17 -0
  160. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/primitive/state.d.ts.map +1 -0
  161. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/primitive/state.js +17 -0
  162. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/primitive/state.js.map +1 -0
  163. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/readOnly/state.d.ts +28 -0
  164. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/readOnly/state.d.ts.map +1 -0
  165. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/readOnly/state.js +30 -0
  166. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/readOnly/state.js.map +1 -0
  167. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.d.ts +18 -0
  168. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.d.ts.map +1 -0
  169. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.js +23 -0
  170. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.js.map +1 -0
  171. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/record/state.d.ts +28 -0
  172. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/record/state.d.ts.map +1 -0
  173. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/record/state.js +65 -0
  174. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/record/state.js.map +1 -0
  175. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/stream/state.d.ts +20 -0
  176. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/stream/state.d.ts.map +1 -0
  177. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/stream/state.js +29 -0
  178. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/stream/state.js.map +1 -0
  179. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/sum/state.d.ts +29 -0
  180. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/sum/state.d.ts.map +1 -0
  181. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/sum/state.js +29 -0
  182. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/sum/state.js.map +1 -0
  183. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/sumUnitDate/state.d.ts +24 -0
  184. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/sumUnitDate/state.d.ts.map +1 -0
  185. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/sumUnitDate/state.js +24 -0
  186. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/sumUnitDate/state.js.map +1 -0
  187. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.d.ts +17 -0
  188. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.d.ts.map +1 -0
  189. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.js +17 -0
  190. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.js.map +1 -0
  191. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/table/state.d.ts +50 -0
  192. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/table/state.d.ts.map +1 -0
  193. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/table/state.js +62 -0
  194. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/table/state.js.map +1 -0
  195. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/tuple/state.d.ts +24 -0
  196. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/tuple/state.d.ts.map +1 -0
  197. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/tuple/state.js +41 -0
  198. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/tuple/state.js.map +1 -0
  199. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/union/state.d.ts +26 -0
  200. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/union/state.d.ts.map +1 -0
  201. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/union/state.js +45 -0
  202. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/domains/union/state.js.map +1 -0
  203. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/state.d.ts +36 -0
  204. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/state.d.ts.map +1 -0
  205. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/state.js +92 -0
  206. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/forms/domains/renderer/state.js.map +1 -0
  207. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/types/state.d.ts +354 -0
  208. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/types/state.d.ts.map +1 -0
  209. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/types/state.js +642 -0
  210. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/domains/types/state.js.map +1 -0
  211. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/state.d.ts +75 -0
  212. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/state.d.ts.map +1 -0
  213. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/state.js +153 -0
  214. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification-v2/state.js.map +1 -0
  215. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js +90 -322
  216. package/bin/src/forms/domains/dispatched-forms/deserializer/template.js +2 -3
  217. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.js +3 -3
  218. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js +23 -49
  219. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js +3 -3
  220. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js +24 -52
  221. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +6 -18
  222. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +30 -64
  223. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +6 -9
  224. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +60 -153
  225. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.js +1 -1
  226. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js +50 -127
  227. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +22 -40
  228. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +13 -31
  229. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +152 -452
  230. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.js +1 -1
  231. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js +9 -29
  232. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +18 -61
  233. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +90 -329
  234. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.js +3 -3
  235. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js +23 -54
  236. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +10 -22
  237. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +31 -49
  238. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +10 -29
  239. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js +2 -2
  240. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js +26 -47
  241. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +40 -88
  242. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.d.ts.map +1 -1
  243. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +152 -386
  244. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js.map +1 -1
  245. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +10 -19
  246. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +33 -99
  247. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +11 -32
  248. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +82 -227
  249. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +13 -35
  250. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +68 -195
  251. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +13 -36
  252. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +106 -246
  253. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.js +3 -3
  254. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js +23 -54
  255. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +27 -40
  256. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.js +3 -3
  257. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js +26 -58
  258. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +7 -22
  259. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +53 -188
  260. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js +2 -2
  261. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js +24 -57
  262. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +20 -70
  263. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +53 -88
  264. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +20 -40
  265. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +15 -43
  266. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts +1 -0
  267. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts.map +1 -1
  268. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +137 -301
  269. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js.map +1 -1
  270. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts.map +1 -1
  271. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +244 -692
  272. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js.map +1 -1
  273. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +8 -20
  274. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +35 -132
  275. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +8 -21
  276. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +33 -105
  277. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +9 -12
  278. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +20 -54
  279. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +560 -716
  280. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +18 -58
  281. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +14 -45
  282. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +18 -76
  283. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +24 -82
  284. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +8 -37
  285. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +36 -120
  286. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +63 -145
  287. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +12 -44
  288. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +4 -14
  289. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +25 -81
  290. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +24 -82
  291. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +20 -63
  292. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +74 -248
  293. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +13 -61
  294. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +33 -92
  295. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +45 -144
  296. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js +95 -203
  297. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js +37 -79
  298. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.js +2 -2
  299. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.js +17 -19
  300. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js +11 -58
  301. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js +25 -73
  302. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js +95 -205
  303. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js +37 -78
  304. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.js +2 -2
  305. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.js +17 -19
  306. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js +11 -58
  307. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js +25 -71
  308. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js +85 -163
  309. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js +4 -10
  310. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js +27 -72
  311. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js +436 -796
  312. package/bin/src/forms/domains/dispatched-forms/runner/state.js +38 -62
  313. package/bin/src/forms/domains/dispatched-forms/runner/template.js +25 -78
  314. package/bin/src/forms/domains/launcher/coroutines/runner.js +45 -120
  315. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +101 -240
  316. package/bin/src/forms/domains/launcher/domains/create/state.js +17 -62
  317. package/bin/src/forms/domains/launcher/domains/create/template.js +42 -84
  318. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +103 -242
  319. package/bin/src/forms/domains/launcher/domains/edit/state.js +17 -62
  320. package/bin/src/forms/domains/launcher/domains/edit/template.js +43 -86
  321. package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
  322. package/bin/src/forms/domains/launcher/domains/merger/state.js +26 -35
  323. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +42 -88
  324. package/bin/src/forms/domains/launcher/domains/passthrough/state.js +19 -44
  325. package/bin/src/forms/domains/launcher/domains/passthrough/template.js +34 -56
  326. package/bin/src/forms/domains/launcher/state.js +6 -6
  327. package/bin/src/forms/domains/launcher/template.js +85 -169
  328. package/bin/src/forms/domains/parser/coroutines/runner.js +25 -87
  329. package/bin/src/forms/domains/parser/domains/built-ins/state.js +533 -944
  330. package/bin/src/forms/domains/parser/domains/deltas/state.js +318 -444
  331. package/bin/src/forms/domains/parser/domains/injectables/state.js +26 -29
  332. package/bin/src/forms/domains/parser/domains/layout/state.js +183 -271
  333. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +162 -324
  334. package/bin/src/forms/domains/parser/domains/predicates/state.js +984 -1514
  335. package/bin/src/forms/domains/parser/domains/renderer/state.js +480 -1137
  336. package/bin/src/forms/domains/parser/domains/types/state.js +170 -355
  337. package/bin/src/forms/domains/parser/domains/validator/state.js +280 -417
  338. package/bin/src/forms/domains/parser/state.js +373 -612
  339. package/bin/src/forms/domains/parser/template.js +1 -1
  340. package/bin/src/forms/domains/primitives/domains/base-64-file/state.js +5 -5
  341. package/bin/src/forms/domains/primitives/domains/base-64-file/template.js +19 -38
  342. package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
  343. package/bin/src/forms/domains/primitives/domains/boolean/template.js +19 -38
  344. package/bin/src/forms/domains/primitives/domains/date/state.js +9 -18
  345. package/bin/src/forms/domains/primitives/domains/date/template.js +25 -51
  346. package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
  347. package/bin/src/forms/domains/primitives/domains/enum/template.js +48 -117
  348. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
  349. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +40 -99
  350. package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
  351. package/bin/src/forms/domains/primitives/domains/list/template.js +71 -200
  352. package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
  353. package/bin/src/forms/domains/primitives/domains/map/template.js +103 -294
  354. package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
  355. package/bin/src/forms/domains/primitives/domains/number/template.js +19 -38
  356. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +16 -33
  357. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +62 -171
  358. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.js +1 -1
  359. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.js +69 -182
  360. package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
  361. package/bin/src/forms/domains/primitives/domains/secret/template.js +19 -38
  362. package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
  363. package/bin/src/forms/domains/primitives/domains/string/template.js +22 -42
  364. package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
  365. package/bin/src/forms/domains/primitives/domains/sum/template.js +50 -141
  366. package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
  367. package/bin/src/forms/domains/primitives/domains/tuple/template.js +33 -100
  368. package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
  369. package/bin/src/forms/domains/primitives/domains/unit/template.js +9 -22
  370. package/bin/src/forms/domains/singleton/domains/form-label/state.d.ts +4 -4
  371. package/bin/src/forms/domains/singleton/domains/form-label/state.js +1 -1
  372. package/bin/src/forms/domains/singleton/state.js +10 -12
  373. package/bin/src/forms/domains/singleton/template.js +113 -288
  374. package/bin/src/fun/domains/curry/state.d.ts +2 -4
  375. package/bin/src/fun/domains/curry/state.js +1 -1
  376. package/bin/src/fun/domains/id/state.d.ts +1 -1
  377. package/bin/src/fun/domains/id/state.js +1 -1
  378. package/bin/src/fun/domains/predicate/domains/bool-expr.d.ts +41 -57
  379. package/bin/src/fun/domains/predicate/domains/bool-expr.js +67 -76
  380. package/bin/src/fun/domains/predicate/state.d.ts +7 -9
  381. package/bin/src/fun/domains/predicate/state.js +10 -14
  382. package/bin/src/fun/domains/simpleCallback/state.d.ts +1 -1
  383. package/bin/src/fun/domains/simpleCallback/state.js +1 -1
  384. package/bin/src/fun/domains/uncurry/state.d.ts +2 -4
  385. package/bin/src/fun/domains/uncurry/state.js +1 -1
  386. package/bin/src/fun/domains/unit/state.d.ts +1 -1
  387. package/bin/src/fun/domains/unit/state.js +1 -1
  388. package/bin/src/fun/domains/updater/domains/caseUpdater/state.d.ts +7 -22
  389. package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +10 -18
  390. package/bin/src/fun/domains/updater/domains/caseUpdater/state.js.map +1 -1
  391. package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +13 -24
  392. package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +10 -40
  393. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +13 -19
  394. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +9 -20
  395. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +13 -24
  396. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +11 -47
  397. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +8 -20
  398. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +5 -17
  399. package/bin/src/fun/domains/updater/domains/replaceWith/state.d.ts +1 -1
  400. package/bin/src/fun/domains/updater/domains/replaceWith/state.js +1 -1
  401. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts +4 -13
  402. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +4 -6
  403. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +22 -60
  404. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +31 -42
  405. package/bin/src/fun/domains/updater/state.d.ts +4 -4
  406. package/bin/src/fun/domains/updater/state.js +10 -12
  407. package/bin/src/fun/state.d.ts +3 -3
  408. package/bin/src/fun/state.js +7 -9
  409. package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
  410. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +20 -47
  411. package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
  412. package/bin/src/infinite-data-stream/state.d.ts +51 -84
  413. package/bin/src/infinite-data-stream/state.js +61 -125
  414. package/bin/src/infinite-data-stream/template.js +2 -3
  415. package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
  416. package/bin/src/math/domains/DOMRect/state.js +8 -10
  417. package/bin/src/math/domains/number/state.d.ts +5 -5
  418. package/bin/src/math/domains/number/state.js +5 -5
  419. package/bin/src/math/domains/rect/state.d.ts +8 -8
  420. package/bin/src/math/domains/rect/state.js +15 -16
  421. package/bin/src/math/domains/rgba/state.d.ts +17 -17
  422. package/bin/src/math/domains/rgba/state.js +81 -77
  423. package/bin/src/math/domains/size2/state.d.ts +8 -8
  424. package/bin/src/math/domains/size2/state.js +6 -6
  425. package/bin/src/math/domains/vector2/state.d.ts +10 -10
  426. package/bin/src/math/domains/vector2/state.js +8 -8
  427. package/bin/src/queue/state.js +16 -23
  428. package/bin/src/state/domains/repository/state.d.ts +9 -15
  429. package/bin/src/state/domains/repository/state.js +1 -1
  430. package/bin/src/template/state.js +115 -163
  431. package/bin/src/validation/state.js +45 -38
  432. package/bin/src/value/domains/mutable-value/state.js +2 -3
  433. package/bin/src/value/state.d.ts +9 -9
  434. package/bin/src/value/state.js +8 -11
  435. package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
  436. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.d.ts.map +1 -1
  437. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +26 -56
  438. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js.map +1 -1
  439. package/bin/src/value-infinite-data-stream/coroutines/runner.js +4 -6
  440. package/bin/src/value-infinite-data-stream/state.d.ts +2 -0
  441. package/bin/src/value-infinite-data-stream/state.d.ts.map +1 -1
  442. package/bin/src/value-infinite-data-stream/state.js +78 -199
  443. package/bin/src/value-infinite-data-stream/state.js.map +1 -1
  444. package/bin/src/value-infinite-data-stream/template.js +2 -4
  445. package/bin/src/visibility/state.d.ts +2 -5
  446. package/bin/src/visibility/state.js +1 -1
  447. package/package.json +1 -1
  448. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.tsx +6 -0
  449. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.ts +1 -0
  450. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.tsx +9 -0
  451. package/src/fun/domains/updater/domains/caseUpdater/state.ts +1 -1
  452. package/src/value-infinite-data-stream/coroutines/infiniteLoader.ts +36 -27
  453. package/src/value-infinite-data-stream/state.ts +3 -0
@@ -1,824 +1,464 @@
1
- import {
2
- Option,
3
- ValueOrErrors,
4
- PredicateValue,
5
- Expr,
6
- Updater,
7
- FormLayout,
8
- unit,
9
- TableLayout,
10
- } from "ballerina-core";
1
+ import { Option, ValueOrErrors, PredicateValue, Expr, Updater, FormLayout, unit, TableLayout, } from "ballerina-core";
11
2
  import { List, Map } from "immutable";
12
3
  import { LookupRenderer } from "../../../deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state";
13
4
  export const RendererTraversal = {
14
- Operations: {
15
- Run: (renderer, traversalContext) => {
16
- const rec = RendererTraversal.Operations.Run;
17
- const mapEvalContext = (f) =>
18
- Updater(Option.Updaters.some((v) => (ctx) => v(f(ctx))));
19
- const traverseNode = traversalContext.traverseSingleType(renderer.type);
20
- if (
21
- renderer.type.kind == "primitive" ||
22
- renderer.type.kind == "singleSelection" ||
23
- renderer.type.kind == "multiSelection"
24
- ) {
25
- return ValueOrErrors.Default.return(traverseNode);
26
- }
27
- if (
28
- renderer.kind == "lookupType-lookupRenderer" ||
29
- renderer.kind == "lookupType-inlinedRenderer" ||
30
- renderer.kind == "inlinedType-lookupRenderer"
31
- ) {
32
- if (
33
- renderer.kind == "lookupType-lookupRenderer" ||
34
- renderer.kind == "lookupType-inlinedRenderer"
35
- ) {
36
- return LookupRenderer.Operations.ResolveRenderer(
37
- renderer,
38
- traversalContext.forms,
39
- ).Then((resolvedRenderer) =>
40
- rec(resolvedRenderer, traversalContext).Then((valueTraversal) =>
41
- ValueOrErrors.Default.return(
42
- // reassign local if it's a lookup renderer
43
- renderer.kind == "lookupType-lookupRenderer"
44
- ? mapEvalContext((ctx) =>
45
- Object.assign(Object.assign({}, ctx), {
46
- local: ctx.traversalIterator,
47
- }),
48
- )(valueTraversal)
49
- : valueTraversal,
50
- ).Then((resolvedTraversal) => {
51
- if (traverseNode.kind == "l" && resolvedTraversal.kind == "l") {
52
- return ValueOrErrors.Default.return(Option.Default.none());
53
- }
54
- if (traverseNode.kind == "l") {
55
- return ValueOrErrors.Default.return(resolvedTraversal);
56
- }
57
- if (resolvedTraversal.kind == "l") {
58
- return ValueOrErrors.Default.return(
59
- Option.Default.some((evalContext) =>
60
- traverseNode
61
- .value(evalContext)
62
- .Then((nodeResult) =>
63
- ValueOrErrors.Default.return(nodeResult),
64
- ),
65
- ),
66
- );
67
- }
68
- return ValueOrErrors.Default.return(
69
- Option.Default.some((evalContext) => {
70
- return resolvedTraversal
71
- .value(evalContext)
72
- .Then((resolvedTraversal) =>
73
- traverseNode
74
- .value(evalContext)
75
- .Then((nodeResult) =>
76
- ValueOrErrors.Default.return(
77
- traversalContext.joinRes([
5
+ Operations: {
6
+ Run: (renderer, traversalContext) => {
7
+ const rec = (RendererTraversal.Operations.Run);
8
+ const mapEvalContext = (f) => Updater(Option.Updaters.some((v) => (ctx) => v(f(ctx))));
9
+ const traverseNode = traversalContext.traverseSingleType(renderer.type);
10
+ if (renderer.type.kind == "primitive" ||
11
+ renderer.type.kind == "singleSelection" ||
12
+ renderer.type.kind == "multiSelection") {
13
+ return ValueOrErrors.Default.return(traverseNode);
14
+ }
15
+ if (renderer.kind == "lookupType-lookupRenderer" ||
16
+ renderer.kind == "lookupType-inlinedRenderer" ||
17
+ renderer.kind == "inlinedType-lookupRenderer") {
18
+ if (renderer.kind == "lookupType-lookupRenderer" ||
19
+ renderer.kind == "lookupType-inlinedRenderer") {
20
+ return LookupRenderer.Operations.ResolveRenderer(renderer, traversalContext.forms).Then((resolvedRenderer) => rec(resolvedRenderer, traversalContext).Then((valueTraversal) => ValueOrErrors.Default.return(
21
+ // reassign local if it's a lookup renderer
22
+ renderer.kind == "lookupType-lookupRenderer"
23
+ ? mapEvalContext((ctx) => (Object.assign(Object.assign({}, ctx), { local: ctx.traversalIterator })))(valueTraversal)
24
+ : valueTraversal).Then((resolvedTraversal) => {
25
+ if (traverseNode.kind == "l" &&
26
+ resolvedTraversal.kind == "l") {
27
+ return ValueOrErrors.Default.return(Option.Default.none());
28
+ }
29
+ if (traverseNode.kind == "l") {
30
+ return ValueOrErrors.Default.return(resolvedTraversal);
31
+ }
32
+ if (resolvedTraversal.kind == "l") {
33
+ return ValueOrErrors.Default.return(Option.Default.some((evalContext) => traverseNode
34
+ .value(evalContext)
35
+ .Then((nodeResult) => ValueOrErrors.Default.return(nodeResult))));
36
+ }
37
+ return ValueOrErrors.Default.return(Option.Default.some((evalContext) => {
38
+ return resolvedTraversal
39
+ .value(evalContext)
40
+ .Then((resolvedTraversal) => traverseNode
41
+ .value(evalContext)
42
+ .Then((nodeResult) => ValueOrErrors.Default.return(traversalContext.joinRes([
78
43
  nodeResult,
79
44
  resolvedTraversal,
80
- ]),
81
- ),
82
- ),
83
- );
84
- }),
85
- );
86
- }),
87
- ),
88
- );
89
- }
90
- return LookupRenderer.Operations.ResolveRenderer(
91
- renderer,
92
- traversalContext.forms,
93
- ).Then((resolvedRenderer) =>
94
- rec(resolvedRenderer, traversalContext).Then((valueTraversal) =>
95
- ValueOrErrors.Default.return(valueTraversal),
96
- ),
97
- );
98
- }
99
- if (
100
- renderer.type.kind == "readOnly" &&
101
- renderer.kind == "readOnlyRenderer"
102
- ) {
103
- return rec(renderer.childRenderer.renderer, traversalContext).Then(
104
- (valueTraversal) => {
105
- if (valueTraversal.kind == "l" && traverseNode.kind == "l") {
106
- return ValueOrErrors.Default.return(Option.Default.none());
107
- }
108
- return ValueOrErrors.Default.return(
109
- Option.Default.some((evalContext) => {
110
- const iterator = evalContext.traversalIterator;
111
- if (!PredicateValue.Operations.IsReadOnly(iterator)) {
112
- return ValueOrErrors.Default.throwOne(
113
- `Error: traversal iterator is not read only, got ${JSON.stringify(iterator, undefined, 2)}`,
114
- );
45
+ ]))));
46
+ }));
47
+ })));
115
48
  }
116
- return (
117
- valueTraversal.kind == "r"
118
- ? valueTraversal.value(
119
- Object.assign(Object.assign({}, evalContext), {
120
- traversalIterator: iterator.ReadOnly,
121
- }),
122
- )
123
- : ValueOrErrors.Default.return(
124
- traversalContext.zeroRes(unit),
125
- )
126
- ).Then((valueResult) =>
127
- traverseNode.kind == "r"
128
- ? traverseNode
129
- .value(evalContext)
130
- .Then((nodeResult) =>
131
- ValueOrErrors.Default.return(
132
- traversalContext.joinRes([valueResult, nodeResult]),
133
- ),
134
- )
135
- : ValueOrErrors.Default.return(valueResult),
136
- );
137
- }),
138
- );
139
- },
140
- );
141
- }
142
- if (renderer.type.kind == "record" && renderer.kind == "recordRenderer") {
143
- return ValueOrErrors.Operations.All(
144
- List(
145
- renderer.fields
146
- .map((fieldRenderer, fieldName) =>
147
- rec(fieldRenderer.renderer, traversalContext).Then(
148
- (fieldTraversal) => {
149
- return ValueOrErrors.Default.return({
150
- fieldName: fieldName,
151
- visibility: fieldRenderer.visible,
152
- fieldTraversal: fieldTraversal,
153
- });
154
- },
155
- ),
156
- )
157
- .valueSeq(),
158
- ),
159
- ).Then((fieldTraversals) => {
160
- if (
161
- fieldTraversals.every((f) => f.fieldTraversal.kind == "l") &&
162
- traverseNode.kind == "l"
163
- ) {
164
- return ValueOrErrors.Default.return(Option.Default.none());
165
- }
166
- return ValueOrErrors.Default.return(
167
- Option.Default.some((evalContext) => {
168
- if (
169
- !PredicateValue.Operations.IsRecord(
170
- evalContext.traversalIterator,
171
- )
172
- )
173
- return ValueOrErrors.Default.throwOne(
174
- `Error: traversal iterator is not a record, got ${JSON.stringify(evalContext.traversalIterator, undefined, 2)}`,
175
- );
176
- const visibleFieldsRes =
177
- FormLayout.Operations.ComputeVisibleFieldsForRecord(
178
- Map([
179
- ["global", evalContext.global],
180
- ["local", evalContext.local],
181
- ["root", evalContext.root],
182
- ]),
183
- renderer.tabs,
184
- );
185
- // TODO later, make this monadic
186
- if (visibleFieldsRes.kind == "errors") {
187
- return visibleFieldsRes;
188
- }
189
- const visibleFields = visibleFieldsRes.value;
190
- const traversalIteratorFields =
191
- evalContext.traversalIterator.fields;
192
- return ValueOrErrors.Operations.All(
193
- fieldTraversals.flatMap((f) => {
194
- // should be a map and instead of flatmap and [] a VoE.default.return([]) then an All on this and then a flatmap, everything is returned in a VoE
195
- if (
196
- f.fieldTraversal.kind == "l" ||
197
- !visibleFields.includes(f.fieldName)
198
- )
199
- return [];
200
- if (f.visibility != undefined) {
201
- const visible = Expr.Operations.Evaluate(
202
- Map([
203
- ["global", evalContext.global],
204
- ["local", evalContext.local],
205
- ["root", evalContext.root],
206
- ]),
207
- )(f.visibility);
208
- if (visible.kind == "value" && !visible.value) {
209
- return [];
49
+ return LookupRenderer.Operations.ResolveRenderer(renderer, traversalContext.forms).Then((resolvedRenderer) => rec(resolvedRenderer, traversalContext).Then((valueTraversal) => ValueOrErrors.Default.return(valueTraversal)));
50
+ }
51
+ if (renderer.type.kind == "readOnly" &&
52
+ renderer.kind == "readOnlyRenderer") {
53
+ return rec(renderer.childRenderer.renderer, traversalContext).Then((valueTraversal) => {
54
+ if (valueTraversal.kind == "l" && traverseNode.kind == "l") {
55
+ return ValueOrErrors.Default.return(Option.Default.none());
210
56
  }
211
- }
212
- return [
213
- f.fieldTraversal.value(
214
- Object.assign(Object.assign({}, evalContext), {
215
- traversalIterator: traversalIteratorFields.get(
216
- f.fieldName,
217
- ),
218
- }),
219
- ),
220
- ];
221
- }),
222
- ).Then((fieldResults) => {
223
- return traverseNode.kind == "r"
224
- ? traverseNode
225
- .value(evalContext)
226
- .Then((nodeResult) =>
227
- ValueOrErrors.Default.return(
228
- fieldResults.reduce(
229
- (acc, res) => traversalContext.joinRes([acc, res]),
230
- nodeResult,
231
- ),
232
- ),
233
- )
234
- : ValueOrErrors.Default.return(
235
- fieldResults.reduce(
236
- (acc, res) => traversalContext.joinRes([acc, res]),
237
- traversalContext.zeroRes(unit),
238
- ),
239
- );
240
- });
241
- }),
242
- );
243
- });
244
- }
245
- if (
246
- renderer.type.kind == "sum" &&
247
- (renderer.kind == "sumRenderer" ||
248
- renderer.kind == "sumUnitDateRenderer")
249
- ) {
250
- // this will be removed when sums become proper partials
251
- if (renderer.kind == "sumUnitDateRenderer") {
252
- if (traverseNode.kind == "l") {
253
- return ValueOrErrors.Default.return(Option.Default.none());
254
- }
255
- return ValueOrErrors.Default.return(
256
- Option.Default.some((evalContext) =>
257
- traverseNode.value(evalContext),
258
- ),
259
- );
260
- }
261
- if (renderer.kind == "sumRenderer") {
262
- return rec(renderer.leftRenderer.renderer, traversalContext).Then(
263
- (leftTraversal) =>
264
- rec(renderer.rightRenderer.renderer, traversalContext).Then(
265
- (rightTraversal) => {
266
- if (
267
- leftTraversal.kind == "l" &&
268
- rightTraversal.kind == "l" &&
269
- traverseNode.kind == "l"
270
- ) {
271
- return ValueOrErrors.Default.return(Option.Default.none());
272
- }
273
- return ValueOrErrors.Default.return(
274
- Option.Default.some((evalContext) => {
275
- const iterator = evalContext.traversalIterator;
276
- if (!PredicateValue.Operations.IsSum(iterator)) {
277
- return ValueOrErrors.Default.throwOne(
278
- `Error: traversal iterator is not a sum, got ${evalContext.traversalIterator}`,
279
- );
280
- }
281
- const isRight = iterator.value.kind == "r";
282
- if (isRight && rightTraversal.kind == "r") {
283
- if (traverseNode.kind == "r") {
284
- return traverseNode
285
- .value(evalContext)
286
- .Then((nodeResult) => {
287
- return rightTraversal
288
- .value(
289
- Object.assign(
290
- Object.assign({}, evalContext),
291
- { traversalIterator: iterator.value.value },
292
- ),
293
- )
294
- .Then((rightRes) => {
295
- return ValueOrErrors.Default.return(
296
- traversalContext.joinRes([
297
- nodeResult,
298
- rightRes,
299
- ]),
300
- );
301
- });
302
- });
303
- }
304
- return rightTraversal
305
- .value(
306
- Object.assign(Object.assign({}, evalContext), {
307
- traversalIterator: iterator.value.value,
308
- }),
309
- )
310
- .Then((rightRes) => {
311
- return ValueOrErrors.Default.return(rightRes);
312
- });
313
- }
314
- if (!isRight && leftTraversal.kind == "r") {
315
- if (traverseNode.kind == "r") {
316
- return traverseNode
317
- .value(evalContext)
318
- .Then((nodeResult) => {
319
- return leftTraversal
320
- .value(
321
- Object.assign(
322
- Object.assign({}, evalContext),
323
- { traversalIterator: iterator.value.value },
324
- ),
325
- )
326
- .Then((leftRes) => {
327
- return ValueOrErrors.Default.return(
328
- traversalContext.joinRes([
329
- nodeResult,
330
- leftRes,
331
- ]),
332
- );
333
- });
334
- });
57
+ return ValueOrErrors.Default.return(Option.Default.some((evalContext) => {
58
+ const iterator = evalContext.traversalIterator;
59
+ if (!PredicateValue.Operations.IsReadOnly(iterator)) {
60
+ return ValueOrErrors.Default.throwOne(`Error: traversal iterator is not read only, got ${JSON.stringify(iterator, undefined, 2)}`);
335
61
  }
336
- return leftTraversal
337
- .value(
338
- Object.assign(Object.assign({}, evalContext), {
339
- traversalIterator: iterator.value.value,
340
- }),
341
- )
342
- .Then((leftRes) => {
343
- return ValueOrErrors.Default.return(leftRes);
344
- });
345
- }
346
- return ValueOrErrors.Default.return(
347
- traversalContext.zeroRes(unit),
348
- );
349
- }),
350
- );
351
- },
352
- ),
353
- );
354
- }
355
- }
356
- if (renderer.type.kind == "tuple" && renderer.kind == "tupleRenderer") {
357
- return ValueOrErrors.Operations.All(
358
- List(
359
- renderer.itemRenderers.map((itemRenderer, index) => {
360
- return rec(itemRenderer.renderer, traversalContext).Then(
361
- (itemTraversal) => {
362
- return ValueOrErrors.Default.return({
363
- index: index,
364
- itemTraversal: itemTraversal,
365
- });
366
- },
367
- );
368
- }),
369
- ),
370
- ).Then((itemTraversals) => {
371
- if (
372
- itemTraversals.every((i) => i.itemTraversal.kind == "l") &&
373
- traverseNode.kind == "l"
374
- ) {
375
- return ValueOrErrors.Default.return(Option.Default.none());
376
- }
377
- return ValueOrErrors.Default.return(
378
- Option.Default.some((evalContext) => {
379
- const iterator = evalContext.traversalIterator;
380
- if (!PredicateValue.Operations.IsTuple(iterator)) {
381
- return ValueOrErrors.Default.throwOne(
382
- `Error: traversal iterator is not a tuple, got ${evalContext.traversalIterator}`,
383
- );
384
- }
385
- return ValueOrErrors.Operations.All(
386
- itemTraversals.flatMap((i) =>
387
- i.itemTraversal.kind == "r"
388
- ? [
389
- i.itemTraversal.value(
390
- Object.assign(Object.assign({}, evalContext), {
391
- traversalIterator: iterator.values.get(i.index),
392
- }),
393
- ),
394
- ]
395
- : [],
396
- ),
397
- ).Then((itemResults) => {
398
- return traverseNode.kind == "r"
399
- ? traverseNode
400
- .value(evalContext)
401
- .Then((nodeResult) =>
402
- ValueOrErrors.Default.return(
403
- itemResults.reduce(
404
- (acc, res) => traversalContext.joinRes([acc, res]),
405
- nodeResult,
406
- ),
407
- ),
408
- )
409
- : ValueOrErrors.Default.return(
410
- itemResults.reduce(
411
- (acc, res) => traversalContext.joinRes([acc, res]),
412
- traversalContext.zeroRes(unit),
413
- ),
414
- );
415
- });
416
- }),
417
- );
418
- });
419
- }
420
- if (renderer.type.kind == "union" && renderer.kind == "unionRenderer") {
421
- return ValueOrErrors.Operations.All(
422
- List(
423
- renderer.cases
424
- .map((caseRenderer, caseName) =>
425
- rec(caseRenderer, traversalContext).Then((caseTraversal) =>
426
- ValueOrErrors.Default.return({
427
- caseName: caseName,
428
- caseTraversal: caseTraversal,
429
- }),
430
- ),
431
- )
432
- .valueSeq(),
433
- ),
434
- ).Then((caseTraversals) => {
435
- if (
436
- caseTraversals.every((c) => c.caseTraversal.kind == "l") &&
437
- traverseNode.kind == "l"
438
- ) {
439
- return ValueOrErrors.Default.return(Option.Default.none());
440
- }
441
- return ValueOrErrors.Default.return(
442
- Option.Default.some((evalContext) => {
443
- var _a;
444
- const iterator = evalContext.traversalIterator;
445
- if (!PredicateValue.Operations.IsUnionCase(iterator)) {
446
- return ValueOrErrors.Default.throwOne(
447
- `Error: traversal iterator is not a union case, got ${evalContext.traversalIterator}`,
448
- );
449
- }
450
- const caseName = iterator.caseName;
451
- const caseTraversal =
452
- (_a = caseTraversals.find((c) => c.caseName == caseName)) ===
453
- null || _a === void 0
454
- ? void 0
455
- : _a.caseTraversal;
456
- if (!caseTraversal) {
457
- return ValueOrErrors.Default.throwOne(
458
- `Error: cannot find case traversal for case ${caseName}`,
459
- );
460
- }
461
- return caseTraversal.kind == "r"
462
- ? caseTraversal
463
- .value(
464
- Object.assign(Object.assign({}, evalContext), {
465
- traversalIterator: iterator.fields,
466
- }),
467
- )
468
- .Then((caseRes) => {
469
- return traverseNode.kind == "r"
470
- ? traverseNode.value(evalContext).Then((nodeResult) => {
471
- return ValueOrErrors.Default.return(
472
- traversalContext.joinRes([nodeResult, caseRes]),
473
- );
474
- })
475
- : ValueOrErrors.Default.return(caseRes);
476
- })
477
- : traverseNode.kind == "r"
478
- ? traverseNode.value(evalContext).Then((nodeResult) => {
479
- return ValueOrErrors.Default.return(nodeResult);
480
- })
481
- : ValueOrErrors.Default.return(
482
- traversalContext.zeroRes(unit),
483
- );
484
- }),
485
- );
486
- });
487
- }
488
- if (renderer.type.kind == "table" && renderer.kind == "tableRenderer") {
489
- return ValueOrErrors.Operations.All(
490
- List(
491
- renderer.columns
492
- .map((column, columnName) => {
493
- return rec(column.renderer, traversalContext).Then(
494
- (columnTraversal) => {
62
+ return (valueTraversal.kind == "r"
63
+ ? valueTraversal.value(Object.assign(Object.assign({}, evalContext), { traversalIterator: iterator.ReadOnly }))
64
+ : ValueOrErrors.Default.return(traversalContext.zeroRes(unit))).Then((valueResult) => traverseNode.kind == "r"
65
+ ? traverseNode
66
+ .value(evalContext)
67
+ .Then((nodeResult) => ValueOrErrors.Default.return(traversalContext.joinRes([valueResult, nodeResult])))
68
+ : ValueOrErrors.Default.return(valueResult));
69
+ }));
70
+ });
71
+ }
72
+ if (renderer.type.kind == "record" && renderer.kind == "recordRenderer") {
73
+ return ValueOrErrors.Operations.All(List(renderer.fields
74
+ .map((fieldRenderer, fieldName) => rec(fieldRenderer.renderer, traversalContext).Then((fieldTraversal) => {
495
75
  return ValueOrErrors.Default.return({
496
- columnName: columnName,
497
- columnTraversal: columnTraversal,
76
+ fieldName: fieldName,
77
+ visibility: fieldRenderer.visible,
78
+ fieldTraversal: fieldTraversal,
498
79
  });
499
- },
500
- );
501
- })
502
- .valueSeq(),
503
- ),
504
- )
505
- .Then((columnTraversals) =>
506
- renderer.detailsRenderer
507
- ? rec(renderer.detailsRenderer.renderer, traversalContext).Map(
508
- (detailsTraversal) => ({
509
- detailsTraversal: detailsTraversal,
510
- columnTraversals: columnTraversals,
511
- }),
512
- )
513
- : ValueOrErrors.Default.return({
514
- detailsTraversal: Option.Default.none(),
515
- columnTraversals: columnTraversals,
516
- }),
517
- )
518
- .Then(({ detailsTraversal, columnTraversals }) => {
519
- if (
520
- columnTraversals.every((c) => c.columnTraversal.kind == "l") &&
521
- traverseNode.kind == "l"
522
- ) {
523
- return ValueOrErrors.Default.return(Option.Default.none());
524
- }
525
- return ValueOrErrors.Default.return(
526
- Option.Default.some((evalContext) => {
527
- const iterator = evalContext.traversalIterator;
528
- if (!PredicateValue.Operations.IsTable(iterator)) {
529
- return ValueOrErrors.Default.throwOne(
530
- `Error: traversal iterator is not a table, got ${evalContext.traversalIterator}`,
531
- );
532
- }
533
- return TableLayout.Operations.ComputeLayout(
534
- Map([
535
- ["global", evalContext.global],
536
- ["local", evalContext.local],
537
- ["root", evalContext.root],
538
- ]),
539
- renderer.visibleColumns,
540
- ).Then((visibleColumns) => {
541
- // Note: we do not allow visiblity predicates on individual column cells
542
- return ValueOrErrors.Operations.All(
543
- columnTraversals
544
- .flatMap((c) => {
545
- const colTraversal = c.columnTraversal;
546
- if (
547
- colTraversal.kind == "l" ||
548
- !visibleColumns.columns.includes(c.columnName)
549
- ) {
550
- return [];
80
+ }))
81
+ .valueSeq())).Then((fieldTraversals) => {
82
+ if (fieldTraversals.every((f) => f.fieldTraversal.kind == "l") &&
83
+ traverseNode.kind == "l") {
84
+ return ValueOrErrors.Default.return(Option.Default.none());
85
+ }
86
+ return ValueOrErrors.Default.return(Option.Default.some((evalContext) => {
87
+ if (!PredicateValue.Operations.IsRecord(evalContext.traversalIterator))
88
+ return ValueOrErrors.Default.throwOne(`Error: traversal iterator is not a record, got ${JSON.stringify(evalContext.traversalIterator, undefined, 2)}`);
89
+ const visibleFieldsRes = FormLayout.Operations.ComputeVisibleFieldsForRecord(Map([
90
+ ["global", evalContext.global],
91
+ ["local", evalContext.local],
92
+ ["root", evalContext.root],
93
+ ]), renderer.tabs);
94
+ // TODO later, make this monadic
95
+ if (visibleFieldsRes.kind == "errors") {
96
+ return visibleFieldsRes;
551
97
  }
552
- return iterator.data.valueSeq().flatMap((row) => {
553
- // TODO make this monadic
554
- const columnValue = row.fields.get(c.columnName);
555
- if (!columnValue) {
98
+ const visibleFields = visibleFieldsRes.value;
99
+ const traversalIteratorFields = evalContext.traversalIterator.fields;
100
+ return ValueOrErrors.Operations.All(fieldTraversals.flatMap((f) => {
101
+ // should be a map and instead of flatmap and [] a VoE.default.return([]) then an All on this and then a flatmap, everything is returned in a VoE
102
+ if (f.fieldTraversal.kind == "l" ||
103
+ !visibleFields.includes(f.fieldName))
104
+ return [];
105
+ if (f.visibility != undefined) {
106
+ const visible = Expr.Operations.Evaluate(Map([
107
+ ["global", evalContext.global],
108
+ ["local", evalContext.local],
109
+ ["root", evalContext.root],
110
+ ]))(f.visibility);
111
+ if (visible.kind == "value" && !visible.value) {
112
+ return [];
113
+ }
114
+ }
556
115
  return [
557
- ValueOrErrors.Default.throwOne(
558
- `Error: cannot find column ${c.columnName} in row ${JSON.stringify(row)}`,
559
- ),
116
+ f.fieldTraversal.value(Object.assign(Object.assign({}, evalContext), { traversalIterator: traversalIteratorFields.get(f.fieldName) })),
560
117
  ];
561
- }
562
- return [
563
- colTraversal.value(
564
- Object.assign(Object.assign({}, evalContext), {
565
- traversalIterator: columnValue,
566
- }),
567
- ),
568
- ];
118
+ })).Then((fieldResults) => {
119
+ return traverseNode.kind == "r"
120
+ ? traverseNode
121
+ .value(evalContext)
122
+ .Then((nodeResult) => ValueOrErrors.Default.return(fieldResults.reduce((acc, res) => traversalContext.joinRes([acc, res]), nodeResult)))
123
+ : ValueOrErrors.Default.return(fieldResults.reduce((acc, res) => traversalContext.joinRes([acc, res]), traversalContext.zeroRes(unit)));
569
124
  });
570
- })
571
- .concat(
572
- detailsTraversal.kind == "l"
573
- ? []
574
- : iterator.data.valueSeq().map((row) => {
575
- return detailsTraversal.value(
576
- Object.assign(Object.assign({}, evalContext), {
577
- traversalIterator: row,
578
- }),
579
- );
580
- }),
581
- ),
582
- ).Then((columnAndDetailsResults) => {
583
- return traverseNode.kind == "r"
584
- ? traverseNode
585
- .value(evalContext)
586
- .Then((nodeResult) =>
587
- ValueOrErrors.Default.return(
588
- columnAndDetailsResults.reduce(
589
- (acc, res) =>
590
- traversalContext.joinRes([acc, res]),
591
- nodeResult,
592
- ),
593
- ),
594
- )
595
- : ValueOrErrors.Default.return(
596
- columnAndDetailsResults.reduce(
597
- (acc, res) => traversalContext.joinRes([acc, res]),
598
- traversalContext.zeroRes(unit),
599
- ),
600
- );
601
- });
125
+ }));
602
126
  });
603
- }),
604
- );
605
- });
606
- }
607
- // TODO -- should we also look at the previewRenderer? Woud also requite state
608
- if (renderer.type.kind == "one" && renderer.kind == "oneRenderer") {
609
- return rec(renderer.detailsRenderer.renderer, traversalContext).Then(
610
- (itemTraversal) => {
611
- if (itemTraversal.kind == "l" && traverseNode.kind == "l") {
612
- return ValueOrErrors.Default.return(Option.Default.none());
613
127
  }
614
- return ValueOrErrors.Default.return(
615
- Option.Default.some((evalContext) => {
616
- const iterator = evalContext.traversalIterator;
617
- // Handle partial ones
618
- if (PredicateValue.Operations.IsUnit(iterator)) {
619
- return traverseNode.kind == "r"
620
- ? traverseNode.value(evalContext)
621
- : ValueOrErrors.Default.return(
622
- traversalContext.zeroRes(unit),
623
- );
624
- }
625
- if (!PredicateValue.Operations.IsOption(iterator)) {
626
- return ValueOrErrors.Default.throwOne(
627
- `Error: traversal iterator for one is not an option, got ${iterator}`,
628
- );
128
+ if (renderer.type.kind == "sum" &&
129
+ (renderer.kind == "sumRenderer" ||
130
+ renderer.kind == "sumUnitDateRenderer")) {
131
+ // this will be removed when sums become proper partials
132
+ if (renderer.kind == "sumUnitDateRenderer") {
133
+ if (traverseNode.kind == "l") {
134
+ return ValueOrErrors.Default.return(Option.Default.none());
135
+ }
136
+ return ValueOrErrors.Default.return(Option.Default.some((evalContext) => traverseNode.value(evalContext)));
629
137
  }
630
- const isSome =
631
- PredicateValue.Operations.IsOption(iterator) &&
632
- iterator.isSome;
633
- if (!isSome) {
634
- return traverseNode.kind == "r"
635
- ? traverseNode.value(evalContext)
636
- : ValueOrErrors.Default.return(
637
- traversalContext.zeroRes(unit),
638
- );
138
+ if (renderer.kind == "sumRenderer") {
139
+ return rec(renderer.leftRenderer.renderer, traversalContext).Then((leftTraversal) => rec(renderer.rightRenderer.renderer, traversalContext).Then((rightTraversal) => {
140
+ if (leftTraversal.kind == "l" &&
141
+ rightTraversal.kind == "l" &&
142
+ traverseNode.kind == "l") {
143
+ return ValueOrErrors.Default.return(Option.Default.none());
144
+ }
145
+ return ValueOrErrors.Default.return(Option.Default.some((evalContext) => {
146
+ const iterator = evalContext.traversalIterator;
147
+ if (!PredicateValue.Operations.IsSum(iterator)) {
148
+ return ValueOrErrors.Default.throwOne(`Error: traversal iterator is not a sum, got ${evalContext.traversalIterator}`);
149
+ }
150
+ const isRight = iterator.value.kind == "r";
151
+ if (isRight && rightTraversal.kind == "r") {
152
+ if (traverseNode.kind == "r") {
153
+ return traverseNode
154
+ .value(evalContext)
155
+ .Then((nodeResult) => {
156
+ return rightTraversal
157
+ .value(Object.assign(Object.assign({}, evalContext), { traversalIterator: iterator.value.value }))
158
+ .Then((rightRes) => {
159
+ return ValueOrErrors.Default.return(traversalContext.joinRes([
160
+ nodeResult,
161
+ rightRes,
162
+ ]));
163
+ });
164
+ });
165
+ }
166
+ return rightTraversal
167
+ .value(Object.assign(Object.assign({}, evalContext), { traversalIterator: iterator.value.value }))
168
+ .Then((rightRes) => {
169
+ return ValueOrErrors.Default.return(rightRes);
170
+ });
171
+ }
172
+ if (!isRight && leftTraversal.kind == "r") {
173
+ if (traverseNode.kind == "r") {
174
+ return traverseNode
175
+ .value(evalContext)
176
+ .Then((nodeResult) => {
177
+ return leftTraversal
178
+ .value(Object.assign(Object.assign({}, evalContext), { traversalIterator: iterator.value.value }))
179
+ .Then((leftRes) => {
180
+ return ValueOrErrors.Default.return(traversalContext.joinRes([
181
+ nodeResult,
182
+ leftRes,
183
+ ]));
184
+ });
185
+ });
186
+ }
187
+ return leftTraversal
188
+ .value(Object.assign(Object.assign({}, evalContext), { traversalIterator: iterator.value.value }))
189
+ .Then((leftRes) => {
190
+ return ValueOrErrors.Default.return(leftRes);
191
+ });
192
+ }
193
+ return ValueOrErrors.Default.return(traversalContext.zeroRes(unit));
194
+ }));
195
+ }));
639
196
  }
640
- return traverseNode.kind == "r"
641
- ? traverseNode.value(evalContext).Then((nodeResult) => {
642
- return itemTraversal.kind == "r"
643
- ? itemTraversal
644
- .value(
645
- Object.assign(Object.assign({}, evalContext), {
646
- traversalIterator: iterator.value,
647
- }),
648
- )
649
- .Then((itemResult) => {
650
- return ValueOrErrors.Default.return(
651
- traversalContext.joinRes([
652
- nodeResult,
653
- itemResult,
654
- ]),
655
- );
197
+ }
198
+ if (renderer.type.kind == "tuple" && renderer.kind == "tupleRenderer") {
199
+ return ValueOrErrors.Operations.All(List(renderer.itemRenderers.map((itemRenderer, index) => {
200
+ return rec(itemRenderer.renderer, traversalContext).Then((itemTraversal) => {
201
+ return ValueOrErrors.Default.return({
202
+ index: index,
203
+ itemTraversal: itemTraversal,
204
+ });
205
+ });
206
+ }))).Then((itemTraversals) => {
207
+ if (itemTraversals.every((i) => i.itemTraversal.kind == "l") &&
208
+ traverseNode.kind == "l") {
209
+ return ValueOrErrors.Default.return(Option.Default.none());
210
+ }
211
+ return ValueOrErrors.Default.return(Option.Default.some((evalContext) => {
212
+ const iterator = evalContext.traversalIterator;
213
+ if (!PredicateValue.Operations.IsTuple(iterator)) {
214
+ return ValueOrErrors.Default.throwOne(`Error: traversal iterator is not a tuple, got ${evalContext.traversalIterator}`);
215
+ }
216
+ return ValueOrErrors.Operations.All(itemTraversals.flatMap((i) => i.itemTraversal.kind == "r"
217
+ ? [
218
+ i.itemTraversal.value(Object.assign(Object.assign({}, evalContext), { traversalIterator: iterator.values.get(i.index) })),
219
+ ]
220
+ : [])).Then((itemResults) => {
221
+ return traverseNode.kind == "r"
222
+ ? traverseNode
223
+ .value(evalContext)
224
+ .Then((nodeResult) => ValueOrErrors.Default.return(itemResults.reduce((acc, res) => traversalContext.joinRes([acc, res]), nodeResult)))
225
+ : ValueOrErrors.Default.return(itemResults.reduce((acc, res) => traversalContext.joinRes([acc, res]), traversalContext.zeroRes(unit)));
226
+ });
227
+ }));
228
+ });
229
+ }
230
+ if (renderer.type.kind == "union" && renderer.kind == "unionRenderer") {
231
+ return ValueOrErrors.Operations.All(List(renderer.cases
232
+ .map((caseRenderer, caseName) => rec(caseRenderer, traversalContext).Then((caseTraversal) => ValueOrErrors.Default.return({
233
+ caseName: caseName,
234
+ caseTraversal: caseTraversal,
235
+ })))
236
+ .valueSeq())).Then((caseTraversals) => {
237
+ if (caseTraversals.every((c) => c.caseTraversal.kind == "l") &&
238
+ traverseNode.kind == "l") {
239
+ return ValueOrErrors.Default.return(Option.Default.none());
240
+ }
241
+ return ValueOrErrors.Default.return(Option.Default.some((evalContext) => {
242
+ var _a;
243
+ const iterator = evalContext.traversalIterator;
244
+ if (!PredicateValue.Operations.IsUnionCase(iterator)) {
245
+ return ValueOrErrors.Default.throwOne(`Error: traversal iterator is not a union case, got ${evalContext.traversalIterator}`);
246
+ }
247
+ const caseName = iterator.caseName;
248
+ const caseTraversal = (_a = caseTraversals.find((c) => c.caseName == caseName)) === null || _a === void 0 ? void 0 : _a.caseTraversal;
249
+ if (!caseTraversal) {
250
+ return ValueOrErrors.Default.throwOne(`Error: cannot find case traversal for case ${caseName}`);
251
+ }
252
+ return caseTraversal.kind == "r"
253
+ ? caseTraversal
254
+ .value(Object.assign(Object.assign({}, evalContext), { traversalIterator: iterator.fields }))
255
+ .Then((caseRes) => {
256
+ return traverseNode.kind == "r"
257
+ ? traverseNode
258
+ .value(evalContext)
259
+ .Then((nodeResult) => {
260
+ return ValueOrErrors.Default.return(traversalContext.joinRes([nodeResult, caseRes]));
261
+ })
262
+ : ValueOrErrors.Default.return(caseRes);
656
263
  })
657
- : ValueOrErrors.Default.return(nodeResult);
658
- })
659
- : itemTraversal.kind == "r"
660
- ? itemTraversal.value(
661
- Object.assign(Object.assign({}, evalContext), {
662
- traversalIterator: iterator.value,
663
- }),
664
- )
665
- : ValueOrErrors.Default.return(
666
- traversalContext.zeroRes(unit),
667
- );
668
- }),
669
- );
670
- },
671
- );
672
- }
673
- if (renderer.type.kind == "list" && renderer.kind == "listRenderer") {
674
- return rec(renderer.elementRenderer.renderer, traversalContext).Then(
675
- (elementTraversal) => {
676
- if (elementTraversal.kind == "l" && traverseNode.kind == "l") {
677
- return ValueOrErrors.Default.return(Option.Default.none());
264
+ : traverseNode.kind == "r"
265
+ ? traverseNode.value(evalContext).Then((nodeResult) => {
266
+ return ValueOrErrors.Default.return(nodeResult);
267
+ })
268
+ : ValueOrErrors.Default.return(traversalContext.zeroRes(unit));
269
+ }));
270
+ });
678
271
  }
679
- return ValueOrErrors.Default.return(
680
- Option.Default.some((evalContext) => {
681
- const iterator = evalContext.traversalIterator;
682
- if (!PredicateValue.Operations.IsTuple(iterator)) {
683
- return ValueOrErrors.Default.throwOne(
684
- `Error: traversal iterator for list is not a tuple, got ${JSON.stringify(iterator, null, 2)}`,
685
- );
686
- }
687
- return ValueOrErrors.Operations.All(
688
- iterator.values.map((value) =>
689
- elementTraversal.kind == "r"
690
- ? elementTraversal.value(
691
- Object.assign(Object.assign({}, evalContext), {
692
- traversalIterator: value,
693
- }),
694
- )
695
- : ValueOrErrors.Default.return(
696
- traversalContext.zeroRes(unit),
697
- ),
698
- ),
699
- ).Then((elementResults) =>
700
- traverseNode.kind == "r"
701
- ? traverseNode
702
- .value(evalContext)
703
- .Then((nodeResult) =>
704
- ValueOrErrors.Default.return(
705
- elementResults.reduce(
706
- (acc, res) =>
707
- traversalContext.joinRes([acc, res]),
708
- nodeResult,
709
- ),
710
- ),
711
- )
712
- : ValueOrErrors.Default.return(
713
- elementResults.reduce(
714
- (acc, res) => traversalContext.joinRes([acc, res]),
715
- traversalContext.zeroRes(unit),
716
- ),
717
- ),
718
- );
719
- }),
720
- );
721
- },
722
- );
723
- }
724
- if (renderer.type.kind == "map" && renderer.kind == "mapRenderer") {
725
- return rec(renderer.keyRenderer.renderer, traversalContext).Then(
726
- (keyTraversal) => {
727
- return rec(renderer.valueRenderer.renderer, traversalContext).Then(
728
- (valueTraversal) => {
729
- if (
730
- keyTraversal.kind == "l" &&
731
- valueTraversal.kind == "l" &&
732
- traverseNode.kind == "l"
733
- ) {
734
- return ValueOrErrors.Default.return(Option.Default.none());
735
- }
736
- return ValueOrErrors.Default.return(
737
- Option.Default.some((evalContext) => {
738
- if (
739
- keyTraversal.kind == "l" &&
740
- valueTraversal.kind == "l"
741
- ) {
742
- return traverseNode.kind == "r"
743
- ? traverseNode.value(evalContext)
744
- : ValueOrErrors.Default.return(
745
- traversalContext.zeroRes(unit),
746
- );
272
+ if (renderer.type.kind == "table" && renderer.kind == "tableRenderer") {
273
+ return ValueOrErrors.Operations.All(List(renderer.columns
274
+ .map((column, columnName) => {
275
+ return rec(column.renderer, traversalContext).Then((columnTraversal) => {
276
+ return ValueOrErrors.Default.return({
277
+ columnName: columnName,
278
+ columnTraversal: columnTraversal,
279
+ });
280
+ });
281
+ })
282
+ .valueSeq()))
283
+ .Then((columnTraversals) => renderer.detailsRenderer
284
+ ? rec(renderer.detailsRenderer.renderer, traversalContext).Map((detailsTraversal) => ({
285
+ detailsTraversal: detailsTraversal,
286
+ columnTraversals: columnTraversals,
287
+ }))
288
+ : ValueOrErrors.Default.return({
289
+ detailsTraversal: Option.Default.none(),
290
+ columnTraversals: columnTraversals,
291
+ }))
292
+ .Then(({ detailsTraversal, columnTraversals }) => {
293
+ if (columnTraversals.every((c) => c.columnTraversal.kind == "l") &&
294
+ traverseNode.kind == "l") {
295
+ return ValueOrErrors.Default.return(Option.Default.none());
747
296
  }
748
- const iterator = evalContext.traversalIterator;
749
- if (!PredicateValue.Operations.IsTuple(iterator)) {
750
- return ValueOrErrors.Default.throwOne(
751
- `Error: traversal iterator for map is not a tuple, got ${JSON.stringify(iterator, null, 2)}`,
752
- );
297
+ return ValueOrErrors.Default.return(Option.Default.some((evalContext) => {
298
+ const iterator = evalContext.traversalIterator;
299
+ if (!PredicateValue.Operations.IsTable(iterator)) {
300
+ return ValueOrErrors.Default.throwOne(`Error: traversal iterator is not a table, got ${evalContext.traversalIterator}`);
301
+ }
302
+ return TableLayout.Operations.ComputeLayout(Map([
303
+ ["global", evalContext.global],
304
+ ["local", evalContext.local],
305
+ ["root", evalContext.root],
306
+ ]), renderer.visibleColumns).Then((visibleColumns) => {
307
+ // Note: we do not allow visiblity predicates on individual column cells
308
+ return ValueOrErrors.Operations.All(columnTraversals
309
+ .flatMap((c) => {
310
+ const colTraversal = c.columnTraversal;
311
+ if (colTraversal.kind == "l" ||
312
+ !visibleColumns.columns.includes(c.columnName)) {
313
+ return [];
314
+ }
315
+ return iterator.data.valueSeq().flatMap((row) => {
316
+ // TODO make this monadic
317
+ const columnValue = row.fields.get(c.columnName);
318
+ if (!columnValue) {
319
+ return [
320
+ ValueOrErrors.Default.throwOne(`Error: cannot find column ${c.columnName} in row ${JSON.stringify(row)}`),
321
+ ];
322
+ }
323
+ return [
324
+ colTraversal.value(Object.assign(Object.assign({}, evalContext), { traversalIterator: columnValue })),
325
+ ];
326
+ });
327
+ })
328
+ .concat(detailsTraversal.kind == "l"
329
+ ? []
330
+ : iterator.data.valueSeq().map((row) => {
331
+ return detailsTraversal.value(Object.assign(Object.assign({}, evalContext), { traversalIterator: row }));
332
+ }))).Then((columnAndDetailsResults) => {
333
+ return traverseNode.kind == "r"
334
+ ? traverseNode
335
+ .value(evalContext)
336
+ .Then((nodeResult) => ValueOrErrors.Default.return(columnAndDetailsResults.reduce((acc, res) => traversalContext.joinRes([acc, res]), nodeResult)))
337
+ : ValueOrErrors.Default.return(columnAndDetailsResults.reduce((acc, res) => traversalContext.joinRes([acc, res]), traversalContext.zeroRes(unit)));
338
+ });
339
+ });
340
+ }));
341
+ });
342
+ }
343
+ // TODO -- should we also look at the previewRenderer? Woud also requite state
344
+ if (renderer.type.kind == "one" && renderer.kind == "oneRenderer") {
345
+ return rec(renderer.detailsRenderer.renderer, traversalContext).Then((itemTraversal) => {
346
+ if (itemTraversal.kind == "l" && traverseNode.kind == "l") {
347
+ return ValueOrErrors.Default.return(Option.Default.none());
753
348
  }
754
- return ValueOrErrors.Operations.All(
755
- iterator.values.map((value) => {
756
- if (!PredicateValue.Operations.IsTuple(value)) {
757
- return ValueOrErrors.Default.throwOne(
758
- `Error: traversal iterator for map keyValue is not a tuple, got ${JSON.stringify(value, null, 2)}`,
759
- );
349
+ return ValueOrErrors.Default.return(Option.Default.some((evalContext) => {
350
+ const iterator = evalContext.traversalIterator;
351
+ // Handle partial ones
352
+ if (PredicateValue.Operations.IsUnit(iterator)) {
353
+ return traverseNode.kind == "r"
354
+ ? traverseNode.value(evalContext)
355
+ : ValueOrErrors.Default.return(traversalContext.zeroRes(unit));
760
356
  }
761
- const keyRes =
762
- keyTraversal.kind == "r"
763
- ? keyTraversal.value(
764
- Object.assign(Object.assign({}, evalContext), {
765
- traversalIterator: value.values.get(0),
766
- }),
767
- )
768
- : ValueOrErrors.Default.return(
769
- traversalContext.zeroRes(unit),
770
- );
771
- const valueRes =
772
- valueTraversal.kind == "r"
773
- ? valueTraversal.value(
774
- Object.assign(Object.assign({}, evalContext), {
775
- traversalIterator: value.values.get(1),
776
- }),
777
- )
778
- : ValueOrErrors.Default.return(
779
- traversalContext.zeroRes(unit),
780
- );
781
- if (keyRes.kind == "errors") {
782
- return keyRes;
357
+ if (!PredicateValue.Operations.IsOption(iterator)) {
358
+ return ValueOrErrors.Default.throwOne(`Error: traversal iterator for one is not an option, got ${iterator}`);
783
359
  }
784
- if (valueRes.kind == "errors") {
785
- return valueRes;
360
+ const isSome = PredicateValue.Operations.IsOption(iterator) &&
361
+ iterator.isSome;
362
+ if (!isSome) {
363
+ return traverseNode.kind == "r"
364
+ ? traverseNode.value(evalContext)
365
+ : ValueOrErrors.Default.return(traversalContext.zeroRes(unit));
786
366
  }
787
- return ValueOrErrors.Default.return(
788
- traversalContext.joinRes([
789
- keyRes.value,
790
- valueRes.value,
791
- ]),
792
- );
793
- }),
794
- ).Then((keyValueResults) => {
795
- return traverseNode.kind == "r"
796
- ? traverseNode.value(evalContext).Then((nodeResult) => {
797
- return ValueOrErrors.Default.return(
798
- keyValueResults.reduce(
799
- (acc, res) =>
800
- traversalContext.joinRes([acc, res]),
801
- nodeResult,
802
- ),
803
- );
804
- })
805
- : ValueOrErrors.Default.return(
806
- keyValueResults.reduce(
807
- (acc, res) =>
808
- traversalContext.joinRes([acc, res]),
809
- traversalContext.zeroRes(unit),
810
- ),
811
- );
367
+ return traverseNode.kind == "r"
368
+ ? traverseNode
369
+ .value(evalContext)
370
+ .Then((nodeResult) => {
371
+ return itemTraversal.kind == "r"
372
+ ? itemTraversal
373
+ .value(Object.assign(Object.assign({}, evalContext), { traversalIterator: iterator.value }))
374
+ .Then((itemResult) => {
375
+ return ValueOrErrors.Default.return(traversalContext.joinRes([
376
+ nodeResult,
377
+ itemResult,
378
+ ]));
379
+ })
380
+ : ValueOrErrors.Default.return(nodeResult);
381
+ })
382
+ : itemTraversal.kind == "r"
383
+ ? itemTraversal.value(Object.assign(Object.assign({}, evalContext), { traversalIterator: iterator.value }))
384
+ : ValueOrErrors.Default.return(traversalContext.zeroRes(unit));
385
+ }));
386
+ });
387
+ }
388
+ if (renderer.type.kind == "list" && renderer.kind == "listRenderer") {
389
+ return rec(renderer.elementRenderer.renderer, traversalContext).Then((elementTraversal) => {
390
+ if (elementTraversal.kind == "l" && traverseNode.kind == "l") {
391
+ return ValueOrErrors.Default.return(Option.Default.none());
392
+ }
393
+ return ValueOrErrors.Default.return(Option.Default.some((evalContext) => {
394
+ const iterator = evalContext.traversalIterator;
395
+ if (!PredicateValue.Operations.IsTuple(iterator)) {
396
+ return ValueOrErrors.Default.throwOne(`Error: traversal iterator for list is not a tuple, got ${JSON.stringify(iterator, null, 2)}`);
397
+ }
398
+ return ValueOrErrors.Operations.All(iterator.values.map((value) => elementTraversal.kind == "r"
399
+ ? elementTraversal.value(Object.assign(Object.assign({}, evalContext), { traversalIterator: value }))
400
+ : ValueOrErrors.Default.return(traversalContext.zeroRes(unit)))).Then((elementResults) => traverseNode.kind == "r"
401
+ ? traverseNode
402
+ .value(evalContext)
403
+ .Then((nodeResult) => ValueOrErrors.Default.return(elementResults.reduce((acc, res) => traversalContext.joinRes([acc, res]), nodeResult)))
404
+ : ValueOrErrors.Default.return(elementResults.reduce((acc, res) => traversalContext.joinRes([acc, res]), traversalContext.zeroRes(unit))));
405
+ }));
406
+ });
407
+ }
408
+ if (renderer.type.kind == "map" && renderer.kind == "mapRenderer") {
409
+ return rec(renderer.keyRenderer.renderer, traversalContext).Then((keyTraversal) => {
410
+ return rec(renderer.valueRenderer.renderer, traversalContext).Then((valueTraversal) => {
411
+ if (keyTraversal.kind == "l" &&
412
+ valueTraversal.kind == "l" &&
413
+ traverseNode.kind == "l") {
414
+ return ValueOrErrors.Default.return(Option.Default.none());
415
+ }
416
+ return ValueOrErrors.Default.return(Option.Default.some((evalContext) => {
417
+ if (keyTraversal.kind == "l" &&
418
+ valueTraversal.kind == "l") {
419
+ return traverseNode.kind == "r"
420
+ ? traverseNode.value(evalContext)
421
+ : ValueOrErrors.Default.return(traversalContext.zeroRes(unit));
422
+ }
423
+ const iterator = evalContext.traversalIterator;
424
+ if (!PredicateValue.Operations.IsTuple(iterator)) {
425
+ return ValueOrErrors.Default.throwOne(`Error: traversal iterator for map is not a tuple, got ${JSON.stringify(iterator, null, 2)}`);
426
+ }
427
+ return ValueOrErrors.Operations.All(iterator.values.map((value) => {
428
+ if (!PredicateValue.Operations.IsTuple(value)) {
429
+ return ValueOrErrors.Default.throwOne(`Error: traversal iterator for map keyValue is not a tuple, got ${JSON.stringify(value, null, 2)}`);
430
+ }
431
+ const keyRes = keyTraversal.kind == "r"
432
+ ? keyTraversal.value(Object.assign(Object.assign({}, evalContext), { traversalIterator: value.values.get(0) }))
433
+ : ValueOrErrors.Default.return(traversalContext.zeroRes(unit));
434
+ const valueRes = valueTraversal.kind == "r"
435
+ ? valueTraversal.value(Object.assign(Object.assign({}, evalContext), { traversalIterator: value.values.get(1) }))
436
+ : ValueOrErrors.Default.return(traversalContext.zeroRes(unit));
437
+ if (keyRes.kind == "errors") {
438
+ return keyRes;
439
+ }
440
+ if (valueRes.kind == "errors") {
441
+ return valueRes;
442
+ }
443
+ return ValueOrErrors.Default.return(traversalContext.joinRes([
444
+ keyRes.value,
445
+ valueRes.value,
446
+ ]));
447
+ })).Then((keyValueResults) => {
448
+ return traverseNode.kind == "r"
449
+ ? traverseNode
450
+ .value(evalContext)
451
+ .Then((nodeResult) => {
452
+ return ValueOrErrors.Default.return(keyValueResults.reduce((acc, res) => traversalContext.joinRes([acc, res]), nodeResult));
453
+ })
454
+ : ValueOrErrors.Default.return(keyValueResults.reduce((acc, res) => traversalContext.joinRes([acc, res]), traversalContext.zeroRes(unit)));
455
+ });
456
+ }));
812
457
  });
813
- }),
814
- );
815
- },
816
- );
817
- },
818
- );
819
- }
820
- return ValueOrErrors.Default.return(Option.Default.none());
458
+ });
459
+ }
460
+ return ValueOrErrors.Default.return(Option.Default.none());
461
+ },
821
462
  },
822
- },
823
463
  };
824
- //# sourceMappingURL=state.js.map
464
+ //# sourceMappingURL=state.js.map