@typed/fx 1.32.0 → 2.0.0-beta.1

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 (881) hide show
  1. package/README.md +367 -2
  2. package/dist/Fx/Fx.d.ts +96 -0
  3. package/dist/Fx/Fx.d.ts.map +1 -0
  4. package/dist/Fx/Fx.js +35 -0
  5. package/dist/Fx/TypeId.d.ts +20 -0
  6. package/dist/Fx/TypeId.d.ts.map +1 -0
  7. package/dist/Fx/TypeId.js +15 -0
  8. package/dist/Fx/combinators/additive.d.ts +94 -0
  9. package/dist/Fx/combinators/additive.d.ts.map +1 -0
  10. package/dist/Fx/combinators/additive.js +92 -0
  11. package/dist/Fx/combinators/catch.d.ts +114 -0
  12. package/dist/Fx/combinators/catch.d.ts.map +1 -0
  13. package/dist/Fx/combinators/catch.js +123 -0
  14. package/dist/Fx/combinators/causes.d.ts +12 -0
  15. package/dist/Fx/combinators/causes.d.ts.map +1 -0
  16. package/dist/Fx/combinators/causes.js +16 -0
  17. package/dist/Fx/combinators/changesWithEffect.d.ts +20 -0
  18. package/dist/Fx/combinators/changesWithEffect.d.ts.map +1 -0
  19. package/dist/Fx/combinators/changesWithEffect.js +28 -0
  20. package/dist/Fx/combinators/compact.d.ts +12 -0
  21. package/dist/Fx/combinators/compact.d.ts.map +1 -0
  22. package/dist/Fx/combinators/compact.js +11 -0
  23. package/dist/Fx/combinators/continueWith.d.ts +51 -0
  24. package/dist/Fx/combinators/continueWith.d.ts.map +1 -0
  25. package/dist/Fx/combinators/continueWith.js +41 -0
  26. package/dist/Fx/combinators/dropUntil.d.ts +29 -0
  27. package/dist/Fx/combinators/dropUntil.d.ts.map +1 -0
  28. package/dist/Fx/combinators/dropUntil.js +23 -0
  29. package/dist/Fx/combinators/ensuring.d.ts +16 -0
  30. package/dist/Fx/combinators/ensuring.d.ts.map +1 -0
  31. package/dist/Fx/combinators/ensuring.js +13 -0
  32. package/dist/Fx/combinators/exhaustLatestMap.d.ts +15 -0
  33. package/dist/Fx/combinators/exhaustLatestMap.d.ts.map +1 -0
  34. package/dist/Fx/combinators/exhaustLatestMap.js +48 -0
  35. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts +13 -0
  36. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts.map +1 -0
  37. package/dist/Fx/combinators/exhaustLatestMapEffect.js +14 -0
  38. package/dist/Fx/combinators/exhaustMap.d.ts +11 -0
  39. package/dist/Fx/combinators/exhaustMap.d.ts.map +1 -0
  40. package/dist/Fx/combinators/exhaustMap.js +19 -0
  41. package/dist/Fx/combinators/exhaustMapEffect.d.ts +11 -0
  42. package/dist/Fx/combinators/exhaustMapEffect.d.ts.map +1 -0
  43. package/dist/Fx/combinators/exhaustMapEffect.js +12 -0
  44. package/dist/Fx/combinators/exit.d.ts +12 -0
  45. package/dist/Fx/combinators/exit.d.ts.map +1 -0
  46. package/dist/Fx/combinators/exit.js +11 -0
  47. package/dist/Fx/combinators/filter.d.ts +14 -0
  48. package/dist/Fx/combinators/filter.d.ts.map +1 -0
  49. package/dist/Fx/combinators/filter.js +12 -0
  50. package/dist/Fx/combinators/filterEffect.d.ts +15 -0
  51. package/dist/Fx/combinators/filterEffect.d.ts.map +1 -0
  52. package/dist/Fx/combinators/filterEffect.js +12 -0
  53. package/dist/Fx/combinators/filterMap.d.ts +15 -0
  54. package/dist/Fx/combinators/filterMap.d.ts.map +1 -0
  55. package/dist/Fx/combinators/filterMap.js +12 -0
  56. package/dist/Fx/combinators/filterMapEffect.d.ts +16 -0
  57. package/dist/Fx/combinators/filterMapEffect.d.ts.map +1 -0
  58. package/dist/Fx/combinators/filterMapEffect.js +12 -0
  59. package/dist/Fx/combinators/filterMapLoop.d.ts +17 -0
  60. package/dist/Fx/combinators/filterMapLoop.d.ts.map +1 -0
  61. package/dist/Fx/combinators/filterMapLoop.js +14 -0
  62. package/dist/Fx/combinators/filterMapLoopCause.d.ts +18 -0
  63. package/dist/Fx/combinators/filterMapLoopCause.d.ts.map +1 -0
  64. package/dist/Fx/combinators/filterMapLoopCause.js +14 -0
  65. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts +18 -0
  66. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts.map +1 -0
  67. package/dist/Fx/combinators/filterMapLoopCauseEffect.js +13 -0
  68. package/dist/Fx/combinators/filterMapLoopEffect.d.ts +17 -0
  69. package/dist/Fx/combinators/filterMapLoopEffect.d.ts.map +1 -0
  70. package/dist/Fx/combinators/filterMapLoopEffect.js +13 -0
  71. package/dist/Fx/combinators/flatMap.d.ts +23 -0
  72. package/dist/Fx/combinators/flatMap.d.ts.map +1 -0
  73. package/dist/Fx/combinators/flatMap.js +21 -0
  74. package/dist/Fx/combinators/flatMapConcurrently.d.ts +12 -0
  75. package/dist/Fx/combinators/flatMapConcurrently.d.ts.map +1 -0
  76. package/dist/Fx/combinators/flatMapConcurrently.js +23 -0
  77. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts +12 -0
  78. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts.map +1 -0
  79. package/dist/Fx/combinators/flatMapConcurrentlyEffect.js +13 -0
  80. package/dist/Fx/combinators/flatMapEffect.d.ts +24 -0
  81. package/dist/Fx/combinators/flatMapEffect.d.ts.map +1 -0
  82. package/dist/Fx/combinators/flatMapEffect.js +14 -0
  83. package/dist/Fx/combinators/flip.d.ts +11 -0
  84. package/dist/Fx/combinators/flip.d.ts.map +1 -0
  85. package/dist/Fx/combinators/flip.js +11 -0
  86. package/dist/Fx/combinators/gen.d.ts +20 -0
  87. package/dist/Fx/combinators/gen.d.ts.map +1 -0
  88. package/dist/Fx/combinators/gen.js +14 -0
  89. package/dist/Fx/combinators/genScoped.d.ts +20 -0
  90. package/dist/Fx/combinators/genScoped.d.ts.map +1 -0
  91. package/dist/Fx/combinators/genScoped.js +13 -0
  92. package/dist/Fx/combinators/index.d.ts +62 -0
  93. package/dist/Fx/combinators/index.d.ts.map +1 -0
  94. package/dist/Fx/combinators/index.js +61 -0
  95. package/dist/Fx/combinators/keyed.d.ts +44 -0
  96. package/dist/Fx/combinators/keyed.d.ts.map +1 -0
  97. package/dist/Fx/combinators/keyed.js +199 -0
  98. package/dist/Fx/combinators/loop.d.ts +16 -0
  99. package/dist/Fx/combinators/loop.d.ts.map +1 -0
  100. package/dist/Fx/combinators/loop.js +14 -0
  101. package/dist/Fx/combinators/loopCause.d.ts +16 -0
  102. package/dist/Fx/combinators/loopCause.d.ts.map +1 -0
  103. package/dist/Fx/combinators/loopCause.js +13 -0
  104. package/dist/Fx/combinators/loopCauseEffect.d.ts +17 -0
  105. package/dist/Fx/combinators/loopCauseEffect.d.ts.map +1 -0
  106. package/dist/Fx/combinators/loopCauseEffect.js +13 -0
  107. package/dist/Fx/combinators/loopEffect.d.ts +16 -0
  108. package/dist/Fx/combinators/loopEffect.d.ts.map +1 -0
  109. package/dist/Fx/combinators/loopEffect.js +13 -0
  110. package/dist/Fx/combinators/map.d.ts +14 -0
  111. package/dist/Fx/combinators/map.d.ts.map +1 -0
  112. package/dist/Fx/combinators/map.js +12 -0
  113. package/dist/Fx/combinators/mapBoth.d.ts +21 -0
  114. package/dist/Fx/combinators/mapBoth.d.ts.map +1 -0
  115. package/dist/Fx/combinators/mapBoth.js +14 -0
  116. package/dist/Fx/combinators/mapEffect.d.ts +15 -0
  117. package/dist/Fx/combinators/mapEffect.d.ts.map +1 -0
  118. package/dist/Fx/combinators/mapEffect.js +12 -0
  119. package/dist/Fx/combinators/mapError.d.ts +17 -0
  120. package/dist/Fx/combinators/mapError.d.ts.map +1 -0
  121. package/dist/Fx/combinators/mapError.js +16 -0
  122. package/dist/Fx/combinators/mergeAll.d.ts +11 -0
  123. package/dist/Fx/combinators/mergeAll.d.ts.map +1 -0
  124. package/dist/Fx/combinators/mergeAll.js +15 -0
  125. package/dist/Fx/combinators/mergeOrdered.d.ts +14 -0
  126. package/dist/Fx/combinators/mergeOrdered.d.ts.map +1 -0
  127. package/dist/Fx/combinators/mergeOrdered.js +89 -0
  128. package/dist/Fx/combinators/onError.d.ts +17 -0
  129. package/dist/Fx/combinators/onError.d.ts.map +1 -0
  130. package/dist/Fx/combinators/onError.js +14 -0
  131. package/dist/Fx/combinators/onExit.d.ts +16 -0
  132. package/dist/Fx/combinators/onExit.d.ts.map +1 -0
  133. package/dist/Fx/combinators/onExit.js +39 -0
  134. package/dist/Fx/combinators/onInterrupt.d.ts +16 -0
  135. package/dist/Fx/combinators/onInterrupt.d.ts.map +1 -0
  136. package/dist/Fx/combinators/onInterrupt.js +38 -0
  137. package/dist/Fx/combinators/provide.d.ts +56 -0
  138. package/dist/Fx/combinators/provide.d.ts.map +1 -0
  139. package/dist/Fx/combinators/provide.js +54 -0
  140. package/dist/Fx/combinators/result.d.ts +23 -0
  141. package/dist/Fx/combinators/result.d.ts.map +1 -0
  142. package/dist/Fx/combinators/result.js +32 -0
  143. package/dist/Fx/combinators/scan.d.ts +33 -0
  144. package/dist/Fx/combinators/scan.d.ts.map +1 -0
  145. package/dist/Fx/combinators/scan.js +38 -0
  146. package/dist/Fx/combinators/skip.d.ts +27 -0
  147. package/dist/Fx/combinators/skip.d.ts.map +1 -0
  148. package/dist/Fx/combinators/skip.js +22 -0
  149. package/dist/Fx/combinators/skipRepeats.d.ts +11 -0
  150. package/dist/Fx/combinators/skipRepeats.d.ts.map +1 -0
  151. package/dist/Fx/combinators/skipRepeats.js +12 -0
  152. package/dist/Fx/combinators/skipRepeatsWith.d.ts +12 -0
  153. package/dist/Fx/combinators/skipRepeatsWith.d.ts.map +1 -0
  154. package/dist/Fx/combinators/skipRepeatsWith.js +20 -0
  155. package/dist/Fx/combinators/skipWhile.d.ts +49 -0
  156. package/dist/Fx/combinators/skipWhile.d.ts.map +1 -0
  157. package/dist/Fx/combinators/skipWhile.js +66 -0
  158. package/dist/Fx/combinators/slice.d.ts +36 -0
  159. package/dist/Fx/combinators/slice.d.ts.map +1 -0
  160. package/dist/Fx/combinators/slice.js +23 -0
  161. package/dist/Fx/combinators/switchMap.d.ts +13 -0
  162. package/dist/Fx/combinators/switchMap.d.ts.map +1 -0
  163. package/dist/Fx/combinators/switchMap.js +33 -0
  164. package/dist/Fx/combinators/switchMapEffect.d.ts +13 -0
  165. package/dist/Fx/combinators/switchMapEffect.d.ts.map +1 -0
  166. package/dist/Fx/combinators/switchMapEffect.js +14 -0
  167. package/dist/Fx/combinators/take.d.ts +27 -0
  168. package/dist/Fx/combinators/take.d.ts.map +1 -0
  169. package/dist/Fx/combinators/take.js +22 -0
  170. package/dist/Fx/combinators/takeUntil.d.ts +42 -0
  171. package/dist/Fx/combinators/takeUntil.d.ts.map +1 -0
  172. package/dist/Fx/combinators/takeUntil.js +45 -0
  173. package/dist/Fx/combinators/takeWhile.d.ts +29 -0
  174. package/dist/Fx/combinators/takeWhile.d.ts.map +1 -0
  175. package/dist/Fx/combinators/takeWhile.js +23 -0
  176. package/dist/Fx/combinators/tapEffect.d.ts +15 -0
  177. package/dist/Fx/combinators/tapEffect.d.ts.map +1 -0
  178. package/dist/Fx/combinators/tapEffect.js +18 -0
  179. package/dist/Fx/combinators/tuple.d.ts +27 -0
  180. package/dist/Fx/combinators/tuple.d.ts.map +1 -0
  181. package/dist/Fx/combinators/tuple.js +46 -0
  182. package/dist/Fx/combinators/unwrap.d.ts +12 -0
  183. package/dist/Fx/combinators/unwrap.d.ts.map +1 -0
  184. package/dist/Fx/combinators/unwrap.js +14 -0
  185. package/dist/Fx/combinators/unwrapScoped.d.ts +15 -0
  186. package/dist/Fx/combinators/unwrapScoped.d.ts.map +1 -0
  187. package/dist/Fx/combinators/unwrapScoped.js +16 -0
  188. package/dist/Fx/combinators/when.d.ts +36 -0
  189. package/dist/Fx/combinators/when.d.ts.map +1 -0
  190. package/dist/Fx/combinators/when.js +28 -0
  191. package/dist/Fx/combinators/withSpan.d.ts +4 -0
  192. package/dist/Fx/combinators/withSpan.d.ts.map +1 -0
  193. package/dist/Fx/combinators/withSpan.js +6 -0
  194. package/dist/Fx/combinators/zip.d.ts +75 -0
  195. package/dist/Fx/combinators/zip.d.ts.map +1 -0
  196. package/dist/Fx/combinators/zip.js +100 -0
  197. package/dist/Fx/constructors/at.d.ts +16 -0
  198. package/dist/Fx/constructors/at.d.ts.map +1 -0
  199. package/dist/Fx/constructors/at.js +13 -0
  200. package/dist/Fx/constructors/die.d.ts +11 -0
  201. package/dist/Fx/constructors/die.d.ts.map +1 -0
  202. package/dist/Fx/constructors/die.js +12 -0
  203. package/dist/Fx/constructors/empty.d.ts +8 -0
  204. package/dist/Fx/constructors/empty.d.ts.map +1 -0
  205. package/dist/Fx/constructors/empty.js +8 -0
  206. package/dist/Fx/constructors/fail.d.ts +11 -0
  207. package/dist/Fx/constructors/fail.d.ts.map +1 -0
  208. package/dist/Fx/constructors/fail.js +12 -0
  209. package/dist/Fx/constructors/failCause.d.ts +12 -0
  210. package/dist/Fx/constructors/failCause.d.ts.map +1 -0
  211. package/dist/Fx/constructors/failCause.js +11 -0
  212. package/dist/Fx/constructors/fn.d.ts +47 -0
  213. package/dist/Fx/constructors/fn.d.ts.map +1 -0
  214. package/dist/Fx/constructors/fn.js +23 -0
  215. package/dist/Fx/constructors/fromEffect.d.ts +21 -0
  216. package/dist/Fx/constructors/fromEffect.d.ts.map +1 -0
  217. package/dist/Fx/constructors/fromEffect.js +21 -0
  218. package/dist/Fx/constructors/fromFailures.d.ts +10 -0
  219. package/dist/Fx/constructors/fromFailures.d.ts.map +1 -0
  220. package/dist/Fx/constructors/fromFailures.js +13 -0
  221. package/dist/Fx/constructors/fromIterable.d.ts +12 -0
  222. package/dist/Fx/constructors/fromIterable.d.ts.map +1 -0
  223. package/dist/Fx/constructors/fromIterable.js +12 -0
  224. package/dist/Fx/constructors/fromSchedule.d.ts +13 -0
  225. package/dist/Fx/constructors/fromSchedule.d.ts.map +1 -0
  226. package/dist/Fx/constructors/fromSchedule.js +13 -0
  227. package/dist/Fx/constructors/fromYieldable.d.ts +12 -0
  228. package/dist/Fx/constructors/fromYieldable.d.ts.map +1 -0
  229. package/dist/Fx/constructors/fromYieldable.js +12 -0
  230. package/dist/Fx/constructors/index.d.ts +16 -0
  231. package/dist/Fx/constructors/index.d.ts.map +1 -0
  232. package/dist/Fx/constructors/index.js +15 -0
  233. package/dist/Fx/constructors/interrupt.d.ts +10 -0
  234. package/dist/Fx/constructors/interrupt.d.ts.map +1 -0
  235. package/dist/Fx/constructors/interrupt.js +12 -0
  236. package/dist/Fx/constructors/make.d.ts +40 -0
  237. package/dist/Fx/constructors/make.d.ts.map +1 -0
  238. package/dist/Fx/constructors/make.js +61 -0
  239. package/dist/Fx/constructors/periodic.d.ts +12 -0
  240. package/dist/Fx/constructors/periodic.d.ts.map +1 -0
  241. package/dist/Fx/constructors/periodic.js +12 -0
  242. package/dist/Fx/constructors/succeed.d.ts +32 -0
  243. package/dist/Fx/constructors/succeed.d.ts.map +1 -0
  244. package/dist/Fx/constructors/succeed.js +32 -0
  245. package/dist/Fx/constructors/suspend.d.ts +3 -0
  246. package/dist/Fx/constructors/suspend.d.ts.map +1 -0
  247. package/dist/Fx/constructors/suspend.js +3 -0
  248. package/dist/Fx/index.d.ts +7 -0
  249. package/dist/Fx/index.d.ts.map +1 -0
  250. package/dist/Fx/index.js +6 -0
  251. package/dist/Fx/internal/DeferredRef.d.ts +29 -0
  252. package/dist/Fx/internal/DeferredRef.d.ts.map +1 -0
  253. package/dist/Fx/internal/DeferredRef.js +63 -0
  254. package/dist/Fx/internal/UnionToTuple.d.ts.map +1 -0
  255. package/dist/Fx/internal/UnionToTuple.js +1 -0
  256. package/dist/Fx/internal/diff.d.ts +44 -0
  257. package/dist/Fx/internal/diff.d.ts.map +1 -0
  258. package/dist/Fx/internal/diff.js +106 -0
  259. package/dist/Fx/internal/equivalence.d.ts +4 -0
  260. package/dist/Fx/internal/equivalence.d.ts.map +1 -0
  261. package/dist/Fx/internal/equivalence.js +10 -0
  262. package/dist/Fx/internal/multicast.d.ts +10 -0
  263. package/dist/Fx/internal/multicast.d.ts.map +1 -0
  264. package/dist/Fx/internal/multicast.js +32 -0
  265. package/dist/Fx/internal/ring-buffer.d.ts +14 -0
  266. package/dist/Fx/internal/ring-buffer.d.ts.map +1 -0
  267. package/dist/Fx/internal/ring-buffer.js +52 -0
  268. package/dist/Fx/internal/scope.d.ts +11 -0
  269. package/dist/Fx/internal/scope.d.ts.map +1 -0
  270. package/dist/Fx/internal/scope.js +12 -0
  271. package/dist/Fx/internal/yieldable.d.ts +17 -0
  272. package/dist/Fx/internal/yieldable.d.ts.map +1 -0
  273. package/dist/Fx/internal/yieldable.js +20 -0
  274. package/dist/Fx/run/collect.d.ts +45 -0
  275. package/dist/Fx/run/collect.d.ts.map +1 -0
  276. package/dist/Fx/run/collect.js +51 -0
  277. package/dist/Fx/run/first.d.ts +14 -0
  278. package/dist/Fx/run/first.d.ts.map +1 -0
  279. package/dist/Fx/run/first.js +16 -0
  280. package/dist/Fx/run/fork.d.ts +29 -0
  281. package/dist/Fx/run/fork.d.ts.map +1 -0
  282. package/dist/Fx/run/fork.js +27 -0
  283. package/dist/Fx/run/index.d.ts +6 -0
  284. package/dist/Fx/run/index.d.ts.map +1 -0
  285. package/dist/Fx/run/index.js +5 -0
  286. package/dist/Fx/run/observe.d.ts +53 -0
  287. package/dist/Fx/run/observe.d.ts.map +1 -0
  288. package/dist/Fx/run/observe.js +55 -0
  289. package/dist/Fx/run/runPromise.d.ts +25 -0
  290. package/dist/Fx/run/runPromise.d.ts.map +1 -0
  291. package/dist/Fx/run/runPromise.js +23 -0
  292. package/dist/Fx/stream.d.ts +7 -0
  293. package/dist/Fx/stream.d.ts.map +1 -0
  294. package/dist/Fx/stream.js +7 -0
  295. package/dist/Fx.d.ts +2 -0
  296. package/dist/Fx.d.ts.map +1 -0
  297. package/dist/Fx.js +1 -0
  298. package/dist/Push/Push.d.ts +375 -0
  299. package/dist/Push/Push.d.ts.map +1 -0
  300. package/dist/Push/Push.js +346 -0
  301. package/dist/Push/index.d.ts +2 -0
  302. package/dist/Push/index.d.ts.map +1 -0
  303. package/dist/Push/index.js +1 -0
  304. package/dist/Push.d.ts +2 -0
  305. package/dist/Push.d.ts.map +1 -0
  306. package/dist/Push.js +1 -0
  307. package/dist/RefSubject/RefArray.d.ts +328 -0
  308. package/dist/RefSubject/RefArray.d.ts.map +1 -0
  309. package/dist/RefSubject/RefArray.js +302 -0
  310. package/dist/RefSubject/RefBigDecimal.d.ts +183 -0
  311. package/dist/RefSubject/RefBigDecimal.d.ts.map +1 -0
  312. package/dist/RefSubject/RefBigDecimal.js +161 -0
  313. package/dist/RefSubject/RefBigInt.d.ts +138 -0
  314. package/dist/RefSubject/RefBigInt.d.ts.map +1 -0
  315. package/dist/RefSubject/RefBigInt.js +126 -0
  316. package/dist/RefSubject/RefBoolean.d.ts +135 -0
  317. package/dist/RefSubject/RefBoolean.d.ts.map +1 -0
  318. package/dist/RefSubject/RefBoolean.js +124 -0
  319. package/dist/RefSubject/RefCause.d.ts +100 -0
  320. package/dist/RefSubject/RefCause.d.ts.map +1 -0
  321. package/dist/RefSubject/RefCause.js +93 -0
  322. package/dist/RefSubject/RefChunk.d.ts +316 -0
  323. package/dist/RefSubject/RefChunk.d.ts.map +1 -0
  324. package/dist/RefSubject/RefChunk.js +286 -0
  325. package/dist/RefSubject/RefDateTime.d.ts +155 -0
  326. package/dist/RefSubject/RefDateTime.d.ts.map +1 -0
  327. package/dist/RefSubject/RefDateTime.js +101 -0
  328. package/dist/RefSubject/RefDuration.d.ts +126 -0
  329. package/dist/RefSubject/RefDuration.d.ts.map +1 -0
  330. package/dist/RefSubject/RefDuration.js +115 -0
  331. package/dist/RefSubject/RefGraph.d.ts +239 -0
  332. package/dist/RefSubject/RefGraph.d.ts.map +1 -0
  333. package/dist/RefSubject/RefGraph.js +272 -0
  334. package/dist/RefSubject/RefHashMap.d.ts +228 -0
  335. package/dist/RefSubject/RefHashMap.d.ts.map +1 -0
  336. package/dist/RefSubject/RefHashMap.js +212 -0
  337. package/dist/RefSubject/RefHashRing.d.ts +123 -0
  338. package/dist/RefSubject/RefHashRing.d.ts.map +1 -0
  339. package/dist/RefSubject/RefHashRing.js +115 -0
  340. package/dist/RefSubject/RefHashSet.d.ts +179 -0
  341. package/dist/RefSubject/RefHashSet.d.ts.map +1 -0
  342. package/dist/RefSubject/RefHashSet.js +164 -0
  343. package/dist/RefSubject/RefIterable.d.ts +257 -0
  344. package/dist/RefSubject/RefIterable.d.ts.map +1 -0
  345. package/dist/RefSubject/RefIterable.js +237 -0
  346. package/dist/RefSubject/RefOption.d.ts +124 -0
  347. package/dist/RefSubject/RefOption.d.ts.map +1 -0
  348. package/dist/RefSubject/RefOption.js +115 -0
  349. package/dist/RefSubject/RefRecord.d.ts +264 -0
  350. package/dist/RefSubject/RefRecord.d.ts.map +1 -0
  351. package/dist/RefSubject/RefRecord.js +249 -0
  352. package/dist/RefSubject/RefResult.d.ts +121 -0
  353. package/dist/RefSubject/RefResult.d.ts.map +1 -0
  354. package/dist/RefSubject/RefResult.js +107 -0
  355. package/dist/RefSubject/RefString.d.ts +147 -0
  356. package/dist/RefSubject/RefString.d.ts.map +1 -0
  357. package/dist/RefSubject/RefString.js +137 -0
  358. package/dist/RefSubject/RefStruct.d.ts +123 -0
  359. package/dist/RefSubject/RefStruct.d.ts.map +1 -0
  360. package/dist/RefSubject/RefStruct.js +113 -0
  361. package/dist/RefSubject/RefSubject.d.ts +1057 -0
  362. package/dist/RefSubject/RefSubject.d.ts.map +1 -0
  363. package/dist/RefSubject/RefSubject.js +1389 -0
  364. package/dist/RefSubject/RefTrie.d.ts +216 -0
  365. package/dist/RefSubject/RefTrie.d.ts.map +1 -0
  366. package/dist/RefSubject/RefTrie.js +201 -0
  367. package/dist/RefSubject/RefTuple.d.ts +107 -0
  368. package/dist/RefSubject/RefTuple.d.ts.map +1 -0
  369. package/dist/RefSubject/RefTuple.js +94 -0
  370. package/dist/RefSubject/index.d.ts +22 -0
  371. package/dist/RefSubject/index.d.ts.map +1 -0
  372. package/dist/RefSubject/index.js +21 -0
  373. package/dist/RefSubject.d.ts +2 -0
  374. package/dist/RefSubject.d.ts.map +1 -0
  375. package/dist/RefSubject.js +1 -0
  376. package/dist/Sink/Sink.d.ts +94 -0
  377. package/dist/Sink/Sink.d.ts.map +1 -0
  378. package/dist/Sink/Sink.js +34 -0
  379. package/dist/Sink/combinators.d.ts +228 -0
  380. package/dist/Sink/combinators.d.ts.map +1 -0
  381. package/dist/Sink/combinators.js +689 -0
  382. package/dist/Sink/index.d.ts +3 -0
  383. package/dist/Sink/index.d.ts.map +1 -0
  384. package/dist/Sink/index.js +2 -0
  385. package/dist/Sink.d.ts +2 -0
  386. package/dist/Sink.d.ts.map +1 -0
  387. package/dist/Sink.js +1 -0
  388. package/dist/Subject/Subject.d.ts +152 -0
  389. package/dist/Subject/Subject.d.ts.map +1 -0
  390. package/dist/Subject/Subject.js +272 -0
  391. package/dist/Subject/index.d.ts +2 -0
  392. package/dist/Subject/index.d.ts.map +1 -0
  393. package/dist/Subject/index.js +1 -0
  394. package/dist/Subject.d.ts +2 -0
  395. package/dist/Subject.d.ts.map +1 -0
  396. package/dist/Subject.js +1 -0
  397. package/dist/Versioned/Versioned.d.ts +206 -0
  398. package/dist/Versioned/Versioned.d.ts.map +1 -0
  399. package/dist/Versioned/Versioned.js +246 -0
  400. package/dist/Versioned/index.d.ts +2 -0
  401. package/dist/Versioned/index.d.ts.map +1 -0
  402. package/dist/Versioned/index.js +1 -0
  403. package/dist/Versioned.d.ts +2 -0
  404. package/dist/Versioned.d.ts.map +1 -0
  405. package/dist/Versioned.js +1 -0
  406. package/dist/index.d.ts +8 -0
  407. package/dist/index.d.ts.map +1 -0
  408. package/dist/index.js +7 -0
  409. package/package.json +26 -195
  410. package/src/Fx/Fx.ts +164 -0
  411. package/src/Fx/TypeId.ts +25 -0
  412. package/src/Fx/combinators/additive.ts +142 -0
  413. package/src/Fx/combinators/catch.ts +421 -0
  414. package/src/Fx/combinators/causes.ts +23 -0
  415. package/src/Fx/combinators/changesWithEffect.ts +66 -0
  416. package/src/Fx/combinators/compact.ts +15 -0
  417. package/src/Fx/combinators/continueWith.ts +78 -0
  418. package/src/Fx/combinators/dropUntil.ts +47 -0
  419. package/src/Fx/combinators/ensuring.ts +23 -0
  420. package/src/Fx/combinators/exhaustLatestMap.ts +74 -0
  421. package/src/Fx/combinators/exhaustLatestMapEffect.ts +25 -0
  422. package/src/Fx/combinators/exhaustMap.ts +36 -0
  423. package/src/Fx/combinators/exhaustMapEffect.ts +23 -0
  424. package/src/Fx/combinators/exit.ts +15 -0
  425. package/src/Fx/combinators/filter.ts +22 -0
  426. package/src/Fx/combinators/filterEffect.ts +31 -0
  427. package/src/Fx/combinators/filterMap.ts +23 -0
  428. package/src/Fx/combinators/filterMapEffect.ts +32 -0
  429. package/src/Fx/combinators/filterMapLoop.ts +35 -0
  430. package/src/Fx/combinators/filterMapLoopCause.ts +36 -0
  431. package/src/Fx/combinators/filterMapLoopCauseEffect.ts +46 -0
  432. package/src/Fx/combinators/filterMapLoopEffect.ts +36 -0
  433. package/src/Fx/combinators/flatMap.ts +51 -0
  434. package/src/Fx/combinators/flatMapConcurrently.ts +39 -0
  435. package/src/Fx/combinators/flatMapConcurrentlyEffect.ts +26 -0
  436. package/src/Fx/combinators/flatMapEffect.ts +42 -0
  437. package/src/Fx/combinators/flip.ts +14 -0
  438. package/src/Fx/combinators/gen.ts +24 -0
  439. package/src/Fx/combinators/genScoped.ts +24 -0
  440. package/src/Fx/combinators/index.ts +61 -0
  441. package/src/Fx/combinators/keyed.ts +369 -0
  442. package/src/Fx/combinators/loop.ts +27 -0
  443. package/src/Fx/combinators/loopCause.ts +34 -0
  444. package/src/Fx/combinators/loopCauseEffect.ts +36 -0
  445. package/src/Fx/combinators/loopEffect.ts +34 -0
  446. package/src/Fx/combinators/map.ts +22 -0
  447. package/src/Fx/combinators/mapBoth.ts +40 -0
  448. package/src/Fx/combinators/mapEffect.ts +32 -0
  449. package/src/Fx/combinators/mapError.ts +28 -0
  450. package/src/Fx/combinators/mergeAll.ts +22 -0
  451. package/src/Fx/combinators/mergeOrdered.ts +123 -0
  452. package/src/Fx/combinators/onError.ts +40 -0
  453. package/src/Fx/combinators/onExit.ts +82 -0
  454. package/src/Fx/combinators/onInterrupt.ts +87 -0
  455. package/src/Fx/combinators/provide.ts +124 -0
  456. package/src/Fx/combinators/result.ts +39 -0
  457. package/src/Fx/combinators/scan.ts +82 -0
  458. package/src/Fx/combinators/skip.ts +41 -0
  459. package/src/Fx/combinators/skipRepeats.ts +15 -0
  460. package/src/Fx/combinators/skipRepeatsWith.ts +40 -0
  461. package/src/Fx/combinators/skipWhile.ts +100 -0
  462. package/src/Fx/combinators/slice.ts +55 -0
  463. package/src/Fx/combinators/switchMap.ts +55 -0
  464. package/src/Fx/combinators/switchMapEffect.ts +25 -0
  465. package/src/Fx/combinators/take.ts +38 -0
  466. package/src/Fx/combinators/takeUntil.ts +88 -0
  467. package/src/Fx/combinators/takeWhile.ts +47 -0
  468. package/src/Fx/combinators/tapEffect.ts +39 -0
  469. package/src/Fx/combinators/tuple.ts +79 -0
  470. package/src/Fx/combinators/unwrap.ts +21 -0
  471. package/src/Fx/combinators/unwrapScoped.ts +26 -0
  472. package/src/Fx/combinators/when.ts +64 -0
  473. package/src/Fx/combinators/withSpan.ts +24 -0
  474. package/src/Fx/combinators/zip.ts +175 -0
  475. package/src/Fx/constructors/at.ts +23 -0
  476. package/src/Fx/constructors/die.ts +17 -0
  477. package/src/Fx/constructors/empty.ts +10 -0
  478. package/src/Fx/constructors/fail.ts +14 -0
  479. package/src/Fx/constructors/failCause.ts +14 -0
  480. package/src/Fx/constructors/fn.ts +245 -0
  481. package/src/Fx/constructors/fromEffect.ts +24 -0
  482. package/src/Fx/constructors/fromFailures.ts +19 -0
  483. package/src/Fx/constructors/fromIterable.ts +15 -0
  484. package/src/Fx/constructors/fromSchedule.ts +18 -0
  485. package/src/Fx/constructors/fromYieldable.ts +17 -0
  486. package/src/Fx/constructors/index.ts +15 -0
  487. package/src/Fx/constructors/interrupt.ts +13 -0
  488. package/src/Fx/constructors/make.ts +103 -0
  489. package/src/Fx/constructors/periodic.ts +15 -0
  490. package/src/Fx/constructors/succeed.ts +37 -0
  491. package/src/Fx/constructors/suspend.ts +6 -0
  492. package/src/Fx/index.ts +6 -0
  493. package/src/Fx/internal/DeferredRef.ts +87 -0
  494. package/src/Fx/internal/UnionToTuple.ts +12 -0
  495. package/src/Fx/internal/diff.ts +191 -0
  496. package/src/Fx/internal/equivalence.ts +12 -0
  497. package/src/Fx/internal/multicast.ts +51 -0
  498. package/src/Fx/internal/ring-buffer.ts +60 -0
  499. package/src/Fx/internal/scope.ts +58 -0
  500. package/src/Fx/internal/yieldable.ts +31 -0
  501. package/src/Fx/run/collect.ts +79 -0
  502. package/src/Fx/run/first.ts +20 -0
  503. package/src/Fx/run/fork.ts +40 -0
  504. package/src/Fx/run/index.ts +5 -0
  505. package/src/Fx/run/observe.ts +114 -0
  506. package/src/Fx/run/runPromise.ts +32 -0
  507. package/src/Fx/stream.ts +42 -0
  508. package/src/Fx.additive-combinators.test.ts +126 -0
  509. package/src/Fx.catch-additive.test.ts +206 -0
  510. package/src/Fx.catch.test.ts +60 -0
  511. package/src/Fx.dropUntil.test.ts +61 -0
  512. package/src/Fx.fn.test.ts +51 -0
  513. package/src/Fx.lifecycle.test.ts +79 -0
  514. package/src/Fx.mapError-mapBoth.test.ts +101 -0
  515. package/src/Fx.provide-combinators.test.ts +94 -0
  516. package/src/Fx.result-changesWithEffect.test.ts +112 -0
  517. package/src/Fx.scan.test.ts +73 -0
  518. package/src/Fx.takeWhile-skipWhile.test.ts +84 -0
  519. package/src/Fx.test.ts +71 -0
  520. package/src/Fx.ts +1 -2591
  521. package/src/Fx.zip-merge-additive.test.ts +171 -0
  522. package/src/Fx.zip.test.ts +133 -0
  523. package/src/Push/Push.ts +1072 -0
  524. package/src/Push/index.ts +1 -0
  525. package/src/Push.additive.test.ts +256 -0
  526. package/src/Push.test.ts +26 -0
  527. package/src/Push.ts +1 -480
  528. package/src/RefSubject/RefArray.ts +512 -0
  529. package/src/RefSubject/RefBigDecimal.test.ts +56 -0
  530. package/src/RefSubject/RefBigDecimal.ts +295 -0
  531. package/src/RefSubject/RefBigInt.test.ts +56 -0
  532. package/src/RefSubject/RefBigInt.ts +189 -0
  533. package/src/RefSubject/RefBoolean.test.ts +57 -0
  534. package/src/RefSubject/RefBoolean.ts +185 -0
  535. package/src/RefSubject/RefCause.test.ts +53 -0
  536. package/src/RefSubject/RefCause.ts +146 -0
  537. package/src/RefSubject/RefChunk.ts +510 -0
  538. package/src/RefSubject/RefDateTime.test.ts +43 -0
  539. package/src/RefSubject/RefDateTime.ts +264 -0
  540. package/src/RefSubject/RefDuration.test.ts +49 -0
  541. package/src/RefSubject/RefDuration.ts +188 -0
  542. package/src/RefSubject/RefGraph.ts +650 -0
  543. package/src/RefSubject/RefHashMap.ts +465 -0
  544. package/src/RefSubject/RefHashRing.ts +262 -0
  545. package/src/RefSubject/RefHashSet.ts +308 -0
  546. package/src/RefSubject/RefIterable.ts +445 -0
  547. package/src/RefSubject/RefOption.test.ts +67 -0
  548. package/src/RefSubject/RefOption.ts +193 -0
  549. package/src/RefSubject/RefRecord.ts +612 -0
  550. package/src/RefSubject/RefResult.test.ts +63 -0
  551. package/src/RefSubject/RefResult.ts +209 -0
  552. package/src/RefSubject/RefString.test.ts +61 -0
  553. package/src/RefSubject/RefString.ts +256 -0
  554. package/src/RefSubject/RefStruct.test.ts +60 -0
  555. package/src/RefSubject/RefStruct.ts +253 -0
  556. package/src/RefSubject/RefSubject.ts +2646 -0
  557. package/src/RefSubject/RefTrie.ts +356 -0
  558. package/src/RefSubject/RefTuple.test.ts +60 -0
  559. package/src/RefSubject/RefTuple.ts +231 -0
  560. package/src/RefSubject/index.ts +21 -0
  561. package/src/RefSubject.additive-parity.test.ts +101 -0
  562. package/src/RefSubject.test.ts +65 -0
  563. package/src/RefSubject.ts +1 -2488
  564. package/src/Sink/Sink.ts +159 -0
  565. package/src/Sink/combinators.ts +1115 -0
  566. package/src/Sink/index.ts +2 -0
  567. package/src/Sink.combinators.test.ts +88 -0
  568. package/src/Sink.reduce-collect-head-last.test.ts +107 -0
  569. package/src/Sink.ts +1 -1044
  570. package/src/Subject/Subject.ts +441 -0
  571. package/src/Subject/index.ts +1 -0
  572. package/src/Subject.test.ts +47 -0
  573. package/src/Subject.ts +1 -330
  574. package/src/Versioned/Versioned.ts +597 -0
  575. package/src/Versioned/index.ts +1 -0
  576. package/src/Versioned.filterMap.test.ts +91 -0
  577. package/src/Versioned.test.ts +23 -0
  578. package/src/Versioned.ts +1 -357
  579. package/src/index.ts +7 -130
  580. package/AsyncData/package.json +0 -6
  581. package/Emitter/package.json +0 -6
  582. package/Form/package.json +0 -6
  583. package/FormEntry/package.json +0 -6
  584. package/Fx/package.json +0 -6
  585. package/Idle/package.json +0 -6
  586. package/LICENSE +0 -21
  587. package/Match/package.json +0 -6
  588. package/Pull/package.json +0 -6
  589. package/Push/package.json +0 -6
  590. package/RefArray/package.json +0 -6
  591. package/RefChunk/package.json +0 -6
  592. package/RefHashMap/package.json +0 -6
  593. package/RefHashSet/package.json +0 -6
  594. package/RefSubject/package.json +0 -6
  595. package/Sink/package.json +0 -6
  596. package/Stream/package.json +0 -6
  597. package/Subject/package.json +0 -6
  598. package/TypeId/package.json +0 -6
  599. package/Typeclass/package.json +0 -6
  600. package/Versioned/package.json +0 -6
  601. package/dist/cjs/AsyncData.js +0 -188
  602. package/dist/cjs/AsyncData.js.map +0 -1
  603. package/dist/cjs/Emitter.js +0 -44
  604. package/dist/cjs/Emitter.js.map +0 -1
  605. package/dist/cjs/Form.js +0 -178
  606. package/dist/cjs/Form.js.map +0 -1
  607. package/dist/cjs/FormEntry.js +0 -110
  608. package/dist/cjs/FormEntry.js.map +0 -1
  609. package/dist/cjs/Fx.js +0 -998
  610. package/dist/cjs/Fx.js.map +0 -1
  611. package/dist/cjs/Idle.js +0 -190
  612. package/dist/cjs/Idle.js.map +0 -1
  613. package/dist/cjs/Match.js +0 -191
  614. package/dist/cjs/Match.js.map +0 -1
  615. package/dist/cjs/Pull.js +0 -52
  616. package/dist/cjs/Pull.js.map +0 -1
  617. package/dist/cjs/Push.js +0 -168
  618. package/dist/cjs/Push.js.map +0 -1
  619. package/dist/cjs/RefArray.js +0 -253
  620. package/dist/cjs/RefArray.js.map +0 -1
  621. package/dist/cjs/RefChunk.js +0 -212
  622. package/dist/cjs/RefChunk.js.map +0 -1
  623. package/dist/cjs/RefHashMap.js +0 -198
  624. package/dist/cjs/RefHashMap.js.map +0 -1
  625. package/dist/cjs/RefHashSet.js +0 -99
  626. package/dist/cjs/RefHashSet.js.map +0 -1
  627. package/dist/cjs/RefSubject.js +0 -1115
  628. package/dist/cjs/RefSubject.js.map +0 -1
  629. package/dist/cjs/Sink.js +0 -662
  630. package/dist/cjs/Sink.js.map +0 -1
  631. package/dist/cjs/Stream.js +0 -87
  632. package/dist/cjs/Stream.js.map +0 -1
  633. package/dist/cjs/Subject.js +0 -205
  634. package/dist/cjs/Subject.js.map +0 -1
  635. package/dist/cjs/TypeId.js +0 -32
  636. package/dist/cjs/TypeId.js.map +0 -1
  637. package/dist/cjs/Typeclass.js +0 -380
  638. package/dist/cjs/Typeclass.js.map +0 -1
  639. package/dist/cjs/Versioned.js +0 -172
  640. package/dist/cjs/Versioned.js.map +0 -1
  641. package/dist/cjs/index.js +0 -89
  642. package/dist/cjs/index.js.map +0 -1
  643. package/dist/cjs/internal/DeferredRef.js +0 -67
  644. package/dist/cjs/internal/DeferredRef.js.map +0 -1
  645. package/dist/cjs/internal/UnionToTuple.js +0 -6
  646. package/dist/cjs/internal/UnionToTuple.js.map +0 -1
  647. package/dist/cjs/internal/bounds.js +0 -26
  648. package/dist/cjs/internal/bounds.js.map +0 -1
  649. package/dist/cjs/internal/core.js +0 -1783
  650. package/dist/cjs/internal/core.js.map +0 -1
  651. package/dist/cjs/internal/diff.js +0 -122
  652. package/dist/cjs/internal/diff.js.map +0 -1
  653. package/dist/cjs/internal/effect-loop-operator.js +0 -288
  654. package/dist/cjs/internal/effect-loop-operator.js.map +0 -1
  655. package/dist/cjs/internal/effect-operator.js +0 -156
  656. package/dist/cjs/internal/effect-operator.js.map +0 -1
  657. package/dist/cjs/internal/effect-producer.js +0 -74
  658. package/dist/cjs/internal/effect-producer.js.map +0 -1
  659. package/dist/cjs/internal/helpers.js +0 -317
  660. package/dist/cjs/internal/helpers.js.map +0 -1
  661. package/dist/cjs/internal/keyed.js +0 -168
  662. package/dist/cjs/internal/keyed.js.map +0 -1
  663. package/dist/cjs/internal/loop-operator.js +0 -213
  664. package/dist/cjs/internal/loop-operator.js.map +0 -1
  665. package/dist/cjs/internal/operator.js +0 -79
  666. package/dist/cjs/internal/operator.js.map +0 -1
  667. package/dist/cjs/internal/protos.js +0 -48
  668. package/dist/cjs/internal/protos.js.map +0 -1
  669. package/dist/cjs/internal/provide.js +0 -100
  670. package/dist/cjs/internal/provide.js.map +0 -1
  671. package/dist/cjs/internal/requestIdleCallback.js +0 -22
  672. package/dist/cjs/internal/requestIdleCallback.js.map +0 -1
  673. package/dist/cjs/internal/share.js +0 -74
  674. package/dist/cjs/internal/share.js.map +0 -1
  675. package/dist/cjs/internal/strategies.js +0 -34
  676. package/dist/cjs/internal/strategies.js.map +0 -1
  677. package/dist/cjs/internal/sync-operator.js +0 -120
  678. package/dist/cjs/internal/sync-operator.js.map +0 -1
  679. package/dist/cjs/internal/sync-producer.js +0 -118
  680. package/dist/cjs/internal/sync-producer.js.map +0 -1
  681. package/dist/cjs/internal/withKey.js +0 -63
  682. package/dist/cjs/internal/withKey.js.map +0 -1
  683. package/dist/dts/AsyncData.d.ts +0 -179
  684. package/dist/dts/AsyncData.d.ts.map +0 -1
  685. package/dist/dts/Emitter.d.ts +0 -24
  686. package/dist/dts/Emitter.d.ts.map +0 -1
  687. package/dist/dts/Form.d.ts +0 -145
  688. package/dist/dts/Form.d.ts.map +0 -1
  689. package/dist/dts/FormEntry.d.ts +0 -65
  690. package/dist/dts/FormEntry.d.ts.map +0 -1
  691. package/dist/dts/Fx.d.ts +0 -1678
  692. package/dist/dts/Fx.d.ts.map +0 -1
  693. package/dist/dts/Idle.d.ts +0 -84
  694. package/dist/dts/Idle.d.ts.map +0 -1
  695. package/dist/dts/Match.d.ts +0 -60
  696. package/dist/dts/Match.d.ts.map +0 -1
  697. package/dist/dts/Pull.d.ts +0 -37
  698. package/dist/dts/Pull.d.ts.map +0 -1
  699. package/dist/dts/Push.d.ts +0 -176
  700. package/dist/dts/Push.d.ts.map +0 -1
  701. package/dist/dts/RefArray.d.ts +0 -278
  702. package/dist/dts/RefArray.d.ts.map +0 -1
  703. package/dist/dts/RefChunk.d.ts +0 -230
  704. package/dist/dts/RefChunk.d.ts.map +0 -1
  705. package/dist/dts/RefHashMap.d.ts +0 -189
  706. package/dist/dts/RefHashMap.d.ts.map +0 -1
  707. package/dist/dts/RefHashSet.d.ts +0 -100
  708. package/dist/dts/RefHashSet.d.ts.map +0 -1
  709. package/dist/dts/RefSubject.d.ts +0 -601
  710. package/dist/dts/RefSubject.d.ts.map +0 -1
  711. package/dist/dts/Sink.d.ts +0 -252
  712. package/dist/dts/Sink.d.ts.map +0 -1
  713. package/dist/dts/Stream.d.ts +0 -66
  714. package/dist/dts/Stream.d.ts.map +0 -1
  715. package/dist/dts/Subject.d.ts +0 -61
  716. package/dist/dts/Subject.d.ts.map +0 -1
  717. package/dist/dts/TypeId.d.ts +0 -51
  718. package/dist/dts/TypeId.d.ts.map +0 -1
  719. package/dist/dts/Typeclass.d.ts +0 -284
  720. package/dist/dts/Typeclass.d.ts.map +0 -1
  721. package/dist/dts/Versioned.d.ts +0 -117
  722. package/dist/dts/Versioned.d.ts.map +0 -1
  723. package/dist/dts/index.d.ts +0 -111
  724. package/dist/dts/index.d.ts.map +0 -1
  725. package/dist/dts/internal/DeferredRef.d.ts +0 -22
  726. package/dist/dts/internal/DeferredRef.d.ts.map +0 -1
  727. package/dist/dts/internal/UnionToTuple.d.ts.map +0 -1
  728. package/dist/dts/internal/bounds.d.ts +0 -9
  729. package/dist/dts/internal/bounds.d.ts.map +0 -1
  730. package/dist/dts/internal/core.d.ts +0 -237
  731. package/dist/dts/internal/core.d.ts.map +0 -1
  732. package/dist/dts/internal/diff.d.ts +0 -42
  733. package/dist/dts/internal/diff.d.ts.map +0 -1
  734. package/dist/dts/internal/effect-loop-operator.d.ts +0 -34
  735. package/dist/dts/internal/effect-loop-operator.d.ts.map +0 -1
  736. package/dist/dts/internal/effect-operator.d.ts +0 -40
  737. package/dist/dts/internal/effect-operator.d.ts.map +0 -1
  738. package/dist/dts/internal/effect-producer.d.ts +0 -25
  739. package/dist/dts/internal/effect-producer.d.ts.map +0 -1
  740. package/dist/dts/internal/helpers.d.ts +0 -60
  741. package/dist/dts/internal/helpers.d.ts.map +0 -1
  742. package/dist/dts/internal/keyed.d.ts +0 -4
  743. package/dist/dts/internal/keyed.d.ts.map +0 -1
  744. package/dist/dts/internal/loop-operator.d.ts +0 -40
  745. package/dist/dts/internal/loop-operator.d.ts.map +0 -1
  746. package/dist/dts/internal/operator.d.ts +0 -16
  747. package/dist/dts/internal/operator.d.ts.map +0 -1
  748. package/dist/dts/internal/protos.d.ts +0 -23
  749. package/dist/dts/internal/protos.d.ts.map +0 -1
  750. package/dist/dts/internal/provide.d.ts +0 -46
  751. package/dist/dts/internal/provide.d.ts.map +0 -1
  752. package/dist/dts/internal/requestIdleCallback.d.ts +0 -3
  753. package/dist/dts/internal/requestIdleCallback.d.ts.map +0 -1
  754. package/dist/dts/internal/share.d.ts +0 -33
  755. package/dist/dts/internal/share.d.ts.map +0 -1
  756. package/dist/dts/internal/strategies.d.ts +0 -9
  757. package/dist/dts/internal/strategies.d.ts.map +0 -1
  758. package/dist/dts/internal/sync-operator.d.ts +0 -32
  759. package/dist/dts/internal/sync-operator.d.ts.map +0 -1
  760. package/dist/dts/internal/sync-producer.d.ts +0 -36
  761. package/dist/dts/internal/sync-producer.d.ts.map +0 -1
  762. package/dist/dts/internal/withKey.d.ts +0 -4
  763. package/dist/dts/internal/withKey.d.ts.map +0 -1
  764. package/dist/esm/AsyncData.js +0 -156
  765. package/dist/esm/AsyncData.js.map +0 -1
  766. package/dist/esm/Emitter.js +0 -33
  767. package/dist/esm/Emitter.js.map +0 -1
  768. package/dist/esm/Form.js +0 -163
  769. package/dist/esm/Form.js.map +0 -1
  770. package/dist/esm/FormEntry.js +0 -100
  771. package/dist/esm/FormEntry.js.map +0 -1
  772. package/dist/esm/Fx.js +0 -984
  773. package/dist/esm/Fx.js.map +0 -1
  774. package/dist/esm/Idle.js +0 -178
  775. package/dist/esm/Idle.js.map +0 -1
  776. package/dist/esm/Match.js +0 -185
  777. package/dist/esm/Match.js.map +0 -1
  778. package/dist/esm/Pull.js +0 -41
  779. package/dist/esm/Pull.js.map +0 -1
  780. package/dist/esm/Push.js +0 -159
  781. package/dist/esm/Push.js.map +0 -1
  782. package/dist/esm/RefArray.js +0 -234
  783. package/dist/esm/RefArray.js.map +0 -1
  784. package/dist/esm/RefChunk.js +0 -196
  785. package/dist/esm/RefChunk.js.map +0 -1
  786. package/dist/esm/RefHashMap.js +0 -176
  787. package/dist/esm/RefHashMap.js.map +0 -1
  788. package/dist/esm/RefHashSet.js +0 -86
  789. package/dist/esm/RefHashSet.js.map +0 -1
  790. package/dist/esm/RefSubject.js +0 -1076
  791. package/dist/esm/RefSubject.js.map +0 -1
  792. package/dist/esm/Sink.js +0 -673
  793. package/dist/esm/Sink.js.map +0 -1
  794. package/dist/esm/Stream.js +0 -76
  795. package/dist/esm/Stream.js.map +0 -1
  796. package/dist/esm/Subject.js +0 -198
  797. package/dist/esm/Subject.js.map +0 -1
  798. package/dist/esm/TypeId.js +0 -26
  799. package/dist/esm/TypeId.js.map +0 -1
  800. package/dist/esm/Typeclass.js +0 -375
  801. package/dist/esm/Typeclass.js.map +0 -1
  802. package/dist/esm/Versioned.js +0 -149
  803. package/dist/esm/Versioned.js.map +0 -1
  804. package/dist/esm/index.js +0 -111
  805. package/dist/esm/index.js.map +0 -1
  806. package/dist/esm/internal/DeferredRef.js +0 -57
  807. package/dist/esm/internal/DeferredRef.js.map +0 -1
  808. package/dist/esm/internal/UnionToTuple.js +0 -2
  809. package/dist/esm/internal/UnionToTuple.js.map +0 -1
  810. package/dist/esm/internal/bounds.js +0 -13
  811. package/dist/esm/internal/bounds.js.map +0 -1
  812. package/dist/esm/internal/core.js +0 -1647
  813. package/dist/esm/internal/core.js.map +0 -1
  814. package/dist/esm/internal/diff.js +0 -92
  815. package/dist/esm/internal/diff.js.map +0 -1
  816. package/dist/esm/internal/effect-loop-operator.js +0 -269
  817. package/dist/esm/internal/effect-loop-operator.js.map +0 -1
  818. package/dist/esm/internal/effect-operator.js +0 -134
  819. package/dist/esm/internal/effect-operator.js.map +0 -1
  820. package/dist/esm/internal/effect-producer.js +0 -47
  821. package/dist/esm/internal/effect-producer.js.map +0 -1
  822. package/dist/esm/internal/helpers.js +0 -299
  823. package/dist/esm/internal/helpers.js.map +0 -1
  824. package/dist/esm/internal/keyed.js +0 -153
  825. package/dist/esm/internal/keyed.js.map +0 -1
  826. package/dist/esm/internal/loop-operator.js +0 -186
  827. package/dist/esm/internal/loop-operator.js.map +0 -1
  828. package/dist/esm/internal/operator.js +0 -68
  829. package/dist/esm/internal/operator.js.map +0 -1
  830. package/dist/esm/internal/protos.js +0 -39
  831. package/dist/esm/internal/protos.js.map +0 -1
  832. package/dist/esm/internal/provide.js +0 -72
  833. package/dist/esm/internal/provide.js.map +0 -1
  834. package/dist/esm/internal/requestIdleCallback.js +0 -16
  835. package/dist/esm/internal/requestIdleCallback.js.map +0 -1
  836. package/dist/esm/internal/share.js +0 -62
  837. package/dist/esm/internal/share.js.map +0 -1
  838. package/dist/esm/internal/strategies.js +0 -8
  839. package/dist/esm/internal/strategies.js.map +0 -1
  840. package/dist/esm/internal/sync-operator.js +0 -95
  841. package/dist/esm/internal/sync-operator.js.map +0 -1
  842. package/dist/esm/internal/sync-producer.js +0 -90
  843. package/dist/esm/internal/sync-producer.js.map +0 -1
  844. package/dist/esm/internal/withKey.js +0 -56
  845. package/dist/esm/internal/withKey.js.map +0 -1
  846. package/dist/esm/package.json +0 -4
  847. package/src/AsyncData.ts +0 -453
  848. package/src/Emitter.ts +0 -59
  849. package/src/Form.ts +0 -489
  850. package/src/FormEntry.ts +0 -214
  851. package/src/Idle.ts +0 -294
  852. package/src/Match.ts +0 -314
  853. package/src/Pull.ts +0 -95
  854. package/src/RefArray.ts +0 -514
  855. package/src/RefChunk.ts +0 -407
  856. package/src/RefHashMap.ts +0 -335
  857. package/src/RefHashSet.ts +0 -179
  858. package/src/Stream.ts +0 -140
  859. package/src/TypeId.ts +0 -59
  860. package/src/Typeclass.ts +0 -459
  861. package/src/internal/DeferredRef.ts +0 -72
  862. package/src/internal/UnionToTuple.ts +0 -11
  863. package/src/internal/bounds.ts +0 -21
  864. package/src/internal/core.ts +0 -3091
  865. package/src/internal/diff.ts +0 -171
  866. package/src/internal/effect-loop-operator.ts +0 -466
  867. package/src/internal/effect-operator.ts +0 -317
  868. package/src/internal/effect-producer.ts +0 -125
  869. package/src/internal/helpers.ts +0 -538
  870. package/src/internal/keyed.ts +0 -235
  871. package/src/internal/loop-operator.ts +0 -266
  872. package/src/internal/operator.ts +0 -87
  873. package/src/internal/protos.ts +0 -57
  874. package/src/internal/provide.ts +0 -151
  875. package/src/internal/requestIdleCallback.ts +0 -19
  876. package/src/internal/share.ts +0 -97
  877. package/src/internal/strategies.ts +0 -15
  878. package/src/internal/sync-operator.ts +0 -166
  879. package/src/internal/sync-producer.ts +0 -148
  880. package/src/internal/withKey.ts +0 -82
  881. /package/dist/{dts → Fx}/internal/UnionToTuple.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"takeUntil.d.ts","sourceRoot":"","sources":["../../../src/Fx/combinators/takeUntil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEnC;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,EAAE;IACtB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CActE,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE;IAC5B,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EACR,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,GAClD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACd,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,GAClD,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;CAmB1B,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,EAAE;IACtB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CAKvE,CAAC"}
