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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -21
  3. package/dist/Fx/Fx.d.ts +371 -19
  4. package/dist/Fx/Fx.d.ts.map +1 -1
  5. package/dist/Fx/Fx.js +37 -6
  6. package/dist/Fx/TypeId.d.ts +52 -6
  7. package/dist/Fx/TypeId.d.ts.map +1 -1
  8. package/dist/Fx/TypeId.js +41 -4
  9. package/dist/Fx/combinators/additive.d.ts +162 -11
  10. package/dist/Fx/combinators/additive.d.ts.map +1 -1
  11. package/dist/Fx/combinators/additive.js +162 -11
  12. package/dist/Fx/combinators/catch.d.ts +202 -29
  13. package/dist/Fx/combinators/catch.d.ts.map +1 -1
  14. package/dist/Fx/combinators/catch.js +193 -23
  15. package/dist/Fx/combinators/causes.d.ts +25 -2
  16. package/dist/Fx/combinators/causes.d.ts.map +1 -1
  17. package/dist/Fx/combinators/causes.js +25 -2
  18. package/dist/Fx/combinators/changesWithEffect.d.ts +21 -1
  19. package/dist/Fx/combinators/changesWithEffect.d.ts.map +1 -1
  20. package/dist/Fx/combinators/changesWithEffect.js +21 -1
  21. package/dist/Fx/combinators/compact.d.ts +18 -1
  22. package/dist/Fx/combinators/compact.d.ts.map +1 -1
  23. package/dist/Fx/combinators/compact.js +18 -1
  24. package/dist/Fx/combinators/concatMap.d.ts +86 -0
  25. package/dist/Fx/combinators/concatMap.d.ts.map +1 -0
  26. package/dist/Fx/combinators/concatMap.js +86 -0
  27. package/dist/Fx/combinators/continueWith.d.ts +113 -5
  28. package/dist/Fx/combinators/continueWith.d.ts.map +1 -1
  29. package/dist/Fx/combinators/continueWith.js +113 -5
  30. package/dist/Fx/combinators/debounce.d.ts +34 -0
  31. package/dist/Fx/combinators/debounce.d.ts.map +1 -0
  32. package/dist/Fx/combinators/debounce.js +35 -0
  33. package/dist/Fx/combinators/delay.d.ts +36 -0
  34. package/dist/Fx/combinators/delay.d.ts.map +1 -0
  35. package/dist/Fx/combinators/delay.js +33 -0
  36. package/dist/Fx/combinators/dropUntil.d.ts +44 -2
  37. package/dist/Fx/combinators/dropUntil.d.ts.map +1 -1
  38. package/dist/Fx/combinators/dropUntil.js +44 -2
  39. package/dist/Fx/combinators/during.d.ts +38 -0
  40. package/dist/Fx/combinators/during.d.ts.map +1 -0
  41. package/dist/Fx/combinators/during.js +85 -0
  42. package/dist/Fx/combinators/ensuring.d.ts +34 -4
  43. package/dist/Fx/combinators/ensuring.d.ts.map +1 -1
  44. package/dist/Fx/combinators/ensuring.js +34 -4
  45. package/dist/Fx/combinators/exhaustLatestMap.d.ts +41 -5
  46. package/dist/Fx/combinators/exhaustLatestMap.d.ts.map +1 -1
  47. package/dist/Fx/combinators/exhaustLatestMap.js +41 -5
  48. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts +40 -4
  49. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts.map +1 -1
  50. package/dist/Fx/combinators/exhaustLatestMapEffect.js +40 -4
  51. package/dist/Fx/combinators/exhaustMap.d.ts +38 -1
  52. package/dist/Fx/combinators/exhaustMap.d.ts.map +1 -1
  53. package/dist/Fx/combinators/exhaustMap.js +38 -1
  54. package/dist/Fx/combinators/exhaustMapEffect.d.ts +33 -1
  55. package/dist/Fx/combinators/exhaustMapEffect.d.ts.map +1 -1
  56. package/dist/Fx/combinators/exhaustMapEffect.js +33 -1
  57. package/dist/Fx/combinators/exit.d.ts +23 -2
  58. package/dist/Fx/combinators/exit.d.ts.map +1 -1
  59. package/dist/Fx/combinators/exit.js +23 -2
  60. package/dist/Fx/combinators/filter.d.ts +17 -1
  61. package/dist/Fx/combinators/filter.d.ts.map +1 -1
  62. package/dist/Fx/combinators/filter.js +17 -1
  63. package/dist/Fx/combinators/filterEffect.d.ts +22 -1
  64. package/dist/Fx/combinators/filterEffect.d.ts.map +1 -1
  65. package/dist/Fx/combinators/filterEffect.js +22 -1
  66. package/dist/Fx/combinators/filterMap.d.ts +20 -1
  67. package/dist/Fx/combinators/filterMap.d.ts.map +1 -1
  68. package/dist/Fx/combinators/filterMap.js +20 -1
  69. package/dist/Fx/combinators/filterMapEffect.d.ts +21 -1
  70. package/dist/Fx/combinators/filterMapEffect.d.ts.map +1 -1
  71. package/dist/Fx/combinators/filterMapEffect.js +21 -1
  72. package/dist/Fx/combinators/filterMapLoop.d.ts +20 -1
  73. package/dist/Fx/combinators/filterMapLoop.d.ts.map +1 -1
  74. package/dist/Fx/combinators/filterMapLoop.js +20 -1
  75. package/dist/Fx/combinators/filterMapLoopCause.d.ts +21 -1
  76. package/dist/Fx/combinators/filterMapLoopCause.d.ts.map +1 -1
  77. package/dist/Fx/combinators/filterMapLoopCause.js +21 -1
  78. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts +21 -1
  79. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts.map +1 -1
  80. package/dist/Fx/combinators/filterMapLoopCauseEffect.js +21 -1
  81. package/dist/Fx/combinators/filterMapLoopEffect.d.ts +21 -1
  82. package/dist/Fx/combinators/filterMapLoopEffect.d.ts.map +1 -1
  83. package/dist/Fx/combinators/filterMapLoopEffect.js +21 -1
  84. package/dist/Fx/combinators/flatMap.d.ts +50 -5
  85. package/dist/Fx/combinators/flatMap.d.ts.map +1 -1
  86. package/dist/Fx/combinators/flatMap.js +36 -3
  87. package/dist/Fx/combinators/flatMapConcurrently.d.ts +51 -4
  88. package/dist/Fx/combinators/flatMapConcurrently.d.ts.map +1 -1
  89. package/dist/Fx/combinators/flatMapConcurrently.js +48 -2
  90. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts +48 -4
  91. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts.map +1 -1
  92. package/dist/Fx/combinators/flatMapConcurrentlyEffect.js +40 -2
  93. package/dist/Fx/combinators/flatMapEffect.d.ts +46 -4
  94. package/dist/Fx/combinators/flatMapEffect.d.ts.map +1 -1
  95. package/dist/Fx/combinators/flatMapEffect.js +32 -2
  96. package/dist/Fx/combinators/flip.d.ts +34 -2
  97. package/dist/Fx/combinators/flip.d.ts.map +1 -1
  98. package/dist/Fx/combinators/flip.js +34 -2
  99. package/dist/Fx/combinators/gen.d.ts +29 -10
  100. package/dist/Fx/combinators/gen.d.ts.map +1 -1
  101. package/dist/Fx/combinators/gen.js +28 -4
  102. package/dist/Fx/combinators/genScoped.d.ts +33 -10
  103. package/dist/Fx/combinators/genScoped.d.ts.map +1 -1
  104. package/dist/Fx/combinators/genScoped.js +31 -3
  105. package/dist/Fx/combinators/grouped.d.ts +89 -0
  106. package/dist/Fx/combinators/grouped.d.ts.map +1 -0
  107. package/dist/Fx/combinators/grouped.js +146 -0
  108. package/dist/Fx/combinators/index.d.ts +35 -0
  109. package/dist/Fx/combinators/index.d.ts.map +1 -1
  110. package/dist/Fx/combinators/index.js +35 -0
  111. package/dist/Fx/combinators/keyed.d.ts +123 -9
  112. package/dist/Fx/combinators/keyed.d.ts.map +1 -1
  113. package/dist/Fx/combinators/keyed.js +69 -11
  114. package/dist/Fx/combinators/loop.d.ts +17 -1
  115. package/dist/Fx/combinators/loop.d.ts.map +1 -1
  116. package/dist/Fx/combinators/loop.js +17 -1
  117. package/dist/Fx/combinators/loopCause.d.ts +18 -1
  118. package/dist/Fx/combinators/loopCause.d.ts.map +1 -1
  119. package/dist/Fx/combinators/loopCause.js +18 -1
  120. package/dist/Fx/combinators/loopCauseEffect.d.ts +19 -1
  121. package/dist/Fx/combinators/loopCauseEffect.d.ts.map +1 -1
  122. package/dist/Fx/combinators/loopCauseEffect.js +19 -1
  123. package/dist/Fx/combinators/loopEffect.d.ts +24 -1
  124. package/dist/Fx/combinators/loopEffect.d.ts.map +1 -1
  125. package/dist/Fx/combinators/loopEffect.js +24 -1
  126. package/dist/Fx/combinators/map.d.ts +46 -1
  127. package/dist/Fx/combinators/map.d.ts.map +1 -1
  128. package/dist/Fx/combinators/map.js +43 -1
  129. package/dist/Fx/combinators/mapBoth.d.ts +20 -1
  130. package/dist/Fx/combinators/mapBoth.d.ts.map +1 -1
  131. package/dist/Fx/combinators/mapBoth.js +20 -1
  132. package/dist/Fx/combinators/mapEffect.d.ts +25 -1
  133. package/dist/Fx/combinators/mapEffect.d.ts.map +1 -1
  134. package/dist/Fx/combinators/mapEffect.js +25 -1
  135. package/dist/Fx/combinators/mapError.d.ts +21 -5
  136. package/dist/Fx/combinators/mapError.d.ts.map +1 -1
  137. package/dist/Fx/combinators/mapError.js +21 -5
  138. package/dist/Fx/combinators/mergeAll.d.ts +35 -1
  139. package/dist/Fx/combinators/mergeAll.d.ts.map +1 -1
  140. package/dist/Fx/combinators/mergeAll.js +35 -1
  141. package/dist/Fx/combinators/mergeOrdered.d.ts +36 -4
  142. package/dist/Fx/combinators/mergeOrdered.d.ts.map +1 -1
  143. package/dist/Fx/combinators/mergeOrdered.js +68 -14
  144. package/dist/Fx/combinators/onError.d.ts +34 -4
  145. package/dist/Fx/combinators/onError.d.ts.map +1 -1
  146. package/dist/Fx/combinators/onError.js +34 -4
  147. package/dist/Fx/combinators/onExit.d.ts +29 -3
  148. package/dist/Fx/combinators/onExit.d.ts.map +1 -1
  149. package/dist/Fx/combinators/onExit.js +29 -3
  150. package/dist/Fx/combinators/onInterrupt.d.ts +49 -4
  151. package/dist/Fx/combinators/onInterrupt.d.ts.map +1 -1
  152. package/dist/Fx/combinators/onInterrupt.js +49 -4
  153. package/dist/Fx/combinators/pairwise.d.ts +28 -0
  154. package/dist/Fx/combinators/pairwise.d.ts.map +1 -0
  155. package/dist/Fx/combinators/pairwise.js +31 -0
  156. package/dist/Fx/combinators/provide.d.ts +141 -20
  157. package/dist/Fx/combinators/provide.d.ts.map +1 -1
  158. package/dist/Fx/combinators/provide.js +137 -16
  159. package/dist/Fx/combinators/race.d.ts +92 -0
  160. package/dist/Fx/combinators/race.d.ts.map +1 -0
  161. package/dist/Fx/combinators/race.js +149 -0
  162. package/dist/Fx/combinators/repeat.d.ts +41 -0
  163. package/dist/Fx/combinators/repeat.d.ts.map +1 -0
  164. package/dist/Fx/combinators/repeat.js +57 -0
  165. package/dist/Fx/combinators/result.d.ts +23 -1
  166. package/dist/Fx/combinators/result.d.ts.map +1 -1
  167. package/dist/Fx/combinators/result.js +27 -13
  168. package/dist/Fx/combinators/retry.d.ts +53 -0
  169. package/dist/Fx/combinators/retry.d.ts.map +1 -0
  170. package/dist/Fx/combinators/retry.js +71 -0
  171. package/dist/Fx/combinators/sample.d.ts +31 -0
  172. package/dist/Fx/combinators/sample.d.ts.map +1 -0
  173. package/dist/Fx/combinators/sample.js +42 -0
  174. package/dist/Fx/combinators/scan.d.ts +41 -2
  175. package/dist/Fx/combinators/scan.d.ts.map +1 -1
  176. package/dist/Fx/combinators/scan.js +43 -4
  177. package/dist/Fx/combinators/since.d.ts +30 -0
  178. package/dist/Fx/combinators/since.d.ts.map +1 -0
  179. package/dist/Fx/combinators/since.js +39 -0
  180. package/dist/Fx/combinators/skip.d.ts +33 -2
  181. package/dist/Fx/combinators/skip.d.ts.map +1 -1
  182. package/dist/Fx/combinators/skip.js +33 -2
  183. package/dist/Fx/combinators/skipRepeats.d.ts +17 -1
  184. package/dist/Fx/combinators/skipRepeats.d.ts.map +1 -1
  185. package/dist/Fx/combinators/skipRepeats.js +17 -1
  186. package/dist/Fx/combinators/skipRepeatsWith.d.ts +18 -1
  187. package/dist/Fx/combinators/skipRepeatsWith.d.ts.map +1 -1
  188. package/dist/Fx/combinators/skipRepeatsWith.js +18 -1
  189. package/dist/Fx/combinators/skipWhile.d.ts +72 -4
  190. package/dist/Fx/combinators/skipWhile.d.ts.map +1 -1
  191. package/dist/Fx/combinators/skipWhile.js +72 -4
  192. package/dist/Fx/combinators/slice.d.ts +85 -3
  193. package/dist/Fx/combinators/slice.d.ts.map +1 -1
  194. package/dist/Fx/combinators/slice.js +35 -2
  195. package/dist/Fx/combinators/switchMap.d.ts +39 -1
  196. package/dist/Fx/combinators/switchMap.d.ts.map +1 -1
  197. package/dist/Fx/combinators/switchMap.js +43 -5
  198. package/dist/Fx/combinators/switchMapEffect.d.ts +38 -1
  199. package/dist/Fx/combinators/switchMapEffect.d.ts.map +1 -1
  200. package/dist/Fx/combinators/switchMapEffect.js +38 -1
  201. package/dist/Fx/combinators/take.d.ts +34 -2
  202. package/dist/Fx/combinators/take.d.ts.map +1 -1
  203. package/dist/Fx/combinators/take.js +34 -2
  204. package/dist/Fx/combinators/takeUntil.d.ts +49 -3
  205. package/dist/Fx/combinators/takeUntil.d.ts.map +1 -1
  206. package/dist/Fx/combinators/takeUntil.js +49 -3
  207. package/dist/Fx/combinators/takeWhile.d.ts +33 -2
  208. package/dist/Fx/combinators/takeWhile.d.ts.map +1 -1
  209. package/dist/Fx/combinators/takeWhile.js +33 -2
  210. package/dist/Fx/combinators/tapEffect.d.ts +17 -1
  211. package/dist/Fx/combinators/tapEffect.d.ts.map +1 -1
  212. package/dist/Fx/combinators/tapEffect.js +17 -1
  213. package/dist/Fx/combinators/throttle.d.ts +79 -0
  214. package/dist/Fx/combinators/throttle.d.ts.map +1 -0
  215. package/dist/Fx/combinators/throttle.js +99 -0
  216. package/dist/Fx/combinators/timeout.d.ts +76 -0
  217. package/dist/Fx/combinators/timeout.d.ts.map +1 -0
  218. package/dist/Fx/combinators/timeout.js +110 -0
  219. package/dist/Fx/combinators/tuple.d.ts +32 -2
  220. package/dist/Fx/combinators/tuple.d.ts.map +1 -1
  221. package/dist/Fx/combinators/tuple.js +36 -5
  222. package/dist/Fx/combinators/until.d.ts +27 -0
  223. package/dist/Fx/combinators/until.d.ts.map +1 -0
  224. package/dist/Fx/combinators/until.js +56 -0
  225. package/dist/Fx/combinators/unwrap.d.ts +31 -2
  226. package/dist/Fx/combinators/unwrap.d.ts.map +1 -1
  227. package/dist/Fx/combinators/unwrap.js +30 -1
  228. package/dist/Fx/combinators/unwrapScoped.d.ts +34 -1
  229. package/dist/Fx/combinators/unwrapScoped.d.ts.map +1 -1
  230. package/dist/Fx/combinators/unwrapScoped.js +34 -1
  231. package/dist/Fx/combinators/when.d.ts +37 -2
  232. package/dist/Fx/combinators/when.d.ts.map +1 -1
  233. package/dist/Fx/combinators/when.js +38 -3
  234. package/dist/Fx/combinators/withLatestFrom.d.ts +58 -0
  235. package/dist/Fx/combinators/withLatestFrom.d.ts.map +1 -0
  236. package/dist/Fx/combinators/withLatestFrom.js +68 -0
  237. package/dist/Fx/combinators/withSpan.d.ts +35 -1
  238. package/dist/Fx/combinators/withSpan.d.ts.map +1 -1
  239. package/dist/Fx/combinators/withSpan.js +34 -3
  240. package/dist/Fx/combinators/zip.d.ts +64 -4
  241. package/dist/Fx/combinators/zip.d.ts.map +1 -1
  242. package/dist/Fx/combinators/zip.js +64 -4
  243. package/dist/Fx/constructors/at.d.ts +21 -1
  244. package/dist/Fx/constructors/at.d.ts.map +1 -1
  245. package/dist/Fx/constructors/at.js +21 -1
  246. package/dist/Fx/constructors/die.d.ts +22 -1
  247. package/dist/Fx/constructors/die.d.ts.map +1 -1
  248. package/dist/Fx/constructors/die.js +22 -1
  249. package/dist/Fx/constructors/empty.d.ts +19 -1
  250. package/dist/Fx/constructors/empty.d.ts.map +1 -1
  251. package/dist/Fx/constructors/empty.js +19 -1
  252. package/dist/Fx/constructors/fail.d.ts +22 -1
  253. package/dist/Fx/constructors/fail.d.ts.map +1 -1
  254. package/dist/Fx/constructors/fail.js +22 -1
  255. package/dist/Fx/constructors/failCause.d.ts +23 -1
  256. package/dist/Fx/constructors/failCause.d.ts.map +1 -1
  257. package/dist/Fx/constructors/failCause.js +23 -1
  258. package/dist/Fx/constructors/fn.d.ts +116 -16
  259. package/dist/Fx/constructors/fn.d.ts.map +1 -1
  260. package/dist/Fx/constructors/fn.js +36 -0
  261. package/dist/Fx/constructors/fromEffect.d.ts +45 -3
  262. package/dist/Fx/constructors/fromEffect.d.ts.map +1 -1
  263. package/dist/Fx/constructors/fromEffect.js +45 -3
  264. package/dist/Fx/constructors/fromFailures.d.ts +25 -1
  265. package/dist/Fx/constructors/fromFailures.d.ts.map +1 -1
  266. package/dist/Fx/constructors/fromFailures.js +25 -1
  267. package/dist/Fx/constructors/fromIterable.d.ts +23 -1
  268. package/dist/Fx/constructors/fromIterable.d.ts.map +1 -1
  269. package/dist/Fx/constructors/fromIterable.js +23 -1
  270. package/dist/Fx/constructors/fromSchedule.d.ts +26 -1
  271. package/dist/Fx/constructors/fromSchedule.d.ts.map +1 -1
  272. package/dist/Fx/constructors/fromSchedule.js +28 -3
  273. package/dist/Fx/constructors/index.d.ts +2 -1
  274. package/dist/Fx/constructors/index.d.ts.map +1 -1
  275. package/dist/Fx/constructors/index.js +2 -1
  276. package/dist/Fx/constructors/interrupt.d.ts +22 -2
  277. package/dist/Fx/constructors/interrupt.d.ts.map +1 -1
  278. package/dist/Fx/constructors/interrupt.js +22 -2
  279. package/dist/Fx/constructors/make.d.ts +151 -4
  280. package/dist/Fx/constructors/make.d.ts.map +1 -1
  281. package/dist/Fx/constructors/make.js +60 -7
  282. package/dist/Fx/constructors/periodic.d.ts +30 -1
  283. package/dist/Fx/constructors/periodic.d.ts.map +1 -1
  284. package/dist/Fx/constructors/periodic.js +30 -1
  285. package/dist/Fx/constructors/succeed.d.ts +79 -7
  286. package/dist/Fx/constructors/succeed.d.ts.map +1 -1
  287. package/dist/Fx/constructors/succeed.js +79 -7
  288. package/dist/Fx/constructors/suspend.d.ts +28 -0
  289. package/dist/Fx/constructors/suspend.d.ts.map +1 -1
  290. package/dist/Fx/constructors/suspend.js +28 -0
  291. package/dist/Fx/constructors/sync.d.ts +32 -0
  292. package/dist/Fx/constructors/sync.d.ts.map +1 -0
  293. package/dist/Fx/constructors/sync.js +32 -0
  294. package/dist/Fx/internal/DeferredRef.d.ts +259 -7
  295. package/dist/Fx/internal/DeferredRef.d.ts.map +1 -1
  296. package/dist/Fx/internal/DeferredRef.js +260 -9
  297. package/dist/Fx/internal/UnionToTuple.d.ts +22 -0
  298. package/dist/Fx/internal/UnionToTuple.d.ts.map +1 -1
  299. package/dist/Fx/internal/diff.d.ts +586 -0
  300. package/dist/Fx/internal/diff.d.ts.map +1 -1
  301. package/dist/Fx/internal/diff.js +120 -9
  302. package/dist/Fx/internal/effectableEvaluateKey.d.ts +30 -0
  303. package/dist/Fx/internal/effectableEvaluateKey.d.ts.map +1 -0
  304. package/dist/Fx/internal/effectableEvaluateKey.js +29 -0
  305. package/dist/Fx/internal/effectableWithOverride.d.ts +70 -0
  306. package/dist/Fx/internal/effectableWithOverride.d.ts.map +1 -0
  307. package/dist/Fx/internal/effectableWithOverride.js +54 -0
  308. package/dist/Fx/internal/equivalence.d.ts +29 -0
  309. package/dist/Fx/internal/equivalence.d.ts.map +1 -1
  310. package/dist/Fx/internal/equivalence.js +29 -0
  311. package/dist/Fx/internal/multicast.d.ts +145 -2
  312. package/dist/Fx/internal/multicast.d.ts.map +1 -1
  313. package/dist/Fx/internal/multicast.js +146 -4
  314. package/dist/Fx/internal/ring-buffer.d.ts +149 -0
  315. package/dist/Fx/internal/ring-buffer.d.ts.map +1 -1
  316. package/dist/Fx/internal/ring-buffer.js +155 -0
  317. package/dist/Fx/internal/scope.d.ts +184 -0
  318. package/dist/Fx/internal/scope.d.ts.map +1 -1
  319. package/dist/Fx/internal/scope.js +150 -0
  320. package/dist/Fx/internal/yieldable.d.ts +117 -2
  321. package/dist/Fx/internal/yieldable.d.ts.map +1 -1
  322. package/dist/Fx/internal/yieldable.js +86 -3
  323. package/dist/Fx/run/collect.d.ts +93 -4
  324. package/dist/Fx/run/collect.d.ts.map +1 -1
  325. package/dist/Fx/run/collect.js +94 -5
  326. package/dist/Fx/run/first.d.ts +23 -1
  327. package/dist/Fx/run/first.d.ts.map +1 -1
  328. package/dist/Fx/run/first.js +23 -1
  329. package/dist/Fx/run/fork.d.ts +52 -2
  330. package/dist/Fx/run/fork.d.ts.map +1 -1
  331. package/dist/Fx/run/fork.js +52 -2
  332. package/dist/Fx/run/observe.d.ts +112 -4
  333. package/dist/Fx/run/observe.d.ts.map +1 -1
  334. package/dist/Fx/run/observe.js +137 -16
  335. package/dist/Fx/run/runPromise.d.ts +45 -2
  336. package/dist/Fx/run/runPromise.d.ts.map +1 -1
  337. package/dist/Fx/run/runPromise.js +45 -2
  338. package/dist/Fx/stream.d.ts +92 -0
  339. package/dist/Fx/stream.d.ts.map +1 -1
  340. package/dist/Fx/stream.js +60 -1
  341. package/dist/Push/Push.d.ts +1229 -104
  342. package/dist/Push/Push.d.ts.map +1 -1
  343. package/dist/Push/Push.js +1024 -95
  344. package/dist/RefArray.d.ts +2 -0
  345. package/dist/RefArray.d.ts.map +1 -0
  346. package/dist/RefArray.js +1 -0
  347. package/dist/RefBigDecimal.d.ts +2 -0
  348. package/dist/RefBigDecimal.d.ts.map +1 -0
  349. package/dist/RefBigDecimal.js +1 -0
  350. package/dist/RefBigInt.d.ts +2 -0
  351. package/dist/RefBigInt.d.ts.map +1 -0
  352. package/dist/RefBigInt.js +1 -0
  353. package/dist/RefBoolean.d.ts +2 -0
  354. package/dist/RefBoolean.d.ts.map +1 -0
  355. package/dist/RefBoolean.js +1 -0
  356. package/dist/RefCause.d.ts +2 -0
  357. package/dist/RefCause.d.ts.map +1 -0
  358. package/dist/RefCause.js +1 -0
  359. package/dist/RefChunk.d.ts +2 -0
  360. package/dist/RefChunk.d.ts.map +1 -0
  361. package/dist/RefChunk.js +1 -0
  362. package/dist/RefDateTime.d.ts +2 -0
  363. package/dist/RefDateTime.d.ts.map +1 -0
  364. package/dist/RefDateTime.js +1 -0
  365. package/dist/RefDuration.d.ts +2 -0
  366. package/dist/RefDuration.d.ts.map +1 -0
  367. package/dist/RefDuration.js +1 -0
  368. package/dist/RefGraph.d.ts +2 -0
  369. package/dist/RefGraph.d.ts.map +1 -0
  370. package/dist/RefGraph.js +1 -0
  371. package/dist/RefHashMap.d.ts +2 -0
  372. package/dist/RefHashMap.d.ts.map +1 -0
  373. package/dist/RefHashMap.js +1 -0
  374. package/dist/RefHashRing.d.ts +2 -0
  375. package/dist/RefHashRing.d.ts.map +1 -0
  376. package/dist/RefHashRing.js +1 -0
  377. package/dist/RefHashSet.d.ts +2 -0
  378. package/dist/RefHashSet.d.ts.map +1 -0
  379. package/dist/RefHashSet.js +1 -0
  380. package/dist/RefIterable.d.ts +2 -0
  381. package/dist/RefIterable.d.ts.map +1 -0
  382. package/dist/RefIterable.js +1 -0
  383. package/dist/RefOption.d.ts +2 -0
  384. package/dist/RefOption.d.ts.map +1 -0
  385. package/dist/RefOption.js +1 -0
  386. package/dist/RefRecord.d.ts +2 -0
  387. package/dist/RefRecord.d.ts.map +1 -0
  388. package/dist/RefRecord.js +1 -0
  389. package/dist/RefResult.d.ts +2 -0
  390. package/dist/RefResult.d.ts.map +1 -0
  391. package/dist/RefResult.js +1 -0
  392. package/dist/RefString.d.ts +2 -0
  393. package/dist/RefString.d.ts.map +1 -0
  394. package/dist/RefString.js +1 -0
  395. package/dist/RefStruct.d.ts +2 -0
  396. package/dist/RefStruct.d.ts.map +1 -0
  397. package/dist/RefStruct.js +1 -0
  398. package/dist/RefSubject/Hydration.d.ts +504 -0
  399. package/dist/RefSubject/Hydration.d.ts.map +1 -0
  400. package/dist/RefSubject/Hydration.js +300 -0
  401. package/dist/RefSubject/RefArray.d.ts +382 -35
  402. package/dist/RefSubject/RefArray.d.ts.map +1 -1
  403. package/dist/RefSubject/RefArray.js +374 -40
  404. package/dist/RefSubject/RefBigDecimal.d.ts +241 -21
  405. package/dist/RefSubject/RefBigDecimal.d.ts.map +1 -1
  406. package/dist/RefSubject/RefBigDecimal.js +229 -20
  407. package/dist/RefSubject/RefBigInt.d.ts +181 -16
  408. package/dist/RefSubject/RefBigInt.d.ts.map +1 -1
  409. package/dist/RefSubject/RefBigInt.js +169 -15
  410. package/dist/RefSubject/RefBoolean.d.ts +181 -16
  411. package/dist/RefSubject/RefBoolean.d.ts.map +1 -1
  412. package/dist/RefSubject/RefBoolean.js +169 -15
  413. package/dist/RefSubject/RefCause.d.ts +133 -12
  414. package/dist/RefSubject/RefCause.d.ts.map +1 -1
  415. package/dist/RefSubject/RefCause.js +121 -11
  416. package/dist/RefSubject/RefChunk.d.ts +481 -76
  417. package/dist/RefSubject/RefChunk.d.ts.map +1 -1
  418. package/dist/RefSubject/RefChunk.js +471 -75
  419. package/dist/RefSubject/RefDateTime.d.ts +133 -12
  420. package/dist/RefSubject/RefDateTime.d.ts.map +1 -1
  421. package/dist/RefSubject/RefDateTime.js +122 -12
  422. package/dist/RefSubject/RefDuration.d.ts +169 -15
  423. package/dist/RefSubject/RefDuration.d.ts.map +1 -1
  424. package/dist/RefSubject/RefDuration.js +157 -14
  425. package/dist/RefSubject/RefGraph.d.ts +349 -35
  426. package/dist/RefSubject/RefGraph.d.ts.map +1 -1
  427. package/dist/RefSubject/RefGraph.js +334 -32
  428. package/dist/RefSubject/RefHashMap.d.ts +323 -28
  429. package/dist/RefSubject/RefHashMap.d.ts.map +1 -1
  430. package/dist/RefSubject/RefHashMap.js +317 -29
  431. package/dist/RefSubject/RefHashRing.d.ts +159 -15
  432. package/dist/RefSubject/RefHashRing.d.ts.map +1 -1
  433. package/dist/RefSubject/RefHashRing.js +145 -12
  434. package/dist/RefSubject/RefHashSet.d.ts +251 -22
  435. package/dist/RefSubject/RefHashSet.d.ts.map +1 -1
  436. package/dist/RefSubject/RefHashSet.js +238 -20
  437. package/dist/RefSubject/RefIterable.d.ts +358 -32
  438. package/dist/RefSubject/RefIterable.d.ts.map +1 -1
  439. package/dist/RefSubject/RefIterable.js +350 -30
  440. package/dist/RefSubject/RefOption.d.ts +157 -14
  441. package/dist/RefSubject/RefOption.d.ts.map +1 -1
  442. package/dist/RefSubject/RefOption.js +145 -13
  443. package/dist/RefSubject/RefRecord.d.ts +402 -64
  444. package/dist/RefSubject/RefRecord.d.ts.map +1 -1
  445. package/dist/RefSubject/RefRecord.js +364 -39
  446. package/dist/RefSubject/RefResult.d.ts +167 -35
  447. package/dist/RefSubject/RefResult.d.ts.map +1 -1
  448. package/dist/RefSubject/RefResult.js +133 -12
  449. package/dist/RefSubject/RefString.d.ts +205 -18
  450. package/dist/RefSubject/RefString.d.ts.map +1 -1
  451. package/dist/RefSubject/RefString.js +193 -17
  452. package/dist/RefSubject/RefStruct.d.ts +169 -14
  453. package/dist/RefSubject/RefStruct.d.ts.map +1 -1
  454. package/dist/RefSubject/RefStruct.js +157 -13
  455. package/dist/RefSubject/RefSubject.d.ts +1197 -45
  456. package/dist/RefSubject/RefSubject.d.ts.map +1 -1
  457. package/dist/RefSubject/RefSubject.js +935 -88
  458. package/dist/RefSubject/RefTrie.d.ts +323 -37
  459. package/dist/RefSubject/RefTrie.d.ts.map +1 -1
  460. package/dist/RefSubject/RefTrie.js +311 -31
  461. package/dist/RefSubject/RefTuple.d.ts +127 -11
  462. package/dist/RefSubject/RefTuple.d.ts.map +1 -1
  463. package/dist/RefSubject/RefTuple.js +114 -9
  464. package/dist/RefSubject/index.d.ts +1 -0
  465. package/dist/RefSubject/index.d.ts.map +1 -1
  466. package/dist/RefSubject/index.js +1 -0
  467. package/dist/RefSubject.d.ts +2 -1
  468. package/dist/RefSubject.d.ts.map +1 -1
  469. package/dist/RefSubject.js +2 -1
  470. package/dist/RefTrie.d.ts +2 -0
  471. package/dist/RefTrie.d.ts.map +1 -0
  472. package/dist/RefTrie.js +1 -0
  473. package/dist/RefTuple.d.ts +2 -0
  474. package/dist/RefTuple.d.ts.map +1 -0
  475. package/dist/RefTuple.js +1 -0
  476. package/dist/Sink/Sink.d.ts +396 -23
  477. package/dist/Sink/Sink.d.ts.map +1 -1
  478. package/dist/Sink/Sink.js +55 -7
  479. package/dist/Sink/combinators.d.ts +740 -11
  480. package/dist/Sink/combinators.d.ts.map +1 -1
  481. package/dist/Sink/combinators.js +716 -14
  482. package/dist/Subject/Subject.d.ts +1022 -27
  483. package/dist/Subject/Subject.d.ts.map +1 -1
  484. package/dist/Subject/Subject.js +909 -43
  485. package/dist/Versioned/Versioned.d.ts +447 -27
  486. package/dist/Versioned/Versioned.d.ts.map +1 -1
  487. package/dist/Versioned/Versioned.js +282 -48
  488. package/dist/index.d.ts +22 -3
  489. package/dist/index.d.ts.map +1 -1
  490. package/dist/index.js +22 -3
  491. package/package.json +126 -16
  492. package/dist/Fx/constructors/fromYieldable.d.ts +0 -12
  493. package/dist/Fx/constructors/fromYieldable.d.ts.map +0 -1
  494. package/dist/Fx/constructors/fromYieldable.js +0 -12
  495. package/src/Fx/Fx.ts +0 -164
  496. package/src/Fx/TypeId.ts +0 -25
  497. package/src/Fx/combinators/additive.ts +0 -142
  498. package/src/Fx/combinators/catch.ts +0 -421
  499. package/src/Fx/combinators/causes.ts +0 -23
  500. package/src/Fx/combinators/changesWithEffect.ts +0 -66
  501. package/src/Fx/combinators/compact.ts +0 -15
  502. package/src/Fx/combinators/continueWith.ts +0 -78
  503. package/src/Fx/combinators/dropUntil.ts +0 -47
  504. package/src/Fx/combinators/ensuring.ts +0 -23
  505. package/src/Fx/combinators/exhaustLatestMap.ts +0 -74
  506. package/src/Fx/combinators/exhaustLatestMapEffect.ts +0 -25
  507. package/src/Fx/combinators/exhaustMap.ts +0 -36
  508. package/src/Fx/combinators/exhaustMapEffect.ts +0 -23
  509. package/src/Fx/combinators/exit.ts +0 -15
  510. package/src/Fx/combinators/filter.ts +0 -22
  511. package/src/Fx/combinators/filterEffect.ts +0 -31
  512. package/src/Fx/combinators/filterMap.ts +0 -23
  513. package/src/Fx/combinators/filterMapEffect.ts +0 -32
  514. package/src/Fx/combinators/filterMapLoop.ts +0 -35
  515. package/src/Fx/combinators/filterMapLoopCause.ts +0 -36
  516. package/src/Fx/combinators/filterMapLoopCauseEffect.ts +0 -46
  517. package/src/Fx/combinators/filterMapLoopEffect.ts +0 -36
  518. package/src/Fx/combinators/flatMap.ts +0 -51
  519. package/src/Fx/combinators/flatMapConcurrently.ts +0 -39
  520. package/src/Fx/combinators/flatMapConcurrentlyEffect.ts +0 -26
  521. package/src/Fx/combinators/flatMapEffect.ts +0 -42
  522. package/src/Fx/combinators/flip.ts +0 -14
  523. package/src/Fx/combinators/gen.ts +0 -24
  524. package/src/Fx/combinators/genScoped.ts +0 -24
  525. package/src/Fx/combinators/index.ts +0 -61
  526. package/src/Fx/combinators/keyed.ts +0 -369
  527. package/src/Fx/combinators/loop.ts +0 -27
  528. package/src/Fx/combinators/loopCause.ts +0 -34
  529. package/src/Fx/combinators/loopCauseEffect.ts +0 -36
  530. package/src/Fx/combinators/loopEffect.ts +0 -34
  531. package/src/Fx/combinators/map.ts +0 -22
  532. package/src/Fx/combinators/mapBoth.ts +0 -40
  533. package/src/Fx/combinators/mapEffect.ts +0 -32
  534. package/src/Fx/combinators/mapError.ts +0 -28
  535. package/src/Fx/combinators/mergeAll.ts +0 -22
  536. package/src/Fx/combinators/mergeOrdered.ts +0 -123
  537. package/src/Fx/combinators/onError.ts +0 -40
  538. package/src/Fx/combinators/onExit.ts +0 -82
  539. package/src/Fx/combinators/onInterrupt.ts +0 -87
  540. package/src/Fx/combinators/provide.ts +0 -124
  541. package/src/Fx/combinators/result.ts +0 -39
  542. package/src/Fx/combinators/scan.ts +0 -82
  543. package/src/Fx/combinators/skip.ts +0 -41
  544. package/src/Fx/combinators/skipRepeats.ts +0 -15
  545. package/src/Fx/combinators/skipRepeatsWith.ts +0 -40
  546. package/src/Fx/combinators/skipWhile.ts +0 -100
  547. package/src/Fx/combinators/slice.ts +0 -55
  548. package/src/Fx/combinators/switchMap.ts +0 -55
  549. package/src/Fx/combinators/switchMapEffect.ts +0 -25
  550. package/src/Fx/combinators/take.ts +0 -38
  551. package/src/Fx/combinators/takeUntil.ts +0 -88
  552. package/src/Fx/combinators/takeWhile.ts +0 -47
  553. package/src/Fx/combinators/tapEffect.ts +0 -39
  554. package/src/Fx/combinators/tuple.ts +0 -79
  555. package/src/Fx/combinators/unwrap.ts +0 -21
  556. package/src/Fx/combinators/unwrapScoped.ts +0 -26
  557. package/src/Fx/combinators/when.ts +0 -64
  558. package/src/Fx/combinators/withSpan.ts +0 -24
  559. package/src/Fx/combinators/zip.ts +0 -175
  560. package/src/Fx/constructors/at.ts +0 -23
  561. package/src/Fx/constructors/die.ts +0 -17
  562. package/src/Fx/constructors/empty.ts +0 -10
  563. package/src/Fx/constructors/fail.ts +0 -14
  564. package/src/Fx/constructors/failCause.ts +0 -14
  565. package/src/Fx/constructors/fn.ts +0 -245
  566. package/src/Fx/constructors/fromEffect.ts +0 -24
  567. package/src/Fx/constructors/fromFailures.ts +0 -19
  568. package/src/Fx/constructors/fromIterable.ts +0 -15
  569. package/src/Fx/constructors/fromSchedule.ts +0 -18
  570. package/src/Fx/constructors/fromYieldable.ts +0 -17
  571. package/src/Fx/constructors/index.ts +0 -15
  572. package/src/Fx/constructors/interrupt.ts +0 -13
  573. package/src/Fx/constructors/make.ts +0 -103
  574. package/src/Fx/constructors/periodic.ts +0 -15
  575. package/src/Fx/constructors/succeed.ts +0 -37
  576. package/src/Fx/constructors/suspend.ts +0 -6
  577. package/src/Fx/index.ts +0 -6
  578. package/src/Fx/internal/DeferredRef.ts +0 -87
  579. package/src/Fx/internal/UnionToTuple.ts +0 -12
  580. package/src/Fx/internal/diff.ts +0 -191
  581. package/src/Fx/internal/equivalence.ts +0 -12
  582. package/src/Fx/internal/multicast.ts +0 -51
  583. package/src/Fx/internal/ring-buffer.ts +0 -60
  584. package/src/Fx/internal/scope.ts +0 -58
  585. package/src/Fx/internal/yieldable.ts +0 -31
  586. package/src/Fx/run/collect.ts +0 -79
  587. package/src/Fx/run/first.ts +0 -20
  588. package/src/Fx/run/fork.ts +0 -40
  589. package/src/Fx/run/index.ts +0 -5
  590. package/src/Fx/run/observe.ts +0 -114
  591. package/src/Fx/run/runPromise.ts +0 -32
  592. package/src/Fx/stream.ts +0 -42
  593. package/src/Fx.additive-combinators.test.ts +0 -126
  594. package/src/Fx.catch-additive.test.ts +0 -206
  595. package/src/Fx.catch.test.ts +0 -60
  596. package/src/Fx.dropUntil.test.ts +0 -61
  597. package/src/Fx.fn.test.ts +0 -51
  598. package/src/Fx.lifecycle.test.ts +0 -79
  599. package/src/Fx.mapError-mapBoth.test.ts +0 -101
  600. package/src/Fx.provide-combinators.test.ts +0 -94
  601. package/src/Fx.result-changesWithEffect.test.ts +0 -112
  602. package/src/Fx.scan.test.ts +0 -73
  603. package/src/Fx.takeWhile-skipWhile.test.ts +0 -84
  604. package/src/Fx.test.ts +0 -71
  605. package/src/Fx.ts +0 -1
  606. package/src/Fx.zip-merge-additive.test.ts +0 -171
  607. package/src/Fx.zip.test.ts +0 -133
  608. package/src/Push/Push.ts +0 -1072
  609. package/src/Push/index.ts +0 -1
  610. package/src/Push.additive.test.ts +0 -256
  611. package/src/Push.test.ts +0 -26
  612. package/src/Push.ts +0 -1
  613. package/src/RefSubject/RefArray.ts +0 -512
  614. package/src/RefSubject/RefBigDecimal.test.ts +0 -56
  615. package/src/RefSubject/RefBigDecimal.ts +0 -295
  616. package/src/RefSubject/RefBigInt.test.ts +0 -56
  617. package/src/RefSubject/RefBigInt.ts +0 -189
  618. package/src/RefSubject/RefBoolean.test.ts +0 -57
  619. package/src/RefSubject/RefBoolean.ts +0 -185
  620. package/src/RefSubject/RefCause.test.ts +0 -53
  621. package/src/RefSubject/RefCause.ts +0 -146
  622. package/src/RefSubject/RefChunk.ts +0 -510
  623. package/src/RefSubject/RefDateTime.test.ts +0 -43
  624. package/src/RefSubject/RefDateTime.ts +0 -264
  625. package/src/RefSubject/RefDuration.test.ts +0 -49
  626. package/src/RefSubject/RefDuration.ts +0 -188
  627. package/src/RefSubject/RefGraph.ts +0 -650
  628. package/src/RefSubject/RefHashMap.ts +0 -465
  629. package/src/RefSubject/RefHashRing.ts +0 -262
  630. package/src/RefSubject/RefHashSet.ts +0 -308
  631. package/src/RefSubject/RefIterable.ts +0 -445
  632. package/src/RefSubject/RefOption.test.ts +0 -67
  633. package/src/RefSubject/RefOption.ts +0 -193
  634. package/src/RefSubject/RefRecord.ts +0 -612
  635. package/src/RefSubject/RefResult.test.ts +0 -63
  636. package/src/RefSubject/RefResult.ts +0 -209
  637. package/src/RefSubject/RefString.test.ts +0 -61
  638. package/src/RefSubject/RefString.ts +0 -256
  639. package/src/RefSubject/RefStruct.test.ts +0 -60
  640. package/src/RefSubject/RefStruct.ts +0 -253
  641. package/src/RefSubject/RefSubject.ts +0 -2646
  642. package/src/RefSubject/RefTrie.ts +0 -356
  643. package/src/RefSubject/RefTuple.test.ts +0 -60
  644. package/src/RefSubject/RefTuple.ts +0 -231
  645. package/src/RefSubject/index.ts +0 -21
  646. package/src/RefSubject.additive-parity.test.ts +0 -101
  647. package/src/RefSubject.test.ts +0 -65
  648. package/src/RefSubject.ts +0 -1
  649. package/src/Sink/Sink.ts +0 -159
  650. package/src/Sink/combinators.ts +0 -1115
  651. package/src/Sink/index.ts +0 -2
  652. package/src/Sink.combinators.test.ts +0 -88
  653. package/src/Sink.reduce-collect-head-last.test.ts +0 -107
  654. package/src/Sink.ts +0 -1
  655. package/src/Subject/Subject.ts +0 -441
  656. package/src/Subject/index.ts +0 -1
  657. package/src/Subject.test.ts +0 -47
  658. package/src/Subject.ts +0 -1
  659. package/src/Versioned/Versioned.ts +0 -597
  660. package/src/Versioned/index.ts +0 -1
  661. package/src/Versioned.filterMap.test.ts +0 -91
  662. package/src/Versioned.test.ts +0 -23
  663. package/src/Versioned.ts +0 -1
  664. package/src/index.ts +0 -7
