@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
|
@@ -5,28 +5,60 @@
|
|
|
5
5
|
import { equals } from "effect/Equal";
|
|
6
6
|
import { dual } from "effect/Function";
|
|
7
7
|
import * as Graph from "effect/Graph";
|
|
8
|
-
import * as Option from "effect/Option";
|
|
9
8
|
import * as RefSubject from "./RefSubject.js";
|
|
10
9
|
/**
|
|
11
10
|
* Creates a new `RefGraph` from a Graph, `Effect`, or `Fx`.
|
|
11
|
+
* @remarks
|
|
12
|
+
* ## Why
|
|
13
|
+
*
|
|
14
|
+
* Creates graph 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
|
+
*
|
|
12
22
|
* @since 1.18.0
|
|
13
|
-
* @category
|
|
23
|
+
* @category Constructors
|
|
14
24
|
*/
|
|
15
25
|
export function make(initial) {
|
|
16
26
|
return RefSubject.make(initial, { eq: equals });
|
|
17
27
|
}
|
|
18
28
|
/**
|
|
19
29
|
* Creates a new empty directed RefGraph.
|
|
30
|
+
* @remarks
|
|
31
|
+
* ## Why
|
|
32
|
+
*
|
|
33
|
+
* Creates a new empty directed RefGraph. The operation remains attached to the RefSubject's
|
|
34
|
+
* versioned state boundary.
|
|
35
|
+
*
|
|
36
|
+
* ## Ownership and lifetime
|
|
37
|
+
*
|
|
38
|
+
* Running directed performs one serialized graph transition and resolves with its committed value.
|
|
39
|
+
* It acquires no resource; failures and services remain those of the source ref.
|
|
40
|
+
*
|
|
20
41
|
* @since 1.18.0
|
|
21
|
-
* @category
|
|
42
|
+
* @category Constructors
|
|
22
43
|
*/
|
|
23
44
|
export function directed() {
|
|
24
45
|
return RefSubject.make(Graph.directed(), { eq: equals });
|
|
25
46
|
}
|
|
26
47
|
/**
|
|
27
48
|
* Creates a new empty undirected RefGraph.
|
|
49
|
+
* @remarks
|
|
50
|
+
* ## Why
|
|
51
|
+
*
|
|
52
|
+
* Creates a new empty undirected RefGraph. The operation remains attached to the RefSubject's
|
|
53
|
+
* versioned state boundary.
|
|
54
|
+
*
|
|
55
|
+
* ## Ownership and lifetime
|
|
56
|
+
*
|
|
57
|
+
* Running undirected performs one serialized graph transition and resolves with its committed
|
|
58
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
59
|
+
*
|
|
28
60
|
* @since 1.18.0
|
|
29
|
-
* @category
|
|
61
|
+
* @category Constructors
|
|
30
62
|
*/
|
|
31
63
|
export function undirected() {
|
|
32
64
|
return RefSubject.make(Graph.undirected(), { eq: equals });
|
|
@@ -36,8 +68,19 @@ export function undirected() {
|
|
|
36
68
|
// ========================================
|
|
37
69
|
/**
|
|
38
70
|
* Add a node to the graph.
|
|
71
|
+
* @remarks
|
|
72
|
+
* ## Why
|
|
73
|
+
*
|
|
74
|
+
* Add a node to the graph. The operation remains attached to the RefSubject's versioned state
|
|
75
|
+
* boundary.
|
|
76
|
+
*
|
|
77
|
+
* ## Ownership and lifetime
|
|
78
|
+
*
|
|
79
|
+
* Running add node performs one serialized graph transition and resolves with its committed value.
|
|
80
|
+
* It acquires no resource; failures and services remain those of the source ref.
|
|
81
|
+
*
|
|
39
82
|
* @since 1.18.0
|
|
40
|
-
* @category
|
|
83
|
+
* @category State updates
|
|
41
84
|
*/
|
|
42
85
|
export const addNode = dual(2, function addNode(ref, data) {
|
|
43
86
|
return RefSubject.update(ref, (g) => {
|
|
@@ -48,8 +91,19 @@ export const addNode = dual(2, function addNode(ref, data) {
|
|
|
48
91
|
});
|
|
49
92
|
/**
|
|
50
93
|
* Remove a node from the graph.
|
|
94
|
+
* @remarks
|
|
95
|
+
* ## Why
|
|
96
|
+
*
|
|
97
|
+
* Applies remove node to the committed graph value and publishes only the result, preserving its
|
|
98
|
+
* element order and equality rules.
|
|
99
|
+
*
|
|
100
|
+
* ## Ownership and lifetime
|
|
101
|
+
*
|
|
102
|
+
* Running remove node performs one serialized graph transition and resolves with its committed
|
|
103
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
104
|
+
*
|
|
51
105
|
* @since 1.18.0
|
|
52
|
-
* @category
|
|
106
|
+
* @category State updates
|
|
53
107
|
*/
|
|
54
108
|
export const removeNode = dual(2, function removeNode(ref, nodeIndex) {
|
|
55
109
|
return RefSubject.update(ref, (g) => {
|
|
@@ -60,8 +114,19 @@ export const removeNode = dual(2, function removeNode(ref, nodeIndex) {
|
|
|
60
114
|
});
|
|
61
115
|
/**
|
|
62
116
|
* Update a node's data.
|
|
117
|
+
* @remarks
|
|
118
|
+
* ## Why
|
|
119
|
+
*
|
|
120
|
+
* Keeps update node atomic with respect to competing RefSubject writes instead of splitting the
|
|
121
|
+
* read and replacement into separate effects.
|
|
122
|
+
*
|
|
123
|
+
* ## Ownership and lifetime
|
|
124
|
+
*
|
|
125
|
+
* Running update node performs one serialized graph transition and resolves with its committed
|
|
126
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
127
|
+
*
|
|
63
128
|
* @since 1.18.0
|
|
64
|
-
* @category
|
|
129
|
+
* @category State updates
|
|
65
130
|
*/
|
|
66
131
|
export const updateNode = dual(3, function updateNode(ref, nodeIndex, f) {
|
|
67
132
|
return RefSubject.update(ref, (g) => {
|
|
@@ -72,8 +137,19 @@ export const updateNode = dual(3, function updateNode(ref, nodeIndex, f) {
|
|
|
72
137
|
});
|
|
73
138
|
/**
|
|
74
139
|
* Add an edge to the graph.
|
|
140
|
+
* @remarks
|
|
141
|
+
* ## Why
|
|
142
|
+
*
|
|
143
|
+
* Add an edge to the graph. The operation remains attached to the RefSubject's versioned state
|
|
144
|
+
* boundary.
|
|
145
|
+
*
|
|
146
|
+
* ## Ownership and lifetime
|
|
147
|
+
*
|
|
148
|
+
* Running add edge performs one serialized graph transition and resolves with its committed value.
|
|
149
|
+
* It acquires no resource; failures and services remain those of the source ref.
|
|
150
|
+
*
|
|
75
151
|
* @since 1.18.0
|
|
76
|
-
* @category
|
|
152
|
+
* @category State updates
|
|
77
153
|
*/
|
|
78
154
|
export const addEdge = dual(4, function addEdge(ref, source, target, data) {
|
|
79
155
|
return RefSubject.update(ref, (g) => {
|
|
@@ -84,8 +160,19 @@ export const addEdge = dual(4, function addEdge(ref, source, target, data) {
|
|
|
84
160
|
});
|
|
85
161
|
/**
|
|
86
162
|
* Remove an edge from the graph.
|
|
163
|
+
* @remarks
|
|
164
|
+
* ## Why
|
|
165
|
+
*
|
|
166
|
+
* Applies remove edge to the committed graph value and publishes only the result, preserving its
|
|
167
|
+
* element order and equality rules.
|
|
168
|
+
*
|
|
169
|
+
* ## Ownership and lifetime
|
|
170
|
+
*
|
|
171
|
+
* Running remove edge performs one serialized graph transition and resolves with its committed
|
|
172
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
173
|
+
*
|
|
87
174
|
* @since 1.18.0
|
|
88
|
-
* @category
|
|
175
|
+
* @category State updates
|
|
89
176
|
*/
|
|
90
177
|
export const removeEdge = dual(2, function removeEdge(ref, edgeIndex) {
|
|
91
178
|
return RefSubject.update(ref, (g) => {
|
|
@@ -96,8 +183,19 @@ export const removeEdge = dual(2, function removeEdge(ref, edgeIndex) {
|
|
|
96
183
|
});
|
|
97
184
|
/**
|
|
98
185
|
* Update an edge's data.
|
|
186
|
+
* @remarks
|
|
187
|
+
* ## Why
|
|
188
|
+
*
|
|
189
|
+
* Keeps update edge atomic with respect to competing RefSubject writes instead of splitting the
|
|
190
|
+
* read and replacement into separate effects.
|
|
191
|
+
*
|
|
192
|
+
* ## Ownership and lifetime
|
|
193
|
+
*
|
|
194
|
+
* Running update edge performs one serialized graph transition and resolves with its committed
|
|
195
|
+
* value. It acquires no resource; failures and services remain those of the source ref.
|
|
196
|
+
*
|
|
99
197
|
* @since 1.18.0
|
|
100
|
-
* @category
|
|
198
|
+
* @category State updates
|
|
101
199
|
*/
|
|
102
200
|
export const updateEdge = dual(3, function updateEdge(ref, edgeIndex, f) {
|
|
103
201
|
return RefSubject.update(ref, (g) => {
|
|
@@ -108,8 +206,18 @@ export const updateEdge = dual(3, function updateEdge(ref, edgeIndex, f) {
|
|
|
108
206
|
});
|
|
109
207
|
/**
|
|
110
208
|
* Map all node data.
|
|
209
|
+
* @remarks
|
|
210
|
+
* ## Why
|
|
211
|
+
*
|
|
212
|
+
* Applies `mapNodes` through `RefSubject.update` and publishes one coherent graph replacement;
|
|
213
|
+
* this is a mutation, not a read-only Computed projection.
|
|
214
|
+
*
|
|
215
|
+
* ## Ownership and lifetime
|
|
216
|
+
*
|
|
217
|
+
* The Effect starts when run, participates in the source ref's serialized update boundary, and
|
|
218
|
+
* acquires no resource. It returns the committed graph and retains the ref's E and R channels.
|
|
111
219
|
* @since 1.18.0
|
|
112
|
-
* @category
|
|
220
|
+
* @category State updates
|
|
113
221
|
*/
|
|
114
222
|
export const mapNodes = dual(2, function mapNodes(ref, f) {
|
|
115
223
|
return RefSubject.update(ref, (g) => {
|
|
@@ -120,8 +228,18 @@ export const mapNodes = dual(2, function mapNodes(ref, f) {
|
|
|
120
228
|
});
|
|
121
229
|
/**
|
|
122
230
|
* Map all edge data.
|
|
231
|
+
* @remarks
|
|
232
|
+
* ## Why
|
|
233
|
+
*
|
|
234
|
+
* Applies `mapEdges` through `RefSubject.update` and publishes one coherent graph replacement;
|
|
235
|
+
* this is a mutation, not a read-only Computed projection.
|
|
236
|
+
*
|
|
237
|
+
* ## Ownership and lifetime
|
|
238
|
+
*
|
|
239
|
+
* The Effect starts when run, participates in the source ref's serialized update boundary, and
|
|
240
|
+
* acquires no resource. It returns the committed graph and retains the ref's E and R channels.
|
|
123
241
|
* @since 1.18.0
|
|
124
|
-
* @category
|
|
242
|
+
* @category State updates
|
|
125
243
|
*/
|
|
126
244
|
export const mapEdges = dual(2, function mapEdges(ref, f) {
|
|
127
245
|
return RefSubject.update(ref, (g) => {
|
|
@@ -132,8 +250,18 @@ export const mapEdges = dual(2, function mapEdges(ref, f) {
|
|
|
132
250
|
});
|
|
133
251
|
/**
|
|
134
252
|
* Filter nodes.
|
|
253
|
+
* @remarks
|
|
254
|
+
* ## Why
|
|
255
|
+
*
|
|
256
|
+
* Applies `filterNodes` through `RefSubject.update` and publishes one coherent graph replacement;
|
|
257
|
+
* this is a mutation, not a read-only Computed projection.
|
|
258
|
+
*
|
|
259
|
+
* ## Ownership and lifetime
|
|
260
|
+
*
|
|
261
|
+
* The Effect starts when run, participates in the source ref's serialized update boundary, and
|
|
262
|
+
* acquires no resource. It returns the committed graph and retains the ref's E and R channels.
|
|
135
263
|
* @since 1.18.0
|
|
136
|
-
* @category
|
|
264
|
+
* @category State updates
|
|
137
265
|
*/
|
|
138
266
|
export const filterNodes = dual(2, function filterNodes(ref, predicate) {
|
|
139
267
|
return RefSubject.update(ref, (g) => {
|
|
@@ -144,8 +272,18 @@ export const filterNodes = dual(2, function filterNodes(ref, predicate) {
|
|
|
144
272
|
});
|
|
145
273
|
/**
|
|
146
274
|
* Filter edges.
|
|
275
|
+
* @remarks
|
|
276
|
+
* ## Why
|
|
277
|
+
*
|
|
278
|
+
* Applies `filterEdges` through `RefSubject.update` and publishes one coherent graph replacement;
|
|
279
|
+
* this is a mutation, not a read-only Computed projection.
|
|
280
|
+
*
|
|
281
|
+
* ## Ownership and lifetime
|
|
282
|
+
*
|
|
283
|
+
* The Effect starts when run, participates in the source ref's serialized update boundary, and
|
|
284
|
+
* acquires no resource. It returns the committed graph and retains the ref's E and R channels.
|
|
147
285
|
* @since 1.18.0
|
|
148
|
-
* @category
|
|
286
|
+
* @category State updates
|
|
149
287
|
*/
|
|
150
288
|
export const filterEdges = dual(2, function filterEdges(ref, predicate) {
|
|
151
289
|
return RefSubject.update(ref, (g) => {
|
|
@@ -156,8 +294,19 @@ export const filterEdges = dual(2, function filterEdges(ref, predicate) {
|
|
|
156
294
|
});
|
|
157
295
|
/**
|
|
158
296
|
* Reverse all edge directions.
|
|
297
|
+
* @remarks
|
|
298
|
+
* ## Why
|
|
299
|
+
*
|
|
300
|
+
* Derives the reordered graph through its Effect collection operation while retaining RefSubject
|
|
301
|
+
* equality and version tracking.
|
|
302
|
+
*
|
|
303
|
+
* ## Ownership and lifetime
|
|
304
|
+
*
|
|
305
|
+
* Running reverse performs one serialized graph transition and resolves with its committed value.
|
|
306
|
+
* It acquires no resource; failures and services remain those of the source ref.
|
|
307
|
+
*
|
|
159
308
|
* @since 1.18.0
|
|
160
|
-
* @category
|
|
309
|
+
* @category State updates
|
|
161
310
|
*/
|
|
162
311
|
export const reverse = (ref) => RefSubject.update(ref, (g) => {
|
|
163
312
|
const mutable = Graph.beginMutation(g);
|
|
@@ -169,70 +318,179 @@ export const reverse = (ref) => RefSubject.update(ref, (g) => {
|
|
|
169
318
|
// ========================================
|
|
170
319
|
/**
|
|
171
320
|
* Get the node count.
|
|
321
|
+
* @remarks
|
|
322
|
+
* ## Why
|
|
323
|
+
*
|
|
324
|
+
* Get the node count. The operation remains attached to the RefSubject's versioned state boundary.
|
|
325
|
+
*
|
|
326
|
+
* ## Ownership and lifetime
|
|
327
|
+
*
|
|
328
|
+
* The node count view retains no independent state. An Effect read samples the source once; Fx
|
|
329
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
330
|
+
*
|
|
172
331
|
* @since 1.18.0
|
|
173
|
-
* @category
|
|
332
|
+
* @category Derived queries
|
|
174
333
|
*/
|
|
175
334
|
export const nodeCount = (ref) => RefSubject.map(ref, Graph.nodeCount);
|
|
176
335
|
/**
|
|
177
336
|
* Get the edge count.
|
|
337
|
+
* @remarks
|
|
338
|
+
* ## Why
|
|
339
|
+
*
|
|
340
|
+
* Get the edge count. The operation remains attached to the RefSubject's versioned state boundary.
|
|
341
|
+
*
|
|
342
|
+
* ## Ownership and lifetime
|
|
343
|
+
*
|
|
344
|
+
* The edge count view retains no independent state. An Effect read samples the source once; Fx
|
|
345
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
346
|
+
*
|
|
178
347
|
* @since 1.18.0
|
|
179
|
-
* @category
|
|
348
|
+
* @category Derived queries
|
|
180
349
|
*/
|
|
181
350
|
export const edgeCount = (ref) => RefSubject.map(ref, Graph.edgeCount);
|
|
182
351
|
/**
|
|
183
352
|
* Check if a node exists.
|
|
353
|
+
* @remarks
|
|
354
|
+
* ## Why
|
|
355
|
+
*
|
|
356
|
+
* Makes has node a live projection of the graph; consumers can sample it now or observe it without
|
|
357
|
+
* copying the source state.
|
|
358
|
+
*
|
|
359
|
+
* ## Ownership and lifetime
|
|
360
|
+
*
|
|
361
|
+
* The has node view retains no independent state. An Effect read samples the source once; Fx
|
|
362
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
363
|
+
*
|
|
184
364
|
* @since 1.18.0
|
|
185
|
-
* @category
|
|
365
|
+
* @category State predicates
|
|
186
366
|
*/
|
|
187
367
|
export const hasNode = dual(2, function hasNode(ref, nodeIndex) {
|
|
188
368
|
return RefSubject.map(ref, Graph.hasNode(nodeIndex));
|
|
189
369
|
});
|
|
190
370
|
/**
|
|
191
371
|
* Check if an edge exists.
|
|
372
|
+
* @remarks
|
|
373
|
+
* ## Why
|
|
374
|
+
*
|
|
375
|
+
* Makes has edge a live projection of the graph; consumers can sample it now or observe it without
|
|
376
|
+
* copying the source state.
|
|
377
|
+
*
|
|
378
|
+
* ## Ownership and lifetime
|
|
379
|
+
*
|
|
380
|
+
* The has edge view retains no independent state. An Effect read samples the source once; Fx
|
|
381
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
382
|
+
*
|
|
192
383
|
* @since 1.18.0
|
|
193
|
-
* @category
|
|
384
|
+
* @category State predicates
|
|
194
385
|
*/
|
|
195
386
|
export const hasEdge = dual(3, function hasEdge(ref, source, target) {
|
|
196
387
|
return RefSubject.map(ref, Graph.hasEdge(source, target));
|
|
197
388
|
});
|
|
198
389
|
/**
|
|
199
390
|
* Get neighbors of a node.
|
|
391
|
+
* @remarks
|
|
392
|
+
* ## Why
|
|
393
|
+
*
|
|
394
|
+
* Get neighbors of a node. The operation remains attached to the RefSubject's versioned state
|
|
395
|
+
* boundary.
|
|
396
|
+
*
|
|
397
|
+
* ## Ownership and lifetime
|
|
398
|
+
*
|
|
399
|
+
* The neighbors view retains no independent state. An Effect read samples the source once; Fx
|
|
400
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
401
|
+
*
|
|
200
402
|
* @since 1.18.0
|
|
201
|
-
* @category
|
|
403
|
+
* @category Derived queries
|
|
202
404
|
*/
|
|
203
405
|
export const neighbors = dual(2, function neighbors(ref, nodeIndex) {
|
|
204
406
|
return RefSubject.map(ref, Graph.neighbors(nodeIndex));
|
|
205
407
|
});
|
|
206
408
|
/**
|
|
207
409
|
* Get directed neighbors of a node.
|
|
410
|
+
* @remarks
|
|
411
|
+
* ## Why
|
|
412
|
+
*
|
|
413
|
+
* Get directed neighbors of a node. The operation remains attached to the RefSubject's versioned
|
|
414
|
+
* state boundary.
|
|
415
|
+
*
|
|
416
|
+
* ## Ownership and lifetime
|
|
417
|
+
*
|
|
418
|
+
* The neighbors directed view retains no independent state. An Effect read samples the source
|
|
419
|
+
* once; Fx observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
420
|
+
*
|
|
208
421
|
* @since 1.18.0
|
|
209
|
-
* @category
|
|
422
|
+
* @category Derived queries
|
|
210
423
|
*/
|
|
211
424
|
export const neighborsDirected = dual(3, function neighborsDirected(ref, nodeIndex, direction) {
|
|
212
425
|
return RefSubject.map(ref, Graph.neighborsDirected(nodeIndex, direction));
|
|
213
426
|
});
|
|
214
427
|
/**
|
|
215
428
|
* Check if the graph is acyclic.
|
|
429
|
+
* @remarks
|
|
430
|
+
* ## Why
|
|
431
|
+
*
|
|
432
|
+
* Check if the graph is acyclic. The operation remains attached to the RefSubject's versioned
|
|
433
|
+
* state boundary.
|
|
434
|
+
*
|
|
435
|
+
* ## Ownership and lifetime
|
|
436
|
+
*
|
|
437
|
+
* The is acyclic view retains no independent state. An Effect read samples the source once; Fx
|
|
438
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
439
|
+
*
|
|
216
440
|
* @since 1.18.0
|
|
217
|
-
* @category
|
|
441
|
+
* @category State predicates
|
|
218
442
|
*/
|
|
219
443
|
export const isAcyclic = (ref) => RefSubject.map(ref, Graph.isAcyclic);
|
|
220
444
|
/**
|
|
221
445
|
* Check if the graph is bipartite (undirected only).
|
|
446
|
+
* @remarks
|
|
447
|
+
* ## Why
|
|
448
|
+
*
|
|
449
|
+
* Check if the graph is bipartite (undirected only). The operation remains attached to the
|
|
450
|
+
* RefSubject's versioned state boundary.
|
|
451
|
+
*
|
|
452
|
+
* ## Ownership and lifetime
|
|
453
|
+
*
|
|
454
|
+
* The is bipartite view retains no independent state. An Effect read samples the source once; Fx
|
|
455
|
+
* observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
456
|
+
*
|
|
222
457
|
* @since 1.18.0
|
|
223
|
-
* @category
|
|
458
|
+
* @category State predicates
|
|
224
459
|
*/
|
|
225
460
|
export const isBipartite = (ref) => RefSubject.map(ref, Graph.isBipartite);
|
|
226
461
|
/**
|
|
227
462
|
* Get connected components (undirected only).
|
|
463
|
+
* @remarks
|
|
464
|
+
* ## Why
|
|
465
|
+
*
|
|
466
|
+
* Get connected components (undirected only). The operation remains attached to the RefSubject's
|
|
467
|
+
* versioned state boundary.
|
|
468
|
+
*
|
|
469
|
+
* ## Ownership and lifetime
|
|
470
|
+
*
|
|
471
|
+
* The connected components view retains no independent state. An Effect read samples the source
|
|
472
|
+
* once; Fx observation follows later pushes and its observing Scope owns subscription cleanup.
|
|
473
|
+
*
|
|
228
474
|
* @since 1.18.0
|
|
229
|
-
* @category
|
|
475
|
+
* @category Derived queries
|
|
230
476
|
*/
|
|
231
477
|
export const connectedComponents = (ref) => RefSubject.map(ref, Graph.connectedComponents);
|
|
232
478
|
/**
|
|
233
479
|
* Get strongly connected components.
|
|
480
|
+
* @remarks
|
|
481
|
+
* ## Why
|
|
482
|
+
*
|
|
483
|
+
* Get strongly connected components. The operation remains attached to the RefSubject's versioned
|
|
484
|
+
* state boundary.
|
|
485
|
+
*
|
|
486
|
+
* ## Ownership and lifetime
|
|
487
|
+
*
|
|
488
|
+
* The strongly connected components view retains no independent state. An Effect read samples the
|
|
489
|
+
* source once; Fx observation follows later pushes and its observing Scope owns subscription
|
|
490
|
+
* cleanup.
|
|
491
|
+
*
|
|
234
492
|
* @since 1.18.0
|
|
235
|
-
* @category
|
|
493
|
+
* @category Derived queries
|
|
236
494
|
*/
|
|
237
495
|
export const stronglyConnectedComponents = (ref) => RefSubject.map(ref, Graph.stronglyConnectedComponents);
|
|
238
496
|
// ========================================
|
|
@@ -240,33 +498,77 @@ export const stronglyConnectedComponents = (ref) => RefSubject.map(ref, Graph.st
|
|
|
240
498
|
// ========================================
|
|
241
499
|
/**
|
|
242
500
|
* Get a node's data.
|
|
501
|
+
* @remarks
|
|
502
|
+
* ## Why
|
|
503
|
+
*
|
|
504
|
+
* Models the possibly absent result of get node as Filtered state, so absence stays explicit while
|
|
505
|
+
* later source versions can make a value available.
|
|
506
|
+
*
|
|
507
|
+
* ## Ownership and lifetime
|
|
508
|
+
*
|
|
509
|
+
* The get node view retains no independent value. Its Effect read fails with NoSuchElement
|
|
510
|
+
* while absent; the observing Scope owns and finalizes its Fx subscription.
|
|
511
|
+
*
|
|
243
512
|
* @since 1.18.0
|
|
244
|
-
* @category
|
|
513
|
+
* @category Optional queries
|
|
245
514
|
*/
|
|
246
515
|
export const getNode = dual(2, function getNode(ref, nodeIndex) {
|
|
247
516
|
return RefSubject.filterMap(ref, Graph.getNode(nodeIndex));
|
|
248
517
|
});
|
|
249
518
|
/**
|
|
250
519
|
* Get an edge's data.
|
|
520
|
+
* @remarks
|
|
521
|
+
* ## Why
|
|
522
|
+
*
|
|
523
|
+
* Models the possibly absent result of get edge as Filtered state, so absence stays explicit while
|
|
524
|
+
* later source versions can make a value available.
|
|
525
|
+
*
|
|
526
|
+
* ## Ownership and lifetime
|
|
527
|
+
*
|
|
528
|
+
* The get edge view retains no independent value. Its Effect read fails with NoSuchElement
|
|
529
|
+
* while absent; the observing Scope owns and finalizes its Fx subscription.
|
|
530
|
+
*
|
|
251
531
|
* @since 1.18.0
|
|
252
|
-
* @category
|
|
532
|
+
* @category Optional queries
|
|
253
533
|
*/
|
|
254
534
|
export const getEdge = dual(2, function getEdge(ref, edgeIndex) {
|
|
255
|
-
return RefSubject.filterMap(ref, (g) =>
|
|
535
|
+
return RefSubject.filterMap(ref, (g) => Graph.getEdge(g, edgeIndex));
|
|
256
536
|
});
|
|
257
537
|
/**
|
|
258
538
|
* Find a node matching a predicate.
|
|
539
|
+
* @remarks
|
|
540
|
+
* ## Why
|
|
541
|
+
*
|
|
542
|
+
* Models the possibly absent result of find node as Filtered state, so absence stays explicit
|
|
543
|
+
* while later source versions can make a value available.
|
|
544
|
+
*
|
|
545
|
+
* ## Ownership and lifetime
|
|
546
|
+
*
|
|
547
|
+
* The find node view retains no independent value. Its Effect read fails with NoSuchElement
|
|
548
|
+
* while absent; the observing Scope owns and finalizes its Fx subscription.
|
|
549
|
+
*
|
|
259
550
|
* @since 1.18.0
|
|
260
|
-
* @category
|
|
551
|
+
* @category Optional queries
|
|
261
552
|
*/
|
|
262
553
|
export const findNode = dual(2, function findNode(ref, predicate) {
|
|
263
|
-
return RefSubject.filterMap(ref, (g) =>
|
|
554
|
+
return RefSubject.filterMap(ref, (g) => Graph.findNode(g, predicate));
|
|
264
555
|
});
|
|
265
556
|
/**
|
|
266
557
|
* Find an edge matching a predicate.
|
|
558
|
+
* @remarks
|
|
559
|
+
* ## Why
|
|
560
|
+
*
|
|
561
|
+
* Models the possibly absent result of find edge as Filtered state, so absence stays explicit
|
|
562
|
+
* while later source versions can make a value available.
|
|
563
|
+
*
|
|
564
|
+
* ## Ownership and lifetime
|
|
565
|
+
*
|
|
566
|
+
* The find edge view retains no independent value. Its Effect read fails with NoSuchElement
|
|
567
|
+
* while absent; the observing Scope owns and finalizes its Fx subscription.
|
|
568
|
+
*
|
|
267
569
|
* @since 1.18.0
|
|
268
|
-
* @category
|
|
570
|
+
* @category Optional queries
|
|
269
571
|
*/
|
|
270
572
|
export const findEdge = dual(2, function findEdge(ref, predicate) {
|
|
271
|
-
return RefSubject.filterMap(ref, (g) =>
|
|
573
|
+
return RefSubject.filterMap(ref, (g) => Graph.findEdge(g, predicate));
|
|
272
574
|
});
|