ballerina-core 1.0.256 → 1.0.258

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/bin/src/api-response-handler/coroutines/runner.js +20 -13
  2. package/bin/src/api-response-handler/state.js +13 -11
  3. package/bin/src/apiResultStatus/state.d.ts +10 -3
  4. package/bin/src/apiResultStatus/state.js +2 -5
  5. package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.js +314 -196
  6. package/bin/src/async/domains/mirroring/domains/collection/state.js +126 -36
  7. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.js +18 -11
  8. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.js +19 -19
  9. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.js +1 -1
  10. package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.js +18 -18
  11. package/bin/src/async/domains/mirroring/domains/entity/state.js +18 -9
  12. package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.js +134 -83
  13. package/bin/src/async/domains/mirroring/domains/singleton/state.js +52 -8
  14. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts +15 -9
  15. package/bin/src/async/domains/mirroring/domains/synchronization-result/state.js +1 -1
  16. package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.js +7 -4
  17. package/bin/src/async/domains/promise/state.d.ts +9 -4
  18. package/bin/src/async/domains/promise/state.js +20 -9
  19. package/bin/src/async/domains/synchronized/coroutines/synchronize.js +80 -28
  20. package/bin/src/async/domains/synchronized/state.d.ts +14 -7
  21. package/bin/src/async/domains/synchronized/state.js +16 -6
  22. package/bin/src/async/state.d.ts +56 -45
  23. package/bin/src/async/state.js +115 -97
  24. package/bin/src/baseEntity/domains/identifiable/state.d.ts +15 -11
  25. package/bin/src/baseEntity/domains/identifiable/state.js +9 -9
  26. package/bin/src/collections/domains/array/state.d.ts +7 -7
  27. package/bin/src/collections/domains/array/state.js +5 -5
  28. package/bin/src/collections/domains/errors/state.d.ts +10 -10
  29. package/bin/src/collections/domains/errors/state.js +10 -10
  30. package/bin/src/collections/domains/immutable/domains/list/state.js +46 -44
  31. package/bin/src/collections/domains/immutable/domains/map/state.js +41 -23
  32. package/bin/src/collections/domains/immutable/domains/orderedMap/state.js +84 -65
  33. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.d.ts +6 -6
  34. package/bin/src/collections/domains/immutable/domains/ordereredSet/state.js +6 -6
  35. package/bin/src/collections/domains/maybe/state.d.ts +9 -9
  36. package/bin/src/collections/domains/maybe/state.js +12 -9
  37. package/bin/src/collections/domains/product/state.d.ts +25 -19
  38. package/bin/src/collections/domains/product/state.js +13 -10
  39. package/bin/src/collections/domains/sum/state.d.ts +101 -77
  40. package/bin/src/collections/domains/sum/state.js +49 -32
  41. package/bin/src/collections/domains/valueOrErrors/state.js +81 -56
  42. package/bin/src/coroutines/builder.js +40 -19
  43. package/bin/src/coroutines/state.js +381 -306
  44. package/bin/src/coroutines/template.js +97 -59
  45. package/bin/src/debounced/coroutines/debounce.js +115 -89
  46. package/bin/src/debounced/state.js +62 -25
  47. package/bin/src/diagnostics/domains/message-box/state.d.ts +1 -1
  48. package/bin/src/diagnostics/domains/message-box/state.js +3 -3
  49. package/bin/src/foreignMutations/state.d.ts +3 -3
  50. package/bin/src/foreignMutations/state.js +1 -1
  51. package/bin/src/forms/domains/attachments/views/attachments-view.js +30 -8
  52. package/bin/src/forms/domains/collection/domains/reference/state.js +26 -20
  53. package/bin/src/forms/domains/collection/domains/selection/state.js +1 -1
  54. package/bin/src/forms/domains/dispatched-forms/built-ins/state.js +2007 -754
  55. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.d.ts.map +1 -1
  56. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js +123 -44
  57. package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js.map +1 -1
  58. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.js +40 -27
  59. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.js +21 -13
  60. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.js +43 -27
  61. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.js +39 -22
  62. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.d.ts +167 -0
  63. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.d.ts.map +1 -0
  64. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.js +367 -0
  65. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.js.map +1 -0
  66. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts +7 -29
  67. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts.map +1 -1
  68. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js +1098 -572
  69. package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js.map +1 -1
  70. package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts +1 -0
  71. package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts.map +1 -1
  72. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js +322 -90
  73. package/bin/src/forms/domains/dispatched-forms/deserializer/state.js.map +1 -1
  74. package/bin/src/forms/domains/dispatched-forms/deserializer/template.js +3 -2
  75. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.d.ts +27 -4
  76. package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.js +136 -82
  77. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.js +3 -3
  78. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js +49 -23
  79. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js +3 -3
  80. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js +52 -24
  81. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +18 -6
  82. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +64 -30
  83. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +9 -6
  84. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +153 -60
  85. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.js +1 -1
  86. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js +127 -50
  87. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +40 -22
  88. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +31 -13
  89. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +452 -152
  90. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.js +1 -1
  91. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js +29 -8
  92. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js.map +1 -1
  93. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +61 -18
  94. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +329 -90
  95. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.js +3 -3
  96. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js +54 -23
  97. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +22 -10
  98. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +49 -31
  99. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +29 -10
  100. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js +2 -2
  101. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js +47 -26
  102. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +88 -40
  103. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +386 -152
  104. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +19 -10
  105. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +99 -33
  106. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +32 -11
  107. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +227 -82
  108. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +35 -13
  109. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +195 -68
  110. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +36 -13
  111. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +246 -106
  112. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.js +3 -3
  113. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js +54 -23
  114. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +40 -27
  115. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.js +3 -3
  116. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js +58 -26
  117. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +22 -7
  118. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +188 -53
  119. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js +2 -2
  120. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js +57 -24
  121. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +70 -20
  122. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.d.ts.map +1 -1
  123. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +88 -48
  124. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js.map +1 -1
  125. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +40 -20
  126. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +43 -15
  127. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +301 -137
  128. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js.map +1 -1
  129. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +692 -240
  130. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +20 -8
  131. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +132 -35
  132. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +21 -8
  133. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +105 -33
  134. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +12 -9
  135. package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +54 -20
  136. package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +716 -560
  137. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +58 -18
  138. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +45 -14
  139. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +76 -18
  140. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +82 -24
  141. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +37 -8
  142. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +120 -36
  143. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +145 -63
  144. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +44 -12
  145. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +14 -4
  146. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +81 -25
  147. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +82 -24
  148. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +63 -20
  149. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +248 -74
  150. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +61 -13
  151. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +92 -33
  152. package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +144 -45
  153. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js +203 -95
  154. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js +79 -37
  155. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.js +2 -2
  156. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.js +19 -17
  157. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js +58 -11
  158. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js +73 -25
  159. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js +205 -95
  160. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js +78 -37
  161. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.js +2 -2
  162. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.js +19 -17
  163. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js +58 -11
  164. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js +71 -25
  165. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js +163 -85
  166. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js +10 -4
  167. package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js +72 -27
  168. package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js +796 -436
  169. package/bin/src/forms/domains/dispatched-forms/runner/state.js +62 -38
  170. package/bin/src/forms/domains/dispatched-forms/runner/template.js +78 -25
  171. package/bin/src/forms/domains/launcher/coroutines/runner.js +120 -45
  172. package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +240 -101
  173. package/bin/src/forms/domains/launcher/domains/create/state.js +62 -17
  174. package/bin/src/forms/domains/launcher/domains/create/template.js +84 -42
  175. package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +242 -103
  176. package/bin/src/forms/domains/launcher/domains/edit/state.js +62 -17
  177. package/bin/src/forms/domains/launcher/domains/edit/template.js +86 -43
  178. package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
  179. package/bin/src/forms/domains/launcher/domains/merger/state.js +35 -26
  180. package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +88 -42
  181. package/bin/src/forms/domains/launcher/domains/passthrough/state.js +44 -19
  182. package/bin/src/forms/domains/launcher/domains/passthrough/template.js +56 -34
  183. package/bin/src/forms/domains/launcher/state.js +6 -6
  184. package/bin/src/forms/domains/launcher/template.js +169 -85
  185. package/bin/src/forms/domains/parser/coroutines/runner.js +87 -25
  186. package/bin/src/forms/domains/parser/domains/built-ins/state.js +944 -533
  187. package/bin/src/forms/domains/parser/domains/deltas/state.js +444 -318
  188. package/bin/src/forms/domains/parser/domains/injectables/state.js +29 -26
  189. package/bin/src/forms/domains/parser/domains/layout/state.js +271 -183
  190. package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +324 -162
  191. package/bin/src/forms/domains/parser/domains/predicates/state.js +1514 -984
  192. package/bin/src/forms/domains/parser/domains/renderer/state.js +1137 -480
  193. package/bin/src/forms/domains/parser/domains/types/state.js +355 -170
  194. package/bin/src/forms/domains/parser/domains/validator/state.js +417 -280
  195. package/bin/src/forms/domains/parser/state.js +612 -373
  196. package/bin/src/forms/domains/parser/template.js +1 -1
  197. package/bin/src/forms/domains/primitives/domains/base-64-file/state.js +5 -5
  198. package/bin/src/forms/domains/primitives/domains/base-64-file/template.js +38 -19
  199. package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
  200. package/bin/src/forms/domains/primitives/domains/boolean/template.js +38 -19
  201. package/bin/src/forms/domains/primitives/domains/date/state.js +18 -9
  202. package/bin/src/forms/domains/primitives/domains/date/template.js +51 -25
  203. package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
  204. package/bin/src/forms/domains/primitives/domains/enum/template.js +117 -48
  205. package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
  206. package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +99 -40
  207. package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
  208. package/bin/src/forms/domains/primitives/domains/list/template.js +200 -71
  209. package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
  210. package/bin/src/forms/domains/primitives/domains/map/template.js +294 -103
  211. package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
  212. package/bin/src/forms/domains/primitives/domains/number/template.js +38 -19
  213. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +33 -16
  214. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +171 -62
  215. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.js +1 -1
  216. package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.js +182 -69
  217. package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
  218. package/bin/src/forms/domains/primitives/domains/secret/template.js +38 -19
  219. package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
  220. package/bin/src/forms/domains/primitives/domains/string/template.js +42 -22
  221. package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
  222. package/bin/src/forms/domains/primitives/domains/sum/template.js +141 -50
  223. package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
  224. package/bin/src/forms/domains/primitives/domains/tuple/template.js +100 -33
  225. package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
  226. package/bin/src/forms/domains/primitives/domains/unit/template.js +22 -9
  227. package/bin/src/forms/domains/singleton/domains/form-label/state.d.ts +4 -4
  228. package/bin/src/forms/domains/singleton/domains/form-label/state.js +1 -1
  229. package/bin/src/forms/domains/singleton/state.js +12 -10
  230. package/bin/src/forms/domains/singleton/template.js +288 -113
  231. package/bin/src/fun/domains/curry/state.d.ts +4 -2
  232. package/bin/src/fun/domains/curry/state.js +1 -1
  233. package/bin/src/fun/domains/id/state.d.ts +1 -1
  234. package/bin/src/fun/domains/id/state.js +1 -1
  235. package/bin/src/fun/domains/predicate/domains/bool-expr.d.ts +57 -41
  236. package/bin/src/fun/domains/predicate/domains/bool-expr.js +76 -67
  237. package/bin/src/fun/domains/predicate/state.d.ts +9 -7
  238. package/bin/src/fun/domains/predicate/state.js +14 -10
  239. package/bin/src/fun/domains/simpleCallback/state.d.ts +1 -1
  240. package/bin/src/fun/domains/simpleCallback/state.js +1 -1
  241. package/bin/src/fun/domains/uncurry/state.d.ts +4 -2
  242. package/bin/src/fun/domains/uncurry/state.js +1 -1
  243. package/bin/src/fun/domains/unit/state.d.ts +1 -1
  244. package/bin/src/fun/domains/unit/state.js +1 -1
  245. package/bin/src/fun/domains/updater/domains/caseUpdater/state.d.ts +22 -7
  246. package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +18 -10
  247. package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +24 -13
  248. package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +40 -10
  249. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +19 -13
  250. package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +20 -9
  251. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +24 -13
  252. package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +47 -11
  253. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +20 -8
  254. package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +17 -5
  255. package/bin/src/fun/domains/updater/domains/replaceWith/state.d.ts +1 -1
  256. package/bin/src/fun/domains/updater/domains/replaceWith/state.js +1 -1
  257. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts +13 -4
  258. package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +6 -4
  259. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +60 -22
  260. package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +42 -31
  261. package/bin/src/fun/domains/updater/state.d.ts +4 -4
  262. package/bin/src/fun/domains/updater/state.js +12 -10
  263. package/bin/src/fun/state.d.ts +3 -3
  264. package/bin/src/fun/state.js +9 -7
  265. package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
  266. package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +47 -20
  267. package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
  268. package/bin/src/infinite-data-stream/state.d.ts +84 -51
  269. package/bin/src/infinite-data-stream/state.js +125 -61
  270. package/bin/src/infinite-data-stream/template.js +3 -2
  271. package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
  272. package/bin/src/math/domains/DOMRect/state.js +10 -8
  273. package/bin/src/math/domains/number/state.d.ts +5 -5
  274. package/bin/src/math/domains/number/state.js +5 -5
  275. package/bin/src/math/domains/rect/state.d.ts +8 -8
  276. package/bin/src/math/domains/rect/state.js +16 -15
  277. package/bin/src/math/domains/rgba/state.d.ts +17 -17
  278. package/bin/src/math/domains/rgba/state.js +77 -81
  279. package/bin/src/math/domains/size2/state.d.ts +8 -8
  280. package/bin/src/math/domains/size2/state.js +6 -6
  281. package/bin/src/math/domains/vector2/state.d.ts +10 -10
  282. package/bin/src/math/domains/vector2/state.js +8 -8
  283. package/bin/src/queue/state.js +23 -16
  284. package/bin/src/state/domains/repository/state.d.ts +15 -9
  285. package/bin/src/state/domains/repository/state.js +1 -1
  286. package/bin/src/template/state.js +163 -115
  287. package/bin/src/validation/state.js +38 -45
  288. package/bin/src/value/domains/mutable-value/state.js +3 -2
  289. package/bin/src/value/state.d.ts +9 -9
  290. package/bin/src/value/state.js +11 -8
  291. package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
  292. package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +55 -20
  293. package/bin/src/value-infinite-data-stream/coroutines/runner.js +6 -4
  294. package/bin/src/value-infinite-data-stream/state.js +199 -77
  295. package/bin/src/value-infinite-data-stream/template.js +4 -2
  296. package/bin/src/visibility/state.d.ts +5 -2
  297. package/bin/src/visibility/state.js +1 -1
  298. package/main.ts +1 -0
  299. package/package.json +1 -1
  300. package/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.ts +2 -2
  301. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.ts +117 -111
  302. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.ts +14 -5
  303. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.ts +75 -18
  304. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.ts +16 -6
  305. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.ts +27 -9
  306. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.ts +28 -8
  307. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.ts +13 -4
  308. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.ts +18 -7
  309. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.ts +40 -14
  310. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.ts +15 -5
  311. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.ts +20 -6
  312. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.ts +101 -50
  313. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.ts +22 -23
  314. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.ts +37 -19
  315. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.ts +64 -6
  316. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.ts +585 -0
  317. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.ts +592 -340
  318. package/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.ts +364 -226
  319. package/src/forms/domains/dispatched-forms/deserializer/state.ts +1 -2
  320. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.tsx +1 -1
  321. package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.ts +2 -2
