@typed/fx 2.0.0-beta.3 → 2.0.0-beta.5
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/README.md +34 -20
- package/dist/Fx/Fx.d.ts +364 -12
- package/dist/Fx/Fx.d.ts.map +1 -1
- package/dist/Fx/Fx.js +37 -6
- package/dist/Fx/TypeId.d.ts +49 -3
- package/dist/Fx/TypeId.d.ts.map +1 -1
- package/dist/Fx/TypeId.js +39 -2
- package/dist/Fx/combinators/additive.d.ts +156 -5
- package/dist/Fx/combinators/additive.d.ts.map +1 -1
- package/dist/Fx/combinators/additive.js +156 -5
- package/dist/Fx/combinators/catch.d.ts +195 -22
- package/dist/Fx/combinators/catch.d.ts.map +1 -1
- package/dist/Fx/combinators/catch.js +186 -16
- package/dist/Fx/combinators/causes.d.ts +24 -1
- package/dist/Fx/combinators/causes.d.ts.map +1 -1
- package/dist/Fx/combinators/causes.js +24 -1
- package/dist/Fx/combinators/changesWithEffect.d.ts +20 -0
- package/dist/Fx/combinators/changesWithEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/changesWithEffect.js +20 -0
- package/dist/Fx/combinators/compact.d.ts +17 -0
- package/dist/Fx/combinators/compact.d.ts.map +1 -1
- package/dist/Fx/combinators/compact.js +17 -0
- 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 +109 -1
- package/dist/Fx/combinators/continueWith.d.ts.map +1 -1
- package/dist/Fx/combinators/continueWith.js +109 -1
- 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 +34 -0
- package/dist/Fx/combinators/delay.d.ts.map +1 -0
- package/dist/Fx/combinators/delay.js +31 -0
- package/dist/Fx/combinators/dropUntil.d.ts +42 -0
- package/dist/Fx/combinators/dropUntil.d.ts.map +1 -1
- package/dist/Fx/combinators/dropUntil.js +42 -0
- 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 +33 -3
- package/dist/Fx/combinators/ensuring.d.ts.map +1 -1
- package/dist/Fx/combinators/ensuring.js +33 -3
- package/dist/Fx/combinators/exhaustLatestMap.d.ts +40 -4
- package/dist/Fx/combinators/exhaustLatestMap.d.ts.map +1 -1
- package/dist/Fx/combinators/exhaustLatestMap.js +40 -4
- package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts +39 -3
- package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/exhaustLatestMapEffect.js +39 -3
- package/dist/Fx/combinators/exhaustMap.d.ts +37 -0
- package/dist/Fx/combinators/exhaustMap.d.ts.map +1 -1
- package/dist/Fx/combinators/exhaustMap.js +37 -0
- package/dist/Fx/combinators/exhaustMapEffect.d.ts +32 -0
- package/dist/Fx/combinators/exhaustMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/exhaustMapEffect.js +32 -0
- package/dist/Fx/combinators/exit.d.ts +22 -1
- package/dist/Fx/combinators/exit.d.ts.map +1 -1
- package/dist/Fx/combinators/exit.js +22 -1
- package/dist/Fx/combinators/filter.d.ts +16 -0
- package/dist/Fx/combinators/filter.d.ts.map +1 -1
- package/dist/Fx/combinators/filter.js +16 -0
- package/dist/Fx/combinators/filterEffect.d.ts +21 -0
- package/dist/Fx/combinators/filterEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/filterEffect.js +21 -0
- package/dist/Fx/combinators/filterMap.d.ts +19 -0
- package/dist/Fx/combinators/filterMap.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMap.js +19 -0
- package/dist/Fx/combinators/filterMapEffect.d.ts +20 -0
- package/dist/Fx/combinators/filterMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapEffect.js +20 -0
- package/dist/Fx/combinators/filterMapLoop.d.ts +19 -0
- package/dist/Fx/combinators/filterMapLoop.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapLoop.js +19 -0
- package/dist/Fx/combinators/filterMapLoopCause.d.ts +20 -0
- package/dist/Fx/combinators/filterMapLoopCause.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapLoopCause.js +20 -0
- package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts +20 -0
- package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapLoopCauseEffect.js +20 -0
- package/dist/Fx/combinators/filterMapLoopEffect.d.ts +20 -0
- package/dist/Fx/combinators/filterMapLoopEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapLoopEffect.js +20 -0
- package/dist/Fx/combinators/flatMap.d.ts +48 -3
- package/dist/Fx/combinators/flatMap.d.ts.map +1 -1
- package/dist/Fx/combinators/flatMap.js +35 -2
- package/dist/Fx/combinators/flatMapConcurrently.d.ts +50 -3
- package/dist/Fx/combinators/flatMapConcurrently.d.ts.map +1 -1
- package/dist/Fx/combinators/flatMapConcurrently.js +47 -1
- package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts +47 -3
- package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/flatMapConcurrentlyEffect.js +39 -1
- package/dist/Fx/combinators/flatMapEffect.d.ts +44 -2
- package/dist/Fx/combinators/flatMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/flatMapEffect.js +31 -1
- package/dist/Fx/combinators/flip.d.ts +33 -1
- package/dist/Fx/combinators/flip.d.ts.map +1 -1
- package/dist/Fx/combinators/flip.js +33 -1
- package/dist/Fx/combinators/gen.d.ts +28 -9
- package/dist/Fx/combinators/gen.d.ts.map +1 -1
- package/dist/Fx/combinators/gen.js +27 -3
- package/dist/Fx/combinators/genScoped.d.ts +32 -9
- package/dist/Fx/combinators/genScoped.d.ts.map +1 -1
- package/dist/Fx/combinators/genScoped.js +30 -2
- 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 +121 -7
- package/dist/Fx/combinators/keyed.d.ts.map +1 -1
- package/dist/Fx/combinators/keyed.js +68 -10
- package/dist/Fx/combinators/loop.d.ts +16 -0
- package/dist/Fx/combinators/loop.d.ts.map +1 -1
- package/dist/Fx/combinators/loop.js +16 -0
- package/dist/Fx/combinators/loopCause.d.ts +17 -0
- package/dist/Fx/combinators/loopCause.d.ts.map +1 -1
- package/dist/Fx/combinators/loopCause.js +17 -0
- package/dist/Fx/combinators/loopCauseEffect.d.ts +18 -0
- package/dist/Fx/combinators/loopCauseEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/loopCauseEffect.js +18 -0
- package/dist/Fx/combinators/loopEffect.d.ts +23 -0
- package/dist/Fx/combinators/loopEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/loopEffect.js +23 -0
- package/dist/Fx/combinators/map.d.ts +45 -0
- package/dist/Fx/combinators/map.d.ts.map +1 -1
- package/dist/Fx/combinators/map.js +42 -0
- package/dist/Fx/combinators/mapBoth.d.ts +19 -0
- package/dist/Fx/combinators/mapBoth.d.ts.map +1 -1
- package/dist/Fx/combinators/mapBoth.js +19 -0
- package/dist/Fx/combinators/mapEffect.d.ts +24 -0
- package/dist/Fx/combinators/mapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/mapEffect.js +24 -0
- package/dist/Fx/combinators/mapError.d.ts +20 -4
- package/dist/Fx/combinators/mapError.d.ts.map +1 -1
- package/dist/Fx/combinators/mapError.js +20 -4
- package/dist/Fx/combinators/mergeAll.d.ts +34 -0
- package/dist/Fx/combinators/mergeAll.d.ts.map +1 -1
- package/dist/Fx/combinators/mergeAll.js +34 -0
- package/dist/Fx/combinators/mergeOrdered.d.ts +35 -3
- package/dist/Fx/combinators/mergeOrdered.d.ts.map +1 -1
- package/dist/Fx/combinators/mergeOrdered.js +35 -3
- package/dist/Fx/combinators/onError.d.ts +33 -3
- package/dist/Fx/combinators/onError.d.ts.map +1 -1
- package/dist/Fx/combinators/onError.js +33 -3
- package/dist/Fx/combinators/onExit.d.ts +28 -2
- package/dist/Fx/combinators/onExit.d.ts.map +1 -1
- package/dist/Fx/combinators/onExit.js +28 -2
- package/dist/Fx/combinators/onInterrupt.d.ts +48 -3
- package/dist/Fx/combinators/onInterrupt.d.ts.map +1 -1
- package/dist/Fx/combinators/onInterrupt.js +48 -3
- 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 +138 -17
- package/dist/Fx/combinators/provide.d.ts.map +1 -1
- package/dist/Fx/combinators/provide.js +134 -13
- 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 +22 -0
- package/dist/Fx/combinators/result.d.ts.map +1 -1
- package/dist/Fx/combinators/result.js +26 -12
- 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 +39 -0
- package/dist/Fx/combinators/scan.d.ts.map +1 -1
- package/dist/Fx/combinators/scan.js +41 -2
- 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 +31 -0
- package/dist/Fx/combinators/skip.d.ts.map +1 -1
- package/dist/Fx/combinators/skip.js +31 -0
- package/dist/Fx/combinators/skipRepeats.d.ts +16 -0
- package/dist/Fx/combinators/skipRepeats.d.ts.map +1 -1
- package/dist/Fx/combinators/skipRepeats.js +16 -0
- package/dist/Fx/combinators/skipRepeatsWith.d.ts +17 -0
- package/dist/Fx/combinators/skipRepeatsWith.d.ts.map +1 -1
- package/dist/Fx/combinators/skipRepeatsWith.js +17 -0
- package/dist/Fx/combinators/skipWhile.d.ts +68 -0
- package/dist/Fx/combinators/skipWhile.d.ts.map +1 -1
- package/dist/Fx/combinators/skipWhile.js +68 -0
- package/dist/Fx/combinators/slice.d.ts +82 -0
- package/dist/Fx/combinators/slice.d.ts.map +1 -1
- package/dist/Fx/combinators/slice.js +33 -0
- package/dist/Fx/combinators/switchMap.d.ts +38 -0
- package/dist/Fx/combinators/switchMap.d.ts.map +1 -1
- package/dist/Fx/combinators/switchMap.js +42 -4
- package/dist/Fx/combinators/switchMapEffect.d.ts +37 -0
- package/dist/Fx/combinators/switchMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/switchMapEffect.js +37 -0
- package/dist/Fx/combinators/take.d.ts +32 -0
- package/dist/Fx/combinators/take.d.ts.map +1 -1
- package/dist/Fx/combinators/take.js +32 -0
- package/dist/Fx/combinators/takeUntil.d.ts +46 -0
- package/dist/Fx/combinators/takeUntil.d.ts.map +1 -1
- package/dist/Fx/combinators/takeUntil.js +46 -0
- package/dist/Fx/combinators/takeWhile.d.ts +31 -0
- package/dist/Fx/combinators/takeWhile.d.ts.map +1 -1
- package/dist/Fx/combinators/takeWhile.js +31 -0
- package/dist/Fx/combinators/tapEffect.d.ts +16 -0
- package/dist/Fx/combinators/tapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/tapEffect.js +16 -0
- 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 +30 -0
- package/dist/Fx/combinators/tuple.d.ts.map +1 -1
- package/dist/Fx/combinators/tuple.js +34 -3
- 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 +29 -0
- package/dist/Fx/combinators/unwrap.d.ts.map +1 -1
- package/dist/Fx/combinators/unwrap.js +29 -0
- package/dist/Fx/combinators/unwrapScoped.d.ts +33 -0
- package/dist/Fx/combinators/unwrapScoped.d.ts.map +1 -1
- package/dist/Fx/combinators/unwrapScoped.js +33 -0
- package/dist/Fx/combinators/when.d.ts +35 -0
- package/dist/Fx/combinators/when.d.ts.map +1 -1
- package/dist/Fx/combinators/when.js +36 -1
- 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 +60 -0
- package/dist/Fx/combinators/zip.d.ts.map +1 -1
- package/dist/Fx/combinators/zip.js +60 -0
- package/dist/Fx/constructors/at.d.ts +20 -0
- package/dist/Fx/constructors/at.d.ts.map +1 -1
- package/dist/Fx/constructors/at.js +20 -0
- package/dist/Fx/constructors/die.d.ts +21 -0
- package/dist/Fx/constructors/die.d.ts.map +1 -1
- package/dist/Fx/constructors/die.js +21 -0
- package/dist/Fx/constructors/empty.d.ts +18 -0
- package/dist/Fx/constructors/empty.d.ts.map +1 -1
- package/dist/Fx/constructors/empty.js +18 -0
- package/dist/Fx/constructors/fail.d.ts +21 -0
- package/dist/Fx/constructors/fail.d.ts.map +1 -1
- package/dist/Fx/constructors/fail.js +21 -0
- package/dist/Fx/constructors/failCause.d.ts +22 -0
- package/dist/Fx/constructors/failCause.d.ts.map +1 -1
- package/dist/Fx/constructors/failCause.js +22 -0
- package/dist/Fx/constructors/fn.d.ts +113 -13
- 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 +43 -1
- package/dist/Fx/constructors/fromEffect.d.ts.map +1 -1
- package/dist/Fx/constructors/fromEffect.js +43 -1
- package/dist/Fx/constructors/fromFailures.d.ts +24 -0
- package/dist/Fx/constructors/fromFailures.d.ts.map +1 -1
- package/dist/Fx/constructors/fromFailures.js +24 -0
- package/dist/Fx/constructors/fromIterable.d.ts +22 -0
- package/dist/Fx/constructors/fromIterable.d.ts.map +1 -1
- package/dist/Fx/constructors/fromIterable.js +22 -0
- package/dist/Fx/constructors/fromSchedule.d.ts +23 -0
- package/dist/Fx/constructors/fromSchedule.d.ts.map +1 -1
- package/dist/Fx/constructors/fromSchedule.js +25 -2
- 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 +21 -1
- package/dist/Fx/constructors/interrupt.d.ts.map +1 -1
- package/dist/Fx/constructors/interrupt.js +21 -1
- package/dist/Fx/constructors/make.d.ts +146 -1
- package/dist/Fx/constructors/make.d.ts.map +1 -1
- package/dist/Fx/constructors/make.js +56 -5
- package/dist/Fx/constructors/periodic.d.ts +29 -0
- package/dist/Fx/constructors/periodic.d.ts.map +1 -1
- package/dist/Fx/constructors/periodic.js +29 -0
- package/dist/Fx/constructors/succeed.d.ts +75 -3
- package/dist/Fx/constructors/succeed.d.ts.map +1 -1
- package/dist/Fx/constructors/succeed.js +75 -3
- 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 +89 -0
- package/dist/Fx/run/collect.d.ts.map +1 -1
- package/dist/Fx/run/collect.js +90 -1
- package/dist/Fx/run/first.d.ts +22 -0
- package/dist/Fx/run/first.d.ts.map +1 -1
- package/dist/Fx/run/first.js +22 -0
- package/dist/Fx/run/fork.d.ts +50 -0
- package/dist/Fx/run/fork.d.ts.map +1 -1
- package/dist/Fx/run/fork.js +50 -0
- package/dist/Fx/run/observe.d.ts +106 -0
- package/dist/Fx/run/observe.d.ts.map +1 -1
- package/dist/Fx/run/observe.js +108 -2
- package/dist/Fx/run/runPromise.d.ts +43 -0
- package/dist/Fx/run/runPromise.d.ts.map +1 -1
- package/dist/Fx/run/runPromise.js +43 -0
- 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 +1219 -94
- package/dist/Push/Push.d.ts.map +1 -1
- package/dist/Push/Push.js +1015 -86
- 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 +351 -4
- package/dist/RefSubject/RefArray.d.ts.map +1 -1
- package/dist/RefSubject/RefArray.js +339 -3
- package/dist/RefSubject/RefBigDecimal.d.ts +221 -1
- package/dist/RefSubject/RefBigDecimal.d.ts.map +1 -1
- package/dist/RefSubject/RefBigDecimal.js +210 -1
- package/dist/RefSubject/RefBigInt.d.ts +166 -1
- package/dist/RefSubject/RefBigInt.d.ts.map +1 -1
- package/dist/RefSubject/RefBigInt.js +155 -1
- package/dist/RefSubject/RefBoolean.d.ts +166 -1
- package/dist/RefSubject/RefBoolean.d.ts.map +1 -1
- package/dist/RefSubject/RefBoolean.js +155 -1
- package/dist/RefSubject/RefCause.d.ts +122 -1
- package/dist/RefSubject/RefCause.d.ts.map +1 -1
- package/dist/RefSubject/RefCause.js +111 -1
- package/dist/RefSubject/RefChunk.d.ts +406 -1
- package/dist/RefSubject/RefChunk.d.ts.map +1 -1
- package/dist/RefSubject/RefChunk.js +394 -0
- package/dist/RefSubject/RefDateTime.d.ts +122 -1
- package/dist/RefSubject/RefDateTime.d.ts.map +1 -1
- package/dist/RefSubject/RefDateTime.js +111 -1
- package/dist/RefSubject/RefDuration.d.ts +155 -1
- package/dist/RefSubject/RefDuration.d.ts.map +1 -1
- package/dist/RefSubject/RefDuration.js +144 -1
- package/dist/RefSubject/RefGraph.d.ts +320 -6
- package/dist/RefSubject/RefGraph.d.ts.map +1 -1
- package/dist/RefSubject/RefGraph.js +303 -0
- package/dist/RefSubject/RefHashMap.d.ts +296 -1
- package/dist/RefSubject/RefHashMap.d.ts.map +1 -1
- package/dist/RefSubject/RefHashMap.js +284 -0
- package/dist/RefSubject/RefHashRing.d.ts +146 -2
- package/dist/RefSubject/RefHashRing.d.ts.map +1 -1
- package/dist/RefSubject/RefHashRing.js +133 -0
- package/dist/RefSubject/RefHashSet.d.ts +230 -1
- package/dist/RefSubject/RefHashSet.d.ts.map +1 -1
- package/dist/RefSubject/RefHashSet.js +218 -0
- package/dist/RefSubject/RefIterable.d.ts +327 -1
- package/dist/RefSubject/RefIterable.d.ts.map +1 -1
- package/dist/RefSubject/RefIterable.js +315 -0
- package/dist/RefSubject/RefOption.d.ts +144 -1
- package/dist/RefSubject/RefOption.d.ts.map +1 -1
- package/dist/RefSubject/RefOption.js +133 -1
- package/dist/RefSubject/RefRecord.d.ts +339 -1
- package/dist/RefSubject/RefRecord.d.ts.map +1 -1
- package/dist/RefSubject/RefRecord.js +327 -0
- package/dist/RefSubject/RefResult.d.ts +155 -23
- package/dist/RefSubject/RefResult.d.ts.map +1 -1
- package/dist/RefSubject/RefResult.js +122 -1
- package/dist/RefSubject/RefString.d.ts +188 -1
- package/dist/RefSubject/RefString.d.ts.map +1 -1
- package/dist/RefSubject/RefString.js +177 -1
- package/dist/RefSubject/RefStruct.d.ts +156 -1
- package/dist/RefSubject/RefStruct.d.ts.map +1 -1
- package/dist/RefSubject/RefStruct.js +145 -1
- package/dist/RefSubject/RefSubject.d.ts +1168 -15
- package/dist/RefSubject/RefSubject.d.ts.map +1 -1
- package/dist/RefSubject/RefSubject.js +850 -58
- package/dist/RefSubject/RefTrie.d.ts +290 -4
- package/dist/RefSubject/RefTrie.d.ts.map +1 -1
- package/dist/RefSubject/RefTrie.js +278 -3
- package/dist/RefSubject/RefTuple.d.ts +117 -1
- package/dist/RefSubject/RefTuple.d.ts.map +1 -1
- package/dist/RefSubject/RefTuple.js +106 -1
- 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 +385 -14
- package/dist/Sink/Sink.d.ts.map +1 -1
- package/dist/Sink/Sink.js +53 -6
- package/dist/Sink/combinators.d.ts +731 -2
- package/dist/Sink/combinators.d.ts.map +1 -1
- package/dist/Sink/combinators.js +707 -5
- package/dist/Subject/Subject.d.ts +1016 -22
- package/dist/Subject/Subject.d.ts.map +1 -1
- package/dist/Subject/Subject.js +904 -39
- package/dist/Versioned/Versioned.d.ts +426 -9
- package/dist/Versioned/Versioned.d.ts.map +1 -1
- package/dist/Versioned/Versioned.js +241 -15
- package/dist/index.d.ts +22 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -3
- package/package.json +120 -11
- 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 -416
- 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 -516
- 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 -516
- package/src/RefSubject/RefDateTime.test.ts +0 -43
- package/src/RefSubject/RefDateTime.ts +0 -261
- package/src/RefSubject/RefDuration.test.ts +0 -49
- package/src/RefSubject/RefDuration.ts +0 -188
- package/src/RefSubject/RefGraph.ts +0 -649
- package/src/RefSubject/RefHashMap.ts +0 -474
- package/src/RefSubject/RefHashRing.ts +0 -262
- package/src/RefSubject/RefHashSet.ts +0 -308
- package/src/RefSubject/RefIterable.ts +0 -454
- package/src/RefSubject/RefOption.test.ts +0 -67
- package/src/RefSubject/RefOption.ts +0 -193
- package/src/RefSubject/RefRecord.ts +0 -621
- 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 -2644
- package/src/RefSubject/RefTrie.ts +0 -365
- 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
|
@@ -4,6 +4,26 @@ import { make } from "./make.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* Creates an Fx that emits a single value after a specified delay.
|
|
6
6
|
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* ## Why
|
|
9
|
+
*
|
|
10
|
+
* `at` models a one-shot producer while keeping the delay inside Effect's
|
|
11
|
+
* interruptible scheduling rather than an unmanaged timer callback.
|
|
12
|
+
*
|
|
13
|
+
* ## Ownership and lifetime
|
|
14
|
+
*
|
|
15
|
+
* Construction starts no timer. Running the `Fx` sleeps, emits exactly once, and
|
|
16
|
+
* completes after the sink handles the value. Interrupting the run cancels the sleep.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { Effect } from "effect"
|
|
21
|
+
* import { at, first } from "@typed/fx/Fx"
|
|
22
|
+
*
|
|
23
|
+
* const delayed = at("ready", "10 millis")
|
|
24
|
+
* const program = Effect.map(first(delayed), (value) => value)
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
7
27
|
* @param value - The value to emit.
|
|
8
28
|
* @param delay - The duration to wait before emitting.
|
|
9
29
|
* @returns An `Fx` that emits the value after the delay.
|
|
@@ -2,6 +2,27 @@ import type { Fx } from "../Fx.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Creates an Fx that immediately terminates with a defect (unexpected error).
|
|
4
4
|
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* ## Why
|
|
7
|
+
*
|
|
8
|
+
* Defects represent unexpected, non-recoverable failures and remain distinct from
|
|
9
|
+
* the typed `E` channel.
|
|
10
|
+
*
|
|
11
|
+
* ## Ownership and lifetime
|
|
12
|
+
*
|
|
13
|
+
* Construction is inert. Each run delivers one defect cause to the sink and emits
|
|
14
|
+
* no values; it acquires no resources.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { Cause, Effect } from "effect"
|
|
19
|
+
* import { die, observe } from "@typed/fx/Fx"
|
|
20
|
+
*
|
|
21
|
+
* const program = observe(die(new Error("broken")), () => Effect.void).pipe(
|
|
22
|
+
* Effect.catchCause((cause) => Effect.succeed(Cause.hasDies(cause)))
|
|
23
|
+
* )
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
5
26
|
* @param defect - The defect value.
|
|
6
27
|
* @returns An `Fx` that dies immediately.
|
|
7
28
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"die.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/die.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC
|
|
1
|
+
{"version":3,"file":"die.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/die.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAG5D,CAAC"}
|
|
@@ -4,6 +4,27 @@ import { failCause } from "./failCause.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* Creates an Fx that immediately terminates with a defect (unexpected error).
|
|
6
6
|
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* ## Why
|
|
9
|
+
*
|
|
10
|
+
* Defects represent unexpected, non-recoverable failures and remain distinct from
|
|
11
|
+
* the typed `E` channel.
|
|
12
|
+
*
|
|
13
|
+
* ## Ownership and lifetime
|
|
14
|
+
*
|
|
15
|
+
* Construction is inert. Each run delivers one defect cause to the sink and emits
|
|
16
|
+
* no values; it acquires no resources.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { Cause, Effect } from "effect"
|
|
21
|
+
* import { die, observe } from "@typed/fx/Fx"
|
|
22
|
+
*
|
|
23
|
+
* const program = observe(die(new Error("broken")), () => Effect.void).pipe(
|
|
24
|
+
* Effect.catchCause((cause) => Effect.succeed(Cause.hasDies(cause)))
|
|
25
|
+
* )
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
7
28
|
* @param defect - The defect value.
|
|
8
29
|
* @returns An `Fx` that dies immediately.
|
|
9
30
|
* @since 1.0.0
|
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
import type { Fx } from "../Fx.js";
|
|
2
2
|
/**
|
|
3
3
|
* An Fx that emits no values and completes immediately.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* ## Why
|
|
7
|
+
*
|
|
8
|
+
* `empty` is the zero-emission producer used for conditional and identity branches.
|
|
9
|
+
*
|
|
10
|
+
* ## Ownership and lifetime
|
|
11
|
+
*
|
|
12
|
+
* Each run completes synchronously, emits nothing, and acquires no resources.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* import { Effect, Option } from "effect"
|
|
17
|
+
* import { empty, first } from "@typed/fx/Fx"
|
|
18
|
+
*
|
|
19
|
+
* const program = Effect.map(first(empty), Option.isNone)
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
4
22
|
* @since 1.0.0
|
|
5
23
|
* @category constructors
|
|
6
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/empty.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC
|
|
1
|
+
{"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/empty.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAA0C,CAAC"}
|
|
@@ -2,6 +2,24 @@ import { void as void_ } from "effect/Effect";
|
|
|
2
2
|
import { make } from "./make.js";
|
|
3
3
|
/**
|
|
4
4
|
* An Fx that emits no values and completes immediately.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* ## Why
|
|
8
|
+
*
|
|
9
|
+
* `empty` is the zero-emission producer used for conditional and identity branches.
|
|
10
|
+
*
|
|
11
|
+
* ## Ownership and lifetime
|
|
12
|
+
*
|
|
13
|
+
* Each run completes synchronously, emits nothing, and acquires no resources.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { Effect, Option } from "effect"
|
|
18
|
+
* import { empty, first } from "@typed/fx/Fx"
|
|
19
|
+
*
|
|
20
|
+
* const program = Effect.map(first(empty), Option.isNone)
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
5
23
|
* @since 1.0.0
|
|
6
24
|
* @category constructors
|
|
7
25
|
*/
|
|
@@ -2,6 +2,27 @@ import type { Fx } from "../Fx.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Creates an Fx that immediately fails with the specified error.
|
|
4
4
|
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* ## Why
|
|
7
|
+
*
|
|
8
|
+
* `fail` introduces an expected domain error into the typed `E` channel without
|
|
9
|
+
* emitting a value.
|
|
10
|
+
*
|
|
11
|
+
* ## Ownership and lifetime
|
|
12
|
+
*
|
|
13
|
+
* Construction is inert. Each run delivers one typed failure cause to the sink and
|
|
14
|
+
* acquires no resources.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { Effect } from "effect"
|
|
19
|
+
* import { fail, first } from "@typed/fx/Fx"
|
|
20
|
+
*
|
|
21
|
+
* const program = first(fail("offline")).pipe(
|
|
22
|
+
* Effect.catch((error) => Effect.succeed(`failed: ${error}`))
|
|
23
|
+
* )
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
5
26
|
* @param error - The error to fail with.
|
|
6
27
|
* @returns An `Fx` that fails immediately.
|
|
7
28
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fail.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/fail.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC
|
|
1
|
+
{"version":3,"file":"fail.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/fail.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAA6C,CAAC"}
|
|
@@ -4,6 +4,27 @@ import { failCause } from "./failCause.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* Creates an Fx that immediately fails with the specified error.
|
|
6
6
|
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* ## Why
|
|
9
|
+
*
|
|
10
|
+
* `fail` introduces an expected domain error into the typed `E` channel without
|
|
11
|
+
* emitting a value.
|
|
12
|
+
*
|
|
13
|
+
* ## Ownership and lifetime
|
|
14
|
+
*
|
|
15
|
+
* Construction is inert. Each run delivers one typed failure cause to the sink and
|
|
16
|
+
* acquires no resources.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { Effect } from "effect"
|
|
21
|
+
* import { fail, first } from "@typed/fx/Fx"
|
|
22
|
+
*
|
|
23
|
+
* const program = first(fail("offline")).pipe(
|
|
24
|
+
* Effect.catch((error) => Effect.succeed(`failed: ${error}`))
|
|
25
|
+
* )
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
7
28
|
* @param error - The error to fail with.
|
|
8
29
|
* @returns An `Fx` that fails immediately.
|
|
9
30
|
* @since 1.0.0
|
|
@@ -3,6 +3,28 @@ import type { Fx } from "../Fx.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Creates an Fx that immediately terminates with the specified Cause.
|
|
5
5
|
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* ## Why
|
|
8
|
+
*
|
|
9
|
+
* A complete Effect `Cause` can carry typed failures, defects, and interruption
|
|
10
|
+
* information across an `Fx` boundary without flattening that structure.
|
|
11
|
+
*
|
|
12
|
+
* ## Ownership and lifetime
|
|
13
|
+
*
|
|
14
|
+
* Construction is inert. Each run forwards the cause once to `sink.onFailure`, emits
|
|
15
|
+
* no values, and acquires no resources.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { Cause, Effect } from "effect"
|
|
20
|
+
* import { failCause, observe } from "@typed/fx/Fx"
|
|
21
|
+
*
|
|
22
|
+
* const source = failCause(Cause.fail("offline"))
|
|
23
|
+
* const program = observe(source, () => Effect.void).pipe(
|
|
24
|
+
* Effect.catch((error) => Effect.succeed(error))
|
|
25
|
+
* )
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
6
28
|
* @param cause - The cause of failure.
|
|
7
29
|
* @returns An `Fx` that terminates with the given cause.
|
|
8
30
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failCause.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/failCause.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC
|
|
1
|
+
{"version":3,"file":"failCause.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/failCause.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CACD,CAAC"}
|
|
@@ -2,6 +2,28 @@ import { make } from "./make.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Creates an Fx that immediately terminates with the specified Cause.
|
|
4
4
|
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* ## Why
|
|
7
|
+
*
|
|
8
|
+
* A complete Effect `Cause` can carry typed failures, defects, and interruption
|
|
9
|
+
* information across an `Fx` boundary without flattening that structure.
|
|
10
|
+
*
|
|
11
|
+
* ## Ownership and lifetime
|
|
12
|
+
*
|
|
13
|
+
* Construction is inert. Each run forwards the cause once to `sink.onFailure`, emits
|
|
14
|
+
* no values, and acquires no resources.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { Cause, Effect } from "effect"
|
|
19
|
+
* import { failCause, observe } from "@typed/fx/Fx"
|
|
20
|
+
*
|
|
21
|
+
* const source = failCause(Cause.fail("offline"))
|
|
22
|
+
* const program = observe(source, () => Effect.void).pipe(
|
|
23
|
+
* Effect.catch((error) => Effect.succeed(error))
|
|
24
|
+
* )
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
5
27
|
* @param cause - The cause of failure.
|
|
6
28
|
* @returns An `Fx` that terminates with the given cause.
|
|
7
29
|
* @since 1.0.0
|
|
@@ -2,30 +2,95 @@ import * as Effect from "effect/Effect";
|
|
|
2
2
|
import type { SpanOptionsNoTrace } from "effect/Tracer";
|
|
3
3
|
import type { unassigned } from "effect/Types";
|
|
4
4
|
import type { Fx } from "../Fx.js";
|
|
5
|
-
/** Extract error type from Yieldable (Effect v4 has no Yieldable.Error) */
|
|
6
|
-
type _YieldableError<Y> = Y extends Effect.Yieldable<any, any, infer E, any> ? E : never;
|
|
7
|
-
/** Extract services type from Yieldable (Effect v4 has no Yieldable.Services) */
|
|
8
|
-
type _YieldableServices<Y> = Y extends Effect.Yieldable<any, any, any, infer R> ? R : never;
|
|
9
5
|
/**
|
|
6
|
+
* Callable contracts implemented by `fn`.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* ## Why
|
|
10
|
+
*
|
|
11
|
+
* The namespace keeps generator and non-generator overload families addressable even
|
|
12
|
+
* though one callable value implements both.
|
|
13
|
+
*
|
|
14
|
+
* ## Ownership and lifetime
|
|
15
|
+
*
|
|
16
|
+
* These are type-level contracts. They start no Effect or `Fx` run.
|
|
17
|
+
*
|
|
10
18
|
* @since 1.0.0
|
|
11
19
|
* @category function
|
|
12
20
|
*/
|
|
13
21
|
export declare namespace fn {
|
|
14
22
|
/**
|
|
23
|
+
* Contract for functions whose body yields Effects and returns an `Fx`.
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
* ## Why
|
|
27
|
+
*
|
|
28
|
+
* `Gen` combines services and errors from yielded Effects with those of the returned
|
|
29
|
+
* `Fx`, while retaining the original arguments and `this` type. Optional pipeable
|
|
30
|
+
* arguments transform the resulting `Fx` without hiding those channels.
|
|
31
|
+
*
|
|
32
|
+
* ## Ownership and lifetime
|
|
33
|
+
*
|
|
34
|
+
* Defining the function is inert. The body and yielded Effects execute once per run
|
|
35
|
+
* of the `Fx` returned by an invocation; that run owns acquisition and interruption.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* import { Effect } from "effect"
|
|
40
|
+
* import { Fx } from "@typed/fx"
|
|
41
|
+
*
|
|
42
|
+
* const item = Fx.fn(function* (id: number) {
|
|
43
|
+
* const prefix = yield* Effect.succeed("item")
|
|
44
|
+
* return Fx.succeed(`${prefix}:${id}`)
|
|
45
|
+
* })
|
|
46
|
+
* const program = Fx.collectAll(item(1))
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
15
49
|
* @since 1.0.0
|
|
16
50
|
* @category models
|
|
17
51
|
*/
|
|
18
52
|
type Gen = {
|
|
19
|
-
<Eff extends Effect.
|
|
20
|
-
<Self, Eff extends Effect.
|
|
21
|
-
<Eff extends Effect.
|
|
22
|
-
<Self, Eff extends Effect.
|
|
23
|
-
<Eff extends Effect.
|
|
24
|
-
<Self, Eff extends Effect.
|
|
25
|
-
<Eff extends Effect.
|
|
26
|
-
<Self, Eff extends Effect.
|
|
53
|
+
<Eff extends Effect.Effect<any, any, any>, ReturnFx extends Fx.Any, Args extends Array<any>>(body: (this: unassigned, ...args: Args) => Generator<Eff, ReturnFx>): (...args: Args) => Fx<Fx.Success<ReturnFx>, Fx.Error<ReturnFx> | Effect.Error<Eff>, Fx.Services<ReturnFx> | Effect.Services<Eff>>;
|
|
54
|
+
<Self, Eff extends Effect.Effect<any, any, any>, ReturnFx extends Fx.Any, Args extends Array<any>>(body: (this: Self, ...args: Args) => Generator<Eff, ReturnFx>): (this: Self, ...args: Args) => Fx<Fx.Success<ReturnFx>, Fx.Error<ReturnFx> | Effect.Error<Eff>, Fx.Services<ReturnFx> | Effect.Services<Eff>>;
|
|
55
|
+
<Eff extends Effect.Effect<any, any, any>, ReturnFx extends Fx.Any, Args extends Array<any>, A>(body: (this: unassigned, ...args: Args) => Generator<Eff, ReturnFx>, a: (_: Fx<Fx.Success<ReturnFx>, Fx.Error<ReturnFx> | Effect.Error<Eff>, Fx.Services<ReturnFx> | Effect.Services<Eff>>, ...args: Args) => A): (...args: Args) => A;
|
|
56
|
+
<Self, Eff extends Effect.Effect<any, any, any>, ReturnFx extends Fx.Any, Args extends Array<any>, A>(body: (this: Self, ...args: Args) => Generator<Eff, ReturnFx>, a: (_: Fx<Fx.Success<ReturnFx>, Fx.Error<ReturnFx> | Effect.Error<Eff>, Fx.Services<ReturnFx> | Effect.Services<Eff>>, ...args: Args) => A): (this: Self, ...args: Args) => A;
|
|
57
|
+
<Eff extends Effect.Effect<any, any, any>, ReturnFx extends Fx.Any, Args extends Array<any>, A, B>(body: (this: unassigned, ...args: Args) => Generator<Eff, ReturnFx>, a: (_: Fx<Fx.Success<ReturnFx>, Fx.Error<ReturnFx> | Effect.Error<Eff>, Fx.Services<ReturnFx> | Effect.Services<Eff>>, ...args: Args) => A, b: (_: A, ...args: Args) => B): (...args: Args) => B;
|
|
58
|
+
<Self, Eff extends Effect.Effect<any, any, any>, ReturnFx extends Fx.Any, Args extends Array<any>, A, B>(body: (this: Self, ...args: Args) => Generator<Eff, ReturnFx>, a: (_: Fx<Fx.Success<ReturnFx>, Fx.Error<ReturnFx> | Effect.Error<Eff>, Fx.Services<ReturnFx> | Effect.Services<Eff>>, ...args: Args) => A, b: (_: A, ...args: Args) => B): (this: Self, ...args: Args) => B;
|
|
59
|
+
<Eff extends Effect.Effect<any, any, any>, ReturnFx extends Fx.Any, Args extends Array<any>, A, B, C>(body: (this: unassigned, ...args: Args) => Generator<Eff, ReturnFx>, a: (_: Fx<Fx.Success<ReturnFx>, Fx.Error<ReturnFx> | Effect.Error<Eff>, Fx.Services<ReturnFx> | Effect.Services<Eff>>, ...args: Args) => A, b: (_: A, ...args: Args) => B, c: (_: B, ...args: Args) => C): (...args: Args) => C;
|
|
60
|
+
<Self, Eff extends Effect.Effect<any, any, any>, ReturnFx extends Fx.Any, Args extends Array<any>, A, B, C>(body: (this: Self, ...args: Args) => Generator<Eff, ReturnFx>, a: (_: Fx<Fx.Success<ReturnFx>, Fx.Error<ReturnFx> | Effect.Error<Eff>, Fx.Services<ReturnFx> | Effect.Services<Eff>>, ...args: Args) => A, b: (_: A, ...args: Args) => B, c: (_: B, ...args: Args) => C): (this: Self, ...args: Args) => C;
|
|
27
61
|
};
|
|
28
62
|
/**
|
|
63
|
+
* Contract for functions whose body returns an `Fx` directly.
|
|
64
|
+
*
|
|
65
|
+
* @remarks
|
|
66
|
+
* ## Why
|
|
67
|
+
*
|
|
68
|
+
* `NonGen` adds Effect-style tracing and a typed pipeline to ordinary `Fx` factories
|
|
69
|
+
* without forcing a generator when no Effect acquisition is needed.
|
|
70
|
+
*
|
|
71
|
+
* ## Ownership and lifetime
|
|
72
|
+
*
|
|
73
|
+
* Defining and invoking the function are both inert. Invocation returns an `Fx`
|
|
74
|
+
* without evaluating `body`; `Effect.fn` suspends it. Each run evaluates the body
|
|
75
|
+
* once, then runs its returned producer in that same ownership and interruption
|
|
76
|
+
* lifetime.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* import { Fx } from "@typed/fx"
|
|
81
|
+
*
|
|
82
|
+
* let bodyCalls = 0
|
|
83
|
+
* const greeting = Fx.fn(
|
|
84
|
+
* (name: string) => {
|
|
85
|
+
* bodyCalls += 1
|
|
86
|
+
* return Fx.succeed(name)
|
|
87
|
+
* },
|
|
88
|
+
* (source) => Fx.map(source, (name) => `hello ${name}`)
|
|
89
|
+
* )
|
|
90
|
+
* const source = greeting("Ada") // bodyCalls is still 0
|
|
91
|
+
* const program = Fx.collectAll(source) // running program increments bodyCalls
|
|
92
|
+
* ```
|
|
93
|
+
*
|
|
29
94
|
* @since 1.0.0
|
|
30
95
|
* @category models
|
|
31
96
|
*/
|
|
@@ -40,8 +105,43 @@ export declare namespace fn {
|
|
|
40
105
|
<Self, Args extends Array<any>, ReturnFx extends Fx.Any, A, B, C>(body: (this: Self, ...args: Args) => ReturnFx, a: (_: ReturnFx, ...args: Args) => A, b: (_: A, ...args: Args) => B, c: (_: B, ...args: Args) => C): (this: Self, ...args: Args) => C;
|
|
41
106
|
};
|
|
42
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Defines a traced function that returns an `Fx`, optionally after yielding Effects.
|
|
110
|
+
*
|
|
111
|
+
* @remarks
|
|
112
|
+
* ## Why
|
|
113
|
+
*
|
|
114
|
+
* Producer factories frequently need Effect acquisition before returning an `Fx`.
|
|
115
|
+
* `fn` lifts that generator into `Fx` with exact combined error and service channels;
|
|
116
|
+
* direct-return bodies use the same tracing and pipeline surface. Supplying a name
|
|
117
|
+
* delegates span configuration to Effect's `fn`.
|
|
118
|
+
*
|
|
119
|
+
* ## Ownership and lifetime
|
|
120
|
+
*
|
|
121
|
+
* Creating the function and invoking it start no stream. For generator bodies, each
|
|
122
|
+
* run evaluates the body and yielded Effects, then runs the returned `Fx` in the same
|
|
123
|
+
* structured lifetime. Interruption stops both acquisition and production. Direct
|
|
124
|
+
* bodies are evaluated lazily through the same unwrap boundary.
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```ts
|
|
128
|
+
* import { Effect } from "effect"
|
|
129
|
+
* import { Fx } from "@typed/fx"
|
|
130
|
+
*
|
|
131
|
+
* const request = Fx.fn("request")(
|
|
132
|
+
* function* (id: number) {
|
|
133
|
+
* const token = yield* Effect.succeed("token")
|
|
134
|
+
* return Fx.succeed({ id, token })
|
|
135
|
+
* },
|
|
136
|
+
* (source) => Fx.map(source, ({ id }) => id)
|
|
137
|
+
* )
|
|
138
|
+
* const program = Fx.collectAll(request(42))
|
|
139
|
+
* ```
|
|
140
|
+
*
|
|
141
|
+
* @since 1.0.0
|
|
142
|
+
* @category constructors
|
|
143
|
+
*/
|
|
43
144
|
export declare const fn: fn.Gen & fn.NonGen & {
|
|
44
145
|
(name: string, options?: SpanOptionsNoTrace): fn.Gen & fn.NonGen;
|
|
45
146
|
};
|
|
46
|
-
export {};
|
|
47
147
|
//# sourceMappingURL=fn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fn.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/fn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC
|
|
1
|
+
{"version":3,"file":"fn.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/fn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,42 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import { unwrap } from "../combinators/unwrap.js";
|
|
3
3
|
import { isFx } from "../TypeId.js";
|
|
4
|
+
/**
|
|
5
|
+
* Defines a traced function that returns an `Fx`, optionally after yielding Effects.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* ## Why
|
|
9
|
+
*
|
|
10
|
+
* Producer factories frequently need Effect acquisition before returning an `Fx`.
|
|
11
|
+
* `fn` lifts that generator into `Fx` with exact combined error and service channels;
|
|
12
|
+
* direct-return bodies use the same tracing and pipeline surface. Supplying a name
|
|
13
|
+
* delegates span configuration to Effect's `fn`.
|
|
14
|
+
*
|
|
15
|
+
* ## Ownership and lifetime
|
|
16
|
+
*
|
|
17
|
+
* Creating the function and invoking it start no stream. For generator bodies, each
|
|
18
|
+
* run evaluates the body and yielded Effects, then runs the returned `Fx` in the same
|
|
19
|
+
* structured lifetime. Interruption stops both acquisition and production. Direct
|
|
20
|
+
* bodies are evaluated lazily through the same unwrap boundary.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* import { Effect } from "effect"
|
|
25
|
+
* import { Fx } from "@typed/fx"
|
|
26
|
+
*
|
|
27
|
+
* const request = Fx.fn("request")(
|
|
28
|
+
* function* (id: number) {
|
|
29
|
+
* const token = yield* Effect.succeed("token")
|
|
30
|
+
* return Fx.succeed({ id, token })
|
|
31
|
+
* },
|
|
32
|
+
* (source) => Fx.map(source, ({ id }) => id)
|
|
33
|
+
* )
|
|
34
|
+
* const program = Fx.collectAll(request(42))
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @since 1.0.0
|
|
38
|
+
* @category constructors
|
|
39
|
+
*/
|
|
4
40
|
export const fn = function (...args) {
|
|
5
41
|
const [first, ...rest] = args;
|
|
6
42
|
if (typeof first === "string") {
|
|
@@ -6,6 +6,27 @@ import type { Fx } from "../Fx.js";
|
|
|
6
6
|
* If the Effect succeeds, the Fx emits the value and completes.
|
|
7
7
|
* If the Effect fails, the Fx fails with the same error.
|
|
8
8
|
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* ## Why
|
|
11
|
+
*
|
|
12
|
+
* A single Effect result can enter push composition without losing its typed error
|
|
13
|
+
* or service requirements.
|
|
14
|
+
*
|
|
15
|
+
* ## Ownership and lifetime
|
|
16
|
+
*
|
|
17
|
+
* Conversion is lazy. Each run executes the Effect once in the run's fiber, forwards
|
|
18
|
+
* its success or full cause to the sink, and completes after the sink handler. The
|
|
19
|
+
* run's interruption and scope own any acquisition performed by the Effect.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { Effect } from "effect"
|
|
24
|
+
* import { collectAll, fromEffect } from "@typed/fx/Fx"
|
|
25
|
+
*
|
|
26
|
+
* const source = fromEffect(Effect.succeed(42))
|
|
27
|
+
* const program = collectAll(source)
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
9
30
|
* @param effect - The effect to convert.
|
|
10
31
|
* @returns An `Fx` representing the execution of the effect.
|
|
11
32
|
* @since 1.0.0
|
|
@@ -13,7 +34,28 @@ import type { Fx } from "../Fx.js";
|
|
|
13
34
|
*/
|
|
14
35
|
export declare const fromEffect: <A, E = never, R = never>(effect: Effect.Effect<A, E, R>) => Fx<A, E, R>;
|
|
15
36
|
/**
|
|
16
|
-
* An Fx that
|
|
37
|
+
* An Fx that waits forever without emitting a value.
|
|
38
|
+
*
|
|
39
|
+
* @remarks
|
|
40
|
+
* ## Why
|
|
41
|
+
*
|
|
42
|
+
* `never` models an intentionally open producer and is useful as a neutral branch in
|
|
43
|
+
* races, switches, and lifetime tests.
|
|
44
|
+
*
|
|
45
|
+
* ## Ownership and lifetime
|
|
46
|
+
*
|
|
47
|
+
* Each run remains suspended until its owning fiber is interrupted. It allocates no
|
|
48
|
+
* independent timer or background fiber.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* import { Effect, Fiber } from "effect"
|
|
53
|
+
* import { fork, never } from "@typed/fx/Fx"
|
|
54
|
+
*
|
|
55
|
+
* const running = fork(never)
|
|
56
|
+
* const program = Effect.flatMap(running, Fiber.interrupt)
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
17
59
|
* @since 1.0.0
|
|
18
60
|
* @category constructors
|
|
19
61
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fromEffect.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/fromEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC
|
|
1
|
+
{"version":3,"file":"fromEffect.d.ts","sourceRoot":"","sources":["../../../src/Fx/constructors/fromEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAGnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjB,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAiD,CAAC"}
|
|
@@ -6,6 +6,27 @@ import { make } from "./make.js";
|
|
|
6
6
|
* If the Effect succeeds, the Fx emits the value and completes.
|
|
7
7
|
* If the Effect fails, the Fx fails with the same error.
|
|
8
8
|
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* ## Why
|
|
11
|
+
*
|
|
12
|
+
* A single Effect result can enter push composition without losing its typed error
|
|
13
|
+
* or service requirements.
|
|
14
|
+
*
|
|
15
|
+
* ## Ownership and lifetime
|
|
16
|
+
*
|
|
17
|
+
* Conversion is lazy. Each run executes the Effect once in the run's fiber, forwards
|
|
18
|
+
* its success or full cause to the sink, and completes after the sink handler. The
|
|
19
|
+
* run's interruption and scope own any acquisition performed by the Effect.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { Effect } from "effect"
|
|
24
|
+
* import { collectAll, fromEffect } from "@typed/fx/Fx"
|
|
25
|
+
*
|
|
26
|
+
* const source = fromEffect(Effect.succeed(42))
|
|
27
|
+
* const program = collectAll(source)
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
9
30
|
* @param effect - The effect to convert.
|
|
10
31
|
* @returns An `Fx` representing the execution of the effect.
|
|
11
32
|
* @since 1.0.0
|
|
@@ -14,7 +35,28 @@ import { make } from "./make.js";
|
|
|
14
35
|
export const fromEffect = (effect) =>
|
|
15
36
|
/*#__PURE__*/ make((sink) => Effect.matchCauseEffect(effect, sink));
|
|
16
37
|
/**
|
|
17
|
-
* An Fx that
|
|
38
|
+
* An Fx that waits forever without emitting a value.
|
|
39
|
+
*
|
|
40
|
+
* @remarks
|
|
41
|
+
* ## Why
|
|
42
|
+
*
|
|
43
|
+
* `never` models an intentionally open producer and is useful as a neutral branch in
|
|
44
|
+
* races, switches, and lifetime tests.
|
|
45
|
+
*
|
|
46
|
+
* ## Ownership and lifetime
|
|
47
|
+
*
|
|
48
|
+
* Each run remains suspended until its owning fiber is interrupted. It allocates no
|
|
49
|
+
* independent timer or background fiber.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* import { Effect, Fiber } from "effect"
|
|
54
|
+
* import { fork, never } from "@typed/fx/Fx"
|
|
55
|
+
*
|
|
56
|
+
* const running = fork(never)
|
|
57
|
+
* const program = Effect.flatMap(running, Fiber.interrupt)
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
18
60
|
* @since 1.0.0
|
|
19
61
|
* @category constructors
|
|
20
62
|
*/
|