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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (640) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -21
  3. package/dist/Fx/Fx.d.ts +371 -19
  4. package/dist/Fx/Fx.d.ts.map +1 -1
  5. package/dist/Fx/Fx.js +37 -6
  6. package/dist/Fx/TypeId.d.ts +52 -6
  7. package/dist/Fx/TypeId.d.ts.map +1 -1
  8. package/dist/Fx/TypeId.js +41 -4
  9. package/dist/Fx/combinators/additive.d.ts +245 -0
  10. package/dist/Fx/combinators/additive.d.ts.map +1 -0
  11. package/dist/Fx/combinators/additive.js +243 -0
  12. package/dist/Fx/combinators/catch.d.ts +246 -12
  13. package/dist/Fx/combinators/catch.d.ts.map +1 -1
  14. package/dist/Fx/combinators/catch.js +236 -12
  15. package/dist/Fx/combinators/causes.d.ts +25 -2
  16. package/dist/Fx/combinators/causes.d.ts.map +1 -1
  17. package/dist/Fx/combinators/causes.js +25 -2
  18. package/dist/Fx/combinators/changesWithEffect.d.ts +40 -0
  19. package/dist/Fx/combinators/changesWithEffect.d.ts.map +1 -0
  20. package/dist/Fx/combinators/changesWithEffect.js +48 -0
  21. package/dist/Fx/combinators/compact.d.ts +18 -1
  22. package/dist/Fx/combinators/compact.d.ts.map +1 -1
  23. package/dist/Fx/combinators/compact.js +18 -1
  24. package/dist/Fx/combinators/concatMap.d.ts +86 -0
  25. package/dist/Fx/combinators/concatMap.d.ts.map +1 -0
  26. package/dist/Fx/combinators/concatMap.js +86 -0
  27. package/dist/Fx/combinators/continueWith.d.ts +113 -5
  28. package/dist/Fx/combinators/continueWith.d.ts.map +1 -1
  29. package/dist/Fx/combinators/continueWith.js +113 -5
  30. package/dist/Fx/combinators/debounce.d.ts +34 -0
  31. package/dist/Fx/combinators/debounce.d.ts.map +1 -0
  32. package/dist/Fx/combinators/debounce.js +35 -0
  33. package/dist/Fx/combinators/delay.d.ts +36 -0
  34. package/dist/Fx/combinators/delay.d.ts.map +1 -0
  35. package/dist/Fx/combinators/delay.js +33 -0
  36. package/dist/Fx/combinators/dropUntil.d.ts +71 -0
  37. package/dist/Fx/combinators/dropUntil.d.ts.map +1 -0
  38. package/dist/Fx/combinators/dropUntil.js +65 -0
  39. package/dist/Fx/combinators/during.d.ts +38 -0
  40. package/dist/Fx/combinators/during.d.ts.map +1 -0
  41. package/dist/Fx/combinators/during.js +85 -0
  42. package/dist/Fx/combinators/ensuring.d.ts +34 -4
  43. package/dist/Fx/combinators/ensuring.d.ts.map +1 -1
  44. package/dist/Fx/combinators/ensuring.js +34 -4
  45. package/dist/Fx/combinators/exhaustLatestMap.d.ts +41 -5
  46. package/dist/Fx/combinators/exhaustLatestMap.d.ts.map +1 -1
  47. package/dist/Fx/combinators/exhaustLatestMap.js +41 -5
  48. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts +40 -4
  49. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts.map +1 -1
  50. package/dist/Fx/combinators/exhaustLatestMapEffect.js +40 -4
  51. package/dist/Fx/combinators/exhaustMap.d.ts +38 -1
  52. package/dist/Fx/combinators/exhaustMap.d.ts.map +1 -1
  53. package/dist/Fx/combinators/exhaustMap.js +38 -1
  54. package/dist/Fx/combinators/exhaustMapEffect.d.ts +33 -1
  55. package/dist/Fx/combinators/exhaustMapEffect.d.ts.map +1 -1
  56. package/dist/Fx/combinators/exhaustMapEffect.js +33 -1
  57. package/dist/Fx/combinators/exit.d.ts +23 -2
  58. package/dist/Fx/combinators/exit.d.ts.map +1 -1
  59. package/dist/Fx/combinators/exit.js +23 -2
  60. package/dist/Fx/combinators/filter.d.ts +17 -1
  61. package/dist/Fx/combinators/filter.d.ts.map +1 -1
  62. package/dist/Fx/combinators/filter.js +17 -1
  63. package/dist/Fx/combinators/filterEffect.d.ts +22 -1
  64. package/dist/Fx/combinators/filterEffect.d.ts.map +1 -1
  65. package/dist/Fx/combinators/filterEffect.js +22 -1
  66. package/dist/Fx/combinators/filterMap.d.ts +20 -1
  67. package/dist/Fx/combinators/filterMap.d.ts.map +1 -1
  68. package/dist/Fx/combinators/filterMap.js +20 -1
  69. package/dist/Fx/combinators/filterMapEffect.d.ts +21 -1
  70. package/dist/Fx/combinators/filterMapEffect.d.ts.map +1 -1
  71. package/dist/Fx/combinators/filterMapEffect.js +21 -1
  72. package/dist/Fx/combinators/filterMapLoop.d.ts +20 -1
  73. package/dist/Fx/combinators/filterMapLoop.d.ts.map +1 -1
  74. package/dist/Fx/combinators/filterMapLoop.js +20 -1
  75. package/dist/Fx/combinators/filterMapLoopCause.d.ts +21 -1
  76. package/dist/Fx/combinators/filterMapLoopCause.d.ts.map +1 -1
  77. package/dist/Fx/combinators/filterMapLoopCause.js +21 -1
  78. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts +21 -1
  79. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts.map +1 -1
  80. package/dist/Fx/combinators/filterMapLoopCauseEffect.js +21 -1
  81. package/dist/Fx/combinators/filterMapLoopEffect.d.ts +21 -1
  82. package/dist/Fx/combinators/filterMapLoopEffect.d.ts.map +1 -1
  83. package/dist/Fx/combinators/filterMapLoopEffect.js +21 -1
  84. package/dist/Fx/combinators/flatMap.d.ts +50 -5
  85. package/dist/Fx/combinators/flatMap.d.ts.map +1 -1
  86. package/dist/Fx/combinators/flatMap.js +36 -3
  87. package/dist/Fx/combinators/flatMapConcurrently.d.ts +51 -4
  88. package/dist/Fx/combinators/flatMapConcurrently.d.ts.map +1 -1
  89. package/dist/Fx/combinators/flatMapConcurrently.js +51 -4
  90. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts +48 -4
  91. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts.map +1 -1
  92. package/dist/Fx/combinators/flatMapConcurrentlyEffect.js +40 -2
  93. package/dist/Fx/combinators/flatMapEffect.d.ts +46 -4
  94. package/dist/Fx/combinators/flatMapEffect.d.ts.map +1 -1
  95. package/dist/Fx/combinators/flatMapEffect.js +32 -2
  96. package/dist/Fx/combinators/flip.d.ts +34 -2
  97. package/dist/Fx/combinators/flip.d.ts.map +1 -1
  98. package/dist/Fx/combinators/flip.js +34 -2
  99. package/dist/Fx/combinators/gen.d.ts +29 -10
  100. package/dist/Fx/combinators/gen.d.ts.map +1 -1
  101. package/dist/Fx/combinators/gen.js +28 -4
  102. package/dist/Fx/combinators/genScoped.d.ts +33 -10
  103. package/dist/Fx/combinators/genScoped.d.ts.map +1 -1
  104. package/dist/Fx/combinators/genScoped.js +31 -3
  105. package/dist/Fx/combinators/grouped.d.ts +89 -0
  106. package/dist/Fx/combinators/grouped.d.ts.map +1 -0
  107. package/dist/Fx/combinators/grouped.js +146 -0
  108. package/dist/Fx/combinators/index.d.ts +45 -0
  109. package/dist/Fx/combinators/index.d.ts.map +1 -1
  110. package/dist/Fx/combinators/index.js +45 -0
  111. package/dist/Fx/combinators/keyed.d.ts +124 -10
  112. package/dist/Fx/combinators/keyed.d.ts.map +1 -1
  113. package/dist/Fx/combinators/keyed.js +69 -11
  114. package/dist/Fx/combinators/loop.d.ts +17 -1
  115. package/dist/Fx/combinators/loop.d.ts.map +1 -1
  116. package/dist/Fx/combinators/loop.js +17 -1
  117. package/dist/Fx/combinators/loopCause.d.ts +18 -1
  118. package/dist/Fx/combinators/loopCause.d.ts.map +1 -1
  119. package/dist/Fx/combinators/loopCause.js +18 -1
  120. package/dist/Fx/combinators/loopCauseEffect.d.ts +19 -1
  121. package/dist/Fx/combinators/loopCauseEffect.d.ts.map +1 -1
  122. package/dist/Fx/combinators/loopCauseEffect.js +19 -1
  123. package/dist/Fx/combinators/loopEffect.d.ts +24 -1
  124. package/dist/Fx/combinators/loopEffect.d.ts.map +1 -1
  125. package/dist/Fx/combinators/loopEffect.js +24 -1
  126. package/dist/Fx/combinators/map.d.ts +46 -1
  127. package/dist/Fx/combinators/map.d.ts.map +1 -1
  128. package/dist/Fx/combinators/map.js +43 -1
  129. package/dist/Fx/combinators/mapBoth.d.ts +40 -0
  130. package/dist/Fx/combinators/mapBoth.d.ts.map +1 -0
  131. package/dist/Fx/combinators/mapBoth.js +33 -0
  132. package/dist/Fx/combinators/mapEffect.d.ts +25 -1
  133. package/dist/Fx/combinators/mapEffect.d.ts.map +1 -1
  134. package/dist/Fx/combinators/mapEffect.js +25 -1
  135. package/dist/Fx/combinators/mapError.d.ts +33 -0
  136. package/dist/Fx/combinators/mapError.d.ts.map +1 -0
  137. package/dist/Fx/combinators/mapError.js +32 -0
  138. package/dist/Fx/combinators/mergeAll.d.ts +35 -1
  139. package/dist/Fx/combinators/mergeAll.d.ts.map +1 -1
  140. package/dist/Fx/combinators/mergeAll.js +35 -1
  141. package/dist/Fx/combinators/mergeOrdered.d.ts +36 -4
  142. package/dist/Fx/combinators/mergeOrdered.d.ts.map +1 -1
  143. package/dist/Fx/combinators/mergeOrdered.js +68 -14
  144. package/dist/Fx/combinators/onError.d.ts +34 -4
  145. package/dist/Fx/combinators/onError.d.ts.map +1 -1
  146. package/dist/Fx/combinators/onError.js +34 -4
  147. package/dist/Fx/combinators/onExit.d.ts +29 -3
  148. package/dist/Fx/combinators/onExit.d.ts.map +1 -1
  149. package/dist/Fx/combinators/onExit.js +29 -3
  150. package/dist/Fx/combinators/onInterrupt.d.ts +49 -4
  151. package/dist/Fx/combinators/onInterrupt.d.ts.map +1 -1
  152. package/dist/Fx/combinators/onInterrupt.js +49 -4
  153. package/dist/Fx/combinators/pairwise.d.ts +28 -0
  154. package/dist/Fx/combinators/pairwise.d.ts.map +1 -0
  155. package/dist/Fx/combinators/pairwise.js +31 -0
  156. package/dist/Fx/combinators/provide.d.ts +162 -8
  157. package/dist/Fx/combinators/provide.d.ts.map +1 -1
  158. package/dist/Fx/combinators/provide.js +154 -6
  159. package/dist/Fx/combinators/race.d.ts +92 -0
  160. package/dist/Fx/combinators/race.d.ts.map +1 -0
  161. package/dist/Fx/combinators/race.js +149 -0
  162. package/dist/Fx/combinators/repeat.d.ts +41 -0
  163. package/dist/Fx/combinators/repeat.d.ts.map +1 -0
  164. package/dist/Fx/combinators/repeat.js +57 -0
  165. package/dist/Fx/combinators/result.d.ts +45 -0
  166. package/dist/Fx/combinators/result.d.ts.map +1 -0
  167. package/dist/Fx/combinators/result.js +46 -0
  168. package/dist/Fx/combinators/retry.d.ts +53 -0
  169. package/dist/Fx/combinators/retry.d.ts.map +1 -0
  170. package/dist/Fx/combinators/retry.js +71 -0
  171. package/dist/Fx/combinators/sample.d.ts +31 -0
  172. package/dist/Fx/combinators/sample.d.ts.map +1 -0
  173. package/dist/Fx/combinators/sample.js +42 -0
  174. package/dist/Fx/combinators/scan.d.ts +72 -0
  175. package/dist/Fx/combinators/scan.d.ts.map +1 -0
  176. package/dist/Fx/combinators/scan.js +77 -0
  177. package/dist/Fx/combinators/since.d.ts +30 -0
  178. package/dist/Fx/combinators/since.d.ts.map +1 -0
  179. package/dist/Fx/combinators/since.js +39 -0
  180. package/dist/Fx/combinators/skip.d.ts +45 -1
  181. package/dist/Fx/combinators/skip.d.ts.map +1 -1
  182. package/dist/Fx/combinators/skip.js +43 -1
  183. package/dist/Fx/combinators/skipRepeats.d.ts +17 -1
  184. package/dist/Fx/combinators/skipRepeats.d.ts.map +1 -1
  185. package/dist/Fx/combinators/skipRepeats.js +17 -1
  186. package/dist/Fx/combinators/skipRepeatsWith.d.ts +18 -1
  187. package/dist/Fx/combinators/skipRepeatsWith.d.ts.map +1 -1
  188. package/dist/Fx/combinators/skipRepeatsWith.js +18 -1
  189. package/dist/Fx/combinators/skipWhile.d.ts +117 -0
  190. package/dist/Fx/combinators/skipWhile.d.ts.map +1 -0
  191. package/dist/Fx/combinators/skipWhile.js +134 -0
  192. package/dist/Fx/combinators/slice.d.ts +97 -2
  193. package/dist/Fx/combinators/slice.d.ts.map +1 -1
  194. package/dist/Fx/combinators/slice.js +45 -1
  195. package/dist/Fx/combinators/switchMap.d.ts +39 -1
  196. package/dist/Fx/combinators/switchMap.d.ts.map +1 -1
  197. package/dist/Fx/combinators/switchMap.js +43 -5
  198. package/dist/Fx/combinators/switchMapEffect.d.ts +38 -1
  199. package/dist/Fx/combinators/switchMapEffect.d.ts.map +1 -1
  200. package/dist/Fx/combinators/switchMapEffect.js +38 -1
  201. package/dist/Fx/combinators/take.d.ts +46 -1
  202. package/dist/Fx/combinators/take.d.ts.map +1 -1
  203. package/dist/Fx/combinators/take.js +44 -1
  204. package/dist/Fx/combinators/takeUntil.d.ts +62 -2
  205. package/dist/Fx/combinators/takeUntil.d.ts.map +1 -1
  206. package/dist/Fx/combinators/takeUntil.js +62 -2
  207. package/dist/Fx/combinators/takeWhile.d.ts +60 -0
  208. package/dist/Fx/combinators/takeWhile.d.ts.map +1 -0
  209. package/dist/Fx/combinators/takeWhile.js +54 -0
  210. package/dist/Fx/combinators/tapEffect.d.ts +17 -1
  211. package/dist/Fx/combinators/tapEffect.d.ts.map +1 -1
  212. package/dist/Fx/combinators/tapEffect.js +17 -1
  213. package/dist/Fx/combinators/throttle.d.ts +79 -0
  214. package/dist/Fx/combinators/throttle.d.ts.map +1 -0
  215. package/dist/Fx/combinators/throttle.js +99 -0
  216. package/dist/Fx/combinators/timeout.d.ts +76 -0
  217. package/dist/Fx/combinators/timeout.d.ts.map +1 -0
  218. package/dist/Fx/combinators/timeout.js +110 -0
  219. package/dist/Fx/combinators/tuple.d.ts +32 -2
  220. package/dist/Fx/combinators/tuple.d.ts.map +1 -1
  221. package/dist/Fx/combinators/tuple.js +36 -5
  222. package/dist/Fx/combinators/until.d.ts +27 -0
  223. package/dist/Fx/combinators/until.d.ts.map +1 -0
  224. package/dist/Fx/combinators/until.js +56 -0
  225. package/dist/Fx/combinators/unwrap.d.ts +31 -2
  226. package/dist/Fx/combinators/unwrap.d.ts.map +1 -1
  227. package/dist/Fx/combinators/unwrap.js +30 -1
  228. package/dist/Fx/combinators/unwrapScoped.d.ts +34 -1
  229. package/dist/Fx/combinators/unwrapScoped.d.ts.map +1 -1
  230. package/dist/Fx/combinators/unwrapScoped.js +34 -1
  231. package/dist/Fx/combinators/when.d.ts +37 -2
  232. package/dist/Fx/combinators/when.d.ts.map +1 -1
  233. package/dist/Fx/combinators/when.js +38 -3
  234. package/dist/Fx/combinators/withLatestFrom.d.ts +58 -0
  235. package/dist/Fx/combinators/withLatestFrom.d.ts.map +1 -0
  236. package/dist/Fx/combinators/withLatestFrom.js +68 -0
  237. package/dist/Fx/combinators/withSpan.d.ts +35 -1
  238. package/dist/Fx/combinators/withSpan.d.ts.map +1 -1
  239. package/dist/Fx/combinators/withSpan.js +34 -3
  240. package/dist/Fx/combinators/zip.d.ts +135 -0
  241. package/dist/Fx/combinators/zip.d.ts.map +1 -0
  242. package/dist/Fx/combinators/zip.js +160 -0
  243. package/dist/Fx/constructors/at.d.ts +23 -3
  244. package/dist/Fx/constructors/at.d.ts.map +1 -1
  245. package/dist/Fx/constructors/at.js +21 -1
  246. package/dist/Fx/constructors/die.d.ts +22 -1
  247. package/dist/Fx/constructors/die.d.ts.map +1 -1
  248. package/dist/Fx/constructors/die.js +22 -1
  249. package/dist/Fx/constructors/empty.d.ts +19 -1
  250. package/dist/Fx/constructors/empty.d.ts.map +1 -1
  251. package/dist/Fx/constructors/empty.js +19 -1
  252. package/dist/Fx/constructors/fail.d.ts +22 -1
  253. package/dist/Fx/constructors/fail.d.ts.map +1 -1
  254. package/dist/Fx/constructors/fail.js +22 -1
  255. package/dist/Fx/constructors/failCause.d.ts +23 -1
  256. package/dist/Fx/constructors/failCause.d.ts.map +1 -1
  257. package/dist/Fx/constructors/failCause.js +23 -1
  258. package/dist/Fx/constructors/fn.d.ts +116 -16
  259. package/dist/Fx/constructors/fn.d.ts.map +1 -1
  260. package/dist/Fx/constructors/fn.js +36 -0
  261. package/dist/Fx/constructors/fromEffect.d.ts +45 -3
  262. package/dist/Fx/constructors/fromEffect.d.ts.map +1 -1
  263. package/dist/Fx/constructors/fromEffect.js +45 -3
  264. package/dist/Fx/constructors/fromFailures.d.ts +25 -1
  265. package/dist/Fx/constructors/fromFailures.d.ts.map +1 -1
  266. package/dist/Fx/constructors/fromFailures.js +25 -1
  267. package/dist/Fx/constructors/fromIterable.d.ts +23 -1
  268. package/dist/Fx/constructors/fromIterable.d.ts.map +1 -1
  269. package/dist/Fx/constructors/fromIterable.js +23 -1
  270. package/dist/Fx/constructors/fromSchedule.d.ts +26 -1
  271. package/dist/Fx/constructors/fromSchedule.d.ts.map +1 -1
  272. package/dist/Fx/constructors/fromSchedule.js +28 -3
  273. package/dist/Fx/constructors/index.d.ts +2 -1
  274. package/dist/Fx/constructors/index.d.ts.map +1 -1
  275. package/dist/Fx/constructors/index.js +2 -1
  276. package/dist/Fx/constructors/interrupt.d.ts +22 -2
  277. package/dist/Fx/constructors/interrupt.d.ts.map +1 -1
  278. package/dist/Fx/constructors/interrupt.js +22 -2
  279. package/dist/Fx/constructors/make.d.ts +151 -4
  280. package/dist/Fx/constructors/make.d.ts.map +1 -1
  281. package/dist/Fx/constructors/make.js +60 -7
  282. package/dist/Fx/constructors/periodic.d.ts +31 -2
  283. package/dist/Fx/constructors/periodic.d.ts.map +1 -1
  284. package/dist/Fx/constructors/periodic.js +30 -1
  285. package/dist/Fx/constructors/succeed.d.ts +79 -7
  286. package/dist/Fx/constructors/succeed.d.ts.map +1 -1
  287. package/dist/Fx/constructors/succeed.js +79 -7
  288. package/dist/Fx/constructors/suspend.d.ts +28 -0
  289. package/dist/Fx/constructors/suspend.d.ts.map +1 -1
  290. package/dist/Fx/constructors/suspend.js +28 -0
  291. package/dist/Fx/constructors/sync.d.ts +32 -0
  292. package/dist/Fx/constructors/sync.d.ts.map +1 -0
  293. package/dist/Fx/constructors/sync.js +32 -0
  294. package/dist/Fx/internal/DeferredRef.d.ts +259 -7
  295. package/dist/Fx/internal/DeferredRef.d.ts.map +1 -1
  296. package/dist/Fx/internal/DeferredRef.js +260 -9
  297. package/dist/Fx/internal/UnionToTuple.d.ts +22 -0
  298. package/dist/Fx/internal/UnionToTuple.d.ts.map +1 -1
  299. package/dist/Fx/internal/diff.d.ts +586 -0
  300. package/dist/Fx/internal/diff.d.ts.map +1 -1
  301. package/dist/Fx/internal/diff.js +120 -9
  302. package/dist/Fx/internal/effectableEvaluateKey.d.ts +30 -0
  303. package/dist/Fx/internal/effectableEvaluateKey.d.ts.map +1 -0
  304. package/dist/Fx/internal/effectableEvaluateKey.js +29 -0
  305. package/dist/Fx/internal/effectableWithOverride.d.ts +55 -0
  306. package/dist/Fx/internal/effectableWithOverride.d.ts.map +1 -0
  307. package/dist/Fx/internal/effectableWithOverride.js +46 -0
  308. package/dist/Fx/internal/equivalence.d.ts +29 -0
  309. package/dist/Fx/internal/equivalence.d.ts.map +1 -1
  310. package/dist/Fx/internal/equivalence.js +29 -0
  311. package/dist/Fx/internal/multicast.d.ts +145 -2
  312. package/dist/Fx/internal/multicast.d.ts.map +1 -1
  313. package/dist/Fx/internal/multicast.js +146 -4
  314. package/dist/Fx/internal/ring-buffer.d.ts +149 -0
  315. package/dist/Fx/internal/ring-buffer.d.ts.map +1 -1
  316. package/dist/Fx/internal/ring-buffer.js +155 -0
  317. package/dist/Fx/internal/scope.d.ts +184 -0
  318. package/dist/Fx/internal/scope.d.ts.map +1 -1
  319. package/dist/Fx/internal/scope.js +150 -0
  320. package/dist/Fx/internal/yieldable.d.ts +117 -2
  321. package/dist/Fx/internal/yieldable.d.ts.map +1 -1
  322. package/dist/Fx/internal/yieldable.js +86 -3
  323. package/dist/Fx/run/collect.d.ts +93 -4
  324. package/dist/Fx/run/collect.d.ts.map +1 -1
  325. package/dist/Fx/run/collect.js +94 -5
  326. package/dist/Fx/run/first.d.ts +23 -1
  327. package/dist/Fx/run/first.d.ts.map +1 -1
  328. package/dist/Fx/run/first.js +23 -1
  329. package/dist/Fx/run/fork.d.ts +52 -2
  330. package/dist/Fx/run/fork.d.ts.map +1 -1
  331. package/dist/Fx/run/fork.js +52 -2
  332. package/dist/Fx/run/observe.d.ts +112 -4
  333. package/dist/Fx/run/observe.d.ts.map +1 -1
  334. package/dist/Fx/run/observe.js +137 -16
  335. package/dist/Fx/run/runPromise.d.ts +45 -2
  336. package/dist/Fx/run/runPromise.d.ts.map +1 -1
  337. package/dist/Fx/run/runPromise.js +45 -2
  338. package/dist/Fx/stream.d.ts +92 -0
  339. package/dist/Fx/stream.d.ts.map +1 -1
  340. package/dist/Fx/stream.js +60 -1
  341. package/dist/Push/Push.d.ts +1286 -98
  342. package/dist/Push/Push.d.ts.map +1 -1
  343. package/dist/Push/Push.js +1074 -88
  344. package/dist/RefArray.d.ts +2 -0
  345. package/dist/RefArray.d.ts.map +1 -0
  346. package/dist/RefArray.js +1 -0
  347. package/dist/RefBigDecimal.d.ts +2 -0
  348. package/dist/RefBigDecimal.d.ts.map +1 -0
  349. package/dist/RefBigDecimal.js +1 -0
  350. package/dist/RefBigInt.d.ts +2 -0
  351. package/dist/RefBigInt.d.ts.map +1 -0
  352. package/dist/RefBigInt.js +1 -0
  353. package/dist/RefBoolean.d.ts +2 -0
  354. package/dist/RefBoolean.d.ts.map +1 -0
  355. package/dist/RefBoolean.js +1 -0
  356. package/dist/RefCause.d.ts +2 -0
  357. package/dist/RefCause.d.ts.map +1 -0
  358. package/dist/RefCause.js +1 -0
  359. package/dist/RefChunk.d.ts +2 -0
  360. package/dist/RefChunk.d.ts.map +1 -0
  361. package/dist/RefChunk.js +1 -0
  362. package/dist/RefDateTime.d.ts +2 -0
  363. package/dist/RefDateTime.d.ts.map +1 -0
  364. package/dist/RefDateTime.js +1 -0
  365. package/dist/RefDuration.d.ts +2 -0
  366. package/dist/RefDuration.d.ts.map +1 -0
  367. package/dist/RefDuration.js +1 -0
  368. package/dist/RefGraph.d.ts +2 -0
  369. package/dist/RefGraph.d.ts.map +1 -0
  370. package/dist/RefGraph.js +1 -0
  371. package/dist/RefHashMap.d.ts +2 -0
  372. package/dist/RefHashMap.d.ts.map +1 -0
  373. package/dist/RefHashMap.js +1 -0
  374. package/dist/RefHashRing.d.ts +2 -0
  375. package/dist/RefHashRing.d.ts.map +1 -0
  376. package/dist/RefHashRing.js +1 -0
  377. package/dist/RefHashSet.d.ts +2 -0
  378. package/dist/RefHashSet.d.ts.map +1 -0
  379. package/dist/RefHashSet.js +1 -0
  380. package/dist/RefIterable.d.ts +2 -0
  381. package/dist/RefIterable.d.ts.map +1 -0
  382. package/dist/RefIterable.js +1 -0
  383. package/dist/RefOption.d.ts +2 -0
  384. package/dist/RefOption.d.ts.map +1 -0
  385. package/dist/RefOption.js +1 -0
  386. package/dist/RefRecord.d.ts +2 -0
  387. package/dist/RefRecord.d.ts.map +1 -0
  388. package/dist/RefRecord.js +1 -0
  389. package/dist/RefResult.d.ts +2 -0
  390. package/dist/RefResult.d.ts.map +1 -0
  391. package/dist/RefResult.js +1 -0
  392. package/dist/RefString.d.ts +2 -0
  393. package/dist/RefString.d.ts.map +1 -0
  394. package/dist/RefString.js +1 -0
  395. package/dist/RefStruct.d.ts +2 -0
  396. package/dist/RefStruct.d.ts.map +1 -0
  397. package/dist/RefStruct.js +1 -0
  398. package/dist/RefSubject/Hydration.d.ts +504 -0
  399. package/dist/RefSubject/Hydration.d.ts.map +1 -0
  400. package/dist/RefSubject/Hydration.js +300 -0
  401. package/dist/RefSubject/RefArray.d.ts +382 -35
  402. package/dist/RefSubject/RefArray.d.ts.map +1 -1
  403. package/dist/RefSubject/RefArray.js +374 -40
  404. package/dist/RefSubject/RefBigDecimal.d.ts +241 -21
  405. package/dist/RefSubject/RefBigDecimal.d.ts.map +1 -1
  406. package/dist/RefSubject/RefBigDecimal.js +229 -20
  407. package/dist/RefSubject/RefBigInt.d.ts +181 -16
  408. package/dist/RefSubject/RefBigInt.d.ts.map +1 -1
  409. package/dist/RefSubject/RefBigInt.js +169 -15
  410. package/dist/RefSubject/RefBoolean.d.ts +181 -16
  411. package/dist/RefSubject/RefBoolean.d.ts.map +1 -1
  412. package/dist/RefSubject/RefBoolean.js +169 -15
  413. package/dist/RefSubject/RefCause.d.ts +133 -12
  414. package/dist/RefSubject/RefCause.d.ts.map +1 -1
  415. package/dist/RefSubject/RefCause.js +121 -11
  416. package/dist/RefSubject/RefChunk.d.ts +481 -76
  417. package/dist/RefSubject/RefChunk.d.ts.map +1 -1
  418. package/dist/RefSubject/RefChunk.js +471 -75
  419. package/dist/RefSubject/RefDateTime.d.ts +137 -16
  420. package/dist/RefSubject/RefDateTime.d.ts.map +1 -1
  421. package/dist/RefSubject/RefDateTime.js +122 -12
  422. package/dist/RefSubject/RefDuration.d.ts +169 -15
  423. package/dist/RefSubject/RefDuration.d.ts.map +1 -1
  424. package/dist/RefSubject/RefDuration.js +157 -14
  425. package/dist/RefSubject/RefGraph.d.ts +349 -35
  426. package/dist/RefSubject/RefGraph.d.ts.map +1 -1
  427. package/dist/RefSubject/RefGraph.js +334 -32
  428. package/dist/RefSubject/RefHashMap.d.ts +323 -28
  429. package/dist/RefSubject/RefHashMap.d.ts.map +1 -1
  430. package/dist/RefSubject/RefHashMap.js +317 -29
  431. package/dist/RefSubject/RefHashRing.d.ts +159 -15
  432. package/dist/RefSubject/RefHashRing.d.ts.map +1 -1
  433. package/dist/RefSubject/RefHashRing.js +145 -12
  434. package/dist/RefSubject/RefHashSet.d.ts +251 -22
  435. package/dist/RefSubject/RefHashSet.d.ts.map +1 -1
  436. package/dist/RefSubject/RefHashSet.js +238 -20
  437. package/dist/RefSubject/RefIterable.d.ts +358 -32
  438. package/dist/RefSubject/RefIterable.d.ts.map +1 -1
  439. package/dist/RefSubject/RefIterable.js +350 -30
  440. package/dist/RefSubject/RefOption.d.ts +157 -14
  441. package/dist/RefSubject/RefOption.d.ts.map +1 -1
  442. package/dist/RefSubject/RefOption.js +145 -13
  443. package/dist/RefSubject/RefRecord.d.ts +402 -64
  444. package/dist/RefSubject/RefRecord.d.ts.map +1 -1
  445. package/dist/RefSubject/RefRecord.js +364 -39
  446. package/dist/RefSubject/RefResult.d.ts +167 -35
  447. package/dist/RefSubject/RefResult.d.ts.map +1 -1
  448. package/dist/RefSubject/RefResult.js +133 -12
  449. package/dist/RefSubject/RefString.d.ts +205 -18
  450. package/dist/RefSubject/RefString.d.ts.map +1 -1
  451. package/dist/RefSubject/RefString.js +193 -17
  452. package/dist/RefSubject/RefStruct.d.ts +169 -14
  453. package/dist/RefSubject/RefStruct.d.ts.map +1 -1
  454. package/dist/RefSubject/RefStruct.js +157 -13
  455. package/dist/RefSubject/RefSubject.d.ts +1242 -43
  456. package/dist/RefSubject/RefSubject.d.ts.map +1 -1
  457. package/dist/RefSubject/RefSubject.js +1012 -86
  458. package/dist/RefSubject/RefTrie.d.ts +323 -37
  459. package/dist/RefSubject/RefTrie.d.ts.map +1 -1
  460. package/dist/RefSubject/RefTrie.js +311 -31
  461. package/dist/RefSubject/RefTuple.d.ts +127 -11
  462. package/dist/RefSubject/RefTuple.d.ts.map +1 -1
  463. package/dist/RefSubject/RefTuple.js +114 -9
  464. package/dist/RefSubject/index.d.ts +1 -0
  465. package/dist/RefSubject/index.d.ts.map +1 -1
  466. package/dist/RefSubject/index.js +1 -0
  467. package/dist/RefSubject.d.ts +2 -1
  468. package/dist/RefSubject.d.ts.map +1 -1
  469. package/dist/RefSubject.js +2 -1
  470. package/dist/RefTrie.d.ts +2 -0
  471. package/dist/RefTrie.d.ts.map +1 -0
  472. package/dist/RefTrie.js +1 -0
  473. package/dist/RefTuple.d.ts +2 -0
  474. package/dist/RefTuple.d.ts.map +1 -0
  475. package/dist/RefTuple.js +1 -0
  476. package/dist/Sink/Sink.d.ts +396 -23
  477. package/dist/Sink/Sink.d.ts.map +1 -1
  478. package/dist/Sink/Sink.js +55 -7
  479. package/dist/Sink/combinators.d.ts +789 -3
  480. package/dist/Sink/combinators.d.ts.map +1 -1
  481. package/dist/Sink/combinators.js +812 -7
  482. package/dist/Subject/Subject.d.ts +1022 -27
  483. package/dist/Subject/Subject.d.ts.map +1 -1
  484. package/dist/Subject/Subject.js +909 -43
  485. package/dist/Versioned/Versioned.d.ts +475 -25
  486. package/dist/Versioned/Versioned.d.ts.map +1 -1
  487. package/dist/Versioned/Versioned.js +298 -46
  488. package/dist/index.d.ts +22 -3
  489. package/dist/index.d.ts.map +1 -1
  490. package/dist/index.js +22 -3
  491. package/package.json +125 -11
  492. package/dist/Fx/constructors/fromYieldable.d.ts +0 -12
  493. package/dist/Fx/constructors/fromYieldable.d.ts.map +0 -1
  494. package/dist/Fx/constructors/fromYieldable.js +0 -12
  495. package/src/Fx/Fx.ts +0 -164
  496. package/src/Fx/TypeId.ts +0 -25
  497. package/src/Fx/combinators/catch.ts +0 -165
  498. package/src/Fx/combinators/causes.ts +0 -23
  499. package/src/Fx/combinators/compact.ts +0 -15
  500. package/src/Fx/combinators/continueWith.ts +0 -78
  501. package/src/Fx/combinators/ensuring.ts +0 -23
  502. package/src/Fx/combinators/exhaustLatestMap.ts +0 -74
  503. package/src/Fx/combinators/exhaustLatestMapEffect.ts +0 -25
  504. package/src/Fx/combinators/exhaustMap.ts +0 -36
  505. package/src/Fx/combinators/exhaustMapEffect.ts +0 -23
  506. package/src/Fx/combinators/exit.ts +0 -15
  507. package/src/Fx/combinators/filter.ts +0 -22
  508. package/src/Fx/combinators/filterEffect.ts +0 -31
  509. package/src/Fx/combinators/filterMap.ts +0 -23
  510. package/src/Fx/combinators/filterMapEffect.ts +0 -32
  511. package/src/Fx/combinators/filterMapLoop.ts +0 -35
  512. package/src/Fx/combinators/filterMapLoopCause.ts +0 -36
  513. package/src/Fx/combinators/filterMapLoopCauseEffect.ts +0 -46
  514. package/src/Fx/combinators/filterMapLoopEffect.ts +0 -36
  515. package/src/Fx/combinators/flatMap.ts +0 -51
  516. package/src/Fx/combinators/flatMapConcurrently.ts +0 -36
  517. package/src/Fx/combinators/flatMapConcurrentlyEffect.ts +0 -26
  518. package/src/Fx/combinators/flatMapEffect.ts +0 -42
  519. package/src/Fx/combinators/flip.ts +0 -14
  520. package/src/Fx/combinators/gen.ts +0 -24
  521. package/src/Fx/combinators/genScoped.ts +0 -24
  522. package/src/Fx/combinators/index.ts +0 -51
  523. package/src/Fx/combinators/keyed.ts +0 -369
  524. package/src/Fx/combinators/loop.ts +0 -27
  525. package/src/Fx/combinators/loopCause.ts +0 -34
  526. package/src/Fx/combinators/loopCauseEffect.ts +0 -36
  527. package/src/Fx/combinators/loopEffect.ts +0 -34
  528. package/src/Fx/combinators/map.ts +0 -22
  529. package/src/Fx/combinators/mapEffect.ts +0 -32
  530. package/src/Fx/combinators/mergeAll.ts +0 -22
  531. package/src/Fx/combinators/mergeOrdered.ts +0 -123
  532. package/src/Fx/combinators/onError.ts +0 -40
  533. package/src/Fx/combinators/onExit.ts +0 -82
  534. package/src/Fx/combinators/onInterrupt.ts +0 -87
  535. package/src/Fx/combinators/provide.ts +0 -62
  536. package/src/Fx/combinators/skip.ts +0 -20
  537. package/src/Fx/combinators/skipRepeats.ts +0 -15
  538. package/src/Fx/combinators/skipRepeatsWith.ts +0 -40
  539. package/src/Fx/combinators/slice.ts +0 -32
  540. package/src/Fx/combinators/switchMap.ts +0 -55
  541. package/src/Fx/combinators/switchMapEffect.ts +0 -25
  542. package/src/Fx/combinators/take.ts +0 -17
  543. package/src/Fx/combinators/takeUntil.ts +0 -50
  544. package/src/Fx/combinators/tapEffect.ts +0 -39
  545. package/src/Fx/combinators/tuple.ts +0 -79
  546. package/src/Fx/combinators/unwrap.ts +0 -21
  547. package/src/Fx/combinators/unwrapScoped.ts +0 -26
  548. package/src/Fx/combinators/when.ts +0 -64
  549. package/src/Fx/combinators/withSpan.ts +0 -24
  550. package/src/Fx/constructors/at.ts +0 -23
  551. package/src/Fx/constructors/die.ts +0 -17
  552. package/src/Fx/constructors/empty.ts +0 -10
  553. package/src/Fx/constructors/fail.ts +0 -14
  554. package/src/Fx/constructors/failCause.ts +0 -14
  555. package/src/Fx/constructors/fn.ts +0 -245
  556. package/src/Fx/constructors/fromEffect.ts +0 -24
  557. package/src/Fx/constructors/fromFailures.ts +0 -19
  558. package/src/Fx/constructors/fromIterable.ts +0 -15
  559. package/src/Fx/constructors/fromSchedule.ts +0 -18
  560. package/src/Fx/constructors/fromYieldable.ts +0 -17
  561. package/src/Fx/constructors/index.ts +0 -15
  562. package/src/Fx/constructors/interrupt.ts +0 -13
  563. package/src/Fx/constructors/make.ts +0 -103
  564. package/src/Fx/constructors/periodic.ts +0 -15
  565. package/src/Fx/constructors/succeed.ts +0 -37
  566. package/src/Fx/constructors/suspend.ts +0 -6
  567. package/src/Fx/index.ts +0 -6
  568. package/src/Fx/internal/DeferredRef.ts +0 -87
  569. package/src/Fx/internal/UnionToTuple.ts +0 -12
  570. package/src/Fx/internal/diff.ts +0 -191
  571. package/src/Fx/internal/equivalence.ts +0 -12
  572. package/src/Fx/internal/multicast.ts +0 -51
  573. package/src/Fx/internal/ring-buffer.ts +0 -60
  574. package/src/Fx/internal/scope.ts +0 -58
  575. package/src/Fx/internal/yieldable.ts +0 -31
  576. package/src/Fx/run/collect.ts +0 -79
  577. package/src/Fx/run/first.ts +0 -20
  578. package/src/Fx/run/fork.ts +0 -40
  579. package/src/Fx/run/index.ts +0 -5
  580. package/src/Fx/run/observe.ts +0 -114
  581. package/src/Fx/run/runPromise.ts +0 -32
  582. package/src/Fx/stream.ts +0 -42
  583. package/src/Fx.catch.test.ts +0 -61
  584. package/src/Fx.fn.test.ts +0 -51
  585. package/src/Fx.lifecycle.test.ts +0 -80
  586. package/src/Fx.test.ts +0 -71
  587. package/src/Fx.ts +0 -1
  588. package/src/Push/Push.ts +0 -903
  589. package/src/Push/index.ts +0 -1
  590. package/src/Push.test.ts +0 -26
  591. package/src/Push.ts +0 -1
  592. package/src/RefSubject/RefArray.ts +0 -512
  593. package/src/RefSubject/RefBigDecimal.test.ts +0 -56
  594. package/src/RefSubject/RefBigDecimal.ts +0 -295
  595. package/src/RefSubject/RefBigInt.test.ts +0 -56
  596. package/src/RefSubject/RefBigInt.ts +0 -189
  597. package/src/RefSubject/RefBoolean.test.ts +0 -57
  598. package/src/RefSubject/RefBoolean.ts +0 -185
  599. package/src/RefSubject/RefCause.test.ts +0 -53
  600. package/src/RefSubject/RefCause.ts +0 -146
  601. package/src/RefSubject/RefChunk.ts +0 -510
  602. package/src/RefSubject/RefDateTime.test.ts +0 -43
  603. package/src/RefSubject/RefDateTime.ts +0 -264
  604. package/src/RefSubject/RefDuration.test.ts +0 -49
  605. package/src/RefSubject/RefDuration.ts +0 -188
  606. package/src/RefSubject/RefGraph.ts +0 -650
  607. package/src/RefSubject/RefHashMap.ts +0 -465
  608. package/src/RefSubject/RefHashRing.ts +0 -262
  609. package/src/RefSubject/RefHashSet.ts +0 -308
  610. package/src/RefSubject/RefIterable.ts +0 -445
  611. package/src/RefSubject/RefOption.test.ts +0 -67
  612. package/src/RefSubject/RefOption.ts +0 -193
  613. package/src/RefSubject/RefRecord.ts +0 -612
  614. package/src/RefSubject/RefResult.test.ts +0 -63
  615. package/src/RefSubject/RefResult.ts +0 -209
  616. package/src/RefSubject/RefString.test.ts +0 -61
  617. package/src/RefSubject/RefString.ts +0 -256
  618. package/src/RefSubject/RefStruct.test.ts +0 -60
  619. package/src/RefSubject/RefStruct.ts +0 -253
  620. package/src/RefSubject/RefSubject.ts +0 -2545
  621. package/src/RefSubject/RefTrie.ts +0 -356
  622. package/src/RefSubject/RefTuple.test.ts +0 -60
  623. package/src/RefSubject/RefTuple.ts +0 -231
  624. package/src/RefSubject/index.ts +0 -21
  625. package/src/RefSubject.test.ts +0 -65
  626. package/src/RefSubject.ts +0 -1
  627. package/src/Sink/Sink.ts +0 -159
  628. package/src/Sink/combinators.ts +0 -993
  629. package/src/Sink/index.ts +0 -2
  630. package/src/Sink.ts +0 -1
  631. package/src/Subject/Subject.ts +0 -441
  632. package/src/Subject/index.ts +0 -1
  633. package/src/Subject.test.ts +0 -47
  634. package/src/Subject.ts +0 -1
  635. package/src/Versioned/Versioned.ts +0 -521
  636. package/src/Versioned/index.ts +0 -1
  637. package/src/Versioned.test.ts +0 -23
  638. package/src/Versioned.ts +0 -1
  639. package/src/index.ts +0 -7
  640. package/tsconfig.json +0 -6
