@typed/fx 2.0.0-beta.0 → 2.0.0-beta.10

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 (640) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -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 +245 -0
  10. package/dist/Fx/combinators/additive.d.ts.map +1 -0
  11. package/dist/Fx/combinators/additive.js +243 -0
  12. package/dist/Fx/combinators/catch.d.ts +246 -12
  13. package/dist/Fx/combinators/catch.d.ts.map +1 -1
  14. package/dist/Fx/combinators/catch.js +236 -12
  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 +40 -0
  19. package/dist/Fx/combinators/changesWithEffect.d.ts.map +1 -0
  20. package/dist/Fx/combinators/changesWithEffect.js +48 -0
  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 +71 -0
  37. package/dist/Fx/combinators/dropUntil.d.ts.map +1 -0
  38. package/dist/Fx/combinators/dropUntil.js +65 -0
  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 +51 -4
  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 +45 -0
  109. package/dist/Fx/combinators/index.d.ts.map +1 -1
  110. package/dist/Fx/combinators/index.js +45 -0
  111. package/dist/Fx/combinators/keyed.d.ts +124 -10
  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 +40 -0
  130. package/dist/Fx/combinators/mapBoth.d.ts.map +1 -0
  131. package/dist/Fx/combinators/mapBoth.js +33 -0
  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 +33 -0
  136. package/dist/Fx/combinators/mapError.d.ts.map +1 -0
  137. package/dist/Fx/combinators/mapError.js +32 -0
  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 +162 -8
  157. package/dist/Fx/combinators/provide.d.ts.map +1 -1
  158. package/dist/Fx/combinators/provide.js +154 -6
  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 +45 -0
  166. package/dist/Fx/combinators/result.d.ts.map +1 -0
  167. package/dist/Fx/combinators/result.js +46 -0
  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 +72 -0
  175. package/dist/Fx/combinators/scan.d.ts.map +1 -0
  176. package/dist/Fx/combinators/scan.js +77 -0
  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 +45 -1
  181. package/dist/Fx/combinators/skip.d.ts.map +1 -1
  182. package/dist/Fx/combinators/skip.js +43 -1
  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 +117 -0
  190. package/dist/Fx/combinators/skipWhile.d.ts.map +1 -0
  191. package/dist/Fx/combinators/skipWhile.js +134 -0
  192. package/dist/Fx/combinators/slice.d.ts +97 -2
  193. package/dist/Fx/combinators/slice.d.ts.map +1 -1
  194. package/dist/Fx/combinators/slice.js +45 -1
  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 +46 -1
  202. package/dist/Fx/combinators/take.d.ts.map +1 -1
  203. package/dist/Fx/combinators/take.js +44 -1
  204. package/dist/Fx/combinators/takeUntil.d.ts +62 -2
  205. package/dist/Fx/combinators/takeUntil.d.ts.map +1 -1
  206. package/dist/Fx/combinators/takeUntil.js +62 -2
  207. package/dist/Fx/combinators/takeWhile.d.ts +60 -0
  208. package/dist/Fx/combinators/takeWhile.d.ts.map +1 -0
  209. package/dist/Fx/combinators/takeWhile.js +54 -0
  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 +135 -0
  241. package/dist/Fx/combinators/zip.d.ts.map +1 -0
  242. package/dist/Fx/combinators/zip.js +160 -0
  243. package/dist/Fx/constructors/at.d.ts +23 -3
  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 +31 -2
  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 +55 -0
  306. package/dist/Fx/internal/effectableWithOverride.d.ts.map +1 -0
  307. package/dist/Fx/internal/effectableWithOverride.js +46 -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 +1286 -98
  342. package/dist/Push/Push.d.ts.map +1 -1
  343. package/dist/Push/Push.js +1074 -88
  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 +137 -16
  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 +1242 -43
  456. package/dist/RefSubject/RefSubject.d.ts.map +1 -1
  457. package/dist/RefSubject/RefSubject.js +1012 -86
  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 +789 -3
  480. package/dist/Sink/combinators.d.ts.map +1 -1
  481. package/dist/Sink/combinators.js +812 -7
  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 +475 -25
  486. package/dist/Versioned/Versioned.d.ts.map +1 -1
  487. package/dist/Versioned/Versioned.js +298 -46
  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 +125 -11
  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/catch.ts +0 -165
  498. package/src/Fx/combinators/causes.ts +0 -23
  499. package/src/Fx/combinators/compact.ts +0 -15
  500. package/src/Fx/combinators/continueWith.ts +0 -78
  501. package/src/Fx/combinators/ensuring.ts +0 -23
  502. package/src/Fx/combinators/exhaustLatestMap.ts +0 -74
  503. package/src/Fx/combinators/exhaustLatestMapEffect.ts +0 -25
  504. package/src/Fx/combinators/exhaustMap.ts +0 -36
  505. package/src/Fx/combinators/exhaustMapEffect.ts +0 -23
  506. package/src/Fx/combinators/exit.ts +0 -15
  507. package/src/Fx/combinators/filter.ts +0 -22
  508. package/src/Fx/combinators/filterEffect.ts +0 -31
  509. package/src/Fx/combinators/filterMap.ts +0 -23
  510. package/src/Fx/combinators/filterMapEffect.ts +0 -32
  511. package/src/Fx/combinators/filterMapLoop.ts +0 -35
  512. package/src/Fx/combinators/filterMapLoopCause.ts +0 -36
  513. package/src/Fx/combinators/filterMapLoopCauseEffect.ts +0 -46
  514. package/src/Fx/combinators/filterMapLoopEffect.ts +0 -36
  515. package/src/Fx/combinators/flatMap.ts +0 -51
  516. package/src/Fx/combinators/flatMapConcurrently.ts +0 -36
  517. package/src/Fx/combinators/flatMapConcurrentlyEffect.ts +0 -26
  518. package/src/Fx/combinators/flatMapEffect.ts +0 -42
  519. package/src/Fx/combinators/flip.ts +0 -14
  520. package/src/Fx/combinators/gen.ts +0 -24
  521. package/src/Fx/combinators/genScoped.ts +0 -24
  522. package/src/Fx/combinators/index.ts +0 -51
  523. package/src/Fx/combinators/keyed.ts +0 -369
  524. package/src/Fx/combinators/loop.ts +0 -27
  525. package/src/Fx/combinators/loopCause.ts +0 -34
  526. package/src/Fx/combinators/loopCauseEffect.ts +0 -36
  527. package/src/Fx/combinators/loopEffect.ts +0 -34
  528. package/src/Fx/combinators/map.ts +0 -22
  529. package/src/Fx/combinators/mapEffect.ts +0 -32
  530. package/src/Fx/combinators/mergeAll.ts +0 -22
  531. package/src/Fx/combinators/mergeOrdered.ts +0 -123
  532. package/src/Fx/combinators/onError.ts +0 -40
  533. package/src/Fx/combinators/onExit.ts +0 -82
  534. package/src/Fx/combinators/onInterrupt.ts +0 -87
  535. package/src/Fx/combinators/provide.ts +0 -62
  536. package/src/Fx/combinators/skip.ts +0 -20
  537. package/src/Fx/combinators/skipRepeats.ts +0 -15
  538. package/src/Fx/combinators/skipRepeatsWith.ts +0 -40
  539. package/src/Fx/combinators/slice.ts +0 -32
  540. package/src/Fx/combinators/switchMap.ts +0 -55
  541. package/src/Fx/combinators/switchMapEffect.ts +0 -25
  542. package/src/Fx/combinators/take.ts +0 -17
  543. package/src/Fx/combinators/takeUntil.ts +0 -50
  544. package/src/Fx/combinators/tapEffect.ts +0 -39
  545. package/src/Fx/combinators/tuple.ts +0 -79
  546. package/src/Fx/combinators/unwrap.ts +0 -21
  547. package/src/Fx/combinators/unwrapScoped.ts +0 -26
  548. package/src/Fx/combinators/when.ts +0 -64
  549. package/src/Fx/combinators/withSpan.ts +0 -24
  550. package/src/Fx/constructors/at.ts +0 -23
  551. package/src/Fx/constructors/die.ts +0 -17
  552. package/src/Fx/constructors/empty.ts +0 -10
  553. package/src/Fx/constructors/fail.ts +0 -14
  554. package/src/Fx/constructors/failCause.ts +0 -14
  555. package/src/Fx/constructors/fn.ts +0 -245
  556. package/src/Fx/constructors/fromEffect.ts +0 -24
  557. package/src/Fx/constructors/fromFailures.ts +0 -19
  558. package/src/Fx/constructors/fromIterable.ts +0 -15
  559. package/src/Fx/constructors/fromSchedule.ts +0 -18
  560. package/src/Fx/constructors/fromYieldable.ts +0 -17
  561. package/src/Fx/constructors/index.ts +0 -15
  562. package/src/Fx/constructors/interrupt.ts +0 -13
  563. package/src/Fx/constructors/make.ts +0 -103
  564. package/src/Fx/constructors/periodic.ts +0 -15
  565. package/src/Fx/constructors/succeed.ts +0 -37
  566. package/src/Fx/constructors/suspend.ts +0 -6
  567. package/src/Fx/index.ts +0 -6
  568. package/src/Fx/internal/DeferredRef.ts +0 -87
  569. package/src/Fx/internal/UnionToTuple.ts +0 -12
  570. package/src/Fx/internal/diff.ts +0 -191
  571. package/src/Fx/internal/equivalence.ts +0 -12
  572. package/src/Fx/internal/multicast.ts +0 -51
  573. package/src/Fx/internal/ring-buffer.ts +0 -60
  574. package/src/Fx/internal/scope.ts +0 -58
  575. package/src/Fx/internal/yieldable.ts +0 -31
  576. package/src/Fx/run/collect.ts +0 -79
  577. package/src/Fx/run/first.ts +0 -20
  578. package/src/Fx/run/fork.ts +0 -40
  579. package/src/Fx/run/index.ts +0 -5
  580. package/src/Fx/run/observe.ts +0 -114
  581. package/src/Fx/run/runPromise.ts +0 -32
  582. package/src/Fx/stream.ts +0 -42
  583. package/src/Fx.catch.test.ts +0 -61
  584. package/src/Fx.fn.test.ts +0 -51
  585. package/src/Fx.lifecycle.test.ts +0 -80
  586. package/src/Fx.test.ts +0 -71
  587. package/src/Fx.ts +0 -1
  588. package/src/Push/Push.ts +0 -903
  589. package/src/Push/index.ts +0 -1
  590. package/src/Push.test.ts +0 -26
  591. package/src/Push.ts +0 -1
  592. package/src/RefSubject/RefArray.ts +0 -512
  593. package/src/RefSubject/RefBigDecimal.test.ts +0 -56
  594. package/src/RefSubject/RefBigDecimal.ts +0 -295
  595. package/src/RefSubject/RefBigInt.test.ts +0 -56
  596. package/src/RefSubject/RefBigInt.ts +0 -189
  597. package/src/RefSubject/RefBoolean.test.ts +0 -57
  598. package/src/RefSubject/RefBoolean.ts +0 -185
  599. package/src/RefSubject/RefCause.test.ts +0 -53
  600. package/src/RefSubject/RefCause.ts +0 -146
  601. package/src/RefSubject/RefChunk.ts +0 -510
  602. package/src/RefSubject/RefDateTime.test.ts +0 -43
  603. package/src/RefSubject/RefDateTime.ts +0 -264
  604. package/src/RefSubject/RefDuration.test.ts +0 -49
  605. package/src/RefSubject/RefDuration.ts +0 -188
  606. package/src/RefSubject/RefGraph.ts +0 -650
  607. package/src/RefSubject/RefHashMap.ts +0 -465
  608. package/src/RefSubject/RefHashRing.ts +0 -262
  609. package/src/RefSubject/RefHashSet.ts +0 -308
  610. package/src/RefSubject/RefIterable.ts +0 -445
  611. package/src/RefSubject/RefOption.test.ts +0 -67
  612. package/src/RefSubject/RefOption.ts +0 -193
  613. package/src/RefSubject/RefRecord.ts +0 -612
  614. package/src/RefSubject/RefResult.test.ts +0 -63
  615. package/src/RefSubject/RefResult.ts +0 -209
  616. package/src/RefSubject/RefString.test.ts +0 -61
  617. package/src/RefSubject/RefString.ts +0 -256
  618. package/src/RefSubject/RefStruct.test.ts +0 -60
  619. package/src/RefSubject/RefStruct.ts +0 -253
  620. package/src/RefSubject/RefSubject.ts +0 -2545
  621. package/src/RefSubject/RefTrie.ts +0 -356
  622. package/src/RefSubject/RefTuple.test.ts +0 -60
  623. package/src/RefSubject/RefTuple.ts +0 -231
  624. package/src/RefSubject/index.ts +0 -21
  625. package/src/RefSubject.test.ts +0 -65
  626. package/src/RefSubject.ts +0 -1
  627. package/src/Sink/Sink.ts +0 -159
  628. package/src/Sink/combinators.ts +0 -993
  629. package/src/Sink/index.ts +0 -2
  630. package/src/Sink.ts +0 -1
  631. package/src/Subject/Subject.ts +0 -441
  632. package/src/Subject/index.ts +0 -1
  633. package/src/Subject.test.ts +0 -47
  634. package/src/Subject.ts +0 -1
  635. package/src/Versioned/Versioned.ts +0 -521
  636. package/src/Versioned/index.ts +0 -1
  637. package/src/Versioned.test.ts +0 -23
  638. package/src/Versioned.ts +0 -1
  639. package/src/index.ts +0 -7
  640. package/tsconfig.json +0 -6
