@typed/fx 2.0.0-beta.3 → 2.0.0-beta.5

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 (663) hide show
  1. package/README.md +34 -20
  2. package/dist/Fx/Fx.d.ts +364 -12
  3. package/dist/Fx/Fx.d.ts.map +1 -1
  4. package/dist/Fx/Fx.js +37 -6
  5. package/dist/Fx/TypeId.d.ts +49 -3
  6. package/dist/Fx/TypeId.d.ts.map +1 -1
  7. package/dist/Fx/TypeId.js +39 -2
  8. package/dist/Fx/combinators/additive.d.ts +156 -5
  9. package/dist/Fx/combinators/additive.d.ts.map +1 -1
  10. package/dist/Fx/combinators/additive.js +156 -5
  11. package/dist/Fx/combinators/catch.d.ts +195 -22
  12. package/dist/Fx/combinators/catch.d.ts.map +1 -1
  13. package/dist/Fx/combinators/catch.js +186 -16
  14. package/dist/Fx/combinators/causes.d.ts +24 -1
  15. package/dist/Fx/combinators/causes.d.ts.map +1 -1
  16. package/dist/Fx/combinators/causes.js +24 -1
  17. package/dist/Fx/combinators/changesWithEffect.d.ts +20 -0
  18. package/dist/Fx/combinators/changesWithEffect.d.ts.map +1 -1
  19. package/dist/Fx/combinators/changesWithEffect.js +20 -0
  20. package/dist/Fx/combinators/compact.d.ts +17 -0
  21. package/dist/Fx/combinators/compact.d.ts.map +1 -1
  22. package/dist/Fx/combinators/compact.js +17 -0
  23. package/dist/Fx/combinators/concatMap.d.ts +86 -0
  24. package/dist/Fx/combinators/concatMap.d.ts.map +1 -0
  25. package/dist/Fx/combinators/concatMap.js +86 -0
  26. package/dist/Fx/combinators/continueWith.d.ts +109 -1
  27. package/dist/Fx/combinators/continueWith.d.ts.map +1 -1
  28. package/dist/Fx/combinators/continueWith.js +109 -1
  29. package/dist/Fx/combinators/debounce.d.ts +34 -0
  30. package/dist/Fx/combinators/debounce.d.ts.map +1 -0
  31. package/dist/Fx/combinators/debounce.js +35 -0
  32. package/dist/Fx/combinators/delay.d.ts +34 -0
  33. package/dist/Fx/combinators/delay.d.ts.map +1 -0
  34. package/dist/Fx/combinators/delay.js +31 -0
  35. package/dist/Fx/combinators/dropUntil.d.ts +42 -0
  36. package/dist/Fx/combinators/dropUntil.d.ts.map +1 -1
  37. package/dist/Fx/combinators/dropUntil.js +42 -0
  38. package/dist/Fx/combinators/during.d.ts +38 -0
  39. package/dist/Fx/combinators/during.d.ts.map +1 -0
  40. package/dist/Fx/combinators/during.js +85 -0
  41. package/dist/Fx/combinators/ensuring.d.ts +33 -3
  42. package/dist/Fx/combinators/ensuring.d.ts.map +1 -1
  43. package/dist/Fx/combinators/ensuring.js +33 -3
  44. package/dist/Fx/combinators/exhaustLatestMap.d.ts +40 -4
  45. package/dist/Fx/combinators/exhaustLatestMap.d.ts.map +1 -1
  46. package/dist/Fx/combinators/exhaustLatestMap.js +40 -4
  47. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts +39 -3
  48. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts.map +1 -1
  49. package/dist/Fx/combinators/exhaustLatestMapEffect.js +39 -3
  50. package/dist/Fx/combinators/exhaustMap.d.ts +37 -0
  51. package/dist/Fx/combinators/exhaustMap.d.ts.map +1 -1
  52. package/dist/Fx/combinators/exhaustMap.js +37 -0
  53. package/dist/Fx/combinators/exhaustMapEffect.d.ts +32 -0
  54. package/dist/Fx/combinators/exhaustMapEffect.d.ts.map +1 -1
  55. package/dist/Fx/combinators/exhaustMapEffect.js +32 -0
  56. package/dist/Fx/combinators/exit.d.ts +22 -1
  57. package/dist/Fx/combinators/exit.d.ts.map +1 -1
  58. package/dist/Fx/combinators/exit.js +22 -1
  59. package/dist/Fx/combinators/filter.d.ts +16 -0
  60. package/dist/Fx/combinators/filter.d.ts.map +1 -1
  61. package/dist/Fx/combinators/filter.js +16 -0
  62. package/dist/Fx/combinators/filterEffect.d.ts +21 -0
  63. package/dist/Fx/combinators/filterEffect.d.ts.map +1 -1
  64. package/dist/Fx/combinators/filterEffect.js +21 -0
  65. package/dist/Fx/combinators/filterMap.d.ts +19 -0
  66. package/dist/Fx/combinators/filterMap.d.ts.map +1 -1
  67. package/dist/Fx/combinators/filterMap.js +19 -0
  68. package/dist/Fx/combinators/filterMapEffect.d.ts +20 -0
  69. package/dist/Fx/combinators/filterMapEffect.d.ts.map +1 -1
  70. package/dist/Fx/combinators/filterMapEffect.js +20 -0
  71. package/dist/Fx/combinators/filterMapLoop.d.ts +19 -0
  72. package/dist/Fx/combinators/filterMapLoop.d.ts.map +1 -1
  73. package/dist/Fx/combinators/filterMapLoop.js +19 -0
  74. package/dist/Fx/combinators/filterMapLoopCause.d.ts +20 -0
  75. package/dist/Fx/combinators/filterMapLoopCause.d.ts.map +1 -1
  76. package/dist/Fx/combinators/filterMapLoopCause.js +20 -0
  77. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts +20 -0
  78. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts.map +1 -1
  79. package/dist/Fx/combinators/filterMapLoopCauseEffect.js +20 -0
  80. package/dist/Fx/combinators/filterMapLoopEffect.d.ts +20 -0
  81. package/dist/Fx/combinators/filterMapLoopEffect.d.ts.map +1 -1
  82. package/dist/Fx/combinators/filterMapLoopEffect.js +20 -0
  83. package/dist/Fx/combinators/flatMap.d.ts +48 -3
  84. package/dist/Fx/combinators/flatMap.d.ts.map +1 -1
  85. package/dist/Fx/combinators/flatMap.js +35 -2
  86. package/dist/Fx/combinators/flatMapConcurrently.d.ts +50 -3
  87. package/dist/Fx/combinators/flatMapConcurrently.d.ts.map +1 -1
  88. package/dist/Fx/combinators/flatMapConcurrently.js +47 -1
  89. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts +47 -3
  90. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts.map +1 -1
  91. package/dist/Fx/combinators/flatMapConcurrentlyEffect.js +39 -1
  92. package/dist/Fx/combinators/flatMapEffect.d.ts +44 -2
  93. package/dist/Fx/combinators/flatMapEffect.d.ts.map +1 -1
  94. package/dist/Fx/combinators/flatMapEffect.js +31 -1
  95. package/dist/Fx/combinators/flip.d.ts +33 -1
  96. package/dist/Fx/combinators/flip.d.ts.map +1 -1
  97. package/dist/Fx/combinators/flip.js +33 -1
  98. package/dist/Fx/combinators/gen.d.ts +28 -9
  99. package/dist/Fx/combinators/gen.d.ts.map +1 -1
  100. package/dist/Fx/combinators/gen.js +27 -3
  101. package/dist/Fx/combinators/genScoped.d.ts +32 -9
  102. package/dist/Fx/combinators/genScoped.d.ts.map +1 -1
  103. package/dist/Fx/combinators/genScoped.js +30 -2
  104. package/dist/Fx/combinators/grouped.d.ts +89 -0
  105. package/dist/Fx/combinators/grouped.d.ts.map +1 -0
  106. package/dist/Fx/combinators/grouped.js +146 -0
  107. package/dist/Fx/combinators/index.d.ts +35 -0
  108. package/dist/Fx/combinators/index.d.ts.map +1 -1
  109. package/dist/Fx/combinators/index.js +35 -0
  110. package/dist/Fx/combinators/keyed.d.ts +121 -7
  111. package/dist/Fx/combinators/keyed.d.ts.map +1 -1
  112. package/dist/Fx/combinators/keyed.js +68 -10
  113. package/dist/Fx/combinators/loop.d.ts +16 -0
  114. package/dist/Fx/combinators/loop.d.ts.map +1 -1
  115. package/dist/Fx/combinators/loop.js +16 -0
  116. package/dist/Fx/combinators/loopCause.d.ts +17 -0
  117. package/dist/Fx/combinators/loopCause.d.ts.map +1 -1
  118. package/dist/Fx/combinators/loopCause.js +17 -0
  119. package/dist/Fx/combinators/loopCauseEffect.d.ts +18 -0
  120. package/dist/Fx/combinators/loopCauseEffect.d.ts.map +1 -1
  121. package/dist/Fx/combinators/loopCauseEffect.js +18 -0
  122. package/dist/Fx/combinators/loopEffect.d.ts +23 -0
  123. package/dist/Fx/combinators/loopEffect.d.ts.map +1 -1
  124. package/dist/Fx/combinators/loopEffect.js +23 -0
  125. package/dist/Fx/combinators/map.d.ts +45 -0
  126. package/dist/Fx/combinators/map.d.ts.map +1 -1
  127. package/dist/Fx/combinators/map.js +42 -0
  128. package/dist/Fx/combinators/mapBoth.d.ts +19 -0
  129. package/dist/Fx/combinators/mapBoth.d.ts.map +1 -1
  130. package/dist/Fx/combinators/mapBoth.js +19 -0
  131. package/dist/Fx/combinators/mapEffect.d.ts +24 -0
  132. package/dist/Fx/combinators/mapEffect.d.ts.map +1 -1
  133. package/dist/Fx/combinators/mapEffect.js +24 -0
  134. package/dist/Fx/combinators/mapError.d.ts +20 -4
  135. package/dist/Fx/combinators/mapError.d.ts.map +1 -1
  136. package/dist/Fx/combinators/mapError.js +20 -4
  137. package/dist/Fx/combinators/mergeAll.d.ts +34 -0
  138. package/dist/Fx/combinators/mergeAll.d.ts.map +1 -1
  139. package/dist/Fx/combinators/mergeAll.js +34 -0
  140. package/dist/Fx/combinators/mergeOrdered.d.ts +35 -3
  141. package/dist/Fx/combinators/mergeOrdered.d.ts.map +1 -1
  142. package/dist/Fx/combinators/mergeOrdered.js +35 -3
  143. package/dist/Fx/combinators/onError.d.ts +33 -3
  144. package/dist/Fx/combinators/onError.d.ts.map +1 -1
  145. package/dist/Fx/combinators/onError.js +33 -3
  146. package/dist/Fx/combinators/onExit.d.ts +28 -2
  147. package/dist/Fx/combinators/onExit.d.ts.map +1 -1
  148. package/dist/Fx/combinators/onExit.js +28 -2
  149. package/dist/Fx/combinators/onInterrupt.d.ts +48 -3
  150. package/dist/Fx/combinators/onInterrupt.d.ts.map +1 -1
  151. package/dist/Fx/combinators/onInterrupt.js +48 -3
  152. package/dist/Fx/combinators/pairwise.d.ts +28 -0
  153. package/dist/Fx/combinators/pairwise.d.ts.map +1 -0
  154. package/dist/Fx/combinators/pairwise.js +31 -0
  155. package/dist/Fx/combinators/provide.d.ts +138 -17
  156. package/dist/Fx/combinators/provide.d.ts.map +1 -1
  157. package/dist/Fx/combinators/provide.js +134 -13
  158. package/dist/Fx/combinators/race.d.ts +92 -0
  159. package/dist/Fx/combinators/race.d.ts.map +1 -0
  160. package/dist/Fx/combinators/race.js +149 -0
  161. package/dist/Fx/combinators/repeat.d.ts +41 -0
  162. package/dist/Fx/combinators/repeat.d.ts.map +1 -0
  163. package/dist/Fx/combinators/repeat.js +57 -0
  164. package/dist/Fx/combinators/result.d.ts +22 -0
  165. package/dist/Fx/combinators/result.d.ts.map +1 -1
  166. package/dist/Fx/combinators/result.js +26 -12
  167. package/dist/Fx/combinators/retry.d.ts +53 -0
  168. package/dist/Fx/combinators/retry.d.ts.map +1 -0
  169. package/dist/Fx/combinators/retry.js +71 -0
  170. package/dist/Fx/combinators/sample.d.ts +31 -0
  171. package/dist/Fx/combinators/sample.d.ts.map +1 -0
  172. package/dist/Fx/combinators/sample.js +42 -0
  173. package/dist/Fx/combinators/scan.d.ts +39 -0
  174. package/dist/Fx/combinators/scan.d.ts.map +1 -1
  175. package/dist/Fx/combinators/scan.js +41 -2
  176. package/dist/Fx/combinators/since.d.ts +30 -0
  177. package/dist/Fx/combinators/since.d.ts.map +1 -0
  178. package/dist/Fx/combinators/since.js +39 -0
  179. package/dist/Fx/combinators/skip.d.ts +31 -0
  180. package/dist/Fx/combinators/skip.d.ts.map +1 -1
  181. package/dist/Fx/combinators/skip.js +31 -0
  182. package/dist/Fx/combinators/skipRepeats.d.ts +16 -0
  183. package/dist/Fx/combinators/skipRepeats.d.ts.map +1 -1
  184. package/dist/Fx/combinators/skipRepeats.js +16 -0
  185. package/dist/Fx/combinators/skipRepeatsWith.d.ts +17 -0
  186. package/dist/Fx/combinators/skipRepeatsWith.d.ts.map +1 -1
  187. package/dist/Fx/combinators/skipRepeatsWith.js +17 -0
  188. package/dist/Fx/combinators/skipWhile.d.ts +68 -0
  189. package/dist/Fx/combinators/skipWhile.d.ts.map +1 -1
  190. package/dist/Fx/combinators/skipWhile.js +68 -0
  191. package/dist/Fx/combinators/slice.d.ts +82 -0
  192. package/dist/Fx/combinators/slice.d.ts.map +1 -1
  193. package/dist/Fx/combinators/slice.js +33 -0
  194. package/dist/Fx/combinators/switchMap.d.ts +38 -0
  195. package/dist/Fx/combinators/switchMap.d.ts.map +1 -1
  196. package/dist/Fx/combinators/switchMap.js +42 -4
  197. package/dist/Fx/combinators/switchMapEffect.d.ts +37 -0
  198. package/dist/Fx/combinators/switchMapEffect.d.ts.map +1 -1
  199. package/dist/Fx/combinators/switchMapEffect.js +37 -0
  200. package/dist/Fx/combinators/take.d.ts +32 -0
  201. package/dist/Fx/combinators/take.d.ts.map +1 -1
  202. package/dist/Fx/combinators/take.js +32 -0
  203. package/dist/Fx/combinators/takeUntil.d.ts +46 -0
  204. package/dist/Fx/combinators/takeUntil.d.ts.map +1 -1
  205. package/dist/Fx/combinators/takeUntil.js +46 -0
  206. package/dist/Fx/combinators/takeWhile.d.ts +31 -0
  207. package/dist/Fx/combinators/takeWhile.d.ts.map +1 -1
  208. package/dist/Fx/combinators/takeWhile.js +31 -0
  209. package/dist/Fx/combinators/tapEffect.d.ts +16 -0
  210. package/dist/Fx/combinators/tapEffect.d.ts.map +1 -1
  211. package/dist/Fx/combinators/tapEffect.js +16 -0
  212. package/dist/Fx/combinators/throttle.d.ts +79 -0
  213. package/dist/Fx/combinators/throttle.d.ts.map +1 -0
  214. package/dist/Fx/combinators/throttle.js +99 -0
  215. package/dist/Fx/combinators/timeout.d.ts +76 -0
  216. package/dist/Fx/combinators/timeout.d.ts.map +1 -0
  217. package/dist/Fx/combinators/timeout.js +110 -0
  218. package/dist/Fx/combinators/tuple.d.ts +30 -0
  219. package/dist/Fx/combinators/tuple.d.ts.map +1 -1
  220. package/dist/Fx/combinators/tuple.js +34 -3
  221. package/dist/Fx/combinators/until.d.ts +27 -0
  222. package/dist/Fx/combinators/until.d.ts.map +1 -0
  223. package/dist/Fx/combinators/until.js +56 -0
  224. package/dist/Fx/combinators/unwrap.d.ts +29 -0
  225. package/dist/Fx/combinators/unwrap.d.ts.map +1 -1
  226. package/dist/Fx/combinators/unwrap.js +29 -0
  227. package/dist/Fx/combinators/unwrapScoped.d.ts +33 -0
  228. package/dist/Fx/combinators/unwrapScoped.d.ts.map +1 -1
  229. package/dist/Fx/combinators/unwrapScoped.js +33 -0
  230. package/dist/Fx/combinators/when.d.ts +35 -0
  231. package/dist/Fx/combinators/when.d.ts.map +1 -1
  232. package/dist/Fx/combinators/when.js +36 -1
  233. package/dist/Fx/combinators/withLatestFrom.d.ts +58 -0
  234. package/dist/Fx/combinators/withLatestFrom.d.ts.map +1 -0
  235. package/dist/Fx/combinators/withLatestFrom.js +68 -0
  236. package/dist/Fx/combinators/withSpan.d.ts +35 -1
  237. package/dist/Fx/combinators/withSpan.d.ts.map +1 -1
  238. package/dist/Fx/combinators/withSpan.js +34 -3
  239. package/dist/Fx/combinators/zip.d.ts +60 -0
  240. package/dist/Fx/combinators/zip.d.ts.map +1 -1
  241. package/dist/Fx/combinators/zip.js +60 -0
  242. package/dist/Fx/constructors/at.d.ts +20 -0
  243. package/dist/Fx/constructors/at.d.ts.map +1 -1
  244. package/dist/Fx/constructors/at.js +20 -0
  245. package/dist/Fx/constructors/die.d.ts +21 -0
  246. package/dist/Fx/constructors/die.d.ts.map +1 -1
  247. package/dist/Fx/constructors/die.js +21 -0
  248. package/dist/Fx/constructors/empty.d.ts +18 -0
  249. package/dist/Fx/constructors/empty.d.ts.map +1 -1
  250. package/dist/Fx/constructors/empty.js +18 -0
  251. package/dist/Fx/constructors/fail.d.ts +21 -0
  252. package/dist/Fx/constructors/fail.d.ts.map +1 -1
  253. package/dist/Fx/constructors/fail.js +21 -0
  254. package/dist/Fx/constructors/failCause.d.ts +22 -0
  255. package/dist/Fx/constructors/failCause.d.ts.map +1 -1
  256. package/dist/Fx/constructors/failCause.js +22 -0
  257. package/dist/Fx/constructors/fn.d.ts +113 -13
  258. package/dist/Fx/constructors/fn.d.ts.map +1 -1
  259. package/dist/Fx/constructors/fn.js +36 -0
  260. package/dist/Fx/constructors/fromEffect.d.ts +43 -1
  261. package/dist/Fx/constructors/fromEffect.d.ts.map +1 -1
  262. package/dist/Fx/constructors/fromEffect.js +43 -1
  263. package/dist/Fx/constructors/fromFailures.d.ts +24 -0
  264. package/dist/Fx/constructors/fromFailures.d.ts.map +1 -1
  265. package/dist/Fx/constructors/fromFailures.js +24 -0
  266. package/dist/Fx/constructors/fromIterable.d.ts +22 -0
  267. package/dist/Fx/constructors/fromIterable.d.ts.map +1 -1
  268. package/dist/Fx/constructors/fromIterable.js +22 -0
  269. package/dist/Fx/constructors/fromSchedule.d.ts +23 -0
  270. package/dist/Fx/constructors/fromSchedule.d.ts.map +1 -1
  271. package/dist/Fx/constructors/fromSchedule.js +25 -2
  272. package/dist/Fx/constructors/index.d.ts +2 -1
  273. package/dist/Fx/constructors/index.d.ts.map +1 -1
  274. package/dist/Fx/constructors/index.js +2 -1
  275. package/dist/Fx/constructors/interrupt.d.ts +21 -1
  276. package/dist/Fx/constructors/interrupt.d.ts.map +1 -1
  277. package/dist/Fx/constructors/interrupt.js +21 -1
  278. package/dist/Fx/constructors/make.d.ts +146 -1
  279. package/dist/Fx/constructors/make.d.ts.map +1 -1
  280. package/dist/Fx/constructors/make.js +56 -5
  281. package/dist/Fx/constructors/periodic.d.ts +29 -0
  282. package/dist/Fx/constructors/periodic.d.ts.map +1 -1
  283. package/dist/Fx/constructors/periodic.js +29 -0
  284. package/dist/Fx/constructors/succeed.d.ts +75 -3
  285. package/dist/Fx/constructors/succeed.d.ts.map +1 -1
  286. package/dist/Fx/constructors/succeed.js +75 -3
  287. package/dist/Fx/constructors/suspend.d.ts +28 -0
  288. package/dist/Fx/constructors/suspend.d.ts.map +1 -1
  289. package/dist/Fx/constructors/suspend.js +28 -0
  290. package/dist/Fx/constructors/sync.d.ts +32 -0
  291. package/dist/Fx/constructors/sync.d.ts.map +1 -0
  292. package/dist/Fx/constructors/sync.js +32 -0
  293. package/dist/Fx/internal/DeferredRef.d.ts +259 -7
  294. package/dist/Fx/internal/DeferredRef.d.ts.map +1 -1
  295. package/dist/Fx/internal/DeferredRef.js +260 -9
  296. package/dist/Fx/internal/UnionToTuple.d.ts +22 -0
  297. package/dist/Fx/internal/UnionToTuple.d.ts.map +1 -1
  298. package/dist/Fx/internal/diff.d.ts +586 -0
  299. package/dist/Fx/internal/diff.d.ts.map +1 -1
  300. package/dist/Fx/internal/diff.js +120 -9
  301. package/dist/Fx/internal/effectableEvaluateKey.d.ts +30 -0
  302. package/dist/Fx/internal/effectableEvaluateKey.d.ts.map +1 -0
  303. package/dist/Fx/internal/effectableEvaluateKey.js +29 -0
  304. package/dist/Fx/internal/effectableWithOverride.d.ts +55 -0
  305. package/dist/Fx/internal/effectableWithOverride.d.ts.map +1 -0
  306. package/dist/Fx/internal/effectableWithOverride.js +46 -0
  307. package/dist/Fx/internal/equivalence.d.ts +29 -0
  308. package/dist/Fx/internal/equivalence.d.ts.map +1 -1
  309. package/dist/Fx/internal/equivalence.js +29 -0
  310. package/dist/Fx/internal/multicast.d.ts +145 -2
  311. package/dist/Fx/internal/multicast.d.ts.map +1 -1
  312. package/dist/Fx/internal/multicast.js +146 -4
  313. package/dist/Fx/internal/ring-buffer.d.ts +149 -0
  314. package/dist/Fx/internal/ring-buffer.d.ts.map +1 -1
  315. package/dist/Fx/internal/ring-buffer.js +155 -0
  316. package/dist/Fx/internal/scope.d.ts +184 -0
  317. package/dist/Fx/internal/scope.d.ts.map +1 -1
  318. package/dist/Fx/internal/scope.js +150 -0
  319. package/dist/Fx/internal/yieldable.d.ts +117 -2
  320. package/dist/Fx/internal/yieldable.d.ts.map +1 -1
  321. package/dist/Fx/internal/yieldable.js +86 -3
  322. package/dist/Fx/run/collect.d.ts +89 -0
  323. package/dist/Fx/run/collect.d.ts.map +1 -1
  324. package/dist/Fx/run/collect.js +90 -1
  325. package/dist/Fx/run/first.d.ts +22 -0
  326. package/dist/Fx/run/first.d.ts.map +1 -1
  327. package/dist/Fx/run/first.js +22 -0
  328. package/dist/Fx/run/fork.d.ts +50 -0
  329. package/dist/Fx/run/fork.d.ts.map +1 -1
  330. package/dist/Fx/run/fork.js +50 -0
  331. package/dist/Fx/run/observe.d.ts +106 -0
  332. package/dist/Fx/run/observe.d.ts.map +1 -1
  333. package/dist/Fx/run/observe.js +108 -2
  334. package/dist/Fx/run/runPromise.d.ts +43 -0
  335. package/dist/Fx/run/runPromise.d.ts.map +1 -1
  336. package/dist/Fx/run/runPromise.js +43 -0
  337. package/dist/Fx/stream.d.ts +92 -0
  338. package/dist/Fx/stream.d.ts.map +1 -1
  339. package/dist/Fx/stream.js +60 -1
  340. package/dist/Push/Push.d.ts +1219 -94
  341. package/dist/Push/Push.d.ts.map +1 -1
  342. package/dist/Push/Push.js +1015 -86
  343. package/dist/RefArray.d.ts +2 -0
  344. package/dist/RefArray.d.ts.map +1 -0
  345. package/dist/RefArray.js +1 -0
  346. package/dist/RefBigDecimal.d.ts +2 -0
  347. package/dist/RefBigDecimal.d.ts.map +1 -0
  348. package/dist/RefBigDecimal.js +1 -0
  349. package/dist/RefBigInt.d.ts +2 -0
  350. package/dist/RefBigInt.d.ts.map +1 -0
  351. package/dist/RefBigInt.js +1 -0
  352. package/dist/RefBoolean.d.ts +2 -0
  353. package/dist/RefBoolean.d.ts.map +1 -0
  354. package/dist/RefBoolean.js +1 -0
  355. package/dist/RefCause.d.ts +2 -0
  356. package/dist/RefCause.d.ts.map +1 -0
  357. package/dist/RefCause.js +1 -0
  358. package/dist/RefChunk.d.ts +2 -0
  359. package/dist/RefChunk.d.ts.map +1 -0
  360. package/dist/RefChunk.js +1 -0
  361. package/dist/RefDateTime.d.ts +2 -0
  362. package/dist/RefDateTime.d.ts.map +1 -0
  363. package/dist/RefDateTime.js +1 -0
  364. package/dist/RefDuration.d.ts +2 -0
  365. package/dist/RefDuration.d.ts.map +1 -0
  366. package/dist/RefDuration.js +1 -0
  367. package/dist/RefGraph.d.ts +2 -0
  368. package/dist/RefGraph.d.ts.map +1 -0
  369. package/dist/RefGraph.js +1 -0
  370. package/dist/RefHashMap.d.ts +2 -0
  371. package/dist/RefHashMap.d.ts.map +1 -0
  372. package/dist/RefHashMap.js +1 -0
  373. package/dist/RefHashRing.d.ts +2 -0
  374. package/dist/RefHashRing.d.ts.map +1 -0
  375. package/dist/RefHashRing.js +1 -0
  376. package/dist/RefHashSet.d.ts +2 -0
  377. package/dist/RefHashSet.d.ts.map +1 -0
  378. package/dist/RefHashSet.js +1 -0
  379. package/dist/RefIterable.d.ts +2 -0
  380. package/dist/RefIterable.d.ts.map +1 -0
  381. package/dist/RefIterable.js +1 -0
  382. package/dist/RefOption.d.ts +2 -0
  383. package/dist/RefOption.d.ts.map +1 -0
  384. package/dist/RefOption.js +1 -0
  385. package/dist/RefRecord.d.ts +2 -0
  386. package/dist/RefRecord.d.ts.map +1 -0
  387. package/dist/RefRecord.js +1 -0
  388. package/dist/RefResult.d.ts +2 -0
  389. package/dist/RefResult.d.ts.map +1 -0
  390. package/dist/RefResult.js +1 -0
  391. package/dist/RefString.d.ts +2 -0
  392. package/dist/RefString.d.ts.map +1 -0
  393. package/dist/RefString.js +1 -0
  394. package/dist/RefStruct.d.ts +2 -0
  395. package/dist/RefStruct.d.ts.map +1 -0
  396. package/dist/RefStruct.js +1 -0
  397. package/dist/RefSubject/Hydration.d.ts +504 -0
  398. package/dist/RefSubject/Hydration.d.ts.map +1 -0
  399. package/dist/RefSubject/Hydration.js +300 -0
  400. package/dist/RefSubject/RefArray.d.ts +351 -4
  401. package/dist/RefSubject/RefArray.d.ts.map +1 -1
  402. package/dist/RefSubject/RefArray.js +339 -3
  403. package/dist/RefSubject/RefBigDecimal.d.ts +221 -1
  404. package/dist/RefSubject/RefBigDecimal.d.ts.map +1 -1
  405. package/dist/RefSubject/RefBigDecimal.js +210 -1
  406. package/dist/RefSubject/RefBigInt.d.ts +166 -1
  407. package/dist/RefSubject/RefBigInt.d.ts.map +1 -1
  408. package/dist/RefSubject/RefBigInt.js +155 -1
  409. package/dist/RefSubject/RefBoolean.d.ts +166 -1
  410. package/dist/RefSubject/RefBoolean.d.ts.map +1 -1
  411. package/dist/RefSubject/RefBoolean.js +155 -1
  412. package/dist/RefSubject/RefCause.d.ts +122 -1
  413. package/dist/RefSubject/RefCause.d.ts.map +1 -1
  414. package/dist/RefSubject/RefCause.js +111 -1
  415. package/dist/RefSubject/RefChunk.d.ts +406 -1
  416. package/dist/RefSubject/RefChunk.d.ts.map +1 -1
  417. package/dist/RefSubject/RefChunk.js +394 -0
  418. package/dist/RefSubject/RefDateTime.d.ts +122 -1
  419. package/dist/RefSubject/RefDateTime.d.ts.map +1 -1
  420. package/dist/RefSubject/RefDateTime.js +111 -1
  421. package/dist/RefSubject/RefDuration.d.ts +155 -1
  422. package/dist/RefSubject/RefDuration.d.ts.map +1 -1
  423. package/dist/RefSubject/RefDuration.js +144 -1
  424. package/dist/RefSubject/RefGraph.d.ts +320 -6
  425. package/dist/RefSubject/RefGraph.d.ts.map +1 -1
  426. package/dist/RefSubject/RefGraph.js +303 -0
  427. package/dist/RefSubject/RefHashMap.d.ts +296 -1
  428. package/dist/RefSubject/RefHashMap.d.ts.map +1 -1
  429. package/dist/RefSubject/RefHashMap.js +284 -0
  430. package/dist/RefSubject/RefHashRing.d.ts +146 -2
  431. package/dist/RefSubject/RefHashRing.d.ts.map +1 -1
  432. package/dist/RefSubject/RefHashRing.js +133 -0
  433. package/dist/RefSubject/RefHashSet.d.ts +230 -1
  434. package/dist/RefSubject/RefHashSet.d.ts.map +1 -1
  435. package/dist/RefSubject/RefHashSet.js +218 -0
  436. package/dist/RefSubject/RefIterable.d.ts +327 -1
  437. package/dist/RefSubject/RefIterable.d.ts.map +1 -1
  438. package/dist/RefSubject/RefIterable.js +315 -0
  439. package/dist/RefSubject/RefOption.d.ts +144 -1
  440. package/dist/RefSubject/RefOption.d.ts.map +1 -1
  441. package/dist/RefSubject/RefOption.js +133 -1
  442. package/dist/RefSubject/RefRecord.d.ts +339 -1
  443. package/dist/RefSubject/RefRecord.d.ts.map +1 -1
  444. package/dist/RefSubject/RefRecord.js +327 -0
  445. package/dist/RefSubject/RefResult.d.ts +155 -23
  446. package/dist/RefSubject/RefResult.d.ts.map +1 -1
  447. package/dist/RefSubject/RefResult.js +122 -1
  448. package/dist/RefSubject/RefString.d.ts +188 -1
  449. package/dist/RefSubject/RefString.d.ts.map +1 -1
  450. package/dist/RefSubject/RefString.js +177 -1
  451. package/dist/RefSubject/RefStruct.d.ts +156 -1
  452. package/dist/RefSubject/RefStruct.d.ts.map +1 -1
  453. package/dist/RefSubject/RefStruct.js +145 -1
  454. package/dist/RefSubject/RefSubject.d.ts +1168 -15
  455. package/dist/RefSubject/RefSubject.d.ts.map +1 -1
  456. package/dist/RefSubject/RefSubject.js +850 -58
  457. package/dist/RefSubject/RefTrie.d.ts +290 -4
  458. package/dist/RefSubject/RefTrie.d.ts.map +1 -1
  459. package/dist/RefSubject/RefTrie.js +278 -3
  460. package/dist/RefSubject/RefTuple.d.ts +117 -1
  461. package/dist/RefSubject/RefTuple.d.ts.map +1 -1
  462. package/dist/RefSubject/RefTuple.js +106 -1
  463. package/dist/RefSubject/index.d.ts +1 -0
  464. package/dist/RefSubject/index.d.ts.map +1 -1
  465. package/dist/RefSubject/index.js +1 -0
  466. package/dist/RefSubject.d.ts +2 -1
  467. package/dist/RefSubject.d.ts.map +1 -1
  468. package/dist/RefSubject.js +2 -1
  469. package/dist/RefTrie.d.ts +2 -0
  470. package/dist/RefTrie.d.ts.map +1 -0
  471. package/dist/RefTrie.js +1 -0
  472. package/dist/RefTuple.d.ts +2 -0
  473. package/dist/RefTuple.d.ts.map +1 -0
  474. package/dist/RefTuple.js +1 -0
  475. package/dist/Sink/Sink.d.ts +385 -14
  476. package/dist/Sink/Sink.d.ts.map +1 -1
  477. package/dist/Sink/Sink.js +53 -6
  478. package/dist/Sink/combinators.d.ts +731 -2
  479. package/dist/Sink/combinators.d.ts.map +1 -1
  480. package/dist/Sink/combinators.js +707 -5
  481. package/dist/Subject/Subject.d.ts +1016 -22
  482. package/dist/Subject/Subject.d.ts.map +1 -1
  483. package/dist/Subject/Subject.js +904 -39
  484. package/dist/Versioned/Versioned.d.ts +426 -9
  485. package/dist/Versioned/Versioned.d.ts.map +1 -1
  486. package/dist/Versioned/Versioned.js +241 -15
  487. package/dist/index.d.ts +22 -3
  488. package/dist/index.d.ts.map +1 -1
  489. package/dist/index.js +22 -3
  490. package/package.json +120 -11
  491. package/dist/Fx/constructors/fromYieldable.d.ts +0 -12
  492. package/dist/Fx/constructors/fromYieldable.d.ts.map +0 -1
  493. package/dist/Fx/constructors/fromYieldable.js +0 -12
  494. package/src/Fx/Fx.ts +0 -164
  495. package/src/Fx/TypeId.ts +0 -25
  496. package/src/Fx/combinators/additive.ts +0 -142
  497. package/src/Fx/combinators/catch.ts +0 -416
  498. package/src/Fx/combinators/causes.ts +0 -23
  499. package/src/Fx/combinators/changesWithEffect.ts +0 -66
  500. package/src/Fx/combinators/compact.ts +0 -15
  501. package/src/Fx/combinators/continueWith.ts +0 -78
  502. package/src/Fx/combinators/dropUntil.ts +0 -47
  503. package/src/Fx/combinators/ensuring.ts +0 -23
  504. package/src/Fx/combinators/exhaustLatestMap.ts +0 -74
  505. package/src/Fx/combinators/exhaustLatestMapEffect.ts +0 -25
  506. package/src/Fx/combinators/exhaustMap.ts +0 -36
  507. package/src/Fx/combinators/exhaustMapEffect.ts +0 -23
  508. package/src/Fx/combinators/exit.ts +0 -15
  509. package/src/Fx/combinators/filter.ts +0 -22
  510. package/src/Fx/combinators/filterEffect.ts +0 -31
  511. package/src/Fx/combinators/filterMap.ts +0 -23
  512. package/src/Fx/combinators/filterMapEffect.ts +0 -32
  513. package/src/Fx/combinators/filterMapLoop.ts +0 -35
  514. package/src/Fx/combinators/filterMapLoopCause.ts +0 -36
  515. package/src/Fx/combinators/filterMapLoopCauseEffect.ts +0 -46
  516. package/src/Fx/combinators/filterMapLoopEffect.ts +0 -36
  517. package/src/Fx/combinators/flatMap.ts +0 -51
  518. package/src/Fx/combinators/flatMapConcurrently.ts +0 -39
  519. package/src/Fx/combinators/flatMapConcurrentlyEffect.ts +0 -26
  520. package/src/Fx/combinators/flatMapEffect.ts +0 -42
  521. package/src/Fx/combinators/flip.ts +0 -14
  522. package/src/Fx/combinators/gen.ts +0 -24
  523. package/src/Fx/combinators/genScoped.ts +0 -24
  524. package/src/Fx/combinators/index.ts +0 -61
  525. package/src/Fx/combinators/keyed.ts +0 -369
  526. package/src/Fx/combinators/loop.ts +0 -27
  527. package/src/Fx/combinators/loopCause.ts +0 -34
  528. package/src/Fx/combinators/loopCauseEffect.ts +0 -36
  529. package/src/Fx/combinators/loopEffect.ts +0 -34
  530. package/src/Fx/combinators/map.ts +0 -22
  531. package/src/Fx/combinators/mapBoth.ts +0 -40
  532. package/src/Fx/combinators/mapEffect.ts +0 -32
  533. package/src/Fx/combinators/mapError.ts +0 -28
  534. package/src/Fx/combinators/mergeAll.ts +0 -22
  535. package/src/Fx/combinators/mergeOrdered.ts +0 -123
  536. package/src/Fx/combinators/onError.ts +0 -40
  537. package/src/Fx/combinators/onExit.ts +0 -82
  538. package/src/Fx/combinators/onInterrupt.ts +0 -87
  539. package/src/Fx/combinators/provide.ts +0 -124
  540. package/src/Fx/combinators/result.ts +0 -39
  541. package/src/Fx/combinators/scan.ts +0 -82
  542. package/src/Fx/combinators/skip.ts +0 -41
  543. package/src/Fx/combinators/skipRepeats.ts +0 -15
  544. package/src/Fx/combinators/skipRepeatsWith.ts +0 -40
  545. package/src/Fx/combinators/skipWhile.ts +0 -100
  546. package/src/Fx/combinators/slice.ts +0 -55
  547. package/src/Fx/combinators/switchMap.ts +0 -55
  548. package/src/Fx/combinators/switchMapEffect.ts +0 -25
  549. package/src/Fx/combinators/take.ts +0 -38
  550. package/src/Fx/combinators/takeUntil.ts +0 -88
  551. package/src/Fx/combinators/takeWhile.ts +0 -47
  552. package/src/Fx/combinators/tapEffect.ts +0 -39
  553. package/src/Fx/combinators/tuple.ts +0 -79
  554. package/src/Fx/combinators/unwrap.ts +0 -21
  555. package/src/Fx/combinators/unwrapScoped.ts +0 -26
  556. package/src/Fx/combinators/when.ts +0 -64
  557. package/src/Fx/combinators/withSpan.ts +0 -24
  558. package/src/Fx/combinators/zip.ts +0 -175
  559. package/src/Fx/constructors/at.ts +0 -23
  560. package/src/Fx/constructors/die.ts +0 -17
  561. package/src/Fx/constructors/empty.ts +0 -10
  562. package/src/Fx/constructors/fail.ts +0 -14
  563. package/src/Fx/constructors/failCause.ts +0 -14
  564. package/src/Fx/constructors/fn.ts +0 -245
  565. package/src/Fx/constructors/fromEffect.ts +0 -24
  566. package/src/Fx/constructors/fromFailures.ts +0 -19
  567. package/src/Fx/constructors/fromIterable.ts +0 -15
  568. package/src/Fx/constructors/fromSchedule.ts +0 -18
  569. package/src/Fx/constructors/fromYieldable.ts +0 -17
  570. package/src/Fx/constructors/index.ts +0 -15
  571. package/src/Fx/constructors/interrupt.ts +0 -13
  572. package/src/Fx/constructors/make.ts +0 -103
  573. package/src/Fx/constructors/periodic.ts +0 -15
  574. package/src/Fx/constructors/succeed.ts +0 -37
  575. package/src/Fx/constructors/suspend.ts +0 -6
  576. package/src/Fx/index.ts +0 -6
  577. package/src/Fx/internal/DeferredRef.ts +0 -87
  578. package/src/Fx/internal/UnionToTuple.ts +0 -12
  579. package/src/Fx/internal/diff.ts +0 -191
  580. package/src/Fx/internal/equivalence.ts +0 -12
  581. package/src/Fx/internal/multicast.ts +0 -51
  582. package/src/Fx/internal/ring-buffer.ts +0 -60
  583. package/src/Fx/internal/scope.ts +0 -58
  584. package/src/Fx/internal/yieldable.ts +0 -31
  585. package/src/Fx/run/collect.ts +0 -79
  586. package/src/Fx/run/first.ts +0 -20
  587. package/src/Fx/run/fork.ts +0 -40
  588. package/src/Fx/run/index.ts +0 -5
  589. package/src/Fx/run/observe.ts +0 -114
  590. package/src/Fx/run/runPromise.ts +0 -32
  591. package/src/Fx/stream.ts +0 -42
  592. package/src/Fx.additive-combinators.test.ts +0 -126
  593. package/src/Fx.catch-additive.test.ts +0 -206
  594. package/src/Fx.catch.test.ts +0 -60
  595. package/src/Fx.dropUntil.test.ts +0 -61
  596. package/src/Fx.fn.test.ts +0 -51
  597. package/src/Fx.lifecycle.test.ts +0 -79
  598. package/src/Fx.mapError-mapBoth.test.ts +0 -101
  599. package/src/Fx.provide-combinators.test.ts +0 -94
  600. package/src/Fx.result-changesWithEffect.test.ts +0 -112
  601. package/src/Fx.scan.test.ts +0 -73
  602. package/src/Fx.takeWhile-skipWhile.test.ts +0 -84
  603. package/src/Fx.test.ts +0 -71
  604. package/src/Fx.ts +0 -1
  605. package/src/Fx.zip-merge-additive.test.ts +0 -171
  606. package/src/Fx.zip.test.ts +0 -133
  607. package/src/Push/Push.ts +0 -1072
  608. package/src/Push/index.ts +0 -1
  609. package/src/Push.additive.test.ts +0 -256
  610. package/src/Push.test.ts +0 -26
  611. package/src/Push.ts +0 -1
  612. package/src/RefSubject/RefArray.ts +0 -516
  613. package/src/RefSubject/RefBigDecimal.test.ts +0 -56
  614. package/src/RefSubject/RefBigDecimal.ts +0 -295
  615. package/src/RefSubject/RefBigInt.test.ts +0 -56
  616. package/src/RefSubject/RefBigInt.ts +0 -189
  617. package/src/RefSubject/RefBoolean.test.ts +0 -57
  618. package/src/RefSubject/RefBoolean.ts +0 -185
  619. package/src/RefSubject/RefCause.test.ts +0 -53
  620. package/src/RefSubject/RefCause.ts +0 -146
  621. package/src/RefSubject/RefChunk.ts +0 -516
  622. package/src/RefSubject/RefDateTime.test.ts +0 -43
  623. package/src/RefSubject/RefDateTime.ts +0 -261
  624. package/src/RefSubject/RefDuration.test.ts +0 -49
  625. package/src/RefSubject/RefDuration.ts +0 -188
  626. package/src/RefSubject/RefGraph.ts +0 -649
  627. package/src/RefSubject/RefHashMap.ts +0 -474
  628. package/src/RefSubject/RefHashRing.ts +0 -262
  629. package/src/RefSubject/RefHashSet.ts +0 -308
  630. package/src/RefSubject/RefIterable.ts +0 -454
  631. package/src/RefSubject/RefOption.test.ts +0 -67
  632. package/src/RefSubject/RefOption.ts +0 -193
  633. package/src/RefSubject/RefRecord.ts +0 -621
  634. package/src/RefSubject/RefResult.test.ts +0 -63
  635. package/src/RefSubject/RefResult.ts +0 -209
  636. package/src/RefSubject/RefString.test.ts +0 -61
  637. package/src/RefSubject/RefString.ts +0 -256
  638. package/src/RefSubject/RefStruct.test.ts +0 -60
  639. package/src/RefSubject/RefStruct.ts +0 -253
  640. package/src/RefSubject/RefSubject.ts +0 -2644
  641. package/src/RefSubject/RefTrie.ts +0 -365
  642. package/src/RefSubject/RefTuple.test.ts +0 -60
  643. package/src/RefSubject/RefTuple.ts +0 -231
  644. package/src/RefSubject/index.ts +0 -21
  645. package/src/RefSubject.additive-parity.test.ts +0 -101
  646. package/src/RefSubject.test.ts +0 -65
  647. package/src/RefSubject.ts +0 -1
  648. package/src/Sink/Sink.ts +0 -159
  649. package/src/Sink/combinators.ts +0 -1115
  650. package/src/Sink/index.ts +0 -2
  651. package/src/Sink.combinators.test.ts +0 -88
  652. package/src/Sink.reduce-collect-head-last.test.ts +0 -107
  653. package/src/Sink.ts +0 -1
  654. package/src/Subject/Subject.ts +0 -441
  655. package/src/Subject/index.ts +0 -1
  656. package/src/Subject.test.ts +0 -47
  657. package/src/Subject.ts +0 -1
  658. package/src/Versioned/Versioned.ts +0 -597
  659. package/src/Versioned/index.ts +0 -1
  660. package/src/Versioned.filterMap.test.ts +0 -91
  661. package/src/Versioned.test.ts +0 -23
  662. package/src/Versioned.ts +0 -1
  663. package/src/index.ts +0 -7
