ballerina-core 1.0.253 → 1.0.255

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 (589) hide show
  1. package/bin/main.d.ts +1 -1
  2. package/bin/main.js +1 -1
  3. package/bin/src/api-response-handler/coroutines/runner.d.ts +9 -2
  4. package/bin/src/api-response-handler/coroutines/runner.js +20 -13
  5. package/bin/src/api-response-handler/state.d.ts +12 -12
  6. package/bin/src/api-response-handler/state.js +13 -11
  7. package/bin/src/apiResultStatus/state.d.ts +10 -3
  8. package/bin/src/apiResultStatus/state.js +2 -5
  9. package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.d.ts +400 -75
  10. package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.js +314 -196
  11. package/bin/src/async/domains/mirroring/domains/collection/state.d.ts +38 -25
  12. package/bin/src/async/domains/mirroring/domains/collection/state.js +126 -36
  13. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.d.ts +12 -8
  14. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.js +18 -11
  15. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.d.ts +12 -9
  16. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.js +19 -19
  17. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.d.ts +17 -8
  18. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.js +1 -1
  19. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.d.ts +16 -13
  20. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.js +18 -18
  21. package/bin/src/async/domains/mirroring/domains/entity/state.d.ts +12 -9
  22. package/bin/src/async/domains/mirroring/domains/entity/state.js +18 -9
  23. package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.d.ts +233 -41
  24. package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.js +134 -83
  25. package/bin/src/async/domains/mirroring/domains/singleton/state.d.ts +24 -15
  26. package/bin/src/async/domains/mirroring/domains/singleton/state.js +52 -8
  27. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts +5 -9
  28. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts.map +1 -1
  29. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.js +1 -1
  30. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.d.ts +16 -10
  31. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.js +7 -4
  32. package/bin/src/async/domains/promise/state.d.ts +9 -4
  33. package/bin/src/async/domains/promise/state.js +20 -9
  34. package/bin/src/async/domains/synchronized/coroutines/synchronize.d.ts +29 -4
  35. package/bin/src/async/domains/synchronized/coroutines/synchronize.js +80 -28
  36. package/bin/src/async/domains/synchronized/state.d.ts +14 -7
  37. package/bin/src/async/domains/synchronized/state.js +16 -6
  38. package/bin/src/async/state.d.ts +56 -45
  39. package/bin/src/async/state.js +115 -97
  40. package/bin/src/baseEntity/domains/identifiable/state.d.ts +15 -11
  41. package/bin/src/baseEntity/domains/identifiable/state.js +9 -9
  42. package/bin/src/collections/domains/array/state.d.ts +7 -7
  43. package/bin/src/collections/domains/array/state.js +5 -5
  44. package/bin/src/collections/domains/errors/state.d.ts +10 -10
  45. package/bin/src/collections/domains/errors/state.js +10 -10
  46. package/bin/src/collections/domains/immutable/domains/list/state.d.ts +19 -15
  47. package/bin/src/collections/domains/immutable/domains/list/state.js +46 -44
  48. package/bin/src/collections/domains/immutable/domains/map/state.d.ts +30 -16
  49. package/bin/src/collections/domains/immutable/domains/map/state.js +41 -23
  50. package/bin/src/collections/domains/immutable/domains/orderedMap/state.d.ts +53 -25
  51. package/bin/src/collections/domains/immutable/domains/orderedMap/state.js +84 -65
  52. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.d.ts +6 -6
  53. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.js +6 -6
  54. package/bin/src/collections/domains/maybe/state.d.ts +9 -9
  55. package/bin/src/collections/domains/maybe/state.js +12 -9
  56. package/bin/src/collections/domains/product/state.d.ts +25 -19
  57. package/bin/src/collections/domains/product/state.js +13 -10
  58. package/bin/src/collections/domains/sum/state.d.ts +101 -77
  59. package/bin/src/collections/domains/sum/state.js +49 -32
  60. package/bin/src/collections/domains/valueOrErrors/state.d.ts +53 -27
  61. package/bin/src/collections/domains/valueOrErrors/state.js +81 -56
  62. package/bin/src/coroutines/builder.d.ts +135 -49
  63. package/bin/src/coroutines/builder.js +40 -19
  64. package/bin/src/coroutines/state.d.ts +186 -71
  65. package/bin/src/coroutines/state.js +381 -306
  66. package/bin/src/coroutines/template.d.ts +17 -8
  67. package/bin/src/coroutines/template.js +97 -59
  68. package/bin/src/debounced/coroutines/debounce.d.ts +15 -6
  69. package/bin/src/debounced/coroutines/debounce.js +115 -89
  70. package/bin/src/debounced/state.d.ts +26 -19
  71. package/bin/src/debounced/state.js +62 -25
  72. package/bin/src/diagnostics/domains/message-box/state.d.ts +1 -1
  73. package/bin/src/diagnostics/domains/message-box/state.js +3 -3
  74. package/bin/src/foreignMutations/state.d.ts +3 -3
  75. package/bin/src/foreignMutations/state.js +1 -1
  76. package/bin/src/forms/domains/attachments/views/attachments-view.d.ts +4 -4
  77. package/bin/src/forms/domains/attachments/views/attachments-view.js +30 -8
  78. package/bin/src/forms/domains/collection/domains/reference/state.d.ts +29 -22
  79. package/bin/src/forms/domains/collection/domains/reference/state.js +26 -20
  80. package/bin/src/forms/domains/collection/domains/selection/state.d.ts +37 -15
  81. package/bin/src/forms/domains/collection/domains/selection/state.js +1 -1
  82. package/bin/src/forms/domains/dispatched-forms/built-ins/state.d.ts +531 -120
  83. package/bin/src/forms/domains/dispatched-forms/built-ins/state.js +2007 -754
  84. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.d.ts +17 -2
  85. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js +123 -44
  86. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.d.ts +119 -67
  87. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.d.ts.map +1 -1
  88. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.js +315 -167
  89. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.js.map +1 -1
  90. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.d.ts +35 -19
  91. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.js +40 -27
  92. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.d.ts +60 -29
  93. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.d.ts.map +1 -1
  94. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.js +76 -41
  95. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.js.map +1 -1
  96. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.d.ts +121 -56
  97. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.js +102 -59
  98. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.d.ts +42 -15
  99. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.js +64 -29
  100. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.d.ts +70 -29
  101. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.d.ts.map +1 -1
  102. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.js +53 -33
  103. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.js.map +1 -1
  104. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.d.ts +61 -18
  105. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.js +88 -33
  106. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.d.ts +20 -10
  107. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.js +21 -13
  108. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.d.ts +50 -19
  109. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.js +52 -23
  110. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.d.ts +42 -11
  111. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.js +59 -18
  112. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.d.ts +49 -19
  113. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.js +129 -55
  114. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.d.ts +29 -14
  115. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.js +43 -27
  116. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.d.ts +49 -19
  117. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.js +63 -23
  118. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.d.ts +21 -13
  119. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.js +39 -22
  120. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.d.ts +39 -10
  121. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.js +46 -11
  122. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts +79 -39
  123. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts.map +1 -1
  124. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js +146 -50
  125. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js.map +1 -1
  126. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.d.ts +37 -13
  127. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.js +64 -29
  128. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.d.ts +40 -15
  129. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.js +78 -33
  130. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.d.ts +107 -19
  131. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.js +157 -62
  132. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts +417 -227
  133. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js +977 -569
  134. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.d.ts +103 -51
  135. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.js +255 -94
  136. package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts +360 -106
  137. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js +322 -90
  138. package/bin/src/forms/domains/dispatched-forms/deserializer/template.d.ts +27 -2
  139. package/bin/src/forms/domains/dispatched-forms/deserializer/template.js +3 -2
  140. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.d.ts +27 -4
  141. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.js +136 -82
  142. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.d.ts +35 -7
  143. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.js +3 -3
  144. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.d.ts +28 -4
  145. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js +49 -23
  146. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.d.ts +33 -7
  147. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js +3 -3
  148. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.d.ts +25 -4
  149. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js +52 -24
  150. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.d.ts +56 -19
  151. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +18 -6
  152. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.d.ts +29 -7
  153. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +64 -30
  154. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.d.ts +43 -15
  155. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +9 -6
  156. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.d.ts +41 -8
  157. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +153 -60
  158. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.d.ts +45 -11
  159. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.js +1 -1
  160. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.d.ts +42 -8
  161. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js +127 -50
  162. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.d.ts +54 -19
  163. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +40 -22
  164. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.d.ts +92 -39
  165. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.d.ts.map +1 -1
  166. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +20 -13
  167. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js.map +1 -1
  168. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts +50 -9
  169. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts.map +1 -1
  170. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +394 -152
  171. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js.map +1 -1
  172. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.d.ts +41 -7
  173. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.js +1 -1
  174. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.d.ts +45 -4
  175. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js +28 -8
  176. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.d.ts +103 -26
  177. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +61 -18
  178. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.d.ts +64 -9
  179. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.d.ts.map +1 -1
  180. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +314 -90
  181. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js.map +1 -1
  182. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.d.ts +37 -7
  183. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.js +3 -3
  184. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.d.ts +29 -4
  185. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js +54 -23
  186. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.d.ts +50 -13
  187. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +22 -10
  188. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.d.ts +59 -12
  189. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +49 -31
  190. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.d.ts +47 -11
  191. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +29 -10
  192. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.d.ts +3868 -1065
  193. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js +2 -2
  194. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.d.ts +161 -36
  195. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js +47 -26
  196. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.d.ts +245 -80
  197. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +88 -40
  198. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.d.ts +83 -10
  199. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.d.ts.map +1 -1
  200. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +372 -154
  201. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js.map +1 -1
  202. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.d.ts +65 -20
  203. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +19 -10
  204. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.d.ts +47 -6
  205. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.d.ts.map +1 -1
  206. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +68 -21
  207. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js.map +1 -1
  208. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.d.ts +81 -21
  209. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +32 -11
  210. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.d.ts +59 -11
  211. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.d.ts.map +1 -1
  212. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +209 -83
  213. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js.map +1 -1
  214. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.d.ts +123 -49
  215. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +35 -13
  216. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.d.ts +45 -8
  217. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +195 -68
  218. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.d.ts +121 -51
  219. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +36 -13
  220. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.d.ts +45 -8
  221. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +246 -106
  222. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.d.ts +38 -8
  223. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.js +3 -3
  224. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.d.ts +29 -4
  225. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js +54 -23
  226. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.d.ts +61 -43
  227. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.d.ts.map +1 -1
  228. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +24 -28
  229. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js.map +1 -1
  230. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.d.ts +38 -8
  231. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.js +3 -3
  232. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.d.ts +29 -4
  233. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js +58 -26
  234. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.d.ts +93 -29
  235. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +22 -7
  236. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.d.ts +55 -7
  237. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.d.ts.map +1 -1
  238. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +175 -59
  239. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js.map +1 -1
  240. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.d.ts +2779 -973
  241. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js +2 -2
  242. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.d.ts +48 -10
  243. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js +57 -24
  244. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.d.ts +54 -10
  245. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +70 -20
  246. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.d.ts +56 -12
  247. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +61 -27
  248. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.d.ts +33 -3
  249. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +38 -19
  250. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.d.ts +130 -26
  251. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +43 -15
  252. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts +440 -217
  253. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts.map +1 -1
  254. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +301 -137
  255. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts +102 -19
  256. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts.map +1 -1
  257. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +628 -251
  258. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js.map +1 -1
  259. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.d.ts +75 -18
  260. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +20 -8
  261. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.d.ts +51 -6
  262. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.d.ts.map +1 -1
  263. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +124 -36
  264. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js.map +1 -1
  265. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.d.ts +76 -20
  266. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.d.ts.map +1 -1
  267. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +21 -8
  268. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js.map +1 -1
  269. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.d.ts +51 -6
  270. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.d.ts.map +1 -1
  271. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +93 -32
  272. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js.map +1 -1
  273. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.d.ts +45 -13
  274. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +12 -9
  275. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.d.ts +29 -6
  276. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +54 -20
  277. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts +609 -466
  278. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts.map +1 -1
  279. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +676 -560
  280. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js.map +1 -1
  281. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.d.ts +24 -5
  282. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.d.ts.map +1 -1
  283. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +57 -18
  284. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js.map +1 -1
  285. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.d.ts +22 -5
  286. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +45 -14
  287. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.d.ts +23 -5
  288. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.d.ts.map +1 -1
  289. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +74 -18
  290. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js.map +1 -1
  291. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.d.ts +21 -5
  292. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +82 -24
  293. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.d.ts +41 -6
  294. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +37 -8
  295. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.d.ts +56 -7
  296. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.d.ts.map +1 -1
  297. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +118 -36
  298. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js.map +1 -1
  299. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.d.ts +21 -5
  300. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +145 -63
  301. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.d.ts +24 -5
  302. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.d.ts.map +1 -1
  303. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +43 -12
  304. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js.map +1 -1
  305. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.d.ts +25 -5
  306. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +14 -4
  307. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.d.ts +48 -6
  308. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.d.ts.map +1 -1
  309. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +80 -25
  310. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js.map +1 -1
  311. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.d.ts +21 -5
  312. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +82 -24
  313. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.d.ts +24 -5
  314. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.d.ts.map +1 -1
  315. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +61 -20
  316. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js.map +1 -1
  317. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.d.ts +54 -7
  318. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.d.ts.map +1 -1
  319. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +245 -80
  320. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js.map +1 -1
  321. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.d.ts +24 -5
  322. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.d.ts.map +1 -1
  323. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +60 -13
  324. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js.map +1 -1
  325. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.d.ts +24 -5
  326. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.d.ts.map +1 -1
  327. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +63 -33
  328. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js.map +1 -1
  329. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.d.ts +43 -6
  330. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +144 -45
  331. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.d.ts +43 -9
  332. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.d.ts.map +1 -1
  333. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js +200 -95
  334. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js.map +1 -1
  335. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.d.ts +52 -10
  336. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js +79 -37
  337. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.d.ts +1248 -262
  338. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.js +2 -2
  339. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.d.ts +50 -10
  340. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.js +19 -17
  341. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.d.ts +149 -39
  342. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.d.ts.map +1 -1
  343. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js +54 -11
  344. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js.map +1 -1
  345. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.d.ts +51 -11
  346. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.d.ts.map +1 -1
  347. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js +72 -25
  348. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js.map +1 -1
  349. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.d.ts +49 -10
  350. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.d.ts.map +1 -1
  351. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js +202 -95
  352. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js.map +1 -1
  353. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.d.ts +54 -10
  354. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js +78 -37
  355. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.d.ts +1248 -262
  356. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.js +2 -2
  357. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.d.ts +50 -10
  358. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.js +19 -17
  359. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.d.ts +150 -39
  360. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.d.ts.map +1 -1
  361. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js +54 -11
  362. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js.map +1 -1
  363. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.d.ts +55 -11
  364. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.d.ts.map +1 -1
  365. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js +70 -25
  366. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js.map +1 -1
  367. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.d.ts +34 -4
  368. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.d.ts.map +1 -1
  369. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js +158 -85
  370. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js.map +1 -1
  371. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.d.ts +60 -11
  372. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js +10 -4
  373. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.d.ts +48 -6
  374. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.d.ts.map +1 -1
  375. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js +71 -27
  376. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js.map +1 -1
  377. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.d.ts +38 -18
  378. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js +773 -423
  379. package/bin/src/forms/domains/dispatched-forms/runner/state.d.ts +293 -84
  380. package/bin/src/forms/domains/dispatched-forms/runner/state.d.ts.map +1 -1
  381. package/bin/src/forms/domains/dispatched-forms/runner/state.js +58 -38
  382. package/bin/src/forms/domains/dispatched-forms/runner/state.js.map +1 -1
  383. package/bin/src/forms/domains/dispatched-forms/runner/template.d.ts +28 -4
  384. package/bin/src/forms/domains/dispatched-forms/runner/template.js +78 -25
  385. package/bin/src/forms/domains/launcher/coroutines/runner.d.ts +12 -4
  386. package/bin/src/forms/domains/launcher/coroutines/runner.js +120 -45
  387. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.d.ts +16 -3
  388. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +240 -101
  389. package/bin/src/forms/domains/launcher/domains/create/state.d.ts +236 -121
  390. package/bin/src/forms/domains/launcher/domains/create/state.js +62 -17
  391. package/bin/src/forms/domains/launcher/domains/create/template.d.ts +20 -6
  392. package/bin/src/forms/domains/launcher/domains/create/template.js +84 -42
  393. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.d.ts +16 -3
  394. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +242 -103
  395. package/bin/src/forms/domains/launcher/domains/edit/state.d.ts +230 -121
  396. package/bin/src/forms/domains/launcher/domains/edit/state.js +62 -17
  397. package/bin/src/forms/domains/launcher/domains/edit/template.d.ts +20 -6
  398. package/bin/src/forms/domains/launcher/domains/edit/template.js +86 -43
  399. package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
  400. package/bin/src/forms/domains/launcher/domains/merger/state.js +35 -26
  401. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.d.ts +20 -5
  402. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +88 -42
  403. package/bin/src/forms/domains/launcher/domains/passthrough/state.d.ts +123 -58
  404. package/bin/src/forms/domains/launcher/domains/passthrough/state.js +44 -19
  405. package/bin/src/forms/domains/launcher/domains/passthrough/template.d.ts +23 -6
  406. package/bin/src/forms/domains/launcher/domains/passthrough/template.js +56 -34
  407. package/bin/src/forms/domains/launcher/state.d.ts +62 -43
  408. package/bin/src/forms/domains/launcher/state.js +6 -6
  409. package/bin/src/forms/domains/launcher/template.d.ts +35 -15
  410. package/bin/src/forms/domains/launcher/template.js +169 -85
  411. package/bin/src/forms/domains/parser/coroutines/runner.d.ts +13 -5
  412. package/bin/src/forms/domains/parser/coroutines/runner.js +87 -25
  413. package/bin/src/forms/domains/parser/domains/built-ins/state.d.ts +135 -71
  414. package/bin/src/forms/domains/parser/domains/built-ins/state.js +944 -533
  415. package/bin/src/forms/domains/parser/domains/deltas/state.d.ts +417 -296
  416. package/bin/src/forms/domains/parser/domains/deltas/state.js +444 -318
  417. package/bin/src/forms/domains/parser/domains/injectables/state.d.ts +29 -20
  418. package/bin/src/forms/domains/parser/domains/injectables/state.js +29 -26
  419. package/bin/src/forms/domains/parser/domains/layout/state.d.ts +78 -49
  420. package/bin/src/forms/domains/parser/domains/layout/state.d.ts.map +1 -1
  421. package/bin/src/forms/domains/parser/domains/layout/state.js +265 -183
  422. package/bin/src/forms/domains/parser/domains/layout/state.js.map +1 -1
  423. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.d.ts +19 -6
  424. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +324 -162
  425. package/bin/src/forms/domains/parser/domains/predicates/state.d.ts +502 -314
  426. package/bin/src/forms/domains/parser/domains/predicates/state.d.ts.map +1 -1
  427. package/bin/src/forms/domains/parser/domains/predicates/state.js +1506 -981
  428. package/bin/src/forms/domains/parser/domains/predicates/state.js.map +1 -1
  429. package/bin/src/forms/domains/parser/domains/renderer/state.d.ts +245 -92
  430. package/bin/src/forms/domains/parser/domains/renderer/state.js +1137 -480
  431. package/bin/src/forms/domains/parser/domains/types/state.d.ts +170 -130
  432. package/bin/src/forms/domains/parser/domains/types/state.js +355 -170
  433. package/bin/src/forms/domains/parser/domains/validator/state.d.ts +143 -117
  434. package/bin/src/forms/domains/parser/domains/validator/state.js +417 -280
  435. package/bin/src/forms/domains/parser/state.d.ts +217 -82
  436. package/bin/src/forms/domains/parser/state.js +612 -373
  437. package/bin/src/forms/domains/parser/template.d.ts +13 -5
  438. package/bin/src/forms/domains/parser/template.js +1 -1
  439. package/bin/src/forms/domains/primitives/domains/base-64-file/state.d.ts +19 -11
  440. package/bin/src/forms/domains/primitives/domains/base-64-file/state.js +5 -5
  441. package/bin/src/forms/domains/primitives/domains/base-64-file/template.d.ts +18 -7
  442. package/bin/src/forms/domains/primitives/domains/base-64-file/template.js +38 -19
  443. package/bin/src/forms/domains/primitives/domains/boolean/state.d.ts +19 -11
  444. package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
  445. package/bin/src/forms/domains/primitives/domains/boolean/template.d.ts +24 -8
  446. package/bin/src/forms/domains/primitives/domains/boolean/template.js +38 -19
  447. package/bin/src/forms/domains/primitives/domains/date/state.d.ts +39 -20
  448. package/bin/src/forms/domains/primitives/domains/date/state.js +18 -9
  449. package/bin/src/forms/domains/primitives/domains/date/template.d.ts +18 -7
  450. package/bin/src/forms/domains/primitives/domains/date/template.js +51 -25
  451. package/bin/src/forms/domains/primitives/domains/enum/state.d.ts +31 -15
  452. package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
  453. package/bin/src/forms/domains/primitives/domains/enum/template.d.ts +18 -7
  454. package/bin/src/forms/domains/primitives/domains/enum/template.js +117 -48
  455. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.d.ts +17 -8
  456. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
  457. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.d.ts +18 -7
  458. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +99 -40
  459. package/bin/src/forms/domains/primitives/domains/list/state.d.ts +45 -24
  460. package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
  461. package/bin/src/forms/domains/primitives/domains/list/template.d.ts +38 -13
  462. package/bin/src/forms/domains/primitives/domains/list/template.js +200 -71
  463. package/bin/src/forms/domains/primitives/domains/map/state.d.ts +68 -29
  464. package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
  465. package/bin/src/forms/domains/primitives/domains/map/template.d.ts +65 -25
  466. package/bin/src/forms/domains/primitives/domains/map/template.js +294 -103
  467. package/bin/src/forms/domains/primitives/domains/number/state.d.ts +19 -11
  468. package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
  469. package/bin/src/forms/domains/primitives/domains/number/template.d.ts +24 -8
  470. package/bin/src/forms/domains/primitives/domains/number/template.js +38 -19
  471. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.d.ts +89 -42
  472. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +33 -16
  473. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.d.ts +22 -8
  474. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +171 -62
  475. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.d.ts +18 -9
  476. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.js +1 -1
  477. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.d.ts +18 -7
  478. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.js +182 -69
  479. package/bin/src/forms/domains/primitives/domains/secret/state.d.ts +19 -11
  480. package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
  481. package/bin/src/forms/domains/primitives/domains/secret/template.d.ts +18 -7
  482. package/bin/src/forms/domains/primitives/domains/secret/template.js +38 -19
  483. package/bin/src/forms/domains/primitives/domains/string/state.d.ts +21 -13
  484. package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
  485. package/bin/src/forms/domains/primitives/domains/string/template.d.ts +18 -7
  486. package/bin/src/forms/domains/primitives/domains/string/template.js +42 -22
  487. package/bin/src/forms/domains/primitives/domains/sum/state.d.ts +62 -22
  488. package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
  489. package/bin/src/forms/domains/primitives/domains/sum/template.d.ts +48 -16
  490. package/bin/src/forms/domains/primitives/domains/sum/template.js +141 -50
  491. package/bin/src/forms/domains/primitives/domains/tuple/state.d.ts +48 -23
  492. package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
  493. package/bin/src/forms/domains/primitives/domains/tuple/template.d.ts +46 -18
  494. package/bin/src/forms/domains/primitives/domains/tuple/template.js +100 -33
  495. package/bin/src/forms/domains/primitives/domains/unit/state.d.ts +17 -10
  496. package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
  497. package/bin/src/forms/domains/primitives/domains/unit/template.d.ts +9 -4
  498. package/bin/src/forms/domains/primitives/domains/unit/template.js +22 -9
  499. package/bin/src/forms/domains/singleton/domains/form-label/state.d.ts +4 -4
  500. package/bin/src/forms/domains/singleton/domains/form-label/state.js +1 -1
  501. package/bin/src/forms/domains/singleton/state.d.ts +144 -43
  502. package/bin/src/forms/domains/singleton/state.js +12 -10
  503. package/bin/src/forms/domains/singleton/template.d.ts +177 -88
  504. package/bin/src/forms/domains/singleton/template.js +288 -113
  505. package/bin/src/fun/domains/curry/state.d.ts +4 -2
  506. package/bin/src/fun/domains/curry/state.js +1 -1
  507. package/bin/src/fun/domains/id/state.d.ts +1 -1
  508. package/bin/src/fun/domains/id/state.js +1 -1
  509. package/bin/src/fun/domains/predicate/domains/bool-expr.d.ts +57 -41
  510. package/bin/src/fun/domains/predicate/domains/bool-expr.js +76 -67
  511. package/bin/src/fun/domains/predicate/state.d.ts +9 -7
  512. package/bin/src/fun/domains/predicate/state.js +14 -10
  513. package/bin/src/fun/domains/simpleCallback/state.d.ts +1 -1
  514. package/bin/src/fun/domains/simpleCallback/state.js +1 -1
  515. package/bin/src/fun/domains/uncurry/state.d.ts +4 -2
  516. package/bin/src/fun/domains/uncurry/state.js +1 -1
  517. package/bin/src/fun/domains/unit/state.d.ts +1 -1
  518. package/bin/src/fun/domains/unit/state.js +1 -1
  519. package/bin/src/fun/domains/updater/domains/caseUpdater/state.d.ts +22 -7
  520. package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +18 -10
  521. package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +24 -13
  522. package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +40 -10
  523. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +19 -13
  524. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +20 -9
  525. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +24 -13
  526. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +47 -11
  527. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +20 -8
  528. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +17 -5
  529. package/bin/src/fun/domains/updater/domains/replaceWith/state.d.ts +1 -1
  530. package/bin/src/fun/domains/updater/domains/replaceWith/state.js +1 -1
  531. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts +13 -4
  532. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +6 -4
  533. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +60 -22
  534. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +42 -31
  535. package/bin/src/fun/domains/updater/state.d.ts +4 -4
  536. package/bin/src/fun/domains/updater/state.js +12 -10
  537. package/bin/src/fun/state.d.ts +3 -3
  538. package/bin/src/fun/state.js +9 -7
  539. package/bin/src/infinite-data-stream/coroutines/builder.d.ts +209 -27
  540. package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
  541. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.d.ts +21 -5
  542. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +47 -20
  543. package/bin/src/infinite-data-stream/coroutines/runner.d.ts +11 -3
  544. package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
  545. package/bin/src/infinite-data-stream/state.d.ts +84 -51
  546. package/bin/src/infinite-data-stream/state.js +125 -61
  547. package/bin/src/infinite-data-stream/template.d.ts +10 -3
  548. package/bin/src/infinite-data-stream/template.js +3 -2
  549. package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
  550. package/bin/src/math/domains/DOMRect/state.js +10 -8
  551. package/bin/src/math/domains/number/state.d.ts +5 -5
  552. package/bin/src/math/domains/number/state.js +5 -5
  553. package/bin/src/math/domains/rect/state.d.ts +8 -8
  554. package/bin/src/math/domains/rect/state.js +16 -15
  555. package/bin/src/math/domains/rgba/state.d.ts +17 -17
  556. package/bin/src/math/domains/rgba/state.js +77 -81
  557. package/bin/src/math/domains/size2/state.d.ts +8 -8
  558. package/bin/src/math/domains/size2/state.js +6 -6
  559. package/bin/src/math/domains/vector2/state.d.ts +10 -10
  560. package/bin/src/math/domains/vector2/state.js +8 -8
  561. package/bin/src/queue/state.d.ts +24 -8
  562. package/bin/src/queue/state.d.ts.map +1 -1
  563. package/bin/src/queue/state.js +24 -17
  564. package/bin/src/queue/state.js.map +1 -1
  565. package/bin/src/state/domains/repository/state.d.ts +15 -9
  566. package/bin/src/state/domains/repository/state.js +1 -1
  567. package/bin/src/template/state.d.ts +153 -45
  568. package/bin/src/template/state.js +163 -115
  569. package/bin/src/validation/state.d.ts +23 -9
  570. package/bin/src/validation/state.js +38 -45
  571. package/bin/src/value/domains/mutable-value/state.d.ts +3 -3
  572. package/bin/src/value/domains/mutable-value/state.js +3 -2
  573. package/bin/src/value/state.d.ts +9 -9
  574. package/bin/src/value/state.js +11 -8
  575. package/bin/src/value-infinite-data-stream/coroutines/builder.d.ts +207 -25
  576. package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
  577. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.d.ts +4 -2
  578. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +55 -20
  579. package/bin/src/value-infinite-data-stream/coroutines/runner.d.ts +8 -2
  580. package/bin/src/value-infinite-data-stream/coroutines/runner.js +6 -4
  581. package/bin/src/value-infinite-data-stream/state.d.ts +134 -68
  582. package/bin/src/value-infinite-data-stream/state.js +199 -77
  583. package/bin/src/value-infinite-data-stream/template.d.ts +7 -2
  584. package/bin/src/value-infinite-data-stream/template.js +4 -2
  585. package/bin/src/visibility/state.d.ts +5 -2
  586. package/bin/src/visibility/state.js +1 -1
  587. package/package.json +1 -1
  588. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.tsx +4 -2
  589. package/src/forms/domains/dispatched-forms/runner/domains/deltas/state.ts +2 -2