@@ -5,28 +5,60 @@
5
5
  import { equals } from "effect/Equal";
6
6
  import { dual } from "effect/Function";
7
7
  import * as Graph from "effect/Graph";
8
- import * as Option from "effect/Option";
9
8
  import * as RefSubject from "./RefSubject.js";
10
9
  /**
11
10
  * Creates a new `RefGraph` from a Graph, `Effect`, or `Fx`.
11
+ * @remarks
12
+ * ## Why
13
+ *
14
+ * Creates graph state with equality suited to that Effect data type, so unchanged values do not
15
+ * produce redundant pushed updates.
16
+ *
17
+ * ## Ownership and lifetime
18
+ *
19
+ * The creation Effect requires Scope. It owns initializer acquisition, live source subscriptions,
20
+ * and cleanup; source failures and services stay on reads and pushes.
21
+ *
12
22
  * @since 1.18.0
13
- * @category constructors
23
+ * @category Constructors
14
24
  */
15
25
  export function make(initial) {
16
26
  return RefSubject.make(initial, { eq: equals });
17
27
  }
18
28
  /**
19
29
  * Creates a new empty directed RefGraph.
30
+ * @remarks
31
+ * ## Why
32
+ *
33
+ * Creates a new empty directed RefGraph. The operation remains attached to the RefSubject's
34
+ * versioned state boundary.
35
+ *
36
+ * ## Ownership and lifetime
37
+ *
38
+ * Running directed performs one serialized graph transition and resolves with its committed value.
39
+ * It acquires no resource; failures and services remain those of the source ref.
40
+ *
20
41
  * @since 1.18.0
21
- * @category constructors
42
+ * @category Constructors
22
43
  */