@@ -12,10 +12,21 @@ import { Result } from "effect";
12
12
  /**
13
13
  * Creates a new `RefArray` from an array, `Effect`, or `Fx`.
14
14
  *
15
+ * @remarks
16
+ * ## Why
17
+ *
18
+ * Creates array state with equality suited to that Effect data type, so unchanged values do not
19
+ * produce redundant pushed updates.
20
+ *
21
+ * ## Ownership and lifetime
22
+ *
23
+ * The creation Effect requires Scope. It owns initializer acquisition, live source subscriptions,
24
+ * and cleanup; source failures and services stay on reads and pushes.
25
+ *
15
26
  * @example
16
27
  * ```ts
17
28
  * import { Effect } from "effect"
18
- * import * as RefArray from "@typed/fx/RefSubject/RefArray"
29
+ * import * as RefArray from "@typed/fx/RefArray"
19
30
  *
20
31
  * // From a plain array
21
32
  * const program1 = Effect.gen(function* () {
@@ -42,6 +53,17 @@ export function make(initial, eq = equals) {
42
53
  }
43
54
  /**
44
55
  * Prepend a value to the current state of a RefArray.
56
+ * @remarks
57
+ * ## Why
58
+ *
59
+ * Expresses prepend as one ordered array transition; readers never observe the intermediate
60
+ * collection used to build the result.
61
+ *
62
+ * ## Ownership and lifetime
63
+ *
64
+ * Running prepend performs one serialized array transition and resolves with its committed value.
65
+ * It acquires no resource; failures and services remain those of the source ref.
66
+ *
45
67
  * @since 1.18.0
46
68
  * @category combinators
47
69
  */
