@typed/fx 0.0.9 → 0.0.12
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/.eslintcache +1 -1
- package/cjs/Fx.d.ts +19 -8
- package/cjs/Fx.d.ts.map +1 -1
- package/cjs/Fx.js +12 -2
- package/cjs/Fx.js.map +1 -1
- package/cjs/Subject.d.ts +22 -0
- package/cjs/Subject.d.ts.map +1 -0
- package/cjs/Subject.js +58 -0
- package/cjs/Subject.js.map +1 -0
- package/cjs/_internal.d.ts +19 -20
- package/cjs/_internal.d.ts.map +1 -1
- package/cjs/_internal.js +21 -76
- package/cjs/_internal.js.map +1 -1
- package/cjs/combine.d.ts +4 -4
- package/cjs/combine.d.ts.map +1 -1
- package/cjs/combine.js +9 -13
- package/cjs/combine.js.map +1 -1
- package/cjs/continueWith.d.ts +2 -2
- package/cjs/continueWith.d.ts.map +1 -1
- package/cjs/continueWith.js +2 -3
- package/cjs/continueWith.js.map +1 -1
- package/cjs/debounce.d.ts +2 -11
- package/cjs/debounce.d.ts.map +1 -1
- package/cjs/debounce.js +4 -24
- package/cjs/debounce.js.map +1 -1
- package/cjs/delay.d.ts +2 -2
- package/cjs/delay.d.ts.map +1 -1
- package/cjs/delay.js +4 -5
- package/cjs/delay.js.map +1 -1
- package/cjs/during.d.ts +1 -1
- package/cjs/during.d.ts.map +1 -1
- package/cjs/during.js +6 -9
- package/cjs/during.js.map +1 -1
- package/cjs/filterLoop.d.ts +25 -0
- package/cjs/filterLoop.d.ts.map +1 -0
- package/cjs/filterLoop.js +108 -0
- package/cjs/filterLoop.js.map +1 -0
- package/cjs/filterMap.d.ts +24 -0
- package/cjs/filterMap.d.ts.map +1 -0
- package/cjs/{map.js → filterMap.js} +27 -40
- package/cjs/filterMap.js.map +1 -0
- package/cjs/flatMap.d.ts +2 -10
- package/cjs/flatMap.d.ts.map +1 -1
- package/cjs/flatMap.js +10 -25
- package/cjs/flatMap.js.map +1 -1
- package/cjs/flatMapConcurrently.d.ts +2 -2
- package/cjs/flatMapConcurrently.d.ts.map +1 -1
- package/cjs/flatMapConcurrently.js +3 -3
- package/cjs/flatMapConcurrently.js.map +1 -1
- package/cjs/fromEffect.d.ts +34 -15
- package/cjs/fromEffect.d.ts.map +1 -1
- package/cjs/fromEffect.js +28 -15
- package/cjs/fromEffect.js.map +1 -1
- package/cjs/fromIterable.d.ts +9 -0
- package/cjs/fromIterable.d.ts.map +1 -0
- package/cjs/{drain.js → fromIterable.js} +14 -13
- package/cjs/fromIterable.js.map +1 -0
- package/cjs/hold.d.ts +16 -17
- package/cjs/hold.d.ts.map +1 -1
- package/cjs/hold.js +28 -25
- package/cjs/hold.js.map +1 -1
- package/cjs/index.d.ts +19 -15
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +19 -28
- package/cjs/index.js.map +1 -1
- package/cjs/mapCause.d.ts +5 -0
- package/cjs/mapCause.d.ts.map +1 -0
- package/cjs/mapCause.js +41 -0
- package/cjs/mapCause.js.map +1 -0
- package/cjs/mapEffect.d.ts +4 -0
- package/cjs/mapEffect.d.ts.map +1 -0
- package/cjs/{never.js → mapEffect.js} +6 -4
- package/cjs/mapEffect.js.map +1 -0
- package/cjs/merge.d.ts +3 -3
- package/cjs/merge.d.ts.map +1 -1
- package/cjs/merge.js +7 -11
- package/cjs/merge.js.map +1 -1
- package/cjs/multicast.d.ts +20 -19
- package/cjs/multicast.d.ts.map +1 -1
- package/cjs/multicast.js +30 -34
- package/cjs/multicast.js.map +1 -1
- package/cjs/orElse.d.ts +2 -5
- package/cjs/orElse.d.ts.map +1 -1
- package/cjs/orElse.js +9 -11
- package/cjs/orElse.js.map +1 -1
- package/cjs/provide.d.ts +8 -8
- package/cjs/provide.d.ts.map +1 -1
- package/cjs/provide.js +23 -9
- package/cjs/provide.js.map +1 -1
- package/cjs/runCollect.d.ts +4 -0
- package/cjs/runCollect.d.ts.map +1 -0
- package/cjs/{from.js → runCollect.js} +6 -15
- package/cjs/runCollect.js.map +1 -0
- package/cjs/runDrain.d.ts +4 -0
- package/cjs/runDrain.d.ts.map +1 -0
- package/cjs/runDrain.js +38 -0
- package/cjs/runDrain.js.map +1 -0
- package/cjs/runObserve.d.ts +4 -0
- package/cjs/runObserve.d.ts.map +1 -0
- package/cjs/{takeUntil.js → runObserve.js} +6 -17
- package/cjs/runObserve.js.map +1 -0
- package/cjs/runReduce.d.ts +6 -0
- package/cjs/runReduce.d.ts.map +1 -0
- package/cjs/runReduce.js +50 -0
- package/cjs/runReduce.js.map +1 -0
- package/cjs/scheduled.d.ts +4 -4
- package/cjs/scheduled.d.ts.map +1 -1
- package/cjs/scheduled.js +8 -8
- package/cjs/scheduled.js.map +1 -1
- package/cjs/since.d.ts +1 -1
- package/cjs/since.d.ts.map +1 -1
- package/cjs/since.js +5 -9
- package/cjs/since.js.map +1 -1
- package/cjs/skipRepeats.d.ts +1 -1
- package/cjs/skipRepeats.d.ts.map +1 -1
- package/cjs/skipRepeats.js +4 -5
- package/cjs/skipRepeats.js.map +1 -1
- package/cjs/skipWhile.d.ts +3 -3
- package/cjs/skipWhile.d.ts.map +1 -1
- package/cjs/skipWhile.js +12 -15
- package/cjs/skipWhile.js.map +1 -1
- package/cjs/slice.d.ts +3 -3
- package/cjs/slice.d.ts.map +1 -1
- package/cjs/slice.js +15 -23
- package/cjs/slice.js.map +1 -1
- package/cjs/snapshot.d.ts +2 -2
- package/cjs/snapshot.d.ts.map +1 -1
- package/cjs/snapshot.js +6 -8
- package/cjs/snapshot.js.map +1 -1
- package/cjs/suspendSucceed.d.ts +1 -1
- package/cjs/suspendSucceed.d.ts.map +1 -1
- package/cjs/suspendSucceed.js +1 -25
- package/cjs/suspendSucceed.js.map +1 -1
- package/cjs/switchMap.d.ts +1 -9
- package/cjs/switchMap.d.ts.map +1 -1
- package/cjs/switchMap.js +5 -18
- package/cjs/switchMap.js.map +1 -1
- package/cjs/takeWhile.d.ts +3 -3
- package/cjs/takeWhile.d.ts.map +1 -1
- package/cjs/takeWhile.js +6 -38
- package/cjs/takeWhile.js.map +1 -1
- package/cjs/tapEffect.d.ts +5 -0
- package/cjs/tapEffect.d.ts.map +1 -0
- package/cjs/{observe.js → tapEffect.js} +8 -15
- package/cjs/tapEffect.js.map +1 -0
- package/cjs/throttle.d.ts +2 -2
- package/cjs/throttle.d.ts.map +1 -1
- package/cjs/throttle.js +6 -13
- package/cjs/throttle.js.map +1 -1
- package/cjs/transform.d.ts +13 -8
- package/cjs/transform.d.ts.map +1 -1
- package/cjs/transform.js +9 -2
- package/cjs/transform.js.map +1 -1
- package/cjs/until.d.ts +1 -1
- package/cjs/until.d.ts.map +1 -1
- package/cjs/until.js +5 -7
- package/cjs/until.js.map +1 -1
- package/{esm/fromCallback.d.ts → cjs/withEmitter.d.ts} +4 -4
- package/cjs/withEmitter.d.ts.map +1 -0
- package/cjs/{fromCallback.js → withEmitter.js} +22 -16
- package/cjs/withEmitter.js.map +1 -0
- package/cjs/zip.d.ts +4 -4
- package/cjs/zip.d.ts.map +1 -1
- package/cjs/zip.js +11 -15
- package/cjs/zip.js.map +1 -1
- package/cjs/zipIterable.d.ts +4 -0
- package/cjs/zipIterable.d.ts.map +1 -0
- package/cjs/{zipItems.js → zipIterable.js} +23 -20
- package/cjs/zipIterable.js.map +1 -0
- package/esm/Fx.d.ts +19 -8
- package/esm/Fx.d.ts.map +1 -1
- package/esm/Fx.js +10 -1
- package/esm/Fx.js.map +1 -1
- package/esm/Subject.d.ts +22 -0
- package/esm/Subject.d.ts.map +1 -0
- package/esm/Subject.js +32 -0
- package/esm/Subject.js.map +1 -0
- package/esm/_internal.d.ts +19 -20
- package/esm/_internal.d.ts.map +1 -1
- package/esm/_internal.js +16 -72
- package/esm/_internal.js.map +1 -1
- package/esm/combine.d.ts +4 -4
- package/esm/combine.d.ts.map +1 -1
- package/esm/combine.js +12 -16
- package/esm/combine.js.map +1 -1
- package/esm/continueWith.d.ts +2 -2
- package/esm/continueWith.d.ts.map +1 -1
- package/esm/continueWith.js +3 -4
- package/esm/continueWith.js.map +1 -1
- package/esm/debounce.d.ts +2 -11
- package/esm/debounce.d.ts.map +1 -1
- package/esm/debounce.js +7 -27
- package/esm/debounce.js.map +1 -1
- package/esm/delay.d.ts +2 -2
- package/esm/delay.d.ts.map +1 -1
- package/esm/delay.js +6 -7
- package/esm/delay.js.map +1 -1
- package/esm/during.d.ts +1 -1
- package/esm/during.d.ts.map +1 -1
- package/esm/during.js +9 -12
- package/esm/during.js.map +1 -1
- package/esm/filterLoop.d.ts +25 -0
- package/esm/filterLoop.d.ts.map +1 -0
- package/esm/filterLoop.js +76 -0
- package/esm/filterLoop.js.map +1 -0
- package/esm/filterMap.d.ts +24 -0
- package/esm/filterMap.d.ts.map +1 -0
- package/esm/filterMap.js +53 -0
- package/esm/filterMap.js.map +1 -0
- package/esm/flatMap.d.ts +2 -10
- package/esm/flatMap.d.ts.map +1 -1
- package/esm/flatMap.js +9 -24
- package/esm/flatMap.js.map +1 -1
- package/esm/flatMapConcurrently.d.ts +2 -2
- package/esm/flatMapConcurrently.d.ts.map +1 -1
- package/esm/flatMapConcurrently.js +3 -3
- package/esm/flatMapConcurrently.js.map +1 -1
- package/esm/fromEffect.d.ts +34 -15
- package/esm/fromEffect.d.ts.map +1 -1
- package/esm/fromEffect.js +25 -13
- package/esm/fromEffect.js.map +1 -1
- package/esm/fromIterable.d.ts +9 -0
- package/esm/fromIterable.d.ts.map +1 -0
- package/esm/fromIterable.js +14 -0
- package/esm/fromIterable.js.map +1 -0
- package/esm/hold.d.ts +16 -17
- package/esm/hold.d.ts.map +1 -1
- package/esm/hold.js +28 -25
- package/esm/hold.js.map +1 -1
- package/esm/index.d.ts +19 -15
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +19 -16
- package/esm/index.js.map +1 -1
- package/esm/mapCause.d.ts +5 -0
- package/esm/mapCause.d.ts.map +1 -0
- package/esm/mapCause.js +13 -0
- package/esm/mapCause.js.map +1 -0
- package/esm/mapEffect.d.ts +4 -0
- package/esm/mapEffect.d.ts.map +1 -0
- package/esm/mapEffect.js +5 -0
- package/esm/mapEffect.js.map +1 -0
- package/esm/merge.d.ts +3 -3
- package/esm/merge.d.ts.map +1 -1
- package/esm/merge.js +9 -13
- package/esm/merge.js.map +1 -1
- package/esm/multicast.d.ts +20 -19
- package/esm/multicast.d.ts.map +1 -1
- package/esm/multicast.js +33 -37
- package/esm/multicast.js.map +1 -1
- package/esm/orElse.d.ts +2 -5
- package/esm/orElse.d.ts.map +1 -1
- package/esm/orElse.js +10 -10
- package/esm/orElse.js.map +1 -1
- package/esm/provide.d.ts +8 -8
- package/esm/provide.d.ts.map +1 -1
- package/esm/provide.js +20 -6
- package/esm/provide.js.map +1 -1
- package/esm/runCollect.d.ts +4 -0
- package/esm/runCollect.d.ts.map +1 -0
- package/esm/runCollect.js +7 -0
- package/esm/runCollect.js.map +1 -0
- package/esm/runDrain.d.ts +4 -0
- package/esm/runDrain.d.ts.map +1 -0
- package/esm/runDrain.js +11 -0
- package/esm/runDrain.js.map +1 -0
- package/esm/runObserve.d.ts +4 -0
- package/esm/runObserve.d.ts.map +1 -0
- package/esm/runObserve.js +8 -0
- package/esm/runObserve.js.map +1 -0
- package/esm/runReduce.d.ts +6 -0
- package/esm/runReduce.d.ts.map +1 -0
- package/esm/runReduce.js +22 -0
- package/esm/runReduce.js.map +1 -0
- package/esm/scheduled.d.ts +4 -4
- package/esm/scheduled.d.ts.map +1 -1
- package/esm/scheduled.js +8 -8
- package/esm/scheduled.js.map +1 -1
- package/esm/since.d.ts +1 -1
- package/esm/since.d.ts.map +1 -1
- package/esm/since.js +8 -12
- package/esm/since.js.map +1 -1
- package/esm/skipRepeats.d.ts +1 -1
- package/esm/skipRepeats.d.ts.map +1 -1
- package/esm/skipRepeats.js +5 -6
- package/esm/skipRepeats.js.map +1 -1
- package/esm/skipWhile.d.ts +3 -3
- package/esm/skipWhile.d.ts.map +1 -1
- package/esm/skipWhile.js +13 -16
- package/esm/skipWhile.js.map +1 -1
- package/esm/slice.d.ts +3 -3
- package/esm/slice.d.ts.map +1 -1
- package/esm/slice.js +17 -25
- package/esm/slice.js.map +1 -1
- package/esm/snapshot.d.ts +2 -2
- package/esm/snapshot.d.ts.map +1 -1
- package/esm/snapshot.js +8 -10
- package/esm/snapshot.js.map +1 -1
- package/esm/suspendSucceed.d.ts +1 -1
- package/esm/suspendSucceed.d.ts.map +1 -1
- package/esm/suspendSucceed.js +1 -2
- package/esm/suspendSucceed.js.map +1 -1
- package/esm/switchMap.d.ts +1 -9
- package/esm/switchMap.d.ts.map +1 -1
- package/esm/switchMap.js +6 -18
- package/esm/switchMap.js.map +1 -1
- package/esm/takeWhile.d.ts +3 -3
- package/esm/takeWhile.d.ts.map +1 -1
- package/esm/takeWhile.js +8 -17
- package/esm/takeWhile.js.map +1 -1
- package/esm/tapEffect.d.ts +5 -0
- package/esm/tapEffect.d.ts.map +1 -0
- package/esm/tapEffect.js +6 -0
- package/esm/tapEffect.js.map +1 -0
- package/esm/throttle.d.ts +2 -2
- package/esm/throttle.d.ts.map +1 -1
- package/esm/throttle.js +9 -16
- package/esm/throttle.js.map +1 -1
- package/esm/transform.d.ts +13 -8
- package/esm/transform.d.ts.map +1 -1
- package/esm/transform.js +6 -1
- package/esm/transform.js.map +1 -1
- package/esm/until.d.ts +1 -1
- package/esm/until.d.ts.map +1 -1
- package/esm/until.js +8 -10
- package/esm/until.js.map +1 -1
- package/{cjs/fromCallback.d.ts → esm/withEmitter.d.ts} +4 -4
- package/esm/withEmitter.d.ts.map +1 -0
- package/esm/withEmitter.js +26 -0
- package/esm/withEmitter.js.map +1 -0
- package/esm/zip.d.ts +4 -4
- package/esm/zip.d.ts.map +1 -1
- package/esm/zip.js +14 -18
- package/esm/zip.js.map +1 -1
- package/esm/zipIterable.d.ts +4 -0
- package/esm/zipIterable.d.ts.map +1 -0
- package/esm/zipIterable.js +26 -0
- package/esm/zipIterable.js.map +1 -0
- package/package.json +107 -113
- package/perf/_internal.ts +39 -35
- package/perf/cases/filter-map-reduce.ts +48 -0
- package/perf/cases/flatMap.ts +49 -0
- package/perf/cases/switchMap.ts +36 -0
- package/perf/readme-base.md +14 -0
- package/perf/readme.md +40 -0
- package/perf/runFullSuite.ts +37 -0
- package/perf/runPerfTest.ts +18 -0
- package/perf/tsconfig.json +1 -1
- package/src/Fx.ts +35 -10
- package/src/Subject.ts +46 -0
- package/src/_internal.ts +59 -114
- package/src/combine.test.ts +15 -16
- package/src/combine.ts +44 -48
- package/src/continueWith.test.ts +26 -0
- package/src/continueWith.ts +9 -11
- package/src/debounce.test.ts +4 -6
- package/src/debounce.ts +30 -49
- package/src/delay.test.ts +5 -6
- package/src/delay.ts +9 -8
- package/src/during.test.ts +39 -0
- package/src/during.ts +43 -47
- package/src/filterLoop.test.ts +63 -0
- package/src/filterLoop.ts +143 -0
- package/src/filterMap.test.ts +33 -0
- package/src/filterMap.ts +71 -0
- package/src/flatMap.test.ts +39 -12
- package/src/flatMap.ts +25 -51
- package/src/flatMapConcurrently.test.ts +23 -0
- package/src/flatMapConcurrently.ts +6 -12
- package/src/fromEffect.ts +74 -26
- package/src/fromIterable.ts +15 -0
- package/src/hold.test.ts +3 -3
- package/src/hold.ts +48 -44
- package/src/index.ts +19 -15
- package/src/mapCause.test.ts +34 -0
- package/src/mapCause.ts +16 -0
- package/src/mapEffect.test.ts +21 -0
- package/src/mapEffect.ts +17 -0
- package/src/merge.test.ts +10 -30
- package/src/merge.ts +17 -38
- package/src/multicast.test.ts +22 -28
- package/src/multicast.ts +71 -57
- package/src/orElse.test.ts +22 -0
- package/src/orElse.ts +21 -34
- package/src/periodic.test.ts +4 -4
- package/src/provide.test.ts +56 -0
- package/src/provide.ts +47 -36
- package/src/runCollect.ts +19 -0
- package/src/runDrain.ts +23 -0
- package/src/runObserve.ts +31 -0
- package/src/runReduce.ts +64 -0
- package/src/scheduled.ts +28 -26
- package/src/since.test.ts +40 -0
- package/src/since.ts +25 -42
- package/src/skipRepeats.test.ts +28 -0
- package/src/skipRepeats.ts +8 -9
- package/src/skipWhile.test.ts +44 -0
- package/src/skipWhile.ts +36 -22
- package/src/slice.test.ts +12 -10
- package/src/slice.ts +36 -42
- package/src/snapshot.test.ts +51 -0
- package/src/snapshot.ts +48 -37
- package/src/suspendSucceed.ts +2 -4
- package/src/switchMap.test.ts +23 -13
- package/src/switchMap.ts +32 -50
- package/src/takeWhile.test.ts +44 -0
- package/src/takeWhile.ts +20 -25
- package/src/tapEffect.ts +24 -0
- package/src/throttle.test.ts +5 -7
- package/src/throttle.ts +37 -42
- package/src/transform.ts +14 -6
- package/src/until.test.ts +8 -14
- package/src/until.ts +22 -32
- package/src/withEmitter.test.ts +28 -0
- package/src/withEmitter.ts +49 -0
- package/src/zip.test.ts +12 -13
- package/src/zip.ts +45 -52
- package/src/zipIterable.test.ts +19 -0
- package/src/zipIterable.ts +51 -0
- package/cjs/Sink.d.ts +0 -25
- package/cjs/Sink.d.ts.map +0 -1
- package/cjs/Sink.js +0 -66
- package/cjs/Sink.js.map +0 -1
- package/cjs/TSemaphore.d.ts +0 -4
- package/cjs/TSemaphore.d.ts.map +0 -1
- package/cjs/TSemaphore.js +0 -33
- package/cjs/TSemaphore.js.map +0 -1
- package/cjs/drain.d.ts +0 -7
- package/cjs/drain.d.ts.map +0 -1
- package/cjs/drain.js.map +0 -1
- package/cjs/empty.d.ts +0 -3
- package/cjs/empty.d.ts.map +0 -1
- package/cjs/empty.js +0 -9
- package/cjs/empty.js.map +0 -1
- package/cjs/from.d.ts +0 -11
- package/cjs/from.d.ts.map +0 -1
- package/cjs/from.js.map +0 -1
- package/cjs/fromCallback.d.ts.map +0 -1
- package/cjs/fromCallback.js.map +0 -1
- package/cjs/loop.d.ts +0 -4
- package/cjs/loop.d.ts.map +0 -1
- package/cjs/loop.js +0 -34
- package/cjs/loop.js.map +0 -1
- package/cjs/map.d.ts +0 -28
- package/cjs/map.d.ts.map +0 -1
- package/cjs/map.js.map +0 -1
- package/cjs/never.d.ts +0 -2
- package/cjs/never.d.ts.map +0 -1
- package/cjs/never.js.map +0 -1
- package/cjs/observe.d.ts +0 -7
- package/cjs/observe.d.ts.map +0 -1
- package/cjs/observe.js.map +0 -1
- package/cjs/reduce.d.ts +0 -7
- package/cjs/reduce.d.ts.map +0 -1
- package/cjs/reduce.js +0 -64
- package/cjs/reduce.js.map +0 -1
- package/cjs/takeUntil.d.ts +0 -4
- package/cjs/takeUntil.d.ts.map +0 -1
- package/cjs/takeUntil.js.map +0 -1
- package/cjs/tap.d.ts +0 -9
- package/cjs/tap.d.ts.map +0 -1
- package/cjs/tap.js +0 -54
- package/cjs/tap.js.map +0 -1
- package/cjs/zipItems.d.ts +0 -4
- package/cjs/zipItems.d.ts.map +0 -1
- package/cjs/zipItems.js.map +0 -1
- package/esm/Sink.d.ts +0 -25
- package/esm/Sink.d.ts.map +0 -1
- package/esm/Sink.js +0 -31
- package/esm/Sink.js.map +0 -1
- package/esm/TSemaphore.d.ts +0 -4
- package/esm/TSemaphore.d.ts.map +0 -1
- package/esm/TSemaphore.js +0 -5
- package/esm/TSemaphore.js.map +0 -1
- package/esm/drain.d.ts +0 -7
- package/esm/drain.d.ts.map +0 -1
- package/esm/drain.js +0 -12
- package/esm/drain.js.map +0 -1
- package/esm/empty.d.ts +0 -3
- package/esm/empty.d.ts.map +0 -1
- package/esm/empty.js +0 -5
- package/esm/empty.js.map +0 -1
- package/esm/from.d.ts +0 -11
- package/esm/from.d.ts.map +0 -1
- package/esm/from.js +0 -15
- package/esm/from.js.map +0 -1
- package/esm/fromCallback.d.ts.map +0 -1
- package/esm/fromCallback.js +0 -20
- package/esm/fromCallback.js.map +0 -1
- package/esm/loop.d.ts +0 -4
- package/esm/loop.d.ts.map +0 -1
- package/esm/loop.js +0 -29
- package/esm/loop.js.map +0 -1
- package/esm/map.d.ts +0 -28
- package/esm/map.d.ts.map +0 -1
- package/esm/map.js +0 -64
- package/esm/map.js.map +0 -1
- package/esm/never.d.ts +0 -2
- package/esm/never.d.ts.map +0 -1
- package/esm/never.js +0 -4
- package/esm/never.js.map +0 -1
- package/esm/observe.d.ts +0 -7
- package/esm/observe.d.ts.map +0 -1
- package/esm/observe.js +0 -12
- package/esm/observe.js.map +0 -1
- package/esm/reduce.d.ts +0 -7
- package/esm/reduce.d.ts.map +0 -1
- package/esm/reduce.js +0 -35
- package/esm/reduce.js.map +0 -1
- package/esm/takeUntil.d.ts +0 -4
- package/esm/takeUntil.d.ts.map +0 -1
- package/esm/takeUntil.js +0 -19
- package/esm/takeUntil.js.map +0 -1
- package/esm/tap.d.ts +0 -9
- package/esm/tap.d.ts.map +0 -1
- package/esm/tap.js +0 -23
- package/esm/tap.js.map +0 -1
- package/esm/zipItems.d.ts +0 -4
- package/esm/zipItems.d.ts.map +0 -1
- package/esm/zipItems.js +0 -23
- package/esm/zipItems.js.map +0 -1
- package/perf/filter-map-reduce.ts +0 -49
- package/perf/flatMap.ts +0 -48
- package/perf/switchMap.ts +0 -40
- package/src/Sink.ts +0 -84
- package/src/TSemaphore.ts +0 -8
- package/src/drain.ts +0 -21
- package/src/empty.ts +0 -5
- package/src/from.test.ts +0 -18
- package/src/from.ts +0 -18
- package/src/fromCallback.ts +0 -40
- package/src/loop.ts +0 -37
- package/src/map.ts +0 -83
- package/src/never.ts +0 -5
- package/src/observe.ts +0 -24
- package/src/reduce.ts +0 -81
- package/src/takeUntil.ts +0 -29
- package/src/tap.ts +0 -48
- package/src/zipItems.test.ts +0 -21
- package/src/zipItems.ts +0 -41
package/esm/skipWhile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skipWhile.d.ts","sourceRoot":"","sources":["../src/skipWhile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skipWhile.d.ts","sourceRoot":"","sources":["../src/skipWhile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAO,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAW,EAAE,EAAE,MAAM,SAAS,CAAA;AAGrC,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,0CAEnD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,0CAEnD"}
|
package/esm/skipWhile.js
CHANGED
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
import * as Effect from '@effect/core/io/Effect';
|
|
2
|
+
import * as Ref from '@effect/core/io/Ref';
|
|
2
3
|
import { pipe } from '@fp-ts/data/Function';
|
|
3
|
-
import { not } from '@
|
|
4
|
-
import { Fx } from './Fx.js';
|
|
4
|
+
import { not } from '@tsplus/stdlib/data/Predicate';
|
|
5
|
+
import { Emitter, Fx } from './Fx.js';
|
|
6
|
+
import { onEarlyExitFailure } from './_internal.js';
|
|
5
7
|
export function skipWhile(predicate) {
|
|
6
|
-
return (fx) =>
|
|
7
|
-
let started = false;
|
|
8
|
-
return fx.run({
|
|
9
|
-
...sink,
|
|
10
|
-
event: (a) => {
|
|
11
|
-
if (!started && predicate(a)) {
|
|
12
|
-
return Effect.unit;
|
|
13
|
-
}
|
|
14
|
-
started = true;
|
|
15
|
-
return sink.event(a);
|
|
16
|
-
},
|
|
17
|
-
});
|
|
18
|
-
}));
|
|
8
|
+
return (fx) => skipWhile_(fx, predicate);
|
|
19
9
|
}
|
|
20
10
|
export function skipUntil(predicate) {
|
|
21
|
-
return
|
|
11
|
+
return skipWhile(not(predicate));
|
|
12
|
+
}
|
|
13
|
+
function skipWhile_(fx, predicate) {
|
|
14
|
+
return Fx((emitter) => pipe(Ref.makeRef(() => false), Effect.flatMap((ref) => pipe(fx.run(Emitter((a) => pipe(ref.get, Effect.flatMap((started) => started
|
|
15
|
+
? emitter.emit(a)
|
|
16
|
+
: predicate(a)
|
|
17
|
+
? Effect.unit
|
|
18
|
+
: pipe(ref.set(true), Effect.zipRight(emitter.emit(a))))), emitter.failCause, emitter.end)))), onEarlyExitFailure(emitter.end)));
|
|
22
19
|
}
|
|
23
20
|
//# sourceMappingURL=skipWhile.js.map
|
package/esm/skipWhile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skipWhile.js","sourceRoot":"","sources":["../src/skipWhile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAa,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"skipWhile.js","sourceRoot":"","sources":["../src/skipWhile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAa,GAAG,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,MAAM,UAAU,SAAS,CAAI,SAAuB;IAClD,OAAO,CAAO,EAAe,EAAe,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,SAAuB;IAClD,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;AAClC,CAAC;AAED,SAAS,UAAU,CAAU,EAAe,EAAE,SAAuB;IACnE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CACpB,IAAI,CACF,GAAG,CAAC,OAAO,CAAU,GAAG,EAAE,CAAC,KAAK,CAAC,EACjC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACrB,IAAI,CACF,EAAE,CAAC,GAAG,CACJ,OAAO,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,CACF,GAAG,CAAC,GAAG,EACP,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,OAAO;QACL,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,CAAC,CAAC,MAAM,CAAC,IAAI;YACb,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1D,CACF,EACH,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,GAAG,CACZ,CACF,CACF,CACF,EACD,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAChC,CACF,CAAA;AACH,CAAC"}
|
package/esm/slice.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Fx } from './Fx.js';
|
|
2
|
-
export declare function slice(skip: number, take: number): <R, E, A
|
|
3
|
-
export declare function skip(
|
|
4
|
-
export declare function take(
|
|
2
|
+
export declare function slice(skip: number, take: number): <R, E, A>(push: Fx<R, E, A>) => Fx<R, E, A>;
|
|
3
|
+
export declare function skip(n: number): <R, E, A>(push: Fx<R, E, A>) => Fx<R, E, A>;
|
|
4
|
+
export declare function take(n: number): <R, E, A>(push: Fx<R, E, A>) => Fx<R, E, A>;
|
|
5
5
|
//# sourceMappingURL=slice.d.ts.map
|
package/esm/slice.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slice.d.ts","sourceRoot":"","sources":["../src/slice.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slice.d.ts","sourceRoot":"","sources":["../src/slice.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,EAAE,EAAE,MAAM,SAAS,CAAA;AAMrC,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,+CA6B/C;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,+CAE7B;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,+CAE7B"}
|
package/esm/slice.js
CHANGED
|
@@ -1,34 +1,26 @@
|
|
|
1
1
|
import * as Effect from '@effect/core/io/Effect';
|
|
2
|
-
import * as Exit from '@effect/core/io/Exit';
|
|
3
2
|
import { pipe } from '@fp-ts/data/Function';
|
|
4
|
-
import { Fx } from './Fx.js';
|
|
5
|
-
import {
|
|
3
|
+
import { Emitter, Fx } from './Fx.js';
|
|
4
|
+
import { exitEarly, onEarlyExitFailure } from './_internal.js';
|
|
5
|
+
// TODO: Commutation with map
|
|
6
|
+
// TODO: Fusion with other slices
|
|
6
7
|
export function slice(skip, take) {
|
|
7
|
-
return (
|
|
8
|
+
return (push) => Fx((emitter) => pipe(Effect.suspendSucceed(() => {
|
|
8
9
|
let toSkip = skip;
|
|
9
10
|
let toTake = take;
|
|
10
|
-
return
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return Effect.unit;
|
|
19
|
-
}
|
|
20
|
-
toTake -= 1;
|
|
21
|
-
return pipe(sink.event(a), Effect.flatMap(() => toTake === 0
|
|
22
|
-
? pipe(sink.end, Effect.tap((b) => cb(Exit.succeed(b))))
|
|
23
|
-
: Effect.unit));
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
}));
|
|
11
|
+
return push.run(Emitter((a) => {
|
|
12
|
+
if (toSkip > 0) {
|
|
13
|
+
--toSkip;
|
|
14
|
+
return Effect.unit;
|
|
15
|
+
}
|
|
16
|
+
return pipe(emitter.emit(a), Effect.flatMap(() => (--toTake === 0 ? exitEarly : Effect.unit)));
|
|
17
|
+
}, emitter.failCause, emitter.end));
|
|
18
|
+
}), onEarlyExitFailure(emitter.end)));
|
|
27
19
|
}
|
|
28
|
-
export function skip(
|
|
29
|
-
return slice(
|
|
20
|
+
export function skip(n) {
|
|
21
|
+
return slice(n, Infinity);
|
|
30
22
|
}
|
|
31
|
-
export function take(
|
|
32
|
-
return slice(0,
|
|
23
|
+
export function take(n) {
|
|
24
|
+
return slice(0, n);
|
|
33
25
|
}
|
|
34
26
|
//# sourceMappingURL=slice.js.map
|
package/esm/slice.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slice.js","sourceRoot":"","sources":["../src/slice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"slice.js","sourceRoot":"","sources":["../src/slice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAE9D,6BAA6B;AAC7B,iCAAiC;AAEjC,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,IAAY;IAC9C,OAAO,CAAU,IAAiB,EAAe,EAAE,CACjD,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CACb,IAAI,CACF,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE;QACzB,IAAI,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,MAAM,GAAG,IAAI,CAAA;QAEjB,OAAO,IAAI,CAAC,GAAG,CACb,OAAO,CACL,CAAC,CAAC,EAAE,EAAE;YACJ,IAAI,MAAM,GAAG,CAAC,EAAE;gBACd,EAAE,MAAM,CAAA;gBACR,OAAO,MAAM,CAAC,IAAI,CAAA;aACnB;YAED,OAAO,IAAI,CACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EACf,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACjE,CAAA;QACH,CAAC,EACD,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,GAAG,CACZ,CACF,CAAA;IACH,CAAC,CAAC,EACF,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAChC,CACF,CAAA;AACL,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACpB,CAAC"}
|
package/esm/snapshot.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Fx } from './Fx.js';
|
|
2
|
-
export declare function snapshot<R2, E2, B,
|
|
3
|
-
export declare function sample<R2, E2, B
|
|
2
|
+
export declare function snapshot<R2, E2, B, A, R3, E3, C>(sampled: Fx<R2, E2, B>, f: (b: B, a: A) => C): <R, E>(sampler: Fx<R, E, A>) => Fx<R & R2 & R3, E2 | E3 | E, C>;
|
|
3
|
+
export declare function sample<R2, E2, B>(sampled: Fx<R2, E2, B>): <R, E, A>(sampler: Fx<R, E, A>) => Fx<R2 | R, E2 | E, readonly [A, B]>;
|
|
4
4
|
//# sourceMappingURL=snapshot.d.ts.map
|
package/esm/snapshot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAKA,OAAO,EAAW,EAAE,EAAE,MAAM,SAAS,CAAA;AAErC,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,mEAG7F;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,0EAMvD"}
|
package/esm/snapshot.js
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import * as Effect from '@effect/core/io/Effect';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import { pipe } from '@fp-ts/data/Function';
|
|
3
|
+
import { AtomicReference } from '@tsplus/stdlib/data/AtomicReference';
|
|
4
4
|
import * as Maybe from '@tsplus/stdlib/data/Maybe';
|
|
5
|
-
import { Fx } from './Fx.js';
|
|
6
|
-
import { Sink } from './Sink.js';
|
|
5
|
+
import { Emitter, Fx } from './Fx.js';
|
|
7
6
|
export function snapshot(sampled, f) {
|
|
8
|
-
return (sampler) =>
|
|
9
|
-
const ref = yield* $(Ref.makeRef(() => Maybe.none));
|
|
10
|
-
yield* $(Effect.fork(sampled.run(Sink(flow(Maybe.some, ref.set), Effect.failCause, Effect.unit))));
|
|
11
|
-
return yield* $(sampler.run(Sink((a) => pipe(ref.get, Effect.flatMap(Maybe.fold(() => Effect.unit, (b) => sink.event(f(a, b))))), sink.error, sink.end)));
|
|
12
|
-
}));
|
|
7
|
+
return (sampler) => snapshot_(sampler, sampled, f);
|
|
13
8
|
}
|
|
14
9
|
export function sample(sampled) {
|
|
15
|
-
return (sampler) => pipe(sampler, snapshot(sampled, (
|
|
10
|
+
return (sampler) => pipe(sampler, snapshot(sampled, (b, a) => [a, b]));
|
|
11
|
+
}
|
|
12
|
+
function snapshot_(sampler, sampled, f) {
|
|
13
|
+
return Fx((emitter) => pipe(Effect.sync(() => new AtomicReference(Maybe.none)), Effect.tap((ref) => Effect.forkScoped(sampled.run(Emitter((a) => Effect.sync(() => ref.set(Maybe.some(a))), emitter.failCause, Effect.unit)))), Effect.flatMap((ref) => sampler.run(Emitter((a) => pipe(ref.get, Maybe.fold(() => Effect.unit, (b) => emitter.emit(f(b, a)))), emitter.failCause, emitter.end)))));
|
|
16
14
|
}
|
|
17
15
|
//# sourceMappingURL=snapshot.js.map
|
package/esm/snapshot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAErC,MAAM,UAAU,QAAQ,CAA0B,OAAsB,EAAE,CAAoB;IAC5F,OAAO,CAAO,OAAoB,EAAmC,EAAE,CACrE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,MAAM,CAAY,OAAsB;IACtD,OAAO,CAAU,OAAoB,EAAuC,EAAE,CAC5E,IAAI,CACF,OAAO,EACP,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACpC,CAAA;AACL,CAAC;AAED,SAAS,SAAS,CAChB,OAAoB,EACpB,OAAsB,EACtB,CAAoB;IAEpB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CACpB,IAAI,CACF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,CAAiB,KAAK,CAAC,IAAI,CAAC,CAAC,EAClE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACjB,MAAM,CAAC,UAAU,CACf,OAAO,CAAC,GAAG,CACT,OAAO,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAChD,OAAO,CAAC,SAAS,EACjB,MAAM,CAAC,IAAI,CACZ,CACF,CACF,CACF,EACD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACrB,OAAO,CAAC,GAAG,CACT,OAAO,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,CACF,GAAG,CAAC,GAAG,EACP,KAAK,CAAC,IAAI,CACR,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EACjB,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC7B,CACF,EACH,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,GAAG,CACZ,CACF,CACF,CACF,CACF,CAAA;AACH,CAAC"}
|
package/esm/suspendSucceed.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suspendSucceed.d.ts","sourceRoot":"","sources":["../src/suspendSucceed.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"suspendSucceed.d.ts","sourceRoot":"","sources":["../src/suspendSucceed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAEzE"}
|
package/esm/suspendSucceed.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import * as Effect from '@effect/core/io/Effect';
|
|
2
1
|
import { Fx } from './Fx.js';
|
|
3
2
|
export function suspendSucceed(f) {
|
|
4
|
-
return Fx((
|
|
3
|
+
return Fx((emitter) => f().run(emitter));
|
|
5
4
|
}
|
|
6
5
|
//# sourceMappingURL=suspendSucceed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suspendSucceed.js","sourceRoot":"","sources":["../src/suspendSucceed.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"suspendSucceed.js","sourceRoot":"","sources":["../src/suspendSucceed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,MAAM,UAAU,cAAc,CAAU,CAAoB;IAC1D,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;AAC1C,CAAC"}
|
package/esm/switchMap.d.ts
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
import * as Effect from '@effect/core/io/Effect';
|
|
2
1
|
import { Fx } from './Fx.js';
|
|
3
|
-
|
|
4
|
-
export declare function switchMap<A, R2, E2, B, E3>(f: (a: A) => Fx<R2, E2, B, E3>): <R, E, E1>(self: Fx<R, E, A, E1>) => Fx<R2 | R, E2 | E, B, E3 | E1>;
|
|
5
|
-
export declare class SwitchMapFx<R, E, A, E1, R2, E2, B, E3> implements Fx<R2 | R, E | E2, B, E1 | E3> {
|
|
6
|
-
readonly self: Fx<R, E, A, E1>;
|
|
7
|
-
readonly f: (a: A) => Fx<R2, E2, B, E3>;
|
|
8
|
-
constructor(self: Fx<R, E, A, E1>, f: (a: A) => Fx<R2, E2, B, E3>);
|
|
9
|
-
run<R3, E4, C>(sink: Sink<E | E2, B, R3, E4, C>): Effect.Effect<R2 | R | R3, E1 | E3 | E4, C>;
|
|
10
|
-
}
|
|
2
|
+
export declare function switchMap<A, R2, E2, B>(f: (a: A) => Fx<R2, E2, B>): <R, E>(fx: Fx<R, E, A>) => Fx<R2 | R, E2 | E, B>;
|
|
11
3
|
//# sourceMappingURL=switchMap.d.ts.map
|
package/esm/switchMap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchMap.d.ts","sourceRoot":"","sources":["../src/switchMap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"switchMap.d.ts","sourceRoot":"","sources":["../src/switchMap.ts"],"names":[],"mappings":"AAKA,OAAO,EAAW,EAAE,EAAE,MAAM,SAAS,CAAA;AAGrC,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,oDAqCjE"}
|
package/esm/switchMap.js
CHANGED
|
@@ -1,22 +1,10 @@
|
|
|
1
1
|
import * as Effect from '@effect/core/io/Effect';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
2
|
+
import * as Fiber from '@effect/core/io/Fiber';
|
|
3
|
+
import * as Ref from '@effect/core/io/Ref';
|
|
4
|
+
import { pipe } from '@fp-ts/data/Function';
|
|
5
|
+
import { Emitter, Fx } from './Fx.js';
|
|
6
|
+
import { withDynamicCountdownLatch } from './_internal.js';
|
|
7
7
|
export function switchMap(f) {
|
|
8
|
-
return (
|
|
9
|
-
}
|
|
10
|
-
export class SwitchMapFx {
|
|
11
|
-
self;
|
|
12
|
-
f;
|
|
13
|
-
constructor(self, f) {
|
|
14
|
-
this.self = self;
|
|
15
|
-
this.f = f;
|
|
16
|
-
}
|
|
17
|
-
run(sink) {
|
|
18
|
-
const { self, f } = this;
|
|
19
|
-
return pipe(refCountDeferred(), Effect.map((deferred) => ({ deferred })), Effect.bind('ref', () => makeSynchronized(() => null)), Effect.flatMap(({ deferred, ref }) => self.run(Sink((a) => ref.updateEffect((current) => pipe(current ? interrupt(current) : Effect.unit, Effect.zipRight(deferred.increment), Effect.zipRight(pipe(f(a).run(Sink(sink.event, flow(sink.error, deferred.error), pipe(deferred.decrement, Effect.flatMap(() => deferred.endIfComplete(sink.end))))), Effect.onInterrupt(() => deferred.decrement), Effect.fork)))), flow(sink.error, deferred.error, Effect.zipRight(deferred.await)), Effect.suspendSucceed(() => pipe(deferred.end, Effect.flatMap(() => deferred.endIfComplete(sink.end)), Effect.zipRight(deferred.await)))))));
|
|
20
|
-
}
|
|
8
|
+
return (fx) => Fx((emitter) => pipe(Ref.makeSynchronized(() => null), Effect.flatMap((ref) => withDynamicCountdownLatch(1, ({ increment, latch }) => fx.run(Emitter((a) => ref.updateEffect((fiber) => pipe(fiber ? Fiber.interrupt(fiber) : increment, Effect.flatMap(() => Effect.forkScoped(f(a).run(Emitter(emitter.emit, (e) => pipe(ref.set(null), Effect.zipRight(emitter.failCause(e))), pipe(ref.set(null), Effect.zipRight(latch.countDown)))))))), emitter.failCause, latch.countDown)), emitter.end))));
|
|
21
9
|
}
|
|
22
10
|
//# sourceMappingURL=switchMap.js.map
|
package/esm/switchMap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchMap.js","sourceRoot":"","sources":["../src/switchMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"switchMap.js","sourceRoot":"","sources":["../src/switchMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,uBAAuB,CAAA;AAC9C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAE1D,MAAM,UAAU,SAAS,CAAe,CAA0B;IAChE,OAAO,CAAO,EAAe,EAAyB,EAAE,CACtD,EAAE,CAAC,CAAK,OAA+B,EAAE,EAAE,CACzC,IAAI,CACF,GAAG,CAAC,gBAAgB,CAAqC,GAAG,EAAE,CAAC,IAAI,CAAC,EACpE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACrB,yBAAyB,CACvB,CAAC,EACD,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,EAAE,CAAC,GAAG,CACJ,OAAO,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,CACzB,IAAI,CACF,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAC1C,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,MAAM,CAAC,UAAU,CACf,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CACN,OAAO,CACL,OAAO,CAAC,IAAI,EACZ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EACjE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CACtD,CACF,CACF,CACF,CACF,CACF,EACH,OAAO,CAAC,SAAS,EACjB,KAAK,CAAC,SAAS,CAChB,CACF,EACH,OAAO,CAAC,GAAG,CACZ,CACF,CACF,CACF,CAAA;AACL,CAAC"}
|
package/esm/takeWhile.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Predicate } from '@
|
|
1
|
+
import { Predicate } from '@tsplus/stdlib/data/Predicate';
|
|
2
2
|
import { Fx } from './Fx.js';
|
|
3
|
-
export declare function takeWhile<A>(predicate: Predicate<A>): <R, E
|
|
4
|
-
export declare function takeUntil<A>(predicate: Predicate<A>): <R, E
|
|
3
|
+
export declare function takeWhile<A>(predicate: Predicate<A>): <R, E>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
4
|
+
export declare function takeUntil<A>(predicate: Predicate<A>): <R, E>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
5
5
|
//# sourceMappingURL=takeWhile.d.ts.map
|
package/esm/takeWhile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"takeWhile.d.ts","sourceRoot":"","sources":["../src/takeWhile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"takeWhile.d.ts","sourceRoot":"","sources":["../src/takeWhile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAO,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAW,EAAE,EAAE,MAAM,SAAS,CAAA;AAGrC,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,0CAEnD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,0CAEnD"}
|
package/esm/takeWhile.js
CHANGED
|
@@ -1,23 +1,14 @@
|
|
|
1
|
-
import * as Effect from '@effect/core/io/Effect';
|
|
2
|
-
import * as Exit from '@effect/core/io/Exit';
|
|
3
1
|
import { pipe } from '@fp-ts/data/Function';
|
|
4
|
-
import { not } from '@
|
|
5
|
-
import { Fx } from './Fx.js';
|
|
6
|
-
import {
|
|
2
|
+
import { not } from '@tsplus/stdlib/data/Predicate';
|
|
3
|
+
import { Emitter, Fx } from './Fx.js';
|
|
4
|
+
import { exitEarly, onEarlyExitFailure } from './_internal.js';
|
|
7
5
|
export function takeWhile(predicate) {
|
|
8
|
-
return (fx) =>
|
|
9
|
-
return fx.run({
|
|
10
|
-
...sink,
|
|
11
|
-
event: (a) => {
|
|
12
|
-
if (predicate(a)) {
|
|
13
|
-
return sink.event(a);
|
|
14
|
-
}
|
|
15
|
-
return pipe(sink.end, Effect.tap((b) => cb(Exit.succeed(b))));
|
|
16
|
-
},
|
|
17
|
-
});
|
|
18
|
-
}));
|
|
6
|
+
return (fx) => takeWhile_(fx, predicate);
|
|
19
7
|
}
|
|
20
8
|
export function takeUntil(predicate) {
|
|
21
|
-
return
|
|
9
|
+
return takeWhile(not(predicate));
|
|
10
|
+
}
|
|
11
|
+
function takeWhile_(fx, predicate) {
|
|
12
|
+
return Fx((emitter) => pipe(fx.run(Emitter((a) => (predicate(a) ? emitter.emit(a) : exitEarly), emitter.failCause, emitter.end)), onEarlyExitFailure(emitter.end)));
|
|
22
13
|
}
|
|
23
14
|
//# sourceMappingURL=takeWhile.js.map
|
package/esm/takeWhile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"takeWhile.js","sourceRoot":"","sources":["../src/takeWhile.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"takeWhile.js","sourceRoot":"","sources":["../src/takeWhile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAa,GAAG,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAE9D,MAAM,UAAU,SAAS,CAAI,SAAuB;IAClD,OAAO,CAAO,EAAe,EAAe,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,SAAuB;IAClD,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;AAClC,CAAC;AAED,SAAS,UAAU,CAAU,EAAe,EAAE,SAAuB;IACnE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CACpB,IAAI,CACF,EAAE,CAAC,GAAG,CACJ,OAAO,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EACnD,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,GAAG,CACZ,CACF,EACD,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAChC,CACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as Effect from '@effect/core/io/Effect';
|
|
2
|
+
import { Fx } from './Fx.js';
|
|
3
|
+
export declare const tapEffect: <A, R2, E2, B>(f: (a: A) => Effect.Effect<R2, E2, B>) => <R, E>(fx: Fx<R, E, A>) => Fx<R2 | R, E2 | E, A>;
|
|
4
|
+
export declare const tap: <A>(f: (a: A) => unknown) => <R, E>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
5
|
+
//# sourceMappingURL=tapEffect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tapEffect.d.ts","sourceRoot":"","sources":["../src/tapEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAGhD,OAAO,EAAW,EAAE,EAAE,MAAM,SAAS,CAAA;AAErC,eAAO,MAAM,SAAS,2GAgBjB,CAAA;AAEL,eAAO,MAAM,GAAG,mBAAoB,OAAO,2CAAiD,CAAA"}
|
package/esm/tapEffect.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as Effect from '@effect/core/io/Effect';
|
|
2
|
+
import { pipe } from '@fp-ts/data/Function';
|
|
3
|
+
import { Emitter, Fx } from './Fx.js';
|
|
4
|
+
export const tapEffect = (f) => (fx) => Fx((emitter) => fx.run(Emitter((a) => pipe(a, f, Effect.foldCauseEffect(emitter.failCause, () => emitter.emit(a))), emitter.failCause, emitter.end)));
|
|
5
|
+
export const tap = (f) => tapEffect((a) => Effect.sync(() => f(a)));
|
|
6
|
+
//# sourceMappingURL=tapEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tapEffect.js","sourceRoot":"","sources":["../src/tapEffect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAErC,MAAM,CAAC,MAAM,SAAS,GACpB,CAAe,CAAqC,EAAE,EAAE,CACxD,CAAO,EAAe,EAAyB,EAAE,CAC/C,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CACb,EAAE,CAAC,GAAG,CACJ,OAAO,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,CACF,CAAC,EACD,CAAC,EACD,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACjE,EACH,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,GAAG,CACZ,CACF,CACF,CAAA;AAEL,MAAM,CAAC,MAAM,GAAG,GAAG,CAAI,CAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
package/esm/throttle.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as Duration from '@tsplus/stdlib/data/Duration';
|
|
2
2
|
import { Fx } from './Fx.js';
|
|
3
|
-
export declare function throttle(duration: Duration): <R, E, A
|
|
3
|
+
export declare function throttle(duration: Duration.Duration): <R, E, A>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
4
4
|
//# sourceMappingURL=throttle.d.ts.map
|
package/esm/throttle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAW,EAAE,EAAE,MAAM,SAAS,CAAA;AAGrC,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,6CAEnD"}
|
package/esm/throttle.js
CHANGED
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
import * as Effect from '@effect/core/io/Effect';
|
|
2
2
|
import * as Ref from '@effect/core/io/Ref';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { Sink } from './Sink.js';
|
|
7
|
-
import { refCountDeferred } from './_internal.js';
|
|
3
|
+
import { pipe } from '@fp-ts/data/Function';
|
|
4
|
+
import { Emitter, Fx } from './Fx.js';
|
|
5
|
+
import { withDynamicCountdownLatch } from './_internal.js';
|
|
8
6
|
export function throttle(duration) {
|
|
9
|
-
return (fx) =>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
yield* $(deferred.increment);
|
|
17
|
-
return yield* _(pipe(sink.event(a), Effect.schedule(Schedule.delayed(() => duration)(Schedule.once)), Effect.tap(() => pipe(ref.set(null), Effect.zipRight(deferred.decrement), Effect.zipRight(deferred.endIfComplete(sink.end)))), Effect.uninterruptible, Effect.fork));
|
|
18
|
-
})), flow(sink.error, deferred.error, Effect.zipRight(deferred.await)), pipe(sink.end, deferred.endIfComplete, Effect.zipRight(deferred.await)))));
|
|
19
|
-
}));
|
|
7
|
+
return (fx) => throttle_(fx, duration);
|
|
8
|
+
}
|
|
9
|
+
function throttle_(fx, duration) {
|
|
10
|
+
return Fx((emitter) => pipe(Ref.makeSynchronized(() => null), Effect.flatMap((ref) => withDynamicCountdownLatch(1, ({ increment, latch }) => fx.run(Emitter((a) => ref.updateEffect((previous) => previous
|
|
11
|
+
? Effect.succeed(previous)
|
|
12
|
+
: pipe(increment, Effect.flatMap(() => pipe(emitter.emit(a), Effect.delay(duration), Effect.interruptible, Effect.tap(() => pipe(ref.set(null), Effect.zipRight(latch.countDown))), Effect.uninterruptible, Effect.fork)))), emitter.failCause, latch.countDown)), emitter.end))));
|
|
20
13
|
}
|
|
21
14
|
//# sourceMappingURL=throttle.js.map
|
package/esm/throttle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAEhD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"throttle.js","sourceRoot":"","sources":["../src/throttle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAEhD,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAG3C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAE1D,MAAM,UAAU,QAAQ,CAAC,QAA2B;IAClD,OAAO,CAAU,EAAe,EAAe,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;AAC3E,CAAC;AAED,SAAS,SAAS,CAAU,EAAe,EAAE,QAA2B;IACtE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CACpB,IAAI,CACF,GAAG,CAAC,gBAAgB,CAAqC,GAAG,EAAE,CAAC,IAAI,CAAC,EACpE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACrB,yBAAyB,CACvB,CAAC,EACD,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CACvB,EAAE,CAAC,GAAG,CACJ,OAAO,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC5B,QAAQ;QACN,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1B,CAAC,CAAC,IAAI,CACF,SAAS,EACT,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAClB,IAAI,CACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EACf,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EACtB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CACtD,EACD,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,IAAI,CACZ,CACF,CACF,CACN,EACH,OAAO,CAAC,SAAS,EACjB,KAAK,CAAC,SAAS,CAChB,CACF,EACH,OAAO,CAAC,GAAG,CACZ,CACF,CACF,CACF,CAAA;AACH,CAAC"}
|
package/esm/transform.d.ts
CHANGED
|
@@ -3,13 +3,18 @@ import * as Effect from '@effect/core/io/Effect';
|
|
|
3
3
|
import { Exit } from '@effect/core/io/Exit';
|
|
4
4
|
import { RuntimeFlagsPatch } from '@effect/core/io/RuntimeFlags/patch';
|
|
5
5
|
import { Scope } from '@effect/core/io/Scope';
|
|
6
|
+
import * as TSemaphore from '@effect/core/stm/TSemaphore';
|
|
6
7
|
import { Fx } from './Fx.js';
|
|
7
|
-
export declare function transform<R2 = never
|
|
8
|
-
export declare function withParallelism(parallelism: number): <R, E, A
|
|
9
|
-
export declare const withParallelismUnbounded: <R, E, A
|
|
10
|
-
export declare const withFinalizer: <R2, X>(finalizer: Effect.Effect<R2, never, X>) => <R, E, A
|
|
11
|
-
export declare const withFinalizerExit: <R2, X>(finalizer: <E, A>(exit: Exit<E, A>) => Effect.Effect<R2, never, X>) => <R, E_1, A_1
|
|
12
|
-
export declare const withRuntimeFlags: (updated: RuntimeFlagsPatch) => <R, E, A
|
|
13
|
-
export declare const scoped: <R, E, A
|
|
14
|
-
export declare const withClock: (clock: Clock) => <R, E, A
|
|
8
|
+
export declare function transform<R2 = never>(f: <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R | R2, E, A>): <R, E, A>(fx: Fx<R, E, A>) => Fx<R2 | R, E, A>;
|
|
9
|
+
export declare function withParallelism(parallelism: number): <R, E, A>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
10
|
+
export declare const withParallelismUnbounded: <R, E, A>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
11
|
+
export declare const withFinalizer: <R2, X>(finalizer: Effect.Effect<R2, never, X>) => <R, E, A>(fx: Fx<R, E, A>) => Fx<Scope | R2 | R, E, A>;
|
|
12
|
+
export declare const withFinalizerExit: <R2, X>(finalizer: <E, A>(exit: Exit<E, A>) => Effect.Effect<R2, never, X>) => <R, E_1, A_1>(fx: Fx<R, E_1, A_1>) => Fx<Scope | R2 | R, E_1, A_1>;
|
|
13
|
+
export declare const withRuntimeFlags: (updated: RuntimeFlagsPatch) => <R, E, A>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
14
|
+
export declare const scoped: <R, E, A>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
15
|
+
export declare const withClock: (clock: Clock) => <R, E, A>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
16
|
+
export declare const uninterruptible: <R, E, A>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
17
|
+
export declare const interruptible: <R, E, A>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
18
|
+
export declare const withPermit: (self: TSemaphore.TSemaphore) => <R, E, A>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
19
|
+
export declare const withPermits: (permits: number) => (self: TSemaphore.TSemaphore) => <R, E, A>(fx: Fx<R, E, A>) => Fx<R, E, A>;
|
|
15
20
|
//# sourceMappingURL=transform.d.ts.map
|
package/esm/transform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAEzD,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,wBAAgB,SAAS,CAAC,EAAE,GAAG,KAAK,EAClC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,kDAG5E;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,6CAElD;AAED,eAAO,MAAM,wBAAwB,2CAA6C,CAAA;AAElF,eAAO,MAAM,aAAa,2GAC8B,CAAA;AAExD,eAAO,MAAM,iBAAiB,mJAEiC,CAAA;AAE/D,eAAO,MAAM,gBAAgB,YAAa,iBAAiB,8CACd,CAAA;AAE7C,eAAO,MAAM,MAAM,2CAA2B,CAAA;AAE9C,eAAO,MAAM,SAAS,UAAW,KAAK,8CAAuC,CAAA;AAE7E,eAAO,MAAM,eAAe,2CAAoC,CAAA;AAChE,eAAO,MAAM,aAAa,2CAAkC,CAAA;AAE5D,eAAO,MAAM,UAAU,SAAU,qBAAqB,8CAA2C,CAAA;AAEjG,eAAO,MAAM,WAAW,YAAa,MAAM,YAAY,qBAAqB,8CAC1B,CAAA"}
|
package/esm/transform.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as Effect from '@effect/core/io/Effect';
|
|
2
|
+
import * as TSemaphore from '@effect/core/stm/TSemaphore';
|
|
2
3
|
import { Fx } from './Fx.js';
|
|
3
4
|
export function transform(f) {
|
|
4
|
-
return (fx) => Fx((
|
|
5
|
+
return (fx) => Fx((emitter) => f(fx.run(emitter)));
|
|
5
6
|
}
|
|
6
7
|
export function withParallelism(parallelism) {
|
|
7
8
|
return transform(Effect.withParallelism(parallelism));
|
|
@@ -12,4 +13,8 @@ export const withFinalizerExit = (finalizer) => transform(Effect.withFinalizerEx
|
|
|
12
13
|
export const withRuntimeFlags = (updated) => transform(Effect.withRuntimeFlags(updated));
|
|
13
14
|
export const scoped = transform(Effect.scoped);
|
|
14
15
|
export const withClock = (clock) => transform(Effect.withClock(clock));
|
|
16
|
+
export const uninterruptible = transform(Effect.uninterruptible);
|
|
17
|
+
export const interruptible = transform(Effect.interruptible);
|
|
18
|
+
export const withPermit = (self) => transform(TSemaphore.withPermit(self));
|
|
19
|
+
export const withPermits = (permits) => (self) => transform(TSemaphore.withPermits(permits)(self));
|
|
15
20
|
//# sourceMappingURL=transform.js.map
|
package/esm/transform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAIhD,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAEzD,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAE5B,MAAM,UAAU,SAAS,CACvB,CAA2E;IAE3E,OAAO,CAAU,EAAe,EAAoB,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC5F,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,OAAO,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAA;AACvD,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAA;AAElF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAQ,SAAsC,EAAE,EAAE,CAC7E,SAAS,CAAa,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,SAAkE,EAClE,EAAE,CAAC,SAAS,CAAa,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAA;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAA0B,EAAE,EAAE,CAC7D,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;AAE7C,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAE9C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;AAE7E,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;AAChE,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;AAE5D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAA2B,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;AAEjG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,IAA2B,EAAE,EAAE,CAC9E,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA"}
|
package/esm/until.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Fx } from './Fx.js';
|
|
2
|
-
export declare function until<R2, E2, B
|
|
2
|
+
export declare function until<R2, E2, B>(signal: Fx<R2, E2, B>): <R, E, A>(fx: Fx<R, E, A>) => Fx<R2 | R, E2 | E, A>;
|
|
3
3
|
//# sourceMappingURL=until.d.ts.map
|
package/esm/until.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"until.d.ts","sourceRoot":"","sources":["../src/until.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"until.d.ts","sourceRoot":"","sources":["../src/until.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,EAAE,EAAE,MAAM,SAAS,CAAA;AAGrC,wBAAgB,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,uDAErD"}
|
package/esm/until.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import * as Effect from '@effect/core/io/Effect';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { joinAll } from '@effect/core/io/Fiber';
|
|
3
|
+
import { pipe } from '@fp-ts/data/Function';
|
|
4
|
+
import { Emitter, Fx } from './Fx.js';
|
|
5
|
+
import { exitEarly, onEarlyExitFailure } from './_internal.js';
|
|
6
6
|
export function until(signal) {
|
|
7
|
-
return (fx) =>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return yield* $(deferred.await);
|
|
12
|
-
}));
|
|
7
|
+
return (fx) => until_(fx, signal);
|
|
8
|
+
}
|
|
9
|
+
function until_(fx, signal) {
|
|
10
|
+
return Fx((emitter) => pipe(signal.run(Emitter(() => exitEarly, emitter.failCause, exitEarly)), Effect.forkScoped, Effect.flatMap((fiber) => pipe(fx.run(emitter), Effect.forkScoped, Effect.flatMap((fiber2) => joinAll([fiber, fiber2])))), onEarlyExitFailure(emitter.end)));
|
|
13
11
|
}
|
|
14
12
|
//# sourceMappingURL=until.js.map
|
package/esm/until.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"until.js","sourceRoot":"","sources":["../src/until.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"until.js","sourceRoot":"","sources":["../src/until.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAE9D,MAAM,UAAU,KAAK,CAAY,MAAqB;IACpD,OAAO,CAAU,EAAe,EAAyB,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,MAAM,CAAqB,EAAe,EAAE,MAAqB;IACxE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CACpB,IAAI,CACF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,EAClE,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,IAAI,CACF,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EACf,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACrD,CACF,EACD,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAChC,CACF,CAAA;AACH,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Cause } from '@effect/core/io/Cause';
|
|
2
2
|
import * as Effect from '@effect/core/io/Effect';
|
|
3
3
|
import { Fx } from './Fx.js';
|
|
4
|
-
export declare function
|
|
5
|
-
readonly
|
|
6
|
-
readonly
|
|
4
|
+
export declare function withEmitter<R, E, A>(f: (sink: {
|
|
5
|
+
readonly emit: (a: A) => void;
|
|
6
|
+
readonly failCause: (cause: Cause<E>) => void;
|
|
7
7
|
readonly end: () => void;
|
|
8
8
|
}) => Effect.Canceler<R>): Fx<R, E, A>;
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=withEmitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withEmitter.d.ts","sourceRoot":"","sources":["../src/withEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAA;AAMhD,OAAO,EAAW,EAAE,EAAE,MAAM,SAAS,CAAA;AAErC,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACjC,CAAC,EAAE,CAAC,IAAI,EAAE;IACR,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAC7C,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAA;CACzB,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GACvB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAiCb"}
|