@typed/fx 2.0.0-beta.1 → 2.0.0-beta.11

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 (664) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -21
  3. package/dist/Fx/Fx.d.ts +371 -19
  4. package/dist/Fx/Fx.d.ts.map +1 -1
  5. package/dist/Fx/Fx.js +37 -6
  6. package/dist/Fx/TypeId.d.ts +52 -6
  7. package/dist/Fx/TypeId.d.ts.map +1 -1
  8. package/dist/Fx/TypeId.js +41 -4
  9. package/dist/Fx/combinators/additive.d.ts +162 -11
  10. package/dist/Fx/combinators/additive.d.ts.map +1 -1
  11. package/dist/Fx/combinators/additive.js +162 -11
  12. package/dist/Fx/combinators/catch.d.ts +202 -29
  13. package/dist/Fx/combinators/catch.d.ts.map +1 -1
  14. package/dist/Fx/combinators/catch.js +193 -23
  15. package/dist/Fx/combinators/causes.d.ts +25 -2
  16. package/dist/Fx/combinators/causes.d.ts.map +1 -1
  17. package/dist/Fx/combinators/causes.js +25 -2
  18. package/dist/Fx/combinators/changesWithEffect.d.ts +21 -1
  19. package/dist/Fx/combinators/changesWithEffect.d.ts.map +1 -1
  20. package/dist/Fx/combinators/changesWithEffect.js +21 -1
  21. package/dist/Fx/combinators/compact.d.ts +18 -1
  22. package/dist/Fx/combinators/compact.d.ts.map +1 -1
  23. package/dist/Fx/combinators/compact.js +18 -1
  24. package/dist/Fx/combinators/concatMap.d.ts +86 -0
  25. package/dist/Fx/combinators/concatMap.d.ts.map +1 -0
  26. package/dist/Fx/combinators/concatMap.js +86 -0
  27. package/dist/Fx/combinators/continueWith.d.ts +113 -5
  28. package/dist/Fx/combinators/continueWith.d.ts.map +1 -1
  29. package/dist/Fx/combinators/continueWith.js +113 -5
  30. package/dist/Fx/combinators/debounce.d.ts +34 -0
  31. package/dist/Fx/combinators/debounce.d.ts.map +1 -0
  32. package/dist/Fx/combinators/debounce.js +35 -0
  33. package/dist/Fx/combinators/delay.d.ts +36 -0
  34. package/dist/Fx/combinators/delay.d.ts.map +1 -0
  35. package/dist/Fx/combinators/delay.js +33 -0
  36. package/dist/Fx/combinators/dropUntil.d.ts +44 -2
  37. package/dist/Fx/combinators/dropUntil.d.ts.map +1 -1
  38. package/dist/Fx/combinators/dropUntil.js +44 -2
  39. package/dist/Fx/combinators/during.d.ts +38 -0
  40. package/dist/Fx/combinators/during.d.ts.map +1 -0
  41. package/dist/Fx/combinators/during.js +85 -0
  42. package/dist/Fx/combinators/ensuring.d.ts +34 -4
  43. package/dist/Fx/combinators/ensuring.d.ts.map +1 -1
  44. package/dist/Fx/combinators/ensuring.js +34 -4
  45. package/dist/Fx/combinators/exhaustLatestMap.d.ts +41 -5
  46. package/dist/Fx/combinators/exhaustLatestMap.d.ts.map +1 -1
  47. package/dist/Fx/combinators/exhaustLatestMap.js +41 -5
  48. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts +40 -4
  49. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts.map +1 -1
  50. package/dist/Fx/combinators/exhaustLatestMapEffect.js +40 -4
  51. package/dist/Fx/combinators/exhaustMap.d.ts +38 -1
  52. package/dist/Fx/combinators/exhaustMap.d.ts.map +1 -1
  53. package/dist/Fx/combinators/exhaustMap.js +38 -1
  54. package/dist/Fx/combinators/exhaustMapEffect.d.ts +33 -1
  55. package/dist/Fx/combinators/exhaustMapEffect.d.ts.map +1 -1
  56. package/dist/Fx/combinators/exhaustMapEffect.js +33 -1
  57. package/dist/Fx/combinators/exit.d.ts +23 -2
  58. package/dist/Fx/combinators/exit.d.ts.map +1 -1
  59. package/dist/Fx/combinators/exit.js +23 -2
  60. package/dist/Fx/combinators/filter.d.ts +17 -1
  61. package/dist/Fx/combinators/filter.d.ts.map +1 -1
  62. package/dist/Fx/combinators/filter.js +17 -1
  63. package/dist/Fx/combinators/filterEffect.d.ts +22 -1
  64. package/dist/Fx/combinators/filterEffect.d.ts.map +1 -1
  65. package/dist/Fx/combinators/filterEffect.js +22 -1
  66. package/dist/Fx/combinators/filterMap.d.ts +20 -1
  67. package/dist/Fx/combinators/filterMap.d.ts.map +1 -1
  68. package/dist/Fx/combinators/filterMap.js +20 -1
  69. package/dist/Fx/combinators/filterMapEffect.d.ts +21 -1
  70. package/dist/Fx/combinators/filterMapEffect.d.ts.map +1 -1
  71. package/dist/Fx/combinators/filterMapEffect.js +21 -1
  72. package/dist/Fx/combinators/filterMapLoop.d.ts +20 -1
  73. package/dist/Fx/combinators/filterMapLoop.d.ts.map +1 -1
  74. package/dist/Fx/combinators/filterMapLoop.js +20 -1
  75. package/dist/Fx/combinators/filterMapLoopCause.d.ts +21 -1
  76. package/dist/Fx/combinators/filterMapLoopCause.d.ts.map +1 -1
  77. package/dist/Fx/combinators/filterMapLoopCause.js +21 -1
  78. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts +21 -1
  79. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts.map +1 -1
  80. package/dist/Fx/combinators/filterMapLoopCauseEffect.js +21 -1
  81. package/dist/Fx/combinators/filterMapLoopEffect.d.ts +21 -1
  82. package/dist/Fx/combinators/filterMapLoopEffect.d.ts.map +1 -1
  83. package/dist/Fx/combinators/filterMapLoopEffect.js +21 -1
  84. package/dist/Fx/combinators/flatMap.d.ts +50 -5
  85. package/dist/Fx/combinators/flatMap.d.ts.map +1 -1
  86. package/dist/Fx/combinators/flatMap.js +36 -3
  87. package/dist/Fx/combinators/flatMapConcurrently.d.ts +51 -4
  88. package/dist/Fx/combinators/flatMapConcurrently.d.ts.map +1 -1
  89. package/dist/Fx/combinators/flatMapConcurrently.js +48 -2
  90. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts +48 -4
  91. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts.map +1 -1
  92. package/dist/Fx/combinators/flatMapConcurrentlyEffect.js +40 -2
  93. package/dist/Fx/combinators/flatMapEffect.d.ts +46 -4
  94. package/dist/Fx/combinators/flatMapEffect.d.ts.map +1 -1
  95. package/dist/Fx/combinators/flatMapEffect.js +32 -2
  96. package/dist/Fx/combinators/flip.d.ts +34 -2
  97. package/dist/Fx/combinators/flip.d.ts.map +1 -1
  98. package/dist/Fx/combinators/flip.js +34 -2
  99. package/dist/Fx/combinators/gen.d.ts +29 -10
  100. package/dist/Fx/combinators/gen.d.ts.map +1 -1
  101. package/dist/Fx/combinators/gen.js +28 -4
  102. package/dist/Fx/combinators/genScoped.d.ts +33 -10
  103. package/dist/Fx/combinators/genScoped.d.ts.map +1 -1
  104. package/dist/Fx/combinators/genScoped.js +31 -3
  105. package/dist/Fx/combinators/grouped.d.ts +89 -0
  106. package/dist/Fx/combinators/grouped.d.ts.map +1 -0
  107. package/dist/Fx/combinators/grouped.js +146 -0
  108. package/dist/Fx/combinators/index.d.ts +35 -0
  109. package/dist/Fx/combinators/index.d.ts.map +1 -1
  110. package/dist/Fx/combinators/index.js +35 -0
  111. package/dist/Fx/combinators/keyed.d.ts +123 -9
  112. package/dist/Fx/combinators/keyed.d.ts.map +1 -1
  113. package/dist/Fx/combinators/keyed.js +69 -11
  114. package/dist/Fx/combinators/loop.d.ts +17 -1
  115. package/dist/Fx/combinators/loop.d.ts.map +1 -1
  116. package/dist/Fx/combinators/loop.js +17 -1
  117. package/dist/Fx/combinators/loopCause.d.ts +18 -1
  118. package/dist/Fx/combinators/loopCause.d.ts.map +1 -1
  119. package/dist/Fx/combinators/loopCause.js +18 -1
  120. package/dist/Fx/combinators/loopCauseEffect.d.ts +19 -1
  121. package/dist/Fx/combinators/loopCauseEffect.d.ts.map +1 -1
  122. package/dist/Fx/combinators/loopCauseEffect.js +19 -1
  123. package/dist/Fx/combinators/loopEffect.d.ts +24 -1
  124. package/dist/Fx/combinators/loopEffect.d.ts.map +1 -1
  125. package/dist/Fx/combinators/loopEffect.js +24 -1
  126. package/dist/Fx/combinators/map.d.ts +46 -1
  127. package/dist/Fx/combinators/map.d.ts.map +1 -1
  128. package/dist/Fx/combinators/map.js +43 -1
  129. package/dist/Fx/combinators/mapBoth.d.ts +20 -1
  130. package/dist/Fx/combinators/mapBoth.d.ts.map +1 -1
  131. package/dist/Fx/combinators/mapBoth.js +20 -1
  132. package/dist/Fx/combinators/mapEffect.d.ts +25 -1
  133. package/dist/Fx/combinators/mapEffect.d.ts.map +1 -1
  134. package/dist/Fx/combinators/mapEffect.js +25 -1
  135. package/dist/Fx/combinators/mapError.d.ts +21 -5
  136. package/dist/Fx/combinators/mapError.d.ts.map +1 -1
  137. package/dist/Fx/combinators/mapError.js +21 -5
  138. package/dist/Fx/combinators/mergeAll.d.ts +35 -1
  139. package/dist/Fx/combinators/mergeAll.d.ts.map +1 -1
  140. package/dist/Fx/combinators/mergeAll.js +35 -1
  141. package/dist/Fx/combinators/mergeOrdered.d.ts +36 -4
  142. package/dist/Fx/combinators/mergeOrdered.d.ts.map +1 -1
  143. package/dist/Fx/combinators/mergeOrdered.js +68 -14
  144. package/dist/Fx/combinators/onError.d.ts +34 -4
  145. package/dist/Fx/combinators/onError.d.ts.map +1 -1
  146. package/dist/Fx/combinators/onError.js +34 -4
  147. package/dist/Fx/combinators/onExit.d.ts +29 -3
  148. package/dist/Fx/combinators/onExit.d.ts.map +1 -1
  149. package/dist/Fx/combinators/onExit.js +29 -3
  150. package/dist/Fx/combinators/onInterrupt.d.ts +49 -4
  151. package/dist/Fx/combinators/onInterrupt.d.ts.map +1 -1
  152. package/dist/Fx/combinators/onInterrupt.js +49 -4
  153. package/dist/Fx/combinators/pairwise.d.ts +28 -0
  154. package/dist/Fx/combinators/pairwise.d.ts.map +1 -0
  155. package/dist/Fx/combinators/pairwise.js +31 -0
  156. package/dist/Fx/combinators/provide.d.ts +141 -20
  157. package/dist/Fx/combinators/provide.d.ts.map +1 -1
  158. package/dist/Fx/combinators/provide.js +137 -16
  159. package/dist/Fx/combinators/race.d.ts +92 -0
  160. package/dist/Fx/combinators/race.d.ts.map +1 -0
  161. package/dist/Fx/combinators/race.js +149 -0
  162. package/dist/Fx/combinators/repeat.d.ts +41 -0
  163. package/dist/Fx/combinators/repeat.d.ts.map +1 -0
  164. package/dist/Fx/combinators/repeat.js +57 -0
  165. package/dist/Fx/combinators/result.d.ts +23 -1
  166. package/dist/Fx/combinators/result.d.ts.map +1 -1
  167. package/dist/Fx/combinators/result.js +27 -13
  168. package/dist/Fx/combinators/retry.d.ts +53 -0
  169. package/dist/Fx/combinators/retry.d.ts.map +1 -0
  170. package/dist/Fx/combinators/retry.js +71 -0
  171. package/dist/Fx/combinators/sample.d.ts +31 -0
  172. package/dist/Fx/combinators/sample.d.ts.map +1 -0
  173. package/dist/Fx/combinators/sample.js +42 -0
  174. package/dist/Fx/combinators/scan.d.ts +41 -2
  175. package/dist/Fx/combinators/scan.d.ts.map +1 -1
  176. package/dist/Fx/combinators/scan.js +43 -4
  177. package/dist/Fx/combinators/since.d.ts +30 -0
  178. package/dist/Fx/combinators/since.d.ts.map +1 -0
  179. package/dist/Fx/combinators/since.js +39 -0
  180. package/dist/Fx/combinators/skip.d.ts +33 -2
  181. package/dist/Fx/combinators/skip.d.ts.map +1 -1
  182. package/dist/Fx/combinators/skip.js +33 -2
  183. package/dist/Fx/combinators/skipRepeats.d.ts +17 -1
  184. package/dist/Fx/combinators/skipRepeats.d.ts.map +1 -1
  185. package/dist/Fx/combinators/skipRepeats.js +17 -1
  186. package/dist/Fx/combinators/skipRepeatsWith.d.ts +18 -1
  187. package/dist/Fx/combinators/skipRepeatsWith.d.ts.map +1 -1
  188. package/dist/Fx/combinators/skipRepeatsWith.js +18 -1
  189. package/dist/Fx/combinators/skipWhile.d.ts +72 -4
  190. package/dist/Fx/combinators/skipWhile.d.ts.map +1 -1
  191. package/dist/Fx/combinators/skipWhile.js +72 -4
  192. package/dist/Fx/combinators/slice.d.ts +85 -3
  193. package/dist/Fx/combinators/slice.d.ts.map +1 -1
  194. package/dist/Fx/combinators/slice.js +35 -2
  195. package/dist/Fx/combinators/switchMap.d.ts +39 -1
  196. package/dist/Fx/combinators/switchMap.d.ts.map +1 -1
  197. package/dist/Fx/combinators/switchMap.js +43 -5
  198. package/dist/Fx/combinators/switchMapEffect.d.ts +38 -1
  199. package/dist/Fx/combinators/switchMapEffect.d.ts.map +1 -1
  200. package/dist/Fx/combinators/switchMapEffect.js +38 -1
  201. package/dist/Fx/combinators/take.d.ts +34 -2
  202. package/dist/Fx/combinators/take.d.ts.map +1 -1
  203. package/dist/Fx/combinators/take.js +34 -2
  204. package/dist/Fx/combinators/takeUntil.d.ts +49 -3
  205. package/dist/Fx/combinators/takeUntil.d.ts.map +1 -1
  206. package/dist/Fx/combinators/takeUntil.js +49 -3
  207. package/dist/Fx/combinators/takeWhile.d.ts +33 -2
  208. package/dist/Fx/combinators/takeWhile.d.ts.map +1 -1
  209. package/dist/Fx/combinators/takeWhile.js +33 -2
  210. package/dist/Fx/combinators/tapEffect.d.ts +17 -1
  211. package/dist/Fx/combinators/tapEffect.d.ts.map +1 -1
  212. package/dist/Fx/combinators/tapEffect.js +17 -1
  213. package/dist/Fx/combinators/throttle.d.ts +79 -0
  214. package/dist/Fx/combinators/throttle.d.ts.map +1 -0
  215. package/dist/Fx/combinators/throttle.js +99 -0
  216. package/dist/Fx/combinators/timeout.d.ts +76 -0
  217. package/dist/Fx/combinators/timeout.d.ts.map +1 -0
  218. package/dist/Fx/combinators/timeout.js +110 -0
  219. package/dist/Fx/combinators/tuple.d.ts +32 -2
  220. package/dist/Fx/combinators/tuple.d.ts.map +1 -1
  221. package/dist/Fx/combinators/tuple.js +36 -5
  222. package/dist/Fx/combinators/until.d.ts +27 -0
  223. package/dist/Fx/combinators/until.d.ts.map +1 -0
  224. package/dist/Fx/combinators/until.js +56 -0
  225. package/dist/Fx/combinators/unwrap.d.ts +31 -2
  226. package/dist/Fx/combinators/unwrap.d.ts.map +1 -1
  227. package/dist/Fx/combinators/unwrap.js +30 -1
  228. package/dist/Fx/combinators/unwrapScoped.d.ts +34 -1
  229. package/dist/Fx/combinators/unwrapScoped.d.ts.map +1 -1
  230. package/dist/Fx/combinators/unwrapScoped.js +34 -1
  231. package/dist/Fx/combinators/when.d.ts +37 -2
  232. package/dist/Fx/combinators/when.d.ts.map +1 -1
  233. package/dist/Fx/combinators/when.js +38 -3
  234. package/dist/Fx/combinators/withLatestFrom.d.ts +58 -0
  235. package/dist/Fx/combinators/withLatestFrom.d.ts.map +1 -0
  236. package/dist/Fx/combinators/withLatestFrom.js +68 -0
  237. package/dist/Fx/combinators/withSpan.d.ts +35 -1
  238. package/dist/Fx/combinators/withSpan.d.ts.map +1 -1
  239. package/dist/Fx/combinators/withSpan.js +34 -3
  240. package/dist/Fx/combinators/zip.d.ts +64 -4
  241. package/dist/Fx/combinators/zip.d.ts.map +1 -1
  242. package/dist/Fx/combinators/zip.js +64 -4
  243. package/dist/Fx/constructors/at.d.ts +21 -1
  244. package/dist/Fx/constructors/at.d.ts.map +1 -1
  245. package/dist/Fx/constructors/at.js +21 -1
  246. package/dist/Fx/constructors/die.d.ts +22 -1
  247. package/dist/Fx/constructors/die.d.ts.map +1 -1
  248. package/dist/Fx/constructors/die.js +22 -1
  249. package/dist/Fx/constructors/empty.d.ts +19 -1
  250. package/dist/Fx/constructors/empty.d.ts.map +1 -1
  251. package/dist/Fx/constructors/empty.js +19 -1
  252. package/dist/Fx/constructors/fail.d.ts +22 -1
  253. package/dist/Fx/constructors/fail.d.ts.map +1 -1
  254. package/dist/Fx/constructors/fail.js +22 -1
  255. package/dist/Fx/constructors/failCause.d.ts +23 -1
  256. package/dist/Fx/constructors/failCause.d.ts.map +1 -1
  257. package/dist/Fx/constructors/failCause.js +23 -1
  258. package/dist/Fx/constructors/fn.d.ts +116 -16
  259. package/dist/Fx/constructors/fn.d.ts.map +1 -1
  260. package/dist/Fx/constructors/fn.js +36 -0
  261. package/dist/Fx/constructors/fromEffect.d.ts +45 -3
  262. package/dist/Fx/constructors/fromEffect.d.ts.map +1 -1
  263. package/dist/Fx/constructors/fromEffect.js +45 -3
  264. package/dist/Fx/constructors/fromFailures.d.ts +25 -1
  265. package/dist/Fx/constructors/fromFailures.d.ts.map +1 -1
  266. package/dist/Fx/constructors/fromFailures.js +25 -1
  267. package/dist/Fx/constructors/fromIterable.d.ts +23 -1
  268. package/dist/Fx/constructors/fromIterable.d.ts.map +1 -1
  269. package/dist/Fx/constructors/fromIterable.js +23 -1
  270. package/dist/Fx/constructors/fromSchedule.d.ts +26 -1
  271. package/dist/Fx/constructors/fromSchedule.d.ts.map +1 -1
  272. package/dist/Fx/constructors/fromSchedule.js +28 -3
  273. package/dist/Fx/constructors/index.d.ts +2 -1
  274. package/dist/Fx/constructors/index.d.ts.map +1 -1
  275. package/dist/Fx/constructors/index.js +2 -1
  276. package/dist/Fx/constructors/interrupt.d.ts +22 -2
  277. package/dist/Fx/constructors/interrupt.d.ts.map +1 -1
  278. package/dist/Fx/constructors/interrupt.js +22 -2
  279. package/dist/Fx/constructors/make.d.ts +151 -4
  280. package/dist/Fx/constructors/make.d.ts.map +1 -1
  281. package/dist/Fx/constructors/make.js +60 -7
  282. package/dist/Fx/constructors/periodic.d.ts +30 -1
  283. package/dist/Fx/constructors/periodic.d.ts.map +1 -1
  284. package/dist/Fx/constructors/periodic.js +30 -1
  285. package/dist/Fx/constructors/succeed.d.ts +79 -7
  286. package/dist/Fx/constructors/succeed.d.ts.map +1 -1
  287. package/dist/Fx/constructors/succeed.js +79 -7
  288. package/dist/Fx/constructors/suspend.d.ts +28 -0
  289. package/dist/Fx/constructors/suspend.d.ts.map +1 -1
  290. package/dist/Fx/constructors/suspend.js +28 -0
  291. package/dist/Fx/constructors/sync.d.ts +32 -0
  292. package/dist/Fx/constructors/sync.d.ts.map +1 -0
  293. package/dist/Fx/constructors/sync.js +32 -0
  294. package/dist/Fx/internal/DeferredRef.d.ts +259 -7
  295. package/dist/Fx/internal/DeferredRef.d.ts.map +1 -1
  296. package/dist/Fx/internal/DeferredRef.js +260 -9
  297. package/dist/Fx/internal/UnionToTuple.d.ts +22 -0
  298. package/dist/Fx/internal/UnionToTuple.d.ts.map +1 -1
  299. package/dist/Fx/internal/diff.d.ts +586 -0
  300. package/dist/Fx/internal/diff.d.ts.map +1 -1
  301. package/dist/Fx/internal/diff.js +120 -9
  302. package/dist/Fx/internal/effectableEvaluateKey.d.ts +30 -0
  303. package/dist/Fx/internal/effectableEvaluateKey.d.ts.map +1 -0
  304. package/dist/Fx/internal/effectableEvaluateKey.js +29 -0
  305. package/dist/Fx/internal/effectableWithOverride.d.ts +70 -0
  306. package/dist/Fx/internal/effectableWithOverride.d.ts.map +1 -0
  307. package/dist/Fx/internal/effectableWithOverride.js +54 -0
  308. package/dist/Fx/internal/equivalence.d.ts +29 -0
  309. package/dist/Fx/internal/equivalence.d.ts.map +1 -1
  310. package/dist/Fx/internal/equivalence.js +29 -0
  311. package/dist/Fx/internal/multicast.d.ts +145 -2
  312. package/dist/Fx/internal/multicast.d.ts.map +1 -1
  313. package/dist/Fx/internal/multicast.js +146 -4
  314. package/dist/Fx/internal/ring-buffer.d.ts +149 -0
  315. package/dist/Fx/internal/ring-buffer.d.ts.map +1 -1
  316. package/dist/Fx/internal/ring-buffer.js +155 -0
  317. package/dist/Fx/internal/scope.d.ts +184 -0
  318. package/dist/Fx/internal/scope.d.ts.map +1 -1
  319. package/dist/Fx/internal/scope.js +150 -0
  320. package/dist/Fx/internal/yieldable.d.ts +117 -2
  321. package/dist/Fx/internal/yieldable.d.ts.map +1 -1
  322. package/dist/Fx/internal/yieldable.js +86 -3
  323. package/dist/Fx/run/collect.d.ts +93 -4
  324. package/dist/Fx/run/collect.d.ts.map +1 -1
  325. package/dist/Fx/run/collect.js +94 -5
  326. package/dist/Fx/run/first.d.ts +23 -1
  327. package/dist/Fx/run/first.d.ts.map +1 -1
  328. package/dist/Fx/run/first.js +23 -1
  329. package/dist/Fx/run/fork.d.ts +52 -2
  330. package/dist/Fx/run/fork.d.ts.map +1 -1
  331. package/dist/Fx/run/fork.js +52 -2
  332. package/dist/Fx/run/observe.d.ts +112 -4
  333. package/dist/Fx/run/observe.d.ts.map +1 -1
  334. package/dist/Fx/run/observe.js +137 -16
  335. package/dist/Fx/run/runPromise.d.ts +45 -2
  336. package/dist/Fx/run/runPromise.d.ts.map +1 -1
  337. package/dist/Fx/run/runPromise.js +45 -2
  338. package/dist/Fx/stream.d.ts +92 -0
  339. package/dist/Fx/stream.d.ts.map +1 -1
  340. package/dist/Fx/stream.js +60 -1
  341. package/dist/Push/Push.d.ts +1229 -104
  342. package/dist/Push/Push.d.ts.map +1 -1
  343. package/dist/Push/Push.js +1024 -95
  344. package/dist/RefArray.d.ts +2 -0
  345. package/dist/RefArray.d.ts.map +1 -0
  346. package/dist/RefArray.js +1 -0
  347. package/dist/RefBigDecimal.d.ts +2 -0
  348. package/dist/RefBigDecimal.d.ts.map +1 -0
  349. package/dist/RefBigDecimal.js +1 -0
  350. package/dist/RefBigInt.d.ts +2 -0
  351. package/dist/RefBigInt.d.ts.map +1 -0
  352. package/dist/RefBigInt.js +1 -0
  353. package/dist/RefBoolean.d.ts +2 -0
  354. package/dist/RefBoolean.d.ts.map +1 -0
  355. package/dist/RefBoolean.js +1 -0
  356. package/dist/RefCause.d.ts +2 -0
  357. package/dist/RefCause.d.ts.map +1 -0
  358. package/dist/RefCause.js +1 -0
  359. package/dist/RefChunk.d.ts +2 -0
  360. package/dist/RefChunk.d.ts.map +1 -0
  361. package/dist/RefChunk.js +1 -0
  362. package/dist/RefDateTime.d.ts +2 -0
  363. package/dist/RefDateTime.d.ts.map +1 -0
  364. package/dist/RefDateTime.js +1 -0
  365. package/dist/RefDuration.d.ts +2 -0
  366. package/dist/RefDuration.d.ts.map +1 -0
  367. package/dist/RefDuration.js +1 -0
  368. package/dist/RefGraph.d.ts +2 -0
  369. package/dist/RefGraph.d.ts.map +1 -0
  370. package/dist/RefGraph.js +1 -0
  371. package/dist/RefHashMap.d.ts +2 -0
  372. package/dist/RefHashMap.d.ts.map +1 -0
  373. package/dist/RefHashMap.js +1 -0
  374. package/dist/RefHashRing.d.ts +2 -0
  375. package/dist/RefHashRing.d.ts.map +1 -0
  376. package/dist/RefHashRing.js +1 -0
  377. package/dist/RefHashSet.d.ts +2 -0
  378. package/dist/RefHashSet.d.ts.map +1 -0
  379. package/dist/RefHashSet.js +1 -0
  380. package/dist/RefIterable.d.ts +2 -0
  381. package/dist/RefIterable.d.ts.map +1 -0
  382. package/dist/RefIterable.js +1 -0
  383. package/dist/RefOption.d.ts +2 -0
  384. package/dist/RefOption.d.ts.map +1 -0
  385. package/dist/RefOption.js +1 -0
  386. package/dist/RefRecord.d.ts +2 -0
  387. package/dist/RefRecord.d.ts.map +1 -0
  388. package/dist/RefRecord.js +1 -0
  389. package/dist/RefResult.d.ts +2 -0
  390. package/dist/RefResult.d.ts.map +1 -0
  391. package/dist/RefResult.js +1 -0
  392. package/dist/RefString.d.ts +2 -0
  393. package/dist/RefString.d.ts.map +1 -0
  394. package/dist/RefString.js +1 -0
  395. package/dist/RefStruct.d.ts +2 -0
  396. package/dist/RefStruct.d.ts.map +1 -0
  397. package/dist/RefStruct.js +1 -0
  398. package/dist/RefSubject/Hydration.d.ts +504 -0
  399. package/dist/RefSubject/Hydration.d.ts.map +1 -0
  400. package/dist/RefSubject/Hydration.js +300 -0
  401. package/dist/RefSubject/RefArray.d.ts +382 -35
  402. package/dist/RefSubject/RefArray.d.ts.map +1 -1
  403. package/dist/RefSubject/RefArray.js +374 -40
  404. package/dist/RefSubject/RefBigDecimal.d.ts +241 -21
  405. package/dist/RefSubject/RefBigDecimal.d.ts.map +1 -1
  406. package/dist/RefSubject/RefBigDecimal.js +229 -20
  407. package/dist/RefSubject/RefBigInt.d.ts +181 -16
  408. package/dist/RefSubject/RefBigInt.d.ts.map +1 -1
  409. package/dist/RefSubject/RefBigInt.js +169 -15
  410. package/dist/RefSubject/RefBoolean.d.ts +181 -16
  411. package/dist/RefSubject/RefBoolean.d.ts.map +1 -1
  412. package/dist/RefSubject/RefBoolean.js +169 -15
  413. package/dist/RefSubject/RefCause.d.ts +133 -12
  414. package/dist/RefSubject/RefCause.d.ts.map +1 -1
  415. package/dist/RefSubject/RefCause.js +121 -11
  416. package/dist/RefSubject/RefChunk.d.ts +481 -76
  417. package/dist/RefSubject/RefChunk.d.ts.map +1 -1
  418. package/dist/RefSubject/RefChunk.js +471 -75
  419. package/dist/RefSubject/RefDateTime.d.ts +133 -12
  420. package/dist/RefSubject/RefDateTime.d.ts.map +1 -1
  421. package/dist/RefSubject/RefDateTime.js +122 -12
  422. package/dist/RefSubject/RefDuration.d.ts +169 -15
  423. package/dist/RefSubject/RefDuration.d.ts.map +1 -1
  424. package/dist/RefSubject/RefDuration.js +157 -14
  425. package/dist/RefSubject/RefGraph.d.ts +349 -35
  426. package/dist/RefSubject/RefGraph.d.ts.map +1 -1
  427. package/dist/RefSubject/RefGraph.js +334 -32
  428. package/dist/RefSubject/RefHashMap.d.ts +323 -28
  429. package/dist/RefSubject/RefHashMap.d.ts.map +1 -1
  430. package/dist/RefSubject/RefHashMap.js +317 -29
  431. package/dist/RefSubject/RefHashRing.d.ts +159 -15
  432. package/dist/RefSubject/RefHashRing.d.ts.map +1 -1
  433. package/dist/RefSubject/RefHashRing.js +145 -12
  434. package/dist/RefSubject/RefHashSet.d.ts +251 -22
  435. package/dist/RefSubject/RefHashSet.d.ts.map +1 -1
  436. package/dist/RefSubject/RefHashSet.js +238 -20
  437. package/dist/RefSubject/RefIterable.d.ts +358 -32
  438. package/dist/RefSubject/RefIterable.d.ts.map +1 -1
  439. package/dist/RefSubject/RefIterable.js +350 -30
  440. package/dist/RefSubject/RefOption.d.ts +157 -14
  441. package/dist/RefSubject/RefOption.d.ts.map +1 -1
  442. package/dist/RefSubject/RefOption.js +145 -13
  443. package/dist/RefSubject/RefRecord.d.ts +402 -64
  444. package/dist/RefSubject/RefRecord.d.ts.map +1 -1
  445. package/dist/RefSubject/RefRecord.js +364 -39
  446. package/dist/RefSubject/RefResult.d.ts +167 -35
  447. package/dist/RefSubject/RefResult.d.ts.map +1 -1
  448. package/dist/RefSubject/RefResult.js +133 -12
  449. package/dist/RefSubject/RefString.d.ts +205 -18
  450. package/dist/RefSubject/RefString.d.ts.map +1 -1
  451. package/dist/RefSubject/RefString.js +193 -17
  452. package/dist/RefSubject/RefStruct.d.ts +169 -14
  453. package/dist/RefSubject/RefStruct.d.ts.map +1 -1
  454. package/dist/RefSubject/RefStruct.js +157 -13
  455. package/dist/RefSubject/RefSubject.d.ts +1197 -45
  456. package/dist/RefSubject/RefSubject.d.ts.map +1 -1
  457. package/dist/RefSubject/RefSubject.js +935 -88
  458. package/dist/RefSubject/RefTrie.d.ts +323 -37
  459. package/dist/RefSubject/RefTrie.d.ts.map +1 -1
  460. package/dist/RefSubject/RefTrie.js +311 -31
  461. package/dist/RefSubject/RefTuple.d.ts +127 -11
  462. package/dist/RefSubject/RefTuple.d.ts.map +1 -1
  463. package/dist/RefSubject/RefTuple.js +114 -9
  464. package/dist/RefSubject/index.d.ts +1 -0
  465. package/dist/RefSubject/index.d.ts.map +1 -1
  466. package/dist/RefSubject/index.js +1 -0
  467. package/dist/RefSubject.d.ts +2 -1
  468. package/dist/RefSubject.d.ts.map +1 -1
  469. package/dist/RefSubject.js +2 -1
  470. package/dist/RefTrie.d.ts +2 -0
  471. package/dist/RefTrie.d.ts.map +1 -0
  472. package/dist/RefTrie.js +1 -0
  473. package/dist/RefTuple.d.ts +2 -0
  474. package/dist/RefTuple.d.ts.map +1 -0
  475. package/dist/RefTuple.js +1 -0
  476. package/dist/Sink/Sink.d.ts +396 -23
  477. package/dist/Sink/Sink.d.ts.map +1 -1
  478. package/dist/Sink/Sink.js +55 -7
  479. package/dist/Sink/combinators.d.ts +740 -11
  480. package/dist/Sink/combinators.d.ts.map +1 -1
  481. package/dist/Sink/combinators.js +716 -14
  482. package/dist/Subject/Subject.d.ts +1022 -27
  483. package/dist/Subject/Subject.d.ts.map +1 -1
  484. package/dist/Subject/Subject.js +909 -43
  485. package/dist/Versioned/Versioned.d.ts +447 -27
  486. package/dist/Versioned/Versioned.d.ts.map +1 -1
  487. package/dist/Versioned/Versioned.js +282 -48
  488. package/dist/index.d.ts +22 -3
  489. package/dist/index.d.ts.map +1 -1
  490. package/dist/index.js +22 -3
  491. package/package.json +126 -16
  492. package/dist/Fx/constructors/fromYieldable.d.ts +0 -12
  493. package/dist/Fx/constructors/fromYieldable.d.ts.map +0 -1
  494. package/dist/Fx/constructors/fromYieldable.js +0 -12
  495. package/src/Fx/Fx.ts +0 -164
  496. package/src/Fx/TypeId.ts +0 -25
  497. package/src/Fx/combinators/additive.ts +0 -142
  498. package/src/Fx/combinators/catch.ts +0 -421
  499. package/src/Fx/combinators/causes.ts +0 -23
  500. package/src/Fx/combinators/changesWithEffect.ts +0 -66
  501. package/src/Fx/combinators/compact.ts +0 -15
  502. package/src/Fx/combinators/continueWith.ts +0 -78
  503. package/src/Fx/combinators/dropUntil.ts +0 -47
  504. package/src/Fx/combinators/ensuring.ts +0 -23
  505. package/src/Fx/combinators/exhaustLatestMap.ts +0 -74
  506. package/src/Fx/combinators/exhaustLatestMapEffect.ts +0 -25
  507. package/src/Fx/combinators/exhaustMap.ts +0 -36
  508. package/src/Fx/combinators/exhaustMapEffect.ts +0 -23
  509. package/src/Fx/combinators/exit.ts +0 -15
  510. package/src/Fx/combinators/filter.ts +0 -22
  511. package/src/Fx/combinators/filterEffect.ts +0 -31
  512. package/src/Fx/combinators/filterMap.ts +0 -23
  513. package/src/Fx/combinators/filterMapEffect.ts +0 -32
  514. package/src/Fx/combinators/filterMapLoop.ts +0 -35
  515. package/src/Fx/combinators/filterMapLoopCause.ts +0 -36
  516. package/src/Fx/combinators/filterMapLoopCauseEffect.ts +0 -46
  517. package/src/Fx/combinators/filterMapLoopEffect.ts +0 -36
  518. package/src/Fx/combinators/flatMap.ts +0 -51
  519. package/src/Fx/combinators/flatMapConcurrently.ts +0 -39
  520. package/src/Fx/combinators/flatMapConcurrentlyEffect.ts +0 -26
  521. package/src/Fx/combinators/flatMapEffect.ts +0 -42
  522. package/src/Fx/combinators/flip.ts +0 -14
  523. package/src/Fx/combinators/gen.ts +0 -24
  524. package/src/Fx/combinators/genScoped.ts +0 -24
  525. package/src/Fx/combinators/index.ts +0 -61
  526. package/src/Fx/combinators/keyed.ts +0 -369
  527. package/src/Fx/combinators/loop.ts +0 -27
  528. package/src/Fx/combinators/loopCause.ts +0 -34
  529. package/src/Fx/combinators/loopCauseEffect.ts +0 -36
  530. package/src/Fx/combinators/loopEffect.ts +0 -34
  531. package/src/Fx/combinators/map.ts +0 -22
  532. package/src/Fx/combinators/mapBoth.ts +0 -40
  533. package/src/Fx/combinators/mapEffect.ts +0 -32
  534. package/src/Fx/combinators/mapError.ts +0 -28
  535. package/src/Fx/combinators/mergeAll.ts +0 -22
  536. package/src/Fx/combinators/mergeOrdered.ts +0 -123
  537. package/src/Fx/combinators/onError.ts +0 -40
  538. package/src/Fx/combinators/onExit.ts +0 -82
  539. package/src/Fx/combinators/onInterrupt.ts +0 -87
  540. package/src/Fx/combinators/provide.ts +0 -124
  541. package/src/Fx/combinators/result.ts +0 -39
  542. package/src/Fx/combinators/scan.ts +0 -82
  543. package/src/Fx/combinators/skip.ts +0 -41
  544. package/src/Fx/combinators/skipRepeats.ts +0 -15
  545. package/src/Fx/combinators/skipRepeatsWith.ts +0 -40
  546. package/src/Fx/combinators/skipWhile.ts +0 -100
  547. package/src/Fx/combinators/slice.ts +0 -55
  548. package/src/Fx/combinators/switchMap.ts +0 -55
  549. package/src/Fx/combinators/switchMapEffect.ts +0 -25
  550. package/src/Fx/combinators/take.ts +0 -38
  551. package/src/Fx/combinators/takeUntil.ts +0 -88
  552. package/src/Fx/combinators/takeWhile.ts +0 -47
  553. package/src/Fx/combinators/tapEffect.ts +0 -39
  554. package/src/Fx/combinators/tuple.ts +0 -79
  555. package/src/Fx/combinators/unwrap.ts +0 -21
  556. package/src/Fx/combinators/unwrapScoped.ts +0 -26
  557. package/src/Fx/combinators/when.ts +0 -64
  558. package/src/Fx/combinators/withSpan.ts +0 -24
  559. package/src/Fx/combinators/zip.ts +0 -175
  560. package/src/Fx/constructors/at.ts +0 -23
  561. package/src/Fx/constructors/die.ts +0 -17
  562. package/src/Fx/constructors/empty.ts +0 -10
  563. package/src/Fx/constructors/fail.ts +0 -14
  564. package/src/Fx/constructors/failCause.ts +0 -14
  565. package/src/Fx/constructors/fn.ts +0 -245
  566. package/src/Fx/constructors/fromEffect.ts +0 -24
  567. package/src/Fx/constructors/fromFailures.ts +0 -19
  568. package/src/Fx/constructors/fromIterable.ts +0 -15
  569. package/src/Fx/constructors/fromSchedule.ts +0 -18
  570. package/src/Fx/constructors/fromYieldable.ts +0 -17
  571. package/src/Fx/constructors/index.ts +0 -15
  572. package/src/Fx/constructors/interrupt.ts +0 -13
  573. package/src/Fx/constructors/make.ts +0 -103
  574. package/src/Fx/constructors/periodic.ts +0 -15
  575. package/src/Fx/constructors/succeed.ts +0 -37
  576. package/src/Fx/constructors/suspend.ts +0 -6
  577. package/src/Fx/index.ts +0 -6
  578. package/src/Fx/internal/DeferredRef.ts +0 -87
  579. package/src/Fx/internal/UnionToTuple.ts +0 -12
  580. package/src/Fx/internal/diff.ts +0 -191
  581. package/src/Fx/internal/equivalence.ts +0 -12
  582. package/src/Fx/internal/multicast.ts +0 -51
  583. package/src/Fx/internal/ring-buffer.ts +0 -60
  584. package/src/Fx/internal/scope.ts +0 -58
  585. package/src/Fx/internal/yieldable.ts +0 -31
  586. package/src/Fx/run/collect.ts +0 -79
  587. package/src/Fx/run/first.ts +0 -20
  588. package/src/Fx/run/fork.ts +0 -40
  589. package/src/Fx/run/index.ts +0 -5
  590. package/src/Fx/run/observe.ts +0 -114
  591. package/src/Fx/run/runPromise.ts +0 -32
  592. package/src/Fx/stream.ts +0 -42
  593. package/src/Fx.additive-combinators.test.ts +0 -126
  594. package/src/Fx.catch-additive.test.ts +0 -206
  595. package/src/Fx.catch.test.ts +0 -60
  596. package/src/Fx.dropUntil.test.ts +0 -61
  597. package/src/Fx.fn.test.ts +0 -51
  598. package/src/Fx.lifecycle.test.ts +0 -79
  599. package/src/Fx.mapError-mapBoth.test.ts +0 -101
  600. package/src/Fx.provide-combinators.test.ts +0 -94
  601. package/src/Fx.result-changesWithEffect.test.ts +0 -112
  602. package/src/Fx.scan.test.ts +0 -73
  603. package/src/Fx.takeWhile-skipWhile.test.ts +0 -84
  604. package/src/Fx.test.ts +0 -71
  605. package/src/Fx.ts +0 -1
  606. package/src/Fx.zip-merge-additive.test.ts +0 -171
  607. package/src/Fx.zip.test.ts +0 -133
  608. package/src/Push/Push.ts +0 -1072
  609. package/src/Push/index.ts +0 -1
  610. package/src/Push.additive.test.ts +0 -256
  611. package/src/Push.test.ts +0 -26
  612. package/src/Push.ts +0 -1
  613. package/src/RefSubject/RefArray.ts +0 -512
  614. package/src/RefSubject/RefBigDecimal.test.ts +0 -56
  615. package/src/RefSubject/RefBigDecimal.ts +0 -295
  616. package/src/RefSubject/RefBigInt.test.ts +0 -56
  617. package/src/RefSubject/RefBigInt.ts +0 -189
  618. package/src/RefSubject/RefBoolean.test.ts +0 -57
  619. package/src/RefSubject/RefBoolean.ts +0 -185
  620. package/src/RefSubject/RefCause.test.ts +0 -53
  621. package/src/RefSubject/RefCause.ts +0 -146
  622. package/src/RefSubject/RefChunk.ts +0 -510
  623. package/src/RefSubject/RefDateTime.test.ts +0 -43
  624. package/src/RefSubject/RefDateTime.ts +0 -264
  625. package/src/RefSubject/RefDuration.test.ts +0 -49
  626. package/src/RefSubject/RefDuration.ts +0 -188
  627. package/src/RefSubject/RefGraph.ts +0 -650
  628. package/src/RefSubject/RefHashMap.ts +0 -465
  629. package/src/RefSubject/RefHashRing.ts +0 -262
  630. package/src/RefSubject/RefHashSet.ts +0 -308
  631. package/src/RefSubject/RefIterable.ts +0 -445
  632. package/src/RefSubject/RefOption.test.ts +0 -67
  633. package/src/RefSubject/RefOption.ts +0 -193
  634. package/src/RefSubject/RefRecord.ts +0 -612
  635. package/src/RefSubject/RefResult.test.ts +0 -63
  636. package/src/RefSubject/RefResult.ts +0 -209
  637. package/src/RefSubject/RefString.test.ts +0 -61
  638. package/src/RefSubject/RefString.ts +0 -256
  639. package/src/RefSubject/RefStruct.test.ts +0 -60
  640. package/src/RefSubject/RefStruct.ts +0 -253
  641. package/src/RefSubject/RefSubject.ts +0 -2646
  642. package/src/RefSubject/RefTrie.ts +0 -356
  643. package/src/RefSubject/RefTuple.test.ts +0 -60
  644. package/src/RefSubject/RefTuple.ts +0 -231
  645. package/src/RefSubject/index.ts +0 -21
  646. package/src/RefSubject.additive-parity.test.ts +0 -101
  647. package/src/RefSubject.test.ts +0 -65
  648. package/src/RefSubject.ts +0 -1
  649. package/src/Sink/Sink.ts +0 -159
  650. package/src/Sink/combinators.ts +0 -1115
  651. package/src/Sink/index.ts +0 -2
  652. package/src/Sink.combinators.test.ts +0 -88
  653. package/src/Sink.reduce-collect-head-last.test.ts +0 -107
  654. package/src/Sink.ts +0 -1
  655. package/src/Subject/Subject.ts +0 -441
  656. package/src/Subject/index.ts +0 -1
  657. package/src/Subject.test.ts +0 -47
  658. package/src/Subject.ts +0 -1
  659. package/src/Versioned/Versioned.ts +0 -597
  660. package/src/Versioned/index.ts +0 -1
  661. package/src/Versioned.filterMap.test.ts +0 -91
  662. package/src/Versioned.test.ts +0 -23
  663. package/src/Versioned.ts +0 -1
  664. package/src/index.ts +0 -7
