@typed/fx 1.31.0 → 2.0.0-beta.0

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 (818) hide show
  1. package/README.md +344 -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/catch.d.ts +53 -0
  9. package/dist/Fx/combinators/catch.d.ts.map +1 -0
  10. package/dist/Fx/combinators/catch.js +69 -0
  11. package/dist/Fx/combinators/causes.d.ts +12 -0
  12. package/dist/Fx/combinators/causes.d.ts.map +1 -0
  13. package/dist/Fx/combinators/causes.js +16 -0
  14. package/dist/Fx/combinators/compact.d.ts +12 -0
  15. package/dist/Fx/combinators/compact.d.ts.map +1 -0
  16. package/dist/Fx/combinators/compact.js +11 -0
  17. package/dist/Fx/combinators/continueWith.d.ts +51 -0
  18. package/dist/Fx/combinators/continueWith.d.ts.map +1 -0
  19. package/dist/Fx/combinators/continueWith.js +41 -0
  20. package/dist/Fx/combinators/ensuring.d.ts +16 -0
  21. package/dist/Fx/combinators/ensuring.d.ts.map +1 -0
  22. package/dist/Fx/combinators/ensuring.js +13 -0
  23. package/dist/Fx/combinators/exhaustLatestMap.d.ts +15 -0
  24. package/dist/Fx/combinators/exhaustLatestMap.d.ts.map +1 -0
  25. package/dist/Fx/combinators/exhaustLatestMap.js +48 -0
  26. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts +13 -0
  27. package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts.map +1 -0
  28. package/dist/Fx/combinators/exhaustLatestMapEffect.js +14 -0
  29. package/dist/Fx/combinators/exhaustMap.d.ts +11 -0
  30. package/dist/Fx/combinators/exhaustMap.d.ts.map +1 -0
  31. package/dist/Fx/combinators/exhaustMap.js +19 -0
  32. package/dist/Fx/combinators/exhaustMapEffect.d.ts +11 -0
  33. package/dist/Fx/combinators/exhaustMapEffect.d.ts.map +1 -0
  34. package/dist/Fx/combinators/exhaustMapEffect.js +12 -0
  35. package/dist/Fx/combinators/exit.d.ts +12 -0
  36. package/dist/Fx/combinators/exit.d.ts.map +1 -0
  37. package/dist/Fx/combinators/exit.js +11 -0
  38. package/dist/Fx/combinators/filter.d.ts +14 -0
  39. package/dist/Fx/combinators/filter.d.ts.map +1 -0
  40. package/dist/Fx/combinators/filter.js +12 -0
  41. package/dist/Fx/combinators/filterEffect.d.ts +15 -0
  42. package/dist/Fx/combinators/filterEffect.d.ts.map +1 -0
  43. package/dist/Fx/combinators/filterEffect.js +12 -0
  44. package/dist/Fx/combinators/filterMap.d.ts +15 -0
  45. package/dist/Fx/combinators/filterMap.d.ts.map +1 -0
  46. package/dist/Fx/combinators/filterMap.js +12 -0
  47. package/dist/Fx/combinators/filterMapEffect.d.ts +16 -0
  48. package/dist/Fx/combinators/filterMapEffect.d.ts.map +1 -0
  49. package/dist/Fx/combinators/filterMapEffect.js +12 -0
  50. package/dist/Fx/combinators/filterMapLoop.d.ts +17 -0
  51. package/dist/Fx/combinators/filterMapLoop.d.ts.map +1 -0
  52. package/dist/Fx/combinators/filterMapLoop.js +14 -0
  53. package/dist/Fx/combinators/filterMapLoopCause.d.ts +18 -0
  54. package/dist/Fx/combinators/filterMapLoopCause.d.ts.map +1 -0
  55. package/dist/Fx/combinators/filterMapLoopCause.js +14 -0
  56. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts +18 -0
  57. package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts.map +1 -0
  58. package/dist/Fx/combinators/filterMapLoopCauseEffect.js +13 -0
  59. package/dist/Fx/combinators/filterMapLoopEffect.d.ts +17 -0
  60. package/dist/Fx/combinators/filterMapLoopEffect.d.ts.map +1 -0
  61. package/dist/Fx/combinators/filterMapLoopEffect.js +13 -0
  62. package/dist/Fx/combinators/flatMap.d.ts +23 -0
  63. package/dist/Fx/combinators/flatMap.d.ts.map +1 -0
  64. package/dist/Fx/combinators/flatMap.js +21 -0
  65. package/dist/Fx/combinators/flatMapConcurrently.d.ts +12 -0
  66. package/dist/Fx/combinators/flatMapConcurrently.d.ts.map +1 -0
  67. package/dist/Fx/combinators/flatMapConcurrently.js +22 -0
  68. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts +12 -0
  69. package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts.map +1 -0
  70. package/dist/Fx/combinators/flatMapConcurrentlyEffect.js +13 -0
  71. package/dist/Fx/combinators/flatMapEffect.d.ts +24 -0
  72. package/dist/Fx/combinators/flatMapEffect.d.ts.map +1 -0
  73. package/dist/Fx/combinators/flatMapEffect.js +14 -0
  74. package/dist/Fx/combinators/flip.d.ts +11 -0
  75. package/dist/Fx/combinators/flip.d.ts.map +1 -0
  76. package/dist/Fx/combinators/flip.js +11 -0
  77. package/dist/Fx/combinators/gen.d.ts +20 -0
  78. package/dist/Fx/combinators/gen.d.ts.map +1 -0
  79. package/dist/Fx/combinators/gen.js +14 -0
  80. package/dist/Fx/combinators/genScoped.d.ts +20 -0
  81. package/dist/Fx/combinators/genScoped.d.ts.map +1 -0
  82. package/dist/Fx/combinators/genScoped.js +13 -0
  83. package/dist/Fx/combinators/index.d.ts +52 -0
  84. package/dist/Fx/combinators/index.d.ts.map +1 -0
  85. package/dist/Fx/combinators/index.js +51 -0
  86. package/dist/Fx/combinators/keyed.d.ts +44 -0
  87. package/dist/Fx/combinators/keyed.d.ts.map +1 -0
  88. package/dist/Fx/combinators/keyed.js +199 -0
  89. package/dist/Fx/combinators/loop.d.ts +16 -0
  90. package/dist/Fx/combinators/loop.d.ts.map +1 -0
  91. package/dist/Fx/combinators/loop.js +14 -0
  92. package/dist/Fx/combinators/loopCause.d.ts +16 -0
  93. package/dist/Fx/combinators/loopCause.d.ts.map +1 -0
  94. package/dist/Fx/combinators/loopCause.js +13 -0
  95. package/dist/Fx/combinators/loopCauseEffect.d.ts +17 -0
  96. package/dist/Fx/combinators/loopCauseEffect.d.ts.map +1 -0
  97. package/dist/Fx/combinators/loopCauseEffect.js +13 -0
  98. package/dist/Fx/combinators/loopEffect.d.ts +16 -0
  99. package/dist/Fx/combinators/loopEffect.d.ts.map +1 -0
  100. package/dist/Fx/combinators/loopEffect.js +13 -0
  101. package/dist/Fx/combinators/map.d.ts +14 -0
  102. package/dist/Fx/combinators/map.d.ts.map +1 -0
  103. package/dist/Fx/combinators/map.js +12 -0
  104. package/dist/Fx/combinators/mapEffect.d.ts +15 -0
  105. package/dist/Fx/combinators/mapEffect.d.ts.map +1 -0
  106. package/dist/Fx/combinators/mapEffect.js +12 -0
  107. package/dist/Fx/combinators/mergeAll.d.ts +11 -0
  108. package/dist/Fx/combinators/mergeAll.d.ts.map +1 -0
  109. package/dist/Fx/combinators/mergeAll.js +15 -0
  110. package/dist/Fx/combinators/mergeOrdered.d.ts +14 -0
  111. package/dist/Fx/combinators/mergeOrdered.d.ts.map +1 -0
  112. package/dist/Fx/combinators/mergeOrdered.js +89 -0
  113. package/dist/Fx/combinators/onError.d.ts +17 -0
  114. package/dist/Fx/combinators/onError.d.ts.map +1 -0
  115. package/dist/Fx/combinators/onError.js +14 -0
  116. package/dist/Fx/combinators/onExit.d.ts +16 -0
  117. package/dist/Fx/combinators/onExit.d.ts.map +1 -0
  118. package/dist/Fx/combinators/onExit.js +39 -0
  119. package/dist/Fx/combinators/onInterrupt.d.ts +16 -0
  120. package/dist/Fx/combinators/onInterrupt.d.ts.map +1 -0
  121. package/dist/Fx/combinators/onInterrupt.js +38 -0
  122. package/dist/Fx/combinators/provide.d.ts +23 -0
  123. package/dist/Fx/combinators/provide.d.ts.map +1 -0
  124. package/dist/Fx/combinators/provide.js +27 -0
  125. package/dist/Fx/combinators/skip.d.ts +14 -0
  126. package/dist/Fx/combinators/skip.d.ts.map +1 -0
  127. package/dist/Fx/combinators/skip.js +11 -0
  128. package/dist/Fx/combinators/skipRepeats.d.ts +11 -0
  129. package/dist/Fx/combinators/skipRepeats.d.ts.map +1 -0
  130. package/dist/Fx/combinators/skipRepeats.js +12 -0
  131. package/dist/Fx/combinators/skipRepeatsWith.d.ts +12 -0
  132. package/dist/Fx/combinators/skipRepeatsWith.d.ts.map +1 -0
  133. package/dist/Fx/combinators/skipRepeatsWith.js +20 -0
  134. package/dist/Fx/combinators/slice.d.ts +23 -0
  135. package/dist/Fx/combinators/slice.d.ts.map +1 -0
  136. package/dist/Fx/combinators/slice.js +12 -0
  137. package/dist/Fx/combinators/switchMap.d.ts +13 -0
  138. package/dist/Fx/combinators/switchMap.d.ts.map +1 -0
  139. package/dist/Fx/combinators/switchMap.js +33 -0
  140. package/dist/Fx/combinators/switchMapEffect.d.ts +13 -0
  141. package/dist/Fx/combinators/switchMapEffect.d.ts.map +1 -0
  142. package/dist/Fx/combinators/switchMapEffect.js +14 -0
  143. package/dist/Fx/combinators/take.d.ts +14 -0
  144. package/dist/Fx/combinators/take.d.ts.map +1 -0
  145. package/dist/Fx/combinators/take.js +11 -0
  146. package/dist/Fx/combinators/takeUntil.d.ts +28 -0
  147. package/dist/Fx/combinators/takeUntil.d.ts.map +1 -0
  148. package/dist/Fx/combinators/takeUntil.js +31 -0
  149. package/dist/Fx/combinators/tapEffect.d.ts +15 -0
  150. package/dist/Fx/combinators/tapEffect.d.ts.map +1 -0
  151. package/dist/Fx/combinators/tapEffect.js +18 -0
  152. package/dist/Fx/combinators/tuple.d.ts +27 -0
  153. package/dist/Fx/combinators/tuple.d.ts.map +1 -0
  154. package/dist/Fx/combinators/tuple.js +46 -0
  155. package/dist/Fx/combinators/unwrap.d.ts +12 -0
  156. package/dist/Fx/combinators/unwrap.d.ts.map +1 -0
  157. package/dist/Fx/combinators/unwrap.js +14 -0
  158. package/dist/Fx/combinators/unwrapScoped.d.ts +15 -0
  159. package/dist/Fx/combinators/unwrapScoped.d.ts.map +1 -0
  160. package/dist/Fx/combinators/unwrapScoped.js +16 -0
  161. package/dist/Fx/combinators/when.d.ts +36 -0
  162. package/dist/Fx/combinators/when.d.ts.map +1 -0
  163. package/dist/Fx/combinators/when.js +28 -0
  164. package/dist/Fx/combinators/withSpan.d.ts +4 -0
  165. package/dist/Fx/combinators/withSpan.d.ts.map +1 -0
  166. package/dist/Fx/combinators/withSpan.js +6 -0
  167. package/dist/Fx/constructors/at.d.ts +16 -0
  168. package/dist/Fx/constructors/at.d.ts.map +1 -0
  169. package/dist/Fx/constructors/at.js +13 -0
  170. package/dist/Fx/constructors/die.d.ts +11 -0
  171. package/dist/Fx/constructors/die.d.ts.map +1 -0
  172. package/dist/Fx/constructors/die.js +12 -0
  173. package/dist/Fx/constructors/empty.d.ts +8 -0
  174. package/dist/Fx/constructors/empty.d.ts.map +1 -0
  175. package/dist/Fx/constructors/empty.js +8 -0
  176. package/dist/Fx/constructors/fail.d.ts +11 -0
  177. package/dist/Fx/constructors/fail.d.ts.map +1 -0
  178. package/dist/Fx/constructors/fail.js +12 -0
  179. package/dist/Fx/constructors/failCause.d.ts +12 -0
  180. package/dist/Fx/constructors/failCause.d.ts.map +1 -0
  181. package/dist/Fx/constructors/failCause.js +11 -0
  182. package/dist/Fx/constructors/fn.d.ts +47 -0
  183. package/dist/Fx/constructors/fn.d.ts.map +1 -0
  184. package/dist/Fx/constructors/fn.js +23 -0
  185. package/dist/Fx/constructors/fromEffect.d.ts +21 -0
  186. package/dist/Fx/constructors/fromEffect.d.ts.map +1 -0
  187. package/dist/Fx/constructors/fromEffect.js +21 -0
  188. package/dist/Fx/constructors/fromFailures.d.ts +10 -0
  189. package/dist/Fx/constructors/fromFailures.d.ts.map +1 -0
  190. package/dist/Fx/constructors/fromFailures.js +13 -0
  191. package/dist/Fx/constructors/fromIterable.d.ts +12 -0
  192. package/dist/Fx/constructors/fromIterable.d.ts.map +1 -0
  193. package/dist/Fx/constructors/fromIterable.js +12 -0
  194. package/dist/Fx/constructors/fromSchedule.d.ts +13 -0
  195. package/dist/Fx/constructors/fromSchedule.d.ts.map +1 -0
  196. package/dist/Fx/constructors/fromSchedule.js +13 -0
  197. package/dist/Fx/constructors/fromYieldable.d.ts +12 -0
  198. package/dist/Fx/constructors/fromYieldable.d.ts.map +1 -0
  199. package/dist/Fx/constructors/fromYieldable.js +12 -0
  200. package/dist/Fx/constructors/index.d.ts +16 -0
  201. package/dist/Fx/constructors/index.d.ts.map +1 -0
  202. package/dist/Fx/constructors/index.js +15 -0
  203. package/dist/Fx/constructors/interrupt.d.ts +10 -0
  204. package/dist/Fx/constructors/interrupt.d.ts.map +1 -0
  205. package/dist/Fx/constructors/interrupt.js +12 -0
  206. package/dist/Fx/constructors/make.d.ts +40 -0
  207. package/dist/Fx/constructors/make.d.ts.map +1 -0
  208. package/dist/Fx/constructors/make.js +61 -0
  209. package/dist/Fx/constructors/periodic.d.ts +12 -0
  210. package/dist/Fx/constructors/periodic.d.ts.map +1 -0
  211. package/dist/Fx/constructors/periodic.js +12 -0
  212. package/dist/Fx/constructors/succeed.d.ts +32 -0
  213. package/dist/Fx/constructors/succeed.d.ts.map +1 -0
  214. package/dist/Fx/constructors/succeed.js +32 -0
  215. package/dist/Fx/constructors/suspend.d.ts +3 -0
  216. package/dist/Fx/constructors/suspend.d.ts.map +1 -0
  217. package/dist/Fx/constructors/suspend.js +3 -0
  218. package/dist/Fx/index.d.ts +7 -0
  219. package/dist/Fx/index.d.ts.map +1 -0
  220. package/dist/Fx/index.js +6 -0
  221. package/dist/Fx/internal/DeferredRef.d.ts +29 -0
  222. package/dist/Fx/internal/DeferredRef.d.ts.map +1 -0
  223. package/dist/{esm → Fx}/internal/DeferredRef.js +21 -15
  224. package/dist/Fx/internal/UnionToTuple.d.ts.map +1 -0
  225. package/dist/Fx/internal/UnionToTuple.js +1 -0
  226. package/dist/{dts → Fx}/internal/diff.d.ts +3 -1
  227. package/dist/Fx/internal/diff.d.ts.map +1 -0
  228. package/dist/{esm → Fx}/internal/diff.js +37 -23
  229. package/dist/Fx/internal/equivalence.d.ts +4 -0
  230. package/dist/Fx/internal/equivalence.d.ts.map +1 -0
  231. package/dist/Fx/internal/equivalence.js +10 -0
  232. package/dist/Fx/internal/multicast.d.ts +10 -0
  233. package/dist/Fx/internal/multicast.d.ts.map +1 -0
  234. package/dist/Fx/internal/multicast.js +32 -0
  235. package/dist/Fx/internal/ring-buffer.d.ts +14 -0
  236. package/dist/Fx/internal/ring-buffer.d.ts.map +1 -0
  237. package/dist/Fx/internal/ring-buffer.js +52 -0
  238. package/dist/Fx/internal/scope.d.ts +11 -0
  239. package/dist/Fx/internal/scope.d.ts.map +1 -0
  240. package/dist/Fx/internal/scope.js +12 -0
  241. package/dist/Fx/internal/yieldable.d.ts +17 -0
  242. package/dist/Fx/internal/yieldable.d.ts.map +1 -0
  243. package/dist/Fx/internal/yieldable.js +20 -0
  244. package/dist/Fx/run/collect.d.ts +45 -0
  245. package/dist/Fx/run/collect.d.ts.map +1 -0
  246. package/dist/Fx/run/collect.js +51 -0
  247. package/dist/Fx/run/first.d.ts +14 -0
  248. package/dist/Fx/run/first.d.ts.map +1 -0
  249. package/dist/Fx/run/first.js +16 -0
  250. package/dist/Fx/run/fork.d.ts +29 -0
  251. package/dist/Fx/run/fork.d.ts.map +1 -0
  252. package/dist/Fx/run/fork.js +27 -0
  253. package/dist/Fx/run/index.d.ts +6 -0
  254. package/dist/Fx/run/index.d.ts.map +1 -0
  255. package/dist/Fx/run/index.js +5 -0
  256. package/dist/Fx/run/observe.d.ts +53 -0
  257. package/dist/Fx/run/observe.d.ts.map +1 -0
  258. package/dist/Fx/run/observe.js +55 -0
  259. package/dist/Fx/run/runPromise.d.ts +25 -0
  260. package/dist/Fx/run/runPromise.d.ts.map +1 -0
  261. package/dist/Fx/run/runPromise.js +23 -0
  262. package/dist/Fx/stream.d.ts +7 -0
  263. package/dist/Fx/stream.d.ts.map +1 -0
  264. package/dist/Fx/stream.js +7 -0
  265. package/dist/Fx.d.ts +2 -0
  266. package/dist/Fx.d.ts.map +1 -0
  267. package/dist/Fx.js +1 -0
  268. package/dist/Push/Push.d.ts +312 -0
  269. package/dist/Push/Push.d.ts.map +1 -0
  270. package/dist/Push/Push.js +289 -0
  271. package/dist/Push/index.d.ts +2 -0
  272. package/dist/Push/index.d.ts.map +1 -0
  273. package/dist/Push/index.js +1 -0
  274. package/dist/Push.d.ts +2 -0
  275. package/dist/Push.d.ts.map +1 -0
  276. package/dist/Push.js +1 -0
  277. package/dist/{dts → RefSubject}/RefArray.d.ts +68 -18
  278. package/dist/RefSubject/RefArray.d.ts.map +1 -0
  279. package/dist/{esm → RefSubject}/RefArray.js +80 -12
  280. package/dist/RefSubject/RefBigDecimal.d.ts +183 -0
  281. package/dist/RefSubject/RefBigDecimal.d.ts.map +1 -0
  282. package/dist/RefSubject/RefBigDecimal.js +161 -0
  283. package/dist/RefSubject/RefBigInt.d.ts +138 -0
  284. package/dist/RefSubject/RefBigInt.d.ts.map +1 -0
  285. package/dist/RefSubject/RefBigInt.js +126 -0
  286. package/dist/RefSubject/RefBoolean.d.ts +135 -0
  287. package/dist/RefSubject/RefBoolean.d.ts.map +1 -0
  288. package/dist/RefSubject/RefBoolean.js +124 -0
  289. package/dist/RefSubject/RefCause.d.ts +100 -0
  290. package/dist/RefSubject/RefCause.d.ts.map +1 -0
  291. package/dist/RefSubject/RefCause.js +93 -0
  292. package/dist/{dts → RefSubject}/RefChunk.d.ts +157 -71
  293. package/dist/RefSubject/RefChunk.d.ts.map +1 -0
  294. package/dist/{esm → RefSubject}/RefChunk.js +142 -52
  295. package/dist/RefSubject/RefDateTime.d.ts +155 -0
  296. package/dist/RefSubject/RefDateTime.d.ts.map +1 -0
  297. package/dist/RefSubject/RefDateTime.js +101 -0
  298. package/dist/RefSubject/RefDuration.d.ts +126 -0
  299. package/dist/RefSubject/RefDuration.d.ts.map +1 -0
  300. package/dist/RefSubject/RefDuration.js +115 -0
  301. package/dist/RefSubject/RefGraph.d.ts +239 -0
  302. package/dist/RefSubject/RefGraph.d.ts.map +1 -0
  303. package/dist/RefSubject/RefGraph.js +272 -0
  304. package/dist/RefSubject/RefHashMap.d.ts +228 -0
  305. package/dist/RefSubject/RefHashMap.d.ts.map +1 -0
  306. package/dist/RefSubject/RefHashMap.js +212 -0
  307. package/dist/RefSubject/RefHashRing.d.ts +123 -0
  308. package/dist/RefSubject/RefHashRing.d.ts.map +1 -0
  309. package/dist/RefSubject/RefHashRing.js +115 -0
  310. package/dist/RefSubject/RefHashSet.d.ts +179 -0
  311. package/dist/RefSubject/RefHashSet.d.ts.map +1 -0
  312. package/dist/RefSubject/RefHashSet.js +164 -0
  313. package/dist/RefSubject/RefIterable.d.ts +257 -0
  314. package/dist/RefSubject/RefIterable.d.ts.map +1 -0
  315. package/dist/RefSubject/RefIterable.js +237 -0
  316. package/dist/RefSubject/RefOption.d.ts +124 -0
  317. package/dist/RefSubject/RefOption.d.ts.map +1 -0
  318. package/dist/RefSubject/RefOption.js +115 -0
  319. package/dist/RefSubject/RefRecord.d.ts +264 -0
  320. package/dist/RefSubject/RefRecord.d.ts.map +1 -0
  321. package/dist/RefSubject/RefRecord.js +249 -0
  322. package/dist/RefSubject/RefResult.d.ts +121 -0
  323. package/dist/RefSubject/RefResult.d.ts.map +1 -0
  324. package/dist/RefSubject/RefResult.js +107 -0
  325. package/dist/RefSubject/RefString.d.ts +147 -0
  326. package/dist/RefSubject/RefString.d.ts.map +1 -0
  327. package/dist/RefSubject/RefString.js +137 -0
  328. package/dist/RefSubject/RefStruct.d.ts +123 -0
  329. package/dist/RefSubject/RefStruct.d.ts.map +1 -0
  330. package/dist/RefSubject/RefStruct.js +113 -0
  331. package/dist/RefSubject/RefSubject.d.ts +1010 -0
  332. package/dist/RefSubject/RefSubject.d.ts.map +1 -0
  333. package/dist/RefSubject/RefSubject.js +1310 -0
  334. package/dist/RefSubject/RefTrie.d.ts +216 -0
  335. package/dist/RefSubject/RefTrie.d.ts.map +1 -0
  336. package/dist/RefSubject/RefTrie.js +201 -0
  337. package/dist/RefSubject/RefTuple.d.ts +107 -0
  338. package/dist/RefSubject/RefTuple.d.ts.map +1 -0
  339. package/dist/RefSubject/RefTuple.js +94 -0
  340. package/dist/RefSubject/index.d.ts +22 -0
  341. package/dist/RefSubject/index.d.ts.map +1 -0
  342. package/dist/RefSubject/index.js +21 -0
  343. package/dist/RefSubject.d.ts +2 -0
  344. package/dist/RefSubject.d.ts.map +1 -0
  345. package/dist/RefSubject.js +1 -0
  346. package/dist/Sink/Sink.d.ts +94 -0
  347. package/dist/Sink/Sink.d.ts.map +1 -0
  348. package/dist/Sink/Sink.js +34 -0
  349. package/dist/Sink/combinators.d.ts +171 -0
  350. package/dist/Sink/combinators.d.ts.map +1 -0
  351. package/dist/{esm/Sink.js → Sink/combinators.js} +265 -352
  352. package/dist/Sink/index.d.ts +3 -0
  353. package/dist/Sink/index.d.ts.map +1 -0
  354. package/dist/Sink/index.js +2 -0
  355. package/dist/Sink.d.ts +2 -0
  356. package/dist/Sink.d.ts.map +1 -0
  357. package/dist/Sink.js +1 -0
  358. package/dist/Subject/Subject.d.ts +152 -0
  359. package/dist/Subject/Subject.d.ts.map +1 -0
  360. package/dist/Subject/Subject.js +272 -0
  361. package/dist/Subject/index.d.ts +2 -0
  362. package/dist/Subject/index.d.ts.map +1 -0
  363. package/dist/Subject/index.js +1 -0
  364. package/dist/Subject.d.ts +2 -0
  365. package/dist/Subject.d.ts.map +1 -0
  366. package/dist/Subject.js +1 -0
  367. package/dist/Versioned/Versioned.d.ts +176 -0
  368. package/dist/Versioned/Versioned.d.ts.map +1 -0
  369. package/dist/Versioned/Versioned.js +228 -0
  370. package/dist/Versioned/index.d.ts +2 -0
  371. package/dist/Versioned/index.d.ts.map +1 -0
  372. package/dist/Versioned/index.js +1 -0
  373. package/dist/Versioned.d.ts +2 -0
  374. package/dist/Versioned.d.ts.map +1 -0
  375. package/dist/Versioned.js +1 -0
  376. package/dist/index.d.ts +8 -0
  377. package/dist/index.d.ts.map +1 -0
  378. package/dist/index.js +7 -0
  379. package/package.json +19 -191
  380. package/src/Fx/Fx.ts +164 -0
  381. package/src/Fx/TypeId.ts +25 -0
  382. package/src/Fx/combinators/catch.ts +165 -0
  383. package/src/Fx/combinators/causes.ts +23 -0
  384. package/src/Fx/combinators/compact.ts +15 -0
  385. package/src/Fx/combinators/continueWith.ts +78 -0
  386. package/src/Fx/combinators/ensuring.ts +23 -0
  387. package/src/Fx/combinators/exhaustLatestMap.ts +74 -0
  388. package/src/Fx/combinators/exhaustLatestMapEffect.ts +25 -0
  389. package/src/Fx/combinators/exhaustMap.ts +36 -0
  390. package/src/Fx/combinators/exhaustMapEffect.ts +23 -0
  391. package/src/Fx/combinators/exit.ts +15 -0
  392. package/src/Fx/combinators/filter.ts +22 -0
  393. package/src/Fx/combinators/filterEffect.ts +31 -0
  394. package/src/Fx/combinators/filterMap.ts +23 -0
  395. package/src/Fx/combinators/filterMapEffect.ts +32 -0
  396. package/src/Fx/combinators/filterMapLoop.ts +35 -0
  397. package/src/Fx/combinators/filterMapLoopCause.ts +36 -0
  398. package/src/Fx/combinators/filterMapLoopCauseEffect.ts +46 -0
  399. package/src/Fx/combinators/filterMapLoopEffect.ts +36 -0
  400. package/src/Fx/combinators/flatMap.ts +51 -0
  401. package/src/Fx/combinators/flatMapConcurrently.ts +36 -0
  402. package/src/Fx/combinators/flatMapConcurrentlyEffect.ts +26 -0
  403. package/src/Fx/combinators/flatMapEffect.ts +42 -0
  404. package/src/Fx/combinators/flip.ts +14 -0
  405. package/src/Fx/combinators/gen.ts +24 -0
  406. package/src/Fx/combinators/genScoped.ts +24 -0
  407. package/src/Fx/combinators/index.ts +51 -0
  408. package/src/Fx/combinators/keyed.ts +369 -0
  409. package/src/Fx/combinators/loop.ts +27 -0
  410. package/src/Fx/combinators/loopCause.ts +34 -0
  411. package/src/Fx/combinators/loopCauseEffect.ts +36 -0
  412. package/src/Fx/combinators/loopEffect.ts +34 -0
  413. package/src/Fx/combinators/map.ts +22 -0
  414. package/src/Fx/combinators/mapEffect.ts +32 -0
  415. package/src/Fx/combinators/mergeAll.ts +22 -0
  416. package/src/Fx/combinators/mergeOrdered.ts +123 -0
  417. package/src/Fx/combinators/onError.ts +40 -0
  418. package/src/Fx/combinators/onExit.ts +82 -0
  419. package/src/Fx/combinators/onInterrupt.ts +87 -0
  420. package/src/Fx/combinators/provide.ts +62 -0
  421. package/src/Fx/combinators/skip.ts +20 -0
  422. package/src/Fx/combinators/skipRepeats.ts +15 -0
  423. package/src/Fx/combinators/skipRepeatsWith.ts +40 -0
  424. package/src/Fx/combinators/slice.ts +32 -0
  425. package/src/Fx/combinators/switchMap.ts +55 -0
  426. package/src/Fx/combinators/switchMapEffect.ts +25 -0
  427. package/src/Fx/combinators/take.ts +17 -0
  428. package/src/Fx/combinators/takeUntil.ts +50 -0
  429. package/src/Fx/combinators/tapEffect.ts +39 -0
  430. package/src/Fx/combinators/tuple.ts +79 -0
  431. package/src/Fx/combinators/unwrap.ts +21 -0
  432. package/src/Fx/combinators/unwrapScoped.ts +26 -0
  433. package/src/Fx/combinators/when.ts +64 -0
  434. package/src/Fx/combinators/withSpan.ts +24 -0
  435. package/src/Fx/constructors/at.ts +23 -0
  436. package/src/Fx/constructors/die.ts +17 -0
  437. package/src/Fx/constructors/empty.ts +10 -0
  438. package/src/Fx/constructors/fail.ts +14 -0
  439. package/src/Fx/constructors/failCause.ts +14 -0
  440. package/src/Fx/constructors/fn.ts +245 -0
  441. package/src/Fx/constructors/fromEffect.ts +24 -0
  442. package/src/Fx/constructors/fromFailures.ts +19 -0
  443. package/src/Fx/constructors/fromIterable.ts +15 -0
  444. package/src/Fx/constructors/fromSchedule.ts +18 -0
  445. package/src/Fx/constructors/fromYieldable.ts +17 -0
  446. package/src/Fx/constructors/index.ts +15 -0
  447. package/src/Fx/constructors/interrupt.ts +13 -0
  448. package/src/Fx/constructors/make.ts +103 -0
  449. package/src/Fx/constructors/periodic.ts +15 -0
  450. package/src/Fx/constructors/succeed.ts +37 -0
  451. package/src/Fx/constructors/suspend.ts +6 -0
  452. package/src/Fx/index.ts +6 -0
  453. package/src/Fx/internal/DeferredRef.ts +87 -0
  454. package/src/Fx/internal/UnionToTuple.ts +12 -0
  455. package/src/Fx/internal/diff.ts +191 -0
  456. package/src/Fx/internal/equivalence.ts +12 -0
  457. package/src/Fx/internal/multicast.ts +51 -0
  458. package/src/Fx/internal/ring-buffer.ts +60 -0
  459. package/src/Fx/internal/scope.ts +58 -0
  460. package/src/Fx/internal/yieldable.ts +31 -0
  461. package/src/Fx/run/collect.ts +79 -0
  462. package/src/Fx/run/first.ts +20 -0
  463. package/src/Fx/run/fork.ts +40 -0
  464. package/src/Fx/run/index.ts +5 -0
  465. package/src/Fx/run/observe.ts +114 -0
  466. package/src/Fx/run/runPromise.ts +32 -0
  467. package/src/Fx/stream.ts +42 -0
  468. package/src/Fx.catch.test.ts +61 -0
  469. package/src/Fx.fn.test.ts +51 -0
  470. package/src/Fx.lifecycle.test.ts +80 -0
  471. package/src/Fx.test.ts +71 -0
  472. package/src/Fx.ts +1 -2591
  473. package/src/Push/Push.ts +903 -0
  474. package/src/Push/index.ts +1 -0
  475. package/src/Push.test.ts +26 -0
  476. package/src/Push.ts +1 -480
  477. package/src/{RefArray.ts → RefSubject/RefArray.ts} +246 -248
  478. package/src/RefSubject/RefBigDecimal.test.ts +56 -0
  479. package/src/RefSubject/RefBigDecimal.ts +295 -0
  480. package/src/RefSubject/RefBigInt.test.ts +56 -0
  481. package/src/RefSubject/RefBigInt.ts +189 -0
  482. package/src/RefSubject/RefBoolean.test.ts +57 -0
  483. package/src/RefSubject/RefBoolean.ts +185 -0
  484. package/src/RefSubject/RefCause.test.ts +53 -0
  485. package/src/RefSubject/RefCause.ts +146 -0
  486. package/src/RefSubject/RefChunk.ts +510 -0
  487. package/src/RefSubject/RefDateTime.test.ts +43 -0
  488. package/src/RefSubject/RefDateTime.ts +264 -0
  489. package/src/RefSubject/RefDuration.test.ts +49 -0
  490. package/src/RefSubject/RefDuration.ts +188 -0
  491. package/src/RefSubject/RefGraph.ts +650 -0
  492. package/src/RefSubject/RefHashMap.ts +465 -0
  493. package/src/RefSubject/RefHashRing.ts +262 -0
  494. package/src/RefSubject/RefHashSet.ts +308 -0
  495. package/src/RefSubject/RefIterable.ts +445 -0
  496. package/src/RefSubject/RefOption.test.ts +67 -0
  497. package/src/RefSubject/RefOption.ts +193 -0
  498. package/src/RefSubject/RefRecord.ts +612 -0
  499. package/src/RefSubject/RefResult.test.ts +63 -0
  500. package/src/RefSubject/RefResult.ts +209 -0
  501. package/src/RefSubject/RefString.test.ts +61 -0
  502. package/src/RefSubject/RefString.ts +256 -0
  503. package/src/RefSubject/RefStruct.test.ts +60 -0
  504. package/src/RefSubject/RefStruct.ts +253 -0
  505. package/src/RefSubject/RefSubject.ts +2545 -0
  506. package/src/RefSubject/RefTrie.ts +356 -0
  507. package/src/RefSubject/RefTuple.test.ts +60 -0
  508. package/src/RefSubject/RefTuple.ts +231 -0
  509. package/src/RefSubject/index.ts +21 -0
  510. package/src/RefSubject.test.ts +65 -0
  511. package/src/RefSubject.ts +1 -2488
  512. package/src/Sink/Sink.ts +159 -0
  513. package/src/Sink/combinators.ts +993 -0
  514. package/src/Sink/index.ts +2 -0
  515. package/src/Sink.ts +1 -1044
  516. package/src/Subject/Subject.ts +441 -0
  517. package/src/Subject/index.ts +1 -0
  518. package/src/Subject.test.ts +47 -0
  519. package/src/Subject.ts +1 -330
  520. package/src/Versioned/Versioned.ts +521 -0
  521. package/src/Versioned/index.ts +1 -0
  522. package/src/Versioned.test.ts +23 -0
  523. package/src/Versioned.ts +1 -357
  524. package/src/index.ts +7 -130
  525. package/tsconfig.json +6 -0
  526. package/AsyncData/package.json +0 -6
  527. package/Emitter/package.json +0 -6
  528. package/Form/package.json +0 -6
  529. package/FormEntry/package.json +0 -6
  530. package/Fx/package.json +0 -6
  531. package/Idle/package.json +0 -6
  532. package/LICENSE +0 -21
  533. package/Match/package.json +0 -6
  534. package/Pull/package.json +0 -6
  535. package/Push/package.json +0 -6
  536. package/RefArray/package.json +0 -6
  537. package/RefChunk/package.json +0 -6
  538. package/RefHashMap/package.json +0 -6
  539. package/RefHashSet/package.json +0 -6
  540. package/RefSubject/package.json +0 -6
  541. package/Sink/package.json +0 -6
  542. package/Stream/package.json +0 -6
  543. package/Subject/package.json +0 -6
  544. package/TypeId/package.json +0 -6
  545. package/Typeclass/package.json +0 -6
  546. package/Versioned/package.json +0 -6
  547. package/dist/cjs/AsyncData.js +0 -188
  548. package/dist/cjs/AsyncData.js.map +0 -1
  549. package/dist/cjs/Emitter.js +0 -44
  550. package/dist/cjs/Emitter.js.map +0 -1
  551. package/dist/cjs/Form.js +0 -178
  552. package/dist/cjs/Form.js.map +0 -1
  553. package/dist/cjs/FormEntry.js +0 -110
  554. package/dist/cjs/FormEntry.js.map +0 -1
  555. package/dist/cjs/Fx.js +0 -998
  556. package/dist/cjs/Fx.js.map +0 -1
  557. package/dist/cjs/Idle.js +0 -190
  558. package/dist/cjs/Idle.js.map +0 -1
  559. package/dist/cjs/Match.js +0 -191
  560. package/dist/cjs/Match.js.map +0 -1
  561. package/dist/cjs/Pull.js +0 -52
  562. package/dist/cjs/Pull.js.map +0 -1
  563. package/dist/cjs/Push.js +0 -168
  564. package/dist/cjs/Push.js.map +0 -1
  565. package/dist/cjs/RefArray.js +0 -253
  566. package/dist/cjs/RefArray.js.map +0 -1
  567. package/dist/cjs/RefChunk.js +0 -212
  568. package/dist/cjs/RefChunk.js.map +0 -1
  569. package/dist/cjs/RefHashMap.js +0 -198
  570. package/dist/cjs/RefHashMap.js.map +0 -1
  571. package/dist/cjs/RefHashSet.js +0 -99
  572. package/dist/cjs/RefHashSet.js.map +0 -1
  573. package/dist/cjs/RefSubject.js +0 -1115
  574. package/dist/cjs/RefSubject.js.map +0 -1
  575. package/dist/cjs/Sink.js +0 -662
  576. package/dist/cjs/Sink.js.map +0 -1
  577. package/dist/cjs/Stream.js +0 -87
  578. package/dist/cjs/Stream.js.map +0 -1
  579. package/dist/cjs/Subject.js +0 -205
  580. package/dist/cjs/Subject.js.map +0 -1
  581. package/dist/cjs/TypeId.js +0 -32
  582. package/dist/cjs/TypeId.js.map +0 -1
  583. package/dist/cjs/Typeclass.js +0 -380
  584. package/dist/cjs/Typeclass.js.map +0 -1
  585. package/dist/cjs/Versioned.js +0 -172
  586. package/dist/cjs/Versioned.js.map +0 -1
  587. package/dist/cjs/index.js +0 -89
  588. package/dist/cjs/index.js.map +0 -1
  589. package/dist/cjs/internal/DeferredRef.js +0 -67
  590. package/dist/cjs/internal/DeferredRef.js.map +0 -1
  591. package/dist/cjs/internal/UnionToTuple.js +0 -6
  592. package/dist/cjs/internal/UnionToTuple.js.map +0 -1
  593. package/dist/cjs/internal/bounds.js +0 -26
  594. package/dist/cjs/internal/bounds.js.map +0 -1
  595. package/dist/cjs/internal/core.js +0 -1774
  596. package/dist/cjs/internal/core.js.map +0 -1
  597. package/dist/cjs/internal/diff.js +0 -122
  598. package/dist/cjs/internal/diff.js.map +0 -1
  599. package/dist/cjs/internal/effect-loop-operator.js +0 -288
  600. package/dist/cjs/internal/effect-loop-operator.js.map +0 -1
  601. package/dist/cjs/internal/effect-operator.js +0 -156
  602. package/dist/cjs/internal/effect-operator.js.map +0 -1
  603. package/dist/cjs/internal/effect-producer.js +0 -74
  604. package/dist/cjs/internal/effect-producer.js.map +0 -1
  605. package/dist/cjs/internal/helpers.js +0 -317
  606. package/dist/cjs/internal/helpers.js.map +0 -1
  607. package/dist/cjs/internal/keyed.js +0 -168
  608. package/dist/cjs/internal/keyed.js.map +0 -1
  609. package/dist/cjs/internal/loop-operator.js +0 -213
  610. package/dist/cjs/internal/loop-operator.js.map +0 -1
  611. package/dist/cjs/internal/operator.js +0 -79
  612. package/dist/cjs/internal/operator.js.map +0 -1
  613. package/dist/cjs/internal/protos.js +0 -48
  614. package/dist/cjs/internal/protos.js.map +0 -1
  615. package/dist/cjs/internal/provide.js +0 -100
  616. package/dist/cjs/internal/provide.js.map +0 -1
  617. package/dist/cjs/internal/requestIdleCallback.js +0 -22
  618. package/dist/cjs/internal/requestIdleCallback.js.map +0 -1
  619. package/dist/cjs/internal/share.js +0 -74
  620. package/dist/cjs/internal/share.js.map +0 -1
  621. package/dist/cjs/internal/strategies.js +0 -34
  622. package/dist/cjs/internal/strategies.js.map +0 -1
  623. package/dist/cjs/internal/sync-operator.js +0 -120
  624. package/dist/cjs/internal/sync-operator.js.map +0 -1
  625. package/dist/cjs/internal/sync-producer.js +0 -118
  626. package/dist/cjs/internal/sync-producer.js.map +0 -1
  627. package/dist/cjs/internal/withKey.js +0 -63
  628. package/dist/cjs/internal/withKey.js.map +0 -1
  629. package/dist/dts/AsyncData.d.ts +0 -179
  630. package/dist/dts/AsyncData.d.ts.map +0 -1
  631. package/dist/dts/Emitter.d.ts +0 -24
  632. package/dist/dts/Emitter.d.ts.map +0 -1
  633. package/dist/dts/Form.d.ts +0 -145
  634. package/dist/dts/Form.d.ts.map +0 -1
  635. package/dist/dts/FormEntry.d.ts +0 -65
  636. package/dist/dts/FormEntry.d.ts.map +0 -1
  637. package/dist/dts/Fx.d.ts +0 -1678
  638. package/dist/dts/Fx.d.ts.map +0 -1
  639. package/dist/dts/Idle.d.ts +0 -84
  640. package/dist/dts/Idle.d.ts.map +0 -1
  641. package/dist/dts/Match.d.ts +0 -60
  642. package/dist/dts/Match.d.ts.map +0 -1
  643. package/dist/dts/Pull.d.ts +0 -37
  644. package/dist/dts/Pull.d.ts.map +0 -1
  645. package/dist/dts/Push.d.ts +0 -176
  646. package/dist/dts/Push.d.ts.map +0 -1
  647. package/dist/dts/RefArray.d.ts.map +0 -1
  648. package/dist/dts/RefChunk.d.ts.map +0 -1
  649. package/dist/dts/RefHashMap.d.ts +0 -189
  650. package/dist/dts/RefHashMap.d.ts.map +0 -1
  651. package/dist/dts/RefHashSet.d.ts +0 -100
  652. package/dist/dts/RefHashSet.d.ts.map +0 -1
  653. package/dist/dts/RefSubject.d.ts +0 -601
  654. package/dist/dts/RefSubject.d.ts.map +0 -1
  655. package/dist/dts/Sink.d.ts +0 -252
  656. package/dist/dts/Sink.d.ts.map +0 -1
  657. package/dist/dts/Stream.d.ts +0 -66
  658. package/dist/dts/Stream.d.ts.map +0 -1
  659. package/dist/dts/Subject.d.ts +0 -61
  660. package/dist/dts/Subject.d.ts.map +0 -1
  661. package/dist/dts/TypeId.d.ts +0 -51
  662. package/dist/dts/TypeId.d.ts.map +0 -1
  663. package/dist/dts/Typeclass.d.ts +0 -284
  664. package/dist/dts/Typeclass.d.ts.map +0 -1
  665. package/dist/dts/Versioned.d.ts +0 -117
  666. package/dist/dts/Versioned.d.ts.map +0 -1
  667. package/dist/dts/index.d.ts +0 -111
  668. package/dist/dts/index.d.ts.map +0 -1
  669. package/dist/dts/internal/DeferredRef.d.ts +0 -22
  670. package/dist/dts/internal/DeferredRef.d.ts.map +0 -1
  671. package/dist/dts/internal/UnionToTuple.d.ts.map +0 -1
  672. package/dist/dts/internal/bounds.d.ts +0 -9
  673. package/dist/dts/internal/bounds.d.ts.map +0 -1
  674. package/dist/dts/internal/core.d.ts +0 -237
  675. package/dist/dts/internal/core.d.ts.map +0 -1
  676. package/dist/dts/internal/diff.d.ts.map +0 -1
  677. package/dist/dts/internal/effect-loop-operator.d.ts +0 -34
  678. package/dist/dts/internal/effect-loop-operator.d.ts.map +0 -1
  679. package/dist/dts/internal/effect-operator.d.ts +0 -40
  680. package/dist/dts/internal/effect-operator.d.ts.map +0 -1
  681. package/dist/dts/internal/effect-producer.d.ts +0 -25
  682. package/dist/dts/internal/effect-producer.d.ts.map +0 -1
  683. package/dist/dts/internal/helpers.d.ts +0 -60
  684. package/dist/dts/internal/helpers.d.ts.map +0 -1
  685. package/dist/dts/internal/keyed.d.ts +0 -4
  686. package/dist/dts/internal/keyed.d.ts.map +0 -1
  687. package/dist/dts/internal/loop-operator.d.ts +0 -40
  688. package/dist/dts/internal/loop-operator.d.ts.map +0 -1
  689. package/dist/dts/internal/operator.d.ts +0 -16
  690. package/dist/dts/internal/operator.d.ts.map +0 -1
  691. package/dist/dts/internal/protos.d.ts +0 -23
  692. package/dist/dts/internal/protos.d.ts.map +0 -1
  693. package/dist/dts/internal/provide.d.ts +0 -46
  694. package/dist/dts/internal/provide.d.ts.map +0 -1
  695. package/dist/dts/internal/requestIdleCallback.d.ts +0 -3
  696. package/dist/dts/internal/requestIdleCallback.d.ts.map +0 -1
  697. package/dist/dts/internal/share.d.ts +0 -33
  698. package/dist/dts/internal/share.d.ts.map +0 -1
  699. package/dist/dts/internal/strategies.d.ts +0 -9
  700. package/dist/dts/internal/strategies.d.ts.map +0 -1
  701. package/dist/dts/internal/sync-operator.d.ts +0 -32
  702. package/dist/dts/internal/sync-operator.d.ts.map +0 -1
  703. package/dist/dts/internal/sync-producer.d.ts +0 -36
  704. package/dist/dts/internal/sync-producer.d.ts.map +0 -1
  705. package/dist/dts/internal/withKey.d.ts +0 -4
  706. package/dist/dts/internal/withKey.d.ts.map +0 -1
  707. package/dist/esm/AsyncData.js +0 -156
  708. package/dist/esm/AsyncData.js.map +0 -1
  709. package/dist/esm/Emitter.js +0 -33
  710. package/dist/esm/Emitter.js.map +0 -1
  711. package/dist/esm/Form.js +0 -163
  712. package/dist/esm/Form.js.map +0 -1
  713. package/dist/esm/FormEntry.js +0 -100
  714. package/dist/esm/FormEntry.js.map +0 -1
  715. package/dist/esm/Fx.js +0 -984
  716. package/dist/esm/Fx.js.map +0 -1
  717. package/dist/esm/Idle.js +0 -178
  718. package/dist/esm/Idle.js.map +0 -1
  719. package/dist/esm/Match.js +0 -185
  720. package/dist/esm/Match.js.map +0 -1
  721. package/dist/esm/Pull.js +0 -41
  722. package/dist/esm/Pull.js.map +0 -1
  723. package/dist/esm/Push.js +0 -159
  724. package/dist/esm/Push.js.map +0 -1
  725. package/dist/esm/RefArray.js.map +0 -1
  726. package/dist/esm/RefChunk.js.map +0 -1
  727. package/dist/esm/RefHashMap.js +0 -176
  728. package/dist/esm/RefHashMap.js.map +0 -1
  729. package/dist/esm/RefHashSet.js +0 -86
  730. package/dist/esm/RefHashSet.js.map +0 -1
  731. package/dist/esm/RefSubject.js +0 -1076
  732. package/dist/esm/RefSubject.js.map +0 -1
  733. package/dist/esm/Sink.js.map +0 -1
  734. package/dist/esm/Stream.js +0 -76
  735. package/dist/esm/Stream.js.map +0 -1
  736. package/dist/esm/Subject.js +0 -198
  737. package/dist/esm/Subject.js.map +0 -1
  738. package/dist/esm/TypeId.js +0 -26
  739. package/dist/esm/TypeId.js.map +0 -1
  740. package/dist/esm/Typeclass.js +0 -375
  741. package/dist/esm/Typeclass.js.map +0 -1
  742. package/dist/esm/Versioned.js +0 -149
  743. package/dist/esm/Versioned.js.map +0 -1
  744. package/dist/esm/index.js +0 -111
  745. package/dist/esm/index.js.map +0 -1
  746. package/dist/esm/internal/DeferredRef.js.map +0 -1
  747. package/dist/esm/internal/UnionToTuple.js +0 -2
  748. package/dist/esm/internal/UnionToTuple.js.map +0 -1
  749. package/dist/esm/internal/bounds.js +0 -13
  750. package/dist/esm/internal/bounds.js.map +0 -1
  751. package/dist/esm/internal/core.js +0 -1606
  752. package/dist/esm/internal/core.js.map +0 -1
  753. package/dist/esm/internal/diff.js.map +0 -1
  754. package/dist/esm/internal/effect-loop-operator.js +0 -269
  755. package/dist/esm/internal/effect-loop-operator.js.map +0 -1
  756. package/dist/esm/internal/effect-operator.js +0 -134
  757. package/dist/esm/internal/effect-operator.js.map +0 -1
  758. package/dist/esm/internal/effect-producer.js +0 -47
  759. package/dist/esm/internal/effect-producer.js.map +0 -1
  760. package/dist/esm/internal/helpers.js +0 -299
  761. package/dist/esm/internal/helpers.js.map +0 -1
  762. package/dist/esm/internal/keyed.js +0 -153
  763. package/dist/esm/internal/keyed.js.map +0 -1
  764. package/dist/esm/internal/loop-operator.js +0 -186
  765. package/dist/esm/internal/loop-operator.js.map +0 -1
  766. package/dist/esm/internal/operator.js +0 -68
  767. package/dist/esm/internal/operator.js.map +0 -1
  768. package/dist/esm/internal/protos.js +0 -39
  769. package/dist/esm/internal/protos.js.map +0 -1
  770. package/dist/esm/internal/provide.js +0 -72
  771. package/dist/esm/internal/provide.js.map +0 -1
  772. package/dist/esm/internal/requestIdleCallback.js +0 -16
  773. package/dist/esm/internal/requestIdleCallback.js.map +0 -1
  774. package/dist/esm/internal/share.js +0 -62
  775. package/dist/esm/internal/share.js.map +0 -1
  776. package/dist/esm/internal/strategies.js +0 -8
  777. package/dist/esm/internal/strategies.js.map +0 -1
  778. package/dist/esm/internal/sync-operator.js +0 -95
  779. package/dist/esm/internal/sync-operator.js.map +0 -1
  780. package/dist/esm/internal/sync-producer.js +0 -90
  781. package/dist/esm/internal/sync-producer.js.map +0 -1
  782. package/dist/esm/internal/withKey.js +0 -56
  783. package/dist/esm/internal/withKey.js.map +0 -1
  784. package/dist/esm/package.json +0 -4
  785. package/src/AsyncData.ts +0 -453
  786. package/src/Emitter.ts +0 -59
  787. package/src/Form.ts +0 -489
  788. package/src/FormEntry.ts +0 -214
  789. package/src/Idle.ts +0 -294
  790. package/src/Match.ts +0 -314
  791. package/src/Pull.ts +0 -95
  792. package/src/RefChunk.ts +0 -407
  793. package/src/RefHashMap.ts +0 -335
  794. package/src/RefHashSet.ts +0 -179
  795. package/src/Stream.ts +0 -140
  796. package/src/TypeId.ts +0 -59
  797. package/src/Typeclass.ts +0 -459
  798. package/src/internal/DeferredRef.ts +0 -72
  799. package/src/internal/UnionToTuple.ts +0 -11
  800. package/src/internal/bounds.ts +0 -21
  801. package/src/internal/core.ts +0 -2771
  802. package/src/internal/diff.ts +0 -171
  803. package/src/internal/effect-loop-operator.ts +0 -466
  804. package/src/internal/effect-operator.ts +0 -317
  805. package/src/internal/effect-producer.ts +0 -125
  806. package/src/internal/helpers.ts +0 -538
  807. package/src/internal/keyed.ts +0 -235
  808. package/src/internal/loop-operator.ts +0 -266
  809. package/src/internal/operator.ts +0 -87
  810. package/src/internal/protos.ts +0 -57
  811. package/src/internal/provide.ts +0 -151
  812. package/src/internal/requestIdleCallback.ts +0 -19
  813. package/src/internal/share.ts +0 -97
  814. package/src/internal/strategies.ts +0 -15
  815. package/src/internal/sync-operator.ts +0 -166
  816. package/src/internal/sync-producer.ts +0 -148
  817. package/src/internal/withKey.ts +0 -82
  818. /package/dist/{dts → Fx}/internal/UnionToTuple.d.ts +0 -0
