@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
@@ -10,6 +10,17 @@ import * as RefSubject from "./RefSubject.js";
10
10
  import { Result } from "effect";
11
11
  /**
12
12
  * Creates a new `RefHashMap` from a HashMap, `Effect`, or `Fx`.
13
+ * @remarks
14
+ * ## Why
15
+ *
16
+ * Creates hash map state with equality suited to that Effect data type, so unchanged values do not
17
+ * produce redundant pushed updates.
18
+ *
19
+ * ## Ownership and lifetime
20
+ *
21
+ * The creation Effect requires Scope. It owns initializer acquisition, live source subscriptions,
22
+ * and cleanup; source failures and services stay on reads and pushes.
23
+ *
13
24
  * @since 1.18.0
14
25
  * @category constructors
15
26
  */
@@ -21,6 +32,17 @@ export function make(initial) {
21
32
  // ========================================
22
33
  /**
23
34
  * Set a key-value pair in the RefHashMap.
35
+ * @remarks
36
+ * ## Why
37
+ *
38
+ * Keeps set atomic with respect to competing RefSubject writes instead of splitting the read and
39
+ * replacement into separate effects.
40
+ *
41
+ * ## Ownership and lifetime
42
+ *
43
+ * Running set performs one serialized hash map transition and resolves with its committed value.
44
+ * It acquires no resource; failures and services remain those of the source ref.
45
+ *
24
46
  * @since 1.18.0
25
47
  * @category combinators
26
48
  */
@@ -29,6 +51,17 @@ export const set = dual(3, function set(ref, key, value) {
29
51
  });
30
52
  /**
31
53
  * Remove a key from the RefHashMap.
54
+ * @remarks
55
+ * ## Why
56
+ *
57
+ * Applies remove to the committed hash map value and publishes only the result, preserving its
58
+ * element order and equality rules.
59
+ *
60
+ * ## Ownership and lifetime
61
+ *
62
+ * Running remove performs one serialized hash map transition and resolves with its committed
63
+ * value. It acquires no resource; failures and services remain those of the source ref.
64
+ *
32
65
  * @since 1.18.0
33
66
  * @category combinators
34
67
  */
@@ -37,6 +70,17 @@ export const remove = dual(2, function remove(ref, key) {
37
70
  });
38
71
  /**
39
72
  * Modify the value at a key if it exists.
73
+ * @remarks
74
+ * ## Why
75
+ *
76
+ * Keeps modify atomic with respect to competing RefSubject writes instead of splitting the read
77
+ * and replacement into separate effects.
78
+ *
79
+ * ## Ownership and lifetime
80
+ *
81
+ * Running modify performs one serialized hash map transition and resolves with its committed
82
+ * value. It acquires no resource; failures and services remain those of the source ref.
83
+ *
40
84
  * @since 1.18.0
41
85
  * @category combinators
42
86
  */
@@ -45,6 +89,17 @@ export const modify = dual(3, function modify(ref, key, f) {
45
89
  });
46
90
  /**
47
91
  * Modify the value at a key using an Option-based update function.
92
+ * @remarks
93
+ * ## Why
94
+ *
95
+ * Keeps modify at atomic with respect to competing RefSubject writes instead of splitting the read
96
+ * and replacement into separate effects.
97
+ *
98
+ * ## Ownership and lifetime
99
+ *
100
+ * Running modify at performs one serialized hash map transition and resolves with its committed
101
+ * value. It acquires no resource; failures and services remain those of the source ref.
102
+ *
48
103
  * @since 1.18.0
49
104
  * @category combinators
50
105
  */
@@ -53,6 +108,17 @@ export const modifyAt = dual(3, function modifyAt(ref, key, f) {
53
108
  });
54
109
  /**
55
110
  * Set multiple key-value pairs in the RefHashMap.
111
+ * @remarks
112
+ * ## Why
113
+ *
114
+ * Keeps set many atomic with respect to competing RefSubject writes instead of splitting the read
115
+ * and replacement into separate effects.
116
+ *
117
+ * ## Ownership and lifetime
118
+ *
119
+ * Running set many performs one serialized hash map transition and resolves with its committed
120
+ * value. It acquires no resource; failures and services remain those of the source ref.
121
+ *
56
122
  * @since 1.18.0
57
123
  * @category combinators
58
124
  */
@@ -61,6 +127,17 @@ export const setMany = dual(2, function setMany(ref, entries) {
61
127
  });
62
128
  /**
63
129
  * Remove multiple keys from the RefHashMap.
130
+ * @remarks
131
+ * ## Why
132
+ *
133
+ * Applies remove many to the committed hash map value and publishes only the result, preserving
134
+ * its element order and equality rules.
135
+ *
136
+ * ## Ownership and lifetime
137
+ *
138
+ * Running remove many performs one serialized hash map transition and resolves with its committed
139
+ * value. It acquires no resource; failures and services remain those of the source ref.
140
+ *
64
141
  * @since 1.18.0
65
142
  * @category combinators
66
143
  */
@@ -69,12 +146,34 @@ export const removeMany = dual(2, function removeMany(ref, keys) {
69
146
  });
70
147
  /**
71
148
  * Clear all entries from the RefHashMap.
149
+ * @remarks
150
+ * ## Why
151
+ *
152
+ * Applies clear to the committed hash map value and publishes only the result, preserving its
153
+ * element order and equality rules.
154
+ *
155
+ * ## Ownership and lifetime
156
+ *
157
+ * Running clear performs one serialized hash map transition and resolves with its committed value.
158
+ * It acquires no resource; failures and services remain those of the source ref.
159
+ *
72
160
  * @since 1.18.0
73
161
  * @category combinators
74
162
  */
75
163
  export const clear = (ref) => RefSubject.update(ref, () => HashMap.empty());
76
164
  /**
77
165
  * Merge another HashMap into this one.
166
+ * @remarks
167
+ * ## Why
168
+ *
169
+ * Combines bulk hash map changes in one committed value, giving subscribers one coherent update
170
+ * rather than a partially applied sequence.
171
+ *
172
+ * ## Ownership and lifetime
173
+ *
174
+ * Running union performs one serialized hash map transition and resolves with its committed value.
175
+ * It acquires no resource; failures and services remain those of the source ref.
176
+ *
78
177
  * @since 1.18.0
79
178
  * @category combinators
80
179
  */
@@ -83,6 +182,16 @@ export const union = dual(2, function union(ref, that) {
83
182
  });
84
183
  /**
85
184
  * Filter entries in place.
185
+ * @remarks
186
+ * ## Why
187
+ *
188
+ * Applies filter to the committed HashMap through `RefSubject.update` and publishes one coherent
189
+ * replacement; this is a mutation, not a read-only Computed projection.
190
+ *
191
+ * ## Ownership and lifetime
192
+ *
193
+ * The Effect starts when run, participates in the source ref's serialized update boundary, and
194
+ * acquires no resource. It returns the committed HashMap and retains the ref's E and R channels.
86
195
  * @since 1.18.0
87
196
  * @category combinators
88
197
  */
@@ -91,6 +200,16 @@ export const filter = dual(2, function filter(ref, predicate) {
91
200
  });
92
201
  /**
93
202
  * Map values in place (endomorphic).
203
+ * @remarks
204
+ * ## Why
205
+ *
206
+ * Applies map to the committed HashMap through `RefSubject.update` and publishes one coherent
207
+ * replacement; this is a mutation, not a read-only Computed projection.
208
+ *
209
+ * ## Ownership and lifetime
210
+ *
211
+ * The Effect starts when run, participates in the source ref's serialized update boundary, and
212
+ * acquires no resource. It returns the committed HashMap and retains the ref's E and R channels.
94
213
  * @since 1.18.0
95
214
  * @category combinators
96
215
  */
@@ -102,42 +221,119 @@ export const map = dual(2, function map(ref, f) {
102
221
  // ========================================
103
222
  /**
104
223
  * Get the current size of the RefHashMap.
224
+ * @remarks
225
+ * ## Why
226
+ *
227
+ * Makes size a live projection of the hash map; consumers can sample it now or observe it without
228
+ * copying the source state.
229
+ *
230
+ * ## Ownership and lifetime
231
+ *
232
+ * The size view retains no independent state. An Effect read samples the source once; Fx
233
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
234
+ *
105
235
  * @since 1.18.0
106
236
  * @category computed
107
237
  */
108
238
  export const size = (ref) => RefSubject.map(ref, HashMap.size);
109
239
  /**
110
240
  * Check if the RefHashMap is empty.
241
+ * @remarks
242
+ * ## Why
243
+ *
244
+ * Makes is empty a live projection of the hash map; consumers can sample it now or observe it
245
+ * without copying the source state.
246
+ *
247
+ * ## Ownership and lifetime
248
+ *
249
+ * The is empty view retains no independent state. An Effect read samples the source once; Fx
250
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
251
+ *
111
252
  * @since 1.18.0
112
253
  * @category computed
113
254
  */
114
255
  export const isEmpty = (ref) => RefSubject.map(ref, HashMap.isEmpty);
115
256
  /**
116
257
  * Check if the RefHashMap is non-empty.
258
+ * @remarks
259
+ * ## Why
260
+ *
261
+ * Makes is non empty a live projection of the hash map; consumers can sample it now or observe it
262
+ * without copying the source state.
263
+ *
264
+ * ## Ownership and lifetime
265
+ *
266
+ * The is non empty view retains no independent state. An Effect read samples the source once; Fx
267
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
268
+ *
117
269
  * @since 1.18.0
118
270
  * @category computed
119
271
  */
120
272
  export const isNonEmpty = (ref) => RefSubject.map(ref, (m) => !HashMap.isEmpty(m));
121
273
  /**
122
274
  * Get all keys from the RefHashMap.
275
+ * @remarks
276
+ * ## Why
277
+ *
278
+ * Projects hash map state with keys for both current reads and future pushes, avoiding a second
279
+ * mutable cache of the derived value.
280
+ *
281
+ * ## Ownership and lifetime
282
+ *
283
+ * The keys view retains no independent state. An Effect read samples the source once; Fx
284
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
285
+ *
123
286
  * @since 1.18.0
124
287
  * @category computed
125
288
  */
126
289
  export const keys = (ref) => RefSubject.map(ref, (m) => Array.from(HashMap.keys(m)));
127
290
  /**
128
291
  * Get all values from the RefHashMap.
292
+ * @remarks
293
+ * ## Why
294
+ *
295
+ * Projects hash map state with values for both current reads and future pushes, avoiding a second
296
+ * mutable cache of the derived value.
297
+ *
298
+ * ## Ownership and lifetime
299
+ *
300
+ * The values view retains no independent state. An Effect read samples the source once; Fx
301
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
302
+ *
129
303
  * @since 1.18.0
130
304
  * @category computed
131
305
  */
132
306
  export const values = (ref) => RefSubject.map(ref, HashMap.toValues);
133
307
  /**
134
308
  * Get all entries from the RefHashMap.
309
+ * @remarks
310
+ * ## Why
311
+ *
312
+ * Projects hash map state with entries for both current reads and future pushes, avoiding a second
313
+ * mutable cache of the derived value.
314
+ *
315
+ * ## Ownership and lifetime
316
+ *
317
+ * The entries view retains no independent state. An Effect read samples the source once; Fx
318
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
319
+ *
135
320
  * @since 1.18.0
136
321
  * @category computed
137
322
  */
138
323
  export const entries = (ref) => RefSubject.map(ref, HashMap.toEntries);
139
324
  /**
140
325
  * Check if a key exists in the RefHashMap.
326
+ * @remarks
327
+ * ## Why
328
+ *
329
+ * Makes has a live projection of the hash map; consumers can sample it now or observe it without
330
+ * copying the source state.
331
+ *
332
+ * ## Ownership and lifetime
333
+ *
334
+ * The has view retains no independent state. An Effect read samples the source once; Fx
335
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
336
+ *
141
337
  * @since 1.18.0
142
338
  * @category computed
143
339
  */
@@ -146,6 +342,17 @@ export const has = dual(2, function has(ref, key) {
146
342
  });
147
343
  /**
148
344
  * Map values to a different type.
345
+ * @remarks
346
+ * ## Why
347
+ *
348
+ * Projects hash map state with map values for both current reads and future pushes, avoiding a
349
+ * second mutable cache of the derived value.
350
+ *
351
+ * ## Ownership and lifetime
352
+ *
353
+ * The map values view retains no independent state. An Effect read samples the source once; Fx
354
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
355
+ *
149
356
  * @since 1.18.0
150
357
  * @category computed
151
358
  */
@@ -154,6 +361,17 @@ export const mapValues = dual(2, function mapValues(ref, f) {
154
361
  });
155
362
  /**
156
363
  * Filter entries creating a Computed value.
364
+ * @remarks
365
+ * ## Why
366
+ *
367
+ * Projects hash map state with filter values for both current reads and future pushes, avoiding a
368
+ * second mutable cache of the derived value.
369
+ *
370
+ * ## Ownership and lifetime
371
+ *
372
+ * The filter values view retains no independent state. An Effect read samples the source once; Fx
373
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
374
+ *
157
375
  * @since 1.18.0
158
376
  * @category computed
159
377
  */
@@ -162,6 +380,17 @@ export const filterValues = dual(2, function filterValues(ref, predicate) {
162
380
  });
163
381
  /**
164
382
  * Filter and map values.
383
+ * @remarks
384
+ * ## Why
385
+ *
386
+ * Projects hash map state with filter map values for both current reads and future pushes,
387
+ * avoiding a second mutable cache of the derived value.
388
+ *
389
+ * ## Ownership and lifetime
390
+ *
391
+ * The filter map values view retains no independent state. An Effect read samples the source once;
392
+ * Fx observation follows later pushes and its observing Scope owns subscription cleanup.
393
+ *
165
394
  * @since 1.18.0
166
395
  * @category computed
167
396
  */
@@ -173,6 +402,17 @@ export const filterMapValues = dual(2, function filterMapValues(ref, f) {
173
402
  });
174
403
  /**
175
404
  * Reduce the entries to a single value.
405
+ * @remarks
406
+ * ## Why
407
+ *
408
+ * Makes reduce a live projection of the hash map; consumers can sample it now or observe it
409
+ * without copying the source state.
410
+ *
411
+ * ## Ownership and lifetime
412
+ *
413
+ * The reduce view retains no independent state. An Effect read samples the source once; Fx
414
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
415
+ *
176
416
  * @since 1.18.0
177
417
  * @category computed
178
418
  */
@@ -181,6 +421,17 @@ export const reduce = dual(3, function reduce(ref, b, f) {
181
421
  });
182
422
  /**
183
423
  * Check if any entry satisfies a predicate.
424
+ * @remarks
425
+ * ## Why
426
+ *
427
+ * Makes some a live projection of the hash map; consumers can sample it now or observe it without
428
+ * copying the source state.
429
+ *
430
+ * ## Ownership and lifetime
431
+ *
432
+ * The some view retains no independent state. An Effect read samples the source once; Fx
433
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
434
+ *
184
435
  * @since 1.18.0
185
436
  * @category computed
186
437
  */
@@ -189,6 +440,17 @@ export const some = dual(2, function some(ref, predicate) {
189
440
  });
190
441
  /**
191
442
  * Check if all entries satisfy a predicate.
443
+ * @remarks
444
+ * ## Why
445
+ *
446
+ * Makes every a live projection of the hash map; consumers can sample it now or observe it without
447
+ * copying the source state.
448
+ *
449
+ * ## Ownership and lifetime
450
+ *
451
+ * The every view retains no independent state. An Effect read samples the source once; Fx
452
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
453
+ *
192
454
  * @since 1.18.0
193
455
  * @category computed
194
456
  */
@@ -200,6 +462,17 @@ export const every = dual(2, function every(ref, predicate) {
200
462
  // ========================================
201
463
  /**
202
464
  * Get the value at a key as a Filtered.
465
+ * @remarks
466
+ * ## Why
467
+ *
468
+ * Models the possibly absent result of get as Filtered state, so absence stays explicit while
469
+ * later source versions can make a value available.
470
+ *
471
+ * ## Ownership and lifetime
472
+ *
473
+ * The get view retains no independent value. Its Effect read fails with NoSuchElement
474
+ * while absent; the observing Scope owns and finalizes its Fx subscription.
475
+ *
203
476
  * @since 1.18.0
204
477
  * @category filtered
205
478
  */
@@ -208,6 +481,17 @@ export const get = dual(2, function get(ref, key) {
208
481
  });
209
482
  /**
210
483
  * Find the first entry satisfying a predicate.
484
+ * @remarks
485
+ * ## Why
486
+ *
487
+ * Models the possibly absent result of find first as Filtered state, so absence stays explicit
488
+ * while later source versions can make a value available.
489
+ *
490
+ * ## Ownership and lifetime
491
+ *
492
+ * The find first view retains no independent value. Its Effect read fails with NoSuchElement
493
+ * while absent; the observing Scope owns and finalizes its Fx subscription.
494
+ *
211
495
  * @since 1.18.0
212
496
  * @category filtered
213
497
  */
@@ -10,6 +10,17 @@ import type * as Fx from "../Fx/index.js";
10
10
  import * as RefSubject from "./RefSubject.js";
11
11
  /**
12
12
  * A RefHashRing is a RefSubject specialized over a HashRing.
13
+ * @remarks
14
+ * ## Why
15
+ *
16
+ * Defines hash ring state with the same current-read, pushed-update, and synchronized-write
17
+ * contract as RefSubject.
18
+ *
19
+ * ## Ownership and lifetime
20
+ *
21
+ * RefHashRing is a contract and performs no acquisition. Implementations retain the errors,
22
+ * services, interruption, and Scope requirements expressed by its members.
23
+ *
13
24
  * @since 1.18.0
14
25
  * @category models
15
26
  */
@@ -17,20 +28,53 @@ export interface RefHashRing<in out A extends PrimaryKey.PrimaryKey, in out E =
17
28
  }
18
29
  /**
19
30
  * Creates a new `RefHashRing` from a HashRing, `Effect`, or `Fx`.
31
+ * @remarks
32
+ * ## Why
33
+ *
34
+ * Creates hash ring state with equality suited to that Effect data type, so unchanged values do
35
+ * not produce redundant pushed updates.
36
+ *
37
+ * ## Ownership and lifetime
38
+ *
39
+ * The creation Effect requires Scope. It owns initializer acquisition, live source subscriptions,
40
+ * and cleanup; source failures and services stay on reads and pushes.
41
+ *
20
42
  * @since 1.18.0
21
43
  * @category constructors
22
44
  */
23
- export declare function make<A extends PrimaryKey.PrimaryKey, E, R>(initial: HashRing.HashRing<A> | Effect.Effect<HashRing.HashRing<A>, E, R> | Fx.Fx<HashRing.HashRing<A>, E, R>): Effect.Effect<RefHashRing<A, E>, never, R | Scope.Scope>;
45
+ export declare function make<A extends PrimaryKey.PrimaryKey, E = never, R = never>(initial: HashRing.HashRing<A> | Effect.Effect<HashRing.HashRing<A>, E, R> | Fx.Fx<HashRing.HashRing<A>, E, R>): Effect.Effect<RefHashRing<A, E>, never, R | Scope.Scope>;
24
46
  /**
25
47
  * Creates a new empty RefHashRing.
48
+ * @remarks
49
+ * ## Why
50
+ *
51
+ * Creates a new empty RefHashRing. The operation remains attached to the RefSubject's versioned
52
+ * state boundary.
53
+ *
54
+ * ## Ownership and lifetime
55
+ *
56
+ * Running empty performs one serialized hash ring transition and resolves with its committed
57
+ * value. It acquires no resource; failures and services remain those of the source ref.
58
+ *
26
59
  * @since 1.18.0
27
60
  * @category constructors
28
61
  */
29
- export declare function empty<A extends PrimaryKey.PrimaryKey, E, R>(options?: {
62
+ export declare function empty<A extends PrimaryKey.PrimaryKey, E = never, R = never>(options?: {
30
63
  readonly baseWeight?: number;
31
64
  }): Effect.Effect<RefHashRing<A, E>, never, R | Scope.Scope>;
32
65
  /**
33
66
  * Add a node to the HashRing.
67
+ * @remarks
68
+ * ## Why
69
+ *
70
+ * Add a node to the HashRing. The operation remains attached to the RefSubject's versioned state
71
+ * boundary.
72
+ *
73
+ * ## Ownership and lifetime
74
+ *
75
+ * Running add performs one serialized hash ring transition and resolves with its committed value.
76
+ * It acquires no resource; failures and services remain those of the source ref.
77
+ *
34
78
  * @since 1.18.0
35
79
  * @category combinators
36
80
  */
@@ -44,6 +88,17 @@ export declare const add: {
44
88
  };
45
89
  /**
46
90
  * Add multiple nodes to the HashRing.
91
+ * @remarks
92
+ * ## Why
93
+ *
94
+ * Add multiple nodes to the HashRing. The operation remains attached to the RefSubject's versioned
95
+ * state boundary.
96
+ *
97
+ * ## Ownership and lifetime
98
+ *
99
+ * Running add many performs one serialized hash ring transition and resolves with its committed
100
+ * value. It acquires no resource; failures and services remain those of the source ref.
101
+ *
47
102
  * @since 1.18.0
48
103
  * @category combinators
49
104
  */
@@ -57,6 +112,17 @@ export declare const addMany: {
57
112
  };
58
113
  /**
59
114
  * Remove a node from the HashRing.
115
+ * @remarks
116
+ * ## Why
117
+ *
118
+ * Applies remove to the committed hash ring value and publishes only the result, preserving its
119
+ * element order and equality rules.
120
+ *
121
+ * ## Ownership and lifetime
122
+ *
123
+ * Running remove performs one serialized hash ring transition and resolves with its committed
124
+ * value. It acquires no resource; failures and services remain those of the source ref.
125
+ *
60
126
  * @since 1.18.0
61
127
  * @category combinators
62
128
  */
@@ -66,6 +132,17 @@ export declare const remove: {
66
132
  };
67
133
  /**
68
134
  * Check if a node exists in the HashRing.
135
+ * @remarks
136
+ * ## Why
137
+ *
138
+ * Makes has a live projection of the hash ring; consumers can sample it now or observe it without
139
+ * copying the source state.
140
+ *
141
+ * ## Ownership and lifetime
142
+ *
143
+ * The has view retains no independent state. An Effect read samples the source once; Fx
144
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
145
+ *
69
146
  * @since 1.18.0
70
147
  * @category computed
71
148
  */
@@ -75,12 +152,34 @@ export declare const has: {
75
152
  };
76
153
  /**
77
154
  * Get the number of nodes in the HashRing.
155
+ * @remarks
156
+ * ## Why
157
+ *
158
+ * Makes size a live projection of the hash ring; consumers can sample it now or observe it without
159
+ * copying the source state.
160
+ *
161
+ * ## Ownership and lifetime
162
+ *
163
+ * The size view retains no independent state. An Effect read samples the source once; Fx
164
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
165
+ *
78
166
  * @since 1.18.0
79
167
  * @category computed
80
168
  */
81
169
  export declare const size: <A extends PrimaryKey.PrimaryKey, E, R>(ref: RefHashRing<A, E, R>) => RefSubject.Computed<number, E, R>;
82
170
  /**
83
171
  * Check if the HashRing is empty.
172
+ * @remarks
173
+ * ## Why
174
+ *
175
+ * Makes is empty a live projection of the hash ring; consumers can sample it now or observe it
176
+ * without copying the source state.
177
+ *
178
+ * ## Ownership and lifetime
179
+ *
180
+ * The is empty view retains no independent state. An Effect read samples the source once; Fx
181
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
182
+ *
84
183
  * @since 1.18.0
85
184
  * @category computed
86
185
  */
@@ -88,6 +187,17 @@ export declare const isEmpty: <A extends PrimaryKey.PrimaryKey, E, R>(ref: RefHa
88
187
  /**
89
188
  * Get the node which should handle a given input string as a Computed.
90
189
  * Returns undefined if the ring is empty.
190
+ * @remarks
191
+ * ## Why
192
+ *
193
+ * Projects the selected node for current reads and later pushes. An empty ring is represented by
194
+ * `undefined` inside the Computed value; it does not become Filtered or add `NoSuchElementError`.
195
+ *
196
+ * ## Ownership and lifetime
197
+ *
198
+ * The get node view retains no independent state. An Effect read samples the source once; Fx
199
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
200
+ *
91
201
  * @since 1.18.0
92
202
  * @category computed
93
203
  */
@@ -97,6 +207,18 @@ export declare const getNode: {
97
207
  };
98
208
  /**
99
209
  * Get shard distribution across nodes.
210
+ * @remarks
211
+ * ## Why
212
+ *
213
+ * Projects the shard distribution for current reads and later pushes. An empty ring is represented
214
+ * by `undefined` inside the Computed value; it does not become Filtered or add
215
+ * `NoSuchElementError`.
216
+ *
217
+ * ## Ownership and lifetime
218
+ *
219
+ * The get shards view retains no independent state. An Effect read samples the source once; Fx
220
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
221
+ *
100
222
  * @since 1.18.0
101
223
  * @category computed
102
224
  */
@@ -106,6 +228,17 @@ export declare const getShards: {
106
228
  };
107
229
  /**
108
230
  * Get all nodes as an array.
231
+ * @remarks
232
+ * ## Why
233
+ *
234
+ * Projects hash ring state with values for both current reads and future pushes, avoiding a second
235
+ * mutable cache of the derived value.
236
+ *
237
+ * ## Ownership and lifetime
238
+ *
239
+ * The values view retains no independent state. An Effect read samples the source once; Fx
240
+ * observation follows later pushes and its observing Scope owns subscription cleanup.
241
+ *
109
242
  * @since 1.18.0
110
243
  * @category computed
111
244
  */
@@ -113,6 +246,17 @@ export declare const values: <A extends PrimaryKey.PrimaryKey, E, R>(ref: RefHas
113
246
  /**
114
247
  * Get the node which should handle a given input string as a Filtered.
115
248
  * Fails if the ring is empty.
249
+ * @remarks
250
+ * ## Why
251
+ *
252
+ * Models the possibly absent result of get as Filtered state, so absence stays explicit while
253
+ * later source versions can make a value available.
254
+ *
255
+ * ## Ownership and lifetime
256
+ *
257
+ * The get view retains no independent value. Its Effect read fails with NoSuchElement
258
+ * while absent; the observing Scope owns and finalizes its Fx subscription.
259
+ *
116
260
  * @since 1.18.0
117
261
  * @category filtered
118
262
  */