ballerina-core 1.0.258 → 1.0.260

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