ballerina-core 1.0.199 → 1.0.201

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