@typed/fx 2.0.0-beta.4 → 2.0.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -20
- package/dist/Fx/Fx.d.ts +362 -10
- package/dist/Fx/Fx.d.ts.map +1 -1
- package/dist/Fx/Fx.js +32 -1
- package/dist/Fx/TypeId.d.ts +49 -3
- package/dist/Fx/TypeId.d.ts.map +1 -1
- package/dist/Fx/TypeId.js +39 -2
- package/dist/Fx/combinators/additive.d.ts +156 -5
- package/dist/Fx/combinators/additive.d.ts.map +1 -1
- package/dist/Fx/combinators/additive.js +156 -5
- package/dist/Fx/combinators/catch.d.ts +195 -22
- package/dist/Fx/combinators/catch.d.ts.map +1 -1
- package/dist/Fx/combinators/catch.js +186 -16
- package/dist/Fx/combinators/causes.d.ts +24 -1
- package/dist/Fx/combinators/causes.d.ts.map +1 -1
- package/dist/Fx/combinators/causes.js +24 -1
- package/dist/Fx/combinators/changesWithEffect.d.ts +20 -0
- package/dist/Fx/combinators/changesWithEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/changesWithEffect.js +20 -0
- package/dist/Fx/combinators/compact.d.ts +17 -0
- package/dist/Fx/combinators/compact.d.ts.map +1 -1
- package/dist/Fx/combinators/compact.js +17 -0
- package/dist/Fx/combinators/concatMap.d.ts +86 -0
- package/dist/Fx/combinators/concatMap.d.ts.map +1 -0
- package/dist/Fx/combinators/concatMap.js +86 -0
- package/dist/Fx/combinators/continueWith.d.ts +109 -1
- package/dist/Fx/combinators/continueWith.d.ts.map +1 -1
- package/dist/Fx/combinators/continueWith.js +109 -1
- package/dist/Fx/combinators/debounce.d.ts +34 -0
- package/dist/Fx/combinators/debounce.d.ts.map +1 -0
- package/dist/Fx/combinators/debounce.js +35 -0
- package/dist/Fx/combinators/delay.d.ts +34 -0
- package/dist/Fx/combinators/delay.d.ts.map +1 -0
- package/dist/Fx/combinators/delay.js +31 -0
- package/dist/Fx/combinators/dropUntil.d.ts +42 -0
- package/dist/Fx/combinators/dropUntil.d.ts.map +1 -1
- package/dist/Fx/combinators/dropUntil.js +42 -0
- package/dist/Fx/combinators/during.d.ts +38 -0
- package/dist/Fx/combinators/during.d.ts.map +1 -0
- package/dist/Fx/combinators/during.js +85 -0
- package/dist/Fx/combinators/ensuring.d.ts +33 -3
- package/dist/Fx/combinators/ensuring.d.ts.map +1 -1
- package/dist/Fx/combinators/ensuring.js +33 -3
- package/dist/Fx/combinators/exhaustLatestMap.d.ts +40 -4
- package/dist/Fx/combinators/exhaustLatestMap.d.ts.map +1 -1
- package/dist/Fx/combinators/exhaustLatestMap.js +40 -4
- package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts +39 -3
- package/dist/Fx/combinators/exhaustLatestMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/exhaustLatestMapEffect.js +39 -3
- package/dist/Fx/combinators/exhaustMap.d.ts +37 -0
- package/dist/Fx/combinators/exhaustMap.d.ts.map +1 -1
- package/dist/Fx/combinators/exhaustMap.js +37 -0
- package/dist/Fx/combinators/exhaustMapEffect.d.ts +32 -0
- package/dist/Fx/combinators/exhaustMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/exhaustMapEffect.js +32 -0
- package/dist/Fx/combinators/exit.d.ts +22 -1
- package/dist/Fx/combinators/exit.d.ts.map +1 -1
- package/dist/Fx/combinators/exit.js +22 -1
- package/dist/Fx/combinators/filter.d.ts +16 -0
- package/dist/Fx/combinators/filter.d.ts.map +1 -1
- package/dist/Fx/combinators/filter.js +16 -0
- package/dist/Fx/combinators/filterEffect.d.ts +21 -0
- package/dist/Fx/combinators/filterEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/filterEffect.js +21 -0
- package/dist/Fx/combinators/filterMap.d.ts +19 -0
- package/dist/Fx/combinators/filterMap.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMap.js +19 -0
- package/dist/Fx/combinators/filterMapEffect.d.ts +20 -0
- package/dist/Fx/combinators/filterMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapEffect.js +20 -0
- package/dist/Fx/combinators/filterMapLoop.d.ts +19 -0
- package/dist/Fx/combinators/filterMapLoop.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapLoop.js +19 -0
- package/dist/Fx/combinators/filterMapLoopCause.d.ts +20 -0
- package/dist/Fx/combinators/filterMapLoopCause.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapLoopCause.js +20 -0
- package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts +20 -0
- package/dist/Fx/combinators/filterMapLoopCauseEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapLoopCauseEffect.js +20 -0
- package/dist/Fx/combinators/filterMapLoopEffect.d.ts +20 -0
- package/dist/Fx/combinators/filterMapLoopEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/filterMapLoopEffect.js +20 -0
- package/dist/Fx/combinators/flatMap.d.ts +48 -3
- package/dist/Fx/combinators/flatMap.d.ts.map +1 -1
- package/dist/Fx/combinators/flatMap.js +35 -2
- package/dist/Fx/combinators/flatMapConcurrently.d.ts +50 -3
- package/dist/Fx/combinators/flatMapConcurrently.d.ts.map +1 -1
- package/dist/Fx/combinators/flatMapConcurrently.js +47 -1
- package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts +47 -3
- package/dist/Fx/combinators/flatMapConcurrentlyEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/flatMapConcurrentlyEffect.js +39 -1
- package/dist/Fx/combinators/flatMapEffect.d.ts +44 -2
- package/dist/Fx/combinators/flatMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/flatMapEffect.js +31 -1
- package/dist/Fx/combinators/flip.d.ts +33 -1
- package/dist/Fx/combinators/flip.d.ts.map +1 -1
- package/dist/Fx/combinators/flip.js +33 -1
- package/dist/Fx/combinators/gen.d.ts +28 -9
- package/dist/Fx/combinators/gen.d.ts.map +1 -1
- package/dist/Fx/combinators/gen.js +27 -3
- package/dist/Fx/combinators/genScoped.d.ts +32 -9
- package/dist/Fx/combinators/genScoped.d.ts.map +1 -1
- package/dist/Fx/combinators/genScoped.js +30 -2
- package/dist/Fx/combinators/grouped.d.ts +89 -0
- package/dist/Fx/combinators/grouped.d.ts.map +1 -0
- package/dist/Fx/combinators/grouped.js +146 -0
- package/dist/Fx/combinators/index.d.ts +35 -0
- package/dist/Fx/combinators/index.d.ts.map +1 -1
- package/dist/Fx/combinators/index.js +35 -0
- package/dist/Fx/combinators/keyed.d.ts +121 -7
- package/dist/Fx/combinators/keyed.d.ts.map +1 -1
- package/dist/Fx/combinators/keyed.js +64 -6
- package/dist/Fx/combinators/loop.d.ts +16 -0
- package/dist/Fx/combinators/loop.d.ts.map +1 -1
- package/dist/Fx/combinators/loop.js +16 -0
- package/dist/Fx/combinators/loopCause.d.ts +17 -0
- package/dist/Fx/combinators/loopCause.d.ts.map +1 -1
- package/dist/Fx/combinators/loopCause.js +17 -0
- package/dist/Fx/combinators/loopCauseEffect.d.ts +18 -0
- package/dist/Fx/combinators/loopCauseEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/loopCauseEffect.js +18 -0
- package/dist/Fx/combinators/loopEffect.d.ts +23 -0
- package/dist/Fx/combinators/loopEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/loopEffect.js +23 -0
- package/dist/Fx/combinators/map.d.ts +45 -0
- package/dist/Fx/combinators/map.d.ts.map +1 -1
- package/dist/Fx/combinators/map.js +42 -0
- package/dist/Fx/combinators/mapBoth.d.ts +19 -0
- package/dist/Fx/combinators/mapBoth.d.ts.map +1 -1
- package/dist/Fx/combinators/mapBoth.js +19 -0
- package/dist/Fx/combinators/mapEffect.d.ts +24 -0
- package/dist/Fx/combinators/mapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/mapEffect.js +24 -0
- package/dist/Fx/combinators/mapError.d.ts +20 -4
- package/dist/Fx/combinators/mapError.d.ts.map +1 -1
- package/dist/Fx/combinators/mapError.js +20 -4
- package/dist/Fx/combinators/mergeAll.d.ts +34 -0
- package/dist/Fx/combinators/mergeAll.d.ts.map +1 -1
- package/dist/Fx/combinators/mergeAll.js +34 -0
- package/dist/Fx/combinators/mergeOrdered.d.ts +35 -3
- package/dist/Fx/combinators/mergeOrdered.d.ts.map +1 -1
- package/dist/Fx/combinators/mergeOrdered.js +35 -3
- package/dist/Fx/combinators/onError.d.ts +33 -3
- package/dist/Fx/combinators/onError.d.ts.map +1 -1
- package/dist/Fx/combinators/onError.js +33 -3
- package/dist/Fx/combinators/onExit.d.ts +28 -2
- package/dist/Fx/combinators/onExit.d.ts.map +1 -1
- package/dist/Fx/combinators/onExit.js +28 -2
- package/dist/Fx/combinators/onInterrupt.d.ts +48 -3
- package/dist/Fx/combinators/onInterrupt.d.ts.map +1 -1
- package/dist/Fx/combinators/onInterrupt.js +48 -3
- package/dist/Fx/combinators/pairwise.d.ts +28 -0
- package/dist/Fx/combinators/pairwise.d.ts.map +1 -0
- package/dist/Fx/combinators/pairwise.js +31 -0
- package/dist/Fx/combinators/provide.d.ts +130 -9
- package/dist/Fx/combinators/provide.d.ts.map +1 -1
- package/dist/Fx/combinators/provide.js +130 -9
- package/dist/Fx/combinators/race.d.ts +92 -0
- package/dist/Fx/combinators/race.d.ts.map +1 -0
- package/dist/Fx/combinators/race.js +149 -0
- package/dist/Fx/combinators/repeat.d.ts +41 -0
- package/dist/Fx/combinators/repeat.d.ts.map +1 -0
- package/dist/Fx/combinators/repeat.js +57 -0
- package/dist/Fx/combinators/result.d.ts +22 -0
- package/dist/Fx/combinators/result.d.ts.map +1 -1
- package/dist/Fx/combinators/result.js +26 -12
- package/dist/Fx/combinators/retry.d.ts +53 -0
- package/dist/Fx/combinators/retry.d.ts.map +1 -0
- package/dist/Fx/combinators/retry.js +71 -0
- package/dist/Fx/combinators/sample.d.ts +31 -0
- package/dist/Fx/combinators/sample.d.ts.map +1 -0
- package/dist/Fx/combinators/sample.js +42 -0
- package/dist/Fx/combinators/scan.d.ts +39 -0
- package/dist/Fx/combinators/scan.d.ts.map +1 -1
- package/dist/Fx/combinators/scan.js +39 -0
- package/dist/Fx/combinators/since.d.ts +30 -0
- package/dist/Fx/combinators/since.d.ts.map +1 -0
- package/dist/Fx/combinators/since.js +39 -0
- package/dist/Fx/combinators/skip.d.ts +31 -0
- package/dist/Fx/combinators/skip.d.ts.map +1 -1
- package/dist/Fx/combinators/skip.js +31 -0
- package/dist/Fx/combinators/skipRepeats.d.ts +16 -0
- package/dist/Fx/combinators/skipRepeats.d.ts.map +1 -1
- package/dist/Fx/combinators/skipRepeats.js +16 -0
- package/dist/Fx/combinators/skipRepeatsWith.d.ts +17 -0
- package/dist/Fx/combinators/skipRepeatsWith.d.ts.map +1 -1
- package/dist/Fx/combinators/skipRepeatsWith.js +17 -0
- package/dist/Fx/combinators/skipWhile.d.ts +68 -0
- package/dist/Fx/combinators/skipWhile.d.ts.map +1 -1
- package/dist/Fx/combinators/skipWhile.js +68 -0
- package/dist/Fx/combinators/slice.d.ts +82 -0
- package/dist/Fx/combinators/slice.d.ts.map +1 -1
- package/dist/Fx/combinators/slice.js +33 -0
- package/dist/Fx/combinators/switchMap.d.ts +38 -0
- package/dist/Fx/combinators/switchMap.d.ts.map +1 -1
- package/dist/Fx/combinators/switchMap.js +38 -0
- package/dist/Fx/combinators/switchMapEffect.d.ts +37 -0
- package/dist/Fx/combinators/switchMapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/switchMapEffect.js +37 -0
- package/dist/Fx/combinators/take.d.ts +32 -0
- package/dist/Fx/combinators/take.d.ts.map +1 -1
- package/dist/Fx/combinators/take.js +32 -0
- package/dist/Fx/combinators/takeUntil.d.ts +46 -0
- package/dist/Fx/combinators/takeUntil.d.ts.map +1 -1
- package/dist/Fx/combinators/takeUntil.js +46 -0
- package/dist/Fx/combinators/takeWhile.d.ts +31 -0
- package/dist/Fx/combinators/takeWhile.d.ts.map +1 -1
- package/dist/Fx/combinators/takeWhile.js +31 -0
- package/dist/Fx/combinators/tapEffect.d.ts +16 -0
- package/dist/Fx/combinators/tapEffect.d.ts.map +1 -1
- package/dist/Fx/combinators/tapEffect.js +16 -0
- package/dist/Fx/combinators/throttle.d.ts +79 -0
- package/dist/Fx/combinators/throttle.d.ts.map +1 -0
- package/dist/Fx/combinators/throttle.js +99 -0
- package/dist/Fx/combinators/timeout.d.ts +76 -0
- package/dist/Fx/combinators/timeout.d.ts.map +1 -0
- package/dist/Fx/combinators/timeout.js +110 -0
- package/dist/Fx/combinators/tuple.d.ts +30 -0
- package/dist/Fx/combinators/tuple.d.ts.map +1 -1
- package/dist/Fx/combinators/tuple.js +34 -3
- package/dist/Fx/combinators/until.d.ts +27 -0
- package/dist/Fx/combinators/until.d.ts.map +1 -0
- package/dist/Fx/combinators/until.js +56 -0
- package/dist/Fx/combinators/unwrap.d.ts +29 -0
- package/dist/Fx/combinators/unwrap.d.ts.map +1 -1
- package/dist/Fx/combinators/unwrap.js +29 -0
- package/dist/Fx/combinators/unwrapScoped.d.ts +33 -0
- package/dist/Fx/combinators/unwrapScoped.d.ts.map +1 -1
- package/dist/Fx/combinators/unwrapScoped.js +33 -0
- package/dist/Fx/combinators/when.d.ts +35 -0
- package/dist/Fx/combinators/when.d.ts.map +1 -1
- package/dist/Fx/combinators/when.js +36 -1
- package/dist/Fx/combinators/withLatestFrom.d.ts +58 -0
- package/dist/Fx/combinators/withLatestFrom.d.ts.map +1 -0
- package/dist/Fx/combinators/withLatestFrom.js +68 -0
- package/dist/Fx/combinators/withSpan.d.ts +35 -1
- package/dist/Fx/combinators/withSpan.d.ts.map +1 -1
- package/dist/Fx/combinators/withSpan.js +34 -3
- package/dist/Fx/combinators/zip.d.ts +60 -0
- package/dist/Fx/combinators/zip.d.ts.map +1 -1
- package/dist/Fx/combinators/zip.js +60 -0
- package/dist/Fx/constructors/at.d.ts +20 -0
- package/dist/Fx/constructors/at.d.ts.map +1 -1
- package/dist/Fx/constructors/at.js +20 -0
- package/dist/Fx/constructors/die.d.ts +21 -0
- package/dist/Fx/constructors/die.d.ts.map +1 -1
- package/dist/Fx/constructors/die.js +21 -0
- package/dist/Fx/constructors/empty.d.ts +18 -0
- package/dist/Fx/constructors/empty.d.ts.map +1 -1
- package/dist/Fx/constructors/empty.js +18 -0
- package/dist/Fx/constructors/fail.d.ts +21 -0
- package/dist/Fx/constructors/fail.d.ts.map +1 -1
- package/dist/Fx/constructors/fail.js +21 -0
- package/dist/Fx/constructors/failCause.d.ts +22 -0
- package/dist/Fx/constructors/failCause.d.ts.map +1 -1
- package/dist/Fx/constructors/failCause.js +22 -0
- package/dist/Fx/constructors/fn.d.ts +113 -13
- package/dist/Fx/constructors/fn.d.ts.map +1 -1
- package/dist/Fx/constructors/fn.js +36 -0
- package/dist/Fx/constructors/fromEffect.d.ts +43 -1
- package/dist/Fx/constructors/fromEffect.d.ts.map +1 -1
- package/dist/Fx/constructors/fromEffect.js +43 -1
- package/dist/Fx/constructors/fromFailures.d.ts +24 -0
- package/dist/Fx/constructors/fromFailures.d.ts.map +1 -1
- package/dist/Fx/constructors/fromFailures.js +24 -0
- package/dist/Fx/constructors/fromIterable.d.ts +22 -0
- package/dist/Fx/constructors/fromIterable.d.ts.map +1 -1
- package/dist/Fx/constructors/fromIterable.js +22 -0
- package/dist/Fx/constructors/fromSchedule.d.ts +23 -0
- package/dist/Fx/constructors/fromSchedule.d.ts.map +1 -1
- package/dist/Fx/constructors/fromSchedule.js +25 -2
- package/dist/Fx/constructors/index.d.ts +2 -1
- package/dist/Fx/constructors/index.d.ts.map +1 -1
- package/dist/Fx/constructors/index.js +2 -1
- package/dist/Fx/constructors/interrupt.d.ts +21 -1
- package/dist/Fx/constructors/interrupt.d.ts.map +1 -1
- package/dist/Fx/constructors/interrupt.js +21 -1
- package/dist/Fx/constructors/make.d.ts +146 -1
- package/dist/Fx/constructors/make.d.ts.map +1 -1
- package/dist/Fx/constructors/make.js +54 -3
- package/dist/Fx/constructors/periodic.d.ts +29 -0
- package/dist/Fx/constructors/periodic.d.ts.map +1 -1
- package/dist/Fx/constructors/periodic.js +29 -0
- package/dist/Fx/constructors/succeed.d.ts +75 -3
- package/dist/Fx/constructors/succeed.d.ts.map +1 -1
- package/dist/Fx/constructors/succeed.js +75 -3
- package/dist/Fx/constructors/suspend.d.ts +28 -0
- package/dist/Fx/constructors/suspend.d.ts.map +1 -1
- package/dist/Fx/constructors/suspend.js +28 -0
- package/dist/Fx/constructors/sync.d.ts +32 -0
- package/dist/Fx/constructors/sync.d.ts.map +1 -0
- package/dist/Fx/constructors/sync.js +32 -0
- package/dist/Fx/internal/DeferredRef.d.ts +259 -7
- package/dist/Fx/internal/DeferredRef.d.ts.map +1 -1
- package/dist/Fx/internal/DeferredRef.js +260 -9
- package/dist/Fx/internal/UnionToTuple.d.ts +22 -0
- package/dist/Fx/internal/UnionToTuple.d.ts.map +1 -1
- package/dist/Fx/internal/diff.d.ts +586 -0
- package/dist/Fx/internal/diff.d.ts.map +1 -1
- package/dist/Fx/internal/diff.js +120 -9
- package/dist/Fx/internal/effectableEvaluateKey.d.ts +30 -0
- package/dist/Fx/internal/effectableEvaluateKey.d.ts.map +1 -0
- package/dist/Fx/internal/effectableEvaluateKey.js +29 -0
- package/dist/Fx/internal/effectableWithOverride.d.ts +55 -0
- package/dist/Fx/internal/effectableWithOverride.d.ts.map +1 -0
- package/dist/Fx/internal/effectableWithOverride.js +46 -0
- package/dist/Fx/internal/equivalence.d.ts +29 -0
- package/dist/Fx/internal/equivalence.d.ts.map +1 -1
- package/dist/Fx/internal/equivalence.js +29 -0
- package/dist/Fx/internal/multicast.d.ts +145 -2
- package/dist/Fx/internal/multicast.d.ts.map +1 -1
- package/dist/Fx/internal/multicast.js +146 -4
- package/dist/Fx/internal/ring-buffer.d.ts +149 -0
- package/dist/Fx/internal/ring-buffer.d.ts.map +1 -1
- package/dist/Fx/internal/ring-buffer.js +155 -0
- package/dist/Fx/internal/scope.d.ts +184 -0
- package/dist/Fx/internal/scope.d.ts.map +1 -1
- package/dist/Fx/internal/scope.js +150 -0
- package/dist/Fx/internal/yieldable.d.ts +117 -2
- package/dist/Fx/internal/yieldable.d.ts.map +1 -1
- package/dist/Fx/internal/yieldable.js +86 -3
- package/dist/Fx/run/collect.d.ts +89 -0
- package/dist/Fx/run/collect.d.ts.map +1 -1
- package/dist/Fx/run/collect.js +90 -1
- package/dist/Fx/run/first.d.ts +22 -0
- package/dist/Fx/run/first.d.ts.map +1 -1
- package/dist/Fx/run/first.js +22 -0
- package/dist/Fx/run/fork.d.ts +50 -0
- package/dist/Fx/run/fork.d.ts.map +1 -1
- package/dist/Fx/run/fork.js +50 -0
- package/dist/Fx/run/observe.d.ts +106 -0
- package/dist/Fx/run/observe.d.ts.map +1 -1
- package/dist/Fx/run/observe.js +106 -0
- package/dist/Fx/run/runPromise.d.ts +43 -0
- package/dist/Fx/run/runPromise.d.ts.map +1 -1
- package/dist/Fx/run/runPromise.js +43 -0
- package/dist/Fx/stream.d.ts +92 -0
- package/dist/Fx/stream.d.ts.map +1 -1
- package/dist/Fx/stream.js +60 -1
- package/dist/Push/Push.d.ts +1216 -91
- package/dist/Push/Push.d.ts.map +1 -1
- package/dist/Push/Push.js +1012 -83
- package/dist/RefArray.d.ts +2 -0
- package/dist/RefArray.d.ts.map +1 -0
- package/dist/RefArray.js +1 -0
- package/dist/RefBigDecimal.d.ts +2 -0
- package/dist/RefBigDecimal.d.ts.map +1 -0
- package/dist/RefBigDecimal.js +1 -0
- package/dist/RefBigInt.d.ts +2 -0
- package/dist/RefBigInt.d.ts.map +1 -0
- package/dist/RefBigInt.js +1 -0
- package/dist/RefBoolean.d.ts +2 -0
- package/dist/RefBoolean.d.ts.map +1 -0
- package/dist/RefBoolean.js +1 -0
- package/dist/RefCause.d.ts +2 -0
- package/dist/RefCause.d.ts.map +1 -0
- package/dist/RefCause.js +1 -0
- package/dist/RefChunk.d.ts +2 -0
- package/dist/RefChunk.d.ts.map +1 -0
- package/dist/RefChunk.js +1 -0
- package/dist/RefDateTime.d.ts +2 -0
- package/dist/RefDateTime.d.ts.map +1 -0
- package/dist/RefDateTime.js +1 -0
- package/dist/RefDuration.d.ts +2 -0
- package/dist/RefDuration.d.ts.map +1 -0
- package/dist/RefDuration.js +1 -0
- package/dist/RefGraph.d.ts +2 -0
- package/dist/RefGraph.d.ts.map +1 -0
- package/dist/RefGraph.js +1 -0
- package/dist/RefHashMap.d.ts +2 -0
- package/dist/RefHashMap.d.ts.map +1 -0
- package/dist/RefHashMap.js +1 -0
- package/dist/RefHashRing.d.ts +2 -0
- package/dist/RefHashRing.d.ts.map +1 -0
- package/dist/RefHashRing.js +1 -0
- package/dist/RefHashSet.d.ts +2 -0
- package/dist/RefHashSet.d.ts.map +1 -0
- package/dist/RefHashSet.js +1 -0
- package/dist/RefIterable.d.ts +2 -0
- package/dist/RefIterable.d.ts.map +1 -0
- package/dist/RefIterable.js +1 -0
- package/dist/RefOption.d.ts +2 -0
- package/dist/RefOption.d.ts.map +1 -0
- package/dist/RefOption.js +1 -0
- package/dist/RefRecord.d.ts +2 -0
- package/dist/RefRecord.d.ts.map +1 -0
- package/dist/RefRecord.js +1 -0
- package/dist/RefResult.d.ts +2 -0
- package/dist/RefResult.d.ts.map +1 -0
- package/dist/RefResult.js +1 -0
- package/dist/RefString.d.ts +2 -0
- package/dist/RefString.d.ts.map +1 -0
- package/dist/RefString.js +1 -0
- package/dist/RefStruct.d.ts +2 -0
- package/dist/RefStruct.d.ts.map +1 -0
- package/dist/RefStruct.js +1 -0
- package/dist/RefSubject/Hydration.d.ts +504 -0
- package/dist/RefSubject/Hydration.d.ts.map +1 -0
- package/dist/RefSubject/Hydration.js +300 -0
- package/dist/RefSubject/RefArray.d.ts +351 -4
- package/dist/RefSubject/RefArray.d.ts.map +1 -1
- package/dist/RefSubject/RefArray.js +339 -3
- package/dist/RefSubject/RefBigDecimal.d.ts +221 -1
- package/dist/RefSubject/RefBigDecimal.d.ts.map +1 -1
- package/dist/RefSubject/RefBigDecimal.js +210 -1
- package/dist/RefSubject/RefBigInt.d.ts +166 -1
- package/dist/RefSubject/RefBigInt.d.ts.map +1 -1
- package/dist/RefSubject/RefBigInt.js +155 -1
- package/dist/RefSubject/RefBoolean.d.ts +166 -1
- package/dist/RefSubject/RefBoolean.d.ts.map +1 -1
- package/dist/RefSubject/RefBoolean.js +155 -1
- package/dist/RefSubject/RefCause.d.ts +122 -1
- package/dist/RefSubject/RefCause.d.ts.map +1 -1
- package/dist/RefSubject/RefCause.js +111 -1
- package/dist/RefSubject/RefChunk.d.ts +406 -1
- package/dist/RefSubject/RefChunk.d.ts.map +1 -1
- package/dist/RefSubject/RefChunk.js +394 -0
- package/dist/RefSubject/RefDateTime.d.ts +122 -1
- package/dist/RefSubject/RefDateTime.d.ts.map +1 -1
- package/dist/RefSubject/RefDateTime.js +111 -1
- package/dist/RefSubject/RefDuration.d.ts +155 -1
- package/dist/RefSubject/RefDuration.d.ts.map +1 -1
- package/dist/RefSubject/RefDuration.js +144 -1
- package/dist/RefSubject/RefGraph.d.ts +320 -6
- package/dist/RefSubject/RefGraph.d.ts.map +1 -1
- package/dist/RefSubject/RefGraph.js +303 -0
- package/dist/RefSubject/RefHashMap.d.ts +296 -1
- package/dist/RefSubject/RefHashMap.d.ts.map +1 -1
- package/dist/RefSubject/RefHashMap.js +284 -0
- package/dist/RefSubject/RefHashRing.d.ts +146 -2
- package/dist/RefSubject/RefHashRing.d.ts.map +1 -1
- package/dist/RefSubject/RefHashRing.js +133 -0
- package/dist/RefSubject/RefHashSet.d.ts +230 -1
- package/dist/RefSubject/RefHashSet.d.ts.map +1 -1
- package/dist/RefSubject/RefHashSet.js +218 -0
- package/dist/RefSubject/RefIterable.d.ts +327 -1
- package/dist/RefSubject/RefIterable.d.ts.map +1 -1
- package/dist/RefSubject/RefIterable.js +315 -0
- package/dist/RefSubject/RefOption.d.ts +144 -1
- package/dist/RefSubject/RefOption.d.ts.map +1 -1
- package/dist/RefSubject/RefOption.js +133 -1
- package/dist/RefSubject/RefRecord.d.ts +339 -1
- package/dist/RefSubject/RefRecord.d.ts.map +1 -1
- package/dist/RefSubject/RefRecord.js +327 -0
- package/dist/RefSubject/RefResult.d.ts +155 -23
- package/dist/RefSubject/RefResult.d.ts.map +1 -1
- package/dist/RefSubject/RefResult.js +122 -1
- package/dist/RefSubject/RefString.d.ts +188 -1
- package/dist/RefSubject/RefString.d.ts.map +1 -1
- package/dist/RefSubject/RefString.js +177 -1
- package/dist/RefSubject/RefStruct.d.ts +156 -1
- package/dist/RefSubject/RefStruct.d.ts.map +1 -1
- package/dist/RefSubject/RefStruct.js +145 -1
- package/dist/RefSubject/RefSubject.d.ts +1166 -13
- package/dist/RefSubject/RefSubject.d.ts.map +1 -1
- package/dist/RefSubject/RefSubject.js +843 -51
- package/dist/RefSubject/RefTrie.d.ts +290 -4
- package/dist/RefSubject/RefTrie.d.ts.map +1 -1
- package/dist/RefSubject/RefTrie.js +278 -3
- package/dist/RefSubject/RefTuple.d.ts +117 -1
- package/dist/RefSubject/RefTuple.d.ts.map +1 -1
- package/dist/RefSubject/RefTuple.js +106 -1
- package/dist/RefSubject/index.d.ts +1 -0
- package/dist/RefSubject/index.d.ts.map +1 -1
- package/dist/RefSubject/index.js +1 -0
- package/dist/RefSubject.d.ts +2 -1
- package/dist/RefSubject.d.ts.map +1 -1
- package/dist/RefSubject.js +2 -1
- package/dist/RefTrie.d.ts +2 -0
- package/dist/RefTrie.d.ts.map +1 -0
- package/dist/RefTrie.js +1 -0
- package/dist/RefTuple.d.ts +2 -0
- package/dist/RefTuple.d.ts.map +1 -0
- package/dist/RefTuple.js +1 -0
- package/dist/Sink/Sink.d.ts +381 -10
- package/dist/Sink/Sink.d.ts.map +1 -1
- package/dist/Sink/Sink.js +49 -2
- package/dist/Sink/combinators.d.ts +731 -2
- package/dist/Sink/combinators.d.ts.map +1 -1
- package/dist/Sink/combinators.js +706 -4
- package/dist/Subject/Subject.d.ts +1013 -19
- package/dist/Subject/Subject.d.ts.map +1 -1
- package/dist/Subject/Subject.js +901 -36
- package/dist/Versioned/Versioned.d.ts +424 -7
- package/dist/Versioned/Versioned.d.ts.map +1 -1
- package/dist/Versioned/Versioned.js +238 -12
- package/dist/index.d.ts +22 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -3
- package/package.json +123 -14
- package/dist/Fx/constructors/fromYieldable.d.ts +0 -12
- package/dist/Fx/constructors/fromYieldable.d.ts.map +0 -1
- package/dist/Fx/constructors/fromYieldable.js +0 -12
- package/src/Fx/Fx.ts +0 -164
- package/src/Fx/TypeId.ts +0 -25
- package/src/Fx/combinators/additive.ts +0 -142
- package/src/Fx/combinators/catch.ts +0 -416
- package/src/Fx/combinators/causes.ts +0 -23
- package/src/Fx/combinators/changesWithEffect.ts +0 -66
- package/src/Fx/combinators/compact.ts +0 -15
- package/src/Fx/combinators/continueWith.ts +0 -78
- package/src/Fx/combinators/dropUntil.ts +0 -47
- package/src/Fx/combinators/ensuring.ts +0 -23
- package/src/Fx/combinators/exhaustLatestMap.ts +0 -74
- package/src/Fx/combinators/exhaustLatestMapEffect.ts +0 -25
- package/src/Fx/combinators/exhaustMap.ts +0 -36
- package/src/Fx/combinators/exhaustMapEffect.ts +0 -23
- package/src/Fx/combinators/exit.ts +0 -15
- package/src/Fx/combinators/filter.ts +0 -22
- package/src/Fx/combinators/filterEffect.ts +0 -31
- package/src/Fx/combinators/filterMap.ts +0 -23
- package/src/Fx/combinators/filterMapEffect.ts +0 -32
- package/src/Fx/combinators/filterMapLoop.ts +0 -35
- package/src/Fx/combinators/filterMapLoopCause.ts +0 -36
- package/src/Fx/combinators/filterMapLoopCauseEffect.ts +0 -46
- package/src/Fx/combinators/filterMapLoopEffect.ts +0 -36
- package/src/Fx/combinators/flatMap.ts +0 -51
- package/src/Fx/combinators/flatMapConcurrently.ts +0 -39
- package/src/Fx/combinators/flatMapConcurrentlyEffect.ts +0 -26
- package/src/Fx/combinators/flatMapEffect.ts +0 -42
- package/src/Fx/combinators/flip.ts +0 -14
- package/src/Fx/combinators/gen.ts +0 -24
- package/src/Fx/combinators/genScoped.ts +0 -24
- package/src/Fx/combinators/index.ts +0 -61
- package/src/Fx/combinators/keyed.ts +0 -369
- package/src/Fx/combinators/loop.ts +0 -27
- package/src/Fx/combinators/loopCause.ts +0 -34
- package/src/Fx/combinators/loopCauseEffect.ts +0 -36
- package/src/Fx/combinators/loopEffect.ts +0 -34
- package/src/Fx/combinators/map.ts +0 -22
- package/src/Fx/combinators/mapBoth.ts +0 -40
- package/src/Fx/combinators/mapEffect.ts +0 -32
- package/src/Fx/combinators/mapError.ts +0 -28
- package/src/Fx/combinators/mergeAll.ts +0 -22
- package/src/Fx/combinators/mergeOrdered.ts +0 -123
- package/src/Fx/combinators/onError.ts +0 -40
- package/src/Fx/combinators/onExit.ts +0 -82
- package/src/Fx/combinators/onInterrupt.ts +0 -87
- package/src/Fx/combinators/provide.ts +0 -124
- package/src/Fx/combinators/result.ts +0 -39
- package/src/Fx/combinators/scan.ts +0 -82
- package/src/Fx/combinators/skip.ts +0 -41
- package/src/Fx/combinators/skipRepeats.ts +0 -15
- package/src/Fx/combinators/skipRepeatsWith.ts +0 -40
- package/src/Fx/combinators/skipWhile.ts +0 -100
- package/src/Fx/combinators/slice.ts +0 -55
- package/src/Fx/combinators/switchMap.ts +0 -55
- package/src/Fx/combinators/switchMapEffect.ts +0 -25
- package/src/Fx/combinators/take.ts +0 -38
- package/src/Fx/combinators/takeUntil.ts +0 -88
- package/src/Fx/combinators/takeWhile.ts +0 -47
- package/src/Fx/combinators/tapEffect.ts +0 -39
- package/src/Fx/combinators/tuple.ts +0 -79
- package/src/Fx/combinators/unwrap.ts +0 -21
- package/src/Fx/combinators/unwrapScoped.ts +0 -26
- package/src/Fx/combinators/when.ts +0 -64
- package/src/Fx/combinators/withSpan.ts +0 -24
- package/src/Fx/combinators/zip.ts +0 -175
- package/src/Fx/constructors/at.ts +0 -23
- package/src/Fx/constructors/die.ts +0 -17
- package/src/Fx/constructors/empty.ts +0 -10
- package/src/Fx/constructors/fail.ts +0 -14
- package/src/Fx/constructors/failCause.ts +0 -14
- package/src/Fx/constructors/fn.ts +0 -245
- package/src/Fx/constructors/fromEffect.ts +0 -24
- package/src/Fx/constructors/fromFailures.ts +0 -19
- package/src/Fx/constructors/fromIterable.ts +0 -15
- package/src/Fx/constructors/fromSchedule.ts +0 -18
- package/src/Fx/constructors/fromYieldable.ts +0 -17
- package/src/Fx/constructors/index.ts +0 -15
- package/src/Fx/constructors/interrupt.ts +0 -13
- package/src/Fx/constructors/make.ts +0 -103
- package/src/Fx/constructors/periodic.ts +0 -15
- package/src/Fx/constructors/succeed.ts +0 -37
- package/src/Fx/constructors/suspend.ts +0 -6
- package/src/Fx/index.ts +0 -6
- package/src/Fx/internal/DeferredRef.ts +0 -87
- package/src/Fx/internal/UnionToTuple.ts +0 -12
- package/src/Fx/internal/diff.ts +0 -191
- package/src/Fx/internal/equivalence.ts +0 -12
- package/src/Fx/internal/multicast.ts +0 -51
- package/src/Fx/internal/ring-buffer.ts +0 -60
- package/src/Fx/internal/scope.ts +0 -58
- package/src/Fx/internal/yieldable.ts +0 -31
- package/src/Fx/run/collect.ts +0 -79
- package/src/Fx/run/first.ts +0 -20
- package/src/Fx/run/fork.ts +0 -40
- package/src/Fx/run/index.ts +0 -5
- package/src/Fx/run/observe.ts +0 -114
- package/src/Fx/run/runPromise.ts +0 -32
- package/src/Fx/stream.ts +0 -42
- package/src/Fx.additive-combinators.test.ts +0 -126
- package/src/Fx.catch-additive.test.ts +0 -206
- package/src/Fx.catch.test.ts +0 -60
- package/src/Fx.dropUntil.test.ts +0 -61
- package/src/Fx.fn.test.ts +0 -51
- package/src/Fx.lifecycle.test.ts +0 -79
- package/src/Fx.mapError-mapBoth.test.ts +0 -101
- package/src/Fx.provide-combinators.test.ts +0 -94
- package/src/Fx.result-changesWithEffect.test.ts +0 -112
- package/src/Fx.scan.test.ts +0 -73
- package/src/Fx.takeWhile-skipWhile.test.ts +0 -84
- package/src/Fx.test.ts +0 -71
- package/src/Fx.ts +0 -1
- package/src/Fx.zip-merge-additive.test.ts +0 -171
- package/src/Fx.zip.test.ts +0 -133
- package/src/Push/Push.ts +0 -1093
- package/src/Push/index.ts +0 -1
- package/src/Push.additive.test.ts +0 -256
- package/src/Push.test.ts +0 -26
- package/src/Push.ts +0 -1
- package/src/RefSubject/RefArray.ts +0 -516
- package/src/RefSubject/RefBigDecimal.test.ts +0 -56
- package/src/RefSubject/RefBigDecimal.ts +0 -295
- package/src/RefSubject/RefBigInt.test.ts +0 -56
- package/src/RefSubject/RefBigInt.ts +0 -189
- package/src/RefSubject/RefBoolean.test.ts +0 -57
- package/src/RefSubject/RefBoolean.ts +0 -185
- package/src/RefSubject/RefCause.test.ts +0 -53
- package/src/RefSubject/RefCause.ts +0 -146
- package/src/RefSubject/RefChunk.ts +0 -516
- package/src/RefSubject/RefDateTime.test.ts +0 -43
- package/src/RefSubject/RefDateTime.ts +0 -261
- package/src/RefSubject/RefDuration.test.ts +0 -49
- package/src/RefSubject/RefDuration.ts +0 -188
- package/src/RefSubject/RefGraph.ts +0 -649
- package/src/RefSubject/RefHashMap.ts +0 -474
- package/src/RefSubject/RefHashRing.ts +0 -262
- package/src/RefSubject/RefHashSet.ts +0 -308
- package/src/RefSubject/RefIterable.ts +0 -454
- package/src/RefSubject/RefOption.test.ts +0 -67
- package/src/RefSubject/RefOption.ts +0 -193
- package/src/RefSubject/RefRecord.ts +0 -621
- package/src/RefSubject/RefResult.test.ts +0 -63
- package/src/RefSubject/RefResult.ts +0 -209
- package/src/RefSubject/RefString.test.ts +0 -61
- package/src/RefSubject/RefString.ts +0 -256
- package/src/RefSubject/RefStruct.test.ts +0 -60
- package/src/RefSubject/RefStruct.ts +0 -253
- package/src/RefSubject/RefSubject.ts +0 -2642
- package/src/RefSubject/RefTrie.ts +0 -365
- package/src/RefSubject/RefTuple.test.ts +0 -60
- package/src/RefSubject/RefTuple.ts +0 -231
- package/src/RefSubject/index.ts +0 -21
- package/src/RefSubject.additive-parity.test.ts +0 -101
- package/src/RefSubject.test.ts +0 -65
- package/src/RefSubject.ts +0 -1
- package/src/Sink/Sink.ts +0 -159
- package/src/Sink/combinators.ts +0 -1115
- package/src/Sink/index.ts +0 -2
- package/src/Sink.combinators.test.ts +0 -88
- package/src/Sink.reduce-collect-head-last.test.ts +0 -107
- package/src/Sink.ts +0 -1
- package/src/Subject/Subject.ts +0 -440
- package/src/Subject/index.ts +0 -1
- package/src/Subject.test.ts +0 -47
- package/src/Subject.ts +0 -1
- package/src/Versioned/Versioned.ts +0 -595
- package/src/Versioned/index.ts +0 -1
- package/src/Versioned.filterMap.test.ts +0 -91
- package/src/Versioned.test.ts +0 -23
- package/src/Versioned.ts +0 -1
- package/src/index.ts +0 -7
|
@@ -1,44 +1,630 @@
|
|
|
1
1
|
import type * as Equivalence from "effect/Equivalence";
|
|
2
|
+
/** An immutable, ordered collection of keyed collection changes.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* ## Why
|
|
6
|
+
*
|
|
7
|
+
* Materializing the changes lets a caller inspect or batch the complete transition before applying
|
|
8
|
+
* it. The array contains removals in old-index order followed by additions, moves, and in-place
|
|
9
|
+
* updates in new-index order.
|
|
10
|
+
*
|
|
11
|
+
* ## Ownership and lifetime
|
|
12
|
+
*
|
|
13
|
+
* The array and records are newly allocated values. They acquire no Scope and retain only the
|
|
14
|
+
* values and keys placed in each record.
|
|
15
|
+
*
|
|
16
|
+
* @since 1.0.0
|
|
17
|
+
* @category models
|
|
18
|
+
* @stability internal-but-published
|
|
19
|
+
*/
|
|
2
20
|
export type DiffResult<A, B> = ReadonlyArray<Diff<A, B>>;
|
|
21
|
+
/** A single keyed collection change produced by `diff` or `diffIterator`.
|
|
22
|
+
*
|
|
23
|
+
* @remarks
|
|
24
|
+
* ## Why
|
|
25
|
+
*
|
|
26
|
+
* The discriminated union makes structural changes exhaustive without requiring a renderer or
|
|
27
|
+
* collection implementation. Indices refer to the original array for removals and move sources,
|
|
28
|
+
* and to the new array for additions, updates, and move destinations.
|
|
29
|
+
*
|
|
30
|
+
* ## Ownership and lifetime
|
|
31
|
+
*
|
|
32
|
+
* A change record is inert data with no services, cleanup, or retained resources beyond its value
|
|
33
|
+
* and key.
|
|
34
|
+
*
|
|
35
|
+
* @since 1.0.0
|
|
36
|
+
* @category models
|
|
37
|
+
* @stability internal-but-published
|
|
38
|
+
*/
|
|
3
39
|
export type Diff<A, B> = Add<A, B> | Remove<A, B> | Update<A, B> | Moved<A, B>;
|
|
40
|
+
/** Describes a key that is present only in the new array.
|
|
41
|
+
*
|
|
42
|
+
* @remarks
|
|
43
|
+
* ## Why
|
|
44
|
+
*
|
|
45
|
+
* Additions carry the new value, destination index, and identity key so a consumer can allocate
|
|
46
|
+
* exactly one keyed lifetime at the correct position.
|
|
47
|
+
*
|
|
48
|
+
* ## Ownership and lifetime
|
|
49
|
+
*
|
|
50
|
+
* This immutable record acquires no resources.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* import type { Add } from "@typed/fx/Fx/internal/diff"
|
|
55
|
+
*
|
|
56
|
+
* const patch: Add<string, string> = { _tag: "Add", value: "A", index: 0, key: "a" }
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @since 1.0.0
|
|
60
|
+
* @category models
|
|
61
|
+
* @stability internal-but-published
|
|
62
|
+
*/
|
|
4
63
|
export interface Add<A, B> {
|
|
64
|
+
/** Discriminates an addition from the other patch variants.
|
|
65
|
+
*
|
|
66
|
+
* @remarks
|
|
67
|
+
* ## Why
|
|
68
|
+
* Enables exhaustive change dispatch without inspecting indices or values.
|
|
69
|
+
*
|
|
70
|
+
* ## Ownership and lifetime
|
|
71
|
+
* Immutable string metadata retained by the record.
|
|
72
|
+
*
|
|
73
|
+
* @since 1.0.0
|
|
74
|
+
* @category fields
|
|
75
|
+
*/
|
|
5
76
|
readonly _tag: "Add";
|
|
77
|
+
/** Index occupied by the value in the new array.
|
|
78
|
+
*
|
|
79
|
+
* @remarks
|
|
80
|
+
* ## Why
|
|
81
|
+
* Identifies the destination for the newly allocated keyed lifetime.
|
|
82
|
+
*
|
|
83
|
+
* ## Ownership and lifetime
|
|
84
|
+
* Immutable numeric metadata with no resources.
|
|
85
|
+
*
|
|
86
|
+
* @since 1.0.0
|
|
87
|
+
* @category fields
|
|
88
|
+
*/
|
|
6
89
|
readonly index: number;
|
|
90
|
+
/** Value from the new array.
|
|
91
|
+
*
|
|
92
|
+
* @remarks
|
|
93
|
+
* ## Why
|
|
94
|
+
* Supplies the payload from which a consumer initializes the new keyed state.
|
|
95
|
+
*
|
|
96
|
+
* ## Ownership and lifetime
|
|
97
|
+
* The record retains this reference but does not otherwise own it.
|
|
98
|
+
*
|
|
99
|
+
* @since 1.0.0
|
|
100
|
+
* @category fields
|
|
101
|
+
*/
|
|
7
102
|
readonly value: A;
|
|
103
|
+
/** Identity returned by `getKey`.
|
|
104
|
+
*
|
|
105
|
+
* @remarks
|
|
106
|
+
* ## Why
|
|
107
|
+
* Associates allocation with the stable identity used by subsequent transitions.
|
|
108
|
+
*
|
|
109
|
+
* ## Ownership and lifetime
|
|
110
|
+
* The record retains this key but acquires no resource.
|
|
111
|
+
*
|
|
112
|
+
* @since 1.0.0
|
|
113
|
+
* @category fields
|
|
114
|
+
*/
|
|
8
115
|
readonly key: B;
|
|
9
116
|
}
|
|
117
|
+
/** Constructs an immutable `Add` change record.
|
|
118
|
+
*
|
|
119
|
+
* @remarks
|
|
120
|
+
* ## Why
|
|
121
|
+
*
|
|
122
|
+
* Central construction keeps the discriminant and index meaning consistent for diff consumers.
|
|
123
|
+
*
|
|
124
|
+
* ## Ownership and lifetime
|
|
125
|
+
*
|
|
126
|
+
* Allocates one plain object and acquires no services or Scope.
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```ts
|
|
130
|
+
* import { add } from "@typed/fx/Fx/internal/diff"
|
|
131
|
+
*
|
|
132
|
+
* const patch = add({ id: "a" }, 0, "a")
|
|
133
|
+
* ```
|
|
134
|
+
*
|
|
135
|
+
* @since 1.0.0
|
|
136
|
+
* @category constructors
|
|
137
|
+
* @stability internal-but-published
|
|
138
|
+
*/
|
|
10
139
|
export declare const add: <A, B>(value: A, index: number, key: B) => Add<A, B>;
|
|
140
|
+
/** Describes a key that is present only in the old array.
|
|
141
|
+
*
|
|
142
|
+
* @remarks
|
|
143
|
+
* ## Why
|
|
144
|
+
*
|
|
145
|
+
* Removals retain the old value and index so consumers can close the exact keyed lifetime that no
|
|
146
|
+
* longer appears in the new collection.
|
|
147
|
+
*
|
|
148
|
+
* ## Ownership and lifetime
|
|
149
|
+
*
|
|
150
|
+
* This immutable record performs no cleanup itself and acquires no resources.
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```ts
|
|
154
|
+
* import type { Remove } from "@typed/fx/Fx/internal/diff"
|
|
155
|
+
*
|
|
156
|
+
* const patch: Remove<string, string> = { _tag: "Remove", value: "A", index: 0, key: "a" }
|
|
157
|
+
* ```
|
|
158
|
+
*
|
|
159
|
+
* @since 1.0.0
|
|
160
|
+
* @category models
|
|
161
|
+
* @stability internal-but-published
|
|
162
|
+
*/
|
|
11
163
|
export interface Remove<A, B> {
|
|
164
|
+
/** Discriminates a removal from the other patch variants.
|
|
165
|
+
*
|
|
166
|
+
* @remarks
|
|
167
|
+
* ## Why
|
|
168
|
+
* Enables exhaustive change dispatch and directs the consumer to cleanup.
|
|
169
|
+
*
|
|
170
|
+
* ## Ownership and lifetime
|
|
171
|
+
* Immutable string metadata retained by the record.
|
|
172
|
+
*
|
|
173
|
+
* @since 1.0.0
|
|
174
|
+
* @category fields
|
|
175
|
+
*/
|
|
12
176
|
readonly _tag: "Remove";
|
|
177
|
+
/** Index occupied by the value in the old array.
|
|
178
|
+
*
|
|
179
|
+
* @remarks
|
|
180
|
+
* ## Why
|
|
181
|
+
* Locates the keyed state before the structural transition is applied.
|
|
182
|
+
*
|
|
183
|
+
* ## Ownership and lifetime
|
|
184
|
+
* Immutable numeric metadata with no resources.
|
|
185
|
+
*
|
|
186
|
+
* @since 1.0.0
|
|
187
|
+
* @category fields
|
|
188
|
+
*/
|
|
13
189
|
readonly index: number;
|
|
190
|
+
/** Value from the old array.
|
|
191
|
+
*
|
|
192
|
+
* @remarks
|
|
193
|
+
* ## Why
|
|
194
|
+
* Preserves the removed payload for cleanup or auditing logic.
|
|
195
|
+
*
|
|
196
|
+
* ## Ownership and lifetime
|
|
197
|
+
* The record retains this reference but does not perform its cleanup.
|
|
198
|
+
*
|
|
199
|
+
* @since 1.0.0
|
|
200
|
+
* @category fields
|
|
201
|
+
*/
|
|
14
202
|
readonly value: A;
|
|
203
|
+
/** Identity returned by `getKey`.
|
|
204
|
+
*
|
|
205
|
+
* @remarks
|
|
206
|
+
* ## Why
|
|
207
|
+
* Selects the exact keyed lifetime that must be removed.
|
|
208
|
+
*
|
|
209
|
+
* ## Ownership and lifetime
|
|
210
|
+
* The record retains this key but acquires no resource.
|
|
211
|
+
*
|
|
212
|
+
* @since 1.0.0
|
|
213
|
+
* @category fields
|
|
214
|
+
*/
|
|
15
215
|
readonly key: B;
|
|
16
216
|
}
|
|
217
|
+
/** Constructs an immutable `Remove` change record.
|
|
218
|
+
*
|
|
219
|
+
* @remarks
|
|
220
|
+
* ## Why
|
|
221
|
+
*
|
|
222
|
+
* Central construction preserves the old-index convention expected by keyed consumers.
|
|
223
|
+
*
|
|
224
|
+
* ## Ownership and lifetime
|
|
225
|
+
*
|
|
226
|
+
* Allocates one plain object and acquires no services or Scope.
|
|
227
|
+
*
|
|
228
|
+
* @example
|
|
229
|
+
* ```ts
|
|
230
|
+
* import { remove } from "@typed/fx/Fx/internal/diff"
|
|
231
|
+
*
|
|
232
|
+
* const patch = remove({ id: "a" }, 0, "a")
|
|
233
|
+
* ```
|
|
234
|
+
*
|
|
235
|
+
* @since 1.0.0
|
|
236
|
+
* @category constructors
|
|
237
|
+
* @stability internal-but-published
|
|
238
|
+
*/
|
|
17
239
|
export declare const remove: <A, B>(value: A, index: number, key: B) => Remove<A, B>;
|
|
240
|
+
/** Describes a key that stayed at one index but whose value is not equivalent.
|
|
241
|
+
*
|
|
242
|
+
* @remarks
|
|
243
|
+
* ## Why
|
|
244
|
+
*
|
|
245
|
+
* An in-place update lets consumers preserve identity and lifetime while publishing the new value
|
|
246
|
+
* to the existing keyed state.
|
|
247
|
+
*
|
|
248
|
+
* ## Ownership and lifetime
|
|
249
|
+
*
|
|
250
|
+
* This immutable record performs no mutation itself and acquires no resources.
|
|
251
|
+
*
|
|
252
|
+
* @example
|
|
253
|
+
* ```ts
|
|
254
|
+
* import type { Update } from "@typed/fx/Fx/internal/diff"
|
|
255
|
+
*
|
|
256
|
+
* const patch: Update<number, string> = { _tag: "Update", value: 2, index: 0, key: "a" }
|
|
257
|
+
* ```
|
|
258
|
+
*
|
|
259
|
+
* @since 1.0.0
|
|
260
|
+
* @category models
|
|
261
|
+
* @stability internal-but-published
|
|
262
|
+
*/
|
|
18
263
|
export interface Update<A, B> {
|
|
264
|
+
/** Discriminates an in-place update from the other patch variants.
|
|
265
|
+
*
|
|
266
|
+
* @remarks
|
|
267
|
+
* ## Why
|
|
268
|
+
* Directs consumers to publish a new value without reallocating keyed state.
|
|
269
|
+
*
|
|
270
|
+
* ## Ownership and lifetime
|
|
271
|
+
* Immutable string metadata retained by the record.
|
|
272
|
+
*
|
|
273
|
+
* @since 1.0.0
|
|
274
|
+
* @category fields
|
|
275
|
+
*/
|
|
19
276
|
readonly _tag: "Update";
|
|
277
|
+
/** Shared index in the old and new arrays.
|
|
278
|
+
*
|
|
279
|
+
* @remarks
|
|
280
|
+
* ## Why
|
|
281
|
+
* Confirms that identity remained at one position and only its value changed.
|
|
282
|
+
*
|
|
283
|
+
* ## Ownership and lifetime
|
|
284
|
+
* Immutable numeric metadata with no resources.
|
|
285
|
+
*
|
|
286
|
+
* @since 1.0.0
|
|
287
|
+
* @category fields
|
|
288
|
+
*/
|
|
20
289
|
readonly index: number;
|
|
290
|
+
/** Value from the new array.
|
|
291
|
+
*
|
|
292
|
+
* @remarks
|
|
293
|
+
* ## Why
|
|
294
|
+
* Supplies the replacement payload for the existing keyed state.
|
|
295
|
+
*
|
|
296
|
+
* ## Ownership and lifetime
|
|
297
|
+
* The record retains this reference but does not otherwise own it.
|
|
298
|
+
*
|
|
299
|
+
* @since 1.0.0
|
|
300
|
+
* @category fields
|
|
301
|
+
*/
|
|
21
302
|
readonly value: A;
|
|
303
|
+
/** Identity returned by `getKey`.
|
|
304
|
+
*
|
|
305
|
+
* @remarks
|
|
306
|
+
* ## Why
|
|
307
|
+
* Selects the exact keyed state that receives the new value.
|
|
308
|
+
*
|
|
309
|
+
* ## Ownership and lifetime
|
|
310
|
+
* The record retains this key but acquires no resource.
|
|
311
|
+
*
|
|
312
|
+
* @since 1.0.0
|
|
313
|
+
* @category fields
|
|
314
|
+
*/
|
|
22
315
|
readonly key: B;
|
|
23
316
|
}
|
|
317
|
+
/** Constructs an immutable `Update` change record.
|
|
318
|
+
*
|
|
319
|
+
* @remarks
|
|
320
|
+
* ## Why
|
|
321
|
+
*
|
|
322
|
+
* Central construction preserves the shared-index convention expected by keyed consumers.
|
|
323
|
+
*
|
|
324
|
+
* ## Ownership and lifetime
|
|
325
|
+
*
|
|
326
|
+
* Allocates one plain object and acquires no services or Scope.
|
|
327
|
+
*
|
|
328
|
+
* @example
|
|
329
|
+
* ```ts
|
|
330
|
+
* import { update } from "@typed/fx/Fx/internal/diff"
|
|
331
|
+
*
|
|
332
|
+
* const patch = update({ id: "a", value: 2 }, 0, "a")
|
|
333
|
+
* ```
|
|
334
|
+
*
|
|
335
|
+
* @since 1.0.0
|
|
336
|
+
* @category constructors
|
|
337
|
+
* @stability internal-but-published
|
|
338
|
+
*/
|
|
24
339
|
export declare const update: <A, B>(value: A, index: number, key: B) => Update<A, B>;
|
|
340
|
+
/** Describes a key whose index changed between the old and new arrays.
|
|
341
|
+
*
|
|
342
|
+
* @remarks
|
|
343
|
+
* ## Why
|
|
344
|
+
*
|
|
345
|
+
* Moves preserve keyed identity across reordering. The record carries the new value even when that
|
|
346
|
+
* value also changed; a moved key does not produce a separate `Update` record.
|
|
347
|
+
*
|
|
348
|
+
* ## Ownership and lifetime
|
|
349
|
+
*
|
|
350
|
+
* This immutable record moves nothing by itself and acquires no resources.
|
|
351
|
+
*
|
|
352
|
+
* @example
|
|
353
|
+
* ```ts
|
|
354
|
+
* import type { Moved } from "@typed/fx/Fx/internal/diff"
|
|
355
|
+
*
|
|
356
|
+
* const patch: Moved<string, string> = {
|
|
357
|
+
* _tag: "Moved", value: "A", index: 0, to: 1, key: "a"
|
|
358
|
+
* }
|
|
359
|
+
* ```
|
|
360
|
+
*
|
|
361
|
+
* @since 1.0.0
|
|
362
|
+
* @category models
|
|
363
|
+
* @stability internal-but-published
|
|
364
|
+
*/
|
|
25
365
|
export interface Moved<A, B> {
|
|
366
|
+
/** Discriminates a move from the other patch variants.
|
|
367
|
+
*
|
|
368
|
+
* @remarks
|
|
369
|
+
* ## Why
|
|
370
|
+
* Directs consumers to preserve the keyed lifetime while changing position.
|
|
371
|
+
*
|
|
372
|
+
* ## Ownership and lifetime
|
|
373
|
+
* Immutable string metadata retained by the record.
|
|
374
|
+
*
|
|
375
|
+
* @since 1.0.0
|
|
376
|
+
* @category fields
|
|
377
|
+
*/
|
|
26
378
|
readonly _tag: "Moved";
|
|
379
|
+
/** Index occupied by the key in the old array.
|
|
380
|
+
*
|
|
381
|
+
* @remarks
|
|
382
|
+
* ## Why
|
|
383
|
+
* Locates the existing keyed state before reordering.
|
|
384
|
+
*
|
|
385
|
+
* ## Ownership and lifetime
|
|
386
|
+
* Immutable numeric metadata with no resources.
|
|
387
|
+
*
|
|
388
|
+
* @since 1.0.0
|
|
389
|
+
* @category fields
|
|
390
|
+
*/
|
|
27
391
|
readonly index: number;
|
|
392
|
+
/** Index occupied by the key in the new array.
|
|
393
|
+
*
|
|
394
|
+
* @remarks
|
|
395
|
+
* ## Why
|
|
396
|
+
* Names the destination while keeping the source index separately available.
|
|
397
|
+
*
|
|
398
|
+
* ## Ownership and lifetime
|
|
399
|
+
* Immutable numeric metadata with no resources.
|
|
400
|
+
*
|
|
401
|
+
* @since 1.0.0
|
|
402
|
+
* @category fields
|
|
403
|
+
*/
|
|
28
404
|
readonly to: number;
|
|
405
|
+
/** Value from the new array.
|
|
406
|
+
*
|
|
407
|
+
* @remarks
|
|
408
|
+
* ## Why
|
|
409
|
+
* Allows one move record to carry a simultaneously changed payload.
|
|
410
|
+
*
|
|
411
|
+
* ## Ownership and lifetime
|
|
412
|
+
* The record retains this reference but does not otherwise own it.
|
|
413
|
+
*
|
|
414
|
+
* @since 1.0.0
|
|
415
|
+
* @category fields
|
|
416
|
+
*/
|
|
29
417
|
readonly value: A;
|
|
418
|
+
/** Identity returned by `getKey`.
|
|
419
|
+
*
|
|
420
|
+
* @remarks
|
|
421
|
+
* ## Why
|
|
422
|
+
* Preserves stable identity across the positional transition.
|
|
423
|
+
*
|
|
424
|
+
* ## Ownership and lifetime
|
|
425
|
+
* The record retains this key but acquires no resource.
|
|
426
|
+
*
|
|
427
|
+
* @since 1.0.0
|
|
428
|
+
* @category fields
|
|
429
|
+
*/
|
|
30
430
|
readonly key: B;
|
|
31
431
|
}
|
|
432
|
+
/** Constructs an immutable `Moved` change record.
|
|
433
|
+
*
|
|
434
|
+
* @remarks
|
|
435
|
+
* ## Why
|
|
436
|
+
*
|
|
437
|
+
* Central construction keeps source and destination index meanings explicit.
|
|
438
|
+
*
|
|
439
|
+
* ## Ownership and lifetime
|
|
440
|
+
*
|
|
441
|
+
* Allocates one plain object and acquires no services or Scope.
|
|
442
|
+
*
|
|
443
|
+
* @example
|
|
444
|
+
* ```ts
|
|
445
|
+
* import { moved } from "@typed/fx/Fx/internal/diff"
|
|
446
|
+
*
|
|
447
|
+
* const patch = moved({ id: "a" }, 0, 1, "a")
|
|
448
|
+
* ```
|
|
449
|
+
*
|
|
450
|
+
* @since 1.0.0
|
|
451
|
+
* @category constructors
|
|
452
|
+
* @stability internal-but-published
|
|
453
|
+
*/
|
|
32
454
|
export declare const moved: <A, B>(value: A, from: number, to: number, key: B) => Moved<A, B>;
|
|
455
|
+
/** Configuration and optional index caches for keyed diffing.
|
|
456
|
+
*
|
|
457
|
+
* @remarks
|
|
458
|
+
* ## Why
|
|
459
|
+
*
|
|
460
|
+
* Callers with an existing key index can avoid rebuilding either map, while callers with structured
|
|
461
|
+
* values can define identity independently from value equivalence.
|
|
462
|
+
*
|
|
463
|
+
* ## Ownership and lifetime
|
|
464
|
+
*
|
|
465
|
+
* `diff` and `diffIterator` borrow the functions and maps for one synchronous traversal. They do
|
|
466
|
+
* not mutate supplied maps. Keys must be unique within each array; duplicate keys overwrite earlier
|
|
467
|
+
* entries in a map and make the resulting changes ambiguous.
|
|
468
|
+
*
|
|
469
|
+
* @since 1.0.0
|
|
470
|
+
* @category models
|
|
471
|
+
* @stability internal-but-published
|
|
472
|
+
*/
|
|
33
473
|
export type DiffOptions<A, B extends PropertyKey> = {
|
|
474
|
+
/** Extracts the stable identity key for one value.
|
|
475
|
+
*
|
|
476
|
+
* @remarks
|
|
477
|
+
* ## Why
|
|
478
|
+
* Separates collection identity from payload equality and position.
|
|
479
|
+
*
|
|
480
|
+
* ## Ownership and lifetime
|
|
481
|
+
* Borrowed for the synchronous diff traversal and not retained afterward.
|
|
482
|
+
*
|
|
483
|
+
* @since 1.0.0
|
|
484
|
+
* @category fields
|
|
485
|
+
*/
|
|
34
486
|
readonly getKey: (a: A) => B;
|
|
487
|
+
/** Determines whether same-key values at the same index require an `Update`.
|
|
488
|
+
*
|
|
489
|
+
* @remarks
|
|
490
|
+
* ## Why
|
|
491
|
+
* Lets domain equality suppress updates without changing key identity.
|
|
492
|
+
*
|
|
493
|
+
* ## Ownership and lifetime
|
|
494
|
+
* Borrowed for the synchronous comparison pass and not retained afterward.
|
|
495
|
+
*
|
|
496
|
+
* @since 1.0.0
|
|
497
|
+
* @category fields
|
|
498
|
+
*/
|
|
35
499
|
readonly eq?: Equivalence.Equivalence<A>;
|
|
500
|
+
/** Optional map from old-array keys to old indices.
|
|
501
|
+
*
|
|
502
|
+
* @remarks
|
|
503
|
+
* ## Why
|
|
504
|
+
* Reusing a previous index avoids rebuilding it when the caller already tracks old identity.
|
|
505
|
+
*
|
|
506
|
+
* ## Ownership and lifetime
|
|
507
|
+
* Borrowed read-only for one traversal; the diff does not mutate or retain the map.
|
|
508
|
+
*
|
|
509
|
+
* @since 1.0.0
|
|
510
|
+
* @category fields
|
|
511
|
+
*/
|
|
36
512
|
readonly previousKeyMap?: Map<PropertyKey, number> | undefined;
|
|
513
|
+
/** Optional map from new-array keys to new indices.
|
|
514
|
+
*
|
|
515
|
+
* @remarks
|
|
516
|
+
* ## Why
|
|
517
|
+
* Lets callers validate and index new keys once before diffing and applying changes.
|
|
518
|
+
*
|
|
519
|
+
* ## Ownership and lifetime
|
|
520
|
+
* Borrowed read-only for one traversal; the diff does not mutate or retain the map.
|
|
521
|
+
*
|
|
522
|
+
* @since 1.0.0
|
|
523
|
+
* @category fields
|
|
524
|
+
*/
|
|
37
525
|
readonly keyMap?: Map<PropertyKey, number> | undefined;
|
|
38
526
|
};
|
|
527
|
+
/** Computes all additions, removals, moves, and same-index updates between two keyed arrays.
|
|
528
|
+
*
|
|
529
|
+
* @remarks
|
|
530
|
+
* ## Why
|
|
531
|
+
*
|
|
532
|
+
* Key identity lets higher-level operators preserve one child state and lifetime across collection
|
|
533
|
+
* updates rather than reconstructing every item when positions change.
|
|
534
|
+
*
|
|
535
|
+
* ## Ownership and lifetime
|
|
536
|
+
*
|
|
537
|
+
* The function is synchronous and acquires no Scope. Unless supplied, it allocates an index map for
|
|
538
|
+
* each non-empty array plus the result records. Empty-array fast paths allocate only their result
|
|
539
|
+
* records. Supplied maps are borrowed and never mutated.
|
|
540
|
+
*
|
|
541
|
+
* ## Ordering, equality, and complexity
|
|
542
|
+
*
|
|
543
|
+
* Removals are emitted first in old order. The second pass emits additions, moves, and then
|
|
544
|
+
* same-position updates in new order. A moved value is represented only as `Moved`, even when its
|
|
545
|
+
* payload changed. Equality defaults to Effect's structural `Equal.equals`. With valid maps the
|
|
546
|
+
* scan is O(old length + new length); building maps has the same time and space bound. Key
|
|
547
|
+
* extraction and equality costs are additional. Keys must be unique in each array.
|
|
548
|
+
*
|
|
549
|
+
* @example
|
|
550
|
+
* ```ts
|
|
551
|
+
* import { diff } from "@typed/fx/Fx/internal/diff"
|
|
552
|
+
*
|
|
553
|
+
* const changes = diff(
|
|
554
|
+
* [{ id: "a", value: 1 }, { id: "b", value: 2 }],
|
|
555
|
+
* [{ id: "b", value: 3 }, { id: "c", value: 4 }],
|
|
556
|
+
* { getKey: ({ id }) => id }
|
|
557
|
+
* )
|
|
558
|
+
* ```
|
|
559
|
+
*
|
|
560
|
+
* @since 1.0.0
|
|
561
|
+
* @category advanced
|
|
562
|
+
* @stability internal-but-published
|
|
563
|
+
*/
|
|
39
564
|
export declare function diff<A extends PropertyKey>(oldValue: ReadonlyArray<A>, newValue: ReadonlyArray<A>, options?: Omit<DiffOptions<A, A>, "getKey">): DiffResult<A, A>;
|
|
40
565
|
export declare function diff<A, B extends PropertyKey>(oldValue: ReadonlyArray<A>, newValue: ReadonlyArray<A>, options: DiffOptions<A, B>): DiffResult<A, B>;
|
|
566
|
+
/** Lazily yields keyed collection changes using the same two-pass ordering as `diff`.
|
|
567
|
+
*
|
|
568
|
+
* @remarks
|
|
569
|
+
* ## Why
|
|
570
|
+
*
|
|
571
|
+
* A generator lets callers apply or stop consuming changes without first materializing the result
|
|
572
|
+
* array.
|
|
573
|
+
*
|
|
574
|
+
* ## Ownership and lifetime
|
|
575
|
+
*
|
|
576
|
+
* Creating the generator defers all work. On first iteration it builds any missing key maps and
|
|
577
|
+
* retains the two arrays, maps, and functions until iteration completes or the generator is
|
|
578
|
+
* released. It acquires no Scope and mutates none of its inputs.
|
|
579
|
+
*
|
|
580
|
+
* ## Ordering, equality, and complexity
|
|
581
|
+
*
|
|
582
|
+
* Removals are yielded first in old order, followed by additions, moves, and same-index updates in
|
|
583
|
+
* new order. Unlike `diff`, equality defaults to `Object.is`. Total traversal is O(old length + new
|
|
584
|
+
* length), with O(old length + new length) map space when maps are not supplied. Keys must be unique.
|
|
585
|
+
*
|
|
586
|
+
* @example
|
|
587
|
+
* ```ts
|
|
588
|
+
* import { diffIterator } from "@typed/fx/Fx/internal/diff"
|
|
589
|
+
*
|
|
590
|
+
* for (const change of diffIterator(["a", "b"], ["b", "c"])) {
|
|
591
|
+
* console.log(change._tag, change.key)
|
|
592
|
+
* }
|
|
593
|
+
* ```
|
|
594
|
+
*
|
|
595
|
+
* @since 1.0.0
|
|
596
|
+
* @category advanced
|
|
597
|
+
* @stability internal-but-published
|
|
598
|
+
*/
|
|
41
599
|
export declare function diffIterator<A extends PropertyKey>(oldValue: ReadonlyArray<A>, newValue: ReadonlyArray<A>, options?: Omit<DiffOptions<A, A>, "getKey">): Generator<Diff<A, A>>;
|
|
42
600
|
export declare function diffIterator<A, B extends PropertyKey>(oldValue: ReadonlyArray<A>, newValue: ReadonlyArray<A>, options: DiffOptions<A, B>): Generator<Diff<A, B>>;
|
|
601
|
+
/** Builds a map from each extracted key to its current array index.
|
|
602
|
+
*
|
|
603
|
+
* @remarks
|
|
604
|
+
* ## Why
|
|
605
|
+
*
|
|
606
|
+
* Exposing map construction lets repeated diff callers cache the previous array's index and avoid
|
|
607
|
+
* re-extracting those keys on the next transition.
|
|
608
|
+
*
|
|
609
|
+
* ## Ownership and lifetime
|
|
610
|
+
*
|
|
611
|
+
* The returned map is newly allocated and retains each key until released. The input array is read
|
|
612
|
+
* once and not retained by the map. Duplicate keys are not rejected: the last occurrence wins, so
|
|
613
|
+
* callers that require an unambiguous diff must validate uniqueness separately.
|
|
614
|
+
*
|
|
615
|
+
* The operation is O(n) time and O(n) space, plus the cost of `getKey` and Map hashing.
|
|
616
|
+
*
|
|
617
|
+
* @example
|
|
618
|
+
* ```ts
|
|
619
|
+
* import { getKeyMap } from "@typed/fx/Fx/internal/diff"
|
|
620
|
+
*
|
|
621
|
+
* const map = getKeyMap([{ id: "a" }, { id: "b" }], ({ id }) => id)
|
|
622
|
+
* map.get("b") // 1
|
|
623
|
+
* ```
|
|
624
|
+
*
|
|
625
|
+
* @since 1.0.0
|
|
626
|
+
* @category advanced
|
|
627
|
+
* @stability internal-but-published
|
|
628
|
+
*/
|
|
43
629
|
export declare function getKeyMap<A>(a: ReadonlyArray<A>, getKey: (a: A) => PropertyKey): Map<PropertyKey, number>;
|
|
44
630
|
//# sourceMappingURL=diff.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/Fx/internal/diff.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAGvD,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/E,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;CACjB;AAED,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../src/Fx/internal/diff.ts"],"names":[],"mappings":"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"}
|