@typed/fx 2.0.0-beta.0 → 2.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +58 -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 +245 -0
- package/dist/Fx/combinators/additive.d.ts.map +1 -0
- package/dist/Fx/combinators/additive.js +243 -0
- package/dist/Fx/combinators/catch.d.ts +246 -12
- package/dist/Fx/combinators/catch.d.ts.map +1 -1
- package/dist/Fx/combinators/catch.js +236 -12
- 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 +40 -0
- package/dist/Fx/combinators/changesWithEffect.d.ts.map +1 -0
- package/dist/Fx/combinators/changesWithEffect.js +48 -0
- 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 +71 -0
- package/dist/Fx/combinators/dropUntil.d.ts.map +1 -0
- package/dist/Fx/combinators/dropUntil.js +65 -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 +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 +51 -4
- 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 +45 -0
- package/dist/Fx/combinators/index.d.ts.map +1 -1
- package/dist/Fx/combinators/index.js +45 -0
- package/dist/Fx/combinators/keyed.d.ts +124 -10
- 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 +40 -0
- package/dist/Fx/combinators/mapBoth.d.ts.map +1 -0
- package/dist/Fx/combinators/mapBoth.js +33 -0
- 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 +33 -0
- package/dist/Fx/combinators/mapError.d.ts.map +1 -0
- package/dist/Fx/combinators/mapError.js +32 -0
- 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 +162 -8
- package/dist/Fx/combinators/provide.d.ts.map +1 -1
- package/dist/Fx/combinators/provide.js +154 -6
- 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 +45 -0
- package/dist/Fx/combinators/result.d.ts.map +1 -0
- package/dist/Fx/combinators/result.js +46 -0
- 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 +72 -0
- package/dist/Fx/combinators/scan.d.ts.map +1 -0
- package/dist/Fx/combinators/scan.js +77 -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 +45 -1
- package/dist/Fx/combinators/skip.d.ts.map +1 -1
- package/dist/Fx/combinators/skip.js +43 -1
- 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 +117 -0
- package/dist/Fx/combinators/skipWhile.d.ts.map +1 -0
- package/dist/Fx/combinators/skipWhile.js +134 -0
- package/dist/Fx/combinators/slice.d.ts +97 -2
- package/dist/Fx/combinators/slice.d.ts.map +1 -1
- package/dist/Fx/combinators/slice.js +45 -1
- 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 +46 -1
- package/dist/Fx/combinators/take.d.ts.map +1 -1
- package/dist/Fx/combinators/take.js +44 -1
- package/dist/Fx/combinators/takeUntil.d.ts +62 -2
- package/dist/Fx/combinators/takeUntil.d.ts.map +1 -1
- package/dist/Fx/combinators/takeUntil.js +62 -2
- package/dist/Fx/combinators/takeWhile.d.ts +60 -0
- package/dist/Fx/combinators/takeWhile.d.ts.map +1 -0
- package/dist/Fx/combinators/takeWhile.js +54 -0
- 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 +135 -0
- package/dist/Fx/combinators/zip.d.ts.map +1 -0
- package/dist/Fx/combinators/zip.js +160 -0
- package/dist/Fx/constructors/at.d.ts +23 -3
- 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 +31 -2
- package/dist/Fx/constructors/periodic.d.ts.map +1 -1
- package/dist/Fx/constructors/periodic.js +30 -1
- package/dist/Fx/constructors/succeed.d.ts +79 -7
- package/dist/Fx/constructors/succeed.d.ts.map +1 -1
- package/dist/Fx/constructors/succeed.js +79 -7
- package/dist/Fx/constructors/suspend.d.ts +28 -0
- package/dist/Fx/constructors/suspend.d.ts.map +1 -1
- package/dist/Fx/constructors/suspend.js +28 -0
- package/dist/Fx/constructors/sync.d.ts +32 -0
- package/dist/Fx/constructors/sync.d.ts.map +1 -0
- package/dist/Fx/constructors/sync.js +32 -0
- package/dist/Fx/internal/DeferredRef.d.ts +259 -7
- package/dist/Fx/internal/DeferredRef.d.ts.map +1 -1
- package/dist/Fx/internal/DeferredRef.js +260 -9
- package/dist/Fx/internal/UnionToTuple.d.ts +22 -0
- package/dist/Fx/internal/UnionToTuple.d.ts.map +1 -1
- package/dist/Fx/internal/diff.d.ts +586 -0
- package/dist/Fx/internal/diff.d.ts.map +1 -1
- package/dist/Fx/internal/diff.js +120 -9
- package/dist/Fx/internal/effectableEvaluateKey.d.ts +30 -0
- package/dist/Fx/internal/effectableEvaluateKey.d.ts.map +1 -0
- package/dist/Fx/internal/effectableEvaluateKey.js +29 -0
- package/dist/Fx/internal/effectableWithOverride.d.ts +55 -0
- package/dist/Fx/internal/effectableWithOverride.d.ts.map +1 -0
- package/dist/Fx/internal/effectableWithOverride.js +46 -0
- package/dist/Fx/internal/equivalence.d.ts +29 -0
- package/dist/Fx/internal/equivalence.d.ts.map +1 -1
- package/dist/Fx/internal/equivalence.js +29 -0
- package/dist/Fx/internal/multicast.d.ts +145 -2
- package/dist/Fx/internal/multicast.d.ts.map +1 -1
- package/dist/Fx/internal/multicast.js +146 -4
- package/dist/Fx/internal/ring-buffer.d.ts +149 -0
- package/dist/Fx/internal/ring-buffer.d.ts.map +1 -1
- package/dist/Fx/internal/ring-buffer.js +155 -0
- package/dist/Fx/internal/scope.d.ts +184 -0
- package/dist/Fx/internal/scope.d.ts.map +1 -1
- package/dist/Fx/internal/scope.js +150 -0
- package/dist/Fx/internal/yieldable.d.ts +117 -2
- package/dist/Fx/internal/yieldable.d.ts.map +1 -1
- package/dist/Fx/internal/yieldable.js +86 -3
- package/dist/Fx/run/collect.d.ts +93 -4
- package/dist/Fx/run/collect.d.ts.map +1 -1
- package/dist/Fx/run/collect.js +94 -5
- package/dist/Fx/run/first.d.ts +23 -1
- package/dist/Fx/run/first.d.ts.map +1 -1
- package/dist/Fx/run/first.js +23 -1
- package/dist/Fx/run/fork.d.ts +52 -2
- package/dist/Fx/run/fork.d.ts.map +1 -1
- package/dist/Fx/run/fork.js +52 -2
- package/dist/Fx/run/observe.d.ts +112 -4
- package/dist/Fx/run/observe.d.ts.map +1 -1
- package/dist/Fx/run/observe.js +137 -16
- package/dist/Fx/run/runPromise.d.ts +45 -2
- package/dist/Fx/run/runPromise.d.ts.map +1 -1
- package/dist/Fx/run/runPromise.js +45 -2
- package/dist/Fx/stream.d.ts +92 -0
- package/dist/Fx/stream.d.ts.map +1 -1
- package/dist/Fx/stream.js +60 -1
- package/dist/Push/Push.d.ts +1286 -98
- package/dist/Push/Push.d.ts.map +1 -1
- package/dist/Push/Push.js +1074 -88
- 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 +137 -16
- 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 +1242 -43
- package/dist/RefSubject/RefSubject.d.ts.map +1 -1
- package/dist/RefSubject/RefSubject.js +1012 -86
- 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 +789 -3
- package/dist/Sink/combinators.d.ts.map +1 -1
- package/dist/Sink/combinators.js +812 -7
- 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 +475 -25
- package/dist/Versioned/Versioned.d.ts.map +1 -1
- package/dist/Versioned/Versioned.js +298 -46
- package/dist/index.d.ts +22 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -3
- package/package.json +125 -11
- package/dist/Fx/constructors/fromYieldable.d.ts +0 -12
- package/dist/Fx/constructors/fromYieldable.d.ts.map +0 -1
- package/dist/Fx/constructors/fromYieldable.js +0 -12
- package/src/Fx/Fx.ts +0 -164
- package/src/Fx/TypeId.ts +0 -25
- package/src/Fx/combinators/catch.ts +0 -165
- package/src/Fx/combinators/causes.ts +0 -23
- package/src/Fx/combinators/compact.ts +0 -15
- package/src/Fx/combinators/continueWith.ts +0 -78
- 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 -36
- 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 -51
- 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/mapEffect.ts +0 -32
- 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 -62
- package/src/Fx/combinators/skip.ts +0 -20
- package/src/Fx/combinators/skipRepeats.ts +0 -15
- package/src/Fx/combinators/skipRepeatsWith.ts +0 -40
- package/src/Fx/combinators/slice.ts +0 -32
- package/src/Fx/combinators/switchMap.ts +0 -55
- package/src/Fx/combinators/switchMapEffect.ts +0 -25
- package/src/Fx/combinators/take.ts +0 -17
- package/src/Fx/combinators/takeUntil.ts +0 -50
- 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/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.catch.test.ts +0 -61
- package/src/Fx.fn.test.ts +0 -51
- package/src/Fx.lifecycle.test.ts +0 -80
- package/src/Fx.test.ts +0 -71
- package/src/Fx.ts +0 -1
- package/src/Push/Push.ts +0 -903
- package/src/Push/index.ts +0 -1
- 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 -2545
- 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.test.ts +0 -65
- package/src/RefSubject.ts +0 -1
- package/src/Sink/Sink.ts +0 -159
- package/src/Sink/combinators.ts +0 -993
- package/src/Sink/index.ts +0 -2
- 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 -521
- package/src/Versioned/index.ts +0 -1
- package/src/Versioned.test.ts +0 -23
- package/src/Versioned.ts +0 -1
- package/src/index.ts +0 -7
- package/tsconfig.json +0 -6
|
@@ -8,8 +8,19 @@ import * as HashSet from "effect/HashSet";
|
|
|
8
8
|
import * as RefSubject from "./RefSubject.js";
|
|
9
9
|
/**
|
|
10
10
|
* Creates a new `RefHashSet` from a HashSet, `Effect`, or `Fx`.
|
|
11
|
+
* @remarks
|
|
12
|
+
* ## Why
|
|
13
|
+
*
|
|
14
|
+
* Creates hash set state with equality suited to that Effect data type, so unchanged values do not
|
|
15
|
+
* produce redundant pushed updates.
|
|
16
|
+
*
|
|
17
|
+
* ## Ownership and lifetime
|
|
18
|
+
*
|
|
19
|
+
* The creation Effect requires Scope. It owns initializer acquisition, live source subscriptions,
|
|
20
|
+
* and cleanup; source failures and services stay on reads and pushes.
|
|
21
|
+
*
|
|
11
22
|
* @since 1.18.0
|
|
12
|
-
* @category
|
|
23
|
+
* @category Constructors
|
|
13
24
|
*/
|
|
14
25
|
export function make(initial) {
|
|
15
26
|
return RefSubject.make(initial, { eq: equals });
|
|
@@ -19,62 +30,148 @@ export function make(initial) {
|
|
|
19
30
|
// ========================================
|
|
20
31
|
/**
|
|
21
32
|
* Add a value to the RefHashSet.
|
|
33
|
+
* @remarks
|
|
34
|
+
* ## Why
|
|
35
|
+
*
|
|
36
|
+
* Add a value to the RefHashSet. The operation remains attached to the RefSubject's versioned
|
|
37
|
+
* state boundary.
|
|
38
|
+
*
|
|
39
|
+
* ## Ownership and lifetime
|
|
40
|
+
*
|
|
41
|
+
* Running add performs one serialized hash set transition and resolves with its committed value.
|
|
42
|
+
* It acquires no resource; failures and services remain those of the source ref.
|
|
43
|
+
*
|
|
22
44
|
* @since 1.18.0
|
|
23
|
-
* @category
|
|
45
|
+
* @category State updates
|
|
24
46
|
*/
|
|
25
47
|
export const add = dual(2, function add(ref, value) {
|
|
26
48
|
return RefSubject.update(ref, HashSet.add(value));
|
|
27
49
|
});
|
|
28
50
|
/**
|
|
29
51
|
* Remove a value from the RefHashSet.
|
|
52
|
+
* @remarks
|
|
53
|
+
* ## Why
|
|
54
|
+
*
|
|
55
|
+
* Applies remove to the committed hash set value and publishes only the result, preserving its
|
|
56
|
+
* element order and equality rules.
|
|
57
|
+
*
|
|
58
|
+
* ## Ownership and lifetime
|
|
59
|
+
*
|
|
60
|
+
* Running remove performs one serialized hash set transition and resolves with its committed
|
|
61
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
62
|
+
*
|
|
30
63
|
* @since 1.18.0
|
|
31
|
-
* @category
|
|
64
|
+
* @category State updates
|
|
32
65
|
*/
|
|
33
66
|
export const remove = dual(2, function remove(ref, value) {
|
|
34
67
|
return RefSubject.update(ref, HashSet.remove(value));
|
|
35
68
|
});
|
|
36
69
|
/**
|
|
37
70
|
* Clear all values from the RefHashSet.
|
|
71
|
+
* @remarks
|
|
72
|
+
* ## Why
|
|
73
|
+
*
|
|
74
|
+
* Applies clear to the committed hash set value and publishes only the result, preserving its
|
|
75
|
+
* element order and equality rules.
|
|
76
|
+
*
|
|
77
|
+
* ## Ownership and lifetime
|
|
78
|
+
*
|
|
79
|
+
* Running clear performs one serialized hash set transition and resolves with its committed value.
|
|
80
|
+
* It acquires no resource; failures and services remain those of the source ref.
|
|
81
|
+
*
|
|
38
82
|
* @since 1.18.0
|
|
39
|
-
* @category
|
|
83
|
+
* @category State updates
|
|
40
84
|
*/
|
|
41
85
|
export const clear = (ref) => RefSubject.update(ref, () => HashSet.empty());
|
|
42
86
|
/**
|
|
43
87
|
* Compute the union with another HashSet.
|
|
88
|
+
* @remarks
|
|
89
|
+
* ## Why
|
|
90
|
+
*
|
|
91
|
+
* Combines bulk hash set changes in one committed value, giving subscribers one coherent update
|
|
92
|
+
* rather than a partially applied sequence.
|
|
93
|
+
*
|
|
94
|
+
* ## Ownership and lifetime
|
|
95
|
+
*
|
|
96
|
+
* Running union performs one serialized hash set transition and resolves with its committed value.
|
|
97
|
+
* It acquires no resource; failures and services remain those of the source ref.
|
|
98
|
+
*
|
|
44
99
|
* @since 1.18.0
|
|
45
|
-
* @category
|
|
100
|
+
* @category State updates
|
|
46
101
|
*/
|
|
47
102
|
export const union = dual(2, function union(ref, that) {
|
|
48
103
|
return RefSubject.update(ref, HashSet.union(that));
|
|
49
104
|
});
|
|
50
105
|
/**
|
|
51
106
|
* Compute the intersection with another HashSet.
|
|
107
|
+
* @remarks
|
|
108
|
+
* ## Why
|
|
109
|
+
*
|
|
110
|
+
* Compute the intersection with another HashSet. The operation remains attached to the
|
|
111
|
+
* RefSubject's versioned state boundary.
|
|
112
|
+
*
|
|
113
|
+
* ## Ownership and lifetime
|
|
114
|
+
*
|
|
115
|
+
* Running intersection performs one serialized hash set transition and resolves with its committed
|
|
116
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
117
|
+
*
|
|
52
118
|
* @since 1.18.0
|
|
53
|
-
* @category
|
|
119
|
+
* @category State updates
|
|
54
120
|
*/
|
|
55
121
|
export const intersection = dual(2, function intersection(ref, that) {
|
|
56
122
|
return RefSubject.update(ref, HashSet.intersection(that));
|
|
57
123
|
});
|
|
58
124
|
/**
|
|
59
125
|
* Compute the difference with another HashSet.
|
|
126
|
+
* @remarks
|
|
127
|
+
* ## Why
|
|
128
|
+
*
|
|
129
|
+
* Compute the difference with another HashSet. The operation remains attached to the RefSubject's
|
|
130
|
+
* versioned state boundary.
|
|
131
|
+
*
|
|
132
|
+
* ## Ownership and lifetime
|
|
133
|
+
*
|
|
134
|
+
* Running difference performs one serialized hash set transition and resolves with its committed
|
|
135
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
136
|
+
*
|
|
60
137
|
* @since 1.18.0
|
|
61
|
-
* @category
|
|
138
|
+
* @category State updates
|
|
62
139
|
*/
|
|
63
140
|
export const difference = dual(2, function difference(ref, that) {
|
|
64
141
|
return RefSubject.update(ref, HashSet.difference(that));
|
|
65
142
|
});
|
|
66
143
|
/**
|
|
67
144
|
* Filter values in place.
|
|
145
|
+
* @remarks
|
|
146
|
+
* ## Why
|
|
147
|
+
*
|
|
148
|
+
* Applies filter to the committed HashSet through `RefSubject.update` and publishes one coherent
|
|
149
|
+
* replacement; this is a mutation, not a read-only Computed projection.
|
|
150
|
+
*
|
|
151
|
+
* ## Ownership and lifetime
|
|
152
|
+
*
|
|
153
|
+
* The Effect starts when run, participates in the source ref's serialized update boundary, and
|
|
154
|
+
* acquires no resource. It returns the committed HashSet and retains the ref's E and R channels.
|
|
68
155
|
* @since 1.18.0
|
|
69
|
-
* @category
|
|
156
|
+
* @category State updates
|
|
70
157
|
*/
|
|
71
158
|
export const filter = dual(2, function filter(ref, predicate) {
|
|
72
159
|
return RefSubject.update(ref, HashSet.filter(predicate));
|
|
73
160
|
});
|
|
74
161
|
/**
|
|
75
162
|
* Map values in place (endomorphic).
|
|
163
|
+
* @remarks
|
|
164
|
+
* ## Why
|
|
165
|
+
*
|
|
166
|
+
* Applies map to the committed HashSet through `RefSubject.update` and publishes one coherent
|
|
167
|
+
* replacement; this is a mutation, not a read-only Computed projection.
|
|
168
|
+
*
|
|
169
|
+
* ## Ownership and lifetime
|
|
170
|
+
*
|
|
171
|
+
* The Effect starts when run, participates in the source ref's serialized update boundary, and
|
|
172
|
+
* acquires no resource. It returns the committed HashSet and retains the ref's E and R channels.
|
|
76
173
|
* @since 1.18.0
|
|
77
|
-
* @category
|
|
174
|
+
* @category State updates
|
|
78
175
|
*/
|
|
79
176
|
export const map = dual(2, function map(ref, f) {
|
|
80
177
|
return RefSubject.update(ref, HashSet.map(f));
|
|
@@ -84,81 +181,202 @@ export const map = dual(2, function map(ref, f) {
|
|
|
84
181
|
// ========================================
|
|
85
182
|
/**
|
|
86
183
|
* Get the current size of the RefHashSet.
|
|
184
|
+
* @remarks
|
|
185
|
+
* ## Why
|
|
186
|
+
*
|
|
187
|
+
* Makes size a live projection of the hash set; consumers can sample it now or observe it without
|
|
188
|
+
* copying the source state.
|
|
189
|
+
*
|
|
190
|
+
* ## Ownership and lifetime
|
|
191
|
+
*
|
|
192
|
+
* The size view retains no independent state. An Effect read samples the source once; Fx
|
|
193
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
194
|
+
*
|
|
87
195
|
* @since 1.18.0
|
|
88
|
-
* @category
|
|
196
|
+
* @category Derived queries
|
|
89
197
|
*/
|
|
90
198
|
export const size = (ref) => RefSubject.map(ref, HashSet.size);
|
|
91
199
|
/**
|
|
92
200
|
* Check if the RefHashSet is empty.
|
|
201
|
+
* @remarks
|
|
202
|
+
* ## Why
|
|
203
|
+
*
|
|
204
|
+
* Makes is empty a live projection of the hash set; consumers can sample it now or observe it
|
|
205
|
+
* without copying the source state.
|
|
206
|
+
*
|
|
207
|
+
* ## Ownership and lifetime
|
|
208
|
+
*
|
|
209
|
+
* The is empty view retains no independent state. An Effect read samples the source once; Fx
|
|
210
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
211
|
+
*
|
|
93
212
|
* @since 1.18.0
|
|
94
|
-
* @category
|
|
213
|
+
* @category State predicates
|
|
95
214
|
*/
|
|
96
215
|
export const isEmpty = (ref) => RefSubject.map(ref, HashSet.isEmpty);
|
|
97
216
|
/**
|
|
98
217
|
* Check if the RefHashSet is non-empty.
|
|
218
|
+
* @remarks
|
|
219
|
+
* ## Why
|
|
220
|
+
*
|
|
221
|
+
* Makes is non empty a live projection of the hash set; consumers can sample it now or observe it
|
|
222
|
+
* without copying the source state.
|
|
223
|
+
*
|
|
224
|
+
* ## Ownership and lifetime
|
|
225
|
+
*
|
|
226
|
+
* The is non empty view retains no independent state. An Effect read samples the source once; Fx
|
|
227
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
228
|
+
*
|
|
99
229
|
* @since 1.18.0
|
|
100
|
-
* @category
|
|
230
|
+
* @category State predicates
|
|
101
231
|
*/
|
|
102
232
|
export const isNonEmpty = (ref) => RefSubject.map(ref, (s) => !HashSet.isEmpty(s));
|
|
103
233
|
/**
|
|
104
234
|
* Check if a value exists in the RefHashSet.
|
|
235
|
+
* @remarks
|
|
236
|
+
* ## Why
|
|
237
|
+
*
|
|
238
|
+
* Makes has a live projection of the hash set; consumers can sample it now or observe it without
|
|
239
|
+
* copying the source state.
|
|
240
|
+
*
|
|
241
|
+
* ## Ownership and lifetime
|
|
242
|
+
*
|
|
243
|
+
* The has view retains no independent state. An Effect read samples the source once; Fx
|
|
244
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
245
|
+
*
|
|
105
246
|
* @since 1.18.0
|
|
106
|
-
* @category
|
|
247
|
+
* @category State predicates
|
|
107
248
|
*/
|
|
108
249
|
export const has = dual(2, function has(ref, value) {
|
|
109
250
|
return RefSubject.map(ref, HashSet.has(value));
|
|
110
251
|
});
|
|
111
252
|
/**
|
|
112
253
|
* Check if any value satisfies a predicate.
|
|
254
|
+
* @remarks
|
|
255
|
+
* ## Why
|
|
256
|
+
*
|
|
257
|
+
* Makes some a live projection of the hash set; consumers can sample it now or observe it without
|
|
258
|
+
* copying the source state.
|
|
259
|
+
*
|
|
260
|
+
* ## Ownership and lifetime
|
|
261
|
+
*
|
|
262
|
+
* The some view retains no independent state. An Effect read samples the source once; Fx
|
|
263
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
264
|
+
*
|
|
113
265
|
* @since 1.18.0
|
|
114
|
-
* @category
|
|
266
|
+
* @category State predicates
|
|
115
267
|
*/
|
|
116
268
|
export const some = dual(2, function some(ref, predicate) {
|
|
117
269
|
return RefSubject.map(ref, HashSet.some(predicate));
|
|
118
270
|
});
|
|
119
271
|
/**
|
|
120
272
|
* Check if all values satisfy a predicate.
|
|
273
|
+
* @remarks
|
|
274
|
+
* ## Why
|
|
275
|
+
*
|
|
276
|
+
* Makes every a live projection of the hash set; consumers can sample it now or observe it without
|
|
277
|
+
* copying the source state.
|
|
278
|
+
*
|
|
279
|
+
* ## Ownership and lifetime
|
|
280
|
+
*
|
|
281
|
+
* The every view retains no independent state. An Effect read samples the source once; Fx
|
|
282
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
283
|
+
*
|
|
121
284
|
* @since 1.18.0
|
|
122
|
-
* @category
|
|
285
|
+
* @category State predicates
|
|
123
286
|
*/
|
|
124
287
|
export const every = dual(2, function every(ref, predicate) {
|
|
125
288
|
return RefSubject.map(ref, HashSet.every(predicate));
|
|
126
289
|
});
|
|
127
290
|
/**
|
|
128
291
|
* Check if this set is a subset of another.
|
|
292
|
+
* @remarks
|
|
293
|
+
* ## Why
|
|
294
|
+
*
|
|
295
|
+
* Check if this set is a subset of another. The operation remains attached to the RefSubject's
|
|
296
|
+
* versioned state boundary.
|
|
297
|
+
*
|
|
298
|
+
* ## Ownership and lifetime
|
|
299
|
+
*
|
|
300
|
+
* The is subset 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
|
-
* @category
|
|
304
|
+
* @category State predicates
|
|
131
305
|
*/
|
|
132
306
|
export const isSubset = dual(2, function isSubset(ref, that) {
|
|
133
307
|
return RefSubject.map(ref, HashSet.isSubset(that));
|
|
134
308
|
});
|
|
135
309
|
/**
|
|
136
310
|
* Map values to a different type.
|
|
311
|
+
* @remarks
|
|
312
|
+
* ## Why
|
|
313
|
+
*
|
|
314
|
+
* Projects hash set state with map values for both current reads and future pushes, avoiding a
|
|
315
|
+
* second mutable cache of the derived value.
|
|
316
|
+
*
|
|
317
|
+
* ## Ownership and lifetime
|
|
318
|
+
*
|
|
319
|
+
* The map values view retains no independent state. An Effect read samples the source once; Fx
|
|
320
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
321
|
+
*
|
|
137
322
|
* @since 1.18.0
|
|
138
|
-
* @category
|
|
323
|
+
* @category Derived queries
|
|
139
324
|
*/
|
|
140
325
|
export const mapValues = dual(2, function mapValues(ref, f) {
|
|
141
326
|
return RefSubject.map(ref, HashSet.map(f));
|
|
142
327
|
});
|
|
143
328
|
/**
|
|
144
329
|
* Filter values creating a Computed value.
|
|
330
|
+
* @remarks
|
|
331
|
+
* ## Why
|
|
332
|
+
*
|
|
333
|
+
* Projects hash set state with filter values for both current reads and future pushes, avoiding a
|
|
334
|
+
* second mutable cache of the derived value.
|
|
335
|
+
*
|
|
336
|
+
* ## Ownership and lifetime
|
|
337
|
+
*
|
|
338
|
+
* The filter values view retains no independent state. An Effect read samples the source once; Fx
|
|
339
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
340
|
+
*
|
|
145
341
|
* @since 1.18.0
|
|
146
|
-
* @category
|
|
342
|
+
* @category Derived queries
|
|
147
343
|
*/
|
|
148
344
|
export const filterValues = dual(2, function filterValues(ref, predicate) {
|
|
149
345
|
return RefSubject.map(ref, HashSet.filter(predicate));
|
|
150
346
|
});
|
|
151
347
|
/**
|
|
152
348
|
* Reduce the values to a single value.
|
|
349
|
+
* @remarks
|
|
350
|
+
* ## Why
|
|
351
|
+
*
|
|
352
|
+
* Makes reduce a live projection of the hash set; consumers can sample it now or observe it
|
|
353
|
+
* without copying the source state.
|
|
354
|
+
*
|
|
355
|
+
* ## Ownership and lifetime
|
|
356
|
+
*
|
|
357
|
+
* The reduce view retains no independent state. An Effect read samples the source once; Fx
|
|
358
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
359
|
+
*
|
|
153
360
|
* @since 1.18.0
|
|
154
|
-
* @category
|
|
361
|
+
* @category Derived queries
|
|
155
362
|
*/
|
|
156
363
|
export const reduce = dual(3, function reduce(ref, b, f) {
|
|
157
364
|
return RefSubject.map(ref, HashSet.reduce(b, f));
|
|
158
365
|
});
|
|
159
366
|
/**
|
|
160
367
|
* Get all values as an array.
|
|
368
|
+
* @remarks
|
|
369
|
+
* ## Why
|
|
370
|
+
*
|
|
371
|
+
* Projects hash set state with values for both current reads and future pushes, avoiding a second
|
|
372
|
+
* mutable cache of the derived value.
|
|
373
|
+
*
|
|
374
|
+
* ## Ownership and lifetime
|
|
375
|
+
*
|
|
376
|
+
* The values view retains no independent state. An Effect read samples the source once; Fx
|
|
377
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
378
|
+
*
|
|
161
379
|
* @since 1.18.0
|
|
162
|
-
* @category
|
|
380
|
+
* @category Derived queries
|
|
163
381
|
*/
|
|
164
382
|
export const values = (ref) => RefSubject.map(ref, (s) => Array.from(s));
|