@@ -50,6 +72,17 @@ export const prepend = dual(2, function prepend(ref, value) {
50
72
  });
51
73
  /**
52
74
  * Prepend an iterable of values to the current state of a RefArray.
75
+ * @remarks
76
+ * ## Why
77
+ *
78
+ * Expresses prepend all as one ordered array transition; readers never observe the intermediate
79
+ * collection used to build the result.
80
+ *
81
+ * ## Ownership and lifetime
82
+ *
83
+ * Running prepend all performs one serialized array transition and resolves with its committed
84
+ * value. It acquires no resource; failures and services remain those of the source ref.
85
+ *
53
86
  * @since 1.18.0
54
87
  * @category combinators
55
88
  */
@@ -58,6 +91,17 @@ export const prependAll = dual(2, function prependAll(ref, value) {
58
91
  });
59
92
  /**
60
93
  * Append a value to the current state of a RefArray.
94
+ * @remarks
95
+ * ## Why
96
+ *
97
+ * Expresses append as one ordered array transition; readers never observe the intermediate
98
+ * collection used to build the result.
99
+ *
100
+ * ## Ownership and lifetime
101
+ *
102
+ * Running append performs one serialized array transition and resolves with its committed value.
103
+ * It acquires no resource; failures and services remain those of the source ref.
104
+ *
61
105
  * @since 1.18.0
62
106
  * @category combinators
63
107
  */
