@typed/fx 2.0.0-beta.4 → 2.0.0-beta.6
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 +362 -10
- package/dist/Fx/Fx.d.ts.map +1 -1
- package/dist/Fx/Fx.js +32 -1
- 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 +64 -6
- 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 +130 -9
- package/dist/Fx/combinators/provide.d.ts.map +1 -1
- package/dist/Fx/combinators/provide.js +130 -9
- 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 +39 -0
- 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 +38 -0
- 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 +54 -3
- 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 +106 -0
- 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 +1216 -91
- package/dist/Push/Push.d.ts.map +1 -1
- package/dist/Push/Push.js +1012 -83
- 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 +1166 -13
- package/dist/RefSubject/RefSubject.d.ts.map +1 -1
- package/dist/RefSubject/RefSubject.js +843 -51
- 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 +381 -10
- package/dist/Sink/Sink.d.ts.map +1 -1
- package/dist/Sink/Sink.js +49 -2
- package/dist/Sink/combinators.d.ts +731 -2
- package/dist/Sink/combinators.d.ts.map +1 -1
- package/dist/Sink/combinators.js +706 -4
- package/dist/Subject/Subject.d.ts +1013 -19
- package/dist/Subject/Subject.d.ts.map +1 -1
- package/dist/Subject/Subject.js +901 -36
- package/dist/Versioned/Versioned.d.ts +424 -7
- package/dist/Versioned/Versioned.d.ts.map +1 -1
- package/dist/Versioned/Versioned.js +238 -12
- package/dist/index.d.ts +22 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -3
- package/package.json +123 -14
- 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 -1093
- 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 -2642
- 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 -440
- 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 -595
- 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,6 +10,17 @@ import * as RefSubject from "./RefSubject.js";
|
|
|
10
10
|
import { Result } from "effect";
|
|
11
11
|
/**
|
|
12
12
|
* Creates a new `RefHashMap` from a HashMap, `Effect`, or `Fx`.
|
|
13
|
+
* @remarks
|
|
14
|
+
* ## Why
|
|
15
|
+
*
|
|
16
|
+
* Creates hash map state with equality suited to that Effect data type, so unchanged values do not
|
|
17
|
+
* produce redundant pushed updates.
|
|
18
|
+
*
|
|
19
|
+
* ## Ownership and lifetime
|
|
20
|
+
*
|
|
21
|
+
* The creation Effect requires Scope. It owns initializer acquisition, live source subscriptions,
|
|
22
|
+
* and cleanup; source failures and services stay on reads and pushes.
|
|
23
|
+
*
|
|
13
24
|
* @since 1.18.0
|
|
14
25
|
* @category constructors
|
|
15
26
|
*/
|
|
@@ -21,6 +32,17 @@ export function make(initial) {
|
|
|
21
32
|
// ========================================
|
|
22
33
|
/**
|
|
23
34
|
* Set a key-value pair in the RefHashMap.
|
|
35
|
+
* @remarks
|
|
36
|
+
* ## Why
|
|
37
|
+
*
|
|
38
|
+
* Keeps set atomic with respect to competing RefSubject writes instead of splitting the read and
|
|
39
|
+
* replacement into separate effects.
|
|
40
|
+
*
|
|
41
|
+
* ## Ownership and lifetime
|
|
42
|
+
*
|
|
43
|
+
* Running set performs one serialized hash map transition and resolves with its committed value.
|
|
44
|
+
* It acquires no resource; failures and services remain those of the source ref.
|
|
45
|
+
*
|
|
24
46
|
* @since 1.18.0
|
|
25
47
|
* @category combinators
|
|
26
48
|
*/
|
|
@@ -29,6 +51,17 @@ export const set = dual(3, function set(ref, key, value) {
|
|
|
29
51
|
});
|
|
30
52
|
/**
|
|
31
53
|
* Remove a key from the RefHashMap.
|
|
54
|
+
* @remarks
|
|
55
|
+
* ## Why
|
|
56
|
+
*
|
|
57
|
+
* Applies remove to the committed hash map value and publishes only the result, preserving its
|
|
58
|
+
* element order and equality rules.
|
|
59
|
+
*
|
|
60
|
+
* ## Ownership and lifetime
|
|
61
|
+
*
|
|
62
|
+
* Running remove performs one serialized hash map transition and resolves with its committed
|
|
63
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
64
|
+
*
|
|
32
65
|
* @since 1.18.0
|
|
33
66
|
* @category combinators
|
|
34
67
|
*/
|
|
@@ -37,6 +70,17 @@ export const remove = dual(2, function remove(ref, key) {
|
|
|
37
70
|
});
|
|
38
71
|
/**
|
|
39
72
|
* Modify the value at a key if it exists.
|
|
73
|
+
* @remarks
|
|
74
|
+
* ## Why
|
|
75
|
+
*
|
|
76
|
+
* Keeps modify atomic with respect to competing RefSubject writes instead of splitting the read
|
|
77
|
+
* and replacement into separate effects.
|
|
78
|
+
*
|
|
79
|
+
* ## Ownership and lifetime
|
|
80
|
+
*
|
|
81
|
+
* Running modify performs one serialized hash map transition and resolves with its committed
|
|
82
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
83
|
+
*
|
|
40
84
|
* @since 1.18.0
|
|
41
85
|
* @category combinators
|
|
42
86
|
*/
|
|
@@ -45,6 +89,17 @@ export const modify = dual(3, function modify(ref, key, f) {
|
|
|
45
89
|
});
|
|
46
90
|
/**
|
|
47
91
|
* Modify the value at a key using an Option-based update function.
|
|
92
|
+
* @remarks
|
|
93
|
+
* ## Why
|
|
94
|
+
*
|
|
95
|
+
* Keeps modify at atomic with respect to competing RefSubject writes instead of splitting the read
|
|
96
|
+
* and replacement into separate effects.
|
|
97
|
+
*
|
|
98
|
+
* ## Ownership and lifetime
|
|
99
|
+
*
|
|
100
|
+
* Running modify at performs one serialized hash map transition and resolves with its committed
|
|
101
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
102
|
+
*
|
|
48
103
|
* @since 1.18.0
|
|
49
104
|
* @category combinators
|
|
50
105
|
*/
|
|
@@ -53,6 +108,17 @@ export const modifyAt = dual(3, function modifyAt(ref, key, f) {
|
|
|
53
108
|
});
|
|
54
109
|
/**
|
|
55
110
|
* Set multiple key-value pairs in the RefHashMap.
|
|
111
|
+
* @remarks
|
|
112
|
+
* ## Why
|
|
113
|
+
*
|
|
114
|
+
* Keeps set many atomic with respect to competing RefSubject writes instead of splitting the read
|
|
115
|
+
* and replacement into separate effects.
|
|
116
|
+
*
|
|
117
|
+
* ## Ownership and lifetime
|
|
118
|
+
*
|
|
119
|
+
* Running set many performs one serialized hash map transition and resolves with its committed
|
|
120
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
121
|
+
*
|
|
56
122
|
* @since 1.18.0
|
|
57
123
|
* @category combinators
|
|
58
124
|
*/
|
|
@@ -61,6 +127,17 @@ export const setMany = dual(2, function setMany(ref, entries) {
|
|
|
61
127
|
});
|
|
62
128
|
/**
|
|
63
129
|
* Remove multiple keys from the RefHashMap.
|
|
130
|
+
* @remarks
|
|
131
|
+
* ## Why
|
|
132
|
+
*
|
|
133
|
+
* Applies remove many to the committed hash map value and publishes only the result, preserving
|
|
134
|
+
* its element order and equality rules.
|
|
135
|
+
*
|
|
136
|
+
* ## Ownership and lifetime
|
|
137
|
+
*
|
|
138
|
+
* Running remove many performs one serialized hash map transition and resolves with its committed
|
|
139
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
140
|
+
*
|
|
64
141
|
* @since 1.18.0
|
|
65
142
|
* @category combinators
|
|
66
143
|
*/
|
|
@@ -69,12 +146,34 @@ export const removeMany = dual(2, function removeMany(ref, keys) {
|
|
|
69
146
|
});
|
|
70
147
|
/**
|
|
71
148
|
* Clear all entries from the RefHashMap.
|
|
149
|
+
* @remarks
|
|
150
|
+
* ## Why
|
|
151
|
+
*
|
|
152
|
+
* Applies clear to the committed hash map value and publishes only the result, preserving its
|
|
153
|
+
* element order and equality rules.
|
|
154
|
+
*
|
|
155
|
+
* ## Ownership and lifetime
|
|
156
|
+
*
|
|
157
|
+
* Running clear performs one serialized hash map transition and resolves with its committed value.
|
|
158
|
+
* It acquires no resource; failures and services remain those of the source ref.
|
|
159
|
+
*
|
|
72
160
|
* @since 1.18.0
|
|
73
161
|
* @category combinators
|
|
74
162
|
*/
|
|
75
163
|
export const clear = (ref) => RefSubject.update(ref, () => HashMap.empty());
|
|
76
164
|
/**
|
|
77
165
|
* Merge another HashMap into this one.
|
|
166
|
+
* @remarks
|
|
167
|
+
* ## Why
|
|
168
|
+
*
|
|
169
|
+
* Combines bulk hash map changes in one committed value, giving subscribers one coherent update
|
|
170
|
+
* rather than a partially applied sequence.
|
|
171
|
+
*
|
|
172
|
+
* ## Ownership and lifetime
|
|
173
|
+
*
|
|
174
|
+
* Running union performs one serialized hash map transition and resolves with its committed value.
|
|
175
|
+
* It acquires no resource; failures and services remain those of the source ref.
|
|
176
|
+
*
|
|
78
177
|
* @since 1.18.0
|
|
79
178
|
* @category combinators
|
|
80
179
|
*/
|
|
@@ -83,6 +182,16 @@ export const union = dual(2, function union(ref, that) {
|
|
|
83
182
|
});
|
|
84
183
|
/**
|
|
85
184
|
* Filter entries in place.
|
|
185
|
+
* @remarks
|
|
186
|
+
* ## Why
|
|
187
|
+
*
|
|
188
|
+
* Applies filter to the committed HashMap through `RefSubject.update` and publishes one coherent
|
|
189
|
+
* replacement; this is a mutation, not a read-only Computed projection.
|
|
190
|
+
*
|
|
191
|
+
* ## Ownership and lifetime
|
|
192
|
+
*
|
|
193
|
+
* The Effect starts when run, participates in the source ref's serialized update boundary, and
|
|
194
|
+
* acquires no resource. It returns the committed HashMap and retains the ref's E and R channels.
|
|
86
195
|
* @since 1.18.0
|
|
87
196
|
* @category combinators
|
|
88
197
|
*/
|
|
@@ -91,6 +200,16 @@ export const filter = dual(2, function filter(ref, predicate) {
|
|
|
91
200
|
});
|
|
92
201
|
/**
|
|
93
202
|
* Map values in place (endomorphic).
|
|
203
|
+
* @remarks
|
|
204
|
+
* ## Why
|
|
205
|
+
*
|
|
206
|
+
* Applies map to the committed HashMap through `RefSubject.update` and publishes one coherent
|
|
207
|
+
* replacement; this is a mutation, not a read-only Computed projection.
|
|
208
|
+
*
|
|
209
|
+
* ## Ownership and lifetime
|
|
210
|
+
*
|
|
211
|
+
* The Effect starts when run, participates in the source ref's serialized update boundary, and
|
|
212
|
+
* acquires no resource. It returns the committed HashMap and retains the ref's E and R channels.
|
|
94
213
|
* @since 1.18.0
|
|
95
214
|
* @category combinators
|
|
96
215
|
*/
|
|
@@ -102,42 +221,119 @@ export const map = dual(2, function map(ref, f) {
|
|
|
102
221
|
// ========================================
|
|
103
222
|
/**
|
|
104
223
|
* Get the current size of the RefHashMap.
|
|
224
|
+
* @remarks
|
|
225
|
+
* ## Why
|
|
226
|
+
*
|
|
227
|
+
* Makes size a live projection of the hash map; consumers can sample it now or observe it without
|
|
228
|
+
* copying the source state.
|
|
229
|
+
*
|
|
230
|
+
* ## Ownership and lifetime
|
|
231
|
+
*
|
|
232
|
+
* The size view retains no independent state. An Effect read samples the source once; Fx
|
|
233
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
234
|
+
*
|
|
105
235
|
* @since 1.18.0
|
|
106
236
|
* @category computed
|
|
107
237
|
*/
|
|
108
238
|
export const size = (ref) => RefSubject.map(ref, HashMap.size);
|
|
109
239
|
/**
|
|
110
240
|
* Check if the RefHashMap is empty.
|
|
241
|
+
* @remarks
|
|
242
|
+
* ## Why
|
|
243
|
+
*
|
|
244
|
+
* Makes is empty a live projection of the hash map; consumers can sample it now or observe it
|
|
245
|
+
* without copying the source state.
|
|
246
|
+
*
|
|
247
|
+
* ## Ownership and lifetime
|
|
248
|
+
*
|
|
249
|
+
* The is empty view retains no independent state. An Effect read samples the source once; Fx
|
|
250
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
251
|
+
*
|
|
111
252
|
* @since 1.18.0
|
|
112
253
|
* @category computed
|
|
113
254
|
*/
|
|
114
255
|
export const isEmpty = (ref) => RefSubject.map(ref, HashMap.isEmpty);
|
|
115
256
|
/**
|
|
116
257
|
* Check if the RefHashMap is non-empty.
|
|
258
|
+
* @remarks
|
|
259
|
+
* ## Why
|
|
260
|
+
*
|
|
261
|
+
* Makes is non empty a live projection of the hash map; consumers can sample it now or observe it
|
|
262
|
+
* without copying the source state.
|
|
263
|
+
*
|
|
264
|
+
* ## Ownership and lifetime
|
|
265
|
+
*
|
|
266
|
+
* The is non empty view retains no independent state. An Effect read samples the source once; Fx
|
|
267
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
268
|
+
*
|
|
117
269
|
* @since 1.18.0
|
|
118
270
|
* @category computed
|
|
119
271
|
*/
|
|
120
272
|
export const isNonEmpty = (ref) => RefSubject.map(ref, (m) => !HashMap.isEmpty(m));
|
|
121
273
|
/**
|
|
122
274
|
* Get all keys from the RefHashMap.
|
|
275
|
+
* @remarks
|
|
276
|
+
* ## Why
|
|
277
|
+
*
|
|
278
|
+
* Projects hash map state with keys for both current reads and future pushes, avoiding a second
|
|
279
|
+
* mutable cache of the derived value.
|
|
280
|
+
*
|
|
281
|
+
* ## Ownership and lifetime
|
|
282
|
+
*
|
|
283
|
+
* The keys view retains no independent state. An Effect read samples the source once; Fx
|
|
284
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
285
|
+
*
|
|
123
286
|
* @since 1.18.0
|
|
124
287
|
* @category computed
|
|
125
288
|
*/
|
|
126
289
|
export const keys = (ref) => RefSubject.map(ref, (m) => Array.from(HashMap.keys(m)));
|
|
127
290
|
/**
|
|
128
291
|
* Get all values from the RefHashMap.
|
|
292
|
+
* @remarks
|
|
293
|
+
* ## Why
|
|
294
|
+
*
|
|
295
|
+
* Projects hash map state with values for both current reads and future pushes, avoiding a second
|
|
296
|
+
* mutable cache of the derived value.
|
|
297
|
+
*
|
|
298
|
+
* ## Ownership and lifetime
|
|
299
|
+
*
|
|
300
|
+
* The values view retains no independent state. An Effect read samples the source once; Fx
|
|
301
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
302
|
+
*
|
|
129
303
|
* @since 1.18.0
|
|
130
304
|
* @category computed
|
|
131
305
|
*/
|
|
132
306
|
export const values = (ref) => RefSubject.map(ref, HashMap.toValues);
|
|
133
307
|
/**
|
|
134
308
|
* Get all entries from the RefHashMap.
|
|
309
|
+
* @remarks
|
|
310
|
+
* ## Why
|
|
311
|
+
*
|
|
312
|
+
* Projects hash map state with entries for both current reads and future pushes, avoiding a second
|
|
313
|
+
* mutable cache of the derived value.
|
|
314
|
+
*
|
|
315
|
+
* ## Ownership and lifetime
|
|
316
|
+
*
|
|
317
|
+
* The entries view retains no independent state. An Effect read samples the source once; Fx
|
|
318
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
319
|
+
*
|
|
135
320
|
* @since 1.18.0
|
|
136
321
|
* @category computed
|
|
137
322
|
*/
|
|
138
323
|
export const entries = (ref) => RefSubject.map(ref, HashMap.toEntries);
|
|
139
324
|
/**
|
|
140
325
|
* Check if a key exists in the RefHashMap.
|
|
326
|
+
* @remarks
|
|
327
|
+
* ## Why
|
|
328
|
+
*
|
|
329
|
+
* Makes has a live projection of the hash map; consumers can sample it now or observe it without
|
|
330
|
+
* copying the source state.
|
|
331
|
+
*
|
|
332
|
+
* ## Ownership and lifetime
|
|
333
|
+
*
|
|
334
|
+
* The has view retains no independent state. An Effect read samples the source once; Fx
|
|
335
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
336
|
+
*
|
|
141
337
|
* @since 1.18.0
|
|
142
338
|
* @category computed
|
|
143
339
|
*/
|
|
@@ -146,6 +342,17 @@ export const has = dual(2, function has(ref, key) {
|
|
|
146
342
|
});
|
|
147
343
|
/**
|
|
148
344
|
* Map values to a different type.
|
|
345
|
+
* @remarks
|
|
346
|
+
* ## Why
|
|
347
|
+
*
|
|
348
|
+
* Projects hash map state with map values for both current reads and future pushes, avoiding a
|
|
349
|
+
* second mutable cache of the derived value.
|
|
350
|
+
*
|
|
351
|
+
* ## Ownership and lifetime
|
|
352
|
+
*
|
|
353
|
+
* The map values view retains no independent state. An Effect read samples the source once; Fx
|
|
354
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
355
|
+
*
|
|
149
356
|
* @since 1.18.0
|
|
150
357
|
* @category computed
|
|
151
358
|
*/
|
|
@@ -154,6 +361,17 @@ export const mapValues = dual(2, function mapValues(ref, f) {
|
|
|
154
361
|
});
|
|
155
362
|
/**
|
|
156
363
|
* Filter entries creating a Computed value.
|
|
364
|
+
* @remarks
|
|
365
|
+
* ## Why
|
|
366
|
+
*
|
|
367
|
+
* Projects hash map state with filter values for both current reads and future pushes, avoiding a
|
|
368
|
+
* second mutable cache of the derived value.
|
|
369
|
+
*
|
|
370
|
+
* ## Ownership and lifetime
|
|
371
|
+
*
|
|
372
|
+
* The filter values view retains no independent state. An Effect read samples the source once; Fx
|
|
373
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
374
|
+
*
|
|
157
375
|
* @since 1.18.0
|
|
158
376
|
* @category computed
|
|
159
377
|
*/
|
|
@@ -162,6 +380,17 @@ export const filterValues = dual(2, function filterValues(ref, predicate) {
|
|
|
162
380
|
});
|
|
163
381
|
/**
|
|
164
382
|
* Filter and map values.
|
|
383
|
+
* @remarks
|
|
384
|
+
* ## Why
|
|
385
|
+
*
|
|
386
|
+
* Projects hash map state with filter map values for both current reads and future pushes,
|
|
387
|
+
* avoiding a second mutable cache of the derived value.
|
|
388
|
+
*
|
|
389
|
+
* ## Ownership and lifetime
|
|
390
|
+
*
|
|
391
|
+
* The filter map values view retains no independent state. An Effect read samples the source once;
|
|
392
|
+
* Fx observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
393
|
+
*
|
|
165
394
|
* @since 1.18.0
|
|
166
395
|
* @category computed
|
|
167
396
|
*/
|
|
@@ -173,6 +402,17 @@ export const filterMapValues = dual(2, function filterMapValues(ref, f) {
|
|
|
173
402
|
});
|
|
174
403
|
/**
|
|
175
404
|
* Reduce the entries to a single value.
|
|
405
|
+
* @remarks
|
|
406
|
+
* ## Why
|
|
407
|
+
*
|
|
408
|
+
* Makes reduce a live projection of the hash map; consumers can sample it now or observe it
|
|
409
|
+
* without copying the source state.
|
|
410
|
+
*
|
|
411
|
+
* ## Ownership and lifetime
|
|
412
|
+
*
|
|
413
|
+
* The reduce view retains no independent state. An Effect read samples the source once; Fx
|
|
414
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
415
|
+
*
|
|
176
416
|
* @since 1.18.0
|
|
177
417
|
* @category computed
|
|
178
418
|
*/
|
|
@@ -181,6 +421,17 @@ export const reduce = dual(3, function reduce(ref, b, f) {
|
|
|
181
421
|
});
|
|
182
422
|
/**
|
|
183
423
|
* Check if any entry satisfies a predicate.
|
|
424
|
+
* @remarks
|
|
425
|
+
* ## Why
|
|
426
|
+
*
|
|
427
|
+
* Makes some a live projection of the hash map; consumers can sample it now or observe it without
|
|
428
|
+
* copying the source state.
|
|
429
|
+
*
|
|
430
|
+
* ## Ownership and lifetime
|
|
431
|
+
*
|
|
432
|
+
* The some view retains no independent state. An Effect read samples the source once; Fx
|
|
433
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
434
|
+
*
|
|
184
435
|
* @since 1.18.0
|
|
185
436
|
* @category computed
|
|
186
437
|
*/
|
|
@@ -189,6 +440,17 @@ export const some = dual(2, function some(ref, predicate) {
|
|
|
189
440
|
});
|
|
190
441
|
/**
|
|
191
442
|
* Check if all entries satisfy a predicate.
|
|
443
|
+
* @remarks
|
|
444
|
+
* ## Why
|
|
445
|
+
*
|
|
446
|
+
* Makes every a live projection of the hash map; consumers can sample it now or observe it without
|
|
447
|
+
* copying the source state.
|
|
448
|
+
*
|
|
449
|
+
* ## Ownership and lifetime
|
|
450
|
+
*
|
|
451
|
+
* The every view retains no independent state. An Effect read samples the source once; Fx
|
|
452
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
453
|
+
*
|
|
192
454
|
* @since 1.18.0
|
|
193
455
|
* @category computed
|
|
194
456
|
*/
|
|
@@ -200,6 +462,17 @@ export const every = dual(2, function every(ref, predicate) {
|
|
|
200
462
|
// ========================================
|
|
201
463
|
/**
|
|
202
464
|
* Get the value at a key as a Filtered.
|
|
465
|
+
* @remarks
|
|
466
|
+
* ## Why
|
|
467
|
+
*
|
|
468
|
+
* Models the possibly absent result of get as Filtered state, so absence stays explicit while
|
|
469
|
+
* later source versions can make a value available.
|
|
470
|
+
*
|
|
471
|
+
* ## Ownership and lifetime
|
|
472
|
+
*
|
|
473
|
+
* The get view retains no independent value. Its Effect read fails with NoSuchElement
|
|
474
|
+
* while absent; the observing Scope owns and finalizes its Fx subscription.
|
|
475
|
+
*
|
|
203
476
|
* @since 1.18.0
|
|
204
477
|
* @category filtered
|
|
205
478
|
*/
|
|
@@ -208,6 +481,17 @@ export const get = dual(2, function get(ref, key) {
|
|
|
208
481
|
});
|
|
209
482
|
/**
|
|
210
483
|
* Find the first entry satisfying a predicate.
|
|
484
|
+
* @remarks
|
|
485
|
+
* ## Why
|
|
486
|
+
*
|
|
487
|
+
* Models the possibly absent result of find first as Filtered state, so absence stays explicit
|
|
488
|
+
* while later source versions can make a value available.
|
|
489
|
+
*
|
|
490
|
+
* ## Ownership and lifetime
|
|
491
|
+
*
|
|
492
|
+
* The find first view retains no independent value. Its Effect read fails with NoSuchElement
|
|
493
|
+
* while absent; the observing Scope owns and finalizes its Fx subscription.
|
|
494
|
+
*
|
|
211
495
|
* @since 1.18.0
|
|
212
496
|
* @category filtered
|
|
213
497
|
*/
|
|
@@ -10,6 +10,17 @@ import type * as Fx from "../Fx/index.js";
|
|
|
10
10
|
import * as RefSubject from "./RefSubject.js";
|
|
11
11
|
/**
|
|
12
12
|
* A RefHashRing is a RefSubject specialized over a HashRing.
|
|
13
|
+
* @remarks
|
|
14
|
+
* ## Why
|
|
15
|
+
*
|
|
16
|
+
* Defines hash ring state with the same current-read, pushed-update, and synchronized-write
|
|
17
|
+
* contract as RefSubject.
|
|
18
|
+
*
|
|
19
|
+
* ## Ownership and lifetime
|
|
20
|
+
*
|
|
21
|
+
* RefHashRing 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
25
|
* @category models
|
|
15
26
|
*/
|
|
@@ -17,20 +28,53 @@ export interface RefHashRing<in out A extends PrimaryKey.PrimaryKey, in out E =
|
|
|
17
28
|
}
|
|
18
29
|
/**
|
|
19
30
|
* Creates a new `RefHashRing` from a HashRing, `Effect`, or `Fx`.
|
|
31
|
+
* @remarks
|
|
32
|
+
* ## Why
|
|
33
|
+
*
|
|
34
|
+
* Creates hash ring state with equality suited to that Effect data type, so unchanged values do
|
|
35
|
+
* not produce redundant pushed updates.
|
|
36
|
+
*
|
|
37
|
+
* ## Ownership and lifetime
|
|
38
|
+
*
|
|
39
|
+
* The creation Effect requires Scope. It owns initializer acquisition, live source subscriptions,
|
|
40
|
+
* and cleanup; source failures and services stay on reads and pushes.
|
|
41
|
+
*
|
|
20
42
|
* @since 1.18.0
|
|
21
43
|
* @category constructors
|
|
22
44
|
*/
|
|
23
|
-
export declare function make<A extends PrimaryKey.PrimaryKey, E, R>(initial: HashRing.HashRing<A> | Effect.Effect<HashRing.HashRing<A>, E, R> | Fx.Fx<HashRing.HashRing<A>, E, R>): Effect.Effect<RefHashRing<A, E>, never, R | Scope.Scope>;
|
|
45
|
+
export declare function make<A extends PrimaryKey.PrimaryKey, E = never, R = never>(initial: HashRing.HashRing<A> | Effect.Effect<HashRing.HashRing<A>, E, R> | Fx.Fx<HashRing.HashRing<A>, E, R>): Effect.Effect<RefHashRing<A, E>, never, R | Scope.Scope>;
|
|
24
46
|
/**
|
|
25
47
|
* Creates a new empty RefHashRing.
|
|
48
|
+
* @remarks
|
|
49
|
+
* ## Why
|
|
50
|
+
*
|
|
51
|
+
* Creates a new empty RefHashRing. The operation remains attached to the RefSubject's versioned
|
|
52
|
+
* state boundary.
|
|
53
|
+
*
|
|
54
|
+
* ## Ownership and lifetime
|
|
55
|
+
*
|
|
56
|
+
* Running empty performs one serialized hash ring transition and resolves with its committed
|
|
57
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
58
|
+
*
|
|
26
59
|
* @since 1.18.0
|
|
27
60
|
* @category constructors
|
|
28
61
|
*/
|
|
29
|
-
export declare function empty<A extends PrimaryKey.PrimaryKey, E, R>(options?: {
|
|
62
|
+
export declare function empty<A extends PrimaryKey.PrimaryKey, E = never, R = never>(options?: {
|
|
30
63
|
readonly baseWeight?: number;
|
|
31
64
|
}): Effect.Effect<RefHashRing<A, E>, never, R | Scope.Scope>;
|
|
32
65
|
/**
|
|
33
66
|
* Add a node to the HashRing.
|
|
67
|
+
* @remarks
|
|
68
|
+
* ## Why
|
|
69
|
+
*
|
|
70
|
+
* Add a node to the HashRing. The operation remains attached to the RefSubject's versioned state
|
|
71
|
+
* boundary.
|
|
72
|
+
*
|
|
73
|
+
* ## Ownership and lifetime
|
|
74
|
+
*
|
|
75
|
+
* Running add performs one serialized hash ring transition and resolves with its committed value.
|
|
76
|
+
* It acquires no resource; failures and services remain those of the source ref.
|
|
77
|
+
*
|
|
34
78
|
* @since 1.18.0
|
|
35
79
|
* @category combinators
|
|
36
80
|
*/
|
|
@@ -44,6 +88,17 @@ export declare const add: {
|
|
|
44
88
|
};
|
|
45
89
|
/**
|
|
46
90
|
* Add multiple nodes to the HashRing.
|
|
91
|
+
* @remarks
|
|
92
|
+
* ## Why
|
|
93
|
+
*
|
|
94
|
+
* Add multiple nodes to the HashRing. The operation remains attached to the RefSubject's versioned
|
|
95
|
+
* state boundary.
|
|
96
|
+
*
|
|
97
|
+
* ## Ownership and lifetime
|
|
98
|
+
*
|
|
99
|
+
* Running add many performs one serialized hash ring transition and resolves with its committed
|
|
100
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
101
|
+
*
|
|
47
102
|
* @since 1.18.0
|
|
48
103
|
* @category combinators
|
|
49
104
|
*/
|
|
@@ -57,6 +112,17 @@ export declare const addMany: {
|
|
|
57
112
|
};
|
|
58
113
|
/**
|
|
59
114
|
* Remove a node from the HashRing.
|
|
115
|
+
* @remarks
|
|
116
|
+
* ## Why
|
|
117
|
+
*
|
|
118
|
+
* Applies remove to the committed hash ring value and publishes only the result, preserving its
|
|
119
|
+
* element order and equality rules.
|
|
120
|
+
*
|
|
121
|
+
* ## Ownership and lifetime
|
|
122
|
+
*
|
|
123
|
+
* Running remove performs one serialized hash ring transition and resolves with its committed
|
|
124
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
125
|
+
*
|
|
60
126
|
* @since 1.18.0
|
|
61
127
|
* @category combinators
|
|
62
128
|
*/
|
|
@@ -66,6 +132,17 @@ export declare const remove: {
|
|
|
66
132
|
};
|
|
67
133
|
/**
|
|
68
134
|
* Check if a node exists in the HashRing.
|
|
135
|
+
* @remarks
|
|
136
|
+
* ## Why
|
|
137
|
+
*
|
|
138
|
+
* Makes has a live projection of the hash ring; consumers can sample it now or observe it without
|
|
139
|
+
* copying the source state.
|
|
140
|
+
*
|
|
141
|
+
* ## Ownership and lifetime
|
|
142
|
+
*
|
|
143
|
+
* The has view retains no independent state. An Effect read samples the source once; Fx
|
|
144
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
145
|
+
*
|
|
69
146
|
* @since 1.18.0
|
|
70
147
|
* @category computed
|
|
71
148
|
*/
|
|
@@ -75,12 +152,34 @@ export declare const has: {
|
|
|
75
152
|
};
|
|
76
153
|
/**
|
|
77
154
|
* Get the number of nodes in the HashRing.
|
|
155
|
+
* @remarks
|
|
156
|
+
* ## Why
|
|
157
|
+
*
|
|
158
|
+
* Makes size a live projection of the hash ring; consumers can sample it now or observe it without
|
|
159
|
+
* copying the source state.
|
|
160
|
+
*
|
|
161
|
+
* ## Ownership and lifetime
|
|
162
|
+
*
|
|
163
|
+
* The size view retains no independent state. An Effect read samples the source once; Fx
|
|
164
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
165
|
+
*
|
|
78
166
|
* @since 1.18.0
|
|
79
167
|
* @category computed
|
|
80
168
|
*/
|
|
81
169
|
export declare const size: <A extends PrimaryKey.PrimaryKey, E, R>(ref: RefHashRing<A, E, R>) => RefSubject.Computed<number, E, R>;
|
|
82
170
|
/**
|
|
83
171
|
* Check if the HashRing is empty.
|
|
172
|
+
* @remarks
|
|
173
|
+
* ## Why
|
|
174
|
+
*
|
|
175
|
+
* Makes is empty a live projection of the hash ring; consumers can sample it now or observe it
|
|
176
|
+
* without copying the source state.
|
|
177
|
+
*
|
|
178
|
+
* ## Ownership and lifetime
|
|
179
|
+
*
|
|
180
|
+
* The is empty view retains no independent state. An Effect read samples the source once; Fx
|
|
181
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
182
|
+
*
|
|
84
183
|
* @since 1.18.0
|
|
85
184
|
* @category computed
|
|
86
185
|
*/
|
|
@@ -88,6 +187,17 @@ export declare const isEmpty: <A extends PrimaryKey.PrimaryKey, E, R>(ref: RefHa
|
|
|
88
187
|
/**
|
|
89
188
|
* Get the node which should handle a given input string as a Computed.
|
|
90
189
|
* Returns undefined if the ring is empty.
|
|
190
|
+
* @remarks
|
|
191
|
+
* ## Why
|
|
192
|
+
*
|
|
193
|
+
* Projects the selected node for current reads and later pushes. An empty ring is represented by
|
|
194
|
+
* `undefined` inside the Computed value; it does not become Filtered or add `NoSuchElementError`.
|
|
195
|
+
*
|
|
196
|
+
* ## Ownership and lifetime
|
|
197
|
+
*
|
|
198
|
+
* The get node view retains no independent state. An Effect read samples the source once; Fx
|
|
199
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
200
|
+
*
|
|
91
201
|
* @since 1.18.0
|
|
92
202
|
* @category computed
|
|
93
203
|
*/
|
|
@@ -97,6 +207,18 @@ export declare const getNode: {
|
|
|
97
207
|
};
|
|
98
208
|
/**
|
|
99
209
|
* Get shard distribution across nodes.
|
|
210
|
+
* @remarks
|
|
211
|
+
* ## Why
|
|
212
|
+
*
|
|
213
|
+
* Projects the shard distribution for current reads and later pushes. An empty ring is represented
|
|
214
|
+
* by `undefined` inside the Computed value; it does not become Filtered or add
|
|
215
|
+
* `NoSuchElementError`.
|
|
216
|
+
*
|
|
217
|
+
* ## Ownership and lifetime
|
|
218
|
+
*
|
|
219
|
+
* The get shards view retains no independent state. An Effect read samples the source once; Fx
|
|
220
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
221
|
+
*
|
|
100
222
|
* @since 1.18.0
|
|
101
223
|
* @category computed
|
|
102
224
|
*/
|
|
@@ -106,6 +228,17 @@ export declare const getShards: {
|
|
|
106
228
|
};
|
|
107
229
|
/**
|
|
108
230
|
* Get all nodes as an array.
|
|
231
|
+
* @remarks
|
|
232
|
+
* ## Why
|
|
233
|
+
*
|
|
234
|
+
* Projects hash ring state with values for both current reads and future pushes, avoiding a second
|
|
235
|
+
* mutable cache of the derived value.
|
|
236
|
+
*
|
|
237
|
+
* ## Ownership and lifetime
|
|
238
|
+
*
|
|
239
|
+
* The values view retains no independent state. An Effect read samples the source once; Fx
|
|
240
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
241
|
+
*
|
|
109
242
|
* @since 1.18.0
|
|
110
243
|
* @category computed
|
|
111
244
|
*/
|
|
@@ -113,6 +246,17 @@ export declare const values: <A extends PrimaryKey.PrimaryKey, E, R>(ref: RefHas
|
|
|
113
246
|
/**
|
|
114
247
|
* Get the node which should handle a given input string as a Filtered.
|
|
115
248
|
* Fails if the ring is empty.
|
|
249
|
+
* @remarks
|
|
250
|
+
* ## Why
|
|
251
|
+
*
|
|
252
|
+
* Models the possibly absent result of get as Filtered state, so absence stays explicit while
|
|
253
|
+
* later source versions can make a value available.
|
|
254
|
+
*
|
|
255
|
+
* ## Ownership and lifetime
|
|
256
|
+
*
|
|
257
|
+
* The get view retains no independent value. Its Effect read fails with NoSuchElement
|
|
258
|
+
* while absent; the observing Scope owns and finalizes its Fx subscription.
|
|
259
|
+
*
|
|
116
260
|
* @since 1.18.0
|
|
117
261
|
* @category filtered
|
|
118
262
|
*/
|