@@ -1,92 +1,64 @@
1
- /**
2
- * Sink is a data structure which can be used to consume values from a stream.
3
- * @since 1.20.0
4
- */
5
- import * as C from "@typed/context";
6
1
  import * as Cause from "effect/Cause";
7
- import * as Clock from "effect/Clock";
8
2
  import * as Effect from "effect/Effect";
9
- import { dual } from "effect/Function";
10
- import * as Layer from "effect/Layer";
3
+ import * as Exit from "effect/Exit";
4
+ import { dual, flow, identity } from "effect/Function";
5
+ import * as MutableRef from "effect/MutableRef";
11
6
  import * as Option from "effect/Option";
12
- /**
13
- * @since 1.20.0
14
- */
15
- export function make(onFailure, onSuccess) {
16
- return {
17
- onFailure,
18
- onSuccess
19
- };
20
- }
21
- /**
22
- * @since 1.20.0
23
- */
24
- export function withEarlyExit(sink, f) {
25
- return Effect.asyncEffect((resume) => {
26
- const earlyExit = {
27
- ...sink,
28
- earlyExit: Effect.sync(() => resume(Effect.void))
29
- };
30
- return Effect.matchCauseEffect(f(earlyExit), {
31
- onFailure: (cause) => Effect.asVoid(sink.onFailure(cause)),
32
- onSuccess: () => earlyExit.earlyExit
33
- });
34
- });
35
- }
36
- /**
37
- * Transform the input value of a Sink.
38
- * @since 1.18.0
39
- * @category combinators
40
- */
41
- export const map = dual(2, function map(sink, f) {
42
- return new MapSink(sink, f);
43
- });
7
+ import * as Ref from "effect/Ref";
44
8
  class MapSink {
45
9
  sink;
46
10
  f;
47
11
  constructor(sink, f) {
48
12
  this.sink = sink;
49
13
  this.f = f;
50
- this.onFailure = this.onFailure.bind(this);
51
14
  this.onSuccess = this.onSuccess.bind(this);
52
- }
53
- onFailure(cause) {
54
- return this.sink.onFailure(cause);
15
+ this.onFailure = this.onFailure.bind(this);
55
16
  }
56
17
  onSuccess(value) {
57
18
  return this.sink.onSuccess(this.f(value));
58
19
  }
59
- }
60
- /**
61
- * @since 1.20.0
62
- */
63
- export function filter(sink, predicate) {
64
- return new FilterSink(sink, predicate);
65
- }
66
- class FilterSink {
67
- sink;
68
- predicate;
69
- constructor(sink, predicate) {
70
- this.sink = sink;
71
- this.predicate = predicate;
72
- this.onFailure = this.onFailure.bind(this);
73
- this.onSuccess = this.onSuccess.bind(this);
74
- }
75
20
  onFailure(cause) {
76
21
  return this.sink.onFailure(cause);
77
22
  }
78
- onSuccess(value) {
79
- if (this.predicate(value))
80
- return this.sink.onSuccess(value);
81
- else
82
- return Effect.void;
23
+ static make(sink, f) {
24
+ if (sink instanceof MapSink) {
25
+ return new MapSink(sink.sink, flow(f, sink.f));
26
+ }
27
+ if (sink instanceof FilterMapSink) {
28
+ return new FilterMapSink(sink.sink, flow(f, sink.f));
29
+ }
30
+ return new MapSink(sink, f);
83
31
  }
84
32
  }
85
33
  /**
86
- * @since 1.20.0
34
+ * Transforms values before they reach the sink using a pure function.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * import { Effect } from "effect"
39
+ * import * as Sink from "@typed/fx/Sink"
40
+ * import { Fx } from "@typed/fx"
41
+ *
42
+ * const program = Effect.gen(function* () {
43
+ * const sink = Sink.make(
44
+ * (cause) => Effect.void,
45
+ * (value: number) => Effect.sync(() => console.log("Received:", value))
46
+ * )
47
+ *
48
+ * // Map string inputs to numbers
49
+ * const mapped = Sink.map(sink, (str: string) => parseInt(str))
50
+ *
51
+ * // Run an Fx with the mapped sink
52
+ * yield* Fx.fromIterable(["1", "2", "3"]).run(mapped)
53
+ * // Output: "Received: 1", "Received: 2", "Received: 3"
54
+ * })
55
+ * ```
56
+ *
57
+ * @since 1.0.0
58
+ * @category combinators
87
59
  */
88
- export function filterMap(sink, f) {
89
- return new FilterMapSink(sink, f);
60
+ export function map(sink, f) {
61
+ return MapSink.make(sink, f);
90
62
  }
91
63
  class FilterMapSink {
92
64
  sink;
@@ -94,130 +66,134 @@ class FilterMapSink {
94
66
  constructor(sink, f) {
95
67
  this.sink = sink;
96
68
  this.f = f;
97
- this.onFailure = this.onFailure.bind(this);
98
69
  this.onSuccess = this.onSuccess.bind(this);
99
- }
100
- onFailure(cause) {
101
- return this.sink.onFailure(cause);
102
- }
103
- onSuccess(value) {
104
- const option = this.f(value);
105
- if (Option.isSome(option))
106
- return this.sink.onSuccess(option.value);
107
- else
108
- return Effect.void;
109
- }
110
- }
111
- /**
112
- * @since 1.20.0
113
- */
114
- export const mapEffect = dual(2, function mapEffect(sink, f) {
115
- return new MapEffectSink(sink, f);
116
- });
117
- class MapEffectSink {
118
- sink;
119
- f;
120
- constructor(sink, f) {
121
- this.sink = sink;
122
- this.f = f;
123
70
  this.onFailure = this.onFailure.bind(this);
124
- this.onSuccess = this.onSuccess.bind(this);
125
- }
126
- onFailure(cause) {
127
- return this.sink.onFailure(cause);
128
71
  }
129
72
  onSuccess(value) {
130
- return Effect.matchCauseEffect(this.f(value), this.sink);
131
- }
132
- }
133
- /**
134
- * @since 1.20.0
135
- */
136
- export const filterMapEffect = dual(2, function filterMapEffect(sink, f) {
137
- return new FilterMapEffectSink(sink, f);
138
- });
139
- class FilterMapEffectSink {
140
- sink;
141
- f;
142
- constructor(sink, f) {
143
- this.sink = sink;
144
- this.f = f;
145
- this.onFailure = this.onFailure.bind(this);
146
- this.onSuccess = this.onSuccess.bind(this);
73
+ const a = this.f(value);
74
+ return Option.match(a, {
75
+ onSome: (a) => this.sink.onSuccess(a),
76
+ onNone: () => Effect.void,
77
+ });
147
78
  }
148
79
  onFailure(cause) {
149
80
  return this.sink.onFailure(cause);
150
81
  }
151
- onSuccess(value) {
152
- return Effect.matchCauseEffect(this.f(value), {
153
- onFailure: (cause) => this.sink.onFailure(cause),
154
- onSuccess: (option) => {
155
- if (Option.isSome(option))
156
- return this.sink.onSuccess(option.value);
157
- else
158
- return Effect.void;
159
- }
160
- });
82
+ static make(sink, f) {
83
+ if (sink instanceof FilterMapSink) {
84
+ return new FilterMapSink(sink.sink, flow(f, Option.flatMap(sink.f)));
85
+ }
86
+ if (sink instanceof MapSink) {
87
+ return new FilterMapSink(sink.sink, flow(f, Option.map(sink.f)));
88
+ }
89
+ return new FilterMapSink(sink, f);
161
90
  }
162
91
  }
163
92
  /**
164
- * @since 1.20.0
93
+ * Filters and transforms values before they reach the sink using a function that returns an `Option`.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * import { Effect, Option } from "effect"
98
+ * import * as Sink from "@typed/fx/Sink"
99
+ * import { Fx } from "@typed/fx"
100
+ *
101
+ * const program = Effect.gen(function* () {
102
+ * const sink = Sink.make(
103
+ * (cause) => Effect.void,
104
+ * (value: number) => Effect.sync(() => console.log("Even:", value))
105
+ * )
106
+ *
107
+ * // Only pass through even numbers
108
+ * const filtered = Sink.filterMap(sink, (n: number) =>
109
+ * n % 2 === 0 ? Option.some(n) : Option.none()
110
+ * )
111
+ *
112
+ * yield* Fx.fromIterable([1, 2, 3, 4, 5]).run(filtered)
113
+ * // Output: "Even: 2", "Even: 4"
114
+ * })
115
+ * ```
116
+ *
117
+ * @since 1.0.0
118
+ * @category combinators
165
119
  */
166
- export const filterEffect = dual(2, function filterEffect(sink, f) {
167
- return new FilterEffectSink(sink, f);
168
- });
169
- class FilterEffectSink {
170
- sink;
171
- f;
172
- constructor(sink, f) {
173
- this.sink = sink;
174
- this.f = f;
175
- this.onFailure = this.onFailure.bind(this);
176
- this.onSuccess = this.onSuccess.bind(this);
177
- }
178
- onFailure(cause) {
179
- return this.sink.onFailure(cause);
180
- }
181
- onSuccess(value) {
182
- return Effect.matchCauseEffect(this.f(value), {
183
- onFailure: (cause) => this.sink.onFailure(cause),
184
- onSuccess: (b) => {
185
- if (b)
186
- return this.sink.onSuccess(value);
187
- else
188
- return Effect.void;
189
- }
190
- });
191
- }
120
+ export function filterMap(sink, f) {
121
+ return FilterMapSink.make(sink, f);
122
+ }
123
+ export function compact(sink) {
124
+ return filterMap(sink, identity);
192
125
  }
193
126
  /**
194
- * @since 1.20.0
127
+ * Filters values before they reach the sink using a predicate function.
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * import { Effect } from "effect"
132
+ * import * as Sink from "@typed/fx/Sink"
133
+ * import { Fx } from "@typed/fx"
134
+ *
135
+ * const program = Effect.gen(function* () {
136
+ * const sink = Sink.make(
137
+ * (cause) => Effect.void,
138
+ * (value: number) => Effect.sync(() => console.log("Positive:", value))
139
+ * )
140
+ *
141
+ * // Only pass through positive numbers
142
+ * const filtered = Sink.filter(sink, (n) => n > 0)
143
+ *
144
+ * yield* Fx.fromIterable([-2, -1, 0, 1, 2]).run(filtered)
145
+ * // Output: "Positive: 1", "Positive: 2"
146
+ * })
147
+ * ```
148
+ *
149
+ * @since 1.0.0
150
+ * @category combinators
195
151
  */
196
- export const tapEffect = dual(2, function tapEffect(sink, f) {
197
- return new TapEffectSink(sink, f);
198
- });
199
- class TapEffectSink {
200
- sink;
201
- f;
202
- constructor(sink, f) {
203
- this.sink = sink;
204
- this.f = f;
205
- this.onFailure = this.onFailure.bind(this);
206
- this.onSuccess = this.onSuccess.bind(this);
207
- }
208
- onFailure(cause) {
209
- return this.sink.onFailure(cause);
210
- }
211
- onSuccess(value) {
212
- return Effect.matchCauseEffect(this.f(value), {
213
- onFailure: (cause) => this.sink.onFailure(cause),
214
- onSuccess: () => this.sink.onSuccess(value)
152
+ export function filter(sink, f) {
153
+ return filterMap(sink, Option.liftPredicate(f));
154
+ }
155
+ export function withEarlyExit(sink, f) {
156
+ return Effect.servicesWith((services) => Effect.callback(function (resume, signal) {
157
+ let exited = false;
158
+ const earlyExit = Effect.sync(() => {
159
+ exited = true;
160
+ resume(Effect.void);
215
161
  });
216
- }
162
+ const onSuccess = (a) => {
163
+ if (exited)
164
+ return Effect.void;
165
+ return sink.onSuccess(a);
166
+ };
167
+ const onFailure = (cause) => {
168
+ if (exited)
169
+ return Effect.void;
170
+ return sink.onFailure(cause);
171
+ };
172
+ const sinkWithEarlyExit = {
173
+ onSuccess,
174
+ onFailure,
175
+ earlyExit,
176
+ };
177
+ f(sinkWithEarlyExit, { signal, scheduler: this }).pipe(Effect.flatMap(() => earlyExit), (_) => Effect.runForkWith(services)(_, { scheduler: this, signal }));
178
+ }));
179
+ }
180
+ export function withState(sink, state, f) {
181
+ return withEarlyExit(sink, (sink, params) => f({ ...sink, state: Ref.makeUnsafe(state) }, params));
182
+ }
183
+ export function withStateSemaphore(sink, state, f) {
184
+ return withEarlyExit(sink, (sink, params) => {
185
+ const stateRef = MutableRef.make(state);
186
+ const semaphore = Effect.makeSemaphoreUnsafe(1);
187
+ const lock = semaphore.withPermits(1);
188
+ const modifyEffect = (f) => Effect.suspend(() => f(MutableRef.get(stateRef))).pipe(Effect.flatMap(([c, b]) => {
189
+ MutableRef.set(stateRef, b);
190
+ return Effect.succeed(c);
191
+ }), lock);
192
+ const updateEffect = (f) => modifyEffect((state) => f(state).pipe(Effect.map((b) => [b, b])));
193
+ const get = modifyEffect((state) => Effect.succeed([state, state]));
194
+ return f({ ...sink, modifyEffect, updateEffect, get }, params);
195
+ });
217
196
  }
218
- /**
219
- * @since 1.20.0
220
- */
221
197
  export const loop = dual(3, function loop(sink, seed, f) {
222
198
  return new LoopSink(sink, seed, f);
223
199
  });
@@ -241,9 +217,6 @@ class LoopSink {
241
217
  return this.sink.onSuccess(c);
242
218
  }
243
219
  }
244
- /**
245
- * @since 1.20.0
246
- */
247
220
  export const loopCause = dual(3, function loopCause(sink, seed, f) {
248
221
  return new LoopCauseSink(sink, seed, f);
249
222
  });
@@ -267,9 +240,6 @@ class LoopCauseSink {
267
240
  return this.sink.onSuccess(value);
268
241
  }
269
242
  }
270
- /**
271
- * @since 1.20.0
272
- */
273
243
  export const filterMapLoop = dual(3, function filterMapLoop(sink, seed, f) {
274
244
  return new FilterMapLoopSink(sink, seed, f);
275
245
  });
@@ -292,13 +262,9 @@ class FilterMapLoopSink {
292
262
  this.seed = acc;
293
263
  if (Option.isSome(option))
294
264
  return this.sink.onSuccess(option.value);
295
- else
296
- return Effect.void;
265
+ return Effect.void;
297
266
  }
298
267
  }
299
- /**
300
- * @since 1.20.0
301
- */
302
268
  export const filterMapLoopCause = dual(3, function filterMapLoopCause(sink, seed, f) {
303
269
  return new FilterMapLoopCauseSink(sink, seed, f);
304
270
  });
@@ -318,16 +284,12 @@ class FilterMapLoopCauseSink {
318
284
  this.seed = acc;
319
285
  if (Option.isSome(option))
320
286
  return this.sink.onFailure(option.value);
321
- else
322
- return Effect.void;
287
+ return Effect.void;
323
288
  }
324
289
  onSuccess(value) {
325
290
  return this.sink.onSuccess(value);
326
291
  }
327
292
  }
328
- /**
329
- * @since 1.20.0
330
- */
331
293
  export const loopEffect = dual(3, function loopEffect(sink, seed, f) {
332
294
  return new LoopEffectSink(sink, seed, f);
333
295
  });
@@ -351,13 +313,10 @@ class LoopEffectSink {
351
313
  onSuccess: ([c, acc]) => {
352
314
  this.seed = acc;
353
315
  return this.sink.onSuccess(c);
354
- }
316
+ },
355
317
  });
356
318
  }
357
319
  }
