ballerina-core 1.0.245 → 1.0.246

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/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/domains/abstract-renderers/base-64-file/state.js +3 -3
  82. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js +23 -49
  83. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js +3 -3
  84. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js +24 -52
  85. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +6 -18
  86. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +30 -64
  87. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +6 -9
  88. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +60 -153
  89. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.js +1 -1
  90. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js +50 -127
  91. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +22 -40
  92. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +13 -31
  93. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts +2 -2
  94. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts.map +1 -1
  95. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +142 -417
  96. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js.map +1 -1
  97. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.js +1 -1
  98. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js +8 -28
  99. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +18 -61
  100. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +90 -329
  101. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.js +3 -3
  102. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js +23 -54
  103. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +10 -22
  104. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +31 -49
  105. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +10 -29
  106. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js +2 -2
  107. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js +26 -47
  108. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +40 -88
  109. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +152 -386
  110. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +10 -19
  111. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +21 -78
  112. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +11 -32
  113. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +77 -222
  114. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +13 -35
  115. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +68 -195
  116. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +13 -36
  117. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +106 -246
  118. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.js +3 -3
  119. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js +23 -54
  120. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +27 -40
  121. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.js +3 -3
  122. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js +26 -58
  123. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +7 -22
  124. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +53 -188
  125. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js +2 -2
  126. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js +24 -57
  127. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +20 -70
  128. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +27 -61
  129. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +19 -38
  130. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +15 -43
  131. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts +4 -0
  132. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts.map +1 -1
  133. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +137 -301
  134. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts +6 -2
  135. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts.map +1 -1
  136. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +238 -622
  137. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js.map +1 -1
  138. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +8 -20
  139. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +35 -132
  140. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +8 -21
  141. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +32 -103
  142. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +9 -12
  143. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +20 -54
  144. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts +8 -0
  145. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts.map +1 -1
  146. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +537 -676
  147. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js.map +1 -1
  148. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +18 -58
  149. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +14 -45
  150. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +18 -76
  151. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +24 -82
  152. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +8 -37
  153. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +36 -120
  154. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +63 -145
  155. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +12 -44
  156. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +4 -14
  157. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +25 -81
  158. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +24 -82
  159. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +20 -63
  160. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.d.ts.map +1 -1
  161. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +74 -247
  162. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js.map +1 -1
  163. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +13 -61
  164. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +15 -64
  165. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +45 -144
  166. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js +95 -203
  167. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js +37 -79
  168. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.js +2 -2
  169. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.js +17 -19
  170. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js +11 -58
  171. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js +25 -73
  172. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js +95 -205
  173. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js +37 -78
  174. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.js +2 -2
  175. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.js +17 -19
  176. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js +11 -58
  177. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js +25 -71
  178. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js +85 -163
  179. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js +4 -10
  180. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js +27 -72
  181. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js +423 -773
  182. package/bin/src/forms/domains/dispatched-forms/runner/state.js +38 -62
  183. package/bin/src/forms/domains/dispatched-forms/runner/template.js +25 -78
  184. package/bin/src/forms/domains/launcher/coroutines/runner.js +45 -120
  185. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +101 -240
  186. package/bin/src/forms/domains/launcher/domains/create/state.js +17 -62
  187. package/bin/src/forms/domains/launcher/domains/create/template.js +42 -84
  188. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +103 -242
  189. package/bin/src/forms/domains/launcher/domains/edit/state.js +17 -62
  190. package/bin/src/forms/domains/launcher/domains/edit/template.js +43 -86
  191. package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
  192. package/bin/src/forms/domains/launcher/domains/merger/state.js +26 -35
  193. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +42 -88
  194. package/bin/src/forms/domains/launcher/domains/passthrough/state.js +19 -44
  195. package/bin/src/forms/domains/launcher/domains/passthrough/template.js +34 -56
  196. package/bin/src/forms/domains/launcher/state.js +6 -6
  197. package/bin/src/forms/domains/launcher/template.js +85 -169
  198. package/bin/src/forms/domains/parser/coroutines/runner.js +25 -87
  199. package/bin/src/forms/domains/parser/domains/built-ins/state.js +533 -944
  200. package/bin/src/forms/domains/parser/domains/deltas/state.js +318 -444
  201. package/bin/src/forms/domains/parser/domains/injectables/state.js +26 -29
  202. package/bin/src/forms/domains/parser/domains/layout/state.d.ts +1 -1
  203. package/bin/src/forms/domains/parser/domains/layout/state.d.ts.map +1 -1
  204. package/bin/src/forms/domains/parser/domains/layout/state.js +183 -265
  205. package/bin/src/forms/domains/parser/domains/layout/state.js.map +1 -1
  206. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +162 -324
  207. package/bin/src/forms/domains/parser/domains/predicates/state.js +979 -1509
  208. package/bin/src/forms/domains/parser/domains/renderer/state.js +480 -1137
  209. package/bin/src/forms/domains/parser/domains/types/state.js +170 -355
  210. package/bin/src/forms/domains/parser/domains/validator/state.js +280 -417
  211. package/bin/src/forms/domains/parser/state.js +373 -612
  212. package/bin/src/forms/domains/parser/template.js +1 -1
  213. package/bin/src/forms/domains/primitives/domains/base-64-file/state.js +5 -5
  214. package/bin/src/forms/domains/primitives/domains/base-64-file/template.js +19 -38
  215. package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
  216. package/bin/src/forms/domains/primitives/domains/boolean/template.js +19 -38
  217. package/bin/src/forms/domains/primitives/domains/date/state.js +9 -18
  218. package/bin/src/forms/domains/primitives/domains/date/template.js +25 -51
  219. package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
  220. package/bin/src/forms/domains/primitives/domains/enum/template.js +48 -117
  221. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
  222. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +40 -99
  223. package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
  224. package/bin/src/forms/domains/primitives/domains/list/template.js +71 -200
  225. package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
  226. package/bin/src/forms/domains/primitives/domains/map/template.js +103 -294
  227. package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
  228. package/bin/src/forms/domains/primitives/domains/number/template.js +19 -38
  229. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +16 -33
  230. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +62 -171
  231. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.js +1 -1
  232. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.js +69 -182
  233. package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
  234. package/bin/src/forms/domains/primitives/domains/secret/template.js +19 -38
  235. package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
  236. package/bin/src/forms/domains/primitives/domains/string/template.js +22 -42
  237. package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
  238. package/bin/src/forms/domains/primitives/domains/sum/template.js +50 -141
  239. package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
  240. package/bin/src/forms/domains/primitives/domains/tuple/template.js +33 -100
  241. package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
  242. package/bin/src/forms/domains/primitives/domains/unit/template.js +9 -22
  243. package/bin/src/forms/domains/singleton/domains/form-label/state.d.ts +4 -4
  244. package/bin/src/forms/domains/singleton/domains/form-label/state.js +1 -1
  245. package/bin/src/forms/domains/singleton/state.js +10 -12
  246. package/bin/src/forms/domains/singleton/template.js +113 -288
  247. package/bin/src/fun/domains/curry/state.d.ts +2 -4
  248. package/bin/src/fun/domains/curry/state.js +1 -1
  249. package/bin/src/fun/domains/id/state.d.ts +1 -1
  250. package/bin/src/fun/domains/id/state.js +1 -1
  251. package/bin/src/fun/domains/predicate/domains/bool-expr.d.ts +41 -57
  252. package/bin/src/fun/domains/predicate/domains/bool-expr.js +67 -76
  253. package/bin/src/fun/domains/predicate/state.d.ts +7 -9
  254. package/bin/src/fun/domains/predicate/state.js +10 -14
  255. package/bin/src/fun/domains/simpleCallback/state.d.ts +1 -1
  256. package/bin/src/fun/domains/simpleCallback/state.js +1 -1
  257. package/bin/src/fun/domains/uncurry/state.d.ts +2 -4
  258. package/bin/src/fun/domains/uncurry/state.js +1 -1
  259. package/bin/src/fun/domains/unit/state.d.ts +1 -1
  260. package/bin/src/fun/domains/unit/state.js +1 -1
  261. package/bin/src/fun/domains/updater/domains/caseUpdater/state.d.ts +7 -22
  262. package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +10 -18
  263. package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +13 -24
  264. package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +10 -40
  265. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +13 -19
  266. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +9 -20
  267. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +13 -24
  268. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +11 -47
  269. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +8 -20
  270. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +5 -17
  271. package/bin/src/fun/domains/updater/domains/replaceWith/state.d.ts +1 -1
  272. package/bin/src/fun/domains/updater/domains/replaceWith/state.js +1 -1
  273. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts +4 -13
  274. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +4 -6
  275. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +22 -60
  276. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +31 -42
  277. package/bin/src/fun/domains/updater/state.d.ts +4 -4
  278. package/bin/src/fun/domains/updater/state.js +10 -12
  279. package/bin/src/fun/state.d.ts +3 -3
  280. package/bin/src/fun/state.js +7 -9
  281. package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
  282. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +20 -47
  283. package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
  284. package/bin/src/infinite-data-stream/state.d.ts +51 -84
  285. package/bin/src/infinite-data-stream/state.js +61 -125
  286. package/bin/src/infinite-data-stream/template.js +2 -3
  287. package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
  288. package/bin/src/math/domains/DOMRect/state.js +8 -10
  289. package/bin/src/math/domains/number/state.d.ts +5 -5
  290. package/bin/src/math/domains/number/state.js +5 -5
  291. package/bin/src/math/domains/rect/state.d.ts +8 -8
  292. package/bin/src/math/domains/rect/state.js +15 -16
  293. package/bin/src/math/domains/rgba/state.d.ts +17 -17
  294. package/bin/src/math/domains/rgba/state.js +81 -77
  295. package/bin/src/math/domains/size2/state.d.ts +8 -8
  296. package/bin/src/math/domains/size2/state.js +6 -6
  297. package/bin/src/math/domains/vector2/state.d.ts +10 -10
  298. package/bin/src/math/domains/vector2/state.js +8 -8
  299. package/bin/src/queue/state.d.ts +2 -2
  300. package/bin/src/queue/state.d.ts.map +1 -1
  301. package/bin/src/queue/state.js +2 -2
  302. package/bin/src/queue/state.js.map +1 -1
  303. package/bin/src/state/domains/repository/state.d.ts +9 -15
  304. package/bin/src/state/domains/repository/state.js +1 -1
  305. package/bin/src/template/state.js +115 -163
  306. package/bin/src/validation/state.js +45 -38
  307. package/bin/src/value/domains/mutable-value/state.js +2 -3
  308. package/bin/src/value/state.d.ts +9 -9
  309. package/bin/src/value/state.js +8 -11
  310. package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
  311. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +20 -55
  312. package/bin/src/value-infinite-data-stream/coroutines/runner.js +4 -6
  313. package/bin/src/value-infinite-data-stream/state.js +77 -199
  314. package/bin/src/value-infinite-data-stream/template.js +2 -4
  315. package/bin/src/visibility/state.d.ts +2 -5
  316. package/bin/src/visibility/state.js +1 -1
  317. package/package.json +1 -1
  318. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.ts +32 -15
  319. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.tsx +16 -3
  320. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.ts +1 -0
  321. package/src/forms/domains/parser/domains/layout/state.ts +11 -4
