@typed/fx 1.1.0 → 1.2.0
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/dist/Subject/Computed.d.ts +12 -0
- package/dist/Subject/Computed.d.ts.map +1 -0
- package/dist/Subject/Computed.js +54 -0
- package/dist/Subject/Computed.js.map +1 -0
- package/dist/Subject/RefSubject.d.ts +11 -4
- package/dist/Subject/RefSubject.d.ts.map +1 -1
- package/dist/Subject/RefSubject.js +68 -24
- package/dist/Subject/RefSubject.js.map +1 -1
- package/dist/Subject/SynchronizedSubject.d.ts.map +1 -1
- package/dist/Subject/SynchronizedSubject.js +5 -6
- package/dist/Subject/SynchronizedSubject.js.map +1 -1
- package/dist/cjs/Fx.d.ts +45 -0
- package/dist/cjs/Fx.d.ts.map +1 -0
- package/dist/cjs/Fx.js +39 -0
- package/dist/cjs/Fx.js.map +1 -0
- package/dist/cjs/Subject/Computed.d.ts +12 -0
- package/dist/cjs/Subject/Computed.d.ts.map +1 -0
- package/dist/cjs/Subject/Computed.js +80 -0
- package/dist/cjs/Subject/Computed.js.map +1 -0
- package/dist/cjs/Subject/HoldSubject.d.ts +23 -0
- package/dist/cjs/Subject/HoldSubject.d.ts.map +1 -0
- package/dist/cjs/Subject/HoldSubject.js +70 -0
- package/dist/cjs/Subject/HoldSubject.js.map +1 -0
- package/dist/cjs/Subject/RefSubject.d.ts +23 -0
- package/dist/cjs/Subject/RefSubject.d.ts.map +1 -0
- package/dist/cjs/Subject/RefSubject.js +140 -0
- package/dist/cjs/Subject/RefSubject.js.map +1 -0
- package/dist/cjs/Subject/Subject.d.ts +18 -0
- package/dist/cjs/Subject/Subject.d.ts.map +1 -0
- package/dist/cjs/Subject/Subject.js +42 -0
- package/dist/cjs/Subject/Subject.js.map +1 -0
- package/dist/cjs/Subject/SynchronizedSubject.d.ts +12 -0
- package/dist/cjs/Subject/SynchronizedSubject.d.ts.map +1 -0
- package/dist/cjs/Subject/SynchronizedSubject.js +108 -0
- package/dist/cjs/Subject/SynchronizedSubject.js.map +1 -0
- package/dist/cjs/Subject/index.d.ts +5 -0
- package/dist/cjs/Subject/index.d.ts.map +1 -0
- package/dist/cjs/Subject/index.js +21 -0
- package/dist/cjs/Subject/index.js.map +1 -0
- package/dist/cjs/_internal/RefCounter.d.ts +21 -0
- package/dist/cjs/_internal/RefCounter.d.ts.map +1 -0
- package/dist/cjs/_internal/RefCounter.js +68 -0
- package/dist/cjs/_internal/RefCounter.js.map +1 -0
- package/dist/cjs/_internal/earlyExit.d.ts +3 -0
- package/dist/cjs/_internal/earlyExit.d.ts.map +1 -0
- package/dist/cjs/_internal/earlyExit.js +33 -0
- package/dist/cjs/_internal/earlyExit.js.map +1 -0
- package/dist/cjs/_internal/entriesOf.d.ts +2 -0
- package/dist/cjs/_internal/entriesOf.d.ts.map +1 -0
- package/dist/cjs/_internal/entriesOf.js +8 -0
- package/dist/cjs/_internal/entriesOf.js.map +1 -0
- package/dist/cjs/constructor/Do.d.ts +2 -0
- package/dist/cjs/constructor/Do.d.ts.map +1 -0
- package/dist/cjs/constructor/Do.js +6 -0
- package/dist/cjs/constructor/Do.js.map +1 -0
- package/dist/cjs/constructor/acquireUseRelease.d.ts +4 -0
- package/dist/cjs/constructor/acquireUseRelease.d.ts.map +1 -0
- package/dist/cjs/constructor/acquireUseRelease.js +43 -0
- package/dist/cjs/constructor/acquireUseRelease.js.map +1 -0
- package/dist/cjs/constructor/async.d.ts +5 -0
- package/dist/cjs/constructor/async.d.ts.map +1 -0
- package/dist/cjs/constructor/async.js +31 -0
- package/dist/cjs/constructor/async.js.map +1 -0
- package/dist/cjs/constructor/asyncEffect.d.ts +4 -0
- package/dist/cjs/constructor/asyncEffect.d.ts.map +1 -0
- package/dist/cjs/constructor/asyncEffect.js +31 -0
- package/dist/cjs/constructor/asyncEffect.js.map +1 -0
- package/dist/cjs/constructor/asyncInterrupt.d.ts +5 -0
- package/dist/cjs/constructor/asyncInterrupt.d.ts.map +1 -0
- package/dist/cjs/constructor/asyncInterrupt.js +31 -0
- package/dist/cjs/constructor/asyncInterrupt.js.map +1 -0
- package/dist/cjs/constructor/asyncOption.d.ts +6 -0
- package/dist/cjs/constructor/asyncOption.d.ts.map +1 -0
- package/dist/cjs/constructor/asyncOption.js +31 -0
- package/dist/cjs/constructor/asyncOption.js.map +1 -0
- package/dist/cjs/constructor/at.d.ts +4 -0
- package/dist/cjs/constructor/at.d.ts.map +1 -0
- package/dist/cjs/constructor/at.js +34 -0
- package/dist/cjs/constructor/at.js.map +1 -0
- package/dist/cjs/constructor/die.d.ts +3 -0
- package/dist/cjs/constructor/die.d.ts.map +1 -0
- package/dist/cjs/constructor/die.js +31 -0
- package/dist/cjs/constructor/die.js.map +1 -0
- package/dist/cjs/constructor/dieMessage.d.ts +3 -0
- package/dist/cjs/constructor/dieMessage.d.ts.map +1 -0
- package/dist/cjs/constructor/dieMessage.js +31 -0
- package/dist/cjs/constructor/dieMessage.js.map +1 -0
- package/dist/cjs/constructor/dieSync.d.ts +3 -0
- package/dist/cjs/constructor/dieSync.d.ts.map +1 -0
- package/dist/cjs/constructor/dieSync.js +31 -0
- package/dist/cjs/constructor/dieSync.js.map +1 -0
- package/dist/cjs/constructor/done.d.ts +4 -0
- package/dist/cjs/constructor/done.d.ts.map +1 -0
- package/dist/cjs/constructor/done.js +44 -0
- package/dist/cjs/constructor/done.js.map +1 -0
- package/dist/cjs/constructor/empty.d.ts +3 -0
- package/dist/cjs/constructor/empty.d.ts.map +1 -0
- package/dist/cjs/constructor/empty.js +14 -0
- package/dist/cjs/constructor/empty.js.map +1 -0
- package/dist/cjs/constructor/fail.d.ts +3 -0
- package/dist/cjs/constructor/fail.d.ts.map +1 -0
- package/dist/cjs/constructor/fail.js +31 -0
- package/dist/cjs/constructor/fail.js.map +1 -0
- package/dist/cjs/constructor/failCause.d.ts +4 -0
- package/dist/cjs/constructor/failCause.d.ts.map +1 -0
- package/dist/cjs/constructor/failCause.js +31 -0
- package/dist/cjs/constructor/failCause.js.map +1 -0
- package/dist/cjs/constructor/failCauseSync.d.ts +4 -0
- package/dist/cjs/constructor/failCauseSync.d.ts.map +1 -0
- package/dist/cjs/constructor/failCauseSync.js +31 -0
- package/dist/cjs/constructor/failCauseSync.js.map +1 -0
- package/dist/cjs/constructor/fromArray.d.ts +3 -0
- package/dist/cjs/constructor/fromArray.d.ts.map +1 -0
- package/dist/cjs/constructor/fromArray.js +43 -0
- package/dist/cjs/constructor/fromArray.js.map +1 -0
- package/dist/cjs/constructor/fromEffect.d.ts +4 -0
- package/dist/cjs/constructor/fromEffect.d.ts.map +1 -0
- package/dist/cjs/constructor/fromEffect.js +43 -0
- package/dist/cjs/constructor/fromEffect.js.map +1 -0
- package/dist/cjs/constructor/fromEither.d.ts +4 -0
- package/dist/cjs/constructor/fromEither.d.ts.map +1 -0
- package/dist/cjs/constructor/fromEither.js +31 -0
- package/dist/cjs/constructor/fromEither.js.map +1 -0
- package/dist/cjs/constructor/fromEitherCause.d.ts +5 -0
- package/dist/cjs/constructor/fromEitherCause.d.ts.map +1 -0
- package/dist/cjs/constructor/fromEitherCause.js +31 -0
- package/dist/cjs/constructor/fromEitherCause.js.map +1 -0
- package/dist/cjs/constructor/fromEmitter.d.ts +12 -0
- package/dist/cjs/constructor/fromEmitter.d.ts.map +1 -0
- package/dist/cjs/constructor/fromEmitter.js +61 -0
- package/dist/cjs/constructor/fromEmitter.js.map +1 -0
- package/dist/cjs/constructor/fromFiber.d.ts +4 -0
- package/dist/cjs/constructor/fromFiber.d.ts.map +1 -0
- package/dist/cjs/constructor/fromFiber.js +31 -0
- package/dist/cjs/constructor/fromFiber.js.map +1 -0
- package/dist/cjs/constructor/fromFiberEffect.d.ts +5 -0
- package/dist/cjs/constructor/fromFiberEffect.d.ts.map +1 -0
- package/dist/cjs/constructor/fromFiberEffect.js +31 -0
- package/dist/cjs/constructor/fromFiberEffect.js.map +1 -0
- package/dist/cjs/constructor/fromFxEffect.d.ts +4 -0
- package/dist/cjs/constructor/fromFxEffect.d.ts.map +1 -0
- package/dist/cjs/constructor/fromFxEffect.js +43 -0
- package/dist/cjs/constructor/fromFxEffect.js.map +1 -0
- package/dist/cjs/constructor/fromIterable.d.ts +3 -0
- package/dist/cjs/constructor/fromIterable.d.ts.map +1 -0
- package/dist/cjs/constructor/fromIterable.js +51 -0
- package/dist/cjs/constructor/fromIterable.js.map +1 -0
- package/dist/cjs/constructor/fromOption.d.ts +4 -0
- package/dist/cjs/constructor/fromOption.d.ts.map +1 -0
- package/dist/cjs/constructor/fromOption.js +31 -0
- package/dist/cjs/constructor/fromOption.js.map +1 -0
- package/dist/cjs/constructor/gen.d.ts +14 -0
- package/dist/cjs/constructor/gen.d.ts.map +1 -0
- package/dist/cjs/constructor/gen.js +39 -0
- package/dist/cjs/constructor/gen.js.map +1 -0
- package/dist/cjs/constructor/index.d.ts +46 -0
- package/dist/cjs/constructor/index.d.ts.map +1 -0
- package/dist/cjs/constructor/index.js +62 -0
- package/dist/cjs/constructor/index.js.map +1 -0
- package/dist/cjs/constructor/never.d.ts +3 -0
- package/dist/cjs/constructor/never.d.ts.map +1 -0
- package/dist/cjs/constructor/never.js +39 -0
- package/dist/cjs/constructor/never.js.map +1 -0
- package/dist/cjs/constructor/periodic.d.ts +4 -0
- package/dist/cjs/constructor/periodic.d.ts.map +1 -0
- package/dist/cjs/constructor/periodic.js +36 -0
- package/dist/cjs/constructor/periodic.js.map +1 -0
- package/dist/cjs/constructor/promise.d.ts +3 -0
- package/dist/cjs/constructor/promise.d.ts.map +1 -0
- package/dist/cjs/constructor/promise.js +31 -0
- package/dist/cjs/constructor/promise.js.map +1 -0
- package/dist/cjs/constructor/promiseAbort.d.ts +3 -0
- package/dist/cjs/constructor/promiseAbort.d.ts.map +1 -0
- package/dist/cjs/constructor/promiseAbort.js +31 -0
- package/dist/cjs/constructor/promiseAbort.js.map +1 -0
- package/dist/cjs/constructor/promiseFx.d.ts +6 -0
- package/dist/cjs/constructor/promiseFx.d.ts.map +1 -0
- package/dist/cjs/constructor/promiseFx.js +38 -0
- package/dist/cjs/constructor/promiseFx.js.map +1 -0
- package/dist/cjs/constructor/random.d.ts +4 -0
- package/dist/cjs/constructor/random.d.ts.map +1 -0
- package/dist/cjs/constructor/random.js +31 -0
- package/dist/cjs/constructor/random.js.map +1 -0
- package/dist/cjs/constructor/scheduled.d.ts +12 -0
- package/dist/cjs/constructor/scheduled.d.ts.map +1 -0
- package/dist/cjs/constructor/scheduled.js +44 -0
- package/dist/cjs/constructor/scheduled.js.map +1 -0
- package/dist/cjs/constructor/service.d.ts +4 -0
- package/dist/cjs/constructor/service.d.ts.map +1 -0
- package/dist/cjs/constructor/service.js +31 -0
- package/dist/cjs/constructor/service.js.map +1 -0
- package/dist/cjs/constructor/serviceWith.d.ts +4 -0
- package/dist/cjs/constructor/serviceWith.d.ts.map +1 -0
- package/dist/cjs/constructor/serviceWith.js +31 -0
- package/dist/cjs/constructor/serviceWith.js.map +1 -0
- package/dist/cjs/constructor/serviceWithEffect.d.ts +5 -0
- package/dist/cjs/constructor/serviceWithEffect.d.ts.map +1 -0
- package/dist/cjs/constructor/serviceWithEffect.js +31 -0
- package/dist/cjs/constructor/serviceWithEffect.js.map +1 -0
- package/dist/cjs/constructor/serviceWithFx.d.ts +4 -0
- package/dist/cjs/constructor/serviceWithFx.d.ts.map +1 -0
- package/dist/cjs/constructor/serviceWithFx.js +41 -0
- package/dist/cjs/constructor/serviceWithFx.js.map +1 -0
- package/dist/cjs/constructor/succeed.d.ts +3 -0
- package/dist/cjs/constructor/succeed.d.ts.map +1 -0
- package/dist/cjs/constructor/succeed.js +20 -0
- package/dist/cjs/constructor/succeed.js.map +1 -0
- package/dist/cjs/constructor/suspend.d.ts +3 -0
- package/dist/cjs/constructor/suspend.d.ts.map +1 -0
- package/dist/cjs/constructor/suspend.js +18 -0
- package/dist/cjs/constructor/suspend.js.map +1 -0
- package/dist/cjs/constructor/sync.d.ts +3 -0
- package/dist/cjs/constructor/sync.d.ts.map +1 -0
- package/dist/cjs/constructor/sync.js +31 -0
- package/dist/cjs/constructor/sync.js.map +1 -0
- package/dist/cjs/constructor/tryCatchPromise.d.ts +3 -0
- package/dist/cjs/constructor/tryCatchPromise.d.ts.map +1 -0
- package/dist/cjs/constructor/tryCatchPromise.js +31 -0
- package/dist/cjs/constructor/tryCatchPromise.js.map +1 -0
- package/dist/cjs/constructor/tryCatchPromiseAbort.d.ts +3 -0
- package/dist/cjs/constructor/tryCatchPromiseAbort.d.ts.map +1 -0
- package/dist/cjs/constructor/tryCatchPromiseAbort.js +31 -0
- package/dist/cjs/constructor/tryCatchPromiseAbort.js.map +1 -0
- package/dist/cjs/constructor/tryPromise.d.ts +3 -0
- package/dist/cjs/constructor/tryPromise.d.ts.map +1 -0
- package/dist/cjs/constructor/tryPromise.js +31 -0
- package/dist/cjs/constructor/tryPromise.js.map +1 -0
- package/dist/cjs/constructor/tryPromiseAbort.d.ts +3 -0
- package/dist/cjs/constructor/tryPromiseAbort.d.ts.map +1 -0
- package/dist/cjs/constructor/tryPromiseAbort.js +31 -0
- package/dist/cjs/constructor/tryPromiseAbort.js.map +1 -0
- package/dist/cjs/constructor/unit.d.ts +2 -0
- package/dist/cjs/constructor/unit.d.ts.map +1 -0
- package/dist/cjs/constructor/unit.js +6 -0
- package/dist/cjs/constructor/unit.js.map +1 -0
- package/dist/cjs/index.d.ts +10 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +26 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/operator/as.d.ts +3 -0
- package/dist/cjs/operator/as.d.ts.map +1 -0
- package/dist/cjs/operator/as.js +9 -0
- package/dist/cjs/operator/as.js.map +1 -0
- package/dist/cjs/operator/asUnit.d.ts +2 -0
- package/dist/cjs/operator/asUnit.d.ts.map +1 -0
- package/dist/cjs/operator/asUnit.js +6 -0
- package/dist/cjs/operator/asUnit.js.map +1 -0
- package/dist/cjs/operator/catchAll.d.ts +3 -0
- package/dist/cjs/operator/catchAll.d.ts.map +1 -0
- package/dist/cjs/operator/catchAll.js +36 -0
- package/dist/cjs/operator/catchAll.js.map +1 -0
- package/dist/cjs/operator/catchAllCause.d.ts +4 -0
- package/dist/cjs/operator/catchAllCause.d.ts.map +1 -0
- package/dist/cjs/operator/catchAllCause.js +28 -0
- package/dist/cjs/operator/catchAllCause.js.map +1 -0
- package/dist/{operator/catch.d.ts → cjs/operator/catchAllDefect.d.ts} +2 -2
- package/dist/cjs/operator/catchAllDefect.d.ts.map +1 -0
- package/dist/cjs/operator/catchAllDefect.js +36 -0
- package/dist/cjs/operator/catchAllDefect.js.map +1 -0
- package/dist/cjs/operator/catchTag.d.ts +20 -0
- package/dist/cjs/operator/catchTag.d.ts.map +1 -0
- package/dist/cjs/operator/catchTag.js +42 -0
- package/dist/cjs/operator/catchTag.js.map +1 -0
- package/dist/cjs/operator/combine.d.ts +6 -0
- package/dist/cjs/operator/combine.d.ts.map +1 -0
- package/dist/cjs/operator/combine.js +58 -0
- package/dist/cjs/operator/combine.js.map +1 -0
- package/dist/cjs/operator/compact.d.ts +4 -0
- package/dist/cjs/operator/compact.d.ts.map +1 -0
- package/dist/cjs/operator/compact.js +7 -0
- package/dist/cjs/operator/compact.js.map +1 -0
- package/dist/cjs/operator/concatMap.d.ts +3 -0
- package/dist/cjs/operator/concatMap.d.ts.map +1 -0
- package/dist/cjs/operator/concatMap.js +9 -0
- package/dist/cjs/operator/concatMap.js.map +1 -0
- package/dist/cjs/operator/continueWith.d.ts +3 -0
- package/dist/cjs/operator/continueWith.d.ts.map +1 -0
- package/dist/cjs/operator/continueWith.js +29 -0
- package/dist/cjs/operator/continueWith.js.map +1 -0
- package/dist/cjs/operator/contramapContext.d.ts +5 -0
- package/dist/cjs/operator/contramapContext.d.ts.map +1 -0
- package/dist/cjs/operator/contramapContext.js +53 -0
- package/dist/cjs/operator/contramapContext.js.map +1 -0
- package/dist/cjs/operator/debounce.d.ts +4 -0
- package/dist/cjs/operator/debounce.d.ts.map +1 -0
- package/dist/cjs/operator/debounce.js +55 -0
- package/dist/cjs/operator/debounce.js.map +1 -0
- package/dist/cjs/operator/delay.d.ts +4 -0
- package/dist/cjs/operator/delay.d.ts.map +1 -0
- package/dist/cjs/operator/delay.js +44 -0
- package/dist/cjs/operator/delay.js.map +1 -0
- package/dist/cjs/operator/during.d.ts +3 -0
- package/dist/cjs/operator/during.d.ts.map +1 -0
- package/dist/cjs/operator/during.js +57 -0
- package/dist/cjs/operator/during.js.map +1 -0
- package/dist/cjs/operator/exhaustMap.d.ts +4 -0
- package/dist/cjs/operator/exhaustMap.d.ts.map +1 -0
- package/dist/cjs/operator/exhaustMap.js +51 -0
- package/dist/cjs/operator/exhaustMap.js.map +1 -0
- package/dist/cjs/operator/exhaustMapEffect.d.ts +4 -0
- package/dist/cjs/operator/exhaustMapEffect.d.ts.map +1 -0
- package/dist/cjs/operator/exhaustMapEffect.js +11 -0
- package/dist/cjs/operator/exhaustMapEffect.js.map +1 -0
- package/dist/cjs/operator/exhaustMapLatest.d.ts +3 -0
- package/dist/cjs/operator/exhaustMapLatest.d.ts.map +1 -0
- package/dist/cjs/operator/exhaustMapLatest.js +60 -0
- package/dist/cjs/operator/exhaustMapLatest.js.map +1 -0
- package/dist/cjs/operator/exhaustMapLatestEffect.d.ts +4 -0
- package/dist/cjs/operator/exhaustMapLatestEffect.d.ts.map +1 -0
- package/dist/cjs/operator/exhaustMapLatestEffect.js +11 -0
- package/dist/cjs/operator/exhaustMapLatestEffect.js.map +1 -0
- package/dist/cjs/operator/filter.d.ts +5 -0
- package/dist/cjs/operator/filter.d.ts.map +1 -0
- package/dist/cjs/operator/filter.js +59 -0
- package/dist/cjs/operator/filter.js.map +1 -0
- package/dist/cjs/operator/filterEffect.d.ts +4 -0
- package/dist/cjs/operator/filterEffect.d.ts.map +1 -0
- package/dist/cjs/operator/filterEffect.js +57 -0
- package/dist/cjs/operator/filterEffect.js.map +1 -0
- package/dist/cjs/operator/filterMap.d.ts +4 -0
- package/dist/cjs/operator/filterMap.d.ts.map +1 -0
- package/dist/cjs/operator/filterMap.js +58 -0
- package/dist/cjs/operator/filterMap.js.map +1 -0
- package/dist/cjs/operator/filterMapEffect.d.ts +5 -0
- package/dist/cjs/operator/filterMapEffect.d.ts.map +1 -0
- package/dist/cjs/operator/filterMapEffect.js +56 -0
- package/dist/cjs/operator/filterMapEffect.js.map +1 -0
- package/dist/cjs/operator/flatMap.d.ts +6 -0
- package/dist/cjs/operator/flatMap.d.ts.map +1 -0
- package/dist/cjs/operator/flatMap.js +44 -0
- package/dist/cjs/operator/flatMap.js.map +1 -0
- package/dist/cjs/operator/flatMapCause.d.ts +4 -0
- package/dist/cjs/operator/flatMapCause.d.ts.map +1 -0
- package/dist/cjs/operator/flatMapCause.js +46 -0
- package/dist/cjs/operator/flatMapCause.js.map +1 -0
- package/dist/cjs/operator/flatMapConcurrently.d.ts +3 -0
- package/dist/cjs/operator/flatMapConcurrently.d.ts.map +1 -0
- package/dist/cjs/operator/flatMapConcurrently.js +16 -0
- package/dist/cjs/operator/flatMapConcurrently.js.map +1 -0
- package/dist/cjs/operator/flatMapEffect.d.ts +4 -0
- package/dist/cjs/operator/flatMapEffect.d.ts.map +1 -0
- package/dist/cjs/operator/flatMapEffect.js +11 -0
- package/dist/cjs/operator/flatMapEffect.js.map +1 -0
- package/dist/cjs/operator/flatMapEffectConcurrently.d.ts +4 -0
- package/dist/cjs/operator/flatMapEffectConcurrently.d.ts.map +1 -0
- package/dist/cjs/operator/flatMapEffectConcurrently.js +11 -0
- package/dist/cjs/operator/flatMapEffectConcurrently.js.map +1 -0
- package/dist/cjs/operator/hold.d.ts +26 -0
- package/dist/cjs/operator/hold.d.ts.map +1 -0
- package/dist/cjs/operator/hold.js +115 -0
- package/dist/cjs/operator/hold.js.map +1 -0
- package/dist/cjs/operator/index.d.ts +86 -0
- package/dist/cjs/operator/index.d.ts.map +1 -0
- package/dist/cjs/operator/index.js +102 -0
- package/dist/cjs/operator/index.js.map +1 -0
- package/dist/cjs/operator/interruptible.d.ts +3 -0
- package/dist/cjs/operator/interruptible.d.ts.map +1 -0
- package/dist/cjs/operator/interruptible.js +43 -0
- package/dist/cjs/operator/interruptible.js.map +1 -0
- package/dist/cjs/operator/loop.d.ts +3 -0
- package/dist/cjs/operator/loop.d.ts.map +1 -0
- package/dist/cjs/operator/loop.js +59 -0
- package/dist/cjs/operator/loop.js.map +1 -0
- package/dist/cjs/operator/map.d.ts +6 -0
- package/dist/cjs/operator/map.d.ts.map +1 -0
- package/dist/cjs/operator/map.js +28 -0
- package/dist/cjs/operator/map.js.map +1 -0
- package/dist/cjs/operator/mapCause.d.ts +4 -0
- package/dist/cjs/operator/mapCause.d.ts.map +1 -0
- package/dist/cjs/operator/mapCause.js +23 -0
- package/dist/cjs/operator/mapCause.js.map +1 -0
- package/dist/cjs/operator/mapError.d.ts +3 -0
- package/dist/cjs/operator/mapError.d.ts.map +1 -0
- package/dist/cjs/operator/mapError.js +10 -0
- package/dist/cjs/operator/mapError.js.map +1 -0
- package/dist/cjs/operator/merge.d.ts +4 -0
- package/dist/cjs/operator/merge.d.ts.map +1 -0
- package/dist/cjs/operator/merge.js +48 -0
- package/dist/cjs/operator/merge.js.map +1 -0
- package/dist/cjs/operator/mergeRace.d.ts +8 -0
- package/dist/cjs/operator/mergeRace.d.ts.map +1 -0
- package/dist/cjs/operator/mergeRace.js +48 -0
- package/dist/cjs/operator/mergeRace.js.map +1 -0
- package/dist/cjs/operator/multicast.d.ts +29 -0
- package/dist/cjs/operator/multicast.d.ts.map +1 -0
- package/dist/cjs/operator/multicast.js +97 -0
- package/dist/cjs/operator/multicast.js.map +1 -0
- package/dist/cjs/operator/onDone.d.ts +4 -0
- package/dist/cjs/operator/onDone.d.ts.map +1 -0
- package/dist/cjs/operator/onDone.js +36 -0
- package/dist/cjs/operator/onDone.js.map +1 -0
- package/dist/cjs/operator/onDoneCause.d.ts +5 -0
- package/dist/cjs/operator/onDoneCause.d.ts.map +1 -0
- package/dist/cjs/operator/onDoneCause.js +46 -0
- package/dist/cjs/operator/onDoneCause.js.map +1 -0
- package/dist/cjs/operator/onError.d.ts +4 -0
- package/dist/cjs/operator/onError.d.ts.map +1 -0
- package/dist/cjs/operator/onError.js +33 -0
- package/dist/cjs/operator/onError.js.map +1 -0
- package/dist/cjs/operator/onExit.d.ts +5 -0
- package/dist/cjs/operator/onExit.d.ts.map +1 -0
- package/dist/cjs/operator/onExit.js +34 -0
- package/dist/cjs/operator/onExit.js.map +1 -0
- package/dist/cjs/operator/onInterrupt.d.ts +6 -0
- package/dist/cjs/operator/onInterrupt.d.ts.map +1 -0
- package/dist/cjs/operator/onInterrupt.js +44 -0
- package/dist/cjs/operator/onInterrupt.js.map +1 -0
- package/dist/cjs/operator/orElse.d.ts +3 -0
- package/dist/cjs/operator/orElse.d.ts.map +1 -0
- package/dist/cjs/operator/orElse.js +9 -0
- package/dist/cjs/operator/orElse.js.map +1 -0
- package/dist/cjs/operator/provideContext.d.ts +4 -0
- package/dist/cjs/operator/provideContext.d.ts.map +1 -0
- package/dist/cjs/operator/provideContext.js +45 -0
- package/dist/cjs/operator/provideContext.js.map +1 -0
- package/dist/cjs/operator/provideLayer.d.ts +4 -0
- package/dist/cjs/operator/provideLayer.d.ts.map +1 -0
- package/dist/cjs/operator/provideLayer.js +10 -0
- package/dist/cjs/operator/provideLayer.js.map +1 -0
- package/dist/cjs/operator/provideService.d.ts +4 -0
- package/dist/cjs/operator/provideService.d.ts.map +1 -0
- package/dist/cjs/operator/provideService.js +47 -0
- package/dist/cjs/operator/provideService.js.map +1 -0
- package/dist/cjs/operator/provideServiceEffect.d.ts +5 -0
- package/dist/cjs/operator/provideServiceEffect.d.ts.map +1 -0
- package/dist/cjs/operator/provideServiceEffect.js +45 -0
- package/dist/cjs/operator/provideServiceEffect.js.map +1 -0
- package/dist/cjs/operator/provideSomeLayer.d.ts +4 -0
- package/dist/cjs/operator/provideSomeLayer.d.ts.map +1 -0
- package/dist/cjs/operator/provideSomeLayer.js +44 -0
- package/dist/cjs/operator/provideSomeLayer.js.map +1 -0
- package/dist/cjs/operator/race.d.ts +4 -0
- package/dist/cjs/operator/race.d.ts.map +1 -0
- package/dist/cjs/operator/race.js +70 -0
- package/dist/cjs/operator/race.js.map +1 -0
- package/dist/cjs/operator/sample.d.ts +3 -0
- package/dist/cjs/operator/sample.d.ts.map +1 -0
- package/dist/cjs/operator/sample.js +10 -0
- package/dist/cjs/operator/sample.js.map +1 -0
- package/dist/cjs/operator/sandbox.d.ts +4 -0
- package/dist/cjs/operator/sandbox.d.ts.map +1 -0
- package/dist/cjs/operator/sandbox.js +11 -0
- package/dist/cjs/operator/sandbox.js.map +1 -0
- package/dist/cjs/operator/scan.d.ts +3 -0
- package/dist/cjs/operator/scan.d.ts.map +1 -0
- package/dist/cjs/operator/scan.js +14 -0
- package/dist/cjs/operator/scan.js.map +1 -0
- package/dist/cjs/operator/scanEffect.d.ts +4 -0
- package/dist/cjs/operator/scanEffect.d.ts.map +1 -0
- package/dist/cjs/operator/scanEffect.js +62 -0
- package/dist/cjs/operator/scanEffect.js.map +1 -0
- package/dist/cjs/operator/separate.d.ts +4 -0
- package/dist/cjs/operator/separate.d.ts.map +1 -0
- package/dist/cjs/operator/separate.js +40 -0
- package/dist/cjs/operator/separate.js.map +1 -0
- package/dist/cjs/operator/since.d.ts +3 -0
- package/dist/cjs/operator/since.d.ts.map +1 -0
- package/dist/cjs/operator/since.js +51 -0
- package/dist/cjs/operator/since.js.map +1 -0
- package/dist/cjs/operator/skip.d.ts +3 -0
- package/dist/cjs/operator/skip.d.ts.map +1 -0
- package/dist/cjs/operator/skip.js +7 -0
- package/dist/cjs/operator/skip.js.map +1 -0
- package/dist/cjs/operator/skipAfter.d.ts +4 -0
- package/dist/cjs/operator/skipAfter.d.ts.map +1 -0
- package/dist/cjs/operator/skipAfter.js +39 -0
- package/dist/cjs/operator/skipAfter.js.map +1 -0
- package/dist/cjs/operator/skipRepeats.d.ts +4 -0
- package/dist/cjs/operator/skipRepeats.d.ts.map +1 -0
- package/dist/cjs/operator/skipRepeats.js +62 -0
- package/dist/cjs/operator/skipRepeats.js.map +1 -0
- package/dist/cjs/operator/skipUntil.d.ts +4 -0
- package/dist/cjs/operator/skipUntil.d.ts.map +1 -0
- package/dist/cjs/operator/skipUntil.js +36 -0
- package/dist/cjs/operator/skipUntil.js.map +1 -0
- package/dist/cjs/operator/skipWhile.d.ts +4 -0
- package/dist/cjs/operator/skipWhile.d.ts.map +1 -0
- package/dist/cjs/operator/skipWhile.js +11 -0
- package/dist/cjs/operator/skipWhile.js.map +1 -0
- package/dist/cjs/operator/slice.d.ts +3 -0
- package/dist/cjs/operator/slice.d.ts.map +1 -0
- package/dist/cjs/operator/slice.js +68 -0
- package/dist/cjs/operator/slice.js.map +1 -0
- package/dist/cjs/operator/snapshot.d.ts +3 -0
- package/dist/cjs/operator/snapshot.d.ts.map +1 -0
- package/dist/cjs/operator/snapshot.js +54 -0
- package/dist/cjs/operator/snapshot.js.map +1 -0
- package/dist/cjs/operator/snapshotEffect.d.ts +4 -0
- package/dist/cjs/operator/snapshotEffect.d.ts.map +1 -0
- package/dist/cjs/operator/snapshotEffect.js +54 -0
- package/dist/cjs/operator/snapshotEffect.js.map +1 -0
- package/dist/cjs/operator/startWith.d.ts +3 -0
- package/dist/cjs/operator/startWith.d.ts.map +1 -0
- package/dist/cjs/operator/startWith.js +11 -0
- package/dist/cjs/operator/startWith.js.map +1 -0
- package/dist/cjs/operator/startWithEffect.d.ts +4 -0
- package/dist/cjs/operator/startWithEffect.d.ts.map +1 -0
- package/dist/cjs/operator/startWithEffect.js +44 -0
- package/dist/cjs/operator/startWithEffect.js.map +1 -0
- package/dist/cjs/operator/struct.d.ts +5 -0
- package/dist/cjs/operator/struct.d.ts.map +1 -0
- package/dist/cjs/operator/struct.js +12 -0
- package/dist/cjs/operator/struct.js.map +1 -0
- package/dist/cjs/operator/switchMap.d.ts +6 -0
- package/dist/cjs/operator/switchMap.d.ts.map +1 -0
- package/dist/cjs/operator/switchMap.js +53 -0
- package/dist/cjs/operator/switchMap.js.map +1 -0
- package/dist/cjs/operator/switchMapCause.d.ts +11 -0
- package/dist/cjs/operator/switchMapCause.d.ts.map +1 -0
- package/dist/cjs/operator/switchMapCause.js +59 -0
- package/dist/cjs/operator/switchMapCause.js.map +1 -0
- package/dist/cjs/operator/switchMapEffect.d.ts +4 -0
- package/dist/cjs/operator/switchMapEffect.d.ts.map +1 -0
- package/dist/cjs/operator/switchMapEffect.js +11 -0
- package/dist/cjs/operator/switchMapEffect.js.map +1 -0
- package/dist/cjs/operator/switchMapError.d.ts +5 -0
- package/dist/cjs/operator/switchMapError.d.ts.map +1 -0
- package/dist/cjs/operator/switchMapError.js +41 -0
- package/dist/cjs/operator/switchMapError.js.map +1 -0
- package/dist/cjs/operator/switchMatch.d.ts +5 -0
- package/dist/cjs/operator/switchMatch.d.ts.map +1 -0
- package/dist/cjs/operator/switchMatch.js +65 -0
- package/dist/cjs/operator/switchMatch.js.map +1 -0
- package/dist/cjs/operator/take.d.ts +3 -0
- package/dist/cjs/operator/take.d.ts.map +1 -0
- package/dist/cjs/operator/take.js +7 -0
- package/dist/cjs/operator/take.js.map +1 -0
- package/dist/cjs/operator/takeUntil.d.ts +4 -0
- package/dist/cjs/operator/takeUntil.d.ts.map +1 -0
- package/dist/cjs/operator/takeUntil.js +35 -0
- package/dist/cjs/operator/takeUntil.js.map +1 -0
- package/dist/cjs/operator/takeWhile.d.ts +4 -0
- package/dist/cjs/operator/takeWhile.d.ts.map +1 -0
- package/dist/cjs/operator/takeWhile.js +11 -0
- package/dist/cjs/operator/takeWhile.js.map +1 -0
- package/dist/cjs/operator/tap.d.ts +6 -0
- package/dist/cjs/operator/tap.d.ts.map +1 -0
- package/dist/cjs/operator/tap.js +44 -0
- package/dist/cjs/operator/tap.js.map +1 -0
- package/dist/cjs/operator/tapCause.d.ts +5 -0
- package/dist/cjs/operator/tapCause.d.ts.map +1 -0
- package/dist/cjs/operator/tapCause.js +45 -0
- package/dist/cjs/operator/tapCause.js.map +1 -0
- package/dist/cjs/operator/tapDefect.d.ts +4 -0
- package/dist/cjs/operator/tapDefect.d.ts.map +1 -0
- package/dist/cjs/operator/tapDefect.js +36 -0
- package/dist/cjs/operator/tapDefect.js.map +1 -0
- package/dist/cjs/operator/tapError.d.ts +4 -0
- package/dist/cjs/operator/tapError.d.ts.map +1 -0
- package/dist/cjs/operator/tapError.js +36 -0
- package/dist/cjs/operator/tapError.js.map +1 -0
- package/dist/cjs/operator/throttle.d.ts +4 -0
- package/dist/cjs/operator/throttle.d.ts.map +1 -0
- package/dist/cjs/operator/throttle.js +47 -0
- package/dist/cjs/operator/throttle.js.map +1 -0
- package/dist/cjs/operator/tuple.d.ts +3 -0
- package/dist/cjs/operator/tuple.d.ts.map +1 -0
- package/dist/cjs/operator/tuple.js +7 -0
- package/dist/cjs/operator/tuple.js.map +1 -0
- package/dist/cjs/operator/uninterruptible.d.ts +3 -0
- package/dist/cjs/operator/uninterruptible.d.ts.map +1 -0
- package/dist/cjs/operator/uninterruptible.js +43 -0
- package/dist/cjs/operator/uninterruptible.js.map +1 -0
- package/dist/cjs/operator/until.d.ts +3 -0
- package/dist/cjs/operator/until.d.ts.map +1 -0
- package/dist/cjs/operator/until.js +50 -0
- package/dist/cjs/operator/until.js.map +1 -0
- package/dist/cjs/operator/withItems.d.ts +3 -0
- package/dist/cjs/operator/withItems.d.ts.map +1 -0
- package/dist/cjs/operator/withItems.js +10 -0
- package/dist/cjs/operator/withItems.js.map +1 -0
- package/dist/cjs/operator/withPermit.d.ts +4 -0
- package/dist/cjs/operator/withPermit.d.ts.map +1 -0
- package/dist/cjs/operator/withPermit.js +20 -0
- package/dist/cjs/operator/withPermit.js.map +1 -0
- package/dist/cjs/operator/withRuntimeFlags.d.ts +4 -0
- package/dist/cjs/operator/withRuntimeFlags.d.ts.map +1 -0
- package/dist/cjs/operator/withRuntimeFlags.js +44 -0
- package/dist/cjs/operator/withRuntimeFlags.js.map +1 -0
- package/dist/cjs/operator/zip.d.ts +6 -0
- package/dist/cjs/operator/zip.d.ts.map +1 -0
- package/dist/cjs/operator/zip.js +60 -0
- package/dist/cjs/operator/zip.js.map +1 -0
- package/dist/cjs/operator/zipItems.d.ts +3 -0
- package/dist/cjs/operator/zipItems.d.ts.map +1 -0
- package/dist/cjs/operator/zipItems.js +35 -0
- package/dist/cjs/operator/zipItems.js.map +1 -0
- package/dist/cjs/run/collectAll.d.ts +4 -0
- package/dist/cjs/run/collectAll.d.ts.map +1 -0
- package/dist/cjs/run/collectAll.js +35 -0
- package/dist/cjs/run/collectAll.js.map +1 -0
- package/dist/cjs/run/collectN.d.ts +4 -0
- package/dist/cjs/run/collectN.d.ts.map +1 -0
- package/dist/cjs/run/collectN.js +36 -0
- package/dist/cjs/run/collectN.js.map +1 -0
- package/dist/cjs/run/drain.d.ts +4 -0
- package/dist/cjs/run/drain.d.ts.map +1 -0
- package/dist/cjs/run/drain.js +30 -0
- package/dist/cjs/run/drain.js.map +1 -0
- package/dist/cjs/run/index.d.ts +8 -0
- package/dist/cjs/run/index.d.ts.map +1 -0
- package/dist/cjs/run/index.js +24 -0
- package/dist/cjs/run/index.js.map +1 -0
- package/dist/cjs/run/observe.d.ts +7 -0
- package/dist/cjs/run/observe.d.ts.map +1 -0
- package/dist/cjs/run/observe.js +42 -0
- package/dist/cjs/run/observe.js.map +1 -0
- package/dist/cjs/run/reduce.d.ts +4 -0
- package/dist/cjs/run/reduce.d.ts.map +1 -0
- package/dist/cjs/run/reduce.js +35 -0
- package/dist/cjs/run/reduce.js.map +1 -0
- package/dist/cjs/run/run.d.ts +7 -0
- package/dist/cjs/run/run.d.ts.map +1 -0
- package/dist/cjs/run/run.js +50 -0
- package/dist/cjs/run/run.js.map +1 -0
- package/dist/cjs/run/unsafe.d.ts +15 -0
- package/dist/cjs/run/unsafe.d.ts.map +1 -0
- package/dist/cjs/run/unsafe.js +45 -0
- package/dist/cjs/run/unsafe.js.map +1 -0
- package/dist/cjs/typeclass/Alternative.d.ts +5 -0
- package/dist/cjs/typeclass/Alternative.d.ts.map +1 -0
- package/dist/cjs/typeclass/Alternative.js +14 -0
- package/dist/cjs/typeclass/Alternative.js.map +1 -0
- package/dist/cjs/typeclass/Applicative.d.ts +4 -0
- package/dist/cjs/typeclass/Applicative.d.ts.map +1 -0
- package/dist/cjs/typeclass/Applicative.js +12 -0
- package/dist/cjs/typeclass/Applicative.js.map +1 -0
- package/dist/cjs/typeclass/Bicovariant.d.ts +7 -0
- package/dist/cjs/typeclass/Bicovariant.d.ts.map +1 -0
- package/dist/cjs/typeclass/Bicovariant.js +36 -0
- package/dist/cjs/typeclass/Bicovariant.js.map +1 -0
- package/dist/cjs/typeclass/Chainable.d.ts +6 -0
- package/dist/cjs/typeclass/Chainable.d.ts.map +1 -0
- package/dist/cjs/typeclass/Chainable.js +18 -0
- package/dist/cjs/typeclass/Chainable.js.map +1 -0
- package/dist/cjs/typeclass/Coproduct.d.ts +5 -0
- package/dist/cjs/typeclass/Coproduct.d.ts.map +1 -0
- package/dist/cjs/typeclass/Coproduct.js +43 -0
- package/dist/cjs/typeclass/Coproduct.js.map +1 -0
- package/dist/cjs/typeclass/Covariant.d.ts +11 -0
- package/dist/cjs/typeclass/Covariant.d.ts.map +1 -0
- package/dist/cjs/typeclass/Covariant.js +37 -0
- package/dist/cjs/typeclass/Covariant.js.map +1 -0
- package/dist/cjs/typeclass/FlatMap.d.ts +6 -0
- package/dist/cjs/typeclass/FlatMap.d.ts.map +1 -0
- package/dist/cjs/typeclass/FlatMap.js +16 -0
- package/dist/cjs/typeclass/FlatMap.js.map +1 -0
- package/dist/cjs/typeclass/Monad.d.ts +6 -0
- package/dist/cjs/typeclass/Monad.d.ts.map +1 -0
- package/dist/cjs/typeclass/Monad.js +22 -0
- package/dist/cjs/typeclass/Monad.js.map +1 -0
- package/dist/cjs/typeclass/Of.d.ts +4 -0
- package/dist/cjs/typeclass/Of.d.ts.map +1 -0
- package/dist/cjs/typeclass/Of.js +8 -0
- package/dist/cjs/typeclass/Of.js.map +1 -0
- package/dist/cjs/typeclass/Pointed.d.ts +4 -0
- package/dist/cjs/typeclass/Pointed.d.ts.map +1 -0
- package/dist/cjs/typeclass/Pointed.js +10 -0
- package/dist/cjs/typeclass/Pointed.js.map +1 -0
- package/dist/cjs/typeclass/Product.d.ts +4 -0
- package/dist/cjs/typeclass/Product.d.ts.map +1 -0
- package/dist/cjs/typeclass/Product.js +12 -0
- package/dist/cjs/typeclass/Product.js.map +1 -0
- package/dist/cjs/typeclass/SemiAlternative.d.ts +5 -0
- package/dist/cjs/typeclass/SemiAlternative.d.ts.map +1 -0
- package/dist/cjs/typeclass/SemiAlternative.js +14 -0
- package/dist/cjs/typeclass/SemiAlternative.js.map +1 -0
- package/dist/cjs/typeclass/SemiApplicative.d.ts +4 -0
- package/dist/cjs/typeclass/SemiApplicative.d.ts.map +1 -0
- package/dist/cjs/typeclass/SemiApplicative.js +10 -0
- package/dist/cjs/typeclass/SemiApplicative.js.map +1 -0
- package/dist/cjs/typeclass/SemiCoproduct.d.ts +5 -0
- package/dist/cjs/typeclass/SemiCoproduct.d.ts.map +1 -0
- package/dist/cjs/typeclass/SemiCoproduct.js +17 -0
- package/dist/cjs/typeclass/SemiCoproduct.js.map +1 -0
- package/dist/cjs/typeclass/SemiProduct.d.ts +7 -0
- package/dist/cjs/typeclass/SemiProduct.d.ts.map +1 -0
- package/dist/cjs/typeclass/SemiProduct.js +38 -0
- package/dist/cjs/typeclass/SemiProduct.js.map +1 -0
- package/dist/cjs/typeclass/TypeLambda.d.ts +6 -0
- package/dist/cjs/typeclass/TypeLambda.d.ts.map +1 -0
- package/dist/cjs/typeclass/TypeLambda.js +3 -0
- package/dist/cjs/typeclass/TypeLambda.js.map +1 -0
- package/dist/cjs/typeclass/index.d.ts +17 -0
- package/dist/cjs/typeclass/index.d.ts.map +1 -0
- package/dist/cjs/typeclass/index.js +33 -0
- package/dist/cjs/typeclass/index.js.map +1 -0
- package/dist/operator/multicast.d.ts +1 -1
- package/dist/operator/multicast.d.ts.map +1 -1
- package/dist/operator/multicast.js.map +1 -1
- package/dist/tsconfig.cjs.build.tsbuildinfo +1 -0
- package/package.json +4 -2
- package/project.json +12 -0
- package/src/Subject/HoldSubject.ts +1 -6
- package/src/Subject/RefSubject.test.ts +81 -0
- package/src/Subject/RefSubject.ts +257 -37
- package/src/Subject/SynchronizedSubject.ts +8 -7
- package/src/operator/multicast.ts +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.cjs.build.json +8 -0
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -1483
- package/coverage/coverage-final.json +0 -40
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -191
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
- package/coverage/src/Fx.ts.html +0 -274
- package/coverage/src/Subject/Subject.ts.html +0 -214
- package/coverage/src/Subject/index.html +0 -116
- package/coverage/src/_internal/RefCounter.ts.html +0 -313
- package/coverage/src/_internal/earlyExit.ts.html +0 -136
- package/coverage/src/_internal/index.html +0 -131
- package/coverage/src/constructor/at.ts.html +0 -118
- package/coverage/src/constructor/fromArray.ts.html +0 -148
- package/coverage/src/constructor/fromEffect.ts.html +0 -148
- package/coverage/src/constructor/fromEmitter.ts.html +0 -265
- package/coverage/src/constructor/fromIterable.ts.html +0 -172
- package/coverage/src/constructor/index.html +0 -236
- package/coverage/src/constructor/never.ts.html +0 -133
- package/coverage/src/constructor/serviceWith.ts.html +0 -122
- package/coverage/src/constructor/succeed.ts.html +0 -138
- package/coverage/src/constructor/suspend.ts.html +0 -130
- package/coverage/src/index.html +0 -116
- package/coverage/src/operator/concatMap.ts.html +0 -112
- package/coverage/src/operator/continueWith.ts.html +0 -169
- package/coverage/src/operator/delay.ts.html +0 -142
- package/coverage/src/operator/filter.ts.html +0 -190
- package/coverage/src/operator/filterEffect.ts.html +0 -214
- package/coverage/src/operator/filterMap.ts.html +0 -194
- package/coverage/src/operator/filterMapEffect.ts.html +0 -217
- package/coverage/src/operator/flatMap.ts.html +0 -211
- package/coverage/src/operator/flatMapConcurrently.ts.html +0 -141
- package/coverage/src/operator/index.html +0 -431
- package/coverage/src/operator/loop.ts.html +0 -214
- package/coverage/src/operator/map.ts.html +0 -163
- package/coverage/src/operator/merge.ts.html +0 -235
- package/coverage/src/operator/multicast.ts.html +0 -424
- package/coverage/src/operator/provideService.ts.html +0 -154
- package/coverage/src/operator/provideServiceEffect.ts.html +0 -190
- package/coverage/src/operator/scan.ts.html +0 -146
- package/coverage/src/operator/scanEffect.ts.html +0 -283
- package/coverage/src/operator/skipRepeats.ts.html +0 -214
- package/coverage/src/operator/slice.ts.html +0 -221
- package/coverage/src/operator/startWith.ts.html +0 -131
- package/coverage/src/operator/switchMap.ts.html +0 -295
- package/coverage/src/operator/withPermit.ts.html +0 -139
- package/coverage/src/run/collectAll.ts.html +0 -136
- package/coverage/src/run/index.html +0 -161
- package/coverage/src/run/observe.ts.html +0 -142
- package/coverage/src/run/reduce.ts.html +0 -149
- package/coverage/src/run/run.ts.html +0 -232
- package/coverage/tmp/coverage-13497-1671499520588-32.json +0 -1
- package/coverage/tmp/coverage-13497-1671499520647-31.json +0 -1
- package/coverage/tmp/coverage-13497-1671499520712-30.json +0 -1
- package/coverage/tmp/coverage-13497-1671499520782-26.json +0 -1
- package/coverage/tmp/coverage-13497-1671499520842-29.json +0 -1
- package/coverage/tmp/coverage-13497-1671499520906-28.json +0 -1
- package/coverage/tmp/coverage-13497-1671499520969-27.json +0 -1
- package/dist/constructor/fromFxEffectGen.d.ts +0 -5
- package/dist/constructor/fromFxEffectGen.d.ts.map +0 -1
- package/dist/constructor/fromFxEffectGen.js +0 -6
- package/dist/constructor/fromFxEffectGen.js.map +0 -1
- package/dist/constructor/genFx.d.ts +0 -5
- package/dist/constructor/genFx.d.ts.map +0 -1
- package/dist/constructor/genFx.js +0 -6
- package/dist/constructor/genFx.js.map +0 -1
- package/dist/operator/catch.d.ts.map +0 -1
- package/dist/operator/catch.js +0 -9
- package/dist/operator/catch.js.map +0 -1
- package/dist/operator/duringEffect.d.ts +0 -2
- package/dist/operator/duringEffect.d.ts.map +0 -1
- package/dist/operator/duringEffect.js +0 -2
- package/dist/operator/duringEffect.js.map +0 -1
- package/dist/operator/orDie.d.ts +0 -2
- package/dist/operator/orDie.d.ts.map +0 -1
- package/dist/operator/orDie.js +0 -2
- package/dist/operator/orDie.js.map +0 -1
- package/dist/operator/orDieWith.d.ts +0 -2
- package/dist/operator/orDieWith.d.ts.map +0 -1
- package/dist/operator/orDieWith.js +0 -2
- package/dist/operator/orDieWith.js.map +0 -1
- package/dist/operator/orElseCause.d.ts +0 -2
- package/dist/operator/orElseCause.d.ts.map +0 -1
- package/dist/operator/orElseCause.js +0 -2
- package/dist/operator/orElseCause.js.map +0 -1
- package/dist/operator/orElseEither.d.ts +0 -2
- package/dist/operator/orElseEither.d.ts.map +0 -1
- package/dist/operator/orElseEither.js +0 -2
- package/dist/operator/orElseEither.js.map +0 -1
- package/dist/operator/orElseFail.d.ts +0 -2
- package/dist/operator/orElseFail.d.ts.map +0 -1
- package/dist/operator/orElseFail.js +0 -2
- package/dist/operator/orElseFail.js.map +0 -1
- package/dist/operator/orElseSucceed.d.ts +0 -2
- package/dist/operator/orElseSucceed.d.ts.map +0 -1
- package/dist/operator/orElseSucceed.js +0 -2
- package/dist/operator/orElseSucceed.js.map +0 -1
- package/dist/operator/sampleEffect.d.ts +0 -10
- package/dist/operator/sampleEffect.d.ts.map +0 -1
- package/dist/operator/sampleEffect.js +0 -17
- package/dist/operator/sampleEffect.js.map +0 -1
- package/dist/operator/skipAfterEffect.d.ts +0 -2
- package/dist/operator/skipAfterEffect.d.ts.map +0 -1
- package/dist/operator/skipAfterEffect.js +0 -2
- package/dist/operator/skipAfterEffect.js.map +0 -1
- package/dist/operator/skipUntilEffect.d.ts +0 -2
- package/dist/operator/skipUntilEffect.d.ts.map +0 -1
- package/dist/operator/skipUntilEffect.js +0 -2
- package/dist/operator/skipUntilEffect.js.map +0 -1
- package/dist/operator/skipWhileEffect.d.ts +0 -2
- package/dist/operator/skipWhileEffect.d.ts.map +0 -1
- package/dist/operator/skipWhileEffect.js +0 -2
- package/dist/operator/skipWhileEffect.js.map +0 -1
- package/dist/operator/suceed.d.ts +0 -2
- package/dist/operator/suceed.d.ts.map +0 -1
- package/dist/operator/suceed.js +0 -2
- package/dist/operator/suceed.js.map +0 -1
- package/dist/operator/takeUntilEffect.d.ts +0 -2
- package/dist/operator/takeUntilEffect.d.ts.map +0 -1
- package/dist/operator/takeUntilEffect.js +0 -2
- package/dist/operator/takeUntilEffect.js.map +0 -1
- package/dist/operator/takeWhileEffect.d.ts +0 -2
- package/dist/operator/takeWhileEffect.d.ts.map +0 -1
- package/dist/operator/takeWhileEffect.js +0 -2
- package/dist/operator/takeWhileEffect.js.map +0 -1
|
@@ -1,57 +1,65 @@
|
|
|
1
1
|
import { equals } from '@effect/data/Equal'
|
|
2
|
-
import { identity, pipe } from '@effect/data/Function'
|
|
2
|
+
import { identity, pipe, dual, flow } from '@effect/data/Function'
|
|
3
3
|
import * as MutableRef from '@effect/data/MutableRef'
|
|
4
4
|
import * as Option from '@effect/data/Option'
|
|
5
|
+
import * as ReadonlyArray from '@effect/data/ReadonlyArray'
|
|
6
|
+
import * as ReadonlyRecord from '@effect/data/ReadonlyRecord'
|
|
7
|
+
import * as Equivalence from '@effect/data/typeclass/Equivalence'
|
|
5
8
|
import * as Effect from '@effect/io/Effect'
|
|
9
|
+
import type * as Exit from '@effect/io/Exit'
|
|
6
10
|
import * as Ref from '@effect/io/Ref'
|
|
11
|
+
import type * as Scope from '@effect/io/Scope'
|
|
7
12
|
|
|
8
|
-
import { Fx } from '../Fx.js'
|
|
13
|
+
import { Fx, Sink } from '../Fx.js'
|
|
14
|
+
import { flatMapEffect } from '../operator/flatMapEffect.js'
|
|
15
|
+
import { hold } from '../operator/hold.js'
|
|
16
|
+
import { skipWhile } from '../operator/skipWhile.js'
|
|
17
|
+
import { observe } from '../run/observe.js'
|
|
9
18
|
|
|
10
19
|
import { HoldSubject, isHoldSubject } from './HoldSubject.js'
|
|
11
20
|
import { Subject } from './Subject.js'
|
|
12
21
|
|
|
13
22
|
export interface RefSubject<A> extends HoldSubject<never, A>, Ref.Ref<A> {
|
|
23
|
+
readonly eq: Equivalence.Equivalence<A>
|
|
14
24
|
readonly get: Effect.Effect<never, never, A>
|
|
15
25
|
readonly set: (a: A) => Effect.Effect<never, never, A>
|
|
16
26
|
readonly update: (f: (a: A) => A) => Effect.Effect<never, never, A>
|
|
17
|
-
readonly delete: Effect.Effect<never, never,
|
|
27
|
+
readonly delete: Effect.Effect<never, never, A>
|
|
28
|
+
|
|
29
|
+
readonly compute: <R, E, B>(
|
|
30
|
+
f: (a: A) => Effect.Effect<R, E, B>,
|
|
31
|
+
) => Effect.Effect<R | Scope.Scope, never, Computed<E, B>>
|
|
32
|
+
|
|
33
|
+
readonly computeSync: <B>(f: (a: A) => B) => Effect.Effect<Scope.Scope, never, Computed<never, B>>
|
|
18
34
|
}
|
|
19
35
|
|
|
20
36
|
export function makeRef<A>(
|
|
21
37
|
initial: () => A,
|
|
22
|
-
eq:
|
|
38
|
+
eq: Equivalence.Equivalence<A> = equals,
|
|
23
39
|
): Effect.Effect<never, never, RefSubject<A>> {
|
|
24
40
|
return Effect.sync(() => RefSubject.unsafeMake(initial, eq))
|
|
25
41
|
}
|
|
26
42
|
|
|
27
43
|
export namespace RefSubject {
|
|
44
|
+
export type ValueOf<T> = T extends RefSubject<infer A> ? A : never
|
|
45
|
+
|
|
28
46
|
export function unsafeMake<A>(
|
|
29
47
|
initial: () => A,
|
|
30
|
-
eq:
|
|
48
|
+
eq: Equivalence.Equivalence<A> = equals,
|
|
31
49
|
): RefSubject<A> {
|
|
32
|
-
const
|
|
33
|
-
const subject = HoldSubject.unsafeMake<never, A>(
|
|
50
|
+
const current = MutableRef.make(Option.some(initial()))
|
|
51
|
+
const subject = HoldSubject.unsafeMake<never, A>(current)
|
|
34
52
|
|
|
35
|
-
const getValue = () =>
|
|
36
|
-
pipe(
|
|
37
|
-
mutableRef.get(),
|
|
38
|
-
Option.getOrElse(() => {
|
|
39
|
-
const a = initial()
|
|
53
|
+
const getValue = () => pipe(current.get(), Option.getOrElse(initial))
|
|
40
54
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return a
|
|
44
|
-
}),
|
|
45
|
-
)
|
|
46
|
-
|
|
47
|
-
const modify = <B>(f: (a: A) => [B, A]): Effect.Effect<never, never, B> =>
|
|
55
|
+
const modify = <B>(f: (a: A) => readonly [B, A]): Effect.Effect<never, never, B> =>
|
|
48
56
|
Effect.suspendSucceed(() => {
|
|
49
|
-
const
|
|
50
|
-
const [b, a] = f(
|
|
57
|
+
const currentValue = getValue()
|
|
58
|
+
const [b, a] = f(currentValue)
|
|
51
59
|
|
|
52
|
-
|
|
60
|
+
current.set(Option.some(a))
|
|
53
61
|
|
|
54
|
-
if (eq(
|
|
62
|
+
if (eq(currentValue, a)) {
|
|
55
63
|
return Effect.succeed(b)
|
|
56
64
|
}
|
|
57
65
|
|
|
@@ -70,30 +78,242 @@ export namespace RefSubject {
|
|
|
70
78
|
error: subject.error.bind(subject),
|
|
71
79
|
end: subject.end,
|
|
72
80
|
value: subject.value,
|
|
81
|
+
eq,
|
|
73
82
|
modify,
|
|
74
|
-
|
|
75
|
-
return Ref.get(refSubject)
|
|
76
|
-
},
|
|
77
|
-
set(a: A) {
|
|
78
|
-
return Ref.updateAndGet(() => a)(refSubject)
|
|
79
|
-
},
|
|
80
|
-
update(f: (a: A) => A) {
|
|
81
|
-
return Ref.updateAndGet(f)(refSubject)
|
|
82
|
-
},
|
|
83
|
+
...makeDerivations(modify, Effect.sync(getValue)),
|
|
83
84
|
delete: Effect.sync(() => {
|
|
84
|
-
const option =
|
|
85
|
+
const option = current.get()
|
|
86
|
+
const reset = initial()
|
|
87
|
+
current.set(Option.some(reset))
|
|
85
88
|
|
|
86
|
-
|
|
87
|
-
mutableRef.set(Option.none())
|
|
88
|
-
|
|
89
|
-
return option
|
|
89
|
+
return Option.getOrElse(option, () => reset)
|
|
90
90
|
}),
|
|
91
|
+
compute: (f) => makeComputed(refSubject, f),
|
|
92
|
+
computeSync: (f) => makeComputed(refSubject, (a) => Effect.sync(() => f(a))),
|
|
91
93
|
}
|
|
92
94
|
|
|
93
95
|
return refSubject
|
|
94
96
|
}
|
|
97
|
+
|
|
98
|
+
export function tuple<Subjects extends ReadonlyArray.NonEmptyReadonlyArray<RefSubject<any>>>(
|
|
99
|
+
...subjects: Subjects
|
|
100
|
+
): Effect.Effect<
|
|
101
|
+
Scope.Scope,
|
|
102
|
+
never,
|
|
103
|
+
RefSubject<{ readonly [K in keyof Subjects]: ValueOf<Subjects[K]> }>
|
|
104
|
+
> {
|
|
105
|
+
type Val = { readonly [K in keyof Subjects]: ValueOf<Subjects[K]> }
|
|
106
|
+
const length = subjects.length
|
|
107
|
+
|
|
108
|
+
const getUnderlyingValues = Effect.tuple(
|
|
109
|
+
...ReadonlyArray.mapNonEmpty(subjects, (s) => s.get),
|
|
110
|
+
) as Effect.Effect<never, never, Val>
|
|
111
|
+
|
|
112
|
+
const eq = Equivalence.tuple(
|
|
113
|
+
...ReadonlyArray.mapNonEmpty(subjects, (s) => s.eq),
|
|
114
|
+
) as Equivalence.Equivalence<Val>
|
|
115
|
+
|
|
116
|
+
return Effect.gen(function* ($) {
|
|
117
|
+
const initial = yield* $(getUnderlyingValues)
|
|
118
|
+
const refSubject = unsafeMake(() => initial, eq)
|
|
119
|
+
|
|
120
|
+
const updateAtIndex =
|
|
121
|
+
<I extends keyof Val & number>(i: I) =>
|
|
122
|
+
(a: Val[I]) =>
|
|
123
|
+
Effect.gen(function* ($) {
|
|
124
|
+
const current = yield* $(refSubject.get)
|
|
125
|
+
const next = current.slice()
|
|
126
|
+
next[i] = a
|
|
127
|
+
|
|
128
|
+
yield* $(refSubject.set(next as Val))
|
|
129
|
+
})
|
|
130
|
+
|
|
131
|
+
// Override event to replicate events into underlying subjects
|
|
132
|
+
const event = (val: Val) =>
|
|
133
|
+
Effect.tuple(...ReadonlyArray.mapNonEmpty(subjects, (s, i) => s.event(val[i])))
|
|
134
|
+
|
|
135
|
+
// Override modify to replicate events into underlying subjects
|
|
136
|
+
const modify = <B>(f: (a: Val) => readonly [B, Val]): Effect.Effect<never, never, B> =>
|
|
137
|
+
Effect.gen(function* ($) {
|
|
138
|
+
const current = yield* $(getUnderlyingValues)
|
|
139
|
+
const [b, a] = f(current)
|
|
140
|
+
|
|
141
|
+
if (!eq(current, a)) {
|
|
142
|
+
// Will update this RefSubject using observe below
|
|
143
|
+
yield* $(event(a))
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
return b
|
|
147
|
+
})
|
|
148
|
+
|
|
149
|
+
// Listen to changes to each subject and update the derived subject
|
|
150
|
+
for (let i = 0; i < length; i++) {
|
|
151
|
+
yield* $(Effect.forkScoped(observe(updateAtIndex(i))(subjects[i])))
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Allow underlying subscriptions to start
|
|
155
|
+
yield* $(Effect.yieldNow())
|
|
156
|
+
|
|
157
|
+
const derived: RefSubject<Val> = {
|
|
158
|
+
...refSubject,
|
|
159
|
+
event,
|
|
160
|
+
modify,
|
|
161
|
+
...makeDerivations(modify, refSubject.get),
|
|
162
|
+
compute: (f) => makeComputed(derived, f),
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
return derived
|
|
166
|
+
})
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export function struct<Subjects extends Readonly<Record<string, RefSubject<any>>>>(
|
|
170
|
+
subjects: Subjects,
|
|
171
|
+
): Effect.Effect<
|
|
172
|
+
Scope.Scope,
|
|
173
|
+
never,
|
|
174
|
+
RefSubject<{ readonly [K in keyof Subjects]: ValueOf<Subjects[K]> }>
|
|
175
|
+
> {
|
|
176
|
+
type Val = { readonly [K in keyof Subjects]: ValueOf<Subjects[K]> }
|
|
177
|
+
|
|
178
|
+
const getUnderlyingValues = Effect.struct(
|
|
179
|
+
ReadonlyRecord.map(subjects, (s) => s.get),
|
|
180
|
+
) as Effect.Effect<never, never, Val>
|
|
181
|
+
|
|
182
|
+
const eq = Equivalence.struct(
|
|
183
|
+
ReadonlyRecord.map(subjects, (s) => s.eq),
|
|
184
|
+
) as Equivalence.Equivalence<Val>
|
|
185
|
+
|
|
186
|
+
return Effect.gen(function* ($) {
|
|
187
|
+
const initial = yield* $(getUnderlyingValues)
|
|
188
|
+
const refSubject = unsafeMake(() => initial, eq)
|
|
189
|
+
|
|
190
|
+
const updateAtKey =
|
|
191
|
+
<I extends keyof Val & string>(i: I) =>
|
|
192
|
+
(a: Val[I]) =>
|
|
193
|
+
Effect.gen(function* ($) {
|
|
194
|
+
const current = yield* $(refSubject.get)
|
|
195
|
+
const next = { ...current, [i]: a }
|
|
196
|
+
|
|
197
|
+
yield* $(refSubject.set(next as Val))
|
|
198
|
+
})
|
|
199
|
+
|
|
200
|
+
// Override event to replicate events into underlying subjects
|
|
201
|
+
const event = (val: Val) =>
|
|
202
|
+
Effect.struct(ReadonlyRecord.map(subjects, (s, i) => s.event(val[i])))
|
|
203
|
+
|
|
204
|
+
// Override modify to replicate events into underlying subjects
|
|
205
|
+
const modify = <B>(f: (a: Val) => readonly [B, Val]): Effect.Effect<never, never, B> =>
|
|
206
|
+
Effect.gen(function* ($) {
|
|
207
|
+
const current = yield* $(getUnderlyingValues)
|
|
208
|
+
const [b, a] = f(current)
|
|
209
|
+
|
|
210
|
+
if (!eq(current, a)) {
|
|
211
|
+
// Will update this RefSubject using observe below
|
|
212
|
+
yield* $(event(a))
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
return b
|
|
216
|
+
})
|
|
217
|
+
|
|
218
|
+
// Listen to changes to each subject and update the derived subject
|
|
219
|
+
for (const i in subjects) {
|
|
220
|
+
yield* $(Effect.forkScoped(observe(updateAtKey(i))(subjects[i])))
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// Allow underlying subscriptions to start
|
|
224
|
+
yield* $(Effect.yieldNow())
|
|
225
|
+
|
|
226
|
+
const derived: RefSubject<Val> = {
|
|
227
|
+
...refSubject,
|
|
228
|
+
event,
|
|
229
|
+
modify,
|
|
230
|
+
...makeDerivations(modify, refSubject.get),
|
|
231
|
+
compute: (f) => makeComputed(derived, f),
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
return derived
|
|
235
|
+
})
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
const makeDerivations = <A>(
|
|
239
|
+
modify: <B>(f: (a: A) => readonly [B, A]) => Effect.Effect<never, never, B>,
|
|
240
|
+
getValue: Effect.Effect<never, never, A>,
|
|
241
|
+
) => {
|
|
242
|
+
return {
|
|
243
|
+
get: getValue,
|
|
244
|
+
set(a: A) {
|
|
245
|
+
return modify(() => [a, a])
|
|
246
|
+
},
|
|
247
|
+
update(f: (a: A) => A) {
|
|
248
|
+
return modify((a) => {
|
|
249
|
+
const a2 = f(a)
|
|
250
|
+
return [a2, a2]
|
|
251
|
+
})
|
|
252
|
+
},
|
|
253
|
+
}
|
|
254
|
+
}
|
|
95
255
|
}
|
|
96
256
|
|
|
97
257
|
export function isRefSubject<A>(u: unknown): u is RefSubject<A> {
|
|
98
258
|
return isHoldSubject(u) && Ref.RefTypeId in u
|
|
99
259
|
}
|
|
260
|
+
|
|
261
|
+
export interface Computed<E, A> extends Fx<never, E, A> {
|
|
262
|
+
readonly get: Effect.Effect<never, E, A>
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
export namespace Computed {
|
|
266
|
+
export function make<A, R, E, B>(
|
|
267
|
+
input: RefSubject<A>,
|
|
268
|
+
compute: (a: A) => Effect.Effect<R, E, B>,
|
|
269
|
+
): Effect.Effect<R | Scope.Scope, never, Computed<E, B>> {
|
|
270
|
+
return Effect.gen(function* ($) {
|
|
271
|
+
const compute_ = flow(compute, Effect.exit)
|
|
272
|
+
const initialInput = yield* $(input.get)
|
|
273
|
+
const initial = yield* $(compute_(initialInput))
|
|
274
|
+
const refSubject = yield* $(makeRef(() => initial))
|
|
275
|
+
|
|
276
|
+
yield* $(
|
|
277
|
+
pipe(
|
|
278
|
+
input,
|
|
279
|
+
skipWhile((x) => input.eq(x, initialInput)), // We already have the initial value, don't waste downstream resources
|
|
280
|
+
observe((a) => Effect.flatMap(compute_(a), refSubject.set)),
|
|
281
|
+
Effect.forkScoped,
|
|
282
|
+
),
|
|
283
|
+
)
|
|
284
|
+
|
|
285
|
+
// Allow subscription to finalize as HoldFx under the hood of RefSubject schedules the start of the Fx.
|
|
286
|
+
yield* $(Effect.yieldNow())
|
|
287
|
+
|
|
288
|
+
return new ComputedImpl(refSubject)
|
|
289
|
+
})
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
class ComputedImpl<E, A> extends Fx.Variance<never, E, A> implements Computed<E, A> {
|
|
293
|
+
readonly fx: Fx<never, E, A>
|
|
294
|
+
|
|
295
|
+
constructor(readonly input: RefSubject<Exit.Exit<E, A>>) {
|
|
296
|
+
super()
|
|
297
|
+
|
|
298
|
+
this.fx = pipe(input, flatMapEffect(Effect.done), hold)
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
run<R3>(sink: Sink<R3, E, A>) {
|
|
302
|
+
return this.fx.run(sink)
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
readonly get = Effect.flatMap(this.input.get, Effect.done)
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
export const makeComputed: {
|
|
310
|
+
<A, R, E, B>(input: RefSubject<A>, compute: (a: A) => Effect.Effect<R, E, B>): Effect.Effect<
|
|
311
|
+
R | Scope.Scope,
|
|
312
|
+
never,
|
|
313
|
+
Computed<E, B>
|
|
314
|
+
>
|
|
315
|
+
|
|
316
|
+
<A, R, E, B>(compute: (a: A) => Effect.Effect<R, E, B>): (
|
|
317
|
+
input: RefSubject<A>,
|
|
318
|
+
) => Effect.Effect<R | Scope.Scope, never, Computed<E, B>>
|
|
319
|
+
} = dual(2, Computed.make)
|
|
@@ -9,7 +9,7 @@ import * as Synchronized from '@effect/io/Ref/Synchronized'
|
|
|
9
9
|
import { Fx } from '../Fx.js'
|
|
10
10
|
|
|
11
11
|
import { HoldSubject } from './HoldSubject.js'
|
|
12
|
-
import { isRefSubject, RefSubject } from './RefSubject.js'
|
|
12
|
+
import { Computed, isRefSubject, RefSubject } from './RefSubject.js'
|
|
13
13
|
import { Subject } from './Subject.js'
|
|
14
14
|
|
|
15
15
|
export interface SynchronizedSubject<A> extends RefSubject<A>, Synchronized.Synchronized<A> {
|
|
@@ -30,8 +30,7 @@ export namespace SynchronizedSubject {
|
|
|
30
30
|
): SynchronizedSubject<A> {
|
|
31
31
|
const mutableRef = MutableRef.make(Option.some(initial()))
|
|
32
32
|
const subject = HoldSubject.unsafeMake<never, A>(mutableRef)
|
|
33
|
-
const
|
|
34
|
-
const locked = semaphore.withPermits(1)
|
|
33
|
+
const locked = Effect.unsafeMakeSemaphore(1).withPermits(1)
|
|
35
34
|
|
|
36
35
|
const getValue = () =>
|
|
37
36
|
pipe(
|
|
@@ -83,6 +82,7 @@ export namespace SynchronizedSubject {
|
|
|
83
82
|
error: subject.error.bind(subject),
|
|
84
83
|
end: subject.end,
|
|
85
84
|
value: subject.value,
|
|
85
|
+
eq,
|
|
86
86
|
modify,
|
|
87
87
|
modifyEffect,
|
|
88
88
|
get get() {
|
|
@@ -98,13 +98,14 @@ export namespace SynchronizedSubject {
|
|
|
98
98
|
return Synchronized.updateAndGetEffect(f)(synchronizedSubject)
|
|
99
99
|
},
|
|
100
100
|
delete: Effect.sync(() => {
|
|
101
|
-
const
|
|
101
|
+
const value = getValue()
|
|
102
102
|
|
|
103
|
-
|
|
104
|
-
mutableRef.set(Option.none())
|
|
103
|
+
mutableRef.set(Option.some(value))
|
|
105
104
|
|
|
106
|
-
return
|
|
105
|
+
return value
|
|
107
106
|
}),
|
|
107
|
+
compute: (f) => Computed.make(synchronizedSubject, f),
|
|
108
|
+
computeSync: (f) => Computed.make(synchronizedSubject, (a) => Effect.sync(() => f(a))),
|
|
108
109
|
}
|
|
109
110
|
|
|
110
111
|
return synchronizedSubject
|
|
@@ -16,7 +16,7 @@ export class MulticastFx<R, E, A>
|
|
|
16
16
|
extends Fx.Variance<R, E, A>
|
|
17
17
|
implements Fx<R, E, A>, Fx.Sink<never, E, A>
|
|
18
18
|
{
|
|
19
|
-
|
|
19
|
+
readonly observers: Array<MulticastObserver<any, E, A>> = []
|
|
20
20
|
protected fiber: RuntimeFiber<never, unknown> | undefined
|
|
21
21
|
|
|
22
22
|
constructor(readonly fx: Fx<R, E, A>) {
|