358
- /**
359
- * @since 1.20.0
360
- */
361
320
  export const filterMapLoopEffect = dual(3, function filterMapLoopEffect(sink, seed, f) {
362
321
  return new FilterMapLoopEffectSink(sink, seed, f);
363
322
  });
@@ -382,15 +341,11 @@ class FilterMapLoopEffectSink {
382
341
  this.seed = acc;
383
342
  if (Option.isSome(option))
384
343
  return this.sink.onSuccess(option.value);
385
- else
386
- return Effect.void;
387
- }
344
+ return Effect.void;
345
+ },
388
346
  });
389
347
  }
390
348
  }
391
- /**
392
- * @since 1.20.0
393
- */
394
349
  export const loopCauseEffect = dual(3, function loopCauseEffect(sink, seed, f) {
395
350
  return new LoopCauseEffectSink(sink, seed, f);
396
351
  });
@@ -407,20 +362,17 @@ class LoopCauseEffectSink {
407
362
  }
408
363
  onFailure(cause) {
409
364
  return Effect.matchCauseEffect(this.f(this.seed, cause), {
410
- onFailure: (cause2) => this.sink.onFailure(Cause.sequential(cause, cause2)),
365
+ onFailure: (cause2) => this.sink.onFailure(Cause.fromReasons([...cause.reasons, ...cause2.reasons])),
411
366
  onSuccess: ([c, acc]) => {
412
367
  this.seed = acc;
413
368
  return this.sink.onFailure(c);
414
- }
369
+ },
415
370
  });
