ballerina-core 1.0.256 → 1.0.258

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/bin/src/api-response-handler/coroutines/runner.js +20 -13
  2. package/bin/src/api-response-handler/state.js +13 -11
  3. package/bin/src/apiResultStatus/state.d.ts +10 -3
  4. package/bin/src/apiResultStatus/state.js +2 -5
  5. package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.js +314 -196
  6. package/bin/src/async/domains/mirroring/domains/collection/state.js +126 -36
  7. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.js +18 -11
  8. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.js +19 -19
  9. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.js +1 -1
  10. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.js +18 -18
  11. package/bin/src/async/domains/mirroring/domains/entity/state.js +18 -9
  12. package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.js +134 -83
  13. package/bin/src/async/domains/mirroring/domains/singleton/state.js +52 -8
  14. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts +15 -9
  15. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.js +1 -1
  16. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.js +7 -4
  17. package/bin/src/async/domains/promise/state.d.ts +9 -4
  18. package/bin/src/async/domains/promise/state.js +20 -9
  19. package/bin/src/async/domains/synchronized/coroutines/synchronize.js +80 -28
  20. package/bin/src/async/domains/synchronized/state.d.ts +14 -7
  21. package/bin/src/async/domains/synchronized/state.js +16 -6
  22. package/bin/src/async/state.d.ts +56 -45
  23. package/bin/src/async/state.js +115 -97
  24. package/bin/src/baseEntity/domains/identifiable/state.d.ts +15 -11
  25. package/bin/src/baseEntity/domains/identifiable/state.js +9 -9
  26. package/bin/src/collections/domains/array/state.d.ts +7 -7
  27. package/bin/src/collections/domains/array/state.js +5 -5
  28. package/bin/src/collections/domains/errors/state.d.ts +10 -10
  29. package/bin/src/collections/domains/errors/state.js +10 -10
  30. package/bin/src/collections/domains/immutable/domains/list/state.js +46 -44
  31. package/bin/src/collections/domains/immutable/domains/map/state.js +41 -23
  32. package/bin/src/collections/domains/immutable/domains/orderedMap/state.js +84 -65
  33. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.d.ts +6 -6
  34. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.js +6 -6
  35. package/bin/src/collections/domains/maybe/state.d.ts +9 -9
  36. package/bin/src/collections/domains/maybe/state.js +12 -9
  37. package/bin/src/collections/domains/product/state.d.ts +25 -19
  38. package/bin/src/collections/domains/product/state.js +13 -10
  39. package/bin/src/collections/domains/sum/state.d.ts +101 -77
  40. package/bin/src/collections/domains/sum/state.js +49 -32
  41. package/bin/src/collections/domains/valueOrErrors/state.js +81 -56
  42. package/bin/src/coroutines/builder.js +40 -19
  43. package/bin/src/coroutines/state.js +381 -306
  44. package/bin/src/coroutines/template.js +97 -59
  45. package/bin/src/debounced/coroutines/debounce.js +115 -89
  46. package/bin/src/debounced/state.js +62 -25
  47. package/bin/src/diagnostics/domains/message-box/state.d.ts +1 -1
  48. package/bin/src/diagnostics/domains/message-box/state.js +3 -3
  49. package/bin/src/foreignMutations/state.d.ts +3 -3
  50. package/bin/src/foreignMutations/state.js +1 -1
  51. package/bin/src/forms/domains/attachments/views/attachments-view.js +30 -8
  52. package/bin/src/forms/domains/collection/domains/reference/state.js +26 -20
  53. package/bin/src/forms/domains/collection/domains/selection/state.js +1 -1
  54. package/bin/src/forms/domains/dispatched-forms/built-ins/state.js +2007 -754
  55. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.d.ts.map +1 -1
  56. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js +123 -44
  57. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js.map +1 -1
  58. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.js +40 -27
  59. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.js +21 -13
  60. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.js +43 -27
  61. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.js +39 -22
  62. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.d.ts +167 -0
  63. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.d.ts.map +1 -0
  64. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.js +367 -0
  65. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.js.map +1 -0
  66. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts +7 -29
  67. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts.map +1 -1
  68. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js +1098 -572
  69. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js.map +1 -1
  70. package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts +1 -0
  71. package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts.map +1 -1
  72. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js +322 -90
  73. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js.map +1 -1
  74. package/bin/src/forms/domains/dispatched-forms/deserializer/template.js +3 -2
  75. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.d.ts +27 -4
  76. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.js +136 -82
  77. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.js +3 -3
  78. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js +49 -23
  79. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js +3 -3
  80. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js +52 -24
  81. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +18 -6
  82. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +64 -30
  83. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +9 -6
  84. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +153 -60
  85. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.js +1 -1
  86. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js +127 -50
  87. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +40 -22
  88. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +31 -13
  89. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +452 -152
  90. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.js +1 -1
  91. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js +29 -8
  92. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js.map +1 -1
  93. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +61 -18
  94. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +329 -90
  95. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.js +3 -3
  96. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js +54 -23
  97. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +22 -10
  98. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +49 -31
  99. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +29 -10
  100. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js +2 -2
  101. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js +47 -26
  102. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +88 -40
  103. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +386 -152
  104. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +19 -10
  105. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +99 -33
  106. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +32 -11
  107. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +227 -82
  108. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +35 -13
  109. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +195 -68
  110. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +36 -13
  111. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +246 -106
  112. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.js +3 -3
  113. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js +54 -23
  114. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +40 -27
  115. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.js +3 -3
  116. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js +58 -26
  117. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +22 -7
  118. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +188 -53
  119. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js +2 -2
  120. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js +57 -24
  121. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +70 -20
  122. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.d.ts.map +1 -1
  123. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +88 -48
  124. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js.map +1 -1
  125. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +40 -20
  126. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +43 -15
  127. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +301 -137
  128. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js.map +1 -1
  129. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +692 -240
  130. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +20 -8
  131. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +132 -35
  132. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +21 -8
  133. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +105 -33
  134. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +12 -9
  135. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +54 -20
  136. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +716 -560
  137. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +58 -18
  138. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +45 -14
  139. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +76 -18
  140. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +82 -24
  141. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +37 -8
  142. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +120 -36
  143. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +145 -63
  144. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +44 -12
  145. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +14 -4
  146. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +81 -25
  147. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +82 -24
  148. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +63 -20
  149. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +248 -74
  150. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +61 -13
  151. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +92 -33
  152. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +144 -45
  153. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js +203 -95
  154. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js +79 -37
  155. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.js +2 -2
  156. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.js +19 -17
  157. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js +58 -11
  158. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js +73 -25
  159. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js +205 -95
  160. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js +78 -37
  161. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.js +2 -2
  162. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.js +19 -17
  163. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js +58 -11
  164. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js +71 -25
  165. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js +163 -85
  166. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js +10 -4
  167. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js +72 -27
  168. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js +796 -436
  169. package/bin/src/forms/domains/dispatched-forms/runner/state.js +62 -38
  170. package/bin/src/forms/domains/dispatched-forms/runner/template.js +78 -25
  171. package/bin/src/forms/domains/launcher/coroutines/runner.js +120 -45
  172. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +240 -101
  173. package/bin/src/forms/domains/launcher/domains/create/state.js +62 -17
  174. package/bin/src/forms/domains/launcher/domains/create/template.js +84 -42
  175. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +242 -103
  176. package/bin/src/forms/domains/launcher/domains/edit/state.js +62 -17
  177. package/bin/src/forms/domains/launcher/domains/edit/template.js +86 -43
  178. package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
  179. package/bin/src/forms/domains/launcher/domains/merger/state.js +35 -26
  180. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +88 -42
  181. package/bin/src/forms/domains/launcher/domains/passthrough/state.js +44 -19
  182. package/bin/src/forms/domains/launcher/domains/passthrough/template.js +56 -34
  183. package/bin/src/forms/domains/launcher/state.js +6 -6
  184. package/bin/src/forms/domains/launcher/template.js +169 -85
  185. package/bin/src/forms/domains/parser/coroutines/runner.js +87 -25
  186. package/bin/src/forms/domains/parser/domains/built-ins/state.js +944 -533
  187. package/bin/src/forms/domains/parser/domains/deltas/state.js +444 -318
  188. package/bin/src/forms/domains/parser/domains/injectables/state.js +29 -26
  189. package/bin/src/forms/domains/parser/domains/layout/state.js +271 -183
  190. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +324 -162
  191. package/bin/src/forms/domains/parser/domains/predicates/state.js +1514 -984
  192. package/bin/src/forms/domains/parser/domains/renderer/state.js +1137 -480
  193. package/bin/src/forms/domains/parser/domains/types/state.js +355 -170
  194. package/bin/src/forms/domains/parser/domains/validator/state.js +417 -280
  195. package/bin/src/forms/domains/parser/state.js +612 -373
  196. package/bin/src/forms/domains/parser/template.js +1 -1
  197. package/bin/src/forms/domains/primitives/domains/base-64-file/state.js +5 -5
  198. package/bin/src/forms/domains/primitives/domains/base-64-file/template.js +38 -19
  199. package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
  200. package/bin/src/forms/domains/primitives/domains/boolean/template.js +38 -19
  201. package/bin/src/forms/domains/primitives/domains/date/state.js +18 -9
  202. package/bin/src/forms/domains/primitives/domains/date/template.js +51 -25
  203. package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
  204. package/bin/src/forms/domains/primitives/domains/enum/template.js +117 -48
  205. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
  206. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +99 -40
  207. package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
  208. package/bin/src/forms/domains/primitives/domains/list/template.js +200 -71
  209. package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
  210. package/bin/src/forms/domains/primitives/domains/map/template.js +294 -103
  211. package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
  212. package/bin/src/forms/domains/primitives/domains/number/template.js +38 -19
  213. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +33 -16
  214. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +171 -62
  215. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.js +1 -1
  216. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.js +182 -69
  217. package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
  218. package/bin/src/forms/domains/primitives/domains/secret/template.js +38 -19
  219. package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
  220. package/bin/src/forms/domains/primitives/domains/string/template.js +42 -22
  221. package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
  222. package/bin/src/forms/domains/primitives/domains/sum/template.js +141 -50
  223. package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
  224. package/bin/src/forms/domains/primitives/domains/tuple/template.js +100 -33
  225. package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
  226. package/bin/src/forms/domains/primitives/domains/unit/template.js +22 -9
  227. package/bin/src/forms/domains/singleton/domains/form-label/state.d.ts +4 -4
  228. package/bin/src/forms/domains/singleton/domains/form-label/state.js +1 -1
  229. package/bin/src/forms/domains/singleton/state.js +12 -10
  230. package/bin/src/forms/domains/singleton/template.js +288 -113
  231. package/bin/src/fun/domains/curry/state.d.ts +4 -2
  232. package/bin/src/fun/domains/curry/state.js +1 -1
  233. package/bin/src/fun/domains/id/state.d.ts +1 -1
  234. package/bin/src/fun/domains/id/state.js +1 -1
  235. package/bin/src/fun/domains/predicate/domains/bool-expr.d.ts +57 -41
  236. package/bin/src/fun/domains/predicate/domains/bool-expr.js +76 -67
  237. package/bin/src/fun/domains/predicate/state.d.ts +9 -7
  238. package/bin/src/fun/domains/predicate/state.js +14 -10
  239. package/bin/src/fun/domains/simpleCallback/state.d.ts +1 -1
  240. package/bin/src/fun/domains/simpleCallback/state.js +1 -1
  241. package/bin/src/fun/domains/uncurry/state.d.ts +4 -2
  242. package/bin/src/fun/domains/uncurry/state.js +1 -1
  243. package/bin/src/fun/domains/unit/state.d.ts +1 -1
  244. package/bin/src/fun/domains/unit/state.js +1 -1
  245. package/bin/src/fun/domains/updater/domains/caseUpdater/state.d.ts +22 -7
  246. package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +18 -10
  247. package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +24 -13
  248. package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +40 -10
  249. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +19 -13
  250. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +20 -9
  251. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +24 -13
  252. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +47 -11
  253. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +20 -8
  254. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +17 -5
  255. package/bin/src/fun/domains/updater/domains/replaceWith/state.d.ts +1 -1
  256. package/bin/src/fun/domains/updater/domains/replaceWith/state.js +1 -1
  257. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts +13 -4
  258. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +6 -4
  259. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +60 -22
  260. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +42 -31
  261. package/bin/src/fun/domains/updater/state.d.ts +4 -4
  262. package/bin/src/fun/domains/updater/state.js +12 -10
  263. package/bin/src/fun/state.d.ts +3 -3
  264. package/bin/src/fun/state.js +9 -7
  265. package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
  266. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +47 -20
  267. package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
  268. package/bin/src/infinite-data-stream/state.d.ts +84 -51
  269. package/bin/src/infinite-data-stream/state.js +125 -61
  270. package/bin/src/infinite-data-stream/template.js +3 -2
  271. package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
  272. package/bin/src/math/domains/DOMRect/state.js +10 -8
  273. package/bin/src/math/domains/number/state.d.ts +5 -5
  274. package/bin/src/math/domains/number/state.js +5 -5
  275. package/bin/src/math/domains/rect/state.d.ts +8 -8
  276. package/bin/src/math/domains/rect/state.js +16 -15
  277. package/bin/src/math/domains/rgba/state.d.ts +17 -17
  278. package/bin/src/math/domains/rgba/state.js +77 -81
  279. package/bin/src/math/domains/size2/state.d.ts +8 -8
  280. package/bin/src/math/domains/size2/state.js +6 -6
  281. package/bin/src/math/domains/vector2/state.d.ts +10 -10
  282. package/bin/src/math/domains/vector2/state.js +8 -8
  283. package/bin/src/queue/state.js +23 -16
  284. package/bin/src/state/domains/repository/state.d.ts +15 -9
  285. package/bin/src/state/domains/repository/state.js +1 -1
  286. package/bin/src/template/state.js +163 -115
  287. package/bin/src/validation/state.js +38 -45
  288. package/bin/src/value/domains/mutable-value/state.js +3 -2
  289. package/bin/src/value/state.d.ts +9 -9
  290. package/bin/src/value/state.js +11 -8
  291. package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
  292. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +55 -20
  293. package/bin/src/value-infinite-data-stream/coroutines/runner.js +6 -4
  294. package/bin/src/value-infinite-data-stream/state.js +199 -77
  295. package/bin/src/value-infinite-data-stream/template.js +4 -2
  296. package/bin/src/visibility/state.d.ts +5 -2
  297. package/bin/src/visibility/state.js +1 -1
  298. package/main.ts +1 -0
  299. package/package.json +1 -1
  300. package/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.ts +2 -2
  301. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.ts +117 -111
  302. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.ts +14 -5
  303. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.ts +75 -18
  304. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.ts +16 -6
  305. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.ts +27 -9
  306. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.ts +28 -8
  307. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.ts +13 -4
  308. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.ts +18 -7
  309. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.ts +40 -14
  310. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.ts +15 -5
  311. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.ts +20 -6
  312. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.ts +101 -50
  313. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.ts +22 -23
  314. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.ts +37 -19
  315. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.ts +64 -6
  316. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.ts +585 -0
  317. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.ts +592 -340
  318. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.ts +364 -226
  319. package/src/forms/domains/dispatched-forms/deserializer/state.ts +1 -2
  320. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.tsx +1 -1
  321. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.ts +2 -2
