ballerina-core 1.0.244 → 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 (324) 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/synchronization-result/state.d.ts +7 -0
  16. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts.map +1 -1
  17. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.js +4 -7
  18. package/bin/src/async/domains/promise/state.d.ts +4 -9
  19. package/bin/src/async/domains/promise/state.js +9 -20
  20. package/bin/src/async/domains/synchronized/coroutines/synchronize.js +28 -80
  21. package/bin/src/async/domains/synchronized/state.d.ts +7 -14
  22. package/bin/src/async/domains/synchronized/state.js +6 -16
  23. package/bin/src/async/state.d.ts +45 -56
  24. package/bin/src/async/state.js +97 -115
  25. package/bin/src/baseEntity/domains/identifiable/state.d.ts +11 -15
  26. package/bin/src/baseEntity/domains/identifiable/state.js +9 -9
  27. package/bin/src/collections/domains/array/state.d.ts +7 -7
  28. package/bin/src/collections/domains/array/state.js +5 -5
  29. package/bin/src/collections/domains/errors/state.d.ts +10 -10
  30. package/bin/src/collections/domains/errors/state.js +10 -10
  31. package/bin/src/collections/domains/immutable/domains/list/state.js +44 -46
  32. package/bin/src/collections/domains/immutable/domains/map/state.js +23 -41
  33. package/bin/src/collections/domains/immutable/domains/orderedMap/state.js +65 -84
  34. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.d.ts +6 -6
  35. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.js +6 -6
  36. package/bin/src/collections/domains/maybe/state.d.ts +9 -9
  37. package/bin/src/collections/domains/maybe/state.js +9 -12
  38. package/bin/src/collections/domains/product/state.d.ts +19 -25
  39. package/bin/src/collections/domains/product/state.js +10 -13
  40. package/bin/src/collections/domains/sum/state.d.ts +77 -101
  41. package/bin/src/collections/domains/sum/state.js +32 -49
  42. package/bin/src/collections/domains/valueOrErrors/state.js +56 -81
  43. package/bin/src/coroutines/builder.js +19 -40
  44. package/bin/src/coroutines/state.js +306 -381
  45. package/bin/src/coroutines/template.js +59 -97
  46. package/bin/src/debounced/coroutines/debounce.js +89 -115
  47. package/bin/src/debounced/state.js +25 -62
  48. package/bin/src/diagnostics/domains/message-box/state.d.ts +1 -1
  49. package/bin/src/diagnostics/domains/message-box/state.js +3 -3
  50. package/bin/src/foreignMutations/state.d.ts +3 -3
  51. package/bin/src/foreignMutations/state.js +1 -1
  52. package/bin/src/forms/domains/attachments/views/attachments-view.js +8 -30
  53. package/bin/src/forms/domains/collection/domains/reference/state.js +20 -26
  54. package/bin/src/forms/domains/collection/domains/selection/state.js +1 -1
  55. package/bin/src/forms/domains/dispatched-forms/built-ins/state.js +754 -2007
  56. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js +44 -123
  57. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.js +166 -339
  58. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.js +27 -40
  59. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.js +40 -76
  60. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.js +59 -102
  61. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.js +29 -64
  62. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.js +30 -64
  63. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.js +33 -88
  64. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.js +13 -21
  65. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.js +23 -52
  66. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.js +18 -59
  67. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.js +55 -129
  68. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.js +27 -43
  69. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.js +23 -63
  70. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.js +22 -39
  71. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.js +11 -46
  72. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts +6 -1
  73. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts.map +1 -1
  74. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js +50 -146
  75. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js.map +1 -1
  76. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.js +29 -64
  77. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.js +33 -78
  78. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.js +62 -157
  79. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js +569 -977
  80. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.js +94 -255
  81. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js +90 -322
  82. package/bin/src/forms/domains/dispatched-forms/deserializer/template.js +2 -3
  83. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.js +3 -3
  84. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js +23 -49
  85. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js +3 -3
  86. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js +24 -52
  87. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +6 -18
  88. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +30 -64
  89. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +6 -9
  90. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +60 -153
  91. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.js +1 -1
  92. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js +50 -127
  93. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +22 -40
  94. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +13 -31
  95. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts +2 -2
  96. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts.map +1 -1
  97. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +142 -417
  98. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js.map +1 -1
  99. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.js +1 -1
  100. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js +8 -28
  101. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +18 -61
  102. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +90 -329
  103. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.js +3 -3
  104. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js +23 -54
  105. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +10 -22
  106. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +31 -49
  107. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +10 -29
  108. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js +2 -2
  109. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js +26 -47
  110. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +40 -88
  111. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +152 -386
  112. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +10 -19
  113. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +21 -78
  114. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +11 -32
  115. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +77 -222
  116. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +13 -35
  117. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +68 -195
  118. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +13 -36
  119. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +106 -246
  120. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.js +3 -3
  121. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js +23 -54
  122. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +27 -40
  123. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.js +3 -3
  124. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js +26 -58
  125. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +7 -22
  126. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +53 -188
  127. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js +2 -2
  128. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js +24 -57
  129. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +20 -70
  130. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +27 -61
  131. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +19 -38
  132. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +15 -43
  133. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts +4 -0
  134. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts.map +1 -1
  135. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +137 -301
  136. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts +6 -2
  137. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts.map +1 -1
  138. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +238 -622
  139. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js.map +1 -1
  140. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +8 -20
  141. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +35 -132
  142. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +8 -21
  143. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +32 -103
  144. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +9 -12
  145. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +20 -54
  146. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts +8 -0
  147. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts.map +1 -1
  148. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +537 -676
  149. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js.map +1 -1
  150. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +18 -58
  151. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +14 -45
  152. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +18 -76
  153. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +24 -82
  154. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +8 -37
  155. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +36 -120
  156. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +63 -145
  157. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +12 -44
  158. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +4 -14
  159. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +25 -81
  160. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +24 -82
  161. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +20 -63
  162. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.d.ts.map +1 -1
  163. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +74 -247
  164. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js.map +1 -1
  165. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +13 -61
  166. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +15 -64
  167. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +45 -144
  168. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js +95 -203
  169. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js +37 -79
  170. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.js +2 -2
  171. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.js +17 -19
  172. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js +11 -58
  173. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js +25 -73
  174. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js +95 -205
  175. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js +37 -78
  176. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.js +2 -2
  177. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.js +17 -19
  178. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js +11 -58
  179. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js +25 -71
  180. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js +85 -163
  181. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js +4 -10
  182. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js +27 -72
  183. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js +423 -773
  184. package/bin/src/forms/domains/dispatched-forms/runner/state.js +38 -62
  185. package/bin/src/forms/domains/dispatched-forms/runner/template.js +25 -78
  186. package/bin/src/forms/domains/launcher/coroutines/runner.js +45 -120
  187. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +101 -240
  188. package/bin/src/forms/domains/launcher/domains/create/state.js +17 -62
  189. package/bin/src/forms/domains/launcher/domains/create/template.js +42 -84
  190. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +103 -242
  191. package/bin/src/forms/domains/launcher/domains/edit/state.js +17 -62
  192. package/bin/src/forms/domains/launcher/domains/edit/template.js +43 -86
  193. package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
  194. package/bin/src/forms/domains/launcher/domains/merger/state.js +26 -35
  195. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +42 -88
  196. package/bin/src/forms/domains/launcher/domains/passthrough/state.js +19 -44
  197. package/bin/src/forms/domains/launcher/domains/passthrough/template.js +34 -56
  198. package/bin/src/forms/domains/launcher/state.js +6 -6
  199. package/bin/src/forms/domains/launcher/template.js +85 -169
  200. package/bin/src/forms/domains/parser/coroutines/runner.js +25 -87
  201. package/bin/src/forms/domains/parser/domains/built-ins/state.js +533 -944
  202. package/bin/src/forms/domains/parser/domains/deltas/state.js +318 -444
  203. package/bin/src/forms/domains/parser/domains/injectables/state.js +26 -29
  204. package/bin/src/forms/domains/parser/domains/layout/state.d.ts +1 -1
  205. package/bin/src/forms/domains/parser/domains/layout/state.d.ts.map +1 -1
  206. package/bin/src/forms/domains/parser/domains/layout/state.js +183 -265
  207. package/bin/src/forms/domains/parser/domains/layout/state.js.map +1 -1
  208. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +162 -324
  209. package/bin/src/forms/domains/parser/domains/predicates/state.js +979 -1509
  210. package/bin/src/forms/domains/parser/domains/renderer/state.js +480 -1137
  211. package/bin/src/forms/domains/parser/domains/types/state.js +170 -355
  212. package/bin/src/forms/domains/parser/domains/validator/state.js +280 -417
  213. package/bin/src/forms/domains/parser/state.js +373 -612
  214. package/bin/src/forms/domains/parser/template.js +1 -1
  215. package/bin/src/forms/domains/primitives/domains/base-64-file/state.js +5 -5
  216. package/bin/src/forms/domains/primitives/domains/base-64-file/template.js +19 -38
  217. package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
  218. package/bin/src/forms/domains/primitives/domains/boolean/template.js +19 -38
  219. package/bin/src/forms/domains/primitives/domains/date/state.js +9 -18
  220. package/bin/src/forms/domains/primitives/domains/date/template.js +25 -51
  221. package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
  222. package/bin/src/forms/domains/primitives/domains/enum/template.js +48 -117
  223. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
  224. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +40 -99
  225. package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
  226. package/bin/src/forms/domains/primitives/domains/list/template.js +71 -200
  227. package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
  228. package/bin/src/forms/domains/primitives/domains/map/template.js +103 -294
  229. package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
  230. package/bin/src/forms/domains/primitives/domains/number/template.js +19 -38
  231. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +16 -33
  232. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +62 -171
  233. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.js +1 -1
  234. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.js +69 -182
  235. package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
  236. package/bin/src/forms/domains/primitives/domains/secret/template.js +19 -38
  237. package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
  238. package/bin/src/forms/domains/primitives/domains/string/template.js +22 -42
  239. package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
  240. package/bin/src/forms/domains/primitives/domains/sum/template.js +50 -141
  241. package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
  242. package/bin/src/forms/domains/primitives/domains/tuple/template.js +33 -100
  243. package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
  244. package/bin/src/forms/domains/primitives/domains/unit/template.js +9 -22
  245. package/bin/src/forms/domains/singleton/domains/form-label/state.d.ts +4 -4
  246. package/bin/src/forms/domains/singleton/domains/form-label/state.js +1 -1
  247. package/bin/src/forms/domains/singleton/state.js +10 -12
  248. package/bin/src/forms/domains/singleton/template.js +113 -288
  249. package/bin/src/fun/domains/curry/state.d.ts +2 -4
  250. package/bin/src/fun/domains/curry/state.js +1 -1
  251. package/bin/src/fun/domains/id/state.d.ts +1 -1
  252. package/bin/src/fun/domains/id/state.js +1 -1
  253. package/bin/src/fun/domains/predicate/domains/bool-expr.d.ts +41 -57
  254. package/bin/src/fun/domains/predicate/domains/bool-expr.js +67 -76
  255. package/bin/src/fun/domains/predicate/state.d.ts +7 -9
  256. package/bin/src/fun/domains/predicate/state.js +10 -14
  257. package/bin/src/fun/domains/simpleCallback/state.d.ts +1 -1
  258. package/bin/src/fun/domains/simpleCallback/state.js +1 -1
  259. package/bin/src/fun/domains/uncurry/state.d.ts +2 -4
  260. package/bin/src/fun/domains/uncurry/state.js +1 -1
  261. package/bin/src/fun/domains/unit/state.d.ts +1 -1
  262. package/bin/src/fun/domains/unit/state.js +1 -1
  263. package/bin/src/fun/domains/updater/domains/caseUpdater/state.d.ts +7 -22
  264. package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +10 -18
  265. package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +13 -24
  266. package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +10 -40
  267. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +13 -19
  268. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +9 -20
  269. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +13 -24
  270. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +11 -47
  271. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +8 -20
  272. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +5 -17
  273. package/bin/src/fun/domains/updater/domains/replaceWith/state.d.ts +1 -1
  274. package/bin/src/fun/domains/updater/domains/replaceWith/state.js +1 -1
  275. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts +4 -13
  276. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +4 -6
  277. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +22 -60
  278. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +31 -42
  279. package/bin/src/fun/domains/updater/state.d.ts +4 -4
  280. package/bin/src/fun/domains/updater/state.js +10 -12
  281. package/bin/src/fun/state.d.ts +3 -3
  282. package/bin/src/fun/state.js +7 -9
  283. package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
  284. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +20 -47
  285. package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
  286. package/bin/src/infinite-data-stream/state.d.ts +51 -84
  287. package/bin/src/infinite-data-stream/state.js +61 -125
  288. package/bin/src/infinite-data-stream/template.js +2 -3
  289. package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
  290. package/bin/src/math/domains/DOMRect/state.js +8 -10
  291. package/bin/src/math/domains/number/state.d.ts +5 -5
  292. package/bin/src/math/domains/number/state.js +5 -5
  293. package/bin/src/math/domains/rect/state.d.ts +8 -8
  294. package/bin/src/math/domains/rect/state.js +15 -16
  295. package/bin/src/math/domains/rgba/state.d.ts +17 -17
  296. package/bin/src/math/domains/rgba/state.js +81 -77
  297. package/bin/src/math/domains/size2/state.d.ts +8 -8
  298. package/bin/src/math/domains/size2/state.js +6 -6
  299. package/bin/src/math/domains/vector2/state.d.ts +10 -10
  300. package/bin/src/math/domains/vector2/state.js +8 -8
  301. package/bin/src/queue/state.d.ts +3 -3
  302. package/bin/src/queue/state.d.ts.map +1 -1
  303. package/bin/src/queue/state.js +2 -2
  304. package/bin/src/queue/state.js.map +1 -1
  305. package/bin/src/state/domains/repository/state.d.ts +9 -15
  306. package/bin/src/state/domains/repository/state.js +1 -1
  307. package/bin/src/template/state.js +115 -163
  308. package/bin/src/validation/state.js +45 -38
  309. package/bin/src/value/domains/mutable-value/state.js +2 -3
  310. package/bin/src/value/state.d.ts +9 -9
  311. package/bin/src/value/state.js +8 -11
  312. package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
  313. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +20 -55
  314. package/bin/src/value-infinite-data-stream/coroutines/runner.js +4 -6
  315. package/bin/src/value-infinite-data-stream/state.js +77 -199
  316. package/bin/src/value-infinite-data-stream/template.js +2 -4
  317. package/bin/src/visibility/state.d.ts +2 -5
  318. package/bin/src/visibility/state.js +1 -1
  319. package/package.json +1 -1
  320. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.ts +32 -15
  321. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.tsx +16 -3
  322. package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.ts +1 -0
  323. package/src/forms/domains/parser/domains/layout/state.ts +11 -4
  324. package/src/queue/state.ts +8 -4