@@ -1,639 +1,1047 @@
1
1
  import { List, Map } from "immutable";
2
2
  import { ValueOrErrors } from "../../../../../../../../collections/domains/valueOrErrors/state";
3
- import { DispatchGenericTypes, MapRepo, } from "../../../../../../../../../main";
3
+ import { DispatchGenericTypes, MapRepo } from "../../../../../../../../../main";
4
4
  export const DispatchisString = (_) => typeof _ == "string";
5
5
  export const DispatchIsObject = (_) => typeof _ == "object";
6
- export const DispatchIsGenericType = (_) => _ && DispatchGenericTypes.includes(_);
7
- export const DispatchHasFun = (_) => DispatchIsObject(_) && "fun" in _ && DispatchisString(_.fun);
8
- export const DispatchHasArgs = (_) => DispatchIsObject(_) && "args" in _ && Array.isArray(_.args);
6
+ export const DispatchIsGenericType = (_) =>
7
+ _ && DispatchGenericTypes.includes(_);
8
+ export const DispatchHasFun = (_) =>
9
+ DispatchIsObject(_) && "fun" in _ && DispatchisString(_.fun);
10
+ export const DispatchHasArgs = (_) =>
11
+ DispatchIsObject(_) && "args" in _ && Array.isArray(_.args);
9
12
  export const DispatchPrimitiveTypeNames = [
10
- "unit",
11
- "guid", //resolves to string
12
- "entityIdString", //resolves to string
13
- "entityIdUUID", //resolves to string
14
- "calculatedDisplayValue", //resolves to string
15
- "string",
16
- "number",
17
- "boolean",
18
- "Date",
19
- "base64File",
20
- "secret",
13
+ "unit",
14
+ "guid", //resolves to string
15
+ "entityIdString", //resolves to string
16
+ "entityIdUUID", //resolves to string
17
+ "calculatedDisplayValue", //resolves to string
18
+ "string",
19
+ "number",
20
+ "boolean",
21
+ "Date",
22
+ "base64File",
23
+ "secret",
21
24
  ];
