@fncts/io 0.0.19 → 0.0.21
Sign up to get free protection for your applications and to get access to all the features.
- 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/mapOutIOC.d.ts +3 -3
- 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/zipC.d.ts +6 -6
- package/Channel/api.d.ts +64 -64
- package/Channel/core-api.d.ts +11 -11
- package/Channel/definition.d.ts +35 -21
- package/Differ/api.d.ts +24 -0
- package/Differ/definition.d.ts +15 -0
- package/Fiber/api/evalOn.d.ts +3 -3
- package/Fiber/api/evalOnIO.d.ts +3 -3
- package/Fiber/api/interruptAs.d.ts +3 -3
- package/Fiber/api/interruptAsFork.d.ts +3 -3
- 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.d.ts +1 -0
- 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/unsafe.d.ts +12 -6
- package/FiberRefs/api.d.ts +2 -2
- package/FiberRefs/join.d.ts +3 -3
- package/Future/api.d.ts +21 -21
- package/Hub/constructors.d.ts +49 -0
- package/Hub/definition.d.ts +37 -81
- package/Hub/internal.d.ts +4 -11
- package/Hub.d.ts +1 -1
- package/IO/api/acquireRelease.d.ts +1 -1
- package/IO/api/acquireReleaseExit.d.ts +1 -1
- 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 +5 -5
- package/IO/api/ensuringChildren.d.ts +3 -3
- package/IO/api/environment.d.ts +11 -15
- package/IO/api/foreachC.d.ts +2 -2
- package/IO/api/foreachExec.d.ts +1 -1
- package/IO/api/forkIn.d.ts +3 -3
- package/IO/api/fulfill.d.ts +3 -3
- package/IO/api/interrupt.d.ts +6 -6
- 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 +3 -3
- 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/withRuntimeConfig.d.ts +3 -3
- package/IO/api/zipC.d.ts +4 -4
- package/IO/api.d.ts +179 -176
- package/IO/definition.d.ts +15 -9
- package/IOEnv/services.d.ts +2 -2
- package/Layer/MemoMap.d.ts +4 -4
- 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/Queue/constructors.d.ts +2 -1
- package/Queue/definition.d.ts +91 -82
- package/Queue/internal.d.ts +7 -9
- package/Queue.d.ts +0 -2
- package/Ref/Atomic.d.ts +15 -2
- package/Ref/Synchronized.d.ts +72 -0
- package/Ref/constructors.d.ts +7 -0
- package/Ref/definition.d.ts +60 -58
- package/Ref.d.ts +1 -6
- 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 +94 -94
- package/Scope/ReleaseMap/api/releaseAll.d.ts +2 -2
- package/Scope/ReleaseMap/api.d.ts +10 -10
- package/Scope/api.d.ts +8 -8
- package/Sink/api.d.ts +68 -68
- 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 +216 -205
- package/Stream/internal/DebounceState.d.ts +3 -3
- package/Stream/internal/Handoff.d.ts +5 -5
- package/Stream/internal/Pull.d.ts +2 -2
- package/Stream/internal/SinkEndReason.d.ts +3 -3
- package/Stream/internal/Take.d.ts +8 -8
- package/SubscriptionRef.d.ts +29 -0
- package/Supervisor/api.d.ts +13 -7
- package/Supervisor/definition.d.ts +28 -0
- package/SupervisorPatch.d.ts +61 -0
- package/TFuture/api.d.ts +7 -7
- package/TReentrantLock/api.d.ts +4 -4
- package/TRef/api.d.ts +24 -24
- package/TSemaphore/api.d.ts +4 -4
- package/TSemaphore/constructors.d.ts +6 -0
- package/_cjs/Cached/api.cjs +9 -9
- package/_cjs/Cached/api.cjs.map +1 -1
- package/_cjs/Channel/ChildExecutorDecision/api.cjs +19 -17
- package/_cjs/Channel/ChildExecutorDecision/api.cjs.map +1 -1
- package/_cjs/Channel/UpstreamPullRequest/api.cjs +16 -14
- package/_cjs/Channel/UpstreamPullRequest/api.cjs.map +1 -1
- package/_cjs/Channel/api/interruptWhen.cjs +14 -10
- package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
- package/_cjs/Channel/api/mapOutIOC.cjs +25 -25
- package/_cjs/Channel/api/mapOutIOC.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAll.cjs +6 -4
- package/_cjs/Channel/api/mergeAll.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllUnboundedWith.cjs +6 -4
- package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +48 -52
- package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeMap.cjs +6 -4
- package/_cjs/Channel/api/mergeMap.cjs.map +1 -1
- package/_cjs/Channel/api/mergeWith.cjs +48 -46
- package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
- package/_cjs/Channel/api/run.cjs +1 -1
- package/_cjs/Channel/api/run.cjs.map +1 -1
- package/_cjs/Channel/api/runScoped.cjs +2 -2
- package/_cjs/Channel/api/runScoped.cjs.map +1 -1
- package/_cjs/Channel/api/toPull.cjs +3 -3
- package/_cjs/Channel/api/toPull.cjs.map +1 -1
- package/_cjs/Channel/api/zipC.cjs +20 -14
- package/_cjs/Channel/api/zipC.cjs.map +1 -1
- package/_cjs/Channel/api.cjs +264 -218
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Channel/core-api.cjs +34 -24
- package/_cjs/Channel/core-api.cjs.map +1 -1
- package/_cjs/Channel/definition.cjs +1 -1
- package/_cjs/Channel/definition.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelExecutor.cjs +83 -83
- package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +22 -24
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
- package/_cjs/Differ/api.cjs +108 -0
- package/_cjs/Differ/api.cjs.map +1 -0
- package/_cjs/Differ/definition.cjs +23 -0
- package/_cjs/Differ/definition.cjs.map +1 -0
- package/_cjs/Fiber/FiberContext.cjs +48 -48
- package/_cjs/Fiber/FiberContext.cjs.map +1 -1
- package/_cjs/Fiber/api/awaitAll.cjs +1 -1
- package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
- package/_cjs/Fiber/api/collectAll.cjs +1 -1
- package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
- package/_cjs/Fiber/api/evalOn.cjs +12 -10
- package/_cjs/Fiber/api/evalOn.cjs.map +1 -1
- package/_cjs/Fiber/api/evalOnIO.cjs +6 -4
- package/_cjs/Fiber/api/evalOnIO.cjs.map +1 -1
- package/_cjs/Fiber/api/fromIO.cjs +1 -1
- package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
- package/_cjs/Fiber/api/interrupt.cjs +1 -1
- package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptAll.cjs +2 -2
- package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptAs.cjs +6 -4
- package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptAsFork.cjs +6 -4
- package/_cjs/Fiber/api/interruptAsFork.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptFork.cjs +1 -1
- package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
- package/_cjs/Fiber/api/join.cjs +1 -1
- package/_cjs/Fiber/api/join.cjs.map +1 -1
- package/_cjs/Fiber/api/joinAll.cjs +1 -1
- package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
- package/_cjs/Fiber/api/mapFiber.cjs +6 -4
- package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
- package/_cjs/Fiber/api/mapIO.cjs +14 -10
- package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
- package/_cjs/Fiber/api/zipWith.cjs +6 -4
- package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
- package/_cjs/Fiber/definition.cjs.map +1 -1
- package/_cjs/Fiber.cjs +13 -0
- package/_cjs/Fiber.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScoped.cjs +6 -4
- package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScopedWith.cjs +5 -3
- package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
- package/_cjs/FiberRef/api.cjs +64 -47
- package/_cjs/FiberRef/api.cjs.map +1 -1
- package/_cjs/FiberRef/constructors.cjs +1 -1
- package/_cjs/FiberRef/constructors.cjs.map +1 -1
- package/_cjs/FiberRef/unsafe.cjs +35 -21
- package/_cjs/FiberRef/unsafe.cjs.map +1 -1
- package/_cjs/FiberRef.cjs.map +1 -1
- package/_cjs/FiberRefs/api.cjs +15 -13
- package/_cjs/FiberRefs/api.cjs.map +1 -1
- package/_cjs/FiberRefs/join.cjs +37 -35
- package/_cjs/FiberRefs/join.cjs.map +1 -1
- package/_cjs/FiberState/definition.cjs.map +1 -1
- package/_cjs/Future/api.cjs +97 -79
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/Future/constructors.cjs +1 -1
- package/_cjs/Future/constructors.cjs.map +1 -1
- package/_cjs/Hub/constructors.cjs +93 -0
- package/_cjs/Hub/constructors.cjs.map +1 -0
- package/_cjs/Hub/definition.cjs +104 -13
- package/_cjs/Hub/definition.cjs.map +1 -1
- package/_cjs/Hub/internal.cjs +104 -129
- package/_cjs/Hub/internal.cjs.map +1 -1
- package/_cjs/Hub.cjs +4 -4
- package/_cjs/IO/api/acquireReleaseExit.cjs +1 -1
- package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
- package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs +1 -1
- package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
- package/_cjs/IO/api/addFinalizerExit.cjs +1 -1
- package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
- package/_cjs/IO/api/asyncIO.cjs +4 -4
- package/_cjs/IO/api/asyncIO.cjs.map +1 -1
- package/_cjs/IO/api/bracket.cjs +3 -3
- package/_cjs/IO/api/bracket.cjs.map +1 -1
- package/_cjs/IO/api/bracketExit.cjs +3 -3
- package/_cjs/IO/api/bracketExit.cjs.map +1 -1
- package/_cjs/IO/api/clockWith.cjs +2 -2
- package/_cjs/IO/api/clockWith.cjs.map +1 -1
- package/_cjs/IO/api/concurrency.cjs +9 -7
- package/_cjs/IO/api/concurrency.cjs.map +1 -1
- package/_cjs/IO/api/concurrentFinalizers.cjs +1 -1
- package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
- package/_cjs/IO/api/consoleWith.cjs +2 -2
- package/_cjs/IO/api/consoleWith.cjs.map +1 -1
- package/_cjs/IO/api/core-scope.cjs +45 -41
- package/_cjs/IO/api/core-scope.cjs.map +1 -1
- package/_cjs/IO/api/ensuringChildren.cjs +5 -3
- package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
- package/_cjs/IO/api/environment.cjs +35 -35
- package/_cjs/IO/api/environment.cjs.map +1 -1
- package/_cjs/IO/api/foreachC.cjs +19 -23
- package/_cjs/IO/api/foreachC.cjs.map +1 -1
- package/_cjs/IO/api/foreachExec.cjs +3 -3
- package/_cjs/IO/api/foreachExec.cjs.map +1 -1
- package/_cjs/IO/api/forkAll.cjs +1 -1
- package/_cjs/IO/api/forkAll.cjs.map +1 -1
- package/_cjs/IO/api/forkIn.cjs +8 -6
- package/_cjs/IO/api/forkIn.cjs.map +1 -1
- package/_cjs/IO/api/forkScoped.cjs +1 -1
- package/_cjs/IO/api/forkScoped.cjs.map +1 -1
- package/_cjs/IO/api/fulfill.cjs +8 -6
- package/_cjs/IO/api/fulfill.cjs.map +1 -1
- package/_cjs/IO/api/interrupt.cjs +36 -30
- package/_cjs/IO/api/interrupt.cjs.map +1 -1
- package/_cjs/IO/api/memoize.cjs +1 -1
- package/_cjs/IO/api/memoize.cjs.map +1 -1
- package/_cjs/IO/api/onExit.cjs +6 -4
- package/_cjs/IO/api/onExit.cjs.map +1 -1
- package/_cjs/IO/api/onTermination.cjs +5 -3
- package/_cjs/IO/api/onTermination.cjs.map +1 -1
- package/_cjs/IO/api/once.cjs +3 -5
- package/_cjs/IO/api/once.cjs.map +1 -1
- package/_cjs/IO/api/provideLayer.cjs +6 -4
- package/_cjs/IO/api/provideLayer.cjs.map +1 -1
- package/_cjs/IO/api/provideSomeLayer.cjs +5 -15
- package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
- package/_cjs/IO/api/race.cjs +6 -4
- package/_cjs/IO/api/race.cjs.map +1 -1
- package/_cjs/IO/api/raceFirst.cjs +6 -4
- package/_cjs/IO/api/raceFirst.cjs.map +1 -1
- package/_cjs/IO/api/randomWith.cjs +1 -1
- package/_cjs/IO/api/randomWith.cjs.map +1 -1
- package/_cjs/IO/api/repeat.cjs +12 -12
- package/_cjs/IO/api/repeat.cjs.map +1 -1
- package/_cjs/IO/api/retry.cjs +14 -14
- package/_cjs/IO/api/retry.cjs.map +1 -1
- package/_cjs/IO/api/schedule.cjs +15 -11
- package/_cjs/IO/api/schedule.cjs.map +1 -1
- package/_cjs/IO/api/scoped.cjs +6 -6
- package/_cjs/IO/api/scoped.cjs.map +1 -1
- package/_cjs/IO/api/sequenceT.cjs +1 -1
- package/_cjs/IO/api/sequenceT.cjs.map +1 -1
- package/_cjs/IO/api/stateful.cjs.map +1 -1
- package/_cjs/IO/api/supervised.cjs +6 -4
- package/_cjs/IO/api/supervised.cjs.map +1 -1
- package/_cjs/IO/api/timeout.cjs +10 -6
- package/_cjs/IO/api/timeout.cjs.map +1 -1
- package/_cjs/IO/api/withChildren.cjs +1 -1
- package/_cjs/IO/api/withChildren.cjs.map +1 -1
- package/_cjs/IO/api/withEarlyRelease.cjs +1 -1
- package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
- package/_cjs/IO/api/withFinalizer.cjs +6 -4
- package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
- package/_cjs/IO/api/withFinalizerExit.cjs +6 -4
- package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
- package/_cjs/IO/api/withRuntimeConfig.cjs +6 -4
- package/_cjs/IO/api/withRuntimeConfig.cjs.map +1 -1
- package/_cjs/IO/api/zipC.cjs +21 -17
- package/_cjs/IO/api/zipC.cjs.map +1 -1
- package/_cjs/IO/api.cjs +634 -509
- package/_cjs/IO/api.cjs.map +1 -1
- package/_cjs/IO/definition.cjs.map +1 -1
- package/_cjs/IO/runtime.cjs +7 -7
- package/_cjs/IO/runtime.cjs.map +1 -1
- package/_cjs/IO.cjs.map +1 -1
- package/_cjs/IOEnv/definition.cjs +1 -1
- package/_cjs/IOEnv/definition.cjs.map +1 -1
- package/_cjs/IOEnv/live.cjs +1 -1
- package/_cjs/IOEnv/live.cjs.map +1 -1
- package/_cjs/IOEnv/services.cjs.map +1 -1
- package/_cjs/Layer/MemoMap.cjs +86 -92
- package/_cjs/Layer/MemoMap.cjs.map +1 -1
- package/_cjs/Layer/api.cjs +110 -81
- package/_cjs/Layer/api.cjs.map +1 -1
- package/_cjs/Layer/definition.cjs.map +1 -1
- package/_cjs/LogLevel.cjs +24 -16
- package/_cjs/LogLevel.cjs.map +1 -1
- package/_cjs/LogSpan.cjs +18 -16
- package/_cjs/LogSpan.cjs.map +1 -1
- package/_cjs/Logger/api.cjs +18 -14
- package/_cjs/Logger/api.cjs.map +1 -1
- package/_cjs/Logger/constructors.cjs +1 -1
- package/_cjs/Logger/constructors.cjs.map +1 -1
- package/_cjs/Queue/constructors.cjs +19 -5
- package/_cjs/Queue/constructors.cjs.map +1 -1
- package/_cjs/Queue/definition.cjs +191 -16
- package/_cjs/Queue/definition.cjs.map +1 -1
- package/_cjs/Queue/internal.cjs +27 -181
- package/_cjs/Queue/internal.cjs.map +1 -1
- package/_cjs/Queue/strategy.cjs +19 -19
- package/_cjs/Queue/strategy.cjs.map +1 -1
- package/_cjs/Queue.cjs +0 -26
- package/_cjs/Queue.cjs.map +1 -1
- package/_cjs/Random/live.cjs +2 -2
- package/_cjs/Random/live.cjs.map +1 -1
- package/_cjs/Ref/Atomic.cjs +47 -24
- package/_cjs/Ref/Atomic.cjs.map +1 -1
- package/_cjs/Ref/Synchronized.cjs +140 -0
- package/_cjs/Ref/Synchronized.cjs.map +1 -0
- package/_cjs/Ref/constructors.cjs +21 -2
- package/_cjs/Ref/constructors.cjs.map +1 -1
- package/_cjs/Ref/definition.cjs +105 -10
- package/_cjs/Ref/definition.cjs.map +1 -1
- package/_cjs/Ref.cjs +4 -69
- package/_cjs/Ref.cjs.map +1 -1
- package/_cjs/Reloadable/constructors.cjs +10 -10
- package/_cjs/Reloadable/constructors.cjs.map +1 -1
- package/_cjs/RuntimeConfig.cjs +2 -2
- package/_cjs/RuntimeConfig.cjs.map +1 -1
- package/_cjs/STM/api/core-api.cjs +36 -26
- package/_cjs/STM/api/core-api.cjs.map +1 -1
- package/_cjs/STM/api.cjs +217 -163
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/STM/driver.cjs +3 -3
- package/_cjs/STM/driver.cjs.map +1 -1
- package/_cjs/STM/internal/Entry.cjs.map +1 -1
- package/_cjs/STM/internal/Journal.cjs +33 -29
- package/_cjs/STM/internal/Journal.cjs.map +1 -1
- package/_cjs/STM.cjs.map +1 -1
- package/_cjs/Schedule/Decision.cjs +16 -14
- package/_cjs/Schedule/Decision.cjs.map +1 -1
- package/_cjs/Schedule/api/driver.cjs +16 -20
- package/_cjs/Schedule/api/driver.cjs.map +1 -1
- package/_cjs/Schedule/api.cjs +381 -290
- package/_cjs/Schedule/api.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +14 -14
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api.cjs +68 -61
- package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
- package/_cjs/Scope/api.cjs +34 -27
- package/_cjs/Scope/api.cjs.map +1 -1
- package/_cjs/ScopedRef/api.cjs +9 -13
- package/_cjs/ScopedRef/api.cjs.map +1 -1
- package/_cjs/ScopedRef/definition.cjs +1 -1
- package/_cjs/ScopedRef/definition.cjs.map +1 -1
- package/_cjs/Sink/api.cjs +307 -249
- package/_cjs/Sink/api.cjs.map +1 -1
- package/_cjs/State/api.cjs +18 -14
- package/_cjs/State/api.cjs.map +1 -1
- package/_cjs/Stream/api/zipAllWith.cjs +15 -13
- package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
- package/_cjs/Stream/api/zipWith.cjs +6 -4
- package/_cjs/Stream/api/zipWith.cjs.map +1 -1
- package/_cjs/Stream/api/zipWithChunks.cjs +13 -11
- package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
- package/_cjs/Stream/api.cjs +992 -788
- package/_cjs/Stream/api.cjs.map +1 -1
- package/_cjs/Stream/definition.cjs.map +1 -1
- package/_cjs/Stream/internal/DebounceState.cjs +21 -19
- package/_cjs/Stream/internal/DebounceState.cjs.map +1 -1
- package/_cjs/Stream/internal/Handoff.cjs +35 -33
- package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
- package/_cjs/Stream/internal/Pull.cjs +9 -11
- package/_cjs/Stream/internal/Pull.cjs.map +1 -1
- package/_cjs/Stream/internal/SinkEndReason.cjs +16 -14
- package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
- package/_cjs/Stream/internal/Take.cjs +32 -24
- package/_cjs/Stream/internal/Take.cjs.map +1 -1
- package/_cjs/Stream/internal/util.cjs +3 -3
- package/_cjs/Stream/internal/util.cjs.map +1 -1
- package/_cjs/SubscriptionRef.cjs +68 -0
- package/_cjs/SubscriptionRef.cjs.map +1 -0
- package/_cjs/Supervisor/api.cjs +49 -34
- package/_cjs/Supervisor/api.cjs.map +1 -1
- package/_cjs/Supervisor/constructors.cjs +2 -2
- package/_cjs/Supervisor/constructors.cjs.map +1 -1
- package/_cjs/Supervisor/definition.cjs +66 -1
- package/_cjs/Supervisor/definition.cjs.map +1 -1
- package/_cjs/SupervisorPatch.cjs +176 -0
- package/_cjs/SupervisorPatch.cjs.map +1 -0
- package/_cjs/TExit/definition.cjs.map +1 -1
- package/_cjs/TFuture/api.cjs +21 -15
- package/_cjs/TFuture/api.cjs.map +1 -1
- package/_cjs/TFuture/constructors.cjs +1 -1
- package/_cjs/TFuture/constructors.cjs.map +1 -1
- package/_cjs/TFuture/definition.cjs.map +1 -1
- package/_cjs/TReentrantLock/api.cjs +32 -28
- package/_cjs/TReentrantLock/api.cjs.map +1 -1
- package/_cjs/TReentrantLock/definition.cjs +4 -4
- package/_cjs/TReentrantLock/definition.cjs.map +1 -1
- package/_cjs/TRef/api.cjs +233 -209
- package/_cjs/TRef/api.cjs.map +1 -1
- package/_cjs/TRef/definition.cjs +4 -4
- package/_cjs/TRef/definition.cjs.map +1 -1
- package/_cjs/TSemaphore/api.cjs +27 -23
- package/_cjs/TSemaphore/api.cjs.map +1 -1
- package/_cjs/TSemaphore/constructors.cjs +18 -3
- package/_cjs/TSemaphore/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +21 -19
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +21 -19
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/filterIO.cjs +16 -14
- package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/findIO.cjs +19 -17
- package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/mapIO.cjs +11 -9
- package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +31 -29
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
- package/_cjs/data/Exit/foreachIO.cjs +6 -4
- package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
- package/_cjs/internal/Hub.cjs +13 -11
- package/_cjs/internal/Hub.cjs.map +1 -1
- package/_cjs/internal/IsFatal.cjs +18 -16
- package/_cjs/internal/IsFatal.cjs.map +1 -1
- package/_cjs/internal/MutableQueue.cjs +11 -9
- package/_cjs/internal/MutableQueue.cjs.map +1 -1
- package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
- package/_mjs/Cached/api.mjs +6 -6
- package/_mjs/Cached/api.mjs.map +1 -1
- package/_mjs/Channel/ChildExecutorDecision/api.mjs +18 -16
- package/_mjs/Channel/ChildExecutorDecision/api.mjs.map +1 -1
- package/_mjs/Channel/UpstreamPullRequest/api.mjs +14 -12
- package/_mjs/Channel/UpstreamPullRequest/api.mjs.map +1 -1
- package/_mjs/Channel/api/interruptWhen.mjs +11 -7
- package/_mjs/Channel/api/interruptWhen.mjs.map +1 -1
- package/_mjs/Channel/api/mapOutIOC.mjs +24 -23
- package/_mjs/Channel/api/mapOutIOC.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAll.mjs +5 -3
- package/_mjs/Channel/api/mergeAll.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllUnboundedWith.mjs +5 -3
- package/_mjs/Channel/api/mergeAllUnboundedWith.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +45 -46
- package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
- package/_mjs/Channel/api/mergeMap.mjs +5 -3
- package/_mjs/Channel/api/mergeMap.mjs.map +1 -1
- package/_mjs/Channel/api/mergeWith.mjs +46 -44
- package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
- package/_mjs/Channel/api/run.mjs +1 -1
- package/_mjs/Channel/api/run.mjs.map +1 -1
- package/_mjs/Channel/api/runScoped.mjs +2 -2
- package/_mjs/Channel/api/runScoped.mjs.map +1 -1
- package/_mjs/Channel/api/toPull.mjs +3 -3
- package/_mjs/Channel/api/toPull.mjs.map +1 -1
- package/_mjs/Channel/api/zipC.mjs +16 -10
- package/_mjs/Channel/api/zipC.mjs.map +1 -1
- package/_mjs/Channel/api.mjs +224 -173
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Channel/core-api.mjs +28 -18
- package/_mjs/Channel/core-api.mjs.map +1 -1
- package/_mjs/Channel/definition.mjs +1 -1
- package/_mjs/Channel/definition.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelExecutor.mjs +83 -83
- package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +22 -23
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
- package/_mjs/Differ/api.mjs +90 -0
- package/_mjs/Differ/api.mjs.map +1 -0
- package/_mjs/Differ/definition.mjs +13 -0
- package/_mjs/Differ/definition.mjs.map +1 -0
- package/_mjs/Fiber/FiberContext.mjs +48 -48
- package/_mjs/Fiber/FiberContext.mjs.map +1 -1
- package/_mjs/Fiber/api/awaitAll.mjs +1 -1
- package/_mjs/Fiber/api/awaitAll.mjs.map +1 -1
- package/_mjs/Fiber/api/collectAll.mjs +1 -1
- package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
- package/_mjs/Fiber/api/evalOn.mjs +11 -9
- package/_mjs/Fiber/api/evalOn.mjs.map +1 -1
- package/_mjs/Fiber/api/evalOnIO.mjs +5 -3
- package/_mjs/Fiber/api/evalOnIO.mjs.map +1 -1
- package/_mjs/Fiber/api/fromIO.mjs +1 -1
- package/_mjs/Fiber/api/fromIO.mjs.map +1 -1
- package/_mjs/Fiber/api/interrupt.mjs +1 -1
- package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptAll.mjs +2 -2
- package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptAs.mjs +6 -4
- package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptAsFork.mjs +6 -4
- package/_mjs/Fiber/api/interruptAsFork.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptFork.mjs +1 -1
- package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
- package/_mjs/Fiber/api/join.mjs +1 -1
- package/_mjs/Fiber/api/join.mjs.map +1 -1
- package/_mjs/Fiber/api/joinAll.mjs +1 -1
- package/_mjs/Fiber/api/joinAll.mjs.map +1 -1
- package/_mjs/Fiber/api/mapFiber.mjs +5 -3
- package/_mjs/Fiber/api/mapFiber.mjs.map +1 -1
- package/_mjs/Fiber/api/mapIO.mjs +11 -7
- package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
- package/_mjs/Fiber/api/zipWith.mjs +5 -3
- package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
- package/_mjs/Fiber/definition.mjs.map +1 -1
- package/_mjs/Fiber.mjs +1 -0
- package/_mjs/Fiber.mjs.map +1 -1
- package/_mjs/FiberRef/api/locallyScoped.mjs +5 -3
- package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -1
- package/_mjs/FiberRef/api/locallyScopedWith.mjs +5 -3
- package/_mjs/FiberRef/api/locallyScopedWith.mjs.map +1 -1
- package/_mjs/FiberRef/api.mjs +52 -36
- package/_mjs/FiberRef/api.mjs.map +1 -1
- package/_mjs/FiberRef/constructors.mjs +1 -1
- package/_mjs/FiberRef/constructors.mjs.map +1 -1
- package/_mjs/FiberRef/unsafe.mjs +31 -20
- package/_mjs/FiberRef/unsafe.mjs.map +1 -1
- package/_mjs/FiberRef.mjs.map +1 -1
- package/_mjs/FiberRefs/api.mjs +14 -12
- package/_mjs/FiberRefs/api.mjs.map +1 -1
- package/_mjs/FiberRefs/join.mjs +35 -33
- package/_mjs/FiberRefs/join.mjs.map +1 -1
- package/_mjs/FiberState/definition.mjs.map +1 -1
- package/_mjs/Future/api.mjs +84 -66
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/Future/constructors.mjs +1 -1
- package/_mjs/Future/constructors.mjs.map +1 -1
- package/_mjs/Hub/constructors.mjs +66 -0
- package/_mjs/Hub/constructors.mjs.map +1 -0
- package/_mjs/Hub/definition.mjs +88 -9
- package/_mjs/Hub/definition.mjs.map +1 -1
- package/_mjs/Hub/internal.mjs +105 -122
- package/_mjs/Hub/internal.mjs.map +1 -1
- package/_mjs/Hub.mjs +1 -1
- package/_mjs/Hub.mjs.map +1 -1
- package/_mjs/IO/api/acquireReleaseExit.mjs +1 -1
- package/_mjs/IO/api/acquireReleaseExit.mjs.map +1 -1
- package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs +1 -1
- package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs.map +1 -1
- package/_mjs/IO/api/addFinalizerExit.mjs +1 -1
- package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
- package/_mjs/IO/api/asyncIO.mjs +4 -4
- package/_mjs/IO/api/asyncIO.mjs.map +1 -1
- package/_mjs/IO/api/bracket.mjs +2 -2
- package/_mjs/IO/api/bracket.mjs.map +1 -1
- package/_mjs/IO/api/bracketExit.mjs +2 -2
- package/_mjs/IO/api/bracketExit.mjs.map +1 -1
- package/_mjs/IO/api/clockWith.mjs +2 -2
- package/_mjs/IO/api/clockWith.mjs.map +1 -1
- package/_mjs/IO/api/concurrency.mjs +8 -6
- package/_mjs/IO/api/concurrency.mjs.map +1 -1
- package/_mjs/IO/api/concurrentFinalizers.mjs +1 -1
- package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
- package/_mjs/IO/api/consoleWith.mjs +2 -2
- package/_mjs/IO/api/consoleWith.mjs.map +1 -1
- package/_mjs/IO/api/core-scope.mjs +40 -36
- package/_mjs/IO/api/core-scope.mjs.map +1 -1
- package/_mjs/IO/api/ensuringChildren.mjs +5 -3
- package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
- package/_mjs/IO/api/environment.mjs +29 -27
- package/_mjs/IO/api/environment.mjs.map +1 -1
- package/_mjs/IO/api/foreachC.mjs +17 -19
- package/_mjs/IO/api/foreachC.mjs.map +1 -1
- package/_mjs/IO/api/foreachExec.mjs +2 -2
- package/_mjs/IO/api/foreachExec.mjs.map +1 -1
- package/_mjs/IO/api/forkAll.mjs +1 -1
- package/_mjs/IO/api/forkAll.mjs.map +1 -1
- package/_mjs/IO/api/forkIn.mjs +7 -5
- package/_mjs/IO/api/forkIn.mjs.map +1 -1
- package/_mjs/IO/api/forkScoped.mjs +1 -1
- package/_mjs/IO/api/forkScoped.mjs.map +1 -1
- package/_mjs/IO/api/fulfill.mjs +7 -5
- package/_mjs/IO/api/fulfill.mjs.map +1 -1
- package/_mjs/IO/api/interrupt.mjs +34 -28
- package/_mjs/IO/api/interrupt.mjs.map +1 -1
- package/_mjs/IO/api/memoize.mjs +1 -1
- package/_mjs/IO/api/memoize.mjs.map +1 -1
- package/_mjs/IO/api/onExit.mjs +5 -3
- package/_mjs/IO/api/onExit.mjs.map +1 -1
- package/_mjs/IO/api/onTermination.mjs +5 -3
- package/_mjs/IO/api/onTermination.mjs.map +1 -1
- package/_mjs/IO/api/once.mjs +3 -4
- package/_mjs/IO/api/once.mjs.map +1 -1
- package/_mjs/IO/api/provideLayer.mjs +5 -3
- package/_mjs/IO/api/provideLayer.mjs.map +1 -1
- package/_mjs/IO/api/provideSomeLayer.mjs +5 -11
- package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
- package/_mjs/IO/api/race.mjs +5 -3
- package/_mjs/IO/api/race.mjs.map +1 -1
- package/_mjs/IO/api/raceFirst.mjs +5 -3
- package/_mjs/IO/api/raceFirst.mjs.map +1 -1
- package/_mjs/IO/api/randomWith.mjs +1 -1
- package/_mjs/IO/api/randomWith.mjs.map +1 -1
- package/_mjs/IO/api/repeat.mjs +8 -8
- package/_mjs/IO/api/repeat.mjs.map +1 -1
- package/_mjs/IO/api/retry.mjs +12 -12
- package/_mjs/IO/api/retry.mjs.map +1 -1
- package/_mjs/IO/api/schedule.mjs +15 -11
- package/_mjs/IO/api/schedule.mjs.map +1 -1
- package/_mjs/IO/api/scoped.mjs +3 -3
- package/_mjs/IO/api/scoped.mjs.map +1 -1
- package/_mjs/IO/api/sequenceT.mjs +1 -1
- package/_mjs/IO/api/sequenceT.mjs.map +1 -1
- package/_mjs/IO/api/stateful.mjs.map +1 -1
- package/_mjs/IO/api/supervised.mjs +5 -3
- package/_mjs/IO/api/supervised.mjs.map +1 -1
- package/_mjs/IO/api/timeout.mjs +10 -6
- package/_mjs/IO/api/timeout.mjs.map +1 -1
- package/_mjs/IO/api/withChildren.mjs +1 -1
- package/_mjs/IO/api/withChildren.mjs.map +1 -1
- package/_mjs/IO/api/withEarlyRelease.mjs +1 -1
- package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
- package/_mjs/IO/api/withFinalizer.mjs +5 -3
- package/_mjs/IO/api/withFinalizer.mjs.map +1 -1
- package/_mjs/IO/api/withFinalizerExit.mjs +5 -3
- package/_mjs/IO/api/withFinalizerExit.mjs.map +1 -1
- package/_mjs/IO/api/withRuntimeConfig.mjs +5 -3
- package/_mjs/IO/api/withRuntimeConfig.mjs.map +1 -1
- package/_mjs/IO/api/zipC.mjs +18 -14
- package/_mjs/IO/api/zipC.mjs.map +1 -1
- package/_mjs/IO/api.mjs +511 -387
- package/_mjs/IO/api.mjs.map +1 -1
- package/_mjs/IO/definition.mjs.map +1 -1
- package/_mjs/IO/runtime.mjs +7 -7
- package/_mjs/IO/runtime.mjs.map +1 -1
- package/_mjs/IO.mjs.map +1 -1
- package/_mjs/IOEnv/definition.mjs +1 -1
- package/_mjs/IOEnv/definition.mjs.map +1 -1
- package/_mjs/IOEnv/live.mjs +1 -1
- package/_mjs/IOEnv/live.mjs.map +1 -1
- package/_mjs/IOEnv/services.mjs.map +1 -1
- package/_mjs/Layer/MemoMap.mjs +86 -87
- package/_mjs/Layer/MemoMap.mjs.map +1 -1
- package/_mjs/Layer/api.mjs +91 -63
- package/_mjs/Layer/api.mjs.map +1 -1
- package/_mjs/Layer/definition.mjs.map +1 -1
- package/_mjs/LogLevel.mjs +24 -16
- package/_mjs/LogLevel.mjs.map +1 -1
- package/_mjs/LogSpan.mjs +16 -14
- package/_mjs/LogSpan.mjs.map +1 -1
- package/_mjs/Logger/api.mjs +16 -12
- package/_mjs/Logger/api.mjs.map +1 -1
- package/_mjs/Logger/constructors.mjs +1 -1
- package/_mjs/Logger/constructors.mjs.map +1 -1
- package/_mjs/Queue/constructors.mjs +16 -5
- package/_mjs/Queue/constructors.mjs.map +1 -1
- package/_mjs/Queue/definition.mjs +174 -12
- package/_mjs/Queue/definition.mjs.map +1 -1
- package/_mjs/Queue/internal.mjs +21 -170
- package/_mjs/Queue/internal.mjs.map +1 -1
- package/_mjs/Queue/strategy.mjs +20 -23
- package/_mjs/Queue/strategy.mjs.map +1 -1
- package/_mjs/Queue.mjs +1 -3
- package/_mjs/Queue.mjs.map +1 -1
- package/_mjs/Random/live.mjs +2 -2
- package/_mjs/Random/live.mjs.map +1 -1
- package/_mjs/Ref/Atomic.mjs +39 -3
- package/_mjs/Ref/Atomic.mjs.map +1 -1
- package/_mjs/Ref/Synchronized.mjs +123 -0
- package/_mjs/Ref/Synchronized.mjs.map +1 -0
- package/_mjs/Ref/constructors.mjs +15 -1
- package/_mjs/Ref/constructors.mjs.map +1 -1
- package/_mjs/Ref/definition.mjs +96 -4
- package/_mjs/Ref/definition.mjs.map +1 -1
- package/_mjs/Ref.mjs +1 -8
- package/_mjs/Ref.mjs.map +1 -1
- package/_mjs/Reloadable/constructors.mjs +10 -10
- package/_mjs/Reloadable/constructors.mjs.map +1 -1
- package/_mjs/RuntimeConfig.mjs +2 -2
- package/_mjs/RuntimeConfig.mjs.map +1 -1
- package/_mjs/STM/api/core-api.mjs +29 -19
- package/_mjs/STM/api/core-api.mjs.map +1 -1
- package/_mjs/STM/api.mjs +180 -127
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/STM/driver.mjs +3 -3
- package/_mjs/STM/driver.mjs.map +1 -1
- package/_mjs/STM/internal/Entry.mjs.map +1 -1
- package/_mjs/STM/internal/Journal.mjs +33 -29
- package/_mjs/STM/internal/Journal.mjs.map +1 -1
- package/_mjs/STM.mjs.map +1 -1
- package/_mjs/Schedule/Decision.mjs +14 -12
- package/_mjs/Schedule/Decision.mjs.map +1 -1
- package/_mjs/Schedule/api/driver.mjs +15 -17
- package/_mjs/Schedule/api/driver.mjs.map +1 -1
- package/_mjs/Schedule/api.mjs +326 -234
- package/_mjs/Schedule/api.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +12 -11
- package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api.mjs +60 -51
- package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
- package/_mjs/Scope/api.mjs +28 -22
- package/_mjs/Scope/api.mjs.map +1 -1
- package/_mjs/ScopedRef/api.mjs +9 -11
- package/_mjs/ScopedRef/api.mjs.map +1 -1
- package/_mjs/ScopedRef/definition.mjs +1 -1
- package/_mjs/ScopedRef/definition.mjs.map +1 -1
- package/_mjs/Sink/api.mjs +301 -240
- package/_mjs/Sink/api.mjs.map +1 -1
- package/_mjs/State/api.mjs +16 -12
- package/_mjs/State/api.mjs.map +1 -1
- package/_mjs/Stream/api/zipAllWith.mjs +14 -12
- package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
- package/_mjs/Stream/api/zipWith.mjs +5 -3
- package/_mjs/Stream/api/zipWith.mjs.map +1 -1
- package/_mjs/Stream/api/zipWithChunks.mjs +12 -10
- package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
- package/_mjs/Stream/api.mjs +856 -653
- package/_mjs/Stream/api.mjs.map +1 -1
- package/_mjs/Stream/definition.mjs.map +1 -1
- package/_mjs/Stream/internal/DebounceState.mjs +18 -16
- package/_mjs/Stream/internal/DebounceState.mjs.map +1 -1
- package/_mjs/Stream/internal/Handoff.mjs +35 -32
- package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
- package/_mjs/Stream/internal/Pull.mjs +9 -10
- package/_mjs/Stream/internal/Pull.mjs.map +1 -1
- package/_mjs/Stream/internal/SinkEndReason.mjs +14 -12
- package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
- package/_mjs/Stream/internal/Take.mjs +28 -20
- package/_mjs/Stream/internal/Take.mjs.map +1 -1
- package/_mjs/Stream/internal/util.mjs +3 -3
- package/_mjs/Stream/internal/util.mjs.map +1 -1
- package/_mjs/SubscriptionRef.mjs +45 -0
- package/_mjs/SubscriptionRef.mjs.map +1 -0
- package/_mjs/Supervisor/api.mjs +44 -33
- package/_mjs/Supervisor/api.mjs.map +1 -1
- package/_mjs/Supervisor/constructors.mjs +2 -2
- package/_mjs/Supervisor/constructors.mjs.map +1 -1
- package/_mjs/Supervisor/definition.mjs +55 -0
- package/_mjs/Supervisor/definition.mjs.map +1 -1
- package/_mjs/SupervisorPatch.mjs +135 -0
- package/_mjs/SupervisorPatch.mjs.map +1 -0
- package/_mjs/TExit/definition.mjs.map +1 -1
- package/_mjs/TFuture/api.mjs +17 -11
- package/_mjs/TFuture/api.mjs.map +1 -1
- package/_mjs/TFuture/constructors.mjs +1 -1
- package/_mjs/TFuture/constructors.mjs.map +1 -1
- package/_mjs/TFuture/definition.mjs.map +1 -1
- package/_mjs/TReentrantLock/api.mjs +32 -28
- package/_mjs/TReentrantLock/api.mjs.map +1 -1
- package/_mjs/TReentrantLock/definition.mjs +4 -4
- package/_mjs/TReentrantLock/definition.mjs.map +1 -1
- package/_mjs/TRef/api.mjs +218 -194
- package/_mjs/TRef/api.mjs.map +1 -1
- package/_mjs/TRef/definition.mjs +4 -4
- package/_mjs/TRef/definition.mjs.map +1 -1
- package/_mjs/TSemaphore/api.mjs +23 -19
- package/_mjs/TSemaphore/api.mjs.map +1 -1
- package/_mjs/TSemaphore/constructors.mjs +12 -2
- package/_mjs/TSemaphore/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +19 -17
- package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +19 -17
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/filterIO.mjs +14 -12
- package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/findIO.mjs +17 -15
- package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/mapIO.mjs +10 -8
- package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +28 -26
- package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
- package/_mjs/data/Exit/foreachIO.mjs +5 -3
- package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
- package/_mjs/internal/Hub.mjs +13 -11
- package/_mjs/internal/Hub.mjs.map +1 -1
- package/_mjs/internal/IsFatal.mjs +18 -16
- package/_mjs/internal/IsFatal.mjs.map +1 -1
- package/_mjs/internal/MutableQueue.mjs +10 -8
- package/_mjs/internal/MutableQueue.mjs.map +1 -1
- 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/mapOutIOC.ts +58 -58
- 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/zipC.ts +52 -88
- package/_src/Channel/api.ts +345 -405
- package/_src/Channel/core-api.ts +75 -122
- package/_src/Channel/definition.ts +49 -7
- package/_src/Channel/internal/ChannelExecutor.ts +1 -5
- package/_src/Channel/internal/SingleProducerAsyncInput.ts +1 -3
- package/_src/Differ/api.ts +72 -0
- package/_src/Differ/definition.ts +16 -0
- package/_src/Fiber/FiberContext.ts +13 -33
- package/_src/Fiber/api/collectAll.ts +1 -2
- package/_src/Fiber/api/evalOn.ts +11 -14
- package/_src/Fiber/api/evalOnIO.ts +10 -13
- package/_src/Fiber/api/interruptAll.ts +1 -2
- package/_src/Fiber/api/interruptAs.ts +6 -4
- package/_src/Fiber/api/interruptAsFork.ts +6 -4
- package/_src/Fiber/api/interruptFork.ts +1 -1
- 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 +1 -15
- package/_src/Fiber.ts +1 -1
- package/_src/FiberRef/api/locallyScoped.ts +8 -6
- package/_src/FiberRef/api/locallyScopedWith.ts +5 -7
- package/_src/FiberRef/api.ts +50 -39
- package/_src/FiberRef/unsafe.ts +24 -22
- package/_src/FiberRef.ts +0 -1
- package/_src/FiberRefs/api.ts +14 -12
- package/_src/FiberRefs/join.ts +37 -46
- package/_src/FiberState/definition.ts +1 -2
- package/_src/Future/api.ts +67 -53
- package/_src/Hub/constructors.ts +80 -0
- package/_src/Hub/definition.ts +95 -89
- package/_src/Hub/internal.ts +115 -165
- package/_src/Hub.ts +1 -1
- package/_src/IO/api/acquireRelease.ts +1 -1
- package/_src/IO/api/acquireReleaseExit.ts +1 -1
- 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 +36 -33
- package/_src/IO/api/ensuringChildren.ts +8 -7
- package/_src/IO/api/environment.ts +24 -42
- package/_src/IO/api/foreachC.ts +24 -12
- package/_src/IO/api/foreachExec.ts +1 -1
- package/_src/IO/api/forkIn.ts +7 -9
- package/_src/IO/api/fulfill.ts +5 -3
- package/_src/IO/api/interrupt.ts +37 -40
- 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 +5 -7
- package/_src/IO/api/timeout.ts +10 -16
- package/_src/IO/api/withFinalizer.ts +5 -7
- package/_src/IO/api/withFinalizerExit.ts +6 -5
- package/_src/IO/api/withRuntimeConfig.ts +12 -14
- package/_src/IO/api/zipC.ts +57 -62
- package/_src/IO/api.ts +512 -539
- package/_src/IO/definition.ts +21 -9
- package/_src/IO/runtime.ts +0 -12
- package/_src/IO.ts +0 -1
- package/_src/IOEnv/definition.ts +0 -2
- package/_src/IOEnv/services.ts +5 -4
- package/_src/Layer/MemoMap.ts +61 -63
- 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/Queue/constructors.ts +22 -6
- package/_src/Queue/definition.ts +230 -81
- package/_src/Queue/internal.ts +9 -180
- package/_src/Queue/strategy.ts +9 -23
- package/_src/Queue.ts +1 -3
- package/_src/Ref/Atomic.ts +37 -4
- package/_src/Ref/Synchronized.ts +107 -0
- package/_src/Ref/constructors.ts +15 -0
- package/_src/Ref/definition.ts +86 -85
- package/_src/Ref.ts +1 -9
- package/_src/Reloadable/constructors.ts +2 -2
- package/_src/RuntimeConfig.ts +0 -2
- package/_src/STM/api/core-api.ts +32 -35
- package/_src/STM/api.ts +210 -200
- package/_src/STM/internal/Entry.ts +0 -10
- package/_src/STM/internal/Journal.ts +23 -26
- package/_src/STM.ts +0 -1
- package/_src/Schedule/Decision.ts +10 -8
- package/_src/Schedule/api/driver.ts +0 -4
- package/_src/Schedule/api.ts +419 -444
- package/_src/Schedule/definition.ts +0 -1
- package/_src/Scope/ReleaseMap/api/releaseAll.ts +23 -26
- package/_src/Scope/ReleaseMap/api.ts +77 -74
- 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 -357
- package/_src/State/api.ts +12 -8
- package/_src/State/internal.ts +1 -1
- package/_src/Stream/api/zipAllWith.ts +6 -5
- package/_src/Stream/api/zipWith.ts +5 -8
- package/_src/Stream/api/zipWithChunks.ts +6 -5
- package/_src/Stream/api.ts +1049 -1176
- package/_src/Stream/definition.ts +0 -2
- package/_src/Stream/internal/DebounceState.ts +16 -17
- package/_src/Stream/internal/Handoff.ts +31 -35
- package/_src/Stream/internal/Pull.ts +1 -2
- 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/SubscriptionRef.ts +44 -0
- package/_src/Supervisor/api.ts +39 -31
- package/_src/Supervisor/definition.ts +58 -0
- package/_src/SupervisorPatch.ts +111 -0
- package/_src/TExit/definition.ts +0 -8
- package/_src/TFuture/api.ts +23 -17
- package/_src/TFuture/definition.ts +0 -1
- package/_src/TReentrantLock/api.ts +14 -10
- package/_src/TReentrantLock/definition.ts +0 -7
- package/_src/TRef/api.ts +207 -209
- package/_src/TRef/definition.ts +0 -12
- package/_src/TSemaphore/api.ts +19 -18
- package/_src/TSemaphore/constructors.ts +7 -0
- 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 +3 -0
- 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 +3 -0
- package/internal/Hub.d.ts +2 -2
- package/internal/IsFatal.d.ts +3 -3
- package/internal/MutableQueue.d.ts +3 -3
- package/package.json +3 -3
- package/Hub/api.d.ts +0 -190
- package/Queue/api/dimapIO.d.ts +0 -41
- package/Queue/api/filterInputIO.d.ts +0 -33
- package/Queue/api/filterOutputIO.d.ts +0 -31
- package/Queue/api/operations.d.ts +0 -82
- package/Queue/api/poll.d.ts +0 -9
- package/Queue/api/takeBetween.d.ts +0 -11
- package/Queue/api/zipWithIO.d.ts +0 -44
- package/Queue/api.d.ts +0 -7
- package/Ref/Atomic/Atomic.d.ts +0 -18
- package/Ref/Atomic/api.d.ts +0 -53
- package/Ref/Derived.d.ts +0 -14
- package/Ref/DerivedAll.d.ts +0 -14
- package/Ref/Synchronized/api.d.ts +0 -100
- package/Ref/Synchronized/constructors.d.ts +0 -8
- package/Ref/Synchronized/definition.d.ts +0 -42
- package/Ref/api/collect.d.ts +0 -11
- package/Ref/api/dimap.d.ts +0 -56
- package/Ref/api/filter.d.ts +0 -20
- package/Ref/api/get.d.ts +0 -9
- package/Ref/api/match.d.ts +0 -13
- package/Ref/api/matchAll.d.ts +0 -11
- package/Ref/api/modify.d.ts +0 -79
- package/Ref/api/set.d.ts +0 -10
- package/Ref/api.d.ts +0 -23
- package/_cjs/Hub/api.cjs +0 -456
- package/_cjs/Hub/api.cjs.map +0 -1
- package/_cjs/Queue/api/dimapIO.cjs +0 -120
- package/_cjs/Queue/api/dimapIO.cjs.map +0 -1
- package/_cjs/Queue/api/filterInputIO.cjs +0 -84
- package/_cjs/Queue/api/filterInputIO.cjs.map +0 -1
- package/_cjs/Queue/api/filterOutputIO.cjs +0 -89
- package/_cjs/Queue/api/filterOutputIO.cjs.map +0 -1
- package/_cjs/Queue/api/operations.cjs +0 -147
- package/_cjs/Queue/api/operations.cjs.map +0 -1
- package/_cjs/Queue/api/poll.cjs +0 -27
- package/_cjs/Queue/api/poll.cjs.map +0 -1
- package/_cjs/Queue/api/takeBetween.cjs +0 -57
- package/_cjs/Queue/api/takeBetween.cjs.map +0 -1
- package/_cjs/Queue/api/zipWithIO.cjs +0 -97
- package/_cjs/Queue/api/zipWithIO.cjs.map +0 -1
- package/_cjs/Queue/api.cjs +0 -97
- package/_cjs/Queue/api.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/_cjs/Ref/Derived.cjs +0 -55
- package/_cjs/Ref/Derived.cjs.map +0 -1
- package/_cjs/Ref/DerivedAll.cjs +0 -55
- package/_cjs/Ref/DerivedAll.cjs.map +0 -1
- package/_cjs/Ref/Synchronized/api.cjs +0 -196
- package/_cjs/Ref/Synchronized/api.cjs.map +0 -1
- package/_cjs/Ref/Synchronized/constructors.cjs +0 -32
- package/_cjs/Ref/Synchronized/constructors.cjs.map +0 -1
- package/_cjs/Ref/Synchronized/definition.cjs +0 -88
- package/_cjs/Ref/Synchronized/definition.cjs.map +0 -1
- package/_cjs/Ref/api/collect.cjs +0 -31
- package/_cjs/Ref/api/collect.cjs.map +0 -1
- package/_cjs/Ref/api/dimap.cjs +0 -110
- package/_cjs/Ref/api/dimap.cjs.map +0 -1
- package/_cjs/Ref/api/filter.cjs +0 -45
- package/_cjs/Ref/api/filter.cjs.map +0 -1
- package/_cjs/Ref/api/get.cjs +0 -20
- package/_cjs/Ref/api/get.cjs.map +0 -1
- package/_cjs/Ref/api/match.cjs +0 -26
- package/_cjs/Ref/api/match.cjs.map +0 -1
- package/_cjs/Ref/api/matchAll.cjs +0 -24
- package/_cjs/Ref/api/matchAll.cjs.map +0 -1
- package/_cjs/Ref/api/modify.cjs +0 -239
- package/_cjs/Ref/api/modify.cjs.map +0 -1
- package/_cjs/Ref/api/set.cjs +0 -21
- package/_cjs/Ref/api/set.cjs.map +0 -1
- package/_cjs/Ref/api.cjs +0 -158
- package/_cjs/Ref/api.cjs.map +0 -1
- package/_mjs/Hub/api.mjs +0 -384
- package/_mjs/Hub/api.mjs.map +0 -1
- package/_mjs/Queue/api/dimapIO.mjs +0 -97
- package/_mjs/Queue/api/dimapIO.mjs.map +0 -1
- package/_mjs/Queue/api/filterInputIO.mjs +0 -63
- package/_mjs/Queue/api/filterInputIO.mjs.map +0 -1
- package/_mjs/Queue/api/filterOutputIO.mjs +0 -68
- package/_mjs/Queue/api/filterOutputIO.mjs.map +0 -1
- package/_mjs/Queue/api/operations.mjs +0 -122
- package/_mjs/Queue/api/operations.mjs.map +0 -1
- package/_mjs/Queue/api/poll.mjs +0 -14
- package/_mjs/Queue/api/poll.mjs.map +0 -1
- package/_mjs/Queue/api/takeBetween.mjs +0 -43
- package/_mjs/Queue/api/takeBetween.mjs.map +0 -1
- package/_mjs/Queue/api/zipWithIO.mjs +0 -74
- package/_mjs/Queue/api/zipWithIO.mjs.map +0 -1
- package/_mjs/Queue/api.mjs +0 -9
- package/_mjs/Queue/api.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/_mjs/Ref/Derived.mjs +0 -35
- package/_mjs/Ref/Derived.mjs.map +0 -1
- package/_mjs/Ref/DerivedAll.mjs +0 -35
- package/_mjs/Ref/DerivedAll.mjs.map +0 -1
- package/_mjs/Ref/Synchronized/api.mjs +0 -154
- package/_mjs/Ref/Synchronized/api.mjs.map +0 -1
- package/_mjs/Ref/Synchronized/constructors.mjs +0 -15
- package/_mjs/Ref/Synchronized/constructors.mjs.map +0 -1
- package/_mjs/Ref/Synchronized/definition.mjs +0 -66
- package/_mjs/Ref/Synchronized/definition.mjs.map +0 -1
- package/_mjs/Ref/api/collect.mjs +0 -17
- package/_mjs/Ref/api/collect.mjs.map +0 -1
- package/_mjs/Ref/api/dimap.mjs +0 -84
- package/_mjs/Ref/api/dimap.mjs.map +0 -1
- package/_mjs/Ref/api/filter.mjs +0 -29
- package/_mjs/Ref/api/filter.mjs.map +0 -1
- package/_mjs/Ref/api/get.mjs +0 -13
- package/_mjs/Ref/api/get.mjs.map +0 -1
- package/_mjs/Ref/api/match.mjs +0 -18
- package/_mjs/Ref/api/match.mjs.map +0 -1
- package/_mjs/Ref/api/matchAll.mjs +0 -16
- package/_mjs/Ref/api/matchAll.mjs.map +0 -1
- package/_mjs/Ref/api/modify.mjs +0 -204
- package/_mjs/Ref/api/modify.mjs.map +0 -1
- package/_mjs/Ref/api/set.mjs +0 -14
- package/_mjs/Ref/api/set.mjs.map +0 -1
- package/_mjs/Ref/api.mjs +0 -34
- package/_mjs/Ref/api.mjs.map +0 -1
- package/_src/Hub/api.ts +0 -461
- package/_src/Queue/api/dimapIO.ts +0 -130
- package/_src/Queue/api/filterInputIO.ts +0 -75
- package/_src/Queue/api/filterOutputIO.ts +0 -76
- package/_src/Queue/api/operations.ts +0 -139
- package/_src/Queue/api/poll.ts +0 -14
- package/_src/Queue/api/takeBetween.ts +0 -45
- package/_src/Queue/api/zipWithIO.ts +0 -99
- package/_src/Queue/api.ts +0 -9
- package/_src/Ref/Atomic/Atomic.ts +0 -56
- package/_src/Ref/Atomic/api.ts +0 -124
- package/_src/Ref/Derived.ts +0 -71
- package/_src/Ref/DerivedAll.ts +0 -75
- package/_src/Ref/Synchronized/api.ts +0 -249
- package/_src/Ref/Synchronized/constructors.ts +0 -12
- package/_src/Ref/Synchronized/definition.ts +0 -126
- package/_src/Ref/api/collect.ts +0 -19
- package/_src/Ref/api/dimap.ts +0 -115
- package/_src/Ref/api/filter.ts +0 -35
- package/_src/Ref/api/get.ts +0 -17
- package/_src/Ref/api/match.ts +0 -24
- package/_src/Ref/api/matchAll.ts +0 -23
- package/_src/Ref/api/modify.ts +0 -237
- package/_src/Ref/api/set.ts +0 -19
- package/_src/Ref/api.ts +0 -39
package/_src/Sink/api.ts
CHANGED
@@ -5,82 +5,83 @@ import { MergeDecision } from "../Channel/internal/MergeDecision.js";
|
|
5
5
|
/**
|
6
6
|
* Like {@link zip}, but keeps only the result from this sink
|
7
7
|
*
|
8
|
-
* @tsplus
|
8
|
+
* @tsplus pipeable fncts.io.Sink apFirst
|
9
9
|
*/
|
10
|
-
export function apFirst<
|
11
|
-
self: Sink<R, E, In, L, Z>,
|
10
|
+
export function apFirst<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(
|
12
11
|
that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
|
13
12
|
__tsplusTrace?: string,
|
14
|
-
)
|
15
|
-
return
|
13
|
+
) {
|
14
|
+
return <R, E, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Z> => {
|
15
|
+
return self.zipWith(that, (z, _) => z);
|
16
|
+
};
|
16
17
|
}
|
17
18
|
|
18
19
|
/**
|
19
20
|
* Like {@link zipC}, but keeps only the result from this sink
|
20
21
|
*
|
21
|
-
* @tsplus
|
22
|
+
* @tsplus pipeable fncts.io.Sink apFirstC
|
22
23
|
*/
|
23
|
-
export function apFirstC<
|
24
|
-
self: Sink<R, E, In, L, Z>,
|
24
|
+
export function apFirstC<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(
|
25
25
|
that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
|
26
26
|
__tsplusTrace?: string,
|
27
|
-
)
|
28
|
-
return
|
27
|
+
) {
|
28
|
+
return <R, E, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Z> => {
|
29
|
+
return self.zipWithC(that, (z, _) => z);
|
30
|
+
};
|
29
31
|
}
|
30
32
|
|
31
33
|
/**
|
32
34
|
* Like {@link zip}, but keeps only the result from the `that` sink
|
33
35
|
*
|
34
|
-
* @tsplus
|
36
|
+
* @tsplus pipeable fncts.io.Sink apSecond
|
35
37
|
*/
|
36
|
-
export function apSecond<
|
37
|
-
self: Sink<R, E, In, L, Z>,
|
38
|
+
export function apSecond<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(
|
38
39
|
that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
|
39
40
|
__tsplusTrace?: string,
|
40
|
-
)
|
41
|
-
return
|
41
|
+
) {
|
42
|
+
return <R, E, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Z1> => {
|
43
|
+
return self.zipWith(that, (_, z1) => z1);
|
44
|
+
};
|
42
45
|
}
|
43
46
|
|
44
47
|
/**
|
45
48
|
* Like {@link zipC}, but keeps only the result from the `that` sink
|
46
49
|
*
|
47
|
-
* @tsplus
|
50
|
+
* @tsplus pipeable fncts.io.Sink apSecondC
|
48
51
|
*/
|
49
|
-
export function apSecondC<
|
50
|
-
self: Sink<R, E, In, L, Z>,
|
52
|
+
export function apSecondC<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(
|
51
53
|
that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
|
52
54
|
__tsplusTrace?: string,
|
53
|
-
)
|
54
|
-
return
|
55
|
+
) {
|
56
|
+
return <R, E, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Z1> => {
|
57
|
+
return self.zipWithC(that, (_, z1) => z1);
|
58
|
+
};
|
55
59
|
}
|
56
60
|
|
57
61
|
/**
|
58
62
|
* Replaces this sink's result with the provided value.
|
59
63
|
*
|
60
|
-
* @tsplus
|
64
|
+
* @tsplus pipeable fncts.io.Sink as
|
61
65
|
*/
|
62
|
-
export function as<
|
63
|
-
self: Sink<R, E, In, L, Z
|
64
|
-
|
65
|
-
|
66
|
-
): Sink<R, E, In, L, Z1> {
|
67
|
-
return self.map(() => z());
|
66
|
+
export function as<Z1>(z: Lazy<Z1>, __tsplusTrace?: string) {
|
67
|
+
return <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R, E, In, L, Z1> => {
|
68
|
+
return self.map(() => z());
|
69
|
+
};
|
68
70
|
}
|
69
71
|
|
70
72
|
/**
|
71
73
|
* Repeatedly runs the sink and accumulates its results into a chunk
|
72
74
|
*
|
73
|
-
* @tsplus
|
75
|
+
* @tsplus pipeable fncts.io.Sink collectAll
|
74
76
|
*/
|
75
|
-
export function collectAll
|
76
|
-
self: Sink<R, E, In, L, Z
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
);
|
77
|
+
export function collectAll(__tsplusTrace?: string) {
|
78
|
+
return <R, E, In extends L, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R, E, In, L, Conc<Z>> => {
|
79
|
+
return self.collectAllWhileWith(
|
80
|
+
Conc.empty<Z>(),
|
81
|
+
() => true,
|
82
|
+
(s, z) => s.append(z),
|
83
|
+
);
|
84
|
+
};
|
84
85
|
}
|
85
86
|
|
86
87
|
/**
|
@@ -88,43 +89,39 @@ export function collectAll<R, E, In extends L, L, Z>(
|
|
88
89
|
* `p`. The sink's results will be accumulated using the stepping function
|
89
90
|
* `f`.
|
90
91
|
*
|
91
|
-
* @tsplus
|
92
|
-
*/
|
93
|
-
export function collectAllWhileWith<
|
94
|
-
self: Sink<R, E, In, L, Z
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
)
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
);
|
119
|
-
} else {
|
120
|
-
return Channel.writeNow(leftovers.flatten).as(currentResult);
|
92
|
+
* @tsplus pipeable fncts.io.Sink collectAllWhileWith
|
93
|
+
*/
|
94
|
+
export function collectAllWhileWith<Z, S>(z: Lazy<S>, p: Predicate<Z>, f: (s: S, z: Z) => S, __tsplusTrace?: string) {
|
95
|
+
return <R, E, In extends L, L>(self: Sink<R, E, In, L, Z>): Sink<R, E, In, L, S> => {
|
96
|
+
return new Sink(
|
97
|
+
Channel.fromIO(Ref.make<Conc<In>>(Conc.empty()).zip(Ref.make(false))).flatMap(
|
98
|
+
([leftoversRef, upstreamDoneRef]) => {
|
99
|
+
const upstreamMarker: Channel<never, never, Conc<In>, unknown, never, Conc<In>, unknown> = Channel.readWith(
|
100
|
+
(inp) => Channel.writeNow(inp) > upstreamMarker,
|
101
|
+
Channel.failNow,
|
102
|
+
(x) => Channel.fromIO(upstreamDoneRef.set(true)).as(x),
|
103
|
+
);
|
104
|
+
function loop(currentResult: S, __tsplusTrace?: string): Channel<R, never, Conc<In>, unknown, E, Conc<L>, S> {
|
105
|
+
return self.channel.collectElements.matchChannel(Channel.failNow, ([leftovers, doneValue]) => {
|
106
|
+
if (p(doneValue)) {
|
107
|
+
return (
|
108
|
+
Channel.fromIO(leftoversRef.set(leftovers.flatten as Conc<In>)) >
|
109
|
+
Channel.fromIO(upstreamDoneRef.get).flatMap((upstreamDone) => {
|
110
|
+
const accumulatedResult = f(currentResult, doneValue);
|
111
|
+
if (upstreamDone) return Channel.writeNow(leftovers.flatten).as(accumulatedResult);
|
112
|
+
else return loop(accumulatedResult);
|
113
|
+
})
|
114
|
+
);
|
115
|
+
} else {
|
116
|
+
return Channel.writeNow(leftovers.flatten).as(currentResult);
|
117
|
+
}
|
118
|
+
});
|
121
119
|
}
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
);
|
120
|
+
return upstreamMarker.pipeTo(Channel.bufferChunk(leftoversRef)).pipeTo(loop(z()));
|
121
|
+
},
|
122
|
+
),
|
123
|
+
);
|
124
|
+
};
|
128
125
|
}
|
129
126
|
|
130
127
|
/**
|
@@ -143,124 +140,119 @@ export function collectLeftover<R, E, In, L, Z>(
|
|
143
140
|
/**
|
144
141
|
* Transforms this sink's input elements.
|
145
142
|
*
|
146
|
-
* @tsplus
|
143
|
+
* @tsplus pipeable fncts.io.Sink contramap
|
147
144
|
*/
|
148
|
-
export function contramap<
|
149
|
-
self: Sink<R, E, In, L, Z
|
150
|
-
|
151
|
-
|
152
|
-
): Sink<R, E, In1, L, Z> {
|
153
|
-
return self.contramapChunks((chunk) => chunk.map(f));
|
145
|
+
export function contramap<In, In1>(f: (inp: In1) => In, __tsplusTrace?: string) {
|
146
|
+
return <R, E, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R, E, In1, L, Z> => {
|
147
|
+
return self.contramapChunks((chunk) => chunk.map(f));
|
148
|
+
};
|
154
149
|
}
|
155
150
|
|
156
151
|
/**
|
157
152
|
* Transforms this sink's input chunks. `f` must preserve chunking-invariance
|
158
153
|
*
|
159
|
-
* @tsplus
|
154
|
+
* @tsplus pipeable fncts.io.Sink contramapChunks
|
160
155
|
*/
|
161
|
-
export function contramapChunks<
|
162
|
-
self: Sink<R, E, In, L, Z
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
);
|
171
|
-
return new Sink(loop >>> self.channel);
|
156
|
+
export function contramapChunks<In, In1>(f: (chunk: Conc<In1>) => Conc<In>, __tsplusTrace?: string) {
|
157
|
+
return <R, E, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R, E, In1, L, Z> => {
|
158
|
+
const loop: Channel<R, never, Conc<In1>, unknown, never, Conc<In>, unknown> = Channel.readWith(
|
159
|
+
(chunk) => Channel.writeNow(f(chunk)) > loop,
|
160
|
+
Channel.failNow,
|
161
|
+
Channel.succeedNow,
|
162
|
+
);
|
163
|
+
return new Sink(loop >>> self.channel);
|
164
|
+
};
|
172
165
|
}
|
173
166
|
|
174
167
|
/**
|
175
168
|
* Effectfully transforms this sink's input chunks. `f` must preserve
|
176
169
|
* chunking-invariance
|
177
170
|
*
|
178
|
-
* @tsplus
|
171
|
+
* @tsplus pipeable fncts.io.Sink contramapChunksIO
|
179
172
|
*/
|
180
|
-
export function contramapChunksIO<
|
181
|
-
self: Sink<R, E, In, L, Z>,
|
173
|
+
export function contramapChunksIO<In, R1, E1, In1>(
|
182
174
|
f: (chunk: Conc<In1>) => IO<R1, E1, Conc<In>>,
|
183
175
|
__tsplusTrace?: string,
|
184
|
-
)
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
176
|
+
) {
|
177
|
+
return <R, E, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In1, L, Z> => {
|
178
|
+
const loop: Channel<R | R1, never, Conc<In1>, unknown, E | E1, Conc<In>, unknown> = Channel.readWith(
|
179
|
+
(chunk) => Channel.fromIO(f(chunk)).flatMap(Channel.writeNow) > loop,
|
180
|
+
Channel.failNow,
|
181
|
+
Channel.succeedNow,
|
182
|
+
);
|
183
|
+
return new Sink(loop.pipeToOrFail(self.channel));
|
184
|
+
};
|
191
185
|
}
|
192
186
|
|
193
187
|
/**
|
194
188
|
* Effectfully transforms this sink's input elements.
|
195
189
|
*
|
196
|
-
* @tsplus
|
190
|
+
* @tsplus pipeable fncts.io.Sink contramapIO
|
197
191
|
*/
|
198
|
-
export function contramapIO<
|
199
|
-
self: Sink<R, E, In, L, Z
|
200
|
-
|
201
|
-
|
202
|
-
): Sink<R | R1, E | E1, In1, L, Z> {
|
203
|
-
return self.contramapChunksIO((chunk) => chunk.mapIO(f));
|
192
|
+
export function contramapIO<In, R1, E1, In1>(f: (inp: In1) => IO<R1, E1, In>, __tsplusTrace?: string) {
|
193
|
+
return <R, E, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In1, L, Z> => {
|
194
|
+
return self.contramapChunksIO((chunk) => chunk.mapIO(f));
|
195
|
+
};
|
204
196
|
}
|
205
197
|
|
206
198
|
/**
|
207
199
|
* Transforms both inputs and result of this sink using the provided
|
208
200
|
* functions.
|
209
201
|
*
|
210
|
-
* @tsplus
|
202
|
+
* @tsplus pipeable fncts.io.Sink dimap
|
211
203
|
*/
|
212
|
-
export function dimap<
|
213
|
-
self: Sink<R, E, In, L, Z
|
214
|
-
|
215
|
-
|
216
|
-
__tsplusTrace?: string,
|
217
|
-
): Sink<R, E, In1, L, Z1> {
|
218
|
-
return self.contramap(f).map(g);
|
204
|
+
export function dimap<In, Z, In1, Z1>(f: (inp: In1) => In, g: (z: Z) => Z1, __tsplusTrace?: string) {
|
205
|
+
return <R, E, L>(self: Sink<R, E, In, L, Z>): Sink<R, E, In1, L, Z1> => {
|
206
|
+
return self.contramap(f).map(g);
|
207
|
+
};
|
219
208
|
}
|
220
209
|
|
221
210
|
/**
|
222
211
|
* Transforms both input chunks and result of this sink using the provided
|
223
212
|
* functions.
|
224
213
|
*
|
225
|
-
* @tsplus
|
214
|
+
* @tsplus pipeable fncts.io.Sink dimapChunks
|
226
215
|
*/
|
227
|
-
export function dimapChunks<
|
228
|
-
self: Sink<R, E, In, L, Z>,
|
216
|
+
export function dimapChunks<In, Z, In1, Z1>(
|
229
217
|
f: (chunk: Conc<In1>) => Conc<In>,
|
230
218
|
g: (z: Z) => Z1,
|
231
219
|
__tsplusTrace?: string,
|
232
|
-
)
|
233
|
-
return self
|
220
|
+
) {
|
221
|
+
return <R, E, L>(self: Sink<R, E, In, L, Z>): Sink<R, E, In1, L, Z1> => {
|
222
|
+
return self.contramapChunks(f).map(g);
|
223
|
+
};
|
234
224
|
}
|
235
225
|
|
236
226
|
/**
|
237
227
|
* Effectfully transforms both input chunks and result of this sink using the
|
238
228
|
* provided functions. `f` and `g` must preserve chunking-invariance
|
239
229
|
*
|
240
|
-
* @tsplus
|
230
|
+
* @tsplus pipeable fncts.io.Sink dimapChunksIO
|
241
231
|
*/
|
242
|
-
export function dimapChunksIO<
|
243
|
-
self: Sink<R, E, In, L, Z>,
|
232
|
+
export function dimapChunksIO<In, Z, R1, E1, In1, R2, E2, Z1>(
|
244
233
|
f: (chunk: Conc<In1>) => IO<R1, E1, Conc<In>>,
|
245
234
|
g: (z: Z) => IO<R2, E2, Z1>,
|
246
235
|
__tsplusTrace?: string,
|
247
|
-
)
|
248
|
-
return self
|
236
|
+
) {
|
237
|
+
return <R, E, L>(self: Sink<R, E, In, L, Z>): Sink<R | R1 | R2, E | E1 | E2, In1, L, Z1> => {
|
238
|
+
return self.contramapChunksIO(f).mapIO(g);
|
239
|
+
};
|
249
240
|
}
|
250
241
|
|
251
242
|
/**
|
252
243
|
* Effectfully transforms both inputs and result of this sink using the
|
253
244
|
* provided functions.
|
254
245
|
*
|
255
|
-
* @tsplus
|
246
|
+
* @tsplus pipeable fncts.io.Sink dimapIO
|
256
247
|
*/
|
257
|
-
export function dimapIO<
|
258
|
-
self: Sink<R, E, In, L, Z>,
|
248
|
+
export function dimapIO<In, Z, R1, E1, In1, R2, E2, Z1>(
|
259
249
|
f: (inp: In1) => IO<R1, E1, In>,
|
260
250
|
g: (z: Z) => IO<R2, E2, Z1>,
|
261
251
|
__tsplusTrace?: string,
|
262
|
-
)
|
263
|
-
return self
|
252
|
+
) {
|
253
|
+
return <R, E, L>(self: Sink<R, E, In, L, Z>): Sink<R | R1 | R2, E | E1 | E2, In1, L, Z1> => {
|
254
|
+
return self.contramapIO(f).mapIO(g);
|
255
|
+
};
|
264
256
|
}
|
265
257
|
|
266
258
|
/**
|
@@ -488,44 +480,40 @@ export function filterInputIO<R, E, In, L, Z, R1, E1>(
|
|
488
480
|
/**
|
489
481
|
* Creates a sink that produces values until one verifies the predicate `f`.
|
490
482
|
*
|
491
|
-
* @tsplus
|
492
|
-
*/
|
493
|
-
export function findIO<
|
494
|
-
self: Sink<R, E, In, L, Z
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
Channel
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
return (upstreamMarker >>> Channel.bufferChunk(leftoversRef)) >>> loop;
|
527
|
-
}),
|
528
|
-
);
|
483
|
+
* @tsplus pipeable fncts.io.Sink findIO
|
484
|
+
*/
|
485
|
+
export function findIO<Z, R1, E1>(f: (z: Z) => IO<R1, E1, boolean>, __tsplusTrace?: string) {
|
486
|
+
return <R, E, In extends L, L>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In, L, Maybe<Z>> => {
|
487
|
+
return new Sink(
|
488
|
+
Channel.fromIO(Ref.make(Conc.empty<In>()).zip(Ref.make(false))).flatMap(([leftoversRef, upstreamDoneRef]) => {
|
489
|
+
const upstreamMarker: Channel<never, never, Conc<In>, unknown, never, Conc<In>, unknown> = Channel.readWith(
|
490
|
+
(inp) => Channel.writeNow(inp) > upstreamMarker,
|
491
|
+
Channel.failNow,
|
492
|
+
(x) => Channel.fromIO(upstreamDoneRef.set(true)).as(x),
|
493
|
+
);
|
494
|
+
const loop: Channel<
|
495
|
+
R | R1,
|
496
|
+
never,
|
497
|
+
Conc<In>,
|
498
|
+
unknown,
|
499
|
+
E | E1,
|
500
|
+
Conc<L>,
|
501
|
+
Maybe<Z>
|
502
|
+
> = self.channel.collectElements.matchChannel(Channel.failNow, ([leftovers, doneValue]) =>
|
503
|
+
Channel.fromIO(f(doneValue)).flatMap(
|
504
|
+
(satisfied) =>
|
505
|
+
Channel.fromIO(leftoversRef.set(leftovers.flatten as Conc<In>)) >
|
506
|
+
Channel.fromIO(upstreamDoneRef.get).flatMap((upstreamDone) => {
|
507
|
+
if (satisfied) return Channel.writeNow(leftovers.flatten).as(Just(doneValue));
|
508
|
+
else if (upstreamDone) return Channel.writeNow(leftovers.flatten).as(Nothing());
|
509
|
+
else return loop;
|
510
|
+
}),
|
511
|
+
),
|
512
|
+
);
|
513
|
+
return (upstreamMarker >>> Channel.bufferChunk(leftoversRef)) >>> loop;
|
514
|
+
}),
|
515
|
+
);
|
516
|
+
};
|
529
517
|
}
|
530
518
|
|
531
519
|
/**
|
@@ -535,14 +523,15 @@ export function findIO<R, E, In extends L, L, Z, R1, E1>(
|
|
535
523
|
*
|
536
524
|
* This function essentially runs sinks in sequence.
|
537
525
|
*
|
538
|
-
* @tsplus
|
526
|
+
* @tsplus pipeable fncts.io.Sink flatMap
|
539
527
|
*/
|
540
|
-
export function flatMap<
|
541
|
-
self: Sink<R, E, In, L, Z>,
|
528
|
+
export function flatMap<In, Z, R1, E1, In1 extends In, L1, Z1>(
|
542
529
|
f: (z: Z) => Sink<R1, E1, In1, L1, Z1>,
|
543
530
|
__tsplusTrace?: string,
|
544
|
-
)
|
545
|
-
return self
|
531
|
+
) {
|
532
|
+
return <R, E, L>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In1, L | L1, Z1> => {
|
533
|
+
return self.matchSink(Sink.failNow, f);
|
534
|
+
};
|
546
535
|
}
|
547
536
|
|
548
537
|
/**
|
@@ -602,10 +591,7 @@ function fromPushPull<R, E, In, L, Z>(
|
|
602
591
|
*
|
603
592
|
* @tsplus static fncts.io.SinkOps fromQueue
|
604
593
|
*/
|
605
|
-
export function fromQueue<In>(
|
606
|
-
queue: Lazy<Queue.Enqueue<In>>,
|
607
|
-
__tsplusTrace?: string,
|
608
|
-
): Sink<never, never, In, never, void> {
|
594
|
+
export function fromQueue<In>(queue: Lazy<Enqueue<In>>, __tsplusTrace?: string): Sink<never, never, In, never, void> {
|
609
595
|
return Sink.unwrap(IO.succeed(queue).map((queue) => Sink.foreachChunk((inp: Conc<In>) => queue.offerAll(inp))));
|
610
596
|
}
|
611
597
|
|
@@ -616,7 +602,7 @@ export function fromQueue<In>(
|
|
616
602
|
* @tsplus static fncts.io.SinkOps fromQueueWithShutdown
|
617
603
|
*/
|
618
604
|
export function fromQueueWithShutdown<In>(
|
619
|
-
queue: Lazy<
|
605
|
+
queue: Lazy<Enqueue<In>>,
|
620
606
|
__tsplusTrace?: string,
|
621
607
|
): Sink<never, never, In, never, void> {
|
622
608
|
return Sink.unwrapScoped(
|
@@ -793,7 +779,6 @@ export function makeForeachChunk<R, E, In>(
|
|
793
779
|
Channel.failCauseNow,
|
794
780
|
() => Channel.unit,
|
795
781
|
);
|
796
|
-
|
797
782
|
return new Sink(process);
|
798
783
|
}
|
799
784
|
|
@@ -846,7 +831,6 @@ export function makeForeachChunkWhile<R, E, In>(
|
|
846
831
|
Channel.failNow,
|
847
832
|
() => Channel.unit,
|
848
833
|
);
|
849
|
-
|
850
834
|
return new Sink(reader);
|
851
835
|
}
|
852
836
|
|
@@ -1190,12 +1174,10 @@ export function makeFoldWeightedDecompose<In, S>(
|
|
1190
1174
|
} else {
|
1191
1175
|
const elem = inp[idx];
|
1192
1176
|
const total = cost + costFn(s, elem);
|
1193
|
-
|
1194
1177
|
if (total <= max) {
|
1195
1178
|
return fold(inp, f(s, elem), max, true, total, idx + 1);
|
1196
1179
|
} else {
|
1197
1180
|
const decomposed = decompose(elem);
|
1198
|
-
|
1199
1181
|
if (decomposed.length <= 1 && !dirty) {
|
1200
1182
|
return [f(s, elem), total, true, inp.drop(idx + 1)];
|
1201
1183
|
} else if (decomposed.length <= 1 && dirty) {
|
@@ -1216,7 +1198,6 @@ export function makeFoldWeightedDecompose<In, S>(
|
|
1216
1198
|
return Channel.readWith(
|
1217
1199
|
(inp: Conc<In>) => {
|
1218
1200
|
const [nextS, nextCost, nextDirty, leftovers] = fold(inp, s, max, dirty, cost, 0);
|
1219
|
-
|
1220
1201
|
if (leftovers.isNonEmpty) {
|
1221
1202
|
return Channel.writeNow(leftovers) > Channel.succeedNow(nextS);
|
1222
1203
|
} else if (cost > max) {
|
@@ -1229,7 +1210,6 @@ export function makeFoldWeightedDecompose<In, S>(
|
|
1229
1210
|
(_: any) => Channel.succeedNow(s),
|
1230
1211
|
);
|
1231
1212
|
}
|
1232
|
-
|
1233
1213
|
return new Sink(go(z(), 0, false, max()));
|
1234
1214
|
});
|
1235
1215
|
}
|
@@ -1311,7 +1291,6 @@ export function makeFoldWeightedDecomposeIO<R, E, In, S, R1, E1, R2, E2>(
|
|
1311
1291
|
(_: any) => Channel.succeedNow(s),
|
1312
1292
|
);
|
1313
1293
|
}
|
1314
|
-
|
1315
1294
|
return new Sink(go(z(), 0, false, max()));
|
1316
1295
|
});
|
1317
1296
|
}
|
@@ -1363,40 +1342,34 @@ export function makeFoldWeightedIO<R, E, In, S, R1, E1>(
|
|
1363
1342
|
/**
|
1364
1343
|
* Transforms this sink's result.
|
1365
1344
|
*
|
1366
|
-
* @tsplus
|
1345
|
+
* @tsplus pipeable fncts.io.Sink map
|
1367
1346
|
*/
|
1368
|
-
export function
|
1369
|
-
self: Sink<R, E, In, L, Z
|
1370
|
-
|
1371
|
-
|
1372
|
-
): Sink<R, E, In, L, Z1> {
|
1373
|
-
return new Sink(self.channel.map(f));
|
1347
|
+
export function map<Z, Z1>(f: (z: Z) => Z1, __tsplusTrace?: string) {
|
1348
|
+
return <R, E, In, L>(self: Sink<R, E, In, L, Z>): Sink<R, E, In, L, Z1> => {
|
1349
|
+
return new Sink(self.channel.map(f));
|
1350
|
+
};
|
1374
1351
|
}
|
1375
1352
|
|
1376
1353
|
/**
|
1377
1354
|
* Transforms the errors emitted by this sink using `f`.
|
1378
1355
|
*
|
1379
|
-
* @tsplus
|
1356
|
+
* @tsplus pipeable fncts.io.Sink mapError
|
1380
1357
|
*/
|
1381
|
-
export function
|
1382
|
-
self: Sink<R, E, In, L, Z
|
1383
|
-
|
1384
|
-
|
1385
|
-
): Sink<R, E1, In, L, Z> {
|
1386
|
-
return new Sink(self.channel.mapError(f));
|
1358
|
+
export function mapError<E, E1>(f: (e: E) => E1, __tsplusTrace?: string) {
|
1359
|
+
return <R, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R, E1, In, L, Z> => {
|
1360
|
+
return new Sink(self.channel.mapError(f));
|
1361
|
+
};
|
1387
1362
|
}
|
1388
1363
|
|
1389
1364
|
/**
|
1390
1365
|
* Effectfully transforms this sink's result.
|
1391
1366
|
*
|
1392
|
-
* @tsplus
|
1367
|
+
* @tsplus pipeable fncts.io.Sink mapIO
|
1393
1368
|
*/
|
1394
|
-
export function
|
1395
|
-
self: Sink<R, E, In, L, Z
|
1396
|
-
|
1397
|
-
|
1398
|
-
): Sink<R | R1, E | E1, In, L, Z1> {
|
1399
|
-
return new Sink(self.channel.mapIO(f));
|
1369
|
+
export function mapIO<Z, R1, E1, Z1>(f: (z: Z) => IO<R1, E1, Z1>, __tsplusTrace?: string) {
|
1370
|
+
return <R, E, In, L>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In, L, Z1> => {
|
1371
|
+
return new Sink(self.channel.mapIO(f));
|
1372
|
+
};
|
1400
1373
|
}
|
1401
1374
|
|
1402
1375
|
/**
|
@@ -1406,127 +1379,124 @@ export function mapIO_<R, E, In, L, Z, R1, E1, Z1>(
|
|
1406
1379
|
*
|
1407
1380
|
* This function essentially runs sinks in sequence.
|
1408
1381
|
*
|
1409
|
-
* @tsplus
|
1382
|
+
* @tsplus pipeable fncts.io.Sink matchSink
|
1410
1383
|
*/
|
1411
|
-
export function
|
1412
|
-
self: Sink<R, E, In, L, Z>,
|
1384
|
+
export function matchSink<E, In, Z, R1, E1, In1 extends In, L1, Z1, R2, E2, In2 extends In, L2, Z2>(
|
1413
1385
|
onFailure: (e: E) => Sink<R1, E1, In1, L1, Z1>,
|
1414
1386
|
onSuccess: (z: Z) => Sink<R2, E2, In2, L2, Z2>,
|
1415
1387
|
__tsplusTrace?: string,
|
1416
|
-
)
|
1417
|
-
return
|
1418
|
-
|
1419
|
-
|
1420
|
-
|
1421
|
-
|
1422
|
-
|
1423
|
-
|
1424
|
-
Channel.
|
1425
|
-
|
1426
|
-
|
1427
|
-
|
1428
|
-
|
1429
|
-
(
|
1430
|
-
|
1431
|
-
|
1432
|
-
|
1433
|
-
|
1434
|
-
|
1388
|
+
) {
|
1389
|
+
return <R, L>(self: Sink<R, E, In, L, Z>): Sink<R | R1 | R2, E1 | E2, In1 & In2, L | L1 | L2, Z1 | Z2> => {
|
1390
|
+
return new Sink<R | R1 | R2, E1 | E2, In1 & In2, L | L1 | L2, Z1 | Z2>(
|
1391
|
+
self.channel.doneCollect.matchChannel(
|
1392
|
+
(e) => onFailure(e).channel,
|
1393
|
+
([leftovers, z]) =>
|
1394
|
+
Channel.defer(() => {
|
1395
|
+
const leftoversRef = new AtomicReference(leftovers.filter((c) => c.isNonEmpty));
|
1396
|
+
const refReader = Channel.succeed(leftoversRef.getAndSet(Conc.empty())).flatMap((chunk) =>
|
1397
|
+
Channel.writeChunk(chunk as unknown as Conc<Conc<In1 & In2>>),
|
1398
|
+
);
|
1399
|
+
const passthrough = Channel.id<never, Conc<In1 & In2>, unknown>();
|
1400
|
+
const continuationSink = (refReader > passthrough).pipeTo(onSuccess(z).channel);
|
1401
|
+
return continuationSink.doneCollect.flatMap(
|
1402
|
+
([newLeftovers, z1]) =>
|
1403
|
+
Channel.succeed(leftoversRef.get).flatMap(Channel.writeChunk) > Channel.writeChunk(newLeftovers).as(z1),
|
1404
|
+
);
|
1405
|
+
}),
|
1406
|
+
),
|
1407
|
+
);
|
1408
|
+
};
|
1435
1409
|
}
|
1436
1410
|
|
1437
1411
|
/**
|
1438
1412
|
* Switch to another sink in case of failure
|
1439
1413
|
*
|
1440
|
-
* @tsplus
|
1414
|
+
* @tsplus pipeable fncts.io.Sink orElse
|
1441
1415
|
*/
|
1442
|
-
export function orElse<
|
1443
|
-
self: Sink<R, E, In, L, Z
|
1444
|
-
|
1445
|
-
|
1446
|
-
): Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1> {
|
1447
|
-
return Sink.defer(new Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1>(self.channel.orElse(that().channel)));
|
1416
|
+
export function orElse<R1, E1, In1, L1, Z1>(that: Lazy<Sink<R1, E1, In1, L1, Z1>>, __tsplusTrace?: string) {
|
1417
|
+
return <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1> => {
|
1418
|
+
return Sink.defer(new Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1>(self.channel.orElse(that().channel)));
|
1419
|
+
};
|
1448
1420
|
}
|
1449
1421
|
|
1450
1422
|
/**
|
1451
1423
|
* Provides the sink with its required environment, which eliminates its
|
1452
1424
|
* dependency on `R`.
|
1453
1425
|
*
|
1454
|
-
* @tsplus
|
1426
|
+
* @tsplus pipeable fncts.io.Sink provideEnvironment
|
1455
1427
|
*/
|
1456
|
-
export function provideEnvironment<R
|
1457
|
-
self: Sink<R, E, In, L, Z
|
1458
|
-
|
1459
|
-
|
1460
|
-
): Sink<never, E, In, L, Z> {
|
1461
|
-
return new Sink(self.channel.provideEnvironment(r));
|
1428
|
+
export function provideEnvironment<R>(r: Lazy<Environment<R>>, __tsplusTrace?: string) {
|
1429
|
+
return <E, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<never, E, In, L, Z> => {
|
1430
|
+
return new Sink(self.channel.provideEnvironment(r));
|
1431
|
+
};
|
1462
1432
|
}
|
1463
1433
|
|
1464
1434
|
/**
|
1465
1435
|
* Runs both sinks in parallel on the input, returning the result or the
|
1466
1436
|
* error from the one that finishes first.
|
1467
1437
|
*
|
1468
|
-
* @tsplus
|
1438
|
+
* @tsplus pipeable fncts.io.Sink race
|
1469
1439
|
*/
|
1470
|
-
export function race<
|
1471
|
-
self: Sink<R, E, In, L, Z
|
1472
|
-
|
1473
|
-
|
1474
|
-
): Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1> {
|
1475
|
-
return self.raceBoth(that).map((result) => result.value);
|
1440
|
+
export function race<R1, E1, In1, L1, Z1>(that: Lazy<Sink<R1, E1, In1, L1, Z1>>, __tsplusTrace?: string) {
|
1441
|
+
return <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Z | Z1> => {
|
1442
|
+
return self.raceBoth(that).map((result) => result.value);
|
1443
|
+
};
|
1476
1444
|
}
|
1477
1445
|
|
1478
1446
|
/**
|
1479
1447
|
* Runs both sinks in parallel on the input, returning the result or the error
|
1480
1448
|
* from the one that finishes first.
|
1481
1449
|
*
|
1482
|
-
* @tsplus
|
1450
|
+
* @tsplus pipeable fncts.io.Sink raceBoth
|
1483
1451
|
*/
|
1484
|
-
export function raceBoth<
|
1485
|
-
self: Sink<R, E, In, L, Z>,
|
1452
|
+
export function raceBoth<R1, E1, In1, L1, Z1>(
|
1486
1453
|
that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
|
1487
1454
|
capacity: Lazy<number> = () => 16,
|
1488
1455
|
__tsplusTrace?: string,
|
1489
|
-
)
|
1490
|
-
return self
|
1491
|
-
|
1492
|
-
|
1493
|
-
|
1494
|
-
|
1495
|
-
|
1456
|
+
) {
|
1457
|
+
return <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, Either<Z, Z1>> => {
|
1458
|
+
return self.raceWith(
|
1459
|
+
that,
|
1460
|
+
(selfDone) => MergeDecision.Done(IO.fromExitNow(selfDone).map(Either.left)),
|
1461
|
+
(thatDone) => MergeDecision.Done(IO.fromExitNow(thatDone).map(Either.right)),
|
1462
|
+
capacity,
|
1463
|
+
);
|
1464
|
+
};
|
1496
1465
|
}
|
1497
1466
|
|
1498
1467
|
/**
|
1499
1468
|
* Runs both sinks in parallel on the input, using the specified merge
|
1500
1469
|
* function as soon as one result or the other has been computed.
|
1501
1470
|
*
|
1502
|
-
* @tsplus
|
1471
|
+
* @tsplus pipeable fncts.io.Sink raceWith
|
1503
1472
|
*/
|
1504
|
-
export function raceWith<R, E,
|
1505
|
-
self: Sink<R, E, In, L, Z>,
|
1473
|
+
export function raceWith<R, E, Z, R1, E1, In1, L1, Z1, E2, Z2, E3, Z3>(
|
1506
1474
|
that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
|
1507
1475
|
leftDone: (exit: Exit<E, Z>) => MergeDecision<R1, E1, Z1, E2, Z2>,
|
1508
1476
|
rightDone: (exit: Exit<E1, Z1>) => MergeDecision<R, E, Z, E3, Z3>,
|
1509
1477
|
capacity: Lazy<number> = () => 16,
|
1510
1478
|
__tsplusTrace?: string,
|
1511
|
-
)
|
1512
|
-
|
1513
|
-
const
|
1514
|
-
|
1515
|
-
|
1516
|
-
|
1517
|
-
|
1518
|
-
|
1519
|
-
|
1520
|
-
|
1521
|
-
|
1522
|
-
|
1523
|
-
|
1524
|
-
|
1525
|
-
|
1526
|
-
|
1479
|
+
) {
|
1480
|
+
return <In, L, R2, R3>(self: Sink<R, E, In, L, Z>): Sink<R | R1 | R2 | R3, E2 | E3, In & In1, L | L1, Z2 | Z3> => {
|
1481
|
+
const scoped = IO.defer(() => {
|
1482
|
+
const that0 = that();
|
1483
|
+
const capacity0 = capacity();
|
1484
|
+
return Do((_) => {
|
1485
|
+
const hub = _(Hub.makeBounded<Either<Exit<never, any>, Conc<In & In1>>>(capacity()));
|
1486
|
+
const c1 = _(Channel.fromHubScoped(hub));
|
1487
|
+
const c2 = _(Channel.fromHubScoped(hub));
|
1488
|
+
const reader = Channel.toHub(hub);
|
1489
|
+
const writer = c1.pipeTo(self.channel).mergeWith(c2.pipeTo(that0.channel), leftDone, rightDone);
|
1490
|
+
const channel = reader.mergeWith(
|
1491
|
+
writer,
|
1492
|
+
() => MergeDecision.Await(IO.fromExitNow),
|
1493
|
+
(done) => MergeDecision.Done(IO.fromExitNow(done)),
|
1494
|
+
);
|
1495
|
+
return new Sink<R | R1 | R2 | R3, E2 | E3, In & In1, L | L1, Z2 | Z3>(channel);
|
1496
|
+
});
|
1527
1497
|
});
|
1528
|
-
|
1529
|
-
|
1498
|
+
return Sink.unwrapScoped(scoped);
|
1499
|
+
};
|
1530
1500
|
}
|
1531
1501
|
|
1532
1502
|
/**
|
@@ -1588,24 +1558,22 @@ export function serviceWithSink<S, R, E, In, L, Z>(
|
|
1588
1558
|
* consumes elements until an element after the first satisfies the specified
|
1589
1559
|
* predicate.
|
1590
1560
|
*
|
1591
|
-
* @tsplus
|
1592
|
-
*/
|
1593
|
-
export function splitWhere<
|
1594
|
-
self: Sink<R, E, In, L, Z
|
1595
|
-
|
1596
|
-
|
1597
|
-
|
1598
|
-
|
1599
|
-
|
1600
|
-
|
1601
|
-
|
1602
|
-
|
1603
|
-
Channel.fromIO(ref.get).flatMap(
|
1604
|
-
(leftover) => Channel.writeNow(leftover.concat(leftovers.flatten)) > Channel.succeedNow(z),
|
1561
|
+
* @tsplus pipeable fncts.io.Sink splitWhere
|
1562
|
+
*/
|
1563
|
+
export function splitWhere<In>(p: Predicate<In>, __tsplusTrace?: string) {
|
1564
|
+
return <R, E, L extends In, Z>(self: Sink<R, E, In, L, Z>): Sink<R, E, In, In, Z> => {
|
1565
|
+
return new Sink(
|
1566
|
+
Channel.fromIO(Ref.make<Conc<In>>(Conc.empty())).flatMap((ref) =>
|
1567
|
+
splitter<R, E, In>(p, false, ref)
|
1568
|
+
.pipeToOrFail(self.channel)
|
1569
|
+
.collectElements.flatMap(([leftovers, z]) =>
|
1570
|
+
Channel.fromIO(ref.get).flatMap(
|
1571
|
+
(leftover) => Channel.writeNow(leftover.concat(leftovers.flatten)) > Channel.succeedNow(z),
|
1572
|
+
),
|
1605
1573
|
),
|
1606
|
-
|
1607
|
-
)
|
1608
|
-
|
1574
|
+
),
|
1575
|
+
);
|
1576
|
+
};
|
1609
1577
|
}
|
1610
1578
|
|
1611
1579
|
function splitter<R, E, In>(
|
@@ -1663,23 +1631,20 @@ export function succeedNow<Z>(z: Z, __tsplusTrace?: string): Sink<never, never,
|
|
1663
1631
|
* Summarize a sink by running an effect when the sink starts and again when
|
1664
1632
|
* it completes
|
1665
1633
|
*
|
1666
|
-
* @tsplus
|
1634
|
+
* @tsplus pipeable fncts.io.Sink summarized
|
1667
1635
|
*/
|
1668
|
-
export function summarized<
|
1669
|
-
self: Sink<R, E, In, L, Z
|
1670
|
-
|
1671
|
-
|
1672
|
-
|
1673
|
-
)
|
1674
|
-
|
1675
|
-
|
1676
|
-
IO.succeed(summary).map((summary) =>
|
1677
|
-
Channel.fromIO(summary).flatMap((start) =>
|
1678
|
-
self.channel.flatMap((done) => Channel.fromIO(summary).map((end) => Function.tuple(done, f(start, end)))),
|
1636
|
+
export function summarized<R1, E1, B, C>(summary: Lazy<IO<R1, E1, B>>, f: (b1: B, b2: B) => C, __tsplusTrace?: string) {
|
1637
|
+
return <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In, L, readonly [Z, C]> => {
|
1638
|
+
return new Sink(
|
1639
|
+
Channel.unwrap(
|
1640
|
+
IO.succeed(summary).map((summary) =>
|
1641
|
+
Channel.fromIO(summary).flatMap((start) =>
|
1642
|
+
self.channel.flatMap((done) => Channel.fromIO(summary).map((end) => Function.tuple(done, f(start, end)))),
|
1643
|
+
),
|
1679
1644
|
),
|
1680
1645
|
),
|
1681
|
-
)
|
1682
|
-
|
1646
|
+
);
|
1647
|
+
};
|
1683
1648
|
}
|
1684
1649
|
|
1685
1650
|
/**
|
@@ -1721,28 +1686,30 @@ export function unwrapScoped<R, E, R1, E1, In, L, Z>(
|
|
1721
1686
|
* the provided sink until it yields a result, finally combining the two
|
1722
1687
|
* results into a tuple.
|
1723
1688
|
*
|
1724
|
-
* @tsplus
|
1689
|
+
* @tsplus pipeable fncts.io.Sink zip
|
1725
1690
|
*/
|
1726
|
-
export function zip<
|
1727
|
-
self: Sink<R, E, In, L, Z>,
|
1691
|
+
export function zip<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(
|
1728
1692
|
that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
|
1729
1693
|
__tsplusTrace?: string,
|
1730
|
-
)
|
1731
|
-
return self
|
1694
|
+
) {
|
1695
|
+
return <R, E, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, readonly [Z, Z1]> => {
|
1696
|
+
return self.zipWith(that, Function.tuple);
|
1697
|
+
};
|
1732
1698
|
}
|
1733
1699
|
|
1734
1700
|
/**
|
1735
1701
|
* Runs both sinks in parallel on the input and combines the results in a
|
1736
1702
|
* tuple.
|
1737
1703
|
*
|
1738
|
-
* @tsplus
|
1704
|
+
* @tsplus pipeable fncts.io.Sink zipC
|
1739
1705
|
*/
|
1740
|
-
export function zipC<
|
1741
|
-
self: Sink<R, E, In, L, Z>,
|
1706
|
+
export function zipC<In, L, R1, E1, In1 extends In, L1 extends L, Z1>(
|
1742
1707
|
that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
|
1743
1708
|
__tsplusTrace?: string,
|
1744
|
-
)
|
1745
|
-
return self
|
1709
|
+
) {
|
1710
|
+
return <R, E, Z>(self: Sink<R, E, In, L, Z>): Sink<R | R1, E | E1, In & In1, L | L1, readonly [Z, Z1]> => {
|
1711
|
+
return self.zipWithC(that, Function.tuple);
|
1712
|
+
};
|
1746
1713
|
}
|
1747
1714
|
|
1748
1715
|
/**
|
@@ -1750,54 +1717,56 @@ export function zipC<R, E, In, L, Z, R1, E1, In1 extends In, L1 extends L, Z1>(
|
|
1750
1717
|
* the provided sink until it yields a result, finally combining the two
|
1751
1718
|
* results with `f`.
|
1752
1719
|
*
|
1753
|
-
* @tsplus
|
1720
|
+
* @tsplus pipeable fncts.io.Sink zipWith
|
1754
1721
|
*/
|
1755
|
-
export function zipWith<
|
1756
|
-
self: Lazy<Sink<R, E, In, L, Z>>,
|
1722
|
+
export function zipWith<In, L, Z, R1, E1, In1 extends In, L1 extends L, Z1, Z2>(
|
1757
1723
|
that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
|
1758
1724
|
f: (z: Z, z1: Z1) => Z2,
|
1759
1725
|
__tsplusTrace?: string,
|
1760
|
-
)
|
1761
|
-
return
|
1726
|
+
) {
|
1727
|
+
return <R, E>(self: Lazy<Sink<R, E, In, L, Z>>): Sink<R | R1, E | E1, In & In1, L | L1, Z2> => {
|
1728
|
+
return Sink.defer(self().flatMap((z) => that().map((z1) => f(z, z1))));
|
1729
|
+
};
|
1762
1730
|
}
|
1763
1731
|
|
1764
1732
|
/**
|
1765
1733
|
* Runs both sinks in parallel on the input and combines the results using the
|
1766
1734
|
* provided function.
|
1767
1735
|
*
|
1768
|
-
* @tsplus
|
1736
|
+
* @tsplus pipeable fncts.io.Sink zipWithC
|
1769
1737
|
*/
|
1770
|
-
export function zipWithC<
|
1771
|
-
self: Lazy<Sink<R, E, In, L, Z>>,
|
1738
|
+
export function zipWithC<Z, R1, E1, In1, L1, Z1, Z2>(
|
1772
1739
|
that: Lazy<Sink<R1, E1, In1, L1, Z1>>,
|
1773
1740
|
f: (z: Z, z1: Z1) => Z2,
|
1774
1741
|
__tsplusTrace?: string,
|
1775
|
-
)
|
1776
|
-
return Sink
|
1777
|
-
|
1778
|
-
|
1779
|
-
|
1780
|
-
exit
|
1781
|
-
|
1782
|
-
|
1783
|
-
|
1784
|
-
|
1785
|
-
|
1786
|
-
|
1742
|
+
) {
|
1743
|
+
return <R, E, In, L>(self: Lazy<Sink<R, E, In, L, Z>>): Sink<R | R1, E | E1, In & In1, L | L1, Z2> => {
|
1744
|
+
return Sink.defer(
|
1745
|
+
self().raceWith(
|
1746
|
+
that(),
|
1747
|
+
(exit) =>
|
1748
|
+
exit.match(
|
1749
|
+
(err) => MergeDecision.Done(IO.failCauseNow(err)),
|
1750
|
+
(lz) =>
|
1751
|
+
MergeDecision.Await((exit) =>
|
1752
|
+
exit.match(
|
1753
|
+
(cause) => IO.failCauseNow(cause),
|
1754
|
+
(rz) => IO.succeedNow(f(lz, rz)),
|
1755
|
+
),
|
1787
1756
|
),
|
1788
|
-
|
1789
|
-
)
|
1790
|
-
|
1791
|
-
|
1792
|
-
|
1793
|
-
|
1794
|
-
|
1795
|
-
|
1796
|
-
|
1797
|
-
|
1757
|
+
),
|
1758
|
+
(exit) =>
|
1759
|
+
exit.match(
|
1760
|
+
(err) => MergeDecision.Done(IO.failCauseNow(err)),
|
1761
|
+
(rz) =>
|
1762
|
+
MergeDecision.Await((exit) =>
|
1763
|
+
exit.match(
|
1764
|
+
(cause) => IO.failCauseNow(cause),
|
1765
|
+
(lz) => IO.succeedNow(f(lz, rz)),
|
1766
|
+
),
|
1798
1767
|
),
|
1799
|
-
|
1800
|
-
|
1801
|
-
)
|
1802
|
-
|
1768
|
+
),
|
1769
|
+
),
|
1770
|
+
);
|
1771
|
+
};
|
1803
1772
|
}
|