@@ -1,1000 +1,589 @@
1
1
  import { Map, List, Set, OrderedMap } from "immutable";
2
- import {
3
- CollectionReference,
4
- EnumReference,
5
- } from "../../../collection/domains/reference/state";
6
- import {
7
- BooleanFormState,
8
- CommonFormState,
9
- DateFormState,
10
- NumberFormState,
11
- PredicateValue,
12
- replaceWith,
13
- StringFormState,
14
- Sum,
15
- unit,
16
- UnitFormState,
17
- Base64FileFormState,
18
- SecretFormState,
19
- ListFieldState,
20
- MapFieldState,
21
- TupleFormState,
22
- SumFormState,
23
- } from "../../../../../../main";
2
+ import { CollectionReference, EnumReference, } from "../../../collection/domains/reference/state";
3
+ import { BooleanFormState, CommonFormState, DateFormState, NumberFormState, PredicateValue, replaceWith, StringFormState, Sum, unit, UnitFormState, Base64FileFormState, SecretFormState, ListFieldState, MapFieldState, TupleFormState, SumFormState, } from "../../../../../../main";
24
4
  import { ValueOrErrors } from "../../../../../collections/domains/valueOrErrors/state";
25
- const sortObjectKeys = (obj) =>
26
- Object.keys(obj)
5
+ const sortObjectKeys = (obj) => Object.keys(obj)
27
6
  .sort()
28
7
  .reduce((sortedObj, key) => {
29
- sortedObj[key] = obj[key];
30
- return sortedObj;
31
- }, {});
8
+ sortedObj[key] = obj[key];
9
+ return sortedObj;
10
+ }, {});
32
11
  const simpleMapKeyToIdentifer = (key) => {
33
- if (typeof key == "object") return JSON.stringify(sortObjectKeys(key));
34
- return JSON.stringify(key);
12
+ if (typeof key == "object")
13
+ return JSON.stringify(sortObjectKeys(key));
14
+ return JSON.stringify(key);
35
15
  };
36
16
  export const PrimitiveTypes = [
37
- "unit",
38
- "guid", //resolves to string
39
- "string",
40
- "number",
41
- "boolean",
42
- "Date",
43
- "base64File",
44
- "secret",
17
+ "unit",
18
+ "guid", //resolves to string
19
+ "string",
20
+ "number",
21
+ "boolean",
22
+ "Date",
23
+ "base64File",
24
+ "secret",
45
25
  ];
46
26
  export const GenericTypes = [
47
- "SingleSelection",
48
- "MultiSelection",
49
- "List",
50
- "Map",
51
- "Union",
52
- "Tuple",
53
- "Option",
54
- "Sum",
55
- "KeyOf",
56
- "Table",
27
+ "SingleSelection",
28
+ "MultiSelection",
29
+ "List",
30
+ "Map",
31
+ "Union",
32
+ "Tuple",
33
+ "Option",
34
+ "Sum",
35
+ "KeyOf",
36
+ "Table",
57
37
  ];