@@ -1,9 +1,21 @@
1
1
  import { Fun } from "../../../../state";
2
2
  import { Updater } from "../../state";
3
3
  export const orderedSetUpdater = () => (field, displayName) => ({
4
- [displayName]: {
5
- add: Fun((value) => Updater((entity) => (Object.assign(Object.assign({}, entity), { [field]: entity[field].add(value) })))),
6
- remove: Fun((value) => Updater((entity) => (Object.assign(Object.assign({}, entity), { [field]: entity[field].remove(value) })))),
7
- },
4
+ [displayName]: {
5
+ add: Fun((value) =>
6
+ Updater((entity) =>
7
+ Object.assign(Object.assign({}, entity), {
8
+ [field]: entity[field].add(value),
9
+ }),
10
+ ),
11
+ ),
12
+ remove: Fun((value) =>
13
+ Updater((entity) =>
14
+ Object.assign(Object.assign({}, entity), {
15
+ [field]: entity[field].remove(value),
16
+ }),
17
+ ),
18
+ ),
19
+ },
8
20
  });
9
- //# sourceMappingURL=state.js.map
21
+ //# sourceMappingURL=state.js.map
@@ -1,3 +1,3 @@
1
1
  import { Updater } from "../../state";
2
2
  export declare const replaceWith: <V>(v: V) => Updater<V>;
