@fncts/io 0.0.20 → 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/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/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/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 +4 -4
- package/SupervisorPatch.d.ts +4 -4
- 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 +5 -5
- package/_cjs/Differ/api.cjs.map +1 -1
- 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.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/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 +24 -20
- 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 +1 -1
- package/_cjs/Supervisor/definition.cjs.map +1 -1
- package/_cjs/SupervisorPatch.cjs +15 -11
- package/_cjs/SupervisorPatch.cjs.map +1 -1
- 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 +5 -5
- package/_mjs/Differ/api.mjs.map +1 -1
- 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.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/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 +22 -18
- 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 +1 -1
- package/_mjs/Supervisor/definition.mjs.map +1 -1
- package/_mjs/SupervisorPatch.mjs +15 -11
- package/_mjs/SupervisorPatch.mjs.map +1 -1
- 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/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.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/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 +18 -14
- 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 +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 +7 -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 +7 -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/Schedule/api.ts
CHANGED
@@ -16,164 +16,158 @@ export function make<State, Env, In, Out>(
|
|
16
16
|
}
|
17
17
|
|
18
18
|
/**
|
19
|
-
* @tsplus
|
19
|
+
* @tsplus pipeable fncts.io.Schedule addDelay
|
20
20
|
*/
|
21
|
-
export function
|
22
|
-
self: Schedule.WithState<State, Env, In, Out
|
23
|
-
|
24
|
-
|
25
|
-
): Schedule.WithState<State, Env, In, Out> {
|
26
|
-
return self.addDelayIO((out) => IO.succeed(f(out)));
|
21
|
+
export function addDelay<Out>(f: (out: Out) => number, __tsplusTrace?: string) {
|
22
|
+
return <State, Env, In>(self: Schedule.WithState<State, Env, In, Out>): Schedule.WithState<State, Env, In, Out> => {
|
23
|
+
return self.addDelayIO((out) => IO.succeed(f(out)));
|
24
|
+
};
|
27
25
|
}
|
28
26
|
|
29
27
|
/**
|
30
|
-
* @tsplus
|
28
|
+
* @tsplus pipeable fncts.io.Schedule addDelayIO
|
31
29
|
*/
|
32
|
-
export function
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
30
|
+
export function addDelayIO<Out, Env1>(f: (out: Out) => URIO<Env1, number>, __tsplusTrace?: string) {
|
31
|
+
return <State, Env, In>(
|
32
|
+
self: Schedule.WithState<State, Env, In, Out>,
|
33
|
+
): Schedule.WithState<State, Env | Env1, In, Out> => {
|
34
|
+
return self.modifyDelayIO((out, duration) => f(out).map((d) => duration + d));
|
35
|
+
};
|
38
36
|
}
|
39
37
|
|
40
38
|
/**
|
41
|
-
* @tsplus
|
39
|
+
* @tsplus pipeable fncts.io.Schedule andThen
|
42
40
|
*/
|
43
|
-
export function andThen<
|
44
|
-
self: Schedule.WithState<State, Env, In, Out>,
|
41
|
+
export function andThen<State1, Env1, In1, Out1>(
|
45
42
|
that: Schedule.WithState<State1, Env1, In1, Out1>,
|
46
43
|
__tsplusTrace?: string,
|
47
|
-
)
|
48
|
-
return
|
44
|
+
) {
|
45
|
+
return <State, Env, In, Out>(
|
46
|
+
self: Schedule.WithState<State, Env, In, Out>,
|
47
|
+
): Schedule.WithState<readonly [State, State1, boolean], Env | Env1, In & In1, Out | Out1> => {
|
48
|
+
return self.andThenEither(that).map((out) => out.value);
|
49
|
+
};
|
49
50
|
}
|
50
51
|
|
51
52
|
/**
|
52
|
-
* @tsplus
|
53
|
+
* @tsplus pipeable fncts.io.Schedule andThenEither
|
53
54
|
*/
|
54
|
-
export function
|
55
|
-
self: Schedule.WithState<State, Env, In, Out>,
|
55
|
+
export function andThenEither<State1, Env1, In1, Out1>(
|
56
56
|
that: Schedule.WithState<State1, Env1, In1, Out1>,
|
57
57
|
__tsplusTrace?: string,
|
58
|
-
)
|
59
|
-
return
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
58
|
+
) {
|
59
|
+
return <State, Env, In, Out>(
|
60
|
+
self: Schedule.WithState<State, Env, In, Out>,
|
61
|
+
): Schedule.WithState<readonly [State, State1, boolean], Env | Env1, In & In1, Either<Out, Out1>> => {
|
62
|
+
return Schedule<readonly [State, State1, boolean], Env | Env1, In & In1, Either<Out, Out1>>(
|
63
|
+
[self.initial, that.initial, true],
|
64
|
+
(now, inp, [s1, s2, onLeft]) => {
|
65
|
+
if (onLeft) {
|
66
|
+
return self.step(now, inp, s1).flatMap(([lState, out, decision]) =>
|
67
|
+
decision.match(
|
68
|
+
() =>
|
69
|
+
that
|
70
|
+
.step(now, inp, s2)
|
71
|
+
.map(([rState, out, decision]) => [[lState, rState, false], Either.right(out), decision]),
|
72
|
+
(interval) => IO.succeedNow([[lState, s2, true], Either.left(out), Decision.Continue(interval)]),
|
73
|
+
),
|
74
|
+
);
|
75
|
+
} else {
|
76
|
+
return that
|
77
|
+
.step(now, inp, s2)
|
78
|
+
.map(([rState, out, decision]) => [[s1, rState, false], Either.right(out), decision]);
|
79
|
+
}
|
80
|
+
},
|
81
|
+
);
|
82
|
+
};
|
79
83
|
}
|
80
84
|
|
81
85
|
/**
|
82
|
-
* @tsplus
|
86
|
+
* @tsplus pipeable fncts.io.Schedule as
|
83
87
|
*/
|
84
|
-
export function
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
88
|
+
export function as<Out2>(out2: Lazy<Out2>, __tsplusTrace?: string) {
|
89
|
+
return <State, Env, In, Out>(
|
90
|
+
self: Schedule.WithState<State, Env, In, Out>,
|
91
|
+
): Schedule.WithState<State, Env, In, Out2> => {
|
92
|
+
return self.map(() => out2());
|
93
|
+
};
|
90
94
|
}
|
91
95
|
|
92
96
|
/**
|
93
|
-
* @tsplus
|
97
|
+
* @tsplus pipeable fncts.io.Schedule check
|
94
98
|
*/
|
95
|
-
export function
|
96
|
-
self: Schedule.WithState<State, Env, In, Out
|
97
|
-
|
98
|
-
|
99
|
-
): Schedule.WithState<State, Env, In, Out> {
|
100
|
-
return self.checkIO((inp, out) => IO.succeed(test(inp, out)));
|
99
|
+
export function check<In, Out>(test: (inp: In, out: Out) => boolean, __tsplusTrace?: string) {
|
100
|
+
return <State, Env>(self: Schedule.WithState<State, Env, In, Out>): Schedule.WithState<State, Env, In, Out> => {
|
101
|
+
return self.checkIO((inp, out) => IO.succeed(test(inp, out)));
|
102
|
+
};
|
101
103
|
}
|
102
104
|
|
103
105
|
/**
|
104
|
-
* @tsplus
|
106
|
+
* @tsplus pipeable fncts.io.Schedule checkIO
|
105
107
|
*/
|
106
|
-
export function
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
108
|
+
export function checkIO<In, Out, Env1>(test: (inp: In, out: Out) => URIO<Env1, boolean>, __tsplusTrace?: string) {
|
109
|
+
return <State, Env>(
|
110
|
+
self: Schedule.WithState<State, Env, In, Out>,
|
111
|
+
): Schedule.WithState<State, Env | Env1, In, Out> => {
|
112
|
+
return Schedule(self.initial, (now, inp, state) =>
|
113
|
+
self.step(now, inp, state).flatMap(([state, out, decision]) =>
|
114
|
+
decision.match(
|
115
|
+
() => IO.succeedNow([state, out, decision]),
|
116
|
+
(interval) =>
|
117
|
+
test(inp, out).map((b) => (b ? [state, out, Decision.Continue(interval)] : [state, out, Decision.Done])),
|
118
|
+
),
|
117
119
|
),
|
118
|
-
)
|
119
|
-
|
120
|
+
);
|
121
|
+
};
|
120
122
|
}
|
121
123
|
|
122
124
|
/**
|
123
|
-
* @tsplus
|
125
|
+
* @tsplus pipeable fncts.io.Schedule compose_
|
124
126
|
*/
|
125
|
-
export function
|
126
|
-
self: Schedule.WithState<S, R, I, O
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
() => [[lState, rState], out2, Decision.Done],
|
138
|
-
(interval2) => [[lState, rState], out2, Decision.Continue(interval.max(interval2))],
|
127
|
+
export function compose<O, S1, R1, O2>(that: Schedule.WithState<S1, R1, O, O2>, __tsplusTrace?: string) {
|
128
|
+
return <S, R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<readonly [S, S1], R | R1, I, O2> => {
|
129
|
+
return Schedule([self.initial, that.initial], (now, inp, state) =>
|
130
|
+
self.step(now, inp, state[0]).flatMap(([lState, out, decision]) =>
|
131
|
+
decision.match(
|
132
|
+
() => that.step(now, out, state[1]).map(([rState, out2]) => [[lState, rState], out2, Decision.Done]),
|
133
|
+
(interval) =>
|
134
|
+
that.step(now, out, state[1]).map(([rState, out2, decision]) =>
|
135
|
+
decision.match(
|
136
|
+
() => [[lState, rState], out2, Decision.Done],
|
137
|
+
(interval2) => [[lState, rState], out2, Decision.Continue(interval.max(interval2))],
|
138
|
+
),
|
139
139
|
),
|
140
|
-
|
140
|
+
),
|
141
141
|
),
|
142
|
-
)
|
143
|
-
|
142
|
+
);
|
143
|
+
};
|
144
144
|
}
|
145
145
|
|
146
146
|
/**
|
147
|
-
* @tsplus
|
147
|
+
* @tsplus pipeable fncts.io.Schedule contramap
|
148
148
|
*/
|
149
|
-
export function
|
150
|
-
self: Schedule.WithState<S, R, I, O
|
151
|
-
|
152
|
-
|
153
|
-
): Schedule.WithState<S, R, I2, O> {
|
154
|
-
return self.contramapIO((inp2) => IO.succeed(f(inp2)));
|
149
|
+
export function contramap<I, I2>(f: (inp: I2) => I, __tsplusTrace?: string) {
|
150
|
+
return <S, R, O>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R, I2, O> => {
|
151
|
+
return self.contramapIO((inp2) => IO.succeed(f(inp2)));
|
152
|
+
};
|
155
153
|
}
|
156
154
|
|
157
155
|
/**
|
158
|
-
* @tsplus
|
156
|
+
* @tsplus pipeable fncts.io.Schedule contramapEnvironment
|
159
157
|
*/
|
160
|
-
export function
|
161
|
-
self: Schedule.WithState<S, R, I, O
|
162
|
-
|
163
|
-
|
164
|
-
): Schedule.WithState<S, R1, I, O> {
|
165
|
-
return Schedule(self.initial, (now, inp, state) => self.step(now, inp, state).contramapEnvironment(f));
|
158
|
+
export function contramapEnvironment<R, R1>(f: (env: Environment<R1>) => Environment<R>, __tsplusTrace?: string) {
|
159
|
+
return <S, I, O>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R1, I, O> => {
|
160
|
+
return Schedule(self.initial, (now, inp, state) => self.step(now, inp, state).contramapEnvironment(f));
|
161
|
+
};
|
166
162
|
}
|
167
163
|
|
168
164
|
/**
|
169
|
-
* @tsplus
|
165
|
+
* @tsplus pipeable fncts.io.Schedule contramapIO
|
170
166
|
*/
|
171
|
-
export function
|
172
|
-
self: Schedule.WithState<S, R, I, O
|
173
|
-
|
174
|
-
|
175
|
-
): Schedule.WithState<S, R | R1, I2, O> {
|
176
|
-
return Schedule(self.initial, (now, inp2, state) => f(inp2).flatMap((inp) => self.step(now, inp, state)));
|
167
|
+
export function contramapIO<I, R1, I2>(f: (inp: I2) => URIO<R1, I>, __tsplusTrace?: string) {
|
168
|
+
return <S, R, O>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R | R1, I2, O> => {
|
169
|
+
return Schedule(self.initial, (now, inp2, state) => f(inp2).flatMap((inp) => self.step(now, inp, state)));
|
170
|
+
};
|
177
171
|
}
|
178
172
|
|
179
173
|
/**
|
@@ -187,25 +181,21 @@ export function delayed<S, R, I>(
|
|
187
181
|
}
|
188
182
|
|
189
183
|
/**
|
190
|
-
* @tsplus
|
184
|
+
* @tsplus pipeable fncts.io.Schedule delayed
|
191
185
|
*/
|
192
|
-
export function
|
193
|
-
self: Schedule.WithState<S, R, I, O
|
194
|
-
|
195
|
-
|
196
|
-
): Schedule.WithState<S, R, I, O> {
|
197
|
-
return self.delayedIO((delay) => IO.succeed(f(delay)));
|
186
|
+
export function delayedSelf(f: (delay: number) => number, __tsplusTrace?: string) {
|
187
|
+
return <S, R, I, O>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R, I, O> => {
|
188
|
+
return self.delayedIO((delay) => IO.succeed(f(delay)));
|
189
|
+
};
|
198
190
|
}
|
199
191
|
|
200
192
|
/**
|
201
|
-
* @tsplus
|
193
|
+
* @tsplus pipeable fncts.io.Schedule delayedIO
|
202
194
|
*/
|
203
|
-
export function
|
204
|
-
self: Schedule.WithState<S, R, I, O
|
205
|
-
|
206
|
-
|
207
|
-
): Schedule.WithState<S, R | R1, I, O> {
|
208
|
-
return self.modifyDelayIO((_, delay) => f(delay));
|
195
|
+
export function delayedIO<R1>(f: (delay: number) => URIO<R1, number>, __tsplusTrace?: string) {
|
196
|
+
return <S, R, I, O>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R | R1, I, O> => {
|
197
|
+
return self.modifyDelayIO((_, delay) => f(delay));
|
198
|
+
};
|
209
199
|
}
|
210
200
|
|
211
201
|
/**
|
@@ -229,27 +219,25 @@ export function delays<S, R, I, O>(
|
|
229
219
|
}
|
230
220
|
|
231
221
|
/**
|
232
|
-
* @tsplus
|
222
|
+
* @tsplus pipeable fncts.io.Schedule dimap
|
233
223
|
*/
|
234
|
-
export function
|
235
|
-
self: Schedule.WithState<S, R, I, O
|
236
|
-
|
237
|
-
|
238
|
-
__tsplusTrace?: string,
|
239
|
-
): Schedule.WithState<S, R, I2, O2> {
|
240
|
-
return self.contramap(f).map(g);
|
224
|
+
export function dimap<I, O, I2, O2>(f: (inp2: I2) => I, g: (out: O) => O2, __tsplusTrace?: string) {
|
225
|
+
return <S, R>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R, I2, O2> => {
|
226
|
+
return self.contramap(f).map(g);
|
227
|
+
};
|
241
228
|
}
|
242
229
|
|
243
230
|
/**
|
244
|
-
* @tsplus
|
231
|
+
* @tsplus pipeable fncts.io.Schedule dimapIO
|
245
232
|
*/
|
246
|
-
export function
|
247
|
-
self: Schedule.WithState<S, R, I, O>,
|
233
|
+
export function dimapIO<I, O, R1, I2, R2, O2>(
|
248
234
|
f: (inp2: I2) => URIO<R1, I>,
|
249
235
|
g: (out: O) => URIO<R2, O2>,
|
250
236
|
__tsplusTrace?: string,
|
251
|
-
)
|
252
|
-
return self.
|
237
|
+
) {
|
238
|
+
return <S, R>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R | R1 | R2, I2, O2> => {
|
239
|
+
return self.contramapIO(f).mapIO(g);
|
240
|
+
};
|
253
241
|
}
|
254
242
|
|
255
243
|
/**
|
@@ -272,27 +260,28 @@ export function duration(
|
|
272
260
|
}
|
273
261
|
|
274
262
|
/**
|
275
|
-
* @tsplus
|
276
|
-
* @tsplus operator fncts.io.Schedule ||
|
263
|
+
* @tsplus pipeable fncts.io.Schedule either
|
264
|
+
* @tsplus pipeable-operator fncts.io.Schedule ||
|
277
265
|
*/
|
278
|
-
export function either<
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
266
|
+
export function either<S1, R1, I1, O1>(that: Schedule.WithState<S1, R1, I1, O1>, __tsplusTrace?: string) {
|
267
|
+
return <S, R, I, O>(
|
268
|
+
self: Schedule.WithState<S, R, I, O>,
|
269
|
+
): Schedule.WithState<readonly [S, S1], R | R1, I & I1, readonly [O, O1]> => {
|
270
|
+
return self.unionWith(that, (interval1, interval2) => interval1 || interval2);
|
271
|
+
};
|
284
272
|
}
|
285
273
|
|
286
274
|
/**
|
287
|
-
* @tsplus
|
275
|
+
* @tsplus pipeable fncts.io.Schedule eitherWith
|
288
276
|
*/
|
289
|
-
export function eitherWith<
|
290
|
-
self: Schedule.WithState<S, R, I, O>,
|
277
|
+
export function eitherWith<O, S1, R1, I1, O1, O2>(
|
291
278
|
that: Schedule.WithState<S1, R1, I1, O1>,
|
292
279
|
f: (out1: O, out2: O1) => O2,
|
293
280
|
__tsplusTrace?: string,
|
294
|
-
)
|
295
|
-
return (self
|
281
|
+
) {
|
282
|
+
return <S, R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<readonly [S, S1], R | R1, I & I1, O2> => {
|
283
|
+
return (self || that).map(f.tupled);
|
284
|
+
};
|
296
285
|
}
|
297
286
|
|
298
287
|
/**
|
@@ -311,21 +300,19 @@ export const elapsed: Schedule.WithState<Maybe<number>, never, unknown, number>
|
|
311
300
|
);
|
312
301
|
|
313
302
|
/**
|
314
|
-
* @tsplus
|
303
|
+
* @tsplus pipeable fncts.io.Schedule ensuring
|
315
304
|
*/
|
316
|
-
export function
|
317
|
-
self: Schedule.WithState<S, R, I, O
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
() => finalizer.as([state, out, Decision.Done]),
|
325
|
-
(interval) => IO.succeedNow([state, out, Decision.Continue(interval)]),
|
305
|
+
export function ensuring(finalizer: UIO<any>, __tsplusTrace?: string) {
|
306
|
+
return <S, R, I, O>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R, I, O> => {
|
307
|
+
return Schedule(self.initial, (now, inp, state) =>
|
308
|
+
self.step(now, inp, state).flatMap(([state, out, decision]) =>
|
309
|
+
decision.match(
|
310
|
+
() => finalizer.as([state, out, Decision.Done]),
|
311
|
+
(interval) => IO.succeedNow([state, out, Decision.Continue(interval)]),
|
312
|
+
),
|
326
313
|
),
|
327
|
-
)
|
328
|
-
|
314
|
+
);
|
315
|
+
};
|
329
316
|
}
|
330
317
|
|
331
318
|
/**
|
@@ -377,40 +364,34 @@ export function fixed(
|
|
377
364
|
}
|
378
365
|
|
379
366
|
/**
|
380
|
-
* @tsplus
|
367
|
+
* @tsplus pipeable fncts.io.Schedule fold
|
381
368
|
*/
|
382
|
-
export function
|
383
|
-
self: Schedule.WithState<S, R, I, O
|
384
|
-
|
385
|
-
|
386
|
-
__tsplusTrace?: string,
|
387
|
-
): Schedule.WithState<readonly [S, Z], R, I, Z> {
|
388
|
-
return self.foldIO(z, (z, out) => IO.succeed(f(z, out)));
|
369
|
+
export function fold<O, Z>(z: Z, f: (z: Z, out: O) => Z, __tsplusTrace?: string) {
|
370
|
+
return <S, R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<readonly [S, Z], R, I, Z> => {
|
371
|
+
return self.foldIO(z, (z, out) => IO.succeed(f(z, out)));
|
372
|
+
};
|
389
373
|
}
|
390
374
|
|
391
375
|
/**
|
392
|
-
* @tsplus
|
376
|
+
* @tsplus pipeable fncts.io.Schedule foldIO
|
393
377
|
*/
|
394
|
-
export function
|
395
|
-
self: Schedule.WithState<S, R, I, O
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
)
|
400
|
-
|
401
|
-
|
402
|
-
decision.match(
|
403
|
-
() => IO.succeedNow([[s, z], z, Decision.Done]),
|
404
|
-
(interval) => f(z, out).map((z2) => [[s, z2], z, Decision.Continue(interval)]),
|
378
|
+
export function foldIO<O, Z, R1>(z: Z, f: (z: Z, out: O) => URIO<R1, Z>, __tsplusTrace?: string) {
|
379
|
+
return <S, R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<readonly [S, Z], R | R1, I, Z> => {
|
380
|
+
return Schedule([self.initial, z], (now, inp, [s, z]) =>
|
381
|
+
self.step(now, inp, s).flatMap(([s, out, decision]) =>
|
382
|
+
decision.match(
|
383
|
+
() => IO.succeedNow([[s, z], z, Decision.Done]),
|
384
|
+
(interval) => f(z, out).map((z2) => [[s, z2], z, Decision.Continue(interval)]),
|
385
|
+
),
|
405
386
|
),
|
406
|
-
)
|
407
|
-
|
387
|
+
);
|
388
|
+
};
|
408
389
|
}
|
409
390
|
|
410
391
|
/**
|
411
392
|
* @tsplus getter fncts.io.Schedule forever
|
412
393
|
*/
|
413
|
-
export function
|
394
|
+
export function repeatForever<S, R, I, O>(
|
414
395
|
self: Schedule.WithState<S, R, I, O>,
|
415
396
|
__tsplusTrace?: string,
|
416
397
|
): Schedule.WithState<S, R, I, O> {
|
@@ -470,26 +451,39 @@ function intersectWithLoop<S, R, I, O, S1, R1, I1, O1>(
|
|
470
451
|
}
|
471
452
|
|
472
453
|
/**
|
473
|
-
* @tsplus
|
454
|
+
* @tsplus pipeable fncts.io.Schedule intersectWith
|
474
455
|
*/
|
475
|
-
export function
|
476
|
-
self: Schedule.WithState<S, R, I, O>,
|
456
|
+
export function intersectWith<S1, R1, I1, O1>(
|
477
457
|
that: Schedule.WithState<S1, R1, I1, O1>,
|
478
458
|
f: (int1: Intervals, int2: Intervals) => Intervals,
|
479
459
|
__tsplusTrace?: string,
|
480
|
-
)
|
481
|
-
return
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
460
|
+
) {
|
461
|
+
return <S, R, I, O>(
|
462
|
+
self: Schedule.WithState<S, R, I, O>,
|
463
|
+
): Schedule.WithState<readonly [S, S1], R | R1, I & I1, readonly [O, O1]> => {
|
464
|
+
return Schedule([self.initial, that.initial] as const, (now, inp, state) => {
|
465
|
+
const left = self.step(now, inp, state[0]);
|
466
|
+
const right = that.step(now, inp, state[1]);
|
467
|
+
return left.zipWith(right, ([lState, out, lDecision], [rState, out2, rDecision]) => {
|
468
|
+
if (lDecision._tag === DecisionTag.Continue && rDecision._tag === DecisionTag.Continue) {
|
469
|
+
return intersectWithLoop(
|
470
|
+
self,
|
471
|
+
that,
|
472
|
+
inp,
|
473
|
+
lState,
|
474
|
+
out,
|
475
|
+
lDecision.interval,
|
476
|
+
rState,
|
477
|
+
out2,
|
478
|
+
rDecision.interval,
|
479
|
+
f,
|
480
|
+
);
|
481
|
+
} else {
|
482
|
+
return IO.succeedNow([[lState, rState], [out, out2], Decision.Done] as const);
|
483
|
+
}
|
484
|
+
}).flatten;
|
485
|
+
});
|
486
|
+
};
|
493
487
|
}
|
494
488
|
|
495
489
|
/**
|
@@ -500,121 +494,124 @@ export function linear(base: number, __tsplusTrace?: string): Schedule.WithState
|
|
500
494
|
}
|
501
495
|
|
502
496
|
/**
|
503
|
-
* @tsplus
|
497
|
+
* @tsplus pipeable fncts.io.Schedule map
|
504
498
|
*/
|
505
|
-
export function
|
506
|
-
self: Schedule.WithState<State, Env, In, Out
|
507
|
-
|
508
|
-
|
509
|
-
): Schedule.WithState<State, Env, In, Out1> {
|
510
|
-
return self.mapIO((out) => IO.succeedNow(f(out)));
|
499
|
+
export function map<Out, Out1>(f: (out: Out) => Out1, __tsplusTrace?: string) {
|
500
|
+
return <State, Env, In>(self: Schedule.WithState<State, Env, In, Out>): Schedule.WithState<State, Env, In, Out1> => {
|
501
|
+
return self.mapIO((out) => IO.succeedNow(f(out)));
|
502
|
+
};
|
511
503
|
}
|
512
504
|
|
513
505
|
/**
|
514
|
-
* @tsplus
|
506
|
+
* @tsplus pipeable fncts.io.Schedule mapIO
|
515
507
|
*/
|
516
|
-
export function
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
508
|
+
export function mapIO<Out, Env1, Out1>(f: (out: Out) => URIO<Env1, Out1>, __tsplusTrace?: string) {
|
509
|
+
return <State, Env, In>(
|
510
|
+
self: Schedule.WithState<State, Env, In, Out>,
|
511
|
+
): Schedule.WithState<State, Env | Env1, In, Out1> => {
|
512
|
+
return Schedule(self.initial, (now, inp, state) =>
|
513
|
+
self.step(now, inp, state).flatMap(([state, out, decision]) => f(out).map((out1) => [state, out1, decision])),
|
514
|
+
);
|
515
|
+
};
|
524
516
|
}
|
525
517
|
|
526
518
|
/**
|
527
|
-
* @tsplus
|
519
|
+
* @tsplus pipeable fncts.io.Schedule modifyDelayIO
|
528
520
|
*/
|
529
|
-
export function
|
530
|
-
self: Schedule.WithState<State, Env, In, Out>,
|
521
|
+
export function modifyDelayIO<Out, Env1>(
|
531
522
|
f: (out: Out, duration: number) => URIO<Env1, number>,
|
532
523
|
__tsplusTrace?: string,
|
533
|
-
)
|
534
|
-
return
|
535
|
-
self.
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
const
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
524
|
+
) {
|
525
|
+
return <State, Env, In>(
|
526
|
+
self: Schedule.WithState<State, Env, In, Out>,
|
527
|
+
): Schedule.WithState<State, Env | Env1, In, Out> => {
|
528
|
+
return Schedule(self.initial, (now, inp, state) =>
|
529
|
+
self.step(now, inp, state).flatMap(([state, out, decision]) =>
|
530
|
+
decision.match(
|
531
|
+
() => IO.succeedNow([state, out, decision]),
|
532
|
+
(interval) => {
|
533
|
+
const delay = Interval(now, interval.start).size;
|
534
|
+
return f(out, delay).map((duration) => {
|
535
|
+
const oldStart = interval.start;
|
536
|
+
const newStart = now + duration;
|
537
|
+
const delta = newStart - oldStart;
|
538
|
+
const newEnd = interval.end + delta;
|
539
|
+
const newInterval = Interval(newStart, newEnd);
|
540
|
+
return [state, out, Decision.continueWith(newInterval)];
|
541
|
+
});
|
542
|
+
},
|
543
|
+
),
|
550
544
|
),
|
551
|
-
)
|
552
|
-
|
545
|
+
);
|
546
|
+
};
|
553
547
|
}
|
554
548
|
|
555
549
|
/**
|
556
|
-
* @tsplus
|
550
|
+
* @tsplus pipeable fncts.io.Schedule onDecision
|
557
551
|
*/
|
558
|
-
export function
|
559
|
-
self: Schedule.WithState<S, R, I, O>,
|
552
|
+
export function onDecision<S, O, R1>(
|
560
553
|
f: (state: S, out: O, decision: Decision) => URIO<R1, any>,
|
561
554
|
__tsplusTrace?: string,
|
562
|
-
)
|
563
|
-
return
|
564
|
-
self.
|
565
|
-
|
555
|
+
) {
|
556
|
+
return <R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R | R1, I, O> => {
|
557
|
+
return Schedule(self.initial, (now, inp, state) =>
|
558
|
+
self
|
559
|
+
.step(now, inp, state)
|
560
|
+
.flatMap(([state, out, decision]) => f(state, out, decision).as([state, out, decision])),
|
561
|
+
);
|
562
|
+
};
|
566
563
|
}
|
567
564
|
|
568
565
|
/**
|
569
|
-
* @tsplus
|
566
|
+
* @tsplus pipeable fncts.io.Schedule provideEnvironment
|
570
567
|
*/
|
571
|
-
export function
|
572
|
-
self: Schedule.WithState<S, R, I, O
|
573
|
-
|
574
|
-
|
575
|
-
): Schedule.WithState<S, never, I, O> {
|
576
|
-
return Schedule(self.initial, (now, inp, state) => self.step(now, inp, state).provideEnvironment(env));
|
568
|
+
export function provideEnvironment<R>(env: Environment<R>, __tsplusTrace?: string) {
|
569
|
+
return <S, I, O>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, never, I, O> => {
|
570
|
+
return Schedule(self.initial, (now, inp, state) => self.step(now, inp, state).provideEnvironment(env));
|
571
|
+
};
|
577
572
|
}
|
578
573
|
|
579
574
|
/**
|
580
|
-
* @tsplus
|
575
|
+
* @tsplus pipeable fncts.io.Schedule reconsider
|
581
576
|
*/
|
582
|
-
export function
|
583
|
-
self: Schedule.WithState<S, R, I, O>,
|
577
|
+
export function reconsider<S, O, O2>(
|
584
578
|
f: (state: S, out: O, decision: Decision) => Either<O2, readonly [O2, Interval]>,
|
585
579
|
__tsplusTrace?: string,
|
586
|
-
)
|
587
|
-
return self.
|
580
|
+
) {
|
581
|
+
return <R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R, I, O2> => {
|
582
|
+
return self.reconsiderIO((state, out, decision) => IO.succeed(f(state, out, decision)));
|
583
|
+
};
|
588
584
|
}
|
589
585
|
|
590
586
|
/**
|
591
|
-
* @tsplus
|
587
|
+
* @tsplus pipeable fncts.io.Schedule reconsiderIO
|
592
588
|
*/
|
593
|
-
export function
|
594
|
-
self: Schedule.WithState<S, R, I, O>,
|
589
|
+
export function reconsiderIO<S, O, R1, O1>(
|
595
590
|
f: (state: S, out: O, decision: Decision) => URIO<R1, Either<O1, readonly [O1, Interval]>>,
|
596
591
|
__tsplusTrace?: string,
|
597
|
-
)
|
598
|
-
return
|
599
|
-
self.
|
600
|
-
|
601
|
-
(
|
602
|
-
|
603
|
-
|
604
|
-
(
|
605
|
-
|
592
|
+
) {
|
593
|
+
return <R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R | R1, I, O1> => {
|
594
|
+
return Schedule(self.initial, (now, inp, state) =>
|
595
|
+
self.step(now, inp, state).flatMap(([state, out, decision]) =>
|
596
|
+
decision.match(
|
597
|
+
() =>
|
598
|
+
f(state, out, decision).map((r) =>
|
599
|
+
r.match(
|
600
|
+
(out1) => [state, out1, Decision.Done],
|
601
|
+
([out1, _]) => [state, out1, Decision.Done],
|
602
|
+
),
|
606
603
|
),
|
607
|
-
)
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
604
|
+
() =>
|
605
|
+
f(state, out, decision).map((r) =>
|
606
|
+
r.match(
|
607
|
+
(out1) => [state, out1, Decision.Done],
|
608
|
+
([out1, interval]) => [state, out1, Decision.continueWith(interval)],
|
609
|
+
),
|
613
610
|
),
|
614
|
-
|
611
|
+
),
|
615
612
|
),
|
616
|
-
)
|
617
|
-
|
613
|
+
);
|
614
|
+
};
|
618
615
|
}
|
619
616
|
|
620
617
|
/**
|
@@ -683,58 +680,53 @@ export function repetitions<S, R, I, O>(
|
|
683
680
|
}
|
684
681
|
|
685
682
|
/**
|
686
|
-
* @tsplus
|
683
|
+
* @tsplus pipeable fncts.io.Schedule resetAfter
|
687
684
|
*/
|
688
|
-
export function
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
685
|
+
export function resetAfter(duration: number, __tsplusTrace?: string) {
|
686
|
+
return <S, R, I, O>(
|
687
|
+
self: Schedule.WithState<S, R, I, O>,
|
688
|
+
): Schedule.WithState<readonly [S, Maybe<number>], R, I, O> => {
|
689
|
+
return self
|
690
|
+
.zip(Schedule.elapsed)
|
691
|
+
.resetWhen(([_, d]) => d >= duration)
|
692
|
+
.map(([out, _]) => out);
|
693
|
+
};
|
697
694
|
}
|
698
695
|
|
699
696
|
/**
|
700
|
-
* @tsplus
|
697
|
+
* @tsplus pipeable fncts.io.Schedule resetWhen
|
701
698
|
*/
|
702
|
-
export function
|
703
|
-
self: Schedule.WithState<S, R, I, O
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
),
|
713
|
-
);
|
699
|
+
export function resetWhen<O>(f: (out: O) => boolean, __tsplusTrace?: string) {
|
700
|
+
return <S, R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R, I, O> => {
|
701
|
+
return Schedule(self.initial, (now, inp, state) =>
|
702
|
+
self
|
703
|
+
.step(now, inp, state)
|
704
|
+
.flatMap(([state, out, decision]) =>
|
705
|
+
f(out) ? self.step(now, inp, self.initial) : IO.succeedNow([state, out, decision]),
|
706
|
+
),
|
707
|
+
);
|
708
|
+
};
|
714
709
|
}
|
715
710
|
|
716
711
|
/**
|
717
|
-
* @tsplus
|
712
|
+
* @tsplus pipeable fncts.io.Schedule run
|
718
713
|
*/
|
719
|
-
export function
|
720
|
-
self: Schedule.WithState<S, R, I, O
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
);
|
735
|
-
}
|
714
|
+
export function run<I>(now: number, input: Iterable<I>, __tsplusTrace?: string) {
|
715
|
+
return <S, R, O>(self: Schedule.WithState<S, R, I, O>): URIO<R, Conc<O>> => {
|
716
|
+
const loop = (now: number, xs: List<I>, state: S, acc: Conc<O>): URIO<R, Conc<O>> => {
|
717
|
+
if (xs.isEmpty()) {
|
718
|
+
return IO.succeedNow(acc);
|
719
|
+
} else {
|
720
|
+
return self.step(now, xs.head, state).flatMap(([state, out, decision]) =>
|
721
|
+
decision.match(
|
722
|
+
() => IO.succeed(acc.append(out)),
|
723
|
+
(interval) => loop(interval.start, xs.tail, state, acc.append(out)),
|
724
|
+
),
|
725
|
+
);
|
726
|
+
}
|
727
|
+
};
|
728
|
+
return loop(now, List.from(input), self.initial, Conc.empty());
|
736
729
|
};
|
737
|
-
return loop(now, List.from(input), self.initial, Conc.empty());
|
738
730
|
}
|
739
731
|
|
740
732
|
/**
|
@@ -752,58 +744,56 @@ export function succeed<A>(a: Lazy<A>, __tsplusTrace?: string): Schedule.WithSta
|
|
752
744
|
}
|
753
745
|
|
754
746
|
/**
|
755
|
-
* @tsplus
|
747
|
+
* @tsplus pipeable fncts.io.Schedule tapInput
|
756
748
|
*/
|
757
|
-
export function
|
758
|
-
self: Schedule.WithState<S, R, I, O
|
759
|
-
|
760
|
-
|
761
|
-
): Schedule.WithState<S, R | R1, I, O> {
|
762
|
-
return Schedule(self.initial, (now, inp, state) => f(inp).apSecond(self.step(now, inp, state)));
|
749
|
+
export function tapInput<I, R1>(f: (inp: I) => URIO<R1, any>, __tsplusTrace?: string) {
|
750
|
+
return <S, R, O>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R | R1, I, O> => {
|
751
|
+
return Schedule(self.initial, (now, inp, state) => f(inp).apSecond(self.step(now, inp, state)));
|
752
|
+
};
|
763
753
|
}
|
764
754
|
|
765
755
|
/**
|
766
|
-
* @tsplus
|
756
|
+
* @tsplus pipeable fncts.io.Schedule tapOutput
|
767
757
|
*/
|
768
|
-
export function
|
769
|
-
self: Schedule.WithState<S, R, I, O
|
770
|
-
|
771
|
-
|
772
|
-
): Schedule.WithState<S, R | R1, I, O> {
|
773
|
-
return Schedule(self.initial, (now, inp, state) => self.step(now, inp, state).tap(([_, out]) => f(out)));
|
758
|
+
export function tapOutput<O, R1>(f: (out: O) => URIO<R1, any>, __tsplusTrace?: string) {
|
759
|
+
return <S, R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R | R1, I, O> => {
|
760
|
+
return Schedule(self.initial, (now, inp, state) => self.step(now, inp, state).tap(([_, out]) => f(out)));
|
761
|
+
};
|
774
762
|
}
|
775
763
|
|
776
764
|
/**
|
777
|
-
* @tsplus
|
765
|
+
* @tsplus pipeable fncts.io.Schedule unionWith
|
778
766
|
*/
|
779
|
-
export function
|
780
|
-
self: Schedule.WithState<S, R, I, O>,
|
767
|
+
export function unionWith<S1, R1, I1, O1>(
|
781
768
|
that: Schedule.WithState<S1, R1, I1, O1>,
|
782
769
|
f: (int1: Intervals, int2: Intervals) => Intervals,
|
783
770
|
__tsplusTrace?: string,
|
784
|
-
)
|
785
|
-
return
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
(
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
771
|
+
) {
|
772
|
+
return <S, R, I, O>(
|
773
|
+
self: Schedule.WithState<S, R, I, O>,
|
774
|
+
): Schedule.WithState<readonly [S, S1], R | R1, I & I1, readonly [O, O1]> => {
|
775
|
+
return Schedule([self.initial, that.initial], (now, inp, state) => {
|
776
|
+
const left = self.step(now, inp, state[0]);
|
777
|
+
const right = that.step(now, inp, state[1]);
|
778
|
+
return left.zipWith(right, ([lstate, l, d1], [rstate, r, d2]) =>
|
779
|
+
d1.match(
|
780
|
+
() =>
|
781
|
+
d2.match(
|
782
|
+
() => [[lstate, rstate], [l, r], Decision.Done],
|
783
|
+
(interval) => [[lstate, rstate], [l, r], Decision.Continue(interval)],
|
784
|
+
),
|
785
|
+
(linterval) =>
|
786
|
+
d2.match(
|
787
|
+
() => [[lstate, rstate], [l, r], Decision.Continue(linterval)],
|
788
|
+
(rinterval) => {
|
789
|
+
const combined = f(linterval, rinterval);
|
790
|
+
return [[lstate, rstate], [l, r], Decision.Continue(combined)];
|
791
|
+
},
|
792
|
+
),
|
793
|
+
),
|
794
|
+
);
|
795
|
+
});
|
796
|
+
};
|
807
797
|
}
|
808
798
|
|
809
799
|
/**
|
@@ -820,47 +810,39 @@ export function unfold<A>(
|
|
820
810
|
}
|
821
811
|
|
822
812
|
/**
|
823
|
-
* @tsplus
|
813
|
+
* @tsplus pipeable fncts.io.Schedule untilInput
|
824
814
|
*/
|
825
|
-
export function
|
826
|
-
self: Schedule.WithState<S, R, I, O
|
827
|
-
|
828
|
-
|
829
|
-
): Schedule.WithState<S, R, I, O> {
|
830
|
-
return self.check((inp) => !f(inp));
|
815
|
+
export function untilInput<I>(f: (inp: I) => boolean, __tsplusTrace?: string) {
|
816
|
+
return <S, R, O>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R, I, O> => {
|
817
|
+
return self.check((inp) => !f(inp));
|
818
|
+
};
|
831
819
|
}
|
832
820
|
|
833
821
|
/**
|
834
|
-
* @tsplus
|
822
|
+
* @tsplus pipeable fncts.io.Schedule untilInputIO
|
835
823
|
*/
|
836
|
-
export function
|
837
|
-
self: Schedule.WithState<S, R, I, O
|
838
|
-
|
839
|
-
|
840
|
-
): Schedule.WithState<S, R | R1, I, O> {
|
841
|
-
return self.checkIO((inp) => f(inp).map((b) => !b));
|
824
|
+
export function untilInputIO<I, R1>(f: (inp: I) => URIO<R1, boolean>, __tsplusTrace?: string) {
|
825
|
+
return <S, R, O>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R | R1, I, O> => {
|
826
|
+
return self.checkIO((inp) => f(inp).map((b) => !b));
|
827
|
+
};
|
842
828
|
}
|
843
829
|
|
844
830
|
/**
|
845
|
-
* @tsplus
|
831
|
+
* @tsplus pipeable fncts.io.Schedule untilOutput
|
846
832
|
*/
|
847
|
-
export function
|
848
|
-
self: Schedule.WithState<S, R, I, O
|
849
|
-
|
850
|
-
|
851
|
-
): Schedule.WithState<S, R, I, O> {
|
852
|
-
return self.check((_, out) => !f(out));
|
833
|
+
export function untilOutput<O>(f: (out: O) => boolean, __tsplusTrace?: string) {
|
834
|
+
return <S, R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R, I, O> => {
|
835
|
+
return self.check((_, out) => !f(out));
|
836
|
+
};
|
853
837
|
}
|
854
838
|
|
855
839
|
/**
|
856
|
-
* @tsplus
|
840
|
+
* @tsplus pipeable fncts.io.Schedule untilOutputIO
|
857
841
|
*/
|
858
|
-
export function
|
859
|
-
self: Schedule.WithState<S, R, I, O
|
860
|
-
|
861
|
-
|
862
|
-
): Schedule.WithState<S, R | R1, I, O> {
|
863
|
-
return self.checkIO((_, out) => f(out).map((b) => !b));
|
842
|
+
export function untilOutputIO<O, R1>(f: (out: O) => URIO<R1, boolean>, __tsplusTrace?: string) {
|
843
|
+
return <S, R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R | R1, I, O> => {
|
844
|
+
return self.checkIO((_, out) => f(out).map((b) => !b));
|
845
|
+
};
|
864
846
|
}
|
865
847
|
|
866
848
|
/**
|
@@ -874,47 +856,39 @@ export function upTo(
|
|
874
856
|
}
|
875
857
|
|
876
858
|
/**
|
877
|
-
* @tsplus
|
859
|
+
* @tsplus pipeable fncts.io.Schedule whileInput
|
878
860
|
*/
|
879
|
-
export function
|
880
|
-
self: Schedule.WithState<S, R, I, O
|
881
|
-
|
882
|
-
|
883
|
-
): Schedule.WithState<S, R, I, O> {
|
884
|
-
return self.check((inp) => f(inp));
|
861
|
+
export function whileInput<I>(f: (inp: I) => boolean, __tsplusTrace?: string) {
|
862
|
+
return <S, R, O>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R, I, O> => {
|
863
|
+
return self.check((inp) => f(inp));
|
864
|
+
};
|
885
865
|
}
|
886
866
|
|
887
867
|
/**
|
888
|
-
* @tsplus
|
868
|
+
* @tsplus pipeable fncts.io.Schedule whileInputIO
|
889
869
|
*/
|
890
|
-
export function
|
891
|
-
self: Schedule.WithState<S, R, I, O
|
892
|
-
|
893
|
-
|
894
|
-
): Schedule.WithState<S, R | R1, I, O> {
|
895
|
-
return self.checkIO((inp) => f(inp));
|
870
|
+
export function whileInputIO<I, R1>(f: (inp: I) => URIO<R1, boolean>, __tsplusTrace?: string) {
|
871
|
+
return <S, R, O>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R | R1, I, O> => {
|
872
|
+
return self.checkIO((inp) => f(inp));
|
873
|
+
};
|
896
874
|
}
|
897
875
|
|
898
876
|
/**
|
899
|
-
* @tsplus
|
877
|
+
* @tsplus pipeable fncts.io.Schedule whileOutput
|
900
878
|
*/
|
901
|
-
export function
|
902
|
-
self: Schedule.WithState<S, R, I, O
|
903
|
-
|
904
|
-
|
905
|
-
): Schedule.WithState<S, R, I, O> {
|
906
|
-
return self.check((_, out) => f(out));
|
879
|
+
export function whileOutput<O>(f: (out: O) => boolean, __tsplusTrace?: string) {
|
880
|
+
return <S, R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R, I, O> => {
|
881
|
+
return self.check((_, out) => f(out));
|
882
|
+
};
|
907
883
|
}
|
908
884
|
|
909
885
|
/**
|
910
|
-
* @tsplus
|
886
|
+
* @tsplus pipeable fncts.io.Schedule whileOutputIO
|
911
887
|
*/
|
912
|
-
export function
|
913
|
-
self: Schedule.WithState<S, R, I, O
|
914
|
-
|
915
|
-
|
916
|
-
): Schedule.WithState<S, R | R1, I, O> {
|
917
|
-
return self.checkIO((_, out) => f(out));
|
888
|
+
export function whileOutputIO<O, R1>(f: (out: O) => URIO<R1, boolean>, __tsplusTrace?: string) {
|
889
|
+
return <S, R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<S, R | R1, I, O> => {
|
890
|
+
return self.checkIO((_, out) => f(out));
|
891
|
+
};
|
918
892
|
}
|
919
893
|
|
920
894
|
/**
|
@@ -939,46 +913,47 @@ export function windowed(
|
|
939
913
|
}
|
940
914
|
|
941
915
|
/**
|
942
|
-
* @tsplus
|
916
|
+
* @tsplus pipeable fncts.io.Schedule zip
|
943
917
|
*/
|
944
|
-
export function
|
945
|
-
|
946
|
-
|
947
|
-
|
948
|
-
|
949
|
-
|
918
|
+
export function zip<S1, R1, I1, O1>(that: Schedule.WithState<S1, R1, I1, O1>, __tsplusTrace?: string) {
|
919
|
+
return <S, R, I, O>(
|
920
|
+
self: Schedule.WithState<S, R, I, O>,
|
921
|
+
): Schedule.WithState<readonly [S, S1], R | R1, I & I1, readonly [O, O1]> => {
|
922
|
+
return self.intersectWith(that, (lInterval, rInterval) => lInterval.intersect(rInterval));
|
923
|
+
};
|
950
924
|
}
|
951
925
|
|
952
926
|
/**
|
953
|
-
* @tsplus
|
927
|
+
* @tsplus pipeable fncts.io.Schedule zipLeft
|
954
928
|
*/
|
955
|
-
export function
|
956
|
-
|
957
|
-
|
958
|
-
|
959
|
-
|
960
|
-
|
929
|
+
export function zipLeft<S1, R1, I1, O1>(that: Schedule.WithState<S1, R1, I1, O1>, __tsplusTrace?: string) {
|
930
|
+
return <S, R, I, O>(
|
931
|
+
self: Schedule.WithState<S, R, I, O>,
|
932
|
+
): Schedule.WithState<readonly [S, S1], R | R1, I & I1, O> => {
|
933
|
+
return self.zip(that).map(([out]) => out);
|
934
|
+
};
|
961
935
|
}
|
962
936
|
|
963
937
|
/**
|
964
|
-
* @tsplus
|
938
|
+
* @tsplus pipeable fncts.io.Schedule zipRight
|
965
939
|
*/
|
966
|
-
export function
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
971
|
-
|
940
|
+
export function zipRight<S1, R1, I1, O1>(that: Schedule.WithState<S1, R1, I1, O1>, __tsplusTrace?: string) {
|
941
|
+
return <S, R, I, O>(
|
942
|
+
self: Schedule.WithState<S, R, I, O>,
|
943
|
+
): Schedule.WithState<readonly [S, S1], R | R1, I & I1, O1> => {
|
944
|
+
return self.zip(that).map(([_, out1]) => out1);
|
945
|
+
};
|
972
946
|
}
|
973
947
|
|
974
948
|
/**
|
975
|
-
* @tsplus
|
949
|
+
* @tsplus pipeable fncts.io.Schedule zipWith
|
976
950
|
*/
|
977
|
-
export function
|
978
|
-
self: Schedule.WithState<S, R, I, O>,
|
951
|
+
export function zipWith<O, S1, R1, I1, O2, O3>(
|
979
952
|
that: Schedule.WithState<S1, R1, I1, O2>,
|
980
953
|
f: (out1: O, out2: O2) => O3,
|
981
954
|
__tsplusTrace?: string,
|
982
|
-
)
|
983
|
-
return self.
|
955
|
+
) {
|
956
|
+
return <S, R, I>(self: Schedule.WithState<S, R, I, O>): Schedule.WithState<readonly [S, S1], R | R1, I & I1, O3> => {
|
957
|
+
return self.zip(that).map(([out1, out2]) => f(out1, out2));
|
958
|
+
};
|
984
959
|
}
|