22
25
  export const SerializedType = {
23
- isExtendedType: (type) => typeof type == "object" &&
24
- "extends" in type &&
25
- Array.isArray(type.extends) &&
26
- type.extends.length > 0 &&
27
- type.extends.every(DispatchisString),
28
- hasFields: (type) => typeof type == "object" && "fields" in type,
29
- isPrimitive: (_, injectedPrimitives) => Boolean(DispatchPrimitiveTypeNames.some((__) => _ == __) ||
30
- (injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.has(_))),
31
- isApplication: (_) => DispatchHasFun(_) && DispatchIsGenericType(_.fun) && DispatchHasArgs(_),
32
- isLookup: (_, forms) => DispatchisString(_) && forms.has(_),
33
- isList: (_) => SerializedType.isApplication(_) && _.fun == "List" && _.args.length == 1,
34
- isMap: (_) => SerializedType.isApplication(_) && _.fun == "Map" && _.args.length == 2,
35
- isSum: (_) => SerializedType.isApplication(_) && _.fun == "Sum" && _.args.length == 2,
36
- isSumUnitDate: (_) => typeof _ == "string" && _ == "SumUnitDate",
37
- isSingleSelection: (_) => SerializedType.isApplication(_) &&
38
- _.fun == "SingleSelection" &&
39
- _.args.length == 1,
40
- isMultiSelection: (_) => SerializedType.isApplication(_) &&
41
- _.fun == "MultiSelection" &&
42
- _.args.length == 1,
43
- isUnion: (_) => DispatchHasFun(_) &&
44
- DispatchIsGenericType(_.fun) &&
45
- DispatchHasArgs(_) &&
46
- _.fun == "Union" &&
47
- _.args.length > 0 &&
48
- _.args.every((arg) => (DispatchIsObject(arg) && "caseName" in arg && !("fields" in arg)) ||
49
- ("fields" in arg &&
50
- (DispatchisString(arg.fields) || DispatchIsObject(arg.fields)))),
51
- isTuple: (_) => SerializedType.isApplication(_) && _.fun == "Tuple",
52
- isRecord: (_) => _ != null &&
53
- typeof _ == "object" &&
54
- "fields" in _ &&
55
- (DispatchIsObject(_.fields) || DispatchisString(_.fields)),
56
- isTable: (_) => SerializedType.isApplication(_) && _.fun == "Table" && _.args.length == 1,
57
- isOption: (_) => typeof _ == "object" &&
58
- "fun" in _ &&
59
- _.fun == "Option" &&
60
- "args" in _ &&
61
- Array.isArray(_.args) &&
62
- _.args.length == 1,
63
- isUnit: (_) => _ == "unit",
64
- isKeyOf: (_) => typeof _ == "object" &&
65
- "fun" in _ &&
66
- _.fun == "KeyOf" &&
67
- "args" in _ &&
68
- Array.isArray(_.args) &&
69
- (_.args.length == 1 || (_.args.length == 2 && Array.isArray(_.args[1]))) &&
70
- DispatchisString(_.args[0]),
71
- isOne: (_) => SerializedType.isApplication(_) && _.fun == "One" && _.args.length == 1,
72
- isReadOnly: (_) => SerializedType.isApplication(_) &&
73
- _.fun == "ReadOnly" &&
74
- _.args.length == 1,
75
- isRecordFields: (_) => typeof _ == "object" && _ != null && !("fun" in _) && !("args" in _),
76
- isTranslationOverride: (_) => typeof _ == "object" &&
77
- _ != null &&
78
- "fun" in _ &&
79
- _.fun == "TranslationOverride" &&
80
- "args" in _ &&
81
- Array.isArray(_.args) &&
82
- _.args.length == 2 &&
83
- DispatchisString(_.args[0]),
26
+ isExtendedType: (type) =>
27
+ typeof type == "object" &&
28
+ "extends" in type &&
29
+ Array.isArray(type.extends) &&
30
+ type.extends.length > 0 &&
31
+ type.extends.every(DispatchisString),
32
+ hasFields: (type) => typeof type == "object" && "fields" in type,
33
+ isPrimitive: (_, injectedPrimitives) =>
34
+ Boolean(
35
+ DispatchPrimitiveTypeNames.some((__) => _ == __) ||
36
+ (injectedPrimitives === null || injectedPrimitives === void 0
37
+ ? void 0
38
+ : injectedPrimitives.has(_)),
39
+ ),
40
+ isApplication: (_) =>
41
+ DispatchHasFun(_) && DispatchIsGenericType(_.fun) && DispatchHasArgs(_),
42
+ isLookup: (_, forms) => DispatchisString(_) && forms.has(_),
43
+ isList: (_) =>
44
+ SerializedType.isApplication(_) && _.fun == "List" && _.args.length == 1,
45
+ isMap: (_) =>
46
+ SerializedType.isApplication(_) && _.fun == "Map" && _.args.length == 2,
47
+ isSum: (_) =>
48
+ SerializedType.isApplication(_) && _.fun == "Sum" && _.args.length == 2,
49
+ isSumUnitDate: (_) => typeof _ == "string" && _ == "SumUnitDate",
50
+ isSingleSelection: (_) =>
51
+ SerializedType.isApplication(_) &&
52
+ _.fun == "SingleSelection" &&
53
+ _.args.length == 1,
54
+ isMultiSelection: (_) =>
55
+ SerializedType.isApplication(_) &&
56
+ _.fun == "MultiSelection" &&
57
+ _.args.length == 1,
58
+ isUnion: (_) =>
59
+ DispatchHasFun(_) &&
60
+ DispatchIsGenericType(_.fun) &&
61
+ DispatchHasArgs(_) &&
62
+ _.fun == "Union" &&
63
+ _.args.length > 0 &&
64
+ _.args.every(
65
+ (arg) =>
66
+ (DispatchIsObject(arg) && "caseName" in arg && !("fields" in arg)) ||
67
+ ("fields" in arg &&
68
+ (DispatchisString(arg.fields) || DispatchIsObject(arg.fields))),
69
+ ),
70
+ isTuple: (_) => SerializedType.isApplication(_) && _.fun == "Tuple",
71
+ isRecord: (_) =>
72
+ _ != null &&
73
+ typeof _ == "object" &&
74
+ "fields" in _ &&
75
+ (DispatchIsObject(_.fields) || DispatchisString(_.fields)),
76
+ isTable: (_) =>
77
+ SerializedType.isApplication(_) && _.fun == "Table" && _.args.length == 1,
78
+ isOption: (_) =>
79
+ typeof _ == "object" &&
80
+ "fun" in _ &&
81
+ _.fun == "Option" &&
82
+ "args" in _ &&
83
+ Array.isArray(_.args) &&
84
+ _.args.length == 1,
85
+ isUnit: (_) => _ == "unit",
86
+ isKeyOf: (_) =>
87
+ typeof _ == "object" &&
88
+ "fun" in _ &&
89
+ _.fun == "KeyOf" &&
90
+ "args" in _ &&
91
+ Array.isArray(_.args) &&
92
+ (_.args.length == 1 || (_.args.length == 2 && Array.isArray(_.args[1]))) &&
93
+ DispatchisString(_.args[0]),
94
+ isOne: (_) =>
95
+ SerializedType.isApplication(_) && _.fun == "One" && _.args.length == 1,
96
+ isReadOnly: (_) =>
97
+ SerializedType.isApplication(_) &&
98
+ _.fun == "ReadOnly" &&
99
+ _.args.length == 1,
100
+ isRecordFields: (_) =>
101
+ typeof _ == "object" && _ != null && !("fun" in _) && !("args" in _),
102
+ isTranslationOverride: (_) =>
103
+ typeof _ == "object" &&
104
+ _ != null &&
105
+ "fun" in _ &&
106
+ _.fun == "TranslationOverride" &&
107
+ "args" in _ &&
108
+ Array.isArray(_.args) &&
109
+ _.args.length == 2 &&
110
+ DispatchisString(_.args[0]),
84
111
  };
