@fncts/io 0.0.20 → 0.0.22
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/Cached/api.d.ts +2 -2
- package/Channel/ChildExecutorDecision/api.d.ts +2 -2
- package/Channel/UpstreamPullRequest/api.d.ts +2 -2
- package/Channel/api/interruptWhen.d.ts +5 -5
- package/Channel/api/mapOutConcurrentIO.d.ts +8 -0
- package/Channel/api/mergeAll.d.ts +2 -2
- package/Channel/api/mergeAllUnboundedWith.d.ts +2 -2
- package/Channel/api/mergeAllWith.d.ts +2 -2
- package/Channel/api/mergeMap.d.ts +2 -2
- package/Channel/api/mergeWith.d.ts +2 -2
- package/Channel/api/zipConcurrent.d.ts +16 -0
- package/Channel/api.d.ts +62 -62
- package/Channel/core-api.d.ts +11 -11
- package/Channel/definition.d.ts +35 -21
- package/Channel/internal/SingleProducerAsyncInput.d.ts +1 -1
- package/CountdownLatch.d.ts +25 -0
- package/Fiber/FiberMessage.d.ts +67 -0
- package/Fiber/FiberRuntime.d.ts +116 -0
- package/Fiber/api/interrupt.d.ts +1 -1
- package/Fiber/api/interruptAs.d.ts +6 -1
- package/Fiber/api/location.d.ts +1 -2
- package/Fiber/api/mapFiber.d.ts +2 -2
- package/Fiber/api/mapIO.d.ts +5 -5
- package/Fiber/api/zipWith.d.ts +2 -2
- package/Fiber/definition.d.ts +17 -16
- package/Fiber.d.ts +2 -3
- package/FiberDescriptor.d.ts +3 -6
- package/FiberRef/api/locallyScoped.d.ts +2 -2
- package/FiberRef/api/locallyScopedWith.d.ts +2 -2
- package/FiberRef/api.d.ts +18 -18
- package/FiberRef/definition.d.ts +2 -2
- package/FiberRef/unsafe.d.ts +5 -0
- package/FiberRefs/api.d.ts +30 -2
- package/FiberRefs/definition.d.ts +14 -7
- package/FiberRefs/join.d.ts +3 -3
- package/FiberScope/constructors.d.ts +2 -2
- package/FiberScope/definition.d.ts +8 -5
- package/FiberStatus/constructors.d.ts +3 -7
- package/FiberStatus/definition.d.ts +16 -28
- package/Future/api.d.ts +21 -21
- package/Hub/api.d.ts +27 -25
- package/Hub/definition.d.ts +13 -9
- package/IO/api/acquireRelease.d.ts +1 -1
- package/IO/api/acquireReleaseExit.d.ts +1 -1
- package/IO/api/asyncInterrupt.d.ts +39 -0
- package/IO/api/bracket.d.ts +1 -1
- package/IO/api/bracketExit.d.ts +1 -1
- package/IO/api/concurrency.d.ts +2 -2
- package/IO/api/core-scope.d.ts +7 -43
- package/IO/api/delay.d.ts +8 -0
- package/IO/api/ensuringChildren.d.ts +3 -3
- package/IO/api/environment.d.ts +11 -15
- package/IO/api/{foreachC.d.ts → foreachConcurrent.d.ts} +8 -8
- package/IO/api/foreachExec.d.ts +1 -1
- package/IO/api/fork.d.ts +36 -0
- package/IO/api/forkIn.d.ts +3 -3
- package/IO/api/fulfill.d.ts +3 -3
- package/IO/api/interrupt.d.ts +9 -13
- package/IO/api/onExit.d.ts +3 -3
- package/IO/api/onTermination.d.ts +4 -4
- package/IO/api/provideLayer.d.ts +3 -3
- package/IO/api/provideSomeLayer.d.ts +3 -7
- package/IO/api/race.d.ts +2 -2
- package/IO/api/raceFirst.d.ts +2 -2
- package/IO/api/repeat.d.ts +3 -3
- package/IO/api/retry.d.ts +7 -7
- package/IO/api/schedule.d.ts +5 -5
- package/IO/api/scoped.d.ts +2 -2
- package/IO/api/supervised.d.ts +2 -4
- package/IO/api/timeout.d.ts +5 -5
- package/IO/api/withFinalizer.d.ts +3 -3
- package/IO/api/withFinalizerExit.d.ts +3 -3
- package/IO/api/zipConcurrent.d.ts +13 -0
- package/IO/api.d.ts +208 -306
- package/IO/definition.d.ts +111 -130
- package/IO/runtime.d.ts +19 -22
- package/IO.d.ts +5 -3
- package/Layer/MemoMap.d.ts +5 -5
- package/Layer/api.d.ts +28 -28
- package/LogLevel.d.ts +12 -12
- package/LogSpan.d.ts +2 -2
- package/Logger/api.d.ts +5 -5
- package/Push/api.d.ts +232 -0
- package/Push/definition.d.ts +34 -0
- package/Push/internal.d.ts +11 -0
- package/Push.d.ts +3 -0
- package/Queue/api/dimapIO.d.ts +70 -13
- package/Queue/api/filterInputIO.d.ts +12 -20
- package/Queue/api/filterOutputIO.d.ts +10 -21
- package/Queue/api/operations.d.ts +15 -14
- package/Queue/api/poll.d.ts +2 -2
- package/Queue/api/takeBetween.d.ts +3 -3
- package/Queue/api/zipWithIO.d.ts +7 -24
- package/Queue/definition.d.ts +112 -8
- package/Queue/internal.d.ts +7 -7
- package/Ref/Atomic.d.ts +22 -2
- package/Ref/Derived.d.ts +4 -2
- package/Ref/DerivedAll.d.ts +7 -3
- package/Ref/Synchronized/api.d.ts +31 -29
- package/Ref/Synchronized/constructors.d.ts +1 -1
- package/Ref/Synchronized/definition.d.ts +6 -4
- package/Ref/Synchronized.d.ts +3 -0
- package/Ref/api/collect.d.ts +3 -3
- package/Ref/api/dimap.d.ts +21 -21
- package/Ref/api/filter.d.ts +7 -6
- package/Ref/api/get.d.ts +1 -1
- package/Ref/api/match.d.ts +3 -3
- package/Ref/api/matchAll.d.ts +1 -1
- package/Ref/api/modify.d.ts +27 -27
- package/Ref/api/set.d.ts +3 -3
- package/Ref/constructors.d.ts +1 -1
- package/Ref/definition.d.ts +46 -20
- package/Ref/symbols.d.ts +30 -0
- package/Ref.d.ts +2 -0
- package/RefSubject/Atomic.d.ts +36 -0
- package/RefSubject/Synchronized/api.d.ts +9 -0
- package/RefSubject/Synchronized/definition.d.ts +40 -0
- package/RefSubject/api.d.ts +116 -0
- package/RefSubject/definition.d.ts +45 -0
- package/RefSubject.d.ts +3 -0
- package/RuntimeConfig.d.ts +0 -24
- package/RuntimeFlag.d.ts +10 -0
- package/RuntimeFlags/Patch.d.ts +53 -0
- package/RuntimeFlags/RuntimeFlags.d.ts +82 -0
- package/RuntimeFlags.d.ts +2 -0
- package/STM/api/core-api.d.ts +10 -10
- package/STM/api.d.ts +61 -61
- package/STM/internal/Journal.d.ts +4 -4
- package/Schedule/Decision.d.ts +2 -2
- package/Schedule/api.d.ts +121 -105
- package/Scope/ReleaseMap/api/releaseAll.d.ts +2 -2
- package/Scope/ReleaseMap/api.d.ts +10 -10
- package/Scope/ReleaseMap/definition.d.ts +1 -1
- package/Scope/api.d.ts +8 -8
- package/ScopedRef/api.d.ts +1 -1
- package/Sink/api.d.ts +66 -66
- package/State/api.d.ts +4 -4
- package/State/internal.d.ts +1 -1
- package/Stream/api/zipAllWith.d.ts +2 -2
- package/Stream/api/zipWith.d.ts +2 -2
- package/Stream/api/zipWithChunks.d.ts +2 -2
- package/Stream/api.d.ts +217 -205
- package/Stream/internal/DebounceState.d.ts +3 -3
- package/Stream/internal/Handoff.d.ts +6 -6
- package/Stream/internal/SinkEndReason.d.ts +3 -3
- package/Stream/internal/Take.d.ts +8 -8
- package/Subject/Atomic.d.ts +18 -0
- package/Subject/api.d.ts +13 -0
- package/Subject/definition.d.ts +15 -0
- package/Subject.d.ts +3 -0
- package/SubscriptionRef.d.ts +38 -0
- package/Supervisor/api.d.ts +4 -4
- package/SupervisorPatch.d.ts +4 -4
- package/TExit/definition.d.ts +2 -2
- package/TFuture/api.d.ts +7 -7
- package/TFuture/definition.d.ts +2 -2
- package/TReentrantLock/api.d.ts +4 -4
- package/TReentrantLock/definition.d.ts +3 -3
- package/TRef/api.d.ts +26 -27
- package/TRef/constructors.d.ts +6 -6
- package/TRef/definition.d.ts +47 -34
- package/TRef/symbols.d.ts +20 -0
- package/TRef.d.ts +1 -0
- package/TSemaphore/api.d.ts +4 -4
- package/TSemaphore/constructors.d.ts +6 -0
- package/TSemaphore/definition.d.ts +2 -2
- package/_cjs/Cached/api.cjs +9 -32
- package/_cjs/Cached/api.cjs.map +1 -1
- package/_cjs/Cached/definition.cjs +2 -7
- package/_cjs/Cached/definition.cjs.map +1 -1
- package/_cjs/Cached/internal.cjs +0 -3
- package/_cjs/Cached/internal.cjs.map +1 -1
- package/_cjs/Cached.cjs +0 -6
- package/_cjs/Cached.cjs.map +1 -1
- package/_cjs/CancellerState.cjs +3 -22
- package/_cjs/CancellerState.cjs.map +1 -1
- package/_cjs/Channel/ChildExecutorDecision/api.cjs +19 -20
- package/_cjs/Channel/ChildExecutorDecision/api.cjs.map +1 -1
- package/_cjs/Channel/ChildExecutorDecision/definition.cjs +0 -5
- package/_cjs/Channel/ChildExecutorDecision/definition.cjs.map +1 -1
- package/_cjs/Channel/ChildExecutorDecision.cjs +0 -4
- package/_cjs/Channel/ChildExecutorDecision.cjs.map +1 -1
- package/_cjs/Channel/UpstreamPullRequest/api.cjs +15 -20
- package/_cjs/Channel/UpstreamPullRequest/api.cjs.map +1 -1
- package/_cjs/Channel/UpstreamPullRequest/definition.cjs +0 -6
- package/_cjs/Channel/UpstreamPullRequest/definition.cjs.map +1 -1
- package/_cjs/Channel/UpstreamPullRequest.cjs +0 -4
- package/_cjs/Channel/UpstreamPullRequest.cjs.map +1 -1
- package/_cjs/Channel/UpstreamPullStrategy/definition.cjs +0 -4
- package/_cjs/Channel/UpstreamPullStrategy/definition.cjs.map +1 -1
- package/_cjs/Channel/UpstreamPullStrategy.cjs +0 -2
- package/_cjs/Channel/UpstreamPullStrategy.cjs.map +1 -1
- package/_cjs/Channel/api/interruptWhen.cjs +14 -22
- package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs +42 -0
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -0
- package/_cjs/Channel/api/mergeAll.cjs +6 -8
- package/_cjs/Channel/api/mergeAll.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllUnboundedWith.cjs +6 -8
- package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +40 -71
- package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeMap.cjs +6 -9
- package/_cjs/Channel/api/mergeMap.cjs.map +1 -1
- package/_cjs/Channel/api/mergeWith.cjs +35 -67
- package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
- package/_cjs/Channel/api/run.cjs +1 -7
- package/_cjs/Channel/api/run.cjs.map +1 -1
- package/_cjs/Channel/api/runCollect.cjs +0 -5
- package/_cjs/Channel/api/runCollect.cjs.map +1 -1
- package/_cjs/Channel/api/runDrain.cjs +0 -5
- package/_cjs/Channel/api/runDrain.cjs.map +1 -1
- package/_cjs/Channel/api/runScoped.cjs +6 -28
- package/_cjs/Channel/api/runScoped.cjs.map +1 -1
- package/_cjs/Channel/api/toPull.cjs +7 -29
- package/_cjs/Channel/api/toPull.cjs.map +1 -1
- package/_cjs/Channel/api/{zipC.cjs → zipConcurrent.cjs} +22 -30
- package/_cjs/Channel/api/zipConcurrent.cjs.map +1 -0
- package/_cjs/Channel/api.cjs +242 -367
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Channel/core-api.cjs +34 -48
- package/_cjs/Channel/core-api.cjs.map +1 -1
- package/_cjs/Channel/definition.cjs +20 -106
- package/_cjs/Channel/definition.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelExecutor.cjs +161 -371
- package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelState.cjs +5 -37
- package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
- package/_cjs/Channel/internal/MergeDecision.cjs +4 -27
- package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
- package/_cjs/Channel/internal/MergeState.cjs +3 -24
- package/_cjs/Channel/internal/MergeState.cjs.map +1 -1
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +37 -131
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
- package/_cjs/Channel.cjs +0 -6
- package/_cjs/Channel.cjs.map +1 -1
- package/_cjs/Clock/api.cjs +0 -7
- package/_cjs/Clock/api.cjs.map +1 -1
- package/_cjs/Clock/definition.cjs +0 -6
- package/_cjs/Clock/definition.cjs.map +1 -1
- package/_cjs/Clock/live.cjs +2 -12
- package/_cjs/Clock/live.cjs.map +1 -1
- package/_cjs/Clock.cjs +0 -6
- package/_cjs/Clock.cjs.map +1 -1
- package/_cjs/Console/api.cjs +0 -7
- package/_cjs/Console/api.cjs.map +1 -1
- package/_cjs/Console/definition.cjs +0 -6
- package/_cjs/Console/definition.cjs.map +1 -1
- package/_cjs/Console/live.cjs +0 -11
- package/_cjs/Console/live.cjs.map +1 -1
- package/_cjs/Console.cjs +0 -6
- package/_cjs/Console.cjs.map +1 -1
- package/_cjs/CountdownLatch.cjs +50 -0
- package/_cjs/CountdownLatch.cjs.map +1 -0
- package/_cjs/Differ/api.cjs +5 -28
- package/_cjs/Differ/api.cjs.map +1 -1
- package/_cjs/Differ/definition.cjs +0 -4
- package/_cjs/Differ/definition.cjs.map +1 -1
- package/_cjs/Fiber/FiberMessage.cjs +72 -0
- package/_cjs/Fiber/FiberMessage.cjs.map +1 -0
- package/_cjs/Fiber/FiberRuntime.cjs +735 -0
- package/_cjs/Fiber/FiberRuntime.cjs.map +1 -0
- package/_cjs/Fiber/api/await.cjs +0 -1
- package/_cjs/Fiber/api/await.cjs.map +1 -1
- package/_cjs/Fiber/api/awaitAll.cjs +2 -8
- package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
- package/_cjs/Fiber/api/children.cjs +0 -1
- package/_cjs/Fiber/api/children.cjs.map +1 -1
- package/_cjs/Fiber/api/collectAll.cjs +3 -25
- package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
- package/_cjs/Fiber/api/fromIO.cjs +1 -6
- package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
- package/_cjs/Fiber/api/id.cjs +0 -1
- package/_cjs/Fiber/api/id.cjs.map +1 -1
- package/_cjs/Fiber/api/inheritRefs.cjs +1 -2
- package/_cjs/Fiber/api/inheritRefs.cjs.map +1 -1
- package/_cjs/Fiber/api/interrupt.cjs +3 -8
- package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptAll.cjs +3 -13
- package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptAs.cjs +15 -8
- package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptFork.cjs +2 -9
- package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
- package/_cjs/Fiber/api/join.cjs +3 -6
- package/_cjs/Fiber/api/join.cjs.map +1 -1
- package/_cjs/Fiber/api/joinAll.cjs +1 -7
- package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
- package/_cjs/Fiber/api/location.cjs +1 -8
- package/_cjs/Fiber/api/location.cjs.map +1 -1
- package/_cjs/Fiber/api/mapFiber.cjs +6 -11
- package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
- package/_cjs/Fiber/api/mapIO.cjs +14 -27
- package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
- package/_cjs/Fiber/api/poll.cjs +0 -1
- package/_cjs/Fiber/api/poll.cjs.map +1 -1
- package/_cjs/Fiber/api/zipWith.cjs +7 -21
- package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
- package/_cjs/Fiber/constructors.cjs +0 -18
- package/_cjs/Fiber/constructors.cjs.map +1 -1
- package/_cjs/Fiber/definition.cjs +11 -14
- package/_cjs/Fiber/definition.cjs.map +1 -1
- package/_cjs/Fiber.cjs +15 -72
- package/_cjs/Fiber.cjs.map +1 -1
- package/_cjs/FiberDescriptor.cjs +1 -6
- package/_cjs/FiberDescriptor.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScoped.cjs +6 -10
- package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScopedWith.cjs +5 -8
- package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
- package/_cjs/FiberRef/api.cjs +78 -97
- package/_cjs/FiberRef/api.cjs.map +1 -1
- package/_cjs/FiberRef/constructors.cjs +1 -11
- package/_cjs/FiberRef/constructors.cjs.map +1 -1
- package/_cjs/FiberRef/definition.cjs +5 -23
- package/_cjs/FiberRef/definition.cjs.map +1 -1
- package/_cjs/FiberRef/unsafe.cjs +20 -48
- package/_cjs/FiberRef/unsafe.cjs.map +1 -1
- package/_cjs/FiberRef.cjs +0 -12
- package/_cjs/FiberRef.cjs.map +1 -1
- package/_cjs/FiberRefs/api.cjs +74 -32
- package/_cjs/FiberRefs/api.cjs.map +1 -1
- package/_cjs/FiberRefs/definition.cjs +5 -17
- package/_cjs/FiberRefs/definition.cjs.map +1 -1
- package/_cjs/FiberRefs/join.cjs +51 -71
- package/_cjs/FiberRefs/join.cjs.map +1 -1
- package/_cjs/FiberRefs.cjs +0 -6
- package/_cjs/FiberRefs.cjs.map +1 -1
- package/_cjs/FiberScope/constructors.cjs +0 -4
- package/_cjs/FiberScope/constructors.cjs.map +1 -1
- package/_cjs/FiberScope/definition.cjs +15 -20
- package/_cjs/FiberScope/definition.cjs.map +1 -1
- package/_cjs/FiberScope.cjs +0 -4
- package/_cjs/FiberScope.cjs.map +1 -1
- package/_cjs/FiberStatus/constructors.cjs +5 -20
- package/_cjs/FiberStatus/constructors.cjs.map +1 -1
- package/_cjs/FiberStatus/definition.cjs +18 -77
- package/_cjs/FiberStatus/definition.cjs.map +1 -1
- package/_cjs/FiberStatus.cjs +0 -4
- package/_cjs/FiberStatus.cjs.map +1 -1
- package/_cjs/Future/api.cjs +99 -141
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/Future/constructors.cjs +1 -12
- package/_cjs/Future/constructors.cjs.map +1 -1
- package/_cjs/Future/definition.cjs +2 -15
- package/_cjs/Future/definition.cjs.map +1 -1
- package/_cjs/Future.cjs +0 -6
- package/_cjs/Future.cjs.map +1 -1
- package/_cjs/Hub/api.cjs +112 -172
- package/_cjs/Hub/api.cjs.map +1 -1
- package/_cjs/Hub/definition.cjs +14 -7
- package/_cjs/Hub/definition.cjs.map +1 -1
- package/_cjs/Hub/internal.cjs +30 -122
- package/_cjs/Hub/internal.cjs.map +1 -1
- package/_cjs/Hub.cjs +0 -4
- package/_cjs/Hub.cjs.map +1 -1
- package/_cjs/IO/api/acquireRelease.cjs +0 -4
- package/_cjs/IO/api/acquireRelease.cjs.map +1 -1
- package/_cjs/IO/api/acquireReleaseExit.cjs +1 -7
- package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
- package/_cjs/IO/api/acquireReleaseInterruptible.cjs +0 -4
- package/_cjs/IO/api/acquireReleaseInterruptible.cjs.map +1 -1
- package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs +2 -6
- package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
- package/_cjs/IO/api/addFinalizer.cjs +0 -4
- package/_cjs/IO/api/addFinalizer.cjs.map +1 -1
- package/_cjs/IO/api/addFinalizerExit.cjs +1 -8
- package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
- package/_cjs/IO/api/asyncIO.cjs +8 -16
- package/_cjs/IO/api/asyncIO.cjs.map +1 -1
- package/_cjs/IO/api/asyncInterrupt.cjs +77 -0
- package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -0
- package/_cjs/IO/api/bracket.cjs +3 -7
- package/_cjs/IO/api/bracket.cjs.map +1 -1
- package/_cjs/IO/api/bracketExit.cjs +3 -10
- package/_cjs/IO/api/bracketExit.cjs.map +1 -1
- package/_cjs/IO/api/clockWith.cjs +2 -14
- package/_cjs/IO/api/clockWith.cjs.map +1 -1
- package/_cjs/IO/api/concurrency.cjs +9 -22
- package/_cjs/IO/api/concurrency.cjs.map +1 -1
- package/_cjs/IO/api/concurrentFinalizers.cjs +1 -8
- package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
- package/_cjs/IO/api/consoleWith.cjs +2 -14
- package/_cjs/IO/api/consoleWith.cjs.map +1 -1
- package/_cjs/IO/api/core-scope.cjs +60 -126
- package/_cjs/IO/api/core-scope.cjs.map +1 -1
- package/_cjs/{Fiber/api/evalOn.cjs → IO/api/delay.cjs} +10 -18
- package/_cjs/IO/api/delay.cjs.map +1 -0
- package/_cjs/IO/api/ensuringChildren.cjs +7 -10
- package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
- package/_cjs/IO/api/environment.cjs +35 -64
- package/_cjs/IO/api/environment.cjs.map +1 -1
- package/_cjs/IO/api/{foreachC.cjs → foreachConcurrent.cjs} +36 -73
- package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -0
- package/_cjs/IO/api/foreachExec.cjs +4 -11
- package/_cjs/IO/api/foreachExec.cjs.map +1 -1
- package/_cjs/IO/api/fork.cjs +75 -0
- package/_cjs/IO/api/fork.cjs.map +1 -0
- package/_cjs/IO/api/forkAll.cjs +3 -7
- package/_cjs/IO/api/forkAll.cjs.map +1 -1
- package/_cjs/IO/api/forkIn.cjs +8 -14
- package/_cjs/IO/api/forkIn.cjs.map +1 -1
- package/_cjs/IO/api/forkScoped.cjs +1 -9
- package/_cjs/IO/api/forkScoped.cjs.map +1 -1
- package/_cjs/IO/api/fulfill.cjs +8 -12
- package/_cjs/IO/api/fulfill.cjs.map +1 -1
- package/_cjs/IO/api/interrupt.cjs +51 -77
- package/_cjs/IO/api/interrupt.cjs.map +1 -1
- package/_cjs/IO/api/memoize.cjs +1 -8
- package/_cjs/IO/api/memoize.cjs.map +1 -1
- package/_cjs/IO/api/onExit.cjs +6 -9
- package/_cjs/IO/api/onExit.cjs.map +1 -1
- package/_cjs/IO/api/onTermination.cjs +5 -11
- package/_cjs/IO/api/onTermination.cjs.map +1 -1
- package/_cjs/IO/api/once.cjs +1 -7
- package/_cjs/IO/api/once.cjs.map +1 -1
- package/_cjs/IO/api/provideLayer.cjs +6 -12
- package/_cjs/IO/api/provideLayer.cjs.map +1 -1
- package/_cjs/IO/api/provideSomeLayer.cjs +5 -20
- package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
- package/_cjs/IO/api/race.cjs +8 -17
- package/_cjs/IO/api/race.cjs.map +1 -1
- package/_cjs/IO/api/raceFirst.cjs +6 -9
- package/_cjs/IO/api/raceFirst.cjs.map +1 -1
- package/_cjs/IO/api/randomWith.cjs +1 -13
- package/_cjs/IO/api/randomWith.cjs.map +1 -1
- package/_cjs/IO/api/repeat.cjs +12 -27
- package/_cjs/IO/api/repeat.cjs.map +1 -1
- package/_cjs/IO/api/retry.cjs +14 -29
- package/_cjs/IO/api/retry.cjs.map +1 -1
- package/_cjs/IO/api/schedule.cjs +15 -21
- package/_cjs/IO/api/schedule.cjs.map +1 -1
- package/_cjs/IO/api/scope.cjs +0 -6
- package/_cjs/IO/api/scope.cjs.map +1 -1
- package/_cjs/IO/api/scopeWith.cjs +0 -5
- package/_cjs/IO/api/scopeWith.cjs.map +1 -1
- package/_cjs/IO/api/scoped.cjs +6 -15
- package/_cjs/IO/api/scoped.cjs.map +1 -1
- package/_cjs/IO/api/sequenceT.cjs +1 -7
- package/_cjs/IO/api/sequenceT.cjs.map +1 -1
- package/_cjs/IO/api/sleep.cjs +0 -4
- package/_cjs/IO/api/sleep.cjs.map +1 -1
- package/_cjs/IO/api/stateful.cjs +0 -6
- package/_cjs/IO/api/stateful.cjs.map +1 -1
- package/_cjs/IO/api/supervised.cjs +6 -14
- package/_cjs/IO/api/supervised.cjs.map +1 -1
- package/_cjs/IO/api/timeout.cjs +10 -18
- package/_cjs/IO/api/timeout.cjs.map +1 -1
- package/_cjs/IO/api/withChildren.cjs +2 -10
- package/_cjs/IO/api/withChildren.cjs.map +1 -1
- package/_cjs/IO/api/withEarlyRelease.cjs +1 -8
- package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
- package/_cjs/IO/api/withFinalizer.cjs +6 -8
- package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
- package/_cjs/IO/api/withFinalizerExit.cjs +6 -8
- package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
- package/_cjs/IO/api/zipConcurrent.cjs +51 -0
- package/_cjs/IO/api/zipConcurrent.cjs.map +1 -0
- package/_cjs/IO/api.cjs +669 -1057
- package/_cjs/IO/api.cjs.map +1 -1
- package/_cjs/IO/definition.cjs +121 -213
- package/_cjs/IO/definition.cjs.map +1 -1
- package/_cjs/IO/runtime.cjs +51 -119
- package/_cjs/IO/runtime.cjs.map +1 -1
- package/_cjs/IO.cjs +41 -123
- package/_cjs/IO.cjs.map +1 -1
- package/_cjs/IOEnv/definition.cjs +1 -12
- package/_cjs/IOEnv/definition.cjs.map +1 -1
- package/_cjs/IOEnv/live.cjs +1 -12
- package/_cjs/IOEnv/live.cjs.map +1 -1
- package/_cjs/IOEnv/services.cjs +0 -5
- package/_cjs/IOEnv/services.cjs.map +1 -1
- package/_cjs/IOEnv.cjs +0 -6
- package/_cjs/IOEnv.cjs.map +1 -1
- package/_cjs/InterruptStatus/constructors.cjs +0 -5
- package/_cjs/InterruptStatus/constructors.cjs.map +1 -1
- package/_cjs/InterruptStatus/definition.cjs +0 -5
- package/_cjs/InterruptStatus/definition.cjs.map +1 -1
- package/_cjs/InterruptStatus.cjs +0 -4
- package/_cjs/InterruptStatus.cjs.map +1 -1
- package/_cjs/Layer/MemoMap.cjs +54 -111
- package/_cjs/Layer/MemoMap.cjs.map +1 -1
- package/_cjs/Layer/api.cjs +112 -184
- package/_cjs/Layer/api.cjs.map +1 -1
- package/_cjs/Layer/definition.cjs +9 -51
- package/_cjs/Layer/definition.cjs.map +1 -1
- package/_cjs/Layer.cjs +0 -6
- package/_cjs/Layer.cjs.map +1 -1
- package/_cjs/LogLevel.cjs +24 -36
- package/_cjs/LogLevel.cjs.map +1 -1
- package/_cjs/LogSpan.cjs +16 -21
- package/_cjs/LogSpan.cjs.map +1 -1
- package/_cjs/Logger/api.cjs +18 -21
- package/_cjs/Logger/api.cjs.map +1 -1
- package/_cjs/Logger/constructors.cjs +3 -18
- package/_cjs/Logger/constructors.cjs.map +1 -1
- package/_cjs/Logger/definition.cjs +0 -3
- package/_cjs/Logger/definition.cjs.map +1 -1
- package/_cjs/Logger.cjs +0 -6
- package/_cjs/Logger.cjs.map +1 -1
- package/_cjs/Push/api.cjs +474 -0
- package/_cjs/Push/api.cjs.map +1 -0
- package/_cjs/Push/definition.cjs +43 -0
- package/_cjs/Push/definition.cjs.map +1 -0
- package/_cjs/Push/internal.cjs +40 -0
- package/_cjs/Push/internal.cjs.map +1 -0
- package/_cjs/Push.cjs +39 -0
- package/_cjs/Push.cjs.map +1 -0
- package/_cjs/Queue/api/dimapIO.cjs +109 -55
- package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
- package/_cjs/Queue/api/filterInputIO.cjs +61 -36
- package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
- package/_cjs/Queue/api/filterOutputIO.cjs +72 -44
- package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
- package/_cjs/Queue/api/operations.cjs +21 -35
- package/_cjs/Queue/api/operations.cjs.map +1 -1
- package/_cjs/Queue/api/poll.cjs +1 -7
- package/_cjs/Queue/api/poll.cjs.map +1 -1
- package/_cjs/Queue/api/takeBetween.cjs +24 -34
- package/_cjs/Queue/api/takeBetween.cjs.map +1 -1
- package/_cjs/Queue/api/zipWithIO.cjs +33 -48
- package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
- package/_cjs/Queue/api.cjs +0 -14
- package/_cjs/Queue/api.cjs.map +1 -1
- package/_cjs/Queue/constructors.cjs +4 -17
- package/_cjs/Queue/constructors.cjs.map +1 -1
- package/_cjs/Queue/definition.cjs +18 -11
- package/_cjs/Queue/definition.cjs.map +1 -1
- package/_cjs/Queue/internal.cjs +63 -117
- package/_cjs/Queue/internal.cjs.map +1 -1
- package/_cjs/Queue/strategy.cjs +27 -68
- package/_cjs/Queue/strategy.cjs.map +1 -1
- package/_cjs/Queue.cjs +0 -10
- package/_cjs/Queue.cjs.map +1 -1
- package/_cjs/Random/api.cjs +0 -17
- package/_cjs/Random/api.cjs.map +1 -1
- package/_cjs/Random/definition.cjs +0 -7
- package/_cjs/Random/definition.cjs.map +1 -1
- package/_cjs/Random/live.cjs +2 -16
- package/_cjs/Random/live.cjs.map +1 -1
- package/_cjs/Random.cjs +0 -6
- package/_cjs/Random.cjs.map +1 -1
- package/_cjs/Ref/Atomic.cjs +54 -26
- package/_cjs/Ref/Atomic.cjs.map +1 -1
- package/_cjs/Ref/Derived.cjs +11 -20
- package/_cjs/Ref/Derived.cjs.map +1 -1
- package/_cjs/Ref/DerivedAll.cjs +17 -23
- package/_cjs/Ref/DerivedAll.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/api.cjs +99 -103
- package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/constructors.cjs +1 -11
- package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/definition.cjs +16 -39
- package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
- package/_cjs/{FiberState.cjs → Ref/Synchronized.cjs} +4 -10
- package/_cjs/Ref/Synchronized.cjs.map +1 -0
- package/_cjs/Ref/api/collect.cjs +7 -12
- package/_cjs/Ref/api/collect.cjs.map +1 -1
- package/_cjs/Ref/api/dimap.cjs +55 -60
- package/_cjs/Ref/api/dimap.cjs.map +1 -1
- package/_cjs/Ref/api/filter.cjs +14 -19
- package/_cjs/Ref/api/filter.cjs.map +1 -1
- package/_cjs/Ref/api/get.cjs +0 -2
- package/_cjs/Ref/api/get.cjs.map +1 -1
- package/_cjs/Ref/api/match.cjs +8 -10
- package/_cjs/Ref/api/match.cjs.map +1 -1
- package/_cjs/Ref/api/matchAll.cjs +6 -8
- package/_cjs/Ref/api/matchAll.cjs.map +1 -1
- package/_cjs/Ref/api/modify.cjs +73 -171
- package/_cjs/Ref/api/modify.cjs.map +1 -1
- package/_cjs/Ref/api/set.cjs +8 -8
- package/_cjs/Ref/api/set.cjs.map +1 -1
- package/_cjs/Ref/api.cjs +2 -26
- package/_cjs/Ref/api.cjs.map +1 -1
- package/_cjs/Ref/constructors.cjs +2 -9
- package/_cjs/Ref/constructors.cjs.map +1 -1
- package/_cjs/Ref/definition.cjs +11 -7
- package/_cjs/Ref/definition.cjs.map +1 -1
- package/_cjs/Ref/symbols.cjs +37 -0
- package/_cjs/Ref/symbols.cjs.map +1 -0
- package/_cjs/Ref.cjs +22 -18
- package/_cjs/Ref.cjs.map +1 -1
- package/_cjs/RefSubject/Atomic.cjs +109 -0
- package/_cjs/RefSubject/Atomic.cjs.map +1 -0
- package/_cjs/{FiberState/constructors.cjs → RefSubject/Synchronized/api.cjs} +13 -34
- package/_cjs/RefSubject/Synchronized/api.cjs.map +1 -0
- package/_cjs/RefSubject/Synchronized/definition.cjs +56 -0
- package/_cjs/RefSubject/Synchronized/definition.cjs.map +1 -0
- package/_cjs/RefSubject/api.cjs +245 -0
- package/_cjs/RefSubject/api.cjs.map +1 -0
- package/_cjs/{FiberState/api.cjs → RefSubject/definition.cjs} +12 -16
- package/_cjs/RefSubject/definition.cjs.map +1 -0
- package/_cjs/RefSubject.cjs +39 -0
- package/_cjs/RefSubject.cjs.map +1 -0
- package/_cjs/Reloadable/api.cjs +3 -18
- package/_cjs/Reloadable/api.cjs.map +1 -1
- package/_cjs/Reloadable/constructors.cjs +14 -41
- package/_cjs/Reloadable/constructors.cjs.map +1 -1
- package/_cjs/Reloadable/definition.cjs +0 -14
- package/_cjs/Reloadable/definition.cjs.map +1 -1
- package/_cjs/Reloadable.cjs +0 -6
- package/_cjs/Reloadable.cjs.map +1 -1
- package/_cjs/RuntimeConfig.cjs +1 -44
- package/_cjs/RuntimeConfig.cjs.map +1 -1
- package/_cjs/RuntimeFlag.cjs +6 -0
- package/_cjs/RuntimeFlag.cjs.map +1 -0
- package/_cjs/RuntimeFlags/Patch.cjs +76 -0
- package/_cjs/RuntimeFlags/Patch.cjs.map +1 -0
- package/_cjs/RuntimeFlags/RuntimeFlags.cjs +107 -0
- package/_cjs/RuntimeFlags/RuntimeFlags.cjs.map +1 -0
- package/_cjs/RuntimeFlags.cjs +28 -0
- package/_cjs/RuntimeFlags.cjs.map +1 -0
- package/_cjs/STM/api/core-api.cjs +36 -42
- package/_cjs/STM/api/core-api.cjs.map +1 -1
- package/_cjs/STM/api/core-constructors.cjs +0 -15
- package/_cjs/STM/api/core-constructors.cjs.map +1 -1
- package/_cjs/STM/api.cjs +218 -302
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/STM/definition.cjs +9 -72
- package/_cjs/STM/definition.cjs.map +1 -1
- package/_cjs/STM/driver.cjs +12 -65
- package/_cjs/STM/driver.cjs.map +1 -1
- package/_cjs/STM/internal/CommitState.cjs +5 -32
- package/_cjs/STM/internal/CommitState.cjs.map +1 -1
- package/_cjs/STM/internal/Entry.cjs +0 -20
- package/_cjs/STM/internal/Entry.cjs.map +1 -1
- package/_cjs/STM/internal/Journal.cjs +50 -142
- package/_cjs/STM/internal/Journal.cjs.map +1 -1
- package/_cjs/STM/internal/TryCommit.cjs +2 -12
- package/_cjs/STM/internal/TryCommit.cjs.map +1 -1
- package/_cjs/STM/internal/Versioned.cjs +0 -3
- package/_cjs/STM/internal/Versioned.cjs.map +1 -1
- package/_cjs/STM.cjs +0 -10
- package/_cjs/STM.cjs.map +1 -1
- package/_cjs/Schedule/Decision.cjs +13 -37
- package/_cjs/Schedule/Decision.cjs.map +1 -1
- package/_cjs/Schedule/Driver.cjs +0 -5
- package/_cjs/Schedule/Driver.cjs.map +1 -1
- package/_cjs/Schedule/api/driver.cjs +6 -22
- package/_cjs/Schedule/api/driver.cjs.map +1 -1
- package/_cjs/Schedule/api.cjs +440 -492
- package/_cjs/Schedule/api.cjs.map +1 -1
- package/_cjs/Schedule/definition.cjs +0 -2
- package/_cjs/Schedule/definition.cjs.map +1 -1
- package/_cjs/Schedule.cjs +0 -8
- package/_cjs/Schedule.cjs.map +1 -1
- package/_cjs/Scope/Finalizer/definition.cjs +0 -6
- package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
- package/_cjs/Scope/Finalizer.cjs +0 -2
- package/_cjs/Scope/Finalizer.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +13 -24
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api.cjs +65 -79
- package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/constructors.cjs +1 -12
- package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/definition.cjs +0 -9
- package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap.cjs +0 -6
- package/_cjs/Scope/ReleaseMap.cjs.map +1 -1
- package/_cjs/Scope/api.cjs +34 -69
- package/_cjs/Scope/api.cjs.map +1 -1
- package/_cjs/Scope/definition.cjs +0 -12
- package/_cjs/Scope/definition.cjs.map +1 -1
- package/_cjs/Scope.cjs +0 -4
- package/_cjs/Scope.cjs.map +1 -1
- package/_cjs/ScopedRef/api.cjs +7 -26
- package/_cjs/ScopedRef/api.cjs.map +1 -1
- package/_cjs/ScopedRef/definition.cjs +1 -5
- package/_cjs/ScopedRef/definition.cjs.map +1 -1
- package/_cjs/ScopedRef.cjs +0 -4
- package/_cjs/ScopedRef.cjs.map +1 -1
- package/_cjs/Sink/api.cjs +292 -484
- package/_cjs/Sink/api.cjs.map +1 -1
- package/_cjs/Sink/definition.cjs +0 -3
- package/_cjs/Sink/definition.cjs.map +1 -1
- package/_cjs/Sink.cjs +0 -4
- package/_cjs/Sink.cjs.map +1 -1
- package/_cjs/State/api.cjs +18 -32
- package/_cjs/State/api.cjs.map +1 -1
- package/_cjs/State/definition.cjs +2 -7
- package/_cjs/State/definition.cjs.map +1 -1
- package/_cjs/State/internal.cjs +0 -3
- package/_cjs/State/internal.cjs.map +1 -1
- package/_cjs/State.cjs +0 -4
- package/_cjs/State.cjs.map +1 -1
- package/_cjs/Stream/api/zipAllWith.cjs +16 -43
- package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
- package/_cjs/Stream/api/zipWith.cjs +6 -9
- package/_cjs/Stream/api/zipWith.cjs.map +1 -1
- package/_cjs/Stream/api/zipWithChunks.cjs +14 -32
- package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
- package/_cjs/Stream/api.cjs +961 -1205
- package/_cjs/Stream/api.cjs.map +1 -1
- package/_cjs/Stream/definition.cjs +0 -8
- package/_cjs/Stream/definition.cjs.map +1 -1
- package/_cjs/Stream/internal/DebounceState.cjs +16 -44
- package/_cjs/Stream/internal/DebounceState.cjs.map +1 -1
- package/_cjs/Stream/internal/Handoff.cjs +34 -80
- package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
- package/_cjs/Stream/internal/Pull.cjs +2 -25
- package/_cjs/Stream/internal/Pull.cjs.map +1 -1
- package/_cjs/Stream/internal/SinkEndReason.cjs +13 -28
- package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
- package/_cjs/Stream/internal/Take.cjs +32 -75
- package/_cjs/Stream/internal/Take.cjs.map +1 -1
- package/_cjs/Stream/internal/util.cjs +3 -13
- package/_cjs/Stream/internal/util.cjs.map +1 -1
- package/_cjs/Stream.cjs +0 -4
- package/_cjs/Stream.cjs.map +1 -1
- package/_cjs/{FiberState/definition.cjs → Subject/Atomic.cjs} +21 -36
- package/_cjs/Subject/Atomic.cjs.map +1 -0
- package/_cjs/{IO/api/withRuntimeConfig.cjs → Subject/api.cjs} +17 -14
- package/_cjs/Subject/api.cjs.map +1 -0
- package/_cjs/Subject/definition.cjs +11 -0
- package/_cjs/Subject/definition.cjs.map +1 -0
- package/_cjs/Subject.cjs +39 -0
- package/_cjs/Subject.cjs.map +1 -0
- package/_cjs/SubscriptionRef.cjs +54 -0
- package/_cjs/SubscriptionRef.cjs.map +1 -0
- package/_cjs/Supervisor/api.cjs +24 -37
- package/_cjs/Supervisor/api.cjs.map +1 -1
- package/_cjs/Supervisor/constructors.cjs +2 -26
- package/_cjs/Supervisor/constructors.cjs.map +1 -1
- package/_cjs/Supervisor/definition.cjs +6 -44
- package/_cjs/Supervisor/definition.cjs.map +1 -1
- package/_cjs/Supervisor.cjs +0 -6
- package/_cjs/Supervisor.cjs.map +1 -1
- package/_cjs/SupervisorPatch.cjs +25 -75
- package/_cjs/SupervisorPatch.cjs.map +1 -1
- package/_cjs/TExit/constructors.cjs +0 -12
- package/_cjs/TExit/constructors.cjs.map +1 -1
- package/_cjs/TExit/definition.cjs +14 -76
- package/_cjs/TExit/definition.cjs.map +1 -1
- package/_cjs/TExit.cjs +0 -4
- package/_cjs/TExit.cjs.map +1 -1
- package/_cjs/TFuture/api.cjs +21 -37
- package/_cjs/TFuture/api.cjs.map +1 -1
- package/_cjs/TFuture/constructors.cjs +1 -13
- package/_cjs/TFuture/constructors.cjs.map +1 -1
- package/_cjs/TFuture/definition.cjs +0 -4
- package/_cjs/TFuture/definition.cjs.map +1 -1
- package/_cjs/TFuture.cjs +0 -6
- package/_cjs/TFuture.cjs.map +1 -1
- package/_cjs/TReentrantLock/api.cjs +41 -111
- package/_cjs/TReentrantLock/api.cjs.map +1 -1
- package/_cjs/TReentrantLock/definition.cjs +7 -38
- package/_cjs/TReentrantLock/definition.cjs.map +1 -1
- package/_cjs/TReentrantLock.cjs +0 -4
- package/_cjs/TReentrantLock.cjs.map +1 -1
- package/_cjs/TRef/api.cjs +95 -296
- package/_cjs/TRef/api.cjs.map +1 -1
- package/_cjs/TRef/constructors.cjs +0 -19
- package/_cjs/TRef/constructors.cjs.map +1 -1
- package/_cjs/TRef/definition.cjs +84 -34
- package/_cjs/TRef/definition.cjs.map +1 -1
- package/_cjs/TRef/symbols.cjs +27 -0
- package/_cjs/TRef/symbols.cjs.map +1 -0
- package/_cjs/TRef.cjs +11 -6
- package/_cjs/TRef.cjs.map +1 -1
- package/_cjs/TSemaphore/api.cjs +30 -49
- package/_cjs/TSemaphore/api.cjs.map +1 -1
- package/_cjs/TSemaphore/constructors.cjs +13 -11
- package/_cjs/TSemaphore/constructors.cjs.map +1 -1
- package/_cjs/TSemaphore/definition.cjs +0 -4
- package/_cjs/TSemaphore/definition.cjs.map +1 -1
- package/_cjs/TSemaphore.cjs +0 -6
- package/_cjs/TSemaphore.cjs.map +1 -1
- package/_cjs/TxnId.cjs +0 -3
- package/_cjs/TxnId.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +19 -24
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +19 -24
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/filterIO.cjs +14 -19
- package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/findIO.cjs +18 -28
- package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/mapIO.cjs +11 -14
- package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +29 -36
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc.cjs +0 -12
- package/_cjs/collection/immutable/Conc.cjs.map +1 -1
- package/_cjs/data/Exit/foreachIO.cjs +6 -10
- package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
- package/_cjs/internal/HashedPair.cjs +4 -15
- package/_cjs/internal/HashedPair.cjs.map +1 -1
- package/_cjs/internal/Hub.cjs +13 -175
- package/_cjs/internal/Hub.cjs.map +1 -1
- package/_cjs/internal/IsFatal.cjs +22 -62
- package/_cjs/internal/IsFatal.cjs.map +1 -1
- package/_cjs/internal/MutableQueue.cjs +11 -77
- package/_cjs/internal/MutableQueue.cjs.map +1 -1
- package/_cjs/internal/Scheduler.cjs +0 -18
- package/_cjs/internal/Scheduler.cjs.map +1 -1
- package/_cjs/internal/StackTraceBuilder.cjs +0 -9
- package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
- package/_mjs/Cached/api.mjs +6 -13
- package/_mjs/Cached/api.mjs.map +1 -1
- package/_mjs/Cached/definition.mjs +2 -4
- package/_mjs/Cached/definition.mjs.map +1 -1
- package/_mjs/Cached/internal.mjs +0 -1
- package/_mjs/Cached/internal.mjs.map +1 -1
- package/_mjs/Cached.mjs.map +1 -1
- package/_mjs/CancellerState.mjs +6 -15
- package/_mjs/CancellerState.mjs.map +1 -1
- package/_mjs/Channel/ChildExecutorDecision/api.mjs +18 -18
- package/_mjs/Channel/ChildExecutorDecision/api.mjs.map +1 -1
- package/_mjs/Channel/ChildExecutorDecision/definition.mjs +0 -2
- package/_mjs/Channel/ChildExecutorDecision/definition.mjs.map +1 -1
- package/_mjs/Channel/ChildExecutorDecision.mjs.map +1 -1
- package/_mjs/Channel/UpstreamPullRequest/api.mjs +14 -16
- package/_mjs/Channel/UpstreamPullRequest/api.mjs.map +1 -1
- package/_mjs/Channel/UpstreamPullRequest/definition.mjs +0 -2
- package/_mjs/Channel/UpstreamPullRequest/definition.mjs.map +1 -1
- package/_mjs/Channel/UpstreamPullRequest.mjs.map +1 -1
- package/_mjs/Channel/UpstreamPullStrategy/definition.mjs +0 -1
- package/_mjs/Channel/UpstreamPullStrategy/definition.mjs.map +1 -1
- package/_mjs/Channel/UpstreamPullStrategy.mjs.map +1 -1
- package/_mjs/Channel/api/interruptWhen.mjs +11 -10
- package/_mjs/Channel/api/interruptWhen.mjs.map +1 -1
- package/_mjs/Channel/api/mapOutConcurrentIO.mjs +34 -0
- package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -0
- package/_mjs/Channel/api/mergeAll.mjs +5 -4
- package/_mjs/Channel/api/mergeAll.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllUnboundedWith.mjs +5 -4
- package/_mjs/Channel/api/mergeAllUnboundedWith.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +39 -39
- package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
- package/_mjs/Channel/api/mergeMap.mjs +5 -4
- package/_mjs/Channel/api/mergeMap.mjs.map +1 -1
- package/_mjs/Channel/api/mergeWith.mjs +34 -50
- package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
- package/_mjs/Channel/api/run.mjs +1 -2
- package/_mjs/Channel/api/run.mjs.map +1 -1
- package/_mjs/Channel/api/runCollect.mjs +0 -1
- package/_mjs/Channel/api/runCollect.mjs.map +1 -1
- package/_mjs/Channel/api/runDrain.mjs +0 -1
- package/_mjs/Channel/api/runDrain.mjs.map +1 -1
- package/_mjs/Channel/api/runScoped.mjs +6 -21
- package/_mjs/Channel/api/runScoped.mjs.map +1 -1
- package/_mjs/Channel/api/toPull.mjs +7 -20
- package/_mjs/Channel/api/toPull.mjs.map +1 -1
- package/_mjs/Channel/api/zipConcurrent.mjs +32 -0
- package/_mjs/Channel/api/zipConcurrent.mjs.map +1 -0
- package/_mjs/Channel/api.mjs +201 -267
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Channel/core-api.mjs +28 -35
- package/_mjs/Channel/core-api.mjs.map +1 -1
- package/_mjs/Channel/definition.mjs +32 -67
- package/_mjs/Channel/definition.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelExecutor.mjs +161 -340
- package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelState.mjs +5 -20
- package/_mjs/Channel/internal/ChannelState.mjs.map +1 -1
- package/_mjs/Channel/internal/MergeDecision.mjs +5 -16
- package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
- package/_mjs/Channel/internal/MergeState.mjs +6 -15
- package/_mjs/Channel/internal/MergeState.mjs.map +1 -1
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +40 -103
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
- package/_mjs/Channel.mjs.map +1 -1
- package/_mjs/Clock/api.mjs +0 -2
- package/_mjs/Clock/api.mjs.map +1 -1
- package/_mjs/Clock/definition.mjs +0 -2
- package/_mjs/Clock/definition.mjs.map +1 -1
- package/_mjs/Clock/live.mjs +2 -6
- package/_mjs/Clock/live.mjs.map +1 -1
- package/_mjs/Clock.mjs.map +1 -1
- package/_mjs/Console/api.mjs +0 -2
- package/_mjs/Console/api.mjs.map +1 -1
- package/_mjs/Console/definition.mjs +0 -2
- package/_mjs/Console/definition.mjs.map +1 -1
- package/_mjs/Console/live.mjs +0 -4
- package/_mjs/Console/live.mjs.map +1 -1
- package/_mjs/Console.mjs.map +1 -1
- package/_mjs/CountdownLatch.mjs +39 -0
- package/_mjs/CountdownLatch.mjs.map +1 -0
- package/_mjs/Differ/api.mjs +5 -20
- package/_mjs/Differ/api.mjs.map +1 -1
- package/_mjs/Differ/definition.mjs +0 -2
- package/_mjs/Differ/definition.mjs.map +1 -1
- package/_mjs/Fiber/FiberMessage.mjs +56 -0
- package/_mjs/Fiber/FiberMessage.mjs.map +1 -0
- package/_mjs/Fiber/FiberRuntime.mjs +728 -0
- package/_mjs/Fiber/FiberRuntime.mjs.map +1 -0
- package/_mjs/Fiber/api/await.mjs.map +1 -1
- package/_mjs/Fiber/api/awaitAll.mjs +2 -3
- package/_mjs/Fiber/api/awaitAll.mjs.map +1 -1
- package/_mjs/Fiber/api/children.mjs.map +1 -1
- package/_mjs/Fiber/api/collectAll.mjs +3 -4
- package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
- package/_mjs/Fiber/api/fromIO.mjs +1 -2
- package/_mjs/Fiber/api/fromIO.mjs.map +1 -1
- package/_mjs/Fiber/api/id.mjs.map +1 -1
- package/_mjs/Fiber/api/inheritRefs.mjs +1 -1
- package/_mjs/Fiber/api/inheritRefs.mjs.map +1 -1
- package/_mjs/Fiber/api/interrupt.mjs +3 -4
- package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptAll.mjs +3 -6
- package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptAs.mjs +13 -5
- package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptFork.mjs +2 -5
- package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
- package/_mjs/Fiber/api/join.mjs +3 -3
- package/_mjs/Fiber/api/join.mjs.map +1 -1
- package/_mjs/Fiber/api/joinAll.mjs +1 -2
- package/_mjs/Fiber/api/joinAll.mjs.map +1 -1
- package/_mjs/Fiber/api/location.mjs +1 -3
- package/_mjs/Fiber/api/location.mjs.map +1 -1
- package/_mjs/Fiber/api/mapFiber.mjs +5 -4
- package/_mjs/Fiber/api/mapFiber.mjs.map +1 -1
- package/_mjs/Fiber/api/mapIO.mjs +11 -10
- package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
- package/_mjs/Fiber/api/poll.mjs.map +1 -1
- package/_mjs/Fiber/api/zipWith.mjs +6 -5
- package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
- package/_mjs/Fiber/constructors.mjs +0 -6
- package/_mjs/Fiber/constructors.mjs.map +1 -1
- package/_mjs/Fiber/definition.mjs +9 -5
- package/_mjs/Fiber/definition.mjs.map +1 -1
- package/_mjs/Fiber.mjs +3 -4
- package/_mjs/Fiber.mjs.map +1 -1
- package/_mjs/FiberDescriptor.mjs +1 -4
- package/_mjs/FiberDescriptor.mjs.map +1 -1
- package/_mjs/FiberRef/api/locallyScoped.mjs +5 -4
- package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -1
- package/_mjs/FiberRef/api/locallyScopedWith.mjs +5 -4
- package/_mjs/FiberRef/api/locallyScopedWith.mjs.map +1 -1
- package/_mjs/FiberRef/api.mjs +64 -66
- package/_mjs/FiberRef/api.mjs.map +1 -1
- package/_mjs/FiberRef/constructors.mjs +1 -4
- package/_mjs/FiberRef/constructors.mjs.map +1 -1
- package/_mjs/FiberRef/definition.mjs +5 -10
- package/_mjs/FiberRef/definition.mjs.map +1 -1
- package/_mjs/FiberRef/unsafe.mjs +17 -30
- package/_mjs/FiberRef/unsafe.mjs.map +1 -1
- package/_mjs/FiberRef.mjs +2 -2
- package/_mjs/FiberRef.mjs.map +1 -1
- package/_mjs/FiberRefs/api.mjs +70 -24
- package/_mjs/FiberRefs/api.mjs.map +1 -1
- package/_mjs/FiberRefs/definition.mjs +2 -13
- package/_mjs/FiberRefs/definition.mjs.map +1 -1
- package/_mjs/FiberRefs/join.mjs +51 -61
- package/_mjs/FiberRefs/join.mjs.map +1 -1
- package/_mjs/FiberRefs.mjs.map +1 -1
- package/_mjs/FiberScope/constructors.mjs +0 -2
- package/_mjs/FiberScope/constructors.mjs.map +1 -1
- package/_mjs/FiberScope/definition.mjs +15 -12
- package/_mjs/FiberScope/definition.mjs.map +1 -1
- package/_mjs/FiberScope.mjs.map +1 -1
- package/_mjs/FiberStatus/constructors.mjs +5 -15
- package/_mjs/FiberStatus/constructors.mjs.map +1 -1
- package/_mjs/FiberStatus/definition.mjs +14 -66
- package/_mjs/FiberStatus/definition.mjs.map +1 -1
- package/_mjs/FiberStatus.mjs.map +1 -1
- package/_mjs/Future/api.mjs +87 -110
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/Future/constructors.mjs +1 -5
- package/_mjs/Future/constructors.mjs.map +1 -1
- package/_mjs/Future/definition.mjs +3 -9
- package/_mjs/Future/definition.mjs.map +1 -1
- package/_mjs/Future.mjs.map +1 -1
- package/_mjs/Hub/api.mjs +98 -123
- package/_mjs/Hub/api.mjs.map +1 -1
- package/_mjs/Hub/definition.mjs +13 -3
- package/_mjs/Hub/definition.mjs.map +1 -1
- package/_mjs/Hub/internal.mjs +30 -90
- package/_mjs/Hub/internal.mjs.map +1 -1
- package/_mjs/Hub.mjs.map +1 -1
- package/_mjs/IO/api/acquireRelease.mjs +0 -1
- package/_mjs/IO/api/acquireRelease.mjs.map +1 -1
- package/_mjs/IO/api/acquireReleaseExit.mjs +1 -2
- package/_mjs/IO/api/acquireReleaseExit.mjs.map +1 -1
- package/_mjs/IO/api/acquireReleaseInterruptible.mjs +0 -1
- package/_mjs/IO/api/acquireReleaseInterruptible.mjs.map +1 -1
- package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs +2 -2
- package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs.map +1 -1
- package/_mjs/IO/api/addFinalizer.mjs +0 -1
- package/_mjs/IO/api/addFinalizer.mjs.map +1 -1
- package/_mjs/IO/api/addFinalizerExit.mjs +1 -2
- package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
- package/_mjs/IO/api/asyncIO.mjs +8 -8
- package/_mjs/IO/api/asyncIO.mjs.map +1 -1
- package/_mjs/IO/api/asyncInterrupt.mjs +65 -0
- package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -0
- package/_mjs/IO/api/bracket.mjs +2 -3
- package/_mjs/IO/api/bracket.mjs.map +1 -1
- package/_mjs/IO/api/bracketExit.mjs +2 -3
- package/_mjs/IO/api/bracketExit.mjs.map +1 -1
- package/_mjs/IO/api/clockWith.mjs +2 -5
- package/_mjs/IO/api/clockWith.mjs.map +1 -1
- package/_mjs/IO/api/concurrency.mjs +8 -11
- package/_mjs/IO/api/concurrency.mjs.map +1 -1
- package/_mjs/IO/api/concurrentFinalizers.mjs +1 -2
- package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
- package/_mjs/IO/api/consoleWith.mjs +2 -5
- package/_mjs/IO/api/consoleWith.mjs.map +1 -1
- package/_mjs/IO/api/core-scope.mjs +56 -94
- package/_mjs/IO/api/core-scope.mjs.map +1 -1
- package/_mjs/IO/api/delay.mjs +12 -0
- package/_mjs/IO/api/delay.mjs.map +1 -0
- package/_mjs/IO/api/ensuringChildren.mjs +7 -5
- package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
- package/_mjs/IO/api/environment.mjs +29 -42
- package/_mjs/IO/api/environment.mjs.map +1 -1
- package/_mjs/IO/api/foreachConcurrent.mjs +104 -0
- package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -0
- package/_mjs/IO/api/foreachExec.mjs +3 -4
- package/_mjs/IO/api/foreachExec.mjs.map +1 -1
- package/_mjs/IO/api/fork.mjs +64 -0
- package/_mjs/IO/api/fork.mjs.map +1 -0
- package/_mjs/IO/api/forkAll.mjs +3 -3
- package/_mjs/IO/api/forkAll.mjs.map +1 -1
- package/_mjs/IO/api/forkIn.mjs +7 -6
- package/_mjs/IO/api/forkIn.mjs.map +1 -1
- package/_mjs/IO/api/forkScoped.mjs +1 -2
- package/_mjs/IO/api/forkScoped.mjs.map +1 -1
- package/_mjs/IO/api/fulfill.mjs +7 -6
- package/_mjs/IO/api/fulfill.mjs.map +1 -1
- package/_mjs/IO/api/interrupt.mjs +45 -58
- package/_mjs/IO/api/interrupt.mjs.map +1 -1
- package/_mjs/IO/api/memoize.mjs +1 -2
- package/_mjs/IO/api/memoize.mjs.map +1 -1
- package/_mjs/IO/api/onExit.mjs +5 -4
- package/_mjs/IO/api/onExit.mjs.map +1 -1
- package/_mjs/IO/api/onTermination.mjs +5 -4
- package/_mjs/IO/api/onTermination.mjs.map +1 -1
- package/_mjs/IO/api/once.mjs +1 -2
- package/_mjs/IO/api/once.mjs.map +1 -1
- package/_mjs/IO/api/provideLayer.mjs +5 -4
- package/_mjs/IO/api/provideLayer.mjs.map +1 -1
- package/_mjs/IO/api/provideSomeLayer.mjs +5 -12
- package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
- package/_mjs/IO/api/race.mjs +7 -7
- package/_mjs/IO/api/race.mjs.map +1 -1
- package/_mjs/IO/api/raceFirst.mjs +5 -4
- package/_mjs/IO/api/raceFirst.mjs.map +1 -1
- package/_mjs/IO/api/randomWith.mjs +1 -4
- package/_mjs/IO/api/randomWith.mjs.map +1 -1
- package/_mjs/IO/api/repeat.mjs +8 -13
- package/_mjs/IO/api/repeat.mjs.map +1 -1
- package/_mjs/IO/api/retry.mjs +12 -18
- package/_mjs/IO/api/retry.mjs.map +1 -1
- package/_mjs/IO/api/schedule.mjs +15 -15
- package/_mjs/IO/api/schedule.mjs.map +1 -1
- package/_mjs/IO/api/scope.mjs +0 -1
- package/_mjs/IO/api/scope.mjs.map +1 -1
- package/_mjs/IO/api/scopeWith.mjs +0 -1
- package/_mjs/IO/api/scopeWith.mjs.map +1 -1
- package/_mjs/IO/api/scoped.mjs +3 -6
- package/_mjs/IO/api/scoped.mjs.map +1 -1
- package/_mjs/IO/api/sequenceT.mjs +1 -2
- package/_mjs/IO/api/sequenceT.mjs.map +1 -1
- package/_mjs/IO/api/sleep.mjs +0 -1
- package/_mjs/IO/api/sleep.mjs.map +1 -1
- package/_mjs/IO/api/stateful.mjs +0 -1
- package/_mjs/IO/api/stateful.mjs.map +1 -1
- package/_mjs/IO/api/supervised.mjs +5 -9
- package/_mjs/IO/api/supervised.mjs.map +1 -1
- package/_mjs/IO/api/timeout.mjs +10 -9
- package/_mjs/IO/api/timeout.mjs.map +1 -1
- package/_mjs/IO/api/withChildren.mjs +2 -4
- package/_mjs/IO/api/withChildren.mjs.map +1 -1
- package/_mjs/IO/api/withEarlyRelease.mjs +1 -2
- package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
- package/_mjs/IO/api/withFinalizer.mjs +5 -4
- package/_mjs/IO/api/withFinalizer.mjs.map +1 -1
- package/_mjs/IO/api/withFinalizerExit.mjs +5 -4
- package/_mjs/IO/api/withFinalizerExit.mjs.map +1 -1
- package/_mjs/IO/api/zipConcurrent.mjs +41 -0
- package/_mjs/IO/api/zipConcurrent.mjs.map +1 -0
- package/_mjs/IO/api.mjs +545 -797
- package/_mjs/IO/api.mjs.map +1 -1
- package/_mjs/IO/definition.mjs +107 -150
- package/_mjs/IO/definition.mjs.map +1 -1
- package/_mjs/IO/runtime.mjs +51 -86
- package/_mjs/IO/runtime.mjs.map +1 -1
- package/_mjs/IO.mjs +7 -5
- package/_mjs/IO.mjs.map +1 -1
- package/_mjs/IOEnv/definition.mjs +1 -2
- package/_mjs/IOEnv/definition.mjs.map +1 -1
- package/_mjs/IOEnv/live.mjs +1 -2
- package/_mjs/IOEnv/live.mjs.map +1 -1
- package/_mjs/IOEnv/services.mjs +0 -1
- package/_mjs/IOEnv/services.mjs.map +1 -1
- package/_mjs/IOEnv.mjs.map +1 -1
- package/_mjs/InterruptStatus/constructors.mjs +0 -3
- package/_mjs/InterruptStatus/constructors.mjs.map +1 -1
- package/_mjs/InterruptStatus/definition.mjs +0 -3
- package/_mjs/InterruptStatus/definition.mjs.map +1 -1
- package/_mjs/InterruptStatus.mjs.map +1 -1
- package/_mjs/Layer/MemoMap.mjs +54 -82
- package/_mjs/Layer/MemoMap.mjs.map +1 -1
- package/_mjs/Layer/api.mjs +93 -130
- package/_mjs/Layer/api.mjs.map +1 -1
- package/_mjs/Layer/definition.mjs +15 -34
- package/_mjs/Layer/definition.mjs.map +1 -1
- package/_mjs/Layer.mjs.map +1 -1
- package/_mjs/LogLevel.mjs +24 -29
- package/_mjs/LogLevel.mjs.map +1 -1
- package/_mjs/LogSpan.mjs +16 -18
- package/_mjs/LogSpan.mjs.map +1 -1
- package/_mjs/Logger/api.mjs +16 -14
- package/_mjs/Logger/api.mjs.map +1 -1
- package/_mjs/Logger/constructors.mjs +3 -11
- package/_mjs/Logger/constructors.mjs.map +1 -1
- package/_mjs/Logger/definition.mjs +0 -1
- package/_mjs/Logger/definition.mjs.map +1 -1
- package/_mjs/Logger.mjs.map +1 -1
- package/_mjs/Push/api.mjs +417 -0
- package/_mjs/Push/api.mjs.map +1 -0
- package/_mjs/Push/definition.mjs +33 -0
- package/_mjs/Push/definition.mjs.map +1 -0
- package/_mjs/Push/internal.mjs +26 -0
- package/_mjs/Push/internal.mjs.map +1 -0
- package/_mjs/Push.mjs +5 -0
- package/_mjs/Push.mjs.map +1 -0
- package/_mjs/Queue/api/dimapIO.mjs +101 -42
- package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
- package/_mjs/Queue/api/filterInputIO.mjs +59 -24
- package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
- package/_mjs/Queue/api/filterOutputIO.mjs +70 -32
- package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
- package/_mjs/Queue/api/operations.mjs +18 -22
- package/_mjs/Queue/api/operations.mjs.map +1 -1
- package/_mjs/Queue/api/poll.mjs +1 -2
- package/_mjs/Queue/api/poll.mjs.map +1 -1
- package/_mjs/Queue/api/takeBetween.mjs +23 -27
- package/_mjs/Queue/api/takeBetween.mjs.map +1 -1
- package/_mjs/Queue/api/zipWithIO.mjs +30 -33
- package/_mjs/Queue/api/zipWithIO.mjs.map +1 -1
- package/_mjs/Queue/api.mjs.map +1 -1
- package/_mjs/Queue/constructors.mjs +5 -9
- package/_mjs/Queue/constructors.mjs.map +1 -1
- package/_mjs/Queue/definition.mjs +14 -7
- package/_mjs/Queue/definition.mjs.map +1 -1
- package/_mjs/Queue/internal.mjs +57 -93
- package/_mjs/Queue/internal.mjs.map +1 -1
- package/_mjs/Queue/strategy.mjs +28 -55
- package/_mjs/Queue/strategy.mjs.map +1 -1
- package/_mjs/Queue.mjs.map +1 -1
- package/_mjs/Random/api.mjs +0 -8
- package/_mjs/Random/api.mjs.map +1 -1
- package/_mjs/Random/definition.mjs +0 -2
- package/_mjs/Random/definition.mjs.map +1 -1
- package/_mjs/Random/live.mjs +2 -9
- package/_mjs/Random/live.mjs.map +1 -1
- package/_mjs/Random.mjs.map +1 -1
- package/_mjs/Ref/Atomic.mjs +49 -3
- package/_mjs/Ref/Atomic.mjs.map +1 -1
- package/_mjs/Ref/Derived.mjs +11 -9
- package/_mjs/Ref/Derived.mjs.map +1 -1
- package/_mjs/Ref/DerivedAll.mjs +15 -11
- package/_mjs/Ref/DerivedAll.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/api.mjs +82 -68
- package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/constructors.mjs +1 -2
- package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/definition.mjs +16 -28
- package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
- package/_mjs/Ref/Synchronized.mjs +5 -0
- package/_mjs/Ref/Synchronized.mjs.map +1 -0
- package/_mjs/Ref/api/collect.mjs +6 -5
- package/_mjs/Ref/api/collect.mjs.map +1 -1
- package/_mjs/Ref/api/dimap.mjs +45 -41
- package/_mjs/Ref/api/dimap.mjs.map +1 -1
- package/_mjs/Ref/api/filter.mjs +12 -10
- package/_mjs/Ref/api/filter.mjs.map +1 -1
- package/_mjs/Ref/api/get.mjs +0 -1
- package/_mjs/Ref/api/get.mjs.map +1 -1
- package/_mjs/Ref/api/match.mjs +7 -7
- package/_mjs/Ref/api/match.mjs.map +1 -1
- package/_mjs/Ref/api/matchAll.mjs +5 -5
- package/_mjs/Ref/api/matchAll.mjs.map +1 -1
- package/_mjs/Ref/api/modify.mjs +63 -143
- package/_mjs/Ref/api/modify.mjs.map +1 -1
- package/_mjs/Ref/api/set.mjs +7 -6
- package/_mjs/Ref/api/set.mjs.map +1 -1
- package/_mjs/Ref/api.mjs +5 -7
- package/_mjs/Ref/api.mjs.map +1 -1
- package/_mjs/Ref/constructors.mjs +2 -3
- package/_mjs/Ref/constructors.mjs.map +1 -1
- package/_mjs/Ref/definition.mjs +10 -3
- package/_mjs/Ref/definition.mjs.map +1 -1
- package/_mjs/Ref/symbols.mjs +25 -0
- package/_mjs/Ref/symbols.mjs.map +1 -0
- package/_mjs/Ref.mjs +4 -2
- package/_mjs/Ref.mjs.map +1 -1
- package/_mjs/RefSubject/Atomic.mjs +100 -0
- package/_mjs/RefSubject/Atomic.mjs.map +1 -0
- package/_mjs/RefSubject/Synchronized/api.mjs +15 -0
- package/_mjs/RefSubject/Synchronized/api.mjs.map +1 -0
- package/_mjs/RefSubject/Synchronized/definition.mjs +45 -0
- package/_mjs/RefSubject/Synchronized/definition.mjs.map +1 -0
- package/_mjs/RefSubject/api.mjs +220 -0
- package/_mjs/RefSubject/api.mjs.map +1 -0
- package/_mjs/RefSubject/definition.mjs +11 -0
- package/_mjs/RefSubject/definition.mjs.map +1 -0
- package/_mjs/RefSubject.mjs +5 -0
- package/_mjs/RefSubject.mjs.map +1 -0
- package/_mjs/Reloadable/api.mjs +3 -12
- package/_mjs/Reloadable/api.mjs.map +1 -1
- package/_mjs/Reloadable/constructors.mjs +14 -26
- package/_mjs/Reloadable/constructors.mjs.map +1 -1
- package/_mjs/Reloadable/definition.mjs +0 -6
- package/_mjs/Reloadable/definition.mjs.map +1 -1
- package/_mjs/Reloadable.mjs.map +1 -1
- package/_mjs/RuntimeConfig.mjs +0 -31
- package/_mjs/RuntimeConfig.mjs.map +1 -1
- package/_mjs/RuntimeFlag.mjs +2 -0
- package/_mjs/RuntimeFlag.mjs.map +1 -0
- package/_mjs/RuntimeFlags/Patch.mjs +58 -0
- package/_mjs/RuntimeFlags/Patch.mjs.map +1 -0
- package/_mjs/RuntimeFlags/RuntimeFlags.mjs +82 -0
- package/_mjs/RuntimeFlags/RuntimeFlags.mjs.map +1 -0
- package/_mjs/RuntimeFlags.mjs +4 -0
- package/_mjs/RuntimeFlags.mjs.map +1 -0
- package/_mjs/STM/api/core-api.mjs +29 -27
- package/_mjs/STM/api/core-api.mjs.map +1 -1
- package/_mjs/STM/api/core-constructors.mjs +0 -8
- package/_mjs/STM/api/core-constructors.mjs.map +1 -1
- package/_mjs/STM/api.mjs +182 -212
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/STM/definition.mjs +14 -36
- package/_mjs/STM/definition.mjs.map +1 -1
- package/_mjs/STM/driver.mjs +12 -54
- package/_mjs/STM/driver.mjs.map +1 -1
- package/_mjs/STM/internal/CommitState.mjs +5 -25
- package/_mjs/STM/internal/CommitState.mjs.map +1 -1
- package/_mjs/STM/internal/Entry.mjs +0 -12
- package/_mjs/STM/internal/Entry.mjs.map +1 -1
- package/_mjs/STM/internal/Journal.mjs +50 -128
- package/_mjs/STM/internal/Journal.mjs.map +1 -1
- package/_mjs/STM/internal/TryCommit.mjs +3 -8
- package/_mjs/STM/internal/TryCommit.mjs.map +1 -1
- package/_mjs/STM/internal/Versioned.mjs +0 -1
- package/_mjs/STM/internal/Versioned.mjs.map +1 -1
- package/_mjs/STM.mjs +2 -2
- package/_mjs/STM.mjs.map +1 -1
- package/_mjs/Schedule/Decision.mjs +14 -25
- package/_mjs/Schedule/Decision.mjs.map +1 -1
- package/_mjs/Schedule/Driver.mjs +0 -2
- package/_mjs/Schedule/Driver.mjs.map +1 -1
- package/_mjs/Schedule/api/driver.mjs +6 -8
- package/_mjs/Schedule/api/driver.mjs.map +1 -1
- package/_mjs/Schedule/api.mjs +379 -374
- package/_mjs/Schedule/api.mjs.map +1 -1
- package/_mjs/Schedule/definition.mjs.map +1 -1
- package/_mjs/Schedule.mjs.map +1 -1
- package/_mjs/Scope/Finalizer/definition.mjs +0 -1
- package/_mjs/Scope/Finalizer/definition.mjs.map +1 -1
- package/_mjs/Scope/Finalizer.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +12 -12
- package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api.mjs +59 -60
- package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/constructors.mjs +1 -4
- package/_mjs/Scope/ReleaseMap/constructors.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/definition.mjs +0 -2
- package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap.mjs.map +1 -1
- package/_mjs/Scope/api.mjs +28 -45
- package/_mjs/Scope/api.mjs.map +1 -1
- package/_mjs/Scope/definition.mjs +0 -4
- package/_mjs/Scope/definition.mjs.map +1 -1
- package/_mjs/Scope.mjs.map +1 -1
- package/_mjs/ScopedRef/api.mjs +7 -11
- package/_mjs/ScopedRef/api.mjs.map +1 -1
- package/_mjs/ScopedRef/definition.mjs +1 -3
- package/_mjs/ScopedRef/definition.mjs.map +1 -1
- package/_mjs/ScopedRef.mjs.map +1 -1
- package/_mjs/Sink/api.mjs +282 -383
- package/_mjs/Sink/api.mjs.map +1 -1
- package/_mjs/Sink/definition.mjs +0 -1
- package/_mjs/Sink/definition.mjs.map +1 -1
- package/_mjs/Sink.mjs.map +1 -1
- package/_mjs/State/api.mjs +16 -19
- package/_mjs/State/api.mjs.map +1 -1
- package/_mjs/State/definition.mjs +2 -4
- package/_mjs/State/definition.mjs.map +1 -1
- package/_mjs/State/internal.mjs +0 -1
- package/_mjs/State/internal.mjs.map +1 -1
- package/_mjs/State.mjs.map +1 -1
- package/_mjs/Stream/api/zipAllWith.mjs +15 -30
- package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
- package/_mjs/Stream/api/zipWith.mjs +5 -4
- package/_mjs/Stream/api/zipWith.mjs.map +1 -1
- package/_mjs/Stream/api/zipWithChunks.mjs +13 -23
- package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
- package/_mjs/Stream/api.mjs +827 -936
- package/_mjs/Stream/api.mjs.map +1 -1
- package/_mjs/Stream/definition.mjs +0 -4
- package/_mjs/Stream/definition.mjs.map +1 -1
- package/_mjs/Stream/internal/DebounceState.mjs +18 -34
- package/_mjs/Stream/internal/DebounceState.mjs.map +1 -1
- package/_mjs/Stream/internal/Handoff.mjs +33 -51
- package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
- package/_mjs/Stream/internal/Pull.mjs +2 -9
- package/_mjs/Stream/internal/Pull.mjs.map +1 -1
- package/_mjs/Stream/internal/SinkEndReason.mjs +13 -22
- package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
- package/_mjs/Stream/internal/Take.mjs +28 -42
- package/_mjs/Stream/internal/Take.mjs.map +1 -1
- package/_mjs/Stream/internal/util.mjs +3 -6
- package/_mjs/Stream/internal/util.mjs.map +1 -1
- package/_mjs/Stream.mjs.map +1 -1
- package/_mjs/Subject/Atomic.mjs +22 -0
- package/_mjs/Subject/Atomic.mjs.map +1 -0
- package/_mjs/Subject/api.mjs +18 -0
- package/_mjs/Subject/api.mjs.map +1 -0
- package/_mjs/Subject/definition.mjs +3 -0
- package/_mjs/Subject/definition.mjs.map +1 -0
- package/_mjs/Subject.mjs +5 -0
- package/_mjs/Subject.mjs.map +1 -0
- package/_mjs/SubscriptionRef.mjs +41 -0
- package/_mjs/SubscriptionRef.mjs.map +1 -0
- package/_mjs/Supervisor/api.mjs +22 -29
- package/_mjs/Supervisor/api.mjs.map +1 -1
- package/_mjs/Supervisor/constructors.mjs +2 -14
- package/_mjs/Supervisor/constructors.mjs.map +1 -1
- package/_mjs/Supervisor/definition.mjs +6 -32
- package/_mjs/Supervisor/definition.mjs.map +1 -1
- package/_mjs/Supervisor.mjs.map +1 -1
- package/_mjs/SupervisorPatch.mjs +28 -55
- package/_mjs/SupervisorPatch.mjs.map +1 -1
- package/_mjs/TExit/constructors.mjs +0 -6
- package/_mjs/TExit/constructors.mjs.map +1 -1
- package/_mjs/TExit/definition.mjs +14 -57
- package/_mjs/TExit/definition.mjs.map +1 -1
- package/_mjs/TExit.mjs.map +1 -1
- package/_mjs/TFuture/api.mjs +17 -17
- package/_mjs/TFuture/api.mjs.map +1 -1
- package/_mjs/TFuture/constructors.mjs +1 -4
- package/_mjs/TFuture/constructors.mjs.map +1 -1
- package/_mjs/TFuture/definition.mjs.map +1 -1
- package/_mjs/TFuture.mjs.map +1 -1
- package/_mjs/TReentrantLock/api.mjs +41 -85
- package/_mjs/TReentrantLock/api.mjs.map +1 -1
- package/_mjs/TReentrantLock/definition.mjs +7 -26
- package/_mjs/TReentrantLock/definition.mjs.map +1 -1
- package/_mjs/TReentrantLock.mjs.map +1 -1
- package/_mjs/TRef/api.mjs +79 -257
- package/_mjs/TRef/api.mjs.map +1 -1
- package/_mjs/TRef/constructors.mjs +0 -7
- package/_mjs/TRef/constructors.mjs.map +1 -1
- package/_mjs/TRef/definition.mjs +84 -19
- package/_mjs/TRef/definition.mjs.map +1 -1
- package/_mjs/TRef/symbols.mjs +17 -0
- package/_mjs/TRef/symbols.mjs.map +1 -0
- package/_mjs/TRef.mjs +1 -0
- package/_mjs/TRef.mjs.map +1 -1
- package/_mjs/TSemaphore/api.mjs +26 -32
- package/_mjs/TSemaphore/api.mjs.map +1 -1
- package/_mjs/TSemaphore/constructors.mjs +10 -4
- package/_mjs/TSemaphore/constructors.mjs.map +1 -1
- package/_mjs/TSemaphore/definition.mjs.map +1 -1
- package/_mjs/TSemaphore.mjs.map +1 -1
- package/_mjs/TxnId.mjs +0 -1
- package/_mjs/TxnId.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +19 -20
- package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +19 -20
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/filterIO.mjs +14 -15
- package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/findIO.mjs +17 -22
- package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/mapIO.mjs +10 -9
- package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +28 -30
- package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc.mjs.map +1 -1
- package/_mjs/data/Exit/foreachIO.mjs +5 -4
- package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
- package/_mjs/internal/HashedPair.mjs +4 -7
- package/_mjs/internal/HashedPair.mjs.map +1 -1
- package/_mjs/internal/Hub.mjs +13 -158
- package/_mjs/internal/Hub.mjs.map +1 -1
- package/_mjs/internal/IsFatal.mjs +24 -51
- package/_mjs/internal/IsFatal.mjs.map +1 -1
- package/_mjs/internal/MutableQueue.mjs +10 -57
- package/_mjs/internal/MutableQueue.mjs.map +1 -1
- package/_mjs/internal/Scheduler.mjs +0 -11
- package/_mjs/internal/Scheduler.mjs.map +1 -1
- package/_mjs/internal/StackTraceBuilder.mjs +0 -3
- package/_mjs/internal/StackTraceBuilder.mjs.map +1 -1
- package/_src/Cached/api.ts +2 -2
- package/_src/Channel/ChildExecutorDecision/api.ts +14 -17
- package/_src/Channel/UpstreamPullRequest/api.ts +11 -13
- package/_src/Channel/api/interruptWhen.ts +18 -17
- package/_src/Channel/api/mapOutConcurrentIO.ts +66 -0
- package/_src/Channel/api/mergeAll.ts +15 -16
- package/_src/Channel/api/mergeAllUnboundedWith.ts +15 -27
- package/_src/Channel/api/mergeAllWith.ts +114 -126
- package/_src/Channel/api/mergeMap.ts +8 -18
- package/_src/Channel/api/mergeWith.ts +154 -158
- package/_src/Channel/api/toPull.ts +1 -1
- package/_src/Channel/api/zipConcurrent.ts +68 -0
- package/_src/Channel/api.ts +354 -414
- package/_src/Channel/core-api.ts +75 -122
- package/_src/Channel/definition.ts +49 -7
- package/_src/Channel/internal/ChannelExecutor.ts +12 -16
- package/_src/Channel/internal/SingleProducerAsyncInput.ts +2 -4
- package/_src/CountdownLatch.ts +39 -0
- package/_src/Fiber/FiberMessage.ts +78 -0
- package/_src/Fiber/FiberRuntime.ts +822 -0
- package/_src/Fiber/api/awaitAll.ts +1 -1
- package/_src/Fiber/api/collectAll.ts +2 -2
- package/_src/Fiber/api/inheritRefs.ts +1 -1
- package/_src/Fiber/api/interrupt.ts +1 -2
- package/_src/Fiber/api/interruptAll.ts +1 -2
- package/_src/Fiber/api/interruptAs.ts +9 -2
- package/_src/Fiber/api/interruptFork.ts +1 -1
- package/_src/Fiber/api/location.ts +2 -2
- package/_src/Fiber/api/mapFiber.ts +5 -7
- package/_src/Fiber/api/mapIO.ts +21 -21
- package/_src/Fiber/api/zipWith.ts +14 -17
- package/_src/Fiber/definition.ts +17 -16
- package/_src/Fiber.ts +2 -4
- package/_src/FiberDescriptor.ts +1 -8
- package/_src/FiberRef/api/locallyScoped.ts +8 -6
- package/_src/FiberRef/api/locallyScopedWith.ts +5 -7
- package/_src/FiberRef/api.ts +59 -52
- package/_src/FiberRef/unsafe.ts +6 -1
- package/_src/FiberRef.ts +0 -1
- package/_src/FiberRefs/api.ts +69 -14
- package/_src/FiberRefs/definition.ts +15 -7
- package/_src/FiberRefs/join.ts +39 -48
- package/_src/FiberScope/constructors.ts +2 -2
- package/_src/FiberScope/definition.ts +21 -9
- package/_src/FiberStatus/constructors.ts +6 -18
- package/_src/FiberStatus/definition.ts +13 -54
- package/_src/Future/api.ts +67 -53
- package/_src/Hub/api.ts +84 -96
- package/_src/Hub/definition.ts +22 -7
- package/_src/Hub/internal.ts +8 -8
- package/_src/IO/api/acquireRelease.ts +1 -1
- package/_src/IO/api/acquireReleaseExit.ts +1 -1
- package/_src/IO/api/asyncInterrupt.ts +77 -0
- package/_src/IO/api/bracket.ts +1 -1
- package/_src/IO/api/bracketExit.ts +1 -1
- package/_src/IO/api/clockWith.ts +0 -1
- package/_src/IO/api/concurrency.ts +5 -7
- package/_src/IO/api/consoleWith.ts +0 -2
- package/_src/IO/api/core-scope.ts +74 -90
- package/_src/IO/api/delay.ts +8 -0
- package/_src/IO/api/ensuringChildren.ts +8 -7
- package/_src/IO/api/environment.ts +24 -42
- package/_src/IO/api/{foreachC.ts → foreachConcurrent.ts} +30 -18
- package/_src/IO/api/foreachExec.ts +3 -3
- package/_src/IO/api/fork.ts +83 -0
- package/_src/IO/api/forkIn.ts +7 -9
- package/_src/IO/api/fulfill.ts +5 -3
- package/_src/IO/api/interrupt.ts +49 -32
- package/_src/IO/api/onExit.ts +8 -10
- package/_src/IO/api/onTermination.ts +12 -14
- package/_src/IO/api/provideLayer.ts +8 -10
- package/_src/IO/api/provideSomeLayer.ts +5 -14
- package/_src/IO/api/race.ts +19 -21
- package/_src/IO/api/raceFirst.ts +5 -7
- package/_src/IO/api/repeat.ts +3 -5
- package/_src/IO/api/retry.ts +19 -21
- package/_src/IO/api/schedule.ts +20 -21
- package/_src/IO/api/scoped.ts +2 -2
- package/_src/IO/api/sequenceT.ts +7 -1
- package/_src/IO/api/stateful.ts +0 -2
- package/_src/IO/api/supervised.ts +4 -8
- package/_src/IO/api/timeout.ts +10 -16
- package/_src/IO/api/withChildren.ts +2 -4
- package/_src/IO/api/withFinalizer.ts +5 -7
- package/_src/IO/api/withFinalizerExit.ts +6 -5
- package/_src/IO/api/zipConcurrent.ts +69 -0
- package/_src/IO/api.ts +576 -782
- package/_src/IO/definition.ts +150 -137
- package/_src/IO/runtime.ts +53 -64
- package/_src/IO.ts +5 -3
- package/_src/Layer/MemoMap.ts +62 -64
- package/_src/Layer/api.ts +95 -104
- package/_src/Layer/definition.ts +0 -1
- package/_src/LogLevel.ts +24 -16
- package/_src/LogSpan.ts +16 -16
- package/_src/Logger/api.ts +18 -17
- package/_src/Logger/constructors.ts +9 -15
- package/_src/Push/api.ts +702 -0
- package/_src/Push/definition.ts +42 -0
- package/_src/Push/internal.ts +39 -0
- package/_src/Push.ts +5 -0
- package/_src/Queue/api/dimapIO.ts +124 -47
- package/_src/Queue/api/filterInputIO.ts +69 -24
- package/_src/Queue/api/filterOutputIO.ts +77 -17
- package/_src/Queue/api/operations.ts +33 -31
- package/_src/Queue/api/poll.ts +3 -1
- package/_src/Queue/api/takeBetween.ts +29 -30
- package/_src/Queue/api/zipWithIO.ts +47 -36
- package/_src/Queue/constructors.ts +5 -5
- package/_src/Queue/definition.ts +129 -8
- package/_src/Queue/internal.ts +24 -38
- package/_src/Queue/strategy.ts +12 -26
- package/_src/Ref/Atomic.ts +70 -4
- package/_src/Ref/Derived.ts +22 -1
- package/_src/Ref/DerivedAll.ts +26 -2
- package/_src/Ref/Synchronized/api.ts +129 -130
- package/_src/Ref/Synchronized/constructors.ts +1 -1
- package/_src/Ref/Synchronized/definition.ts +21 -14
- package/_src/Ref/Synchronized.ts +5 -0
- package/_src/Ref/api/collect.ts +6 -8
- package/_src/Ref/api/dimap.ts +51 -64
- package/_src/Ref/api/filter.ts +12 -16
- package/_src/Ref/api/get.ts +2 -5
- package/_src/Ref/api/match.ts +8 -7
- package/_src/Ref/api/matchAll.ts +6 -5
- package/_src/Ref/api/modify.ts +61 -165
- package/_src/Ref/api/set.ts +7 -9
- package/_src/Ref/constructors.ts +3 -1
- package/_src/Ref/definition.ts +56 -23
- package/_src/Ref/symbols.ts +29 -0
- package/_src/Ref.ts +2 -0
- package/_src/RefSubject/Atomic.ts +120 -0
- package/_src/RefSubject/Synchronized/api.ts +14 -0
- package/_src/RefSubject/Synchronized/definition.ts +72 -0
- package/_src/RefSubject/api.ts +240 -0
- package/_src/RefSubject/definition.ts +62 -0
- package/_src/RefSubject.ts +5 -0
- package/_src/Reloadable/constructors.ts +2 -2
- package/_src/RuntimeConfig.ts +0 -31
- package/_src/RuntimeFlag.ts +10 -0
- package/_src/RuntimeFlags/Patch.ts +79 -0
- package/_src/RuntimeFlags/RuntimeFlags.ts +112 -0
- package/_src/RuntimeFlags.ts +4 -0
- package/_src/STM/api/core-api.ts +32 -35
- package/_src/STM/api.ts +211 -201
- package/_src/STM/internal/Entry.ts +0 -10
- package/_src/STM/internal/Journal.ts +24 -27
- package/_src/STM.ts +0 -1
- package/_src/Schedule/Decision.ts +10 -8
- package/_src/Schedule/api/driver.ts +2 -6
- package/_src/Schedule/api.ts +471 -474
- package/_src/Schedule/definition.ts +0 -1
- package/_src/Scope/ReleaseMap/api/releaseAll.ts +24 -26
- package/_src/Scope/ReleaseMap/api.ts +77 -74
- package/_src/Scope/ReleaseMap/constructors.ts +1 -1
- package/_src/Scope/api.ts +16 -18
- package/_src/ScopedRef/api.ts +0 -3
- package/_src/ScopedRef/definition.ts +1 -2
- package/_src/Sink/api.ts +326 -354
- package/_src/State/api.ts +12 -8
- package/_src/State/internal.ts +1 -1
- package/_src/Stream/api/zipAllWith.ts +7 -6
- package/_src/Stream/api/zipWith.ts +5 -8
- package/_src/Stream/api/zipWithChunks.ts +7 -6
- package/_src/Stream/api.ts +1086 -1203
- package/_src/Stream/definition.ts +0 -2
- package/_src/Stream/internal/DebounceState.ts +16 -17
- package/_src/Stream/internal/Handoff.ts +32 -36
- package/_src/Stream/internal/SinkEndReason.ts +13 -14
- package/_src/Stream/internal/Take.ts +21 -21
- package/_src/Stream/internal/util.ts +0 -2
- package/_src/Subject/Atomic.ts +28 -0
- package/_src/Subject/api.ts +18 -0
- package/_src/Subject/definition.ts +18 -0
- package/_src/Subject.ts +5 -0
- package/_src/SubscriptionRef.ts +58 -0
- package/_src/Supervisor/api.ts +20 -16
- package/_src/Supervisor/definition.ts +0 -1
- package/_src/SupervisorPatch.ts +10 -6
- package/_src/TExit/definition.ts +0 -8
- package/_src/TFuture/api.ts +23 -17
- package/_src/TFuture/definition.ts +2 -3
- package/_src/TReentrantLock/api.ts +18 -14
- package/_src/TReentrantLock/definition.ts +1 -8
- package/_src/TRef/api.ts +80 -250
- package/_src/TRef/constructors.ts +6 -6
- package/_src/TRef/definition.ts +161 -45
- package/_src/TRef/symbols.ts +19 -0
- package/_src/TRef.ts +1 -0
- package/_src/TSemaphore/api.ts +20 -19
- package/_src/TSemaphore/constructors.ts +7 -0
- package/_src/TSemaphore/definition.ts +1 -1
- package/_src/collection/immutable/Conc/dropUntilIO.ts +19 -21
- package/_src/collection/immutable/Conc/dropWhileIO.ts +21 -23
- package/_src/collection/immutable/Conc/filterIO.ts +15 -17
- package/_src/collection/immutable/Conc/findIO.ts +17 -19
- package/_src/collection/immutable/Conc/mapIO.ts +12 -10
- package/_src/collection/immutable/Conc/takeWhileIO.ts +27 -29
- package/_src/data/Exit/foreachIO.ts +8 -10
- package/_src/global.ts +11 -3
- package/_src/index.ts +10 -1
- package/_src/internal/Hub.ts +17 -27
- package/_src/internal/IsFatal.ts +14 -12
- package/_src/internal/MutableQueue.ts +8 -8
- package/_src/internal/StackTraceBuilder.ts +1 -2
- package/collection/immutable/Conc/dropUntilIO.d.ts +3 -3
- package/collection/immutable/Conc/dropWhileIO.d.ts +3 -3
- package/collection/immutable/Conc/filterIO.d.ts +3 -3
- package/collection/immutable/Conc/findIO.d.ts +2 -2
- package/collection/immutable/Conc/mapIO.d.ts +3 -3
- package/collection/immutable/Conc/takeWhileIO.d.ts +3 -3
- package/data/Exit/foreachIO.d.ts +3 -3
- package/global.d.ts +11 -3
- package/index.d.ts +10 -1
- package/internal/HashedPair.d.ts +2 -2
- package/internal/Hub.d.ts +2 -2
- package/internal/IsFatal.d.ts +3 -3
- package/internal/MutableQueue.d.ts +3 -3
- package/package.json +4 -4
- package/Channel/api/mapOutIOC.d.ts +0 -8
- package/Channel/api/zipC.d.ts +0 -16
- package/Fiber/FiberContext.d.ts +0 -153
- package/Fiber/api/evalOn.d.ts +0 -7
- package/Fiber/api/evalOnIO.d.ts +0 -9
- package/Fiber/api/interruptAsFork.d.ts +0 -8
- package/FiberState/api.d.ts +0 -7
- package/FiberState/constructors.d.ts +0 -22
- package/FiberState/definition.d.ts +0 -38
- package/FiberState.d.ts +0 -3
- package/IO/api/withRuntimeConfig.d.ts +0 -10
- package/IO/api/zipC.d.ts +0 -13
- package/Ref/Atomic/Atomic.d.ts +0 -18
- package/Ref/Atomic/api.d.ts +0 -53
- package/_cjs/Channel/api/mapOutIOC.cjs +0 -63
- package/_cjs/Channel/api/mapOutIOC.cjs.map +0 -1
- package/_cjs/Channel/api/zipC.cjs.map +0 -1
- package/_cjs/Fiber/FiberContext.cjs +0 -1088
- package/_cjs/Fiber/FiberContext.cjs.map +0 -1
- package/_cjs/Fiber/api/evalOn.cjs.map +0 -1
- package/_cjs/Fiber/api/evalOnIO.cjs +0 -31
- package/_cjs/Fiber/api/evalOnIO.cjs.map +0 -1
- package/_cjs/Fiber/api/interruptAsFork.cjs +0 -15
- package/_cjs/Fiber/api/interruptAsFork.cjs.map +0 -1
- package/_cjs/FiberState/api.cjs.map +0 -1
- package/_cjs/FiberState/constructors.cjs.map +0 -1
- package/_cjs/FiberState/definition.cjs.map +0 -1
- package/_cjs/FiberState.cjs.map +0 -1
- package/_cjs/IO/api/foreachC.cjs.map +0 -1
- package/_cjs/IO/api/withRuntimeConfig.cjs.map +0 -1
- package/_cjs/IO/api/zipC.cjs +0 -67
- package/_cjs/IO/api/zipC.cjs.map +0 -1
- package/_cjs/Ref/Atomic/Atomic.cjs +0 -64
- package/_cjs/Ref/Atomic/Atomic.cjs.map +0 -1
- package/_cjs/Ref/Atomic/api.cjs +0 -156
- package/_cjs/Ref/Atomic/api.cjs.map +0 -1
- package/_mjs/Channel/api/mapOutIOC.mjs +0 -32
- package/_mjs/Channel/api/mapOutIOC.mjs.map +0 -1
- package/_mjs/Channel/api/zipC.mjs +0 -30
- package/_mjs/Channel/api/zipC.mjs.map +0 -1
- package/_mjs/Fiber/FiberContext.mjs +0 -1013
- package/_mjs/Fiber/FiberContext.mjs.map +0 -1
- package/_mjs/Fiber/api/evalOn.mjs +0 -17
- package/_mjs/Fiber/api/evalOn.mjs.map +0 -1
- package/_mjs/Fiber/api/evalOnIO.mjs +0 -16
- package/_mjs/Fiber/api/evalOnIO.mjs.map +0 -1
- package/_mjs/Fiber/api/interruptAsFork.mjs +0 -8
- package/_mjs/Fiber/api/interruptAsFork.mjs.map +0 -1
- package/_mjs/FiberState/api.mjs +0 -15
- package/_mjs/FiberState/api.mjs.map +0 -1
- package/_mjs/FiberState/constructors.mjs +0 -26
- package/_mjs/FiberState/constructors.mjs.map +0 -1
- package/_mjs/FiberState/definition.mjs +0 -26
- package/_mjs/FiberState/definition.mjs.map +0 -1
- package/_mjs/FiberState.mjs +0 -5
- package/_mjs/FiberState.mjs.map +0 -1
- package/_mjs/IO/api/foreachC.mjs +0 -118
- package/_mjs/IO/api/foreachC.mjs.map +0 -1
- package/_mjs/IO/api/withRuntimeConfig.mjs +0 -13
- package/_mjs/IO/api/withRuntimeConfig.mjs.map +0 -1
- package/_mjs/IO/api/zipC.mjs +0 -39
- package/_mjs/IO/api/zipC.mjs.map +0 -1
- package/_mjs/Ref/Atomic/Atomic.mjs +0 -47
- package/_mjs/Ref/Atomic/Atomic.mjs.map +0 -1
- package/_mjs/Ref/Atomic/api.mjs +0 -127
- package/_mjs/Ref/Atomic/api.mjs.map +0 -1
- package/_src/Channel/api/mapOutIOC.ts +0 -63
- package/_src/Channel/api/zipC.ts +0 -104
- package/_src/Fiber/FiberContext.ts +0 -1019
- package/_src/Fiber/api/evalOn.ts +0 -17
- package/_src/Fiber/api/evalOnIO.ts +0 -19
- package/_src/Fiber/api/interruptAsFork.ts +0 -7
- package/_src/FiberState/api.ts +0 -12
- package/_src/FiberState/constructors.ts +0 -33
- package/_src/FiberState/definition.ts +0 -44
- package/_src/FiberState.ts +0 -5
- package/_src/IO/api/withRuntimeConfig.ts +0 -20
- package/_src/IO/api/zipC.ts +0 -74
- package/_src/Ref/Atomic/Atomic.ts +0 -56
- package/_src/Ref/Atomic/api.ts +0 -124
package/_mjs/Stream/api.mjs
CHANGED
|
@@ -30,59 +30,60 @@ import * as tsplus_module_28 from "@fncts/io/IO/runtime";
|
|
|
30
30
|
import * as tsplus_module_29 from "@fncts/io/Queue/constructors";
|
|
31
31
|
import * as tsplus_module_30 from "@fncts/io/IO/api/acquireRelease";
|
|
32
32
|
import * as tsplus_module_31 from "@fncts/io/IO/api/acquireReleaseExit";
|
|
33
|
-
import * as tsplus_module_32 from "@fncts/io/
|
|
34
|
-
import * as tsplus_module_33 from "@fncts/
|
|
35
|
-
import * as tsplus_module_34 from "@fncts/base/
|
|
36
|
-
import * as tsplus_module_35 from "@fncts/
|
|
37
|
-
import * as tsplus_module_36 from "@fncts/io/Future/
|
|
38
|
-
import * as tsplus_module_37 from "@fncts/
|
|
39
|
-
import * as tsplus_module_38 from "@fncts/base/
|
|
40
|
-
import * as tsplus_module_39 from "@fncts/base/
|
|
41
|
-
import * as tsplus_module_40 from "@fncts/
|
|
42
|
-
import * as tsplus_module_41 from "@fncts/io/
|
|
43
|
-
import * as tsplus_module_42 from "@fncts/
|
|
44
|
-
import * as tsplus_module_43 from "@fncts/
|
|
45
|
-
import * as tsplus_module_44 from "@fncts/io/TSemaphore/
|
|
46
|
-
import * as tsplus_module_45 from "@fncts/io/
|
|
47
|
-
import * as tsplus_module_46 from "@fncts/io/
|
|
48
|
-
import * as tsplus_module_47 from "@fncts/
|
|
49
|
-
import * as tsplus_module_48 from "@fncts/
|
|
50
|
-
import * as tsplus_module_49 from "@fncts/io/
|
|
51
|
-
import * as tsplus_module_50 from "@fncts/io/
|
|
52
|
-
import * as tsplus_module_51 from "@fncts/
|
|
53
|
-
import * as tsplus_module_52 from "@fncts/
|
|
54
|
-
import * as tsplus_module_53 from "@fncts/io/
|
|
55
|
-
import * as tsplus_module_54 from "@fncts/io/
|
|
56
|
-
import * as tsplus_module_55 from "@fncts/io/Channel/api/
|
|
57
|
-
import * as tsplus_module_56 from "@fncts/io/Channel/api/
|
|
58
|
-
import * as tsplus_module_57 from "@fncts/io/Channel/
|
|
59
|
-
import * as tsplus_module_58 from "@fncts/io/Channel/
|
|
60
|
-
import * as tsplus_module_59 from "@fncts/io/
|
|
61
|
-
import * as tsplus_module_60 from "@fncts/io/Layer/
|
|
62
|
-
import * as tsplus_module_61 from "@fncts/io/
|
|
63
|
-
import * as tsplus_module_62 from "@fncts/
|
|
64
|
-
import * as tsplus_module_63 from "@fncts/
|
|
65
|
-
|
|
66
|
-
export const
|
|
67
|
-
export const
|
|
33
|
+
import * as tsplus_module_32 from "@fncts/io/IO/api/fork";
|
|
34
|
+
import * as tsplus_module_33 from "@fncts/io/Hub/api";
|
|
35
|
+
import * as tsplus_module_34 from "@fncts/base/collection/immutable/Conc/api/replicate";
|
|
36
|
+
import * as tsplus_module_35 from "@fncts/base/data/Exit/api";
|
|
37
|
+
import * as tsplus_module_36 from "@fncts/io/Future/api";
|
|
38
|
+
import * as tsplus_module_37 from "@fncts/io/Future/constructors";
|
|
39
|
+
import * as tsplus_module_38 from "@fncts/base/data/Maybe/api";
|
|
40
|
+
import * as tsplus_module_39 from "@fncts/base/collection/Iterable/constructors";
|
|
41
|
+
import * as tsplus_module_40 from "@fncts/base/data/Exit/constructors";
|
|
42
|
+
import * as tsplus_module_41 from "@fncts/io/Stream/internal/DebounceState";
|
|
43
|
+
import * as tsplus_module_42 from "@fncts/io/Clock/api";
|
|
44
|
+
import * as tsplus_module_43 from "@fncts/base/collection/immutable/HashMap/api";
|
|
45
|
+
import * as tsplus_module_44 from "@fncts/io/TSemaphore/api";
|
|
46
|
+
import * as tsplus_module_45 from "@fncts/io/TSemaphore/constructors";
|
|
47
|
+
import * as tsplus_module_46 from "@fncts/io/STM/api";
|
|
48
|
+
import * as tsplus_module_47 from "@fncts/io/Sink/api";
|
|
49
|
+
import * as tsplus_module_48 from "@fncts/base/data/Predicate/api";
|
|
50
|
+
import * as tsplus_module_49 from "@fncts/io/Fiber/api/poll";
|
|
51
|
+
import * as tsplus_module_50 from "@fncts/io/IO/api/environment";
|
|
52
|
+
import * as tsplus_module_51 from "@fncts/io/collection/immutable/Conc/findIO";
|
|
53
|
+
import * as tsplus_module_52 from "@fncts/base/data/Exit/definition";
|
|
54
|
+
import * as tsplus_module_53 from "@fncts/io/Stream/internal/Pull";
|
|
55
|
+
import * as tsplus_module_54 from "@fncts/io/Queue/api/takeBetween";
|
|
56
|
+
import * as tsplus_module_55 from "@fncts/io/Channel/api/interruptWhen";
|
|
57
|
+
import * as tsplus_module_56 from "@fncts/io/Channel/api/mapOutConcurrentIO";
|
|
58
|
+
import * as tsplus_module_57 from "@fncts/io/Channel/api/mergeMap";
|
|
59
|
+
import * as tsplus_module_58 from "@fncts/io/Channel/internal/MergeDecision";
|
|
60
|
+
import * as tsplus_module_59 from "@fncts/io/Channel/api/mergeWith";
|
|
61
|
+
import * as tsplus_module_60 from "@fncts/io/Layer/MemoMap";
|
|
62
|
+
import * as tsplus_module_61 from "@fncts/io/Layer/api";
|
|
63
|
+
import * as tsplus_module_62 from "@fncts/io/Channel/api/runDrain";
|
|
64
|
+
import * as tsplus_module_63 from "@fncts/base/data/exceptions";
|
|
65
|
+
import * as tsplus_module_64 from "@fncts/io/Channel/api/toPull";
|
|
66
|
+
export const aggregateAsyncWithin = aggregateAsyncWithin_1;
|
|
67
|
+
export const aggregateAsyncWithinEither = aggregateAsyncWithinEither_1;
|
|
68
|
+
export const zipRight = zipRight_1;
|
|
68
69
|
export const asyncInterrupt = asyncInterrupt_1;
|
|
69
70
|
export const asyncMaybe = asyncMaybe_1;
|
|
70
|
-
export const
|
|
71
|
-
export const
|
|
72
|
-
export const
|
|
73
|
-
export const
|
|
74
|
-
export const
|
|
71
|
+
export const broadcastedQueues = broadcastedQueues_1;
|
|
72
|
+
export const broadcastedQueuesDynamic = broadcastedQueuesDynamic_1;
|
|
73
|
+
export const catchAll = catchAll_1;
|
|
74
|
+
export const catchAllCause = catchAllCause_1;
|
|
75
|
+
export const flatMap = flatMap_1;
|
|
75
76
|
export const chunks = chunks_1;
|
|
76
|
-
export const
|
|
77
|
-
export const
|
|
78
|
-
export const
|
|
79
|
-
export const
|
|
80
|
-
export const
|
|
81
|
-
export const
|
|
77
|
+
export const concat = concat_1;
|
|
78
|
+
export const crossWith = crossWith_1;
|
|
79
|
+
export const distributedWithDynamic = distributedWithDynamic_1;
|
|
80
|
+
export const drop = drop_1;
|
|
81
|
+
export const dropWhile = dropWhile_1;
|
|
82
|
+
export const ensuring = ensuring_1;
|
|
82
83
|
export const environment = environment_1;
|
|
83
84
|
export const failNow = failNow_1;
|
|
84
85
|
export const failCauseNow = failCauseNow_1;
|
|
85
|
-
export const
|
|
86
|
+
export const filterMap = filterMap_1;
|
|
86
87
|
export const flatten = flatten_1;
|
|
87
88
|
export const flattenExitOption = flattenExitOption_1;
|
|
88
89
|
export const flattenTake = flattenTake_1;
|
|
@@ -94,40 +95,40 @@ export const scoped = scoped_1;
|
|
|
94
95
|
export const fromIO = fromIO_1;
|
|
95
96
|
export const fromIOMaybe = fromIOMaybe_1;
|
|
96
97
|
export const fromPull = fromPull_1;
|
|
97
|
-
export const
|
|
98
|
+
export const fromQueue = fromQueue_1;
|
|
98
99
|
export const fromQueueWithShutdown = fromQueueWithShutdown_1;
|
|
99
100
|
export const halt = halt_1;
|
|
100
|
-
export const
|
|
101
|
-
export const
|
|
102
|
-
export const
|
|
103
|
-
export const
|
|
104
|
-
export const
|
|
105
|
-
export const
|
|
106
|
-
export const
|
|
107
|
-
export const
|
|
108
|
-
export const
|
|
109
|
-
export const
|
|
110
|
-
export const
|
|
111
|
-
export const
|
|
112
|
-
export const
|
|
113
|
-
export const
|
|
114
|
-
export const
|
|
101
|
+
export const interleaveWith = interleaveWith_1;
|
|
102
|
+
export const map = map_1;
|
|
103
|
+
export const mapAccum = mapAccum_1;
|
|
104
|
+
export const mapAccumIO = mapAccumIO_1;
|
|
105
|
+
export const mapChunks = mapChunks_1;
|
|
106
|
+
export const mapConcatChunk = mapConcatChunk_1;
|
|
107
|
+
export const mapError = mapError_1;
|
|
108
|
+
export const mapIO = mapIO_1;
|
|
109
|
+
export const mergeMap = mergeMap_1;
|
|
110
|
+
export const mergeEither = mergeEither_1;
|
|
111
|
+
export const mergeWith = mergeWith_1;
|
|
112
|
+
export const orElse = orElse_1;
|
|
113
|
+
export const pipeThrough = pipeThrough_1;
|
|
114
|
+
export const provideEnvironment = provideEnvironment_1;
|
|
115
|
+
export const provideLayer = provideLayer_1;
|
|
115
116
|
export const repeatIOMaybe = repeatIOMaybe_1;
|
|
116
117
|
export const repeatIOChunkMaybe = repeatIOChunkMaybe_1;
|
|
117
|
-
export const
|
|
118
|
-
export const
|
|
118
|
+
export const run = run_1;
|
|
119
|
+
export const runForeachScoped = runForeachScoped_1;
|
|
119
120
|
export const runIntoElementsScoped_ = runIntoElementsScoped_1;
|
|
120
|
-
export const
|
|
121
|
-
export const
|
|
122
|
-
export const
|
|
123
|
-
export const
|
|
124
|
-
export const
|
|
121
|
+
export const runIntoQueueScoped = runIntoQueueScoped_1;
|
|
122
|
+
export const runIntoHubScoped = runIntoHubScoped_1;
|
|
123
|
+
export const runScoped = runScoped_1;
|
|
124
|
+
export const scanIO = scanIO_1;
|
|
125
|
+
export const scanReduceIO = scanReduceIO_1;
|
|
125
126
|
export const succeedNow = succeedNow_1;
|
|
126
|
-
export const
|
|
127
|
-
export const
|
|
127
|
+
export const throttleEnforceIO = throttleEnforceIO_1;
|
|
128
|
+
export const toHub = toHub_1;
|
|
128
129
|
export const toPull = toPull_1;
|
|
129
|
-
export const
|
|
130
|
-
export const
|
|
130
|
+
export const toQueue = toQueue_1;
|
|
131
|
+
export const toQueueOfElements = toQueueOfElements_1;
|
|
131
132
|
export const toQueueUnbounded = toQueueUnbounded_1;
|
|
132
133
|
export const unfoldChunkIO = unfoldChunkIO_1;
|
|
133
134
|
export const unfoldIO = unfoldIO_1;
|
|
@@ -143,9 +144,8 @@ import { ScheduleEnd, UpstreamEnd } from "./internal/SinkEndReason.mjs";
|
|
|
143
144
|
*
|
|
144
145
|
* @tsplus getter fncts.io.Stream absolve
|
|
145
146
|
*/
|
|
146
|
-
|
|
147
147
|
export function absolve(self, __tsplusTrace) {
|
|
148
|
-
return mapIO_1(
|
|
148
|
+
return mapIO_1(either => tsplus_module_1.fromEither(() => either, __tsplusTrace), __tsplusTrace)(self);
|
|
149
149
|
}
|
|
150
150
|
/**
|
|
151
151
|
* Aggregates elements of this stream using the provided sink for as long
|
|
@@ -159,20 +159,22 @@ export function absolve(self, __tsplusTrace) {
|
|
|
159
159
|
* Any sink can be used here, but see `Sink.foldWeightedM` and `Sink.foldUntilM` for
|
|
160
160
|
* sinks that cover the common usecases.
|
|
161
161
|
*
|
|
162
|
-
* @tsplus
|
|
162
|
+
* @tsplus pipeable fncts.io.Stream aggregateAsync
|
|
163
163
|
*/
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
164
|
+
export function aggregateAsync(sink, __tsplusTrace) {
|
|
165
|
+
return stream => {
|
|
166
|
+
return aggregateAsyncWithin_1(sink, tsplus_module_2.forever, __tsplusTrace)(stream);
|
|
167
|
+
};
|
|
167
168
|
}
|
|
168
169
|
/**
|
|
169
170
|
* Like `aggregateAsyncWithinEither`, but only returns the `Right` results.
|
|
170
171
|
*
|
|
171
|
-
* @tsplus
|
|
172
|
+
* @tsplus pipeable fncts.io.Stream aggregateAsyncWithin
|
|
172
173
|
*/
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
174
|
+
function aggregateAsyncWithin_1(sink, schedule, __tsplusTrace) {
|
|
175
|
+
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));
|
|
177
|
+
};
|
|
176
178
|
}
|
|
177
179
|
/**
|
|
178
180
|
* Aggregates elements using the provided sink until it completes, or until the
|
|
@@ -186,108 +188,101 @@ function aggregateAsyncWithin_1(stream, sink, schedule, __tsplusTrace) {
|
|
|
186
188
|
* Aggregated elements will be fed into the schedule to determine the delays between
|
|
187
189
|
* pulls.
|
|
188
190
|
*
|
|
189
|
-
* @tsplus
|
|
190
|
-
*/
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
els
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
error
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
} else {
|
|
216
|
-
return tsplus_module_10.fromIO(() => tsplus_module_13.set_(sinkEndReason, reason, __tsplusTrace));
|
|
191
|
+
* @tsplus pipeable fncts.io.Stream aggregateAsyncWithinEither
|
|
192
|
+
*/
|
|
193
|
+
function aggregateAsyncWithinEither_1(sink, schedule, __tsplusTrace) {
|
|
194
|
+
return stream => {
|
|
195
|
+
const deps = tsplus_module_9.sequenceT(tsplus_module_5.make(), tsplus_module_6.make(() => new ScheduleEnd(), __tsplusTrace), tsplus_module_6.make(() => tsplus_module_7.empty(), __tsplusTrace), tsplus_module_8.driver(schedule, __tsplusTrace), tsplus_module_6.make(() => false, __tsplusTrace));
|
|
196
|
+
return flatMap_1(([handoff, sinkEndReason, sinkLeftovers, scheduleDriver, consumed]) => {
|
|
197
|
+
const handoffProducer = tsplus_module_10.readWithCause(_in => tsplus_module_11.zipRight(handoffProducer)(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_5.emit(_in))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_5.halt(cause))(handoff)), _ => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_5.end(new UpstreamEnd()))(handoff)));
|
|
198
|
+
const handoffConsumer = tsplus_module_10.unwrap(() => tsplus_module_1.flatMap(leftovers => {
|
|
199
|
+
if (tsplus_module_12.isNonEmpty(leftovers)) {
|
|
200
|
+
return tsplus_module_1.zipRight(tsplus_module_1.succeedNow(tsplus_module_11.zipRight(handoffConsumer)(tsplus_module_10.writeNow(leftovers)), __tsplusTrace), __tsplusTrace)(tsplus_module_13.set(true, __tsplusTrace)(consumed));
|
|
201
|
+
} else {
|
|
202
|
+
return tsplus_module_1.map(signal => tsplus_module_5.matchSignal({
|
|
203
|
+
Emit: ({
|
|
204
|
+
els
|
|
205
|
+
}) => tsplus_module_11.zipRight(handoffConsumer)(tsplus_module_11.zipRight(tsplus_module_10.writeNow(els))(tsplus_module_10.fromIO(() => tsplus_module_13.set(true, __tsplusTrace)(consumed)))),
|
|
206
|
+
Halt: ({
|
|
207
|
+
error
|
|
208
|
+
}) => tsplus_module_11.failCause(() => error),
|
|
209
|
+
End: ({
|
|
210
|
+
reason
|
|
211
|
+
}) => {
|
|
212
|
+
if (reason._tag === "ScheduleEnd" /* SinkEndReasonTag.ScheduleEnd */) {
|
|
213
|
+
return tsplus_module_10.unwrap(() => tsplus_module_1.map(p => p ? tsplus_module_10.fromIO(() => tsplus_module_13.set(new ScheduleEnd(), __tsplusTrace)(sinkEndReason)) : tsplus_module_11.zipRight(handoffConsumer)(tsplus_module_10.fromIO(() => tsplus_module_13.set(new ScheduleEnd(), __tsplusTrace)(sinkEndReason))), __tsplusTrace)(tsplus_module_14.get(consumed, __tsplusTrace)));
|
|
214
|
+
} else {
|
|
215
|
+
return tsplus_module_10.fromIO(() => tsplus_module_13.set(reason, __tsplusTrace)(sinkEndReason));
|
|
216
|
+
}
|
|
217
217
|
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
function timeout(lastB, __tsplusTrace) {
|
|
224
|
-
return scheduleDriver.next(lastB, __tsplusTrace);
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
const scheduledAggregator = (sinkFiber, scheduleFiber) => {
|
|
228
|
-
const forkSink = tsplus_module_1.apSecond_(tsplus_module_13.set_(consumed, false, __tsplusTrace), tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.doneCollect(tsplus_module_10.pipeToOrFail_(handoffConsumer, sink.channel))), __tsplusTrace), __tsplusTrace);
|
|
229
|
-
|
|
230
|
-
function handleSide(leftovers, b, c, __tsplusTrace) {
|
|
231
|
-
return tsplus_module_10.unwrap(() => tsplus_module_1.apSecond_(tsplus_module_13.set_(sinkLeftovers, tsplus_module_12.flatten(leftovers), __tsplusTrace), tsplus_module_1.map_(tsplus_module_14.get(sinkEndReason, __tsplusTrace), reason => tsplus_module_21.matchSinkEndReason_(reason, {
|
|
232
|
-
ScheduleEnd: () => tsplus_module_10.unwrapScoped(() => tsplus_module_1.flatMap_(tsplus_module_14.get(consumed, __tsplusTrace), consumed_ => tsplus_module_1.flatMap_(forkSink, sinkFiber => tsplus_module_1.map_(tsplus_module_17.forkScoped(timeout(tsplus_module_3.just(b), __tsplusTrace), __tsplusTrace), scheduleFiber => {
|
|
233
|
-
const toWrite = tsplus_module_20.match_(c, () => tsplus_module_19.make(tsplus_module_18.right(b)), c => tsplus_module_19.make(tsplus_module_18.right(b), tsplus_module_18.left(c)));
|
|
234
|
-
return consumed_ ? tsplus_module_11.apSecond_(tsplus_module_10.write(() => toWrite), scheduledAggregator(sinkFiber, scheduleFiber)) : scheduledAggregator(sinkFiber, scheduleFiber);
|
|
235
|
-
}, __tsplusTrace), __tsplusTrace), __tsplusTrace)),
|
|
236
|
-
UpstreamEnd: () => tsplus_module_10.unwrap(() => tsplus_module_1.map_(tsplus_module_14.get(consumed, __tsplusTrace), p => p ? tsplus_module_10.write(() => tsplus_module_19.make(tsplus_module_18.right(b))) : tsplus_module_10.unit, __tsplusTrace))
|
|
237
|
-
}), __tsplusTrace), __tsplusTrace));
|
|
218
|
+
})(signal), __tsplusTrace)(tsplus_module_5.take(handoff));
|
|
219
|
+
}
|
|
220
|
+
}, __tsplusTrace)(tsplus_module_15.getAndSet(tsplus_module_7.empty(), __tsplusTrace)(sinkLeftovers)));
|
|
221
|
+
function timeout(lastB, __tsplusTrace) {
|
|
222
|
+
return scheduleDriver.next(lastB, __tsplusTrace);
|
|
238
223
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
224
|
+
const scheduledAggregator = (sinkFiber, scheduleFiber) => {
|
|
225
|
+
const forkSink = tsplus_module_1.zipRight(tsplus_module_17.forkScoped(tsplus_module_16.runScoped(tsplus_module_10.doneCollect(tsplus_module_10.pipeToOrFail(sink.channel)(handoffConsumer))), __tsplusTrace), __tsplusTrace)(tsplus_module_13.set(false, __tsplusTrace)(consumed));
|
|
226
|
+
function handleSide(leftovers, b, c, __tsplusTrace) {
|
|
227
|
+
return tsplus_module_10.unwrap(() => tsplus_module_1.zipRight(tsplus_module_1.map(reason => tsplus_module_21.matchSinkEndReason({
|
|
228
|
+
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);
|
|
230
|
+
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)))
|
|
233
|
+
})(reason), __tsplusTrace)(tsplus_module_14.get(sinkEndReason, __tsplusTrace)), __tsplusTrace)(tsplus_module_13.set(tsplus_module_12.flatten(leftovers), __tsplusTrace)(sinkLeftovers)));
|
|
234
|
+
}
|
|
235
|
+
return tsplus_module_10.unwrap(() => tsplus_module_24.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)));
|
|
236
|
+
};
|
|
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);
|
|
238
|
+
}, __tsplusTrace)(fromIO_1(deps, __tsplusTrace));
|
|
239
|
+
};
|
|
245
240
|
}
|
|
246
241
|
/**
|
|
247
242
|
* Composes this stream with the specified stream to create a cartesian product of elements,
|
|
248
243
|
* but keeps only elements from this stream.
|
|
249
244
|
* The `that` stream would be run multiple times, for every element in the `this` stream.
|
|
250
245
|
*
|
|
251
|
-
* @tsplus
|
|
246
|
+
* @tsplus pipeable fncts.io.Stream zipLeft
|
|
252
247
|
*/
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
248
|
+
export function zipLeft(that, __tsplusTrace) {
|
|
249
|
+
return stream => {
|
|
250
|
+
return crossWith_1(that, (a, _) => a, __tsplusTrace)(stream);
|
|
251
|
+
};
|
|
257
252
|
}
|
|
258
253
|
/**
|
|
259
254
|
* Composes this stream with the specified stream to create a cartesian product of elements,
|
|
260
255
|
* but keeps only elements from the other stream.
|
|
261
256
|
* The `that` stream would be run multiple times, for every element in the `this` stream.
|
|
262
257
|
*
|
|
263
|
-
* @tsplus
|
|
258
|
+
* @tsplus pipeable fncts.io.Stream zipRight
|
|
264
259
|
*/
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
260
|
+
function zipRight_1(that, __tsplusTrace) {
|
|
261
|
+
return stream => {
|
|
262
|
+
return crossWith_1(that, (_, b) => b, __tsplusTrace)(stream);
|
|
263
|
+
};
|
|
268
264
|
}
|
|
269
265
|
/**
|
|
270
266
|
* Maps the success values of this stream to the specified constant value.
|
|
271
267
|
*
|
|
272
|
-
* @tsplus
|
|
268
|
+
* @tsplus pipeable fncts.io.Stream as
|
|
273
269
|
*/
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
270
|
+
export function as(b, __tsplusTrace) {
|
|
271
|
+
return stream => {
|
|
272
|
+
return map_1(() => b(), __tsplusTrace)(stream);
|
|
273
|
+
};
|
|
278
274
|
}
|
|
279
275
|
/**
|
|
280
276
|
* @tsplus static fncts.io.StreamOps asyncInterrupt
|
|
281
277
|
*/
|
|
282
|
-
|
|
283
278
|
function asyncInterrupt_1(register, outputBuffer = 16, __tsplusTrace) {
|
|
284
|
-
return unwrapScoped_1(tsplus_module_1.
|
|
285
|
-
const
|
|
279
|
+
return unwrapScoped_1(tsplus_module_1.flatMap(output => tsplus_module_1.flatMap(runtime => tsplus_module_1.map(eitherStream => tsplus_module_4.match(canceler => {
|
|
280
|
+
const loop = tsplus_module_10.unwrap(() => tsplus_module_1.match(maybeError => tsplus_module_20.match(() => tsplus_module_11.endNow(undefined), tsplus_module_10.failNow)(maybeError), as => tsplus_module_11.zipRight(loop)(tsplus_module_10.writeNow(as)), __tsplusTrace)(tsplus_module_1.flatMap(take => tsplus_module_26.done(take), __tsplusTrace)(tsplus_module_27.take(output, __tsplusTrace))));
|
|
281
|
+
return ensuring_1(canceler, __tsplusTrace)(new Stream(loop));
|
|
282
|
+
}, stream => unwrap_1(tsplus_module_1.as(() => stream, __tsplusTrace)(tsplus_module_27.shutdown(output, __tsplusTrace)), __tsplusTrace))(eitherStream), __tsplusTrace)(tsplus_module_1.succeed(() => register((k, cb) => {
|
|
283
|
+
const effect = tsplus_module_1.flatMap(a => tsplus_module_27.offer(a, __tsplusTrace)(output), __tsplusTrace)(tsplus_module_26.fromPull(k));
|
|
286
284
|
return runtime.unsafeRunAsyncWith(effect, cb || constVoid, __tsplusTrace);
|
|
287
|
-
}), __tsplusTrace),
|
|
288
|
-
const loop = tsplus_module_10.unwrap(() => tsplus_module_1.match_(tsplus_module_1.flatMap_(tsplus_module_27.take(output, __tsplusTrace), take => tsplus_module_26.done(take), __tsplusTrace), maybeError => tsplus_module_20.match_(maybeError, () => tsplus_module_11.endNow(undefined), tsplus_module_10.failNow), as => tsplus_module_11.apSecond_(tsplus_module_10.writeNow(as), loop), __tsplusTrace));
|
|
289
|
-
return ensuring_1(new Stream(loop), canceler, __tsplusTrace);
|
|
290
|
-
}, stream => unwrap_1(tsplus_module_1.as_(tsplus_module_27.shutdown(output, __tsplusTrace), () => stream, __tsplusTrace), __tsplusTrace)), __tsplusTrace), __tsplusTrace), __tsplusTrace), __tsplusTrace);
|
|
285
|
+
}), __tsplusTrace)), __tsplusTrace)(tsplus_module_28.runtime(__tsplusTrace)), __tsplusTrace)(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeBounded(outputBuffer, __tsplusTrace), queue => tsplus_module_27.shutdown(queue, __tsplusTrace), __tsplusTrace)), __tsplusTrace);
|
|
291
286
|
}
|
|
292
287
|
/**
|
|
293
288
|
* Creates a stream from an asynchronous callback that can be called multiple times.
|
|
@@ -297,16 +292,12 @@ function asyncInterrupt_1(register, outputBuffer = 16, __tsplusTrace) {
|
|
|
297
292
|
*
|
|
298
293
|
* @tsplus static fncts.io.StreamOps asyncMaybe
|
|
299
294
|
*/
|
|
300
|
-
|
|
301
|
-
|
|
302
295
|
function asyncMaybe_1(register, outputBuffer = 16, __tsplusTrace) {
|
|
303
|
-
return asyncInterrupt_1(k => tsplus_module_20.
|
|
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);
|
|
304
297
|
}
|
|
305
298
|
/**
|
|
306
299
|
* @tsplus static fncts.io.StreamOps async
|
|
307
300
|
*/
|
|
308
|
-
|
|
309
|
-
|
|
310
301
|
export function async(register, outputBuffer = 16, __tsplusTrace) {
|
|
311
302
|
return asyncMaybe_1(cb => {
|
|
312
303
|
register(cb);
|
|
@@ -316,20 +307,20 @@ export function async(register, outputBuffer = 16, __tsplusTrace) {
|
|
|
316
307
|
/**
|
|
317
308
|
* @tsplus static fncts.io.StreamOps asyncIO
|
|
318
309
|
*/
|
|
319
|
-
|
|
320
310
|
export function asyncIO(register, outputBuffer = 16, __tsplusTrace) {
|
|
321
|
-
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.
|
|
322
|
-
const loop = tsplus_module_10.unwrap(() => tsplus_module_1.
|
|
311
|
+
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.flatMap(output => tsplus_module_1.flatMap(runtime => tsplus_module_1.map(() => {
|
|
312
|
+
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_27.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_26.done(take), __tsplusTrace)(tsplus_module_27.take(output, __tsplusTrace))));
|
|
323
313
|
return loop;
|
|
324
|
-
}, __tsplusTrace), __tsplusTrace), __tsplusTrace)));
|
|
314
|
+
}, __tsplusTrace)(register((k, cb) => runtime.unsafeRunAsyncWith(tsplus_module_1.flatMap(a => tsplus_module_27.offer(a, __tsplusTrace)(output), __tsplusTrace)(tsplus_module_26.fromPull(k)), cb || constVoid, __tsplusTrace))), __tsplusTrace)(tsplus_module_28.runtime(__tsplusTrace)), __tsplusTrace)(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeBounded(outputBuffer, __tsplusTrace), _ => tsplus_module_27.shutdown(_, __tsplusTrace), __tsplusTrace))));
|
|
325
315
|
}
|
|
326
316
|
/**
|
|
327
317
|
* Returns a stream whose failure and success channels have been mapped by
|
|
328
318
|
* the specified pair of functions, `f` and `g`.
|
|
319
|
+
*
|
|
320
|
+
* @tsplus pipeable fncts.io.Stream bimap
|
|
329
321
|
*/
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
return map_1(mapError_1(stream, f, __tsplusTrace), g, __tsplusTrace);
|
|
322
|
+
export function bimap(f, g, __tsplusTrace) {
|
|
323
|
+
return stream => map_1(g, __tsplusTrace)(mapError_1(f, __tsplusTrace)(stream));
|
|
333
324
|
}
|
|
334
325
|
/**
|
|
335
326
|
* Creates a stream from a single value that will get cleaned up after the
|
|
@@ -337,9 +328,8 @@ export function bimap_(stream, f, g, __tsplusTrace) {
|
|
|
337
328
|
*
|
|
338
329
|
* @tsplus static fncts.io.StreamOps acquireRelease
|
|
339
330
|
*/
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
return scoped_1(tsplus_module_30.acquireRelease(() => acquire, release, __tsplusTrace), __tsplusTrace);
|
|
331
|
+
export function acquireRelease(acquire, release, __tsplusTrace) {
|
|
332
|
+
return scoped_1(() => tsplus_module_30.acquireRelease(() => acquire, release, __tsplusTrace), __tsplusTrace);
|
|
343
333
|
}
|
|
344
334
|
/**
|
|
345
335
|
* Creates a stream from a single value that will get cleaned up after the
|
|
@@ -347,31 +337,32 @@ export function acquireRelease_(acquire, release, __tsplusTrace) {
|
|
|
347
337
|
*
|
|
348
338
|
* @tsplus static fncts.io.StreamOps acquireReleaseExit
|
|
349
339
|
*/
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
return scoped_1(tsplus_module_31.acquireReleaseExit(() => acquire, release, __tsplusTrace), __tsplusTrace);
|
|
340
|
+
export function acquireReleaseExit(acquire, release, __tsplusTrace) {
|
|
341
|
+
return scoped_1(() => tsplus_module_31.acquireReleaseExit(() => acquire, release, __tsplusTrace), __tsplusTrace);
|
|
353
342
|
}
|
|
354
343
|
/**
|
|
355
344
|
* Fan out the stream, producing a list of streams that have the same elements as this stream.
|
|
356
345
|
* The driver stream will only ever advance of the `maximumLag` chunks before the
|
|
357
346
|
* slowest downstream stream.
|
|
358
347
|
*
|
|
359
|
-
* @tsplus
|
|
348
|
+
* @tsplus pipeable fncts.io.Stream broadcast
|
|
360
349
|
*/
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
350
|
+
export function broadcast(n, maximumLag, __tsplusTrace) {
|
|
351
|
+
return stream => {
|
|
352
|
+
return tsplus_module_1.map(c => tsplus_module_12.map(hub => flattenTake_1(fromQueueWithShutdown_1(hub), __tsplusTrace))(c), __tsplusTrace)(broadcastedQueues_1(n, maximumLag, __tsplusTrace)(stream));
|
|
353
|
+
};
|
|
364
354
|
}
|
|
365
355
|
/**
|
|
366
356
|
* Fan out the stream, producing a dynamic number of streams that have the same elements as this stream.
|
|
367
357
|
* The driver stream will only ever advance of the `maximumLag` chunks before the
|
|
368
358
|
* slowest downstream stream.
|
|
369
359
|
*
|
|
370
|
-
* @tsplus
|
|
360
|
+
* @tsplus pipeable fncts.io.Stream broadcastDynamic
|
|
371
361
|
*/
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
362
|
+
export function broadcastDynamic(maximumLag, __tsplusTrace) {
|
|
363
|
+
return stream => {
|
|
364
|
+
return tsplus_module_1.map(scoped => flattenTake_1(flatMap_1(fromQueue_1, __tsplusTrace)(scoped_1(() => scoped, __tsplusTrace)), __tsplusTrace), __tsplusTrace)(broadcastedQueuesDynamic_1(maximumLag, __tsplusTrace)(stream));
|
|
365
|
+
};
|
|
375
366
|
}
|
|
376
367
|
/**
|
|
377
368
|
* Converts the stream to a managed list of queues. Every value will be replicated to every queue with the
|
|
@@ -379,11 +370,12 @@ export function broadcastDynamic_(stream, maximumLag, __tsplusTrace) {
|
|
|
379
370
|
*
|
|
380
371
|
* Queues can unsubscribe from upstream by shutting down.
|
|
381
372
|
*
|
|
382
|
-
* @tsplus
|
|
373
|
+
* @tsplus pipeable fncts.io.Stream broadcastedQueues
|
|
383
374
|
*/
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
375
|
+
function broadcastedQueues_1(n, maximumLag, __tsplusTrace) {
|
|
376
|
+
return self => {
|
|
377
|
+
return tsplus_module_1.flatMap(hub => tsplus_module_1.flatMap(queues => tsplus_module_1.map(() => queues, __tsplusTrace)(tsplus_module_32.fork(runIntoHubScoped_1(hub, __tsplusTrace)(self), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.sequenceIterable(tsplus_module_34.replicate(n, tsplus_module_33.subscribe(hub, __tsplusTrace)), __tsplusTrace)), __tsplusTrace)(tsplus_module_33.makeBounded(maximumLag, __tsplusTrace));
|
|
378
|
+
};
|
|
387
379
|
}
|
|
388
380
|
/**
|
|
389
381
|
* Converts the stream to a managed dynamic amount of queues. Every chunk will be replicated to every queue with the
|
|
@@ -391,38 +383,39 @@ function broadcastedQueues_1(stream, n, maximumLag, __tsplusTrace) {
|
|
|
391
383
|
*
|
|
392
384
|
* Queues can unsubscribe from upstream by shutting down.
|
|
393
385
|
*
|
|
394
|
-
* @tsplus
|
|
386
|
+
* @tsplus pipeable fncts.io.Stream broadcastedQueuesDynamic
|
|
395
387
|
*/
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
388
|
+
function broadcastedQueuesDynamic_1(maximumLag, __tsplusTrace) {
|
|
389
|
+
return stream => {
|
|
390
|
+
return tsplus_module_1.map(hub => tsplus_module_33.subscribe(hub, __tsplusTrace), __tsplusTrace)(toHub_1(maximumLag, __tsplusTrace)(stream));
|
|
391
|
+
};
|
|
400
392
|
}
|
|
401
393
|
/**
|
|
402
394
|
* Allows a faster producer to progress independently of a slower consumer by buffering
|
|
403
395
|
* up to `capacity` elements in a queue.
|
|
404
396
|
*
|
|
405
|
-
* @tsplus
|
|
397
|
+
* @tsplus pipeable fncts.io.Stream buffer
|
|
406
398
|
*/
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
}
|
|
399
|
+
export function buffer(capacity, __tsplusTrace) {
|
|
400
|
+
return stream => {
|
|
401
|
+
const queue = toQueueOfElements_1(capacity, __tsplusTrace)(stream);
|
|
402
|
+
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(queue => {
|
|
403
|
+
const process = tsplus_module_11.flatMap(exit => tsplus_module_35.match(cause => tsplus_module_20.match(() => tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow)(tsplus_module_25.flipCauseOption(cause)), value => tsplus_module_11.zipRight(process)(tsplus_module_10.writeNow(tsplus_module_19.single(value))))(exit))(tsplus_module_10.fromIO(() => tsplus_module_27.take(queue, __tsplusTrace)));
|
|
404
|
+
return process;
|
|
405
|
+
}, __tsplusTrace)(queue)));
|
|
406
|
+
};
|
|
415
407
|
}
|
|
416
408
|
/**
|
|
417
|
-
* @tsplus
|
|
409
|
+
* @tsplus pipeable fncts.io.Stream bufferChunks
|
|
418
410
|
*/
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
411
|
+
export function bufferChunks(capacity, __tsplusTrace) {
|
|
412
|
+
return stream => {
|
|
413
|
+
const queue = toQueue_1(capacity, __tsplusTrace)(stream);
|
|
414
|
+
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(queue => {
|
|
415
|
+
const process = tsplus_module_11.flatMap(take => tsplus_module_26.match(tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow, value => tsplus_module_11.zipRight(process)(tsplus_module_10.writeNow(value)))(take))(tsplus_module_10.fromIO(() => tsplus_module_27.take(queue, __tsplusTrace)));
|
|
416
|
+
return process;
|
|
417
|
+
}, __tsplusTrace)(queue)));
|
|
418
|
+
};
|
|
426
419
|
}
|
|
427
420
|
/**
|
|
428
421
|
* Allows a faster producer to progress independently of a slower consumer by buffering
|
|
@@ -430,107 +423,102 @@ export function bufferChunks_(stream, capacity, __tsplusTrace) {
|
|
|
430
423
|
*
|
|
431
424
|
* @tsplus getter fncts.io.Stream bufferUnbounded
|
|
432
425
|
*/
|
|
433
|
-
|
|
434
426
|
export function bufferUnbounded(stream, __tsplusTrace) {
|
|
435
427
|
const queue = toQueueUnbounded_1(stream, __tsplusTrace);
|
|
436
|
-
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.
|
|
437
|
-
const process = tsplus_module_11.
|
|
428
|
+
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(queue => {
|
|
429
|
+
const process = tsplus_module_11.flatMap(take => tsplus_module_26.match(tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow, value => tsplus_module_11.zipRight(process)(tsplus_module_10.writeNow(value)))(take))(tsplus_module_10.fromIO(() => tsplus_module_27.take(queue, __tsplusTrace)));
|
|
438
430
|
return process;
|
|
439
|
-
}, __tsplusTrace)));
|
|
431
|
+
}, __tsplusTrace)(queue)));
|
|
440
432
|
}
|
|
441
|
-
|
|
442
433
|
function bufferSignalProducer(queue, ref, __tsplusTrace) {
|
|
443
|
-
const terminate = take => tsplus_module_10.fromIO(() => tsplus_module_1.
|
|
444
|
-
|
|
445
|
-
return tsplus_module_10.readWith(inp => tsplus_module_11.apSecond_(tsplus_module_10.fromIO(() => tsplus_module_1.flatMap_(tsplus_module_36.make(__tsplusTrace), p => tsplus_module_1.flatMap_(tsplus_module_27.offer_(queue, tuple(tsplus_module_26.chunk(inp), p), __tsplusTrace), added => tsplus_module_1.map_(tsplus_module_1.when_(tsplus_module_13.set_(ref, p, __tsplusTrace), () => added, __tsplusTrace), () => void 0, __tsplusTrace), __tsplusTrace), __tsplusTrace)), bufferSignalProducer(queue, ref, __tsplusTrace)), e => terminate(tsplus_module_26.fail(e)), () => terminate(tsplus_module_26.end));
|
|
434
|
+
const terminate = take => tsplus_module_10.fromIO(() => tsplus_module_1.flatMap(latch => tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(p => tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, __tsplusTrace)(tsplus_module_36.wait(p, __tsplusTrace)), __tsplusTrace)(tsplus_module_13.set(p, __tsplusTrace)(ref)), __tsplusTrace)(tsplus_module_27.offer(tuple(take, p), __tsplusTrace)(queue)), __tsplusTrace)(tsplus_module_37.make(__tsplusTrace)), __tsplusTrace)(tsplus_module_36.wait(latch, __tsplusTrace)), __tsplusTrace)(tsplus_module_14.get(ref, __tsplusTrace)));
|
|
435
|
+
return tsplus_module_10.readWith(inp => tsplus_module_11.zipRight(bufferSignalProducer(queue, ref, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_1.flatMap(p => tsplus_module_1.flatMap(added => tsplus_module_1.map(() => void 0, __tsplusTrace)(tsplus_module_1.when(() => added, __tsplusTrace)(tsplus_module_13.set(p, __tsplusTrace)(ref))), __tsplusTrace)(tsplus_module_27.offer(tuple(tsplus_module_26.chunk(inp), p), __tsplusTrace)(queue)), __tsplusTrace)(tsplus_module_37.make(__tsplusTrace)))), e => terminate(tsplus_module_26.fail(e)), () => terminate(tsplus_module_26.end));
|
|
446
436
|
}
|
|
447
|
-
|
|
448
437
|
function bufferSignalConsumer(queue, __tsplusTrace) {
|
|
449
|
-
const process = tsplus_module_11.
|
|
438
|
+
const process = tsplus_module_11.flatMap(([take, promise]) => tsplus_module_11.zipRight(tsplus_module_26.match(tsplus_module_11.endNow(undefined), tsplus_module_11.failCauseNow, value => tsplus_module_11.zipRight(process)(tsplus_module_10.writeNow(value)))(take))(tsplus_module_10.fromIO(() => tsplus_module_36.succeed_(undefined, __tsplusTrace)(promise))))(tsplus_module_10.fromIO(() => tsplus_module_27.take(queue, __tsplusTrace)));
|
|
450
439
|
return process;
|
|
451
440
|
}
|
|
452
441
|
/**
|
|
453
442
|
* Switches over to the stream produced by the provided function in case this one
|
|
454
443
|
* fails with a typed error.
|
|
455
444
|
*
|
|
456
|
-
* @tsplus
|
|
445
|
+
* @tsplus pipeable fncts.io.Stream catchAll
|
|
457
446
|
*/
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
447
|
+
function catchAll_1(f, __tsplusTrace) {
|
|
448
|
+
return stream => {
|
|
449
|
+
return catchAllCause_1(cause => tsplus_module_4.match(f, failCauseNow_1)(tsplus_module_25.failureOrCause(cause)), __tsplusTrace)(stream);
|
|
450
|
+
};
|
|
462
451
|
}
|
|
463
452
|
/**
|
|
464
453
|
* Switches over to the stream produced by the provided function in case this one
|
|
465
454
|
* fails. Allows recovery from all causes of failure, including interruption if the
|
|
466
455
|
* stream is uninterruptible.
|
|
467
456
|
*
|
|
468
|
-
* @tsplus
|
|
457
|
+
* @tsplus pipeable fncts.io.Stream catchAllCause
|
|
469
458
|
*/
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
459
|
+
function catchAllCause_1(f, __tsplusTrace) {
|
|
460
|
+
return stream => {
|
|
461
|
+
const channel = tsplus_module_10.catchAllCause(cause => f(cause).channel)(stream.channel);
|
|
462
|
+
return new Stream(channel);
|
|
463
|
+
};
|
|
475
464
|
}
|
|
476
465
|
/**
|
|
477
466
|
* Switches over to the stream produced by the provided function in case this one
|
|
478
467
|
* fails with some typed error.
|
|
479
468
|
*
|
|
480
|
-
* @tsplus
|
|
469
|
+
* @tsplus pipeable fncts.io.Stream catchJust
|
|
481
470
|
*/
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
471
|
+
export function catchJust(pf, __tsplusTrace) {
|
|
472
|
+
return stream => {
|
|
473
|
+
return catchAll_1(e => tsplus_module_38.getOrElse(() => failNow_1(e, __tsplusTrace))(pf(e)), __tsplusTrace)(stream);
|
|
474
|
+
};
|
|
486
475
|
}
|
|
487
476
|
/**
|
|
488
477
|
* Switches over to the stream produced by the provided function in case this one
|
|
489
478
|
* fails with some errors. Allows recovery from all causes of failure, including interruption if the
|
|
490
479
|
* stream is uninterruptible.
|
|
491
480
|
*
|
|
492
|
-
* @tsplus
|
|
481
|
+
* @tsplus pipeable fncts.io.Stream catchJustCause
|
|
493
482
|
*/
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
483
|
+
export function catchJustCause(pf, __tsplusTrace) {
|
|
484
|
+
return stream => {
|
|
485
|
+
return catchAllCause_1(cause => tsplus_module_38.getOrElse(() => failCauseNow_1(cause, __tsplusTrace))(pf(cause)), __tsplusTrace)(stream);
|
|
486
|
+
};
|
|
497
487
|
}
|
|
498
488
|
/**
|
|
499
489
|
* Returns a stream made of the concatenation in strict order of all the streams
|
|
500
490
|
* produced by passing each element of this stream to `f`
|
|
501
491
|
*
|
|
502
|
-
* @tsplus
|
|
492
|
+
* @tsplus pipeable fncts.io.Stream flatMap
|
|
503
493
|
*/
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
494
|
+
function flatMap_1(f, __tsplusTrace) {
|
|
495
|
+
return stream => {
|
|
496
|
+
return new Stream(tsplus_module_10.concatMap(as => tsplus_module_12.foldLeft(tsplus_module_10.unit, (s, a) => tsplus_module_11.flatMap(() => a)(s))(tsplus_module_12.map(a => f(a).channel)(as)))(stream.channel));
|
|
497
|
+
};
|
|
507
498
|
}
|
|
508
499
|
/**
|
|
509
500
|
* Exposes the underlying chunks of the stream as a stream of chunks of elements
|
|
510
501
|
*
|
|
511
502
|
* @tsplus getter fncts.io.Stream chunks
|
|
512
503
|
*/
|
|
513
|
-
|
|
514
|
-
|
|
515
504
|
function chunks_1(stream, __tsplusTrace) {
|
|
516
|
-
return mapChunks_1(
|
|
505
|
+
return mapChunks_1(tsplus_module_19.single, __tsplusTrace)(stream);
|
|
517
506
|
}
|
|
518
507
|
/**
|
|
519
508
|
* Performs the specified stream transformation with the chunk structure of
|
|
520
509
|
* the stream exposed.
|
|
521
510
|
*
|
|
522
|
-
* @tsplus
|
|
511
|
+
* @tsplus pipeable fncts.io.Stream chunksWith
|
|
523
512
|
*/
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
513
|
+
export function chunksWith(f, __tsplusTrace) {
|
|
514
|
+
return self => {
|
|
515
|
+
return flattenChunks_1(f(chunks_1(self, __tsplusTrace)), __tsplusTrace);
|
|
516
|
+
};
|
|
528
517
|
}
|
|
529
|
-
|
|
530
518
|
function changesWithWriter(f, last, __tsplusTrace) {
|
|
531
519
|
return tsplus_module_10.readWithCause(chunk => {
|
|
532
|
-
const [newLast, newChunk] = tsplus_module_12.
|
|
533
|
-
return tsplus_module_11.
|
|
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);
|
|
521
|
+
return tsplus_module_11.zipRight(changesWithWriter(f, newLast, __tsplusTrace))(tsplus_module_10.writeNow(newChunk));
|
|
534
522
|
}, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit);
|
|
535
523
|
}
|
|
536
524
|
/**
|
|
@@ -538,51 +526,47 @@ function changesWithWriter(f, last, __tsplusTrace) {
|
|
|
538
526
|
* previous element emitted, using the specified function to determine
|
|
539
527
|
* whether two elements are equal.
|
|
540
528
|
*
|
|
541
|
-
* @tsplus
|
|
529
|
+
* @tsplus pipeable fncts.io.Stream changesWith
|
|
542
530
|
*/
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
531
|
+
export function changesWith(f, __tsplusTrace) {
|
|
532
|
+
return stream => {
|
|
533
|
+
return new Stream(tsplus_module_10.pipeTo(changesWithWriter(f, tsplus_module_3.nothing(), __tsplusTrace))(stream.channel));
|
|
534
|
+
};
|
|
547
535
|
}
|
|
548
536
|
/**
|
|
549
537
|
* Transforms all elements of the stream for as long as the specified partial function is defined.
|
|
550
538
|
*
|
|
551
|
-
* @tsplus
|
|
539
|
+
* @tsplus pipeable fncts.io.Stream collectWhile
|
|
552
540
|
*/
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
}
|
|
563
|
-
|
|
564
|
-
|
|
541
|
+
export function collectWhile(pf, __tsplusTrace) {
|
|
542
|
+
return stream => {
|
|
543
|
+
const loop = tsplus_module_10.readWith(inp => {
|
|
544
|
+
const mapped = tsplus_module_12.collectWhile(pf)(inp);
|
|
545
|
+
if (mapped.length === inp.length) {
|
|
546
|
+
return tsplus_module_11.zipRight(loop)(tsplus_module_10.writeNow(mapped));
|
|
547
|
+
} else {
|
|
548
|
+
return tsplus_module_10.writeNow(mapped);
|
|
549
|
+
}
|
|
550
|
+
}, tsplus_module_10.failNow, tsplus_module_11.succeedNow);
|
|
551
|
+
return new Stream(tsplus_module_10.pipeTo(loop)(stream.channel));
|
|
552
|
+
};
|
|
565
553
|
}
|
|
566
554
|
/**
|
|
567
555
|
* Effectfully transforms all elements of the stream for as long as the specified partial function is defined.
|
|
568
556
|
*/
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
return new Stream(tsplus_module_10.pipeTo_(stream.channel, collectWhileIOLoop(tsplus_module_38.empty()[Symbol.iterator](), pf, __tsplusTrace)));
|
|
557
|
+
export function collectWhileIO(stream, pf, __tsplusTrace) {
|
|
558
|
+
return new Stream(tsplus_module_10.pipeTo(collectWhileIOLoop(tsplus_module_39.empty()[Symbol.iterator](), pf, __tsplusTrace))(stream.channel));
|
|
572
559
|
}
|
|
573
|
-
|
|
574
560
|
function collectWhileIOLoop(iterator, pf, __tsplusTrace) {
|
|
575
561
|
const next = iterator.next();
|
|
576
|
-
|
|
577
562
|
if (next.done) {
|
|
578
563
|
return tsplus_module_10.readWithCause(elem => collectWhileIOLoop(elem[Symbol.iterator](), pf, __tsplusTrace), tsplus_module_11.failCauseNow, tsplus_module_11.succeedNow);
|
|
579
564
|
} else {
|
|
580
|
-
return tsplus_module_10.unwrap(() => tsplus_module_20.
|
|
565
|
+
return tsplus_module_10.unwrap(() => tsplus_module_20.match(() => tsplus_module_1.succeedNow(tsplus_module_10.unit, __tsplusTrace), b => tsplus_module_1.map(b => tsplus_module_11.zipRight(collectWhileIOLoop(iterator, pf, __tsplusTrace))(tsplus_module_10.writeNow(tsplus_module_19.single(b))), __tsplusTrace)(b))(pf(next.value)));
|
|
581
566
|
}
|
|
582
567
|
}
|
|
583
|
-
|
|
584
568
|
function combineProducer(handoff, latch, __tsplusTrace) {
|
|
585
|
-
return tsplus_module_11.
|
|
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_40.succeed(value))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_40.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_40.fail(tsplus_module_3.nothing()))(handoff)))))(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)));
|
|
586
570
|
}
|
|
587
571
|
/**
|
|
588
572
|
* Combines the elements from this stream and the specified stream by repeatedly applying the
|
|
@@ -592,20 +576,19 @@ function combineProducer(handoff, latch, __tsplusTrace) {
|
|
|
592
576
|
*
|
|
593
577
|
* Where possible, prefer `Stream#combineChunks` for a more efficient implementation.
|
|
594
578
|
*
|
|
595
|
-
* @tsplus
|
|
579
|
+
* @tsplus pipeable fncts.io.Stream combine
|
|
596
580
|
*/
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
}
|
|
581
|
+
export function combine(that, s, f, __tsplusTrace) {
|
|
582
|
+
return stream => {
|
|
583
|
+
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(([left, right, latchL, latchR]) => {
|
|
584
|
+
const pullLeft = tsplus_module_1.flatMap(tsplus_module_1.fromExitNow, __tsplusTrace)(tsplus_module_1.zipRight(tsplus_module_5.take(left), __tsplusTrace)(tsplus_module_5.offer(undefined)(latchL)));
|
|
585
|
+
const pullRight = tsplus_module_1.flatMap(tsplus_module_1.fromExitNow, __tsplusTrace)(tsplus_module_1.zipRight(tsplus_module_5.take(right), __tsplusTrace)(tsplus_module_5.offer(undefined)(latchR)));
|
|
586
|
+
return unfoldIO_1(s, s => tsplus_module_1.flatMap(exit => tsplus_module_1.optional(tsplus_module_1.fromExitNow(exit, __tsplusTrace), __tsplusTrace), __tsplusTrace)(f(s, pullLeft, pullRight)), __tsplusTrace).channel;
|
|
587
|
+
}, __tsplusTrace)(tsplus_module_1.flatMap(left => tsplus_module_1.flatMap(right => tsplus_module_1.flatMap(latchL => tsplus_module_1.flatMap(latchR => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => tuple(left, right, latchL, latchR), __tsplusTrace)(tsplus_module_32.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo(combineProducer(right, latchR, __tsplusTrace))(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(that.channel))), __tsplusTrace)), __tsplusTrace)(tsplus_module_32.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo(combineProducer(left, latchL, __tsplusTrace))(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(stream.channel))), __tsplusTrace)), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()))));
|
|
588
|
+
};
|
|
605
589
|
}
|
|
606
|
-
|
|
607
590
|
function combineChunksProducer(handoff, latch, __tsplusTrace) {
|
|
608
|
-
return tsplus_module_11.
|
|
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_26.chunk(chunk))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_26.failCause(cause))(handoff)), () => tsplus_module_11.zipRight(combineChunksProducer(handoff, latch, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_26.end)(handoff)))))(tsplus_module_10.fromIO(() => tsplus_module_5.take(latch)));
|
|
609
592
|
}
|
|
610
593
|
/**
|
|
611
594
|
* Combines the chunks from this stream and the specified stream by repeatedly applying the
|
|
@@ -613,138 +596,138 @@ function combineChunksProducer(handoff, latch, __tsplusTrace) {
|
|
|
613
596
|
* it to the destination stream. `f` can maintain some internal state to control
|
|
614
597
|
* the combining process, with the initial state being specified by `s`.
|
|
615
598
|
*
|
|
616
|
-
* @tsplus
|
|
599
|
+
* @tsplus pipeable fncts.io.Stream combineChunks
|
|
617
600
|
*/
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
}
|
|
601
|
+
export function combineChunks(that, s, f, __tsplusTrace) {
|
|
602
|
+
return stream => {
|
|
603
|
+
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(([left, right, latchL, latchR]) => {
|
|
604
|
+
const pullLeft = tsplus_module_1.flatMap(take => tsplus_module_26.done(take), __tsplusTrace)(tsplus_module_1.zipRight(tsplus_module_5.take(left), __tsplusTrace)(tsplus_module_5.offer(undefined)(latchL)));
|
|
605
|
+
const pullRight = tsplus_module_1.flatMap(take => tsplus_module_26.done(take), __tsplusTrace)(tsplus_module_1.zipRight(tsplus_module_5.take(right), __tsplusTrace)(tsplus_module_5.offer(undefined)(latchR)));
|
|
606
|
+
return unfoldChunkIO_1(s, s => tsplus_module_1.flatMap(exit => tsplus_module_1.optional(tsplus_module_1.fromExit(() => exit, __tsplusTrace), __tsplusTrace), __tsplusTrace)(f(s, pullLeft, pullRight)), __tsplusTrace).channel;
|
|
607
|
+
}, __tsplusTrace)(tsplus_module_1.flatMap(left => tsplus_module_1.flatMap(right => tsplus_module_1.flatMap(latchL => tsplus_module_1.flatMap(latchR => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => tuple(left, right, latchL, latchR), __tsplusTrace)(tsplus_module_32.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo(combineChunksProducer(right, latchR, __tsplusTrace))(that.channel)), __tsplusTrace)), __tsplusTrace)(tsplus_module_32.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo(combineChunksProducer(left, latchL, __tsplusTrace))(stream.channel)), __tsplusTrace)), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()))));
|
|
608
|
+
};
|
|
626
609
|
}
|
|
627
610
|
/**
|
|
628
611
|
* Concatenates the specified stream with this stream, resulting in a stream
|
|
629
612
|
* that emits the elements from this stream and then the elements from the specified stream.
|
|
630
613
|
*
|
|
631
|
-
* @tsplus
|
|
614
|
+
* @tsplus pipeable fncts.io.Stream concat
|
|
632
615
|
*/
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
616
|
+
function concat_1(that, __tsplusTrace) {
|
|
617
|
+
return stream => {
|
|
618
|
+
return new Stream(tsplus_module_11.zipRight(that.channel)(stream.channel));
|
|
619
|
+
};
|
|
636
620
|
}
|
|
637
621
|
/**
|
|
638
622
|
* Composes this stream with the specified stream to create a cartesian product of elements.
|
|
639
623
|
* The `that` stream would be run multiple times, for every element in the `this` stream.
|
|
640
624
|
*
|
|
641
|
-
* @tsplus
|
|
625
|
+
* @tsplus pipeable fncts.io.Stream cross
|
|
642
626
|
*/
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
627
|
+
export function cross(that, __tsplusTrace) {
|
|
628
|
+
return stream => {
|
|
629
|
+
return new Stream(tsplus_module_10.concatMap(as => tsplus_module_10.mapOut(bs => tsplus_module_12.flatMap(a => tsplus_module_12.map(b => tuple(a, b))(bs))(as))(that.channel))(stream.channel));
|
|
630
|
+
};
|
|
647
631
|
}
|
|
648
632
|
/**
|
|
649
633
|
* Composes this stream with the specified stream to create a cartesian product of elements
|
|
650
634
|
* with a specified function.
|
|
651
635
|
* The `fb` stream would be run multiple times, for every element in the `fa` stream.
|
|
652
636
|
*
|
|
653
|
-
* @tsplus
|
|
637
|
+
* @tsplus pipeable fncts.io.Stream crossWith
|
|
654
638
|
*/
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
639
|
+
function crossWith_1(fb, f, __tsplusTrace) {
|
|
640
|
+
return fa => {
|
|
641
|
+
return flatMap_1(a => map_1(b => f(a, b), __tsplusTrace)(fb), __tsplusTrace)(fa);
|
|
642
|
+
};
|
|
658
643
|
}
|
|
659
644
|
/**
|
|
660
645
|
* Provides some of the environment required to run this effect,
|
|
661
646
|
* leaving the remainder `R0`.
|
|
662
647
|
*
|
|
663
|
-
* @tsplus
|
|
648
|
+
* @tsplus pipeable fncts.io.Stream contramapEnvironment
|
|
664
649
|
*/
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
650
|
+
export function contramapEnvironment(f, __tsplusTrace) {
|
|
651
|
+
return ra => {
|
|
652
|
+
return flatMap_1(r0 => provideEnvironment_1(f(r0), __tsplusTrace)(ra), __tsplusTrace)(environment_1(__tsplusTrace));
|
|
653
|
+
};
|
|
669
654
|
}
|
|
670
655
|
/**
|
|
671
|
-
* @tsplus
|
|
656
|
+
* @tsplus pipeable fncts.io.Stream debounce
|
|
672
657
|
*/
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
})
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
})
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
})
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
}
|
|
717
|
-
|
|
718
|
-
return apSecond_1(scoped_1(tsplus_module_1.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo_(stream.channel, producer)), __tsplusTrace), __tsplusTrace), new Stream(consumer(tsplus_module_40.notStarted, __tsplusTrace)), __tsplusTrace);
|
|
719
|
-
}, __tsplusTrace), __tsplusTrace), __tsplusTrace);
|
|
658
|
+
export function debounce(duration, __tsplusTrace) {
|
|
659
|
+
return stream => {
|
|
660
|
+
return unwrap_1(tsplus_module_24.transplant(grafter => tsplus_module_1.map(handoff => {
|
|
661
|
+
function enqueue(last, __tsplusTrace) {
|
|
662
|
+
return tsplus_module_1.map(f => consumer(tsplus_module_41.previous(f), __tsplusTrace), __tsplusTrace)(grafter(tsplus_module_32.fork(tsplus_module_1.as(() => last, __tsplusTrace)(tsplus_module_42.sleep(duration, __tsplusTrace)), __tsplusTrace)));
|
|
663
|
+
}
|
|
664
|
+
const producer = tsplus_module_10.readWithCause(inp => tsplus_module_20.match(() => producer, last => tsplus_module_11.zipRight(producer)(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_5.emit(tsplus_module_19.single(last)))(handoff))))(tsplus_module_12.last(inp)), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_5.halt(cause))(handoff)), () => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_5.end(new UpstreamEnd()))(handoff)));
|
|
665
|
+
function consumer(state, __tsplusTrace) {
|
|
666
|
+
return tsplus_module_10.unwrap(() => tsplus_module_41.match({
|
|
667
|
+
NotStarted: () => tsplus_module_1.map(signal => tsplus_module_5.matchSignal({
|
|
668
|
+
Emit: ({
|
|
669
|
+
els
|
|
670
|
+
}) => tsplus_module_10.unwrap(() => enqueue(els, __tsplusTrace)),
|
|
671
|
+
Halt: ({
|
|
672
|
+
error
|
|
673
|
+
}) => tsplus_module_11.failCauseNow(error),
|
|
674
|
+
End: () => tsplus_module_10.unit
|
|
675
|
+
})(signal), __tsplusTrace)(tsplus_module_5.take(handoff)),
|
|
676
|
+
Current: ({
|
|
677
|
+
fiber
|
|
678
|
+
}) => tsplus_module_1.map(signal => tsplus_module_5.matchSignal({
|
|
679
|
+
Emit: ({
|
|
680
|
+
els
|
|
681
|
+
}) => tsplus_module_10.unwrap(() => enqueue(els, __tsplusTrace)),
|
|
682
|
+
Halt: ({
|
|
683
|
+
error
|
|
684
|
+
}) => tsplus_module_11.failCauseNow(error),
|
|
685
|
+
End: () => tsplus_module_10.unit
|
|
686
|
+
})(signal), __tsplusTrace)(tsplus_module_22.join(fiber, __tsplusTrace)),
|
|
687
|
+
Previous: ({
|
|
688
|
+
fiber
|
|
689
|
+
}) => tsplus_module_24.raceWith(() => tsplus_module_5.take(handoff), (ex, current) => tsplus_module_35.match(cause => tsplus_module_1.as(() => tsplus_module_11.failCauseNow(cause), __tsplusTrace)(tsplus_module_23.interrupt(current)), chunk => tsplus_module_1.succeedNow(tsplus_module_11.zipRight(consumer(tsplus_module_41.current(current), __tsplusTrace))(tsplus_module_10.writeNow(chunk)), __tsplusTrace))(ex), (ex, previous) => tsplus_module_35.match(cause => tsplus_module_1.as(() => tsplus_module_11.failCauseNow(cause), __tsplusTrace)(tsplus_module_23.interrupt(previous)), signal => tsplus_module_5.matchSignal({
|
|
690
|
+
Emit: ({
|
|
691
|
+
els
|
|
692
|
+
}) => tsplus_module_1.zipRight(enqueue(els, __tsplusTrace), __tsplusTrace)(tsplus_module_23.interrupt(previous)),
|
|
693
|
+
Halt: ({
|
|
694
|
+
error
|
|
695
|
+
}) => tsplus_module_1.as(() => tsplus_module_11.failCauseNow(error), __tsplusTrace)(tsplus_module_23.interrupt(previous)),
|
|
696
|
+
End: () => tsplus_module_1.map(chunk => tsplus_module_11.zipRight(tsplus_module_10.unit)(tsplus_module_10.writeNow(chunk)), __tsplusTrace)(tsplus_module_22.join(previous, __tsplusTrace))
|
|
697
|
+
})(signal))(ex), __tsplusTrace)(tsplus_module_22.join(fiber, __tsplusTrace))
|
|
698
|
+
})(state));
|
|
699
|
+
}
|
|
700
|
+
return zipRight_1(new Stream(consumer(tsplus_module_41.notStarted, __tsplusTrace)), __tsplusTrace)(scoped_1(() => tsplus_module_32.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo(producer)(stream.channel)), __tsplusTrace), __tsplusTrace));
|
|
701
|
+
}, __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace), __tsplusTrace);
|
|
702
|
+
};
|
|
720
703
|
}
|
|
721
|
-
|
|
722
704
|
function defaultIfEmptyWriter(fb, __tsplusTrace) {
|
|
723
|
-
return tsplus_module_10.readWith(i => tsplus_module_12.isEmpty(i) ? defaultIfEmptyWriter(fb, __tsplusTrace) : tsplus_module_11.
|
|
705
|
+
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);
|
|
724
706
|
}
|
|
725
707
|
/**
|
|
726
708
|
* Switches to the provided stream in case this one is empty.
|
|
727
709
|
*
|
|
728
|
-
* @tsplus
|
|
710
|
+
* @tsplus pipeable fncts.io.Stream defaultIfEmpty
|
|
729
711
|
*/
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
712
|
+
export function defaultIfEmpty(fb, __tsplusTrace) {
|
|
713
|
+
return fa => {
|
|
714
|
+
return new Stream(tsplus_module_10.pipeTo(defaultIfEmptyWriter(fb, __tsplusTrace))(fa.channel));
|
|
715
|
+
};
|
|
734
716
|
}
|
|
735
717
|
/**
|
|
736
718
|
* More powerful version of `broadcast`. Allows to provide a function that determines what
|
|
737
719
|
* queues should receive which elements. The decide function will receive the indices of the queues
|
|
738
720
|
* in the resulting list.
|
|
739
721
|
*
|
|
740
|
-
* @tsplus
|
|
722
|
+
* @tsplus pipeable fncts.io.Stream distributedWith
|
|
741
723
|
*/
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
724
|
+
export function distributedWith(n, maximumLag, decide, __tsplusTrace) {
|
|
725
|
+
return self => {
|
|
726
|
+
return tsplus_module_1.flatMap(p => tsplus_module_1.flatMap(next => tsplus_module_1.flatMap(entries => {
|
|
727
|
+
const [mappings, queues] = tsplus_module_12.foldRight([tsplus_module_43.empty(), tsplus_module_7.empty()], ([mapping, queue], [mappings, queues]) => [tsplus_module_43.set(mapping[0], mapping[1])(mappings), tsplus_module_12.append(queue)(queues)])(entries);
|
|
728
|
+
return tsplus_module_1.as(() => queues, __tsplusTrace)(tsplus_module_36.succeed_(a => tsplus_module_1.map(f => key => f(tsplus_module_38.toUndefined(tsplus_module_43.get(key)(mappings))), __tsplusTrace)(decide(a)), __tsplusTrace)(p));
|
|
729
|
+
}, __tsplusTrace)(tsplus_module_1.sequenceIterable(tsplus_module_12.map(id => tsplus_module_1.map(([key, queue]) => [[key, id], queue], __tsplusTrace)(next))(tsplus_module_19.range(0, n)), __tsplusTrace)), __tsplusTrace)(distributedWithDynamic_1(maximumLag, a => tsplus_module_1.flatMap(f => f(a), __tsplusTrace)(tsplus_module_36.wait(p, __tsplusTrace)), () => tsplus_module_1.unit, __tsplusTrace)(self)), __tsplusTrace)(tsplus_module_37.make(__tsplusTrace));
|
|
730
|
+
};
|
|
748
731
|
}
|
|
749
732
|
/**
|
|
750
733
|
* More powerful version of `ZStream#distributedWith`. This returns a function that will produce
|
|
@@ -754,26 +737,25 @@ export function distributedWith_(self, n, maximumLag, decide, __tsplusTrace) {
|
|
|
754
737
|
* Downstream users can also shutdown queues manually. In this case the driver will
|
|
755
738
|
* continue but no longer backpressure on them.
|
|
756
739
|
*
|
|
757
|
-
* @tsplus
|
|
740
|
+
* @tsplus pipeable fncts.io.Stream distributedWithDynamic
|
|
758
741
|
*/
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
}, __tsplusTrace), __tsplusTrace), add => add, __tsplusTrace), __tsplusTrace);
|
|
742
|
+
function distributedWithDynamic_1(maximumLag, decide, done = () => tsplus_module_1.unit, __tsplusTrace) {
|
|
743
|
+
return self => {
|
|
744
|
+
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_43.removeMany(ids)(map), __tsplusTrace)(queuesRef) : tsplus_module_1.unit, __tsplusTrace)(tsplus_module_1.foldLeft(queues, tsplus_module_7.empty(), (b, [id, queue]) => {
|
|
745
|
+
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_27.offer(tsplus_module_40.succeed(a), __tsplusTrace)(queue));
|
|
747
|
+
} else {
|
|
748
|
+
return tsplus_module_1.succeedNow(b, __tsplusTrace);
|
|
749
|
+
}
|
|
750
|
+
}, __tsplusTrace)), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace)), __tsplusTrace)(decide(a));
|
|
751
|
+
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 => tsplus_module_44.withPermit(queuesLock, __tsplusTrace)(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_27.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(map => tsplus_module_43.values(map), __tsplusTrace)(tsplus_module_14.get(queuesRef, __tsplusTrace))), __tsplusTrace)(tsplus_module_13.set(tsplus_module_1.flatMap(queue => tsplus_module_1.flatMap(() => {
|
|
753
|
+
const id = Symbol();
|
|
754
|
+
return tsplus_module_1.map(() => tuple(id, queue), __tsplusTrace)(tsplus_module_15.update(map => tsplus_module_43.set(id, queue)(map), __tsplusTrace)(queuesRef));
|
|
755
|
+
}, __tsplusTrace)(tsplus_module_27.offer(endTake, __tsplusTrace)(queue)), __tsplusTrace)(tsplus_module_29.makeBounded(1, __tsplusTrace)), __tsplusTrace)(newQueue)), __tsplusTrace));
|
|
756
|
+
return tsplus_module_1.map(() => tsplus_module_44.withPermit(queuesLock, __tsplusTrace)(tsplus_module_1.flatten(tsplus_module_14.get(newQueue, __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_32.fork(tsplus_module_1.matchCauseIO(cause => finalize(tsplus_module_40.failCause(tsplus_module_25.map(tsplus_module_3.just)(cause))), () => finalize(tsplus_module_40.fail(tsplus_module_3.nothing())), __tsplusTrace)(runForeachScoped_1(offer(queuesRef), __tsplusTrace)(self)), __tsplusTrace));
|
|
757
|
+
}, __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_43.set(id, queue)(map), __tsplusTrace)(queuesRef)), __tsplusTrace)(tsplus_module_1.succeed(() => Symbol(), __tsplusTrace)), __tsplusTrace)(tsplus_module_29.makeBounded(maximumLag, __tsplusTrace)), __tsplusTrace)), __tsplusTrace)(tsplus_module_46.atomically(tsplus_module_45.make(1, __tsplusTrace), __tsplusTrace))), __tsplusTrace)(tsplus_module_30.acquireRelease(() => tsplus_module_6.make(() => tsplus_module_43.empty(), __tsplusTrace), ref => tsplus_module_1.flatMap(qs => tsplus_module_1.foreach(tsplus_module_43.values(qs), q => tsplus_module_27.shutdown(q, __tsplusTrace), __tsplusTrace), __tsplusTrace)(tsplus_module_14.get(ref, __tsplusTrace)), __tsplusTrace));
|
|
758
|
+
};
|
|
777
759
|
}
|
|
778
760
|
/**
|
|
779
761
|
* Converts this stream to a stream that executes its effects but emits no
|
|
@@ -781,51 +763,48 @@ function distributedWithDynamic_1(self, maximumLag, decide, done = () => tsplus_
|
|
|
781
763
|
*
|
|
782
764
|
* @tsplus getter fncts.io.Stream drain
|
|
783
765
|
*/
|
|
784
|
-
|
|
785
|
-
|
|
786
766
|
export function drain(fa, __tsplusTrace) {
|
|
787
767
|
return new Stream(tsplus_module_10.drain(fa.channel));
|
|
788
768
|
}
|
|
789
|
-
|
|
790
769
|
function dropLoop(r, __tsplusTrace) {
|
|
791
770
|
return tsplus_module_10.readWith(inp => {
|
|
792
|
-
const dropped = tsplus_module_12.
|
|
771
|
+
const dropped = tsplus_module_12.drop(r)(inp);
|
|
793
772
|
const leftover = Math.max(0, r - inp.length);
|
|
794
773
|
const more = tsplus_module_12.isEmpty(inp) || leftover > 0;
|
|
795
|
-
return more ? dropLoop(leftover, __tsplusTrace) : tsplus_module_11.
|
|
774
|
+
return more ? dropLoop(leftover, __tsplusTrace) : tsplus_module_11.zipRight(tsplus_module_10.id())(tsplus_module_10.write(() => dropped));
|
|
796
775
|
}, tsplus_module_10.failNow, () => tsplus_module_10.unit);
|
|
797
776
|
}
|
|
798
777
|
/**
|
|
799
778
|
* Drops the specified number of elements from this stream.
|
|
800
779
|
*
|
|
801
|
-
* @tsplus
|
|
780
|
+
* @tsplus pipeable fncts.io.Stream drop
|
|
802
781
|
*/
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
782
|
+
function drop_1(n, __tsplusTrace) {
|
|
783
|
+
return stream => {
|
|
784
|
+
return new Stream(tsplus_module_10.pipeTo(dropLoop(n, __tsplusTrace))(stream.channel));
|
|
785
|
+
};
|
|
807
786
|
}
|
|
808
787
|
/**
|
|
809
788
|
* Drops all elements of the stream for as long as the specified predicate
|
|
810
789
|
* evaluates to `true`.
|
|
811
790
|
*
|
|
812
|
-
* @tsplus
|
|
791
|
+
* @tsplus pipeable fncts.io.Stream dropWhile
|
|
813
792
|
*/
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
793
|
+
function dropWhile_1(p, __tsplusTrace) {
|
|
794
|
+
return stream => {
|
|
795
|
+
return pipeThrough_1(tsplus_module_47.makeDropWhile(p, __tsplusTrace), __tsplusTrace)(stream);
|
|
796
|
+
};
|
|
818
797
|
}
|
|
819
798
|
/**
|
|
820
799
|
* Drops all elements of the stream until the specified predicate evaluates
|
|
821
800
|
* to `true`.
|
|
822
801
|
*
|
|
823
|
-
* @tsplus
|
|
802
|
+
* @tsplus pipeable fncts.io.Stream dropUntil
|
|
824
803
|
*/
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
804
|
+
export function dropUntil(p, __tsplusTrace) {
|
|
805
|
+
return stream => {
|
|
806
|
+
return drop_1(1, __tsplusTrace)(dropWhile_1(tsplus_module_48.invert(p), __tsplusTrace)(stream));
|
|
807
|
+
};
|
|
829
808
|
}
|
|
830
809
|
/**
|
|
831
810
|
* Returns a stream whose failures and successes have been lifted into an
|
|
@@ -836,19 +815,16 @@ export function dropUntil_(stream, p, __tsplusTrace) {
|
|
|
836
815
|
*
|
|
837
816
|
* @tsplus getter fncts.io.Stream either
|
|
838
817
|
*/
|
|
839
|
-
|
|
840
818
|
export function either(stream, __tsplusTrace) {
|
|
841
|
-
return catchAll_1(
|
|
819
|
+
return catchAll_1(e => succeedNow_1(tsplus_module_18.left(e), __tsplusTrace), __tsplusTrace)(map_1(tsplus_module_18.right, __tsplusTrace)(stream));
|
|
842
820
|
}
|
|
843
821
|
/**
|
|
844
822
|
* @tsplus static fncts.io.StreamOps empty
|
|
845
823
|
*/
|
|
846
|
-
|
|
847
|
-
const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty(), fileName_1 + ":1267:70");
|
|
824
|
+
const empty_1 = /*#__PURE__*/fromChunkNow_1( /*#__PURE__*/tsplus_module_7.empty(), fileName_1 + ":1220:70");
|
|
848
825
|
export const empty = empty_1;
|
|
849
|
-
|
|
850
826
|
function endWhenWriter(fiber, __tsplusTrace) {
|
|
851
|
-
return tsplus_module_10.unwrap(() => tsplus_module_1.
|
|
827
|
+
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_35.match(tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)(exit))(maybeExit), __tsplusTrace)(tsplus_module_49.poll(fiber, __tsplusTrace)));
|
|
852
828
|
}
|
|
853
829
|
/**
|
|
854
830
|
* Halts the evaluation of this stream when the provided IO completes. The given IO
|
|
@@ -859,62 +835,56 @@ function endWhenWriter(fiber, __tsplusTrace) {
|
|
|
859
835
|
*
|
|
860
836
|
* If the IO completes with a failure, the stream will emit that failure.
|
|
861
837
|
*
|
|
862
|
-
* @tsplus
|
|
838
|
+
* @tsplus pipeable fncts.io.Stream endWhen
|
|
863
839
|
*/
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
840
|
+
export function endWhen(io, __tsplusTrace) {
|
|
841
|
+
return stream => {
|
|
842
|
+
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(fiber => tsplus_module_10.pipeTo(endWhenWriter(fiber, __tsplusTrace))(stream.channel), __tsplusTrace)(tsplus_module_17.forkScoped(io, __tsplusTrace))));
|
|
843
|
+
};
|
|
868
844
|
}
|
|
869
845
|
/**
|
|
870
|
-
* @tsplus
|
|
846
|
+
* @tsplus pipeable fncts.io.Stream ensuring
|
|
871
847
|
*/
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
848
|
+
function ensuring_1(finalizer, __tsplusTrace) {
|
|
849
|
+
return self => {
|
|
850
|
+
return new Stream(tsplus_module_10.ensuring(finalizer)(self.channel));
|
|
851
|
+
};
|
|
875
852
|
}
|
|
876
853
|
/**
|
|
877
854
|
* @tsplus static fncts.io.StreamOps environment
|
|
878
855
|
*/
|
|
879
|
-
|
|
880
|
-
|
|
881
856
|
function environment_1(__tsplusTrace) {
|
|
882
|
-
return fromIO_1(
|
|
857
|
+
return fromIO_1(tsplus_module_50.environment(__tsplusTrace), __tsplusTrace);
|
|
883
858
|
}
|
|
884
859
|
/**
|
|
885
860
|
* Accesses the environment of the stream.
|
|
886
861
|
*
|
|
887
862
|
* @tsplus static fncts.io.StreamOps environmentWith
|
|
888
863
|
*/
|
|
889
|
-
|
|
890
|
-
|
|
891
864
|
export function environmentWith(f, __tsplusTrace) {
|
|
892
|
-
return map_1(
|
|
865
|
+
return map_1(f, __tsplusTrace)(environment_1(__tsplusTrace));
|
|
893
866
|
}
|
|
894
867
|
/**
|
|
895
868
|
* Accesses the environment of the stream in the context of an effect.
|
|
896
869
|
*
|
|
897
870
|
* @tsplus static fncts.io.StreamOps environmentWithIO
|
|
898
871
|
*/
|
|
899
|
-
|
|
900
872
|
export function environmentWithIO(f, __tsplusTrace) {
|
|
901
|
-
return mapIO_1(
|
|
873
|
+
return mapIO_1(f, __tsplusTrace)(environment_1(__tsplusTrace));
|
|
902
874
|
}
|
|
903
875
|
/**
|
|
904
876
|
* Accesses the environment of the stream in the context of a stream.
|
|
905
877
|
*
|
|
906
878
|
* @tsplus static fncts.io.StreamOps environmentWithStream
|
|
907
879
|
*/
|
|
908
|
-
|
|
909
880
|
export function environmentWithStream(f, __tsplusTrace) {
|
|
910
|
-
return flatMap_1(
|
|
881
|
+
return flatMap_1(f, __tsplusTrace)(environment_1(__tsplusTrace));
|
|
911
882
|
}
|
|
912
883
|
/**
|
|
913
884
|
* Halt a stream with the specified error
|
|
914
885
|
*
|
|
915
886
|
* @tsplus static fncts.io.StreamOps failNow
|
|
916
887
|
*/
|
|
917
|
-
|
|
918
888
|
function failNow_1(error, __tsplusTrace) {
|
|
919
889
|
return new Stream(tsplus_module_10.failNow(error));
|
|
920
890
|
}
|
|
@@ -923,8 +893,6 @@ function failNow_1(error, __tsplusTrace) {
|
|
|
923
893
|
*
|
|
924
894
|
* @tsplus static fncts.io.StreamOps fail
|
|
925
895
|
*/
|
|
926
|
-
|
|
927
|
-
|
|
928
896
|
export function fail(error, __tsplusTrace) {
|
|
929
897
|
return new Stream(tsplus_module_10.fail(error));
|
|
930
898
|
}
|
|
@@ -933,7 +901,6 @@ export function fail(error, __tsplusTrace) {
|
|
|
933
901
|
*
|
|
934
902
|
* @tsplus static fncts.io.StreamOps failCauseNow
|
|
935
903
|
*/
|
|
936
|
-
|
|
937
904
|
function failCauseNow_1(cause, __tsplusTrace) {
|
|
938
905
|
return fromIO_1(tsplus_module_1.failCauseNow(cause, __tsplusTrace), __tsplusTrace);
|
|
939
906
|
}
|
|
@@ -942,77 +909,75 @@ function failCauseNow_1(cause, __tsplusTrace) {
|
|
|
942
909
|
*
|
|
943
910
|
* @tsplus static fncts.io.StreamOps failCause
|
|
944
911
|
*/
|
|
945
|
-
|
|
946
|
-
|
|
947
912
|
export function failCause(cause, __tsplusTrace) {
|
|
948
913
|
return fromIO_1(tsplus_module_1.failCause(cause, __tsplusTrace), __tsplusTrace);
|
|
949
914
|
}
|
|
950
|
-
export function
|
|
951
|
-
return
|
|
915
|
+
export function filter(predicate, __tsplusTrace) {
|
|
916
|
+
return fa => {
|
|
917
|
+
return mapChunks_1(chunk => tsplus_module_12.filter(predicate)(chunk), __tsplusTrace)(fa);
|
|
918
|
+
};
|
|
952
919
|
}
|
|
953
920
|
/**
|
|
954
|
-
* @tsplus
|
|
921
|
+
* @tsplus pipeable fncts.io.Stream filterIO
|
|
955
922
|
*/
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
923
|
+
export function filterIO(f, __tsplusTrace) {
|
|
924
|
+
return fa => {
|
|
925
|
+
return new Stream(tsplus_module_10.pipeTo(filterIOLoop(tsplus_module_39.empty()[Symbol.iterator](), f, __tsplusTrace))(fa.channel));
|
|
926
|
+
};
|
|
959
927
|
}
|
|
960
|
-
|
|
961
928
|
function filterIOLoop(iterator, f, __tsplusTrace) {
|
|
962
929
|
const next = iterator.next();
|
|
963
|
-
|
|
964
930
|
if (next.done) {
|
|
965
931
|
return tsplus_module_10.readWithCause(elem => filterIOLoop(elem[Symbol.iterator](), f, __tsplusTrace), tsplus_module_11.failCauseNow, tsplus_module_11.succeedNow);
|
|
966
932
|
} else {
|
|
967
|
-
return tsplus_module_10.unwrap(() => tsplus_module_1.
|
|
933
|
+
return tsplus_module_10.unwrap(() => tsplus_module_1.map(b => b ? tsplus_module_11.zipRight(filterIOLoop(iterator, f, __tsplusTrace))(tsplus_module_10.writeNow(tsplus_module_19.single(next.value))) : filterIOLoop(iterator, f, __tsplusTrace), __tsplusTrace)(f(next.value)));
|
|
968
934
|
}
|
|
969
935
|
}
|
|
970
936
|
/**
|
|
971
|
-
* @tsplus
|
|
937
|
+
* @tsplus pipeable fncts.io.Stream filterMap
|
|
972
938
|
*/
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
939
|
+
function filterMap_1(f, __tsplusTrace) {
|
|
940
|
+
return fa => {
|
|
941
|
+
return mapChunks_1(chunk => tsplus_module_12.filterMap(f)(chunk), __tsplusTrace)(fa);
|
|
942
|
+
};
|
|
977
943
|
}
|
|
978
944
|
/**
|
|
979
|
-
* @tsplus
|
|
945
|
+
* @tsplus pipeable fncts.io.Stream filterMapIO
|
|
980
946
|
*/
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
947
|
+
export function filterMapIO(f, __tsplusTrace) {
|
|
948
|
+
return fa => {
|
|
949
|
+
return new Stream(tsplus_module_10.pipeTo(filterMapIOLoop(tsplus_module_39.empty()[Symbol.iterator](), f, __tsplusTrace))(fa.channel));
|
|
950
|
+
};
|
|
985
951
|
}
|
|
986
|
-
|
|
987
952
|
function filterMapIOLoop(iterator, f, __tsplusTrace) {
|
|
988
953
|
const next = iterator.next();
|
|
989
|
-
|
|
990
954
|
if (next.done) {
|
|
991
955
|
return tsplus_module_10.readWithCause(elem => filterMapIOLoop(elem[Symbol.iterator](), f, __tsplusTrace), tsplus_module_11.failCauseNow, tsplus_module_11.succeedNow);
|
|
992
956
|
} else {
|
|
993
|
-
return tsplus_module_10.unwrap(() => tsplus_module_1.
|
|
957
|
+
return tsplus_module_10.unwrap(() => tsplus_module_1.map(b => tsplus_module_20.match(() => filterMapIOLoop(iterator, f, __tsplusTrace), b => tsplus_module_11.zipRight(filterMapIOLoop(iterator, f, __tsplusTrace))(tsplus_module_10.writeNow(tsplus_module_19.single(b))))(b), __tsplusTrace)(f(next.value)));
|
|
994
958
|
}
|
|
995
959
|
}
|
|
996
960
|
/**
|
|
997
961
|
* Finds the first element emitted by this stream that satisfies the provided predicate.
|
|
998
962
|
*
|
|
999
|
-
* @tsplus
|
|
963
|
+
* @tsplus pipeable fncts.io.Stream find
|
|
1000
964
|
*/
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
965
|
+
export function find(p, __tsplusTrace) {
|
|
966
|
+
return stream => {
|
|
967
|
+
const loop = tsplus_module_10.readWith(inp => tsplus_module_20.match(() => loop, a => tsplus_module_10.writeNow(tsplus_module_19.single(a)))(tsplus_module_12.find(p)(inp)), tsplus_module_10.failNow, () => tsplus_module_10.unit);
|
|
968
|
+
return new Stream(tsplus_module_10.pipeTo(loop)(stream.channel));
|
|
969
|
+
};
|
|
1006
970
|
}
|
|
1007
971
|
/**
|
|
1008
972
|
* Finds the first element emitted by this stream that satisfies the provided effectful predicate.
|
|
1009
973
|
*
|
|
1010
|
-
* @tsplus
|
|
974
|
+
* @tsplus pipeable fncts.io.Stream findIO
|
|
1011
975
|
*/
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
976
|
+
export function findIO(f, __tsplusTrace) {
|
|
977
|
+
return stream => {
|
|
978
|
+
const loop = tsplus_module_10.readWith(inp => tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeA => tsplus_module_20.match(() => loop, a => tsplus_module_10.writeNow(tsplus_module_19.single(a)))(maybeA), __tsplusTrace)(tsplus_module_51.findIO(f, __tsplusTrace)(inp))), tsplus_module_10.failNow, () => tsplus_module_10.unit);
|
|
979
|
+
return new Stream(tsplus_module_10.pipeTo(loop)(stream.channel));
|
|
980
|
+
};
|
|
1016
981
|
}
|
|
1017
982
|
/**
|
|
1018
983
|
* Flattens this stream-of-streams into a stream made of the concatenation in
|
|
@@ -1020,9 +985,8 @@ export function findIO_(stream, f, __tsplusTrace) {
|
|
|
1020
985
|
*
|
|
1021
986
|
* @tsplus getter fncts.io.Stream flatten
|
|
1022
987
|
*/
|
|
1023
|
-
|
|
1024
988
|
function flatten_1(self, __tsplusTrace) {
|
|
1025
|
-
return flatMap_1(
|
|
989
|
+
return flatMap_1(identity, __tsplusTrace)(self);
|
|
1026
990
|
}
|
|
1027
991
|
/**
|
|
1028
992
|
* Unwraps `Exit` values that also signify end-of-stream by failing with `None`.
|
|
@@ -1031,27 +995,22 @@ function flatten_1(self, __tsplusTrace) {
|
|
|
1031
995
|
*
|
|
1032
996
|
* @tsplus getter fncts.io.Stream flattenExitOption
|
|
1033
997
|
*/
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
998
|
function flattenExitOption_1(stream, __tsplusTrace) {
|
|
1037
999
|
const processChunk = (chunk, cont) => {
|
|
1038
|
-
const [toEmit, rest] = tsplus_module_12.
|
|
1039
|
-
const next = tsplus_module_20.
|
|
1040
|
-
return tsplus_module_11.
|
|
1000
|
+
const [toEmit, rest] = tsplus_module_12.splitWhere(_ => !tsplus_module_52.isSuccess(_))(chunk);
|
|
1001
|
+
const next = tsplus_module_20.match(() => cont, exit => tsplus_module_35.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_35.match(() => tsplus_module_3.nothing(), tsplus_module_3.just)(exit))(toEmit)));
|
|
1041
1003
|
};
|
|
1042
|
-
|
|
1043
1004
|
const process = tsplus_module_10.readWithCause(chunk => processChunk(chunk, process), tsplus_module_11.failCauseNow, _ => tsplus_module_11.endNow(undefined));
|
|
1044
|
-
return new Stream(tsplus_module_10.
|
|
1005
|
+
return new Stream(tsplus_module_10.pipeTo(process)(stream.channel));
|
|
1045
1006
|
}
|
|
1046
1007
|
/**
|
|
1047
1008
|
* Unwraps `Exit` values and flatten chunks that also signify end-of-stream by failing with `None`.
|
|
1048
1009
|
*
|
|
1049
1010
|
* @tsplus getter fncts.io.Stream flattenTake
|
|
1050
1011
|
*/
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
1012
|
function flattenTake_1(stream, __tsplusTrace) {
|
|
1054
|
-
return flattenChunks_1(flattenExitOption_1(map_1(
|
|
1013
|
+
return flattenChunks_1(flattenExitOption_1(map_1(take => take.exit, __tsplusTrace)(stream), __tsplusTrace), __tsplusTrace);
|
|
1055
1014
|
}
|
|
1056
1015
|
/**
|
|
1057
1016
|
* Submerges the chunks carried by this stream into the stream's structure, while
|
|
@@ -1059,18 +1018,14 @@ function flattenTake_1(stream, __tsplusTrace) {
|
|
|
1059
1018
|
*
|
|
1060
1019
|
* @tsplus getter fncts.io.Stream flattenChunks
|
|
1061
1020
|
*/
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
1021
|
function flattenChunks_1(stream, __tsplusTrace) {
|
|
1065
|
-
return new Stream(tsplus_module_10.
|
|
1022
|
+
return new Stream(tsplus_module_10.mapOut(c => tsplus_module_12.flatten(c))(stream.channel));
|
|
1066
1023
|
}
|
|
1067
1024
|
/**
|
|
1068
1025
|
* Repeats this stream forever.
|
|
1069
1026
|
*
|
|
1070
1027
|
* @tsplus getter fncts.io.Stream forever
|
|
1071
1028
|
*/
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
1029
|
function forever_1(stream, __tsplusTrace) {
|
|
1075
1030
|
return new Stream(tsplus_module_10.repeated(stream.channel));
|
|
1076
1031
|
}
|
|
@@ -1079,8 +1034,6 @@ function forever_1(stream, __tsplusTrace) {
|
|
|
1079
1034
|
*
|
|
1080
1035
|
* @tsplus static fncts.io.StreamOps fromChunkNow
|
|
1081
1036
|
*/
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
1037
|
function fromChunkNow_1(c, __tsplusTrace) {
|
|
1085
1038
|
return new Stream(tsplus_module_10.defer(() => tsplus_module_12.isEmpty(c) ? tsplus_module_10.unit : tsplus_module_10.writeNow(c)));
|
|
1086
1039
|
}
|
|
@@ -1089,8 +1042,6 @@ function fromChunkNow_1(c, __tsplusTrace) {
|
|
|
1089
1042
|
*
|
|
1090
1043
|
* @tsplus static fncts.io.StreamOps fromChunk
|
|
1091
1044
|
*/
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
1045
|
function fromChunk_1(c, __tsplusTrace) {
|
|
1095
1046
|
return new Stream(tsplus_module_10.unwrap(() => tsplus_module_1.succeedNow(tsplus_module_10.write(c), __tsplusTrace)));
|
|
1096
1047
|
}
|
|
@@ -1099,130 +1050,118 @@ function fromChunk_1(c, __tsplusTrace) {
|
|
|
1099
1050
|
*
|
|
1100
1051
|
* @tsplus static fncts.io.StreamOps scoped
|
|
1101
1052
|
*/
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
1053
|
function scoped_1(stream, __tsplusTrace) {
|
|
1105
|
-
return new Stream(tsplus_module_10.scoped(() => tsplus_module_1.
|
|
1054
|
+
return new Stream(tsplus_module_10.scoped(() => tsplus_module_1.map(tsplus_module_19.single, __tsplusTrace)(stream())));
|
|
1106
1055
|
}
|
|
1107
1056
|
/**
|
|
1108
1057
|
* Creates a stream from an effect producing a value of type `A`
|
|
1109
1058
|
*
|
|
1110
1059
|
* @tsplus static fncts.io.StreamOps fromIO
|
|
1111
1060
|
*/
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
1061
|
function fromIO_1(fa, __tsplusTrace) {
|
|
1115
|
-
return fromIOMaybe_1(tsplus_module_1.
|
|
1062
|
+
return fromIOMaybe_1(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(fa), __tsplusTrace);
|
|
1116
1063
|
}
|
|
1117
1064
|
/**
|
|
1118
1065
|
* Creates a stream from an effect producing a value of type `A` or an empty Stream
|
|
1119
1066
|
*
|
|
1120
1067
|
* @tsplus static fncts.io.StreamOps fromIOMaybe
|
|
1121
1068
|
*/
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
1069
|
function fromIOMaybe_1(fa, __tsplusTrace) {
|
|
1125
|
-
return new Stream(tsplus_module_10.unwrap(() => tsplus_module_1.
|
|
1070
|
+
return new Stream(tsplus_module_10.unwrap(() => tsplus_module_1.match(maybeError => tsplus_module_20.match(() => tsplus_module_10.unit, tsplus_module_10.failNow)(maybeError), a => tsplus_module_10.writeNow(tsplus_module_19.single(a)), __tsplusTrace)(fa)));
|
|
1126
1071
|
}
|
|
1127
|
-
|
|
1128
1072
|
function fromAsyncIterableLoop(iterator, __tsplusTrace) {
|
|
1129
1073
|
return tsplus_module_10.unwrap(() => tsplus_module_1.async(k => {
|
|
1130
|
-
iterator.next().then(result => result.done ? k(tsplus_module_1.succeedNow(tsplus_module_11.end(() => undefined), __tsplusTrace)) : k(tsplus_module_1.succeedNow(tsplus_module_11.
|
|
1074
|
+
iterator.next().then(result => result.done ? k(tsplus_module_1.succeedNow(tsplus_module_11.end(() => undefined), __tsplusTrace)) : k(tsplus_module_1.succeedNow(tsplus_module_11.zipRight(fromAsyncIterableLoop(iterator, __tsplusTrace))(tsplus_module_10.writeNow(tsplus_module_19.single(result.value))), __tsplusTrace)));
|
|
1131
1075
|
}));
|
|
1132
1076
|
}
|
|
1133
1077
|
/**
|
|
1134
1078
|
* @tsplus static fncts.io.StreamOps fromAsyncIterable
|
|
1135
1079
|
*/
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
1080
|
export function fromAsyncIterable(iterable, __tsplusTrace) {
|
|
1139
1081
|
return new Stream(fromAsyncIterableLoop(iterable[Symbol.asyncIterator](), __tsplusTrace));
|
|
1140
1082
|
}
|
|
1141
1083
|
/**
|
|
1142
1084
|
* @tsplus static fncts.io.StreamOps fromIterable
|
|
1143
1085
|
*/
|
|
1144
|
-
|
|
1145
1086
|
export function fromIterable(iterable, maxChunkSize = DEFAULT_CHUNK_SIZE, __tsplusTrace) {
|
|
1146
1087
|
return unwrap_1(tsplus_module_1.succeed(() => {
|
|
1147
1088
|
const loop = iterator => tsplus_module_10.unwrap(() => tsplus_module_1.succeed(() => {
|
|
1148
1089
|
let result = iterator.next();
|
|
1149
|
-
|
|
1150
1090
|
if (result.done) {
|
|
1151
1091
|
return tsplus_module_10.unit;
|
|
1152
1092
|
}
|
|
1153
|
-
|
|
1154
1093
|
if (maxChunkSize === 1) {
|
|
1155
|
-
return tsplus_module_11.
|
|
1094
|
+
return tsplus_module_11.zipRight(loop(iterator))(tsplus_module_10.writeNow(tsplus_module_19.single(result.value)));
|
|
1156
1095
|
} else {
|
|
1157
1096
|
const out = Array(maxChunkSize);
|
|
1158
1097
|
out[0] = result.value;
|
|
1159
1098
|
let count = 1;
|
|
1160
|
-
|
|
1161
1099
|
while (count < maxChunkSize && !(result = iterator.next()).done) {
|
|
1162
1100
|
out[count] = result.value;
|
|
1163
1101
|
count++;
|
|
1164
1102
|
}
|
|
1165
|
-
|
|
1166
|
-
return tsplus_module_11.apSecond_(tsplus_module_10.writeNow(tsplus_module_19.from(out)), loop(iterator));
|
|
1103
|
+
return tsplus_module_11.zipRight(loop(iterator))(tsplus_module_10.writeNow(tsplus_module_19.from(out)));
|
|
1167
1104
|
}
|
|
1168
1105
|
}, __tsplusTrace));
|
|
1169
|
-
|
|
1170
1106
|
return new Stream(loop(iterable[Symbol.iterator]()));
|
|
1171
1107
|
}, __tsplusTrace), __tsplusTrace);
|
|
1172
1108
|
}
|
|
1173
1109
|
/**
|
|
1174
1110
|
* @tsplus static fncts.io.StreamOps fromIterableSingle
|
|
1175
1111
|
*/
|
|
1176
|
-
|
|
1177
1112
|
export function fromIterableSingle(iterable, __tsplusTrace) {
|
|
1178
|
-
return flatMap_1(
|
|
1113
|
+
return flatMap_1(iterator => repeatIOMaybe_1(tsplus_module_1.defer(() => {
|
|
1179
1114
|
const value = iterator.next();
|
|
1180
|
-
|
|
1181
1115
|
if (value.done) {
|
|
1182
1116
|
return tsplus_module_1.failNow(tsplus_module_3.nothing(), __tsplusTrace);
|
|
1183
1117
|
} else {
|
|
1184
1118
|
return tsplus_module_1.succeedNow(value.value, __tsplusTrace);
|
|
1185
1119
|
}
|
|
1186
|
-
}, __tsplusTrace), __tsplusTrace), __tsplusTrace);
|
|
1120
|
+
}, __tsplusTrace), __tsplusTrace), __tsplusTrace)(fromIO_1(tsplus_module_1.succeed(() => iterable[Symbol.iterator](), __tsplusTrace), __tsplusTrace));
|
|
1187
1121
|
}
|
|
1188
1122
|
/**
|
|
1189
1123
|
* @tsplus static fncts.io.StreamOps fromPull
|
|
1190
1124
|
*/
|
|
1191
|
-
|
|
1192
1125
|
function fromPull_1(scopedPull, __tsplusTrace) {
|
|
1193
|
-
return unwrapScoped_1(tsplus_module_1.
|
|
1126
|
+
return unwrapScoped_1(tsplus_module_1.map(pull => repeatIOChunkMaybe_1(pull, __tsplusTrace), __tsplusTrace)(scopedPull), __tsplusTrace);
|
|
1194
1127
|
}
|
|
1195
1128
|
/**
|
|
1196
1129
|
* Creates a stream from a `Queue` of values
|
|
1197
1130
|
*
|
|
1198
1131
|
* @tsplus static fncts.io.StreamOps fromQueue
|
|
1199
1132
|
*/
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
1133
|
function fromQueue_1(queue, maxChunkSize = DEFAULT_CHUNK_SIZE, __tsplusTrace) {
|
|
1203
|
-
return repeatIOChunkMaybe_1(tsplus_module_1.
|
|
1134
|
+
return repeatIOChunkMaybe_1(tsplus_module_1.catchAllCause(c => tsplus_module_1.flatMap(down => {
|
|
1204
1135
|
if (down && tsplus_module_25.interrupted(c)) {
|
|
1205
|
-
return
|
|
1136
|
+
return tsplus_module_53.end;
|
|
1206
1137
|
} else {
|
|
1207
|
-
return
|
|
1138
|
+
return tsplus_module_53.failCause(c);
|
|
1208
1139
|
}
|
|
1209
|
-
}, __tsplusTrace), __tsplusTrace), __tsplusTrace);
|
|
1140
|
+
}, __tsplusTrace)(tsplus_module_27.isShutdown(queue, __tsplusTrace)), __tsplusTrace)(tsplus_module_1.map(tsplus_module_19.from, __tsplusTrace)(tsplus_module_54.takeBetween(1, maxChunkSize, __tsplusTrace)(queue))), __tsplusTrace);
|
|
1210
1141
|
}
|
|
1211
1142
|
/**
|
|
1212
1143
|
* @tsplus static fncts.io.StreamOps fromQueueWithShutdown
|
|
1213
1144
|
*/
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
1145
|
function fromQueueWithShutdown_1(queue, maxChunkSize = DEFAULT_CHUNK_SIZE, __tsplusTrace) {
|
|
1217
|
-
return ensuring_1(
|
|
1146
|
+
return ensuring_1(tsplus_module_27.shutdown(queue, __tsplusTrace), __tsplusTrace)(fromQueue_1(queue, maxChunkSize, __tsplusTrace));
|
|
1147
|
+
}
|
|
1148
|
+
/**
|
|
1149
|
+
* @tsplus static fncts.io.StreamOps fromHub
|
|
1150
|
+
*/
|
|
1151
|
+
export function fromHub(hub, maxChunkSize = DEFAULT_CHUNK_SIZE, __tsplusTrace) {
|
|
1152
|
+
return flatMap_1(queue => fromQueueWithShutdown_1(queue, maxChunkSize, __tsplusTrace), __tsplusTrace)(scoped_1(() => tsplus_module_33.subscribe(hub(), __tsplusTrace), __tsplusTrace));
|
|
1153
|
+
}
|
|
1154
|
+
/**
|
|
1155
|
+
* @tsplus static fncts.io.StreamOps fromHubScoped
|
|
1156
|
+
*/
|
|
1157
|
+
export function fromHubScoped(hub, maxChunkSize = DEFAULT_CHUNK_SIZE, __tsplusTrace) {
|
|
1158
|
+
return tsplus_module_1.defer(() => tsplus_module_1.map(queue => fromQueueWithShutdown_1(queue, maxChunkSize, __tsplusTrace), __tsplusTrace)(tsplus_module_33.subscribe(hub(), __tsplusTrace)), __tsplusTrace);
|
|
1218
1159
|
}
|
|
1219
1160
|
/**
|
|
1220
1161
|
* Halt a stream with the specified exception
|
|
1221
1162
|
*
|
|
1222
1163
|
* @tsplus static fncts.io.StreamOps haltNow
|
|
1223
1164
|
*/
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
1165
|
export function haltNow(u, __tsplusTrace) {
|
|
1227
1166
|
return new Stream(tsplus_module_10.halt(() => u));
|
|
1228
1167
|
}
|
|
@@ -1231,13 +1170,11 @@ export function haltNow(u, __tsplusTrace) {
|
|
|
1231
1170
|
*
|
|
1232
1171
|
* @tsplus static fncts.io.StreamOps halt
|
|
1233
1172
|
*/
|
|
1234
|
-
|
|
1235
1173
|
function halt_1(u, __tsplusTrace) {
|
|
1236
1174
|
return new Stream(tsplus_module_10.halt(u));
|
|
1237
1175
|
}
|
|
1238
|
-
|
|
1239
1176
|
function haltWhenWriter(fiber, __tsplusTrace) {
|
|
1240
|
-
return tsplus_module_10.unwrap(() => tsplus_module_1.
|
|
1177
|
+
return tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeExit => tsplus_module_20.match(() => tsplus_module_10.readWith(i => tsplus_module_11.zipRight(haltWhenWriter(fiber, __tsplusTrace))(tsplus_module_10.writeNow(i)), tsplus_module_10.failNow, () => tsplus_module_10.unit), exit => tsplus_module_35.match(tsplus_module_11.failCauseNow, () => tsplus_module_10.unit)(exit))(maybeExit), __tsplusTrace)(tsplus_module_49.poll(fiber, __tsplusTrace)));
|
|
1241
1178
|
}
|
|
1242
1179
|
/**
|
|
1243
1180
|
* Halts the evaluation of this stream when the provided IO completes. The
|
|
@@ -1249,39 +1186,38 @@ function haltWhenWriter(fiber, __tsplusTrace) {
|
|
|
1249
1186
|
*
|
|
1250
1187
|
* If the IO completes with a failure, the stream will emit that failure.
|
|
1251
1188
|
*
|
|
1252
|
-
* @tsplus
|
|
1189
|
+
* @tsplus pipeable fncts.io.Stream haltWhen
|
|
1253
1190
|
*/
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1191
|
+
export function haltWhen(io, __tsplusTrace) {
|
|
1192
|
+
return fa => {
|
|
1193
|
+
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(fiber => tsplus_module_10.pipeTo(haltWhenWriter(fiber, __tsplusTrace))(fa.channel), __tsplusTrace)(tsplus_module_17.forkScoped(io, __tsplusTrace))));
|
|
1194
|
+
};
|
|
1258
1195
|
}
|
|
1259
|
-
|
|
1260
1196
|
function haltWhenFutureWriter(future, __tsplusTrace) {
|
|
1261
|
-
return tsplus_module_10.unwrap(() => tsplus_module_1.
|
|
1197
|
+
return tsplus_module_10.unwrap(() => tsplus_module_1.map(maybeIO => tsplus_module_20.match(() => tsplus_module_10.readWith(i => tsplus_module_11.zipRight(haltWhenFutureWriter(future, __tsplusTrace))(tsplus_module_10.writeNow(i)), tsplus_module_10.failNow, () => tsplus_module_10.unit), io => tsplus_module_10.unwrap(() => tsplus_module_1.match(tsplus_module_10.failNow, () => tsplus_module_10.unit, __tsplusTrace)(io)))(maybeIO), __tsplusTrace)(tsplus_module_36.poll(future, __tsplusTrace)));
|
|
1262
1198
|
}
|
|
1263
1199
|
/**
|
|
1264
1200
|
* Halts the evaluation of this stream when the provided promise resolves.
|
|
1265
1201
|
*
|
|
1266
1202
|
* If the promise completes with a failure, the stream will emit that failure.
|
|
1267
1203
|
*
|
|
1268
|
-
* @tsplus
|
|
1204
|
+
* @tsplus pipeable fncts.io.Stream haltWhen
|
|
1269
1205
|
*/
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1206
|
+
export function haltWhenFuture(future, __tsplusTrace) {
|
|
1207
|
+
return fa => {
|
|
1208
|
+
return new Stream(tsplus_module_10.pipeTo(haltWhenFutureWriter(future, __tsplusTrace))(fa.channel));
|
|
1209
|
+
};
|
|
1274
1210
|
}
|
|
1275
1211
|
/**
|
|
1276
|
-
* @tsplus
|
|
1212
|
+
* @tsplus pipeable fncts.io.Stream interleave
|
|
1277
1213
|
*/
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1214
|
+
export function interleave(sb, __tsplusTrace) {
|
|
1215
|
+
return sa => {
|
|
1216
|
+
return interleaveWith_1(sb, forever_1(fromChunk_1(() => tsplus_module_19.make(true, false), __tsplusTrace), __tsplusTrace), __tsplusTrace)(sa);
|
|
1217
|
+
};
|
|
1281
1218
|
}
|
|
1282
|
-
|
|
1283
1219
|
function interleaveWithProducer(handoff, __tsplusTrace) {
|
|
1284
|
-
return tsplus_module_10.readWithCause(value => tsplus_module_11.
|
|
1220
|
+
return tsplus_module_10.readWithCause(value => tsplus_module_11.zipRight(interleaveWithProducer(handoff, __tsplusTrace))(tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_26.single(value))(handoff))), cause => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_26.failCause(cause))(handoff)), () => tsplus_module_10.fromIO(() => tsplus_module_5.offer(tsplus_module_26.end)(handoff)));
|
|
1285
1221
|
}
|
|
1286
1222
|
/**
|
|
1287
1223
|
* Combines this stream and the specified stream deterministically using the
|
|
@@ -1291,33 +1227,29 @@ function interleaveWithProducer(handoff, __tsplusTrace) {
|
|
|
1291
1227
|
* `b`. If either this stream or the specified stream are exhausted further
|
|
1292
1228
|
* requests for values from that stream will be ignored.
|
|
1293
1229
|
*
|
|
1294
|
-
* @tsplus
|
|
1230
|
+
* @tsplus pipeable fncts.io.Stream interleaveWith
|
|
1295
1231
|
*/
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
return
|
|
1307
|
-
}
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
return tsplus_module_10.pipeTo_(tsplus_module_10.concatMap_(b.channel, tsplus_module_10.writeChunk), process(false, false));
|
|
1313
|
-
}, __tsplusTrace)));
|
|
1314
|
-
}
|
|
1315
|
-
|
|
1232
|
+
function interleaveWith_1(sb, b, __tsplusTrace) {
|
|
1233
|
+
return sa => {
|
|
1234
|
+
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(([left, right]) => {
|
|
1235
|
+
const process = (leftDone, rightDone) => tsplus_module_10.readWithCause(b => {
|
|
1236
|
+
if (b && !leftDone) {
|
|
1237
|
+
return tsplus_module_11.flatMap(take => tsplus_module_26.match(rightDone ? tsplus_module_10.unit : process(true, rightDone), tsplus_module_11.failCauseNow, chunk => tsplus_module_11.zipRight(process(leftDone, rightDone))(tsplus_module_10.writeNow(chunk)))(take))(tsplus_module_10.fromIO(() => tsplus_module_5.take(left)));
|
|
1238
|
+
}
|
|
1239
|
+
if (!b && !rightDone) {
|
|
1240
|
+
return tsplus_module_11.flatMap(take => tsplus_module_26.match(leftDone ? tsplus_module_10.unit : process(leftDone, true), tsplus_module_11.failCauseNow, chunk => tsplus_module_11.zipRight(process(leftDone, rightDone))(tsplus_module_10.writeNow(chunk)))(take))(tsplus_module_10.fromIO(() => tsplus_module_5.take(right)));
|
|
1241
|
+
}
|
|
1242
|
+
return process(leftDone, rightDone);
|
|
1243
|
+
}, tsplus_module_11.failCauseNow, () => tsplus_module_10.unit);
|
|
1244
|
+
return tsplus_module_10.pipeTo(process(false, false))(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(b.channel));
|
|
1245
|
+
}, __tsplusTrace)(tsplus_module_1.flatMap(left => tsplus_module_1.flatMap(right => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => tuple(left, right), __tsplusTrace)(tsplus_module_32.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo(interleaveWithProducer(right, __tsplusTrace))(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(sb.channel))), __tsplusTrace)), __tsplusTrace)(tsplus_module_32.fork(tsplus_module_16.runScoped(tsplus_module_10.pipeTo(interleaveWithProducer(left, __tsplusTrace))(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(sa.channel))), __tsplusTrace)), __tsplusTrace)(tsplus_module_5.make()), __tsplusTrace)(tsplus_module_5.make()))));
|
|
1246
|
+
};
|
|
1247
|
+
}
|
|
1316
1248
|
function intersperseWriter(middle, isFirst, __tsplusTrace) {
|
|
1317
1249
|
return tsplus_module_10.readWith(inp => {
|
|
1318
1250
|
const builder = tsplus_module_12.builder();
|
|
1319
1251
|
let flagResult = isFirst;
|
|
1320
|
-
tsplus_module_12.
|
|
1252
|
+
tsplus_module_12.forEach(a => {
|
|
1321
1253
|
if (flagResult) {
|
|
1322
1254
|
flagResult = false;
|
|
1323
1255
|
builder.append(a);
|
|
@@ -1325,17 +1257,15 @@ function intersperseWriter(middle, isFirst, __tsplusTrace) {
|
|
|
1325
1257
|
builder.append(middle);
|
|
1326
1258
|
builder.append(a);
|
|
1327
1259
|
}
|
|
1328
|
-
});
|
|
1329
|
-
return tsplus_module_11.
|
|
1260
|
+
})(inp);
|
|
1261
|
+
return tsplus_module_11.zipRight(intersperseWriter(middle, flagResult, __tsplusTrace))(tsplus_module_10.writeNow(builder.result()));
|
|
1330
1262
|
}, tsplus_module_10.failNow, () => tsplus_module_10.unit);
|
|
1331
1263
|
}
|
|
1332
1264
|
/**
|
|
1333
1265
|
* Intersperse stream with provided element
|
|
1334
1266
|
*/
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
export function intersperse_(stream, middle, __tsplusTrace) {
|
|
1338
|
-
return new Stream(tsplus_module_10.pipeTo_(stream.channel, intersperseWriter(middle, true, __tsplusTrace)));
|
|
1267
|
+
export function intersperse(stream, middle, __tsplusTrace) {
|
|
1268
|
+
return new Stream(tsplus_module_10.pipeTo(intersperseWriter(middle, true, __tsplusTrace))(stream.channel));
|
|
1339
1269
|
}
|
|
1340
1270
|
/**
|
|
1341
1271
|
* Interrupts the evaluation of this stream when the provided IO completes. The given
|
|
@@ -1345,168 +1275,170 @@ export function intersperse_(stream, middle, __tsplusTrace) {
|
|
|
1345
1275
|
* If the IO completes with a failure before the stream completes, the returned stream
|
|
1346
1276
|
* will emit that failure.
|
|
1347
1277
|
*
|
|
1348
|
-
* @tsplus
|
|
1278
|
+
* @tsplus pipeable fncts.io.Stream interruptWhen
|
|
1349
1279
|
*/
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1280
|
+
export function interruptWhen(io, __tsplusTrace) {
|
|
1281
|
+
return stream => {
|
|
1282
|
+
return new Stream(tsplus_module_55.interruptWhen(io)(stream.channel));
|
|
1283
|
+
};
|
|
1353
1284
|
}
|
|
1354
1285
|
/**
|
|
1355
|
-
* @tsplus
|
|
1286
|
+
* @tsplus pipeable fncts.io.Stream interruptWhen
|
|
1356
1287
|
*/
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1288
|
+
export function interruptWhenFuture(future, __tsplusTrace) {
|
|
1289
|
+
return fa => {
|
|
1290
|
+
return new Stream(tsplus_module_55.interruptWhenFuture(future)(fa.channel));
|
|
1291
|
+
};
|
|
1360
1292
|
}
|
|
1361
1293
|
/**
|
|
1362
1294
|
* Transforms the elements of this stream using the supplied function.
|
|
1363
1295
|
*
|
|
1364
|
-
* @tsplus
|
|
1296
|
+
* @tsplus pipeable fncts.io.Stream map
|
|
1365
1297
|
*/
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1298
|
+
function map_1(f, __tsplusTrace) {
|
|
1299
|
+
return stream => {
|
|
1300
|
+
return new Stream(tsplus_module_10.mapOut(as => tsplus_module_12.map(f)(as))(stream.channel));
|
|
1301
|
+
};
|
|
1369
1302
|
}
|
|
1370
|
-
|
|
1371
1303
|
function mapAccumAccumulator(currS, f, __tsplusTrace) {
|
|
1372
1304
|
return tsplus_module_10.readWith(inp => {
|
|
1373
|
-
const [nextS, bs] = tsplus_module_12.
|
|
1374
|
-
return tsplus_module_11.
|
|
1305
|
+
const [nextS, bs] = tsplus_module_12.mapAccum(currS, f)(inp);
|
|
1306
|
+
return tsplus_module_11.zipRight(mapAccumAccumulator(nextS, f, __tsplusTrace))(tsplus_module_10.writeNow(bs));
|
|
1375
1307
|
}, tsplus_module_10.failNow, () => tsplus_module_10.unit);
|
|
1376
1308
|
}
|
|
1377
1309
|
/**
|
|
1378
1310
|
* Statefully maps over the elements of this stream to produce new elements.
|
|
1379
1311
|
*
|
|
1380
|
-
* @tsplus
|
|
1312
|
+
* @tsplus pipeable fncts.io.Stream mapAccum
|
|
1381
1313
|
*/
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1314
|
+
function mapAccum_1(s, f, __tsplusTrace) {
|
|
1315
|
+
return stream => {
|
|
1316
|
+
return new Stream(tsplus_module_10.pipeTo(mapAccumAccumulator(s, f, __tsplusTrace))(stream.channel));
|
|
1317
|
+
};
|
|
1386
1318
|
}
|
|
1387
|
-
|
|
1388
1319
|
function mapAccumIOAccumulator(s, f, __tsplusTrace) {
|
|
1389
1320
|
return tsplus_module_10.readWith(inp => tsplus_module_10.unwrap(() => tsplus_module_1.defer(() => {
|
|
1390
1321
|
const outputChunk = tsplus_module_12.builder();
|
|
1391
|
-
|
|
1392
1322
|
const emit = b => tsplus_module_1.succeed(() => {
|
|
1393
1323
|
outputChunk.append(b);
|
|
1394
1324
|
}, __tsplusTrace);
|
|
1395
|
-
|
|
1396
|
-
return tsplus_module_1.match_(tsplus_module_1.foldLeft_(inp, s, (s1, a) => tsplus_module_1.flatMap_(f(s1, a), ([b, s2]) => tsplus_module_1.as_(emit(b), () => s2, __tsplusTrace), __tsplusTrace), __tsplusTrace), e => {
|
|
1325
|
+
return tsplus_module_1.match(e => {
|
|
1397
1326
|
const partialResult = outputChunk.result();
|
|
1398
|
-
return tsplus_module_12.isNonEmpty(partialResult) ? tsplus_module_11.
|
|
1399
|
-
}, s => tsplus_module_11.
|
|
1327
|
+
return tsplus_module_12.isNonEmpty(partialResult) ? tsplus_module_11.zipRight(tsplus_module_10.failNow(e))(tsplus_module_10.writeNow(partialResult)) : tsplus_module_10.failNow(e);
|
|
1328
|
+
}, s => tsplus_module_11.zipRight(mapAccumIOAccumulator(s, f, __tsplusTrace))(tsplus_module_10.writeNow(outputChunk.result())), __tsplusTrace)(tsplus_module_1.foldLeft(inp, s, (s1, a) => tsplus_module_1.flatMap(([b, s2]) => tsplus_module_1.as(() => s2, __tsplusTrace)(emit(b)), __tsplusTrace)(f(s1, a)), __tsplusTrace));
|
|
1400
1329
|
}, __tsplusTrace)), tsplus_module_10.failNow, () => tsplus_module_10.unit);
|
|
1401
1330
|
}
|
|
1402
1331
|
/**
|
|
1403
1332
|
* Statefully and effectfully maps over the elements of this stream to produce
|
|
1404
1333
|
* new elements.
|
|
1405
1334
|
*
|
|
1406
|
-
* @tsplus
|
|
1335
|
+
* @tsplus pipeable fncts.io.Stream mapAccumIO
|
|
1407
1336
|
*/
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1337
|
+
function mapAccumIO_1(s, f, __tsplusTrace) {
|
|
1338
|
+
return stream => {
|
|
1339
|
+
return new Stream(tsplus_module_10.pipeTo(mapAccumIOAccumulator(s, f, __tsplusTrace))(stream.channel));
|
|
1340
|
+
};
|
|
1412
1341
|
}
|
|
1413
1342
|
/**
|
|
1414
1343
|
* Transforms the chunks emitted by this stream.
|
|
1415
1344
|
*
|
|
1416
|
-
* @tsplus
|
|
1345
|
+
* @tsplus pipeable fncts.io.Stream mapChunks
|
|
1417
1346
|
*/
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1347
|
+
function mapChunks_1(f, __tsplusTrace) {
|
|
1348
|
+
return stream => {
|
|
1349
|
+
return new Stream(tsplus_module_10.mapOut(f)(stream.channel));
|
|
1350
|
+
};
|
|
1422
1351
|
}
|
|
1423
1352
|
/**
|
|
1424
1353
|
* Effectfully transforms the chunks emitted by this stream.
|
|
1425
1354
|
*
|
|
1426
|
-
* @tsplus
|
|
1355
|
+
* @tsplus pipeable fncts.io.Stream mapChunksIO
|
|
1427
1356
|
*/
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1357
|
+
export function mapChunksIO(f, __tsplusTrace) {
|
|
1358
|
+
return stream => {
|
|
1359
|
+
return new Stream(tsplus_module_10.mapOutIO(f)(stream.channel));
|
|
1360
|
+
};
|
|
1432
1361
|
}
|
|
1433
1362
|
/**
|
|
1434
1363
|
* Maps each element to an iterable, and flattens the iterables into the
|
|
1435
1364
|
* output of this stream.
|
|
1436
1365
|
*
|
|
1437
|
-
* @tsplus
|
|
1366
|
+
* @tsplus pipeable fncts.io.Stream mapConcat
|
|
1438
1367
|
*/
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1368
|
+
export function mapConcat(f, __tsplusTrace) {
|
|
1369
|
+
return stream => {
|
|
1370
|
+
return mapConcatChunk_1(a => tsplus_module_19.from(f(a)), __tsplusTrace)(stream);
|
|
1371
|
+
};
|
|
1442
1372
|
}
|
|
1443
1373
|
/**
|
|
1444
1374
|
* Maps each element to a chunk, and flattens the chunks into the output of
|
|
1445
1375
|
* this stream.
|
|
1446
1376
|
*
|
|
1447
|
-
* @tsplus
|
|
1377
|
+
* @tsplus pipeable fncts.io.Stream mapConcatChunk
|
|
1448
1378
|
*/
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1379
|
+
function mapConcatChunk_1(f, __tsplusTrace) {
|
|
1380
|
+
return stream => {
|
|
1381
|
+
return mapChunks_1(c => tsplus_module_12.flatMap(f)(c), __tsplusTrace)(stream);
|
|
1382
|
+
};
|
|
1452
1383
|
}
|
|
1453
1384
|
/**
|
|
1454
1385
|
* Effectfully maps each element to a chunk, and flattens the chunks into
|
|
1455
1386
|
* the output of this stream.
|
|
1456
1387
|
*
|
|
1457
|
-
* @tsplus
|
|
1388
|
+
* @tsplus pipeable fncts.io.Stream mapConcatChunkIO
|
|
1458
1389
|
*/
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1390
|
+
export function mapConcatChunkIO(f, __tsplusTrace) {
|
|
1391
|
+
return stream => {
|
|
1392
|
+
return mapConcatChunk_1(identity, __tsplusTrace)(mapIO_1(f, __tsplusTrace)(stream));
|
|
1393
|
+
};
|
|
1463
1394
|
}
|
|
1464
1395
|
/**
|
|
1465
1396
|
* Effectfully maps each element to an iterable, and flattens the iterables into
|
|
1466
1397
|
* the output of this stream.
|
|
1467
1398
|
*
|
|
1468
|
-
* @tsplus
|
|
1399
|
+
* @tsplus pipeable fncts.io.Stream mapConcatIO
|
|
1469
1400
|
*/
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1401
|
+
export function mapConcatIO(f, __tsplusTrace) {
|
|
1402
|
+
return stream => {
|
|
1403
|
+
return mapConcatChunk_1(identity, __tsplusTrace)(mapIO_1(a => tsplus_module_1.map(tsplus_module_19.from, __tsplusTrace)(f(a)), __tsplusTrace)(stream));
|
|
1404
|
+
};
|
|
1473
1405
|
}
|
|
1474
1406
|
/**
|
|
1475
1407
|
* Transforms the errors emitted by this stream using `f`.
|
|
1476
1408
|
*
|
|
1477
|
-
* @tsplus
|
|
1409
|
+
* @tsplus pipeable fncts.io.Stream mapError
|
|
1478
1410
|
*/
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1411
|
+
function mapError_1(f, __tsplusTrace) {
|
|
1412
|
+
return stream => {
|
|
1413
|
+
return new Stream(tsplus_module_10.mapError(f)(stream.channel));
|
|
1414
|
+
};
|
|
1482
1415
|
}
|
|
1483
1416
|
/**
|
|
1484
1417
|
* Transforms the full causes of failures emitted by this stream.
|
|
1485
1418
|
*
|
|
1486
|
-
* @tsplus
|
|
1419
|
+
* @tsplus pipeable fncts.io.Stream mapErrorCause
|
|
1487
1420
|
*/
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1421
|
+
export function mapErrorCause(f, __tsplusTrace) {
|
|
1422
|
+
return fa => {
|
|
1423
|
+
return new Stream(tsplus_module_10.mapErrorCause(f)(fa.channel));
|
|
1424
|
+
};
|
|
1492
1425
|
}
|
|
1493
1426
|
/**
|
|
1494
1427
|
* Maps over elements of the stream with the specified effectful function.
|
|
1495
1428
|
*
|
|
1496
|
-
* @tsplus
|
|
1429
|
+
* @tsplus pipeable fncts.io.Stream mapIO
|
|
1497
1430
|
*/
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1431
|
+
function mapIO_1(f, __tsplusTrace) {
|
|
1432
|
+
return stream => {
|
|
1433
|
+
return new Stream(tsplus_module_10.pipeTo(mapIOLoop(tsplus_module_39.empty()[Symbol.iterator](), f, __tsplusTrace))(stream.channel));
|
|
1434
|
+
};
|
|
1501
1435
|
}
|
|
1502
|
-
|
|
1503
1436
|
function mapIOLoop(iterator, f, __tsplusTrace) {
|
|
1504
1437
|
const next = iterator.next();
|
|
1505
|
-
|
|
1506
1438
|
if (next.done) {
|
|
1507
1439
|
return tsplus_module_10.readWithCause(elem => mapIOLoop(elem[Symbol.iterator](), f, __tsplusTrace), tsplus_module_11.failCauseNow, tsplus_module_11.succeedNow);
|
|
1508
1440
|
} else {
|
|
1509
|
-
return tsplus_module_10.unwrap(() => tsplus_module_1.
|
|
1441
|
+
return tsplus_module_10.unwrap(() => tsplus_module_1.map(b => tsplus_module_11.zipRight(mapIOLoop(iterator, f, __tsplusTrace))(tsplus_module_10.writeNow(tsplus_module_19.single(b))), __tsplusTrace)(f(next.value)));
|
|
1510
1442
|
}
|
|
1511
1443
|
}
|
|
1512
1444
|
/**
|
|
@@ -1516,12 +1448,12 @@ function mapIOLoop(iterator, f, __tsplusTrace) {
|
|
|
1516
1448
|
*
|
|
1517
1449
|
* @note This combinator destroys the chunking structure. It's recommended to use chunkN afterwards.
|
|
1518
1450
|
*
|
|
1519
|
-
* @tsplus
|
|
1451
|
+
* @tsplus pipeable fncts.io.Stream mapIOC
|
|
1520
1452
|
*/
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1453
|
+
export function mapIOC(n, f, __tsplusTrace) {
|
|
1454
|
+
return stream => {
|
|
1455
|
+
return new Stream(tsplus_module_10.mapOut(tsplus_module_19.single)(tsplus_module_56.mapOutConcurrentIO(n, f)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(stream.channel))));
|
|
1456
|
+
};
|
|
1525
1457
|
}
|
|
1526
1458
|
/**
|
|
1527
1459
|
* Maps each element of this stream to another stream and returns the
|
|
@@ -1529,163 +1461,163 @@ export function mapIOC_(stream, n, f, __tsplusTrace) {
|
|
|
1529
1461
|
* concurrently. Up to `bufferSize` elements of the produced streams may be
|
|
1530
1462
|
* buffered in memory by this operator.
|
|
1531
1463
|
*
|
|
1532
|
-
* @tsplus
|
|
1464
|
+
* @tsplus pipeable fncts.io.Stream mergeMap
|
|
1533
1465
|
*/
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1466
|
+
function mergeMap_1(f, n, bufferSize = 16, __tsplusTrace) {
|
|
1467
|
+
return ma => {
|
|
1468
|
+
return new Stream(tsplus_module_57.mergeMap(a => f(a).channel, n, bufferSize)(tsplus_module_10.concatMap(tsplus_module_10.writeChunk)(ma.channel)));
|
|
1469
|
+
};
|
|
1537
1470
|
}
|
|
1538
1471
|
/**
|
|
1539
1472
|
* Maps over elements of the stream with the specified effectful function,
|
|
1540
1473
|
* executing up to `n` invocations of `f` concurrently. The element order
|
|
1541
1474
|
* is not enforced by this combinator, and elements may be reordered.
|
|
1542
1475
|
*
|
|
1543
|
-
* @tsplus
|
|
1476
|
+
* @tsplus pipeable fncts.io.Stream mergeMapIO
|
|
1544
1477
|
*/
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1478
|
+
export function mergeMapIO(f, n, bufferSize = 16, __tsplusTrace) {
|
|
1479
|
+
return stream => {
|
|
1480
|
+
return mergeMap_1(a => fromIO_1(f(a), __tsplusTrace), n, bufferSize, __tsplusTrace)(stream);
|
|
1481
|
+
};
|
|
1549
1482
|
}
|
|
1550
1483
|
/**
|
|
1551
|
-
* @tsplus
|
|
1484
|
+
* @tsplus pipeable fncts.io.Stream mergeEither
|
|
1552
1485
|
*/
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1486
|
+
function mergeEither_1(fb, __tsplusTrace) {
|
|
1487
|
+
return fa => {
|
|
1488
|
+
return mergeWith_1(fb, tsplus_module_18.left, tsplus_module_18.right)(fa);
|
|
1489
|
+
};
|
|
1556
1490
|
}
|
|
1557
|
-
|
|
1558
1491
|
export function mergeWithHandler(terminate, __tsplusTrace) {
|
|
1559
|
-
return exit => terminate || !
|
|
1492
|
+
return exit => terminate || !tsplus_module_52.isSuccess(exit) ? tsplus_module_58.done(tsplus_module_1.fromExitNow(exit, __tsplusTrace)) : tsplus_module_58.wait(tsplus_module_1.fromExitNow);
|
|
1560
1493
|
}
|
|
1561
1494
|
/**
|
|
1562
|
-
* @tsplus
|
|
1495
|
+
* @tsplus pipeable fncts.io.Stream mergeWith
|
|
1563
1496
|
*/
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1497
|
+
function mergeWith_1(sb, l, r, strategy = "Both", __tsplusTrace) {
|
|
1498
|
+
return sa => {
|
|
1499
|
+
return new Stream(tsplus_module_59.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
|
+
};
|
|
1567
1501
|
}
|
|
1568
1502
|
/**
|
|
1569
1503
|
* Runs the specified effect if this stream fails, providing the error to the effect if it exists.
|
|
1570
1504
|
*
|
|
1571
1505
|
* Note: Unlike `IO.onError`, there is no guarantee that the provided effect will not be interrupted.
|
|
1572
1506
|
*
|
|
1573
|
-
* @tsplus
|
|
1507
|
+
* @tsplus pipeable fncts.io.Stream onError
|
|
1574
1508
|
*/
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1509
|
+
export function onError(cleanup, __tsplusTrace) {
|
|
1510
|
+
return stream => {
|
|
1511
|
+
return catchAllCause_1(cause => fromIO_1(tsplus_module_1.zipRight(tsplus_module_1.failCauseNow(cause, __tsplusTrace), __tsplusTrace)(cleanup(cause)), __tsplusTrace), __tsplusTrace)(stream);
|
|
1512
|
+
};
|
|
1579
1513
|
}
|
|
1580
1514
|
/**
|
|
1581
1515
|
* Switches to the provided stream in case this one fails with a typed error.
|
|
1582
1516
|
*
|
|
1583
1517
|
* See also Stream#catchAll
|
|
1584
1518
|
*
|
|
1585
|
-
* @tsplus
|
|
1519
|
+
* @tsplus pipeable fncts.io.Stream orElse
|
|
1586
1520
|
*/
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1521
|
+
function orElse_1(that, __tsplusTrace) {
|
|
1522
|
+
return stream => {
|
|
1523
|
+
return new Stream(tsplus_module_10.orElse(that().channel)(stream.channel));
|
|
1524
|
+
};
|
|
1590
1525
|
}
|
|
1591
1526
|
/**
|
|
1592
1527
|
* Switches to the provided stream in case this one fails with a typed error.
|
|
1593
1528
|
*
|
|
1594
1529
|
* See also ZStream#catchAll
|
|
1595
1530
|
*
|
|
1596
|
-
* @tsplus
|
|
1531
|
+
* @tsplus pipeable fncts.io.Stream orElseEither
|
|
1597
1532
|
*/
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1533
|
+
export function orElseEither(that, __tsplusTrace) {
|
|
1534
|
+
return stream => {
|
|
1535
|
+
return orElse_1(() => map_1(tsplus_module_18.right, __tsplusTrace)(that()), __tsplusTrace)(map_1(tsplus_module_18.left, __tsplusTrace)(stream));
|
|
1536
|
+
};
|
|
1602
1537
|
}
|
|
1603
1538
|
/**
|
|
1604
1539
|
* Fails with given error in case this one fails with a typed error.
|
|
1605
1540
|
*
|
|
1606
1541
|
* See also Stream#catchAll
|
|
1607
1542
|
*
|
|
1608
|
-
* @tsplus
|
|
1543
|
+
* @tsplus pipeable fncts.io.Stream orElseFail
|
|
1609
1544
|
*/
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1545
|
+
export function orElseFail(e, __tsplusTrace) {
|
|
1546
|
+
return stream => {
|
|
1547
|
+
return orElse_1(() => failNow_1(e(), __tsplusTrace), __tsplusTrace)(stream);
|
|
1548
|
+
};
|
|
1613
1549
|
}
|
|
1614
1550
|
/**
|
|
1615
1551
|
* Switches to the provided stream in case this one fails with the `None` value.
|
|
1616
1552
|
*
|
|
1617
1553
|
* See also Stream#catchAll.
|
|
1618
1554
|
*/
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
return catchAll_1(stream, maybeError => tsplus_module_20.match_(maybeError, () => that(), e => failNow_1(tsplus_module_3.just(e), __tsplusTrace)), __tsplusTrace);
|
|
1555
|
+
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);
|
|
1622
1557
|
}
|
|
1623
1558
|
/**
|
|
1624
1559
|
* Succeeds with the specified value if this one fails with a typed error.
|
|
1625
1560
|
*
|
|
1626
|
-
* @tsplus
|
|
1561
|
+
* @tsplus pipeable fncts.io.Stream orElseSucceed
|
|
1627
1562
|
*/
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1563
|
+
export function orElseSucceed(a, __tsplusTrace) {
|
|
1564
|
+
return stream => {
|
|
1565
|
+
return orElse_1(() => succeedNow_1(a(), __tsplusTrace), __tsplusTrace)(stream);
|
|
1566
|
+
};
|
|
1631
1567
|
}
|
|
1632
1568
|
/**
|
|
1633
|
-
* @tsplus
|
|
1569
|
+
* @tsplus pipeable fncts.io.Stream pipeThrough
|
|
1634
1570
|
*/
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1571
|
+
function pipeThrough_1(sa, __tsplusTrace) {
|
|
1572
|
+
return ma => {
|
|
1573
|
+
return new Stream(tsplus_module_10.pipeToOrFail(sa.channel)(ma.channel));
|
|
1574
|
+
};
|
|
1638
1575
|
}
|
|
1639
1576
|
/**
|
|
1640
1577
|
* Provides the stream with its required environment, which eliminates
|
|
1641
1578
|
* its dependency on `R`.
|
|
1642
1579
|
*
|
|
1643
|
-
* @tsplus
|
|
1580
|
+
* @tsplus pipeable fncts.io.Stream provideEnvironment
|
|
1644
1581
|
*/
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1582
|
+
function provideEnvironment_1(r, __tsplusTrace) {
|
|
1583
|
+
return ra => {
|
|
1584
|
+
return new Stream(tsplus_module_10.provideEnvironment(() => r)(ra.channel));
|
|
1585
|
+
};
|
|
1649
1586
|
}
|
|
1650
1587
|
/**
|
|
1651
|
-
* @tsplus
|
|
1588
|
+
* @tsplus pipeable fncts.io.Stream provideLayer
|
|
1652
1589
|
*/
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1590
|
+
function provideLayer_1(layer, __tsplusTrace) {
|
|
1591
|
+
return self => {
|
|
1592
|
+
return new Stream(tsplus_module_10.unwrapScoped(() => tsplus_module_1.map(r => tsplus_module_10.provideEnvironment(() => r)(self.channel), __tsplusTrace)(tsplus_module_60.build(layer, __tsplusTrace))));
|
|
1593
|
+
};
|
|
1657
1594
|
}
|
|
1658
1595
|
/**
|
|
1659
|
-
* @tsplus
|
|
1596
|
+
* @tsplus pipeable fncts.io.Stream provideSomeLayer
|
|
1660
1597
|
*/
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1598
|
+
export function provideSomeLayer(layer, __tsplusTrace) {
|
|
1599
|
+
return self => {
|
|
1600
|
+
// @ts-expect-error
|
|
1601
|
+
return provideLayer_1(tsplus_module_61.and(layer, __tsplusTrace)(tsplus_module_61.environment(__tsplusTrace)), __tsplusTrace)(self);
|
|
1602
|
+
};
|
|
1666
1603
|
}
|
|
1667
|
-
|
|
1668
1604
|
class Rechunker {
|
|
1669
1605
|
constructor(n) {
|
|
1670
1606
|
this.n = n;
|
|
1671
1607
|
this.builder = [];
|
|
1672
1608
|
this.pos = 0;
|
|
1673
1609
|
}
|
|
1674
|
-
|
|
1675
1610
|
write(elem) {
|
|
1676
1611
|
this.builder.push(elem);
|
|
1677
1612
|
this.pos += 1;
|
|
1678
|
-
|
|
1679
1613
|
if (this.pos === this.n) {
|
|
1680
1614
|
const result = this.builder;
|
|
1681
1615
|
this.builder = [];
|
|
1682
1616
|
this.pos = 0;
|
|
1683
1617
|
return tsplus_module_19.from(result);
|
|
1684
1618
|
}
|
|
1685
|
-
|
|
1686
1619
|
return null;
|
|
1687
1620
|
}
|
|
1688
|
-
|
|
1689
1621
|
emitOfNotEmpty() {
|
|
1690
1622
|
if (this.pos !== 0) {
|
|
1691
1623
|
return tsplus_module_10.writeNow(tsplus_module_19.from(this.builder));
|
|
@@ -1693,58 +1625,51 @@ class Rechunker {
|
|
|
1693
1625
|
return tsplus_module_10.unit;
|
|
1694
1626
|
}
|
|
1695
1627
|
}
|
|
1696
|
-
|
|
1697
1628
|
get isEmpty() {
|
|
1698
1629
|
return this.pos === 0;
|
|
1699
1630
|
}
|
|
1700
|
-
|
|
1701
1631
|
}
|
|
1702
|
-
|
|
1703
1632
|
function rechunkProcess(rechunker, target, __tsplusTrace) {
|
|
1704
1633
|
return tsplus_module_10.readWithCause(chunk => {
|
|
1705
1634
|
if (chunk.length === target && rechunker.isEmpty) {
|
|
1706
|
-
return tsplus_module_11.
|
|
1635
|
+
return tsplus_module_11.zipRight(rechunkProcess(rechunker, target, __tsplusTrace))(tsplus_module_10.writeNow(chunk));
|
|
1707
1636
|
} else if (chunk.length > 0) {
|
|
1708
1637
|
const chunks = [];
|
|
1709
1638
|
let result = null;
|
|
1710
1639
|
let i = 0;
|
|
1711
|
-
|
|
1712
1640
|
while (i < chunk.length) {
|
|
1713
1641
|
while (i < chunk.length && result === null) {
|
|
1714
|
-
result = rechunker.write(tsplus_module_12.
|
|
1642
|
+
result = rechunker.write(tsplus_module_12.unsafeGet(i)(chunk));
|
|
1715
1643
|
i += 1;
|
|
1716
1644
|
}
|
|
1717
|
-
|
|
1718
1645
|
if (result !== null) {
|
|
1719
1646
|
chunks.push(result);
|
|
1720
1647
|
result = null;
|
|
1721
1648
|
}
|
|
1722
1649
|
}
|
|
1723
|
-
|
|
1724
|
-
return tsplus_module_11.apSecond_(tsplus_module_10.writeAll(chunks), rechunkProcess(rechunker, target, __tsplusTrace));
|
|
1650
|
+
return tsplus_module_11.zipRight(rechunkProcess(rechunker, target, __tsplusTrace))(tsplus_module_10.writeAll(chunks));
|
|
1725
1651
|
} else {
|
|
1726
1652
|
return rechunkProcess(rechunker, target, __tsplusTrace);
|
|
1727
1653
|
}
|
|
1728
|
-
}, cause => tsplus_module_11.
|
|
1654
|
+
}, cause => tsplus_module_11.zipRight(tsplus_module_11.failCauseNow(cause))(rechunker.emitOfNotEmpty()), () => rechunker.emitOfNotEmpty());
|
|
1729
1655
|
}
|
|
1730
1656
|
/**
|
|
1731
1657
|
* Re-chunks the elements of the stream into chunks of
|
|
1732
1658
|
* `n` elements each.
|
|
1733
1659
|
* The last chunk might contain less than `n` elements
|
|
1734
1660
|
*
|
|
1735
|
-
* @tsplus
|
|
1661
|
+
* @tsplus pipeable fncts.io.Stream rechunk
|
|
1736
1662
|
*/
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1663
|
+
export function rechunk(n, __tsplusTrace) {
|
|
1664
|
+
return stream => {
|
|
1665
|
+
return new Stream(tsplus_module_10.pipeTo(rechunkProcess(new Rechunker(n), n, __tsplusTrace))(stream.channel));
|
|
1666
|
+
};
|
|
1741
1667
|
}
|
|
1742
1668
|
/**
|
|
1743
1669
|
* Repeats the provided value infinitely.
|
|
1744
1670
|
*
|
|
1745
1671
|
* @tsplus static fncts.io.StreamOps repeatValue
|
|
1746
1672
|
*/
|
|
1747
|
-
|
|
1748
1673
|
export function repeatValue(a, __tsplusTrace) {
|
|
1749
1674
|
return new Stream(tsplus_module_10.repeated(tsplus_module_10.writeNow(tsplus_module_19.single(a))));
|
|
1750
1675
|
}
|
|
@@ -1753,168 +1678,161 @@ export function repeatValue(a, __tsplusTrace) {
|
|
|
1753
1678
|
*
|
|
1754
1679
|
* @tsplus static fncts.io.StreamOps repeatIO
|
|
1755
1680
|
*/
|
|
1756
|
-
|
|
1757
1681
|
export function repeatIO(fa, __tsplusTrace) {
|
|
1758
|
-
return repeatIOMaybe_1(tsplus_module_1.
|
|
1682
|
+
return repeatIOMaybe_1(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(fa), __tsplusTrace);
|
|
1759
1683
|
}
|
|
1760
1684
|
/**
|
|
1761
1685
|
* Creates a stream from an effect producing values of type `A` until it fails with None.
|
|
1762
1686
|
*
|
|
1763
1687
|
* @tsplus static fncts.io.StreamOps repeatIOMaybe
|
|
1764
1688
|
*/
|
|
1765
|
-
|
|
1766
1689
|
function repeatIOMaybe_1(fa, __tsplusTrace) {
|
|
1767
|
-
return repeatIOChunkMaybe_1(tsplus_module_1.
|
|
1690
|
+
return repeatIOChunkMaybe_1(tsplus_module_1.map(tsplus_module_19.single, __tsplusTrace)(fa), __tsplusTrace);
|
|
1768
1691
|
}
|
|
1769
1692
|
/**
|
|
1770
1693
|
* Creates a stream from an effect producing chunks of `A` values which repeats forever.
|
|
1771
1694
|
*
|
|
1772
1695
|
* @tsplus static fncts.io.StreamOps repeatIOChunk
|
|
1773
1696
|
*/
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
1697
|
export function repeatIOChunk(fa, __tsplusTrace) {
|
|
1777
|
-
return repeatIOChunkMaybe_1(tsplus_module_1.
|
|
1698
|
+
return repeatIOChunkMaybe_1(tsplus_module_1.mapError(tsplus_module_3.just, __tsplusTrace)(fa), __tsplusTrace);
|
|
1778
1699
|
}
|
|
1779
1700
|
/**
|
|
1780
1701
|
* Creates a stream from an effect producing chunks of `A` values until it fails with None.
|
|
1781
1702
|
*
|
|
1782
1703
|
* @tsplus static fncts.io.StreamOps repeatIOChunkMaybe
|
|
1783
1704
|
*/
|
|
1784
|
-
|
|
1785
1705
|
function repeatIOChunkMaybe_1(fa, __tsplusTrace) {
|
|
1786
|
-
return unfoldChunkIO_1(undefined, _ => tsplus_module_1.
|
|
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);
|
|
1787
1707
|
}
|
|
1788
1708
|
/**
|
|
1789
1709
|
* Runs the sink on the stream to produce either the sink's result or an error.
|
|
1790
1710
|
*
|
|
1791
|
-
* @tsplus
|
|
1711
|
+
* @tsplus pipeable fncts.io.Stream run
|
|
1792
1712
|
*/
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1713
|
+
function run_1(sink, __tsplusTrace) {
|
|
1714
|
+
return stream => {
|
|
1715
|
+
return tsplus_module_62.runDrain(tsplus_module_10.pipeToOrFail(sink.channel)(stream.channel));
|
|
1716
|
+
};
|
|
1797
1717
|
}
|
|
1798
1718
|
/**
|
|
1799
1719
|
* Runs the stream and collects all of its elements to a chunk.
|
|
1800
1720
|
*
|
|
1801
1721
|
* @tsplus getter fncts.io.Stream runCollect
|
|
1802
1722
|
*/
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
1723
|
export function runCollect(stream, __tsplusTrace) {
|
|
1806
|
-
return run_1(
|
|
1724
|
+
return run_1(tsplus_module_47.makeCollectAll(__tsplusTrace), __tsplusTrace)(stream);
|
|
1807
1725
|
}
|
|
1808
1726
|
/**
|
|
1809
1727
|
* Runs the stream and collects ignore its elements.
|
|
1810
1728
|
*
|
|
1811
1729
|
* @tsplus getter fncts.io.Stream runDrain
|
|
1812
1730
|
*/
|
|
1813
|
-
|
|
1814
1731
|
export function runDrain(stream, __tsplusTrace) {
|
|
1815
|
-
return run_1(
|
|
1732
|
+
return run_1(tsplus_module_47.drain, __tsplusTrace)(stream);
|
|
1816
1733
|
}
|
|
1817
1734
|
/**
|
|
1818
|
-
* @tsplus
|
|
1735
|
+
* @tsplus pipeable fncts.io.Stream runForeachScoped
|
|
1819
1736
|
*/
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1737
|
+
function runForeachScoped_1(f, __tsplusTrace) {
|
|
1738
|
+
return self => {
|
|
1739
|
+
return runScoped_1(tsplus_module_47.makeForeach(f, __tsplusTrace), __tsplusTrace)(self);
|
|
1740
|
+
};
|
|
1823
1741
|
}
|
|
1824
1742
|
/**
|
|
1825
1743
|
* Like `into`, but provides the result as a `Managed` to allow for scope
|
|
1826
1744
|
* composition.
|
|
1827
1745
|
*
|
|
1828
|
-
* @tsplus
|
|
1746
|
+
* @tsplus pipeable fncts.io.Stream runIntoElementsScoped
|
|
1829
1747
|
*/
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1748
|
+
function runIntoElementsScoped_1(queue, __tsplusTrace) {
|
|
1749
|
+
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_40.succeed(a)))(channel))(inp)), err => tsplus_module_10.writeNow(tsplus_module_40.fail(tsplus_module_3.just(err))), () => tsplus_module_10.writeNow(tsplus_module_40.fail(tsplus_module_3.nothing())));
|
|
1751
|
+
return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO(exit => tsplus_module_27.offer(exit, __tsplusTrace)(queue))(tsplus_module_10.pipeTo(writer)(stream.channel)))), __tsplusTrace);
|
|
1752
|
+
};
|
|
1835
1753
|
}
|
|
1836
1754
|
/**
|
|
1837
1755
|
* Like `Stream#into`, but provides the result as a `Managed` to allow for scope
|
|
1838
1756
|
* composition.
|
|
1839
1757
|
*
|
|
1840
|
-
* @tsplus
|
|
1758
|
+
* @tsplus pipeable fncts.io.Stream runIntoQueueScoped
|
|
1841
1759
|
*/
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1760
|
+
function runIntoQueueScoped_1(queue, __tsplusTrace) {
|
|
1761
|
+
return stream => {
|
|
1762
|
+
const writer = tsplus_module_10.readWithCause(inp => tsplus_module_11.zipRight(writer)(tsplus_module_10.writeNow(tsplus_module_26.chunk(inp))), cause => tsplus_module_10.writeNow(tsplus_module_26.failCause(cause)), _ => tsplus_module_10.writeNow(tsplus_module_26.end));
|
|
1763
|
+
return tsplus_module_1.asUnit(tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.mapOutIO(take => tsplus_module_27.offer(take, __tsplusTrace)(queue))(tsplus_module_10.pipeTo(writer)(stream.channel)))), __tsplusTrace);
|
|
1764
|
+
};
|
|
1847
1765
|
}
|
|
1848
1766
|
/**
|
|
1849
1767
|
* Like `Stream#runIntoHub`, but provides the result as a `Managed` to allow for scope
|
|
1850
1768
|
* composition.
|
|
1851
1769
|
*
|
|
1852
|
-
* @tsplus
|
|
1770
|
+
* @tsplus pipeable fncts.io.Stream runIntoHubScoped
|
|
1853
1771
|
*/
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1772
|
+
function runIntoHubScoped_1(hub, __tsplusTrace) {
|
|
1773
|
+
return stream => {
|
|
1774
|
+
return runIntoQueueScoped_1(hub, __tsplusTrace)(stream);
|
|
1775
|
+
};
|
|
1858
1776
|
}
|
|
1859
1777
|
/**
|
|
1860
1778
|
* Runs the sink on the stream to produce either the sink's result or an error.
|
|
1861
1779
|
*
|
|
1862
|
-
* @tsplus
|
|
1780
|
+
* @tsplus pipeable fncts.io.Stream runScoped
|
|
1863
1781
|
*/
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1782
|
+
function runScoped_1(sink, __tsplusTrace) {
|
|
1783
|
+
return stream => {
|
|
1784
|
+
return tsplus_module_16.runScoped(tsplus_module_10.drain(tsplus_module_10.pipeToOrFail(sink.channel)(stream.channel)));
|
|
1785
|
+
};
|
|
1868
1786
|
}
|
|
1869
1787
|
/**
|
|
1870
1788
|
* Statefully maps over the elements of this stream to produce all intermediate results
|
|
1871
1789
|
* of type `B` given an initial B.
|
|
1872
1790
|
*
|
|
1873
|
-
* @tsplus
|
|
1791
|
+
* @tsplus pipeable fncts.io.Stream scan
|
|
1874
1792
|
*/
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1793
|
+
export function scan(b, f, __tsplusTrace) {
|
|
1794
|
+
return sa => {
|
|
1795
|
+
return scanIO_1(b, (b, a) => tsplus_module_1.succeedNow(f(b, a), __tsplusTrace), __tsplusTrace)(sa);
|
|
1796
|
+
};
|
|
1879
1797
|
}
|
|
1880
1798
|
/**
|
|
1881
1799
|
* Statefully and effectfully maps over the elements of this stream to produce all
|
|
1882
1800
|
* intermediate results of type `B` given an initial B.
|
|
1883
1801
|
*
|
|
1884
|
-
* @tsplus
|
|
1802
|
+
* @tsplus pipeable fncts.io.Stream scanIO
|
|
1885
1803
|
*/
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1804
|
+
function scanIO_1(b, f, __tsplusTrace) {
|
|
1805
|
+
return sa => {
|
|
1806
|
+
return concat_1(mapAccumIO_1(b, (b, a) => tsplus_module_1.map(b => [b, b], __tsplusTrace)(f(b, a)), __tsplusTrace)(sa), __tsplusTrace)(succeedNow_1(b, __tsplusTrace));
|
|
1807
|
+
};
|
|
1889
1808
|
}
|
|
1890
1809
|
/**
|
|
1891
1810
|
* Statefully maps over the elements of this stream to produce all
|
|
1892
1811
|
* intermediate results.
|
|
1893
1812
|
*
|
|
1894
|
-
* @tsplus
|
|
1813
|
+
* @tsplus pipeable fncts.io.Stream scanReduce
|
|
1895
1814
|
*/
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1815
|
+
export function scanReduce(f, __tsplusTrace) {
|
|
1816
|
+
return fa => {
|
|
1817
|
+
return scanReduceIO_1((b, a) => tsplus_module_1.succeedNow(f(b, a), __tsplusTrace), __tsplusTrace)(fa);
|
|
1818
|
+
};
|
|
1900
1819
|
}
|
|
1901
1820
|
/**
|
|
1902
1821
|
* Statefully and effectfully maps over the elements of this stream to produce
|
|
1903
1822
|
* all intermediate results.
|
|
1904
1823
|
*
|
|
1905
|
-
* @tsplus
|
|
1824
|
+
* @tsplus pipeable fncts.io.Stream scanReduceIO
|
|
1906
1825
|
*/
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1826
|
+
function scanReduceIO_1(f, __tsplusTrace) {
|
|
1827
|
+
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);
|
|
1829
|
+
};
|
|
1910
1830
|
}
|
|
1911
1831
|
/**
|
|
1912
1832
|
* Creates a single-valued pure stream
|
|
1913
1833
|
*
|
|
1914
1834
|
* @tsplus static fncts.io.StreamOps succeedNow
|
|
1915
1835
|
*/
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
1836
|
function succeedNow_1(o, __tsplusTrace) {
|
|
1919
1837
|
return fromChunkNow_1(tsplus_module_19.single(o), __tsplusTrace);
|
|
1920
1838
|
}
|
|
@@ -1923,19 +1841,15 @@ function succeedNow_1(o, __tsplusTrace) {
|
|
|
1923
1841
|
*
|
|
1924
1842
|
* @tsplus static fncts.io.StreamOps succeed
|
|
1925
1843
|
*/
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
1844
|
export function succeed(a, __tsplusTrace) {
|
|
1929
1845
|
return fromChunk_1(() => tsplus_module_19.single(a()), __tsplusTrace);
|
|
1930
1846
|
}
|
|
1931
|
-
|
|
1932
1847
|
function takeLoop(n, __tsplusTrace) {
|
|
1933
1848
|
return tsplus_module_10.readWithCause(inp => {
|
|
1934
|
-
const taken = tsplus_module_12.
|
|
1849
|
+
const taken = tsplus_module_12.take(n)(inp);
|
|
1935
1850
|
const left = Math.max(n - taken.length, 0);
|
|
1936
|
-
|
|
1937
1851
|
if (left > 0) {
|
|
1938
|
-
return tsplus_module_11.
|
|
1852
|
+
return tsplus_module_11.zipRight(takeLoop(left, __tsplusTrace))(tsplus_module_10.writeNow(taken));
|
|
1939
1853
|
} else {
|
|
1940
1854
|
return tsplus_module_10.writeNow(taken);
|
|
1941
1855
|
}
|
|
@@ -1944,48 +1858,43 @@ function takeLoop(n, __tsplusTrace) {
|
|
|
1944
1858
|
/**
|
|
1945
1859
|
* Takes the specified number of elements from this stream.
|
|
1946
1860
|
*
|
|
1947
|
-
* @tsplus
|
|
1861
|
+
* @tsplus pipeable fncts.io.Stream take
|
|
1948
1862
|
*/
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
return
|
|
1958
|
-
}
|
|
1959
|
-
|
|
1960
|
-
return new Stream(tsplus_module_10.pipeTo_(stream.channel, takeLoop(n, __tsplusTrace)));
|
|
1863
|
+
export function take(n, __tsplusTrace) {
|
|
1864
|
+
return stream => {
|
|
1865
|
+
if (n <= 0) {
|
|
1866
|
+
return empty_1;
|
|
1867
|
+
}
|
|
1868
|
+
if (!Number.isInteger(n)) {
|
|
1869
|
+
return halt_1(() => new tsplus_module_63.IllegalArgumentError(`${n} should be an integer`, "Stream.take"), __tsplusTrace);
|
|
1870
|
+
}
|
|
1871
|
+
return new Stream(tsplus_module_10.pipeTo(takeLoop(n, __tsplusTrace))(stream.channel));
|
|
1872
|
+
};
|
|
1961
1873
|
}
|
|
1962
1874
|
/**
|
|
1963
|
-
* @tsplus
|
|
1875
|
+
* @tsplus pipeable fncts.io.Stream takeUntilIO
|
|
1964
1876
|
*/
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1877
|
+
export function takeUntilIO(f, __tsplusTrace) {
|
|
1878
|
+
return ma => {
|
|
1879
|
+
return new Stream(tsplus_module_10.pipeTo(takeUntilIOLoop(tsplus_module_39.empty()[Symbol.iterator](), f, __tsplusTrace))(ma.channel));
|
|
1880
|
+
};
|
|
1968
1881
|
}
|
|
1969
|
-
|
|
1970
1882
|
function takeUntilIOLoop(iterator, f, __tsplusTrace) {
|
|
1971
1883
|
const next = iterator.next();
|
|
1972
|
-
|
|
1973
1884
|
if (next.done) {
|
|
1974
1885
|
return tsplus_module_10.readWithCause(elem => takeUntilIOLoop(elem[Symbol.iterator](), f, __tsplusTrace), tsplus_module_11.failCauseNow, tsplus_module_11.succeedNow);
|
|
1975
1886
|
} else {
|
|
1976
|
-
return tsplus_module_10.unwrap(() => tsplus_module_1.
|
|
1887
|
+
return tsplus_module_10.unwrap(() => tsplus_module_1.map(b => b ? tsplus_module_10.writeNow(tsplus_module_19.single(next.value)) : tsplus_module_11.zipRight(takeUntilIOLoop(iterator, f, __tsplusTrace))(tsplus_module_10.writeNow(tsplus_module_19.single(next.value))), __tsplusTrace)(f(next.value)));
|
|
1977
1888
|
}
|
|
1978
1889
|
}
|
|
1979
|
-
|
|
1980
1890
|
function takeUntilLoop(p, __tsplusTrace) {
|
|
1981
1891
|
return tsplus_module_10.readWith(chunk => {
|
|
1982
|
-
const taken = tsplus_module_12.
|
|
1983
|
-
const last = tsplus_module_12.
|
|
1984
|
-
|
|
1892
|
+
const taken = tsplus_module_12.takeWhile(tsplus_module_48.invert(p))(chunk);
|
|
1893
|
+
const last = tsplus_module_12.take(1)(tsplus_module_12.drop(taken.length)(chunk));
|
|
1985
1894
|
if (tsplus_module_12.isEmpty(last)) {
|
|
1986
|
-
return tsplus_module_11.
|
|
1895
|
+
return tsplus_module_11.zipRight(takeUntilLoop(p, __tsplusTrace))(tsplus_module_10.writeNow(taken));
|
|
1987
1896
|
} else {
|
|
1988
|
-
return tsplus_module_10.writeNow(tsplus_module_12.
|
|
1897
|
+
return tsplus_module_10.writeNow(tsplus_module_12.concat(last)(taken));
|
|
1989
1898
|
}
|
|
1990
1899
|
}, tsplus_module_10.failNow, tsplus_module_11.succeedNow);
|
|
1991
1900
|
}
|
|
@@ -1993,19 +1902,20 @@ function takeUntilLoop(p, __tsplusTrace) {
|
|
|
1993
1902
|
* Takes all elements of the stream until the specified predicate evaluates
|
|
1994
1903
|
* to `true`.
|
|
1995
1904
|
*
|
|
1996
|
-
* @tsplus
|
|
1905
|
+
* @tsplus pipeable fncts.io.Stream takeUntil
|
|
1997
1906
|
*/
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
1907
|
+
export function takeUntil(p, __tsplusTrace) {
|
|
1908
|
+
return fa => {
|
|
1909
|
+
return new Stream(tsplus_module_10.pipeTo(takeUntilLoop(p, __tsplusTrace))(fa.channel));
|
|
1910
|
+
};
|
|
2002
1911
|
}
|
|
2003
1912
|
/**
|
|
2004
|
-
* @tsplus
|
|
1913
|
+
* @tsplus pipeable fncts.io.Stream tap
|
|
2005
1914
|
*/
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
1915
|
+
export function tap(f, __tsplusTrace) {
|
|
1916
|
+
return ma => {
|
|
1917
|
+
return mapIO_1(a => tsplus_module_1.as(() => a, __tsplusTrace)(f(a)), __tsplusTrace)(ma);
|
|
1918
|
+
};
|
|
2009
1919
|
}
|
|
2010
1920
|
/**
|
|
2011
1921
|
* Throttles the chunks of this stream according to the given bandwidth parameters using the token bucket
|
|
@@ -2013,26 +1923,24 @@ export function tap_(ma, f, __tsplusTrace) {
|
|
|
2013
1923
|
* tokens up to a `units + burst` threshold. Chunks that do not meet the bandwidth constraints are dropped.
|
|
2014
1924
|
* The weight of each chunk is determined by the `costFn` function.
|
|
2015
1925
|
*
|
|
2016
|
-
* @tsplus
|
|
1926
|
+
* @tsplus pipeable fncts.io.Stream throttleEnforce
|
|
2017
1927
|
*/
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
1928
|
+
export function throttleEnforce(costFn, units, duration, burst = 0, __tsplusTrace) {
|
|
1929
|
+
return sa => {
|
|
1930
|
+
return throttleEnforceIO_1(chunk => tsplus_module_1.succeedNow(costFn(chunk), __tsplusTrace), units, duration, burst, __tsplusTrace)(sa);
|
|
1931
|
+
};
|
|
2021
1932
|
}
|
|
2022
|
-
|
|
2023
1933
|
function throttleEnforceIOLoop(costFn, units, duration, burst, tokens, timestamp, __tsplusTrace) {
|
|
2024
|
-
return tsplus_module_10.readWith(inp => tsplus_module_10.unwrap(() => tsplus_module_1.
|
|
1934
|
+
return tsplus_module_10.readWith(inp => tsplus_module_10.unwrap(() => tsplus_module_1.zipWith(tsplus_module_42.currentTime, (weight, current) => {
|
|
2025
1935
|
const elapsed = current - timestamp;
|
|
2026
1936
|
const cycles = elapsed / duration;
|
|
2027
|
-
|
|
2028
1937
|
const available = (() => {
|
|
2029
1938
|
const sum = tokens + cycles * units;
|
|
2030
1939
|
const max = units + burst < 0 ? Number.MAX_SAFE_INTEGER : units + burst;
|
|
2031
1940
|
return sum < 0 ? max : Math.min(sum, max);
|
|
2032
1941
|
})();
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
}, __tsplusTrace)), tsplus_module_10.failNow, () => tsplus_module_10.unit);
|
|
1942
|
+
return weight <= available ? tsplus_module_11.zipRight(throttleEnforceIOLoop(costFn, units, duration, burst, available - weight, current, __tsplusTrace))(tsplus_module_10.writeNow(inp)) : throttleEnforceIOLoop(costFn, units, duration, burst, available - weight, current, __tsplusTrace);
|
|
1943
|
+
}, __tsplusTrace)(costFn(inp))), tsplus_module_10.failNow, () => tsplus_module_10.unit);
|
|
2036
1944
|
}
|
|
2037
1945
|
/**
|
|
2038
1946
|
* Throttles the chunks of this stream according to the given bandwidth parameters using the token bucket
|
|
@@ -2040,67 +1948,66 @@ function throttleEnforceIOLoop(costFn, units, duration, burst, tokens, timestamp
|
|
|
2040
1948
|
* tokens up to a `units + burst` threshold. Chunks that do not meet the bandwidth constraints are dropped.
|
|
2041
1949
|
* The weight of each chunk is determined by the `costFn` effectful function.
|
|
2042
1950
|
*
|
|
2043
|
-
* @tsplus
|
|
1951
|
+
* @tsplus pipeable fncts.io.Stream throttleEnforceIO
|
|
2044
1952
|
*/
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
1953
|
+
function throttleEnforceIO_1(costFn, units, duration, burst = 0, __tsplusTrace) {
|
|
1954
|
+
return sa => {
|
|
1955
|
+
return new Stream(tsplus_module_11.flatMap(current => tsplus_module_10.pipeTo(throttleEnforceIOLoop(costFn, units, duration, burst, units, current, __tsplusTrace))(sa.channel))(tsplus_module_10.fromIO(() => tsplus_module_42.currentTime)));
|
|
1956
|
+
};
|
|
2049
1957
|
}
|
|
2050
1958
|
/**
|
|
2051
1959
|
* Converts the stream to a managed hub of chunks. After the managed hub is used,
|
|
2052
1960
|
* the hub will never again produce values and should be discarded.
|
|
2053
1961
|
*
|
|
2054
|
-
* @tsplus
|
|
1962
|
+
* @tsplus pipeable fncts.io.Stream toHub
|
|
2055
1963
|
*/
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
1964
|
+
function toHub_1(capacity, __tsplusTrace) {
|
|
1965
|
+
return stream => {
|
|
1966
|
+
return tsplus_module_1.flatMap(hub => tsplus_module_1.map(() => hub, __tsplusTrace)(tsplus_module_32.fork(runIntoHubScoped_1(hub, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_30.acquireRelease(() => tsplus_module_33.makeBounded(capacity, __tsplusTrace), _ => tsplus_module_33.shutdown(_, __tsplusTrace), __tsplusTrace));
|
|
1967
|
+
};
|
|
2060
1968
|
}
|
|
2061
1969
|
/**
|
|
2062
1970
|
* Interpret the stream as a managed pull
|
|
2063
1971
|
*
|
|
2064
1972
|
* @tsplus getter fncts.io.Stream toPull
|
|
2065
1973
|
*/
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
1974
|
function toPull_1(stream, __tsplusTrace) {
|
|
2069
|
-
return tsplus_module_1.
|
|
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)(tsplus_module_64.toPull(stream.channel));
|
|
2070
1976
|
}
|
|
2071
1977
|
/**
|
|
2072
1978
|
* Converts the stream to a managed queue of chunks. After the managed queue is used,
|
|
2073
1979
|
* the queue will never again produce values and should be discarded.
|
|
2074
1980
|
*
|
|
2075
|
-
* @tsplus
|
|
1981
|
+
* @tsplus pipeable fncts.io.Stream toQueue
|
|
2076
1982
|
*/
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
1983
|
+
function toQueue_1(capacity = 2, __tsplusTrace) {
|
|
1984
|
+
return stream => {
|
|
1985
|
+
return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(tsplus_module_32.fork(runIntoQueueScoped_1(queue, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeBounded(capacity, __tsplusTrace), _ => tsplus_module_27.shutdown(_, __tsplusTrace), __tsplusTrace));
|
|
1986
|
+
};
|
|
2081
1987
|
}
|
|
2082
1988
|
/**
|
|
2083
|
-
* @tsplus
|
|
1989
|
+
* @tsplus pipeable fncts.io.Stream toQueueDropping
|
|
2084
1990
|
*/
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
1991
|
+
export function toQueueDropping(capacity = 2, __tsplusTrace) {
|
|
1992
|
+
return stream => {
|
|
1993
|
+
return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(tsplus_module_32.fork(runIntoQueueScoped_1(queue, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeDropping(capacity, __tsplusTrace), _ => tsplus_module_27.shutdown(_, __tsplusTrace), __tsplusTrace));
|
|
1994
|
+
};
|
|
2089
1995
|
}
|
|
2090
1996
|
/**
|
|
2091
|
-
* @tsplus
|
|
1997
|
+
* @tsplus pipeable fncts.io.Stream toQueueOfElements
|
|
2092
1998
|
*/
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
1999
|
+
function toQueueOfElements_1(capacity = 2, __tsplusTrace) {
|
|
2000
|
+
return stream => {
|
|
2001
|
+
return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(tsplus_module_32.fork(runIntoElementsScoped_1(queue, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeBounded(capacity, __tsplusTrace), _ => tsplus_module_27.shutdown(_, __tsplusTrace), __tsplusTrace));
|
|
2002
|
+
};
|
|
2096
2003
|
}
|
|
2097
2004
|
/**
|
|
2098
|
-
* @tsplus
|
|
2005
|
+
* @tsplus pipeable fncts.io.Stream toQueueSliding
|
|
2099
2006
|
*/
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2007
|
+
export function toQueueSliding(capacity = 2, __tsplusTrace) {
|
|
2008
|
+
return stream => {
|
|
2009
|
+
return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(tsplus_module_32.fork(runIntoQueueScoped_1(queue, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeSliding(capacity, __tsplusTrace), _ => tsplus_module_27.shutdown(_, __tsplusTrace), __tsplusTrace));
|
|
2010
|
+
};
|
|
2104
2011
|
}
|
|
2105
2012
|
/**
|
|
2106
2013
|
* Converts the stream into an unbounded managed queue. After the managed queue
|
|
@@ -2108,21 +2015,17 @@ export function toQueueSliding_(stream, capacity = 2, __tsplusTrace) {
|
|
|
2108
2015
|
*
|
|
2109
2016
|
* @tsplus getter fncts.io.Stream toQueueUnbounded
|
|
2110
2017
|
*/
|
|
2111
|
-
|
|
2112
2018
|
function toQueueUnbounded_1(stream, __tsplusTrace) {
|
|
2113
|
-
return tsplus_module_1.
|
|
2019
|
+
return tsplus_module_1.flatMap(queue => tsplus_module_1.map(() => queue, __tsplusTrace)(tsplus_module_32.fork(runIntoQueueScoped_1(queue, __tsplusTrace)(stream), __tsplusTrace)), __tsplusTrace)(tsplus_module_30.acquireRelease(() => tsplus_module_29.makeUnbounded(__tsplusTrace), _ => tsplus_module_27.shutdown(_, __tsplusTrace), __tsplusTrace));
|
|
2114
2020
|
}
|
|
2115
|
-
|
|
2116
2021
|
function unfoldChunkIOLoop(s, f, __tsplusTrace) {
|
|
2117
|
-
return tsplus_module_10.unwrap(() => tsplus_module_1.
|
|
2022
|
+
return tsplus_module_10.unwrap(() => tsplus_module_1.map(m => tsplus_module_20.match(() => tsplus_module_10.unit, ([as, s]) => tsplus_module_11.flatMap(() => unfoldChunkIOLoop(s, f, __tsplusTrace))(tsplus_module_10.writeNow(as)))(m), __tsplusTrace)(f(s)));
|
|
2118
2023
|
}
|
|
2119
2024
|
/**
|
|
2120
2025
|
* Creates a stream by effectfully peeling off the "layers" of a value of type `S`
|
|
2121
2026
|
*
|
|
2122
2027
|
* @tsplus static fncts.io.StreamOps unfoldChunkIO
|
|
2123
2028
|
*/
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
2029
|
function unfoldChunkIO_1(s, f, __tsplusTrace) {
|
|
2127
2030
|
return new Stream(unfoldChunkIOLoop(s, f, __tsplusTrace));
|
|
2128
2031
|
}
|
|
@@ -2131,37 +2034,29 @@ function unfoldChunkIO_1(s, f, __tsplusTrace) {
|
|
|
2131
2034
|
*
|
|
2132
2035
|
* @tsplus static fncts.io.StreamOps unfoldIO
|
|
2133
2036
|
*/
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
2037
|
function unfoldIO_1(s, f, __tsplusTrace) {
|
|
2137
|
-
return unfoldChunkIO_1(s, _ => tsplus_module_1.
|
|
2038
|
+
return unfoldChunkIO_1(s, _ => tsplus_module_1.map(m => tsplus_module_38.map(([a, s]) => tuple(tsplus_module_19.single(a), s))(m), __tsplusTrace)(f(_)), __tsplusTrace);
|
|
2138
2039
|
}
|
|
2139
|
-
|
|
2140
2040
|
function unfoldChunkLoop(s, f, __tsplusTrace) {
|
|
2141
|
-
return tsplus_module_20.
|
|
2041
|
+
return tsplus_module_20.match(() => tsplus_module_10.unit, ([as, s]) => tsplus_module_11.flatMap(() => unfoldChunkLoop(s, f, __tsplusTrace))(tsplus_module_10.writeNow(as)))(f(s));
|
|
2142
2042
|
}
|
|
2143
2043
|
/**
|
|
2144
2044
|
* @tsplus static fncts.io.StreamOps unfoldChunk
|
|
2145
2045
|
*/
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
2046
|
function unfoldChunk_1(s, f, __tsplusTrace) {
|
|
2149
2047
|
return new Stream(tsplus_module_10.defer(() => unfoldChunkLoop(s, f, __tsplusTrace)));
|
|
2150
2048
|
}
|
|
2151
2049
|
/**
|
|
2152
2050
|
* @tsplus static fncts.io.StreamOps unfold
|
|
2153
2051
|
*/
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
2052
|
export function unfold(s, f, __tsplusTrace) {
|
|
2157
|
-
return unfoldChunk_1(s, s =>
|
|
2053
|
+
return unfoldChunk_1(s, s => tsplus_module_38.map(([a, s]) => tuple(tsplus_module_19.single(a), s))(f(s)), __tsplusTrace);
|
|
2158
2054
|
}
|
|
2159
2055
|
/**
|
|
2160
2056
|
* Creates a stream produced from an IO
|
|
2161
2057
|
*
|
|
2162
2058
|
* @tsplus static fncts.io.StreamOps unwrap
|
|
2163
2059
|
*/
|
|
2164
|
-
|
|
2165
2060
|
function unwrap_1(stream, __tsplusTrace) {
|
|
2166
2061
|
return flatten_1(fromIO_1(stream, __tsplusTrace), __tsplusTrace);
|
|
2167
2062
|
}
|
|
@@ -2170,18 +2065,14 @@ function unwrap_1(stream, __tsplusTrace) {
|
|
|
2170
2065
|
*
|
|
2171
2066
|
* @tsplus static fncts.io.StreamOps unwrapScoped
|
|
2172
2067
|
*/
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
2068
|
function unwrapScoped_1(stream, __tsplusTrace) {
|
|
2176
|
-
return flatten_1(scoped_1(stream, __tsplusTrace), __tsplusTrace);
|
|
2069
|
+
return flatten_1(scoped_1(() => stream, __tsplusTrace), __tsplusTrace);
|
|
2177
2070
|
}
|
|
2178
2071
|
/**
|
|
2179
2072
|
* @tsplus getter fncts.io.Stream zipWithIndex
|
|
2180
2073
|
*/
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
2074
|
export function zipWithIndex_(self, __tsplusTrace) {
|
|
2184
|
-
return mapAccum_1(
|
|
2075
|
+
return mapAccum_1(0, (index, a) => [index + 1, [a, index]], __tsplusTrace)(self);
|
|
2185
2076
|
}
|
|
2186
2077
|
/**
|
|
2187
2078
|
* Zips the two streams so that when a value is emitted by either of the two
|
|
@@ -2192,14 +2083,14 @@ export function zipWithIndex_(self, __tsplusTrace) {
|
|
|
2192
2083
|
* that emitted elements that are not the last value in chunks will never be
|
|
2193
2084
|
* used for zipping.
|
|
2194
2085
|
*
|
|
2195
|
-
* @tsplus
|
|
2086
|
+
* @tsplus pipeable fncts.io.Stream zipWithLatest
|
|
2196
2087
|
*/
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2088
|
+
export function zipWithLatest(fb, f, __tsplusTrace) {
|
|
2089
|
+
return fa => {
|
|
2090
|
+
function pullNonEmpty(pull, __tsplusTrace) {
|
|
2091
|
+
return tsplus_module_1.flatMap(chunk => tsplus_module_12.isNonEmpty(chunk) ? pullNonEmpty(pull, __tsplusTrace) : tsplus_module_1.succeedNow(chunk, __tsplusTrace), __tsplusTrace)(pull);
|
|
2092
|
+
}
|
|
2093
|
+
return fromPull_1(tsplus_module_1.flatMap(left => tsplus_module_1.flatMap(right => toPull_1(flatMap_1(([l, r, leftFirst]) => flatMap_1(latest => concat_1(flatMap_1(fromChunkNow_1, __tsplusTrace)(mapIO_1(ab => tsplus_module_4.match(leftChunk => tsplus_module_15.modify(([_, rightLatest]) => tuple(tsplus_module_12.map(a => f(a, rightLatest))(leftChunk), tuple(tsplus_module_12.unsafeGet(leftChunk.length - 1)(leftChunk), rightLatest)), __tsplusTrace)(latest), rightChunk => tsplus_module_15.modify(([leftLatest, _]) => tuple(tsplus_module_12.map(b => f(leftLatest, b))(rightChunk), tuple(leftLatest, tsplus_module_12.unsafeGet(rightChunk.length - 1)(rightChunk))), __tsplusTrace)(latest))(ab), __tsplusTrace)(mergeEither_1(repeatIOMaybe_1(right, __tsplusTrace), __tsplusTrace)(repeatIOMaybe_1(left, __tsplusTrace)))), __tsplusTrace)(fromChunk_1(() => leftFirst ? tsplus_module_12.map(b => f(tsplus_module_12.unsafeGet(l.length - 1)(l), b))(r) : tsplus_module_12.map(a => f(a, tsplus_module_12.unsafeGet(r.length - 1)(r)))(l), __tsplusTrace)), __tsplusTrace)(fromIO_1(tsplus_module_6.make(() => tuple(tsplus_module_12.unsafeGet(l.length - 1)(l), tsplus_module_12.unsafeGet(r.length - 1)(r)), __tsplusTrace), __tsplusTrace)), __tsplusTrace)(fromIOMaybe_1(tsplus_module_24.raceWith(() => right, (leftDone, rightFiber) => tsplus_module_1.zipWith(tsplus_module_22.join(rightFiber, __tsplusTrace), (l, r) => tuple(l, r, true), __tsplusTrace)(tsplus_module_1.fromExitNow(leftDone, __tsplusTrace)), (rightDone, leftFiber) => tsplus_module_1.zipWith(tsplus_module_22.join(leftFiber, __tsplusTrace), (r, l) => tuple(l, r, false), __tsplusTrace)(tsplus_module_1.fromExitNow(rightDone, __tsplusTrace)), __tsplusTrace)(left), __tsplusTrace)), __tsplusTrace), __tsplusTrace)(tsplus_module_1.map(pullNonEmpty, __tsplusTrace)(toPull_1(fb, __tsplusTrace))), __tsplusTrace)(tsplus_module_1.map(pullNonEmpty, __tsplusTrace)(toPull_1(fa, __tsplusTrace))), __tsplusTrace);
|
|
2094
|
+
};
|
|
2204
2095
|
}
|
|
2205
2096
|
//# sourceMappingURL=api.mjs.map
|