@typed/fx 2.0.0-beta.1 → 2.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +35 -21
- package/dist/Fx/Fx.d.ts +371 -19
- package/dist/Fx/Fx.d.ts.map +1 -1
- package/dist/Fx/Fx.js +37 -6
- package/dist/Fx/TypeId.d.ts +52 -6
- package/dist/Fx/TypeId.d.ts.map +1 -1
- package/dist/Fx/TypeId.js +41 -4
- package/dist/Fx/combinators/additive.d.ts +162 -11
- package/dist/Fx/combinators/additive.d.ts.map +1 -1
- package/dist/Fx/combinators/additive.js +162 -11
- package/dist/Fx/combinators/catch.d.ts +202 -29
- package/dist/Fx/combinators/catch.d.ts.map +1 -1
- package/dist/Fx/combinators/catch.js +193 -23
- package/dist/Fx/combinators/causes.d.ts +25 -2
- package/dist/Fx/combinators/causes.d.ts.map +1 -1
- package/dist/Fx/combinators/causes.js +25 -2
- package/dist/Fx/combinators/changesWithEffect.d.ts +21 -1
- package/dist/Fx/combinators/changesWithEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/changesWithEffect.js +21 -1
- package/dist/Fx/combinators/compact.d.ts +18 -1
- package/dist/Fx/combinators/compact.d.ts.map +1 -1
- package/dist/Fx/combinators/compact.js +18 -1
- package/dist/Fx/combinators/concatMap.d.ts +86 -0
- package/dist/Fx/combinators/concatMap.d.ts.map +1 -0
- package/dist/Fx/combinators/concatMap.js +86 -0
- package/dist/Fx/combinators/continueWith.d.ts +113 -5
- package/dist/Fx/combinators/continueWith.d.ts.map +1 -1
- package/dist/Fx/combinators/continueWith.js +113 -5
- package/dist/Fx/combinators/debounce.d.ts +34 -0
- package/dist/Fx/combinators/debounce.d.ts.map +1 -0
- package/dist/Fx/combinators/debounce.js +35 -0
- package/dist/Fx/combinators/delay.d.ts +36 -0
- package/dist/Fx/combinators/delay.d.ts.map +1 -0
- package/dist/Fx/combinators/delay.js +33 -0
- package/dist/Fx/combinators/dropUntil.d.ts +44 -2
- package/dist/Fx/combinators/dropUntil.d.ts.map +1 -1
- package/dist/Fx/combinators/dropUntil.js +44 -2
- package/dist/Fx/combinators/during.d.ts +38 -0
- package/dist/Fx/combinators/during.d.ts.map +1 -0
- package/dist/Fx/combinators/during.js +85 -0
- package/dist/Fx/combinators/ensuring.d.ts +34 -4
- package/dist/Fx/combinators/ensuring.d.ts.map +1 -1
- package/dist/Fx/combinators/ensuring.js +34 -4
- package/dist/Fx/combinators/exhaustLatestMap.d.ts +41 -5
- package/dist/Fx/combinators/exhaustLatestMap.d.ts.map +1 -1
- package/dist/Fx/combinators/exhaustLatestMap.js +41 -5
- package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts +40 -4
- package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/exhaustLatestMapEffect.js +40 -4
- package/dist/Fx/combinators/exhaustMap.d.ts +38 -1
- package/dist/Fx/combinators/exhaustMap.d.ts.map +1 -1
- package/dist/Fx/combinators/exhaustMap.js +38 -1
- package/dist/Fx/combinators/exhaustMapEffect.d.ts +33 -1
- package/dist/Fx/combinators/exhaustMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/exhaustMapEffect.js +33 -1
- package/dist/Fx/combinators/exit.d.ts +23 -2
- package/dist/Fx/combinators/exit.d.ts.map +1 -1
- package/dist/Fx/combinators/exit.js +23 -2
- package/dist/Fx/combinators/filter.d.ts +17 -1
- package/dist/Fx/combinators/filter.d.ts.map +1 -1
- package/dist/Fx/combinators/filter.js +17 -1
- package/dist/Fx/combinators/filterEffect.d.ts +22 -1
- package/dist/Fx/combinators/filterEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/filterEffect.js +22 -1
- package/dist/Fx/combinators/filterMap.d.ts +20 -1
- package/dist/Fx/combinators/filterMap.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMap.js +20 -1
- package/dist/Fx/combinators/filterMapEffect.d.ts +21 -1
- package/dist/Fx/combinators/filterMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapEffect.js +21 -1
- package/dist/Fx/combinators/filterMapLoop.d.ts +20 -1
- package/dist/Fx/combinators/filterMapLoop.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapLoop.js +20 -1
- package/dist/Fx/combinators/filterMapLoopCause.d.ts +21 -1
- package/dist/Fx/combinators/filterMapLoopCause.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapLoopCause.js +21 -1
- package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts +21 -1
- package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapLoopCauseEffect.js +21 -1
- package/dist/Fx/combinators/filterMapLoopEffect.d.ts +21 -1
- package/dist/Fx/combinators/filterMapLoopEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapLoopEffect.js +21 -1
- package/dist/Fx/combinators/flatMap.d.ts +50 -5
- package/dist/Fx/combinators/flatMap.d.ts.map +1 -1
- package/dist/Fx/combinators/flatMap.js +36 -3
- package/dist/Fx/combinators/flatMapConcurrently.d.ts +51 -4
- package/dist/Fx/combinators/flatMapConcurrently.d.ts.map +1 -1
- package/dist/Fx/combinators/flatMapConcurrently.js +48 -2
- package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts +48 -4
- package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/flatMapConcurrentlyEffect.js +40 -2
- package/dist/Fx/combinators/flatMapEffect.d.ts +46 -4
- package/dist/Fx/combinators/flatMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/flatMapEffect.js +32 -2
- package/dist/Fx/combinators/flip.d.ts +34 -2
- package/dist/Fx/combinators/flip.d.ts.map +1 -1
- package/dist/Fx/combinators/flip.js +34 -2
- package/dist/Fx/combinators/gen.d.ts +29 -10
- package/dist/Fx/combinators/gen.d.ts.map +1 -1
- package/dist/Fx/combinators/gen.js +28 -4
- package/dist/Fx/combinators/genScoped.d.ts +33 -10
- package/dist/Fx/combinators/genScoped.d.ts.map +1 -1
- package/dist/Fx/combinators/genScoped.js +31 -3
- package/dist/Fx/combinators/grouped.d.ts +89 -0
- package/dist/Fx/combinators/grouped.d.ts.map +1 -0
- package/dist/Fx/combinators/grouped.js +146 -0
- package/dist/Fx/combinators/index.d.ts +35 -0
- package/dist/Fx/combinators/index.d.ts.map +1 -1
- package/dist/Fx/combinators/index.js +35 -0
- package/dist/Fx/combinators/keyed.d.ts +123 -9
- package/dist/Fx/combinators/keyed.d.ts.map +1 -1
- package/dist/Fx/combinators/keyed.js +69 -11
- package/dist/Fx/combinators/loop.d.ts +17 -1
- package/dist/Fx/combinators/loop.d.ts.map +1 -1
- package/dist/Fx/combinators/loop.js +17 -1
- package/dist/Fx/combinators/loopCause.d.ts +18 -1
- package/dist/Fx/combinators/loopCause.d.ts.map +1 -1
- package/dist/Fx/combinators/loopCause.js +18 -1
- package/dist/Fx/combinators/loopCauseEffect.d.ts +19 -1
- package/dist/Fx/combinators/loopCauseEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/loopCauseEffect.js +19 -1
- package/dist/Fx/combinators/loopEffect.d.ts +24 -1
- package/dist/Fx/combinators/loopEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/loopEffect.js +24 -1
- package/dist/Fx/combinators/map.d.ts +46 -1
- package/dist/Fx/combinators/map.d.ts.map +1 -1
- package/dist/Fx/combinators/map.js +43 -1
- package/dist/Fx/combinators/mapBoth.d.ts +20 -1
- package/dist/Fx/combinators/mapBoth.d.ts.map +1 -1
- package/dist/Fx/combinators/mapBoth.js +20 -1
- package/dist/Fx/combinators/mapEffect.d.ts +25 -1
- package/dist/Fx/combinators/mapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/mapEffect.js +25 -1
- package/dist/Fx/combinators/mapError.d.ts +21 -5
- package/dist/Fx/combinators/mapError.d.ts.map +1 -1
- package/dist/Fx/combinators/mapError.js +21 -5
- package/dist/Fx/combinators/mergeAll.d.ts +35 -1
- package/dist/Fx/combinators/mergeAll.d.ts.map +1 -1
- package/dist/Fx/combinators/mergeAll.js +35 -1
- package/dist/Fx/combinators/mergeOrdered.d.ts +36 -4
- package/dist/Fx/combinators/mergeOrdered.d.ts.map +1 -1
- package/dist/Fx/combinators/mergeOrdered.js +68 -14
- package/dist/Fx/combinators/onError.d.ts +34 -4
- package/dist/Fx/combinators/onError.d.ts.map +1 -1
- package/dist/Fx/combinators/onError.js +34 -4
- package/dist/Fx/combinators/onExit.d.ts +29 -3
- package/dist/Fx/combinators/onExit.d.ts.map +1 -1
- package/dist/Fx/combinators/onExit.js +29 -3
- package/dist/Fx/combinators/onInterrupt.d.ts +49 -4
- package/dist/Fx/combinators/onInterrupt.d.ts.map +1 -1
- package/dist/Fx/combinators/onInterrupt.js +49 -4
- package/dist/Fx/combinators/pairwise.d.ts +28 -0
- package/dist/Fx/combinators/pairwise.d.ts.map +1 -0
- package/dist/Fx/combinators/pairwise.js +31 -0
- package/dist/Fx/combinators/provide.d.ts +141 -20
- package/dist/Fx/combinators/provide.d.ts.map +1 -1
- package/dist/Fx/combinators/provide.js +137 -16
- package/dist/Fx/combinators/race.d.ts +92 -0
- package/dist/Fx/combinators/race.d.ts.map +1 -0
- package/dist/Fx/combinators/race.js +149 -0
- package/dist/Fx/combinators/repeat.d.ts +41 -0
- package/dist/Fx/combinators/repeat.d.ts.map +1 -0
- package/dist/Fx/combinators/repeat.js +57 -0
- package/dist/Fx/combinators/result.d.ts +23 -1
- package/dist/Fx/combinators/result.d.ts.map +1 -1
- package/dist/Fx/combinators/result.js +27 -13
- package/dist/Fx/combinators/retry.d.ts +53 -0
- package/dist/Fx/combinators/retry.d.ts.map +1 -0
- package/dist/Fx/combinators/retry.js +71 -0
- package/dist/Fx/combinators/sample.d.ts +31 -0
- package/dist/Fx/combinators/sample.d.ts.map +1 -0
- package/dist/Fx/combinators/sample.js +42 -0
- package/dist/Fx/combinators/scan.d.ts +41 -2
- package/dist/Fx/combinators/scan.d.ts.map +1 -1
- package/dist/Fx/combinators/scan.js +43 -4
- package/dist/Fx/combinators/since.d.ts +30 -0
- package/dist/Fx/combinators/since.d.ts.map +1 -0
- package/dist/Fx/combinators/since.js +39 -0
- package/dist/Fx/combinators/skip.d.ts +33 -2
- package/dist/Fx/combinators/skip.d.ts.map +1 -1
- package/dist/Fx/combinators/skip.js +33 -2
- package/dist/Fx/combinators/skipRepeats.d.ts +17 -1
- package/dist/Fx/combinators/skipRepeats.d.ts.map +1 -1
- package/dist/Fx/combinators/skipRepeats.js +17 -1
- package/dist/Fx/combinators/skipRepeatsWith.d.ts +18 -1
- package/dist/Fx/combinators/skipRepeatsWith.d.ts.map +1 -1
- package/dist/Fx/combinators/skipRepeatsWith.js +18 -1
- package/dist/Fx/combinators/skipWhile.d.ts +72 -4
- package/dist/Fx/combinators/skipWhile.d.ts.map +1 -1
- package/dist/Fx/combinators/skipWhile.js +72 -4
- package/dist/Fx/combinators/slice.d.ts +85 -3
- package/dist/Fx/combinators/slice.d.ts.map +1 -1
- package/dist/Fx/combinators/slice.js +35 -2
- package/dist/Fx/combinators/switchMap.d.ts +39 -1
- package/dist/Fx/combinators/switchMap.d.ts.map +1 -1
- package/dist/Fx/combinators/switchMap.js +43 -5
- package/dist/Fx/combinators/switchMapEffect.d.ts +38 -1
- package/dist/Fx/combinators/switchMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/switchMapEffect.js +38 -1
- package/dist/Fx/combinators/take.d.ts +34 -2
- package/dist/Fx/combinators/take.d.ts.map +1 -1
- package/dist/Fx/combinators/take.js +34 -2
- package/dist/Fx/combinators/takeUntil.d.ts +49 -3
- package/dist/Fx/combinators/takeUntil.d.ts.map +1 -1
- package/dist/Fx/combinators/takeUntil.js +49 -3
- package/dist/Fx/combinators/takeWhile.d.ts +33 -2
- package/dist/Fx/combinators/takeWhile.d.ts.map +1 -1
- package/dist/Fx/combinators/takeWhile.js +33 -2
- package/dist/Fx/combinators/tapEffect.d.ts +17 -1
- package/dist/Fx/combinators/tapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/tapEffect.js +17 -1
- package/dist/Fx/combinators/throttle.d.ts +79 -0
- package/dist/Fx/combinators/throttle.d.ts.map +1 -0
- package/dist/Fx/combinators/throttle.js +99 -0
- package/dist/Fx/combinators/timeout.d.ts +76 -0
- package/dist/Fx/combinators/timeout.d.ts.map +1 -0
- package/dist/Fx/combinators/timeout.js +110 -0
- package/dist/Fx/combinators/tuple.d.ts +32 -2
- package/dist/Fx/combinators/tuple.d.ts.map +1 -1
- package/dist/Fx/combinators/tuple.js +36 -5
- package/dist/Fx/combinators/until.d.ts +27 -0
- package/dist/Fx/combinators/until.d.ts.map +1 -0
- package/dist/Fx/combinators/until.js +56 -0
- package/dist/Fx/combinators/unwrap.d.ts +31 -2
- package/dist/Fx/combinators/unwrap.d.ts.map +1 -1
- package/dist/Fx/combinators/unwrap.js +30 -1
- package/dist/Fx/combinators/unwrapScoped.d.ts +34 -1
- package/dist/Fx/combinators/unwrapScoped.d.ts.map +1 -1
- package/dist/Fx/combinators/unwrapScoped.js +34 -1
- package/dist/Fx/combinators/when.d.ts +37 -2
- package/dist/Fx/combinators/when.d.ts.map +1 -1
- package/dist/Fx/combinators/when.js +38 -3
- package/dist/Fx/combinators/withLatestFrom.d.ts +58 -0
- package/dist/Fx/combinators/withLatestFrom.d.ts.map +1 -0
- package/dist/Fx/combinators/withLatestFrom.js +68 -0
- package/dist/Fx/combinators/withSpan.d.ts +35 -1
- package/dist/Fx/combinators/withSpan.d.ts.map +1 -1
- package/dist/Fx/combinators/withSpan.js +34 -3
- package/dist/Fx/combinators/zip.d.ts +64 -4
- package/dist/Fx/combinators/zip.d.ts.map +1 -1
- package/dist/Fx/combinators/zip.js +64 -4
- package/dist/Fx/constructors/at.d.ts +21 -1
- package/dist/Fx/constructors/at.d.ts.map +1 -1
- package/dist/Fx/constructors/at.js +21 -1
- package/dist/Fx/constructors/die.d.ts +22 -1
- package/dist/Fx/constructors/die.d.ts.map +1 -1
- package/dist/Fx/constructors/die.js +22 -1
- package/dist/Fx/constructors/empty.d.ts +19 -1
- package/dist/Fx/constructors/empty.d.ts.map +1 -1
- package/dist/Fx/constructors/empty.js +19 -1
- package/dist/Fx/constructors/fail.d.ts +22 -1
- package/dist/Fx/constructors/fail.d.ts.map +1 -1
- package/dist/Fx/constructors/fail.js +22 -1
- package/dist/Fx/constructors/failCause.d.ts +23 -1
- package/dist/Fx/constructors/failCause.d.ts.map +1 -1
- package/dist/Fx/constructors/failCause.js +23 -1
- package/dist/Fx/constructors/fn.d.ts +116 -16
- package/dist/Fx/constructors/fn.d.ts.map +1 -1
- package/dist/Fx/constructors/fn.js +36 -0
- package/dist/Fx/constructors/fromEffect.d.ts +45 -3
- package/dist/Fx/constructors/fromEffect.d.ts.map +1 -1
- package/dist/Fx/constructors/fromEffect.js +45 -3
- package/dist/Fx/constructors/fromFailures.d.ts +25 -1
- package/dist/Fx/constructors/fromFailures.d.ts.map +1 -1
- package/dist/Fx/constructors/fromFailures.js +25 -1
- package/dist/Fx/constructors/fromIterable.d.ts +23 -1
- package/dist/Fx/constructors/fromIterable.d.ts.map +1 -1
- package/dist/Fx/constructors/fromIterable.js +23 -1
- package/dist/Fx/constructors/fromSchedule.d.ts +26 -1
- package/dist/Fx/constructors/fromSchedule.d.ts.map +1 -1
- package/dist/Fx/constructors/fromSchedule.js +28 -3
- package/dist/Fx/constructors/index.d.ts +2 -1
- package/dist/Fx/constructors/index.d.ts.map +1 -1
- package/dist/Fx/constructors/index.js +2 -1
- package/dist/Fx/constructors/interrupt.d.ts +22 -2
- package/dist/Fx/constructors/interrupt.d.ts.map +1 -1
- package/dist/Fx/constructors/interrupt.js +22 -2
- package/dist/Fx/constructors/make.d.ts +151 -4
- package/dist/Fx/constructors/make.d.ts.map +1 -1
- package/dist/Fx/constructors/make.js +60 -7
- package/dist/Fx/constructors/periodic.d.ts +30 -1
- package/dist/Fx/constructors/periodic.d.ts.map +1 -1
- package/dist/Fx/constructors/periodic.js +30 -1
- package/dist/Fx/constructors/succeed.d.ts +79 -7
- package/dist/Fx/constructors/succeed.d.ts.map +1 -1
- package/dist/Fx/constructors/succeed.js +79 -7
- package/dist/Fx/constructors/suspend.d.ts +28 -0
- package/dist/Fx/constructors/suspend.d.ts.map +1 -1
- package/dist/Fx/constructors/suspend.js +28 -0
- package/dist/Fx/constructors/sync.d.ts +32 -0
- package/dist/Fx/constructors/sync.d.ts.map +1 -0
- package/dist/Fx/constructors/sync.js +32 -0
- package/dist/Fx/internal/DeferredRef.d.ts +259 -7
- package/dist/Fx/internal/DeferredRef.d.ts.map +1 -1
- package/dist/Fx/internal/DeferredRef.js +260 -9
- package/dist/Fx/internal/UnionToTuple.d.ts +22 -0
- package/dist/Fx/internal/UnionToTuple.d.ts.map +1 -1
- package/dist/Fx/internal/diff.d.ts +586 -0
- package/dist/Fx/internal/diff.d.ts.map +1 -1
- package/dist/Fx/internal/diff.js +120 -9
- package/dist/Fx/internal/effectableEvaluateKey.d.ts +30 -0
- package/dist/Fx/internal/effectableEvaluateKey.d.ts.map +1 -0
- package/dist/Fx/internal/effectableEvaluateKey.js +29 -0
- package/dist/Fx/internal/effectableWithOverride.d.ts +55 -0
- package/dist/Fx/internal/effectableWithOverride.d.ts.map +1 -0
- package/dist/Fx/internal/effectableWithOverride.js +46 -0
- package/dist/Fx/internal/equivalence.d.ts +29 -0
- package/dist/Fx/internal/equivalence.d.ts.map +1 -1
- package/dist/Fx/internal/equivalence.js +29 -0
- package/dist/Fx/internal/multicast.d.ts +145 -2
- package/dist/Fx/internal/multicast.d.ts.map +1 -1
- package/dist/Fx/internal/multicast.js +146 -4
- package/dist/Fx/internal/ring-buffer.d.ts +149 -0
- package/dist/Fx/internal/ring-buffer.d.ts.map +1 -1
- package/dist/Fx/internal/ring-buffer.js +155 -0
- package/dist/Fx/internal/scope.d.ts +184 -0
- package/dist/Fx/internal/scope.d.ts.map +1 -1
- package/dist/Fx/internal/scope.js +150 -0
- package/dist/Fx/internal/yieldable.d.ts +117 -2
- package/dist/Fx/internal/yieldable.d.ts.map +1 -1
- package/dist/Fx/internal/yieldable.js +86 -3
- package/dist/Fx/run/collect.d.ts +93 -4
- package/dist/Fx/run/collect.d.ts.map +1 -1
- package/dist/Fx/run/collect.js +94 -5
- package/dist/Fx/run/first.d.ts +23 -1
- package/dist/Fx/run/first.d.ts.map +1 -1
- package/dist/Fx/run/first.js +23 -1
- package/dist/Fx/run/fork.d.ts +52 -2
- package/dist/Fx/run/fork.d.ts.map +1 -1
- package/dist/Fx/run/fork.js +52 -2
- package/dist/Fx/run/observe.d.ts +112 -4
- package/dist/Fx/run/observe.d.ts.map +1 -1
- package/dist/Fx/run/observe.js +137 -16
- package/dist/Fx/run/runPromise.d.ts +45 -2
- package/dist/Fx/run/runPromise.d.ts.map +1 -1
- package/dist/Fx/run/runPromise.js +45 -2
- package/dist/Fx/stream.d.ts +92 -0
- package/dist/Fx/stream.d.ts.map +1 -1
- package/dist/Fx/stream.js +60 -1
- package/dist/Push/Push.d.ts +1229 -104
- package/dist/Push/Push.d.ts.map +1 -1
- package/dist/Push/Push.js +1024 -95
- package/dist/RefArray.d.ts +2 -0
- package/dist/RefArray.d.ts.map +1 -0
- package/dist/RefArray.js +1 -0
- package/dist/RefBigDecimal.d.ts +2 -0
- package/dist/RefBigDecimal.d.ts.map +1 -0
- package/dist/RefBigDecimal.js +1 -0
- package/dist/RefBigInt.d.ts +2 -0
- package/dist/RefBigInt.d.ts.map +1 -0
- package/dist/RefBigInt.js +1 -0
- package/dist/RefBoolean.d.ts +2 -0
- package/dist/RefBoolean.d.ts.map +1 -0
- package/dist/RefBoolean.js +1 -0
- package/dist/RefCause.d.ts +2 -0
- package/dist/RefCause.d.ts.map +1 -0
- package/dist/RefCause.js +1 -0
- package/dist/RefChunk.d.ts +2 -0
- package/dist/RefChunk.d.ts.map +1 -0
- package/dist/RefChunk.js +1 -0
- package/dist/RefDateTime.d.ts +2 -0
- package/dist/RefDateTime.d.ts.map +1 -0
- package/dist/RefDateTime.js +1 -0
- package/dist/RefDuration.d.ts +2 -0
- package/dist/RefDuration.d.ts.map +1 -0
- package/dist/RefDuration.js +1 -0
- package/dist/RefGraph.d.ts +2 -0
- package/dist/RefGraph.d.ts.map +1 -0
- package/dist/RefGraph.js +1 -0
- package/dist/RefHashMap.d.ts +2 -0
- package/dist/RefHashMap.d.ts.map +1 -0
- package/dist/RefHashMap.js +1 -0
- package/dist/RefHashRing.d.ts +2 -0
- package/dist/RefHashRing.d.ts.map +1 -0
- package/dist/RefHashRing.js +1 -0
- package/dist/RefHashSet.d.ts +2 -0
- package/dist/RefHashSet.d.ts.map +1 -0
- package/dist/RefHashSet.js +1 -0
- package/dist/RefIterable.d.ts +2 -0
- package/dist/RefIterable.d.ts.map +1 -0
- package/dist/RefIterable.js +1 -0
- package/dist/RefOption.d.ts +2 -0
- package/dist/RefOption.d.ts.map +1 -0
- package/dist/RefOption.js +1 -0
- package/dist/RefRecord.d.ts +2 -0
- package/dist/RefRecord.d.ts.map +1 -0
- package/dist/RefRecord.js +1 -0
- package/dist/RefResult.d.ts +2 -0
- package/dist/RefResult.d.ts.map +1 -0
- package/dist/RefResult.js +1 -0
- package/dist/RefString.d.ts +2 -0
- package/dist/RefString.d.ts.map +1 -0
- package/dist/RefString.js +1 -0
- package/dist/RefStruct.d.ts +2 -0
- package/dist/RefStruct.d.ts.map +1 -0
- package/dist/RefStruct.js +1 -0
- package/dist/RefSubject/Hydration.d.ts +504 -0
- package/dist/RefSubject/Hydration.d.ts.map +1 -0
- package/dist/RefSubject/Hydration.js +300 -0
- package/dist/RefSubject/RefArray.d.ts +382 -35
- package/dist/RefSubject/RefArray.d.ts.map +1 -1
- package/dist/RefSubject/RefArray.js +374 -40
- package/dist/RefSubject/RefBigDecimal.d.ts +241 -21
- package/dist/RefSubject/RefBigDecimal.d.ts.map +1 -1
- package/dist/RefSubject/RefBigDecimal.js +229 -20
- package/dist/RefSubject/RefBigInt.d.ts +181 -16
- package/dist/RefSubject/RefBigInt.d.ts.map +1 -1
- package/dist/RefSubject/RefBigInt.js +169 -15
- package/dist/RefSubject/RefBoolean.d.ts +181 -16
- package/dist/RefSubject/RefBoolean.d.ts.map +1 -1
- package/dist/RefSubject/RefBoolean.js +169 -15
- package/dist/RefSubject/RefCause.d.ts +133 -12
- package/dist/RefSubject/RefCause.d.ts.map +1 -1
- package/dist/RefSubject/RefCause.js +121 -11
- package/dist/RefSubject/RefChunk.d.ts +481 -76
- package/dist/RefSubject/RefChunk.d.ts.map +1 -1
- package/dist/RefSubject/RefChunk.js +471 -75
- package/dist/RefSubject/RefDateTime.d.ts +133 -12
- package/dist/RefSubject/RefDateTime.d.ts.map +1 -1
- package/dist/RefSubject/RefDateTime.js +122 -12
- package/dist/RefSubject/RefDuration.d.ts +169 -15
- package/dist/RefSubject/RefDuration.d.ts.map +1 -1
- package/dist/RefSubject/RefDuration.js +157 -14
- package/dist/RefSubject/RefGraph.d.ts +349 -35
- package/dist/RefSubject/RefGraph.d.ts.map +1 -1
- package/dist/RefSubject/RefGraph.js +334 -32
- package/dist/RefSubject/RefHashMap.d.ts +323 -28
- package/dist/RefSubject/RefHashMap.d.ts.map +1 -1
- package/dist/RefSubject/RefHashMap.js +317 -29
- package/dist/RefSubject/RefHashRing.d.ts +159 -15
- package/dist/RefSubject/RefHashRing.d.ts.map +1 -1
- package/dist/RefSubject/RefHashRing.js +145 -12
- package/dist/RefSubject/RefHashSet.d.ts +251 -22
- package/dist/RefSubject/RefHashSet.d.ts.map +1 -1
- package/dist/RefSubject/RefHashSet.js +238 -20
- package/dist/RefSubject/RefIterable.d.ts +358 -32
- package/dist/RefSubject/RefIterable.d.ts.map +1 -1
- package/dist/RefSubject/RefIterable.js +350 -30
- package/dist/RefSubject/RefOption.d.ts +157 -14
- package/dist/RefSubject/RefOption.d.ts.map +1 -1
- package/dist/RefSubject/RefOption.js +145 -13
- package/dist/RefSubject/RefRecord.d.ts +402 -64
- package/dist/RefSubject/RefRecord.d.ts.map +1 -1
- package/dist/RefSubject/RefRecord.js +364 -39
- package/dist/RefSubject/RefResult.d.ts +167 -35
- package/dist/RefSubject/RefResult.d.ts.map +1 -1
- package/dist/RefSubject/RefResult.js +133 -12
- package/dist/RefSubject/RefString.d.ts +205 -18
- package/dist/RefSubject/RefString.d.ts.map +1 -1
- package/dist/RefSubject/RefString.js +193 -17
- package/dist/RefSubject/RefStruct.d.ts +169 -14
- package/dist/RefSubject/RefStruct.d.ts.map +1 -1
- package/dist/RefSubject/RefStruct.js +157 -13
- package/dist/RefSubject/RefSubject.d.ts +1197 -45
- package/dist/RefSubject/RefSubject.d.ts.map +1 -1
- package/dist/RefSubject/RefSubject.js +935 -88
- package/dist/RefSubject/RefTrie.d.ts +323 -37
- package/dist/RefSubject/RefTrie.d.ts.map +1 -1
- package/dist/RefSubject/RefTrie.js +311 -31
- package/dist/RefSubject/RefTuple.d.ts +127 -11
- package/dist/RefSubject/RefTuple.d.ts.map +1 -1
- package/dist/RefSubject/RefTuple.js +114 -9
- package/dist/RefSubject/index.d.ts +1 -0
- package/dist/RefSubject/index.d.ts.map +1 -1
- package/dist/RefSubject/index.js +1 -0
- package/dist/RefSubject.d.ts +2 -1
- package/dist/RefSubject.d.ts.map +1 -1
- package/dist/RefSubject.js +2 -1
- package/dist/RefTrie.d.ts +2 -0
- package/dist/RefTrie.d.ts.map +1 -0
- package/dist/RefTrie.js +1 -0
- package/dist/RefTuple.d.ts +2 -0
- package/dist/RefTuple.d.ts.map +1 -0
- package/dist/RefTuple.js +1 -0
- package/dist/Sink/Sink.d.ts +396 -23
- package/dist/Sink/Sink.d.ts.map +1 -1
- package/dist/Sink/Sink.js +55 -7
- package/dist/Sink/combinators.d.ts +740 -11
- package/dist/Sink/combinators.d.ts.map +1 -1
- package/dist/Sink/combinators.js +716 -14
- package/dist/Subject/Subject.d.ts +1022 -27
- package/dist/Subject/Subject.d.ts.map +1 -1
- package/dist/Subject/Subject.js +909 -43
- package/dist/Versioned/Versioned.d.ts +447 -27
- package/dist/Versioned/Versioned.d.ts.map +1 -1
- package/dist/Versioned/Versioned.js +282 -48
- package/dist/index.d.ts +22 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -3
- package/package.json +126 -16
- package/dist/Fx/constructors/fromYieldable.d.ts +0 -12
- package/dist/Fx/constructors/fromYieldable.d.ts.map +0 -1
- package/dist/Fx/constructors/fromYieldable.js +0 -12
- package/src/Fx/Fx.ts +0 -164
- package/src/Fx/TypeId.ts +0 -25
- package/src/Fx/combinators/additive.ts +0 -142
- package/src/Fx/combinators/catch.ts +0 -421
- package/src/Fx/combinators/causes.ts +0 -23
- package/src/Fx/combinators/changesWithEffect.ts +0 -66
- package/src/Fx/combinators/compact.ts +0 -15
- package/src/Fx/combinators/continueWith.ts +0 -78
- package/src/Fx/combinators/dropUntil.ts +0 -47
- package/src/Fx/combinators/ensuring.ts +0 -23
- package/src/Fx/combinators/exhaustLatestMap.ts +0 -74
- package/src/Fx/combinators/exhaustLatestMapEffect.ts +0 -25
- package/src/Fx/combinators/exhaustMap.ts +0 -36
- package/src/Fx/combinators/exhaustMapEffect.ts +0 -23
- package/src/Fx/combinators/exit.ts +0 -15
- package/src/Fx/combinators/filter.ts +0 -22
- package/src/Fx/combinators/filterEffect.ts +0 -31
- package/src/Fx/combinators/filterMap.ts +0 -23
- package/src/Fx/combinators/filterMapEffect.ts +0 -32
- package/src/Fx/combinators/filterMapLoop.ts +0 -35
- package/src/Fx/combinators/filterMapLoopCause.ts +0 -36
- package/src/Fx/combinators/filterMapLoopCauseEffect.ts +0 -46
- package/src/Fx/combinators/filterMapLoopEffect.ts +0 -36
- package/src/Fx/combinators/flatMap.ts +0 -51
- package/src/Fx/combinators/flatMapConcurrently.ts +0 -39
- package/src/Fx/combinators/flatMapConcurrentlyEffect.ts +0 -26
- package/src/Fx/combinators/flatMapEffect.ts +0 -42
- package/src/Fx/combinators/flip.ts +0 -14
- package/src/Fx/combinators/gen.ts +0 -24
- package/src/Fx/combinators/genScoped.ts +0 -24
- package/src/Fx/combinators/index.ts +0 -61
- package/src/Fx/combinators/keyed.ts +0 -369
- package/src/Fx/combinators/loop.ts +0 -27
- package/src/Fx/combinators/loopCause.ts +0 -34
- package/src/Fx/combinators/loopCauseEffect.ts +0 -36
- package/src/Fx/combinators/loopEffect.ts +0 -34
- package/src/Fx/combinators/map.ts +0 -22
- package/src/Fx/combinators/mapBoth.ts +0 -40
- package/src/Fx/combinators/mapEffect.ts +0 -32
- package/src/Fx/combinators/mapError.ts +0 -28
- package/src/Fx/combinators/mergeAll.ts +0 -22
- package/src/Fx/combinators/mergeOrdered.ts +0 -123
- package/src/Fx/combinators/onError.ts +0 -40
- package/src/Fx/combinators/onExit.ts +0 -82
- package/src/Fx/combinators/onInterrupt.ts +0 -87
- package/src/Fx/combinators/provide.ts +0 -124
- package/src/Fx/combinators/result.ts +0 -39
- package/src/Fx/combinators/scan.ts +0 -82
- package/src/Fx/combinators/skip.ts +0 -41
- package/src/Fx/combinators/skipRepeats.ts +0 -15
- package/src/Fx/combinators/skipRepeatsWith.ts +0 -40
- package/src/Fx/combinators/skipWhile.ts +0 -100
- package/src/Fx/combinators/slice.ts +0 -55
- package/src/Fx/combinators/switchMap.ts +0 -55
- package/src/Fx/combinators/switchMapEffect.ts +0 -25
- package/src/Fx/combinators/take.ts +0 -38
- package/src/Fx/combinators/takeUntil.ts +0 -88
- package/src/Fx/combinators/takeWhile.ts +0 -47
- package/src/Fx/combinators/tapEffect.ts +0 -39
- package/src/Fx/combinators/tuple.ts +0 -79
- package/src/Fx/combinators/unwrap.ts +0 -21
- package/src/Fx/combinators/unwrapScoped.ts +0 -26
- package/src/Fx/combinators/when.ts +0 -64
- package/src/Fx/combinators/withSpan.ts +0 -24
- package/src/Fx/combinators/zip.ts +0 -175
- package/src/Fx/constructors/at.ts +0 -23
- package/src/Fx/constructors/die.ts +0 -17
- package/src/Fx/constructors/empty.ts +0 -10
- package/src/Fx/constructors/fail.ts +0 -14
- package/src/Fx/constructors/failCause.ts +0 -14
- package/src/Fx/constructors/fn.ts +0 -245
- package/src/Fx/constructors/fromEffect.ts +0 -24
- package/src/Fx/constructors/fromFailures.ts +0 -19
- package/src/Fx/constructors/fromIterable.ts +0 -15
- package/src/Fx/constructors/fromSchedule.ts +0 -18
- package/src/Fx/constructors/fromYieldable.ts +0 -17
- package/src/Fx/constructors/index.ts +0 -15
- package/src/Fx/constructors/interrupt.ts +0 -13
- package/src/Fx/constructors/make.ts +0 -103
- package/src/Fx/constructors/periodic.ts +0 -15
- package/src/Fx/constructors/succeed.ts +0 -37
- package/src/Fx/constructors/suspend.ts +0 -6
- package/src/Fx/index.ts +0 -6
- package/src/Fx/internal/DeferredRef.ts +0 -87
- package/src/Fx/internal/UnionToTuple.ts +0 -12
- package/src/Fx/internal/diff.ts +0 -191
- package/src/Fx/internal/equivalence.ts +0 -12
- package/src/Fx/internal/multicast.ts +0 -51
- package/src/Fx/internal/ring-buffer.ts +0 -60
- package/src/Fx/internal/scope.ts +0 -58
- package/src/Fx/internal/yieldable.ts +0 -31
- package/src/Fx/run/collect.ts +0 -79
- package/src/Fx/run/first.ts +0 -20
- package/src/Fx/run/fork.ts +0 -40
- package/src/Fx/run/index.ts +0 -5
- package/src/Fx/run/observe.ts +0 -114
- package/src/Fx/run/runPromise.ts +0 -32
- package/src/Fx/stream.ts +0 -42
- package/src/Fx.additive-combinators.test.ts +0 -126
- package/src/Fx.catch-additive.test.ts +0 -206
- package/src/Fx.catch.test.ts +0 -60
- package/src/Fx.dropUntil.test.ts +0 -61
- package/src/Fx.fn.test.ts +0 -51
- package/src/Fx.lifecycle.test.ts +0 -79
- package/src/Fx.mapError-mapBoth.test.ts +0 -101
- package/src/Fx.provide-combinators.test.ts +0 -94
- package/src/Fx.result-changesWithEffect.test.ts +0 -112
- package/src/Fx.scan.test.ts +0 -73
- package/src/Fx.takeWhile-skipWhile.test.ts +0 -84
- package/src/Fx.test.ts +0 -71
- package/src/Fx.ts +0 -1
- package/src/Fx.zip-merge-additive.test.ts +0 -171
- package/src/Fx.zip.test.ts +0 -133
- package/src/Push/Push.ts +0 -1072
- package/src/Push/index.ts +0 -1
- package/src/Push.additive.test.ts +0 -256
- package/src/Push.test.ts +0 -26
- package/src/Push.ts +0 -1
- package/src/RefSubject/RefArray.ts +0 -512
- package/src/RefSubject/RefBigDecimal.test.ts +0 -56
- package/src/RefSubject/RefBigDecimal.ts +0 -295
- package/src/RefSubject/RefBigInt.test.ts +0 -56
- package/src/RefSubject/RefBigInt.ts +0 -189
- package/src/RefSubject/RefBoolean.test.ts +0 -57
- package/src/RefSubject/RefBoolean.ts +0 -185
- package/src/RefSubject/RefCause.test.ts +0 -53
- package/src/RefSubject/RefCause.ts +0 -146
- package/src/RefSubject/RefChunk.ts +0 -510
- package/src/RefSubject/RefDateTime.test.ts +0 -43
- package/src/RefSubject/RefDateTime.ts +0 -264
- package/src/RefSubject/RefDuration.test.ts +0 -49
- package/src/RefSubject/RefDuration.ts +0 -188
- package/src/RefSubject/RefGraph.ts +0 -650
- package/src/RefSubject/RefHashMap.ts +0 -465
- package/src/RefSubject/RefHashRing.ts +0 -262
- package/src/RefSubject/RefHashSet.ts +0 -308
- package/src/RefSubject/RefIterable.ts +0 -445
- package/src/RefSubject/RefOption.test.ts +0 -67
- package/src/RefSubject/RefOption.ts +0 -193
- package/src/RefSubject/RefRecord.ts +0 -612
- package/src/RefSubject/RefResult.test.ts +0 -63
- package/src/RefSubject/RefResult.ts +0 -209
- package/src/RefSubject/RefString.test.ts +0 -61
- package/src/RefSubject/RefString.ts +0 -256
- package/src/RefSubject/RefStruct.test.ts +0 -60
- package/src/RefSubject/RefStruct.ts +0 -253
- package/src/RefSubject/RefSubject.ts +0 -2646
- package/src/RefSubject/RefTrie.ts +0 -356
- package/src/RefSubject/RefTuple.test.ts +0 -60
- package/src/RefSubject/RefTuple.ts +0 -231
- package/src/RefSubject/index.ts +0 -21
- package/src/RefSubject.additive-parity.test.ts +0 -101
- package/src/RefSubject.test.ts +0 -65
- package/src/RefSubject.ts +0 -1
- package/src/Sink/Sink.ts +0 -159
- package/src/Sink/combinators.ts +0 -1115
- package/src/Sink/index.ts +0 -2
- package/src/Sink.combinators.test.ts +0 -88
- package/src/Sink.reduce-collect-head-last.test.ts +0 -107
- package/src/Sink.ts +0 -1
- package/src/Subject/Subject.ts +0 -441
- package/src/Subject/index.ts +0 -1
- package/src/Subject.test.ts +0 -47
- package/src/Subject.ts +0 -1
- package/src/Versioned/Versioned.ts +0 -597
- package/src/Versioned/index.ts +0 -1
- package/src/Versioned.filterMap.test.ts +0 -91
- package/src/Versioned.test.ts +0 -23
- package/src/Versioned.ts +0 -1
- package/src/index.ts +0 -7
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import type { SpanOptionsNoTrace } from "effect/Tracer";
|
|
3
|
-
import { make as makeSink, type Sink } from "../../Sink/Sink.js";
|
|
4
|
-
import { make } from "../constructors/make.js";
|
|
5
|
-
import type { Fx } from "../Fx.js";
|
|
6
|
-
|
|
7
|
-
export const withSpan = <A, E, R>(
|
|
8
|
-
fx: Fx<A, E, R>,
|
|
9
|
-
name: string,
|
|
10
|
-
options?: SpanOptionsNoTrace,
|
|
11
|
-
): Fx<A, E, R> => {
|
|
12
|
-
return make<A, E, R>(<RSink>(sink: Sink<A, E, RSink>) =>
|
|
13
|
-
Effect.withSpan(
|
|
14
|
-
fx.run(
|
|
15
|
-
makeSink(
|
|
16
|
-
(cause) => Effect.withSpan(sink.onFailure(cause), `onFailure(${name})`, options),
|
|
17
|
-
(value) => Effect.withSpan(sink.onSuccess(value), `onSuccess(${name})`, options),
|
|
18
|
-
),
|
|
19
|
-
),
|
|
20
|
-
`Fx(${name})`,
|
|
21
|
-
options,
|
|
22
|
-
),
|
|
23
|
-
);
|
|
24
|
-
};
|
|
@@ -1,175 +0,0 @@
|
|
|
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 type { Fx } from "../Fx.js";
|
|
10
|
-
import { map } from "./map.js";
|
|
11
|
-
import { tuple } from "./tuple.js";
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Zips two Fx streams in strict lockstep: emits a pair `[a, b]` only when both
|
|
15
|
-
* streams have produced their next value. Emits the i-th pair when both have
|
|
16
|
-
* produced at least i values.
|
|
17
|
-
*
|
|
18
|
-
* **Completion:** The zipped stream completes when the **first** of the two
|
|
19
|
-
* streams completes (no further pairs are emitted). The other stream is
|
|
20
|
-
* interrupted.
|
|
21
|
-
*
|
|
22
|
-
* **Errors:** The first failure from either stream fails the zipped stream.
|
|
23
|
-
*
|
|
24
|
-
* @param that - The second Fx stream.
|
|
25
|
-
* @returns An Fx that emits pairs `[A, B]`.
|
|
26
|
-
* @since 1.0.0
|
|
27
|
-
* @category combinators
|
|
28
|
-
*/
|
|
29
|
-
export const zip: {
|
|
30
|
-
<A2, E2, R2>(
|
|
31
|
-
that: Fx<A2, E2, R2>,
|
|
32
|
-
): <A, E, R>(self: Fx<A, E, R>) => Fx<readonly [A, A2], E | E2, R | R2>;
|
|
33
|
-
<A, E, R, A2, E2, R2>(
|
|
34
|
-
self: Fx<A, E, R>,
|
|
35
|
-
that: Fx<A2, E2, R2>,
|
|
36
|
-
): Fx<readonly [A, A2], E | E2, R | R2>;
|
|
37
|
-
} = dual(
|
|
38
|
-
2,
|
|
39
|
-
<A, E, R, A2, E2, R2>(
|
|
40
|
-
self: Fx<A, E, R>,
|
|
41
|
-
that: Fx<A2, E2, R2>,
|
|
42
|
-
): Fx<readonly [A, A2], E | E2, R | R2> =>
|
|
43
|
-
make<readonly [A, A2], E | E2, R | R2>((sink) =>
|
|
44
|
-
Effect.gen(function* () {
|
|
45
|
-
const leftQueue = yield* Queue.unbounded<Option.Option<A>>();
|
|
46
|
-
const rightQueue = yield* Queue.unbounded<Option.Option<A2>>();
|
|
47
|
-
|
|
48
|
-
const leftSink = makeSink(sink.onFailure, (a: A) => Queue.offer(leftQueue, Option.some(a)));
|
|
49
|
-
const rightSink = makeSink(sink.onFailure, (b: A2) =>
|
|
50
|
-
Queue.offer(rightQueue, Option.some(b)),
|
|
51
|
-
);
|
|
52
|
-
|
|
53
|
-
const runLeft = self
|
|
54
|
-
.run(leftSink)
|
|
55
|
-
.pipe(Effect.ensuring(Queue.offer(leftQueue, Option.none())));
|
|
56
|
-
const runRight = that
|
|
57
|
-
.run(rightSink)
|
|
58
|
-
.pipe(Effect.ensuring(Queue.offer(rightQueue, Option.none())));
|
|
59
|
-
|
|
60
|
-
const consumer = Effect.gen(function* () {
|
|
61
|
-
while (true) {
|
|
62
|
-
const exitA = yield* Effect.exit(Queue.take(leftQueue));
|
|
63
|
-
if (Exit.isFailure(exitA)) return;
|
|
64
|
-
if (Option.isNone(exitA.value)) return;
|
|
65
|
-
const exitB = yield* Effect.exit(Queue.take(rightQueue));
|
|
66
|
-
if (Exit.isFailure(exitB)) return;
|
|
67
|
-
if (Option.isNone(exitB.value)) return;
|
|
68
|
-
yield* sink.onSuccess([exitA.value.value, exitB.value.value] as const);
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
const leftFiber = yield* Effect.forkChild(runLeft);
|
|
73
|
-
const rightFiber = yield* Effect.forkChild(runRight);
|
|
74
|
-
yield* consumer.pipe(
|
|
75
|
-
Effect.ensuring(Fiber.interrupt(leftFiber)),
|
|
76
|
-
Effect.ensuring(Fiber.interrupt(rightFiber)),
|
|
77
|
-
);
|
|
78
|
-
}),
|
|
79
|
-
),
|
|
80
|
-
);
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Zips two Fx streams in strict lockstep and combines each pair with a function.
|
|
84
|
-
* Emits `f(a, b)` when both streams have produced their next value.
|
|
85
|
-
*
|
|
86
|
-
* **Completion:** Completes when the **first** of the two streams completes.
|
|
87
|
-
* **Errors:** The first failure from either stream fails the result.
|
|
88
|
-
*
|
|
89
|
-
* @param that - The second Fx stream.
|
|
90
|
-
* @param f - Function to combine the pair `(a, b)` into a single value.
|
|
91
|
-
* @returns An Fx that emits combined values.
|
|
92
|
-
* @since 1.0.0
|
|
93
|
-
* @category combinators
|
|
94
|
-
*/
|
|
95
|
-
export const zipWith: {
|
|
96
|
-
<A, A2, E2, R2, B>(
|
|
97
|
-
that: Fx<A2, E2, R2>,
|
|
98
|
-
f: (a: A, b: A2) => B,
|
|
99
|
-
): <E, R>(self: Fx<A, E, R>) => Fx<B, E | E2, R | R2>;
|
|
100
|
-
<A, E, R, A2, E2, R2, B>(
|
|
101
|
-
self: Fx<A, E, R>,
|
|
102
|
-
that: Fx<A2, E2, R2>,
|
|
103
|
-
f: (a: A, b: A2) => B,
|
|
104
|
-
): Fx<B, E | E2, R | R2>;
|
|
105
|
-
} = dual(
|
|
106
|
-
3,
|
|
107
|
-
<A, E, R, A2, E2, R2, B>(
|
|
108
|
-
self: Fx<A, E, R>,
|
|
109
|
-
that: Fx<A2, E2, R2>,
|
|
110
|
-
f: (a: A, b: A2) => B,
|
|
111
|
-
): Fx<B, E | E2, R | R2> => map(zip(self, that), (pair) => f(pair[0], pair[1])),
|
|
112
|
-
);
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Zips two Fx streams by latest values: waits for both to emit at least once,
|
|
116
|
-
* then emits `[left, right]` whenever **either** stream emits (using the latest
|
|
117
|
-
* value from the other). No strict pairing; output count is the sum of
|
|
118
|
-
* emissions from both after the first pair.
|
|
119
|
-
*
|
|
120
|
-
* **Completion:** Completes when **both** streams have completed.
|
|
121
|
-
* **Errors:** The first failure from either stream fails the result.
|
|
122
|
-
*
|
|
123
|
-
* @param that - The second Fx stream.
|
|
124
|
-
* @returns An Fx that emits `[AL, AR]` on every update from either stream.
|
|
125
|
-
* @since 1.0.0
|
|
126
|
-
* @category combinators
|
|
127
|
-
*/
|
|
128
|
-
export const zipLatest: {
|
|
129
|
-
<AR, ER, RR>(
|
|
130
|
-
that: Fx<AR, ER, RR>,
|
|
131
|
-
): <AL, EL, RL>(self: Fx<AL, EL, RL>) => Fx<readonly [AL, AR], EL | ER, RL | RR>;
|
|
132
|
-
<AL, EL, RL, AR, ER, RR>(
|
|
133
|
-
self: Fx<AL, EL, RL>,
|
|
134
|
-
that: Fx<AR, ER, RR>,
|
|
135
|
-
): Fx<readonly [AL, AR], EL | ER, RL | RR>;
|
|
136
|
-
} = dual(
|
|
137
|
-
2,
|
|
138
|
-
<AL, EL, RL, AR, ER, RR>(
|
|
139
|
-
self: Fx<AL, EL, RL>,
|
|
140
|
-
that: Fx<AR, ER, RR>,
|
|
141
|
-
): Fx<readonly [AL, AR], EL | ER, RL | RR> => tuple(self, that),
|
|
142
|
-
);
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Zips two Fx streams by latest values and combines each pair with a function.
|
|
146
|
-
* Waits for both to emit at least once, then emits `f(left, right)` whenever
|
|
147
|
-
* either stream emits.
|
|
148
|
-
*
|
|
149
|
-
* **Completion:** Completes when **both** streams have completed.
|
|
150
|
-
* **Errors:** The first failure from either stream fails the result.
|
|
151
|
-
*
|
|
152
|
-
* @param that - The second Fx stream.
|
|
153
|
-
* @param f - Function to combine the latest `(left, right)` into a single value.
|
|
154
|
-
* @returns An Fx that emits combined values.
|
|
155
|
-
* @since 1.0.0
|
|
156
|
-
* @category combinators
|
|
157
|
-
*/
|
|
158
|
-
export const zipLatestWith: {
|
|
159
|
-
<AL, AR, ER, RR, B>(
|
|
160
|
-
that: Fx<AR, ER, RR>,
|
|
161
|
-
f: (left: AL, right: AR) => B,
|
|
162
|
-
): <EL, RL>(self: Fx<AL, EL, RL>) => Fx<B, EL | ER, RL | RR>;
|
|
163
|
-
<AL, EL, RL, AR, ER, RR, B>(
|
|
164
|
-
self: Fx<AL, EL, RL>,
|
|
165
|
-
that: Fx<AR, ER, RR>,
|
|
166
|
-
f: (left: AL, right: AR) => B,
|
|
167
|
-
): Fx<B, EL | ER, RL | RR>;
|
|
168
|
-
} = dual(
|
|
169
|
-
3,
|
|
170
|
-
<AL, EL, RL, AR, ER, RR, B>(
|
|
171
|
-
self: Fx<AL, EL, RL>,
|
|
172
|
-
that: Fx<AR, ER, RR>,
|
|
173
|
-
f: (left: AL, right: AR) => B,
|
|
174
|
-
): Fx<B, EL | ER, RL | RR> => map(zipLatest(self, that), (pair) => f(pair[0], pair[1])),
|
|
175
|
-
);
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type * as Duration from "effect/Duration";
|
|
2
|
-
import { flatMap, sleep } from "effect/Effect";
|
|
3
|
-
import { dual } from "effect/Function";
|
|
4
|
-
import type { Fx } from "../Fx.js";
|
|
5
|
-
import { make } from "./make.js";
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Creates an Fx that emits a single value after a specified delay.
|
|
9
|
-
*
|
|
10
|
-
* @param value - The value to emit.
|
|
11
|
-
* @param delay - The duration to wait before emitting.
|
|
12
|
-
* @returns An `Fx` that emits the value after the delay.
|
|
13
|
-
* @since 1.0.0
|
|
14
|
-
* @category constructors
|
|
15
|
-
*/
|
|
16
|
-
export const at: {
|
|
17
|
-
(delay: Duration.Input): <A>(value: A) => Fx<A>;
|
|
18
|
-
<A>(value: A, delay: Duration.Input): Fx<A>;
|
|
19
|
-
} = dual(
|
|
20
|
-
2,
|
|
21
|
-
<A>(value: A, delay: Duration.Input): Fx<A> =>
|
|
22
|
-
make<A, never, never>((sink) => flatMap(sleep(delay), () => sink.onSuccess(value))),
|
|
23
|
-
);
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import * as Cause from "effect/Cause";
|
|
2
|
-
import { flow } from "effect/Function";
|
|
3
|
-
import type { Fx } from "../Fx.js";
|
|
4
|
-
import { failCause } from "./failCause.js";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Creates an Fx that immediately terminates with a defect (unexpected error).
|
|
8
|
-
*
|
|
9
|
-
* @param defect - The defect value.
|
|
10
|
-
* @returns An `Fx` that dies immediately.
|
|
11
|
-
* @since 1.0.0
|
|
12
|
-
* @category constructors
|
|
13
|
-
*/
|
|
14
|
-
export const die: (defect: unknown) => Fx<never, never, never> = /*#__PURE__*/ flow(
|
|
15
|
-
Cause.die,
|
|
16
|
-
failCause,
|
|
17
|
-
);
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { void as void_ } from "effect/Effect";
|
|
2
|
-
import type { Fx } from "../Fx.js";
|
|
3
|
-
import { make } from "./make.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* An Fx that emits no values and completes immediately.
|
|
7
|
-
* @since 1.0.0
|
|
8
|
-
* @category constructors
|
|
9
|
-
*/
|
|
10
|
-
export const empty: Fx<never, never, never> = make<never, never, never>(() => void_);
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as Cause from "effect/Cause";
|
|
2
|
-
import { flow } from "effect/Function";
|
|
3
|
-
import type { Fx } from "../Fx.js";
|
|
4
|
-
import { failCause } from "./failCause.js";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Creates an Fx that immediately fails with the specified error.
|
|
8
|
-
*
|
|
9
|
-
* @param error - The error to fail with.
|
|
10
|
-
* @returns An `Fx` that fails immediately.
|
|
11
|
-
* @since 1.0.0
|
|
12
|
-
* @category constructors
|
|
13
|
-
*/
|
|
14
|
-
export const fail: <E>(error: E) => Fx<never, E, never> = /*#__PURE__*/ flow(Cause.fail, failCause);
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type * as Cause from "effect/Cause";
|
|
2
|
-
import type { Fx } from "../Fx.js";
|
|
3
|
-
import { make } from "./make.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Creates an Fx that immediately terminates with the specified Cause.
|
|
7
|
-
*
|
|
8
|
-
* @param cause - The cause of failure.
|
|
9
|
-
* @returns An `Fx` that terminates with the given cause.
|
|
10
|
-
* @since 1.0.0
|
|
11
|
-
* @category constructors
|
|
12
|
-
*/
|
|
13
|
-
export const failCause = <E>(cause: Cause.Cause<E>): Fx<never, E, never> =>
|
|
14
|
-
/*#__PURE__*/ make<never, E, never>((sink) => sink.onFailure(cause));
|
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import type { SpanOptionsNoTrace } from "effect/Tracer";
|
|
3
|
-
import type { unassigned } from "effect/Types";
|
|
4
|
-
import { unwrap } from "../combinators/unwrap.js";
|
|
5
|
-
import type { Fx } from "../Fx.js";
|
|
6
|
-
import { isFx } from "../TypeId.js";
|
|
7
|
-
|
|
8
|
-
/** Extract error type from Yieldable (Effect v4 has no Yieldable.Error) */
|
|
9
|
-
type _YieldableError<Y> = Y extends Effect.Yieldable<any, any, infer E, any> ? E : never;
|
|
10
|
-
/** Extract services type from Yieldable (Effect v4 has no Yieldable.Services) */
|
|
11
|
-
type _YieldableServices<Y> = Y extends Effect.Yieldable<any, any, any, infer R> ? R : never;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* @since 1.0.0
|
|
15
|
-
* @category function
|
|
16
|
-
*/
|
|
17
|
-
export namespace fn {
|
|
18
|
-
/**
|
|
19
|
-
* @since 1.0.0
|
|
20
|
-
* @category models
|
|
21
|
-
*/
|
|
22
|
-
export type Gen = {
|
|
23
|
-
<
|
|
24
|
-
Eff extends Effect.Yieldable<any, any, any, any>,
|
|
25
|
-
ReturnFx extends Fx.Any,
|
|
26
|
-
Args extends Array<any>,
|
|
27
|
-
>(
|
|
28
|
-
body: (this: unassigned, ...args: Args) => Generator<Eff, ReturnFx>,
|
|
29
|
-
): (
|
|
30
|
-
...args: Args
|
|
31
|
-
) => Fx<
|
|
32
|
-
Fx.Success<ReturnFx>,
|
|
33
|
-
Fx.Error<ReturnFx> | _YieldableError<Eff>,
|
|
34
|
-
Fx.Services<ReturnFx> | _YieldableServices<Eff>
|
|
35
|
-
>;
|
|
36
|
-
<
|
|
37
|
-
Self,
|
|
38
|
-
Eff extends Effect.Yieldable<any, any, any, any>,
|
|
39
|
-
ReturnFx extends Fx.Any,
|
|
40
|
-
Args extends Array<any>,
|
|
41
|
-
>(
|
|
42
|
-
body: (this: Self, ...args: Args) => Generator<Eff, ReturnFx>,
|
|
43
|
-
): (
|
|
44
|
-
this: Self,
|
|
45
|
-
...args: Args
|
|
46
|
-
) => Fx<
|
|
47
|
-
Fx.Success<ReturnFx>,
|
|
48
|
-
Fx.Error<ReturnFx> | _YieldableError<Eff>,
|
|
49
|
-
Fx.Services<ReturnFx> | _YieldableServices<Eff>
|
|
50
|
-
>;
|
|
51
|
-
|
|
52
|
-
<
|
|
53
|
-
Eff extends Effect.Yieldable<any, any, any, any>,
|
|
54
|
-
ReturnFx extends Fx.Any,
|
|
55
|
-
Args extends Array<any>,
|
|
56
|
-
A,
|
|
57
|
-
>(
|
|
58
|
-
body: (this: unassigned, ...args: Args) => Generator<Eff, ReturnFx>,
|
|
59
|
-
a: (
|
|
60
|
-
_: Fx<
|
|
61
|
-
Fx.Success<ReturnFx>,
|
|
62
|
-
Fx.Error<ReturnFx> | _YieldableError<Eff>,
|
|
63
|
-
Fx.Services<ReturnFx> | _YieldableServices<Eff>
|
|
64
|
-
>,
|
|
65
|
-
...args: Args
|
|
66
|
-
) => A,
|
|
67
|
-
): (...args: Args) => A;
|
|
68
|
-
<
|
|
69
|
-
Self,
|
|
70
|
-
Eff extends Effect.Yieldable<any, any, any, any>,
|
|
71
|
-
ReturnFx extends Fx.Any,
|
|
72
|
-
Args extends Array<any>,
|
|
73
|
-
A,
|
|
74
|
-
>(
|
|
75
|
-
body: (this: Self, ...args: Args) => Generator<Eff, ReturnFx>,
|
|
76
|
-
a: (
|
|
77
|
-
_: Fx<
|
|
78
|
-
Fx.Success<ReturnFx>,
|
|
79
|
-
Fx.Error<ReturnFx> | _YieldableError<Eff>,
|
|
80
|
-
Fx.Services<ReturnFx> | _YieldableServices<Eff>
|
|
81
|
-
>,
|
|
82
|
-
...args: Args
|
|
83
|
-
) => A,
|
|
84
|
-
): (this: Self, ...args: Args) => A;
|
|
85
|
-
|
|
86
|
-
<
|
|
87
|
-
Eff extends Effect.Yieldable<any, any, any, any>,
|
|
88
|
-
ReturnFx extends Fx.Any,
|
|
89
|
-
Args extends Array<any>,
|
|
90
|
-
A,
|
|
91
|
-
B,
|
|
92
|
-
>(
|
|
93
|
-
body: (this: unassigned, ...args: Args) => Generator<Eff, ReturnFx>,
|
|
94
|
-
a: (
|
|
95
|
-
_: Fx<
|
|
96
|
-
Fx.Success<ReturnFx>,
|
|
97
|
-
Fx.Error<ReturnFx> | _YieldableError<Eff>,
|
|
98
|
-
Fx.Services<ReturnFx> | _YieldableServices<Eff>
|
|
99
|
-
>,
|
|
100
|
-
...args: Args
|
|
101
|
-
) => A,
|
|
102
|
-
b: (_: A, ...args: Args) => B,
|
|
103
|
-
): (...args: Args) => B;
|
|
104
|
-
<
|
|
105
|
-
Self,
|
|
106
|
-
Eff extends Effect.Yieldable<any, any, any, any>,
|
|
107
|
-
ReturnFx extends Fx.Any,
|
|
108
|
-
Args extends Array<any>,
|
|
109
|
-
A,
|
|
110
|
-
B,
|
|
111
|
-
>(
|
|
112
|
-
body: (this: Self, ...args: Args) => Generator<Eff, ReturnFx>,
|
|
113
|
-
a: (
|
|
114
|
-
_: Fx<
|
|
115
|
-
Fx.Success<ReturnFx>,
|
|
116
|
-
Fx.Error<ReturnFx> | _YieldableError<Eff>,
|
|
117
|
-
Fx.Services<ReturnFx> | _YieldableServices<Eff>
|
|
118
|
-
>,
|
|
119
|
-
...args: Args
|
|
120
|
-
) => A,
|
|
121
|
-
b: (_: A, ...args: Args) => B,
|
|
122
|
-
): (this: Self, ...args: Args) => B;
|
|
123
|
-
|
|
124
|
-
<
|
|
125
|
-
Eff extends Effect.Yieldable<any, any, any, any>,
|
|
126
|
-
ReturnFx extends Fx.Any,
|
|
127
|
-
Args extends Array<any>,
|
|
128
|
-
A,
|
|
129
|
-
B,
|
|
130
|
-
C,
|
|
131
|
-
>(
|
|
132
|
-
body: (this: unassigned, ...args: Args) => Generator<Eff, ReturnFx>,
|
|
133
|
-
a: (
|
|
134
|
-
_: Fx<
|
|
135
|
-
Fx.Success<ReturnFx>,
|
|
136
|
-
Fx.Error<ReturnFx> | _YieldableError<Eff>,
|
|
137
|
-
Fx.Services<ReturnFx> | _YieldableServices<Eff>
|
|
138
|
-
>,
|
|
139
|
-
...args: Args
|
|
140
|
-
) => A,
|
|
141
|
-
b: (_: A, ...args: Args) => B,
|
|
142
|
-
c: (_: B, ...args: Args) => C,
|
|
143
|
-
): (...args: Args) => C;
|
|
144
|
-
<
|
|
145
|
-
Self,
|
|
146
|
-
Eff extends Effect.Yieldable<any, any, any, any>,
|
|
147
|
-
ReturnFx extends Fx.Any,
|
|
148
|
-
Args extends Array<any>,
|
|
149
|
-
A,
|
|
150
|
-
B,
|
|
151
|
-
C,
|
|
152
|
-
>(
|
|
153
|
-
body: (this: Self, ...args: Args) => Generator<Eff, ReturnFx>,
|
|
154
|
-
a: (
|
|
155
|
-
_: Fx<
|
|
156
|
-
Fx.Success<ReturnFx>,
|
|
157
|
-
Fx.Error<ReturnFx> | _YieldableError<Eff>,
|
|
158
|
-
Fx.Services<ReturnFx> | _YieldableServices<Eff>
|
|
159
|
-
>,
|
|
160
|
-
...args: Args
|
|
161
|
-
) => A,
|
|
162
|
-
b: (_: A, ...args: Args) => B,
|
|
163
|
-
c: (_: B, ...args: Args) => C,
|
|
164
|
-
): (this: Self, ...args: Args) => C;
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* @since 1.0.0
|
|
169
|
-
* @category models
|
|
170
|
-
*/
|
|
171
|
-
export type NonGen = {
|
|
172
|
-
<Args extends Array<any>, ReturnFx extends Fx.Any>(
|
|
173
|
-
body: (this: unassigned, ...args: Args) => ReturnFx,
|
|
174
|
-
): (...args: Args) => ReturnFx;
|
|
175
|
-
<Self, Args extends Array<any>, ReturnFx extends Fx.Any>(
|
|
176
|
-
body: (this: Self, ...args: Args) => ReturnFx,
|
|
177
|
-
): (this: Self, ...args: Args) => ReturnFx;
|
|
178
|
-
|
|
179
|
-
<Args extends Array<any>, ReturnFx extends Fx.Any, A>(
|
|
180
|
-
body: (this: unassigned, ...args: Args) => ReturnFx,
|
|
181
|
-
a: (_: ReturnFx, ...args: Args) => A,
|
|
182
|
-
): (...args: Args) => A;
|
|
183
|
-
<Self, Args extends Array<any>, ReturnFx extends Fx.Any, A>(
|
|
184
|
-
body: (this: Self, ...args: Args) => ReturnFx,
|
|
185
|
-
a: (_: ReturnFx, ...args: Args) => A,
|
|
186
|
-
): (this: Self, ...args: Args) => A;
|
|
187
|
-
|
|
188
|
-
<Args extends Array<any>, ReturnFx extends Fx.Any, A, B>(
|
|
189
|
-
body: (this: unassigned, ...args: Args) => ReturnFx,
|
|
190
|
-
a: (_: ReturnFx, ...args: Args) => A,
|
|
191
|
-
b: (_: A, ...args: Args) => B,
|
|
192
|
-
): (...args: Args) => B;
|
|
193
|
-
<Self, Args extends Array<any>, ReturnFx extends Fx.Any, A, B>(
|
|
194
|
-
body: (this: Self, ...args: Args) => ReturnFx,
|
|
195
|
-
a: (_: ReturnFx, ...args: Args) => A,
|
|
196
|
-
b: (_: A, ...args: Args) => B,
|
|
197
|
-
): (this: Self, ...args: Args) => B;
|
|
198
|
-
|
|
199
|
-
<Args extends Array<any>, ReturnFx extends Fx.Any, A, B, C>(
|
|
200
|
-
body: (this: unassigned, ...args: Args) => ReturnFx,
|
|
201
|
-
a: (_: ReturnFx, ...args: Args) => A,
|
|
202
|
-
b: (_: A, ...args: Args) => B,
|
|
203
|
-
c: (_: B, ...args: Args) => C,
|
|
204
|
-
): (...args: Args) => C;
|
|
205
|
-
<Self, Args extends Array<any>, ReturnFx extends Fx.Any, A, B, C>(
|
|
206
|
-
body: (this: Self, ...args: Args) => ReturnFx,
|
|
207
|
-
a: (_: ReturnFx, ...args: Args) => A,
|
|
208
|
-
b: (_: A, ...args: Args) => B,
|
|
209
|
-
c: (_: B, ...args: Args) => C,
|
|
210
|
-
): (this: Self, ...args: Args) => C;
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
export const fn: fn.Gen &
|
|
215
|
-
fn.NonGen & {
|
|
216
|
-
(name: string, options?: SpanOptionsNoTrace): fn.Gen & fn.NonGen;
|
|
217
|
-
} = function (...args: Array<any>): any {
|
|
218
|
-
const [first, ...rest] = args;
|
|
219
|
-
|
|
220
|
-
if (typeof first === "string") {
|
|
221
|
-
const fn_ = Effect.fn(first, ...rest);
|
|
222
|
-
return (body: any, ...pipeables: Array<Function>) =>
|
|
223
|
-
fn_(
|
|
224
|
-
unwrapApply(body),
|
|
225
|
-
unwrap,
|
|
226
|
-
// @ts-expect-error - It's fine to be variadic
|
|
227
|
-
...pipeables,
|
|
228
|
-
);
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
return Effect.fn(
|
|
232
|
-
unwrapApply(first),
|
|
233
|
-
unwrap,
|
|
234
|
-
// @ts-expect-error - It's fine to be variadic
|
|
235
|
-
...rest,
|
|
236
|
-
);
|
|
237
|
-
};
|
|
238
|
-
|
|
239
|
-
function unwrapApply(fn: Function) {
|
|
240
|
-
return function (this: any, ...args: Array<any>) {
|
|
241
|
-
const x = fn.apply(this, args);
|
|
242
|
-
if (isFx(x)) return Effect.succeed(x);
|
|
243
|
-
return x;
|
|
244
|
-
};
|
|
245
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import type { Fx } from "../Fx.js";
|
|
3
|
-
import { make } from "./make.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Creates an Fx from an Effect.
|
|
7
|
-
*
|
|
8
|
-
* If the Effect succeeds, the Fx emits the value and completes.
|
|
9
|
-
* If the Effect fails, the Fx fails with the same error.
|
|
10
|
-
*
|
|
11
|
-
* @param effect - The effect to convert.
|
|
12
|
-
* @returns An `Fx` representing the execution of the effect.
|
|
13
|
-
* @since 1.0.0
|
|
14
|
-
* @category constructors
|
|
15
|
-
*/
|
|
16
|
-
export const fromEffect = <A, E = never, R = never>(effect: Effect.Effect<A, E, R>): Fx<A, E, R> =>
|
|
17
|
-
/*#__PURE__*/ make<A, E, R>((sink) => Effect.matchCauseEffect(effect, sink));
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* An Fx that runs forever without emitting any values.
|
|
21
|
-
* @since 1.0.0
|
|
22
|
-
* @category constructors
|
|
23
|
-
*/
|
|
24
|
-
export const never: Fx<never, never, never> = make<never, never, never>(() => Effect.never);
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as Cause from "effect/Cause";
|
|
2
|
-
import { flow } from "effect/Function";
|
|
3
|
-
import { failCause } from "./failCause.js";
|
|
4
|
-
|
|
5
|
-
const fromFailuresCause = <E>(failures: Iterable<E>): Cause.Cause<E> =>
|
|
6
|
-
Array.from(failures).reduce(
|
|
7
|
-
(acc, e) => Cause.combine(acc, Cause.fail(e)),
|
|
8
|
-
Cause.empty as Cause.Cause<E>,
|
|
9
|
-
);
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Creates an Fx from a collection of failures (errors).
|
|
13
|
-
*
|
|
14
|
-
* @param failures - An iterable of failures.
|
|
15
|
-
* @returns An `Fx` that fails with the combined failures.
|
|
16
|
-
* @since 1.0.0
|
|
17
|
-
* @category constructors
|
|
18
|
-
*/
|
|
19
|
-
export const fromFailures = /*#__PURE__*/ flow(fromFailuresCause, failCause);
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { forEach } from "effect/Effect";
|
|
2
|
-
import type { Fx } from "../Fx.js";
|
|
3
|
-
import { make } from "./make.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Creates an Fx from an Iterable.
|
|
7
|
-
* Emits each value from the iterable in order and then completes.
|
|
8
|
-
*
|
|
9
|
-
* @param iterable - The iterable to emit values from.
|
|
10
|
-
* @returns An `Fx` that emits the values from the iterable.
|
|
11
|
-
* @since 1.0.0
|
|
12
|
-
* @category constructors
|
|
13
|
-
*/
|
|
14
|
-
export const fromIterable = <A>(iterable: Iterable<A>): Fx<A> =>
|
|
15
|
-
make<A>((sink) => forEach(iterable, sink.onSuccess, { discard: true }));
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { schedule as schedule_Effect } from "effect/Effect";
|
|
2
|
-
import type { Schedule } from "effect/Schedule";
|
|
3
|
-
import type { Fx } from "../Fx.js";
|
|
4
|
-
import { make } from "./make.js";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Creates an Fx that emits values according to a Schedule.
|
|
8
|
-
* The Fx emits `void` each time the schedule fires.
|
|
9
|
-
*
|
|
10
|
-
* @param schedule - The schedule to follow.
|
|
11
|
-
* @returns An `Fx` that emits periodically according to the schedule.
|
|
12
|
-
* @since 1.0.0
|
|
13
|
-
* @category constructors
|
|
14
|
-
*/
|
|
15
|
-
export const fromSchedule = <Error, Env>(
|
|
16
|
-
schedule: Schedule<unknown, unknown, Error, Env>,
|
|
17
|
-
): Fx<void, Error, Env> =>
|
|
18
|
-
/*#__PURE__*/ make<void, Error, Env>((sink) => schedule_Effect(sink.onSuccess(), schedule));
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Yieldable } from "effect/Effect";
|
|
2
|
-
import { matchCauseEffect } from "effect/Effect";
|
|
3
|
-
import type { Fx } from "../Fx.js";
|
|
4
|
-
import { make } from "./make.js";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Creates an Fx from any Yieldable value (e.g., Effect, Promise, etc.).
|
|
8
|
-
*
|
|
9
|
-
* @param yieldable - The yieldable value to convert.
|
|
10
|
-
* @returns An `Fx` that emits the result of the yieldable.
|
|
11
|
-
* @since 1.0.0
|
|
12
|
-
* @category constructors
|
|
13
|
-
*/
|
|
14
|
-
export const fromYieldable = <A, E = never, R = never>(
|
|
15
|
-
yieldable: Yieldable<any, A, E, R>,
|
|
16
|
-
): Fx<A, E, R> =>
|
|
17
|
-
/*#__PURE__*/ make<A, E, R>((sink) => matchCauseEffect(yieldable.asEffect(), sink));
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export * from "./at.js";
|
|
2
|
-
export * from "./die.js";
|
|
3
|
-
export * from "./empty.js";
|
|
4
|
-
export * from "./fail.js";
|
|
5
|
-
export * from "./failCause.js";
|
|
6
|
-
export * from "./fn.js";
|
|
7
|
-
export * from "./fromEffect.js";
|
|
8
|
-
export * from "./fromFailures.js";
|
|
9
|
-
export * from "./fromIterable.js";
|
|
10
|
-
export * from "./fromSchedule.js";
|
|
11
|
-
export * from "./fromYieldable.js";
|
|
12
|
-
export * from "./interrupt.js";
|
|
13
|
-
export * from "./make.js";
|
|
14
|
-
export * from "./periodic.js";
|
|
15
|
-
export * from "./succeed.js";
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as Cause from "effect/Cause";
|
|
2
|
-
import { flow } from "effect/Function";
|
|
3
|
-
import { failCause } from "./failCause.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Creates an Fx that immediately interrupts.
|
|
7
|
-
*
|
|
8
|
-
* @param id - The FiberId responsible for the interruption.
|
|
9
|
-
* @returns An `Fx` that is interrupted.
|
|
10
|
-
* @since 1.0.0
|
|
11
|
-
* @category constructors
|
|
12
|
-
*/
|
|
13
|
-
export const interrupt = /*#__PURE__*/ flow(Cause.interrupt, failCause);
|