23
44
  export function directed() {
24
45
  return RefSubject.make(Graph.directed(), { eq: equals });
25
46
  }
26
47
  /**
27
48
  * Creates a new empty undirected RefGraph.
49
+ * @remarks
50
+ * ## Why
51
+ *
52
+ * Creates a new empty undirected RefGraph. The operation remains attached to the RefSubject's
53
+ * versioned state boundary.
54
+ *
55
+ * ## Ownership and lifetime
56
+ *
57
+ * Running undirected performs one serialized graph transition and resolves with its committed
58
+ * value. It acquires no resource; failures and services remain those of the source ref.
59
+ *
28
60
  * @since 1.18.0
29
- * @category constructors
61
+ * @category Constructors
30
62
  */
31
63
  export function undirected() {
32
64
  return RefSubject.make(Graph.undirected(), { eq: equals });
@@ -36,8 +68,19 @@ export function undirected() {
36
68
  // ========================================
37
69
  /**
38
70
  * Add a node to the graph.
71
+ * @remarks
72
+ * ## Why
73
+ *
74
+ * Add a node to the graph. The operation remains attached to the RefSubject's versioned state
75
+ * boundary.
76
+ *
77
+ * ## Ownership and lifetime
78
+ *
79
+ * Running add node performs one serialized graph transition and resolves with its committed value.
80
+ * It acquires no resource; failures and services remain those of the source ref.
81
+ *
39
82
  * @since 1.18.0
40
- * @category combinators
83
+ * @category State updates
41
84
  */
42
85
  export const addNode = dual(2, function addNode(ref, data) {
43
86
  return RefSubject.update(ref, (g) => {
@@ -48,8 +91,19 @@ export const addNode = dual(2, function addNode(ref, data) {
48
91
  });
49
92
  /**
50
93
  * Remove a node from the graph.
94
+ * @remarks
95
+ * ## Why
96
+ *
97
+ * Applies remove node to the committed graph value and publishes only the result, preserving its
98
+ * element order and equality rules.
99
+ *
100
+ * ## Ownership and lifetime
101
+ *
102
+ * Running remove node performs one serialized graph transition and resolves with its committed
103
+ * value. It acquires no resource; failures and services remain those of the source ref.
104
+ *
51
105
  * @since 1.18.0
52
- * @category combinators
106
+ * @category State updates
53
107
  */
54
108
  export const removeNode = dual(2, function removeNode(ref, nodeIndex) {
55
109
  return RefSubject.update(ref, (g) => {
@@ -60,8 +114,19 @@ export const removeNode = dual(2, function removeNode(ref, nodeIndex) {
60
114
  });
61
115
  /**
62
116
  * Update a node's data.
117
+ * @remarks
118
+ * ## Why
119
+ *
120
+ * Keeps update node atomic with respect to competing RefSubject writes instead of splitting the
121
+ * read and replacement into separate effects.
122
+ *
123
+ * ## Ownership and lifetime
124
+ *
125
+ * Running update node performs one serialized graph transition and resolves with its committed
126
+ * value. It acquires no resource; failures and services remain those of the source ref.
127
+ *
63
128
  * @since 1.18.0
64
- * @category combinators
129
+ * @category State updates
65
130
  */
66
131
  export const updateNode = dual(3, function updateNode(ref, nodeIndex, f) {
67
132
  return RefSubject.update(ref, (g) => {
@@ -72,8 +137,19 @@ export const updateNode = dual(3, function updateNode(ref, nodeIndex, f) {
72
137
  });
73
138
  /**
74
139
  * Add an edge to the graph.
140
+ * @remarks
141
+ * ## Why
142
+ *
143
+ * Add an edge to the graph. The operation remains attached to the RefSubject's versioned state
144
+ * boundary.
145
+ *
146
+ * ## Ownership and lifetime
147
+ *
148
+ * Running add edge performs one serialized graph transition and resolves with its committed value.
149
+ * It acquires no resource; failures and services remain those of the source ref.
150
+ *
75
151
  * @since 1.18.0
76
- * @category combinators
152
+ * @category State updates
77
153
  */
78
154
  export const addEdge = dual(4, function addEdge(ref, source, target, data) {
79
155
  return RefSubject.update(ref, (g) => {
@@ -84,8 +160,19 @@ export const addEdge = dual(4, function addEdge(ref, source, target, data) {
84
160
  });
85
161
  /**
86
162
  * Remove an edge from the graph.
163
+ * @remarks
164
+ * ## Why
165
+ *
166
+ * Applies remove edge to the committed graph value and publishes only the result, preserving its
167
+ * element order and equality rules.
168
+ *
169
+ * ## Ownership and lifetime
170
+ *
171
+ * Running remove edge performs one serialized graph transition and resolves with its committed
172
+ * value. It acquires no resource; failures and services remain those of the source ref.
173
+ *
87
174
  * @since 1.18.0
88
- * @category combinators
175
+ * @category State updates
89
176
  */
90
177
  export const removeEdge = dual(2, function removeEdge(ref, edgeIndex) {
91
178
  return RefSubject.update(ref, (g) => {
@@ -96,8 +183,19 @@ export const removeEdge = dual(2, function removeEdge(ref, edgeIndex) {
96
183
  });
97
184
  /**
98
185
  * Update an edge's data.
186
+ * @remarks
187
+ * ## Why
188
+ *
189
+ * Keeps update edge atomic with respect to competing RefSubject writes instead of splitting the
190
+ * read and replacement into separate effects.
191
+ *
192
+ * ## Ownership and lifetime
193
+ *
194
+ * Running update edge performs one serialized graph transition and resolves with its committed
195
+ * value. It acquires no resource; failures and services remain those of the source ref.
196
+ *
99
197
  * @since 1.18.0
100
- * @category combinators
198
+ * @category State updates
101
199
  */
102
200
  export const updateEdge = dual(3, function updateEdge(ref, edgeIndex, f) {
103
201
  return RefSubject.update(ref, (g) => {
@@ -108,8 +206,18 @@ export const updateEdge = dual(3, function updateEdge(ref, edgeIndex, f) {
108
206
  });
109
207
  /**
110
208
  * Map all node data.
209
+ * @remarks
210
+ * ## Why
211
+ *
212
+ * Applies `mapNodes` through `RefSubject.update` and publishes one coherent graph replacement;
213
+ * this is a mutation, not a read-only Computed projection.
214
+ *
215
+ * ## Ownership and lifetime
216
+ *
217
+ * The Effect starts when run, participates in the source ref's serialized update boundary, and
218
+ * acquires no resource. It returns the committed graph and retains the ref's E and R channels.
111
219
  * @since 1.18.0
112
- * @category combinators
220
+ * @category State updates
113
221
  */
114
222
  export const mapNodes = dual(2, function mapNodes(ref, f) {
115
223
  return RefSubject.update(ref, (g) => {
@@ -120,8 +228,18 @@ export const mapNodes = dual(2, function mapNodes(ref, f) {
120
228
  });
121
229
  /**
122
230
  * Map all edge data.
231
+ * @remarks
232
+ * ## Why
233
+ *
234
+ * Applies `mapEdges` through `RefSubject.update` and publishes one coherent graph replacement;
235
+ * this is a mutation, not a read-only Computed projection.
236
+ *
237
+ * ## Ownership and lifetime
238
+ *
239
+ * The Effect starts when run, participates in the source ref's serialized update boundary, and
240
+ * acquires no resource. It returns the committed graph and retains the ref's E and R channels.
123
241
  * @since 1.18.0
124
- * @category combinators
242
+ * @category State updates
125
243
  */
126
244
  export const mapEdges = dual(2, function mapEdges(ref, f) {
127
245
  return RefSubject.update(ref, (g) => {
@@ -132,8 +250,18 @@ export const mapEdges = dual(2, function mapEdges(ref, f) {
132
250
  });
133
251
  /**
134
252
  * Filter nodes.
253
+ * @remarks
254
+ * ## Why
255
+ *
256
+ * Applies `filterNodes` through `RefSubject.update` and publishes one coherent graph replacement;
257
+ * this is a mutation, not a read-only Computed projection.
258
+ *
259
+ * ## Ownership and lifetime
260
+ *
261
+ * The Effect starts when run, participates in the source ref's serialized update boundary, and
262
+ * acquires no resource. It returns the committed graph and retains the ref's E and R channels.
135
263
  * @since 1.18.0
136
- * @category combinators
264
+ * @category State updates
137
265
  */
138
266
  export const filterNodes = dual(2, function filterNodes(ref, predicate) {
139
267
  return RefSubject.update(ref, (g) => {
@@ -144,8 +272,18 @@ export const filterNodes = dual(2, function filterNodes(ref, predicate) {
144
272
  });
145
273
  /**
146
274
  * Filter edges.
275
+ * @remarks
276
+ * ## Why
277
+ *
278
+ * Applies `filterEdges` through `RefSubject.update` and publishes one coherent graph replacement;
279
+ * this is a mutation, not a read-only Computed projection.
280
+ *
281
+ * ## Ownership and lifetime
282
+ *
283
+ * The Effect starts when run, participates in the source ref's serialized update boundary, and
284
+ * acquires no resource. It returns the committed graph and retains the ref's E and R channels.
147
285
  * @since 1.18.0
148
- * @category combinators
286
+ * @category State updates
149
287
  */
150
288
  export const filterEdges = dual(2, function filterEdges(ref, predicate) {
151
289
  return RefSubject.update(ref, (g) => {
@@ -156,8 +294,19 @@ export const filterEdges = dual(2, function filterEdges(ref, predicate) {
156
294
  });
157
295
  /**
158
296
  * Reverse all edge directions.
297
+ * @remarks
298
+ * ## Why
299
+ *
300
+ * Derives the reordered graph through its Effect collection operation while retaining RefSubject
301
+ * equality and version tracking.
302
+ *
303
+ * ## Ownership and lifetime
304
+ *
305
+ * Running reverse performs one serialized graph transition and resolves with its committed value.
306
+ * It acquires no resource; failures and services remain those of the source ref.
307
+ *
159
308
  * @since 1.18.0
160
- * @category combinators
309
+ * @category State updates
161
310
  */
162
311
  export const reverse = (ref) => RefSubject.update(ref, (g) => {
163
312
  const mutable = Graph.beginMutation(g);
@@ -169,70 +318,179 @@ export const reverse = (ref) => RefSubject.update(ref, (g) => {
169
318
  // ========================================
170
319
  /**
171
320
  * Get the node count.
321
+ * @remarks
322
+ * ## Why
323
+ *
324
+ * Get the node count. The operation remains attached to the RefSubject's versioned state boundary.
325
+ *
326
+ * ## Ownership and lifetime
327
+ *
328
+ * The node count view retains no independent state. An Effect read samples the source once; Fx
329
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
330
+ *
172
331
  * @since 1.18.0
173
- * @category computed
332
+ * @category Derived queries
174
333
  */
175
334
  export const nodeCount = (ref) => RefSubject.map(ref, Graph.nodeCount);
176
335
  /**
177
336
  * Get the edge count.
337
+ * @remarks
338
+ * ## Why
339
+ *
340
+ * Get the edge count. The operation remains attached to the RefSubject's versioned state boundary.
341
+ *
342
+ * ## Ownership and lifetime
343
+ *
344
+ * The edge count view retains no independent state. An Effect read samples the source once; Fx
345
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
346
+ *
178
347
  * @since 1.18.0
179
- * @category computed
348
+ * @category Derived queries
180
349
  */
181
350
  export const edgeCount = (ref) => RefSubject.map(ref, Graph.edgeCount);
182
351
  /**
183
352
  * Check if a node exists.
353
+ * @remarks
354
+ * ## Why
355
+ *
356
+ * Makes has node a live projection of the graph; consumers can sample it now or observe it without
357
+ * copying the source state.
358
+ *
359
+ * ## Ownership and lifetime
360
+ *
361
+ * The has node view retains no independent state. An Effect read samples the source once; Fx
362
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
363
+ *
184
364
  * @since 1.18.0
185
- * @category computed
365
+ * @category State predicates
186
366
  */
187
367
  export const hasNode = dual(2, function hasNode(ref, nodeIndex) {
188
368
  return RefSubject.map(ref, Graph.hasNode(nodeIndex));
189
369
  });
190
370
  /**
191
371
  * Check if an edge exists.
372
+ * @remarks
373
+ * ## Why
374
+ *
375
+ * Makes has edge a live projection of the graph; consumers can sample it now or observe it without
376
+ * copying the source state.
377
+ *
378
+ * ## Ownership and lifetime
379
+ *
380
+ * The has edge view retains no independent state. An Effect read samples the source once; Fx
381
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
382
+ *
192
383
  * @since 1.18.0
193
- * @category computed
384
+ * @category State predicates
194
385
  */
195
386
  export const hasEdge = dual(3, function hasEdge(ref, source, target) {
196
387
  return RefSubject.map(ref, Graph.hasEdge(source, target));
197
388
  });
198
389
  /**
199
390
  * Get neighbors of a node.
391
+ * @remarks
392
+ * ## Why
393
+ *
394
+ * Get neighbors of a node. The operation remains attached to the RefSubject's versioned state
395
+ * boundary.
396
+ *
397
+ * ## Ownership and lifetime
398
+ *
399
+ * The neighbors view retains no independent state. An Effect read samples the source once; Fx
400
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
401
+ *
200
402
  * @since 1.18.0
201
- * @category computed
403
+ * @category Derived queries
202
404
  */
203
405
  export const neighbors = dual(2, function neighbors(ref, nodeIndex) {
204
406
  return RefSubject.map(ref, Graph.neighbors(nodeIndex));
205
407
  });
206
408
  /**
207
409
  * Get directed neighbors of a node.
410
+ * @remarks
411
+ * ## Why
412
+ *
413
+ * Get directed neighbors of a node. The operation remains attached to the RefSubject's versioned
414
+ * state boundary.
415
+ *
416
+ * ## Ownership and lifetime
417
+ *
418
+ * The neighbors directed view retains no independent state. An Effect read samples the source
419
+ * once; Fx observation follows later pushes and its observing Scope owns subscription cleanup.
420
+ *
208
421
  * @since 1.18.0
209
- * @category computed
422
+ * @category Derived queries
210
423
  */
211
424
  export const neighborsDirected = dual(3, function neighborsDirected(ref, nodeIndex, direction) {
212
425
  return RefSubject.map(ref, Graph.neighborsDirected(nodeIndex, direction));
213
426
  });
214
427
  /**
215
428
  * Check if the graph is acyclic.
429
+ * @remarks
430
+ * ## Why
431
+ *
432
+ * Check if the graph is acyclic. The operation remains attached to the RefSubject's versioned
433
+ * state boundary.
434
+ *
435
+ * ## Ownership and lifetime
436
+ *
437
+ * The is acyclic view retains no independent state. An Effect read samples the source once; Fx
438
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
439
+ *
216
440
  * @since 1.18.0
217
- * @category computed
441
+ * @category State predicates
218
442
  */
219
443
  export const isAcyclic = (ref) => RefSubject.map(ref, Graph.isAcyclic);
220
444
  /**
221
445
  * Check if the graph is bipartite (undirected only).
446
+ * @remarks
447
+ * ## Why
448
+ *
449
+ * Check if the graph is bipartite (undirected only). The operation remains attached to the
450
+ * RefSubject's versioned state boundary.
451
+ *
452
+ * ## Ownership and lifetime
453
+ *
454
+ * The is bipartite view retains no independent state. An Effect read samples the source once; Fx
455
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
456
+ *
222
457
  * @since 1.18.0
223
- * @category computed
458
+ * @category State predicates
224
459
  */
225
460
  export const isBipartite = (ref) => RefSubject.map(ref, Graph.isBipartite);
226
461
  /**
227
462
  * Get connected components (undirected only).
463
+ * @remarks
464
+ * ## Why
465
+ *
466
+ * Get connected components (undirected only). The operation remains attached to the RefSubject's
467
+ * versioned state boundary.
468
+ *
469
+ * ## Ownership and lifetime
470
+ *
471
+ * The connected components view retains no independent state. An Effect read samples the source
472
+ * once; Fx observation follows later pushes and its observing Scope owns subscription cleanup.
473
+ *
228
474
  * @since 1.18.0
229
- * @category computed
475
+ * @category Derived queries
230
476
  */
231
477
  export const connectedComponents = (ref) => RefSubject.map(ref, Graph.connectedComponents);
232
478
  /**
233
479
  * Get strongly connected components.
480
+ * @remarks
481
+ * ## Why
482
+ *
483
+ * Get strongly connected components. The operation remains attached to the RefSubject's versioned
484
+ * state boundary.
485
+ *
486
+ * ## Ownership and lifetime
487
+ *
488
+ * The strongly connected components view retains no independent state. An Effect read samples the
489
+ * source once; Fx observation follows later pushes and its observing Scope owns subscription
490
+ * cleanup.
491
+ *
234
492
  * @since 1.18.0
235
- * @category computed
493
+ * @category Derived queries
236
494
  */
237
495
  export const stronglyConnectedComponents = (ref) => RefSubject.map(ref, Graph.stronglyConnectedComponents);
238
496
  // ========================================
@@ -240,33 +498,77 @@ export const stronglyConnectedComponents = (ref) => RefSubject.map(ref, Graph.st
240
498
  // ========================================
241
499
  /**
242
500
  * Get a node's data.
501
+ * @remarks
502
+ * ## Why
503
+ *
504
+ * Models the possibly absent result of get node as Filtered state, so absence stays explicit while
505
+ * later source versions can make a value available.
506
+ *
507
+ * ## Ownership and lifetime
508
+ *
509
+ * The get node view retains no independent value. Its Effect read fails with NoSuchElement
510
+ * while absent; the observing Scope owns and finalizes its Fx subscription.
511
+ *
243
512
  * @since 1.18.0
244
- * @category filtered
513
+ * @category Optional queries
245
514
  */
246
515
  export const getNode = dual(2, function getNode(ref, nodeIndex) {
247
516
  return RefSubject.filterMap(ref, Graph.getNode(nodeIndex));
248
517
  });
249
518
  /**
250
519
  * Get an edge's data.
520
+ * @remarks
521
+ * ## Why
522
+ *
523
+ * Models the possibly absent result of get edge as Filtered state, so absence stays explicit while
524
+ * later source versions can make a value available.
525
+ *
526
+ * ## Ownership and lifetime
527
+ *
528
+ * The get edge view retains no independent value. Its Effect read fails with NoSuchElement
529
+ * while absent; the observing Scope owns and finalizes its Fx subscription.
530
+ *
251
531
  * @since 1.18.0
252
- * @category filtered
532
+ * @category Optional queries
253
533
  */
254
534
  export const getEdge = dual(2, function getEdge(ref, edgeIndex) {
255
- return RefSubject.filterMap(ref, (g) => Option.fromUndefinedOr(Graph.getEdge(g, edgeIndex)));
535
+ return RefSubject.filterMap(ref, (g) => Graph.getEdge(g, edgeIndex));
256
536
  });
257
537
  /**
258
538
  * Find a node matching a predicate.
539
+ * @remarks
540
+ * ## Why
541
+ *
542
+ * Models the possibly absent result of find node as Filtered state, so absence stays explicit
543
+ * while later source versions can make a value available.
544
+ *
545
+ * ## Ownership and lifetime
546
+ *
547
+ * The find node view retains no independent value. Its Effect read fails with NoSuchElement
548
+ * while absent; the observing Scope owns and finalizes its Fx subscription.
549
+ *
259
550
  * @since 1.18.0
260
- * @category filtered
551
+ * @category Optional queries
261
552
  */
262
553
  export const findNode = dual(2, function findNode(ref, predicate) {
263
- return RefSubject.filterMap(ref, (g) => Option.fromUndefinedOr(Graph.findNode(g, predicate)));
554
+ return RefSubject.filterMap(ref, (g) => Graph.findNode(g, predicate));
264
555
  });
265
556
  /**
266
557
  * Find an edge matching a predicate.
558
+ * @remarks
559
+ * ## Why
560
+ *
561
+ * Models the possibly absent result of find edge as Filtered state, so absence stays explicit
562
+ * while later source versions can make a value available.
563
+ *
564
+ * ## Ownership and lifetime
565
+ *
566
+ * The find edge view retains no independent value. Its Effect read fails with NoSuchElement
567
+ * while absent; the observing Scope owns and finalizes its Fx subscription.
568
+ *
267
569
  * @since 1.18.0
268
- * @category filtered
570
+ * @category Optional queries
269
571
  */
270
572
  export const findEdge = dual(2, function findEdge(ref, predicate) {
271
- return RefSubject.filterMap(ref, (g) => Option.fromUndefinedOr(Graph.findEdge(g, predicate)));
573
+ return RefSubject.filterMap(ref, (g) => Graph.findEdge(g, predicate));
272
574
  });