@@ -7,18 +7,18 @@
7
7
  * @since 1.0.0
8
8
  */
9
9
  import * as Effect from "effect/Effect";
10
- import * as Exit from "effect/Exit";
10
+ import * as Effectable from "effect/Effectable";
11
11
  import { dual, flow, identity } from "effect/Function";
12
12
  import * as Layer from "effect/Layer";
13
13
  import { sum } from "effect/Number";
14
14
  import * as Option from "effect/Option";
15
15
  import { pipeArguments } from "effect/Pipeable";
16
- import * as ServiceMap from "effect/ServiceMap";
16
+ import * as Context from "effect/Context";
17
17
  import { filterMap as fxFilterMap } from "../Fx/combinators/filterMap.js";
18
18
  import { filterMapEffect as fxFilterMapEffect } from "../Fx/combinators/filterMapEffect.js";
19
19
  import { map as fxMap } from "../Fx/combinators/map.js";
20
20
  import { mapEffect as fxMapEffect } from "../Fx/combinators/mapEffect.js";
21
- import { provide as fxProvide, provideServices as fxProvideServices, } from "../Fx/combinators/provide.js";
21
+ import { provide as fxProvide, provideContext as fxprovideContext, } from "../Fx/combinators/provide.js";
22
22
  import { struct as fxStruct, tuple as fxTuple } from "../Fx/combinators/tuple.js";