58
38
  export const builtInsFromFieldViews = (fieldViews) => {
59
- const builtins = {
60
- primitives: Map([
61
- [
62
- "unit",
63
- {
64
- renderers: Set(["unit"]),
65
- defaultValue: PredicateValue.Default.unit(),
66
- defaultState: UnitFormState.Default(),
67
- },
68
- ],
69
- [
70
- "string",
71
- {
72
- renderers: Set(["string"]),
73
- defaultValue: PredicateValue.Default.string(),
74
- defaultState: StringFormState.Default(),
75
- },
76
- ],
77
- [
78
- "number",
79
- {
80
- renderers: Set(["number"]),
81
- defaultValue: PredicateValue.Default.number(),
82
- defaultState: NumberFormState.Default(),
83
- },
84
- ],
85
- [
86
- "boolean",
87
- {
88
- renderers: Set(["boolean"]),
89
- defaultValue: PredicateValue.Default.boolean(),
90
- defaultState: BooleanFormState.Default(),
91
- },
92
- ],
93
- [
94
- "date",
95
- {
96
- renderers: Set(["date"]),
97
- defaultValue: PredicateValue.Default.date(),
98
- defaultState: DateFormState.Default(),
99
- },
100
- ],
101
- [
102
- "Date",
103
- {
104
- renderers: Set(["date"]),
105
- defaultValue: PredicateValue.Default.date(),
106
- defaultState: DateFormState.Default(),
107
- },
108
- ],
109
- [
110
- "base64File",
111
- {
112
- renderers: Set(["base64File"]),
113
- defaultValue: PredicateValue.Default.string(),
114
- defaultState: Base64FileFormState.Default(),
115
- },
116
- ],
117
- [
118
- "secret",
119
- {
120
- renderers: Set(["secret"]),
121
- defaultValue: PredicateValue.Default.string(),
122
- defaultState: SecretFormState.Default(),
123
- },
124
- ],
125
- ]),
126
- generics: Map([
127
- [
128
- "SingleSelection",
129
- {
130
- defaultValue: PredicateValue.Default.option(
131
- false,
132
- PredicateValue.Default.unit(),
133
- ),
134
- },
135
- ],
136
- [
137
- "MultiSelection",
138
- { defaultValue: PredicateValue.Default.record(OrderedMap()) },
139
- ],
140
- [
141
- "List",
142
- {
143
- defaultValue: PredicateValue.Default.tuple(List()),
144
- defaultState: ListFieldState().zero(),
145
- },
146
- ],
147
- [
148
- "Map",
149
- {
150
- defaultValue: PredicateValue.Default.tuple(List()),
151
- defaultState: MapFieldState().zero(),
152
- },
153
- ],
154
- [
155
- "Tuple",
156
- {
157
- defaultValue: (values) => PredicateValue.Default.tuple(List(values)),
158
- defaultState: (argStates) => TupleFormState().Default(argStates),
159
- },
160
- ],
161
- [
162
- "Sum",
163
- {
164
- defaultValue: (kind, value) =>
165
- PredicateValue.Default.sum(
166
- kind == "l" ? Sum.Default.left(value) : Sum.Default.right(value),
167
- ),
168
- defaultState: (left, right) =>
169
- SumFormState().Default({ left, right }),
170
- },
171
- ],
172
- [
173
- "Union",
174
- {
175
- defaultValue: (fields) => PredicateValue.Default.record(fields),
176
- // TODO : Union Renderer form
177
- // defaultState: (fields: Map<string, any>) =>
178
- // UnionFormState().Default(fields),
39
+ const builtins = {
40
+ primitives: Map([
41
+ [
42
+ "unit",
43
+ {
44
+ renderers: Set(["unit"]),
45
+ defaultValue: PredicateValue.Default.unit(),
46
+ defaultState: UnitFormState.Default(),
47
+ },
48
+ ],
49
+ [
50
+ "string",
51
+ {
52
+ renderers: Set(["string"]),
53
+ defaultValue: PredicateValue.Default.string(),
54
+ defaultState: StringFormState.Default(),
55
+ },
56
+ ],
57
+ [
58
+ "number",
59
+ {
60
+ renderers: Set(["number"]),
61
+ defaultValue: PredicateValue.Default.number(),
62
+ defaultState: NumberFormState.Default(),
63
+ },
64
+ ],
65
+ [
66
+ "boolean",
67
+ {
68
+ renderers: Set(["boolean"]),
69
+ defaultValue: PredicateValue.Default.boolean(),
70
+ defaultState: BooleanFormState.Default(),
71
+ },
72
+ ],
73
+ [
74
+ "date",
75
+ {
76
+ renderers: Set(["date"]),
77
+ defaultValue: PredicateValue.Default.date(),
78
+ defaultState: DateFormState.Default(),
79
+ },
80
+ ],
81
+ [
82
+ "Date",
83
+ {
84
+ renderers: Set(["date"]),
85
+ defaultValue: PredicateValue.Default.date(),
86
+ defaultState: DateFormState.Default(),
87
+ },
88
+ ],
89
+ [
90
+ "base64File",
91
+ {
92
+ renderers: Set(["base64File"]),
93
+ defaultValue: PredicateValue.Default.string(),
94
+ defaultState: Base64FileFormState.Default(),
95
+ },
96
+ ],
97
+ [
98
+ "secret",
99
+ {
100
+ renderers: Set(["secret"]),
101
+ defaultValue: PredicateValue.Default.string(),
102
+ defaultState: SecretFormState.Default(),
103
+ },
104
+ ],
105
+ ]),
106
+ generics: Map([
107
+ [
108
+ "SingleSelection",
109
+ {
110
+ defaultValue: PredicateValue.Default.option(false, PredicateValue.Default.unit()),
111
+ },
112
+ ],
113
+ [
114
+ "MultiSelection",
115
+ { defaultValue: PredicateValue.Default.record(OrderedMap()) },
116
+ ],
117
+ [
118
+ "List",
119
+ {
120
+ defaultValue: PredicateValue.Default.tuple(List()),
121
+ defaultState: ListFieldState().zero(),
122
+ },
123
+ ],
124
+ [
125
+ "Map",
126
+ {
127
+ defaultValue: PredicateValue.Default.tuple(List()),
128
+ defaultState: MapFieldState().zero(),
129
+ },
130
+ ],
131
+ [
132
+ "Tuple",
133
+ {
134
+ defaultValue: (values) => PredicateValue.Default.tuple(List(values)),
135
+ defaultState: (argStates) => TupleFormState().Default(argStates),
136
+ },
137
+ ],
138
+ [
139
+ "Sum",
140
+ {
141
+ defaultValue: (kind, value) => PredicateValue.Default.sum(kind == "l" ? Sum.Default.left(value) : Sum.Default.right(value)),
142
+ defaultState: (left, right) => SumFormState().Default({ left, right }),
143
+ },
144
+ ],
145
+ [
146
+ "Union",
147
+ {
148
+ defaultValue: (fields) => PredicateValue.Default.record(fields),
149
+ // TODO : Union Renderer form
150
+ // defaultState: (fields: Map<string, any>) =>
151
+ // UnionFormState().Default(fields),
152
+ },
153
+ ],
154
+ ]),
155
+ renderers: {
156
+ unit: Set(),
157
+ boolean: Set(),
158
+ date: Set(),
159
+ enumMultiSelection: Set(),
160
+ enumSingleSelection: Set(),
161
+ streamMultiSelection: Set(),
162
+ streamSingleSelection: Set(),
163
+ number: Set(),
164
+ string: Set(),
165
+ list: Set(),
166
+ tuple: Set(),
167
+ base64File: Set(),
168
+ secret: Set(),
169
+ map: Set(),
170
+ sum: Set(),
179
171
  },
180
- ],
181
- ]),
182
- renderers: {
183
- unit: Set(),
184
- boolean: Set(),
185
- date: Set(),
186
- enumMultiSelection: Set(),
187
- enumSingleSelection: Set(),
188
- streamMultiSelection: Set(),
189
- streamSingleSelection: Set(),
190
- number: Set(),
191
- string: Set(),
192
- list: Set(),
193
- tuple: Set(),
194
- base64File: Set(),
195
- secret: Set(),
196
- map: Set(),
197
- sum: Set(),
198
- },
199
- };
200
- Object.keys(builtins.renderers).forEach((_categoryName) => {
201
- const categoryName = _categoryName;
202
- if (categoryName in fieldViews) {
203
- Object.keys(fieldViews[categoryName]).forEach((viewName) => {
204
- builtins.renderers[categoryName] =
205
- builtins.renderers[categoryName].add(viewName);
206
- });
207
- }
208
- });
209
- return builtins;
172
+ };
173
+ Object.keys(builtins.renderers).forEach((_categoryName) => {
174
+ const categoryName = _categoryName;
175
+ if (categoryName in fieldViews) {
176
+ Object.keys(fieldViews[categoryName]).forEach((viewName) => {
177
+ builtins.renderers[categoryName] =
178
+ builtins.renderers[categoryName].add(viewName);
179
+ });
180
+ }
181
+ });
182
+ return builtins;
210
183
  };
211
184
  export const defaultState = (types, builtIns, injectedPrimitives) => (t) => {
212
- if (
213
- t.kind == "union" ||
214
- (t.kind == "application" &&
215
- (t.value == "SingleSelection" || t.value == "MultiSelection"))
216
- ) {
217
- throw Error(
218
- `t.kind: ${t.kind} ${t.kind == "application" ? ` t.value: ${t.value}` : ""} not currently supported by the defaultState function`,
219
- );
220
- }
221
- if (t.kind == "primitive") {
222
- const primitive = builtIns.primitives.get(t.value);
223
- const injectedPrimitive =
224
- injectedPrimitives === null || injectedPrimitives === void 0
225
- ? void 0
226
- : injectedPrimitives.injectedPrimitives.get(t.value);
227
- if (primitive != undefined) return primitive.defaultState;
228
- if (injectedPrimitive != undefined)
229
- return {
230
- commonFormState: CommonFormState.Default(),
231
- customFormState: injectedPrimitive.defaultState,
232
- };
233
- }
234
- if (t.kind == "application" && t.value == "Tuple") {
235
- return builtIns.generics
236
- .get("Tuple")
237
- .defaultState(
238
- t.args.map((_) => defaultState(types, builtIns, injectedPrimitives)(_)),
239
- );
240
- }
241
- if (t.kind == "application" && t.value == "Sum") {
242
- return builtIns.generics
243
- .get("Sum")
244
- .defaultState(
245
- defaultState(types, builtIns, injectedPrimitives)(t.args[0]),
246
- defaultState(types, builtIns, injectedPrimitives)(t.args[1]),
247
- );
248
- }
249
- if (t.kind == "application") {
250
- const generic = builtIns.generics.get(t.value);
251
- if (generic) return generic.defaultState;
252
- }
253
- if (t.kind == "lookup")
254
- return defaultState(types, builtIns, injectedPrimitives)(types.get(t.name));
255
- throw Error(
256
- `cannot find type ${JSON.stringify(t)} when resolving defaultValue`,
257
- );
185
+ if (t.kind == "union" ||
186
+ (t.kind == "application" &&
187
+ (t.value == "SingleSelection" || t.value == "MultiSelection"))) {
188
+ throw Error(`t.kind: ${t.kind} ${t.kind == "application" ? ` t.value: ${t.value}` : ""} not currently supported by the defaultState function`);
189
+ }
190
+ if (t.kind == "primitive") {
191
+ const primitive = builtIns.primitives.get(t.value);
192
+ const injectedPrimitive = injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.injectedPrimitives.get(t.value);
193
+ if (primitive != undefined)
194
+ return primitive.defaultState;
195
+ if (injectedPrimitive != undefined)
196
+ return {
197
+ commonFormState: CommonFormState.Default(),
198
+ customFormState: injectedPrimitive.defaultState,
199
+ };
200
+ }
201
+ if (t.kind == "application" && t.value == "Tuple") {
202
+ return builtIns.generics
203
+ .get("Tuple")
204
+ .defaultState(t.args.map((_) => defaultState(types, builtIns, injectedPrimitives)(_)));
205
+ }
206
+ if (t.kind == "application" && t.value == "Sum") {
207
+ return builtIns.generics
208
+ .get("Sum")
209
+ .defaultState(defaultState(types, builtIns, injectedPrimitives)(t.args[0]), defaultState(types, builtIns, injectedPrimitives)(t.args[1]));
210
+ }
211
+ if (t.kind == "application") {
212
+ const generic = builtIns.generics.get(t.value);
213
+ if (generic)
214
+ return generic.defaultState;
215
+ }
216
+ if (t.kind == "lookup")
217
+ return defaultState(types, builtIns, injectedPrimitives)(types.get(t.name));
218
+ throw Error(`cannot find type ${JSON.stringify(t)} when resolving defaultValue`);
258
219
  };
259
220
  export const defaultValue = (types, builtIns, injectedPrimitives) => (t) => {
260
- if (t.kind == "primitive") {
261
- const primitive = builtIns.primitives.get(t.value);
262
- const injectedPrimitive =
263
- injectedPrimitives === null || injectedPrimitives === void 0
264
- ? void 0
265
- : injectedPrimitives.injectedPrimitives.get(t.value);
266
- if (primitive != undefined) return primitive.defaultValue;
267
- if (injectedPrimitive != undefined) return injectedPrimitive.defaultValue;
268
- }
269
- if (t.kind == "application" && t.value == "Tuple") {
270
- return builtIns.generics
271
- .get("Tuple")
272
- .defaultValue(
273
- t.args.map((_) => defaultValue(types, builtIns, injectedPrimitives)(_)),
274
- );
275
- }
276
- if (t.kind == "application" && t.value == "Sum") {
277
- return builtIns.generics
278
- .get("Sum")
279
- .defaultValue(
280
- defaultValue(types, builtIns, injectedPrimitives)(t.args[0]),
281
- defaultValue(types, builtIns, injectedPrimitives)(t.args[1]),
282
- );
283
- }
284
- if (t.kind == "application") {
285
- const generic = builtIns.generics.get(t.value);
286
- if (generic) return generic.defaultValue;
287
- }
288
- if (t.kind == "lookup")
289
- return defaultValue(types, builtIns, injectedPrimitives)(types.get(t.name));
290
- if (t.kind == "record") {
291
- let res = {};
292
- t.fields.forEach((field, fieldName) => {
293
- res[fieldName] = defaultValue(types, builtIns, injectedPrimitives)(field);
294
- });
295
- return PredicateValue.Default.record(OrderedMap(res));
296
- }
297
- if (t.kind == "table") {
298
- let res = {};
299
- const tableType = types.get(t.tableType);
300
- if (tableType == undefined) {
301
- throw Error(
302
- `cannot find type ${t.tableType} when resolving defaultValue`,
303
- );
221
+ if (t.kind == "primitive") {
222
+ const primitive = builtIns.primitives.get(t.value);
223
+ const injectedPrimitive = injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.injectedPrimitives.get(t.value);
224
+ if (primitive != undefined)
225
+ return primitive.defaultValue;
226
+ if (injectedPrimitive != undefined)
227
+ return injectedPrimitive.defaultValue;
304
228
  }
305
- if (tableType.kind != "record") {
306
- throw Error(`tableType ${t.tableType} is not a record`);
229
+ if (t.kind == "application" && t.value == "Tuple") {
230
+ return builtIns.generics
231
+ .get("Tuple")
232
+ .defaultValue(t.args.map((_) => defaultValue(types, builtIns, injectedPrimitives)(_)));
307
233
  }
308
- tableType.fields.forEach((column, columnName) => {
309
- res[columnName] = defaultValue(
310
- types,
311
- builtIns,
312
- injectedPrimitives,
313
- )(column);
314
- });
315
- return PredicateValue.Default.record(OrderedMap(res));
316
- }
317
- throw Error(
318
- `cannot find type ${JSON.stringify(t)} when resolving defaultValue`,
319
- );
234
+ if (t.kind == "application" && t.value == "Sum") {
235
+ return builtIns.generics
236
+ .get("Sum")
237
+ .defaultValue(defaultValue(types, builtIns, injectedPrimitives)(t.args[0]), defaultValue(types, builtIns, injectedPrimitives)(t.args[1]));
238
+ }
239
+ if (t.kind == "application") {
240
+ const generic = builtIns.generics.get(t.value);
241
+ if (generic)
242
+ return generic.defaultValue;
243
+ }
244
+ if (t.kind == "lookup")
245
+ return defaultValue(types, builtIns, injectedPrimitives)(types.get(t.name));
246
+ if (t.kind == "record") {
247
+ let res = {};
248
+ t.fields.forEach((field, fieldName) => {
249
+ res[fieldName] = defaultValue(types, builtIns, injectedPrimitives)(field);
250
+ });
251
+ return PredicateValue.Default.record(OrderedMap(res));
252
+ }
253
+ if (t.kind == "table") {
254
+ let res = {};
255
+ const tableType = types.get(t.tableType);
256
+ if (tableType == undefined) {
257
+ throw Error(`cannot find type ${t.tableType} when resolving defaultValue`);
258
+ }
259
+ if (tableType.kind != "record") {
260
+ throw Error(`tableType ${t.tableType} is not a record`);
261
+ }
262
+ tableType.fields.forEach((column, columnName) => {
263
+ res[columnName] = defaultValue(types, builtIns, injectedPrimitives)(column);
264
+ });
265
+ return PredicateValue.Default.record(OrderedMap(res));
266
+ }
267
+ throw Error(`cannot find type ${JSON.stringify(t)} when resolving defaultValue`);
320
268
  };
321
- export const fromAPIRawValue =
322
- (t, types, builtIns, converters, injectedPrimitives) => (raw) => {
269
+ export const fromAPIRawValue = (t, types, builtIns, converters, injectedPrimitives) => (raw) => {
323
270
  if (t.kind == "primitive") {
324
- // unit is a special kind of primitive
325
- if (t.value == "unit") {
326
- return ValueOrErrors.Default.return(PredicateValue.Default.unit());
327
- }
328
- if (
329
- !PredicateValue.Operations.IsPrimitive(raw) &&
330
- !(injectedPrimitives === null || injectedPrimitives === void 0
331
- ? void 0
332
- : injectedPrimitives.injectedPrimitives.keySeq().contains(t.value))
333
- ) {
334
- return ValueOrErrors.Default.throwOne(
335
- `primitive expected but got ${JSON.stringify(raw)}`,
336
- );
337
- }
338
- return ValueOrErrors.Default.return(
339
- converters[t.value].fromAPIRawValue(raw),
340
- );
271
+ // unit is a special kind of primitive
272
+ if (t.value == "unit") {
273
+ return ValueOrErrors.Default.return(PredicateValue.Default.unit());
274
+ }
275
+ if (!PredicateValue.Operations.IsPrimitive(raw) &&
276
+ !(injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.injectedPrimitives.keySeq().contains(t.value))) {
277
+ return ValueOrErrors.Default.throwOne(`primitive expected but got ${JSON.stringify(raw)}`);
278
+ }
279
+ return ValueOrErrors.Default.return(converters[t.value].fromAPIRawValue(raw));
341
280
  }
342
281
  if (t.kind == "union") {
343
- const result = converters[t.kind].fromAPIRawValue(raw);
344
- const caseType = t.args.get(result.caseName);
345
- if (caseType == undefined)
346
- return ValueOrErrors.Default.throwOne(
347
- `union case ${result.caseName} not found in type ${JSON.stringify(t)}`,
348
- );
349
- return fromAPIRawValue(
350
- caseType.fields,
351
- types,
352
- builtIns,
353
- converters,
354
- injectedPrimitives,
355
- )(result.fields).Then((fields) => {
356
- return ValueOrErrors.Default.return(
357
- PredicateValue.Default.unionCase(result.caseName, fields),
358
- );
359
- });
282
+ const result = converters[t.kind].fromAPIRawValue(raw);
283
+ const caseType = t.args.get(result.caseName);
284
+ if (caseType == undefined)
285
+ return ValueOrErrors.Default.throwOne(`union case ${result.caseName} not found in type ${JSON.stringify(t)}`);
286
+ return fromAPIRawValue(caseType.fields, types, builtIns, converters, injectedPrimitives)(result.fields).Then((fields) => {
287
+ return ValueOrErrors.Default.return(PredicateValue.Default.unionCase(result.caseName, fields));
288
+ });
360
289
  }
361
290
  if (t.kind == "application") {
362
- if (t.value == "SingleSelection") {
363
- const result = converters[t.value].fromAPIRawValue(raw);
364
- const isSome = result.kind == "l";
365
- const value = isSome
366
- ? PredicateValue.Default.record(OrderedMap(result.value))
367
- : PredicateValue.Default.unit();
368
- return ValueOrErrors.Default.return(
369
- PredicateValue.Default.option(isSome, value),
370
- );
371
- }
372
- if (t.value == "MultiSelection") {
373
- const result = converters[t.value].fromAPIRawValue(raw);
374
- const values = result.map((_) =>
375
- PredicateValue.Default.record(OrderedMap(_)),
376
- );
377
- return ValueOrErrors.Default.return(
378
- PredicateValue.Default.record(OrderedMap(values)),
379
- );
380
- }
381
- if (t.value == "List") {
382
- const result = converters[t.value].fromAPIRawValue(raw);
383
- return ValueOrErrors.Operations.All(
384
- result.map((_) =>
385
- fromAPIRawValue(
386
- t.args[0],
387
- types,
388
- builtIns,
389
- converters,
390
- injectedPrimitives,
391
- )(_),
392
- ),
393
- ).Then((values) =>
394
- ValueOrErrors.Default.return(PredicateValue.Default.tuple(values)),
395
- );
396
- }
397
- if (t.value == "Map" && t.args.length == 2) {
398
- const result = converters[t.value].fromAPIRawValue(raw);
399
- return ValueOrErrors.Operations.All(
400
- List(
401
- result.map((_) =>
402
- fromAPIRawValue(
403
- t.args[0],
404
- types,
405
- builtIns,
406
- converters,
407
- injectedPrimitives,
408
- )(_[0]).Then((key) =>
409
- fromAPIRawValue(
410
- t.args[1],
411
- types,
412
- builtIns,
413
- converters,
414
- injectedPrimitives,
415
- )(_[1]).Then((value) =>
416
- ValueOrErrors.Default.return(
417
- PredicateValue.Default.tuple(List([key, value])),
418
- ),
419
- ),
420
- ),
421
- ),
422
- ),
423
- ).Then((values) =>
424
- ValueOrErrors.Default.return(
425
- PredicateValue.Default.tuple(List(values)),
426
- ),
427
- );
428
- }
429
- if (t.value == "Tuple") {
430
- const result = converters[t.value].fromAPIRawValue(raw);
431
- return ValueOrErrors.Operations.All(
432
- List(
433
- result.map((_, index) =>
434
- fromAPIRawValue(
435
- t.args[index],
436
- types,
437
- builtIns,
438
- converters,
439
- injectedPrimitives,
440
- )(_),
441
- ),
442
- ),
443
- ).Then((values) =>
444
- ValueOrErrors.Default.return(
445
- PredicateValue.Default.tuple(List(values)),
446
- ),
447
- );
448
- }
449
- if (t.value === "Sum" && t.args.length === 2) {
450
- const result = converters[t.value].fromAPIRawValue(raw);
451
- return fromAPIRawValue(
452
- result.kind == "l" ? t.args[0] : t.args[1],
453
- types,
454
- builtIns,
455
- converters,
456
- injectedPrimitives,
457
- )(result.value).Then((value) =>
458
- ValueOrErrors.Default.return(
459
- PredicateValue.Default.sum(
460
- Sum.Updaters.map2(replaceWith(value), replaceWith(value))(result),
461
- ),
462
- ),
463
- );
464
- }
291
+ if (t.value == "SingleSelection") {
292
+ const result = converters[t.value].fromAPIRawValue(raw);
293
+ const isSome = result.kind == "l";
294
+ const value = isSome
295
+ ? PredicateValue.Default.record(OrderedMap(result.value))
296
+ : PredicateValue.Default.unit();
297
+ return ValueOrErrors.Default.return(PredicateValue.Default.option(isSome, value));
298
+ }
299
+ if (t.value == "MultiSelection") {
300
+ const result = converters[t.value].fromAPIRawValue(raw);
301
+ const values = result.map((_) => PredicateValue.Default.record(OrderedMap(_)));
302
+ return ValueOrErrors.Default.return(PredicateValue.Default.record(OrderedMap(values)));
303
+ }
304
+ if (t.value == "List") {
305
+ const result = converters[t.value].fromAPIRawValue(raw);
306
+ return ValueOrErrors.Operations.All(result.map((_) => fromAPIRawValue(t.args[0], types, builtIns, converters, injectedPrimitives)(_))).Then((values) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(values)));
307
+ }
308
+ if (t.value == "Map" && t.args.length == 2) {
309
+ const result = converters[t.value].fromAPIRawValue(raw);
310
+ return ValueOrErrors.Operations.All(List(result.map((_) => fromAPIRawValue(t.args[0], types, builtIns, converters, injectedPrimitives)(_[0]).Then((key) => fromAPIRawValue(t.args[1], types, builtIns, converters, injectedPrimitives)(_[1]).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(List([key, value])))))))).Then((values) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(List(values))));
311
+ }
312
+ if (t.value == "Tuple") {
313
+ const result = converters[t.value].fromAPIRawValue(raw);
314
+ return ValueOrErrors.Operations.All(List(result.map((_, index) => fromAPIRawValue(t.args[index], types, builtIns, converters, injectedPrimitives)(_)))).Then((values) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(List(values))));
315
+ }
316
+ if (t.value === "Sum" && t.args.length === 2) {
317
+ const result = converters[t.value].fromAPIRawValue(raw);
318
+ return fromAPIRawValue(result.kind == "l" ? t.args[0] : t.args[1], types, builtIns, converters, injectedPrimitives)(result.value).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.sum(Sum.Updaters.map2(replaceWith(value), replaceWith(value))(result))));
319
+ }
465
320
  }