@@ -1,589 +1,1000 @@
1
1
  import { Map, List, Set, OrderedMap } from "immutable";
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";
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";
4
24
  import { ValueOrErrors } from "../../../../../collections/domains/valueOrErrors/state";
5
- const sortObjectKeys = (obj) => Object.keys(obj)
25
+ const sortObjectKeys = (obj) =>
26
+ Object.keys(obj)
6
27
  .sort()
7
28
  .reduce((sortedObj, key) => {
8
- sortedObj[key] = obj[key];
9
- return sortedObj;
10
- }, {});
29
+ sortedObj[key] = obj[key];
30
+ return sortedObj;
31
+ }, {});
11
32
  const simpleMapKeyToIdentifer = (key) => {
12
- if (typeof key == "object")
13
- return JSON.stringify(sortObjectKeys(key));
14
- return JSON.stringify(key);
33
+ if (typeof key == "object") return JSON.stringify(sortObjectKeys(key));
34
+ return JSON.stringify(key);
15
35
  };
16
36
  export const PrimitiveTypes = [
17
- "unit",
18
- "guid", //resolves to string
19
- "string",
20
- "number",
21
- "boolean",
22
- "Date",
23
- "base64File",
24
- "secret",
37
+ "unit",
38
+ "guid", //resolves to string
39
+ "string",
40
+ "number",
41
+ "boolean",
42
+ "Date",
43
+ "base64File",
44
+ "secret",
25
45
  ];