@@ -1,23 +1,111 @@
1
1
  import * as Equal from "effect/Equal";
2
2
  import { identity } from "effect/Function";
3
+ /** Constructs an immutable `Add` change record.
4
+ *
5
+ * @remarks
6
+ * ## Why
7
+ *
8
+ * Central construction keeps the discriminant and index meaning consistent for diff consumers.
9
+ *
10
+ * ## Ownership and lifetime
11
+ *
12
+ * Allocates one plain object and acquires no services or Scope.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { add } from "@typed/fx/Fx/internal/diff"
17
+ *
18
+ * const patch = add({ id: "a" }, 0, "a")
19
+ * ```
20
+ *
21
+ * @since 1.0.0
22
+ * @category constructors
23
+ * @stability internal-but-published
24
+ */
3
25
  export const add = (value, index, key) => ({
4
26
  _tag: "Add",
5
27
  index,
6
28
  value,
7
29
  key,
8
30
  });
31
+ /** Constructs an immutable `Remove` change record.
32
+ *
33
+ * @remarks
34
+ * ## Why
35
+ *
36
+ * Central construction preserves the old-index convention expected by keyed consumers.
37
+ *
38
+ * ## Ownership and lifetime
39
+ *
40
+ * Allocates one plain object and acquires no services or Scope.
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * import { remove } from "@typed/fx/Fx/internal/diff"
45
+ *
46
+ * const patch = remove({ id: "a" }, 0, "a")
47
+ * ```
48
+ *
49
+ * @since 1.0.0
50
+ * @category constructors
51
+ * @stability internal-but-published
52
+ */
9
53
  export const remove = (value, index, key) => ({
10
54
  _tag: "Remove",
11
55
  index,
12
56
  value,
13
57
  key,
14
58
  });