416
371
  }
417
372
  onSuccess(value) {
418
373
  return this.sink.onSuccess(value);
419
374
  }
420
375
  }
421
- /**
422
- * @since 1.20.0
423
- */
424
376
  export function filterMapLoopCauseEffect(sink, seed, f) {
425
377
  return new FilterMapLoopCauseEffectSink(sink, seed, f);
426
378
  }
@@ -442,31 +394,27 @@ class FilterMapLoopCauseEffectSink {
442
394
  this.seed = acc;
443
395
  if (Option.isSome(option))
444
396
  return this.sink.onFailure(option.value);
445
- else
446
- return Effect.void;
447
- }
397
+ return Effect.void;
398
+ },
448
399
  });
449
400
  }
450
401
  onSuccess(value) {
451
402
  return this.sink.onSuccess(value);
452
403
  }
453
404
  }
454
- /**
455
- * @since 1.20.0
456
- */
457
405
  export const slice = dual(3, function slice(sink, bounds, f) {
458
406
  return withEarlyExit(sink, (s) => f(new SliceSink(s, bounds)));
459
407
  });
460
408
  class SliceSink {
461
- sink;
462
- bounds;
463
409
  drop;
464
410
  take;
411
+ sink;
412
+ bounds;
465
413
  constructor(sink, bounds) {
466
414
  this.sink = sink;
467
415
  this.bounds = bounds;
468
- this.drop = this.bounds.min;
469
- this.take = this.bounds.max;
416
+ this.drop = this.bounds.skip;
417
+ this.take = this.bounds.take;
470
418
  this.onFailure = this.onFailure.bind(this);
471
419
  this.onSuccess = this.onSuccess.bind(this);
472
420
  }
@@ -484,20 +432,15 @@ class SliceSink {
484
432
  return this.sink.earlyExit;
485
433
  }
486
434
  }
