ballerina-core 1.0.256 → 1.0.258

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 (321) hide show
  1. package/bin/src/api-response-handler/coroutines/runner.js +20 -13
  2. package/bin/src/api-response-handler/state.js +13 -11
  3. package/bin/src/apiResultStatus/state.d.ts +10 -3
  4. package/bin/src/apiResultStatus/state.js +2 -5
  5. package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.js +314 -196
  6. package/bin/src/async/domains/mirroring/domains/collection/state.js +126 -36
  7. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.js +18 -11
  8. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.js +19 -19
  9. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.js +1 -1
  10. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.js +18 -18
  11. package/bin/src/async/domains/mirroring/domains/entity/state.js +18 -9
  12. package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.js +134 -83
  13. package/bin/src/async/domains/mirroring/domains/singleton/state.js +52 -8
  14. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts +15 -9
  15. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.js +1 -1
  16. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.js +7 -4
  17. package/bin/src/async/domains/promise/state.d.ts +9 -4
  18. package/bin/src/async/domains/promise/state.js +20 -9
  19. package/bin/src/async/domains/synchronized/coroutines/synchronize.js +80 -28
  20. package/bin/src/async/domains/synchronized/state.d.ts +14 -7
  21. package/bin/src/async/domains/synchronized/state.js +16 -6
  22. package/bin/src/async/state.d.ts +56 -45
  23. package/bin/src/async/state.js +115 -97
  24. package/bin/src/baseEntity/domains/identifiable/state.d.ts +15 -11
  25. package/bin/src/baseEntity/domains/identifiable/state.js +9 -9
  26. package/bin/src/collections/domains/array/state.d.ts +7 -7
  27. package/bin/src/collections/domains/array/state.js +5 -5
  28. package/bin/src/collections/domains/errors/state.d.ts +10 -10
  29. package/bin/src/collections/domains/errors/state.js +10 -10
  30. package/bin/src/collections/domains/immutable/domains/list/state.js +46 -44
  31. package/bin/src/collections/domains/immutable/domains/map/state.js +41 -23
  32. package/bin/src/collections/domains/immutable/domains/orderedMap/state.js +84 -65
  33. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.d.ts +6 -6
  34. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.js +6 -6
  35. package/bin/src/collections/domains/maybe/state.d.ts +9 -9
  36. package/bin/src/collections/domains/maybe/state.js +12 -9
  37. package/bin/src/collections/domains/product/state.d.ts +25 -19
  38. package/bin/src/collections/domains/product/state.js +13 -10
  39. package/bin/src/collections/domains/sum/state.d.ts +101 -77
  40. package/bin/src/collections/domains/sum/state.js +49 -32
  41. package/bin/src/collections/domains/valueOrErrors/state.js +81 -56
  42. package/bin/src/coroutines/builder.js +40 -19
  43. package/bin/src/coroutines/state.js +381 -306
  44. package/bin/src/coroutines/template.js +97 -59
  45. package/bin/src/debounced/coroutines/debounce.js +115 -89
  46. package/bin/src/debounced/state.js +62 -25
  47. package/bin/src/diagnostics/domains/message-box/state.d.ts +1 -1
  48. package/bin/src/diagnostics/domains/message-box/state.js +3 -3
  49. package/bin/src/foreignMutations/state.d.ts +3 -3
  50. package/bin/src/foreignMutations/state.js +1 -1
  51. package/bin/src/forms/domains/attachments/views/attachments-view.js +30 -8
  52. package/bin/src/forms/domains/collection/domains/reference/state.js +26 -20
  53. package/bin/src/forms/domains/collection/domains/selection/state.js +1 -1
  54. package/bin/src/forms/domains/dispatched-forms/built-ins/state.js +2007 -754
  55. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.d.ts.map +1 -1
  56. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js +123 -44
  57. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js.map +1 -1
  58. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.js +40 -27
  59. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.js +21 -13
  60. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.js +43 -27
  61. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.js +39 -22
  62. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.d.ts +167 -0
  63. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.d.ts.map +1 -0
  64. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.js +367 -0
  65. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.js.map +1 -0
  66. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts +7 -29
  67. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts.map +1 -1
  68. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js +1098 -572
  69. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js.map +1 -1
  70. package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts +1 -0
  71. package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts.map +1 -1
  72. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js +322 -90
  73. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js.map +1 -1
  74. package/bin/src/forms/domains/dispatched-forms/deserializer/template.js +3 -2
  75. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.d.ts +27 -4
  76. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.js +136 -82
  77. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.js +3 -3
  78. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js +49 -23
  79. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js +3 -3
  80. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js +52 -24
  81. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +18 -6
  82. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +64 -30
  83. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +9 -6
  84. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +153 -60
  85. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.js +1 -1
  86. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js +127 -50
  87. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +40 -22
  88. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +31 -13
  89. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +452 -152
  90. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.js +1 -1
  91. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js +29 -8
  92. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js.map +1 -1
  93. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +61 -18
  94. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +329 -90
  95. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.js +3 -3
  96. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js +54 -23
  97. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +22 -10
  98. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +49 -31
  99. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +29 -10
  100. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js +2 -2
  101. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js +47 -26
  102. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +88 -40
  103. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +386 -152
  104. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +19 -10
  105. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +99 -33
  106. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +32 -11
  107. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +227 -82
  108. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +35 -13
  109. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +195 -68
  110. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +36 -13
  111. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +246 -106
  112. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.js +3 -3
  113. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js +54 -23
  114. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +40 -27
  115. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.js +3 -3
  116. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js +58 -26
  117. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +22 -7
  118. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +188 -53
  119. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js +2 -2
  120. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js +57 -24
  121. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +70 -20
  122. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.d.ts.map +1 -1
  123. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +88 -48
  124. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js.map +1 -1
  125. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +40 -20
  126. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +43 -15
  127. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +301 -137
  128. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js.map +1 -1
  129. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +692 -240
  130. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +20 -8
  131. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +132 -35
  132. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +21 -8
  133. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +105 -33
  134. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +12 -9
  135. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +54 -20
  136. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +716 -560
  137. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +58 -18
  138. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +45 -14
  139. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +76 -18
  140. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +82 -24
  141. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +37 -8
  142. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +120 -36
  143. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +145 -63
  144. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +44 -12
  145. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +14 -4
  146. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +81 -25
  147. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +82 -24
  148. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +63 -20
  149. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +248 -74
  150. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +61 -13
  151. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +92 -33
  152. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +144 -45
  153. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js +203 -95
  154. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js +79 -37
  155. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.js +2 -2
  156. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.js +19 -17
  157. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js +58 -11
  158. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js +73 -25
  159. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js +205 -95
  160. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js +78 -37
  161. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.js +2 -2
  162. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.js +19 -17
  163. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js +58 -11
  164. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js +71 -25
  165. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js +163 -85
  166. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js +10 -4
  167. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js +72 -27
  168. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js +796 -436
  169. package/bin/src/forms/domains/dispatched-forms/runner/state.js +62 -38
  170. package/bin/src/forms/domains/dispatched-forms/runner/template.js +78 -25
  171. package/bin/src/forms/domains/launcher/coroutines/runner.js +120 -45
  172. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +240 -101
  173. package/bin/src/forms/domains/launcher/domains/create/state.js +62 -17
  174. package/bin/src/forms/domains/launcher/domains/create/template.js +84 -42
  175. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +242 -103
  176. package/bin/src/forms/domains/launcher/domains/edit/state.js +62 -17
  177. package/bin/src/forms/domains/launcher/domains/edit/template.js +86 -43
  178. package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
  179. package/bin/src/forms/domains/launcher/domains/merger/state.js +35 -26
  180. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +88 -42
  181. package/bin/src/forms/domains/launcher/domains/passthrough/state.js +44 -19
  182. package/bin/src/forms/domains/launcher/domains/passthrough/template.js +56 -34
  183. package/bin/src/forms/domains/launcher/state.js +6 -6
  184. package/bin/src/forms/domains/launcher/template.js +169 -85
  185. package/bin/src/forms/domains/parser/coroutines/runner.js +87 -25
  186. package/bin/src/forms/domains/parser/domains/built-ins/state.js +944 -533
  187. package/bin/src/forms/domains/parser/domains/deltas/state.js +444 -318
  188. package/bin/src/forms/domains/parser/domains/injectables/state.js +29 -26
  189. package/bin/src/forms/domains/parser/domains/layout/state.js +271 -183
  190. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +324 -162
  191. package/bin/src/forms/domains/parser/domains/predicates/state.js +1514 -984
  192. package/bin/src/forms/domains/parser/domains/renderer/state.js +1137 -480
  193. package/bin/src/forms/domains/parser/domains/types/state.js +355 -170
  194. package/bin/src/forms/domains/parser/domains/validator/state.js +417 -280
  195. package/bin/src/forms/domains/parser/state.js +612 -373
  196. package/bin/src/forms/domains/parser/template.js +1 -1
  197. package/bin/src/forms/domains/primitives/domains/base-64-file/state.js +5 -5
  198. package/bin/src/forms/domains/primitives/domains/base-64-file/template.js +38 -19
  199. package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
  200. package/bin/src/forms/domains/primitives/domains/boolean/template.js +38 -19
  201. package/bin/src/forms/domains/primitives/domains/date/state.js +18 -9
  202. package/bin/src/forms/domains/primitives/domains/date/template.js +51 -25
  203. package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
  204. package/bin/src/forms/domains/primitives/domains/enum/template.js +117 -48
  205. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
  206. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +99 -40
  207. package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
  208. package/bin/src/forms/domains/primitives/domains/list/template.js +200 -71
  209. package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
  210. package/bin/src/forms/domains/primitives/domains/map/template.js +294 -103
  211. package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
  212. package/bin/src/forms/domains/primitives/domains/number/template.js +38 -19
  213. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +33 -16
  214. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +171 -62
  215. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.js +1 -1
  216. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.js +182 -69
  217. package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
  218. package/bin/src/forms/domains/primitives/domains/secret/template.js +38 -19
  219. package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
  220. package/bin/src/forms/domains/primitives/domains/string/template.js +42 -22
  221. package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
  222. package/bin/src/forms/domains/primitives/domains/sum/template.js +141 -50
  223. package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
  224. package/bin/src/forms/domains/primitives/domains/tuple/template.js +100 -33
  225. package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
  226. package/bin/src/forms/domains/primitives/domains/unit/template.js +22 -9
  227. package/bin/src/forms/domains/singleton/domains/form-label/state.d.ts +4 -4
  228. package/bin/src/forms/domains/singleton/domains/form-label/state.js +1 -1
  229. package/bin/src/forms/domains/singleton/state.js +12 -10
  230. package/bin/src/forms/domains/singleton/template.js +288 -113
  231. package/bin/src/fun/domains/curry/state.d.ts +4 -2
  232. package/bin/src/fun/domains/curry/state.js +1 -1
  233. package/bin/src/fun/domains/id/state.d.ts +1 -1
  234. package/bin/src/fun/domains/id/state.js +1 -1
  235. package/bin/src/fun/domains/predicate/domains/bool-expr.d.ts +57 -41
  236. package/bin/src/fun/domains/predicate/domains/bool-expr.js +76 -67
  237. package/bin/src/fun/domains/predicate/state.d.ts +9 -7
  238. package/bin/src/fun/domains/predicate/state.js +14 -10
  239. package/bin/src/fun/domains/simpleCallback/state.d.ts +1 -1
  240. package/bin/src/fun/domains/simpleCallback/state.js +1 -1
  241. package/bin/src/fun/domains/uncurry/state.d.ts +4 -2
  242. package/bin/src/fun/domains/uncurry/state.js +1 -1
  243. package/bin/src/fun/domains/unit/state.d.ts +1 -1
  244. package/bin/src/fun/domains/unit/state.js +1 -1
  245. package/bin/src/fun/domains/updater/domains/caseUpdater/state.d.ts +22 -7
  246. package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +18 -10
  247. package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +24 -13
  248. package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +40 -10
  249. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +19 -13
  250. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +20 -9
  251. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +24 -13
  252. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +47 -11
  253. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +20 -8
  254. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +17 -5
  255. package/bin/src/fun/domains/updater/domains/replaceWith/state.d.ts +1 -1
  256. package/bin/src/fun/domains/updater/domains/replaceWith/state.js +1 -1
  257. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts +13 -4
  258. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +6 -4
  259. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +60 -22
  260. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +42 -31
  261. package/bin/src/fun/domains/updater/state.d.ts +4 -4
  262. package/bin/src/fun/domains/updater/state.js +12 -10
  263. package/bin/src/fun/state.d.ts +3 -3
  264. package/bin/src/fun/state.js +9 -7
  265. package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
  266. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +47 -20
  267. package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
  268. package/bin/src/infinite-data-stream/state.d.ts +84 -51
  269. package/bin/src/infinite-data-stream/state.js +125 -61
  270. package/bin/src/infinite-data-stream/template.js +3 -2
  271. package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
  272. package/bin/src/math/domains/DOMRect/state.js +10 -8
  273. package/bin/src/math/domains/number/state.d.ts +5 -5
  274. package/bin/src/math/domains/number/state.js +5 -5
  275. package/bin/src/math/domains/rect/state.d.ts +8 -8
  276. package/bin/src/math/domains/rect/state.js +16 -15
  277. package/bin/src/math/domains/rgba/state.d.ts +17 -17
  278. package/bin/src/math/domains/rgba/state.js +77 -81
  279. package/bin/src/math/domains/size2/state.d.ts +8 -8
  280. package/bin/src/math/domains/size2/state.js +6 -6
  281. package/bin/src/math/domains/vector2/state.d.ts +10 -10
  282. package/bin/src/math/domains/vector2/state.js +8 -8
  283. package/bin/src/queue/state.js +23 -16
  284. package/bin/src/state/domains/repository/state.d.ts +15 -9
  285. package/bin/src/state/domains/repository/state.js +1 -1
  286. package/bin/src/template/state.js +163 -115
  287. package/bin/src/validation/state.js +38 -45
  288. package/bin/src/value/domains/mutable-value/state.js +3 -2
  289. package/bin/src/value/state.d.ts +9 -9
  290. package/bin/src/value/state.js +11 -8
  291. package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
  292. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +55 -20
  293. package/bin/src/value-infinite-data-stream/coroutines/runner.js +6 -4
  294. package/bin/src/value-infinite-data-stream/state.js +199 -77
  295. package/bin/src/value-infinite-data-stream/template.js +4 -2
  296. package/bin/src/visibility/state.d.ts +5 -2
  297. package/bin/src/visibility/state.js +1 -1
  298. package/main.ts +1 -0
  299. package/package.json +1 -1
  300. package/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.ts +2 -2
  301. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.ts +117 -111
  302. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.ts +14 -5
  303. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.ts +75 -18
  304. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.ts +16 -6
  305. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.ts +27 -9
  306. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.ts +28 -8
  307. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.ts +13 -4
  308. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.ts +18 -7
  309. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.ts +40 -14
  310. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.ts +15 -5
  311. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.ts +20 -6
  312. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.ts +101 -50
  313. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.ts +22 -23
  314. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.ts +37 -19
  315. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.ts +64 -6
  316. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.ts +585 -0
  317. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.ts +592 -340
  318. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.ts +364 -226
  319. package/src/forms/domains/dispatched-forms/deserializer/state.ts +1 -2
  320. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.tsx +1 -1
  321. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.ts +2 -2