59
+ /** Constructs an immutable `Update` change record.
60
+ *
61
+ * @remarks
62
+ * ## Why
63
+ *
64
+ * Central construction preserves the shared-index convention expected by keyed consumers.
65
+ *
66
+ * ## Ownership and lifetime
67
+ *
68
+ * Allocates one plain object and acquires no services or Scope.
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * import { update } from "@typed/fx/Fx/internal/diff"
73
+ *
74
+ * const patch = update({ id: "a", value: 2 }, 0, "a")
75
+ * ```
76
+ *
77
+ * @since 1.0.0
78
+ * @category constructors
79
+ * @stability internal-but-published
80
+ */
15
81
  export const update = (value, index, key) => ({
16
82
  _tag: "Update",
17
83
  index,
18
84
  value,
19
85
  key,
20
86
  });
87
+ /** Constructs an immutable `Moved` change record.
88
+ *
89
+ * @remarks
90
+ * ## Why
91
+ *
92
+ * Central construction keeps source and destination index meanings explicit.
93
+ *
94
+ * ## Ownership and lifetime
95
+ *
96
+ * Allocates one plain object and acquires no services or Scope.
97
+ *
98
+ * @example
99
+ * ```ts
100
+ * import { moved } from "@typed/fx/Fx/internal/diff"
101
+ *
102
+ * const patch = moved({ id: "a" }, 0, 1, "a")
103
+ * ```
104
+ *
105
+ * @since 1.0.0
106
+ * @category constructors
107
+ * @stability internal-but-published
108
+ */
21
109
  export const moved = (value, from, to, key) => ({
22
110
  _tag: "Moved",
23
111
  index: from,
@@ -91,16 +179,39 @@ export function* diffIterator(a, b, options = {}) {
91
179
  }
92
180
  }
93
181
  }