85
112
  export const UnionType = {
86
- SerializeToString: (serializedArgs) => {
87
- return `[union; cases: {${serializedArgs.map((v, k) => `${k}: ${v}`).join(", ")}}]`;
88
- },
113
+ SerializeToString: (serializedArgs) => {
114
+ return `[union; cases: {${serializedArgs.map((v, k) => `${k}: ${v}`).join(", ")}}]`;
115
+ },
89
116
  };
90
117
  export const RecordType = {
91
- SerializeToString: (serializedFields) => {
92
- return `[record; fields: {${serializedFields.map((v, k) => `${k}: ${v}`).join(", ")}}]`;
93
- },
118
+ SerializeToString: (serializedFields) => {
119
+ return `[record; fields: {${serializedFields.map((v, k) => `${k}: ${v}`).join(", ")}}]`;
120
+ },
94
121
  };
95
122
  export const LookupType = {
96
- SerializeToString: (name) => {
97
- return `${name}`;
98
- },
123
+ SerializeToString: (name) => {
124
+ return `${name}`;
125
+ },
99
126
  };
100
127
  export const DispatchPrimitiveType = {
101
- SerializeToString: (name) => {
102
- return `[primitive; name: ${String(name)}]`;
103
- },
128
+ SerializeToString: (name) => {
129
+ return `[primitive; name: ${String(name)}]`;
130
+ },
104
131
  };
105
132
  export const SingleSelectionType = {
106
- SerializeToString: (serializedArgs) => {
107
- return `[singleSelection; args: [${serializedArgs.join(", ")}]]`;
108
- },
133
+ SerializeToString: (serializedArgs) => {
134
+ return `[singleSelection; args: [${serializedArgs.join(", ")}]]`;
135
+ },
109
136
  };
110
137
  export const MultiSelectionType = {
111
- SerializeToString: (serializedArgs) => {
112
- return `[multiSelection; args: [${serializedArgs.join(", ")}]]`;
113
- },
138
+ SerializeToString: (serializedArgs) => {
139
+ return `[multiSelection; args: [${serializedArgs.join(", ")}]]`;
140
+ },
114
141
  };
115
142
  export const ListType = {
116
- SerializeToString: (serializedArgs) => {
117
- return `[list; args: [${serializedArgs.join(", ")}]]`;
118
- },
143
+ SerializeToString: (serializedArgs) => {
144
+ return `[list; args: [${serializedArgs.join(", ")}]]`;
145
+ },
119
146
  };
120
147
  export const TupleType = {
121
- SerializeToString: (serializedArgs) => {
122
- return `[tuple; args: [${serializedArgs.join(", ")}]]`;
123
- },
148
+ SerializeToString: (serializedArgs) => {
149
+ return `[tuple; args: [${serializedArgs.join(", ")}]]`;
150
+ },
124
151
  };
125
152
  export const SumType = {
126
- SerializeToString: (serializedArgs) => {
127
- return `[sum; args: [${serializedArgs.join(", ")}]]`;
128
- },
153
+ SerializeToString: (serializedArgs) => {
154
+ return `[sum; args: [${serializedArgs.join(", ")}]]`;
155
+ },
129
156
  };
130
157
  export const SumNType = {
131
- SerializeToString: (serializedArgs, arity) => {
132
- return `[sumN; arity: ${arity}; args: [${serializedArgs.join(", ")}]]`;
133
- },
158
+ SerializeToString: (serializedArgs, arity) => {
159
+ return `[sumN; arity: ${arity}; args: [${serializedArgs.join(", ")}]]`;
160
+ },
134
161
  };
135
162
  export const MapType = {
136
- SerializeToString: (serializedArgs) => {
137
- return `[map; args: [${serializedArgs.join(", ")}]]`;
138
- },
163
+ SerializeToString: (serializedArgs) => {
164
+ return `[map; args: [${serializedArgs.join(", ")}]]`;
165
+ },
139
166
  };
140
167
  export const TableType = {
141
- SerializeToString: (serializedArg) => {
142
- return `[table; arg: ${serializedArg}]`;
143
- },
168
+ SerializeToString: (serializedArg) => {
169
+ return `[table; arg: ${serializedArg}]`;
170
+ },
144
171
  };
145
172
  export const ReadOnlyType = {
146
- SerializeToString: (serializedArg) => {
147
- return `[readOnly; arg: ${serializedArg}]`;
148
- },
173
+ SerializeToString: (serializedArg) => {
174
+ return `[readOnly; arg: ${serializedArg}]`;
175
+ },
149
176
  };
150
177
  export const OneType = {
151
- SerializeToString: (serializedArg) => {
152
- return `[one; arg: ${serializedArg}]`;
153
- },
178
+ SerializeToString: (serializedArg) => {
179
+ return `[one; arg: ${serializedArg}]`;
180
+ },
154
181
  };
155
182
  export const FilterContainsType = {
156
- SerializeToString: (serializedContains) => {
157
- return `[filter; contains: ${serializedContains}]`;
158
- },
183
+ SerializeToString: (serializedContains) => {
184
+ return `[filter; contains: ${serializedContains}]`;
185
+ },
159
186
  };
160
187
  export const FilterEqualsToType = {
161
- SerializeToString: (serializedEqualsTo) => {
162
- return `[filter; equalsTo: ${serializedEqualsTo}]`;
163
- },
188
+ SerializeToString: (serializedEqualsTo) => {
189
+ return `[filter; equalsTo: ${serializedEqualsTo}]`;
190
+ },
164
191
  };
165
192
  export const FilterNotEqualsToType = {
166
- SerializeToString: (serializedNotEqualsTo) => {
167
- return `[filter; != ${serializedNotEqualsTo}]`;
168
- },
193
+ SerializeToString: (serializedNotEqualsTo) => {
194
+ return `[filter; != ${serializedNotEqualsTo}]`;
195
+ },
169
196
  };
170
197
  export const FilterGreaterThanOrEqualsToType = {
171
- SerializeToString: (serializedGreaterThanOrEqualsTo) => {
172
- return `[filter; >= ${serializedGreaterThanOrEqualsTo}]`;
173
- },
198
+ SerializeToString: (serializedGreaterThanOrEqualsTo) => {
199
+ return `[filter; >= ${serializedGreaterThanOrEqualsTo}]`;
200
+ },
174
201
  };
175
202
  export const FilterGreaterThanType = {
176
- SerializeToString: (serializedGreaterThan) => {
177
- return `[filter; > ${serializedGreaterThan}]`;
178
- },
203
+ SerializeToString: (serializedGreaterThan) => {
204
+ return `[filter; > ${serializedGreaterThan}]`;
205
+ },
179
206
  };
180
207
  export const FilterIsNotNullType = {
181
- SerializeToString: () => {
182
- return `[filter; !=null]`;
183
- },
208
+ SerializeToString: () => {
209
+ return `[filter; !=null]`;
210
+ },
184
211
  };
185
212
  export const FilterIsNullType = {
186
- SerializeToString: () => {
187
- return `[filter; =null]`;
188
- },
213
+ SerializeToString: () => {
214
+ return `[filter; =null]`;
215
+ },
189
216
  };
190
217
  export const FilterSmallerThanOrEqualsToType = {
191
- SerializeToString: (serializedSmallerThanOrEqualsTo) => {
192
- return `[filter; <= ${serializedSmallerThanOrEqualsTo}]`;
193
- },
218
+ SerializeToString: (serializedSmallerThanOrEqualsTo) => {
219
+ return `[filter; <= ${serializedSmallerThanOrEqualsTo}]`;
220
+ },
194
221
  };
195
222
  export const FilterSmallerThanType = {
196
- SerializeToString: (serializedSmallerThan) => {
197
- return `[filter; < ${serializedSmallerThan}]`;
198
- },
223
+ SerializeToString: (serializedSmallerThan) => {
224
+ return `[filter; < ${serializedSmallerThan}]`;
225
+ },
199
226
  };
200
227
  export const FilterStartsWithType = {
201
- SerializeToString: (serializedStartsWith) => {
202
- return `[filter; startsWith ${serializedStartsWith}]`;
203
- },
228
+ SerializeToString: (serializedStartsWith) => {
229
+ return `[filter; startsWith ${serializedStartsWith}]`;
230
+ },
204
231
  };
205
232
  export const FilterTypeKinds = [
206
- "contains",
207
- "=",
208
- "!=",
209
- ">=",
210
- ">",
211
- "!=null",
212
- "=null",
213
- "<=",
214
- "<",
215
- "startsWith",
233
+ "contains",
234
+ "=",
235
+ "!=",
236
+ ">=",
237
+ ">",
238
+ "!=null",
239
+ "=null",
240
+ "<=",
241
+ "<",
242
+ "startsWith",
216
243
  ];
