@typed/fx 1.12.6 → 1.14.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/Computed.d.ts +42 -0
- package/dist/Computed.d.ts.map +1 -0
- package/dist/Computed.js +39 -0
- package/dist/Computed.js.map +1 -0
- package/dist/Filtered.d.ts +34 -0
- package/dist/Filtered.d.ts.map +1 -0
- package/dist/Filtered.js +40 -0
- package/dist/Filtered.js.map +1 -0
- package/dist/Fx.d.ts +2 -3
- package/dist/Fx.d.ts.map +1 -1
- package/dist/Fx.js +11 -26
- package/dist/Fx.js.map +1 -1
- package/dist/RefArray.d.ts +116 -0
- package/dist/RefArray.d.ts.map +1 -0
- package/dist/RefArray.js +67 -0
- package/dist/RefArray.js.map +1 -0
- package/dist/RefSubject.d.ts +25 -21
- package/dist/RefSubject.d.ts.map +1 -1
- package/dist/RefSubject.js +356 -248
- package/dist/RefSubject.js.map +1 -1
- package/dist/RefTransform.d.ts +51 -0
- package/dist/RefTransform.d.ts.map +1 -0
- package/dist/RefTransform.js +69 -0
- package/dist/RefTransform.js.map +1 -0
- package/dist/Subject.d.ts +1 -1
- package/dist/Subject.d.ts.map +1 -1
- package/dist/Subject.js +4 -4
- package/dist/Subject.js.map +1 -1
- package/dist/at.d.ts +1 -1
- package/dist/at.d.ts.map +1 -1
- package/dist/at.js +1 -1
- package/dist/at.js.map +1 -1
- package/dist/catchAllCause.d.ts +8 -1
- package/dist/catchAllCause.d.ts.map +1 -1
- package/dist/catchAllCause.js +23 -3
- package/dist/catchAllCause.js.map +1 -1
- package/dist/cjs/Computed.d.ts +42 -0
- package/dist/cjs/Computed.d.ts.map +1 -0
- package/dist/cjs/Computed.js +66 -0
- package/dist/cjs/Computed.js.map +1 -0
- package/dist/cjs/Filtered.d.ts +34 -0
- package/dist/cjs/Filtered.d.ts.map +1 -0
- package/dist/cjs/Filtered.js +67 -0
- package/dist/cjs/Filtered.js.map +1 -0
- package/dist/cjs/Fx.d.ts +2 -3
- package/dist/cjs/Fx.d.ts.map +1 -1
- package/dist/cjs/Fx.js +13 -28
- package/dist/cjs/Fx.js.map +1 -1
- package/dist/cjs/RefArray.d.ts +116 -0
- package/dist/cjs/RefArray.d.ts.map +1 -0
- package/dist/cjs/RefArray.js +97 -0
- package/dist/cjs/RefArray.js.map +1 -0
- package/dist/cjs/RefSubject.d.ts +25 -21
- package/dist/cjs/RefSubject.d.ts.map +1 -1
- package/dist/cjs/RefSubject.js +363 -251
- package/dist/cjs/RefSubject.js.map +1 -1
- package/dist/cjs/RefTransform.d.ts +51 -0
- package/dist/cjs/RefTransform.d.ts.map +1 -0
- package/dist/cjs/RefTransform.js +96 -0
- package/dist/cjs/RefTransform.js.map +1 -0
- package/dist/cjs/Subject.d.ts +1 -1
- package/dist/cjs/Subject.d.ts.map +1 -1
- package/dist/cjs/Subject.js +27 -4
- package/dist/cjs/Subject.js.map +1 -1
- package/dist/cjs/at.d.ts +1 -1
- package/dist/cjs/at.d.ts.map +1 -1
- package/dist/cjs/at.js +25 -2
- package/dist/cjs/at.js.map +1 -1
- package/dist/cjs/catchAllCause.d.ts +8 -1
- package/dist/cjs/catchAllCause.d.ts.map +1 -1
- package/dist/cjs/catchAllCause.js +48 -3
- package/dist/cjs/catchAllCause.js.map +1 -1
- package/dist/cjs/combineAll.d.ts.map +1 -1
- package/dist/cjs/combineAll.js +29 -6
- package/dist/cjs/combineAll.js.map +1 -1
- package/dist/cjs/combineAllDiscard.d.ts.map +1 -1
- package/dist/cjs/combineAllDiscard.js +28 -5
- package/dist/cjs/combineAllDiscard.js.map +1 -1
- package/dist/cjs/continueWith.d.ts +1 -1
- package/dist/cjs/continueWith.d.ts.map +1 -1
- package/dist/cjs/continueWith.js +25 -2
- package/dist/cjs/continueWith.js.map +1 -1
- package/dist/cjs/data-first.d.ts +10 -0
- package/dist/cjs/data-first.d.ts.map +1 -1
- package/dist/cjs/data-first.js +10 -0
- package/dist/cjs/data-first.js.map +1 -1
- package/dist/cjs/debounce.d.ts +1 -1
- package/dist/cjs/debounce.d.ts.map +1 -1
- package/dist/cjs/debounce.js +25 -2
- package/dist/cjs/debounce.js.map +1 -1
- package/dist/cjs/delay.d.ts.map +1 -1
- package/dist/cjs/delay.js +25 -2
- package/dist/cjs/delay.js.map +1 -1
- package/dist/cjs/empty.js +1 -1
- package/dist/cjs/empty.js.map +1 -1
- package/dist/cjs/exhaustMap.d.ts +1 -1
- package/dist/cjs/exhaustMap.d.ts.map +1 -1
- package/dist/cjs/exhaustMap.js.map +1 -1
- package/dist/cjs/exhaustMapCause.d.ts +2 -1
- package/dist/cjs/exhaustMapCause.d.ts.map +1 -1
- package/dist/cjs/exhaustMapCause.js +26 -2
- package/dist/cjs/exhaustMapCause.js.map +1 -1
- package/dist/cjs/exhaustMapLatest.d.ts +1 -1
- package/dist/cjs/exhaustMapLatest.d.ts.map +1 -1
- package/dist/cjs/exhaustMapLatest.js.map +1 -1
- package/dist/cjs/exhaustMapLatestCause.d.ts +2 -1
- package/dist/cjs/exhaustMapLatestCause.d.ts.map +1 -1
- package/dist/cjs/exhaustMapLatestCause.js +26 -2
- package/dist/cjs/exhaustMapLatestCause.js.map +1 -1
- package/dist/cjs/failCause.d.ts +1 -0
- package/dist/cjs/failCause.d.ts.map +1 -1
- package/dist/cjs/failCause.js +5 -1
- package/dist/cjs/failCause.js.map +1 -1
- package/dist/cjs/filter.d.ts.map +1 -1
- package/dist/cjs/filter.js +25 -2
- package/dist/cjs/filter.js.map +1 -1
- package/dist/cjs/filterMap.d.ts +1 -1
- package/dist/cjs/filterMap.d.ts.map +1 -1
- package/dist/cjs/filterMap.js +26 -2
- package/dist/cjs/filterMap.js.map +1 -1
- package/dist/cjs/flatMap.d.ts +1 -1
- package/dist/cjs/flatMap.d.ts.map +1 -1
- package/dist/cjs/flatMap.js.map +1 -1
- package/dist/cjs/fromArray.d.ts.map +1 -1
- package/dist/cjs/fromArray.js +27 -4
- package/dist/cjs/fromArray.js.map +1 -1
- package/dist/cjs/fromDequeue.d.ts +5 -0
- package/dist/cjs/fromDequeue.d.ts.map +1 -0
- package/dist/cjs/fromDequeue.js +49 -0
- package/dist/cjs/fromDequeue.js.map +1 -0
- package/dist/cjs/fromEffect.d.ts +1 -1
- package/dist/cjs/fromEffect.d.ts.map +1 -1
- package/dist/cjs/fromEffect.js +33 -2
- package/dist/cjs/fromEffect.js.map +1 -1
- package/dist/cjs/fromEmitter.d.ts +2 -2
- package/dist/cjs/fromEmitter.d.ts.map +1 -1
- package/dist/cjs/fromEmitter.js +35 -11
- package/dist/cjs/fromEmitter.js.map +1 -1
- package/dist/cjs/fromFxEffect.d.ts +1 -1
- package/dist/cjs/fromFxEffect.d.ts.map +1 -1
- package/dist/cjs/fromFxEffect.js +25 -2
- package/dist/cjs/fromFxEffect.js.map +1 -1
- package/dist/cjs/fromHub.d.ts +5 -0
- package/dist/cjs/fromHub.d.ts.map +1 -0
- package/dist/cjs/fromHub.js +34 -0
- package/dist/cjs/fromHub.js.map +1 -0
- package/dist/cjs/fromIterable.d.ts.map +1 -1
- package/dist/cjs/fromIterable.js +27 -4
- package/dist/cjs/fromIterable.js.map +1 -1
- package/dist/cjs/fromStream.d.ts +4 -0
- package/dist/cjs/fromStream.d.ts.map +1 -0
- package/dist/cjs/fromStream.js +34 -0
- package/dist/cjs/fromStream.js.map +1 -0
- package/dist/cjs/gen.d.ts +1 -1
- package/dist/cjs/gen.d.ts.map +1 -1
- package/dist/cjs/gen.js +25 -2
- package/dist/cjs/gen.js.map +1 -1
- package/dist/cjs/helpers.d.ts +5 -3
- package/dist/cjs/helpers.d.ts.map +1 -1
- package/dist/cjs/helpers.js +59 -72
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/hold.d.ts +5 -5
- package/dist/cjs/hold.d.ts.map +1 -1
- package/dist/cjs/hold.js +32 -11
- package/dist/cjs/hold.js.map +1 -1
- package/dist/cjs/index.d.ts +43 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +185 -119
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/keyed.d.ts.map +1 -1
- package/dist/cjs/keyed.js +32 -41
- package/dist/cjs/keyed.js.map +1 -1
- package/dist/cjs/map.d.ts.map +1 -1
- package/dist/cjs/map.js +25 -2
- package/dist/cjs/map.js.map +1 -1
- package/dist/cjs/mergeAll.d.ts.map +1 -1
- package/dist/cjs/mergeAll.js +28 -3
- package/dist/cjs/mergeAll.js.map +1 -1
- package/dist/cjs/mergeBufferConcurrently.d.ts +8 -0
- package/dist/cjs/mergeBufferConcurrently.d.ts.map +1 -0
- package/dist/cjs/mergeBufferConcurrently.js +95 -0
- package/dist/cjs/mergeBufferConcurrently.js.map +1 -0
- package/dist/cjs/mergeConcurrently.d.ts +3 -0
- package/dist/cjs/mergeConcurrently.d.ts.map +1 -0
- package/dist/cjs/mergeConcurrently.js +69 -0
- package/dist/cjs/mergeConcurrently.js.map +1 -0
- package/dist/cjs/multicast.d.ts +10 -8
- package/dist/cjs/multicast.d.ts.map +1 -1
- package/dist/cjs/multicast.js +43 -19
- package/dist/cjs/multicast.js.map +1 -1
- package/dist/cjs/never.d.ts.map +1 -1
- package/dist/cjs/never.js +25 -2
- package/dist/cjs/never.js.map +1 -1
- package/dist/cjs/observe.d.ts +4 -1
- package/dist/cjs/observe.d.ts.map +1 -1
- package/dist/cjs/observe.js +40 -10
- package/dist/cjs/observe.js.map +1 -1
- package/dist/cjs/onExit.d.ts +5 -0
- package/dist/cjs/onExit.d.ts.map +1 -0
- package/dist/cjs/onExit.js +33 -0
- package/dist/cjs/onExit.js.map +1 -0
- package/dist/cjs/onInterrupt.d.ts +1 -1
- package/dist/cjs/onInterrupt.d.ts.map +1 -1
- package/dist/cjs/onInterrupt.js +25 -2
- package/dist/cjs/onInterrupt.js.map +1 -1
- package/dist/cjs/orElse.d.ts +4 -0
- package/dist/cjs/orElse.d.ts.map +1 -0
- package/dist/cjs/orElse.js +34 -0
- package/dist/cjs/orElse.js.map +1 -0
- package/dist/cjs/promise.d.ts.map +1 -1
- package/dist/cjs/promise.js +36 -13
- package/dist/cjs/promise.js.map +1 -1
- package/dist/cjs/provide.d.ts +3 -2
- package/dist/cjs/provide.d.ts.map +1 -1
- package/dist/cjs/provide.js +34 -7
- package/dist/cjs/provide.js.map +1 -1
- package/dist/cjs/reduce.d.ts +2 -1
- package/dist/cjs/reduce.d.ts.map +1 -1
- package/dist/cjs/reduce.js +26 -3
- package/dist/cjs/reduce.js.map +1 -1
- package/dist/cjs/scan.d.ts.map +1 -1
- package/dist/cjs/scan.js +26 -3
- package/dist/cjs/scan.js.map +1 -1
- package/dist/cjs/scoped.d.ts +1 -1
- package/dist/cjs/scoped.d.ts.map +1 -1
- package/dist/cjs/scoped.js +25 -2
- package/dist/cjs/scoped.js.map +1 -1
- package/dist/cjs/skipRepeats.d.ts +1 -1
- package/dist/cjs/skipRepeats.d.ts.map +1 -1
- package/dist/cjs/skipRepeats.js +34 -9
- package/dist/cjs/skipRepeats.js.map +1 -1
- package/dist/cjs/skipWhile.d.ts.map +1 -1
- package/dist/cjs/skipWhile.js +27 -4
- package/dist/cjs/skipWhile.js.map +1 -1
- package/dist/cjs/slice.d.ts.map +1 -1
- package/dist/cjs/slice.js +29 -6
- package/dist/cjs/slice.js.map +1 -1
- package/dist/cjs/snapshotEffect.d.ts +1 -1
- package/dist/cjs/snapshotEffect.d.ts.map +1 -1
- package/dist/cjs/snapshotEffect.js +36 -10
- package/dist/cjs/snapshotEffect.js.map +1 -1
- package/dist/cjs/struct.d.ts +5 -0
- package/dist/cjs/struct.d.ts.map +1 -0
- package/dist/cjs/struct.js +10 -0
- package/dist/cjs/struct.js.map +1 -0
- package/dist/cjs/switchMap.d.ts +1 -1
- package/dist/cjs/switchMap.d.ts.map +1 -1
- package/dist/cjs/switchMap.js.map +1 -1
- package/dist/cjs/switchMapCause.d.ts +3 -1
- package/dist/cjs/switchMapCause.d.ts.map +1 -1
- package/dist/cjs/switchMapCause.js +38 -3
- package/dist/cjs/switchMapCause.js.map +1 -1
- package/dist/cjs/switchMatch.d.ts +2 -1
- package/dist/cjs/switchMatch.d.ts.map +1 -1
- package/dist/cjs/switchMatch.js +26 -2
- package/dist/cjs/switchMatch.js.map +1 -1
- package/dist/cjs/takeWhile.d.ts.map +1 -1
- package/dist/cjs/takeWhile.js +27 -4
- package/dist/cjs/takeWhile.js.map +1 -1
- package/dist/cjs/tap.d.ts +1 -1
- package/dist/cjs/tap.d.ts.map +1 -1
- package/dist/cjs/tap.js +26 -3
- package/dist/cjs/tap.js.map +1 -1
- package/dist/cjs/tapCause.d.ts +2 -1
- package/dist/cjs/tapCause.d.ts.map +1 -1
- package/dist/cjs/tapCause.js +32 -5
- package/dist/cjs/tapCause.js.map +1 -1
- package/dist/cjs/test-utils.d.ts +1 -1
- package/dist/cjs/test-utils.d.ts.map +1 -1
- package/dist/cjs/test-utils.js +33 -8
- package/dist/cjs/test-utils.js.map +1 -1
- package/dist/cjs/throttle.d.ts +1 -1
- package/dist/cjs/throttle.d.ts.map +1 -1
- package/dist/cjs/throttle.js +25 -2
- package/dist/cjs/throttle.js.map +1 -1
- package/dist/cjs/toArray.d.ts +1 -1
- package/dist/cjs/toArray.d.ts.map +1 -1
- package/dist/cjs/toArray.js +26 -4
- package/dist/cjs/toArray.js.map +1 -1
- package/dist/cjs/toChunk.d.ts +2 -1
- package/dist/cjs/toChunk.d.ts.map +1 -1
- package/dist/cjs/toChunk.js +28 -4
- package/dist/cjs/toChunk.js.map +1 -1
- package/dist/cjs/toEnqueue.d.ts +6 -0
- package/dist/cjs/toEnqueue.d.ts.map +1 -0
- package/dist/cjs/toEnqueue.js +9 -0
- package/dist/cjs/toEnqueue.js.map +1 -0
- package/dist/cjs/toReadonlyArray.d.ts +1 -1
- package/dist/cjs/toReadonlyArray.d.ts.map +1 -1
- package/dist/cjs/toStream.d.ts +4 -0
- package/dist/cjs/toStream.d.ts.map +1 -0
- package/dist/cjs/toStream.js +35 -0
- package/dist/cjs/toStream.js.map +1 -0
- package/dist/combineAll.d.ts.map +1 -1
- package/dist/combineAll.js +5 -5
- package/dist/combineAll.js.map +1 -1
- package/dist/combineAllDiscard.d.ts.map +1 -1
- package/dist/combineAllDiscard.js +5 -5
- package/dist/combineAllDiscard.js.map +1 -1
- package/dist/continueWith.d.ts +1 -1
- package/dist/continueWith.d.ts.map +1 -1
- package/dist/continueWith.js +1 -1
- package/dist/continueWith.js.map +1 -1
- package/dist/data-first.d.ts +10 -0
- package/dist/data-first.d.ts.map +1 -1
- package/dist/data-first.js +10 -0
- package/dist/data-first.js.map +1 -1
- package/dist/debounce.d.ts +1 -1
- package/dist/debounce.d.ts.map +1 -1
- package/dist/debounce.js +1 -1
- package/dist/debounce.js.map +1 -1
- package/dist/delay.d.ts.map +1 -1
- package/dist/delay.js +1 -1
- package/dist/delay.js.map +1 -1
- package/dist/empty.js +1 -1
- package/dist/empty.js.map +1 -1
- package/dist/exhaustMap.d.ts +1 -1
- package/dist/exhaustMap.d.ts.map +1 -1
- package/dist/exhaustMap.js.map +1 -1
- package/dist/exhaustMapCause.d.ts +2 -1
- package/dist/exhaustMapCause.d.ts.map +1 -1
- package/dist/exhaustMapCause.js +3 -2
- package/dist/exhaustMapCause.js.map +1 -1
- package/dist/exhaustMapLatest.d.ts +1 -1
- package/dist/exhaustMapLatest.d.ts.map +1 -1
- package/dist/exhaustMapLatest.js.map +1 -1
- package/dist/exhaustMapLatestCause.d.ts +2 -1
- package/dist/exhaustMapLatestCause.d.ts.map +1 -1
- package/dist/exhaustMapLatestCause.js +3 -2
- package/dist/exhaustMapLatestCause.js.map +1 -1
- package/dist/failCause.d.ts +1 -0
- package/dist/failCause.d.ts.map +1 -1
- package/dist/failCause.js +3 -0
- package/dist/failCause.js.map +1 -1
- package/dist/filter.d.ts.map +1 -1
- package/dist/filter.js +2 -2
- package/dist/filter.js.map +1 -1
- package/dist/filterMap.d.ts +1 -1
- package/dist/filterMap.d.ts.map +1 -1
- package/dist/filterMap.js +3 -2
- package/dist/filterMap.js.map +1 -1
- package/dist/flatMap.d.ts +1 -1
- package/dist/flatMap.d.ts.map +1 -1
- package/dist/flatMap.js.map +1 -1
- package/dist/fromArray.d.ts.map +1 -1
- package/dist/fromArray.js +2 -2
- package/dist/fromArray.js.map +1 -1
- package/dist/fromDequeue.d.ts +5 -0
- package/dist/fromDequeue.d.ts.map +1 -0
- package/dist/fromDequeue.js +21 -0
- package/dist/fromDequeue.js.map +1 -0
- package/dist/fromEffect.d.ts +1 -1
- package/dist/fromEffect.d.ts.map +1 -1
- package/dist/fromEffect.js +11 -3
- package/dist/fromEffect.js.map +1 -1
- package/dist/fromEmitter.d.ts +2 -2
- package/dist/fromEmitter.d.ts.map +1 -1
- package/dist/fromEmitter.js +7 -6
- package/dist/fromEmitter.js.map +1 -1
- package/dist/fromFxEffect.d.ts +1 -1
- package/dist/fromFxEffect.d.ts.map +1 -1
- package/dist/fromFxEffect.js +2 -2
- package/dist/fromFxEffect.js.map +1 -1
- package/dist/fromHub.d.ts +5 -0
- package/dist/fromHub.d.ts.map +1 -0
- package/dist/fromHub.js +7 -0
- package/dist/fromHub.js.map +1 -0
- package/dist/fromIterable.d.ts.map +1 -1
- package/dist/fromIterable.js +2 -2
- package/dist/fromIterable.js.map +1 -1
- package/dist/fromStream.d.ts +4 -0
- package/dist/fromStream.d.ts.map +1 -0
- package/dist/fromStream.js +7 -0
- package/dist/fromStream.js.map +1 -0
- package/dist/gen.d.ts +1 -1
- package/dist/gen.d.ts.map +1 -1
- package/dist/gen.js +1 -1
- package/dist/gen.js.map +1 -1
- package/dist/helpers.d.ts +5 -3
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +34 -70
- package/dist/helpers.js.map +1 -1
- package/dist/hold.d.ts +5 -5
- package/dist/hold.d.ts.map +1 -1
- package/dist/hold.js +3 -5
- package/dist/hold.js.map +1 -1
- package/dist/index.d.ts +43 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +132 -116
- package/dist/index.js.map +1 -1
- package/dist/keyed.d.ts.map +1 -1
- package/dist/keyed.js +33 -42
- package/dist/keyed.js.map +1 -1
- package/dist/map.d.ts.map +1 -1
- package/dist/map.js +1 -1
- package/dist/map.js.map +1 -1
- package/dist/mergeAll.d.ts.map +1 -1
- package/dist/mergeAll.js +4 -2
- package/dist/mergeAll.js.map +1 -1
- package/dist/mergeBufferConcurrently.d.ts +8 -0
- package/dist/mergeBufferConcurrently.d.ts.map +1 -0
- package/dist/mergeBufferConcurrently.js +68 -0
- package/dist/mergeBufferConcurrently.js.map +1 -0
- package/dist/mergeConcurrently.d.ts +3 -0
- package/dist/mergeConcurrently.d.ts.map +1 -0
- package/dist/mergeConcurrently.js +42 -0
- package/dist/mergeConcurrently.js.map +1 -0
- package/dist/multicast.d.ts +10 -8
- package/dist/multicast.d.ts.map +1 -1
- package/dist/multicast.js +17 -16
- package/dist/multicast.js.map +1 -1
- package/dist/never.d.ts.map +1 -1
- package/dist/never.js +2 -2
- package/dist/never.js.map +1 -1
- package/dist/observe.d.ts +4 -1
- package/dist/observe.d.ts.map +1 -1
- package/dist/observe.js +12 -7
- package/dist/observe.js.map +1 -1
- package/dist/onExit.d.ts +5 -0
- package/dist/onExit.d.ts.map +1 -0
- package/dist/onExit.js +6 -0
- package/dist/onExit.js.map +1 -0
- package/dist/onInterrupt.d.ts +1 -1
- package/dist/onInterrupt.d.ts.map +1 -1
- package/dist/onInterrupt.js +1 -1
- package/dist/onInterrupt.js.map +1 -1
- package/dist/orElse.d.ts +4 -0
- package/dist/orElse.d.ts.map +1 -0
- package/dist/orElse.js +7 -0
- package/dist/orElse.js.map +1 -0
- package/dist/promise.d.ts.map +1 -1
- package/dist/promise.js +5 -5
- package/dist/promise.js.map +1 -1
- package/dist/provide.d.ts +3 -2
- package/dist/provide.d.ts.map +1 -1
- package/dist/provide.js +8 -4
- package/dist/provide.js.map +1 -1
- package/dist/reduce.d.ts +2 -1
- package/dist/reduce.d.ts.map +1 -1
- package/dist/reduce.js +1 -1
- package/dist/reduce.js.map +1 -1
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +1 -1
- package/dist/scan.js.map +1 -1
- package/dist/scoped.d.ts +1 -1
- package/dist/scoped.d.ts.map +1 -1
- package/dist/scoped.js +1 -1
- package/dist/scoped.js.map +1 -1
- package/dist/skipRepeats.d.ts +1 -1
- package/dist/skipRepeats.d.ts.map +1 -1
- package/dist/skipRepeats.js +6 -7
- package/dist/skipRepeats.js.map +1 -1
- package/dist/skipWhile.d.ts.map +1 -1
- package/dist/skipWhile.js +2 -2
- package/dist/skipWhile.js.map +1 -1
- package/dist/slice.d.ts.map +1 -1
- package/dist/slice.js +4 -4
- package/dist/slice.js.map +1 -1
- package/dist/snapshotEffect.d.ts +1 -1
- package/dist/snapshotEffect.d.ts.map +1 -1
- package/dist/snapshotEffect.js +4 -1
- package/dist/snapshotEffect.js.map +1 -1
- package/dist/struct.d.ts +5 -0
- package/dist/struct.d.ts.map +1 -0
- package/dist/struct.js +6 -0
- package/dist/struct.js.map +1 -0
- package/dist/switchMap.d.ts +1 -1
- package/dist/switchMap.d.ts.map +1 -1
- package/dist/switchMap.js.map +1 -1
- package/dist/switchMapCause.d.ts +3 -1
- package/dist/switchMapCause.d.ts.map +1 -1
- package/dist/switchMapCause.js +13 -2
- package/dist/switchMapCause.js.map +1 -1
- package/dist/switchMatch.d.ts +2 -1
- package/dist/switchMatch.d.ts.map +1 -1
- package/dist/switchMatch.js +3 -2
- package/dist/switchMatch.js.map +1 -1
- package/dist/takeWhile.d.ts.map +1 -1
- package/dist/takeWhile.js +2 -2
- package/dist/takeWhile.js.map +1 -1
- package/dist/tap.d.ts +1 -1
- package/dist/tap.d.ts.map +1 -1
- package/dist/tap.js +2 -2
- package/dist/tap.js.map +1 -1
- package/dist/tapCause.d.ts +2 -1
- package/dist/tapCause.d.ts.map +1 -1
- package/dist/tapCause.js +7 -3
- package/dist/tapCause.js.map +1 -1
- package/dist/test-utils.d.ts +1 -1
- package/dist/test-utils.d.ts.map +1 -1
- package/dist/test-utils.js +5 -3
- package/dist/test-utils.js.map +1 -1
- package/dist/throttle.d.ts +1 -1
- package/dist/throttle.d.ts.map +1 -1
- package/dist/throttle.js +1 -1
- package/dist/throttle.js.map +1 -1
- package/dist/toArray.d.ts +1 -1
- package/dist/toArray.d.ts.map +1 -1
- package/dist/toArray.js +3 -4
- package/dist/toArray.js.map +1 -1
- package/dist/toChunk.d.ts +2 -1
- package/dist/toChunk.d.ts.map +1 -1
- package/dist/toChunk.js +2 -1
- package/dist/toChunk.js.map +1 -1
- package/dist/toEnqueue.d.ts +6 -0
- package/dist/toEnqueue.d.ts.map +1 -0
- package/dist/toEnqueue.js +5 -0
- package/dist/toEnqueue.js.map +1 -0
- package/dist/toReadonlyArray.d.ts +1 -1
- package/dist/toReadonlyArray.d.ts.map +1 -1
- package/dist/toStream.d.ts +4 -0
- package/dist/toStream.d.ts.map +1 -0
- package/dist/toStream.js +8 -0
- package/dist/toStream.js.map +1 -0
- package/dist/tsconfig.cjs.build.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/src/Computed.ts +114 -0
- package/src/Filtered.ts +112 -0
- package/src/Fx.ts +17 -42
- package/src/RefArray.ts +226 -0
- package/src/RefSubject.test.ts +72 -7
- package/src/RefSubject.ts +606 -583
- package/src/RefTransform.ts +134 -0
- package/src/Subject.ts +6 -14
- package/src/at.ts +3 -2
- package/src/catchAllCause.test.ts +1 -1
- package/src/catchAllCause.ts +46 -3
- package/src/combineAll.ts +18 -14
- package/src/combineAllDiscard.ts +18 -14
- package/src/continueWith.ts +2 -1
- package/src/data-first.ts +10 -0
- package/src/debounce.test.ts +1 -1
- package/src/debounce.ts +3 -2
- package/src/delay.test.ts +1 -1
- package/src/delay.ts +1 -1
- package/src/empty.ts +1 -1
- package/src/exhaustMap.test.ts +1 -1
- package/src/exhaustMap.ts +2 -1
- package/src/exhaustMapCause.test.ts +1 -1
- package/src/exhaustMapCause.ts +4 -2
- package/src/exhaustMapLatest.test.ts +1 -1
- package/src/exhaustMapLatest.ts +2 -1
- package/src/exhaustMapLatestCause.test.ts +1 -1
- package/src/exhaustMapLatestCause.ts +4 -2
- package/src/failCause.test.ts +2 -1
- package/src/failCause.ts +4 -0
- package/src/filter.ts +2 -4
- package/src/filterMap.ts +11 -2
- package/src/flatMap.test.ts +1 -1
- package/src/flatMap.ts +2 -1
- package/src/fromArray.ts +3 -2
- package/src/fromDequeue.ts +39 -0
- package/src/fromEffect.test.ts +2 -1
- package/src/fromEffect.ts +14 -3
- package/src/fromEmitter.test.ts +2 -1
- package/src/fromEmitter.ts +8 -12
- package/src/fromFxEffect.test.ts +2 -1
- package/src/fromFxEffect.ts +5 -2
- package/src/fromHub.ts +10 -0
- package/src/fromIterable.ts +3 -2
- package/src/gen.test.ts +2 -1
- package/src/gen.ts +2 -1
- package/src/helpers.ts +79 -108
- package/src/hold.test.ts +1 -1
- package/src/hold.ts +4 -8
- package/src/index.ts +580 -609
- package/src/keyed.ts +82 -81
- package/src/map.ts +2 -1
- package/src/mergeAll.ts +12 -6
- package/src/mergeBufferConcurrently.test.ts +37 -0
- package/src/mergeBufferConcurrently.ts +105 -0
- package/src/mergeConcurrently.test.ts +20 -0
- package/src/mergeConcurrently.ts +57 -0
- package/src/multicast.test.ts +2 -1
- package/src/multicast.ts +34 -24
- package/src/never.ts +3 -2
- package/src/observe.ts +20 -9
- package/src/onExit.ts +13 -0
- package/src/onInterrupt.ts +1 -1
- package/src/orElse.ts +16 -0
- package/src/promise.ts +6 -5
- package/src/provide.ts +14 -10
- package/src/reduce.ts +3 -1
- package/src/scan.ts +2 -1
- package/src/scoped.ts +3 -1
- package/src/skipRepeats.ts +7 -8
- package/src/skipWhile.ts +2 -2
- package/src/slice.ts +5 -4
- package/src/snapshotEffect.ts +5 -1
- package/src/struct.ts +18 -0
- package/src/switchMap.test.ts +1 -1
- package/src/switchMap.ts +2 -1
- package/src/switchMapCause.test.ts +1 -1
- package/src/switchMapCause.ts +20 -2
- package/src/switchMatch.test.ts +1 -1
- package/src/switchMatch.ts +4 -2
- package/src/takeWhile.ts +3 -3
- package/src/tap.ts +7 -2
- package/src/tapCause.ts +10 -7
- package/src/test-utils.ts +5 -3
- package/src/throttle.test.ts +1 -1
- package/src/throttle.ts +3 -1
- package/src/toArray.ts +6 -5
- package/src/toChunk.ts +2 -1
- package/src/toEnqueue.ts +13 -0
- package/src/toReadonlyArray.ts +1 -1
- package/tsconfig.build.json +2 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/vite.config.js +3 -0
- package/src/externals.ts +0 -18
package/dist/mergeAll.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import * as Option from '@effect/data/Option';
|
|
2
|
+
import * as Cause from '@effect/io/Cause';
|
|
3
|
+
import * as Effect from '@effect/io/Effect';
|
|
1
4
|
import { Fx, Sink } from './Fx.js';
|
|
2
|
-
import { Cause, Effect, Option } from './externals.js';
|
|
3
5
|
import { compact } from './filterMap.js';
|
|
4
6
|
import { map } from './map.js';
|
|
5
7
|
export function mergeAll(...fxs) {
|
|
6
|
-
return Fx((sink) => Effect.
|
|
8
|
+
return Fx((sink) => Effect.forEach(fxs, (fx) => fx.run(Sink(sink.event, (cause) => Cause.isInterruptedOnly(cause) ? Effect.unit : sink.error(cause))), { concurrency: 'unbounded', discard: true }));
|
|
7
9
|
}
|
|
8
10
|
export function merge(self, other) {
|
|
9
11
|
return mergeAll(self, other);
|
package/dist/mergeAll.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeAll.js","sourceRoot":"","sources":["../src/mergeAll.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"mergeAll.js","sourceRoot":"","sources":["../src/mergeAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,UAAU,QAAQ,CACtB,GAAG,GAAQ;IAEX,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,MAAM,CAAC,OAAO,CACZ,GAAG,EACH,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,GAAG,CACJ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACzB,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CACjE,CACF,EACH,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAC5C,CACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,IAAiB,EACjB,KAAoB;IAEpB,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,IAAiB,EACjB,KAAoB;IAEpB,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC3E,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Fx } from './Fx.js';
|
|
2
|
+
/**
|
|
3
|
+
* Merges n Fx concurrently, emitting the values in order of the streams are provided.
|
|
4
|
+
* For example, Fx at index 0 will emit all of its values first, when it completes, Fx at index 1 will emit all of its values, and so on.
|
|
5
|
+
* When there is asynchrony, the indexes which are not yet ready are buffered.
|
|
6
|
+
*/
|
|
7
|
+
export declare function mergeBufferConcurrently<FXS extends Fx.TupleAny>(...fxs: FXS): Fx<Fx.ResourcesOf<FXS[number]>, Fx.ErrorsOf<FXS[number]>, Fx.OutputOf<FXS[number]>>;
|
|
8
|
+
//# sourceMappingURL=mergeBufferConcurrently.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeBufferConcurrently.d.ts","sourceRoot":"","sources":["../src/mergeBufferConcurrently.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAQ,MAAM,SAAS,CAAA;AAGlC;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,SAAS,EAAE,CAAC,QAAQ,EAC7D,GAAG,GAAG,EAAE,GAAG,GACV,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CA2FrF"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as Chunk from '@effect/data/Chunk';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import { Fx, Sink } from './Fx.js';
|
|
4
|
+
import { empty } from './empty.js';
|
|
5
|
+
/**
|
|
6
|
+
* Merges n Fx concurrently, emitting the values in order of the streams are provided.
|
|
7
|
+
* For example, Fx at index 0 will emit all of its values first, when it completes, Fx at index 1 will emit all of its values, and so on.
|
|
8
|
+
* When there is asynchrony, the indexes which are not yet ready are buffered.
|
|
9
|
+
*/
|
|
10
|
+
export function mergeBufferConcurrently(...fxs) {
|
|
11
|
+
if (fxs.length === 0)
|
|
12
|
+
return empty();
|
|
13
|
+
if (fxs.length === 1)
|
|
14
|
+
return fxs[0];
|
|
15
|
+
return Fx((sink) => Effect.suspend(() => {
|
|
16
|
+
const finished = new Map();
|
|
17
|
+
let currentIndex = 0;
|
|
18
|
+
function onFinished(index, buffer) {
|
|
19
|
+
if (currentIndex < index) {
|
|
20
|
+
// If the current index is behind, buffer the value
|
|
21
|
+
return Effect.sync(() => {
|
|
22
|
+
finished.set(index, buffer);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
if (Chunk.size(buffer) === 0) {
|
|
26
|
+
return next(index);
|
|
27
|
+
}
|
|
28
|
+
return Effect.flatMap(Effect.all(Chunk.map(buffer, sink.event)), () => next(index));
|
|
29
|
+
}
|
|
30
|
+
function next(index) {
|
|
31
|
+
finished.delete(index);
|
|
32
|
+
const nextIndex = ++currentIndex;
|
|
33
|
+
if (finished.has(nextIndex)) {
|
|
34
|
+
return onFinished(nextIndex, finished.get(nextIndex));
|
|
35
|
+
}
|
|
36
|
+
return Effect.unit;
|
|
37
|
+
}
|
|
38
|
+
return Effect.asUnit(Effect.all(fxs.map((fx, index) => Effect.suspend(() => {
|
|
39
|
+
if (index === currentIndex)
|
|
40
|
+
return Effect.flatMap(fx.run(sink), () => next(index));
|
|
41
|
+
let buffer = Chunk.empty();
|
|
42
|
+
let isEmitting = false;
|
|
43
|
+
return Effect.flatMap(fx.run(Sink((o) => Effect.suspend(Effect.unifiedFn(() => {
|
|
44
|
+
// The current index is emitting now
|
|
45
|
+
if (isEmitting) {
|
|
46
|
+
return sink.event(o);
|
|
47
|
+
}
|
|
48
|
+
// This index is ready to emit values
|
|
49
|
+
if (index === currentIndex) {
|
|
50
|
+
if (Chunk.size(buffer) === 0)
|
|
51
|
+
return sink.event(o);
|
|
52
|
+
// Drain the current buffer first
|
|
53
|
+
const toEmit = Chunk.append(buffer, o);
|
|
54
|
+
// Clear the buffer
|
|
55
|
+
buffer = Chunk.empty();
|
|
56
|
+
// Fast-path for remaining values
|
|
57
|
+
isEmitting = true;
|
|
58
|
+
// Emit the values
|
|
59
|
+
return Effect.all(Chunk.map(toEmit, sink.event));
|
|
60
|
+
}
|
|
61
|
+
// Otherwise, buffer the value
|
|
62
|
+
buffer = Chunk.append(buffer, o);
|
|
63
|
+
return Effect.unit;
|
|
64
|
+
})), sink.error)), () => (isEmitting ? next(index) : onFinished(index, buffer)));
|
|
65
|
+
})), { concurrency: 'unbounded' }));
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=mergeBufferConcurrently.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeBufferConcurrently.js","sourceRoot":"","sources":["../src/mergeBufferConcurrently.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeConcurrently.d.ts","sourceRoot":"","sources":["../src/mergeConcurrently.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAQ,MAAM,SAAS,CAAA;AAGlC,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAC5E,GAAG,GAAG,EAAE,GAAG,GACV,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAgDrF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as Effect from '@effect/io/Effect';
|
|
2
|
+
import * as Fiber from '@effect/io/Fiber';
|
|
3
|
+
import { Fx, Sink } from './Fx.js';
|
|
4
|
+
import { empty } from './empty.js';
|
|
5
|
+
export function mergeConcurrently(...fxs) {
|
|
6
|
+
if (fxs.length === 0)
|
|
7
|
+
return empty();
|
|
8
|
+
if (fxs.length === 1)
|
|
9
|
+
return fxs[0];
|
|
10
|
+
return Fx((sink) => Effect.gen(function* ($) {
|
|
11
|
+
let currentIndex = 0;
|
|
12
|
+
const values = new Map();
|
|
13
|
+
const fibers = [];
|
|
14
|
+
for (let i = 0; i < fxs.length; ++i) {
|
|
15
|
+
fibers[i] = yield* $(Effect.fork(fxs[i].run(Sink((value) => onValue(i, value), sink.error))));
|
|
16
|
+
}
|
|
17
|
+
function emit(index) {
|
|
18
|
+
if (index === currentIndex && values.has(index)) {
|
|
19
|
+
return Effect.gen(function* ($) {
|
|
20
|
+
// Send this value to the sink
|
|
21
|
+
yield* $(sink.event(values.get(index)));
|
|
22
|
+
// Interrupt the underlying Fiber
|
|
23
|
+
yield* $(Fiber.interruptFork(fibers[index]));
|
|
24
|
+
const next = ++currentIndex;
|
|
25
|
+
// If there's a value for the next index, emit it
|
|
26
|
+
if (values.has(next)) {
|
|
27
|
+
yield* $(emit(next));
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return Effect.unit;
|
|
32
|
+
}
|
|
33
|
+
function onValue(index, value) {
|
|
34
|
+
return Effect.suspend(() => {
|
|
35
|
+
values.set(index, value);
|
|
36
|
+
return emit(index);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
yield* $(Fiber.joinAll(fibers));
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=mergeConcurrently.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeConcurrently.js","sourceRoot":"","sources":["../src/mergeConcurrently.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,UAAU,iBAAiB,CAC/B,GAAG,GAAQ;IAEX,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,EAAE,CAAA;IACpC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;IAEnC,OAAO,EAAE,CAAC,CAAK,IAAkE,EAAE,EAAE,CACnF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrB,IAAI,YAAY,GAAG,CAAC,CAAA;QACpB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoC,CAAA;QAC1D,MAAM,MAAM,GAA+B,EAAE,CAAA;QAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACnC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAClB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACxE,CAAA;SACF;QAED,SAAS,IAAI,CAAC,KAAa;YACzB,IAAI,KAAK,KAAK,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC/C,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,8BAA8B;oBAC9B,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAA6B,CAAC,CAAC,CAAA;oBAEnE,iCAAiC;oBACjC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAE5C,MAAM,IAAI,GAAG,EAAE,YAAY,CAAA;oBAE3B,iDAAiD;oBACjD,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBACpB,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;qBACrB;gBACH,CAAC,CAAC,CAAA;aACH;YAED,OAAO,MAAM,CAAC,IAAI,CAAA;QACpB,CAAC;QAED,SAAS,OAAO,CAAC,KAAa,EAAE,KAA+B;YAC7D,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;gBACzB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBAExB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;YACpB,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,CAAC,CAAC,CACH,CAAA;AACH,CAAC"}
|
package/dist/multicast.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
1
|
+
import type * as Context from '@effect/data/Context';
|
|
2
|
+
import type * as Cause from '@effect/io/Cause';
|
|
3
|
+
import * as Effect from '@effect/io/Effect';
|
|
4
|
+
import * as Fiber from '@effect/io/Fiber';
|
|
3
5
|
import { FxTypeId } from './Fx.js';
|
|
4
|
-
import type {
|
|
5
|
-
import { Effect, Fiber } from './externals.js';
|
|
6
|
+
import type { Fx, Sink } from './Fx.js';
|
|
6
7
|
export declare function multicast<R, E, A>(fx: Fx<R, E, A>): Fx<R, E, A>;
|
|
7
8
|
export interface MulticastObserver<R, E, A> {
|
|
8
9
|
readonly sink: Sink<R, E, A>;
|
|
@@ -15,11 +16,12 @@ export declare class MulticastFx<R, E, A> implements Fx<R, E, A>, Sink<never, E,
|
|
|
15
16
|
_E: <A_1>(a: A_1) => A_1;
|
|
16
17
|
_A: <A_1>(a: A_1) => A_1;
|
|
17
18
|
};
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
/**@internal */
|
|
20
|
+
observers: Array<MulticastObserver<any, E, A>>;
|
|
21
|
+
/**@internal */
|
|
22
|
+
fiber: Fiber.RuntimeFiber<never, void> | undefined;
|
|
20
23
|
constructor(fx: Fx<R, E, A>);
|
|
21
|
-
run<R2>(sink: Sink<R2, E, A>): Effect.Effect<R | R2, never, void>;
|
|
22
|
-
readonly addTrace: (trace: Trace) => Fx<R, E, A>;
|
|
24
|
+
run<R2>(sink: Sink<R2, E, A>): Effect.Effect<R | R2, never, void[]>;
|
|
23
25
|
event(a: A): Effect.Effect<never, never, void>;
|
|
24
26
|
error(cause: Cause.Cause<E>): Effect.Effect<never, never, void>;
|
|
25
27
|
protected runEvent<R>(observer: MulticastObserver<R, E, A>, a: A): Effect.Effect<never, never, void>;
|
package/dist/multicast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multicast.d.ts","sourceRoot":"","sources":["../src/multicast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"multicast.d.ts","sourceRoot":"","sources":["../src/multicast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAEpD,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEvC,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAE/D;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CACrC;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,YAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAY7D,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAXpC,QAAQ,CAAC,CAAC,QAAQ,CAAC;;;;MAIlB;IAED,eAAe;IACR,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAK;IAC1D,eAAe;IACR,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,SAAS,CAAA;gBAEpC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAMpC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IA8B5B,KAAK,CAAC,CAAC,EAAE,CAAC;IAUV,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAU3B,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAOhE,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAOjF,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;CAwB3C"}
|
package/dist/multicast.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
var _a;
|
|
2
2
|
import { identity } from '@effect/data/Function';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import * as Effect from '@effect/io/Effect';
|
|
4
|
+
import * as Fiber from '@effect/io/Fiber';
|
|
5
|
+
import { FxTypeId } from './Fx.js';
|
|
5
6
|
export function multicast(fx) {
|
|
6
7
|
return new MulticastFx(fx);
|
|
7
8
|
}
|
|
@@ -13,10 +14,8 @@ export class MulticastFx {
|
|
|
13
14
|
_E: identity,
|
|
14
15
|
_A: identity,
|
|
15
16
|
};
|
|
17
|
+
/**@internal */
|
|
16
18
|
this.observers = [];
|
|
17
|
-
this.addTrace = (trace) => {
|
|
18
|
-
return Traced(this.fx, trace);
|
|
19
|
-
};
|
|
20
19
|
this.run = this.run.bind(this);
|
|
21
20
|
this.event = this.event.bind(this);
|
|
22
21
|
this.error = this.error.bind(this);
|
|
@@ -25,27 +24,29 @@ export class MulticastFx {
|
|
|
25
24
|
const { observers } = this;
|
|
26
25
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
27
26
|
const that = this;
|
|
28
|
-
return Effect.
|
|
29
|
-
const context = yield* $(Effect.context());
|
|
27
|
+
return Effect.flatMap(Effect.context(), (context) => Effect.suspend(() => {
|
|
30
28
|
const observer = { sink, context };
|
|
29
|
+
const effects = [];
|
|
31
30
|
if (observers.push(observer) === 1) {
|
|
32
|
-
|
|
31
|
+
effects.push(Effect.tap(Effect.forkDaemon(that.fx.run(that)), (fiber) => Effect.sync(() => (that.fiber = fiber))));
|
|
33
32
|
}
|
|
33
|
+
effects.push(
|
|
34
34
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
Effect.suspend(() => Effect.ensuring(Fiber.await(that.fiber), that.removeSink(sink))));
|
|
36
|
+
return Effect.all(effects);
|
|
37
|
+
}));
|
|
37
38
|
}
|
|
38
39
|
event(a) {
|
|
39
40
|
if (this.observers.length === 0) {
|
|
40
|
-
return Effect.unit
|
|
41
|
+
return Effect.unit;
|
|
41
42
|
}
|
|
42
|
-
return Effect.suspend(() => Effect.
|
|
43
|
+
return Effect.suspend(() => Effect.forEach(this.observers.slice(0), (observer) => this.runEvent(observer, a)));
|
|
43
44
|
}
|
|
44
45
|
error(cause) {
|
|
45
46
|
if (this.observers.length === 0) {
|
|
46
|
-
return Effect.unit
|
|
47
|
+
return Effect.unit;
|
|
47
48
|
}
|
|
48
|
-
return Effect.suspend(() => Effect.
|
|
49
|
+
return Effect.suspend(() => Effect.forEach(this.observers.slice(0), (observer) => this.runError(observer, cause)));
|
|
49
50
|
}
|
|
50
51
|
runEvent(observer, a) {
|
|
51
52
|
return Effect.catchAllCause(Effect.provideContext(observer.sink.event(a), observer.context), () => this.removeSink(observer.sink));
|
|
@@ -57,7 +58,7 @@ export class MulticastFx {
|
|
|
57
58
|
return Effect.suspend(() => {
|
|
58
59
|
const { observers } = this;
|
|
59
60
|
if (observers.length === 0)
|
|
60
|
-
return Effect.unit
|
|
61
|
+
return Effect.unit;
|
|
61
62
|
const index = observers.findIndex((o) => o.sink === sink);
|
|
62
63
|
if (index > -1) {
|
|
63
64
|
observers.splice(index, 1);
|
|
@@ -68,7 +69,7 @@ export class MulticastFx {
|
|
|
68
69
|
return interrupt;
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
|
-
return Effect.unit
|
|
72
|
+
return Effect.unit;
|
|
72
73
|
});
|
|
73
74
|
}
|
|
74
75
|
}
|
package/dist/multicast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multicast.js","sourceRoot":"","sources":["../src/multicast.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"multicast.js","sourceRoot":"","sources":["../src/multicast.ts"],"names":[],"mappings":"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"}
|
package/dist/never.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"never.d.ts","sourceRoot":"","sources":["../src/never.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"never.d.ts","sourceRoot":"","sources":["../src/never.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,wBAAgB,KAAK,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAE7D"}
|
package/dist/never.js
CHANGED
package/dist/never.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"never.js","sourceRoot":"","sources":["../src/never.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"never.js","sourceRoot":"","sources":["../src/never.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,MAAM,UAAU,KAAK;IACnB,OAAO,EAAE,CAAc,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5C,CAAC"}
|
package/dist/observe.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import * as Effect from '@effect/io/Effect';
|
|
2
|
+
import * as Fiber from '@effect/io/Fiber';
|
|
1
3
|
import type { Scope } from '@effect/io/Scope';
|
|
2
4
|
import type { Fx } from './Fx.js';
|
|
3
|
-
import { Effect } from './externals.js';
|
|
4
5
|
export declare function observe<R, E, A, R2, E2>(fx: Fx<R, E, A>, f: (a: A) => Effect.Effect<R2, E2, void>): Effect.Effect<R | R2 | Scope, E | E2, void>;
|
|
5
6
|
export declare function drain<R, E, A>(fx: Fx<R, E, A>): Effect.Effect<R | Scope, E, void>;
|
|
7
|
+
export declare function forkScoped<R, E, A>(fx: Fx<R, E, A>): Effect.Effect<R | Scope, never, Fiber.RuntimeFiber<E, void>>;
|
|
8
|
+
export declare function fork<R, E, A>(fx: Fx<R, E, A>): Effect.Effect<R | Scope, never, Fiber.RuntimeFiber<E, void>>;
|
|
6
9
|
//# sourceMappingURL=observe.d.ts.map
|
package/dist/observe.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAGjC,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACrC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GACvC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAY7C;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAEjF;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAChC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACd,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAE9D;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC1B,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACd,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAE9D"}
|
package/dist/observe.js
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
|
+
import * as Deferred from '@effect/io/Deferred';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import * as Fiber from '@effect/io/Fiber';
|
|
1
4
|
import { Sink } from './Fx.js';
|
|
2
|
-
import { Deferred, Effect, Fiber } from './externals.js';
|
|
3
5
|
export function observe(fx, f) {
|
|
4
|
-
return Effect.
|
|
5
|
-
const deferred = yield* $(Deferred.make());
|
|
6
|
+
return Effect.flatMap(Deferred.make(), (deferred) => {
|
|
6
7
|
const error = (cause) => Deferred.failCause(deferred, cause);
|
|
7
8
|
const end = () => Deferred.succeed(deferred, undefined);
|
|
8
|
-
|
|
9
|
-
yield* $(Deferred.await(deferred));
|
|
10
|
-
yield* $(Fiber.interruptFork(fiber));
|
|
9
|
+
return Effect.flatMap(Effect.forkScoped(Effect.flatMap(fx.run(Sink((a) => Effect.catchAllCause(f(a), error), error)), end)), (fiber) => Effect.flatMap(Deferred.await(deferred), () => Fiber.interruptFork(fiber)));
|
|
11
10
|
});
|
|
12
11
|
}
|
|
13
12
|
export function drain(fx) {
|
|
14
|
-
return observe(fx,
|
|
13
|
+
return observe(fx, Effect.unit);
|
|
14
|
+
}
|
|
15
|
+
export function forkScoped(fx) {
|
|
16
|
+
return Effect.forkScoped(drain(fx));
|
|
17
|
+
}
|
|
18
|
+
export function fork(fx) {
|
|
19
|
+
return Effect.fork(drain(fx));
|
|
15
20
|
}
|
|
16
21
|
//# sourceMappingURL=observe.js.map
|
package/dist/observe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAIzC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,MAAM,UAAU,OAAO,CACrB,EAAe,EACf,CAAwC;IAExC,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE;QAChE,MAAM,KAAK,GAAG,CAAC,KAA0B,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACjF,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAEvD,OAAO,MAAM,CAAC,OAAO,CACnB,MAAM,CAAC,UAAU,CACf,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CACtF,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CACtF,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAU,EAAe;IAC5C,OAAO,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,IAAW,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,EAAe;IAEf,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,EAAe;IAEf,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAC/B,CAAC"}
|
package/dist/onExit.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as Effect from '@effect/io/Effect';
|
|
2
|
+
import * as Exit from '@effect/io/Exit';
|
|
3
|
+
import { Fx } from './Fx.js';
|
|
4
|
+
export declare function onExit<R, E, A, R2, E2, B>(fx: Fx<R, E, A>, f: (exit: Exit.Exit<E, void>) => Effect.Effect<R2, E2, B>): Fx<R | R2, E | E2, A>;
|
|
5
|
+
//# sourceMappingURL=onExit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onExit.d.ts","sourceRoot":"","sources":["../src/onExit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AAEvC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACvC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GACxD,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAIvB"}
|
package/dist/onExit.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onExit.js","sourceRoot":"","sources":["../src/onExit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAG3C,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,MAAM,UAAU,MAAM,CACpB,EAAe,EACf,CAAyD;IAEzD,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CACjF,CAAA;AACH,CAAC"}
|
package/dist/onInterrupt.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { HashSet } from '@effect/data/HashSet';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
2
3
|
import type { FiberId } from '@effect/io/Fiber/Id';
|
|
3
4
|
import { Fx } from './Fx.js';
|
|
4
|
-
import { Effect } from './externals.js';
|
|
5
5
|
export declare function onInterrupt<R, E, A, R2, E2, B>(fx: Fx<R, E, A>, f: (interruptors: HashSet<FiberId>) => Effect.Effect<R2, E2, B>): Fx<R | R2, E | E2, A>;
|
|
6
6
|
//# sourceMappingURL=onInterrupt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onInterrupt.d.ts","sourceRoot":"","sources":["../src/onInterrupt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"onInterrupt.d.ts","sourceRoot":"","sources":["../src/onInterrupt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC5C,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACf,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAC9D,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAMvB"}
|
package/dist/onInterrupt.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import * as Effect from '@effect/io/Effect';
|
|
1
2
|
import { Fx } from './Fx.js';
|
|
2
|
-
import { Effect } from './externals.js';
|
|
3
3
|
export function onInterrupt(fx, f) {
|
|
4
4
|
return Fx((sink) => Effect.onInterrupt(fx.run(sink), (interruptors) => Effect.catchAllCause(f(interruptors), sink.error)));
|
|
5
5
|
}
|
package/dist/onInterrupt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onInterrupt.js","sourceRoot":"","sources":["../src/onInterrupt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"onInterrupt.js","sourceRoot":"","sources":["../src/onInterrupt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAG3C,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,MAAM,UAAU,WAAW,CACzB,EAAe,EACf,CAA+D;IAE/D,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAChD,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAClD,CACF,CAAA;AACH,CAAC"}
|
package/dist/orElse.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orElse.d.ts","sourceRoot":"","sources":["../src/orElse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAGzC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAG5B,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EACvC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACjB,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAC7C,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAMvB"}
|
package/dist/orElse.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as Effect from '@effect/io/Effect';
|
|
2
|
+
import { Fx } from './Fx.js';
|
|
3
|
+
import { observe } from './observe.js';
|
|
4
|
+
export function orElse(self, that) {
|
|
5
|
+
return Fx((sink) => Effect.catchAllCause(Effect.scoped(observe(self, sink.event)), (cause) => that(cause).run(sink)));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=orElse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orElse.js","sourceRoot":"","sources":["../src/orElse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,UAAU,MAAM,CACpB,IAAiB,EACjB,IAA8C;IAE9C,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CACvE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CACtB,CACF,CAAA;AACH,CAAC"}
|
package/dist/promise.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../src/promise.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../src/promise.ts"],"names":[],"mappings":"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"}
|
package/dist/promise.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as Effect from '@effect/io/Effect';
|
|
2
2
|
import { fromEffect } from './fromEffect.js';
|
|
3
3
|
import { fromFxEffect } from './fromFxEffect.js';
|
|
4
4
|
export function promise(f) {
|
|
@@ -14,10 +14,10 @@ export function tryPromiseInterrupt(f) {
|
|
|
14
14
|
return fromEffect(Effect.tryPromiseInterrupt(f));
|
|
15
15
|
}
|
|
16
16
|
export function tryCatchPromise(f, g) {
|
|
17
|
-
return fromEffect(Effect.
|
|
17
|
+
return fromEffect(Effect.tryPromise({ try: f, catch: g }));
|
|
18
18
|
}
|
|
19
19
|
export function tryCatchPromiseInterrupt(f, g) {
|
|
20
|
-
return fromEffect(Effect.
|
|
20
|
+
return fromEffect(Effect.tryPromiseInterrupt({ try: f, catch: g }));
|
|
21
21
|
}
|
|
22
22
|
export function promiseFx(f) {
|
|
23
23
|
return fromFxEffect(Effect.promise(f));
|
|
@@ -32,9 +32,9 @@ export function tryPromiseInterruptFx(f) {
|
|
|
32
32
|
return fromFxEffect(Effect.tryPromiseInterrupt(f));
|
|
33
33
|
}
|
|
34
34
|
export function tryCatchPromiseFx(f, g) {
|
|
35
|
-
return fromFxEffect(Effect.
|
|
35
|
+
return fromFxEffect(Effect.tryPromise({ try: f, catch: g }));
|
|
36
36
|
}
|
|
37
37
|
export function tryCatchPromiseInterruptFx(f, g) {
|
|
38
|
-
return fromFxEffect(Effect.
|
|
38
|
+
return fromFxEffect(Effect.tryPromiseInterrupt({ try: f, catch: g }));
|
|
39
39
|
}
|
|
40
40
|
//# sourceMappingURL=promise.js.map
|
package/dist/promise.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../src/promise.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../src/promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,UAAU,OAAO,CAAI,CAAmB;IAC5C,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAI,CAAsC;IACxE,OAAO,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,UAAU,CAAI,CAAmB;IAC/C,OAAO,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,CAAsC;IAEtC,OAAO,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,CAAmB,EACnB,CAAwB;IAExB,OAAO,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,CAAsC,EACtC,CAAwB;IAExB,OAAO,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,SAAS,CAAU,CAA6B;IAC9D,OAAO,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,CAAgD;IAEhD,OAAO,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,YAAY,CAAU,CAA6B;IACjE,OAAO,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,CAAgD;IAEhD,OAAO,YAAY,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,CAA6B,EAC7B,CAAyB;IAEzB,OAAO,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,CAAgD,EAChD,CAAyB;IAEzB,OAAO,YAAY,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AACvE,CAAC"}
|
package/dist/provide.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
3
|
+
import * as Layer from '@effect/io/Layer';
|
|
1
4
|
import { Fx } from './Fx.js';
|
|
2
|
-
import type { Layer } from './externals.js';
|
|
3
|
-
import { Context, Effect } from './externals.js';
|
|
4
5
|
export declare function provideContext<R, E, A>(fx: Fx<R, E, A>, context: Context.Context<R>): Fx<never, E, A>;
|
|
5
6
|
export declare function provideSomeContext<R, E, A, R2>(fx: Fx<R, E, A>, context: Context.Context<R2>): Fx<Exclude<R, R2>, E, A>;
|
|
6
7
|
export declare function provideLayer<R, E, A, R2, E2>(fx: Fx<R, E, A>, layer: Layer.Layer<R2, E2, R>): Fx<R2, E | E2, A>;
|
package/dist/provide.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provide.d.ts","sourceRoot":"","sources":["../src/provide.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provide.d.ts","sourceRoot":"","sources":["../src/provide.ts"],"names":[],"mappings":"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"}
|
package/dist/provide.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import * as Context from '@effect/data/Context';
|
|
2
|
+
import * as Effect from '@effect/io/Effect';
|
|
1
3
|
import { Fx } from './Fx.js';
|
|
2
|
-
import { Context, Effect } from './externals.js';
|
|
3
4
|
import { switchMap } from './switchMap.js';
|
|
4
5
|
export function provideContext(fx, context) {
|
|
5
|
-
return Fx((sink) => Effect.
|
|
6
|
+
return Fx((sink) => Effect.mapInputContext(fx.run(sink), (ctx) => Context.merge(ctx, context)));
|
|
6
7
|
}
|
|
7
8
|
export function provideSomeContext(fx, context) {
|
|
8
|
-
return Fx((sink) => Effect.
|
|
9
|
+
return Fx((sink) => Effect.mapInputContext(fx.run(sink), (ctx) => Context.merge(ctx, context)));
|
|
9
10
|
}
|
|
10
11
|
export function provideLayer(fx, layer) {
|
|
11
12
|
return Fx((sink) => Effect.provideSomeLayer(fx.run(sink), layer));
|
|
@@ -17,7 +18,10 @@ export function provideService(fx, tag, service) {
|
|
|
17
18
|
return provideSomeContext(fx, Context.make(tag, service));
|
|
18
19
|
}
|
|
19
20
|
export function provideServiceEffect(fx, tag, service) {
|
|
20
|
-
return Fx((sink) => Effect.matchCauseEffect(service,
|
|
21
|
+
return Fx((sink) => Effect.matchCauseEffect(service, {
|
|
22
|
+
onFailure: sink.error,
|
|
23
|
+
onSuccess: (s) => Effect.mapInputContext(fx.run(sink), (ctx) => Context.merge(ctx, Context.make(tag, s))),
|
|
24
|
+
}));
|
|
21
25
|
}
|
|
22
26
|
export function provideServiceFx(fx, tag, service) {
|
|
23
27
|
return switchMap(service, (s) => provideService(fx, tag, s));
|
package/dist/provide.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provide.js","sourceRoot":"","sources":["../src/provide.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provide.js","sourceRoot":"","sources":["../src/provide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAG3C,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,UAAU,cAAc,CAC5B,EAAe,EACf,OAA2B;IAE3B,OAAO,EAAE,CACP,CAAK,IAAoB,EAAkC,EAAE,CAC3D,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAC7E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,EAAe,EACf,OAA4B;IAE5B,OAAO,EAAE,CACP,CAAK,IAAoB,EAAmD,EAAE,CAC5E,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAC3C,OAAO,CAAC,KAAK,CAAC,GAA8B,EAAE,OAAO,CAAC,CACvD,CACJ,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,EAAe,EACf,KAA6B;IAE7B,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAQ,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,EAAe,EACf,KAA6B;IAE7B,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAQ,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,EAAe,EACf,GAAsB,EACtB,OAAU;IAEV,OAAO,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,EAAe,EACf,GAAsB,EACtB,OAAiC;IAEjC,OAAO,EAAE,CACP,CAAK,IAAyB,EAAuD,EAAE,CACrF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;QAC/B,SAAS,EAAE,IAAI,CAAC,KAAK;QACrB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAC3C,OAAO,CAAC,KAAK,CAAC,GAAmC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CACzE;KACJ,CAAC,CACL,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,EAAe,EACf,GAAsB,EACtB,OAAsB;IAEtB,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9D,CAAC"}
|