@@ -66,6 +110,17 @@ export const append = dual(2, function append(ref, value) {
66
110
  });
67
111
  /**
68
112
  * Append an iterable of values to the current state of a RefArray.
113
+ * @remarks
114
+ * ## Why
115
+ *
116
+ * Expresses append all as one ordered array transition; readers never observe the intermediate
117
+ * collection used to build the result.
118
+ *
119
+ * ## Ownership and lifetime
120
+ *
121
+ * Running append all performs one serialized array transition and resolves with its committed
122
+ * value. It acquires no resource; failures and services remain those of the source ref.
123
+ *
69
124
  * @since 1.18.0
70
125
  * @category combinators
71
126
  */
@@ -74,6 +129,17 @@ export const appendAll = dual(2, function appendAll(ref, value) {
74
129
  });
75
130
  /**
76
131
  * Drop the first `n` values from a RefArray.
132
+ * @remarks
133
+ * ## Why
134
+ *
135
+ * Applies drop to the committed array value and publishes only the result, preserving its element
136
+ * order and equality rules.
137
+ *
138
+ * ## Ownership and lifetime
139
+ *
140
+ * Running drop performs one serialized array transition and resolves with its committed value. It
141
+ * acquires no resource; failures and services remain those of the source ref.
142
+ *
77
143
  * @since 1.18.0
78
144
  * @category combinators
79
145
  */
