@fncts/io 0.0.31 → 0.0.33
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/Channel/api/runScoped.d.ts +1 -0
- package/Channel/api.d.ts +1 -0
- package/Channel/internal/ChannelExecutor.d.ts +2 -2
- package/Fiber/FiberMessage.d.ts +5 -5
- package/Fiber/FiberRuntime.d.ts +3 -3
- package/IO/api/provideSomeLayer.d.ts +1 -2
- package/IO/api/zipConcurrent.d.ts +2 -1
- package/IO/api.d.ts +2 -1
- package/IO/definition.d.ts +34 -24
- package/IO/runtime.d.ts +10 -18
- package/STM/definition.d.ts +1 -1
- package/Stream/api.d.ts +113 -5
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs +1 -1
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +3 -3
- package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeWith.cjs +4 -4
- package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
- package/_cjs/Channel/api/runScoped.cjs +19 -3
- package/_cjs/Channel/api/runScoped.cjs.map +1 -1
- package/_cjs/Channel/api/toPull.cjs +3 -3
- package/_cjs/Channel/api/toPull.cjs.map +1 -1
- package/_cjs/Channel/api.cjs +8 -7
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelExecutor.cjs +71 -62
- package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +3 -3
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
- package/_cjs/Clock/live.cjs +1 -1
- package/_cjs/Clock/live.cjs.map +1 -1
- package/_cjs/Fiber/FiberMessage.cjs +12 -11
- package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
- package/_cjs/Fiber/FiberRuntime.cjs +102 -70
- package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
- package/_cjs/Fiber/api/collectAll.cjs +1 -1
- package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
- package/_cjs/Fiber/api/mapIO.cjs +1 -1
- package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
- package/_cjs/Fiber/api/zipWith.cjs +1 -1
- package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
- package/_cjs/Fiber/constructors.cjs +5 -5
- package/_cjs/Fiber/constructors.cjs.map +1 -1
- package/_cjs/FiberRef/unsafe.cjs +3 -2
- package/_cjs/FiberRef/unsafe.cjs.map +1 -1
- package/_cjs/FiberScope/definition.cjs +2 -2
- package/_cjs/FiberScope/definition.cjs.map +1 -1
- package/_cjs/Future/api.cjs +4 -4
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/Hub/api.cjs.map +1 -1
- package/_cjs/Hub/internal.cjs +1 -1
- package/_cjs/Hub/internal.cjs.map +1 -1
- package/_cjs/IO/api/asyncIO.cjs +1 -1
- package/_cjs/IO/api/asyncIO.cjs.map +1 -1
- package/_cjs/IO/api/asyncInterrupt.cjs +2 -2
- package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
- package/_cjs/IO/api/concurrency.cjs +3 -3
- package/_cjs/IO/api/concurrency.cjs.map +1 -1
- package/_cjs/IO/api/daemonChildren.cjs +1 -1
- package/_cjs/IO/api/daemonChildren.cjs.map +1 -1
- package/_cjs/IO/api/fork.cjs +2 -1
- package/_cjs/IO/api/fork.cjs.map +1 -1
- package/_cjs/IO/api/interrupt.cjs +2 -2
- package/_cjs/IO/api/interrupt.cjs.map +1 -1
- package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
- package/_cjs/IO/api/raceWith.cjs +9 -12
- package/_cjs/IO/api/raceWith.cjs.map +1 -1
- package/_cjs/IO/api/repeat.cjs +2 -2
- package/_cjs/IO/api/repeat.cjs.map +1 -1
- package/_cjs/IO/api/stateful.cjs +3 -3
- package/_cjs/IO/api/stateful.cjs.map +1 -1
- package/_cjs/IO/api/timeout.cjs +1 -1
- package/_cjs/IO/api/timeout.cjs.map +1 -1
- package/_cjs/IO/api/transplant.cjs +1 -1
- package/_cjs/IO/api/transplant.cjs.map +1 -1
- package/_cjs/IO/api/withChildren.cjs +5 -4
- package/_cjs/IO/api/withChildren.cjs.map +1 -1
- package/_cjs/IO/api/withEarlyRelease.cjs +1 -1
- package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
- package/_cjs/IO/api/zipConcurrent.cjs +23 -23
- package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
- package/_cjs/IO/api.cjs +33 -32
- package/_cjs/IO/api.cjs.map +1 -1
- package/_cjs/IO/definition.cjs +17 -31
- package/_cjs/IO/definition.cjs.map +1 -1
- package/_cjs/IO/runtime.cjs +47 -40
- package/_cjs/IO/runtime.cjs.map +1 -1
- package/_cjs/Logger/api.cjs +3 -2
- package/_cjs/Logger/api.cjs.map +1 -1
- package/_cjs/MVar/api.cjs +11 -11
- package/_cjs/MVar/api.cjs.map +1 -1
- package/_cjs/Push/api.cjs +3 -3
- package/_cjs/Push/api.cjs.map +1 -1
- package/_cjs/Push/internal.cjs +1 -1
- package/_cjs/Push/internal.cjs.map +1 -1
- package/_cjs/Queue/api/filterInputIO.cjs +2 -2
- package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
- package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
- package/_cjs/Ref/Derived.cjs +4 -4
- package/_cjs/Ref/Derived.cjs.map +1 -1
- package/_cjs/Ref/DerivedAll.cjs +5 -5
- package/_cjs/Ref/DerivedAll.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/api.cjs +3 -3
- package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
- package/_cjs/Ref/api/collect.cjs +1 -1
- package/_cjs/Ref/api/collect.cjs.map +1 -1
- package/_cjs/Ref/api/dimap.cjs +3 -3
- package/_cjs/Ref/api/dimap.cjs.map +1 -1
- package/_cjs/Ref/api/filter.cjs +2 -2
- package/_cjs/Ref/api/filter.cjs.map +1 -1
- package/_cjs/Ref/api.cjs +2 -3
- package/_cjs/Ref/api.cjs.map +1 -1
- package/_cjs/RefSubject/Atomic.cjs +6 -6
- package/_cjs/RefSubject/Atomic.cjs.map +1 -1
- package/_cjs/STM/api.cjs +5 -5
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/STM/definition.cjs +1 -1
- package/_cjs/STM/definition.cjs.map +1 -1
- package/_cjs/STM/internal/CommitState.cjs +5 -4
- package/_cjs/STM/internal/CommitState.cjs.map +1 -1
- package/_cjs/STM/internal/Journal.cjs +8 -8
- package/_cjs/STM/internal/Journal.cjs.map +1 -1
- package/_cjs/Schedule/api/driver.cjs +3 -3
- package/_cjs/Schedule/api/driver.cjs.map +1 -1
- package/_cjs/Schedule/api.cjs +8 -8
- package/_cjs/Schedule/api.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +1 -1
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api.cjs +3 -3
- package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
- package/_cjs/ScopedRef/api.cjs +1 -1
- package/_cjs/ScopedRef/api.cjs.map +1 -1
- package/_cjs/Semaphore.cjs +2 -2
- package/_cjs/Semaphore.cjs.map +1 -1
- package/_cjs/Sink/api.cjs +6 -6
- package/_cjs/Sink/api.cjs.map +1 -1
- package/_cjs/Stream/api/zipAllWith.cjs +8 -8
- package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
- package/_cjs/Stream/api/zipWithChunks.cjs +6 -6
- package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
- package/_cjs/Stream/api.cjs +415 -133
- package/_cjs/Stream/api.cjs.map +1 -1
- package/_cjs/Stream/internal/Handoff.cjs +2 -2
- package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
- package/_cjs/Stream/internal/Pull.cjs +2 -2
- package/_cjs/Stream/internal/Pull.cjs.map +1 -1
- package/_cjs/Stream/internal/Take.cjs +6 -6
- package/_cjs/Stream/internal/Take.cjs.map +1 -1
- package/_cjs/Stream/internal/util.cjs +3 -2
- package/_cjs/Stream/internal/util.cjs.map +1 -1
- package/_cjs/TFuture/api.cjs +3 -3
- package/_cjs/TFuture/api.cjs.map +1 -1
- package/_cjs/TFuture/constructors.cjs +1 -1
- package/_cjs/TFuture/constructors.cjs.map +1 -1
- package/_cjs/TRef/definition.cjs +9 -9
- package/_cjs/TRef/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/findIO.cjs +3 -3
- package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
- package/_cjs/data/Exit/foreachIO.cjs +1 -1
- package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
- package/_mjs/Cached/definition.mjs.map +1 -1
- package/_mjs/Channel/api/mapOutConcurrentIO.mjs +1 -1
- package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +3 -3
- package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
- package/_mjs/Channel/api/mergeWith.mjs +4 -4
- package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
- package/_mjs/Channel/api/runScoped.mjs +19 -3
- package/_mjs/Channel/api/runScoped.mjs.map +1 -1
- package/_mjs/Channel/api/toPull.mjs +3 -3
- package/_mjs/Channel/api/toPull.mjs.map +1 -1
- package/_mjs/Channel/api.mjs +8 -7
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelExecutor.mjs +71 -62
- package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +3 -3
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
- package/_mjs/Clock/live.mjs +1 -1
- package/_mjs/Clock/live.mjs.map +1 -1
- package/_mjs/Fiber/FiberMessage.mjs +5 -5
- package/_mjs/Fiber/FiberMessage.mjs.map +1 -1
- package/_mjs/Fiber/FiberRuntime.mjs +102 -70
- package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
- package/_mjs/Fiber/api/collectAll.mjs +1 -1
- package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
- package/_mjs/Fiber/api/mapIO.mjs +1 -1
- package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
- package/_mjs/Fiber/api/zipWith.mjs +1 -1
- package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
- package/_mjs/Fiber/constructors.mjs +5 -5
- package/_mjs/Fiber/constructors.mjs.map +1 -1
- package/_mjs/FiberRef/unsafe.mjs +3 -2
- package/_mjs/FiberRef/unsafe.mjs.map +1 -1
- package/_mjs/FiberScope/definition.mjs +2 -2
- package/_mjs/FiberScope/definition.mjs.map +1 -1
- package/_mjs/Future/api.mjs +4 -4
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/Hub/api.mjs.map +1 -1
- package/_mjs/Hub/internal.mjs +1 -1
- package/_mjs/Hub/internal.mjs.map +1 -1
- package/_mjs/IO/api/asyncIO.mjs +1 -1
- package/_mjs/IO/api/asyncIO.mjs.map +1 -1
- package/_mjs/IO/api/asyncInterrupt.mjs +2 -2
- package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
- package/_mjs/IO/api/concurrency.mjs +3 -3
- package/_mjs/IO/api/concurrency.mjs.map +1 -1
- package/_mjs/IO/api/daemonChildren.mjs +1 -1
- package/_mjs/IO/api/daemonChildren.mjs.map +1 -1
- package/_mjs/IO/api/fork.mjs +2 -1
- package/_mjs/IO/api/fork.mjs.map +1 -1
- package/_mjs/IO/api/interrupt.mjs +2 -2
- package/_mjs/IO/api/interrupt.mjs.map +1 -1
- package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
- package/_mjs/IO/api/raceWith.mjs +9 -12
- package/_mjs/IO/api/raceWith.mjs.map +1 -1
- package/_mjs/IO/api/repeat.mjs +2 -2
- package/_mjs/IO/api/repeat.mjs.map +1 -1
- package/_mjs/IO/api/stateful.mjs +3 -3
- package/_mjs/IO/api/stateful.mjs.map +1 -1
- package/_mjs/IO/api/timeout.mjs +1 -1
- package/_mjs/IO/api/timeout.mjs.map +1 -1
- package/_mjs/IO/api/transplant.mjs +1 -1
- package/_mjs/IO/api/transplant.mjs.map +1 -1
- package/_mjs/IO/api/withChildren.mjs +5 -4
- package/_mjs/IO/api/withChildren.mjs.map +1 -1
- package/_mjs/IO/api/withEarlyRelease.mjs +1 -1
- package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
- package/_mjs/IO/api/zipConcurrent.mjs +23 -23
- package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
- package/_mjs/IO/api.mjs +32 -30
- package/_mjs/IO/api.mjs.map +1 -1
- package/_mjs/IO/definition.mjs +16 -27
- package/_mjs/IO/definition.mjs.map +1 -1
- package/_mjs/IO/runtime.mjs +43 -34
- package/_mjs/IO/runtime.mjs.map +1 -1
- package/_mjs/Logger/api.mjs +3 -2
- package/_mjs/Logger/api.mjs.map +1 -1
- package/_mjs/MVar/api.mjs +11 -11
- package/_mjs/MVar/api.mjs.map +1 -1
- package/_mjs/Push/api.mjs +3 -3
- package/_mjs/Push/api.mjs.map +1 -1
- package/_mjs/Push/internal.mjs +1 -1
- package/_mjs/Push/internal.mjs.map +1 -1
- package/_mjs/Queue/api/filterInputIO.mjs +2 -2
- package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
- package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
- package/_mjs/Ref/Derived.mjs +4 -4
- package/_mjs/Ref/Derived.mjs.map +1 -1
- package/_mjs/Ref/DerivedAll.mjs +5 -5
- package/_mjs/Ref/DerivedAll.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/api.mjs +3 -3
- package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
- package/_mjs/Ref/api/collect.mjs +1 -1
- package/_mjs/Ref/api/collect.mjs.map +1 -1
- package/_mjs/Ref/api/dimap.mjs +3 -3
- package/_mjs/Ref/api/dimap.mjs.map +1 -1
- package/_mjs/Ref/api/filter.mjs +2 -2
- package/_mjs/Ref/api/filter.mjs.map +1 -1
- package/_mjs/Ref/api.mjs +2 -1
- package/_mjs/Ref/api.mjs.map +1 -1
- package/_mjs/RefSubject/Atomic.mjs +6 -6
- package/_mjs/RefSubject/Atomic.mjs.map +1 -1
- package/_mjs/STM/api.mjs +5 -5
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/STM/definition.mjs +1 -1
- package/_mjs/STM/definition.mjs.map +1 -1
- package/_mjs/STM/internal/CommitState.mjs +5 -4
- package/_mjs/STM/internal/CommitState.mjs.map +1 -1
- package/_mjs/STM/internal/Journal.mjs +8 -8
- package/_mjs/STM/internal/Journal.mjs.map +1 -1
- package/_mjs/Schedule/api/driver.mjs +3 -3
- package/_mjs/Schedule/api/driver.mjs.map +1 -1
- package/_mjs/Schedule/api.mjs +8 -8
- package/_mjs/Schedule/api.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +1 -1
- package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api.mjs +3 -3
- package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
- package/_mjs/ScopedRef/api.mjs +1 -1
- package/_mjs/ScopedRef/api.mjs.map +1 -1
- package/_mjs/Semaphore.mjs +2 -2
- package/_mjs/Semaphore.mjs.map +1 -1
- package/_mjs/Sink/api.mjs +6 -6
- package/_mjs/Sink/api.mjs.map +1 -1
- package/_mjs/Stream/api/zipAllWith.mjs +8 -8
- package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
- package/_mjs/Stream/api/zipWithChunks.mjs +6 -6
- package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
- package/_mjs/Stream/api.mjs +321 -60
- package/_mjs/Stream/api.mjs.map +1 -1
- package/_mjs/Stream/internal/Handoff.mjs +2 -2
- package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
- package/_mjs/Stream/internal/Pull.mjs +2 -2
- package/_mjs/Stream/internal/Pull.mjs.map +1 -1
- package/_mjs/Stream/internal/Take.mjs +6 -6
- package/_mjs/Stream/internal/Take.mjs.map +1 -1
- package/_mjs/Stream/internal/util.mjs +3 -2
- package/_mjs/Stream/internal/util.mjs.map +1 -1
- package/_mjs/TFuture/api.mjs +3 -3
- package/_mjs/TFuture/api.mjs.map +1 -1
- package/_mjs/TFuture/constructors.mjs +1 -1
- package/_mjs/TFuture/constructors.mjs.map +1 -1
- package/_mjs/TRef/definition.mjs +9 -9
- package/_mjs/TRef/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/findIO.mjs +3 -3
- package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
- package/_mjs/data/Exit/foreachIO.mjs +1 -1
- package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
- package/_src/Cached/definition.ts +1 -1
- package/_src/Channel/api/runScoped.ts +30 -5
- package/_src/Channel/api/toPull.ts +1 -1
- package/_src/Channel/api.ts +1 -0
- package/_src/Channel/internal/ChannelExecutor.ts +24 -20
- package/_src/Fiber/FiberMessage.ts +5 -5
- package/_src/Fiber/FiberRuntime.ts +40 -17
- package/_src/FiberRefs/api.ts +1 -1
- package/_src/Hub/api.ts +1 -1
- package/_src/IO/api/asyncIO.ts +1 -1
- package/_src/IO/api/provideSomeLayer.ts +1 -3
- package/_src/IO/api/raceWith.ts +1 -3
- package/_src/IO/api/stateful.ts +1 -1
- package/_src/IO/api/zipConcurrent.ts +26 -30
- package/_src/IO/api.ts +4 -3
- package/_src/IO/definition.ts +35 -28
- package/_src/IO/runtime.ts +39 -38
- package/_src/Queue/api/filterInputIO.ts +1 -1
- package/_src/Queue/api/filterOutputIO.ts +1 -1
- package/_src/RefSubject/Atomic.ts +4 -4
- package/_src/STM/definition.ts +1 -1
- package/_src/State/definition.ts +1 -1
- package/_src/Stream/api.ts +315 -14
- package/_src/Subject/Atomic.ts +1 -1
- package/_src/global.ts +0 -4
- package/_src/index.ts +2 -2
- package/global.d.ts +0 -4
- package/index.d.ts +2 -2
- package/package.json +3 -3
- package/RuntimeConfig.d.ts +0 -11
- package/_cjs/RuntimeConfig.cjs +0 -12
- package/_cjs/RuntimeConfig.cjs.map +0 -1
- package/_mjs/RuntimeConfig.mjs +0 -3
- package/_mjs/RuntimeConfig.mjs.map +0 -1
- package/_src/RuntimeConfig.ts +0 -6
package/_mjs/Stream/api.mjs
CHANGED
|
@@ -51,18 +51,21 @@ import * as tsplus_module_49 from "@fncts/io/Fiber/api/poll";
|
|
|
51
51
|
import * as tsplus_module_50 from "@fncts/io/IO/api/environment";
|
|
52
52
|
import * as tsplus_module_51 from "@fncts/io/collection/immutable/Conc/findIO";
|
|
53
53
|
import * as tsplus_module_52 from "@fncts/base/data/Exit/definition";
|
|
54
|
-
import * as tsplus_module_53 from "@fncts/
|
|
55
|
-
import * as tsplus_module_54 from "@fncts/io/
|
|
56
|
-
import * as tsplus_module_55 from "@fncts/io/
|
|
57
|
-
import * as tsplus_module_56 from "@fncts/io/Channel/api/
|
|
58
|
-
import * as tsplus_module_57 from "@fncts/io/Channel/api/
|
|
59
|
-
import * as tsplus_module_58 from "@fncts/io/Channel/
|
|
60
|
-
import * as tsplus_module_59 from "@fncts/io/Channel/
|
|
61
|
-
import * as tsplus_module_60 from "@fncts/io/
|
|
62
|
-
import * as tsplus_module_61 from "@fncts/io/Layer/
|
|
63
|
-
import * as tsplus_module_62 from "@fncts/io/
|
|
64
|
-
import * as tsplus_module_63 from "@fncts/
|
|
65
|
-
import * as tsplus_module_64 from "@fncts/
|
|
54
|
+
import * as tsplus_module_53 from "@fncts/base/collection/immutable/Conc/definition";
|
|
55
|
+
import * as tsplus_module_54 from "@fncts/io/Stream/internal/Pull";
|
|
56
|
+
import * as tsplus_module_55 from "@fncts/io/Queue/api/takeBetween";
|
|
57
|
+
import * as tsplus_module_56 from "@fncts/io/Channel/api/interruptWhen";
|
|
58
|
+
import * as tsplus_module_57 from "@fncts/io/Channel/api/mapOutConcurrentIO";
|
|
59
|
+
import * as tsplus_module_58 from "@fncts/io/Channel/api/mergeMap";
|
|
60
|
+
import * as tsplus_module_59 from "@fncts/io/Channel/internal/MergeDecision";
|
|
61
|
+
import * as tsplus_module_60 from "@fncts/io/Channel/api/mergeWith";
|
|
62
|
+
import * as tsplus_module_61 from "@fncts/io/Layer/MemoMap";
|
|
63
|
+
import * as tsplus_module_62 from "@fncts/io/Layer/api";
|
|
64
|
+
import * as tsplus_module_63 from "@fncts/io/Channel/api/runDrain";
|
|
65
|
+
import * as tsplus_module_64 from "@fncts/base/data/Maybe/definition";
|
|
66
|
+
import * as tsplus_module_65 from "@fncts/base/data/exceptions";
|
|
67
|
+
import * as tsplus_module_66 from "@fncts/io/IO/api/interrupt";
|
|
68
|
+
import * as tsplus_module_67 from "@fncts/io/Channel/api/toPull";
|
|
66
69
|
export const aggregateAsyncWithin = aggregateAsyncWithin_1;
|
|
67
70
|
export const aggregateAsyncWithinEither = aggregateAsyncWithinEither_1;
|
|
68
71
|
export const zipRight = zipRight_1;
|
|
@@ -76,11 +79,14 @@ export const flatMap = flatMap_1;
|
|
|
76
79
|
export const chunks = chunks_1;
|
|
77
80
|
export const concat = concat_1;
|
|
78
81
|
export const crossWith = crossWith_1;
|
|
82
|
+
export const defer = defer_1;
|
|
79
83
|
export const distributedWithDynamic = distributedWithDynamic_1;
|
|
84
|
+
export const drain = drain_1;
|
|
80
85
|
export const drop = drop_1;
|
|
81
86
|
export const dropWhile = dropWhile_1;
|
|
82
87
|
export const ensuring = ensuring_1;
|
|
83
88
|
export const environment = environment_1;
|
|
89
|
+
export const execute = execute_1;
|
|
84
90
|
export const failNow = failNow_1;
|
|
85
91
|
export const failCauseNow = failCauseNow_1;
|
|
86
92
|
export const filterMap = filterMap_1;
|
|
@@ -106,24 +112,28 @@ export const mapChunks = mapChunks_1;
|
|
|
106
112
|
export const mapConcatChunk = mapConcatChunk_1;
|
|
107
113
|
export const mapError = mapError_1;
|
|
108
114
|
export const mapIO = mapIO_1;
|
|
115
|
+
export const merge = merge_1;
|
|
109
116
|
export const mergeMap = mergeMap_1;
|
|
110
117
|
export const mergeEither = mergeEither_1;
|
|
111
118
|
export const mergeWith = mergeWith_1;
|
|
112
119
|
export const orElse = orElse_1;
|
|
113
120
|
export const pipeThrough = pipeThrough_1;
|
|
121
|
+
export const pipeThroughChannelOrFail = pipeThroughChannelOrFail_1;
|
|
114
122
|
export const provideEnvironment = provideEnvironment_1;
|
|
115
123
|
export const provideLayer = provideLayer_1;
|
|
116
124
|
export const repeatIOMaybe = repeatIOMaybe_1;
|
|
117
125
|
export const repeatIOChunkMaybe = repeatIOChunkMaybe_1;
|
|
118
126
|
export const run = run_1;
|
|
119
127
|
export const runForeachScoped = runForeachScoped_1;
|
|
120
|
-
export const runIntoElementsScoped_ = runIntoElementsScoped_1;
|
|
121
128
|
export const runIntoQueueScoped = runIntoQueueScoped_1;
|
|
129
|
+
export const runIntoQueueElementsScoped = runIntoQueueElementsScoped_1;
|
|
122
130
|
export const runIntoHubScoped = runIntoHubScoped_1;
|
|
123
131
|
export const runScoped = runScoped_1;
|
|
124
132
|
export const scanIO = scanIO_1;
|
|
125
133
|
export const scanReduceIO = scanReduceIO_1;
|
|
126
134
|
export const succeedNow = succeedNow_1;
|
|
135
|
+
export const tap = tap_1;
|
|
136
|
+
export const tapError = tapError_1;
|
|
127
137
|
export const throttleEnforceIO = throttleEnforceIO_1;
|
|
128
138
|
export const toHub = toHub_1;
|
|
129
139
|
export const toPull = toPull_1;
|
|
@@ -135,7 +145,7 @@ export const unfoldIO = unfoldIO_1;
|
|
|
135
145
|
export const unfoldChunk = unfoldChunk_1;
|
|
136
146
|
export const unwrap = unwrap_1;
|
|
137
147
|
export const unwrapScoped = unwrapScoped_1;
|
|
138
|
-
import {
|
|
148
|
+
import { identity, tuple } from "@fncts/base/data/function";
|
|
139
149
|
import { DEFAULT_CHUNK_SIZE, Stream } from "./definition.mjs";
|
|
140
150
|
import { Handoff } from "./internal/Handoff.mjs";
|
|
141
151
|
import { ScheduleEnd, UpstreamEnd } from "./internal/SinkEndReason.mjs";
|
|
@@ -173,7 +183,7 @@ export function aggregateAsync(sink, __tsplusTrace) {
|
|
|
173
183
|
*/
|
|
174
184
|
function aggregateAsyncWithin_1(sink, schedule, __tsplusTrace) {
|
|
175
185
|
return stream => {
|
|
176
|
-
return filterMap_1(cb => tsplus_module_4.match(() => tsplus_module_3.nothing(), tsplus_module_3.just)(cb), __tsplusTrace)(aggregateAsyncWithinEither_1(sink, schedule, __tsplusTrace)(stream));
|
|
186
|
+
return filterMap_1(cb => tsplus_module_4.match(() => tsplus_module_3.nothing(__tsplusTrace), tsplus_module_3.just)(cb), __tsplusTrace)(aggregateAsyncWithinEither_1(sink, schedule, __tsplusTrace)(stream));
|
|
177
187
|
};
|
|
178
188
|
}
|
|
179
189
|
/**
|
|
@@ -226,15 +236,15 @@ function aggregateAsyncWithinEither_1(sink, schedule, __tsplusTrace) {
|
|
|
226
236
|
function handleSide(leftovers, b, c, __tsplusTrace) {
|
|
227
237
|
return tsplus_module_10.unwrap(() => tsplus_module_1.zipRight(tsplus_module_1.map(reason => tsplus_module_21.matchSinkEndReason({
|
|
228
238
|
ScheduleEnd: () => tsplus_module_10.unwrapScoped(() => tsplus_module_1.flatMap(consumed_ => tsplus_module_1.flatMap(sinkFiber => tsplus_module_1.map(scheduleFiber => {
|
|
229
|
-
const toWrite = tsplus_module_20.match(() => tsplus_module_19.make(tsplus_module_18.right(b)), c => tsplus_module_19.make(tsplus_module_18.right(b), tsplus_module_18.left(c)))(c);
|
|
239
|
+
const toWrite = tsplus_module_20.match(() => tsplus_module_19.make(tsplus_module_18.right(b, __tsplusTrace)), c => tsplus_module_19.make(tsplus_module_18.right(b, __tsplusTrace), tsplus_module_18.left(c, __tsplusTrace)))(c);
|
|
230
240
|
return consumed_ ? tsplus_module_11.zipRight(scheduledAggregator(sinkFiber, scheduleFiber))(tsplus_module_10.write(() => toWrite)) : scheduledAggregator(sinkFiber, scheduleFiber);
|
|
231
|
-
}, __tsplusTrace)(tsplus_module_17.forkScoped(timeout(tsplus_module_3.just(b), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(forkSink), __tsplusTrace)(tsplus_module_14.get(consumed, __tsplusTrace))),
|
|
232
|
-
UpstreamEnd: () => tsplus_module_10.unwrap(() => tsplus_module_1.map(p => p ? tsplus_module_10.write(() => tsplus_module_19.make(tsplus_module_18.right(b))) : tsplus_module_10.unit, __tsplusTrace)(tsplus_module_14.get(consumed, __tsplusTrace)))
|
|
241
|
+
}, __tsplusTrace)(tsplus_module_17.forkScoped(timeout(tsplus_module_3.just(b, __tsplusTrace), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(forkSink), __tsplusTrace)(tsplus_module_14.get(consumed, __tsplusTrace))),
|
|
242
|
+
UpstreamEnd: () => tsplus_module_10.unwrap(() => tsplus_module_1.map(p => p ? tsplus_module_10.write(() => tsplus_module_19.make(tsplus_module_18.right(b, __tsplusTrace))) : tsplus_module_10.unit, __tsplusTrace)(tsplus_module_14.get(consumed, __tsplusTrace)))
|
|
233
243
|
})(reason), __tsplusTrace)(tsplus_module_14.get(sinkEndReason, __tsplusTrace)), __tsplusTrace)(tsplus_module_13.set(tsplus_module_12.flatten(leftovers), __tsplusTrace)(sinkLeftovers)));
|
|
234
244
|
}
|
|
235
|
-
return tsplus_module_10.unwrap(() => tsplus_module_26.raceWith(() => tsplus_module_22.join(scheduleFiber, __tsplusTrace), (sinkExit, scheduleFiber) => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)(tsplus_module_1.fromExit(() => sinkExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_23.interrupt(scheduleFiber)), (scheduleExit, sinkFiber) => tsplus_module_1.matchCauseIO(cause => tsplus_module_4.match(() => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new ScheduleEnd()))(handoff), __tsplusTrace)), cause => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.halt(cause))(handoff), __tsplusTrace)))(tsplus_module_25.failureOrCause(cause)), c => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.just(c), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new ScheduleEnd()))(handoff), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.fromExit(() => scheduleExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)));
|
|
245
|
+
return tsplus_module_10.unwrap(() => tsplus_module_26.raceWith(() => tsplus_module_22.join(scheduleFiber, __tsplusTrace), (sinkExit, scheduleFiber) => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_1.fromExit(() => sinkExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_23.interrupt(scheduleFiber)), (scheduleExit, sinkFiber) => tsplus_module_1.matchCauseIO(cause => tsplus_module_4.match(() => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new ScheduleEnd()))(handoff), __tsplusTrace)), cause => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.halt(cause))(handoff), __tsplusTrace)))(tsplus_module_25.failureOrCause(cause)), c => tsplus_module_1.zipRight(tsplus_module_1.map(([leftovers, b]) => handleSide(leftovers, b, tsplus_module_3.just(c, __tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_5.offer(tsplus_module_5.end(new ScheduleEnd()))(handoff), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.fromExit(() => scheduleExit, __tsplusTrace)), __tsplusTrace)(tsplus_module_22.join(sinkFiber, __tsplusTrace)));
|
|
236
246
|
};
|
|
237
|
-
return unwrapScoped_1(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(sinkFiber => tsplus_module_1.map(scheduleFiber => new Stream(scheduledAggregator(sinkFiber, scheduleFiber)), __tsplusTrace)(tsplus_module_17.forkScoped(timeout(tsplus_module_3.nothing(), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.doneCollect(tsplus_module_10.pipeToOrFail(sink.channel)(handoffConsumer))), __tsplusTrace)), __tsplusTrace)(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.pipeTo(handoffProducer)(stream.channel)), __tsplusTrace)), __tsplusTrace);
|
|
247
|
+
return unwrapScoped_1(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(sinkFiber => tsplus_module_1.map(scheduleFiber => new Stream(scheduledAggregator(sinkFiber, scheduleFiber)), __tsplusTrace)(tsplus_module_17.forkScoped(timeout(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.doneCollect(tsplus_module_10.pipeToOrFail(sink.channel)(handoffConsumer))), __tsplusTrace)), __tsplusTrace)(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.pipeTo(handoffProducer)(stream.channel)), __tsplusTrace)), __tsplusTrace);
|
|
238
248
|
}, __tsplusTrace)(fromIO_1(deps, __tsplusTrace));
|
|
239
249
|
};
|
|
240
250
|
}
|
|
@@ -281,7 +291,11 @@ function asyncInterrupt_1(register, outputBuffer = 16, __tsplusTrace) {
|
|
|
281
291
|
return ensuring_1(canceler, __tsplusTrace)(new Stream(loop));
|
|
282
292
|
}, stream => unwrap_1(tsplus_module_1.as(() => stream, __tsplusTrace)(tsplus_module_28.shutdown(output, __tsplusTrace)), __tsplusTrace))(eitherStream), __tsplusTrace)(tsplus_module_1.succeed(() => register((k, cb) => {
|
|
283
293
|
const effect = tsplus_module_1.flatMap(a => tsplus_module_28.offer(a, __tsplusTrace)(output), __tsplusTrace)(tsplus_module_27.fromPull(k));
|
|
284
|
-
|
|
294
|
+
const fiber = runtime.makeFiber(effect, __tsplusTrace);
|
|
295
|
+
if (cb) {
|
|
296
|
+
fiber.addObserver(cb);
|
|
297
|
+
}
|
|
298
|
+
fiber.start(effect);
|
|
285
299
|
}), __tsplusTrace)), __tsplusTrace)(tsplus_module_29.runtime(__tsplusTrace)), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_30.makeBounded(outputBuffer, __tsplusTrace), queue => tsplus_module_28.shutdown(queue, __tsplusTrace), __tsplusTrace)), __tsplusTrace);
|
|
286
300
|
}
|
|
287
301
|
/**
|
|
@@ -293,7 +307,7 @@ function asyncInterrupt_1(register, outputBuffer = 16, __tsplusTrace) {
|
|
|
293
307
|
* @tsplus static fncts.io.StreamOps asyncMaybe
|
|
294
308
|
*/
|
|
295
309
|
function asyncMaybe_1(register, outputBuffer = 16, __tsplusTrace) {
|
|
296
|
-
return asyncInterrupt_1(k => tsplus_module_20.match(() => tsplus_module_18.left(tsplus_module_1.unit), tsplus_module_18.right)(register(k)), outputBuffer, __tsplusTrace);
|
|
310
|
+
return asyncInterrupt_1(k => tsplus_module_20.match(() => tsplus_module_18.left(tsplus_module_1.unit, __tsplusTrace), tsplus_module_18.right)(register(k)), outputBuffer, __tsplusTrace);
|
|
297
311
|
}
|
|
298
312
|
/**
|
|
299
313
|
* @tsplus static fncts.io.StreamOps async
|
|
@@ -301,7 +315,7 @@ function asyncMaybe_1(register, outputBuffer = 16, __tsplusTrace) {
|
|
|
301
315
|
export function async(register, outputBuffer = 16, __tsplusTrace) {
|
|
302
316
|
return asyncMaybe_1(cb => {
|
|
303
317
|
register(cb);
|
|
304
|
-
return tsplus_module_3.nothing();
|
|
318
|
+
return tsplus_module_3.nothing(__tsplusTrace);
|
|
305
319
|
}, outputBuffer, __tsplusTrace);
|
|
306
320
|
}
|
|
307
321
|
/**
|
|
@@ -311,7 +325,14 @@ export function asyncIO(register, outputBuffer = 16, __tsplusTrace) {
|
|
|
311
325
|
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.flatMap(output => tsplus_module_1.flatMap(runtime => tsplus_module_1.map(() => {
|
|
312
326
|
const loop = tsplus_module_10.unwrap(() => tsplus_module_1.matchCauseIO(cause => tsplus_module_1.as(() => tsplus_module_4.match(maybeError => tsplus_module_20.match(() => tsplus_module_11.endNow(undefined), tsplus_module_10.failNow)(maybeError), tsplus_module_11.failCauseNow)(tsplus_module_25.failureOrCause(cause)), __tsplusTrace)(tsplus_module_28.shutdown(output, __tsplusTrace)), as => tsplus_module_1.succeed(() => tsplus_module_11.zipRight(loop)(tsplus_module_10.writeNow(as)), __tsplusTrace), __tsplusTrace)(tsplus_module_1.flatMap(take => tsplus_module_27.done(take), __tsplusTrace)(tsplus_module_28.take(output, __tsplusTrace))));
|
|
313
327
|
return loop;
|
|
314
|
-
}, __tsplusTrace)(register((k, cb) =>
|
|
328
|
+
}, __tsplusTrace)(register((k, cb) => {
|
|
329
|
+
const io = tsplus_module_1.flatMap(a => tsplus_module_28.offer(a, __tsplusTrace)(output), __tsplusTrace)(tsplus_module_27.fromPull(k));
|
|
330
|
+
const fiber = runtime.makeFiber(io, __tsplusTrace);
|
|
331
|
+
if (cb) {
|
|
332
|
+
fiber.addObserver(cb);
|
|
333
|
+
}
|
|
334
|
+
fiber.start(io);
|
|
335
|
+
})), __tsplusTrace)(tsplus_module_29.runtime(__tsplusTrace)), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_30.makeBounded(outputBuffer, __tsplusTrace), _ => tsplus_module_28.shutdown(_, __tsplusTrace), __tsplusTrace))));
|
|
315
336
|
}
|
|
316
337
|
/**
|
|
317
338
|
* Returns a stream whose failure and success channels have been mapped by
|
|
@@ -517,7 +538,7 @@ export function chunksWith(f, __tsplusTrace) {
|
|
|
517
538
|
}
|
|
518
539
|
function changesWithWriter(f, last, __tsplusTrace) {
|
|
519
540
|
return tsplus_module_10.readWithCause(chunk => {
|
|
520
|
-
const [newLast, newChunk] = tsplus_module_12.foldLeft([last, tsplus_module_7.empty()], ([maybeLast, os], o1) => tsplus_module_20.match(() => [tsplus_module_3.just(o1), tsplus_module_12.append(o1)(os)], o => f(o, o1) ? [tsplus_module_3.just(o1), os] : [tsplus_module_3.just(o1), tsplus_module_12.append(o1)(os)])(maybeLast))(chunk);
|
|
541
|
+
const [newLast, newChunk] = tsplus_module_12.foldLeft([last, tsplus_module_7.empty()], ([maybeLast, os], o1) => tsplus_module_20.match(() => [tsplus_module_3.just(o1, __tsplusTrace), tsplus_module_12.append(o1)(os)], o => f(o, o1) ? [tsplus_module_3.just(o1, __tsplusTrace), os] : [tsplus_module_3.just(o1, __tsplusTrace), tsplus_module_12.append(o1)(os)])(maybeLast))(chunk);
|
|
521
542
|
return tsplus_module_11.zipRight(changesWithWriter(f, newLast, __tsplusTrace))(tsplus_module_10.writeNow(newChunk));
|
|
522
543
|
}, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit);
|
|
523
544
|
}
|
|
@@ -530,7 +551,7 @@ function changesWithWriter(f, last, __tsplusTrace) {
|
|
|
530
551
|
*/
|
|
531
552
|
export function changesWith(f, __tsplusTrace) {
|
|
532
553
|
return stream => {
|
|
533
|
-
return new Stream(tsplus_module_10.pipeTo(changesWithWriter(f, tsplus_module_3.nothing(), __tsplusTrace))(stream.channel));
|
|
554
|
+
return new Stream(tsplus_module_10.pipeTo(changesWithWriter(f, tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace))(stream.channel));
|
|
534
555
|
};
|
|
535
556
|
}
|
|
536
557
|
/**
|
|
@@ -566,7 +587,7 @@ function collectWhileIOLoop(iterator, pf, __tsplusTrace) {
|
|
|
566
587
|
}
|
|
567
588
|
}
|
|
568
589
|
function combineProducer(handoff, latch, __tsplusTrace) {
|
|
569
|
-
return tsplus_module_11.zipRight(tsplus_module_10.readWithCause(value => tsplus_module_11.zipRight(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.succeed(value))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause)))(handoff)), () => tsplus_module_11.zipRight(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.fail(tsplus_module_3.nothing()))(handoff)))))(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)));
|
|
590
|
+
return tsplus_module_11.zipRight(tsplus_module_10.readWithCause(value => tsplus_module_11.zipRight(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.succeed(value, __tsplusTrace))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause), __tsplusTrace))(handoff)), () => tsplus_module_11.zipRight(combineProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_41.fail(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace))(handoff)))))(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)));
|
|
570
591
|
}
|
|
571
592
|
/**
|
|
572
593
|
* Combines the elements from this stream and the specified stream by repeatedly applying the
|
|
@@ -588,7 +609,7 @@ export function combine(that, s, f, __tsplusTrace) {
|
|
|
588
609
|
};
|
|
589
610
|
}
|
|
590
611
|
function combineChunksProducer(handoff, latch, __tsplusTrace) {
|
|
591
|
-
return tsplus_module_11.zipRight(tsplus_module_10.readWithCause(chunk => tsplus_module_11.zipRight(combineChunksProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_27.chunk(chunk))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_27.failCause(cause))(handoff)), () =>
|
|
612
|
+
return tsplus_module_11.zipRight(tsplus_module_10.readWithCause(chunk => tsplus_module_11.zipRight(combineChunksProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_27.chunk(chunk))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_27.failCause(cause))(handoff)), () => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_27.end)(handoff))))(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)));
|
|
592
613
|
}
|
|
593
614
|
/**
|
|
594
615
|
* Combines the chunks from this stream and the specified stream by repeatedly applying the
|
|
@@ -701,6 +722,12 @@ export function debounce(duration, __tsplusTrace) {
|
|
|
701
722
|
}, __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace), __tsplusTrace);
|
|
702
723
|
};
|
|
703
724
|
}
|
|
725
|
+
/**
|
|
726
|
+
* @tsplus static fncts.io.StreamOps defer
|
|
727
|
+
*/
|
|
728
|
+
function defer_1(self) {
|
|
729
|
+
return new Stream(tsplus_module_10.defer(() => self().channel));
|
|
730
|
+
}
|
|
704
731
|
function defaultIfEmptyWriter(fb, __tsplusTrace) {
|
|
705
732
|
return tsplus_module_10.readWith(i => tsplus_module_12.isEmpty(i) ? defaultIfEmptyWriter(fb, __tsplusTrace) : tsplus_module_11.zipRight(tsplus_module_10.id())(tsplus_module_10.writeNow(i)), tsplus_module_10.failNow, () => fb.channel);
|
|
706
733
|
}
|
|
@@ -743,17 +770,17 @@ function distributedWithDynamic_1(maximumLag, decide, done = () => tsplus_module
|
|
|
743
770
|
return self => {
|
|
744
771
|
const offer = queuesRef => a => tsplus_module_1.flatMap(shouldProcess => tsplus_module_1.flatMap(queues => tsplus_module_1.flatMap(ids => tsplus_module_12.isNonEmpty(ids) ? tsplus_module_15.update(map => tsplus_module_45.removeMany(ids)(map), __tsplusTrace)(queuesRef) : tsplus_module_1.unit, __tsplusTrace)(tsplus_module_1.foldLeft(queues, tsplus_module_7.empty(), (b, [id, queue]) => {
|
|
745
772
|
if (shouldProcess(id)) {
|
|
746
|
-
return tsplus_module_1.matchCauseIO(c => tsplus_module_25.interrupted(c) ? tsplus_module_1.succeedNow(tsplus_module_12.append(id)(b), __tsplusTrace) : tsplus_module_1.failCauseNow(c, __tsplusTrace), () => tsplus_module_1.succeedNow(b, __tsplusTrace), __tsplusTrace)(tsplus_module_28.offer(tsplus_module_41.succeed(a), __tsplusTrace)(queue));
|
|
773
|
+
return tsplus_module_1.matchCauseIO(c => tsplus_module_25.interrupted(c) ? tsplus_module_1.succeedNow(tsplus_module_12.append(id)(b), __tsplusTrace) : tsplus_module_1.failCauseNow(c, __tsplusTrace), () => tsplus_module_1.succeedNow(b, __tsplusTrace), __tsplusTrace)(tsplus_module_28.offer(tsplus_module_41.succeed(a, __tsplusTrace), __tsplusTrace)(queue));
|
|
747
774
|
} else {
|
|
748
775
|
return tsplus_module_1.succeedNow(b, __tsplusTrace);
|
|
749
776
|
}
|
|
750
777
|
}, __tsplusTrace)), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace)), __tsplusTrace)(decide(a));
|
|
751
778
|
return tsplus_module_1.flatMap(queuesRef => tsplus_module_1.map(add => add, __tsplusTrace)(tsplus_module_1.flatMap(queuesLock => tsplus_module_1.flatMap(newQueue => {
|
|
752
|
-
const finalize = endTake => queuesLock.withPermit(tsplus_module_1.asUnit(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(queues => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, __tsplusTrace)(done(endTake)), __tsplusTrace)(tsplus_module_1.foreach(queues, queue => tsplus_module_1.catchJustCause(c => tsplus_module_25.interrupted(c) ? tsplus_module_3.just(tsplus_module_1.unit) : tsplus_module_3.nothing(), __tsplusTrace)(tsplus_module_28.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(map => tsplus_module_45.values(map), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace))), __tsplusTrace)(tsplus_module_13.set(tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(() => {
|
|
779
|
+
const finalize = endTake => queuesLock.withPermit(tsplus_module_1.asUnit(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(queues => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, __tsplusTrace)(done(endTake)), __tsplusTrace)(tsplus_module_1.foreach(queues, queue => tsplus_module_1.catchJustCause(c => tsplus_module_25.interrupted(c) ? tsplus_module_3.just(tsplus_module_1.unit, __tsplusTrace) : tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace)(tsplus_module_28.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(map => tsplus_module_45.values(map), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace))), __tsplusTrace)(tsplus_module_13.set(tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(() => {
|
|
753
780
|
const id = Symbol();
|
|
754
781
|
return tsplus_module_1.map(() => tuple(id, queue), __tsplusTrace)(tsplus_module_15.update(map => tsplus_module_45.set(id, queue)(map), __tsplusTrace)(queuesRef));
|
|
755
782
|
}, __tsplusTrace)(tsplus_module_28.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)(tsplus_module_30.makeBounded(1, __tsplusTrace)), __tsplusTrace)(newQueue)), __tsplusTrace));
|
|
756
|
-
return tsplus_module_1.map(() => queuesLock.withPermit(tsplus_module_1.flatten(tsplus_module_14.get(newQueue, __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_33.fork(tsplus_module_1.matchCauseIO(cause => finalize(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause))), () => finalize(tsplus_module_41.fail(tsplus_module_3.nothing())), __tsplusTrace)(runForeachScoped_1(offer(queuesRef), __tsplusTrace)(self)), __tsplusTrace));
|
|
783
|
+
return tsplus_module_1.map(() => queuesLock.withPermit(tsplus_module_1.flatten(tsplus_module_14.get(newQueue, __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_33.fork(tsplus_module_1.matchCauseIO(cause => finalize(tsplus_module_41.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause), __tsplusTrace)), () => finalize(tsplus_module_41.fail(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace)), __tsplusTrace)(runForeachScoped_1(offer(queuesRef), __tsplusTrace)(self)), __tsplusTrace));
|
|
757
784
|
}, __tsplusTrace)(tsplus_module_6.make(() => tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(id => tsplus_module_1.map(() => tuple(id, queue), __tsplusTrace)(tsplus_module_15.update(map => tsplus_module_45.set(id, queue)(map), __tsplusTrace)(queuesRef)), __tsplusTrace)(tsplus_module_1.succeed(() => Symbol(), __tsplusTrace)), __tsplusTrace)(tsplus_module_30.makeBounded(maximumLag, __tsplusTrace)), __tsplusTrace)), __tsplusTrace)(tsplus_module_46.makeSemaphore(1, __tsplusTrace))), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_6.make(() => tsplus_module_45.empty(), __tsplusTrace), ref => tsplus_module_1.flatMap(qs => tsplus_module_1.foreach(tsplus_module_45.values(qs), q => tsplus_module_28.shutdown(q, __tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_14.get(ref, __tsplusTrace)), __tsplusTrace));
|
|
758
785
|
};
|
|
759
786
|
}
|
|
@@ -763,7 +790,7 @@ function distributedWithDynamic_1(maximumLag, decide, done = () => tsplus_module
|
|
|
763
790
|
*
|
|
764
791
|
* @tsplus getter fncts.io.Stream drain
|
|
765
792
|
*/
|
|
766
|
-
|
|
793
|
+
function drain_1(fa, __tsplusTrace) {
|
|
767
794
|
return new Stream(tsplus_module_10.drain(fa.channel));
|
|
768
795
|
}
|
|
769
796
|
function dropLoop(r, __tsplusTrace) {
|
|
@@ -816,12 +843,12 @@ export function dropUntil(p, __tsplusTrace) {
|
|
|
816
843
|
* @tsplus getter fncts.io.Stream either
|
|
817
844
|
*/
|
|
818
845
|
export function either(stream, __tsplusTrace) {
|
|
819
|
-
return catchAll_1(e => succeedNow_1(tsplus_module_18.left(e), __tsplusTrace), __tsplusTrace)(map_1(tsplus_module_18.right, __tsplusTrace)(stream));
|
|
846
|
+
return catchAll_1(e => succeedNow_1(tsplus_module_18.left(e, __tsplusTrace), __tsplusTrace), __tsplusTrace)(map_1(tsplus_module_18.right, __tsplusTrace)(stream));
|
|
820
847
|
}
|
|
821
848
|
/**
|
|
822
849
|
* @tsplus static fncts.io.StreamOps empty
|
|
823
850
|
*/
|
|
824
|
-
const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty(), fileName_1 + ":
|
|
851
|
+
const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty(), fileName_1 + ":1234:70");
|
|
825
852
|
export const empty = empty_1;
|
|
826
853
|
function endWhenWriter(fiber, __tsplusTrace) {
|
|
827
854
|
return tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeExit => tsplus_module_20.match(() => tsplus_module_10.readWith(inp => tsplus_module_11.zipRight(endWhenWriter(fiber, __tsplusTrace))(tsplus_module_10.writeNow(inp)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_36.match(tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)(exit))(maybeExit), __tsplusTrace)(tsplus_module_49.poll(fiber, __tsplusTrace)));
|
|
@@ -880,6 +907,14 @@ export function environmentWithIO(f, __tsplusTrace) {
|
|
|
880
907
|
export function environmentWithStream(f, __tsplusTrace) {
|
|
881
908
|
return flatMap_1(f, __tsplusTrace)(environment_1(__tsplusTrace));
|
|
882
909
|
}
|
|
910
|
+
/**
|
|
911
|
+
* Creates a stream that executes the specified effect but emits no elements.
|
|
912
|
+
*
|
|
913
|
+
* @tsplus static fncts.io.StreamOps execute
|
|
914
|
+
*/
|
|
915
|
+
function execute_1(io, __tsplusTrace) {
|
|
916
|
+
return drain_1(fromIO_1(io, __tsplusTrace), __tsplusTrace);
|
|
917
|
+
}
|
|
883
918
|
/**
|
|
884
919
|
* Halt a stream with the specified error
|
|
885
920
|
*
|
|
@@ -999,7 +1034,7 @@ function flattenExitOption_1(stream, __tsplusTrace) {
|
|
|
999
1034
|
const processChunk = (chunk, cont) => {
|
|
1000
1035
|
const [toEmit, rest] = tsplus_module_12.splitWhere(_ => !tsplus_module_52.isSuccess(_))(chunk);
|
|
1001
1036
|
const next = tsplus_module_20.match(() => cont, exit => tsplus_module_36.match(cause => tsplus_module_20.match(() => tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow)(tsplus_module_25.flipCauseOption(cause)), () => tsplus_module_11.endNow(undefined))(exit))(tsplus_module_12.head(rest));
|
|
1002
|
-
return tsplus_module_11.zipRight(next)(tsplus_module_10.writeNow(tsplus_module_12.filterMap(exit => tsplus_module_36.match(() => tsplus_module_3.nothing(), tsplus_module_3.just)(exit))(toEmit)));
|
|
1037
|
+
return tsplus_module_11.zipRight(next)(tsplus_module_10.writeNow(tsplus_module_12.filterMap(exit => tsplus_module_36.match(() => tsplus_module_3.nothing(__tsplusTrace), tsplus_module_3.just)(exit))(toEmit)));
|
|
1003
1038
|
};
|
|
1004
1039
|
const process = tsplus_module_10.readWithCause(chunk => processChunk(chunk, process), tsplus_module_11.failCauseNow, _ => tsplus_module_11.endNow(undefined));
|
|
1005
1040
|
return new Stream(tsplus_module_10.pipeTo(process)(stream.channel));
|
|
@@ -1053,6 +1088,59 @@ function fromChunk_1(c, __tsplusTrace) {
|
|
|
1053
1088
|
function scoped_1(stream, __tsplusTrace) {
|
|
1054
1089
|
return new Stream(tsplus_module_10.scoped(() => tsplus_module_1.map(tsplus_module_19.single, __tsplusTrace)(stream())));
|
|
1055
1090
|
}
|
|
1091
|
+
/**
|
|
1092
|
+
* Emits a sliding window of n elements.
|
|
1093
|
+
*
|
|
1094
|
+
* @tsplus pipeable fncts.io.Stream sliding
|
|
1095
|
+
*/
|
|
1096
|
+
export function sliding(chunkSize, stepSize, __tsplusTrace) {
|
|
1097
|
+
return self => {
|
|
1098
|
+
return defer_1(() => {
|
|
1099
|
+
function slidingChunk(chunk, input) {
|
|
1100
|
+
const updatedChunk = tsplus_module_12.concat(input)(chunk);
|
|
1101
|
+
const length = updatedChunk.length;
|
|
1102
|
+
if (length >= chunkSize) {
|
|
1103
|
+
const array = new Array((length - chunkSize) / stepSize + 1);
|
|
1104
|
+
let arrayIndex = 0;
|
|
1105
|
+
let chunkIndex = 0;
|
|
1106
|
+
while (chunkIndex + chunkSize <= length) {
|
|
1107
|
+
array[arrayIndex] = tsplus_module_12.slice(chunkIndex, chunkIndex + chunkSize)(updatedChunk);
|
|
1108
|
+
arrayIndex += 1;
|
|
1109
|
+
chunkIndex += stepSize;
|
|
1110
|
+
}
|
|
1111
|
+
return [tsplus_module_12.drop(chunkIndex)(updatedChunk), tsplus_module_53.fromArray(array)];
|
|
1112
|
+
} else {
|
|
1113
|
+
return [updatedChunk, tsplus_module_7.empty()];
|
|
1114
|
+
}
|
|
1115
|
+
}
|
|
1116
|
+
function sliding(chunk, written) {
|
|
1117
|
+
return tsplus_module_10.readWithCause(input => {
|
|
1118
|
+
const [updatedChunk, out] = slidingChunk(chunk, input);
|
|
1119
|
+
if (tsplus_module_12.isEmpty(out)) {
|
|
1120
|
+
return sliding(updatedChunk, written);
|
|
1121
|
+
} else {
|
|
1122
|
+
return tsplus_module_11.zipRight(sliding(updatedChunk, true))(tsplus_module_10.writeNow(out));
|
|
1123
|
+
}
|
|
1124
|
+
}, err => {
|
|
1125
|
+
const index = written && chunkSize > stepSize ? chunkSize - stepSize : 0;
|
|
1126
|
+
if (index >= chunk.length) {
|
|
1127
|
+
return tsplus_module_11.failCauseNow(err);
|
|
1128
|
+
} else {
|
|
1129
|
+
return tsplus_module_11.zipRight(tsplus_module_11.failCauseNow(err))(tsplus_module_10.writeNow(tsplus_module_19.single(chunk)));
|
|
1130
|
+
}
|
|
1131
|
+
}, done => {
|
|
1132
|
+
const index = written && chunkSize > stepSize ? chunkSize - stepSize : 0;
|
|
1133
|
+
if (index >= chunk.length) {
|
|
1134
|
+
return tsplus_module_11.succeedNow(done);
|
|
1135
|
+
} else {
|
|
1136
|
+
return tsplus_module_11.zipRight(tsplus_module_11.succeedNow(done))(tsplus_module_10.writeNow(tsplus_module_19.single(chunk)));
|
|
1137
|
+
}
|
|
1138
|
+
});
|
|
1139
|
+
}
|
|
1140
|
+
return new Stream(tsplus_module_10.pipeTo(sliding(tsplus_module_7.empty(), false))(self.channel));
|
|
1141
|
+
});
|
|
1142
|
+
};
|
|
1143
|
+
}
|
|
1056
1144
|
/**
|
|
1057
1145
|
* Creates a stream from an effect producing a value of type `A`
|
|
1058
1146
|
*
|
|
@@ -1113,7 +1201,7 @@ export function fromIterableSingle(iterable, __tsplusTrace) {
|
|
|
1113
1201
|
return flatMap_1(iterator => repeatIOMaybe_1(tsplus_module_1.defer(() => {
|
|
1114
1202
|
const value = iterator.next();
|
|
1115
1203
|
if (value.done) {
|
|
1116
|
-
return tsplus_module_1.failNow(tsplus_module_3.nothing(), __tsplusTrace);
|
|
1204
|
+
return tsplus_module_1.failNow(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace);
|
|
1117
1205
|
} else {
|
|
1118
1206
|
return tsplus_module_1.succeedNow(value.value, __tsplusTrace);
|
|
1119
1207
|
}
|
|
@@ -1133,11 +1221,11 @@ function fromPull_1(scopedPull, __tsplusTrace) {
|
|
|
1133
1221
|
function fromQueue_1(queue, maxChunkSize = DEFAULT_CHUNK_SIZE, __tsplusTrace) {
|
|
1134
1222
|
return repeatIOChunkMaybe_1(tsplus_module_1.catchAllCause(c => tsplus_module_1.flatMap(down => {
|
|
1135
1223
|
if (down && tsplus_module_25.interrupted(c)) {
|
|
1136
|
-
return
|
|
1224
|
+
return tsplus_module_54.end;
|
|
1137
1225
|
} else {
|
|
1138
|
-
return
|
|
1226
|
+
return tsplus_module_54.failCause(c);
|
|
1139
1227
|
}
|
|
1140
|
-
}, __tsplusTrace)(tsplus_module_28.isShutdown(queue, __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(tsplus_module_19.from, __tsplusTrace)(
|
|
1228
|
+
}, __tsplusTrace)(tsplus_module_28.isShutdown(queue, __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(tsplus_module_19.from, __tsplusTrace)(tsplus_module_55.takeBetween(1, maxChunkSize, __tsplusTrace)(queue))), __tsplusTrace);
|
|
1141
1229
|
}
|
|
1142
1230
|
/**
|
|
1143
1231
|
* @tsplus static fncts.io.StreamOps fromQueueWithShutdown
|
|
@@ -1279,7 +1367,7 @@ export function intersperse(stream, middle, __tsplusTrace) {
|
|
|
1279
1367
|
*/
|
|
1280
1368
|
export function interruptWhen(io, __tsplusTrace) {
|
|
1281
1369
|
return stream => {
|
|
1282
|
-
return new Stream(
|
|
1370
|
+
return new Stream(tsplus_module_56.interruptWhen(io)(stream.channel));
|
|
1283
1371
|
};
|
|
1284
1372
|
}
|
|
1285
1373
|
/**
|
|
@@ -1287,7 +1375,7 @@ export function interruptWhen(io, __tsplusTrace) {
|
|
|
1287
1375
|
*/
|
|
1288
1376
|
export function interruptWhenFuture(future, __tsplusTrace) {
|
|
1289
1377
|
return fa => {
|
|
1290
|
-
return new Stream(
|
|
1378
|
+
return new Stream(tsplus_module_56.interruptWhenFuture(future)(fa.channel));
|
|
1291
1379
|
};
|
|
1292
1380
|
}
|
|
1293
1381
|
/**
|
|
@@ -1448,11 +1536,87 @@ function mapIOLoop(iterator, f, __tsplusTrace) {
|
|
|
1448
1536
|
*
|
|
1449
1537
|
* @note This combinator destroys the chunking structure. It's recommended to use chunkN afterwards.
|
|
1450
1538
|
*
|
|
1451
|
-
* @tsplus pipeable fncts.io.Stream
|
|
1539
|
+
* @tsplus pipeable fncts.io.Stream mapIOConcurrently
|
|
1452
1540
|
*/
|
|
1453
|
-
export function
|
|
1541
|
+
export function mapIOConcurrently(n, f, __tsplusTrace) {
|
|
1454
1542
|
return stream => {
|
|
1455
|
-
return new Stream(tsplus_module_10.mapOut(tsplus_module_19.single)(
|
|
1543
|
+
return new Stream(tsplus_module_10.mapOut(tsplus_module_19.single)(tsplus_module_57.mapOutConcurrentIO(n, f)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(stream.channel))));
|
|
1544
|
+
};
|
|
1545
|
+
}
|
|
1546
|
+
/**
|
|
1547
|
+
* @tsplus pipeable fncts.io.Stream mapIOConcurrentlyUnordered
|
|
1548
|
+
*/
|
|
1549
|
+
export function mapIOConcurrentlyUnordered(n, f) {
|
|
1550
|
+
return self => {
|
|
1551
|
+
return pipeThroughChannelOrFail_1(tsplus_module_58.mergeMap(inp => fromIO_1(f(inp), fileName_1 + ":2290:41").channel, n, 16)(tsplus_module_10.concatMap(chunk => tsplus_module_10.writeChunk(chunk))(tsplus_module_10.id())))(self);
|
|
1552
|
+
};
|
|
1553
|
+
}
|
|
1554
|
+
/**
|
|
1555
|
+
* Merges this stream and the specified stream together.
|
|
1556
|
+
*
|
|
1557
|
+
* New produced stream will terminate when both specified stream terminate if
|
|
1558
|
+
* no termination strategy is specified.
|
|
1559
|
+
*
|
|
1560
|
+
* @tsplus pipeable fncts.io.Stream merge
|
|
1561
|
+
*/
|
|
1562
|
+
function merge_1(that, strategy = "Both", __tsplusTrace) {
|
|
1563
|
+
return self => {
|
|
1564
|
+
return mergeWith_1(that, identity, identity, strategy, __tsplusTrace)(self);
|
|
1565
|
+
};
|
|
1566
|
+
}
|
|
1567
|
+
/**
|
|
1568
|
+
* Merges this stream and the specified stream together. New produced stream
|
|
1569
|
+
* will terminate when either stream terminates.
|
|
1570
|
+
*
|
|
1571
|
+
* @tsplus pipeable fncts.io.Stream mergeHaltEither
|
|
1572
|
+
*/
|
|
1573
|
+
export function mergeHaltEither(that, __tsplusTrace) {
|
|
1574
|
+
return self => {
|
|
1575
|
+
return merge_1(that, "Either", __tsplusTrace)(self);
|
|
1576
|
+
};
|
|
1577
|
+
}
|
|
1578
|
+
/**
|
|
1579
|
+
* Merges this stream and the specified stream together. New produced stream
|
|
1580
|
+
* will terminate when this stream terminates.
|
|
1581
|
+
*
|
|
1582
|
+
* @tsplus pipeable fncts.io.Stream mergeHaltLeft
|
|
1583
|
+
*/
|
|
1584
|
+
export function mergeHaltLeft(that, __tsplusTrace) {
|
|
1585
|
+
return self => {
|
|
1586
|
+
return merge_1(that, "Left", __tsplusTrace)(self);
|
|
1587
|
+
};
|
|
1588
|
+
}
|
|
1589
|
+
/**
|
|
1590
|
+
* Merges this stream and the specified stream together. New produced stream
|
|
1591
|
+
* will terminate when the specified stream terminates.
|
|
1592
|
+
*
|
|
1593
|
+
* @tsplus pipeable fncts.io.Stream mergeHaltRight
|
|
1594
|
+
*/
|
|
1595
|
+
export function mergeHaltRight(that, __tsplusTrace) {
|
|
1596
|
+
return self => {
|
|
1597
|
+
return merge_1(that, "Right", __tsplusTrace)(self);
|
|
1598
|
+
};
|
|
1599
|
+
}
|
|
1600
|
+
/**
|
|
1601
|
+
* Merges this stream and the specified stream together, discarding the values
|
|
1602
|
+
* from the right stream.
|
|
1603
|
+
*
|
|
1604
|
+
* @tsplus pipeable fncts.io.Stream mergeLeft
|
|
1605
|
+
*/
|
|
1606
|
+
export function mergeLeft(that, __tsplusTrace) {
|
|
1607
|
+
return self => {
|
|
1608
|
+
return merge_1(drain_1(that, __tsplusTrace))(self);
|
|
1609
|
+
};
|
|
1610
|
+
}
|
|
1611
|
+
/**
|
|
1612
|
+
* Merges this stream and the specified stream together, discarding the values
|
|
1613
|
+
* from the left stream.
|
|
1614
|
+
*
|
|
1615
|
+
* @tsplus pipeable fncts.io.Stream mergeRight
|
|
1616
|
+
*/
|
|
1617
|
+
export function mergeRight(that, __tsplusTrace) {
|
|
1618
|
+
return self => {
|
|
1619
|
+
return merge_1(that)(drain_1(self, __tsplusTrace));
|
|
1456
1620
|
};
|
|
1457
1621
|
}
|
|
1458
1622
|
/**
|
|
@@ -1465,7 +1629,7 @@ export function mapIOC(n, f, __tsplusTrace) {
|
|
|
1465
1629
|
*/
|
|
1466
1630
|
function mergeMap_1(f, n, bufferSize = 16, __tsplusTrace) {
|
|
1467
1631
|
return ma => {
|
|
1468
|
-
return new Stream(
|
|
1632
|
+
return new Stream(tsplus_module_58.mergeMap(a => f(a).channel, n, bufferSize)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(ma.channel)));
|
|
1469
1633
|
};
|
|
1470
1634
|
}
|
|
1471
1635
|
/**
|
|
@@ -1488,15 +1652,15 @@ function mergeEither_1(fb, __tsplusTrace) {
|
|
|
1488
1652
|
return mergeWith_1(fb, tsplus_module_18.left, tsplus_module_18.right)(fa);
|
|
1489
1653
|
};
|
|
1490
1654
|
}
|
|
1491
|
-
|
|
1492
|
-
return exit => terminate || !tsplus_module_52.isSuccess(exit) ?
|
|
1655
|
+
function mergeWithHandler(terminate, __tsplusTrace) {
|
|
1656
|
+
return exit => terminate || !tsplus_module_52.isSuccess(exit) ? tsplus_module_59.done(tsplus_module_1.fromExitNow(exit, __tsplusTrace)) : tsplus_module_59.wait(tsplus_module_1.fromExitNow);
|
|
1493
1657
|
}
|
|
1494
1658
|
/**
|
|
1495
1659
|
* @tsplus pipeable fncts.io.Stream mergeWith
|
|
1496
1660
|
*/
|
|
1497
1661
|
function mergeWith_1(sb, l, r, strategy = "Both", __tsplusTrace) {
|
|
1498
1662
|
return sa => {
|
|
1499
|
-
return new Stream(
|
|
1663
|
+
return new Stream(tsplus_module_60.mergeWith(map_1(r, __tsplusTrace)(sb).channel, mergeWithHandler(strategy === "Either" || strategy === "Left", __tsplusTrace), mergeWithHandler(strategy === "Either" || strategy === "Right", __tsplusTrace))(map_1(l, __tsplusTrace)(sa).channel));
|
|
1500
1664
|
};
|
|
1501
1665
|
}
|
|
1502
1666
|
/**
|
|
@@ -1553,7 +1717,7 @@ export function orElseFail(e, __tsplusTrace) {
|
|
|
1553
1717
|
* See also Stream#catchAll.
|
|
1554
1718
|
*/
|
|
1555
1719
|
export function orElseOptional(stream, that, __tsplusTrace) {
|
|
1556
|
-
return catchAll_1(maybeError => tsplus_module_20.match(() => that(), e => failNow_1(tsplus_module_3.just(e), __tsplusTrace))(maybeError), __tsplusTrace)(stream);
|
|
1720
|
+
return catchAll_1(maybeError => tsplus_module_20.match(() => that(), e => failNow_1(tsplus_module_3.just(e, __tsplusTrace), __tsplusTrace))(maybeError), __tsplusTrace)(stream);
|
|
1557
1721
|
}
|
|
1558
1722
|
/**
|
|
1559
1723
|
* Succeeds with the specified value if this one fails with a typed error.
|
|
@@ -1573,6 +1737,14 @@ function pipeThrough_1(sa, __tsplusTrace) {
|
|
|
1573
1737
|
return new Stream(tsplus_module_10.pipeToOrFail(sa.channel)(ma.channel));
|
|
1574
1738
|
};
|
|
1575
1739
|
}
|
|
1740
|
+
/**
|
|
1741
|
+
* @tsplus pipeable fncts.io.Stream pipeThroughChannelOrFail
|
|
1742
|
+
*/
|
|
1743
|
+
function pipeThroughChannelOrFail_1(channel) {
|
|
1744
|
+
return self => {
|
|
1745
|
+
return new Stream(tsplus_module_10.pipeToOrFail(channel)(self.channel));
|
|
1746
|
+
};
|
|
1747
|
+
}
|
|
1576
1748
|
/**
|
|
1577
1749
|
* Provides the stream with its required environment, which eliminates
|
|
1578
1750
|
* its dependency on `R`.
|
|
@@ -1589,7 +1761,7 @@ function provideEnvironment_1(r, __tsplusTrace) {
|
|
|
1589
1761
|
*/
|
|
1590
1762
|
function provideLayer_1(layer, __tsplusTrace) {
|
|
1591
1763
|
return self => {
|
|
1592
|
-
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(r => tsplus_module_10.provideEnvironment(() => r)(self.channel), __tsplusTrace)(
|
|
1764
|
+
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(r => tsplus_module_10.provideEnvironment(() => r)(self.channel), __tsplusTrace)(tsplus_module_61.build(layer, __tsplusTrace))));
|
|
1593
1765
|
};
|
|
1594
1766
|
}
|
|
1595
1767
|
/**
|
|
@@ -1598,7 +1770,7 @@ function provideLayer_1(layer, __tsplusTrace) {
|
|
|
1598
1770
|
export function provideSomeLayer(layer, __tsplusTrace) {
|
|
1599
1771
|
return self => {
|
|
1600
1772
|
// @ts-expect-error
|
|
1601
|
-
return provideLayer_1(
|
|
1773
|
+
return provideLayer_1(tsplus_module_62.and(layer, __tsplusTrace)(tsplus_module_62.environment(__tsplusTrace)), __tsplusTrace)(self);
|
|
1602
1774
|
};
|
|
1603
1775
|
}
|
|
1604
1776
|
class Rechunker {
|
|
@@ -1703,7 +1875,7 @@ export function repeatIOChunk(fa, __tsplusTrace) {
|
|
|
1703
1875
|
* @tsplus static fncts.io.StreamOps repeatIOChunkMaybe
|
|
1704
1876
|
*/
|
|
1705
1877
|
function repeatIOChunkMaybe_1(fa, __tsplusTrace) {
|
|
1706
|
-
return unfoldChunkIO_1(undefined, _ => tsplus_module_1.catchAll(maybeError => tsplus_module_20.match(() => tsplus_module_1.succeedNow(tsplus_module_3.nothing(), __tsplusTrace), tsplus_module_1.failNow)(maybeError), __tsplusTrace)(tsplus_module_1.map(chunk => tsplus_module_3.just(tuple(chunk, undefined)), __tsplusTrace)(fa)), __tsplusTrace);
|
|
1878
|
+
return unfoldChunkIO_1(undefined, _ => tsplus_module_1.catchAll(maybeError => tsplus_module_20.match(() => tsplus_module_1.succeedNow(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), tsplus_module_1.failNow)(maybeError), __tsplusTrace)(tsplus_module_1.map(chunk => tsplus_module_3.just(tuple(chunk, undefined), __tsplusTrace), __tsplusTrace)(fa)), __tsplusTrace);
|
|
1707
1879
|
}
|
|
1708
1880
|
/**
|
|
1709
1881
|
* Runs the sink on the stream to produce either the sink's result or an error.
|
|
@@ -1712,7 +1884,7 @@ function repeatIOChunkMaybe_1(fa, __tsplusTrace) {
|
|
|
1712
1884
|
*/
|
|
1713
1885
|
function run_1(sink, __tsplusTrace) {
|
|
1714
1886
|
return stream => {
|
|
1715
|
-
return
|
|
1887
|
+
return tsplus_module_63.runDrain(tsplus_module_10.pipeToOrFail(sink.channel)(stream.channel));
|
|
1716
1888
|
};
|
|
1717
1889
|
}
|
|
1718
1890
|
/**
|
|
@@ -1745,9 +1917,9 @@ function runForeachScoped_1(f, __tsplusTrace) {
|
|
|
1745
1917
|
*
|
|
1746
1918
|
* @tsplus pipeable fncts.io.Stream runIntoElementsScoped
|
|
1747
1919
|
*/
|
|
1748
|
-
function
|
|
1920
|
+
export function runIntoElementsScoped_(queue, __tsplusTrace) {
|
|
1749
1921
|
return stream => {
|
|
1750
|
-
const writer = tsplus_module_10.readWith(inp => tsplus_module_11.zipRight(writer)(tsplus_module_12.foldLeft(tsplus_module_10.unit, (channel, a) => tsplus_module_11.zipRight(tsplus_module_10.writeNow(tsplus_module_41.succeed(a)))(channel))(inp)), err => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.just(err))), () => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.nothing())));
|
|
1922
|
+
const writer = tsplus_module_10.readWith(inp => tsplus_module_11.zipRight(writer)(tsplus_module_12.foldLeft(tsplus_module_10.unit, (channel, a) => tsplus_module_11.zipRight(tsplus_module_10.writeNow(tsplus_module_41.succeed(a, __tsplusTrace)))(channel))(inp)), err => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.just(err, __tsplusTrace), __tsplusTrace)), () => tsplus_module_10.writeNow(tsplus_module_41.fail(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace)));
|
|
1751
1923
|
return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO(exit => tsplus_module_28.offer(exit, __tsplusTrace)(queue))(tsplus_module_10.pipeTo(writer)(stream.channel)))), __tsplusTrace);
|
|
1752
1924
|
};
|
|
1753
1925
|
}
|
|
@@ -1763,6 +1935,21 @@ function runIntoQueueScoped_1(queue, __tsplusTrace) {
|
|
|
1763
1935
|
return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO(take => tsplus_module_28.offer(take, __tsplusTrace)(queue))(tsplus_module_10.pipeTo(writer)(stream.channel)))), __tsplusTrace);
|
|
1764
1936
|
};
|
|
1765
1937
|
}
|
|
1938
|
+
/**
|
|
1939
|
+
* Like runIntoQueue, but provides the result as a scoped IO
|
|
1940
|
+
* to allow for scope composition.
|
|
1941
|
+
*
|
|
1942
|
+
* @tsplus pipeable fncts.io.Stream runIntoQueueElementsScoped
|
|
1943
|
+
*/
|
|
1944
|
+
function runIntoQueueElementsScoped_1(queue) {
|
|
1945
|
+
return self => {
|
|
1946
|
+
return tsplus_module_1.defer(() => {
|
|
1947
|
+
const queue0 = queue();
|
|
1948
|
+
const writer = tsplus_module_10.readWithCause(inp => tsplus_module_11.zipRight(writer)(tsplus_module_10.fromIO(() => tsplus_module_28.offerAll(tsplus_module_12.map(a => tsplus_module_41.succeed(a, fileName_1 + ":2799:85"))(inp), fileName_1 + ":2799:57")(queue0))), cause => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_41.failCause(tsplus_module_25.map(e => tsplus_module_3.just(e, fileName_1 + ":2800:84"))(cause), fileName_1 + ":2800:62"), fileName_1 + ":2800:47")(queue0)), () => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_41.fail(tsplus_module_3.nothing(fileName_1 + ":2801:60"), fileName_1 + ":2801:52"), fileName_1 + ":2801:42")(queue0)));
|
|
1949
|
+
return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.pipeTo(writer)(self.channel))), fileName_1 + ":2804:55");
|
|
1950
|
+
}, fileName_1 + ":2796:20");
|
|
1951
|
+
};
|
|
1952
|
+
}
|
|
1766
1953
|
/**
|
|
1767
1954
|
* Like `Stream#runIntoHub`, but provides the result as a `Managed` to allow for scope
|
|
1768
1955
|
* composition.
|
|
@@ -1825,7 +2012,34 @@ export function scanReduce(f, __tsplusTrace) {
|
|
|
1825
2012
|
*/
|
|
1826
2013
|
function scanReduceIO_1(f, __tsplusTrace) {
|
|
1827
2014
|
return fa => {
|
|
1828
|
-
return mapAccumIO_1(tsplus_module_3.nothing(), (s, a) => tsplus_module_20.match(() => tsplus_module_1.succeedNow([a, tsplus_module_3.just(a)], __tsplusTrace), b => tsplus_module_1.map(b => [b, tsplus_module_3.just(b)], __tsplusTrace)(f(b, a)))(s), __tsplusTrace)(fa);
|
|
2015
|
+
return mapAccumIO_1(tsplus_module_3.nothing(__tsplusTrace), (s, a) => tsplus_module_20.match(() => tsplus_module_1.succeedNow([a, tsplus_module_3.just(a, __tsplusTrace)], __tsplusTrace), b => tsplus_module_1.map(b => [b, tsplus_module_3.just(b, __tsplusTrace)], __tsplusTrace)(f(b, a)))(s), __tsplusTrace)(fa);
|
|
2016
|
+
};
|
|
2017
|
+
}
|
|
2018
|
+
/**
|
|
2019
|
+
* @tsplus pipeable fncts.io.Stream split
|
|
2020
|
+
*/
|
|
2021
|
+
export function split(predicate, __tsplusTrace) {
|
|
2022
|
+
return self => {
|
|
2023
|
+
function split(leftovers, input) {
|
|
2024
|
+
const [chunk, remaining] = tsplus_module_12.splitWhere(predicate)(tsplus_module_12.concat(input)(leftovers));
|
|
2025
|
+
if (tsplus_module_12.isEmpty(chunk) || tsplus_module_12.isEmpty(remaining)) {
|
|
2026
|
+
return loop(tsplus_module_12.concat(tsplus_module_12.drop(1)(remaining))(chunk));
|
|
2027
|
+
} else {
|
|
2028
|
+
return tsplus_module_11.zipRight(split(tsplus_module_7.empty(), tsplus_module_12.drop(1)(remaining)))(tsplus_module_10.writeNow(tsplus_module_19.single(chunk)));
|
|
2029
|
+
}
|
|
2030
|
+
}
|
|
2031
|
+
function loop(leftovers) {
|
|
2032
|
+
return tsplus_module_10.readWith(input => split(leftovers, input), tsplus_module_10.failNow, _ => {
|
|
2033
|
+
if (tsplus_module_12.isEmpty(leftovers)) {
|
|
2034
|
+
return tsplus_module_10.unit;
|
|
2035
|
+
} else if (tsplus_module_64.isNothing(tsplus_module_12.find(predicate)(leftovers))) {
|
|
2036
|
+
return tsplus_module_11.zipRight(tsplus_module_10.unit)(tsplus_module_10.writeNow(tsplus_module_19.single(leftovers)));
|
|
2037
|
+
} else {
|
|
2038
|
+
return tsplus_module_11.zipRight(tsplus_module_10.unit)(split(tsplus_module_7.empty(), leftovers));
|
|
2039
|
+
}
|
|
2040
|
+
});
|
|
2041
|
+
}
|
|
2042
|
+
return new Stream(tsplus_module_10.pipeTo(loop(tsplus_module_7.empty()))(self.channel));
|
|
1829
2043
|
};
|
|
1830
2044
|
}
|
|
1831
2045
|
/**
|
|
@@ -1866,7 +2080,7 @@ export function take(n, __tsplusTrace) {
|
|
|
1866
2080
|
return empty_1;
|
|
1867
2081
|
}
|
|
1868
2082
|
if (!Number.isInteger(n)) {
|
|
1869
|
-
return halt_1(() => new
|
|
2083
|
+
return halt_1(() => new tsplus_module_65.IllegalArgumentError(`${n} should be an integer`, "Stream.take"), __tsplusTrace);
|
|
1870
2084
|
}
|
|
1871
2085
|
return new Stream(tsplus_module_10.pipeTo(takeLoop(n, __tsplusTrace))(stream.channel));
|
|
1872
2086
|
};
|
|
@@ -1912,11 +2126,58 @@ export function takeUntil(p, __tsplusTrace) {
|
|
|
1912
2126
|
/**
|
|
1913
2127
|
* @tsplus pipeable fncts.io.Stream tap
|
|
1914
2128
|
*/
|
|
1915
|
-
|
|
2129
|
+
function tap_1(f, __tsplusTrace) {
|
|
1916
2130
|
return ma => {
|
|
1917
2131
|
return mapIO_1(a => tsplus_module_1.as(() => a, __tsplusTrace)(f(a)), __tsplusTrace)(ma);
|
|
1918
2132
|
};
|
|
1919
2133
|
}
|
|
2134
|
+
/**
|
|
2135
|
+
* Returns a stream that effectfully "peeks" at the failure and adds an effect
|
|
2136
|
+
* to consumption of every element of the stream
|
|
2137
|
+
*
|
|
2138
|
+
* @tsplus pipeable fncts.io.Stream tapBoth
|
|
2139
|
+
*/
|
|
2140
|
+
export function tapBoth(f, g, __tsplusTrace) {
|
|
2141
|
+
return self => {
|
|
2142
|
+
return tap_1(g, __tsplusTrace)(tapError_1(f, __tsplusTrace)(self));
|
|
2143
|
+
};
|
|
2144
|
+
}
|
|
2145
|
+
/**
|
|
2146
|
+
* Returns a stream that effectfully "peeks" at the failure of the stream.
|
|
2147
|
+
*
|
|
2148
|
+
* @tsplus pipeable fncts.io.Stream tapError
|
|
2149
|
+
*/
|
|
2150
|
+
function tapError_1(f, __tsplusTrace) {
|
|
2151
|
+
return self => {
|
|
2152
|
+
return catchAll_1(e => fromIO_1(f(e), __tsplusTrace), __tsplusTrace)(self);
|
|
2153
|
+
};
|
|
2154
|
+
}
|
|
2155
|
+
/**
|
|
2156
|
+
* Returns a stream that effectfully "peeks" at the cause of failure of the
|
|
2157
|
+
* stream.
|
|
2158
|
+
*
|
|
2159
|
+
* @tsplus pipeable fncts.io.Stream tapErrorCause
|
|
2160
|
+
*/
|
|
2161
|
+
export function tapErrorCause(f, __tsplusTrace) {
|
|
2162
|
+
return self => {
|
|
2163
|
+
return catchAllCause_1(e => fromIO_1(tsplus_module_1.zipRight(tsplus_module_1.refailCause(e, __tsplusTrace), __tsplusTrace)(f(e)), __tsplusTrace), __tsplusTrace)(self);
|
|
2164
|
+
};
|
|
2165
|
+
}
|
|
2166
|
+
/**
|
|
2167
|
+
* Sends all elements emitted by this stream to the specified sink in addition
|
|
2168
|
+
* to emitting them.
|
|
2169
|
+
*
|
|
2170
|
+
* @tsplus pipeable fncts.io.Stream tapSink
|
|
2171
|
+
*/
|
|
2172
|
+
export function tapSink(sink, __tsplusTrace) {
|
|
2173
|
+
return self => {
|
|
2174
|
+
return flatMap_1(([queue, future]) => {
|
|
2175
|
+
const right = flattenTake_1(fromQueue_1(queue, 1, __tsplusTrace), __tsplusTrace);
|
|
2176
|
+
const loop = tsplus_module_10.readWithCause(chunk => tsplus_module_11.zipRight(loop)(tsplus_module_11.zipRight(tsplus_module_10.writeNow(chunk))(tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_27.chunk(chunk), __tsplusTrace)(queue)))), cause => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_27.failCause(cause), __tsplusTrace)(queue)), () => tsplus_module_10.fromIO(() => tsplus_module_28.offer(tsplus_module_27.end, __tsplusTrace)(queue)));
|
|
2177
|
+
return merge_1(execute_1(tsplus_module_66.ensuring(tsplus_module_37.succeed_(undefined, __tsplusTrace)(future), __tsplusTrace)(run_1(sink, __tsplusTrace)(right)), __tsplusTrace), "Both", __tsplusTrace)(new Stream(tsplus_module_10.ensuring(tsplus_module_1.zipRight(tsplus_module_37.wait(future, __tsplusTrace), __tsplusTrace)(tsplus_module_24.forkDaemon(tsplus_module_28.offer(tsplus_module_27.end, __tsplusTrace)(queue), __tsplusTrace)))(tsplus_module_10.pipeTo(loop)(self.channel))));
|
|
2178
|
+
}, __tsplusTrace)(fromIO_1(tsplus_module_1.zip(tsplus_module_38.make(__tsplusTrace), __tsplusTrace)(tsplus_module_30.makeBounded(1, __tsplusTrace)), __tsplusTrace));
|
|
2179
|
+
};
|
|
2180
|
+
}
|
|
1920
2181
|
/**
|
|
1921
2182
|
* Throttles the chunks of this stream according to the given bandwidth parameters using the token bucket
|
|
1922
2183
|
* algorithm. Allows for burst in the processing of elements by allowing the token bucket to accumulate
|
|
@@ -1972,7 +2233,7 @@ function toHub_1(capacity, __tsplusTrace) {
|
|
|
1972
2233
|
* @tsplus getter fncts.io.Stream toPull
|
|
1973
2234
|
*/
|
|
1974
2235
|
function toPull_1(stream, __tsplusTrace) {
|
|
1975
|
-
return tsplus_module_1.map(io => tsplus_module_1.flatMap(r => tsplus_module_4.match(() => tsplus_module_1.failNow(tsplus_module_3.nothing(), __tsplusTrace), tsplus_module_1.succeedNow)(r), __tsplusTrace)(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(io)), __tsplusTrace)(
|
|
2236
|
+
return tsplus_module_1.map(io => tsplus_module_1.flatMap(r => tsplus_module_4.match(() => tsplus_module_1.failNow(tsplus_module_3.nothing(__tsplusTrace), __tsplusTrace), tsplus_module_1.succeedNow)(r), __tsplusTrace)(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(io)), __tsplusTrace)(tsplus_module_67.toPull(stream.channel));
|
|
1976
2237
|
}
|
|
1977
2238
|
/**
|
|
1978
2239
|
* Converts the stream to a managed queue of chunks. After the managed queue is used,
|
|
@@ -1998,7 +2259,7 @@ export function toQueueDropping(capacity = 2, __tsplusTrace) {
|
|
|
1998
2259
|
*/
|
|
1999
2260
|
function toQueueOfElements_1(capacity = 2, __tsplusTrace) {
|
|
2000
2261
|
return stream => {
|
|
2001
|
-
return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(
|
|
2262
|
+
return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(tsplus_module_17.forkScoped(runIntoQueueElementsScoped_1(() => queue)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_31.acquireRelease(() => tsplus_module_30.makeBounded(capacity, __tsplusTrace), _ => tsplus_module_28.shutdown(_, __tsplusTrace), __tsplusTrace));
|
|
2002
2263
|
};
|
|
2003
2264
|
}
|
|
2004
2265
|
/**
|