@@ -9,6 +9,7 @@ import {
9
9
  DispatchInjectablesTypes,
10
10
  isString,
11
11
  PredicateComputedOrInlined,
12
+ Renderer,
12
13
  TableLayout,
13
14
  ValueOrErrors,
14
15
  } from "../../../../../../../../../../../../../main";
@@ -124,15 +125,25 @@ export const TableRenderer = {
124
125
  ExtraContext
125
126
  >,
126
127
  types: Map<string, DispatchParsedType<T>>,
127
- ): ValueOrErrors<NestedRenderer<T> | undefined, string> =>
128
+ forms: object,
129
+ alreadyParsedForms: Map<string, Renderer<T>>,
130
+ ): ValueOrErrors<
131
+ [NestedRenderer<T> | undefined, Map<string, Renderer<T>>],
132
+ string
133
+ > =>
128
134
  serialized.detailsRenderer == undefined
129
- ? ValueOrErrors.Default.return(undefined)
135
+ ? ValueOrErrors.Default.return<
136
+ [NestedRenderer<T> | undefined, Map<string, Renderer<T>>],
137
+ string
138
+ >([undefined, alreadyParsedForms])
130
139
  : NestedRenderer.Operations.DeserializeAs(
131
140
  type.arg,
132
141
  serialized.detailsRenderer,
133
142
  concreteRenderers,
134
143
  "details renderer",
135
144
  types,
145
+ forms,
146
+ alreadyParsedForms,
136
147
  ),