@@ -82,6 +148,17 @@ export const drop = dual(2, function drop(ref, n) {
82
148
  });
83
149
  /**
84
150
  * Drop the last `n` values from a RefArray.
151
+ * @remarks
152
+ * ## Why
153
+ *
154
+ * Applies drop right to the committed array value and publishes only the result, preserving its
155
+ * element order and equality rules.
156
+ *
157
+ * ## Ownership and lifetime
158
+ *
159
+ * Running drop right performs one serialized array transition and resolves with its committed
160
+ * value. It acquires no resource; failures and services remain those of the source ref.
161
+ *
85
162
  * @since 1.18.0
86
163
  * @category combinators
87
164
  */
@@ -90,6 +167,17 @@ export const dropRight = dual(2, function dropRight(ref, n) {
90
167
  });
91
168
  /**
92
169
  * Drop values from a RefArray while a predicate is true.
170
+ * @remarks
171
+ * ## Why
172
+ *
173
+ * Applies drop while to the committed array value and publishes only the result, preserving its
174
+ * element order and equality rules.
175
+ *
176
+ * ## Ownership and lifetime
177
+ *
178
+ * Running drop while performs one serialized array transition and resolves with its committed
179
+ * value. It acquires no resource; failures and services remain those of the source ref.
180
+ *
93
181
  * @since 1.18.0
94
182
  * @category combinators
95
183
  */
