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,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