3
- //# sourceMappingURL=state.d.ts.map
3
+ //# sourceMappingURL=state.d.ts.map
@@ -1,3 +1,3 @@
1
1
  import { Updater } from "../../state";
2
2
  export const replaceWith = (v) => Updater((_) => v);
3
- //# sourceMappingURL=state.js.map
3
+ //# sourceMappingURL=state.js.map
@@ -1,8 +1,17 @@
1
1
  import { Fun } from "../../../../../../state";
2
2
  import { BasicUpdater, Updater } from "../../../../state";
3
3
  export type BaseWidening<c, p extends c> = Fun<BasicUpdater<c>, Updater<p>>;
4
- export type BaseSimpleUpdater<BaseEntity, Entity extends BaseEntity, Name extends string> = Required<{
5
- [_ in Name]: BaseWidening<BaseEntity, Entity>;
4
+ export type BaseSimpleUpdater<
5
+ BaseEntity,
6
+ Entity extends BaseEntity,
7
+ Name extends string,
8
+ > = Required<{
9
+ [_ in Name]: BaseWidening<BaseEntity, Entity>;
6
10
  }>;
7
- export declare const baseSimpleUpdater: <BaseEntity, Entity extends BaseEntity>() => <Name extends string>(name: Name) => BaseSimpleUpdater<BaseEntity, Entity, Name>;
8
- //# sourceMappingURL=state.d.ts.map
11
+ export declare const baseSimpleUpdater: <
12
+ BaseEntity,
13
+ Entity extends BaseEntity,
14
+ >() => <Name extends string>(
15
+ name: Name,
16
+ ) => BaseSimpleUpdater<BaseEntity, Entity, Name>;
17
+ //# sourceMappingURL=state.d.ts.map
@@ -1,8 +1,10 @@
1
1
  import { Fun } from "../../../../../../state";
2
2
  import { Updater } from "../../../../state";
3
3
  export const baseSimpleUpdater = () => (name) => ({
4
- [name]: Fun((baseUpdater) => {
5
- return Updater((current) => (Object.assign(Object.assign({}, current), baseUpdater(current))));
6
- }),
4
+ [name]: Fun((baseUpdater) => {
5
+ return Updater((current) =>
6
+ Object.assign(Object.assign({}, current), baseUpdater(current)),
7
+ );
8
+ }),
7
9
  });
8
- //# sourceMappingURL=state.js.map
10
+ //# sourceMappingURL=state.js.map
@@ -1,34 +1,72 @@
1
1
  import { Fun } from "../../../../state";
2
2
  import { Unit } from "../../../unit/state";
3
3
  import { BasicUpdater, Updater } from "../../state";
4
- export type Widening<p, c extends keyof p> = Fun<BasicUpdater<p[c]>, Updater<p>>;
4
+ export type Widening<p, c extends keyof p> = Fun<
5
+ BasicUpdater<p[c]>,
6
+ Updater<p>
7
+ >;
5
8
  export type SimpleUpdater<Entity, Field extends keyof Entity> = Required<{
6
- [f in Field]: Widening<Entity, Field>;
9
+ [f in Field]: Widening<Entity, Field>;
7
10
  }>;
8
- export declare const simpleUpdater: <Entity>() => <Field extends keyof Entity>(field: Field) => SimpleUpdater<Entity, Field>;
11
+ export declare const simpleUpdater: <Entity>() => <Field extends keyof Entity>(
12
+ field: Field,
13
+ ) => SimpleUpdater<Entity, Field>;
9
14
  export type WidenedChildren<p, children> = {
10
- [k in Exclude<keyof children, "Core" | "Template" | "Coroutine">]: children[k] extends WideningWithChildren<infer child, infer nephew, infer nephews> ? Fun<BasicUpdater<child[nephew]>, Updater<p>> & {
15
+ [k in Exclude<
16
+ keyof children,
17
+ "Core" | "Template" | "Coroutine"
18
+ >]: children[k] extends WideningWithChildren<
19
+ infer child,
20
+ infer nephew,
21
+ infer nephews
22
+ >
23
+ ? Fun<BasicUpdater<child[nephew]>, Updater<p>> & {
11
24
  children: WidenedChildren<p, nephews>;
12
- } : children[k] extends Widening<infer child, infer nephew> ? Fun<BasicUpdater<child[nephew]>, Updater<p>> : "cannot invoke custom updaters through automated nesting";
25
+ }
26
+ : children[k] extends Widening<infer child, infer nephew>
27
+ ? Fun<BasicUpdater<child[nephew]>, Updater<p>>
28
+ : "cannot invoke custom updaters through automated nesting";
13
29
  } & (children extends {
14
- Core: Unit;
15
- } ? {
16
- Core: WidenedChildren<p, children["Core"]>;
17
- } : Unit) & (children extends {
30
+ Core: Unit;
31
+ }
32
+ ? {
33
+ Core: WidenedChildren<p, children["Core"]>;
34
+ }
35
+ : Unit) &
36
+ (children extends {
18
37
  Template: Unit;
19
- } ? {
20
- Template: WidenedChildren<p, children["Template"]>;
21
- } : Unit) & (children extends {
38
+ }
39
+ ? {
40
+ Template: WidenedChildren<p, children["Template"]>;
41
+ }
42
+ : Unit) &
43
+ (children extends {
22
44
  Coroutine: Unit;
23
- } ? {
24
- Coroutine: WidenedChildren<p, children["Coroutine"]>;
25
- } : Unit);
26
- export type WideningWithChildren<p, c extends keyof p, children> = Fun<BasicUpdater<p[c]>, Updater<p>> & {
27
- children: WidenedChildren<p, children>;
45
+ }
46
+ ? {
47
+ Coroutine: WidenedChildren<p, children["Coroutine"]>;
48
+ }
49
+ : Unit);
50
+ export type WideningWithChildren<p, c extends keyof p, children> = Fun<
51
+ BasicUpdater<p[c]>,
52
+ Updater<p>
53
+ > & {
54
+ children: WidenedChildren<p, children>;
28
55
  };