@@ -98,6 +186,17 @@ export const dropWhile = dual(2, function dropWhile(ref, predicate) {
98
186
  });
99
187
  /**
100
188
  * Filter the values of a RefArray using a predicate creating a Computed value.
189
+ * @remarks
190
+ * ## Why
191
+ *
192
+ * Projects array state with filter values for both current reads and future pushes, avoiding a
193
+ * second mutable cache of the derived value.
194
+ *
195
+ * ## Ownership and lifetime
196
+ *
197
+ * The filter values view retains no independent state. An Effect read samples the source once; Fx
198
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
199
+ *
101
200
  * @since 1.18.0
102
201
  * @category computed
103
202
  */
@@ -106,6 +205,17 @@ export const filterValues = dual(2, function filterValues(ref, predicate) {
106
205
  });
107
206
  /**
108
207
  * Get a value contained a particular index of a RefArray.
208
+ * @remarks
209
+ * ## Why
210
+ *
211
+ * Models the possibly absent result of get index as Filtered state, so absence stays explicit
212
+ * while later source versions can make a value available.
213
+ *
214
+ * ## Ownership and lifetime
215
+ *
216
+ * The get index view retains no independent value. Its Effect read fails with NoSuchElement
217
+ * while absent; the observing Scope owns and finalizes its Fx subscription.
218
+ *
109
219
  * @since 1.18.0
110
220
  * @category filtered
111
221
  */
