@typed/fx 2.0.0-beta.1 → 2.0.0-beta.11
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 +70 -0
- package/dist/Fx/internal/effectableWithOverride.d.ts.map +1 -0
- package/dist/Fx/internal/effectableWithOverride.js +54 -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
|
@@ -10,18 +10,40 @@ import type * as Fx from "../Fx/index.js";
|
|
|
10
10
|
import * as RefSubject from "./RefSubject.js";
|
|
11
11
|
/**
|
|
12
12
|
* A RefResult is a RefSubject specialized over a Result value.
|
|
13
|
+
* @remarks
|
|
14
|
+
* ## Why
|
|
15
|
+
*
|
|
16
|
+
* Defines result state with the same current-read, pushed-update, and synchronized-write contract
|
|
17
|
+
* as RefSubject.
|
|
18
|
+
*
|
|
19
|
+
* ## Ownership and lifetime
|
|
20
|
+
*
|
|
21
|
+
* RefResult is a contract and performs no acquisition. Implementations retain the errors,
|
|
22
|
+
* services, interruption, and Scope requirements expressed by its members.
|
|
23
|
+
*
|
|
13
24
|
* @since 1.18.0
|
|
14
|
-
* @category models
|
|
25
|
+
* @category State models
|
|
15
26
|
*/
|
|
16
|
-
export interface RefResult<in out A, in out
|
|
27
|
+
export interface RefResult<in out A, in out ResultE, in out Err = never, out R = never> extends RefSubject.RefSubject<Result.Result<A, ResultE>, Err, R> {
|
|
17
28
|
}
|
|
18
29
|
/**
|
|
19
30
|
* Creates a new `RefResult` from a Result, `Effect`, or `Fx`.
|
|
20
31
|
*
|
|
32
|
+
* @remarks
|
|
33
|
+
* ## Why
|
|
34
|
+
*
|
|
35
|
+
* Creates result state with equality suited to that Effect data type, so unchanged values do not
|
|
36
|
+
* produce redundant pushed updates.
|
|
37
|
+
*
|
|
38
|
+
* ## Ownership and lifetime
|
|
39
|
+
*
|
|
40
|
+
* The creation Effect requires Scope. It owns initializer acquisition, live source subscriptions,
|
|
41
|
+
* and cleanup; source failures and services stay on reads and pushes.
|
|
42
|
+
*
|
|
21
43
|
* @example
|
|
22
44
|
* ```ts
|
|
23
45
|
* import { Effect, Result } from "effect"
|
|
24
|
-
* import * as RefResult from "
|
|
46
|
+
* import * as RefResult from "@typed/fx/RefResult"
|
|
25
47
|
*
|
|
26
48
|
* const program = Effect.gen(function* () {
|
|
27
49
|
* const value = yield* RefResult.make(Result.succeed(42))
|
|
@@ -31,91 +53,201 @@ export interface RefResult<in out A, in out E, in out Err = never, out R = never
|
|
|
31
53
|
* ```
|
|
32
54
|
*
|
|
33
55
|
* @since 1.18.0
|
|
34
|
-
* @category
|
|
56
|
+
* @category Constructors
|
|
35
57
|
*/
|
|
36
|
-
export declare function make<A,
|
|
58
|
+
export declare function make<A, ResultE, Err = never, R = never>(initial: Result.Result<A, ResultE> | Effect.Effect<Result.Result<A, ResultE>, Err, R> | Fx.Fx<Result.Result<A, ResultE>, Err, R>, successEq?: Equivalence<A>, failureEq?: Equivalence<ResultE>): Effect.Effect<RefResult<A, ResultE, Err, R>, never, R | Scope.Scope>;
|
|
37
59
|
/**
|
|
38
60
|
* Set the current state of a RefResult to Success(value).
|
|
61
|
+
* @remarks
|
|
62
|
+
* ## Why
|
|
63
|
+
*
|
|
64
|
+
* Keeps set success atomic with respect to competing RefSubject writes instead of splitting the
|
|
65
|
+
* read and replacement into separate effects.
|
|
66
|
+
*
|
|
67
|
+
* ## Ownership and lifetime
|
|
68
|
+
*
|
|
69
|
+
* Running set success performs one serialized result transition and resolves with its committed
|
|
70
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
71
|
+
*
|
|
39
72
|
* @since 1.18.0
|
|
40
|
-
* @category
|
|
73
|
+
* @category State updates
|
|
41
74
|
*/
|
|
42
75
|
export declare const setSuccess: {
|
|
43
|
-
<A>(value: A): <
|
|
44
|
-
<A,
|
|
76
|
+
<A>(value: A): <ResultE, Err, R>(ref: RefResult<A, ResultE, Err, R>) => Effect.Effect<Result.Result<A, ResultE>, Err, R>;
|
|
77
|
+
<A, ResultE, Err, R>(ref: RefResult<A, ResultE, Err, R>, value: A): Effect.Effect<Result.Result<A, ResultE>, Err, R>;
|
|
45
78
|
};
|
|
46
79
|
/**
|
|
47
80
|
* Set the current state of a RefResult to Failure(error).
|
|
81
|
+
* @remarks
|
|
82
|
+
* ## Why
|
|
83
|
+
*
|
|
84
|
+
* Keeps set failure atomic with respect to competing RefSubject writes instead of splitting the
|
|
85
|
+
* read and replacement into separate effects.
|
|
86
|
+
*
|
|
87
|
+
* ## Ownership and lifetime
|
|
88
|
+
*
|
|
89
|
+
* Running set failure performs one serialized result transition and resolves with its committed
|
|
90
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
91
|
+
*
|
|
48
92
|
* @since 1.18.0
|
|
49
|
-
* @category
|
|
93
|
+
* @category State updates
|
|
50
94
|
*/
|
|
51
95
|
export declare const setFailure: {
|
|
52
|
-
<
|
|
53
|
-
<A,
|
|
96
|
+
<ResultE>(error: ResultE): <A, Err, R>(ref: RefResult<A, ResultE, Err, R>) => Effect.Effect<Result.Result<A, ResultE>, Err, R>;
|
|
97
|
+
<A, ResultE, Err, R>(ref: RefResult<A, ResultE, Err, R>, error: ResultE): Effect.Effect<Result.Result<A, ResultE>, Err, R>;
|
|
54
98
|
};
|
|
55
99
|
/**
|
|
56
100
|
* Map the success value of a RefResult.
|
|
101
|
+
* @remarks
|
|
102
|
+
* ## Why
|
|
103
|
+
*
|
|
104
|
+
* Projects result state with map for both current reads and future pushes, avoiding a second
|
|
105
|
+
* mutable cache of the derived value.
|
|
106
|
+
*
|
|
107
|
+
* ## Ownership and lifetime
|
|
108
|
+
*
|
|
109
|
+
* The map view retains no independent state. An Effect read samples the source once; Fx
|
|
110
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
111
|
+
*
|
|
57
112
|
* @since 1.18.0
|
|
58
|
-
* @category
|
|
113
|
+
* @category Derived queries
|
|
59
114
|
*/
|
|
60
115
|
export declare const map: {
|
|
61
|
-
<A, B>(f: (a: A) => B): <
|
|
62
|
-
<A,
|
|
116
|
+
<A, B>(f: (a: A) => B): <ResultE, Err, R>(ref: RefResult<A, ResultE, Err, R>) => RefSubject.Computed<Result.Result<B, ResultE>, Err, R>;
|
|
117
|
+
<A, ResultE, Err, R, B>(ref: RefResult<A, ResultE, Err, R>, f: (a: A) => B): RefSubject.Computed<Result.Result<B, ResultE>, Err, R>;
|
|
63
118
|
};
|
|
64
119
|
/**
|
|
65
120
|
* Map the error value of a RefResult.
|
|
121
|
+
* @remarks
|
|
122
|
+
* ## Why
|
|
123
|
+
*
|
|
124
|
+
* Projects result state with map error for both current reads and future pushes, avoiding a second
|
|
125
|
+
* mutable cache of the derived value.
|
|
126
|
+
*
|
|
127
|
+
* ## Ownership and lifetime
|
|
128
|
+
*
|
|
129
|
+
* The map error view retains no independent state. An Effect read samples the source once; Fx
|
|
130
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
131
|
+
*
|
|
66
132
|
* @since 1.18.0
|
|
67
|
-
* @category
|
|
133
|
+
* @category Derived queries
|
|
68
134
|
*/
|
|
69
135
|
export declare const mapError: {
|
|
70
|
-
<
|
|
71
|
-
<A,
|
|
136
|
+
<ResultE, ResultE2>(f: (e: ResultE) => ResultE2): <A, Err, R>(ref: RefResult<A, ResultE, Err, R>) => RefSubject.Computed<Result.Result<A, ResultE2>, Err, R>;
|
|
137
|
+
<A, ResultE, Err, R, ResultE2>(ref: RefResult<A, ResultE, Err, R>, f: (e: ResultE) => ResultE2): RefSubject.Computed<Result.Result<A, ResultE2>, Err, R>;
|
|
72
138
|
};
|
|
73
139
|
/**
|
|
74
140
|
* FlatMap the success value of a RefResult.
|
|
141
|
+
* @remarks
|
|
142
|
+
* ## Why
|
|
143
|
+
*
|
|
144
|
+
* Projects only successful values with `Result.flatMap` while preserving failures; current reads
|
|
145
|
+
* and future pushes use the same read-only derivation.
|
|
146
|
+
*
|
|
147
|
+
* ## Ownership and lifetime
|
|
148
|
+
*
|
|
149
|
+
* The flat map view retains no independent state. An Effect read samples the source once; Fx
|
|
150
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
151
|
+
*
|
|
75
152
|
* @since 1.18.0
|
|
76
|
-
* @category
|
|
153
|
+
* @category Derived queries
|
|
77
154
|
*/
|
|
78
155
|
export declare const flatMap: {
|
|
79
|
-
<A, B,
|
|
80
|
-
<A,
|
|
156
|
+
<A, B, ResultE2>(f: (a: A) => Result.Result<B, ResultE2>): <ResultE, Err, R>(ref: RefResult<A, ResultE, Err, R>) => RefSubject.Computed<Result.Result<B, ResultE | ResultE2>, Err, R>;
|
|
157
|
+
<A, ResultE, Err, R, B, ResultE2>(ref: RefResult<A, ResultE, Err, R>, f: (a: A) => Result.Result<B, ResultE2>): RefSubject.Computed<Result.Result<B, ResultE | ResultE2>, Err, R>;
|
|
81
158
|
};
|
|
82
159
|
/**
|
|
83
160
|
* Check if the current state of a RefResult is Success.
|
|
161
|
+
* @remarks
|
|
162
|
+
* ## Why
|
|
163
|
+
*
|
|
164
|
+
* Exposes the Result success discriminator as Computed state without changing or duplicating the
|
|
165
|
+
* RefResult.
|
|
166
|
+
*
|
|
167
|
+
* ## Ownership and lifetime
|
|
168
|
+
*
|
|
169
|
+
* The is success view retains no independent state. An Effect read samples the source once; Fx
|
|
170
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
171
|
+
*
|
|
84
172
|
* @since 1.18.0
|
|
85
|
-
* @category
|
|
173
|
+
* @category State predicates
|
|
86
174
|
*/
|
|
87
|
-
export declare const isSuccess: <A,
|
|
175
|
+
export declare const isSuccess: <A, ResultE, Err, R>(ref: RefResult<A, ResultE, Err, R>) => RefSubject.Computed<boolean, Err, R>;
|
|
88
176
|
/**
|
|
89
177
|
* Check if the current state of a RefResult is Failure.
|
|
178
|
+
* @remarks
|
|
179
|
+
* ## Why
|
|
180
|
+
*
|
|
181
|
+
* Exposes the Result failure discriminator as Computed state without changing or duplicating the
|
|
182
|
+
* RefResult.
|
|
183
|
+
*
|
|
184
|
+
* ## Ownership and lifetime
|
|
185
|
+
*
|
|
186
|
+
* The is failure view retains no independent state. An Effect read samples the source once; Fx
|
|
187
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
188
|
+
*
|
|
90
189
|
* @since 1.18.0
|
|
91
|
-
* @category
|
|
190
|
+
* @category State predicates
|
|
92
191
|
*/
|
|
93
|
-
export declare const isFailure: <A,
|
|
192
|
+
export declare const isFailure: <A, ResultE, Err, R>(ref: RefResult<A, ResultE, Err, R>) => RefSubject.Computed<boolean, Err, R>;
|
|
94
193
|
/**
|
|
95
194
|
* Match on the Result value.
|
|
195
|
+
* @remarks
|
|
196
|
+
* ## Why
|
|
197
|
+
*
|
|
198
|
+
* Folds both Result variants into one Computed value, applying the same handlers to current reads
|
|
199
|
+
* and subsequent pushes.
|
|
200
|
+
*
|
|
201
|
+
* ## Ownership and lifetime
|
|
202
|
+
*
|
|
203
|
+
* The match view retains no independent state. An Effect read samples the source once; Fx
|
|
204
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
205
|
+
*
|
|
96
206
|
* @since 1.18.0
|
|
97
|
-
* @category
|
|
207
|
+
* @category Derived queries
|
|
98
208
|
*/
|
|
99
209
|
export declare const match: {
|
|
100
|
-
<A,
|
|
210
|
+
<A, ResultE, B>(options: {
|
|
101
211
|
readonly onSuccess: (a: A) => B;
|
|
102
|
-
readonly onFailure: (e:
|
|
103
|
-
}): <R>(ref: RefResult<A,
|
|
104
|
-
<A,
|
|
212
|
+
readonly onFailure: (e: ResultE) => B;
|
|
213
|
+
}): <Err, R>(ref: RefResult<A, ResultE, Err, R>) => RefSubject.Computed<B, Err, R>;
|
|
214
|
+
<A, ResultE, Err, R, B>(ref: RefResult<A, ResultE, Err, R>, options: {
|
|
105
215
|
readonly onSuccess: (a: A) => B;
|
|
106
|
-
readonly onFailure: (e:
|
|
107
|
-
}): RefSubject.Computed<B,
|
|
216
|
+
readonly onFailure: (e: ResultE) => B;
|
|
217
|
+
}): RefSubject.Computed<B, Err, R>;
|
|
108
218
|
};
|
|
109
219
|
/**
|
|
110
220
|
* Get the success value from the Result as a Filtered (fails if Failure).
|
|
221
|
+
* @remarks
|
|
222
|
+
* ## Why
|
|
223
|
+
*
|
|
224
|
+
* Models the possibly absent result of get success as Filtered state, so absence stays explicit
|
|
225
|
+
* while later source versions can make a value available.
|
|
226
|
+
*
|
|
227
|
+
* ## Ownership and lifetime
|
|
228
|
+
*
|
|
229
|
+
* The get success view retains no independent value. Its Effect read fails with NoSuchElement
|
|
230
|
+
* while absent; the observing Scope owns and finalizes its Fx subscription.
|
|
231
|
+
*
|
|
111
232
|
* @since 1.18.0
|
|
112
|
-
* @category
|
|
233
|
+
* @category Optional queries
|
|
113
234
|
*/
|
|
114
|
-
export declare const getSuccess: <A,
|
|
235
|
+
export declare const getSuccess: <A, ResultE, Err, R>(ref: RefResult<A, ResultE, Err, R>) => RefSubject.Filtered<A, Err, R>;
|
|
115
236
|
/**
|
|
116
237
|
* Get the failure value from the Result as a Filtered (fails if Success).
|
|
238
|
+
* @remarks
|
|
239
|
+
* ## Why
|
|
240
|
+
*
|
|
241
|
+
* Models the possibly absent result of get failure as Filtered state, so absence stays explicit
|
|
242
|
+
* while later source versions can make a value available.
|
|
243
|
+
*
|
|
244
|
+
* ## Ownership and lifetime
|
|
245
|
+
*
|
|
246
|
+
* The get failure view retains no independent value. Its Effect read fails with NoSuchElement
|
|
247
|
+
* while absent; the observing Scope owns and finalizes its Fx subscription.
|
|
248
|
+
*
|
|
117
249
|
* @since 1.18.0
|
|
118
|
-
* @category
|
|
250
|
+
* @category Optional queries
|
|
119
251
|
*/
|
|
120
|
-
export declare const getFailure: <A,
|
|
252
|
+
export declare const getFailure: <A, ResultE, Err, R>(ref: RefResult<A, ResultE, Err, R>) => RefSubject.Filtered<ResultE, Err, R>;
|
|
121
253
|
//# sourceMappingURL=RefResult.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RefResult.d.ts","sourceRoot":"","sources":["../../src/RefSubject/RefResult.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAE9C
|
|
1
|
+
{"version":3,"file":"RefResult.d.ts","sourceRoot":"","sources":["../../src/RefSubject/RefResult.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,21 @@ import * as RefSubject from "./RefSubject.js";
|
|
|
9
9
|
/**
|
|
10
10
|
* Creates a new `RefResult` from a Result, `Effect`, or `Fx`.
|
|
11
11
|
*
|
|
12
|
+
* @remarks
|
|
13
|
+
* ## Why
|
|
14
|
+
*
|
|
15
|
+
* Creates result state with equality suited to that Effect data type, so unchanged values do not
|
|
16
|
+
* produce redundant pushed updates.
|
|
17
|
+
*
|
|
18
|
+
* ## Ownership and lifetime
|
|
19
|
+
*
|
|
20
|
+
* The creation Effect requires Scope. It owns initializer acquisition, live source subscriptions,
|
|
21
|
+
* and cleanup; source failures and services stay on reads and pushes.
|
|
22
|
+
*
|
|
12
23
|
* @example
|
|
13
24
|
* ```ts
|
|
14
25
|
* import { Effect, Result } from "effect"
|
|
15
|
-
* import * as RefResult from "
|
|
26
|
+
* import * as RefResult from "@typed/fx/RefResult"
|
|
16
27
|
*
|
|
17
28
|
* const program = Effect.gen(function* () {
|
|
18
29
|
* const value = yield* RefResult.make(Result.succeed(42))
|
|
@@ -22,23 +33,45 @@ import * as RefSubject from "./RefSubject.js";
|
|
|
22
33
|
* ```
|
|
23
34
|
*
|
|
24
35
|
* @since 1.18.0
|
|
25
|
-
* @category
|
|
36
|
+
* @category Constructors
|
|
26
37
|
*/
|
|
27
38
|
export function make(initial, successEq = Equivalence_.strictEqual(), failureEq = Equivalence_.strictEqual()) {
|
|
28
39
|
return RefSubject.make(initial, { eq: Result.makeEquivalence(successEq, failureEq) });
|
|
29
40
|
}
|
|
30
41
|
/**
|
|
31
42
|
* Set the current state of a RefResult to Success(value).
|
|
43
|
+
* @remarks
|
|
44
|
+
* ## Why
|
|
45
|
+
*
|
|
46
|
+
* Keeps set success atomic with respect to competing RefSubject writes instead of splitting the
|
|
47
|
+
* read and replacement into separate effects.
|
|
48
|
+
*
|
|
49
|
+
* ## Ownership and lifetime
|
|
50
|
+
*
|
|
51
|
+
* Running set success performs one serialized result transition and resolves with its committed
|
|
52
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
53
|
+
*
|
|
32
54
|
* @since 1.18.0
|
|
33
|
-
* @category
|
|
55
|
+
* @category State updates
|
|
34
56
|
*/
|
|
35
57
|
export const setSuccess = dual(2, function setSuccess(ref, value) {
|
|
36
58
|
return RefSubject.set(ref, Result.succeed(value));
|
|
37
59
|
});
|
|
38
60
|
/**
|
|
39
61
|
* Set the current state of a RefResult to Failure(error).
|
|
62
|
+
* @remarks
|
|
63
|
+
* ## Why
|
|
64
|
+
*
|
|
65
|
+
* Keeps set failure atomic with respect to competing RefSubject writes instead of splitting the
|
|
66
|
+
* read and replacement into separate effects.
|
|
67
|
+
*
|
|
68
|
+
* ## Ownership and lifetime
|
|
69
|
+
*
|
|
70
|
+
* Running set failure performs one serialized result transition and resolves with its committed
|
|
71
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
72
|
+
*
|
|
40
73
|
* @since 1.18.0
|
|
41
|
-
* @category
|
|
74
|
+
* @category State updates
|
|
42
75
|
*/
|
|
43
76
|
export const setFailure = dual(2, function setFailure(ref, error) {
|
|
44
77
|
return RefSubject.set(ref, Result.fail(error));
|
|
@@ -48,44 +81,110 @@ export const setFailure = dual(2, function setFailure(ref, error) {
|
|
|
48
81
|
// ========================================
|
|
49
82
|
/**
|
|
50
83
|
* Map the success value of a RefResult.
|
|
84
|
+
* @remarks
|
|
85
|
+
* ## Why
|
|
86
|
+
*
|
|
87
|
+
* Projects result state with map for both current reads and future pushes, avoiding a second
|
|
88
|
+
* mutable cache of the derived value.
|
|
89
|
+
*
|
|
90
|
+
* ## Ownership and lifetime
|
|
91
|
+
*
|
|
92
|
+
* The map view retains no independent state. An Effect read samples the source once; Fx
|
|
93
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
94
|
+
*
|
|
51
95
|
* @since 1.18.0
|
|
52
|
-
* @category
|
|
96
|
+
* @category Derived queries
|
|
53
97
|
*/
|
|
54
98
|
export const map = dual(2, function map(ref, f) {
|
|
55
99
|
return RefSubject.map(ref, (self) => Result.map(self, f));
|
|
56
100
|
});
|
|
57
101
|
/**
|
|
58
102
|
* Map the error value of a RefResult.
|
|
103
|
+
* @remarks
|
|
104
|
+
* ## Why
|
|
105
|
+
*
|
|
106
|
+
* Projects result state with map error for both current reads and future pushes, avoiding a second
|
|
107
|
+
* mutable cache of the derived value.
|
|
108
|
+
*
|
|
109
|
+
* ## Ownership and lifetime
|
|
110
|
+
*
|
|
111
|
+
* The map error view retains no independent state. An Effect read samples the source once; Fx
|
|
112
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
113
|
+
*
|
|
59
114
|
* @since 1.18.0
|
|
60
|
-
* @category
|
|
115
|
+
* @category Derived queries
|
|
61
116
|
*/
|
|
62
117
|
export const mapError = dual(2, function mapError(ref, f) {
|
|
63
118
|
return RefSubject.map(ref, (self) => Result.mapError(self, f));
|
|
64
119
|
});
|
|
65
120
|
/**
|
|
66
121
|
* FlatMap the success value of a RefResult.
|
|
122
|
+
* @remarks
|
|
123
|
+
* ## Why
|
|
124
|
+
*
|
|
125
|
+
* Projects only successful values with `Result.flatMap` while preserving failures; current reads
|
|
126
|
+
* and future pushes use the same read-only derivation.
|
|
127
|
+
*
|
|
128
|
+
* ## Ownership and lifetime
|
|
129
|
+
*
|
|
130
|
+
* The flat map view retains no independent state. An Effect read samples the source once; Fx
|
|
131
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
132
|
+
*
|
|
67
133
|
* @since 1.18.0
|
|
68
|
-
* @category
|
|
134
|
+
* @category Derived queries
|
|
69
135
|
*/
|
|
70
136
|
export const flatMap = dual(2, function flatMap(ref, f) {
|
|
71
137
|
return RefSubject.map(ref, (self) => Result.flatMap(self, f));
|
|
72
138
|
});
|
|
73
139
|
/**
|
|
74
140
|
* Check if the current state of a RefResult is Success.
|
|
141
|
+
* @remarks
|
|
142
|
+
* ## Why
|
|
143
|
+
*
|
|
144
|
+
* Exposes the Result success discriminator as Computed state without changing or duplicating the
|
|
145
|
+
* RefResult.
|
|
146
|
+
*
|
|
147
|
+
* ## Ownership and lifetime
|
|
148
|
+
*
|
|
149
|
+
* The is success view retains no independent state. An Effect read samples the source once; Fx
|
|
150
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
151
|
+
*
|
|
75
152
|
* @since 1.18.0
|
|
76
|
-
* @category
|
|
153
|
+
* @category State predicates
|
|
77
154
|
*/
|
|
78
155
|
export const isSuccess = (ref) => RefSubject.map(ref, Result.isSuccess);
|
|
79
156
|
/**
|
|
80
157
|
* Check if the current state of a RefResult is Failure.
|
|
158
|
+
* @remarks
|
|
159
|
+
* ## Why
|
|
160
|
+
*
|
|
161
|
+
* Exposes the Result failure discriminator as Computed state without changing or duplicating the
|
|
162
|
+
* RefResult.
|
|
163
|
+
*
|
|
164
|
+
* ## Ownership and lifetime
|
|
165
|
+
*
|
|
166
|
+
* The is failure view retains no independent state. An Effect read samples the source once; Fx
|
|
167
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
168
|
+
*
|
|
81
169
|
* @since 1.18.0
|
|
82
|
-
* @category
|
|
170
|
+
* @category State predicates
|
|
83
171
|
*/
|
|
84
172
|
export const isFailure = (ref) => RefSubject.map(ref, Result.isFailure);
|
|
85
173
|
/**
|
|
86
174
|
* Match on the Result value.
|
|
175
|
+
* @remarks
|
|
176
|
+
* ## Why
|
|
177
|
+
*
|
|
178
|
+
* Folds both Result variants into one Computed value, applying the same handlers to current reads
|
|
179
|
+
* and subsequent pushes.
|
|
180
|
+
*
|
|
181
|
+
* ## Ownership and lifetime
|
|
182
|
+
*
|
|
183
|
+
* The match view retains no independent state. An Effect read samples the source once; Fx
|
|
184
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
185
|
+
*
|
|
87
186
|
* @since 1.18.0
|
|
88
|
-
* @category
|
|
187
|
+
* @category Derived queries
|
|
89
188
|
*/
|
|
90
189
|
export const match = dual(2, function match(ref, options) {
|
|
91
190
|
return RefSubject.map(ref, (self) => Result.match(self, options));
|
|
@@ -95,13 +194,35 @@ export const match = dual(2, function match(ref, options) {
|
|
|
95
194
|
// ========================================
|
|
96
195
|
/**
|
|
97
196
|
* Get the success value from the Result as a Filtered (fails if Failure).
|
|
197
|
+
* @remarks
|
|
198
|
+
* ## Why
|
|
199
|
+
*
|
|
200
|
+
* Models the possibly absent result of get success as Filtered state, so absence stays explicit
|
|
201
|
+
* while later source versions can make a value available.
|
|
202
|
+
*
|
|
203
|
+
* ## Ownership and lifetime
|
|
204
|
+
*
|
|
205
|
+
* The get success view retains no independent value. Its Effect read fails with NoSuchElement
|
|
206
|
+
* while absent; the observing Scope owns and finalizes its Fx subscription.
|
|
207
|
+
*
|
|
98
208
|
* @since 1.18.0
|
|
99
|
-
* @category
|
|
209
|
+
* @category Optional queries
|
|
100
210
|
*/
|
|
101
211
|
export const getSuccess = (ref) => RefSubject.filterMap(ref, Result.getSuccess);
|
|
102
212
|
/**
|
|
103
213
|
* Get the failure value from the Result as a Filtered (fails if Success).
|
|
214
|
+
* @remarks
|
|
215
|
+
* ## Why
|
|
216
|
+
*
|
|
217
|
+
* Models the possibly absent result of get failure as Filtered state, so absence stays explicit
|
|
218
|
+
* while later source versions can make a value available.
|
|
219
|
+
*
|
|
220
|
+
* ## Ownership and lifetime
|
|
221
|
+
*
|
|
222
|
+
* The get failure view retains no independent value. Its Effect read fails with NoSuchElement
|
|
223
|
+
* while absent; the observing Scope owns and finalizes its Fx subscription.
|
|
224
|
+
*
|
|
104
225
|
* @since 1.18.0
|
|
105
|
-
* @category
|
|
226
|
+
* @category Optional queries
|
|
106
227
|
*/
|
|
107
228
|
export const getFailure = (ref) => RefSubject.filterMap(ref, Result.getFailure);
|