23
23
  import { succeed as fxSucceed } from "../Fx/constructors/succeed.js";
24
24
  import { MulticastEffect } from "../Fx/internal/multicast.js";
@@ -28,15 +28,41 @@ import * as Subject from "../Subject/Subject.js";
28
28
  /**
29
29
  * Creates a Versioned value from its components.
30
30
  *
31
+ * @remarks
32
+ * ## Why
33
+ *
34
+ * Builds one Versioned value from independently typed version, update, and current-value channels
35
+ * instead of forcing them into one error or environment type.
36
+ *
37
+ * ## Ownership and lifetime
38
+ *
39
+ * Construction is lazy with respect to the Fx channel. Current reads share in-flight work until
40
+ * interrupt is run; each component retains its declared errors and services.
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * import { Effect } from "effect"
45
+ * import * as Fx from "@typed/fx/Fx"
46
+ * import * as Versioned from "@typed/fx/Versioned"
47
+ *
48
+ * const status = Versioned.make(
49
+ * Effect.succeed(1),
50
+ * Fx.succeed("ready"),
51
+ * Effect.succeed("ready")
52
+ * )
53
+ *
54
+ * const snapshot = Effect.all({ value: status, version: status.version })
55
+ * ```
56
+ *
31
57
  * @param version - An effect that retrieves the current version number.
32
58
  * @param fx - The stream of updates.
33
59
  * @param effect - An effect that retrieves the current value.
34
60
  * @returns A `Versioned` value.
35
61
  * @since 1.0.0
36
- * @category constructors
62
+ * @category Constructors
37
63
  */