@@ -114,6 +224,17 @@ export const getIndex = dual(2, function getIndex(ref, index) {
114
224
  });
115
225
  /**
116
226
  * Group the values of a RefArray by a key.
227
+ * @remarks
228
+ * ## Why
229
+ *
230
+ * Projects array state with group by for both current reads and future pushes, avoiding a second
231
+ * mutable cache of the derived value.
232
+ *
233
+ * ## Ownership and lifetime
234
+ *
235
+ * The group by view retains no independent state. An Effect read samples the source once; Fx
236
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
237
+ *
117
238
  * @since 1.18.0
118
239
  * @category computed
119
240
  */
@@ -122,6 +243,17 @@ export const groupBy = dual(2, function groupBy(ref, f) {
122
243
  });
123
244
  /**
124
245
  * Insert a value at a particular index of a RefArray.
246
+ * @remarks
247
+ * ## Why
248
+ *
249
+ * Expresses insert at as one ordered array transition; readers never observe the intermediate
250
+ * collection used to build the result.
251
+ *
252
+ * ## Ownership and lifetime
253
+ *
254
+ * Running insert at performs one serialized array transition and resolves with its committed
255
+ * value. It acquires no resource; failures and services remain those of the source ref.
256
+ *
125
257
  * @since 1.18.0
126
258
  * @category combinators
127
259
  */
@@ -130,24 +262,74 @@ export const insertAt = dual(3, function insertAt(ref, index, a) {
130
262
  });
131
263
  /**
132
264
  * Check to see if a RefArray is empty.
265
+ * @remarks
266
+ * ## Why
267
+ *
268
+ * Makes is empty a live projection of the array; consumers can sample it now or observe it without
269
+ * copying the source state.
270
+ *
271
+ * ## Ownership and lifetime
272
+ *
273
+ * The is empty view retains no independent state. An Effect read samples the source once; Fx
274
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
275
+ *
133
276
  * @since 1.18.0
134
277
  * @category computed
135
278
  */
136
279
  export const isEmpty = (ref) => RefSubject.map(ref, ReadonlyArray.isReadonlyArrayEmpty);
137
280
  /**
138
281
  * Check to see if a RefArray is non-empty.
282
+ * @remarks
283
+ * ## Why
284
+ *
285
+ * Makes is non empty a live projection of the array; consumers can sample it now or observe it
286
+ * without copying the source state.
287
+ *
288
+ * ## Ownership and lifetime
289
+ *
290
+ * The is non empty view retains no independent state. An Effect read samples the source once; Fx
291
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
292
+ *
139
293
  * @since 1.18.0
140
294
  * @category computed
141
295
  */
142
296
  export const isNonEmpty = (ref) => RefSubject.map(ref, ReadonlyArray.isReadonlyArrayNonEmpty);
143
297
  /**
144
298
  * Get the current length of a RefArray.
299
+ * @remarks
300
+ * ## Why
301
+ *
302
+ * Makes length a live projection of the array; consumers can sample it now or observe it without
303
+ * copying the source state.
304
+ *
305
+ * ## Ownership and lifetime
306
+ *
307
+ * The length view retains no independent state. An Effect read samples the source once; Fx
308
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
309
+ *
145
310
  * @since 1.18.0
146
311
  * @category computed
147
312
  */
148
313
  export const length = (ref) => RefSubject.map(ref, ReadonlyArray.length);
149
314
  /**
150
315
  * Map (Endomorphic) the values of a RefArray.
316
+ * @remarks
317
+ * ## Why
318
+ *
319
+ * The implementation applies the endomorphic map through `RefSubject.update`, replacing the
320
+ * writable RefArray in one serialized transition. The published Computed return type does not
321
+ * describe that runtime behavior.
322
+ *
323
+ * ## Ownership and lifetime
324
+ *
325
+ * The Effect starts when run, participates in the source ref's serialized update boundary, and
326
+ * acquires no resource. It returns the committed array and retains the ref's E and R channels.
327
+ * ## Known API defect
328
+ *
329
+ * The public overloads currently declare `Computed<ReadonlyArray<A>, E, R>`, but the implementation
330
+ * returns the update Effect from `RefSubject.update`. This documentation reports the shipped mismatch;
331
+ * changing that signature or runtime behavior requires a separate compatibility decision.
332
+ *
151
333
  * @since 1.18.0
152
334
  * @category combinators
153
335
  */
@@ -156,6 +338,17 @@ export const map = dual(2, function mapValues(ref, f) {
156
338
  });
157
339
  /**
158
340
  * Map the values with their indexes of a RefArray.
341
+ * @remarks
342
+ * ## Why
343
+ *
344
+ * Projects array state with map values for both current reads and future pushes, avoiding a second
345
+ * mutable cache of the derived value.
346
+ *
347
+ * ## Ownership and lifetime
348
+ *
349
+ * The map values view retains no independent state. An Effect read samples the source once; Fx
350
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
351
+ *
159
352
  * @since 1.18.0
160
353
  * @category computed
161
354
  */
@@ -164,6 +357,17 @@ export const mapValues = dual(2, function mapValues(ref, f) {
164
357
  });
165
358
  /**
166
359
  * Modify the value at a particular index of a RefArray.
360
+ * @remarks
361
+ * ## Why
362
+ *
363
+ * Keeps modify at atomic with respect to competing RefSubject writes instead of splitting the read
364
+ * and replacement into separate effects.
365
+ *
366
+ * ## Ownership and lifetime
367
+ *
368
+ * Running modify at performs one serialized array transition and resolves with its committed
369
+ * value. It acquires no resource; failures and services remain those of the source ref.
370
+ *
167
371
  * @since 1.18.0
168
372
  * @category combinators
169
373
  */
@@ -172,6 +376,17 @@ export const modifyAt = dual(3, function modifyAt(ref, index, f) {
172
376
  });
