ballerina-core 1.0.245 → 1.0.247

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 (326) hide show
  1. package/bin/main.js +1 -1
  2. package/bin/src/api-response-handler/coroutines/runner.js +13 -20
  3. package/bin/src/api-response-handler/state.js +11 -13
  4. package/bin/src/apiResultStatus/state.d.ts +3 -10
  5. package/bin/src/apiResultStatus/state.js +5 -2
  6. package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.js +196 -314
  7. package/bin/src/async/domains/mirroring/domains/collection/state.js +36 -126
  8. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.js +11 -18
  9. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.js +19 -19
  10. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.js +1 -1
  11. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.js +18 -18
  12. package/bin/src/async/domains/mirroring/domains/entity/state.js +9 -18
  13. package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.js +83 -134
  14. package/bin/src/async/domains/mirroring/domains/singleton/state.js +8 -52
  15. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.js +4 -7
  16. package/bin/src/async/domains/promise/state.d.ts +4 -9
  17. package/bin/src/async/domains/promise/state.js +9 -20
  18. package/bin/src/async/domains/synchronized/coroutines/synchronize.js +28 -80
  19. package/bin/src/async/domains/synchronized/state.d.ts +7 -14
  20. package/bin/src/async/domains/synchronized/state.js +6 -16
  21. package/bin/src/async/state.d.ts +45 -56
  22. package/bin/src/async/state.js +97 -115
  23. package/bin/src/baseEntity/domains/identifiable/state.d.ts +11 -15
  24. package/bin/src/baseEntity/domains/identifiable/state.js +9 -9
  25. package/bin/src/collections/domains/array/state.d.ts +7 -7
  26. package/bin/src/collections/domains/array/state.js +5 -5
  27. package/bin/src/collections/domains/errors/state.d.ts +10 -10
  28. package/bin/src/collections/domains/errors/state.js +10 -10
  29. package/bin/src/collections/domains/immutable/domains/list/state.js +44 -46
  30. package/bin/src/collections/domains/immutable/domains/map/state.js +23 -41
  31. package/bin/src/collections/domains/immutable/domains/orderedMap/state.js +65 -84
  32. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.d.ts +6 -6
  33. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.js +6 -6
  34. package/bin/src/collections/domains/maybe/state.d.ts +9 -9
  35. package/bin/src/collections/domains/maybe/state.js +9 -12
  36. package/bin/src/collections/domains/product/state.d.ts +19 -25
  37. package/bin/src/collections/domains/product/state.js +10 -13
  38. package/bin/src/collections/domains/sum/state.d.ts +77 -101
  39. package/bin/src/collections/domains/sum/state.js +32 -49
  40. package/bin/src/collections/domains/valueOrErrors/state.js +56 -81
  41. package/bin/src/coroutines/builder.js +19 -40
  42. package/bin/src/coroutines/state.js +306 -381
  43. package/bin/src/coroutines/template.js +59 -97
  44. package/bin/src/debounced/coroutines/debounce.js +89 -115
  45. package/bin/src/debounced/state.js +25 -62
  46. package/bin/src/diagnostics/domains/message-box/state.d.ts +1 -1
  47. package/bin/src/diagnostics/domains/message-box/state.js +3 -3
  48. package/bin/src/foreignMutations/state.d.ts +3 -3
  49. package/bin/src/foreignMutations/state.js +1 -1
  50. package/bin/src/forms/domains/attachments/views/attachments-view.js +8 -30
  51. package/bin/src/forms/domains/collection/domains/reference/state.js +20 -26
  52. package/bin/src/forms/domains/collection/domains/selection/state.js +1 -1
  53. package/bin/src/forms/domains/dispatched-forms/built-ins/state.js +754 -2007
  54. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js +44 -123
  55. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.js +166 -339
  56. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.js +27 -40
  57. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.js +40 -76
  58. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.js +59 -102
  59. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.js +29 -64
  60. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.js +30 -64
  61. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.js +33 -88
  62. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.js +13 -21
  63. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.js +23 -52
  64. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.js +18 -59
  65. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.js +55 -129
  66. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.js +27 -43
  67. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.js +23 -63
  68. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.js +22 -39
  69. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.js +11 -46
  70. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts +6 -1
  71. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts.map +1 -1
  72. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js +50 -146
  73. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js.map +1 -1
  74. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.js +29 -64
  75. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.js +33 -78
  76. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.js +62 -157
  77. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js +569 -977
  78. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.js +94 -255
  79. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js +90 -322
  80. package/bin/src/forms/domains/dispatched-forms/deserializer/template.js +2 -3
  81. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.d.ts +5 -50
  82. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.d.ts.map +1 -1
  83. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.js +88 -7
  84. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.js.map +1 -1
  85. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.js +3 -3
  86. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js +23 -49
  87. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js +3 -3
  88. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js +24 -52
  89. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +6 -18
  90. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +30 -64
  91. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +6 -9
  92. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +60 -153
  93. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.js +1 -1
  94. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js +50 -127
  95. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +22 -40
  96. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +13 -31
  97. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts +2 -2
  98. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts.map +1 -1
  99. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +142 -417
  100. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js.map +1 -1
  101. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.js +1 -1
  102. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js +8 -28
  103. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +18 -61
  104. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +90 -329
  105. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.js +3 -3
  106. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js +23 -54
  107. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +10 -22
  108. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +31 -49
  109. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +10 -29
  110. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js +2 -2
  111. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js +26 -47
  112. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +40 -88
  113. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +152 -386
  114. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +10 -19
  115. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +21 -78
  116. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +11 -32
  117. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +77 -222
  118. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +13 -35
  119. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +68 -195
  120. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +13 -36
  121. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +106 -246
  122. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.js +3 -3
  123. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js +23 -54
  124. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +27 -40
  125. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.js +3 -3
  126. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js +26 -58
  127. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +7 -22
  128. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +53 -188
  129. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js +2 -2
  130. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js +24 -57
  131. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +20 -70
  132. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +27 -61
  133. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +19 -38
  134. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +15 -43
  135. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts +4 -0
  136. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts.map +1 -1
  137. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +137 -301
  138. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts +6 -2
  139. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts.map +1 -1
  140. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +238 -622
  141. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js.map +1 -1
  142. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +8 -20
  143. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +35 -132
  144. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +8 -21
  145. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +32 -103
  146. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +9 -12
  147. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +20 -54
  148. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts +22 -0
  149. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts.map +1 -1
  150. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +557 -676
  151. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js.map +1 -1
  152. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +18 -58
  153. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +14 -45
  154. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +18 -76
  155. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +24 -82
  156. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +8 -37
  157. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +36 -120
  158. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +63 -145
  159. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +12 -44
  160. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +4 -14
  161. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +25 -81
  162. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +24 -82
  163. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +20 -63
  164. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.d.ts.map +1 -1
  165. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +74 -247
  166. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js.map +1 -1
  167. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +13 -61
  168. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +15 -64
  169. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +45 -144
  170. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js +95 -203
  171. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js +37 -79
  172. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.js +2 -2
  173. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.js +17 -19
  174. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js +11 -58
  175. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js +25 -73
  176. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js +95 -205
  177. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js +37 -78
  178. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.js +2 -2
  179. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.js +17 -19
  180. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js +11 -58
  181. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js +25 -71
  182. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js +85 -163
  183. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js +4 -10
  184. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js +27 -72
  185. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js +423 -773
  186. package/bin/src/forms/domains/dispatched-forms/runner/state.js +38 -62
  187. package/bin/src/forms/domains/dispatched-forms/runner/template.js +25 -78
  188. package/bin/src/forms/domains/launcher/coroutines/runner.js +45 -120
  189. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +101 -240
  190. package/bin/src/forms/domains/launcher/domains/create/state.js +17 -62
  191. package/bin/src/forms/domains/launcher/domains/create/template.js +42 -84
  192. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +103 -242
  193. package/bin/src/forms/domains/launcher/domains/edit/state.js +17 -62
  194. package/bin/src/forms/domains/launcher/domains/edit/template.js +43 -86
  195. package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
  196. package/bin/src/forms/domains/launcher/domains/merger/state.js +26 -35
  197. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +42 -88
  198. package/bin/src/forms/domains/launcher/domains/passthrough/state.js +19 -44
  199. package/bin/src/forms/domains/launcher/domains/passthrough/template.js +34 -56
  200. package/bin/src/forms/domains/launcher/state.js +6 -6
  201. package/bin/src/forms/domains/launcher/template.js +85 -169
  202. package/bin/src/forms/domains/parser/coroutines/runner.js +25 -87
  203. package/bin/src/forms/domains/parser/domains/built-ins/state.js +533 -944
  204. package/bin/src/forms/domains/parser/domains/deltas/state.js +318 -444
  205. package/bin/src/forms/domains/parser/domains/injectables/state.js +26 -29
  206. package/bin/src/forms/domains/parser/domains/layout/state.d.ts +1 -1
  207. package/bin/src/forms/domains/parser/domains/layout/state.d.ts.map +1 -1
  208. package/bin/src/forms/domains/parser/domains/layout/state.js +183 -265
  209. package/bin/src/forms/domains/parser/domains/layout/state.js.map +1 -1
  210. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +162 -324
  211. package/bin/src/forms/domains/parser/domains/predicates/state.js +979 -1509
  212. package/bin/src/forms/domains/parser/domains/renderer/state.js +480 -1137
  213. package/bin/src/forms/domains/parser/domains/types/state.js +170 -355
  214. package/bin/src/forms/domains/parser/domains/validator/state.js +280 -417
  215. package/bin/src/forms/domains/parser/state.js +373 -612
  216. package/bin/src/forms/domains/parser/template.js +1 -1
  217. package/bin/src/forms/domains/primitives/domains/base-64-file/state.js +5 -5
  218. package/bin/src/forms/domains/primitives/domains/base-64-file/template.js +19 -38
  219. package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
  220. package/bin/src/forms/domains/primitives/domains/boolean/template.js +19 -38
  221. package/bin/src/forms/domains/primitives/domains/date/state.js +9 -18
  222. package/bin/src/forms/domains/primitives/domains/date/template.js +25 -51
  223. package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
  224. package/bin/src/forms/domains/primitives/domains/enum/template.js +48 -117
  225. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
  226. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +40 -99
  227. package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
  228. package/bin/src/forms/domains/primitives/domains/list/template.js +71 -200
  229. package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
  230. package/bin/src/forms/domains/primitives/domains/map/template.js +103 -294
  231. package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
  232. package/bin/src/forms/domains/primitives/domains/number/template.js +19 -38
  233. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +16 -33
  234. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +62 -171
  235. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.js +1 -1
  236. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.js +69 -182
  237. package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
  238. package/bin/src/forms/domains/primitives/domains/secret/template.js +19 -38
  239. package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
  240. package/bin/src/forms/domains/primitives/domains/string/template.js +22 -42
  241. package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
  242. package/bin/src/forms/domains/primitives/domains/sum/template.js +50 -141
  243. package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
  244. package/bin/src/forms/domains/primitives/domains/tuple/template.js +33 -100
  245. package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
  246. package/bin/src/forms/domains/primitives/domains/unit/template.js +9 -22
  247. package/bin/src/forms/domains/singleton/domains/form-label/state.d.ts +4 -4
  248. package/bin/src/forms/domains/singleton/domains/form-label/state.js +1 -1
  249. package/bin/src/forms/domains/singleton/state.js +10 -12
  250. package/bin/src/forms/domains/singleton/template.js +113 -288
  251. package/bin/src/fun/domains/curry/state.d.ts +2 -4
  252. package/bin/src/fun/domains/curry/state.js +1 -1
  253. package/bin/src/fun/domains/id/state.d.ts +1 -1
  254. package/bin/src/fun/domains/id/state.js +1 -1
  255. package/bin/src/fun/domains/predicate/domains/bool-expr.d.ts +41 -57
  256. package/bin/src/fun/domains/predicate/domains/bool-expr.js +67 -76
  257. package/bin/src/fun/domains/predicate/state.d.ts +7 -9
  258. package/bin/src/fun/domains/predicate/state.js +10 -14
  259. package/bin/src/fun/domains/simpleCallback/state.d.ts +1 -1
  260. package/bin/src/fun/domains/simpleCallback/state.js +1 -1
  261. package/bin/src/fun/domains/uncurry/state.d.ts +2 -4
  262. package/bin/src/fun/domains/uncurry/state.js +1 -1
  263. package/bin/src/fun/domains/unit/state.d.ts +1 -1
  264. package/bin/src/fun/domains/unit/state.js +1 -1
  265. package/bin/src/fun/domains/updater/domains/caseUpdater/state.d.ts +7 -22
  266. package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +10 -18
  267. package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +13 -24
  268. package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +10 -40
  269. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +13 -19
  270. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +9 -20
  271. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +13 -24
  272. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +11 -47
  273. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +8 -20
  274. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +5 -17
  275. package/bin/src/fun/domains/updater/domains/replaceWith/state.d.ts +1 -1
  276. package/bin/src/fun/domains/updater/domains/replaceWith/state.js +1 -1
  277. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts +4 -13
  278. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +4 -6
  279. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +22 -60
  280. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +31 -42
  281. package/bin/src/fun/domains/updater/state.d.ts +4 -4
  282. package/bin/src/fun/domains/updater/state.js +10 -12
  283. package/bin/src/fun/state.d.ts +3 -3
  284. package/bin/src/fun/state.js +7 -9
  285. package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
  286. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +20 -47
  287. package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
  288. package/bin/src/infinite-data-stream/state.d.ts +51 -84
  289. package/bin/src/infinite-data-stream/state.js +61 -125
  290. package/bin/src/infinite-data-stream/template.js +2 -3
  291. package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
  292. package/bin/src/math/domains/DOMRect/state.js +8 -10
  293. package/bin/src/math/domains/number/state.d.ts +5 -5
  294. package/bin/src/math/domains/number/state.js +5 -5
  295. package/bin/src/math/domains/rect/state.d.ts +8 -8
  296. package/bin/src/math/domains/rect/state.js +15 -16
  297. package/bin/src/math/domains/rgba/state.d.ts +17 -17
  298. package/bin/src/math/domains/rgba/state.js +81 -77
  299. package/bin/src/math/domains/size2/state.d.ts +8 -8
  300. package/bin/src/math/domains/size2/state.js +6 -6
  301. package/bin/src/math/domains/vector2/state.d.ts +10 -10
  302. package/bin/src/math/domains/vector2/state.js +8 -8
  303. package/bin/src/queue/state.d.ts +2 -2
  304. package/bin/src/queue/state.d.ts.map +1 -1
  305. package/bin/src/queue/state.js +2 -2
  306. package/bin/src/queue/state.js.map +1 -1
  307. package/bin/src/state/domains/repository/state.d.ts +9 -15
  308. package/bin/src/state/domains/repository/state.js +1 -1
  309. package/bin/src/template/state.js +115 -163
  310. package/bin/src/validation/state.js +45 -38
  311. package/bin/src/value/domains/mutable-value/state.js +2 -3
  312. package/bin/src/value/state.d.ts +9 -9
  313. package/bin/src/value/state.js +8 -11
  314. package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
  315. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +20 -55
  316. package/bin/src/value-infinite-data-stream/coroutines/runner.js +4 -6
  317. package/bin/src/value-infinite-data-stream/state.js +77 -199
  318. package/bin/src/value-infinite-data-stream/template.js +2 -4
  319. package/bin/src/visibility/state.d.ts +2 -5
  320. package/bin/src/visibility/state.js +1 -1
  321. package/package.json +1 -1
  322. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.ts +32 -15
  323. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.tsx +16 -3
  324. package/src/forms/domains/dispatched-forms/runner/domains/deltas/state.ts +46 -0
  325. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.ts +1 -0
  326. package/src/forms/domains/parser/domains/layout/state.ts +11 -4