@@ -1,679 +1,540 @@
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 == "ArrayMoveFromTo") {
195
+ return ValueOrErrors.Default.return([
196
+ {
197
+ Discriminator: "ArrayMoveFromTo",
198
+ MoveFromTo: { Item1: delta.from, Item2: delta.to },
199
+ },
200
+ `[ArrayMoveFromTo]`,
201
+ delta.flags ? [[delta.flags, "[ArrayMoveFromTo]"]] : [],
202
+ ]);
203
+ }
204
+ if (delta.kind == "ArrayDuplicateAt") {
205
+ return ValueOrErrors.Default.return([
206
+ {
207
+ Discriminator: "ArrayDuplicateAt",
208
+ DuplicateAt: delta.index,
209
+ },
210
+ `[ArrayDuplicateAt]`,
211
+ delta.flags ? [[delta.flags, "[ArrayDuplicateAt]"]] : [],
212
+ ]);
213
+ }
214
+ if (delta.kind == "SetReplace") {
215
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
216
+ {
217
+ Discriminator: "SetReplace",
218
+ Replace: value,
219
+ },
220
+ "[SetReplace]",
221
+ delta.flags ? [[delta.flags, "[SetReplace]"]] : [],
222
+ ]));
223
+ }
224
+ if (delta.kind == "SetValue") {
225
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.value[1]).Then((value) => ValueOrErrors.Default.return([
226
+ {
227
+ Discriminator: "SetValue",
228
+ Value: { Item1: delta.value[0], Item2: value[0] },
229
+ },
230
+ `[SetValue][${delta.value[0]}]${value[1]}`,
231
+ delta.flags
232
+ ? [
233
+ [delta.flags, `[SetValue][${delta.value[0]}]${value[1]}`],
234
+ ...value[2],
235
+ ]
236
+ : value[2],
237
+ ]));
238
+ }
239
+ if (delta.kind == "SetAdd") {
240
+ return toRawObject(delta.value, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
241
+ {
242
+ Discriminator: "SetAdd",
243
+ Add: value,
244
+ },
245
+ `[SetAdd]`,
246
+ delta.flags ? [[delta.flags, "[SetAdd]"]] : [],
247
+ ]));
248
+ }
249
+ if (delta.kind == "SetRemove") {
250
+ return toRawObject(delta.value, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
251
+ {
252
+ Discriminator: "SetRemove",
253
+ Remove: value,
254
+ },
255
+ `[SetRemove]`,
256
+ delta.flags ? [[delta.flags, "[SetRemove]"]] : [],
257
+ ]));
258
+ }
259
+ if (delta.kind == "MapReplace") {
260
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
261
+ {
262
+ Discriminator: "MapReplace",
263
+ Replace: value,
264
+ },
265
+ "[MapReplace]",
266
+ delta.flags ? [[delta.flags, "[MapReplace]"]] : [],
267
+ ]));
268
+ }
269
+ if (delta.kind == "MapKey") {
270
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.value[1]).Then((value) => ValueOrErrors.Default.return([
271
+ {
272
+ Discriminator: "MapKey",
273
+ Key: { Item1: delta.value[0], Item2: value[0] },
274
+ },
275
+ `[MapKey][${delta.value[0]}]${value[1]}`,
276
+ delta.flags
277
+ ? [
278
+ [delta.flags, `[MapKey][${delta.value[0]}]${value[1]}`],
279
+ ...value[2],
280
+ ]
281
+ : value[2],
282
+ ]));
283
+ }
284
+ if (delta.kind == "MapValue") {
285
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.value[1]).Then((value) => ValueOrErrors.Default.return([
286
+ {
287
+ Discriminator: "MapValue",
288
+ Value: { Item1: delta.value[0], Item2: value[0] },
289
+ },
290
+ `[MapValue][${delta.value[0]}]${value[1]}`,
291
+ delta.flags
292
+ ? [
293
+ [delta.flags, `[MapValue][${delta.value[0]}]${value[1]}`],
294
+ ...value[2],
295
+ ]
296
+ : value[2],
297
+ ]));
298
+ }
299
+ if (delta.kind == "MapAdd") {
300
+ return toRawObject(delta.keyValue[0], delta.keyType, delta.keyState).Then((key) => toRawObject(delta.keyValue[1], delta.valueType, delta.valueState).Then((value) => ValueOrErrors.Default.return([
301
+ {
302
+ Discriminator: "MapAdd",
303
+ Add: { Item1: key, Item2: value },
304
+ },
305
+ `[MapAdd]`,
306
+ delta.flags ? [[delta.flags, "[MapAdd]"]] : [],
307
+ ])));
308
+ }
309
+ if (delta.kind == "MapRemove") {
310
+ return ValueOrErrors.Default.return([
311
+ {
312
+ Discriminator: "MapRemove",
313
+ Remove: delta.index,
314
+ },
315
+ `[MapRemove]`,
316
+ delta.flags ? [[delta.flags, "[MapRemove]"]] : [],
317
+ ]);
318
+ }
319
+ if (delta.kind == "RecordReplace") {
320
+ if (delta.type.kind != "lookup") {
321
+ return ValueOrErrors.Default.throwOne(`Error: cannot process non look up record delta ${delta}, not currently supported.`);
322
+ }
323
+ const lookupName = delta.type.name;
324
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
325
+ {
326
+ Discriminator: "Replace",
327
+ Replace: value,
328
+ },
329
+ `[${lookupName}Replace]`,
330
+ delta.flags ? [[delta.flags, `[${lookupName}Replace]`]] : [],
331
+ ]));
332
+ }
333
+ if (delta.kind == "RecordField") {
334
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.field[1]).Then((value) => ValueOrErrors.Default.return([
335
+ {
336
+ Discriminator: delta.field[0],
337
+ [delta.field[0]]: value[0],
338
+ },
339
+ `[RecordField][${delta.field[0]}]${value[1]}`,
340
+ delta.flags
341
+ ? [
342
+ [
343
+ delta.flags,
344
+ `[RecordField][${delta.field[0]}]${value[1]}`,
345
+ ],
346
+ ...value[2],
347
+ ]
348
+ : value[2],
349
+ ]));
350
+ }
351
+ if (delta.kind == "UnionReplace") {
352
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
353
+ {
354
+ Discriminator: "UnionReplace",
355
+ Replace: value,
356
+ },
357
+ "[UnionReplace]",
358
+ delta.flags ? [[delta.flags, "[UnionReplace]"]] : [],
359
+ ]));
360
+ }
361
+ if (delta.kind == "UnionCase") {
362
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.caseName[1]).Then((value) => ValueOrErrors.Default.return([
363
+ {
364
+ Discriminator: delta.caseName[0],
365
+ [delta.caseName[0]]: value[0],
366
+ },
367
+ `[UnionCase][${delta.caseName[0]}]`,
368
+ delta.flags
369
+ ? [
370
+ [delta.flags, `[UnionCase][${delta.caseName[0]}]`],
371
+ ...value[2],
372
+ ]
373
+ : value[2],
374
+ ]));
375
+ }
376
+ if (delta.kind == "TupleReplace") {
377
+ return toRawObject(delta.replace, delta.type, delta.state).Then((value) => ValueOrErrors.Default.return([
378
+ {
379
+ Discriminator: "TupleReplace",
380
+ Replace: value,
381
+ },
382
+ "[TupleReplace]",
383
+ delta.flags ? [[delta.flags, "[TupleReplace]"]] : [],
384
+ ]));
385
+ }
386
+ if (delta.kind == "TupleCase") {
387
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.item[1]).Then((value) => ValueOrErrors.Default.return([
388
+ {
389
+ Discriminator: `Tuple${delta.tupleType.args.length}Item${delta.item[0] + 1}`,
390
+ [`Item${delta.item[0] + 1}`]: value[0],
391
+ },
392
+ `[TupleCase][${delta.item[0] + 1}]${value[1]}`,
393
+ delta.flags
394
+ ? [
395
+ [
396
+ delta.flags,
397
+ `[TupleCase][${delta.item[0] + 1}]${value[1]}`,
398
+ ],
399
+ ...value[2],
400
+ ]
401
+ : value[2],
402
+ ]));
403
+ }
404
+ if (delta.kind == "TableValue") {
405
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.nestedDelta).Then((value) => ValueOrErrors.Default.return([
406
+ {
407
+ Discriminator: "TableValue",
408
+ Value: { Item1: delta.id, Item2: value[0] },
409
+ },
410
+ `[TableValue][${delta.id}]${value[1]}`,
411
+ delta.flags
412
+ ? [
413
+ [delta.flags, `[TableValue][${delta.id}]${value[1]}`],
414
+ ...value[2],
415
+ ]
416
+ : value[2],
417
+ ]));
418
+ }
419
+ if (delta.kind == "TableValueAll") {
420
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.nestedDelta).Then((value) => ValueOrErrors.Default.return([
421
+ {
422
+ Discriminator: "TableValueAll",
423
+ ValueAll: value[0],
424
+ },
425
+ `[TableValueAll]${value[1]}`,
426
+ delta.flags
427
+ ? [[delta.flags, `[TableValueAll]${value[1]}`], ...value[2]]
428
+ : value[2],
429
+ ]));
430
+ }
431
+ if (delta.kind == "TableAddEmpty") {
432
+ return ValueOrErrors.Default.return([
433
+ {
434
+ Discriminator: "TableAddEmpty",
435
+ },
436
+ `[TableAddEmpty]`,
437
+ delta.flags ? [[delta.flags, "[TableAddEmpty]"]] : [],
438
+ ]);
439
+ }
440
+ if (delta.kind == "TableRemove") {
441
+ return ValueOrErrors.Default.return([
442
+ {
443
+ Discriminator: "TableRemoveAt",
444
+ RemoveAt: delta.id,
445
+ },
446
+ `[TableRemoveAt][${delta.id}]`,
447
+ delta.flags
448
+ ? [[delta.flags, `[TableRemoveAt][${delta.id}]`]]
449
+ : [],
450
+ ]);
451
+ }
452
+ if (delta.kind == "TableDuplicate") {
453
+ return ValueOrErrors.Default.return([
454
+ {
455
+ Discriminator: "TableDuplicateAt",
456
+ DuplicateAt: delta.id,
457
+ },
458
+ `[TableDuplicateAt][${delta.id}]`,
459
+ delta.flags
460
+ ? [[delta.flags, `[TableDuplicateAt][${delta.id}]`]]
461
+ : [],
462
+ ]);
463
+ }
464
+ if (delta.kind == "TableMoveTo") {
465
+ return ValueOrErrors.Default.return([
466
+ {
467
+ Discriminator: "TableMoveFromTo",
468
+ MoveFromTo: [delta.id, delta.to],
469
+ },
470
+ `[TableMoveFromTo][${delta.id}][${delta.to}]`,
471
+ delta.flags
472
+ ? [[delta.flags, `[TableMoveFromTo][${delta.id}][${delta.to}]`]]
473
+ : [],
474
+ ]);
475
+ }
476
+ if (delta.kind == "OneValue") {
477
+ return DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta)(delta.nestedDelta).Then((value) => ValueOrErrors.Default.return([
478
+ {
479
+ Discriminator: "OneValue",
480
+ Value: value[0],
481
+ },
482
+ `[OneValue]${value[1]}`,
483
+ delta.flags
484
+ ? [[delta.flags, `[OneValue]${value[1]}`], ...value[2]]
485
+ : value[2],
486
+ ]));
487
+ }
488
+ if (delta.kind == "OneReplace") {
489
+ if (delta.type.kind != "one") {
490
+ return ValueOrErrors.Default.throwOne(`Error: one expected but received ${JSON.stringify(delta.type)} in OneReplace.`);
491
+ }
492
+ return toRawObject(delta.replace, delta.type.arg, unit).Then((value) => {
493
+ return ValueOrErrors.Default.return([
494
+ {
495
+ Discriminator: "OneReplace",
496
+ Replace: value,
497
+ },
498
+ `[OneReplace]`,
499
+ delta.flags ? [[delta.flags, `[OneReplace]`]] : [],
500
+ ]);
501
+ });
502
+ }
503
+ if (delta.kind == "OneCreateValue") {
504
+ if (delta.type.kind != "one") {
505
+ return ValueOrErrors.Default.throwOne(`Error: one expected but received ${JSON.stringify(delta.type)} in OneCreateValue.`);
506
+ }
507
+ return toRawObject(delta.value, delta.type.arg, unit).Then((value) => ValueOrErrors.Default.return([
508
+ {
509
+ Discriminator: "OneCreateValue",
510
+ CreateValue: value,
511
+ },
512
+ `[OneCreateValue]`,
513
+ delta.flags ? [[delta.flags, `[OneCreateValue]`]] : [],
514
+ ]));
515
+ }
516
+ // TODO -- suspicious
517
+ if (delta.kind == "OneDeleteValue") {
518
+ return ValueOrErrors.Default.return([
519
+ {
520
+ Discriminator: "OneDeleteValue",
521
+ DeleteValue: unit,
522
+ },
523
+ `[OneDeleteValue]`,
524
+ delta.flags ? [[delta.flags, `[OneDeleteValue]`]] : [],
525
+ ]);
526
+ }
527
+ if (delta.kind == "CustomDelta") {
528
+ return parseCustomDelta(toRawObject, DispatchDeltaTransfer.Default.FromDelta(toRawObject, parseCustomDelta))(delta).Then((value) => ValueOrErrors.Default.return([
529
+ Object.assign({}, value[0]),
530
+ value[1],
531
+ delta.flags ? [[delta.flags, value[1]], ...value[2]] : value[2],
532
+ ]));
533
+ }
534
+ return ValueOrErrors.Default.throwOne(`Error: cannot process delta ${delta}, not currently supported.`);
535
+ })();
536
+ return result.MapErrors((errors) => errors.map((error) => `${error}\n...When dispatching delta: ${JSON.stringify(delta, null, 2)}`));
537
+ },
676
538
  },
677
- },
678
539
  };
679
- //# sourceMappingURL=state.js.map
540
+ //# sourceMappingURL=state.js.map