173
377
  /**
174
378
  * Partition the values of a RefArray using a predicate.
379
+ * @remarks
380
+ * ## Why
381
+ *
382
+ * Partition the values of a RefArray using a predicate. The operation remains attached to the
383
+ * RefSubject's versioned state boundary.
384
+ *
385
+ * ## Ownership and lifetime
386
+ *
387
+ * The partition view retains no independent state. An Effect read samples the source once; Fx
388
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
389
+ *
175
390
  * @since 1.18.0
176
391
  * @category computed
177
392
  */
@@ -180,6 +395,17 @@ export const partition = dual(2, function partition(ref, predicate) {
180
395
  });
181
396
  /**
182
397
  * Reduce the values of a RefArray to a single value.
398
+ * @remarks
399
+ * ## Why
400
+ *
401
+ * Makes reduce a live projection of the array; consumers can sample it now or observe it without
402
+ * copying the source state.
403
+ *
404
+ * ## Ownership and lifetime
405
+ *
406
+ * The reduce view retains no independent state. An Effect read samples the source once; Fx
407
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
408
+ *
183
409
  * @since 1.18.0
184
410
  * @category computed
185
411
  */
@@ -188,6 +414,17 @@ export const reduce = dual(3, function reduce(ref, b, f) {
188
414
  });
189
415
  /**
190
416
  * Reduce the values of a RefArray to a single value in reverse order.
417
+ * @remarks
418
+ * ## Why
419
+ *
420
+ * Makes reduce right a live projection of the array; consumers can sample it now or observe it
421
+ * without copying the source state.
422
+ *
423
+ * ## Ownership and lifetime
424
+ *
425
+ * The reduce right view retains no independent state. An Effect read samples the source once; Fx
426
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
427
+ *
191
428
  * @since 1.18.0
192
429
  * @category computed
193
430
  */
@@ -196,6 +433,17 @@ export const reduceRight = dual(3, function reduceRight(ref, b, f) {
196
433
  });
197
434
  /**
198
435
  * Replace a value at a particular index of a RefArray.
436
+ * @remarks
437
+ * ## Why
438
+ *
439
+ * Keeps replace at atomic with respect to competing RefSubject writes instead of splitting the
440
+ * read and replacement into separate effects.
441
+ *
442
+ * ## Ownership and lifetime
443
+ *
444
+ * Running replace at performs one serialized array transition and resolves with its committed
445
+ * value. It acquires no resource; failures and services remain those of the source ref.
446
+ *
199
447
  * @since 1.18.0
200
448
  * @category combinators
201
449
  */
@@ -204,6 +452,17 @@ export const replaceAt = dual(3, function replaceAt(ref, index, a) {
204
452
  });
205
453
  /**
206
454
  * Rotate the values of a RefArray by `n` places. Helpful for things like carousels.
455
+ * @remarks
456
+ * ## Why
457
+ *
458
+ * Derives the reordered array through its Effect collection operation while retaining RefSubject
459
+ * equality and version tracking.
460
+ *
461
+ * ## Ownership and lifetime
462
+ *
463
+ * Running rotate performs one serialized array transition and resolves with its committed value.
464
+ * It acquires no resource; failures and services remain those of the source ref.
465
+ *
207
466
  * @since 1.18.0
208
467
  * @category combinators
209
468
  */
@@ -212,6 +471,17 @@ export const rotate = dual(2, function rotate(ref, n) {
212
471
  });
213
472
  /**
214
473
  * Sort the values of a RefArray using a provided Order.
474
+ * @remarks
475
+ * ## Why
476
+ *
477
+ * Derives the reordered array through its Effect collection operation while retaining RefSubject
478
+ * equality and version tracking.
479
+ *
480
+ * ## Ownership and lifetime
481
+ *
482
+ * Running sort by performs one serialized array transition and resolves with its committed value.
483
+ * It acquires no resource; failures and services remain those of the source ref.
484
+ *
215
485
  * @since 1.18.0
216
486
  * @category combinators
217
487
  */
@@ -220,6 +490,17 @@ export const sortBy = dual(2, function sortBy(ref, orders) {
220
490
  });
221
491
  /**
222
492
  * Take the first `n` values from a RefArray.
493
+ * @remarks
494
+ * ## Why
495
+ *
496
+ * Applies take to the committed array value and publishes only the result, preserving its element
497
+ * order and equality rules.
498
+ *
499
+ * ## Ownership and lifetime
500
+ *
501
+ * Running take performs one serialized array transition and resolves with its committed value. It
502
+ * acquires no resource; failures and services remain those of the source ref.
503
+ *
223
504
  * @since 1.18.0
224
505
  * @category combinators
225
506
  */
@@ -228,6 +509,17 @@ export const take = dual(2, function take(ref, n) {
228
509
  });
229
510
  /**
230
511
  * Take the last `n` values from a RefArray.
512
+ * @remarks
513
+ * ## Why
514
+ *
515
+ * Applies take right to the committed array value and publishes only the result, preserving its
516
+ * element order and equality rules.
517
+ *
518
+ * ## Ownership and lifetime
519
+ *
520
+ * Running take right performs one serialized array transition and resolves with its committed
521
+ * value. It acquires no resource; failures and services remain those of the source ref.
522
+ *
231
523
  * @since 1.18.0
232
524
  * @category combinators
233
525
  */
@@ -236,6 +528,17 @@ export const takeRight = dual(2, function takeRight(ref, n) {
236
528
  });
237
529
  /**
238
530
  * Take values from a RefArray while a predicate is true.
531
+ * @remarks
532
+ * ## Why
533
+ *
534
+ * Applies take while to the committed array value and publishes only the result, preserving its
535
+ * element order and equality rules.
536
+ *
537
+ * ## Ownership and lifetime
538
+ *
539
+ * Running take while performs one serialized array transition and resolves with its committed
540
+ * value. It acquires no resource; failures and services remain those of the source ref.
541
+ *
239
542
  * @since 1.18.0
240
543
  * @category combinators
241
544
  */
@@ -244,6 +547,17 @@ export const takeWhile = dual(2, function takeWhile(ref, predicate) {
244
547
  });
245
548
  /**
246
549
  * Remove any duplicate values from a RefArray.
550
+ * @remarks
551
+ * ## Why
552
+ *
553
+ * Derives the reordered array through its Effect collection operation while retaining RefSubject
554
+ * equality and version tracking.
555
+ *
556
+ * ## Ownership and lifetime
557
+ *
558
+ * Running dedupe with performs one serialized array transition and resolves with its committed
559
+ * value. It acquires no resource; failures and services remain those of the source ref.
560
+ *
247
561
  * @since 1.18.0
248
562
  * @category combinators
249
563
  */
@@ -251,10 +565,21 @@ export const dedupeWith = (valueEq) => (ref) => RefSubject.update(ref, ReadonlyA
251
565
  /**
252
566
  * Gets the last element of a `RefArray` as a `Filtered`.
253
567
  *
568
+ * @remarks
569
+ * ## Why
570
+ *
571
+ * Models the possibly absent result of last as Filtered state, so absence stays explicit while
572
+ * later source versions can make a value available.
573
+ *
574
+ * ## Ownership and lifetime
575
+ *
576
+ * The last view retains no independent value. Its Effect read fails with NoSuchElement
577
+ * while absent; the observing Scope owns and finalizes its Fx subscription.
578
+ *
254
579
  * @example
255
580
  * ```ts
256
581
  * import { Effect } from "effect"
257
- * import * as RefArray from "@typed/fx/RefSubject/RefArray"
582
+ * import * as RefArray from "@typed/fx/RefArray"
258
583
  *
259
584
  * const program = Effect.gen(function* () {
260
585
  * const items = yield* RefArray.make([1, 2, 3, 4, 5])
@@ -276,10 +601,21 @@ export const last = (ref) => RefSubject.filterMap(ref, ReadonlyArray.last);
276
601
  /**
277
602
  * Gets the first element of a `RefArray` as a `Filtered`.
278
603
  *
604
+ * @remarks
605
+ * ## Why
606
+ *
607
+ * Models the possibly absent result of head as Filtered state, so absence stays explicit while
608
+ * later source versions can make a value available.
609
+ *
610
+ * ## Ownership and lifetime
611
+ *
612
+ * The head view retains no independent value. Its Effect read fails with NoSuchElement
613
+ * while absent; the observing Scope owns and finalizes its Fx subscription.
614
+ *
279
615
  * @example
280
616
  * ```ts
281
617
  * import { Effect } from "effect"
282
- * import * as RefArray from "@typed/fx/RefSubject/RefArray"
618
+ * import * as RefArray from "@typed/fx/RefArray"
283
619
  *
284
620
  * const program = Effect.gen(function* () {
285
621
  * const items = yield* RefArray.make([1, 2, 3, 4, 5])