38
64
  export function make(version, fx, effect) {
39
- return new VersionedImpl(version, fx, effect.asEffect());
65
+ return new VersionedImpl(version, fx, effect);
40
66
  }
41
67
  class VersionedImpl extends YieldableFx {
42
68
  version;
@@ -52,19 +78,32 @@ class VersionedImpl extends YieldableFx {
52
78
  return this.fx.run(sink);
53
79
  }
54
80
  toEffect() {
55
- return this.effect.asEffect();
81
+ return this.effect;
56
82
  }
57
83
  interrupt = Effect.suspend(() => this.effect.interrupt());
58
84
  }
59
85
  /**
60
86
  * Transforms a Versioned value into another Versioned value.
61
87
  *
88
+ * @remarks
89
+ * ## Why
90
+ *
91
+ * Transforms the pushed and sampled channels together while retaining one version source, so both
92
+ * ways of consuming the value stay coherent.
93
+ *
94
+ * ## Ownership and lifetime
95
+ *
96
+ * transform does not take ownership of its inputs. Its observation and current-read channels
97
+ * retain upstream lifetime, typed failures, services, and interruption behavior.
98
+ * Sampled projections and in-flight reads are cached separately for each Effect Context object.
99
+ * Interrupting a transformed value affects the current Context's in-flight read.
100
+ *
62
101
  * @param input - The source Versioned value.
63
102
  * @param transformFx - A function to transform the update stream.
64
103
  * @param transformGet - A function to transform the current value effect.
65
104
  * @returns A new `Versioned` value.
66
105
  * @since 1.0.0
67
- * @category combinators
106
+ * @category Channel transformations
68
107
  */