@@ -1,679 +1,560 @@
1
- import { unit, ValueOrErrors } from "../../../../../../../main";
1
+ import { unit, ValueOrErrors, } from "../../../../../../../main";
2
2
  export const DispatchDeltaTransfer = {
3
- Default: {
4
- FromDelta: (toRawObject, parseCustomDelta) => (delta) => {
5
- const result = (() => {
6
- if (delta.kind == "NumberReplace") {
7
- return toRawObject(delta.replace, delta.type, delta.state).Then(
8
- (value) =>
9
- ValueOrErrors.Default.return([
10
- {
11
- Discriminator: "NumberReplace",
12
- Replace: value,
13
- },
14
- "[NumberReplace]",
15
- delta.flags ? [[delta.flags, "[NumberReplace]"]] : [],
16
- ]),
17
- );
18
- }
19
- if (delta.kind == "StringReplace") {
20
- return toRawObject(delta.replace, delta.type, delta.state).Then(
21
- (value) =>
22
- ValueOrErrors.Default.return([
23
- {
24
- Discriminator: "StringReplace",
25
- Replace: value,
26
- },
27
- "[StringReplace]",
28
- delta.flags ? [[delta.flags, "[StringReplace]"]] : [],
29
- ]),
30
- );
31
- }
32
- if (delta.kind == "BoolReplace") {
33
- return toRawObject(delta.replace, delta.type, delta.state).Then(
34
- (value) =>
35
- ValueOrErrors.Default.return([
36
- {
37
- Discriminator: "BoolReplace",
38
- Replace: value,
39
- },
40
- "[BoolReplace]",
41
- delta.flags ? [[delta.flags, "[BoolReplace]"]] : [],
42
- ]),
43
- );
44
- }
45
- if (delta.kind == "TimeReplace") {
46
- return toRawObject(delta.replace, delta.type, delta.state).Then(
47
- (value) =>
48
- ValueOrErrors.Default.return([
49
- {
50
- Discriminator: "TimeReplace",
51
- Replace: value,
52
- },
53
- "[TimeReplace]",
54
- delta.flags ? [[delta.flags, "[TimeReplace]"]] : [],
55
- ]),
56
- );
57
- }
58
- if (delta.kind == "GuidReplace") {
59
- return toRawObject(delta.replace, delta.type, delta.state).Then(
60
- (value) =>
61
- ValueOrErrors.Default.return([
62
- {
63
- Discriminator: "GuidReplace",
64
- Replace: value,
65
- },
66
- "[GuidReplace]",
67
- delta.flags ? [[delta.flags, "[GuidReplace]"]] : [],
68
- ]),
69
- );
70
- }
71
- if (delta.kind == "UnitReplace") {
72
- return ValueOrErrors.Default.return([
73
- {},
74
- "UnitReplace",
75
- delta.flags ? [[delta.flags, "UnitReplace"]] : [],
76
- ]);
77
- }
78
- if (delta.kind == "OptionReplace") {
79
- return toRawObject(delta.replace, delta.type, delta.state).Then(
80
- (value) =>
81
- ValueOrErrors.Default.return([
82
- {
83
- Discriminator: "OptionReplace",
84
- Replace: value,
85
- },
86
- "[OptionReplace]",
87
- delta.flags ? [[delta.flags, "[OptionReplace]"]] : [],
88
- ]),
89
- );
90
- }
91
- if (delta.kind == "OptionValue") {
92
- return DispatchDeltaTransfer.Default.FromDelta(
93
- toRawObject,
94
- parseCustomDelta,
95
- )(delta.value).Then((value) =>
96
- ValueOrErrors.Default.return([
97
- {
98
- Discriminator: "OptionValue",
99
- Value: value[0],
100
- },
101
- `[OptionValue]${value[1]}`,
102
- delta.flags
103
- ? [[delta.flags, `[OptionValue]${value[1]}`], ...value[2]]
104
- : value[2],
105
- ]),
106
- );
107
- }
108
- if (delta.kind == "SumReplace") {
109
- return toRawObject(delta.replace, delta.type, delta.state).Then(
110
- (value) =>
111
- ValueOrErrors.Default.return([
112
- {
113
- Discriminator: "SumReplace",
114
- Replace: value,
115
- },
116
- "[SumReplace]",
117
- delta.flags ? [[delta.flags, "[SumReplace]"]] : [],
118
- ]),
119
- );
120
- }
121
- if (delta.kind == "SumLeft") {
122
- return DispatchDeltaTransfer.Default.FromDelta(
123
- toRawObject,
124
- parseCustomDelta,
125
- )(delta.value).Then((value) =>
126
- ValueOrErrors.Default.return([
127
- {
128
- Discriminator: "SumLeft",
129
- Left: value[0],
130
- },
131
- `[SumLeft]${value[1]}`,
132
- delta.flags
133
- ? [[delta.flags, `[SumLeft]${value[1]}`], ...value[2]]
134
- : value[2],
135
- ]),
136
- );
137
- }
138
- if (delta.kind == "SumRight") {
139
- return DispatchDeltaTransfer.Default.FromDelta(
140
- toRawObject,
141
- parseCustomDelta,
142
- )(delta.value).Then((value) =>
143
- ValueOrErrors.Default.return([
144
- {
145
- Discriminator: "SumRight",
146
- Right: value[0],
147
- },
148
- `[SumRight]${value[1]}`,
149
- delta.flags
150
- ? [[delta.flags, "[SumRight]"], ...value[2]]
151
- : value[2],
152
- ]),
153
- );
154
- }
155
- if (delta.kind == "ArrayReplace") {
156
- return toRawObject(delta.replace, delta.type, delta.state).Then(
157
- (value) =>
158
- ValueOrErrors.Default.return([
159
- {
160
- Discriminator: "ArrayReplace",
161
- Replace: value,
162
- },
163
- "[ArrayReplace]",
164
- delta.flags ? [[delta.flags, "[ArrayReplace]"]] : [],
165
- ]),
166
- );
167
- }
168
- if (delta.kind == "ArrayValue") {
169
- return DispatchDeltaTransfer.Default.FromDelta(
170
- toRawObject,
171
- parseCustomDelta,
172
- )(delta.value[1]).Then((value) =>
173
- ValueOrErrors.Default.return([
174
- {
175
- Discriminator: "ArrayValue",
176
- Value: {
177
- Item1: delta.value[0],
178
- Item2: value[0],
179
- },
180
- },
181
- `[ArrayValue][${delta.value[0]}]${value[1]}`,
182
- delta.flags
183
- ? [
184
- [delta.flags, `[ArrayValue][${delta.value[0]}]${value[1]}`],
185
- ...value[2],
186
- ]
187
- : value[2],
188
- ]),
189
- );
190
- }
191
- if (delta.kind == "ArrayAdd") {
192
- return toRawObject(delta.value, delta.type, delta.state).Then(
193
- (value) =>
194
- ValueOrErrors.Default.return([
195
- {
196
- Discriminator: "ArrayAdd",
197
- Add: value,
198
- },
199
- "[ArrayAdd]",
200
- delta.flags ? [[delta.flags, "[ArrayAdd]"]] : [],
201
- ]),
202
- );
203
- }
204
- if (delta.kind == "ArrayAddAt") {
205
- return toRawObject(
206
- delta.value[1],
207
- delta.elementType,
208
- delta.elementState,
209
- ).Then((element) =>
210
- ValueOrErrors.Default.return([
211
- {
212
- Discriminator: "ArrayAddAt",
213
- AddAt: { Item1: delta.value[0], Item2: element },
214
- },
215
- `[ArrayAddAt][${delta.value[0]}]`,
216
- delta.flags
217
- ? [[delta.flags, `[ArrayAddAt][${delta.value[0]}]`]]
218
- : [],
219
- ]),
220
- );
221
- }
222
- if (delta.kind == "ArrayRemoveAt") {
223
- return ValueOrErrors.Default.return([
224
- {
225
- Discriminator: "ArrayRemoveAt",
226
- RemoveAt: delta.index,
227
- },
228
- `[ArrayRemoveAt]`,
229
- delta.flags ? [[delta.flags, "[ArrayRemoveAt]"]] : [],
230
- ]);
231
- }
232
- if (delta.kind == "ArrayMoveFromTo") {
233
- return ValueOrErrors.Default.return([
234
- {
235
- Discriminator: "ArrayMoveFromTo",
236
- MoveFromTo: { Item1: delta.from, Item2: delta.to },
237
- },
238
- `[ArrayMoveFromTo]`,
239
- delta.flags ? [[delta.flags, "[ArrayMoveFromTo]"]] : [],
240
- ]);
241
- }
242
- if (delta.kind == "ArrayDuplicateAt") {
243
- return ValueOrErrors.Default.return([
244
- {
245
- Discriminator: "ArrayDuplicateAt",
246
- DuplicateAt: delta.index,
247
- },
248
- `[ArrayDuplicateAt]`,
249
- delta.flags ? [[delta.flags, "[ArrayDuplicateAt]"]] : [],
250
- ]);
251
- }
252
- if (delta.kind == "SetReplace") {
253
- return toRawObject(delta.replace, delta.type, delta.state).Then(
254
- (value) =>
255
- ValueOrErrors.Default.return([
256
- {
257
- Discriminator: "SetReplace",
258
- Replace: value,
259
- },
260
- "[SetReplace]",
261
- delta.flags ? [[delta.flags, "[SetReplace]"]] : [],
262
- ]),
263
- );
264
- }
265
- if (delta.kind == "SetValue") {
266
- return DispatchDeltaTransfer.Default.FromDelta(
267
- toRawObject,
268
- parseCustomDelta,
269
- )(delta.value[1]).Then((value) =>
270
- ValueOrErrors.Default.return([
271
- {
272
- Discriminator: "SetValue",
273
- Value: { Item1: delta.value[0], Item2: value[0] },
274
- },
275
- `[SetValue][${delta.value[0]}]${value[1]}`,
276
- delta.flags
277
- ? [
278
- [delta.flags, `[SetValue][${delta.value[0]}]${value[1]}`],
279
- ...value[2],
280
- ]
281
- : value[2],
282
- ]),
283
- );
284
- }
285
- if (delta.kind == "SetAdd") {
286
- return toRawObject(delta.value, delta.type, delta.state).Then(
287
- (value) =>
288
- ValueOrErrors.Default.return([
289
- {
290
- Discriminator: "SetAdd",
291
- Add: value,
292
- },
293
- `[SetAdd]`,
294
- delta.flags ? [[delta.flags, "[SetAdd]"]] : [],
295
- ]),
296
- );
297
- }
298
- if (delta.kind == "SetRemove") {
299
- return toRawObject(delta.value, delta.type, delta.state).Then(
300
- (value) =>
301
- ValueOrErrors.Default.return([
302
- {
303
- Discriminator: "SetRemove",
304
- Remove: value,
305
- },
306
- `[SetRemove]`,
307
- delta.flags ? [[delta.flags, "[SetRemove]"]] : [],
308
- ]),
309
- );
310
- }
311
- if (delta.kind == "MapReplace") {
312
- return toRawObject(delta.replace, delta.type, delta.state).Then(
313
- (value) =>
314
- ValueOrErrors.Default.return([
315
- {
316
- Discriminator: "MapReplace",
317
- Replace: value,
318
- },
319
- "[MapReplace]",
320
- delta.flags ? [[delta.flags, "[MapReplace]"]] : [],
321
- ]),
322
- );
323
- }
324
- if (delta.kind == "MapKey") {
325
- return DispatchDeltaTransfer.Default.FromDelta(
326
- toRawObject,
327
- parseCustomDelta,
328
- )(delta.value[1]).Then((value) =>
329
- ValueOrErrors.Default.return([
330
- {
331
- Discriminator: "MapKey",
332
- Key: { Item1: delta.value[0], Item2: value[0] },
333
- },
334
- `[MapKey][${delta.value[0]}]${value[1]}`,
335
- delta.flags
336
- ? [
337
- [delta.flags, `[MapKey][${delta.value[0]}]${value[1]}`],
338
- ...value[2],
339
- ]
340
- : value[2],
341
- ]),
342
- );
343
- }
344
- if (delta.kind == "MapValue") {
345
- return DispatchDeltaTransfer.Default.FromDelta(
346
- toRawObject,
347
- parseCustomDelta,
348
- )(delta.value[1]).Then((value) =>
349
- ValueOrErrors.Default.return([
350
- {
351
- Discriminator: "MapValue",
352
- Value: { Item1: delta.value[0], Item2: value[0] },
353
- },
354
- `[MapValue][${delta.value[0]}]${value[1]}`,
355
- delta.flags
356
- ? [
357
- [delta.flags, `[MapValue][${delta.value[0]}]${value[1]}`],
358
- ...value[2],
359
- ]
360
- : value[2],
361
- ]),
362
- );
363
- }
364
- if (delta.kind == "MapAdd") {
365
- return toRawObject(
366
- delta.keyValue[0],
367
- delta.keyType,
368
- delta.keyState,
369
- ).Then((key) =>
370
- toRawObject(
371
- delta.keyValue[1],
372
- delta.valueType,
373
- delta.valueState,
374
- ).Then((value) =>
375
- ValueOrErrors.Default.return([
376
- {
377
- Discriminator: "MapAdd",
378
- Add: { Item1: key, Item2: value },
379
- },
380
- `[MapAdd]`,
381
- delta.flags ? [[delta.flags, "[MapAdd]"]] : [],
382
- ]),
383
- ),
384
- );
385
- }
386
- if (delta.kind == "MapRemove") {
387
- return ValueOrErrors.Default.return([
388
- {
389
- Discriminator: "MapRemove",
390
- Remove: delta.index,
391
- },
392
- `[MapRemove]`,
393
- delta.flags ? [[delta.flags, "[MapRemove]"]] : [],
394
- ]);
395
- }
396
- if (delta.kind == "RecordReplace") {
397
- if (delta.type.kind != "lookup") {
398
- return ValueOrErrors.Default.throwOne(
399
- `Error: cannot process non look up record delta ${delta}, not currently supported.`,
400
- );
401
- }
402
- const lookupName = delta.type.name;
403
- return toRawObject(delta.replace, delta.type, delta.state).Then(
404
- (value) =>
405
- ValueOrErrors.Default.return([
406
- {
407
- Discriminator: "Replace",
408
- Replace: value,
409
- },
410
- `[${lookupName}Replace]`,
411
- delta.flags ? [[delta.flags, `[${lookupName}Replace]`]] : [],
412
- ]),
413
- );
414
- }
415
- if (delta.kind == "RecordField") {
416
- return DispatchDeltaTransfer.Default.FromDelta(
417
- toRawObject,
418
- parseCustomDelta,
419
- )(delta.field[1]).Then((value) =>
420
- ValueOrErrors.Default.return([
421
- {
422
- Discriminator: delta.field[0],
423
- [delta.field[0]]: value[0],
424
- },
425
- `[RecordField][${delta.field[0]}]${value[1]}`,
426
- delta.flags
427
- ? [
428
- [
429
- delta.flags,
430
- `[RecordField][${delta.field[0]}]${value[1]}`,
431
- ],
432
- ...value[2],
433
- ]
434
- : value[2],
435
- ]),
436
- );
437
- }
438
- if (delta.kind == "UnionReplace") {
439
- return toRawObject(delta.replace, delta.type, delta.state).Then(
440
- (value) =>
441
- ValueOrErrors.Default.return([
442
- {
443
- Discriminator: "UnionReplace",
444
- Replace: value,
445
- },
446
- "[UnionReplace]",
447
- delta.flags ? [[delta.flags, "[UnionReplace]"]] : [],
448
- ]),
449
- );
450
- }
451
- if (delta.kind == "UnionCase") {
452
- return DispatchDeltaTransfer.Default.FromDelta(
453
- toRawObject,
454
- parseCustomDelta,
455
- )(delta.caseName[1]).Then((value) =>
456
- ValueOrErrors.Default.return([
457
- {
458
- Discriminator: delta.caseName[0],
459
- [delta.caseName[0]]: value[0],
460
- },
461
- `[UnionCase][${delta.caseName[0]}]`,
462
- delta.flags
463
- ? [
464
- [delta.flags, `[UnionCase][${delta.caseName[0]}]`],
465
- ...value[2],
466
- ]
467
- : value[2],
468
- ]),
469
- );
470
- }
471
- if (delta.kind == "TupleReplace") {
472
- return toRawObject(delta.replace, delta.type, delta.state).Then(
473
- (value) =>
474
- ValueOrErrors.Default.return([
475
- {
476
- Discriminator: "TupleReplace",
477
- Replace: value,
478
- },
479
- "[TupleReplace]",
480
- delta.flags ? [[delta.flags, "[TupleReplace]"]] : [],
481
- ]),
482
- );
483
- }
484
- if (delta.kind == "TupleCase") {
485
- return DispatchDeltaTransfer.Default.FromDelta(
486
- toRawObject,
487
- parseCustomDelta,
488
- )(delta.item[1]).Then((value) =>
489
- ValueOrErrors.Default.return([
490
- {
491
- Discriminator: `Tuple${delta.tupleType.args.length}Item${delta.item[0] + 1}`,
492
- [`Item${delta.item[0] + 1}`]: value[0],
493
- },
494
- `[TupleCase][${delta.item[0] + 1}]${value[1]}`,
495
- delta.flags
496
- ? [
497
- [
498
- delta.flags,
499
- `[TupleCase][${delta.item[0] + 1}]${value[1]}`,
500
- ],
501
- ...value[2],
502
- ]
503
- : value[2],
504
- ]),
505
- );
506
- }
507
- if (delta.kind == "TableValue") {
508
- return DispatchDeltaTransfer.Default.FromDelta(
509
- toRawObject,
510
- parseCustomDelta,
511
- )(delta.nestedDelta).Then((value) =>
512
- ValueOrErrors.Default.return([
513
- {
514
- Discriminator: "TableValue",
515
- Value: { Item1: delta.id, Item2: value[0] },
516
- },
517
- `[TableValue][${delta.id}]${value[1]}`,
518
- delta.flags
519
- ? [
520
- [delta.flags, `[TableValue][${delta.id}]${value[1]}`],
521
- ...value[2],
522
- ]
523
- : value[2],
524
- ]),
525
- );
526
- }
527
- if (delta.kind == "TableValueAll") {
528
- return DispatchDeltaTransfer.Default.FromDelta(
529
- toRawObject,
530
- parseCustomDelta,
531
- )(delta.nestedDelta).Then((value) =>
532
- ValueOrErrors.Default.return([
533
- {
534
- Discriminator: "TableValueAll",
535
- ValueAll: value[0],
536
- },
537
- `[TableValueAll]${value[1]}`,
538
- delta.flags
539
- ? [[delta.flags, `[TableValueAll]${value[1]}`], ...value[2]]
540
- : value[2],
541
- ]),
542
- );
543
- }
544
- if (delta.kind == "TableAddEmpty") {
545
- return ValueOrErrors.Default.return([
546
- {
547
- Discriminator: "TableAddEmpty",
548
- },
549
- `[TableAddEmpty]`,
550
- delta.flags ? [[delta.flags, "[TableAddEmpty]"]] : [],
551
- ]);
552
- }
553
- if (delta.kind == "TableRemove") {
554
- return ValueOrErrors.Default.return([
555
- {
556
- Discriminator: "TableRemoveAt",
557
- RemoveAt: delta.id,
558
- },
559
- `[TableRemoveAt][${delta.id}]`,
560
- delta.flags ? [[delta.flags, `[TableRemoveAt][${delta.id}]`]] : [],
561
- ]);
562
- }
563
- if (delta.kind == "TableDuplicate") {
564
- return ValueOrErrors.Default.return([
565
- {
566
- Discriminator: "TableDuplicateAt",
567
- DuplicateAt: delta.id,
568
- },
569
- `[TableDuplicateAt][${delta.id}]`,
570
- delta.flags
571
- ? [[delta.flags, `[TableDuplicateAt][${delta.id}]`]]
572
- : [],
573
- ]);
574
- }
575
- if (delta.kind == "TableMoveTo") {
576
- return ValueOrErrors.Default.return([
577
- {
578
- Discriminator: "TableMoveFromTo",
579
- MoveFromTo: [delta.id, delta.to],
580
- },
581
- `[TableMoveFromTo][${delta.id}][${delta.to}]`,
582
- delta.flags
583
- ? [[delta.flags, `[TableMoveFromTo][${delta.id}][${delta.to}]`]]
584
- : [],
585
- ]);
586
- }
587
- if (delta.kind == "OneValue") {
588
- return DispatchDeltaTransfer.Default.FromDelta(
589
- toRawObject,
590
- parseCustomDelta,
591
- )(delta.nestedDelta).Then((value) =>
592
- ValueOrErrors.Default.return([
593
- {
594
- Discriminator: "OneValue",
595
- Value: value[0],
596
- },
597
- `[OneValue]${value[1]}`,
598
- delta.flags
599
- ? [[delta.flags, `[OneValue]${value[1]}`], ...value[2]]
600
- : value[2],
601
- ]),
602
- );
603
- }
604
- if (delta.kind == "OneReplace") {
605
- if (delta.type.kind != "one") {
606
- return ValueOrErrors.Default.throwOne(
607
- `Error: one expected but received ${JSON.stringify(delta.type)} in OneReplace.`,
608
- );
609
- }
610
- return toRawObject(delta.replace, delta.type.arg, unit).Then(
611
- (value) => {
612
- return ValueOrErrors.Default.return([
613
- {
614
- Discriminator: "OneReplace",
615
- Replace: value,
616
- },
617
- `[OneReplace]`,
618
- delta.flags ? [[delta.flags, `[OneReplace]`]] : [],
619
- ]);
620
- },
621
- );
622
- }
623
- if (delta.kind == "OneCreateValue") {
624
- if (delta.type.kind != "one") {
625
- return ValueOrErrors.Default.throwOne(
626
- `Error: one expected but received ${JSON.stringify(delta.type)} in OneCreateValue.`,
627
- );
628
- }
629
- return toRawObject(delta.value, delta.type.arg, unit).Then((value) =>
630
- ValueOrErrors.Default.return([
631
- {
632
- Discriminator: "OneCreateValue",
633
- CreateValue: value,
634
- },
635
- `[OneCreateValue]`,
636
- delta.flags ? [[delta.flags, `[OneCreateValue]`]] : [],
637
- ]),
638
- );
639
- }
640
- // TODO -- suspicious
641
- if (delta.kind == "OneDeleteValue") {
642
- return ValueOrErrors.Default.return([
643
- {
644
- Discriminator: "OneDeleteValue",
645
- DeleteValue: unit,
646
- },
647
- `[OneDeleteValue]`,
648
- delta.flags ? [[delta.flags, `[OneDeleteValue]`]] : [],
649
- ]);
650
- }
651
- if (delta.kind == "CustomDelta") {
652
- return parseCustomDelta(
653
- toRawObject,
654
- DispatchDeltaTransfer.Default.FromDelta(
655
- toRawObject,
656
- parseCustomDelta,
657
- ),
658
- )(delta).Then((value) =>
659
- ValueOrErrors.Default.return([
660
- Object.assign({}, value[0]),
661
- value[1],
662
- delta.flags ? [[delta.flags, value[1]], ...value[2]] : value[2],
663
- ]),
664
- );
665
- }
666
- return ValueOrErrors.Default.throwOne(
667
- `Error: cannot process delta ${delta}, not currently supported.`,
668
- );
669
- })();
670
- return result.MapErrors((errors) =>
671
- errors.map(
672
- (error) =>
673
- `${error}\n...When dispatching delta: ${JSON.stringify(delta, null, 2)}`,
674
- ),
675
- );
3
+ Default: {
4
+ FromDelta: (toRawObject, parseCustomDelta) => (delta) => {
5
+ const result = (() => {
6
+ if (delta.kind == "NumberReplace") {
7
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
8
+ {
9
+ Discriminator: "NumberReplace",
10
+ Replace: value,
11
+ },
12
+ "[NumberReplace]",
13
+ delta.flags ? [[delta.flags, "[NumberReplace]"]] : [],
14
+ ]));
15
+ }
16
+ if (delta.kind == "StringReplace") {
17
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
18
+ {
19
+ Discriminator: "StringReplace",
20
+ Replace: value,
21
+ },
22
+ "[StringReplace]",
23
+ delta.flags ? [[delta.flags, "[StringReplace]"]] : [],
24
+ ]));
25
+ }
26
+ if (delta.kind == "BoolReplace") {
27
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
28
+ {
29
+ Discriminator: "BoolReplace",
30
+ Replace: value,
31
+ },
32
+ "[BoolReplace]",
33
+ delta.flags ? [[delta.flags, "[BoolReplace]"]] : [],
34
+ ]));
35
+ }
36
+ if (delta.kind == "TimeReplace") {
37
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
38
+ {
39
+ Discriminator: "TimeReplace",
40
+ Replace: value,
41
+ },
42
+ "[TimeReplace]",
43
+ delta.flags ? [[delta.flags, "[TimeReplace]"]] : [],
44
+ ]));
45
+ }
46
+ if (delta.kind == "GuidReplace") {
47
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
48
+ {
49
+ Discriminator: "GuidReplace",
50
+ Replace: value,
51
+ },
52
+ "[GuidReplace]",
53
+ delta.flags ? [[delta.flags, "[GuidReplace]"]] : [],
54
+ ]));
55
+ }
56
+ if (delta.kind == "UnitReplace") {
57
+ return ValueOrErrors.Default.return([
58
+ {},
59
+ "UnitReplace",
60
+ delta.flags ? [[delta.flags, "UnitReplace"]] : [],
61
+ ]);
62
+ }
63
+ if (delta.kind == "OptionReplace") {
64
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
65
+ {
66
+ Discriminator: "OptionReplace",
67
+ Replace: value,
68
+ },
69
+ "[OptionReplace]",
70
+ delta.flags ? [[delta.flags, "[OptionReplace]"]] : [],
71
+ ]));
72
+ }
73
+ if (delta.kind == "OptionValue") {
74
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.value).Then((value) => ValueOrErrors.Default.return([
75
+ {
76
+ Discriminator: "OptionValue",
77
+ Value: value[0],
78
+ },
79
+ `[OptionValue]${value[1]}`,
80
+ delta.flags
81
+ ? [[delta.flags, `[OptionValue]${value[1]}`], ...value[2]]
82
+ : value[2],
83
+ ]));
84
+ }
85
+ if (delta.kind == "SumReplace") {
86
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
87
+ {
88
+ Discriminator: "SumReplace",
89
+ Replace: value,
90
+ },
91
+ "[SumReplace]",
92
+ delta.flags ? [[delta.flags, "[SumReplace]"]] : [],
93
+ ]));
94
+ }
95
+ if (delta.kind == "SumLeft") {
96
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.value).Then((value) => ValueOrErrors.Default.return([
97
+ {
98
+ Discriminator: "SumLeft",
99
+ Left: value[0],
100
+ },
101
+ `[SumLeft]${value[1]}`,
102
+ delta.flags
103
+ ? [[delta.flags, `[SumLeft]${value[1]}`], ...value[2]]
104
+ : value[2],
105
+ ]));
106
+ }
107
+ if (delta.kind == "SumRight") {
108
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.value).Then((value) => ValueOrErrors.Default.return([
109
+ {
110
+ Discriminator: "SumRight",
111
+ Right: value[0],
112
+ },
113
+ `[SumRight]${value[1]}`,
114
+ delta.flags
115
+ ? [[delta.flags, "[SumRight]"], ...value[2]]
116
+ : value[2],
117
+ ]));
118
+ }
119
+ if (delta.kind == "ArrayReplace") {
120
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
121
+ {
122
+ Discriminator: "ArrayReplace",
123
+ Replace: value,
124
+ },
125
+ "[ArrayReplace]",
126
+ delta.flags ? [[delta.flags, "[ArrayReplace]"]] : [],
127
+ ]));
128
+ }
129
+ if (delta.kind == "ArrayValue") {
130
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.value[1]).Then((value) => ValueOrErrors.Default.return([
131
+ {
132
+ Discriminator: "ArrayValue",
133
+ Value: {
134
+ Item1: delta.value[0],
135
+ Item2: value[0],
136
+ },
137
+ },
138
+ `[ArrayValue][${delta.value[0]}]${value[1]}`,
139
+ delta.flags
140
+ ? [
141
+ [
142
+ delta.flags,
143
+ `[ArrayValue][${delta.value[0]}]${value[1]}`,
144
+ ],
145
+ ...value[2],
146
+ ]
147
+ : value[2],
148
+ ]));
149
+ }
150
+ if (delta.kind == "ArrayValueAll") {
151
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.nestedDelta).Then((value) => ValueOrErrors.Default.return([
152
+ {
153
+ Discriminator: "ArrayValueAll",
154
+ ValueAll: value[0],
155
+ },
156
+ `[ArrayValueAll]${value[1]}`,
157
+ delta.flags
158
+ ? [[delta.flags, `[ArrayValueAll]${value[1]}`], ...value[2]]
159
+ : value[2],
160
+ ]));
161
+ }
162
+ if (delta.kind == "ArrayAdd") {
163
+ return toRawObject(delta.value, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
164
+ {
165
+ Discriminator: "ArrayAdd",
166
+ Add: value,
167
+ },
168
+ "[ArrayAdd]",
169
+ delta.flags ? [[delta.flags, "[ArrayAdd]"]] : [],
170
+ ]));
171
+ }
172
+ if (delta.kind == "ArrayAddAt") {
173
+ return toRawObject(delta.value[1], delta.elementType, delta.elementState).Then((element) => ValueOrErrors.Default.return([
174
+ {
175
+ Discriminator: "ArrayAddAt",
176
+ AddAt: { Item1: delta.value[0], Item2: element },
177
+ },
178
+ `[ArrayAddAt][${delta.value[0]}]`,
179
+ delta.flags
180
+ ? [[delta.flags, `[ArrayAddAt][${delta.value[0]}]`]]
181
+ : [],
182
+ ]));
183
+ }
184
+ if (delta.kind == "ArrayRemoveAt") {
185
+ return ValueOrErrors.Default.return([
186
+ {
187
+ Discriminator: "ArrayRemoveAt",
188
+ RemoveAt: delta.index,
189
+ },
190
+ `[ArrayRemoveAt]`,
191
+ delta.flags ? [[delta.flags, "[ArrayRemoveAt]"]] : [],
192
+ ]);
193
+ }
194
+ if (delta.kind == "ArrayRemoveAll") {
195
+ return ValueOrErrors.Default.return([
196
+ {
197
+ Discriminator: "ArrayRemoveAll",
198
+ RemoveAll: unit,
199
+ },
200
+ `[ArrayRemoveAll]`,
201
+ delta.flags ? [[delta.flags, "[ArrayRemoveAll]"]] : [],
202
+ ]);
203
+ }
204
+ if (delta.kind == "ArrayMoveFromTo") {
205
+ return ValueOrErrors.Default.return([
206
+ {
207
+ Discriminator: "ArrayMoveFromTo",
208
+ MoveFromTo: { Item1: delta.from, Item2: delta.to },
209
+ },
210
+ `[ArrayMoveFromTo]`,
211
+ delta.flags ? [[delta.flags, "[ArrayMoveFromTo]"]] : [],
212
+ ]);
213
+ }
214
+ if (delta.kind == "ArrayDuplicateAt") {
215
+ return ValueOrErrors.Default.return([
216
+ {
217
+ Discriminator: "ArrayDuplicateAt",
218
+ DuplicateAt: delta.index,
219
+ },
220
+ `[ArrayDuplicateAt]`,
221
+ delta.flags ? [[delta.flags, "[ArrayDuplicateAt]"]] : [],
222
+ ]);
223
+ }
224
+ if (delta.kind == "SetReplace") {
225
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
226
+ {
227
+ Discriminator: "SetReplace",
228
+ Replace: value,
229
+ },
230
+ "[SetReplace]",
231
+ delta.flags ? [[delta.flags, "[SetReplace]"]] : [],
232
+ ]));
233
+ }
234
+ if (delta.kind == "SetValue") {
235
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.value[1]).Then((value) => ValueOrErrors.Default.return([
236
+ {
237
+ Discriminator: "SetValue",
238
+ Value: { Item1: delta.value[0], Item2: value[0] },
239
+ },
240
+ `[SetValue][${delta.value[0]}]${value[1]}`,
241
+ delta.flags
242
+ ? [
243
+ [delta.flags, `[SetValue][${delta.value[0]}]${value[1]}`],
244
+ ...value[2],
245
+ ]
246
+ : value[2],
247
+ ]));
248
+ }
249
+ if (delta.kind == "SetAdd") {
250
+ return toRawObject(delta.value, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
251
+ {
252
+ Discriminator: "SetAdd",
253
+ Add: value,
254
+ },
255
+ `[SetAdd]`,
256
+ delta.flags ? [[delta.flags, "[SetAdd]"]] : [],
257
+ ]));
258
+ }
259
+ if (delta.kind == "SetRemove") {
260
+ return toRawObject(delta.value, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
261
+ {
262
+ Discriminator: "SetRemove",
263
+ Remove: value,
264
+ },
265
+ `[SetRemove]`,
266
+ delta.flags ? [[delta.flags, "[SetRemove]"]] : [],
267
+ ]));
268
+ }
269
+ if (delta.kind == "MapReplace") {
270
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
271
+ {
272
+ Discriminator: "MapReplace",
273
+ Replace: value,
274
+ },
275
+ "[MapReplace]",
276
+ delta.flags ? [[delta.flags, "[MapReplace]"]] : [],
277
+ ]));
278
+ }
279
+ if (delta.kind == "MapKey") {
280
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.value[1]).Then((value) => ValueOrErrors.Default.return([
281
+ {
282
+ Discriminator: "MapKey",
283
+ Key: { Item1: delta.value[0], Item2: value[0] },
284
+ },
285
+ `[MapKey][${delta.value[0]}]${value[1]}`,
286
+ delta.flags
287
+ ? [
288
+ [delta.flags, `[MapKey][${delta.value[0]}]${value[1]}`],
289
+ ...value[2],
290
+ ]
291
+ : value[2],
292
+ ]));
293
+ }
294
+ if (delta.kind == "MapValue") {
295
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.value[1]).Then((value) => ValueOrErrors.Default.return([
296
+ {
297
+ Discriminator: "MapValue",
298
+ Value: { Item1: delta.value[0], Item2: value[0] },
299
+ },
300
+ `[MapValue][${delta.value[0]}]${value[1]}`,
301
+ delta.flags
302
+ ? [
303
+ [delta.flags, `[MapValue][${delta.value[0]}]${value[1]}`],
304
+ ...value[2],
305
+ ]
306
+ : value[2],
307
+ ]));
308
+ }
309
+ if (delta.kind == "MapAdd") {
310
+ return toRawObject(delta.keyValue[0], delta.keyType, delta.keyState).Then((key) => toRawObject(delta.keyValue[1], delta.valueType, delta.valueState).Then((value) => ValueOrErrors.Default.return([
311
+ {
312
+ Discriminator: "MapAdd",
313
+ Add: { Item1: key, Item2: value },
314
+ },
315
+ `[MapAdd]`,
316
+ delta.flags ? [[delta.flags, "[MapAdd]"]] : [],
317
+ ])));
318
+ }
319
+ if (delta.kind == "MapRemove") {
320
+ return ValueOrErrors.Default.return([
321
+ {
322
+ Discriminator: "MapRemove",
323
+ Remove: delta.index,
324
+ },
325
+ `[MapRemove]`,
326
+ delta.flags ? [[delta.flags, "[MapRemove]"]] : [],
327
+ ]);
328
+ }
329
+ if (delta.kind == "RecordReplace") {
330
+ if (delta.type.kind != "lookup") {
331
+ return ValueOrErrors.Default.throwOne(`Error: cannot process non look up record delta ${delta}, not currently supported.`);
332
+ }
333
+ const lookupName = delta.type.name;
334
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
335
+ {
336
+ Discriminator: "Replace",
337
+ Replace: value,
338
+ },
339
+ `[${lookupName}Replace]`,
340
+ delta.flags ? [[delta.flags, `[${lookupName}Replace]`]] : [],
341
+ ]));
342
+ }
343
+ if (delta.kind == "RecordField") {
344
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.field[1]).Then((value) => ValueOrErrors.Default.return([
345
+ {
346
+ Discriminator: delta.field[0],
347
+ [delta.field[0]]: value[0],
348
+ },
349
+ `[RecordField][${delta.field[0]}]${value[1]}`,
350
+ delta.flags
351
+ ? [
352
+ [
353
+ delta.flags,
354
+ `[RecordField][${delta.field[0]}]${value[1]}`,
355
+ ],
356
+ ...value[2],
357
+ ]
358
+ : value[2],
359
+ ]));
360
+ }
361
+ if (delta.kind == "UnionReplace") {
362
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
363
+ {
364
+ Discriminator: "UnionReplace",
365
+ Replace: value,
366
+ },
367
+ "[UnionReplace]",
368
+ delta.flags ? [[delta.flags, "[UnionReplace]"]] : [],
369
+ ]));
370
+ }
371
+ if (delta.kind == "UnionCase") {
372
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.caseName[1]).Then((value) => ValueOrErrors.Default.return([
373
+ {
374
+ Discriminator: delta.caseName[0],
375
+ [delta.caseName[0]]: value[0],
376
+ },
377
+ `[UnionCase][${delta.caseName[0]}]`,
378
+ delta.flags
379
+ ? [
380
+ [delta.flags, `[UnionCase][${delta.caseName[0]}]`],
381
+ ...value[2],
382
+ ]
383
+ : value[2],
384
+ ]));
385
+ }
386
+ if (delta.kind == "TupleReplace") {
387
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
388
+ {
389
+ Discriminator: "TupleReplace",
390
+ Replace: value,
391
+ },
392
+ "[TupleReplace]",
393
+ delta.flags ? [[delta.flags, "[TupleReplace]"]] : [],
394
+ ]));
395
+ }
396
+ if (delta.kind == "TupleCase") {
397
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.item[1]).Then((value) => ValueOrErrors.Default.return([
398
+ {
399
+ Discriminator: `Tuple${delta.tupleType.args.length}Item${delta.item[0] + 1}`,
400
+ [`Item${delta.item[0] + 1}`]: value[0],
401
+ },
402
+ `[TupleCase][${delta.item[0] + 1}]${value[1]}`,
403
+ delta.flags
404
+ ? [
405
+ [
406
+ delta.flags,
407
+ `[TupleCase][${delta.item[0] + 1}]${value[1]}`,
408
+ ],
409
+ ...value[2],
410
+ ]
411
+ : value[2],
412
+ ]));
413
+ }
414
+ if (delta.kind == "TableValue") {
415
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.nestedDelta).Then((value) => ValueOrErrors.Default.return([
416
+ {
417
+ Discriminator: "TableValue",
418
+ Value: { Item1: delta.id, Item2: value[0] },
419
+ },
420
+ `[TableValue][${delta.id}]${value[1]}`,
421
+ delta.flags
422
+ ? [
423
+ [delta.flags, `[TableValue][${delta.id}]${value[1]}`],
424
+ ...value[2],
425
+ ]
426
+ : value[2],
427
+ ]));
428
+ }
429
+ if (delta.kind == "TableValueAll") {
430
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.nestedDelta).Then((value) => ValueOrErrors.Default.return([
431
+ {
432
+ Discriminator: "TableValueAll",
433
+ ValueAll: value[0],
434
+ },
435
+ `[TableValueAll]${value[1]}`,
436
+ delta.flags
437
+ ? [[delta.flags, `[TableValueAll]${value[1]}`], ...value[2]]
438
+ : value[2],
439
+ ]));
440
+ }
441
+ if (delta.kind == "TableAddEmpty") {
442
+ return ValueOrErrors.Default.return([
443
+ {
444
+ Discriminator: "TableAddEmpty",
445
+ },
446
+ `[TableAddEmpty]`,
447
+ delta.flags ? [[delta.flags, "[TableAddEmpty]"]] : [],
448
+ ]);
449
+ }
450
+ if (delta.kind == "TableRemove") {
451
+ return ValueOrErrors.Default.return([
452
+ {
453
+ Discriminator: "TableRemoveAt",
454
+ RemoveAt: delta.id,
455
+ },
456
+ `[TableRemoveAt][${delta.id}]`,
457
+ delta.flags
458
+ ? [[delta.flags, `[TableRemoveAt][${delta.id}]`]]
459
+ : [],
460
+ ]);
461
+ }
462
+ if (delta.kind == "TableRemoveAll") {
463
+ return ValueOrErrors.Default.return([
464
+ {
465
+ Discriminator: "TableRemoveAll",
466
+ RemoveAll: unit,
467
+ },
468
+ `[TableRemoveAll]`,
469
+ delta.flags ? [[delta.flags, "[TableRemoveAll]"]] : [],
470
+ ]);
471
+ }
472
+ if (delta.kind == "TableDuplicate") {
473
+ return ValueOrErrors.Default.return([
474
+ {
475
+ Discriminator: "TableDuplicateAt",
476
+ DuplicateAt: delta.id,
477
+ },
478
+ `[TableDuplicateAt][${delta.id}]`,
479
+ delta.flags
480
+ ? [[delta.flags, `[TableDuplicateAt][${delta.id}]`]]
481
+ : [],
482
+ ]);
483
+ }
484
+ if (delta.kind == "TableMoveTo") {
485
+ return ValueOrErrors.Default.return([
486
+ {
487
+ Discriminator: "TableMoveFromTo",
488
+ MoveFromTo: [delta.id, delta.to],
489
+ },
490
+ `[TableMoveFromTo][${delta.id}][${delta.to}]`,
491
+ delta.flags
492
+ ? [[delta.flags, `[TableMoveFromTo][${delta.id}][${delta.to}]`]]
493
+ : [],
494
+ ]);
495
+ }
496
+ if (delta.kind == "OneValue") {
497
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.nestedDelta).Then((value) => ValueOrErrors.Default.return([
498
+ {
499
+ Discriminator: "OneValue",
500
+ Value: value[0],
501
+ },
502
+ `[OneValue]${value[1]}`,
503
+ delta.flags
504
+ ? [[delta.flags, `[OneValue]${value[1]}`], ...value[2]]
505
+ : value[2],
506
+ ]));
507
+ }
508
+ if (delta.kind == "OneReplace") {
509
+ if (delta.type.kind != "one") {
510
+ return ValueOrErrors.Default.throwOne(`Error: one expected but received ${JSON.stringify(delta.type)} in OneReplace.`);
511
+ }
512
+ return toRawObject(delta.replace, delta.type.arg, unit).Then((value) => {
513
+ return ValueOrErrors.Default.return([
514
+ {
515
+ Discriminator: "OneReplace",
516
+ Replace: value,
517
+ },
518
+ `[OneReplace]`,
519
+ delta.flags ? [[delta.flags, `[OneReplace]`]] : [],
520
+ ]);
521
+ });
522
+ }
523
+ if (delta.kind == "OneCreateValue") {
524
+ if (delta.type.kind != "one") {
525
+ return ValueOrErrors.Default.throwOne(`Error: one expected but received ${JSON.stringify(delta.type)} in OneCreateValue.`);
526
+ }
527
+ return toRawObject(delta.value, delta.type.arg, unit).Then((value) => ValueOrErrors.Default.return([
528
+ {
529
+ Discriminator: "OneCreateValue",
530
+ CreateValue: value,
531
+ },
532
+ `[OneCreateValue]`,
533
+ delta.flags ? [[delta.flags, `[OneCreateValue]`]] : [],
534
+ ]));
535
+ }
536
+ // TODO -- suspicious
537
+ if (delta.kind == "OneDeleteValue") {
538
+ return ValueOrErrors.Default.return([
539
+ {
540
+ Discriminator: "OneDeleteValue",
541
+ DeleteValue: unit,
542
+ },
543
+ `[OneDeleteValue]`,
544
+ delta.flags ? [[delta.flags, `[OneDeleteValue]`]] : [],
545
+ ]);
546
+ }
547
+ if (delta.kind == "CustomDelta") {
548
+ return parseCustomDelta(toRawObject, DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta))(delta).Then((value) => ValueOrErrors.Default.return([
549
+ Object.assign({}, value[0]),
550
+ value[1],
551
+ delta.flags ? [[delta.flags, value[1]], ...value[2]] : value[2],
552
+ ]));
553
+ }
554
+ return ValueOrErrors.Default.throwOne(`Error: cannot process delta ${delta}, not currently supported.`);
555
+ })();
556
+ return result.MapErrors((errors) => errors.map((error) => `${error}\n...When dispatching delta: ${JSON.stringify(delta, null, 2)}`));
557
+ },
676
558
  },
677
- },
678
559
  };
679
- //# sourceMappingURL=state.js.map
560
+ //# sourceMappingURL=state.js.map