466
321
  if (t.kind == "lookup")
467
- return fromAPIRawValue(
468
- types.get(t.name),
469
- types,
470
- builtIns,
471
- converters,
472
- injectedPrimitives,
473
- )(raw);
322
+ return fromAPIRawValue(types.get(t.name), types, builtIns, converters, injectedPrimitives)(raw);
474
323
  if (t.kind == "record") {
475
- if (typeof raw != "object") {
476
- return ValueOrErrors.Default.throwOne(
477
- `object expected but got ${JSON.stringify(raw)}`,
478
- );
479
- }
480
- let result = Map();
481
- let errors = List();
482
- t.fields.forEach((fieldType, fieldName) => {
483
- const fieldValue = raw[fieldName];
484
- if (fieldValue !== null && fieldValue === undefined) {
485
- return;
324
+ if (typeof raw != "object") {
325
+ return ValueOrErrors.Default.throwOne(`object expected but got ${JSON.stringify(raw)}`);
486
326
  }
487
- const parsedValue = fromAPIRawValue(
488
- fieldType,
489
- types,
490
- builtIns,
491
- converters,
492
- injectedPrimitives,
493
- )(fieldValue);
494
- if (parsedValue.kind == "errors") {
495
- errors = errors.concat(parsedValue.errors);
496
- } else {
497
- result = result.set(fieldName, parsedValue.value);
327
+ let result = Map();
328
+ let errors = List();
329
+ t.fields.forEach((fieldType, fieldName) => {
330
+ const fieldValue = raw[fieldName];
331
+ if (fieldValue !== null && fieldValue === undefined) {
332
+ return;
333
+ }
334
+ const parsedValue = fromAPIRawValue(fieldType, types, builtIns, converters, injectedPrimitives)(fieldValue);
335
+ if (parsedValue.kind == "errors") {
336
+ errors = errors.concat(parsedValue.errors);
337
+ }
338
+ else {
339
+ result = result.set(fieldName, parsedValue.value);
340
+ }
341
+ });
342
+ if (errors.size > 0) {
343
+ return ValueOrErrors.Default.throw(errors);
498
344
  }
499
- });
500
- if (errors.size > 0) {
501
- return ValueOrErrors.Default.throw(errors);
502
- }
503
- return ValueOrErrors.Default.return(
504
- PredicateValue.Default.record(result),
505
- );
345
+ return ValueOrErrors.Default.return(PredicateValue.Default.record(result));
506
346
  }
507
347
  if (t.kind == "table") {
508
- const converted = converters["Table"].fromAPIRawValue(raw);
509
- let result = Map();
510
- let errors = List();
511
- const tableType = types.get(t.tableType);
512
- if (tableType == undefined) {
513
- throw Error(
514
- `cannot find type ${t.tableType} when resolving defaultValue`,
515
- );
516
- }
517
- if (tableType.kind != "record") {
518
- throw Error(`tableType ${t.tableType} is not a record`);
519
- }
520
- converted.data.forEach((row, rowIndex) => {
521
- let rowResult = Map();
522
- tableType.fields.forEach((fieldType, fieldName) => {
523
- const fieldValue = row[fieldName];
524
- if (fieldValue != null && fieldValue == undefined) {
525
- return;
526
- }
527
- const parsedValue = fromAPIRawValue(
528
- fieldType,
529
- types,
530
- builtIns,
531
- converters,
532
- injectedPrimitives,
533
- )(fieldValue);
534
- if (parsedValue.kind == "errors") {
535
- errors = errors.concat(parsedValue.errors);
536
- } else {
537
- rowResult = rowResult.set(fieldName, parsedValue.value);
538
- }
348
+ const converted = converters["Table"].fromAPIRawValue(raw);
349
+ let result = Map();
350
+ let errors = List();
351
+ const tableType = types.get(t.tableType);
352
+ if (tableType == undefined) {
353
+ throw Error(`cannot find type ${t.tableType} when resolving defaultValue`);
354
+ }
355
+ if (tableType.kind != "record") {
356
+ throw Error(`tableType ${t.tableType} is not a record`);
357
+ }
358
+ converted.data.forEach((row, rowIndex) => {
359
+ let rowResult = Map();
360
+ tableType.fields.forEach((fieldType, fieldName) => {
361
+ const fieldValue = row[fieldName];
362
+ if (fieldValue != null && fieldValue == undefined) {
363
+ return;
364
+ }
365
+ const parsedValue = fromAPIRawValue(fieldType, types, builtIns, converters, injectedPrimitives)(fieldValue);
366
+ if (parsedValue.kind == "errors") {
367
+ errors = errors.concat(parsedValue.errors);
368
+ }
369
+ else {
370
+ rowResult = rowResult.set(fieldName, parsedValue.value);
371
+ }
372
+ });
373
+ result = result.set(rowIndex.toString(), PredicateValue.Default.record(rowResult));
539
374
  });
540
- result = result.set(
541
- rowIndex.toString(),
542
- PredicateValue.Default.record(rowResult),
543
- );
544
- });
545
- if (errors.size > 0) {
546
- return ValueOrErrors.Default.throw(errors);
547
- }
548
- return ValueOrErrors.Default.return(
375
+ if (errors.size > 0) {
376
+ return ValueOrErrors.Default.throw(errors);
377
+ }
378
+ return ValueOrErrors.Default.return(
549
379
  // PredicateValue.Default.record(result),
550
- PredicateValue.Default.record(
551
- OrderedMap([
380
+ PredicateValue.Default.record(OrderedMap([
552
381
  ["data", PredicateValue.Default.record(result)],
553
382
  ["hasMoreValues", converted.hasMoreValues],
554
383
  ["to", converted.to],
555
384
  ["from", converted.from],
556
- ]),
557
- ),
558
- );
385
+ ])));
559
386
  }
560
- return ValueOrErrors.Default.throwOne(
561
- `unsupported type ${JSON.stringify(t)} for raw: `,
562
- );
563
- };
564
- export const toAPIRawValue =
565
- (t, types, builtIns, converters, injectedPrimitives) => (raw, formState) => {
387
+ return ValueOrErrors.Default.throwOne(`unsupported type ${JSON.stringify(t)} for raw: `);
388
+ };
389
+ export const toAPIRawValue = (t, types, builtIns, converters, injectedPrimitives) => (raw, formState) => {
566
390
  var _a, _b, _c, _d, _e, _f, _g, _h;
567
391
  if (t.kind == "primitive") {
568
- if (t.value == "unit") {
569
- return ValueOrErrors.Default.return(unit);
570
- }
571
- return ValueOrErrors.Operations.Return(
572
- converters[t.value].toAPIRawValue([
573
- raw,
574
- (_b =
575
- (_a =
576
- formState === null || formState === void 0
577
- ? void 0
578
- : formState.commonFormState) === null || _a === void 0
579
- ? void 0
580
- : _a.modifiedByUser) !== null && _b !== void 0
581
- ? _b
582
- : false,
583
- ]),
584
- );
392
+ if (t.value == "unit") {
393
+ return ValueOrErrors.Default.return(unit);
394
+ }
395
+ return ValueOrErrors.Operations.Return(converters[t.value].toAPIRawValue([
396
+ raw,
397
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
398
+ ]));
585
399
  }
586
400
  if (t.kind == "union") {
587
- if (!PredicateValue.Operations.IsRecord(raw)) {
588
- return ValueOrErrors.Default.throwOne(
589
- `Option expected but got ${JSON.stringify(raw)}`,
590
- );
591
- }
592
- const caseName = raw.fields.get("caseName");
593
- if (
594
- caseName == undefined ||
595
- !PredicateValue.Operations.IsString(caseName)
596
- ) {
597
- return ValueOrErrors.Default.throwOne(
598
- `caseName expected but got ${JSON.stringify(raw)}`,
599
- );
600
- }
601
- const fields = raw.fields.get("fields");
602
- if (fields == undefined || !PredicateValue.Operations.IsRecord(fields)) {
603
- return ValueOrErrors.Default.throwOne(
604
- `fields expected but got ${JSON.stringify(raw)}`,
605
- );
606
- }
607
- const rawUnionCase = {
608
- caseName,
609
- fields: fields.fields.toJS(),
610
- };
611
- return ValueOrErrors.Operations.Return(
612
- converters["union"].toAPIRawValue([
613
- rawUnionCase,
614
- (_d =
615
- (_c =
616
- formState === null || formState === void 0
617
- ? void 0
618
- : formState.commonFormState) === null || _c === void 0
619
- ? void 0
620
- : _c.modifiedByUser) !== null && _d !== void 0
621
- ? _d
622
- : false,
623
- ]),
624
- );
401
+ if (!PredicateValue.Operations.IsRecord(raw)) {
402
+ return ValueOrErrors.Default.throwOne(`Option expected but got ${JSON.stringify(raw)}`);
403
+ }
404
+ const caseName = raw.fields.get("caseName");
405
+ if (caseName == undefined ||
406
+ !PredicateValue.Operations.IsString(caseName)) {
407
+ return ValueOrErrors.Default.throwOne(`caseName expected but got ${JSON.stringify(raw)}`);
408
+ }
409
+ const fields = raw.fields.get("fields");
410
+ if (fields == undefined || !PredicateValue.Operations.IsRecord(fields)) {
411
+ return ValueOrErrors.Default.throwOne(`fields expected but got ${JSON.stringify(raw)}`);
412
+ }
413
+ const rawUnionCase = {
414
+ caseName,
415
+ fields: fields.fields.toJS(),
416
+ };
417
+ return ValueOrErrors.Operations.Return(converters["union"].toAPIRawValue([
418
+ rawUnionCase,
419
+ (_d = (_c = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _c === void 0 ? void 0 : _c.modifiedByUser) !== null && _d !== void 0 ? _d : false,
420
+ ]));
625
421
  }
626
422
  if (t.kind == "application") {
627
- if (t.value == "SingleSelection") {
628
- if (!PredicateValue.Operations.IsOption(raw)) {
629
- return ValueOrErrors.Default.throwOne(
630
- `Option expected but got ${JSON.stringify(raw)}`,
631
- );
423
+ if (t.value == "SingleSelection") {
424
+ if (!PredicateValue.Operations.IsOption(raw)) {
425
+ return ValueOrErrors.Default.throwOne(`Option expected but got ${JSON.stringify(raw)}`);
426
+ }
427
+ if (raw.isSome) {
428
+ if (!PredicateValue.Operations.IsRecord(raw.value)) {
429
+ return ValueOrErrors.Default.throwOne(`Record expected but got ${JSON.stringify(raw.value)}`);
430
+ }
431
+ const rawValue = raw.value.fields.toJS();
432
+ if (!CollectionReference.Operations.IsCollectionReference(rawValue) &&
433
+ !EnumReference.Operations.IsEnumReference(rawValue)) {
434
+ return ValueOrErrors.Default.throwOne(`CollectionReference or EnumReference expected but got ${rawValue}`);
435
+ }
436
+ return ValueOrErrors.Operations.Return(converters[t.value].toAPIRawValue([
437
+ Sum.Default.left(rawValue),
438
+ (_f = (_e = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _e === void 0 ? void 0 : _e.modifiedByUser) !== null && _f !== void 0 ? _f : false,
439
+ ]));
440
+ }
441
+ else {
442
+ return ValueOrErrors.Operations.Return(converters[t.value].toAPIRawValue([
443
+ Sum.Default.right("no selection"),
444
+ (_h = (_g = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _g === void 0 ? void 0 : _g.modifiedByUser) !== null && _h !== void 0 ? _h : false,
445
+ ]));
446
+ }
632
447
  }
633
- if (raw.isSome) {
634
- if (!PredicateValue.Operations.IsRecord(raw.value)) {
635
- return ValueOrErrors.Default.throwOne(
636
- `Record expected but got ${JSON.stringify(raw.value)}`,
637
- );
638
- }
639
- const rawValue = raw.value.fields.toJS();
640
- if (
641
- !CollectionReference.Operations.IsCollectionReference(rawValue) &&
642
- !EnumReference.Operations.IsEnumReference(rawValue)
643
- ) {
644
- return ValueOrErrors.Default.throwOne(
645
- `CollectionReference or EnumReference expected but got ${rawValue}`,
646
- );
647
- }
648
- return ValueOrErrors.Operations.Return(
649
- converters[t.value].toAPIRawValue([
650
- Sum.Default.left(rawValue),
651
- (_f =
652
- (_e =
653
- formState === null || formState === void 0
654
- ? void 0
655
- : formState.commonFormState) === null || _e === void 0
656
- ? void 0
657
- : _e.modifiedByUser) !== null && _f !== void 0
658
- ? _f
659
- : false,
660
- ]),
661
- );
662
- } else {
663
- return ValueOrErrors.Operations.Return(
664
- converters[t.value].toAPIRawValue([
665
- Sum.Default.right("no selection"),
666
- (_h =
667
- (_g =
668
- formState === null || formState === void 0
669
- ? void 0
670
- : formState.commonFormState) === null || _g === void 0
671
- ? void 0
672
- : _g.modifiedByUser) !== null && _h !== void 0
673
- ? _h
674
- : false,
675
- ]),
676
- );
448
+ if (t.value == "MultiSelection") {
449
+ if (!PredicateValue.Operations.IsRecord(raw)) {
450
+ return ValueOrErrors.Default.throwOne(`Record expected but got multi selection of ${JSON.stringify(raw)}`);
451
+ }
452
+ const rawValue = raw.fields.map((value) => {
453
+ if (!PredicateValue.Operations.IsRecord(value)) {
454
+ return ValueOrErrors.Default.throwOne(`Record expected but got ${JSON.stringify(value)}`);
455
+ }
456
+ const fieldsObject = value.fields.toJS();
457
+ if (!CollectionReference.Operations.IsCollectionReference(fieldsObject) &&
458
+ !EnumReference.Operations.IsEnumReference(fieldsObject)) {
459
+ return ValueOrErrors.Default.throwOne(`CollectionReference or EnumReference expected but got ${JSON.stringify(fieldsObject)}`);
460
+ }
461
+ return ValueOrErrors.Default.return(fieldsObject);
462
+ });
463
+ return ValueOrErrors.Operations.All(rawValue.valueSeq().toList()).Then((values) => {
464
+ var _a, _b;
465
+ return ValueOrErrors.Default.return(converters["MultiSelection"].toAPIRawValue([
466
+ OrderedMap(values
467
+ .map((v) => {
468
+ if (CollectionReference.Operations.IsCollectionReference(v)) {
469
+ return [v.Id, v];
470
+ }
471
+ return [v.Value, v];
472
+ })
473
+ .toArray()),
474
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
475
+ ]));
476
+ });
677
477
  }
678
- }
679
- if (t.value == "MultiSelection") {
680
- if (!PredicateValue.Operations.IsRecord(raw)) {
681
- return ValueOrErrors.Default.throwOne(
682
- `Record expected but got multi selection of ${JSON.stringify(raw)}`,
683
- );
478
+ if (t.value == "List") {
479
+ if (!PredicateValue.Operations.IsTuple(raw)) {
480
+ return ValueOrErrors.Default.throwOne(`Tuple expected but got list of${JSON.stringify(raw)}`);
481
+ }
482
+ return ValueOrErrors.Operations.All(List(raw.values.map((value, index) => {
483
+ var _a;
484
+ return toAPIRawValue(t.args[0], types, builtIns, converters, injectedPrimitives)(value, (_a = formState === null || formState === void 0 ? void 0 : formState.elementFormStates) === null || _a === void 0 ? void 0 : _a.get(index));
485
+ }))).Then((values) => {
486
+ var _a, _b;
487
+ return ValueOrErrors.Default.return(converters["List"].toAPIRawValue([
488
+ values,
489
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
490
+ ]));
491
+ });
684
492
  }
685
- const rawValue = raw.fields.map((value) => {
686
- if (!PredicateValue.Operations.IsRecord(value)) {
687
- return ValueOrErrors.Default.throwOne(
688
- `Record expected but got ${JSON.stringify(value)}`,
689
- );
690
- }
691
- const fieldsObject = value.fields.toJS();
692
- if (
693
- !CollectionReference.Operations.IsCollectionReference(
694
- fieldsObject,
695
- ) &&
696
- !EnumReference.Operations.IsEnumReference(fieldsObject)
697
- ) {
698
- return ValueOrErrors.Default.throwOne(
699
- `CollectionReference or EnumReference expected but got ${JSON.stringify(fieldsObject)}`,
700
- );
701
- }
702
- return ValueOrErrors.Default.return(fieldsObject);
703
- });
704
- return ValueOrErrors.Operations.All(rawValue.valueSeq().toList()).Then(
705
- (values) => {
706
- var _a, _b;
707
- return ValueOrErrors.Default.return(
708
- converters["MultiSelection"].toAPIRawValue([
709
- OrderedMap(
710
- values
711
- .map((v) => {
712
- if (
713
- CollectionReference.Operations.IsCollectionReference(v)
714
- ) {
715
- return [v.Id, v];
716
- }
717
- return [v.Value, v];
718
- })
719
- .toArray(),
720
- ),
721
- (_b =
722
- (_a =
723
- formState === null || formState === void 0
724
- ? void 0
725
- : formState.commonFormState) === null || _a === void 0
726
- ? void 0
727
- : _a.modifiedByUser) !== null && _b !== void 0
728
- ? _b
729
- : false,
730
- ]),
731
- );
732
- },
733
- );
734
- }
735
- if (t.value == "List") {
736
- if (!PredicateValue.Operations.IsTuple(raw)) {
737
- return ValueOrErrors.Default.throwOne(
738
- `Tuple expected but got list of${JSON.stringify(raw)}`,
739
- );
493
+ if (t.value == "Map") {
494
+ const keyValues = raw.values.map((keyValue, index) => {
495
+ var _a, _b;
496
+ return toAPIRawValue(t.args[0], types, builtIns, converters, injectedPrimitives)(keyValue.values.get(0), (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.elementFormStates) === null || _a === void 0 ? void 0 : _a.get(index)) === null || _b === void 0 ? void 0 : _b.KeyFormState)
497
+ .Then((possiblyUndefinedKey) => {
498
+ if (possiblyUndefinedKey == undefined ||
499
+ possiblyUndefinedKey == null ||
500
+ possiblyUndefinedKey == "" ||
501
+ (typeof possiblyUndefinedKey == "object" &&
502
+ (Object.keys(possiblyUndefinedKey).length == 0 ||
503
+ ("IsSome" in possiblyUndefinedKey &&
504
+ !possiblyUndefinedKey.IsSome)))) {
505
+ return ValueOrErrors.Default.throwOne(`A mapped key is undefined for type ${JSON.stringify(t.args[0])}`);
506
+ }
507
+ else {
508
+ return ValueOrErrors.Default.return(possiblyUndefinedKey);
509
+ }
510
+ })
511
+ .Then((key) => {
512
+ var _a;
513
+ return toAPIRawValue(t.args[1], types, builtIns, converters, injectedPrimitives)(keyValue.values.get(1), (_a = formState === null || formState === void 0 ? void 0 : formState.elementFormStates.get(index)) === null || _a === void 0 ? void 0 : _a.ValueFormState).Then((value) => ValueOrErrors.Default.return([key, value]));
514
+ });
515
+ });
516
+ return ValueOrErrors.Operations.All(List(keyValues)).Then((values) => {
517
+ var _a;
518
+ if (values.map((kv) => JSON.stringify(kv[0])).toSet().size !=
519
+ values.size) {
520
+ return ValueOrErrors.Default.throwOne("Keys in the map are not unique");
521
+ }
522
+ return ValueOrErrors.Operations.Return(converters["Map"].toAPIRawValue([
523
+ values,
524
+ (_a = formState.modifiedByUser) !== null && _a !== void 0 ? _a : false,
525
+ ]));
526
+ });
740
527
  }
741
- return ValueOrErrors.Operations.All(
742
- List(
743
- raw.values.map((value, index) => {
744
- var _a;
745
- return toAPIRawValue(
746
- t.args[0],
747
- types,
748
- builtIns,
749
- converters,
750
- injectedPrimitives,
751
- )(
752
- value,
753
- (_a =
754
- formState === null || formState === void 0
755
- ? void 0
756
- : formState.elementFormStates) === null || _a === void 0
757
- ? void 0
758
- : _a.get(index),
759
- );
760
- }),
761
- ),
762
- ).Then((values) => {
763
- var _a, _b;
764
- return ValueOrErrors.Default.return(
765
- converters["List"].toAPIRawValue([
766
- values,
767
- (_b =
768
- (_a =
769
- formState === null || formState === void 0
770
- ? void 0
771
- : formState.commonFormState) === null || _a === void 0
772
- ? void 0
773
- : _a.modifiedByUser) !== null && _b !== void 0
774
- ? _b
775
- : false,
776
- ]),
777
- );
778
- });
779
- }
780
- if (t.value == "Map") {
781
- const keyValues = raw.values.map((keyValue, index) => {
782
- var _a, _b;
783
- return toAPIRawValue(
784
- t.args[0],
785
- types,
786
- builtIns,
787
- converters,
788
- injectedPrimitives,
789
- )(
790
- keyValue.values.get(0),
791
- (_b =
792
- (_a =
793
- formState === null || formState === void 0
794
- ? void 0
795
- : formState.elementFormStates) === null || _a === void 0
796
- ? void 0
797
- : _a.get(index)) === null || _b === void 0
798
- ? void 0
799
- : _b.KeyFormState,
800
- )
801
- .Then((possiblyUndefinedKey) => {
802
- if (
803
- possiblyUndefinedKey == undefined ||
804
- possiblyUndefinedKey == null ||
805
- possiblyUndefinedKey == "" ||
806
- (typeof possiblyUndefinedKey == "object" &&
807
- (Object.keys(possiblyUndefinedKey).length == 0 ||
808
- ("IsSome" in possiblyUndefinedKey &&
809
- !possiblyUndefinedKey.IsSome)))
810
- ) {
811
- return ValueOrErrors.Default.throwOne(
812
- `A mapped key is undefined for type ${JSON.stringify(t.args[0])}`,
813
- );
814
- } else {
815
- return ValueOrErrors.Default.return(possiblyUndefinedKey);
816
- }
817
- })
818
- .Then((key) => {
819
- var _a;
820
- return toAPIRawValue(
821
- t.args[1],
822
- types,
823
- builtIns,
824
- converters,
825
- injectedPrimitives,
826
- )(
827
- keyValue.values.get(1),
828
- (_a =
829
- formState === null || formState === void 0
830
- ? void 0
831
- : formState.elementFormStates.get(index)) === null ||
832
- _a === void 0
833
- ? void 0
834
- : _a.ValueFormState,
835
- ).Then((value) => ValueOrErrors.Default.return([key, value]));
528
+ if (t.value === "Sum") {
529
+ if (!PredicateValue.Operations.IsSum(raw)) {
530
+ return ValueOrErrors.Default.throwOne(`Sum expected but got ${JSON.stringify(raw)}`);
531
+ }
532
+ return toAPIRawValue(raw.value.kind == "l" ? t.args[0] : t.args[1], types, builtIns, converters, injectedPrimitives)(raw.value.value, raw.value.kind == "l"
533
+ ? formState.customFormState.left
534
+ : formState.customFormState.right).Then((value) => {
535
+ var _a, _b;
536
+ return ValueOrErrors.Default.return(converters["Sum"].toAPIRawValue([
537
+ raw.value.kind == "l"
538
+ ? Sum.Default.left(value)
539
+ : Sum.Default.right(value),
540
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
541
+ ]));
836
542
  });
837
- });
838
- return ValueOrErrors.Operations.All(List(keyValues)).Then((values) => {
839
- var _a;
840
- if (
841
- values.map((kv) => JSON.stringify(kv[0])).toSet().size !=
842
- values.size
843
- ) {
844
- return ValueOrErrors.Default.throwOne(
845
- "Keys in the map are not unique",
846
- );
847
- }
848
- return ValueOrErrors.Operations.Return(
849
- converters["Map"].toAPIRawValue([
850
- values,
851
- (_a = formState.modifiedByUser) !== null && _a !== void 0
852
- ? _a
853
- : false,
854
- ]),
855
- );
856
- });
857
- }
858
- if (t.value === "Sum") {
859
- if (!PredicateValue.Operations.IsSum(raw)) {
860
- return ValueOrErrors.Default.throwOne(
861
- `Sum expected but got ${JSON.stringify(raw)}`,
862
- );
863
543
  }
864
- return toAPIRawValue(
865
- raw.value.kind == "l" ? t.args[0] : t.args[1],
866
- types,
867
- builtIns,
868
- converters,
869
- injectedPrimitives,
870
- )(
871
- raw.value.value,
872
- raw.value.kind == "l"
873
- ? formState.customFormState.left
874
- : formState.customFormState.right,
875
- ).Then((value) => {
876
- var _a, _b;
877
- return ValueOrErrors.Default.return(
878
- converters["Sum"].toAPIRawValue([
879
- raw.value.kind == "l"
880
- ? Sum.Default.left(value)
881
- : Sum.Default.right(value),
882
- (_b =
883
- (_a =
884
- formState === null || formState === void 0
885
- ? void 0
886
- : formState.commonFormState) === null || _a === void 0
887
- ? void 0
888
- : _a.modifiedByUser) !== null && _b !== void 0
889
- ? _b
890
- : false,
891
- ]),
892
- );
893
- });
894
- }
895
- if (t.value == "Tuple") {
896
- if (!PredicateValue.Operations.IsTuple(raw)) {
897
- return ValueOrErrors.Default.throwOne(
898
- `Tuple expected but got ${JSON.stringify(raw)}`,
899
- );
544
+ if (t.value == "Tuple") {
545
+ if (!PredicateValue.Operations.IsTuple(raw)) {
546
+ return ValueOrErrors.Default.throwOne(`Tuple expected but got ${JSON.stringify(raw)}`);
547
+ }
548
+ return ValueOrErrors.Operations.All(List(raw.values.map((value, index) => {
549
+ var _a;
550
+ return toAPIRawValue(t.args[index], types, builtIns, converters, injectedPrimitives)(value, (_a = formState === null || formState === void 0 ? void 0 : formState.elementFormStates) === null || _a === void 0 ? void 0 : _a.get(index));
551
+ }))).Then((values) => {
552
+ var _a, _b;
553
+ return ValueOrErrors.Default.return(converters["Tuple"].toAPIRawValue([
554
+ values,
555
+ (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
556
+ ]));
557
+ });
900
558
  }
901
- return ValueOrErrors.Operations.All(
902
- List(
903
- raw.values.map((value, index) => {
904
- var _a;
905
- return toAPIRawValue(
906
- t.args[index],
907
- types,
908
- builtIns,
909
- converters,
910
- injectedPrimitives,
911
- )(
912
- value,
913
- (_a =
914
- formState === null || formState === void 0
915
- ? void 0
916
- : formState.elementFormStates) === null || _a === void 0
917
- ? void 0
918
- : _a.get(index),
919
- );
920
- }),
921
- ),
922
- ).Then((values) => {
923
- var _a, _b;
924
- return ValueOrErrors.Default.return(
925
- converters["Tuple"].toAPIRawValue([
926
- values,
927
- (_b =
928
- (_a =
929
- formState === null || formState === void 0
930
- ? void 0
931
- : formState.commonFormState) === null || _a === void 0
932
- ? void 0
933
- : _a.modifiedByUser) !== null && _b !== void 0
934
- ? _b
935
- : false,
936
- ]),
937
- );
938
- });
939
- }
940
559
  }
941
560
  if (t.kind == "lookup")
942
- return toAPIRawValue(
943
- types.get(t.name),
944
- types,
945
- builtIns,
946
- converters,
947
- injectedPrimitives,
948
- )(raw, formState);
561
+ return toAPIRawValue(types.get(t.name), types, builtIns, converters, injectedPrimitives)(raw, formState);
949
562
  if (t.kind == "record") {
950
- if (!PredicateValue.Operations.IsRecord(raw)) {
951
- return ValueOrErrors.Default.throwOne(
952
- `Record expected but got ${JSON.stringify(raw)}`,
953
- );
954
- }
955
- const res = [];
956
- t.fields.forEach((fieldType, fieldName) => {
957
- var _a, _b;
958
- // nullish coalescing operator on state used for extended type state, but this maybe should have its own kind
959
- const rawField = raw.fields.get(fieldName);
960
- if (rawField == undefined) {
961
- return;
563
+ if (!PredicateValue.Operations.IsRecord(raw)) {
564
+ return ValueOrErrors.Default.throwOne(`Record expected but got ${JSON.stringify(raw)}`);
962
565
  }
963
- res.push([
964
- fieldName,
965
- toAPIRawValue(
966
- fieldType,
967
- types,
968
- builtIns,
969
- converters,
970
- injectedPrimitives,
971
- )(
972
- raw.fields.get(fieldName),
973
- (_b =
974
- (_a =
975
- formState === null || formState === void 0
976
- ? void 0
977
- : formState.formFieldStates) === null || _a === void 0
978
- ? void 0
979
- : _a[fieldName]) !== null && _b !== void 0
980
- ? _b
981
- : formState,
982
- ),
983
- ]);
984
- });
985
- const errors = ValueOrErrors.Operations.All(
986
- List(res.map(([_, value]) => value)),
987
- );
988
- if (errors.kind == "errors") return errors;
989
- return ValueOrErrors.Operations.Return(
990
- res.reduce((acc, [fieldName, value]) => {
991
- acc[fieldName] = value.value;
992
- return acc;
993
- }, {}),
994
- );
566
+ const res = [];
567
+ t.fields.forEach((fieldType, fieldName) => {
568
+ var _a, _b;
569
+ // nullish coalescing operator on state used for extended type state, but this maybe should have its own kind
570
+ const rawField = raw.fields.get(fieldName);
571
+ if (rawField == undefined) {
572
+ return;
573
+ }
574
+ res.push([
575
+ fieldName,
576
+ toAPIRawValue(fieldType, types, builtIns, converters, injectedPrimitives)(raw.fields.get(fieldName), (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.formFieldStates) === null || _a === void 0 ? void 0 : _a[fieldName]) !== null && _b !== void 0 ? _b : formState),
577
+ ]);
578
+ });
579
+ const errors = ValueOrErrors.Operations.All(List(res.map(([_, value]) => value)));
580
+ if (errors.kind == "errors")
581
+ return errors;
582
+ return ValueOrErrors.Operations.Return(res.reduce((acc, [fieldName, value]) => {
583
+ acc[fieldName] = value.value;
584
+ return acc;
585
+ }, {}));
995
586
  }
996
- return ValueOrErrors.Operations.Return(
997
- defaultValue(types, builtIns, injectedPrimitives)(t),
998
- );
999
- };
1000
- //# sourceMappingURL=state.js.map
587
+ return ValueOrErrors.Operations.Return(defaultValue(types, builtIns, injectedPrimitives)(t));
588
+ };
589
+ //# sourceMappingURL=state.js.map