487
- /**
488
- * @since 1.20.0
489
- */
490
- export const takeWhile = dual(3, function takeWhile(sink, predicate, f) {
491
- return withEarlyExit(sink, (s) => f(new TakeWhileSink(s, predicate)));
435
+ export const mapEffect = dual(2, function mapEffect(sink, f) {
436
+ return new MapEffectSink(sink, f);
492
437
  });
493
- class TakeWhileSink {
438
+ class MapEffectSink {
494
439
  sink;
495
- predicate;
496
- take;
497
- constructor(sink, predicate) {
440
+ f;
441
+ constructor(sink, f) {
498
442
  this.sink = sink;
499
- this.predicate = predicate;
500
- this.take = true;
443
+ this.f = f;
501
444
  this.onFailure = this.onFailure.bind(this);
502
445
  this.onSuccess = this.onSuccess.bind(this);
503
446
  }
@@ -505,35 +448,18 @@ class TakeWhileSink {
505
448
  return this.sink.onFailure(cause);
506
449
  }
507
450
  onSuccess(value) {
508
- if (this.take === true && (this.take = this.predicate(value)))
509
- return this.sink.onSuccess(value);
510
- else {
511
- this.take = false;
512
- return this.sink.earlyExit;
513
- }
451
+ return Effect.matchCauseEffect(this.f(value), this.sink);
514
452
  }
515
453
  }
516
- /**
517
- * @since 1.20.0
518
- */
519
- export const dropWhile = dual(2, function dropWhile(sink, predicate) {
520
- return filterMapLoop(sink, true, (drop, a) => {
521
- const drop2 = drop && predicate(a);
522
- return [drop2 ? Option.none() : Option.some(a), drop2];
523
- });
524
- });
525
- /**
526
- * @since 2.0.0
527
- */
528
- export const dropAfter = dual(3, function dropAfter(sink, predicate, f) {
529
- return withEarlyExit(sink, (s) => f(new DropAfterSink(s, predicate)));
454
+ export const filterMapEffect = dual(2, function filterMapEffect(sink, f) {
455
+ return new FilterMapEffectSink(sink, f);
530
456
  });
531
- class DropAfterSink {
457
+ class FilterMapEffectSink {
532
458
  sink;
533
- predicate;
534
- constructor(sink, predicate) {
459
+ f;
460
+ constructor(sink, f) {
535
461
  this.sink = sink;
536
- this.predicate = predicate;
462
+ this.f = f;
537
463
  this.onFailure = this.onFailure.bind(this);
538
464
  this.onSuccess = this.onSuccess.bind(this);
539
465
  }
@@ -541,26 +467,26 @@ class DropAfterSink {
541
467
  return this.sink.onFailure(cause);
542
468
  }
543
469
  onSuccess(value) {
544
- if (this.predicate(value)) {
545
- return Effect.zipRight(this.sink.onSuccess(value), this.sink.earlyExit);
546
- }
547
- return this.sink.onSuccess(value);
470
+ return Effect.matchCauseEffect(this.f(value), {
471
+ onFailure: (cause) => this.sink.onFailure(cause),
472
+ onSuccess: (option) => {
473
+ if (Option.isSome(option))
474
+ return this.sink.onSuccess(option.value);
475
+ else
476
+ return Effect.void;
477
+ },
478
+ });
548
479
  }
549
480
  }
550
- /**
551
- * @since 1.20.0
552
- */
553
- export const takeWhileEffect = dual(3, function takeWhileEffect(sink, predicate, f) {
554
- return withEarlyExit(sink, (s) => f(new TakeWhileEffectSink(s, predicate)));
481
+ export const filterEffect = dual(2, function filterEffect(sink, f) {
482
+ return new FilterEffectSink(sink, f);
555
483
  });
556
- class TakeWhileEffectSink {
484
+ class FilterEffectSink {
557
485
  sink;
558
- predicate;
559
- take;
560
- constructor(sink, predicate) {
486
+ f;
487
+ constructor(sink, f) {
561
488
  this.sink = sink;
562
- this.predicate = predicate;
563
- this.take = true;
489
+ this.f = f;
564
490
  this.onFailure = this.onFailure.bind(this);
565
491
  this.onSuccess = this.onSuccess.bind(this);
566
492
  }
@@ -568,106 +494,93 @@ class TakeWhileEffectSink {
568
494
  return this.sink.onFailure(cause);
569
495
  }
570
496
  onSuccess(value) {
571
- if (this.take === true) {
572
- return Effect.matchCauseEffect(this.predicate(value), {
573
- onFailure: (cause) => this.sink.onFailure(cause),
574
- onSuccess: (b) => {
575
- if ((this.take = b))
576
- return this.sink.onSuccess(value);
577
- else
578
- return this.sink.earlyExit;
579
- }
580
- });
581
- }
582
- else
583
- return this.sink.earlyExit;
497
+ return Effect.matchCauseEffect(this.f(value), {
498
+ onFailure: (cause) => this.sink.onFailure(cause),
499
+ onSuccess: (b) => {
500
+ if (b)
501
+ return this.sink.onSuccess(value);
502
+ else
503
+ return Effect.void;
504
+ },
505
+ });
584
506
  }
585
507
  }
586
- /**
587
- * @since 1.20.0
588
- */
589
- export const dropWhileEffect = dual(2, function dropWhileEffect(sink, predicate) {
590
- return filterMapLoopEffect(sink, true, (drop, a) => {
591
- if (drop === false)
592
- return Effect.succeed([Option.some(a), drop]);
593
- return Effect.map(predicate(a), (b) => [b ? Option.none() : Option.some(a), b]);
594
- });
595
- });
596
- /**
597
- * @since 1.20.0
598
- */
599
- export const dropAfterEffect = dual(2, function dropAfterEffect(sink, predicate) {
600
- return filterMapLoopEffect(sink, false, (drop, a) => {
601
- if (drop === true)
602
- return Effect.succeed([Option.none(), drop]);
603
- return Effect.map(predicate(a), (b) => [Option.some(a), b]);
604
- });
605
- });
606
- /**
607
- * @since 1.20.0
608
- */
609
- export const provide = dual(2, function provide(sink, ctx) {
610
- return make((cause) => Effect.provide(sink.onFailure(cause), ctx), (a) => Effect.provide(sink.onSuccess(a), ctx));
611
- });
612
- /**
613
- * @since 1.20.0
614
- */
615
- export const setSpan = dual(2, function setSpan(self, span) {
616
- return make((cause) => addEvent(self.onFailure(cause), "fx.failure", span, {
617
- "cause": Cause.pretty(cause)
618
- }), (a) => addEvent(self.onSuccess(a), "fx.success", span, {
619
- "value": JSON.stringify(a)
620
- }));
508
+ export const tapEffect = dual(2, function tapEffect(sink, f) {
509
+ return new TapEffectSink(sink, f);
621
510
  });
622
- const addEvent = (effect, name, span, attributes) => Effect.flatMap(Clock.currentTimeNanos, (time) => Effect.suspend(() => {
623
- span.event(name, time, attributes);
624
- return effect;
625
- }));
626
- /**
627
- * @since 1.20.0
628
- */
629
- export function tagged() {
630
- return (identifier) => new TaggedImpl(C.Tagged(identifier));
511
+ class TapEffectSink {
512
+ sink;
513
+ f;
514
+ constructor(sink, f) {
515
+ this.sink = sink;
516
+ this.f = f;
517
+ this.onFailure = this.onFailure.bind(this);
518
+ this.onSuccess = this.onSuccess.bind(this);
519
+ }
520
+ onFailure(cause) {
521
+ return this.sink.onFailure(cause);
522
+ }
523
+ onSuccess(value) {
524
+ return Effect.matchCauseEffect(this.f(value), {
525
+ onFailure: (cause) => this.sink.onFailure(cause),
526
+ onSuccess: () => this.sink.onSuccess(value),
527
+ });
528
+ }
631
529
  }
632
- class TaggedImpl {
633
- tag;
634
- constructor(tag) {
635
- this.tag = tag;
530
+ export const flip = (sink) => new FlipSink(sink);
531
+ class FlipSink {
532
+ sink;
533
+ constructor(sink) {
534
+ this.sink = sink;
636
535
  }
637
536
  onSuccess(value) {
638
- return this.tag.withEffect((sink) => sink.onSuccess(value));
537
+ return this.sink.onFailure(Cause.fail(value));
639
538
  }
640
539
  onFailure(cause) {
641
- return this.tag.withEffect((sink) => sink.onFailure(cause));
540
+ const fail = cause.reasons.find((failure) => failure._tag === "Fail");
541
+ if (!fail)
542
+ return this.sink.onFailure(cause);
543
+ return this.sink.onSuccess(fail.error);
642
544
  }
643
- make = (sink) => Layer.flatMap(Layer.context(), (ctx) => this.tag.layer(provide(sink, ctx)));
644
545
  }
645
- /**
646
- * @since 1.20.0
647
- */
648
- export const fromTag = dual(2, function fromTag(tag, f) {
649
- return new FromTag(tag, f);
650
- });
651
- class FromTag {
652
- tag;
653
- f;
654
- get;
655
- constructor(tag, f) {
656
- this.tag = tag;
657
- this.f = f;
658
- this.get = Effect.map(tag, f);
546
+ export const exit = (sink) => new ExitSink(sink);
547
+ class ExitSink {
548
+ sink;
549
+ constructor(sink) {
550
+ this.sink = sink;
659
551
  }
660
552
  onSuccess(value) {
661
- return Effect.flatMap(this.get, (sink) => sink.onSuccess(value));
553
+ return this.sink.onSuccess(Exit.succeed(value));
662
554
  }
663
555
  onFailure(cause) {
664
- return Effect.flatMap(this.get, (sink) => sink.onFailure(cause));
556
+ return this.sink.onSuccess(Exit.failCause(cause));
665
557
  }
666
558
  }
667
- /**
668
- * @since 1.20.0
669
- */
670
- export function ignoreInterrupt(sink) {
671
- return make((cause) => Cause.isInterruptedOnly(cause) ? Effect.void : sink.onFailure(cause), sink.onSuccess);
559
+ export const dropAfter = dual(3, function dropAfter(sink, predicate, f) {
560
+ return withEarlyExit(sink, (s) => f(new DropAfterSink(s, predicate)).pipe(Effect.catchCause(sink.onFailure)));
561
+ });
562
+ class DropAfterSink {
563
+ sink;
564
+ predicate;
565
+ constructor(sink, predicate) {
566
+ this.sink = sink;
567
+ this.predicate = predicate;
568
+ this.onFailure = this.onFailure.bind(this);
569
+ this.onSuccess = this.onSuccess.bind(this);
570
+ }
571
+ onFailure(cause) {
572
+ return this.sink.onFailure(cause);
573
+ }
574
+ onSuccess(value) {
575
+ if (this.predicate(value)) {
576
+ return Effect.flatMap(this.sink.onSuccess(value), () => this.sink.earlyExit);
577
+ }
578
+ return this.sink.onSuccess(value);
579
+ }
672
580
  }
673
- //# sourceMappingURL=Sink.js.map
581
+ export const skipInterrupt = (sink) => {
582
+ return {
583
+ onSuccess: (value) => sink.onSuccess(value),
584
+ onFailure: (cause) => cause.reasons.every(Cause.isInterruptReason) ? Effect.void : sink.onFailure(cause),
585
+ };
586
+ };