69
108
  export function transform(input, transformFx, transformGet) {
70
109
  if (isVersionedTransform(input)) {
@@ -81,6 +120,7 @@ export class VersionedTransform extends YieldableFx {
81
120
  _version = -1;
82
121
  _currentValue = Option.none();
83
122
  _fx;
123
+ contexts = new WeakMap();
84
124
  input;
85
125
  _transformFx;
86
126
  _transformEffect;
@@ -91,124 +131,274 @@ export class VersionedTransform extends YieldableFx {
91
131
  this._transformEffect = _transformEffect;
92
132
  this._fx = _transformFx(this.input);
93
133
  }
94
- version = Effect.sync(() => this._version);
134
+ version = Effect.contextWith((context) => Effect.sync(() => this.contexts.get(context)?.version ?? -1));
95
135
  run(sink) {
96
136
  return this._fx.run(sink);
97
137
  }
98
138
  toEffect() {
99
- const transformed = this._transformEffect(this.input.asEffect());
100
- const update = (v) => Effect.tapCause(Effect.tap(transformed, (value) => Effect.sync(() => {
101
- this._currentValue = Option.some(Exit.succeed(value));
102
- this._version = v;
103
- })), (cause) => Effect.sync(() => {
104
- this._currentValue = Option.some(Exit.failCause(cause));
105
- this._version = v;
106
- }));
107
- const multicastEffect = new MulticastEffect(Effect.flatMap(this.input.version, (version) => {
108
- if (version === this._version && Option.isSome(this._currentValue)) {
109
- return this._currentValue.value;
139
+ const transformed = this._transformEffect(this.input);
140
+ return Effect.contextWith((context) => {
141
+ let state = this.contexts.get(context);
142
+ if (!state) {
143
+ state = { version: -1, currentValue: Option.none() };
144
+ this.contexts.set(context, state);
110
145
  }
111
- return update(version);
112
- }));
113
- return multicastEffect.asEffect();
146
+ const current = state;
147
+ return (current.effect ??= new MulticastEffect(Effect.flatMap(this.input.version, (version) => {
148
+ if (version === current.version && Option.isSome(current.currentValue)) {
149
+ return current.currentValue.value;
150
+ }
151
+ return Effect.onExit(transformed, (exit) => Effect.sync(() => {
152
+ current.currentValue = Option.some(exit);
153
+ current.version = version;
154
+ this._currentValue = current.currentValue;
155
+ this._version = version;
156
+ }));
157
+ })));
158
+ });
114
159
  }
115
- interrupt = Effect.suspend(() => {
116
- if (!this._effect)
117
- return Effect.void;
118
- const me = this._effect;
119
- return me.interrupt();
120
- });
160
+ interrupt = Effect.contextWith((context) => this.contexts.get(context)?.effect?.interrupt() ?? Effect.void);
121
161
  }
122
162
  function isVersionedTransform(u) {
123
163
  return u instanceof VersionedTransform;
124
164
  }
125
165
  /**
126
166
  * Transform a Versioned's output value as both an Fx and Effect.
167
+ * @remarks
168
+ * ## Why
169
+ *
170
+ * Applies corresponding pure projections to pushed and sampled values while leaving the version
171
+ * token unchanged.
172
+ *
173
+ * ## Ownership and lifetime
174
+ *
175
+ * map does not take ownership of its inputs. Its observation and current-read channels retain
176
+ * upstream lifetime, typed failures, services, and interruption behavior.
177
+ *
178
+ * Pure callbacks preserve push order and cardinality. `onFx` applies to every pushed update;
179
+ * `onEffect` applies only when the current value is sampled.
180
+ *
181
+ * @example
182
+ * ```ts
183
+ * import { Effect } from "effect"
184
+ * import * as Versioned from "@typed/fx/Versioned"
185
+ *
186
+ * const length = Versioned.map(Versioned.of("typed"), {
187
+ * onFx: (value) => value.length,
188
+ * onEffect: (value) => value.length
189
+ * })
190
+ *
191
+ * const currentLength = Effect.runPromise(length)
192
+ * ```
193
+ *
127
194
  * @since 1.18.0
128
- * @category combinators
195
+ * @category Channel transformations
129
196
  */
130
197
  export const map = dual(2, function map(versioned, options) {
131
198
  return transform(versioned, (fx) => fxMap(fx, options.onFx), Effect.map(options.onEffect));
132
199
  });
133
200
  /**
134
201
  * Transform a Versioned's output value as both an Fx and Effect using an Effect.
202
+ * @remarks
203
+ * ## Why
204
+ *
205
+ * Allows pushed and sampled projections to require services or fail, and exposes those additions
206
+ * in the corresponding output channels.
207
+ *
208
+ * ## Ownership and lifetime
209
+ *
210
+ * No subscription starts during transformation. Callback effects run when their push or read
211
+ * channel is consumed and are interrupted with that consumer.
212
+ *
135
213
  * @since 1.18.0
136
- * @category combinators
214
+ * @category Channel transformations
137
215
  */
138
216
  export const mapEffect = dual(2, function mapEffect(versioned, options) {
139
217
  return transform(versioned, (fx) => fxMapEffect(fx, options.onFx), Effect.flatMap(options.onEffect));
140
218
  });
141
219
  /**
142
220
  * Filter-maps a Versioned's output as both an Fx and Effect; the Effect value becomes `Option` (Some when the predicate holds, None otherwise).
221
+ * @remarks
222
+ * ## Why
223
+ *
224
+ * Drops absent pushed values while preserving an Option for the current read, making the two
225
+ * absence semantics explicit.
226
+ *
227
+ * ## Ownership and lifetime
228
+ *
229
+ * filterMap does not take ownership of its inputs. Its observation and current-read channels
230
+ * retain upstream lifetime, typed failures, services, and interruption behavior.
231
+ *
143
232
  * @since 1.18.0
144
- * @category combinators
233
+ * @category Optional channel transformations
145
234
  */
146
235
  export const filterMap = dual(2, function filterMap(versioned, options) {
147
236
  return transform(versioned, (fx) => fxFilterMap(fx, options.onFx), (effect) => Effect.map(effect, options.onEffect));
148
237
  });
149
238
  /**
150
239
  * Filter-maps a Versioned's output as both an Fx and Effect using an Effect; the Effect value becomes `Option`.
240
+ * @remarks
241
+ * ## Why
242
+ *
243
+ * Adds Effectful filtering independently to the push and current-read channels while preserving
244
+ * their separate error and service types.
245
+ *
246
+ * ## Ownership and lifetime
247
+ *
248
+ * No subscription starts during transformation. Callback effects run when their push or read
249
+ * channel is consumed and are interrupted with that consumer.
250
+ *
151
251
  * @since 1.18.0
152
- * @category combinators
252
+ * @category Optional channel transformations
153
253
  */
154
254
  export const filterMapEffect = dual(2, function filterMapEffect(versioned, options) {
155
255
  return transform(versioned, (fx) => fxFilterMapEffect(fx, options.onFx), (effect) => Effect.flatMap(effect, options.onEffect));
156
256
  });
157
257
  /**
158
258
  * Combines multiple Versioned values into a single tuple.
259
+ * @remarks
260
+ * ## Why
261
+ *
262
+ * Combines several Versioned values positionally and uses their versions as one invalidation token
263
+ * for the assembled tuple.
264
+ *
265
+ * ## Ownership and lifetime
266
+ *
267
+ * tuple does not take ownership of its inputs. Its observation and current-read channels retain
268
+ * upstream lifetime, typed failures, services, and interruption behavior.
269
+ *
159
270
  * @since 1.0.0
160
- * @category combinators
271
+ * @category State composition
161
272
  */
162
273
  export function tuple(versioneds) {
163
- return make(Effect.map(Effect.all(versioneds.map((v) => v.version)), (versions) => versions.reduce(sum, 0)), fxTuple(...versioneds), Effect.all(versioneds.map((v) => v.asEffect()), { concurrency: "unbounded" }));
274
+ return make(Effect.map(Effect.all(versioneds.map((v) => v.version)), (versions) => versions.reduce(sum, 0)), fxTuple(...versioneds), Effect.all(versioneds.map((v) => v), { concurrency: "unbounded" }));
164
275
  }
165
276
  /**
166
277
  * Combines multiple Versioned values into a single struct.
278
+ * @remarks
279
+ * ## Why
280
+ *
281
+ * Combines named Versioned values and preserves each field's pushed value, sampled value, errors,
282
+ * and services in the resulting structure.
283
+ *
284
+ * ## Ownership and lifetime
285
+ *
286
+ * struct does not take ownership of its inputs. Its observation and current-read channels retain
287
+ * upstream lifetime, typed failures, services, and interruption behavior.
288
+ *
167
289
  * @since 1.0.0
168
- * @category combinators
290
+ * @category State composition
169
291
  */
170
292
  export function struct(versioneds) {
171
- return make(Effect.map(Effect.all(Object.values(versioneds).map((v) => v.version)), (versions) => versions.reduce(sum, 0)), fxStruct(versioneds), Effect.all(mapRecord(versioneds, (v) => v.asEffect()), { concurrency: "unbounded" }));
293
+ return make(Effect.map(Effect.all(Object.values(versioneds).map((v) => v.version)), (versions) => versions.reduce(sum, 0)), fxStruct(versioneds), Effect.all(mapRecord(versioneds, (v) => v), { concurrency: "unbounded" }));
172
294
  }
173
295
  /**
174
296
  * Provides context to a Versioned value.
297
+ * @remarks
298
+ * ## Why
299
+ *
300
+ * Supplies one Layer to all three Versioned channels so service elimination is consistent for
301
+ * version reads, pushed updates, and current reads.
302
+ *
303
+ * ## Ownership and lifetime
304
+ *
305
+ * provide does not take ownership of its inputs. Its observation and current-read channels retain
306
+ * upstream lifetime, typed failures, services, and interruption behavior.
307
+ *
175
308
  * @since 1.0.0
176
- * @category combinators
309
+ * @category Services
177
310
  */
178
311
  export const provide = (versioned, layer) => {
179
- return make(Effect.provide(versioned.version, layer), fxProvide(versioned, layer), Effect.provide(versioned.asEffect(), layer));
312
+ return make(Effect.provide(versioned.version, layer), fxProvide(versioned, layer), Effect.provide(versioned, layer));
180
313
  };
181
314
  function mapRecord(record, f) {
182
315
  return Object.fromEntries(Object.entries(record).map(([k, v]) => [k, f(v, k)]));
183
316
  }
184
317
  /**
185
318
  * Creates a Versioned value from a constant.
319
+ * @remarks
320
+ * ## Why
321
+ *
322
+ * Creates constant versioned state for composition and testing without starting a fiber or
323
+ * requiring a Scope.
324
+ *
325
+ * ## Ownership and lifetime
326
+ *
327
+ * of does not take ownership of its inputs. Its observation and current-read channels retain
328
+ * upstream lifetime, typed failures, services, and interruption behavior.
329
+ *
186
330
  * @since 1.0.0
187
- * @category constructors
331
+ * @category Constructors
188
332
  */
189
333
  export function of(value) {
190
334
  return make(Effect.succeed(1), fxSucceed(value), Effect.succeed(value));
191
335
  }
192
336
  /**
193
337
  * Holds the latest value of a Versioned stream.
338
+ * @remarks
339
+ * ## Why
340
+ *
341
+ * Retains the latest pushed value for later subscribers while leaving current-value reads
342
+ * delegated to the original Versioned Effect.
343
+ *
344
+ * ## Ownership and lifetime
345
+ *
346
+ * The returned Fx requires Scope; its shared upstream subscription and retained buffer are
347
+ * finalized when that Scope closes. Current reads retain input errors and services.
348
+ *
349
+ * @example
350
+ * ```ts
351
+ * import { Effect } from "effect"
352
+ * import * as Versioned from "@typed/fx/Versioned"
353
+ *
354
+ * const program = Effect.scoped(Effect.gen(function* () {
355
+ * const shared = Versioned.hold(Versioned.of({ status: "ready" as const }))
356
+ * return yield* shared
357
+ * }))
358
+ * ```
359
+ *
194
360
  * @since 1.0.0
195
- * @category combinators
361
+ * @category Shared observation
196
362
  */
197
363
  export function hold(versioned) {
198
364
  return make(versioned.version, Subject.hold(versioned), versioned);
199
365
  }
200
366
  /**
201
367
  * Multicasts a Versioned stream.
368
+ * @remarks
369
+ * ## Why
370
+ *
371
+ * Shares one upstream push subscription among concurrent observers while retaining the original
372
+ * current-read and version effects. Unlike `hold` and `replay`, `multicast` retains zero values: a
373
+ * late observer receives only pushes that happen after it subscribes.
374
+ *
375
+ * ## Ownership and lifetime
376
+ *
377
+ * The returned Fx requires Scope; that Scope owns and finalizes the shared upstream subscription.
378
+ * There is no replay buffer or held latest value. Current reads bypass the multicast channel and
379
+ * retain the input's errors and services.
380
+ *
202
381
  * @since 1.0.0
203
- * @category combinators
382
+ * @category Shared observation
204
383
  */
205
384
  export function multicast(versioned) {
206
385
  return make(versioned.version, Subject.multicast(versioned), versioned);
207
386
  }
208
387
  /**
209
388
  * Replays the last `bufferSize` values of a Versioned stream.
389
+ * @remarks
390
+ * ## Why
391
+ *
392
+ * Shares an upstream push subscription and replays a bounded number of updates to late observers
393
+ * without changing current-value reads.
394
+ *
395
+ * ## Ownership and lifetime
396
+ *
397
+ * The returned Fx requires Scope; its shared upstream subscription and retained buffer are
398
+ * finalized when that Scope closes. Current reads retain input errors and services.
399
+ *
210
400
  * @since 1.0.0
211
- * @category combinators
401
+ * @category Shared observation
212
402
  */
213
403
  export function replay(versioned, bufferSize) {
214
404
  return make(versioned.version, Subject.replay(versioned, bufferSize), versioned);
@@ -218,26 +408,70 @@ const VARIANCE = {
218
408
  _E: identity,
219
409
  _R: identity,
220
410
  };
411
+ /**
412
+ * Creates a Context-backed Versioned service facade and Layer constructor.
413
+ *
414
+ * @remarks
415
+ * ## Why
416
+ *
417
+ * Creates an Effect service tag that exposes current reads, pushed updates, and versions through
418
+ * one Layer-provided state dependency.
419
+ *
420
+ * ## Ownership and lifetime
421
+ *
422
+ * Calling Service is pure. The generated make Layer captures required environments and owns the
423
+ * provided state for the Layer Scope.
424
+ *
425
+ * @example
426
+ * ```ts
427
+ * import { Effect } from "effect"
428
+ * import * as Fx from "@typed/fx/Fx"
429
+ * import * as Versioned from "@typed/fx/Versioned"
430
+ *
431
+ * class Status extends Versioned.Service<Status, never, string, never, string>()(
432
+ * "example/Status"
433
+ * ) {}
434
+ *
435
+ * const StatusLive = Status.make(
436
+ * Effect.succeed(1),
437
+ * Fx.succeed("ready"),
438
+ * Effect.succeed("ready")
439
+ * )
440
+ * ```
441
+ *
442
+ * @since 1.0.0
443
+ * @category Services
444
+ */
221
445
  export function Service() {
222
446
  return (id) => {
223
- const service = ServiceMap.Service(id);
447
+ const service = Context.Service(id);
224
448
  // eslint-disable-next-line @typescript-eslint/no-extraneous-class
225
449
  return class VersionedService {
226
450
  static id = id;
227
451
  static service = service;
228
- static make = (version, fx, effect) => Layer.effect(service, Effect.services().pipe(Effect.map((context) => make(Effect.provide(version, context), fxProvideServices(fx, context), Effect.provide(effect.asEffect(), context)))));
452
+ static {
453
+ // @effect-diagnostics-next-line floatingEffect:off
454
+ Object.assign(this, service);
455
+ Object.setPrototypeOf(this, Object.getPrototypeOf(service));
456
+ // @effect-diagnostics-next-line floatingEffect:off
457
+ Object.assign(this, Effectable.Prototype({
458
+ label: "Versioned.Service",
459
+ evaluate: () => Effect.flatten(service),
460
+ }));
461
+ }
462
+ static make = (version, fx, effect) => Layer.effect(service, Effect.context().pipe(Effect.map((context) => make(Effect.provide(version, context), fxprovideContext(fx, context), Effect.provide(effect, context)))));
229
463
  static [FxTypeId] = VARIANCE;
230
464
  static pipe = function () {
231
465
  return pipeArguments(this, arguments);
232
466
  };
233
- static version = Effect.flatMap(service.asEffect(), (v) => v.version);
234
- static interrupt = Effect.flatMap(service.asEffect(), (v) => v.interrupt);
235
- static run = (sink) => Effect.flatMap(service.asEffect(), (v) => v.run(sink));
467
+ static version = Effect.flatMap(service, (v) => v.version);
468
+ static interrupt = Effect.flatMap(service, (v) => v.interrupt);
469
+ static run = (sink) => Effect.flatMap(service, (v) => v.run(sink));
470
+ static override = Effect.flatMap(service, identity);
236
471
  static [Symbol.iterator] = function* () {
237
472
  const v = yield* service;
238
473
  return yield* v;
239
474
  };
240
- static asEffect = () => Effect.flatMap(service.asEffect(), (v) => v.asEffect());
241
475
  constructor() {
242
476
  return VersionedService;
243
477
  }
package/dist/index.d.ts CHANGED
@@ -1,8 +1,27 @@
1
1
  export * as Fx from "./Fx.js";
2
2
  export * as Push from "./Push.js";
3
- export * as RefArray from "./RefSubject/RefArray.js";
4
- export * as RefSubject from "./RefSubject/RefSubject.js";
5
- export * as Sink from "./Sink/index.js";
3
+ export * as RefArray from "./RefArray.js";
4
+ export * as RefBigDecimal from "./RefBigDecimal.js";
5
+ export * as RefBigInt from "./RefBigInt.js";
6
+ export * as RefBoolean from "./RefBoolean.js";
7
+ export * as RefCause from "./RefCause.js";
8
+ export * as RefChunk from "./RefChunk.js";
9
+ export * as RefDateTime from "./RefDateTime.js";
10
+ export * as RefDuration from "./RefDuration.js";
11
+ export * as RefGraph from "./RefGraph.js";
12
+ export * as RefHashMap from "./RefHashMap.js";
13
+ export * as RefHashRing from "./RefHashRing.js";
14
+ export * as RefHashSet from "./RefHashSet.js";
15
+ export * as RefIterable from "./RefIterable.js";
16
+ export * as RefOption from "./RefOption.js";
17
+ export * as RefRecord from "./RefRecord.js";
18
+ export * as RefResult from "./RefResult.js";
19
+ export * as RefString from "./RefString.js";
20
+ export * as RefStruct from "./RefStruct.js";
21
+ export * as RefSubject from "./RefSubject.js";
22
+ export * as RefTrie from "./RefTrie.js";
23
+ export * as RefTuple from "./RefTuple.js";
24
+ export * as Sink from "./Sink.js";
6
25
  export * as Subject from "./Subject.js";
7
26
  export * as Versioned from "./Versioned.js";
8
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,26 @@
1
1
  export * as Fx from "./Fx.js";
2
2
  export * as Push from "./Push.js";
3
- export * as RefArray from "./RefSubject/RefArray.js";
4
- export * as RefSubject from "./RefSubject/RefSubject.js";
5
- export * as Sink from "./Sink/index.js";
3
+ export * as RefArray from "./RefArray.js";
4
+ export * as RefBigDecimal from "./RefBigDecimal.js";
5
+ export * as RefBigInt from "./RefBigInt.js";
6
+ export * as RefBoolean from "./RefBoolean.js";
7
+ export * as RefCause from "./RefCause.js";
8
+ export * as RefChunk from "./RefChunk.js";
9
+ export * as RefDateTime from "./RefDateTime.js";
10
+ export * as RefDuration from "./RefDuration.js";
11
+ export * as RefGraph from "./RefGraph.js";
12
+ export * as RefHashMap from "./RefHashMap.js";
13
+ export * as RefHashRing from "./RefHashRing.js";
14
+ export * as RefHashSet from "./RefHashSet.js";
15
+ export * as RefIterable from "./RefIterable.js";
16
+ export * as RefOption from "./RefOption.js";
17
+ export * as RefRecord from "./RefRecord.js";
18
+ export * as RefResult from "./RefResult.js";
19
+ export * as RefString from "./RefString.js";
20
+ export * as RefStruct from "./RefStruct.js";
21
+ export * as RefSubject from "./RefSubject.js";
22
+ export * as RefTrie from "./RefTrie.js";
23
+ export * as RefTuple from "./RefTuple.js";
24
+ export * as Sink from "./Sink.js";
6
25
  export * as Subject from "./Subject.js";
7
26
  export * as Versioned from "./Versioned.js";