@@ -0,0 +1,45 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { dual } from "effect/Function";
3
+ import * as combinators from "../../Sink/combinators.js";
4
+ import { make as makeSink } from "../../Sink/Sink.js";
5
+ import { make as makeFx } from "../constructors/make.js";
6
+ /**
7
+ * Takes elements from an Fx until a predicate returns true.
8
+ * The element that satisfies the predicate is not included in the output.
9
+ *
10
+ * @param predicate - The predicate function.
11
+ * @returns An `Fx` that completes when the predicate matches.
12
+ * @since 1.0.0
13
+ * @category combinators
14
+ */
15
+ export const takeUntil = dual(2, (fx, predicate) => {
16
+ return makeFx((sink) => combinators.withEarlyExit(sink, (sink) => fx.run(makeSink(sink.onFailure, (a) => {
17
+ if (predicate(a)) {
18
+ return sink.earlyExit;
19
+ }
20
+ return sink.onSuccess(a);
21
+ }))));
22
+ });
23
+ /**
24
+ * Takes elements from an Fx until an effectful predicate returns true.
25
+ * The element that satisfies the predicate is not included in the output.
26
+ *
27
+ * @param predicate - Effectful predicate function.
28
+ * @returns An `Fx` that completes when the predicate matches.
29
+ * @since 1.0.0
30
+ * @category combinators
31
+ */
32
+ export const takeUntilEffect = dual(2, (fx, predicate) => makeFx((sink) => combinators.withEarlyExit(sink, (sink) => fx.run(makeSink(sink.onFailure, (a) => Effect.matchCauseEffect(predicate(a), {
33
+ onFailure: sink.onFailure,
34
+ onSuccess: (matches) => (matches ? sink.earlyExit : sink.onSuccess(a)),
35
+ }))))));
36
+ /**
37
+ * Drops elements from an Fx after a predicate returns true.
38
+ * The element that satisfies the predicate is included in the output.
39
+ *
40
+ * @param predicate - The predicate function.
41
+ * @returns An `Fx` that stops emitting when the predicate matches.
42
+ * @since 1.0.0
43
+ * @category combinators
44
+ */
45
+ export const dropAfter = dual(2, (fx, predicate) => makeFx((sink) => combinators.dropAfter(sink, predicate, (sink) => fx.run(sink))));
@@ -0,0 +1,29 @@
1
+ import * as Effect from "effect/Effect";
2
+ import type { Fx } from "../Fx.js";
3
+ /**
4
+ * Takes elements from an Fx while a predicate returns true.
5
+ * Stops at the first element for which the predicate returns false; that element is not included.
6
+ *
7
+ * @param predicate - The predicate function.
8
+ * @returns An `Fx` that emits while the predicate holds.
9
+ * @since 1.0.0
10
+ * @category combinators
11
+ */
12
+ export declare const takeWhile: {
13
+ <A>(predicate: (a: A) => boolean): <E, R>(fx: Fx<A, E, R>) => Fx<A, E, R>;
14
+ <A, E, R>(fx: Fx<A, E, R>, predicate: (a: A) => boolean): Fx<A, E, R>;
15
+ };
16
+ /**
17
+ * Takes elements from an Fx while an effectful predicate returns true.
18
+ * Stops at the first element for which the predicate effect succeeds with false; that element is not included.
19
+ *
20
+ * @param predicate - Effectful predicate function.
21
+ * @returns An `Fx` that emits while the predicate holds.
22
+ * @since 1.0.0
23
+ * @category combinators
24
+ */
25
+ export declare const takeWhileEffect: {
26
+ <A, E2, R2>(predicate: (a: A) => Effect.Effect<boolean, E2, R2>): <E, R>(fx: Fx<A, E, R>) => Fx<A, E | E2, R | R2>;
27
+ <A, E, R, E2, R2>(fx: Fx<A, E, R>, predicate: (a: A) => Effect.Effect<boolean, E2, R2>): Fx<A, E | E2, R | R2>;
28
+ };
29
+ //# sourceMappingURL=takeWhile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"takeWhile.d.ts","sourceRoot":"","sources":["../../../src/Fx/combinators/takeWhile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,EAAE;IACtB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CAKvE,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE;IAC5B,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EACR,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,GAClD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACd,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,GAClD,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;CAO1B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { dual } from "effect/Function";
3
+ import { takeUntil, takeUntilEffect } from "./takeUntil.js";
4
+ /**
5
+ * Takes elements from an Fx while a predicate returns true.
6
+ * Stops at the first element for which the predicate returns false; that element is not included.
7
+ *
8
+ * @param predicate - The predicate function.
9
+ * @returns An `Fx` that emits while the predicate holds.
10
+ * @since 1.0.0
11
+ * @category combinators
12
+ */
13
+ export const takeWhile = dual(2, (fx, predicate) => takeUntil(fx, (a) => !predicate(a)));
14
+ /**
15
+ * Takes elements from an Fx while an effectful predicate returns true.
16
+ * Stops at the first element for which the predicate effect succeeds with false; that element is not included.
17
+ *
18
+ * @param predicate - Effectful predicate function.
19
+ * @returns An `Fx` that emits while the predicate holds.
20
+ * @since 1.0.0
21
+ * @category combinators
22
+ */
23
+ export const takeWhileEffect = dual(2, (fx, predicate) => takeUntilEffect(fx, (a) => Effect.map(predicate(a), (b) => !b)));
@@ -0,0 +1,15 @@
1
+ import * as Effect from "effect/Effect";
2
+ import type { Fx } from "../Fx.js";
3
+ /**
4
+ * Performs an effect for each element of the Fx, without changing the elements.
5
+ *
6
+ * @param f - An effectful function to apply to each element.
7
+ * @returns An `Fx` that emits the original elements.
8
+ * @since 1.0.0
9
+ * @category combinators
10
+ */
11
+ export declare const tap: {
12
+ <A, E2 = never, R2 = never>(f: (a: A) => void | Effect.Effect<unknown, E2, R2>): <E, R>(self: Fx<A, E | E2, R>) => Fx<A, E | E2, R | R2>;
13
+ <A, E, R, E2 = never, R2 = never>(self: Fx<A, E | E2, R>, f: (a: A) => void | Effect.Effect<unknown, E2, R2>): Fx<A, E | E2, R | R2>;
14
+ };
15
+ //# sourceMappingURL=tapEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tapEffect.d.ts","sourceRoot":"","sources":["../../../src/Fx/combinators/tapEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEnC;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,EACxB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,GACjD,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IAE3D,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAK,EAC9B,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EACtB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,GACjD,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;CAgB1B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { dual } from "effect/Function";
3
+ import * as sinkCore from "../../Sink/combinators.js";
4
+ import { make } from "../constructors/make.js";
5
+ /**
6
+ * Performs an effect for each element of the Fx, without changing the elements.
7
+ *
8
+ * @param f - An effectful function to apply to each element.
9
+ * @returns An `Fx` that emits the original elements.
10
+ * @since 1.0.0
11
+ * @category combinators
12
+ */
13
+ export const tap = dual(2, (self, f) => make((sink) => self.run(sinkCore.tapEffect(sink, (a) => {
14
+ const x = f(a);
15
+ if (Effect.isEffect(x))
16
+ return x;
17
+ return Effect.void;
18
+ }))));
@@ -0,0 +1,27 @@
1
+ import type { Fx } from "../Fx.js";
2
+ /**
3
+ * Combines multiple Fx streams into a single Fx that emits a tuple of the latest values from each stream.
4
+ * The resulting Fx waits for all input streams to emit at least once before emitting the first tuple.
5
+ * Afterwards, it emits a new tuple whenever any input stream emits a new value.
6
+ *
7
+ * @param fxs - The Fx streams to combine.
8
+ * @returns An `Fx` emitting tuples of values.
9
+ * @since 1.0.0
10
+ * @category combinators
11
+ */
12
+ export declare function tuple<FX extends ReadonlyArray<Fx<any, any, any>>>(...fxs: FX): Fx<{
13
+ readonly [K in keyof FX]: Fx.Success<FX[K]>;
14
+ }, Fx.Error<FX[number]>, Fx.Services<FX[number]>>;
15
+ /**
16
+ * Combines a record of Fx streams into a single Fx that emits a record of the latest values.
17
+ * Similar to `tuple`, but for objects.
18
+ *
19
+ * @param fxs - A record of Fx streams.
20
+ * @returns An `Fx` emitting records of values.
21
+ * @since 1.0.0
22
+ * @category combinators
23
+ */
24
+ export declare function struct<FXS extends Readonly<Record<string, Fx<any, any, any>>>>(fxs: FXS): Fx<{
25
+ readonly [K in keyof FXS]: Fx.Success<FXS[K]>;
26
+ }, Fx.Error<FXS[keyof FXS]>, Fx.Services<FXS[keyof FXS]>>;
27
+ //# sourceMappingURL=tuple.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../src/Fx/combinators/tuple.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,EAAE,SAAS,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAC/D,GAAG,GAAG,EAAE,EAAE,GACT,EAAE,CACH;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAAE,EAC/C,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EACpB,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CACxB,CA+BA;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAC5E,GAAG,EAAE,GAAG,GACP,EAAE,CACH;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,EACjD,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EACxB,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAC5B,CAOA"}
@@ -0,0 +1,46 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { make as makeSink } from "../../Sink/Sink.js";
3
+ import { make } from "../constructors/make.js";
4
+ import { succeed } from "../constructors/succeed.js";
5
+ import { map } from "./map.js";
6
+ /**
7
+ * Combines multiple Fx streams into a single Fx that emits a tuple of the latest values from each stream.
8
+ * The resulting Fx waits for all input streams to emit at least once before emitting the first tuple.
9
+ * Afterwards, it emits a new tuple whenever any input stream emits a new value.
10
+ *
11
+ * @param fxs - The Fx streams to combine.
12
+ * @returns An `Fx` emitting tuples of values.
13
+ * @since 1.0.0
14
+ * @category combinators
15
+ */
16
+ export function tuple(...fxs) {
17
+ if (fxs.length === 0)
18
+ return succeed([]);
19
+ if (fxs.length === 1)
20
+ return fxs[0];
21
+ return make(Effect.fn(function* (sink) {
22
+ const len = fxs.length;
23
+ // oxlint-disable-next-line unicorn/no-new-array
24
+ const result = new Array(len);
25
+ const filled = new Set();
26
+ return yield* Effect.forEach(fxs, (fx, i) => fx.run(makeSink(sink.onFailure, Effect.fn(function* (value) {
27
+ result[i] = value;
28
+ filled.add(i);
29
+ if (filled.size === len) {
30
+ yield* sink.onSuccess(result);
31
+ }
32
+ }))), { concurrency: "unbounded", discard: true });
33
+ }));
34
+ }
35
+ /**
36
+ * Combines a record of Fx streams into a single Fx that emits a record of the latest values.
37
+ * Similar to `tuple`, but for objects.
38
+ *
39
+ * @param fxs - A record of Fx streams.
40
+ * @returns An `Fx` emitting records of values.
41
+ * @since 1.0.0
42
+ * @category combinators
43
+ */
44
+ export function struct(fxs) {
45
+ return map(tuple(...Object.entries(fxs).map(([key, fx]) => map(fx, (value) => [key, value]))), Object.fromEntries);
46
+ }
@@ -0,0 +1,12 @@
1
+ import * as Effect from "effect/Effect";
2
+ import type { Fx } from "../Fx.js";
3
+ /**
4
+ * Unwraps an Effect that produces an Fx into a single Fx.
5
+ *
6
+ * @param effect - An `Effect` that produces an `Fx`.
7
+ * @returns An `Fx` that runs the effect and then the produced Fx.
8
+ * @since 1.0.0
9
+ * @category combinators
10
+ */
11
+ export declare const unwrap: <A, E, R, E2, R2>(effect: Effect.Effect<Fx<A, E, R>, E2, R2>) => Fx<A, E | E2, R | R2>;
12
+ //# sourceMappingURL=unwrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unwrap.d.ts","sourceRoot":"","sources":["../../../src/Fx/combinators/unwrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEnC;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACpC,QAAQ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KACzC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAMpB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { make } from "../constructors/make.js";
3
+ /**
4
+ * Unwraps an Effect that produces an Fx into a single Fx.
5
+ *
6
+ * @param effect - An `Effect` that produces an `Fx`.
7
+ * @returns An `Fx` that runs the effect and then the produced Fx.
8
+ * @since 1.0.0
9
+ * @category combinators
10
+ */
11
+ export const unwrap = (effect) => make((sink) => Effect.matchCauseEffect(effect, {
12
+ onFailure: (cause) => sink.onFailure(cause),
13
+ onSuccess: (fx) => fx.run(sink),
14
+ }));
@@ -0,0 +1,15 @@
1
+ import * as Effect from "effect/Effect";
2
+ import type * as Scope from "effect/Scope";
3
+ import type { Fx } from "../Fx.js";
4
+ /**
5
+ * Unwraps an Effect that produces an Fx into a single Fx, managing the scope of the effect.
6
+ *
7
+ * The scope of the effect is closed when the Fx completes or is interrupted.
8
+ *
9
+ * @param effect - An `Effect` that produces an `Fx`.
10
+ * @returns An `Fx` that runs the effect and then the produced Fx.
11
+ * @since 1.0.0
12
+ * @category combinators
13
+ */
14
+ export declare const unwrapScoped: <A, E, R, E2, R2>(effect: Effect.Effect<Fx<A, E, R>, E2, R2 | Scope.Scope>) => Fx<A, E | E2, Exclude<R | R2, Scope.Scope>>;
15
+ //# sourceMappingURL=unwrapScoped.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unwrapScoped.d.ts","sourceRoot":"","sources":["../../../src/Fx/combinators/unwrapScoped.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEnC;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAC1C,QAAQ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KACvD,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAQ1C,CAAC"}
@@ -0,0 +1,16 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { make } from "../constructors/make.js";
3
+ /**
4
+ * Unwraps an Effect that produces an Fx into a single Fx, managing the scope of the effect.
5
+ *
6
+ * The scope of the effect is closed when the Fx completes or is interrupted.
7
+ *
8
+ * @param effect - An `Effect` that produces an `Fx`.
9
+ * @returns An `Fx` that runs the effect and then the produced Fx.
10
+ * @since 1.0.0
11
+ * @category combinators
12
+ */
13
+ export const unwrapScoped = (effect) => make((sink) => Effect.scoped(Effect.matchCauseEffect(effect, {
14
+ onFailure: (cause) => sink.onFailure(cause),
15
+ onSuccess: (fx) => fx.run(sink),
16
+ })));
@@ -0,0 +1,36 @@
1
+ import type { Scope } from "effect/Scope";
2
+ import type { Fx } from "../Fx.js";
3
+ /**
4
+ * Conditionally runs one of two Fx streams based on the boolean value emitted by the condition stream.
5
+ *
6
+ * @param condition - An `Fx` emitting booleans.
7
+ * @param matchers - An object containing `onTrue` and `onFalse` Fx streams.
8
+ * @returns An `Fx` that switches between `onTrue` and `onFalse` based on the condition.
9
+ * @since 1.0.0
10
+ * @category combinators
11
+ */
12
+ declare const if_: {
13
+ <B, E2, R2, C, E3, R3>(matchers: {
14
+ onTrue: Fx<B, E2, R2>;
15
+ onFalse: Fx<C, E3, R3>;
16
+ }): <E, R>(condition: Fx<boolean, E, R>) => Fx<B | C, E | E2 | E3, R | R2 | R3 | Scope>;
17
+ <E, R, B, E2, R2, C, E3, R3>(condition: Fx<boolean, E, R>, matchers: {
18
+ onTrue: Fx<B, E2, R2>;
19
+ onFalse: Fx<C, E3, R3>;
20
+ }): Fx<B | C, E | E2 | E3, R | R2 | R3 | Scope>;
21
+ };
22
+ export { if_ as if };
23
+ /**
24
+ * Conditionally emits one of two values based on the boolean value emitted by the condition stream.
25
+ *
26
+ * @param condition - An `Fx` emitting booleans.
27
+ * @param matchers - An object containing `onTrue` and `onFalse` values.
28
+ * @returns An `Fx` that emits the matched value.
29
+ * @since 1.0.0
30
+ * @category combinators
31
+ */
32
+ export declare const when: <E, R, B, C>(condition: Fx<boolean, E, R>, matchers: {
33
+ onTrue: B;
34
+ onFalse: C;
35
+ }) => Fx<B | C, E, R | Scope>;
36
+ //# sourceMappingURL=when.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"when.d.ts","sourceRoot":"","sources":["../../../src/Fx/combinators/when.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC;;;;;;;;GAQG;AACH,QAAA,MAAM,GAAG,EAAE;IACT,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;QAC/B,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;KACxB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;IAExF,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACzB,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,EAC5B,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;KACxB,GACA,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;CAehD,CAAC;AAEF,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;AAErB;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,EAC5B,UAAU;IACR,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,CAAC,CAAC;CACZ,KACA,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,CAExB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { dual } from "effect/Function";
2
+ import { succeed } from "../constructors/succeed.js";
3
+ import { switchMap } from "./switchMap.js";
4
+ /**
5
+ * Conditionally runs one of two Fx streams based on the boolean value emitted by the condition stream.
6
+ *
7
+ * @param condition - An `Fx` emitting booleans.
8
+ * @param matchers - An object containing `onTrue` and `onFalse` Fx streams.
9
+ * @returns An `Fx` that switches between `onTrue` and `onFalse` based on the condition.
10
+ * @since 1.0.0
11
+ * @category combinators
12
+ */
13
+ const if_ = dual(2, (condition, matchers) => {
14
+ return switchMap(condition, (pass) => (pass ? matchers.onTrue : matchers.onFalse));
15
+ });
16
+ export { if_ as if };
17
+ /**
18
+ * Conditionally emits one of two values based on the boolean value emitted by the condition stream.
19
+ *
20
+ * @param condition - An `Fx` emitting booleans.
21
+ * @param matchers - An object containing `onTrue` and `onFalse` values.
22
+ * @returns An `Fx` that emits the matched value.
23
+ * @since 1.0.0
24
+ * @category combinators
25
+ */
26
+ export const when = (condition, matchers) => {
27
+ return if_(condition, { onTrue: succeed(matchers.onTrue), onFalse: succeed(matchers.onFalse) });
28
+ };
@@ -0,0 +1,4 @@
1
+ import type { SpanOptionsNoTrace } from "effect/Tracer";
2
+ import type { Fx } from "../Fx.js";
3
+ export declare const withSpan: <A, E, R>(fx: Fx<A, E, R>, name: string, options?: SpanOptionsNoTrace) => Fx<A, E, R>;
4
+ //# sourceMappingURL=withSpan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withSpan.d.ts","sourceRoot":"","sources":["../../../src/Fx/combinators/withSpan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEnC,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC9B,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,MAAM,MAAM,EACZ,UAAU,kBAAkB,KAC3B,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAaZ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { make as makeSink } from "../../Sink/Sink.js";
3
+ import { make } from "../constructors/make.js";
4
+ export const withSpan = (fx, name, options) => {
5
+ return make((sink) => Effect.withSpan(fx.run(makeSink((cause) => Effect.withSpan(sink.onFailure(cause), `onFailure(${name})`, options), (value) => Effect.withSpan(sink.onSuccess(value), `onSuccess(${name})`, options))), `Fx(${name})`, options));
6
+ };
@@ -0,0 +1,75 @@
1
+ import type { Fx } from "../Fx.js";
2
+ /**
3
+ * Zips two Fx streams in strict lockstep: emits a pair `[a, b]` only when both
4
+ * streams have produced their next value. Emits the i-th pair when both have
5
+ * produced at least i values.
6
+ *
7
+ * **Completion:** The zipped stream completes when the **first** of the two
8
+ * streams completes (no further pairs are emitted). The other stream is
9
+ * interrupted.
10
+ *
11
+ * **Errors:** The first failure from either stream fails the zipped stream.
12
+ *
13
+ * @param that - The second Fx stream.
14
+ * @returns An Fx that emits pairs `[A, B]`.
15
+ * @since 1.0.0
16
+ * @category combinators
17
+ */
18
+ export declare const zip: {
19
+ <A2, E2, R2>(that: Fx<A2, E2, R2>): <A, E, R>(self: Fx<A, E, R>) => Fx<readonly [A, A2], E | E2, R | R2>;
20
+ <A, E, R, A2, E2, R2>(self: Fx<A, E, R>, that: Fx<A2, E2, R2>): Fx<readonly [A, A2], E | E2, R | R2>;
21
+ };
22
+ /**
23
+ * Zips two Fx streams in strict lockstep and combines each pair with a function.
24
+ * Emits `f(a, b)` when both streams have produced their next value.
25
+ *
26
+ * **Completion:** Completes when the **first** of the two streams completes.
27
+ * **Errors:** The first failure from either stream fails the result.
28
+ *
29
+ * @param that - The second Fx stream.
30
+ * @param f - Function to combine the pair `(a, b)` into a single value.
31
+ * @returns An Fx that emits combined values.
32
+ * @since 1.0.0
33
+ * @category combinators
34
+ */
35
+ export declare const zipWith: {
36
+ <A, A2, E2, R2, B>(that: Fx<A2, E2, R2>, f: (a: A, b: A2) => B): <E, R>(self: Fx<A, E, R>) => Fx<B, E | E2, R | R2>;
37
+ <A, E, R, A2, E2, R2, B>(self: Fx<A, E, R>, that: Fx<A2, E2, R2>, f: (a: A, b: A2) => B): Fx<B, E | E2, R | R2>;
38
+ };
39
+ /**
40
+ * Zips two Fx streams by latest values: waits for both to emit at least once,
41
+ * then emits `[left, right]` whenever **either** stream emits (using the latest
42
+ * value from the other). No strict pairing; output count is the sum of
43
+ * emissions from both after the first pair.
44
+ *
45
+ * **Completion:** Completes when **both** streams have completed.
46
+ * **Errors:** The first failure from either stream fails the result.
47
+ *
48
+ * @param that - The second Fx stream.
49
+ * @returns An Fx that emits `[AL, AR]` on every update from either stream.
50
+ * @since 1.0.0
51
+ * @category combinators
52
+ */
53
+ export declare const zipLatest: {
54
+ <AR, ER, RR>(that: Fx<AR, ER, RR>): <AL, EL, RL>(self: Fx<AL, EL, RL>) => Fx<readonly [AL, AR], EL | ER, RL | RR>;
55
+ <AL, EL, RL, AR, ER, RR>(self: Fx<AL, EL, RL>, that: Fx<AR, ER, RR>): Fx<readonly [AL, AR], EL | ER, RL | RR>;
56
+ };
57
+ /**
58
+ * Zips two Fx streams by latest values and combines each pair with a function.
59
+ * Waits for both to emit at least once, then emits `f(left, right)` whenever
60
+ * either stream emits.
61
+ *
62
+ * **Completion:** Completes when **both** streams have completed.
63
+ * **Errors:** The first failure from either stream fails the result.
64
+ *
65
+ * @param that - The second Fx stream.
66
+ * @param f - Function to combine the latest `(left, right)` into a single value.
67
+ * @returns An Fx that emits combined values.
68
+ * @since 1.0.0
69
+ * @category combinators
70
+ */
71
+ export declare const zipLatestWith: {
72
+ <AL, AR, ER, RR, B>(that: Fx<AR, ER, RR>, f: (left: AL, right: AR) => B): <EL, RL>(self: Fx<AL, EL, RL>) => Fx<B, EL | ER, RL | RR>;
73
+ <AL, EL, RL, AR, ER, RR, B>(self: Fx<AL, EL, RL>, that: Fx<AR, ER, RR>, f: (left: AL, right: AR) => B): Fx<B, EL | ER, RL | RR>;
74
+ };
75
+ //# sourceMappingURL=zip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../../../src/Fx/combinators/zip.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAInC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EACT,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACnB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAClB,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACjB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACnB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;CA4CzC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACf,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACpB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,GACpB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACrB,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACjB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACpB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,GACpB,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;CAQ1B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,EAAE;IACtB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EACT,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACnB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACrB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACpB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GACnB,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;CAO5C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,EAAE;IAC1B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAChB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACpB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,GAC5B,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7D,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACxB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACpB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACpB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,GAC5B,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;CAQ5B,CAAC"}
@@ -0,0 +1,100 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Exit from "effect/Exit";
3
+ import * as Fiber from "effect/Fiber";
4
+ import { dual } from "effect/Function";
5
+ import * as Option from "effect/Option";
6
+ import * as Queue from "effect/Queue";
7
+ import { make as makeSink } from "../../Sink/Sink.js";
8
+ import { make } from "../constructors/make.js";
9
+ import { map } from "./map.js";
10
+ import { tuple } from "./tuple.js";
11
+ /**
12
+ * Zips two Fx streams in strict lockstep: emits a pair `[a, b]` only when both
13
+ * streams have produced their next value. Emits the i-th pair when both have
14
+ * produced at least i values.
15
+ *
16
+ * **Completion:** The zipped stream completes when the **first** of the two
17
+ * streams completes (no further pairs are emitted). The other stream is
18
+ * interrupted.
19
+ *
20
+ * **Errors:** The first failure from either stream fails the zipped stream.
21
+ *
22
+ * @param that - The second Fx stream.
23
+ * @returns An Fx that emits pairs `[A, B]`.
24
+ * @since 1.0.0
25
+ * @category combinators
26
+ */
27
+ export const zip = dual(2, (self, that) => make((sink) => Effect.gen(function* () {
28
+ const leftQueue = yield* Queue.unbounded();
29
+ const rightQueue = yield* Queue.unbounded();
30
+ const leftSink = makeSink(sink.onFailure, (a) => Queue.offer(leftQueue, Option.some(a)));
31
+ const rightSink = makeSink(sink.onFailure, (b) => Queue.offer(rightQueue, Option.some(b)));
32
+ const runLeft = self
33
+ .run(leftSink)
34
+ .pipe(Effect.ensuring(Queue.offer(leftQueue, Option.none())));
35
+ const runRight = that
36
+ .run(rightSink)
37
+ .pipe(Effect.ensuring(Queue.offer(rightQueue, Option.none())));
38
+ const consumer = Effect.gen(function* () {
39
+ while (true) {
40
+ const exitA = yield* Effect.exit(Queue.take(leftQueue));
41
+ if (Exit.isFailure(exitA))
42
+ return;
43
+ if (Option.isNone(exitA.value))
44
+ return;
45
+ const exitB = yield* Effect.exit(Queue.take(rightQueue));
46
+ if (Exit.isFailure(exitB))
47
+ return;
48
+ if (Option.isNone(exitB.value))
49
+ return;
50
+ yield* sink.onSuccess([exitA.value.value, exitB.value.value]);
51
+ }
52
+ });
53
+ const leftFiber = yield* Effect.forkChild(runLeft);
54
+ const rightFiber = yield* Effect.forkChild(runRight);
55
+ yield* consumer.pipe(Effect.ensuring(Fiber.interrupt(leftFiber)), Effect.ensuring(Fiber.interrupt(rightFiber)));
56
+ })));
57
+ /**
58
+ * Zips two Fx streams in strict lockstep and combines each pair with a function.
59
+ * Emits `f(a, b)` when both streams have produced their next value.
60
+ *
61
+ * **Completion:** Completes when the **first** of the two streams completes.
62
+ * **Errors:** The first failure from either stream fails the result.
63
+ *
64
+ * @param that - The second Fx stream.
65
+ * @param f - Function to combine the pair `(a, b)` into a single value.
66
+ * @returns An Fx that emits combined values.
67
+ * @since 1.0.0
68
+ * @category combinators
69
+ */
70
+ export const zipWith = dual(3, (self, that, f) => map(zip(self, that), (pair) => f(pair[0], pair[1])));
71
+ /**
72
+ * Zips two Fx streams by latest values: waits for both to emit at least once,
73
+ * then emits `[left, right]` whenever **either** stream emits (using the latest
74
+ * value from the other). No strict pairing; output count is the sum of
75
+ * emissions from both after the first pair.
76
+ *
77
+ * **Completion:** Completes when **both** streams have completed.
78
+ * **Errors:** The first failure from either stream fails the result.
79
+ *
80
+ * @param that - The second Fx stream.
81
+ * @returns An Fx that emits `[AL, AR]` on every update from either stream.
82
+ * @since 1.0.0
83
+ * @category combinators
84
+ */
85
+ export const zipLatest = dual(2, (self, that) => tuple(self, that));
86
+ /**
87
+ * Zips two Fx streams by latest values and combines each pair with a function.
88
+ * Waits for both to emit at least once, then emits `f(left, right)` whenever
89
+ * either stream emits.
90
+ *
91
+ * **Completion:** Completes when **both** streams have completed.
92
+ * **Errors:** The first failure from either stream fails the result.
93
+ *
94
+ * @param that - The second Fx stream.
95
+ * @param f - Function to combine the latest `(left, right)` into a single value.
96
+ * @returns An Fx that emits combined values.
97
+ * @since 1.0.0
98
+ * @category combinators
99
+ */
100
+ export const zipLatestWith = dual(3, (self, that, f) => map(zipLatest(self, that), (pair) => f(pair[0], pair[1])));
@@ -0,0 +1,16 @@
1
+ import type * as Duration from "effect/Duration";
2
+ import type { Fx } from "../Fx.js";
3
+ /**
4
+ * Creates an Fx that emits a single value after a specified delay.
5
+ *
6
+ * @param value - The value to emit.
7
+ * @param delay - The duration to wait before emitting.
8
+ * @returns An `Fx` that emits the value after the delay.
9
+ * @since 1.0.0
10
+ * @category constructors
11
+ */
12
+ export declare const at: {
13
+ (delay: Duration.Input): <A>(value: A) => Fx<A>;
14
+ <A>(value: A, delay: Duration.Input): Fx<A>;
15
+ };
16
+ //# sourceMappingURL=at.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"at.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/at.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAGjD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC;;;;;;;;GAQG;AACH,eAAO,MAAM,EAAE,EAAE;IACf,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;CAK7C,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { flatMap, sleep } from "effect/Effect";
2
+ import { dual } from "effect/Function";
3
+ import { make } from "./make.js";
4
+ /**
5
+ * Creates an Fx that emits a single value after a specified delay.
6
+ *
7
+ * @param value - The value to emit.
8
+ * @param delay - The duration to wait before emitting.
9
+ * @returns An `Fx` that emits the value after the delay.
10
+ * @since 1.0.0
11
+ * @category constructors
12
+ */
13
+ export const at = dual(2, (value, delay) => make((sink) => flatMap(sleep(delay), () => sink.onSuccess(value))));
@@ -0,0 +1,11 @@
1
+ import type { Fx } from "../Fx.js";
2
+ /**
3
+ * Creates an Fx that immediately terminates with a defect (unexpected error).
4
+ *
5
+ * @param defect - The defect value.
6
+ * @returns An `Fx` that dies immediately.
7
+ * @since 1.0.0
8
+ * @category constructors
9
+ */
10
+ export declare const die: (defect: unknown) => Fx<never, never, never>;
11
+ //# sourceMappingURL=die.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"die.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/die.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAG5D,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as Cause from "effect/Cause";
2
+ import { flow } from "effect/Function";
3
+ import { failCause } from "./failCause.js";
4
+ /**
5
+ * Creates an Fx that immediately terminates with a defect (unexpected error).
6
+ *
7
+ * @param defect - The defect value.
8
+ * @returns An `Fx` that dies immediately.
9
+ * @since 1.0.0
10
+ * @category constructors
11
+ */
12
+ export const die = /*#__PURE__*/ flow(Cause.die, failCause);