94
- const keysMaps = new WeakMap();
182
+ /** Builds a map from each extracted key to its current array index.
183
+ *
184
+ * @remarks
185
+ * ## Why
186
+ *
187
+ * Exposing map construction lets repeated diff callers cache the previous array's index and avoid
188
+ * re-extracting those keys on the next transition.
189
+ *
190
+ * ## Ownership and lifetime
191
+ *
192
+ * The returned map is newly allocated and retains each key until released. The input array is read
193
+ * once and not retained by the map. Duplicate keys are not rejected: the last occurrence wins, so
194
+ * callers that require an unambiguous diff must validate uniqueness separately.
195
+ *
196
+ * The operation is O(n) time and O(n) space, plus the cost of `getKey` and Map hashing.
197
+ *
198
+ * @example
199
+ * ```ts
200
+ * import { getKeyMap } from "@typed/fx/Fx/internal/diff"
201
+ *
202
+ * const map = getKeyMap([{ id: "a" }, { id: "b" }], ({ id }) => id)
203
+ * map.get("b") // 1
204
+ * ```
205
+ *
206
+ * @since 1.0.0
207
+ * @category advanced
208
+ * @stability internal-but-published
209
+ */
95
210
  export function getKeyMap(a, getKey) {
96
- let keyMap = keysMaps.get(a);
97
- if (keyMap === undefined) {
98
- keyMap = new Map();
99
- keysMaps.set(a, keyMap);
100
- const len = a.length;
101
- for (let i = 0; i < len; ++i) {
102
- keyMap.set(getKey(a[i]), i);
103
- }
211
+ const keyMap = new Map();
212
+ const len = a.length;
213
+ for (let i = 0; i < len; ++i) {
214
+ keyMap.set(getKey(a[i]), i);
104
215
  }
105
216
  return keyMap;
106
217
  }
@@ -0,0 +1,30 @@
1
+ /** The Effect runtime property key used to evaluate an Effectable value.
2
+ *
3
+ * @remarks
4
+ * ## Why
5
+ *
6
+ * Effect's generator interpreter steps yielded Effectable objects through this property. Typed
7
+ * must use the exact runtime key so its Effect-compatible Fx and state objects evaluate their
8
+ * underlying work rather than returning themselves.
9
+ *
10
+ * ## Ownership and lifetime
11
+ *
12
+ * This is immutable protocol metadata. Reading it acquires no services and retains no resources.
13
+ *
14
+ * The value must remain byte-for-byte aligned with Effect's internal
15
+ * `` `${EffectTypeId}/evaluate` `` key. It is therefore published for advanced implementors but is
16
+ * coupled to Effect runtime internals and may change between prereleases.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * import { EFFECT_EVALUATE_KEY } from "@typed/fx/Fx/internal/effectableEvaluateKey"
21
+ *
22
+ * EFFECT_EVALUATE_KEY // "~effect/Effect/evaluate"
23
+ * ```
24
+ *
25
+ * @since 1.0.0
26
+ * @category advanced
27
+ * @stability internal-but-published
28
+ */
29
+ export declare const EFFECT_EVALUATE_KEY: "~effect/Effect/evaluate";
30
+ //# sourceMappingURL=effectableEvaluateKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effectableEvaluateKey.d.ts","sourceRoot":"","sources":["../../../src/Fx/internal/effectableEvaluateKey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,mBAAmB,EAAG,yBAAkC,CAAC"}
@@ -0,0 +1,29 @@
1
+ /** The Effect runtime property key used to evaluate an Effectable value.
2
+ *
3
+ * @remarks
4
+ * ## Why
5
+ *
6
+ * Effect's generator interpreter steps yielded Effectable objects through this property. Typed
7
+ * must use the exact runtime key so its Effect-compatible Fx and state objects evaluate their
8
+ * underlying work rather than returning themselves.
9
+ *
10
+ * ## Ownership and lifetime
11
+ *
12
+ * This is immutable protocol metadata. Reading it acquires no services and retains no resources.
13
+ *
14
+ * The value must remain byte-for-byte aligned with Effect's internal
15
+ * `` `${EffectTypeId}/evaluate` `` key. It is therefore published for advanced implementors but is
16
+ * coupled to Effect runtime internals and may change between prereleases.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * import { EFFECT_EVALUATE_KEY } from "@typed/fx/Fx/internal/effectableEvaluateKey"
21
+ *
22
+ * EFFECT_EVALUATE_KEY // "~effect/Effect/evaluate"
23
+ * ```
24
+ *
25
+ * @since 1.0.0
26
+ * @category advanced
27
+ * @stability internal-but-published
28
+ */
29
+ export const EFFECT_EVALUATE_KEY = "~effect/Effect/evaluate";
@@ -0,0 +1,70 @@
1
+ import { Effectable } from "effect";
2
+ import type * as Effect from "effect/Effect";
3
+ /** Effectable base class whose generator evaluation delegates to an explicit Effect.
4
+ *
5
+ * @remarks
6
+ * ## Why
7
+ *
8
+ * Effect 4's `Effectable.Class` delegates evaluation to `asEffect`. Typed's yieldable objects
9
+ * implement that method by returning their `override` Effect, preserving the same sampling work
10
+ * when yielded in `Effect.gen` or executed directly.
11
+ *
12
+ * ## Ownership and lifetime
13
+ *
14
+ * The base class owns no fiber or Scope. Subclasses own the Effect assigned to `override` and all
15
+ * resources that Effect acquires. Execution preserves its value, typed error, service, interruption,
16
+ * and finalization channels.
17
+ *
18
+ * This class is a published extension point, but it is coupled to Effect's evaluator protocol and
19
+ * may change between prereleases.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * import { EffectableWithOverride } from "@typed/fx/Fx/internal/effectableWithOverride"
24
+ * import * as Effect from "effect/Effect"
25
+ *
26
+ * class Answer extends EffectableWithOverride<number> {
27
+ * readonly override = Effect.succeed(42)
28
+ * }
29
+ *
30
+ * const value = Effect.runSync(new Answer()) // 42
31
+ * ```
32
+ *
33
+ * @since 1.0.0
34
+ * @category advanced
35
+ * @stability internal-but-published
36
+ */
37
+ export declare abstract class EffectableWithOverride<A, E = never, R = never> extends Effectable.Class<A, E, R> {
38
+ /** The real Effect executed when this object is yielded or otherwise evaluated by Effect.
39
+ *
40
+ * @remarks
41
+ * ## Why
42
+ *
43
+ * Subclasses must return stable work for the lifetime semantics they advertise; the base class
44
+ * neither memoizes nor scopes it.
45
+ *
46
+ * ## Ownership and lifetime
47
+ *
48
+ * The subclass owns this Effect and every resource it acquires; the evaluator only delegates.
49
+ *
50
+ * @since 1.0.0
51
+ * @category effects
52
+ */
53
+ abstract override: Effect.Effect<A, E, R>;
54
+ /** Returns the Effect evaluated by Effect's runtime.
55
+ *
56
+ * @remarks
57
+ * ## Why
58
+ *
59
+ * Implements `Effectable.Class` through its public evaluation method.
60
+ *
61
+ * ## Ownership and lifetime
62
+ *
63
+ * Reading the Effect starts no work; subclasses retain ownership of its resources.
64
+ *
65
+ * @since 1.0.0
66
+ * @category effects
67
+ */
68
+ asEffect(): Effect.Effect<A, E, R>;
69
+ }
70
+ //# sourceMappingURL=effectableWithOverride.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effectableWithOverride.d.ts","sourceRoot":"","sources":["../../../src/Fx/internal/effectableWithOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,8BAAsB,sBAAsB,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAE,SAAQ,UAAU,CAAC,KAAK,CAC5F,CAAC,EACD,CAAC,EACD,CAAC,CACF;IACC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1C;;;;;;;;;;;;;OAaG;IACH,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAEjC;CACF"}
@@ -0,0 +1,54 @@
1
+ import { Effectable } from "effect";
2
+ /** Effectable base class whose generator evaluation delegates to an explicit Effect.
3
+ *
4
+ * @remarks
5
+ * ## Why
6
+ *
7
+ * Effect 4's `Effectable.Class` delegates evaluation to `asEffect`. Typed's yieldable objects
8
+ * implement that method by returning their `override` Effect, preserving the same sampling work
9
+ * when yielded in `Effect.gen` or executed directly.
10
+ *
11
+ * ## Ownership and lifetime
12
+ *
13
+ * The base class owns no fiber or Scope. Subclasses own the Effect assigned to `override` and all
14
+ * resources that Effect acquires. Execution preserves its value, typed error, service, interruption,
15
+ * and finalization channels.
16
+ *
17
+ * This class is a published extension point, but it is coupled to Effect's evaluator protocol and
18
+ * may change between prereleases.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * import { EffectableWithOverride } from "@typed/fx/Fx/internal/effectableWithOverride"
23
+ * import * as Effect from "effect/Effect"
24
+ *
25
+ * class Answer extends EffectableWithOverride<number> {
26
+ * readonly override = Effect.succeed(42)
27
+ * }
28
+ *
29
+ * const value = Effect.runSync(new Answer()) // 42
30
+ * ```
31
+ *
32
+ * @since 1.0.0
33
+ * @category advanced
34
+ * @stability internal-but-published
35
+ */
36
+ export class EffectableWithOverride extends Effectable.Class {
37
+ /** Returns the Effect evaluated by Effect's runtime.
38
+ *
39
+ * @remarks
40
+ * ## Why
41
+ *
42
+ * Implements `Effectable.Class` through its public evaluation method.
43
+ *
44
+ * ## Ownership and lifetime
45
+ *
46
+ * Reading the Effect starts no work; subclasses retain ownership of its resources.
47
+ *
48
+ * @since 1.0.0
49
+ * @category effects
50
+ */
51
+ asEffect() {
52
+ return this.override;
53
+ }
54
+ }
@@ -1,4 +1,33 @@
1
1
  import * as Equivalence from "effect/Equivalence";
2
2
  import type * as Exit from "effect/Exit";
3
+ /** Lifts value equivalence to successes while comparing failure Causes structurally.
4
+ *
5
+ * @remarks
6
+ * ## Why
7
+ *
8
+ * State cells store full `Exit` values. Successful values should follow the caller's domain
9
+ * equivalence, while failures must retain Effect's Cause structure so repeated equivalent failures
10
+ * can be suppressed without collapsing distinct defects, interruptions, or compositions.
11
+ *
12
+ * ## Ownership and lifetime
13
+ *
14
+ * The returned function closes over `A` and acquires no services or Scope. Each comparison is pure;
15
+ * its cost is the cost of `A` for two successes or Effect's structural Cause equality for two
16
+ * failures. A success and failure are always different.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * import { getExitEquivalence } from "@typed/fx/Fx/internal/equivalence"
21
+ * import * as Equivalence from "effect/Equivalence"
22
+ * import * as Exit from "effect/Exit"
23
+ *
24
+ * const equivalent = getExitEquivalence(Equivalence.Number)
25
+ * equivalent(Exit.succeed(1), Exit.succeed(1)) // true
26
+ * ```
27
+ *
28
+ * @since 1.0.0
29
+ * @category advanced
30
+ * @stability internal-but-published
31
+ */
3
32
  export declare const getExitEquivalence: <E, A>(A: Equivalence.Equivalence<A>) => Equivalence.Equivalence<Exit.Exit<A, E>>;
4
33
  //# sourceMappingURL=equivalence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"equivalence.d.ts","sourceRoot":"","sources":["../../../src/Fx/internal/equivalence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAC;AAEzC,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,6CAOlE,CAAC"}
1
+ {"version":3,"file":"equivalence.d.ts","sourceRoot":"","sources":["../../../src/Fx/internal/equivalence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,6CAOlE,CAAC"}
@@ -1,5 +1,34 @@
1
1
  import { equals } from "effect/Equal";
2
2
  import * as Equivalence from "effect/Equivalence";
3
+ /** Lifts value equivalence to successes while comparing failure Causes structurally.
4
+ *
5
+ * @remarks
6
+ * ## Why
7
+ *
8
+ * State cells store full `Exit` values. Successful values should follow the caller's domain
9
+ * equivalence, while failures must retain Effect's Cause structure so repeated equivalent failures
10
+ * can be suppressed without collapsing distinct defects, interruptions, or compositions.
11
+ *
12
+ * ## Ownership and lifetime
13
+ *
14
+ * The returned function closes over `A` and acquires no services or Scope. Each comparison is pure;
15
+ * its cost is the cost of `A` for two successes or Effect's structural Cause equality for two
16
+ * failures. A success and failure are always different.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * import { getExitEquivalence } from "@typed/fx/Fx/internal/equivalence"
21
+ * import * as Equivalence from "effect/Equivalence"
22
+ * import * as Exit from "effect/Exit"
23
+ *
24
+ * const equivalent = getExitEquivalence(Equivalence.Number)
25
+ * equivalent(Exit.succeed(1), Exit.succeed(1)) // true
26
+ * ```
27
+ *
28
+ * @since 1.0.0
29
+ * @category advanced
30
+ * @stability internal-but-published
31
+ */
3
32
  export const getExitEquivalence = (A) => Equivalence.make((a, b) => {
4
33
  if (a._tag === "Failure") {
5
34
  return b._tag === "Failure" && equals(a.cause, b.cause);
@@ -1,10 +1,153 @@
1
1
  import * as Effect from "effect/Effect";
2
- export declare class MulticastEffect<A, E, R> extends Effect.YieldableClass<A, E, R> {
2
+ import { EffectableWithOverride } from "./effectableWithOverride.js";
3
+ /** An Effect-compatible wrapper that joins the currently recorded detached execution.
4
+ *
5
+ * @remarks
6
+ * ## Why
7
+ *
8
+ * Some sampled state computations are expensive but may be requested concurrently. The wrapper
9
+ * lets later callers join the same in-flight fiber, preserving one result, typed failure, and Cause
10
+ * for that run. After completion the recorded fiber is cleared and a later call starts fresh work.
11
+ *
12
+ * ## Ownership and lifetime
13
+ *
14
+ * The first caller starts `effect` in a detached fiber using that caller's services. Interrupting a
15
+ * joining caller stops only its wait; the detached computation continues until completion or an
16
+ * explicit `interrupt`. A directly constructed instance has no automatic finalizer. Prefer
17
+ * `makeMulticastEffect` when a Scope should interrupt remaining work.
18
+ *
19
+ * ## Concurrency and interruption
20
+ *
21
+ * Calls made after `_fiber` is recorded join that fiber. Recording uses mutable instance state
22
+ * rather than a semaphore, so this is a low-level primitive whose callers must not assume a stronger
23
+ * atomic-start guarantee than the implementation provides. Completion or explicit interruption
24
+ * clears the matching record; all joiners observe the fiber's exact success, typed error, defect,
25
+ * or interruption.
26
+ *
27
+ * This path is published for advanced state implementations and may change between prereleases.
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * import { MulticastEffect } from "@typed/fx/Fx/internal/multicast"
32
+ * import * as Effect from "effect/Effect"
33
+ *
34
+ * const sharedWhileRunning = new MulticastEffect(Effect.succeed("ready"))
35
+ * const value = Effect.runSync(sharedWhileRunning)
36
+ * ```
37
+ *
38
+ * @since 1.0.0
39
+ * @category advanced
40
+ * @stability internal-but-published
41
+ */
42
+ export declare class MulticastEffect<A, E, R> extends EffectableWithOverride<A, E, R> {
3
43
  private _fiber;
44
+ /** Underlying computation started when no recorded fiber is running.
45
+ *
46
+ * @remarks
47
+ * ## Why
48
+ *
49
+ * Keeping the source Effect visible lets advanced implementations inspect or compose the exact
50
+ * work whose in-flight execution is shared.
51
+ *
52
+ * ## Ownership and lifetime
53
+ *
54
+ * The wrapper retains this immutable Effect description; resources begin only when it is run.
55
+ *
56
+ * @since 1.0.0
57
+ * @category effects
58
+ */
4
59
  readonly effect: Effect.Effect<A, E, R>;
60
+ /** Creates a wrapper without attaching its future detached fiber to a Scope.
61
+ *
62
+ * @remarks
63
+ * ## Why
64
+ *
65
+ * Direct construction supports owners such as Versioned that already expose an explicit
66
+ * interruption boundary and do not need acquisition itself to require Scope.
67
+ *
68
+ * ## Ownership and lifetime
69
+ *
70
+ * Construction retains only the Effect description and starts no work. The first evaluation may
71
+ * start a detached fiber, which remains this instance's responsibility until it completes or
72
+ * `interrupt` is run. Use `makeMulticastEffect` when Scope closure should provide that cleanup.
73
+ *
74
+ * @example
75
+ * ```ts
76
+ * import { MulticastEffect } from "@typed/fx/Fx/internal/multicast"
77
+ * import * as Effect from "effect/Effect"
78
+ *
79
+ * const shared = new MulticastEffect(Effect.succeed("ready"))
80
+ * const result = Effect.runSync(shared)
81
+ * ```
82
+ *
83
+ * @since 1.0.0
84
+ * @category constructors
85
+ */
5
86
  constructor(effect: Effect.Effect<A, E, R>);
6
- asEffect(): Effect.Effect<A, E, R>;
87
+ /** Effect view that joins the recorded fiber or starts and records a detached one.
88
+ *
89
+ * @remarks
90
+ * ## Why
91
+ *
92
+ * Effect evaluation is the common entry point through which concurrent callers share work.
93
+ *
94
+ * ## Ownership and lifetime
95
+ *
96
+ * A newly started fiber is detached from the joining caller and remains recorded until completion
97
+ * or explicit interruption.
98
+ *
99
+ * @since 1.0.0
100
+ * @category effects
101
+ */
102
+ readonly override: Effect.Effect<A, E, R>;
103
+ /** Interrupts the currently recorded fiber as the calling fiber and clears the record.
104
+ *
105
+ * @remarks
106
+ * ## Why
107
+ *
108
+ * If no fiber is recorded, the Effect succeeds immediately. Interruption of the child is awaited,
109
+ * and cleanup clears the field even when interruption observation itself is interrupted.
110
+ *
111
+ * ## Ownership and lifetime
112
+ *
113
+ * The Effect owns only this interruption action; it does not prevent a later execution from
114
+ * starting a fresh fiber.
115
+ *
116
+ * @since 1.0.0
117
+ * @category lifecycle
118
+ */
7
119
  interrupt(): Effect.Effect<void, never, never>;
8
120
  }
121
+ /** Acquires a scoped `MulticastEffect` whose finalizer interrupts recorded work.
122
+ *
123
+ * @remarks
124
+ * ## Why
125
+ *
126
+ * The scoped constructor makes the detached-fiber lifetime explicit and prevents a computation
127
+ * from surviving the application lifetime that requested sharing.
128
+ *
129
+ * ## Ownership and lifetime
130
+ *
131
+ * Acquisition allocates the wrapper but does not start `effect`. The first execution starts work;
132
+ * closing the required Scope calls `interrupt` and waits for the recorded fiber to terminate. The
133
+ * original effect's `E` and `R` channels are preserved when the wrapper is executed.
134
+ *
135
+ * @example
136
+ * ```ts
137
+ * import { makeMulticastEffect } from "@typed/fx/Fx/internal/multicast"
138
+ * import * as Effect from "effect/Effect"
139
+ *
140
+ * const program = Effect.gen(function* () {
141
+ * const shared = yield* makeMulticastEffect(Effect.succeed("ready"))
142
+ * return yield* shared
143
+ * })
144
+ *
145
+ * Effect.runSync(Effect.scoped(program))
146
+ * ```
147
+ *
148
+ * @since 1.0.0
149
+ * @category constructors
150
+ * @stability internal-but-published
151
+ */
9
152
  export declare const makeMulticastEffect: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<MulticastEffect<A, E, R>, never, import("effect/Scope").Scope>;
10
153
  //# sourceMappingURL=multicast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multicast.d.ts","sourceRoot":"","sources":["../../../src/Fx/internal/multicast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,qBAAa,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,SAAQ,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,MAAM,CAAkC;IAEhD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAE5B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAK1C,QAAQ;IAkBR,SAAS;CAaV;AAED,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,iFAIxE,CAAC"}
1
+ {"version":3,"file":"multicast.d.ts","sourceRoot":"","sources":["../../../src/Fx/internal/multicast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,SAAQ,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3E,OAAO,CAAC,MAAM,CAAkC;IAEhD;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,YAAY,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAmBzC;IAED;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1C;;;;;;;;;;;;;;;OAeG;IACH,SAAS,sCAYR;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,iFAIxE,CAAC"}