26
46
  export const GenericTypes = [
27
- "SingleSelection",
28
- "MultiSelection",
29
- "List",
30
- "Map",
31
- "Union",
32
- "Tuple",
33
- "Option",
34
- "Sum",
35
- "KeyOf",
36
- "Table",
47
+ "SingleSelection",
48
+ "MultiSelection",
49
+ "List",
50
+ "Map",
51
+ "Union",
52
+ "Tuple",
53
+ "Option",
54
+ "Sum",
55
+ "KeyOf",
56
+ "Table",
37
57
  ];
38
58
  export const builtInsFromFieldViews = (fieldViews) => {
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(),
59
+ const builtins = {
60
+ primitives: Map([
61
+ [
62
+ "unit",
63
+ {
64
+ renderers: Set(["unit"]),
65
+ defaultValue: PredicateValue.Default.unit(),
66
+ defaultState: UnitFormState.Default(),
171
67
  },
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;
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),
179
+ },
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;
183
210
  };
184
211
  export const defaultState = (types, builtIns, injectedPrimitives) => (t) => {
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`);
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
+ );
219
258
  };
220
259
  export const defaultValue = (types, builtIns, injectedPrimitives) => (t) => {
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;
228
- }
229
- if (t.kind == "application" && t.value == "Tuple") {
230
- return builtIns.generics
231
- .get("Tuple")
232
- .defaultValue(t.args.map((_) => defaultValue(types, builtIns, injectedPrimitives)(_)));
233
- }
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));
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
+ );
252
304
  }
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));
305
+ if (tableType.kind != "record") {
306
+ throw Error(`tableType ${t.tableType} is not a record`);
266
307
  }
267
- throw Error(`cannot find type ${JSON.stringify(t)} when resolving defaultValue`);
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
+ );
268
320
  };
269
- export const fromAPIRawValue = (t, types, builtIns, converters, injectedPrimitives) => (raw) => {
321
+ export const fromAPIRawValue =
322
+ (t, types, builtIns, converters, injectedPrimitives) => (raw) => {
270
323
  if (t.kind == "primitive") {
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));
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
+ );
280
341
  }
281
342
  if (t.kind == "union") {
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
- });
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
+ });
289
360
  }
290
361
  if (t.kind == "application") {
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
- }
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
+ }
320
465
  }
321
466
  if (t.kind == "lookup")
322
- return fromAPIRawValue(types.get(t.name), types, builtIns, converters, injectedPrimitives)(raw);
467
+ return fromAPIRawValue(
468
+ types.get(t.name),
469
+ types,
470
+ builtIns,
471
+ converters,
472
+ injectedPrimitives,
473
+ )(raw);
323
474
  if (t.kind == "record") {
324
- if (typeof raw != "object") {
325
- return ValueOrErrors.Default.throwOne(`object expected but got ${JSON.stringify(raw)}`);
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;
326
486
  }
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);
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);
344
498
  }
345
- return ValueOrErrors.Default.return(PredicateValue.Default.record(result));
499
+ });
500
+ if (errors.size > 0) {
501
+ return ValueOrErrors.Default.throw(errors);
502
+ }
503
+ return ValueOrErrors.Default.return(
504
+ PredicateValue.Default.record(result),
505
+ );
346
506
  }
347
507
  if (t.kind == "table") {
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));
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
+ }
374
539
  });
375
- if (errors.size > 0) {
376
- return ValueOrErrors.Default.throw(errors);
377
- }
378
- return ValueOrErrors.Default.return(
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(
379
549
  // PredicateValue.Default.record(result),
380
- PredicateValue.Default.record(OrderedMap([
550
+ PredicateValue.Default.record(
551
+ OrderedMap([
381
552
  ["data", PredicateValue.Default.record(result)],
382
553
  ["hasMoreValues", converted.hasMoreValues],
383
554
  ["to", converted.to],
384
555
  ["from", converted.from],
385
- ])));
556
+ ]),
557
+ ),
558
+ );
386
559
  }
387
- return ValueOrErrors.Default.throwOne(`unsupported type ${JSON.stringify(t)} for raw: `);
388
- };
389
- export const toAPIRawValue = (t, types, builtIns, converters, injectedPrimitives) => (raw, formState) => {
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) => {
390
566
  var _a, _b, _c, _d, _e, _f, _g, _h;
391
567
  if (t.kind == "primitive") {
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
- ]));
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
+ );
399
585
  }
400
586
  if (t.kind == "union") {
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
- ]));
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
+ );
421
625
  }
422
626
  if (t.kind == "application") {
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
- }
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
+ );
447
632
  }
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
- });
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
+ );
477
677
  }
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
- });
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
+ );
492
684
  }
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
- });
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
+ );
527
740
  }
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
- ]));
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]));
542
836
  });
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
+ );
543
863
  }
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
- });
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
+ );
558
900
  }
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
+ }
559
940
  }
560
941
  if (t.kind == "lookup")
561
- return toAPIRawValue(types.get(t.name), types, builtIns, converters, injectedPrimitives)(raw, formState);
942
+ return toAPIRawValue(
943
+ types.get(t.name),
944
+ types,
945
+ builtIns,
946
+ converters,
947
+ injectedPrimitives,
948
+ )(raw, formState);
562
949
  if (t.kind == "record") {
563
- if (!PredicateValue.Operations.IsRecord(raw)) {
564
- return ValueOrErrors.Default.throwOne(`Record expected but got ${JSON.stringify(raw)}`);
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;
565
962
  }
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
- }, {}));
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
+ );
586
995
  }
587
- return ValueOrErrors.Operations.Return(defaultValue(types, builtIns, injectedPrimitives)(t));
588
- };
589
- //# sourceMappingURL=state.js.map
996
+ return ValueOrErrors.Operations.Return(
997
+ defaultValue(types, builtIns, injectedPrimitives)(t),
998
+ );
999
+ };
1000
+ //# sourceMappingURL=state.js.map