137
148
  Deserialize: <
138
149
  T extends DispatchInjectablesTypes<T>,
@@ -150,9 +161,14 @@ export const TableRenderer = {
150
161
  >,
151
162
  types: Map<string, DispatchParsedType<T>>,
152
163
  api: string | undefined,
153
- ): ValueOrErrors<TableRenderer<T>, string> =>
164
+ forms: object,
165
+ alreadyParsedForms: Map<string, Renderer<T>>,
166
+ ): ValueOrErrors<[TableRenderer<T>, Map<string, Renderer<T>>], string> =>
154
167
  api != undefined && Array.isArray(api)
155
- ? ValueOrErrors.Default.throwOne("lookup api not supported for table")
168
+ ? ValueOrErrors.Default.throwOne<
169
+ [TableRenderer<T>, Map<string, Renderer<T>>],
170
+ string
171
+ >("lookup api not supported for table")
156
172
  : TableRenderer.Operations.tryAsValidTableForm(serialized)
157
173
  .Then((validTableForm) =>
158
174
  DispatchParsedType.Operations.ResolveLookupType(
@@ -160,65 +176,100 @@ export const TableRenderer = {
160
176
  types,
161
177
  ).Then((resolvedType) =>
162
178
  resolvedType.kind != "record"
163
- ? ValueOrErrors.Default.throwOne<TableRenderer<T>, string>(
179
+ ? ValueOrErrors.Default.throwOne<
180
+ [TableRenderer<T>, Map<string, Renderer<T>>],
181
+ string
182
+ >(
164
183
  `table arg ${JSON.stringify(
165
184
  resolvedType.kind,
166
185
  )} is not a record type`,
167
186
  )
168
- : ValueOrErrors.Operations.All(
169
- List<
170
- ValueOrErrors<[string, TableCellRenderer<T>], string>
187
+ : validTableForm.columns
188
+ .toArray()
189
+ .reduce<
190
+ ValueOrErrors<
191
+ [
192
+ Map<string, TableCellRenderer<T>>,
193
+ Map<string, Renderer<T>>,
194
+ ],
195
+ string
196
+ >
171
197
  >(
172
- validTableForm.columns
173
- .toArray()
174
- .map(([columnName, columnRenderer]) =>
175
- DispatchParsedType.Operations.ResolveLookupType(
176
- columnName,
177
- resolvedType.fields,
178
- ).Then((columnType) =>
179
- TableCellRenderer.Operations.Deserialize(
180
- columnType,
181
- columnRenderer,
182
- concreteRenderers,
183
- types,
198
+ (acc, [columnName, columnRenderer]) =>
199
+ acc.Then(
200
+ ([columnsMap, accumulatedAlreadyParsedForms]) =>
201
+ DispatchParsedType.Operations.ResolveLookupType(
184
202
  columnName,
185
- ).Then((renderer) =>
186
- ValueOrErrors.Default.return<
187
- [string, TableCellRenderer<T>],
188
- string
189
- >([columnName, renderer]),
203
+ resolvedType.fields,
204
+ ).Then((columnType) =>
205
+ TableCellRenderer.Operations.Deserialize(
206
+ columnType,
207
+ columnRenderer,
208
+ concreteRenderers,
209
+ types,
210
+ columnName,
211
+ forms,
212
+ accumulatedAlreadyParsedForms,
213
+ ).Then(([renderer, newAlreadyParsedForms]) =>
214
+ ValueOrErrors.Default.return<
215
+ [
216
+ Map<string, TableCellRenderer<T>>,
217
+ Map<string, Renderer<T>>,
218
+ ],
219
+ string
220
+ >([
221
+ columnsMap.set(columnName, renderer),
222
+ newAlreadyParsedForms,
223
+ ]),
224
+ ),
190
225
  ),
191
- ),
192
226
  ),
193
- ),
194
- ).Then((columns) =>
195
- TableLayout.Operations.ParseLayout(
196
- validTableForm.visibleColumns,
197
- ).Then((visibileColumnsLayout) =>
227
+ ValueOrErrors.Default.return<
228
+ [
229
+ Map<string, TableCellRenderer<T>>,
230
+ Map<string, Renderer<T>>,
231
+ ],
232
+ string
233
+ >([
234
+ Map<string, TableCellRenderer<T>>(),
235
+ alreadyParsedForms,
236
+ ]),
237
+ )
238
+ .Then(([columnsMap, accumulatedAlreadyParsedForms]) =>
198
239
  TableLayout.Operations.ParseLayout(
199
- validTableForm.disabledColumns,
200
- ).Then((disabledColumnsLayout) =>
201
- TableRenderer.Operations.DeserializeDetailsRenderer(
202
- type,
203
- validTableForm,
204
- concreteRenderers,
205
- types,
206
- ).Then((detailsRenderer) =>
207
- ValueOrErrors.Default.return(
208
- TableRenderer.Default(
209
- type,
210
- Map<string, TableCellRenderer<T>>(columns),
211
- visibileColumnsLayout,
212
- disabledColumnsLayout,
213
- validTableForm.renderer,
214
- detailsRenderer,
215
- api,
216
- ),
240
+ validTableForm.visibleColumns,
241
+ ).Then((visibileColumnsLayout) =>
242
+ TableLayout.Operations.ParseLayout(
243
+ validTableForm.disabledColumns,
244
+ ).Then((disabledColumnsLayout) =>
245
+ TableRenderer.Operations.DeserializeDetailsRenderer(
246
+ type,
247
+ validTableForm,
248
+ concreteRenderers,
249
+ types,
250
+ forms,
251
+ accumulatedAlreadyParsedForms,
252
+ ).Then(
253
+ ([detailsRenderer, finalAlreadyParsedForms]) =>
254
+ ValueOrErrors.Default.return<
255
+ [TableRenderer<T>, Map<string, Renderer<T>>],
256
+ string
257
+ >([
258
+ TableRenderer.Default(
259
+ type,
260
+ columnsMap,
261
+ visibileColumnsLayout,
262
+ disabledColumnsLayout,
263
+ validTableForm.renderer,
264
+ detailsRenderer,
265
+ api,
266
+ ),
267
+ finalAlreadyParsedForms,
268
+ ]),
217
269
  ),
218
270
  ),
219
271
  ),
220
272
  ),
221
- ),
222
273
  ),
223
274
  )
224
275
  .MapErrors((errors) =>
@@ -1,4 +1,4 @@
1
- import { List, Map } from "immutable";
1
+ import { Map } from "immutable";
2
2
  import { NestedRenderer } from "../nestedRenderer/state";
3
3
  import { DispatchParsedType, TupleType } from "../../../../../types/state";
4
4
  import { Renderer } from "../../state";
@@ -72,32 +72,31 @@ export const TupleRenderer = {
72
72
  ExtraContext
73
73
  >,
74
74
  types: Map<string, DispatchParsedType<T>>,
75
- ): ValueOrErrors<TupleRenderer<T>, string> =>
75
+ forms: object,
76
+ alreadyParsedForms: Map<string, Renderer<T>>,
77
+ ): ValueOrErrors<[TupleRenderer<T>, Map<string, Renderer<T>>], string> =>
76
78
  TupleRenderer.Operations.tryAsValidTupleRenderer(serialized)
77
79
  .Then((validatedSerialized) =>
78
- ValueOrErrors.Operations.All(
79
- List<ValueOrErrors<NestedRenderer<T>, string>>(
80
- validatedSerialized.itemRenderers.map((itemRenderer, index) =>
81
- NestedRenderer.Operations.DeserializeAs(
82
- type.args[index],
83
- itemRenderer,
84
- concreteRenderers,
85
- `Item ${index + 1}`,
86
- types,
87
- ).Then((deserializedItemRenderer) =>
88
- ValueOrErrors.Default.return(deserializedItemRenderer),
80
+ validatedSerialized.itemRenderers
81
+ .reduce<
82
+ ValueOrErrors<
83
+ [Array<NestedRenderer<T>>, Map<string, Renderer<T>>],
84
+ string
85
+ >
86
+ >((acc, itemRenderer, index) => acc.Then(([itemRenderersArray, accumulatedAlreadyParsedForms]) => NestedRenderer.Operations.DeserializeAs(type.args[index], itemRenderer, concreteRenderers, `Item ${index + 1}`, types, forms, accumulatedAlreadyParsedForms).Then(([deserializedItemRenderer, newAlreadyParsedForms]) => ValueOrErrors.Default.return<[Array<NestedRenderer<T>>, Map<string, Renderer<T>>], string>([[...itemRenderersArray, deserializedItemRenderer], newAlreadyParsedForms]))), ValueOrErrors.Default.return<[Array<NestedRenderer<T>>, Map<string, Renderer<T>>], string>([[], alreadyParsedForms]))
87
+ .Then(([itemRenderersArray, accumulatedAlreadyParsedForms]) =>
88
+ ValueOrErrors.Default.return<
89
+ [TupleRenderer<T>, Map<string, Renderer<T>>],
90
+ string
91
+ >([
92
+ TupleRenderer.Default(
93
+ type,
94
+ validatedSerialized.renderer,
95
+ itemRenderersArray,
89
96
  ),
90
- ),
97
+ accumulatedAlreadyParsedForms,
98
+ ]),
91
99
  ),
92
- ).Then((deserializedItemRenderers) =>
93
- ValueOrErrors.Default.return(
94
- TupleRenderer.Default(
95
- type,
96
- validatedSerialized.renderer,
97
- deserializedItemRenderers.toArray(),
98
- ),
99
- ),
100
- ),
101
100
  )
102
101
  .MapErrors((errors) =>
103
102
  errors.map((error) => `${error}\n...When parsing as Tuple renderer`),
@@ -7,7 +7,7 @@ import {
7
7
  } from "../../../../../../../../../../../../../main";
8
8
  import { DispatchIsObject, UnionType } from "../../../../../types/state";
9
9
  import { DispatchParsedType } from "../../../../../types/state";
10
- import { List, Map } from "immutable";
10
+ import { Map } from "immutable";
11
11
  import { Renderer } from "../../state";
12
12
 
13
13
  export type SerializedUnionRenderer = {
@@ -70,15 +70,21 @@ export const UnionRenderer = {
70
70
  ExtraContext
71
71
  >,
72
72
  types: Map<string, DispatchParsedType<T>>,
73
- ): ValueOrErrors<UnionRenderer<T>, string> =>
73
+ forms: object,
74
+ alreadyParsedForms: Map<string, Renderer<T>>,
75
+ ): ValueOrErrors<[UnionRenderer<T>, Map<string, Renderer<T>>], string> =>
74
76
  UnionRenderer.Operations.tryAsValidUnionForm(serialized)
75
77
  .Then((validSerialized) =>
76
- ValueOrErrors.Operations.All(
77
- List<ValueOrErrors<[string, Renderer<T>], string>>(
78
- validSerialized.cases
79
- .entrySeq()
80
- .toArray()
81
- .map(([caseName, caseRenderer]) =>
78
+ validSerialized.cases
79
+ .entrySeq()
80
+ .reduce<
81
+ ValueOrErrors<
82
+ [Map<string, Renderer<T>>, Map<string, Renderer<T>>],
83
+ string
84
+ >
85
+ >(
86
+ (acc, [caseName, caseRenderer]) =>
87
+ acc.Then(([casesMap, accumulatedAlreadyParsedForms]) =>
82
88
  MapRepo.Operations.tryFindWithError(
83
89
  caseName,
84
90
  type.args,
@@ -96,21 +102,33 @@ export const UnionRenderer = {
96
102
  concreteRenderers,
97
103
  types,
98
104
  undefined,
99
- ).Then((caseRenderer) =>
100
- ValueOrErrors.Default.return([caseName, caseRenderer]),
105
+ forms,
106
+ accumulatedAlreadyParsedForms,
107
+ ).Then(([caseRenderer, newAlreadyParsedForms]) =>
108
+ ValueOrErrors.Default.return<
109
+ [Map<string, Renderer<T>>, Map<string, Renderer<T>>],
110
+ string
111
+ >([
112
+ casesMap.set(caseName, caseRenderer),
113
+ newAlreadyParsedForms,
114
+ ]),
101
115
  ),
102
116
  ),
103
117
  ),
118
+ ValueOrErrors.Default.return<
119
+ [Map<string, Renderer<T>>, Map<string, Renderer<T>>],
120
+ string
121
+ >([Map<string, Renderer<T>>(), alreadyParsedForms]),
122
+ )
123
+ .Then(([casesMap, accumulatedAlreadyParsedForms]) =>
124
+ ValueOrErrors.Default.return<
125
+ [UnionRenderer<T>, Map<string, Renderer<T>>],
126
+ string
127
+ >([
128
+ UnionRenderer.Default(type, casesMap, validSerialized.renderer),
129
+ accumulatedAlreadyParsedForms,
130
+ ]),
104
131
  ),
105
- ).Then((caseTuples) =>
106
- ValueOrErrors.Default.return(
107
- UnionRenderer.Default(
108
- type,
109
- Map(caseTuples),
110
- validSerialized.renderer,
111
- ),
112
- ),
113
- ),
114
132
  )
115
133
  .MapErrors((errors) =>
116
134
  errors.map((error) => `${error}\n...When parsing as union form`),
@@ -117,13 +117,17 @@ export const Renderer = {
117
117
  as: string,
118
118
  types: Map<string, DispatchParsedType<T>>,
119
119
  tableApi: string | undefined,
120
- ): ValueOrErrors<Renderer<T>, string> =>
120
+ forms: object,
121
+ alreadyParsedForms: Map<string, Renderer<T>>,
122
+ ): ValueOrErrors<[Renderer<T>, Map<string, Renderer<T>>], string> =>
121
123
  Renderer.Operations.Deserialize(
122
124
  type,
123
125
  serialized,
124
126
  concreteRenderers,
125
127
  types,
126
128
  tableApi,
129
+ forms,
130
+ alreadyParsedForms,
127
131
  ).MapErrors((errors) =>
128
132
  errors.map((error) => `${error}\n...When parsing as ${as}`),
129
133
  ),
@@ -143,7 +147,9 @@ export const Renderer = {
143
147
  >,
144
148
  types: Map<string, DispatchParsedType<T>>,
145
149
  tableApi: string | undefined, // Necessary because the table api is currently defined outside of the renderer, so a lookup has to be able to pass it to the looked up renderer
146
- ): ValueOrErrors<Renderer<T>, string> =>
150
+ forms: object,
151
+ alreadyParsedForms: Map<string, Renderer<T>>,
152
+ ): ValueOrErrors<[Renderer<T>, Map<string, Renderer<T>>], string> =>
147
153
  /*
148
154
  Important semantics of lookup vs inlined renderers and types:
149
155
 
@@ -191,6 +197,8 @@ export const Renderer = {
191
197
  tableApi,
192
198
  concreteRenderers,
193
199
  types,
200
+ forms,
201
+ alreadyParsedForms,
194
202
  )
195
203
  : LookupRenderer.Operations.Deserialize(
196
204
  // lookup type and inlined renderer (case 2)
@@ -201,10 +209,18 @@ export const Renderer = {
201
209
  tableApi,
202
210
  concreteRenderers,
203
211
  types,
212
+ forms,
213
+ alreadyParsedForms,
204
214
  )
205
215
  : typeof serialized == "string"
206
216
  ? type.kind == "primitive" // special case
207
- ? PrimitiveRenderer.Operations.Deserialize(type, serialized)
217
+ ? PrimitiveRenderer.Operations.Deserialize(type, serialized).Then(
218
+ (renderer) =>
219
+ ValueOrErrors.Default.return([
220
+ renderer,
221
+ alreadyParsedForms,
222
+ ]),
223
+ )
208
224
  : // inlined type and lookup renderer (case 3)
209
225
  LookupRenderer.Operations.Deserialize(
210
226
  SerializedLookup.Default.InlinedTypeLookupRenderer(
@@ -214,16 +230,30 @@ export const Renderer = {
214
230
  tableApi,
215
231
  concreteRenderers,
216
232
  types,
233
+ forms,
234
+ alreadyParsedForms,
217
235
  )
218
236
  : // All other cases are inlined renderers and inlined types (case 4)
219
237
  Renderer.Operations.HasOptions(serialized) &&
220
238
  (type.kind == "singleSelection" ||
221
239
  type.kind == "multiSelection")
222
- ? EnumRenderer.Operations.Deserialize(type, serialized)
240
+ ? EnumRenderer.Operations.Deserialize(type, serialized).Then(
241
+ (renderer) =>
242
+ ValueOrErrors.Default.return([
243
+ renderer,
244
+ alreadyParsedForms,
245
+ ]),
246
+ )
223
247
  : Renderer.Operations.HasStream(serialized) &&
224
248
  (type.kind == "singleSelection" ||
225
249
  type.kind == "multiSelection")
226
- ? StreamRenderer.Operations.Deserialize(type, serialized)
250
+ ? StreamRenderer.Operations.Deserialize(type, serialized).Then(
251
+ (renderer) =>
252
+ ValueOrErrors.Default.return([
253
+ renderer,
254
+ alreadyParsedForms,
255
+ ]),
256
+ )
227
257
  : Renderer.Operations.HasColumns(serialized) &&
228
258
  type.kind == "table"
229
259
  ? TableRenderer.Operations.Deserialize(
@@ -232,6 +262,13 @@ export const Renderer = {
232
262
  concreteRenderers,
233
263
  types,
234
264
  tableApi,
265
+ forms,
266
+ alreadyParsedForms,
267
+ ).Then(([renderer, newAlreadyParsedForms]) =>
268
+ ValueOrErrors.Default.return([
269
+ renderer,
270
+ newAlreadyParsedForms,
271
+ ]),
235
272
  )
236
273
  : type.kind == "list"
237
274
  ? ListRenderer.Operations.Deserialize(
@@ -239,6 +276,8 @@ export const Renderer = {
239
276
  serialized,
240
277
  concreteRenderers,
241
278
  types,
279
+ forms,
280
+ alreadyParsedForms,
242
281
  )
243
282
  : type.kind == "map"
244
283
  ? MapRenderer.Operations.Deserialize(
@@ -246,6 +285,8 @@ export const Renderer = {
246
285
  serialized,
247
286
  concreteRenderers,
248
287
  types,
288
+ forms,
289
+ alreadyParsedForms,
249
290
  )
250
291
  : type.kind == "one"
251
292
  ? OneRenderer.Operations.Deserialize(
@@ -253,6 +294,8 @@ export const Renderer = {
253
294
  serialized,
254
295
  concreteRenderers,
255
296
  types,
297
+ forms,
298
+ alreadyParsedForms,
256
299
  )
257
300
  : type.kind == "readOnly"
258
301
  ? ReadOnlyRenderer.Operations.Deserialize(
@@ -260,6 +303,8 @@ export const Renderer = {
260
303
  serialized,
261
304
  concreteRenderers,
262
305
  types,
306
+ forms,
307
+ alreadyParsedForms,
263
308
  )
264
309
  : Renderer.Operations.IsSumUnitDate(
265
310
  serialized,
@@ -268,6 +313,11 @@ export const Renderer = {
268
313
  ? BaseSumUnitDateRenderer.Operations.Deserialize(
269
314
  type,
270
315
  serialized,
316
+ ).Then((renderer) =>
317
+ ValueOrErrors.Default.return([
318
+ renderer,
319
+ alreadyParsedForms,
320
+ ]),
271
321
  )
272
322
  : type.kind == "sum"
273
323
  ? SumRenderer.Operations.Deserialize(
@@ -275,6 +325,8 @@ export const Renderer = {
275
325
  serialized,
276
326
  concreteRenderers,
277
327
  types,
328
+ forms,
329
+ alreadyParsedForms,
278
330
  )
279
331
  : type.kind == "record"
280
332
  ? RecordRenderer.Operations.Deserialize(
@@ -282,6 +334,8 @@ export const Renderer = {
282
334
  serialized,
283
335
  concreteRenderers,
284
336
  types,
337
+ forms,
338
+ alreadyParsedForms,
285
339
  )
286
340
  : type.kind == "union"
287
341
  ? UnionRenderer.Operations.Deserialize(
@@ -289,6 +343,8 @@ export const Renderer = {
289
343
  serialized,
290
344
  concreteRenderers,
291
345
  types,
346
+ forms,
347
+ alreadyParsedForms,
292
348
  )
293
349
  : type.kind == "tuple"
294
350
  ? TupleRenderer.Operations.Deserialize(
@@ -296,9 +352,11 @@ export const Renderer = {
296
352
  serialized,
297
353
  concreteRenderers,
298
354
  types,
355
+ forms,
356
+ alreadyParsedForms,
299
357
  )
300
358
  : ValueOrErrors.Default.throwOne<
301
- Renderer<T>,
359
+ [Renderer<T>, Map<string, Renderer<T>>],
302
360
  string
303
361
  >(
304
362
  `Unknown renderer ${JSON.stringify(serialized, null, 2)} and type of kind ${