29
- export type SimpleUpdaterWithChildren<Entity, Field extends keyof Entity, children> = {
30
- [f in Field]: WideningWithChildren<Entity, Field, children>;
56
+ export type SimpleUpdaterWithChildren<
57
+ Entity,
58
+ Field extends keyof Entity,
59
+ children,
60
+ > = {
61
+ [f in Field]: WideningWithChildren<Entity, Field, children>;
31
62
  };
32
- export declare const simpleUpdaterWithChildren: <Entity>() => <children>(children: children) => <Field extends keyof Entity>(field: Field) => SimpleUpdaterWithChildren<Entity, Field, children>;
33
- export declare const widenChildren: <p, child, children>(childToParent: Fun<BasicUpdater<child>, Updater<p>>, children: children) => WidenedChildren<p, children>;
34
- //# sourceMappingURL=state.d.ts.map
63
+ export declare const simpleUpdaterWithChildren: <Entity>() => <children>(
64
+ children: children,
65
+ ) => <Field extends keyof Entity>(
66
+ field: Field,
67
+ ) => SimpleUpdaterWithChildren<Entity, Field, children>;
68
+ export declare const widenChildren: <p, child, children>(
69
+ childToParent: Fun<BasicUpdater<child>, Updater<p>>,
70
+ children: children,
71
+ ) => WidenedChildren<p, children>;
72
+ //# sourceMappingURL=state.d.ts.map
@@ -1,40 +1,51 @@
1
1
  import { Fun } from "../../../../state";
2
2
  import { Updater } from "../../state";
3
3
  export const simpleUpdater = () => (field) => ({
4
- [field]: Fun((fieldUpdater) => {
5
- return Updater((currentEntity) => (Object.assign(Object.assign({}, currentEntity), { [field]: fieldUpdater(currentEntity[field]) })));
6
- }),
4
+ [field]: Fun((fieldUpdater) => {
5
+ return Updater((currentEntity) =>
6
+ Object.assign(Object.assign({}, currentEntity), {
7
+ [field]: fieldUpdater(currentEntity[field]),
8
+ }),
9
+ );
10
+ }),
7
11
  });
8
12
  export const simpleUpdaterWithChildren = () => (children) => (field) => ({
9
- [field]: Object.assign(Fun((fieldUpdater) => {
10
- const basicUpdater = (currentEntity) => (Object.assign(Object.assign({}, currentEntity), { [field]: fieldUpdater(currentEntity[field]) }));
11
- return Updater(basicUpdater);
12
- }), {
13
- children: widenChildren(simpleUpdater()(field)[field], children),
13
+ [field]: Object.assign(
14
+ Fun((fieldUpdater) => {
15
+ const basicUpdater = (currentEntity) =>
16
+ Object.assign(Object.assign({}, currentEntity), {
17
+ [field]: fieldUpdater(currentEntity[field]),
18
+ });
19
+ return Updater(basicUpdater);
14
20
  }),
21
+ {
22
+ children: widenChildren(simpleUpdater()(field)[field], children),
23
+ },
24
+ ),
15
25
  });
16
26
  export const widenChildren = (childToParent, children) => {
17
- if (children == undefined)
18
- return {};
19
- const result = {};
20
- Object.keys(children).forEach((key) => {
21
- if (key == "Core" || key == "Template" || key == "Coroutine")
22
- return;
23
- // Fun<BasicUpdater<child[key]>, Updater<child>>
24
- const fieldOfChildUpdater = children[key];
25
- result[key] = Fun((_) => childToParent(fieldOfChildUpdater(_)));
26
- if (Object.keys(fieldOfChildUpdater).includes("children")) {
27
- result[key]["children"] = widenChildren(childToParent, fieldOfChildUpdater["children"]);
28
- }
29
- });
30
- const updateBlock = (block) => {
31
- if (children[block] != undefined) {
32
- result[block] = widenChildren(childToParent, children[block]);
33
- }
34
- };
35
- updateBlock("Core");
36
- updateBlock("Template");
37
- updateBlock("Coroutines");
38
- return result;
27
+ if (children == undefined) return {};
28
+ const result = {};
29
+ Object.keys(children).forEach((key) => {
30
+ if (key == "Core" || key == "Template" || key == "Coroutine") return;
31
+ // Fun<BasicUpdater<child[key]>, Updater<child>>
32
+ const fieldOfChildUpdater = children[key];
33
+ result[key] = Fun((_) => childToParent(fieldOfChildUpdater(_)));
34
+ if (Object.keys(fieldOfChildUpdater).includes("children")) {
35
+ result[key]["children"] = widenChildren(
36
+ childToParent,
37
+ fieldOfChildUpdater["children"],
38
+ );
39
+ }
40
+ });
41
+ const updateBlock = (block) => {
42
+ if (children[block] != undefined) {
43
+ result[block] = widenChildren(childToParent, children[block]);
44
+ }
45
+ };
46
+ updateBlock("Core");
47
+ updateBlock("Template");
48
+ updateBlock("Coroutines");
49
+ return result;
39
50
  };
40
- //# sourceMappingURL=state.js.map
51
+ //# sourceMappingURL=state.js.map
@@ -1,9 +1,9 @@
1
1
  import { BasicFun, Fun } from "../../state";
2
2
  export type BasicUpdater<e> = BasicFun<e, e>;
3
3
  export type Updater<e> = BasicUpdater<e> & {
4
- fun: Fun<e, e>;
5
- then(other: BasicUpdater<e>): Updater<e>;
6
- thenMany(others: Array<BasicUpdater<e>>): Updater<e>;
4
+ fun: Fun<e, e>;
5
+ then(other: BasicUpdater<e>): Updater<e>;
6
+ thenMany(others: Array<BasicUpdater<e>>): Updater<e>;
7
7
  };
8
8
  export declare const Updater: <e>(u: BasicUpdater<e>) => Updater<e>;
9
- //# sourceMappingURL=state.d.ts.map
9
+ //# sourceMappingURL=state.d.ts.map
@@ -1,14 +1,16 @@
1
1
  import { Fun } from "../../state";
2
2
  export const Updater = (u) => {
3
- return Object.assign(u, {
4
- fun: Fun(u),
5
- then: function (other) {
6
- return Updater((_) => other(this(_)));
7
- },
8
- thenMany: function (others) {
9
- return Updater(others.map((_) => Updater(_)).reduce((f, g) => f.then(g), this));
10
- },
11
- });
3
+ return Object.assign(u, {
4
+ fun: Fun(u),
5
+ then: function (other) {
6
+ return Updater((_) => other(this(_)));
7
+ },
8
+ thenMany: function (others) {
9
+ return Updater(
10
+ others.map((_) => Updater(_)).reduce((f, g) => f.then(g), this),
11
+ );
12
+ },
13
+ });
12
14
  };
13
15
  /*export const Updater = Object.assign(<e>(_: BasicUpdater<e>): Updater<e> => {
14
16
  const u = _ as Updater<e>;
@@ -73,4 +75,4 @@ const personAndAddressUpdater:Updater<Person> =
73
75
  Person.Updaters.Core.address.children.Core.city.Core.name(_ => `${_} the Great`)
74
76
  )
75
77
  */
76
- //# sourceMappingURL=state.js.map
78
+ //# sourceMappingURL=state.js.map
@@ -1,11 +1,11 @@
1
1
  export type BasicFun<a, b> = (_: a) => b;
2
2
  export type Fun<a, b> = BasicFun<a, b> & {
3
- then<c>(other: BasicFun<b, c>): Fun<a, c>;
3
+ then<c>(other: BasicFun<b, c>): Fun<a, c>;
4
4
  };
5
5
  export declare const Fun: <a, b>(_: BasicFun<a, b>) => Fun<a, b>;
6
6
  export type BasicFun2<a, b, c> = (_: a, __: b) => c;
7
7
  export type Fun2<a, b, c> = BasicFun2<a, b, c> & {
8
- then<d>(other: BasicFun<c, d>): Fun2<a, b, d>;
8
+ then<d>(other: BasicFun<c, d>): Fun2<a, b, d>;
9
9
  };
10
10
  export declare const Fun2: <a, b, c>(_: BasicFun2<a, b, c>) => Fun2<a, b, c>;
11
- //# sourceMappingURL=state.d.ts.map
11
+ //# sourceMappingURL=state.d.ts.map
@@ -1,13 +1,15 @@
1
- export const Fun = (_) => Object.assign(_, {
1
+ export const Fun = (_) =>
2
+ Object.assign(_, {
2
3
  then: function (other) {
3
- return Fun((_) => other(this(_)));
4
+ return Fun((_) => other(this(_)));
4
5
  },
5
- });
6
- export const Fun2 = (_) => Object.assign(_, {
6
+ });
7
+ export const Fun2 = (_) =>
8
+ Object.assign(_, {
7
9
  then: function (other) {
8
- return Fun2((a, b) => other(this(a, b)));
10
+ return Fun2((a, b) => other(this(a, b)));
9
11
  },
10
- });
12
+ });
11
13
  /*
12
14
  // samples
13
15
  const incr: Fun<number,number> = Fun(_ => _ + 1)
@@ -18,4 +20,4 @@ const halv: Fun<number,number> = Fun(_ => _ / 2)
18
20
  const f = incr.then(doub).then(decr)
19
21
  console.log(f(5)) // prints 11
20
22
  */
21
- //# sourceMappingURL=state.js.map
23
+ //# sourceMappingURL=state.js.map
@@ -1,3 +1,3 @@
1
1
  import { CoTypedFactory } from "../../coroutines/builder";
2
2
  export const StreamCo = () => CoTypedFactory();
3
- //# sourceMappingURL=builder.js.map
3
+ //# sourceMappingURL=builder.js.map
@@ -1,27 +1,54 @@
1
1
  import { AsyncState } from "../../async/state";
2
2
  import { replaceWith } from "../../fun/domains/updater/domains/replaceWith/state";
3
- import { InfiniteStreamState, StreamPosition, } from "../state";
3
+ import { InfiniteStreamState, StreamPosition } from "../state";
4
4
  import { StreamCo } from "./builder";
5
5
  export const InfiniteStreamLoader = (maxRetries = 3) => {
6
- const Co = StreamCo();
7
- const updaters = InfiniteStreamState().Updaters;
8
- const attemptLoad = (retryCount = 0) => Co.GetState().then((current) => {
9
- if (current.loadingMore.kind === "loaded") {
10
- return Co.Return(true);
11
- }
12
- return Co.Await(() => current.getChunk([current.position]), () => "error").then((apiResult) => apiResult.kind === "l"
13
- ? Co.SetState(updaters.Core.loadingMore(replaceWith(AsyncState.Default.loaded({}))).then(updaters.Coroutine.addLoadedChunk(current.position.chunkIndex, apiResult.value).then(updaters.Core.position(StreamPosition.Updaters.Core.shouldLoad(replaceWith(false))))))
14
- : retryCount < maxRetries
15
- ? Co.Wait(500).then(() => attemptLoad(retryCount + 1))
16
- : Co.Return(false));
6
+ const Co = StreamCo();
7
+ const updaters = InfiniteStreamState().Updaters;
8
+ const attemptLoad = (retryCount = 0) =>
9
+ Co.GetState().then((current) => {
10
+ if (current.loadingMore.kind === "loaded") {
11
+ return Co.Return(true);
12
+ }
13
+ return Co.Await(
14
+ () => current.getChunk([current.position]),
15
+ () => "error",
16
+ ).then((apiResult) =>
17
+ apiResult.kind === "l"
18
+ ? Co.SetState(
19
+ updaters.Core.loadingMore(
20
+ replaceWith(AsyncState.Default.loaded({})),
21
+ ).then(
22
+ updaters.Coroutine.addLoadedChunk(
23
+ current.position.chunkIndex,
24
+ apiResult.value,
25
+ ).then(
26
+ updaters.Core.position(
27
+ StreamPosition.Updaters.Core.shouldLoad(replaceWith(false)),
28
+ ),
29
+ ),
30
+ ),
31
+ )
32
+ : retryCount < maxRetries
33
+ ? Co.Wait(500).then(() => attemptLoad(retryCount + 1))
34
+ : Co.Return(false),
35
+ );
17
36
  });
18
- return Co.Seq([
19
- Co.SetState(updaters.Core.loadingMore(replaceWith(AsyncState.Default.loading()))),
20
- attemptLoad(),
21
- Co.GetState().then((current) => current.loadingMore.kind !== "loaded"
22
- ? Co.SetState(updaters.Core.loadingMore(replaceWith(AsyncState.Default.error("max retries reached"))))
23
- : Co.Wait(0)),
24
- ]);
37
+ return Co.Seq([
38
+ Co.SetState(
39
+ updaters.Core.loadingMore(replaceWith(AsyncState.Default.loading())),
40
+ ),
41
+ attemptLoad(),
42
+ Co.GetState().then((current) =>
43
+ current.loadingMore.kind !== "loaded"
44
+ ? Co.SetState(
45
+ updaters.Core.loadingMore(
46
+ replaceWith(AsyncState.Default.error("max retries reached")),
47
+ ),
48
+ )
49
+ : Co.Wait(0),
50
+ ),
51
+ ]);
25
52
  };
26
53
  export const Loader = InfiniteStreamLoader;
27
- //# sourceMappingURL=infiniteLoader.js.map
54
+ //# sourceMappingURL=infiniteLoader.js.map
@@ -1,11 +1,11 @@
1
- import { InfiniteStreamState, } from "../state";
1
+ import { InfiniteStreamState } from "../state";
2
2
  import { StreamCo } from "./builder";
3
3
  import { Loader } from "./infiniteLoader";
4
4
  export const StreamDataLoader = () => {
5
- const operations = InfiniteStreamState().Operations;
6
- const LoaderTemplate = StreamCo().Template(Loader(), {
7
- runFilter: (props) => operations.shouldCoroutineRun(props.context),
8
- });
9
- return LoaderTemplate.mapContext((_) => _);
5
+ const operations = InfiniteStreamState().Operations;
6
+ const LoaderTemplate = StreamCo().Template(Loader(), {
7
+ runFilter: (props) => operations.shouldCoroutineRun(props.context),
8
+ });
9
+ return LoaderTemplate.mapContext((_) => _);
10
10
  };
11
- //# sourceMappingURL=runner.js.map
11
+ //# sourceMappingURL=runner.js.map
@@ -5,73 +5,106 @@ import { Unit } from "../fun/domains/unit/state";
5
5
  import { BasicFun } from "../fun/state";
6
6
  export type StreamingStatus = "reload" | "loadMore" | false;
7
7
  type Identifiable = {
8
- Id: string;
8
+ Id: string;
9
9
  };
10
10
  export type StreamPosition = {
11
- chunkSize: number;
12
- chunkIndex: number;
13
- shouldLoad: StreamingStatus;
14
- lastModifiedTime: number;
11
+ chunkSize: number;
12
+ chunkIndex: number;
13
+ shouldLoad: StreamingStatus;
14
+ lastModifiedTime: number;
15
15
  };
16
16
  export declare const StreamPosition: {
17
- Default: (initialChunkSize: number, shouldLoad?: StreamingStatus) => StreamPosition;
18
- Updaters: {
19
- Template: {
20
- loadInitial: () => Updater<StreamPosition>;
21
- changeChunkSize: (chunkSize: number) => Updater<StreamPosition>;
22
- reload: () => Updater<StreamPosition>;
23
- loadMore: () => Updater<StreamPosition>;
24
- };
25
- Core: {
26
- chunkSize: import("../../main").Widening<StreamPosition, "chunkSize">;
27
- chunkIndex: import("../../main").Widening<StreamPosition, "chunkIndex">;
28
- shouldLoad: import("../../main").Widening<StreamPosition, "shouldLoad">;
29
- lastModifiedTime: import("../../main").Widening<StreamPosition, "lastModifiedTime">;
30
- };
31
- Coroutine: {};
17
+ Default: (
18
+ initialChunkSize: number,
19
+ shouldLoad?: StreamingStatus,
20
+ ) => StreamPosition;
21
+ Updaters: {
22
+ Template: {
23
+ loadInitial: () => Updater<StreamPosition>;
24
+ changeChunkSize: (chunkSize: number) => Updater<StreamPosition>;
25
+ reload: () => Updater<StreamPosition>;
26
+ loadMore: () => Updater<StreamPosition>;
27
+ };
28
+ Core: {
29
+ chunkSize: import("../../main").Widening<StreamPosition, "chunkSize">;
30
+ chunkIndex: import("../../main").Widening<StreamPosition, "chunkIndex">;
31
+ shouldLoad: import("../../main").Widening<StreamPosition, "shouldLoad">;
32
+ lastModifiedTime: import("../../main").Widening<
33
+ StreamPosition,
34
+ "lastModifiedTime"
35
+ >;
32
36
  };
37
+ Coroutine: {};
38
+ };
33
39
  };
34
40
  export type Chunk<Element extends Identifiable> = {
35
- hasMoreValues: boolean;
36
- data: OrderedMap<Element["Id"], Element>;
41
+ hasMoreValues: boolean;
42
+ data: OrderedMap<Element["Id"], Element>;
37
43
  };
38
44
  export declare const Chunk: <Element extends Identifiable>() => {
39
- Default: (hasMoreValues: boolean, data: OrderedMap<Element["Id"], Element>) => Chunk<Element>;
45
+ Default: (
46
+ hasMoreValues: boolean,
47
+ data: OrderedMap<Element["Id"], Element>,
48
+ ) => Chunk<Element>;
40
49
  };
41
50
  export type InfiniteStreamState<Element extends Identifiable> = {
42
- loadingMore: AsyncState<Unit>;
43
- loadedElements: OrderedMap<StreamPosition["chunkIndex"], Chunk<Element>>;
44
- position: StreamPosition;
45
- getChunk: BasicFun<[StreamPosition], Promise<Chunk<Element>>>;
51
+ loadingMore: AsyncState<Unit>;
52
+ loadedElements: OrderedMap<StreamPosition["chunkIndex"], Chunk<Element>>;
53
+ position: StreamPosition;
54
+ getChunk: BasicFun<[StreamPosition], Promise<Chunk<Element>>>;
46
55
  };
47
56
  export declare const InfiniteStreamState: <Element extends Identifiable>() => {
48
- Default: (initialChunkSize: number, getChunk: InfiniteStreamState<Element>["getChunk"], shouldLoad?: StreamingStatus) => InfiniteStreamState<Element>;
49
- Operations: {
50
- shouldCoroutineRun: (current: InfiniteStreamState<Element>) => boolean;
51
- loadNextPage: (current: InfiniteStreamState<Element>) => boolean;
57
+ Default: (
58
+ initialChunkSize: number,
59
+ getChunk: InfiniteStreamState<Element>["getChunk"],
60
+ shouldLoad?: StreamingStatus,
61
+ ) => InfiniteStreamState<Element>;
62
+ Operations: {
63
+ shouldCoroutineRun: (current: InfiniteStreamState<Element>) => boolean;
64
+ loadNextPage: (current: InfiniteStreamState<Element>) => boolean;
65
+ };
66
+ Updaters: {
67
+ Coroutine: {
68
+ addLoadedChunk: (
69
+ chunkIndex: number,
70
+ newChunk: Chunk<Element>,
71
+ ) => Updater<InfiniteStreamState<Element>>;
72
+ };
73
+ Core: {
74
+ whenNotAlreadyLoading: (
75
+ _: BasicUpdater<InfiniteStreamState<Element>>,
76
+ ) => Updater<InfiniteStreamState<Element>>;
77
+ position: (
78
+ positionUpdater: Updater<InfiniteStreamState<Element>["position"]>,
79
+ ) => Updater<InfiniteStreamState<Element>>;
80
+ clearLoadedElements: () => Updater<InfiniteStreamState<Element>>;
81
+ loadedElements: import("../../main").Widening<
82
+ InfiniteStreamState<Element>,
83
+ "loadedElements"
84
+ >;
85
+ loadingMore: import("../../main").Widening<
86
+ InfiniteStreamState<Element>,
87
+ "loadingMore"
88
+ >;
89
+ getChunk: import("../../main").Widening<
90
+ InfiniteStreamState<Element>,
91
+ "getChunk"
92
+ >;
52
93
  };
53
- Updaters: {
54
- Coroutine: {
55
- addLoadedChunk: (chunkIndex: number, newChunk: Chunk<Element>) => Updater<InfiniteStreamState<Element>>;
56
- };
57
- Core: {
58
- whenNotAlreadyLoading: (_: BasicUpdater<InfiniteStreamState<Element>>) => Updater<InfiniteStreamState<Element>>;
59
- position: (positionUpdater: Updater<InfiniteStreamState<Element>["position"]>) => Updater<InfiniteStreamState<Element>>;
60
- clearLoadedElements: () => Updater<InfiniteStreamState<Element>>;
61
- loadedElements: import("../../main").Widening<InfiniteStreamState<Element>, "loadedElements">;
62
- loadingMore: import("../../main").Widening<InfiniteStreamState<Element>, "loadingMore">;
63
- getChunk: import("../../main").Widening<InfiniteStreamState<Element>, "getChunk">;
64
- };
65
- Template: {
66
- loadInitial: () => Updater<InfiniteStreamState<Element>>;
67
- reload: (getChunk: InfiniteStreamState<Element>["getChunk"]) => Updater<InfiniteStreamState<Element>>;
68
- loadMore: () => Updater<InfiniteStreamState<Element>>;
69
- };
94
+ Template: {
95
+ loadInitial: () => Updater<InfiniteStreamState<Element>>;
96
+ reload: (
97
+ getChunk: InfiniteStreamState<Element>["getChunk"],
98
+ ) => Updater<InfiniteStreamState<Element>>;
99
+ loadMore: () => Updater<InfiniteStreamState<Element>>;
70
100
  };
101
+ };
71
102
  };
72
103
  export type InfiniteStreamReadonlyState = Unit;
73
- export type InfiniteStreamWritableState<Element extends {
104
+ export type InfiniteStreamWritableState<
105
+ Element extends {
74
106
  Id: string;
75
- }> = InfiniteStreamState<Element>;
107
+ },
108
+ > = InfiniteStreamState<Element>;
76
109
  export {};
77
- //# sourceMappingURL=state.d.ts.map
110
+ //# sourceMappingURL=state.d.ts.map