217
244
  export const DispatchParsedType = {
218
- Default: {
219
- table: (arg) => ({
220
- kind: "table",
221
- arg,
222
- asString: () => TableType.SerializeToString(arg.asString()),
223
- }),
224
- record: (fields) => ({
225
- kind: "record",
226
- fields,
227
- asString: () => RecordType.SerializeToString(fields.map((v) => v.asString())),
228
- }),
229
- primitive: (name) => ({
230
- kind: "primitive",
231
- name,
232
- asString: () => DispatchPrimitiveType.SerializeToString(name),
233
- }),
234
- singleSelection: (args) => ({
235
- kind: "singleSelection",
236
- args,
237
- asString: () => SingleSelectionType.SerializeToString(args.map((v) => v.asString())),
238
- }),
239
- multiSelection: (args) => ({
240
- kind: "multiSelection",
241
- args,
242
- asString: () => MultiSelectionType.SerializeToString(args.map((v) => v.asString())),
243
- }),
244
- list: (args) => ({
245
- kind: "list",
246
- args,
247
- asString: () => ListType.SerializeToString(args.map((v) => v.asString())),
248
- }),
249
- tuple: (args) => ({
250
- kind: "tuple",
251
- args,
252
- asString: () => TupleType.SerializeToString(args.map((v) => v.asString())),
253
- }),
254
- sum: (args) => ({
255
- kind: "sum",
256
- args,
257
- asString: () => SumType.SerializeToString(args.map((v) => v.asString())),
258
- }),
259
- sumN: (args) => ({
260
- kind: "sumN",
261
- args,
262
- asString: () => SumNType.SerializeToString(args.map((v) => v.asString()), args.length),
263
- }),
264
- map: (args) => ({
265
- kind: "map",
266
- args,
267
- asString: () => MapType.SerializeToString(args.map((v) => v.asString())),
268
- }),
269
- union: (args) => ({
270
- kind: "union",
271
- args,
272
- asString: () => UnionType.SerializeToString(args.map((v) => v.asString())),
273
- }),
274
- readOnly: (arg) => ({
275
- kind: "readOnly",
276
- arg,
277
- asString: () => ReadOnlyType.SerializeToString(arg.asString()),
278
- }),
279
- lookup: (name) => ({
280
- kind: "lookup",
281
- name,
282
- asString: () => LookupType.SerializeToString(name),
283
- }),
284
- one: (arg) => ({
285
- kind: "one",
286
- arg,
287
- asString: () => OneType.SerializeToString(arg.asString()),
288
- }),
289
- filterContains: (contains) => ({
290
- kind: "contains",
291
- contains,
292
- asString: () => FilterContainsType.SerializeToString(contains.asString()),
293
- }),
294
- filterEqualsTo: (equalsTo) => ({
295
- kind: "=",
296
- equalsTo,
297
- asString: () => FilterEqualsToType.SerializeToString(equalsTo.asString()),
298
- }),
299
- filterNotEqualsTo: (notEqualsTo) => ({
300
- kind: "!=",
301
- notEqualsTo,
302
- asString: () => FilterNotEqualsToType.SerializeToString(notEqualsTo.asString()),
303
- }),
304
- filterGreaterThanOrEqualsTo: (greaterThanOrEqualsTo) => ({
305
- kind: ">=",
306
- greaterThanOrEqualsTo,
307
- asString: () => FilterGreaterThanOrEqualsToType.SerializeToString(greaterThanOrEqualsTo.asString()),
308
- }),
309
- filterGreaterThan: (greaterThan) => ({
310
- kind: ">",
311
- greaterThan,
312
- asString: () => FilterGreaterThanType.SerializeToString(greaterThan.asString()),
313
- }),
314
- filterIsNotNull: () => ({
315
- kind: "!=null",
316
- asString: () => FilterIsNotNullType.SerializeToString(),
317
- }),
318
- filterIsNull: () => ({
319
- kind: "=null",
320
- asString: () => FilterIsNullType.SerializeToString(),
321
- }),
322
- filterSmallerThanOrEqualsTo: (smallerThanOrEqualsTo) => ({
323
- kind: "<=",
324
- smallerThanOrEqualsTo,
325
- asString: () => FilterSmallerThanOrEqualsToType.SerializeToString(smallerThanOrEqualsTo.asString()),
326
- }),
327
- filterSmallerThan: (smallerThan) => ({
328
- kind: "<",
329
- smallerThan,
330
- asString: () => FilterSmallerThanType.SerializeToString(smallerThan.asString()),
331
- }),
332
- filterStartsWith: (startsWith) => ({
333
- kind: "startsWith",
334
- startsWith,
335
- asString: () => FilterStartsWithType.SerializeToString(startsWith.asString()),
336
- }),
337
- },
338
- Operations: {
339
- // We don't use this at the moment, if we need it, then we can fix
340
- // Equals: <T>(
341
- // fst: DispatchParsedType<T>,
342
- // snd: DispatchParsedType<T>,
343
- // ): boolean =>
344
- // fst.kind == "record" && snd.kind == "record"
345
- // ? fst.name == snd.name
346
- // : fst.kind == "table" && snd.kind == "table"
347
- // ? fst.name == snd.name
348
- // : fst.kind == "one" && snd.kind == "one"
349
- // ? fst.name == snd.name
350
- // : fst.kind == "lookup" && snd.kind == "lookup"
351
- // ? fst.name == snd.name
352
- // : fst.kind == "primitive" && snd.kind == "primitive"
353
- // ? fst.name == snd.name
354
- // : fst.kind == "list" && snd.kind == "list"
355
- // ? fst.name == snd.name
356
- // : fst.kind == "singleSelection" &&
357
- // snd.kind == "singleSelection"
358
- // ? fst.name == snd.name
359
- // : fst.kind == "multiSelection" &&
360
- // snd.kind == "multiSelection"
361
- // ? fst.name == snd.name
362
- // : fst.kind == "map" && snd.kind == "map"
363
- // ? fst.name == snd.name
364
- // : fst.kind == "sum" && snd.kind == "sum"
365
- // ? fst.name == snd.name
366
- // : fst.kind == "tuple" && snd.kind == "tuple"
367
- // ? fst.name == snd.name &&
368
- // fst.args.length == snd.args.length &&
369
- // fst.args.every((v, i) =>
370
- // DispatchParsedType.Operations.Equals(
371
- // v,
372
- // snd.args[i],
373
- // ),
374
- // )
375
- // : fst.kind == "union" && snd.kind == "union"
376
- // ? fst.args.size == snd.args.size &&
377
- // fst.args.every(
378
- // (v, i) => v.name == snd.args.get(i)!.name,
379
- // )
380
- // : false,
381
- ParseRawKeyOf: (rawType, typeNames, serializedTypes, alreadyParsedTypes) => (alreadyParsedTypes.has(rawType.args[0])
382
- ? alreadyParsedTypes
383
- .get(rawType.args[0])
384
- .Then((parsedType) => ValueOrErrors.Default.return([parsedType, alreadyParsedTypes]))
385
- : DispatchParsedType.Operations.ParseRawType(rawType.args[0], serializedTypes[rawType.args[0]], typeNames, serializedTypes, alreadyParsedTypes))
386
- .Then((parsingResult) => parsingResult[0].kind != "record"
387
- ? ValueOrErrors.Default.throwOne(`Error: ${JSON.stringify(parsingResult[0])} is not a record type`)
245
+ Default: {
246
+ table: (arg) => ({
247
+ kind: "table",
248
+ arg,
249
+ asString: () => TableType.SerializeToString(arg.asString()),
250
+ }),
251
+ record: (fields) => ({
252
+ kind: "record",
253
+ fields,
254
+ asString: () =>
255
+ RecordType.SerializeToString(fields.map((v) => v.asString())),
256
+ }),
257
+ primitive: (name) => ({
258
+ kind: "primitive",
259
+ name,
260
+ asString: () => DispatchPrimitiveType.SerializeToString(name),
261
+ }),
262
+ singleSelection: (args) => ({
263
+ kind: "singleSelection",
264
+ args,
265
+ asString: () =>
266
+ SingleSelectionType.SerializeToString(args.map((v) => v.asString())),
267
+ }),
268
+ multiSelection: (args) => ({
269
+ kind: "multiSelection",
270
+ args,
271
+ asString: () =>
272
+ MultiSelectionType.SerializeToString(args.map((v) => v.asString())),
273
+ }),
274
+ list: (args) => ({
275
+ kind: "list",
276
+ args,
277
+ asString: () => ListType.SerializeToString(args.map((v) => v.asString())),
278
+ }),
279
+ tuple: (args) => ({
280
+ kind: "tuple",
281
+ args,
282
+ asString: () =>
283
+ TupleType.SerializeToString(args.map((v) => v.asString())),
284
+ }),
285
+ sum: (args) => ({
286
+ kind: "sum",
287
+ args,
288
+ asString: () => SumType.SerializeToString(args.map((v) => v.asString())),
289
+ }),
290
+ sumN: (args) => ({
291
+ kind: "sumN",
292
+ args,
293
+ asString: () =>
294
+ SumNType.SerializeToString(
295
+ args.map((v) => v.asString()),
296
+ args.length,
297
+ ),
298
+ }),
299
+ map: (args) => ({
300
+ kind: "map",
301
+ args,
302
+ asString: () => MapType.SerializeToString(args.map((v) => v.asString())),
303
+ }),
304
+ union: (args) => ({
305
+ kind: "union",
306
+ args,
307
+ asString: () =>
308
+ UnionType.SerializeToString(args.map((v) => v.asString())),
309
+ }),
310
+ readOnly: (arg) => ({
311
+ kind: "readOnly",
312
+ arg,
313
+ asString: () => ReadOnlyType.SerializeToString(arg.asString()),
314
+ }),
315
+ lookup: (name) => ({
316
+ kind: "lookup",
317
+ name,
318
+ asString: () => LookupType.SerializeToString(name),
319
+ }),
320
+ one: (arg) => ({
321
+ kind: "one",
322
+ arg,
323
+ asString: () => OneType.SerializeToString(arg.asString()),
324
+ }),
325
+ filterContains: (contains) => ({
326
+ kind: "contains",
327
+ contains,
328
+ asString: () => FilterContainsType.SerializeToString(contains.asString()),
329
+ }),
330
+ filterEqualsTo: (equalsTo) => ({
331
+ kind: "=",
332
+ equalsTo,
333
+ asString: () => FilterEqualsToType.SerializeToString(equalsTo.asString()),
334
+ }),
335
+ filterNotEqualsTo: (notEqualsTo) => ({
336
+ kind: "!=",
337
+ notEqualsTo,
338
+ asString: () =>
339
+ FilterNotEqualsToType.SerializeToString(notEqualsTo.asString()),
340
+ }),
341
+ filterGreaterThanOrEqualsTo: (greaterThanOrEqualsTo) => ({
342
+ kind: ">=",
343
+ greaterThanOrEqualsTo,
344
+ asString: () =>
345
+ FilterGreaterThanOrEqualsToType.SerializeToString(
346
+ greaterThanOrEqualsTo.asString(),
347
+ ),
348
+ }),
349
+ filterGreaterThan: (greaterThan) => ({
350
+ kind: ">",
351
+ greaterThan,
352
+ asString: () =>
353
+ FilterGreaterThanType.SerializeToString(greaterThan.asString()),
354
+ }),
355
+ filterIsNotNull: () => ({
356
+ kind: "!=null",
357
+ asString: () => FilterIsNotNullType.SerializeToString(),
358
+ }),
359
+ filterIsNull: () => ({
360
+ kind: "=null",
361
+ asString: () => FilterIsNullType.SerializeToString(),
362
+ }),
363
+ filterSmallerThanOrEqualsTo: (smallerThanOrEqualsTo) => ({
364
+ kind: "<=",
365
+ smallerThanOrEqualsTo,
366
+ asString: () =>
367
+ FilterSmallerThanOrEqualsToType.SerializeToString(
368
+ smallerThanOrEqualsTo.asString(),
369
+ ),
370
+ }),
371
+ filterSmallerThan: (smallerThan) => ({
372
+ kind: "<",
373
+ smallerThan,
374
+ asString: () =>
375
+ FilterSmallerThanType.SerializeToString(smallerThan.asString()),
376
+ }),
377
+ filterStartsWith: (startsWith) => ({
378
+ kind: "startsWith",
379
+ startsWith,
380
+ asString: () =>
381
+ FilterStartsWithType.SerializeToString(startsWith.asString()),
382
+ }),
383
+ },
384
+ Operations: {
385
+ // We don't use this at the moment, if we need it, then we can fix
386
+ // Equals: <T>(
387
+ // fst: DispatchParsedType<T>,
388
+ // snd: DispatchParsedType<T>,
389
+ // ): boolean =>
390
+ // fst.kind == "record" && snd.kind == "record"
391
+ // ? fst.name == snd.name
392
+ // : fst.kind == "table" && snd.kind == "table"
393
+ // ? fst.name == snd.name
394
+ // : fst.kind == "one" && snd.kind == "one"
395
+ // ? fst.name == snd.name
396
+ // : fst.kind == "lookup" && snd.kind == "lookup"
397
+ // ? fst.name == snd.name
398
+ // : fst.kind == "primitive" && snd.kind == "primitive"
399
+ // ? fst.name == snd.name
400
+ // : fst.kind == "list" && snd.kind == "list"
401
+ // ? fst.name == snd.name
402
+ // : fst.kind == "singleSelection" &&
403
+ // snd.kind == "singleSelection"
404
+ // ? fst.name == snd.name
405
+ // : fst.kind == "multiSelection" &&
406
+ // snd.kind == "multiSelection"
407
+ // ? fst.name == snd.name
408
+ // : fst.kind == "map" && snd.kind == "map"
409
+ // ? fst.name == snd.name
410
+ // : fst.kind == "sum" && snd.kind == "sum"
411
+ // ? fst.name == snd.name
412
+ // : fst.kind == "tuple" && snd.kind == "tuple"
413
+ // ? fst.name == snd.name &&
414
+ // fst.args.length == snd.args.length &&
415
+ // fst.args.every((v, i) =>
416
+ // DispatchParsedType.Operations.Equals(
417
+ // v,
418
+ // snd.args[i],
419
+ // ),
420
+ // )
421
+ // : fst.kind == "union" && snd.kind == "union"
422
+ // ? fst.args.size == snd.args.size &&
423
+ // fst.args.every(
424
+ // (v, i) => v.name == snd.args.get(i)!.name,
425
+ // )
426
+ // : false,
427
+ ParseRawKeyOf: (rawType, typeNames, serializedTypes, alreadyParsedTypes) =>
428
+ (alreadyParsedTypes.has(rawType.args[0])
429
+ ? alreadyParsedTypes
430
+ .get(rawType.args[0])
431
+ .Then((parsedType) =>
432
+ ValueOrErrors.Default.return([parsedType, alreadyParsedTypes]),
433
+ )
434
+ : DispatchParsedType.Operations.ParseRawType(
435
+ rawType.args[0],
436
+ serializedTypes[rawType.args[0]],
437
+ typeNames,
438
+ serializedTypes,
439
+ alreadyParsedTypes,
440
+ )
441
+ )
442
+ .Then((parsingResult) =>
443
+ parsingResult[0].kind != "record"
444
+ ? ValueOrErrors.Default.throwOne(
445
+ `Error: ${JSON.stringify(parsingResult[0])} is not a record type`,
446
+ )
388
447
  : ValueOrErrors.Default.return([
389
- DispatchParsedType.Default.union(Map(parsingResult[0].fields
390
- .keySeq()
391
- .filter((key) => rawType.args[1] == undefined ||
392
- !rawType.args[1].includes(key))
393
- .toArray()
394
- .map((key) => [
395
- key,
396
- DispatchParsedType.Default.record(Map()),
397
- ]))),
448
+ DispatchParsedType.Default.union(
449
+ Map(
450
+ parsingResult[0].fields
451
+ .keySeq()
452
+ .filter(
453
+ (key) =>
454
+ rawType.args[1] == undefined ||
455
+ !rawType.args[1].includes(key),
456
+ )
457
+ .toArray()
458
+ .map((key) => [
459
+ key,
460
+ DispatchParsedType.Default.record(Map()),
461
+ ]),
462
+ ),
463
+ ),
398
464
  parsingResult[1],
399
- ]))
400
- .MapErrors((errors) => errors.map((error) => `${error}\n...When parsing keyOf type`)),
401
- SerializeToString: (type) => {
402
- switch (type.kind) {
403
- case "primitive":
404
- return DispatchPrimitiveType.SerializeToString(type.name);
405
- case "record":
406
- return RecordType.SerializeToString(type.fields.map((v) => DispatchParsedType.Operations.SerializeToString(v)));
407
- case "table":
408
- return TableType.SerializeToString(DispatchParsedType.Operations.SerializeToString(type.arg));
409
- case "one":
410
- return OneType.SerializeToString(DispatchParsedType.Operations.SerializeToString(type.arg));
411
- case "singleSelection":
412
- return SingleSelectionType.SerializeToString(type.args.map((v) => DispatchParsedType.Operations.SerializeToString(v)));
413
- case "multiSelection":
414
- return MultiSelectionType.SerializeToString(type.args.map((v) => DispatchParsedType.Operations.SerializeToString(v)));
415
- case "list":
416
- return ListType.SerializeToString(type.args.map((v) => DispatchParsedType.Operations.SerializeToString(v)));
417
- case "tuple":
418
- return TupleType.SerializeToString(type.args.map((v) => DispatchParsedType.Operations.SerializeToString(v)));
419
- case "sum":
420
- return SumType.SerializeToString(type.args.map((v) => DispatchParsedType.Operations.SerializeToString(v)));
421
- case "sumN":
422
- return SumNType.SerializeToString(type.args.map((v) => DispatchParsedType.Operations.SerializeToString(v)), type.args.length);
423
- case "map":
424
- return MapType.SerializeToString(type.args.map((v) => DispatchParsedType.Operations.SerializeToString(v)));
425
- case "union":
426
- return UnionType.SerializeToString(type.args.map((v) => DispatchParsedType.Operations.SerializeToString(v)));
427
- case "lookup":
428
- return LookupType.SerializeToString(type.name);
429
- case "contains":
430
- return FilterContainsType.SerializeToString(type.contains.asString());
431
- case "=":
432
- return FilterEqualsToType.SerializeToString(type.equalsTo.asString());
433
- case "!=":
434
- return FilterNotEqualsToType.SerializeToString(type.notEqualsTo.asString());
435
- case ">=":
436
- return FilterGreaterThanOrEqualsToType.SerializeToString(type.greaterThanOrEqualsTo.asString());
437
- case ">":
438
- return FilterGreaterThanType.SerializeToString(type.greaterThan.asString());
439
- case "!=null":
440
- return FilterIsNotNullType.SerializeToString();
441
- case "=null":
442
- return FilterIsNullType.SerializeToString();
443
- case "<=":
444
- return FilterSmallerThanOrEqualsToType.SerializeToString(type.smallerThanOrEqualsTo.asString());
445
- case "<":
446
- return FilterSmallerThanType.SerializeToString(type.smallerThan.asString());
447
- case "startsWith":
448
- return FilterStartsWithType.SerializeToString(type.startsWith.asString());
449
- default:
450
- throw new Error(`Unknown type: ${JSON.stringify(type)}`);
451
- }
452
- },
453
- ParseRecord: (typeName, rawType, typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives) =>
454
- // will already been parsed if it was extended by another type which was already parsed
455
- alreadyParsedTypes.has(typeName)
456
- ? alreadyParsedTypes
457
- .get(typeName)
458
- .Then((parsedType) => parsedType.kind != "record"
459
- ? ValueOrErrors.Default.throwOne(`Error: ${JSON.stringify(parsedType)} is not a record type`)
465
+ ]),
466
+ )
467
+ .MapErrors((errors) =>
468
+ errors.map((error) => `${error}\n...When parsing keyOf type`),
469
+ ),
470
+ SerializeToString: (type) => {
471
+ switch (type.kind) {
472
+ case "primitive":
473
+ return DispatchPrimitiveType.SerializeToString(type.name);
474
+ case "record":
475
+ return RecordType.SerializeToString(
476
+ type.fields.map((v) =>
477
+ DispatchParsedType.Operations.SerializeToString(v),
478
+ ),
479
+ );
480
+ case "table":
481
+ return TableType.SerializeToString(
482
+ DispatchParsedType.Operations.SerializeToString(type.arg),
483
+ );
484
+ case "one":
485
+ return OneType.SerializeToString(
486
+ DispatchParsedType.Operations.SerializeToString(type.arg),
487
+ );
488
+ case "singleSelection":
489
+ return SingleSelectionType.SerializeToString(
490
+ type.args.map((v) =>
491
+ DispatchParsedType.Operations.SerializeToString(v),
492
+ ),
493
+ );
494
+ case "multiSelection":
495
+ return MultiSelectionType.SerializeToString(
496
+ type.args.map((v) =>
497
+ DispatchParsedType.Operations.SerializeToString(v),
498
+ ),
499
+ );
500
+ case "list":
501
+ return ListType.SerializeToString(
502
+ type.args.map((v) =>
503
+ DispatchParsedType.Operations.SerializeToString(v),
504
+ ),
505
+ );
506
+ case "tuple":
507
+ return TupleType.SerializeToString(
508
+ type.args.map((v) =>
509
+ DispatchParsedType.Operations.SerializeToString(v),
510
+ ),
511
+ );
512
+ case "sum":
513
+ return SumType.SerializeToString(
514
+ type.args.map((v) =>
515
+ DispatchParsedType.Operations.SerializeToString(v),
516
+ ),
517
+ );
518
+ case "sumN":
519
+ return SumNType.SerializeToString(
520
+ type.args.map((v) =>
521
+ DispatchParsedType.Operations.SerializeToString(v),
522
+ ),
523
+ type.args.length,
524
+ );
525
+ case "map":
526
+ return MapType.SerializeToString(
527
+ type.args.map((v) =>
528
+ DispatchParsedType.Operations.SerializeToString(v),
529
+ ),
530
+ );
531
+ case "union":
532
+ return UnionType.SerializeToString(
533
+ type.args.map((v) =>
534
+ DispatchParsedType.Operations.SerializeToString(v),
535
+ ),
536
+ );
537
+ case "lookup":
538
+ return LookupType.SerializeToString(type.name);
539
+ case "contains":
540
+ return FilterContainsType.SerializeToString(type.contains.asString());
541
+ case "=":
542
+ return FilterEqualsToType.SerializeToString(type.equalsTo.asString());
543
+ case "!=":
544
+ return FilterNotEqualsToType.SerializeToString(
545
+ type.notEqualsTo.asString(),
546
+ );
547
+ case ">=":
548
+ return FilterGreaterThanOrEqualsToType.SerializeToString(
549
+ type.greaterThanOrEqualsTo.asString(),
550
+ );
551
+ case ">":
552
+ return FilterGreaterThanType.SerializeToString(
553
+ type.greaterThan.asString(),
554
+ );
555
+ case "!=null":
556
+ return FilterIsNotNullType.SerializeToString();
557
+ case "=null":
558
+ return FilterIsNullType.SerializeToString();
559
+ case "<=":
560
+ return FilterSmallerThanOrEqualsToType.SerializeToString(
561
+ type.smallerThanOrEqualsTo.asString(),
562
+ );
563
+ case "<":
564
+ return FilterSmallerThanType.SerializeToString(
565
+ type.smallerThan.asString(),
566
+ );
567
+ case "startsWith":
568
+ return FilterStartsWithType.SerializeToString(
569
+ type.startsWith.asString(),
570
+ );
571
+ default:
572
+ throw new Error(`Unknown type: ${JSON.stringify(type)}`);
573
+ }
574
+ },
575
+ ParseRecord: (
576
+ typeName,
577
+ rawType,
578
+ typeNames,
579
+ serializedTypes,
580
+ alreadyParsedTypes,
581
+ injectedPrimitives,
582
+ ) =>
583
+ // will already been parsed if it was extended by another type which was already parsed
584
+ alreadyParsedTypes.has(typeName)
585
+ ? alreadyParsedTypes
586
+ .get(typeName)
587
+ .Then((parsedType) =>
588
+ parsedType.kind != "record"
589
+ ? ValueOrErrors.Default.throwOne(
590
+ `Error: ${JSON.stringify(parsedType)} is not a record type`,
591
+ )
460
592
  : ValueOrErrors.Default.return([
461
593
  parsedType,
462
594
  alreadyParsedTypes,
463
- ]))
464
- : !SerializedType.isRecord(rawType)
465
- ? ValueOrErrors.Default.throwOne(`Error: ${JSON.stringify(rawType)} is not a valid record`)
466
- : (SerializedType.isExtendedType(rawType)
467
- ? ValueOrErrors.Operations.All(List(rawType.extends.map((extendedTypeName) => alreadyParsedTypes.has(extendedTypeName)
595
+ ]),
596
+ )
597
+ : !SerializedType.isRecord(rawType)
598
+ ? ValueOrErrors.Default.throwOne(
599
+ `Error: ${JSON.stringify(rawType)} is not a valid record`,
600
+ )
601
+ : (SerializedType.isExtendedType(rawType)
602
+ ? ValueOrErrors.Operations.All(
603
+ List(
604
+ rawType.extends.map((extendedTypeName) =>
605
+ alreadyParsedTypes.has(extendedTypeName)
468
606
  ? alreadyParsedTypes
469
607
  .get(extendedTypeName)
470
- .Then((extendedType) => extendedType.kind != "record"
471
- ? ValueOrErrors.Default.throwOne(`Error: ${JSON.stringify(extendedType)} is not a record type`)
472
- : ValueOrErrors.Default.return([extendedTypeName, extendedType]))
608
+ .Then((extendedType) =>
609
+ extendedType.kind != "record"
610
+ ? ValueOrErrors.Default.throwOne(
611
+ `Error: ${JSON.stringify(extendedType)} is not a record type`,
612
+ )
613
+ : ValueOrErrors.Default.return([
614
+ extendedTypeName,
615
+ extendedType,
616
+ ]),
617
+ )
473
618
  : serializedTypes[extendedTypeName] == undefined
474
- ? ValueOrErrors.Default.throwOne(`Error: cannot find extended type ${extendedTypeName} in types`)
475
- : DispatchParsedType.Operations.ParseRawType(extendedTypeName, serializedTypes[extendedTypeName], typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then((parsedType) => parsedType[0].kind == "record"
476
- ? ValueOrErrors.Default.return([extendedTypeName, parsedType[0]])
477
- : ValueOrErrors.Default.throwOne(`Error: ${JSON.stringify(parsedType[0])} is not a record type`)))))
478
- .MapErrors((errors) => errors.map((error) => `${error}\n...When parsing extended types`))
479
- .Then((parsedExtendedRecordTypes) => ValueOrErrors.Default.return(parsedExtendedRecordTypes.reduce((acc, type) => acc.set(type[0], type[1]), Map())))
480
- : ValueOrErrors.Default.return(Map())).Then((parsedExtendedRecordTypesMap) => ValueOrErrors.Operations.All(List(Object.entries(rawType.fields).map(([fieldName, fieldType]) => DispatchParsedType.Operations.ParseRawType(fieldName, fieldType, typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then((parsedField) => ValueOrErrors.Default.return([fieldName, parsedField])))))
481
- .Then((parsedFields) => ValueOrErrors.Default.return(Map(parsedFields.map(([fieldName, parsedField]) => [
482
- fieldName,
483
- parsedField[0],
484
- ]))))
485
- .Then((parsedFieldsMap) => ValueOrErrors.Default.return(DispatchParsedType.Default.record(parsedFieldsMap.merge(parsedExtendedRecordTypesMap.reduce((acc, type) => acc.merge(type.fields), Map())))).Then((parsedRecord) => ValueOrErrors.Default.return([
486
- parsedRecord,
487
- parsedExtendedRecordTypesMap.reduce((acc, type, name) => acc.set(name, ValueOrErrors.Default.return(type)), alreadyParsedTypes),
488
- ])))),
489
- ParseRawFilterType: (rawFilterType, arg) => {
490
- if (typeof rawFilterType != "string") {
491
- return ValueOrErrors.Default.throwOne(`rawType is not a string`);
492
- }
493
- switch (rawFilterType) {
494
- case "contains":
495
- return ValueOrErrors.Default.return(DispatchParsedType.Default.filterContains(arg));
496
- case "equalsTo":
497
- return ValueOrErrors.Default.return(DispatchParsedType.Default.filterEqualsTo(arg));
498
- case "startswith":
499
- return ValueOrErrors.Default.return(DispatchParsedType.Default.filterStartsWith(arg));
500
- case "!=":
501
- return ValueOrErrors.Default.return(DispatchParsedType.Default.filterNotEqualsTo(arg));
502
- case "=":
503
- return ValueOrErrors.Default.return(DispatchParsedType.Default.filterEqualsTo(arg));
504
- case ">=":
505
- return ValueOrErrors.Default.return(DispatchParsedType.Default.filterGreaterThanOrEqualsTo(arg));
506
- case ">":
507
- return ValueOrErrors.Default.return(DispatchParsedType.Default.filterGreaterThan(arg));
508
- case "<=":
509
- return ValueOrErrors.Default.return(DispatchParsedType.Default.filterSmallerThanOrEqualsTo(arg));
510
- case "<":
511
- return ValueOrErrors.Default.return(DispatchParsedType.Default.filterSmallerThan(arg));
512
- case "=null":
513
- return ValueOrErrors.Default.return(DispatchParsedType.Default.filterIsNull());
514
- case "!=null":
515
- return ValueOrErrors.Default.return(DispatchParsedType.Default.filterIsNotNull());
516
- default:
517
- return ValueOrErrors.Default.throwOne(`Unknown filter type: ${rawFilterType}`);
518
- }
519
- },
520
- ParseRawType: (typeName, rawType, typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives) => {
521
- const result = (() => {
522
- const stringyTypes = [
523
- "guid",
524
- "entityIdUUID",
525
- "entityIdString",
526
- "calculatedDisplayValue",
527
- ];
528
- if (SerializedType.isPrimitive(rawType, injectedPrimitives))
529
- return ValueOrErrors.Default.return([
530
- DispatchParsedType.Default.primitive(typeof rawType === "string" && stringyTypes.includes(rawType)
531
- ? "string"
532
- : rawType),
533
- alreadyParsedTypes,
534
- ]);
535
- if (SerializedType.isSingleSelection(rawType))
536
- return DispatchParsedType.Operations.ParseRawType(`SingleSelection:Element`, rawType.args[0], typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then((parsedArgs) => ValueOrErrors.Default.return([
537
- DispatchParsedType.Default.singleSelection([parsedArgs[0]]),
538
- alreadyParsedTypes,
539
- ]));
540
- if (SerializedType.isMultiSelection(rawType))
541
- return DispatchParsedType.Operations.ParseRawType(`MultiSelection:Element`, rawType.args[0], typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then((parsedArgs) => ValueOrErrors.Default.return([
542
- DispatchParsedType.Default.multiSelection([parsedArgs[0]]),
543
- alreadyParsedTypes,
544
- ]));
545
- if (SerializedType.isList(rawType))
546
- return DispatchParsedType.Operations.ParseRawType(`List:Element`, rawType.args[0], typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then((parsedArgs) => ValueOrErrors.Default.return([
547
- DispatchParsedType.Default.list([parsedArgs[0]]),
619
+ ? ValueOrErrors.Default.throwOne(
620
+ `Error: cannot find extended type ${extendedTypeName} in types`,
621
+ )
622
+ : DispatchParsedType.Operations.ParseRawType(
623
+ extendedTypeName,
624
+ serializedTypes[extendedTypeName],
625
+ typeNames,
626
+ serializedTypes,
627
+ alreadyParsedTypes,
628
+ injectedPrimitives,
629
+ ).Then((parsedType) =>
630
+ parsedType[0].kind == "record"
631
+ ? ValueOrErrors.Default.return([
632
+ extendedTypeName,
633
+ parsedType[0],
634
+ ])
635
+ : ValueOrErrors.Default.throwOne(
636
+ `Error: ${JSON.stringify(parsedType[0])} is not a record type`,
637
+ ),
638
+ ),
639
+ ),
640
+ ),
641
+ )
642
+ .MapErrors((errors) =>
643
+ errors.map(
644
+ (error) => `${error}\n...When parsing extended types`,
645
+ ),
646
+ )
647
+ .Then((parsedExtendedRecordTypes) =>
648
+ ValueOrErrors.Default.return(
649
+ parsedExtendedRecordTypes.reduce(
650
+ (acc, type) => acc.set(type[0], type[1]),
651
+ Map(),
652
+ ),
653
+ ),
654
+ )
655
+ : ValueOrErrors.Default.return(Map())
656
+ ).Then((parsedExtendedRecordTypesMap) =>
657
+ ValueOrErrors.Operations.All(
658
+ List(
659
+ Object.entries(rawType.fields).map(([fieldName, fieldType]) =>
660
+ DispatchParsedType.Operations.ParseRawType(
661
+ fieldName,
662
+ fieldType,
663
+ typeNames,
664
+ serializedTypes,
665
+ alreadyParsedTypes,
666
+ injectedPrimitives,
667
+ ).Then((parsedField) =>
668
+ ValueOrErrors.Default.return([fieldName, parsedField]),
669
+ ),
670
+ ),
671
+ ),
672
+ )
673
+ .Then((parsedFields) =>
674
+ ValueOrErrors.Default.return(
675
+ Map(
676
+ parsedFields.map(([fieldName, parsedField]) => [
677
+ fieldName,
678
+ parsedField[0],
679
+ ]),
680
+ ),
681
+ ),
682
+ )
683
+ .Then((parsedFieldsMap) =>
684
+ ValueOrErrors.Default.return(
685
+ DispatchParsedType.Default.record(
686
+ parsedFieldsMap.merge(
687
+ parsedExtendedRecordTypesMap.reduce(
688
+ (acc, type) => acc.merge(type.fields),
689
+ Map(),
690
+ ),
691
+ ),
692
+ ),
693
+ ).Then((parsedRecord) =>
694
+ ValueOrErrors.Default.return([
695
+ parsedRecord,
696
+ parsedExtendedRecordTypesMap.reduce(
697
+ (acc, type, name) =>
698
+ acc.set(name, ValueOrErrors.Default.return(type)),
548
699
  alreadyParsedTypes,
549
- ]));
550
- if (SerializedType.isTuple(rawType))
551
- return ValueOrErrors.Operations.All(List(rawType.args.map((arg, index) => DispatchParsedType.Operations.ParseRawType(`Tuple:Item ${index + 1}`, arg, typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives)))).Then((parsedArgs) => ValueOrErrors.Default.return([
552
- DispatchParsedType.Default.tuple(parsedArgs.map(([parsedArg]) => parsedArg).toArray()),
553
- alreadyParsedTypes,
554
- ]));
555
- if (SerializedType.isMap(rawType))
556
- return DispatchParsedType.Operations.ParseRawType("Map:Key", rawType.args[0], typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then((parsedArgs0) => DispatchParsedType.Operations.ParseRawType("Map:Value", rawType.args[1], typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then((parsedArgs1) => ValueOrErrors.Default.return([
557
- DispatchParsedType.Default.map([
558
- parsedArgs0[0],
559
- parsedArgs1[0],
560
- ]),
561
- alreadyParsedTypes,
562
- ])));
563
- if (SerializedType.isSum(rawType))
564
- return DispatchParsedType.Operations.ParseRawType("Sum:Left", rawType.args[0], typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then((parsedArgs0) => DispatchParsedType.Operations.ParseRawType("Sum:Right", rawType.args[1], typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then((parsedArgs1) => ValueOrErrors.Default.return([
565
- DispatchParsedType.Default.sum([
566
- parsedArgs0[0],
567
- parsedArgs1[0],
568
- ]),
569
- alreadyParsedTypes,
570
- ])));
571
- if (SerializedType.isRecord(rawType))
572
- return DispatchParsedType.Operations.ParseRecord(typeName, rawType, typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives);
573
- if (SerializedType.isTable(rawType)) {
574
- return DispatchParsedType.Operations.ParseRawType("TableArg", rawType.args[0], typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then((parsedArg) => parsedArg[0].kind != "lookup"
575
- ? ValueOrErrors.Default.throwOne(`Error: ${JSON.stringify(parsedArg[0])} is not a lookup type`)
576
- : ValueOrErrors.Default.return([
577
- DispatchParsedType.Default.table(parsedArg[0]),
578
- alreadyParsedTypes,
579
- ]));
580
- }
581
- if (SerializedType.isLookup(rawType, typeNames))
582
- return ValueOrErrors.Default.return([
583
- DispatchParsedType.Default.lookup(rawType),
584
- alreadyParsedTypes,
585
- ]);
586
- if (SerializedType.isUnit(rawType)) {
587
- return ValueOrErrors.Default.return([
588
- DispatchParsedType.Default.primitive("unit"),
589
- alreadyParsedTypes,
590
- ]);
591
- }
592
- if (SerializedType.isUnion(rawType))
593
- // for now we assume all union cases are lookup types
594
- return ValueOrErrors.Operations.All(List(rawType.args.map((unionCase) => DispatchParsedType.Operations.ParseRawType(`Union:Case ${unionCase.caseName}`, unionCase.fields == undefined
595
- ? { fields: {} }
596
- : // we allow the record fields to be defined directly in the spec instead of
597
- // inside a fields key
598
- SerializedType.isRecordFields(unionCase.fields)
599
- ? { fields: unionCase.fields }
600
- : unionCase.fields, typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then((parsedType) => ValueOrErrors.Default.return([
601
- unionCase.caseName,
602
- parsedType[0],
603
- ]))))).Then((parsedUnionCases) => ValueOrErrors.Default.return([
604
- DispatchParsedType.Default.union(Map(parsedUnionCases)),
605
- alreadyParsedTypes,
606
- ]));
607
- if (SerializedType.isOne(rawType))
608
- return DispatchParsedType.Operations.ParseRawType("One:Element", rawType.args[0], typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then((parsedArg) => parsedArg[0].kind != "lookup"
609
- ? ValueOrErrors.Default.throwOne(`one content type ${JSON.stringify(parsedArg[0])} is not a lookup type`)
610
- : ValueOrErrors.Default.return([
611
- DispatchParsedType.Default.one(parsedArg[0]),
612
- alreadyParsedTypes,
613
- ]));
614
- if (SerializedType.isReadOnly(rawType))
615
- return DispatchParsedType.Operations.ParseRawType("ReadOnly:Element", rawType.args[0], typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then(([parsedArg, _]) => ValueOrErrors.Default.return([
616
- DispatchParsedType.Default.readOnly(parsedArg),
617
- alreadyParsedTypes,
618
- ]));
619
- if (SerializedType.isKeyOf(rawType))
620
- return DispatchParsedType.Operations.ParseRawKeyOf(rawType, typeNames, serializedTypes, alreadyParsedTypes);
621
- if (SerializedType.isTranslationOverride(rawType))
622
- return DispatchParsedType.Operations.ParseRawType("TranslationOverride:Language", rawType.args[0], typeNames, serializedTypes, alreadyParsedTypes, injectedPrimitives).Then(([parsedArg0, ..._]) => ValueOrErrors.Default.return([
623
- DispatchParsedType.Default.map([
624
- DispatchParsedType.Default.singleSelection([parsedArg0]),
625
- DispatchParsedType.Default.primitive("string"),
626
- ]),
627
- alreadyParsedTypes,
628
- ]));
629
- return ValueOrErrors.Default.throwOne(`Unrecognised type "${typeName}" : ${JSON.stringify(rawType)}`);
630
- })();
631
- return result.MapErrors((errors) => errors.map((error) => `${error}\n...When parsing type "${typeName}"`));
632
- },
633
- ResolveLookupType: (typeName, types) => MapRepo.Operations.tryFindWithError(typeName, types, () => `cannot find lookup type ${typeName} in types`),
634
- AsResolvedType: (type, types) => type.kind == "lookup"
635
- ? DispatchParsedType.Operations.ResolveLookupType(type.name, types)
636
- : ValueOrErrors.Default.return(type),
700
+ ),
701
+ ]),
702
+ ),
703
+ ),
704
+ ),
705
+ ParseRawFilterType: (rawFilterType, arg) => {
706
+ if (typeof rawFilterType != "string") {
707
+ return ValueOrErrors.Default.throwOne(`rawType is not a string`);
708
+ }
709
+ switch (rawFilterType) {
710
+ case "contains":
711
+ return ValueOrErrors.Default.return(
712
+ DispatchParsedType.Default.filterContains(arg),
713
+ );
714
+ case "equalsTo":
715
+ return ValueOrErrors.Default.return(
716
+ DispatchParsedType.Default.filterEqualsTo(arg),
717
+ );
718
+ case "startswith":
719
+ return ValueOrErrors.Default.return(
720
+ DispatchParsedType.Default.filterStartsWith(arg),
721
+ );
722
+ case "!=":
723
+ return ValueOrErrors.Default.return(
724
+ DispatchParsedType.Default.filterNotEqualsTo(arg),
725
+ );
726
+ case "=":
727
+ return ValueOrErrors.Default.return(
728
+ DispatchParsedType.Default.filterEqualsTo(arg),
729
+ );
730
+ case ">=":
731
+ return ValueOrErrors.Default.return(
732
+ DispatchParsedType.Default.filterGreaterThanOrEqualsTo(arg),
733
+ );
734
+ case ">":
735
+ return ValueOrErrors.Default.return(
736
+ DispatchParsedType.Default.filterGreaterThan(arg),
737
+ );
738
+ case "<=":
739
+ return ValueOrErrors.Default.return(
740
+ DispatchParsedType.Default.filterSmallerThanOrEqualsTo(arg),
741
+ );
742
+ case "<":
743
+ return ValueOrErrors.Default.return(
744
+ DispatchParsedType.Default.filterSmallerThan(arg),
745
+ );
746
+ case "=null":
747
+ return ValueOrErrors.Default.return(
748
+ DispatchParsedType.Default.filterIsNull(),
749
+ );
750
+ case "!=null":
751
+ return ValueOrErrors.Default.return(
752
+ DispatchParsedType.Default.filterIsNotNull(),
753
+ );
754
+ default:
755
+ return ValueOrErrors.Default.throwOne(
756
+ `Unknown filter type: ${rawFilterType}`,
757
+ );
758
+ }
759
+ },
760
+ ParseRawType: (
761
+ typeName,
762
+ rawType,
763
+ typeNames,
764
+ serializedTypes,
765
+ alreadyParsedTypes,
766
+ injectedPrimitives,
767
+ ) => {
768
+ const result = (() => {
769
+ const stringyTypes = [
770
+ "guid",
771
+ "entityIdUUID",
772
+ "entityIdString",
773
+ "calculatedDisplayValue",
774
+ ];
775
+ if (SerializedType.isPrimitive(rawType, injectedPrimitives))
776
+ return ValueOrErrors.Default.return([
777
+ DispatchParsedType.Default.primitive(
778
+ typeof rawType === "string" && stringyTypes.includes(rawType)
779
+ ? "string"
780
+ : rawType,
781
+ ),
782
+ alreadyParsedTypes,
783
+ ]);
784
+ if (SerializedType.isSingleSelection(rawType))
785
+ return DispatchParsedType.Operations.ParseRawType(
786
+ `SingleSelection:Element`,
787
+ rawType.args[0],
788
+ typeNames,
789
+ serializedTypes,
790
+ alreadyParsedTypes,
791
+ injectedPrimitives,
792
+ ).Then((parsedArgs) =>
793
+ ValueOrErrors.Default.return([
794
+ DispatchParsedType.Default.singleSelection([parsedArgs[0]]),
795
+ alreadyParsedTypes,
796
+ ]),
797
+ );
798
+ if (SerializedType.isMultiSelection(rawType))
799
+ return DispatchParsedType.Operations.ParseRawType(
800
+ `MultiSelection:Element`,
801
+ rawType.args[0],
802
+ typeNames,
803
+ serializedTypes,
804
+ alreadyParsedTypes,
805
+ injectedPrimitives,
806
+ ).Then((parsedArgs) =>
807
+ ValueOrErrors.Default.return([
808
+ DispatchParsedType.Default.multiSelection([parsedArgs[0]]),
809
+ alreadyParsedTypes,
810
+ ]),
811
+ );
812
+ if (SerializedType.isList(rawType))
813
+ return DispatchParsedType.Operations.ParseRawType(
814
+ `List:Element`,
815
+ rawType.args[0],
816
+ typeNames,
817
+ serializedTypes,
818
+ alreadyParsedTypes,
819
+ injectedPrimitives,
820
+ ).Then((parsedArgs) =>
821
+ ValueOrErrors.Default.return([
822
+ DispatchParsedType.Default.list([parsedArgs[0]]),
823
+ alreadyParsedTypes,
824
+ ]),
825
+ );
826
+ if (SerializedType.isTuple(rawType))
827
+ return ValueOrErrors.Operations.All(
828
+ List(
829
+ rawType.args.map((arg, index) =>
830
+ DispatchParsedType.Operations.ParseRawType(
831
+ `Tuple:Item ${index + 1}`,
832
+ arg,
833
+ typeNames,
834
+ serializedTypes,
835
+ alreadyParsedTypes,
836
+ injectedPrimitives,
837
+ ),
838
+ ),
839
+ ),
840
+ ).Then((parsedArgs) =>
841
+ ValueOrErrors.Default.return([
842
+ DispatchParsedType.Default.tuple(
843
+ parsedArgs.map(([parsedArg]) => parsedArg).toArray(),
844
+ ),
845
+ alreadyParsedTypes,
846
+ ]),
847
+ );
848
+ if (SerializedType.isMap(rawType))
849
+ return DispatchParsedType.Operations.ParseRawType(
850
+ "Map:Key",
851
+ rawType.args[0],
852
+ typeNames,
853
+ serializedTypes,
854
+ alreadyParsedTypes,
855
+ injectedPrimitives,
856
+ ).Then((parsedArgs0) =>
857
+ DispatchParsedType.Operations.ParseRawType(
858
+ "Map:Value",
859
+ rawType.args[1],
860
+ typeNames,
861
+ serializedTypes,
862
+ alreadyParsedTypes,
863
+ injectedPrimitives,
864
+ ).Then((parsedArgs1) =>
865
+ ValueOrErrors.Default.return([
866
+ DispatchParsedType.Default.map([
867
+ parsedArgs0[0],
868
+ parsedArgs1[0],
869
+ ]),
870
+ alreadyParsedTypes,
871
+ ]),
872
+ ),
873
+ );
874
+ if (SerializedType.isSum(rawType))
875
+ return DispatchParsedType.Operations.ParseRawType(
876
+ "Sum:Left",
877
+ rawType.args[0],
878
+ typeNames,
879
+ serializedTypes,
880
+ alreadyParsedTypes,
881
+ injectedPrimitives,
882
+ ).Then((parsedArgs0) =>
883
+ DispatchParsedType.Operations.ParseRawType(
884
+ "Sum:Right",
885
+ rawType.args[1],
886
+ typeNames,
887
+ serializedTypes,
888
+ alreadyParsedTypes,
889
+ injectedPrimitives,
890
+ ).Then((parsedArgs1) =>
891
+ ValueOrErrors.Default.return([
892
+ DispatchParsedType.Default.sum([
893
+ parsedArgs0[0],
894
+ parsedArgs1[0],
895
+ ]),
896
+ alreadyParsedTypes,
897
+ ]),
898
+ ),
899
+ );
900
+ if (SerializedType.isRecord(rawType))
901
+ return DispatchParsedType.Operations.ParseRecord(
902
+ typeName,
903
+ rawType,
904
+ typeNames,
905
+ serializedTypes,
906
+ alreadyParsedTypes,
907
+ injectedPrimitives,
908
+ );
909
+ if (SerializedType.isTable(rawType)) {
910
+ return DispatchParsedType.Operations.ParseRawType(
911
+ "TableArg",
912
+ rawType.args[0],
913
+ typeNames,
914
+ serializedTypes,
915
+ alreadyParsedTypes,
916
+ injectedPrimitives,
917
+ ).Then((parsedArg) =>
918
+ parsedArg[0].kind != "lookup"
919
+ ? ValueOrErrors.Default.throwOne(
920
+ `Error: ${JSON.stringify(parsedArg[0])} is not a lookup type`,
921
+ )
922
+ : ValueOrErrors.Default.return([
923
+ DispatchParsedType.Default.table(parsedArg[0]),
924
+ alreadyParsedTypes,
925
+ ]),
926
+ );
927
+ }
928
+ if (SerializedType.isLookup(rawType, typeNames))
929
+ return ValueOrErrors.Default.return([
930
+ DispatchParsedType.Default.lookup(rawType),
931
+ alreadyParsedTypes,
932
+ ]);
933
+ if (SerializedType.isUnit(rawType)) {
934
+ return ValueOrErrors.Default.return([
935
+ DispatchParsedType.Default.primitive("unit"),
936
+ alreadyParsedTypes,
937
+ ]);
938
+ }
939
+ if (SerializedType.isUnion(rawType))
940
+ // for now we assume all union cases are lookup types
941
+ return ValueOrErrors.Operations.All(
942
+ List(
943
+ rawType.args.map((unionCase) =>
944
+ DispatchParsedType.Operations.ParseRawType(
945
+ `Union:Case ${unionCase.caseName}`,
946
+ unionCase.fields == undefined
947
+ ? { fields: {} }
948
+ : // we allow the record fields to be defined directly in the spec instead of
949
+ // inside a fields key
950
+ SerializedType.isRecordFields(unionCase.fields)
951
+ ? { fields: unionCase.fields }
952
+ : unionCase.fields,
953
+ typeNames,
954
+ serializedTypes,
955
+ alreadyParsedTypes,
956
+ injectedPrimitives,
957
+ ).Then((parsedType) =>
958
+ ValueOrErrors.Default.return([
959
+ unionCase.caseName,
960
+ parsedType[0],
961
+ ]),
962
+ ),
963
+ ),
964
+ ),
965
+ ).Then((parsedUnionCases) =>
966
+ ValueOrErrors.Default.return([
967
+ DispatchParsedType.Default.union(Map(parsedUnionCases)),
968
+ alreadyParsedTypes,
969
+ ]),
970
+ );
971
+ if (SerializedType.isOne(rawType))
972
+ return DispatchParsedType.Operations.ParseRawType(
973
+ "One:Element",
974
+ rawType.args[0],
975
+ typeNames,
976
+ serializedTypes,
977
+ alreadyParsedTypes,
978
+ injectedPrimitives,
979
+ ).Then((parsedArg) =>
980
+ parsedArg[0].kind != "lookup"
981
+ ? ValueOrErrors.Default.throwOne(
982
+ `one content type ${JSON.stringify(parsedArg[0])} is not a lookup type`,
983
+ )
984
+ : ValueOrErrors.Default.return([
985
+ DispatchParsedType.Default.one(parsedArg[0]),
986
+ alreadyParsedTypes,
987
+ ]),
988
+ );
989
+ if (SerializedType.isReadOnly(rawType))
990
+ return DispatchParsedType.Operations.ParseRawType(
991
+ "ReadOnly:Element",
992
+ rawType.args[0],
993
+ typeNames,
994
+ serializedTypes,
995
+ alreadyParsedTypes,
996
+ injectedPrimitives,
997
+ ).Then(([parsedArg, _]) =>
998
+ ValueOrErrors.Default.return([
999
+ DispatchParsedType.Default.readOnly(parsedArg),
1000
+ alreadyParsedTypes,
1001
+ ]),
1002
+ );
1003
+ if (SerializedType.isKeyOf(rawType))
1004
+ return DispatchParsedType.Operations.ParseRawKeyOf(
1005
+ rawType,
1006
+ typeNames,
1007
+ serializedTypes,
1008
+ alreadyParsedTypes,
1009
+ );
1010
+ if (SerializedType.isTranslationOverride(rawType))
1011
+ return DispatchParsedType.Operations.ParseRawType(
1012
+ "TranslationOverride:Language",
1013
+ rawType.args[0],
1014
+ typeNames,
1015
+ serializedTypes,
1016
+ alreadyParsedTypes,
1017
+ injectedPrimitives,
1018
+ ).Then(([parsedArg0, ..._]) =>
1019
+ ValueOrErrors.Default.return([
1020
+ DispatchParsedType.Default.map([
1021
+ DispatchParsedType.Default.singleSelection([parsedArg0]),
1022
+ DispatchParsedType.Default.primitive("string"),
1023
+ ]),
1024
+ alreadyParsedTypes,
1025
+ ]),
1026
+ );
1027
+ return ValueOrErrors.Default.throwOne(
1028
+ `Unrecognised type "${typeName}" : ${JSON.stringify(rawType)}`,
1029
+ );
1030
+ })();
1031
+ return result.MapErrors((errors) =>
1032
+ errors.map((error) => `${error}\n...When parsing type "${typeName}"`),
1033
+ );
637
1034
  },
1035
+ ResolveLookupType: (typeName, types) =>
1036
+ MapRepo.Operations.tryFindWithError(
1037
+ typeName,
1038
+ types,
1039
+ () => `cannot find lookup type ${typeName} in types`,
1040
+ ),
1041
+ AsResolvedType: (type, types) =>
1042
+ type.kind == "lookup"
1043
+ ? DispatchParsedType.Operations.ResolveLookupType(type.name, types)
1044
+ : ValueOrErrors.Default.return(type),
1045
+ },
638
1046
  };
639
- //# sourceMappingURL=state.js.map
1047
+ //# sourceMappingURL=state.js.map