package/package.json CHANGED
@@ -1,29 +1,143 @@
1
1
  {
2
2
  "name": "@typed/fx",
3
- "version": "2.0.0-beta.0",
4
- "publishConfig": {
5
- "access": "public"
3
+ "version": "2.0.0-beta.10",
4
+ "description": "Reactive streams and state for Typed applications.",
5
+ "homepage": "https://github.com/TylorS/typed/tree/development/packages/fx#readme",
6
+ "bugs": "https://github.com/TylorS/typed/issues",
7
+ "license": "MIT",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/TylorS/typed.git",
11
+ "directory": "packages/fx"
6
12
  },
13
+ "files": [
14
+ "dist"
15
+ ],
7
16
  "type": "module",
17
+ "sideEffects": false,
8
18
  "exports": {
9
19
  ".": {
10
20
  "types": "./dist/index.d.ts",
11
21
  "import": "./dist/index.js"
12
22
  },
13
- "./*": {
14
- "types": "./dist/*.d.ts",
15
- "import": "./dist/*.js"
23
+ "./Fx": {
24
+ "types": "./dist/Fx.d.ts",
25
+ "import": "./dist/Fx.js"
26
+ },
27
+ "./Push": {
28
+ "types": "./dist/Push.d.ts",
29
+ "import": "./dist/Push.js"
30
+ },
31
+ "./RefSubject": {
32
+ "types": "./dist/RefSubject.d.ts",
33
+ "import": "./dist/RefSubject.js"
34
+ },
35
+ "./Sink": {
36
+ "types": "./dist/Sink.d.ts",
37
+ "import": "./dist/Sink.js"
38
+ },
39
+ "./Subject": {
40
+ "types": "./dist/Subject.d.ts",
41
+ "import": "./dist/Subject.js"
42
+ },
43
+ "./Versioned": {
44
+ "types": "./dist/Versioned.d.ts",
45
+ "import": "./dist/Versioned.js"
46
+ },
47
+ "./RefArray": {
48
+ "types": "./dist/RefArray.d.ts",
49
+ "import": "./dist/RefArray.js"
50
+ },
51
+ "./RefBigDecimal": {
52
+ "types": "./dist/RefBigDecimal.d.ts",
53
+ "import": "./dist/RefBigDecimal.js"
54
+ },
55
+ "./RefBigInt": {
56
+ "types": "./dist/RefBigInt.d.ts",
57
+ "import": "./dist/RefBigInt.js"
58
+ },
59
+ "./RefBoolean": {
60
+ "types": "./dist/RefBoolean.d.ts",
61
+ "import": "./dist/RefBoolean.js"
62
+ },
63
+ "./RefCause": {
64
+ "types": "./dist/RefCause.d.ts",
65
+ "import": "./dist/RefCause.js"
66
+ },
67
+ "./RefChunk": {
68
+ "types": "./dist/RefChunk.d.ts",
69
+ "import": "./dist/RefChunk.js"
70
+ },
71
+ "./RefDateTime": {
72
+ "types": "./dist/RefDateTime.d.ts",
73
+ "import": "./dist/RefDateTime.js"
74
+ },
75
+ "./RefDuration": {
76
+ "types": "./dist/RefDuration.d.ts",
77
+ "import": "./dist/RefDuration.js"
78
+ },
79
+ "./RefGraph": {
80
+ "types": "./dist/RefGraph.d.ts",
81
+ "import": "./dist/RefGraph.js"
82
+ },
83
+ "./RefHashMap": {
84
+ "types": "./dist/RefHashMap.d.ts",
85
+ "import": "./dist/RefHashMap.js"
86
+ },
87
+ "./RefHashRing": {
88
+ "types": "./dist/RefHashRing.d.ts",
89
+ "import": "./dist/RefHashRing.js"
90
+ },
91
+ "./RefHashSet": {
92
+ "types": "./dist/RefHashSet.d.ts",
93
+ "import": "./dist/RefHashSet.js"
94
+ },
95
+ "./RefIterable": {
96
+ "types": "./dist/RefIterable.d.ts",
97
+ "import": "./dist/RefIterable.js"
98
+ },
99
+ "./RefOption": {
100
+ "types": "./dist/RefOption.d.ts",
101
+ "import": "./dist/RefOption.js"
102
+ },
103
+ "./RefRecord": {
104
+ "types": "./dist/RefRecord.d.ts",
105
+ "import": "./dist/RefRecord.js"
106
+ },
107
+ "./RefResult": {
108
+ "types": "./dist/RefResult.d.ts",
109
+ "import": "./dist/RefResult.js"
110
+ },
111
+ "./RefString": {
112
+ "types": "./dist/RefString.d.ts",
113
+ "import": "./dist/RefString.js"
114
+ },
115
+ "./RefStruct": {
116
+ "types": "./dist/RefStruct.d.ts",
117
+ "import": "./dist/RefStruct.js"
118
+ },
119
+ "./RefTrie": {
120
+ "types": "./dist/RefTrie.d.ts",
121
+ "import": "./dist/RefTrie.js"
122
+ },
123
+ "./RefTuple": {
124
+ "types": "./dist/RefTuple.d.ts",
125
+ "import": "./dist/RefTuple.js"
16
126
  }
17
127
  },
128
+ "publishConfig": {
129
+ "access": "public"
130
+ },
18
131
  "dependencies": {
19
- "effect": "4.0.0-beta.4"
132
+ "effect": "4.0.0-rc.112"
20
133
  },
21
134
  "devDependencies": {
22
- "typescript": "5.9.3",
23
- "vitest": "4.0.18"
135
+ "typescript": "7.0.2",
136
+ "vitest": "5.0.0"
24
137
  },
25
138
  "scripts": {
26
- "build": "tsc",
27
- "test": "vitest run --passWithNoTests"
139
+ "build": "node -e \"const fs=require('node:fs'); fs.rmSync('dist',{recursive:true,force:true}); fs.rmSync('tsconfig.tsbuildinfo',{force:true})\" && tsc",
140
+ "test": "vitest run --config vitest.config.ts",
141
+ "test:types": "pnpm run build && tsc -p tsconfig.type-tests.json && tsc -p tsconfig.tests.json"
28
142
  }
29
143
  }
@@ -1,12 +0,0 @@
1
- import type { Yieldable } from "effect/Effect";
2
- import type { Fx } from "../Fx.js";
3
- /**
4
- * Creates an Fx from any Yieldable value (e.g., Effect, Promise, etc.).
5
- *
6
- * @param yieldable - The yieldable value to convert.
7
- * @returns An `Fx` that emits the result of the yieldable.
8
- * @since 1.0.0
9
- * @category constructors
10
- */
11
- export declare const fromYieldable: <A, E = never, R = never>(yieldable: Yieldable<any, A, E, R>) => Fx<A, E, R>;
12
- //# sourceMappingURL=fromYieldable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fromYieldable.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/fromYieldable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EACnD,WAAW,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACjC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACwE,CAAC"}
@@ -1,12 +0,0 @@
1
- import { matchCauseEffect } from "effect/Effect";
2
- import { make } from "./make.js";
3
- /**
4
- * Creates an Fx from any Yieldable value (e.g., Effect, Promise, etc.).
5
- *
6
- * @param yieldable - The yieldable value to convert.
7
- * @returns An `Fx` that emits the result of the yieldable.
8
- * @since 1.0.0
9
- * @category constructors
10
- */
11
- export const fromYieldable = (yieldable) =>
12
- /*#__PURE__*/ make((sink) => matchCauseEffect(yieldable.asEffect(), sink));
package/src/Fx/Fx.ts DELETED
@@ -1,164 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { identity } from "effect/Function";
3
- import type { Layer } from "effect/Layer";
4
- import { effect } from "effect/Layer";
5
- import { type Pipeable, pipeArguments } from "effect/Pipeable";
6
- import type * as Scope from "effect/Scope";
7
- import * as ServiceMap from "effect/ServiceMap";
8
- import type * as Types from "effect/Types";
9
- import type * as Sink from "../Sink/Sink.js";
10
- import { provideServices } from "./combinators/provide.js";
11
- import { FxTypeId, isFx } from "./TypeId.js";
12
-
13
- /**
14
- * `Fx` is a reactive stream of values that supports concurrency, error handling,
15
- * and context management, fully integrated with the Effect ecosystem.
16
- *
17
- * Conceptually, an `Fx<A, E, R>` is a push-based stream that:
18
- * - Emits values of type `A`
19
- * - Can fail with an error of type `E`
20
- * - Requires a context/environment of type `R`
21
- *
22
- * Unlike a standard `Effect` which produces a single value, `Fx` can produce
23
- * 0, 1, or many values over time. It is similar to RxJS Observables or
24
- * AsyncIterables, but built on top of Effect's fiber-based concurrency model.
25
- *
26
- * @since 1.0.0
27
- * @category models
28
- */
29
- export interface Fx<A, E = never, R = never> extends Pipeable {
30
- readonly [FxTypeId]: Fx.Variance<A, E, R>;
31
- /**
32
- * Runs the Fx stream by providing a Sink to consume the values.
33
- * The result is an Effect that runs the stream process.
34
- */
35
- readonly run: <RSink>(sink: Sink.Sink<A, E, RSink>) => Effect.Effect<unknown, never, R | RSink>;
36
- }
37
-
38
- export declare namespace Fx {
39
- /**
40
- * Any Fx type with wildcards.
41
- * @since 1.0.0
42
- * @category models
43
- */
44
- export type Any = Fx<any, any, any>;
45
-
46
- /**
47
- * Variance markers for Fx types.
48
- * @since 1.0.0
49
- * @category models
50
- */
51
- export interface Variance<A, E, R> {
52
- readonly _A: Types.Covariant<A>;
53
- readonly _E: Types.Covariant<E>;
54
- readonly _R: Types.Covariant<R>;
55
- }
56
-
57
- /**
58
- * Extract the success type from an Fx.
59
- * @since 1.0.0
60
- * @category type-level
61
- */
62
- export type Success<T> = [T] extends [never]
63
- ? never
64
- : T extends Fx<infer _A, infer _E, infer _R>
65
- ? _A
66
- : never;
67
-
68
- /**
69
- * Extract the error type from an Fx.
70
- * @since 1.0.0
71
- * @category type-level
72
- */
73
- export type Error<T> = [T] extends [never]
74
- ? never
75
- : T extends Fx<infer _A, infer _E, infer _R>
76
- ? _E
77
- : never;
78
-
79
- /**
80
- * Extract the required services from an Fx.
81
- * @since 1.0.0
82
- * @category type-level
83
- */
84
- export type Services<T> = [T] extends [never]
85
- ? never
86
- : [T] extends [Fx<infer _A, infer _E, infer _R>]
87
- ? _R
88
- : never;
89
-
90
- export interface Service<Self, Id extends string, A, E> extends Fx<A, E, Self> {
91
- readonly id: Id;
92
- readonly service: ServiceMap.Service<Self, Fx<A, E>>;
93
- readonly make: <R = never>(
94
- fx: Fx<A, E, R> | Effect.Effect<Fx<A, E, R>, E, R>,
95
- ) => Layer<Self, E, Exclude<R, Scope.Scope>>;
96
- }
97
-
98
- export interface Class<Self, Id extends string, A, E> extends Service<Self, Id, A, E> {
99
- new (): Service<Self, Id, A, E>;
100
- }
101
- }
102
-
103
- /**
104
- * Extract the success type from an Fx.
105
- * @since 1.0.0
106
- * @category type-level
107
- */
108
- export type Success<T> = Fx.Success<T>;
109
-
110
- /**
111
- * Extract the error type from an Fx.
112
- * @since 1.0.0
113
- * @category type-level
114
- */
115
- export type Error<T> = Fx.Error<T>;
116
-
117
- /**
118
- * Extract the required services from an Fx.
119
- * @since 1.0.0
120
- * @category type-level
121
- */
122
- export type Services<T> = Fx.Services<T>;
123
-
124
- const VARIANCE: Fx.Variance<any, any, any> = {
125
- _A: identity,
126
- _E: identity,
127
- _R: identity,
128
- };
129
-
130
- export function Service<Self, A, E = never>() {
131
- return <const Id extends string>(id: Id): Fx.Class<Self, Id, A, E> => {
132
- const service = ServiceMap.Service<Self, Fx<A, E>>(id);
133
-
134
- // eslint-disable-next-line @typescript-eslint/no-extraneous-class
135
- return class FxService {
136
- static readonly id = id;
137
- static readonly service = service;
138
-
139
- static readonly make = <R = never>(
140
- fx: Fx<A, E, R> | Effect.Effect<Fx<A, E, R>, E, R>,
141
- ): Layer<Self, E, Exclude<R, Scope.Scope>> =>
142
- effect(
143
- service,
144
- Effect.gen(function* () {
145
- const services = yield* Effect.services<R>();
146
- const result = isFx(fx) ? fx : yield* fx;
147
- return provideServices(result, services);
148
- }),
149
- );
150
-
151
- static readonly [FxTypeId] = VARIANCE;
152
- static readonly pipe = function (this: any) {
153
- return pipeArguments(this, arguments);
154
- };
155
-
156
- static readonly run = <RSink>(sink: Sink.Sink<A, E, RSink>) =>
157
- Effect.flatMap(service.asEffect(), (fx) => fx.run(sink));
158
-
159
- constructor() {
160
- return FxService;
161
- }
162
- } as unknown as Fx.Class<Self, Id, A, E>;
163
- };
164
- }
package/src/Fx/TypeId.ts DELETED
@@ -1,25 +0,0 @@
1
- import { hasProperty } from "effect/Predicate";
2
- import type { Fx } from "./Fx.js";
3
-
4
- /**
5
- * The unique type identifier for Fx.
6
- * @since 1.0.0
7
- * @category symbol
8
- */
9
- export const FxTypeId = Symbol.for("@typed/fx/Fx");
10
-
11
- /**
12
- * The unique type identifier type for Fx.
13
- * @since 1.0.0
14
- * @category symbol
15
- */
16
- export type FxTypeId = typeof FxTypeId;
17
-
18
- /**
19
- * Checks if a value is an Fx.
20
- * @since 1.0.0
21
- * @category guards
22
- */
23
- export function isFx(u: unknown): u is Fx<any, any, any> {
24
- return hasProperty(u, FxTypeId);
25
- }
@@ -1,165 +0,0 @@
1
- import type * as Arr from "effect/Array";
2
- import * as Cause from "effect/Cause";
3
- import { dual } from "effect/Function";
4
- import * as Result from "effect/Result";
5
- import type { ExcludeTag, ExtractTag, NoInfer, Tags } from "effect/Types";
6
- import { make as makeSink } from "../../Sink/Sink.js";
7
- import { make } from "../constructors/make.js";
8
- import type { Fx } from "../Fx.js";
9
-
10
- const hasTag = (u: unknown): u is { readonly _tag: string } =>
11
- typeof u === "object" &&
12
- u !== null &&
13
- "_tag" in u &&
14
- typeof (u as Record<string, unknown>)["_tag"] === "string";
15
-
16
- const matchesTag = <E, K extends string>(
17
- tag: K | Arr.NonEmptyReadonlyArray<K>,
18
- error: E,
19
- ): error is ExtractTag<E, K> => {
20
- if (!hasTag(error)) return false;
21
- if (typeof tag === "string") return error._tag === tag;
22
- return tag.some((t) => t === error._tag);
23
- };
24
-
25
- /**
26
- * Recovers from a typed failure of an Fx by switching to a fallback Fx.
27
- *
28
- * Mirrors `Effect.catch` / `Effect.catchAll` (catches `Cause.Fail` only).
29
- *
30
- * @since 1.0.0
31
- * @category combinators
32
- */
33
- export const catch_: {
34
- <E, A2, E2, R2>(f: (e: E) => Fx<A2, E2, R2>): <A, R>(self: Fx<A, E, R>) => Fx<A | A2, E2, R | R2>;
35
-
36
- <A, E, R, A2, E2, R2>(self: Fx<A, E, R>, f: (e: E) => Fx<A2, E2, R2>): Fx<A | A2, E2, R | R2>;
37
- } = dual(
38
- 2,
39
- <A, E, R, A2, E2, R2>(self: Fx<A, E, R>, f: (e: E) => Fx<A2, E2, R2>): Fx<A | A2, E2, R | R2> =>
40
- make<A | A2, E2, R | R2>((sink) =>
41
- self.run(
42
- makeSink((cause) => {
43
- const result = Cause.findFail(cause);
44
- if (Result.isFailure(result)) {
45
- return sink.onFailure(result.failure);
46
- }
47
- return f(result.success.error).run(sink);
48
- }, sink.onSuccess),
49
- ),
50
- ),
51
- );
52
-
53
- export { catch_ as catch };
54
-
55
- /**
56
- * An alias for {@link catch}.
57
- *
58
- * @since 1.0.0
59
- * @category combinators
60
- */
61
- export const catchAll = catch_;
62
-
63
- /**
64
- * Recovers from *any* failure cause of an Fx (including defects and interrupts)
65
- * by switching to a fallback Fx.
66
- *
67
- * Mirrors `Effect.catchCause`.
68
- *
69
- * @since 1.0.0
70
- * @category combinators
71
- */
72
- export const catchCause: {
73
- <E, A2, E2, R2>(
74
- f: (cause: Cause.Cause<E>) => Fx<A2, E2, R2>,
75
- ): <A, R>(self: Fx<A, E, R>) => Fx<A | A2, E2, R | R2>;
76
-
77
- <A, E, R, A2, E2, R2>(
78
- self: Fx<A, E, R>,
79
- f: (cause: Cause.Cause<E>) => Fx<A2, E2, R2>,
80
- ): Fx<A | A2, E2, R | R2>;
81
- } = dual(
82
- 2,
83
- <A, E, R, A2, E2, R2>(
84
- self: Fx<A, E, R>,
85
- f: (cause: Cause.Cause<E>) => Fx<A2, E2, R2>,
86
- ): Fx<A | A2, E2, R | R2> =>
87
- make<A | A2, E2, R | R2>((sink) =>
88
- self.run(makeSink((cause) => f(cause).run(sink), sink.onSuccess)),
89
- ),
90
- );
91
-
92
- /**
93
- * Recovers from a typed failure by matching on the `_tag` field of the error.
94
- *
95
- * Mirrors `Effect.catchTag`.
96
- *
97
- * @since 1.0.0
98
- * @category combinators
99
- */
100
- export const catchTag: {
101
- <const K extends Tags<E> | Arr.NonEmptyReadonlyArray<Tags<E>>, E, A2, E2, R2>(
102
- k: K,
103
- f: (
104
- e: ExtractTag<NoInfer<E>, K extends Arr.NonEmptyReadonlyArray<string> ? K[number] : K>,
105
- ) => Fx<A2, E2, R2>,
106
- ): <A, R>(
107
- self: Fx<A, E, R>,
108
- ) => Fx<
109
- A | A2,
110
- E2 | ExcludeTag<E, K extends Arr.NonEmptyReadonlyArray<string> ? K[number] : K>,
111
- R | R2
112
- >;
113
-
114
- <A, E, R, const K extends Tags<E> | Arr.NonEmptyReadonlyArray<Tags<E>>, A2, E2, R2>(
115
- self: Fx<A, E, R>,
116
- k: K,
117
- f: (
118
- e: ExtractTag<E, K extends Arr.NonEmptyReadonlyArray<string> ? K[number] : K>,
119
- ) => Fx<A2, E2, R2>,
120
- ): Fx<
121
- A | A2,
122
- E2 | ExcludeTag<E, K extends Arr.NonEmptyReadonlyArray<string> ? K[number] : K>,
123
- R | R2
124
- >;
125
- } = dual(
126
- 3,
127
- <A, E, R, const K extends Tags<E> | Arr.NonEmptyReadonlyArray<Tags<E>>, A2, E2, R2>(
128
- self: Fx<A, E, R>,
129
- k: K,
130
- f: (
131
- e: ExtractTag<E, K extends Arr.NonEmptyReadonlyArray<string> ? K[number] : K>,
132
- ) => Fx<A2, E2, R2>,
133
- ): Fx<
134
- A | A2,
135
- E2 | ExcludeTag<E, K extends Arr.NonEmptyReadonlyArray<string> ? K[number] : K>,
136
- R | R2
137
- > =>
138
- make<
139
- A | A2,
140
- E2 | ExcludeTag<E, K extends Arr.NonEmptyReadonlyArray<string> ? K[number] : K>,
141
- R | R2
142
- >((sink) =>
143
- self.run(
144
- makeSink((cause) => {
145
- const result = Cause.findFail(cause);
146
- if (Result.isFailure(result)) {
147
- return sink.onFailure(result.failure);
148
- } else if (matchesTag(k, result.success.error)) {
149
- return f(
150
- result.success.error as ExtractTag<
151
- E,
152
- K extends Arr.NonEmptyReadonlyArray<string> ? K[number] : K
153
- >,
154
- ).run(sink);
155
- } else {
156
- return sink.onFailure(
157
- cause as Cause.Cause<
158
- E2 | ExcludeTag<E, K extends Arr.NonEmptyReadonlyArray<string> ? K[number] : K>
159
- >,
160
- );
161
- }
162
- }, sink.onSuccess),
163
- ),
164
- ),
165
- );
@@ -1,23 +0,0 @@
1
- import type * as Cause from "effect/Cause";
2
- import * as Exit from "effect/Exit";
3
- import * as Option from "effect/Option";
4
- import type { Fx } from "../Fx.js";
5
- import { exit } from "./exit.js";
6
- import { filterMap } from "./filterMap.js";
7
-
8
- /**
9
- * Emits only the failure causes from an Fx, discarding successful values.
10
- *
11
- * @param fx - The `Fx` stream.
12
- * @returns An `Fx` emitting `Cause<E>`.
13
- * @since 1.0.0
14
- * @category combinators
15
- */
16
- export const causes = <A, E, R>(fx: Fx<A, E, R>): Fx<Cause.Cause<E>, never, R> =>
17
- filterMap(
18
- exit(fx),
19
- Exit.match({
20
- onFailure: Option.some,
21
- onSuccess: Option.none,
22
- }),
23
- );
@@ -1,15 +0,0 @@
1
- import type * as Option from "effect/Option";
2
- import * as sinkCore from "../../Sink/combinators.js";
3
- import { make } from "../constructors/make.js";
4
- import type { Fx } from "../Fx.js";
5
-
6
- /**
7
- * Compacts an Fx of Options, discarding `None` values and unwrapping `Some` values.
8
- *
9
- * @param self - An `Fx` emitting `Option<A>`.
10
- * @returns An `Fx` emitting `A`.
11
- * @since 1.0.0
12
- * @category combinators
13
- */
14
- export const compact = <A, E, R>(self: Fx<Option.Option<A>, E, R>): Fx<A, E, R> =>
15
- make<A, E, R>((sink) => self.run(sinkCore.compact(sink)));
@@ -1,78 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { dual } from "effect/Function";
3
- import { make } from "../constructors/make.js";
4
- import { succeed } from "../constructors/succeed.js";
5
- import type { Fx } from "../Fx.js";
6
-
7
- /**
8
- * continues an Fx with another Fx after the first one completes.
9
- *
10
- * @param f - A function that returns the next Fx to run.
11
- * @returns An `Fx` that emits values from the first Fx, then from the second Fx.
12
- * @since 1.0.0
13
- * @category combinators
14
- */
15
- export const continueWith: {
16
- <B, E2, R2>(f: () => Fx<B, E2, R2>): <A, E, R>(fx: Fx<A, E, R>) => Fx<A | B, E | E2, R | R2>;
17
-
18
- <A, E, R, B, E2, R2>(fx: Fx<A, E, R>, f: () => Fx<B, E2, R2>): Fx<A | B, E | E2, R | R2>;
19
- } = dual(
20
- 2,
21
- <A, E, R, B, E2, R2>(fx: Fx<A, E, R>, f: () => Fx<B, E2, R2>): Fx<A | B, E | E2, R | R2> =>
22
- make<A | B, E | E2, R | R2>((sink) => Effect.flatMap(fx.run(sink), () => f().run(sink))),
23
- );
24
-
25
- /**
26
- * Appends a value to the end of an Fx.
27
- *
28
- * @param value - The value to append.
29
- * @returns An `Fx` that emits values from the input Fx, then the appended value.
30
- * @since 1.0.0
31
- * @category combinators
32
- */
33
- export const append: {
34
- <B>(value: B): <A, E, R>(fx: Fx<A, E, R>) => Fx<A | B, E, R>;
35
-
36
- <A, E, R, B>(fx: Fx<A, E, R>, value: B): Fx<A | B, E, R>;
37
- } = dual(
38
- 2,
39
- <A, E, R, B>(fx: Fx<A, E, R>, value: B): Fx<A | B, E, R> =>
40
- continueWith(fx, () => succeed(value)),
41
- );
42
-
43
- /**
44
- * Prepends a value to the beginning of an Fx.
45
- *
46
- * @param value - The value to prepend.
47
- * @returns An `Fx` that emits the prepended value, then values from the input Fx.
48
- * @since 1.0.0
49
- * @category combinators
50
- */
51
- export const prepend: {
52
- <B>(value: B): <A, E, R>(fx: Fx<A, E, R>) => Fx<B | A, E, R>;
53
-
54
- <A, E, R, B>(fx: Fx<A, E, R>, value: B): Fx<B | A, E, R>;
55
- } = dual(
56
- 2,
57
- <A, E, R, B>(fx: Fx<A, E, R>, value: B): Fx<B | A, E, R> =>
58
- continueWith(succeed(value), () => fx),
59
- );
60
-
61
- /**
62
- * Wraps an Fx with a start and end value.
63
- *
64
- * @param before - The value to emit before the Fx starts.
65
- * @param after - The value to emit after the Fx completes.
66
- * @returns An `Fx` that emits `before`, then values from the input Fx, then `after`.
67
- * @since 1.0.0
68
- * @category combinators
69
- */
70
- export const delimit: {
71
- <B, C>(before: B, after: C): <A, E, R>(fx: Fx<A, E, R>) => Fx<A | B | C, E, R>;
72
-
73
- <A, E, R, B, C>(fx: Fx<A, E, R>, before: B, after: C): Fx<A | B | C, E, R>;
74
- } = dual(
75
- 3,
76
- <A, E, R, B, C>(fx: Fx<A, E, R>, before: B, after: C): Fx<A | B | C, E, R> =>
77
- fx.pipe(prepend(before), append(after)),
78
- );
@@ -1,23 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import { dual } from "effect/Function";
3
- import { make } from "../constructors/make.js";
4
- import type { Fx } from "../Fx.js";
5
-
6
- /**
7
- * Adds an `Effect.ensuring`-style finalizer to an `Fx`.
8
- *
9
- * The finalizer is guaranteed to run when the stream terminates (success,
10
- * failure, or interruption).
11
- *
12
- * @since 1.0.0
13
- * @category combinators
14
- */
15
- export const ensuring: {
16
- <R2>(finalizer: Effect.Effect<void, never, R2>): <A, E, R>(self: Fx<A, E, R>) => Fx<A, E, R | R2>;
17
-
18
- <A, E, R, R2>(self: Fx<A, E, R>, finalizer: Effect.Effect<void, never, R2>): Fx<A, E, R | R2>;
19
- } = dual(
20
- 2,
21
- <A, E, R, R2>(self: Fx<A, E, R>, finalizer: Effect.Effect<void, never, R2>): Fx<A, E, R | R2> =>
22
- make<A, E, R | R2>((sink) => self.run(sink).pipe(Effect.ensuring(finalizer))),
23
- );