@fncts/io 0.0.12 → 0.0.15
Sign up to get free protection for your applications and to get access to all the features.
- package/Cached/api.d.ts +3 -4
- package/Channel/UpstreamPullStrategy/definition.d.ts +1 -1
- package/Channel/api/interruptWhen.d.ts +1 -1
- package/Channel/api/mapOutIOC.d.ts +2 -2
- package/Channel/api/mergeAll.d.ts +1 -1
- package/Channel/api/mergeAllUnboundedWith.d.ts +1 -1
- package/Channel/api/mergeAllWith.d.ts +3 -3
- package/Channel/api/mergeMap.d.ts +1 -1
- package/Channel/api/mergeWith.d.ts +3 -3
- package/Channel/api/runScoped.d.ts +1 -2
- package/Channel/api/toPull.d.ts +2 -3
- package/Channel/api/zipC.d.ts +3 -3
- package/Channel/api.d.ts +56 -57
- package/Channel/core-api.d.ts +12 -12
- package/Channel/definition.d.ts +36 -22
- package/Channel/internal/AsyncInputConsumer.d.ts +1 -1
- package/Channel/internal/AsyncInputProducer.d.ts +1 -1
- package/Channel/internal/ChannelExecutor.d.ts +5 -5
- package/Channel/internal/ChannelState.d.ts +1 -1
- package/Channel/internal/MergeDecision.d.ts +2 -2
- package/Channel/internal/MergeState.d.ts +2 -2
- package/Channel/internal/SingleProducerAsyncInput.d.ts +5 -5
- package/Clock/api.d.ts +3 -3
- package/Clock/definition.d.ts +2 -2
- package/Clock/live.d.ts +3 -3
- package/Console/api.d.ts +1 -1
- package/Fiber/FiberContext.d.ts +12 -12
- package/Fiber/api/await.d.ts +2 -2
- package/Fiber/api/awaitAll.d.ts +2 -2
- package/Fiber/api/children.d.ts +1 -1
- package/Fiber/api/collectAll.d.ts +3 -3
- package/Fiber/api/evalOn.d.ts +1 -1
- package/Fiber/api/evalOnIO.d.ts +1 -1
- package/Fiber/api/fromIO.d.ts +1 -1
- package/Fiber/api/id.d.ts +2 -2
- package/Fiber/api/inheritRefs.d.ts +1 -1
- package/Fiber/api/interrupt.d.ts +2 -2
- package/Fiber/api/interruptAll.d.ts +3 -3
- package/Fiber/api/interruptAs.d.ts +3 -3
- package/Fiber/api/join.d.ts +1 -1
- package/Fiber/api/joinAll.d.ts +1 -1
- package/Fiber/api/mapFiber.d.ts +1 -1
- package/Fiber/api/mapIO.d.ts +2 -2
- package/Fiber/api/poll.d.ts +3 -3
- package/Fiber/api/zipWith.d.ts +1 -1
- package/Fiber/constructors.d.ts +8 -8
- package/Fiber/definition.d.ts +4 -4
- package/FiberRef/api/locallyScoped.d.ts +1 -2
- package/FiberRef/api/locallyScopedWith.d.ts +1 -2
- package/FiberRef/api.d.ts +8 -8
- package/FiberRef/constructors.d.ts +2 -3
- package/FiberRef/unsafe.d.ts +11 -5
- package/FiberRefs/api.d.ts +4 -4
- package/FiberRefs/definition.d.ts +3 -3
- package/FiberRefs/join.d.ts +2 -2
- package/FiberScope/constructors.d.ts +1 -1
- package/FiberScope/definition.d.ts +1 -1
- package/FiberState/api.d.ts +1 -1
- package/FiberState/constructors.d.ts +3 -3
- package/FiberState/definition.d.ts +3 -3
- package/FiberStatus/constructors.d.ts +1 -1
- package/FiberStatus/definition.d.ts +1 -1
- package/Future/api.d.ts +18 -18
- package/Future/constructors.d.ts +3 -3
- package/Future/definition.d.ts +2 -2
- package/Hub/api.d.ts +22 -23
- package/Hub/definition.d.ts +6 -7
- package/Hub/internal.d.ts +1 -2
- package/IO/api/acquireRelease.d.ts +2 -3
- package/IO/api/acquireReleaseExit.d.ts +3 -4
- package/IO/api/acquireReleaseInterruptible.d.ts +2 -3
- package/IO/api/acquireReleaseInterruptibleExit.d.ts +3 -4
- package/IO/api/addFinalizer.d.ts +2 -3
- package/IO/api/addFinalizerExit.d.ts +2 -3
- package/IO/api/asyncIO.d.ts +1 -1
- package/IO/api/bracket.d.ts +2 -2
- package/IO/api/bracketExit.d.ts +3 -3
- package/IO/api/clockWith.d.ts +1 -1
- package/IO/api/concurrency.d.ts +4 -4
- package/IO/api/concurrentFinalizers.d.ts +1 -2
- package/IO/api/consoleWith.d.ts +2 -2
- package/IO/api/core-scope.d.ts +4 -4
- package/IO/api/ensuringChildren.d.ts +1 -1
- package/IO/api/environment.d.ts +10 -12
- package/IO/api/foreachC.d.ts +2 -2
- package/IO/api/foreachExec.d.ts +1 -1
- package/IO/api/forkScoped.d.ts +1 -2
- package/IO/api/fulfill.d.ts +1 -1
- package/IO/api/interrupt.d.ts +8 -8
- package/IO/api/onExit.d.ts +2 -2
- package/IO/api/onTermination.d.ts +4 -4
- package/IO/api/provideLayer.d.ts +1 -1
- package/IO/api/provideSomeLayer.d.ts +1 -1
- package/IO/api/race.d.ts +1 -1
- package/IO/api/raceFirst.d.ts +1 -1
- package/IO/api/randomWith.d.ts +2 -2
- package/IO/api/repeat.d.ts +6 -6
- package/IO/api/retry.d.ts +5 -5
- package/IO/api/schedule.d.ts +3 -3
- package/IO/api/scope.d.ts +1 -2
- package/IO/api/scopeWith.d.ts +1 -2
- package/IO/api/scoped.d.ts +3 -4
- package/IO/api/sequenceT.d.ts +4 -4
- package/IO/api/sleep.d.ts +2 -2
- package/IO/api/stateful.d.ts +3 -4
- package/IO/api/timeout.d.ts +4 -4
- package/IO/api/withEarlyRelease.d.ts +1 -2
- package/IO/api/withFinalizer.d.ts +1 -2
- package/IO/api/withFinalizerExit.d.ts +2 -3
- package/IO/api/withRuntimeConfig.d.ts +2 -2
- package/IO/api/zipC.d.ts +4 -4
- package/IO/api.d.ts +94 -94
- package/IO/definition.d.ts +44 -34
- package/IO/runtime.d.ts +23 -17
- package/IOEnv/definition.d.ts +2 -3
- package/IOEnv/live.d.ts +1 -1
- package/IOEnv/services.d.ts +1 -1
- package/IOSpec.d.ts +7 -8
- package/Layer/MemoMap.d.ts +8 -9
- package/Layer/api.d.ts +41 -43
- package/Layer/definition.d.ts +22 -16
- package/Logger/api.d.ts +2 -2
- package/Logger/definition.d.ts +4 -4
- package/Queue/api/dimapIO.d.ts +6 -6
- package/Queue/api/filterInputIO.d.ts +6 -6
- package/Queue/api/filterOutputIO.d.ts +8 -8
- package/Queue/api/operations.d.ts +10 -10
- package/Queue/api/poll.d.ts +2 -2
- package/Queue/api/takeBetween.d.ts +1 -1
- package/Queue/api/zipWithIO.d.ts +9 -9
- package/Queue/constructors.d.ts +4 -4
- package/Queue/definition.d.ts +10 -10
- package/Queue/internal.d.ts +1 -1
- package/Queue/strategy.d.ts +10 -10
- package/Random/api.d.ts +8 -8
- package/Random/definition.d.ts +5 -5
- package/Random/live.d.ts +5 -5
- package/Ref/Atomic/Atomic.d.ts +4 -4
- package/Ref/Atomic/api.d.ts +11 -11
- package/Ref/Derived.d.ts +4 -4
- package/Ref/DerivedAll.d.ts +4 -4
- package/Ref/Synchronized/api.d.ts +16 -16
- package/Ref/Synchronized/constructors.d.ts +2 -2
- package/Ref/Synchronized/definition.d.ts +3 -3
- package/Ref/api/collect.d.ts +2 -2
- package/Ref/api/dimap.d.ts +8 -8
- package/Ref/api/filter.d.ts +3 -3
- package/Ref/api/get.d.ts +1 -1
- package/Ref/api/match.d.ts +1 -1
- package/Ref/api/matchAll.d.ts +1 -1
- package/Ref/api/modify.d.ts +10 -10
- package/Ref/api/set.d.ts +1 -1
- package/Ref/constructors.d.ts +3 -3
- package/Ref/definition.d.ts +15 -15
- package/RuntimeConfig.d.ts +2 -2
- package/STM/api/core-api.d.ts +5 -5
- package/STM/api/core-constructors.d.ts +9 -9
- package/STM/api.d.ts +60 -72
- package/STM/definition.d.ts +10 -9
- package/STM/driver.d.ts +2 -2
- package/STM/internal/CommitState.d.ts +1 -1
- package/STM/internal/Journal.d.ts +7 -6
- package/STM/internal/TryCommit.d.ts +1 -1
- package/Schedule/Decision.d.ts +10 -4
- package/Schedule/Driver.d.ts +4 -4
- package/Schedule/api/driver.d.ts +1 -1
- package/Schedule/api.d.ts +85 -73
- package/Schedule/definition.d.ts +1 -1
- package/Scope/Finalizer/definition.d.ts +3 -3
- package/Scope/ReleaseMap/api/releaseAll.d.ts +2 -2
- package/Scope/ReleaseMap/api.d.ts +7 -7
- package/Scope/ReleaseMap/definition.d.ts +3 -3
- package/Scope/api.d.ts +9 -10
- package/Scope/definition.d.ts +2 -2
- package/ScopedRef/api.d.ts +2 -3
- package/ScopedRef/definition.d.ts +1 -2
- package/Sink/api.d.ts +73 -74
- package/State/api.d.ts +2 -3
- package/Stream/api/zipAllWith.d.ts +3 -3
- package/Stream/api/zipWith.d.ts +1 -1
- package/Stream/api/zipWithChunks.d.ts +4 -4
- package/Stream/api.d.ts +171 -166
- package/Stream/definition.d.ts +3 -3
- package/Stream/internal/Handoff.d.ts +2 -2
- package/Stream/internal/Pull.d.ts +2 -2
- package/Stream/internal/Take.d.ts +4 -4
- package/Stream/internal/util.d.ts +1 -1
- package/Supervisor/api.d.ts +3 -3
- package/Supervisor/constructors.d.ts +6 -6
- package/Supervisor/definition.d.ts +3 -3
- package/TExit/constructors.d.ts +1 -1
- package/TExit/definition.d.ts +1 -1
- package/TFuture/api.d.ts +7 -7
- package/TFuture/constructors.d.ts +4 -4
- package/TFuture/definition.d.ts +3 -3
- package/TReentrantLock/api.d.ts +18 -19
- package/TReentrantLock/definition.d.ts +2 -2
- package/TRef/api.d.ts +15 -15
- package/TRef/constructors.d.ts +5 -5
- package/TRef/definition.d.ts +2 -2
- package/TSemaphore/api.d.ts +7 -7
- package/TSemaphore/constructors.d.ts +1 -1
- package/TSemaphore/definition.d.ts +1 -1
- package/_cjs/Cached/api.cjs +5 -5
- package/_cjs/Cached/api.cjs.map +1 -1
- package/_cjs/Channel/api/interruptWhen.cjs +1 -1
- package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
- package/_cjs/Channel/api/mapOutIOC.cjs +2 -2
- package/_cjs/Channel/api/mapOutIOC.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +11 -11
- package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeWith.cjs +5 -5
- package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
- package/_cjs/Channel/api/run.cjs +3 -1
- package/_cjs/Channel/api/run.cjs.map +1 -1
- package/_cjs/Channel/api.cjs +7 -7
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Channel/core-api.cjs.map +1 -1
- package/_cjs/Channel/definition.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelExecutor.cjs +6 -6
- package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelState.cjs +2 -1
- package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +16 -16
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
- package/_cjs/Clock/live.cjs.map +1 -1
- package/_cjs/Console/api.cjs +5 -3
- package/_cjs/Console/api.cjs.map +1 -1
- package/_cjs/Fiber/FiberContext.cjs +8 -10
- package/_cjs/Fiber/FiberContext.cjs.map +1 -1
- package/_cjs/Fiber/api/await.cjs +1 -1
- package/_cjs/Fiber/api/await.cjs.map +1 -1
- package/_cjs/Fiber/api/awaitAll.cjs +2 -4
- package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
- package/_cjs/Fiber/api/children.cjs +1 -1
- package/_cjs/Fiber/api/children.cjs.map +1 -1
- package/_cjs/Fiber/api/collectAll.cjs +2 -4
- package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
- package/_cjs/Fiber/api/evalOn.cjs +1 -1
- package/_cjs/Fiber/api/evalOn.cjs.map +1 -1
- package/_cjs/Fiber/api/evalOnIO.cjs +2 -4
- package/_cjs/Fiber/api/evalOnIO.cjs.map +1 -1
- package/_cjs/Fiber/api/fromIO.cjs +2 -4
- package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
- package/_cjs/Fiber/api/id.cjs +1 -1
- package/_cjs/Fiber/api/id.cjs.map +1 -1
- package/_cjs/Fiber/api/inheritRefs.cjs +1 -1
- package/_cjs/Fiber/api/inheritRefs.cjs.map +1 -1
- package/_cjs/Fiber/api/interrupt.cjs +2 -4
- package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptAll.cjs +4 -5
- package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptAs.cjs +1 -1
- package/_cjs/Fiber/api/interruptAs.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 +2 -4
- package/_cjs/Fiber/api/join.cjs.map +1 -1
- package/_cjs/Fiber/api/joinAll.cjs +2 -4
- package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
- package/_cjs/Fiber/api/mapFiber.cjs +2 -4
- package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
- package/_cjs/Fiber/api/mapIO.cjs +4 -5
- package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
- package/_cjs/Fiber/api/poll.cjs +1 -1
- package/_cjs/Fiber/api/poll.cjs.map +1 -1
- package/_cjs/Fiber/api/zipWith.cjs +2 -4
- package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
- package/_cjs/Fiber/constructors.cjs +10 -11
- package/_cjs/Fiber/constructors.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScoped.cjs +2 -4
- package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScopedWith.cjs +2 -4
- package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
- package/_cjs/FiberRef/api.cjs +13 -14
- package/_cjs/FiberRef/api.cjs.map +1 -1
- package/_cjs/FiberRef/constructors.cjs +4 -6
- package/_cjs/FiberRef/constructors.cjs.map +1 -1
- package/_cjs/FiberRef/unsafe.cjs +9 -1
- package/_cjs/FiberRef/unsafe.cjs.map +1 -1
- package/_cjs/Future/api.cjs +30 -31
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/Future/constructors.cjs +4 -5
- package/_cjs/Future/constructors.cjs.map +1 -1
- package/_cjs/Hub/api.cjs +44 -44
- package/_cjs/Hub/api.cjs.map +1 -1
- package/_cjs/Hub/internal.cjs +16 -24
- package/_cjs/Hub/internal.cjs.map +1 -1
- package/_cjs/IO/api/acquireRelease.cjs +2 -4
- package/_cjs/IO/api/acquireRelease.cjs.map +1 -1
- 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/addFinalizer.cjs +1 -1
- package/_cjs/IO/api/addFinalizer.cjs.map +1 -1
- package/_cjs/IO/api/addFinalizerExit.cjs +5 -11
- package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
- package/_cjs/IO/api/asyncIO.cjs +5 -7
- package/_cjs/IO/api/asyncIO.cjs.map +1 -1
- package/_cjs/IO/api/bracket.cjs +2 -2
- package/_cjs/IO/api/bracket.cjs.map +1 -1
- package/_cjs/IO/api/bracketExit.cjs +2 -4
- package/_cjs/IO/api/bracketExit.cjs.map +1 -1
- package/_cjs/IO/api/concurrency.cjs +7 -7
- package/_cjs/IO/api/concurrency.cjs.map +1 -1
- package/_cjs/IO/api/concurrentFinalizers.cjs +2 -4
- package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
- package/_cjs/IO/api/consoleWith.cjs +3 -3
- package/_cjs/IO/api/consoleWith.cjs.map +1 -1
- package/_cjs/IO/api/core-scope.cjs +4 -4
- package/_cjs/IO/api/core-scope.cjs.map +1 -1
- package/_cjs/IO/api/ensuringChildren.cjs +2 -4
- package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
- package/_cjs/IO/api/environment.cjs +6 -8
- package/_cjs/IO/api/environment.cjs.map +1 -1
- package/_cjs/IO/api/foreachC.cjs +25 -27
- package/_cjs/IO/api/foreachC.cjs.map +1 -1
- package/_cjs/IO/api/foreachExec.cjs +2 -4
- package/_cjs/IO/api/foreachExec.cjs.map +1 -1
- package/_cjs/IO/api/forkIn.cjs +1 -1
- 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 +2 -4
- package/_cjs/IO/api/fulfill.cjs.map +1 -1
- package/_cjs/IO/api/interrupt.cjs +13 -13
- package/_cjs/IO/api/interrupt.cjs.map +1 -1
- package/_cjs/IO/api/memoize.cjs +4 -8
- package/_cjs/IO/api/memoize.cjs.map +1 -1
- package/_cjs/IO/api/onExit.cjs +2 -2
- package/_cjs/IO/api/onExit.cjs.map +1 -1
- package/_cjs/IO/api/onTermination.cjs +2 -2
- package/_cjs/IO/api/onTermination.cjs.map +1 -1
- package/_cjs/IO/api/once.cjs +1 -1
- package/_cjs/IO/api/once.cjs.map +1 -1
- package/_cjs/IO/api/provideLayer.cjs +2 -4
- package/_cjs/IO/api/provideLayer.cjs.map +1 -1
- package/_cjs/IO/api/provideSomeLayer.cjs +2 -3
- package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
- package/_cjs/IO/api/race.cjs +4 -6
- package/_cjs/IO/api/race.cjs.map +1 -1
- package/_cjs/IO/api/raceFirst.cjs +2 -4
- package/_cjs/IO/api/raceFirst.cjs.map +1 -1
- package/_cjs/IO/api/randomWith.cjs +3 -3
- package/_cjs/IO/api/randomWith.cjs.map +1 -1
- package/_cjs/IO/api/repeat.cjs +10 -11
- package/_cjs/IO/api/repeat.cjs.map +1 -1
- package/_cjs/IO/api/retry.cjs +8 -9
- package/_cjs/IO/api/retry.cjs.map +1 -1
- package/_cjs/IO/api/schedule.cjs +6 -7
- package/_cjs/IO/api/schedule.cjs.map +1 -1
- package/_cjs/IO/api/scope.cjs +1 -1
- package/_cjs/IO/api/scope.cjs.map +1 -1
- package/_cjs/IO/api/scopeWith.cjs +2 -4
- package/_cjs/IO/api/scopeWith.cjs.map +1 -1
- package/_cjs/IO/api/scoped.cjs +4 -5
- package/_cjs/IO/api/scoped.cjs.map +1 -1
- package/_cjs/IO/api/stateful.cjs +1 -1
- package/_cjs/IO/api/stateful.cjs.map +1 -1
- package/_cjs/IO/api/timeout.cjs +3 -4
- 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 +2 -4
- package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
- package/_cjs/IO/api/withFinalizer.cjs +2 -2
- package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
- package/_cjs/IO/api/withFinalizerExit.cjs +2 -4
- package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
- package/_cjs/IO/api/withRuntimeConfig.cjs +2 -4
- package/_cjs/IO/api/withRuntimeConfig.cjs.map +1 -1
- package/_cjs/IO/api/zipC.cjs +5 -6
- package/_cjs/IO/api/zipC.cjs.map +1 -1
- package/_cjs/IO/api.cjs +112 -112
- package/_cjs/IO/api.cjs.map +1 -1
- package/_cjs/IO/definition.cjs +5 -8
- package/_cjs/IO/definition.cjs.map +1 -1
- package/_cjs/IO/runtime.cjs +57 -20
- package/_cjs/IO/runtime.cjs.map +1 -1
- package/_cjs/IOEnv/live.cjs +3 -1
- package/_cjs/IOEnv/live.cjs.map +1 -1
- package/_cjs/Layer/MemoMap.cjs +45 -62
- package/_cjs/Layer/MemoMap.cjs.map +1 -1
- package/_cjs/Layer/api.cjs +84 -83
- package/_cjs/Layer/api.cjs.map +1 -1
- package/_cjs/Layer/definition.cjs +14 -7
- package/_cjs/Layer/definition.cjs.map +1 -1
- package/_cjs/Queue/api/dimapIO.cjs +14 -14
- package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
- package/_cjs/Queue/api/filterInputIO.cjs +6 -6
- package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
- package/_cjs/Queue/api/filterOutputIO.cjs +6 -6
- package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
- package/_cjs/Queue/api/operations.cjs +13 -13
- package/_cjs/Queue/api/operations.cjs.map +1 -1
- package/_cjs/Queue/api/poll.cjs +2 -4
- package/_cjs/Queue/api/poll.cjs.map +1 -1
- package/_cjs/Queue/api/takeBetween.cjs +10 -12
- package/_cjs/Queue/api/takeBetween.cjs.map +1 -1
- package/_cjs/Queue/api/zipWithIO.cjs +12 -12
- package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
- package/_cjs/Queue/constructors.cjs +8 -10
- package/_cjs/Queue/constructors.cjs.map +1 -1
- package/_cjs/Queue/internal.cjs +17 -17
- package/_cjs/Queue/internal.cjs.map +1 -1
- package/_cjs/Queue/strategy.cjs +16 -20
- package/_cjs/Queue/strategy.cjs.map +1 -1
- package/_cjs/Random/api.cjs +15 -13
- package/_cjs/Random/api.cjs.map +1 -1
- package/_cjs/Random/live.cjs +4 -4
- package/_cjs/Random/live.cjs.map +1 -1
- package/_cjs/Ref/Atomic/Atomic.cjs.map +1 -1
- package/_cjs/Ref/Atomic/api.cjs +19 -21
- package/_cjs/Ref/Atomic/api.cjs.map +1 -1
- package/_cjs/Ref/Derived.cjs.map +1 -1
- package/_cjs/Ref/DerivedAll.cjs +1 -1
- package/_cjs/Ref/DerivedAll.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/api.cjs +25 -26
- package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/constructors.cjs +8 -14
- package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/definition.cjs +1 -1
- package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
- package/_cjs/Ref/api/collect.cjs +1 -1
- package/_cjs/Ref/api/collect.cjs.map +1 -1
- package/_cjs/Ref/api/dimap.cjs +12 -12
- package/_cjs/Ref/api/dimap.cjs.map +1 -1
- package/_cjs/Ref/api/filter.cjs +2 -2
- package/_cjs/Ref/api/filter.cjs.map +1 -1
- package/_cjs/Ref/api/get.cjs +1 -1
- package/_cjs/Ref/api/get.cjs.map +1 -1
- package/_cjs/Ref/api/modify.cjs +29 -30
- package/_cjs/Ref/api/modify.cjs.map +1 -1
- package/_cjs/Ref/api/set.cjs +1 -1
- package/_cjs/Ref/api/set.cjs.map +1 -1
- package/_cjs/Ref/constructors.cjs +3 -4
- package/_cjs/Ref/constructors.cjs.map +1 -1
- package/_cjs/STM/api/core-api.cjs +8 -8
- package/_cjs/STM/api/core-api.cjs.map +1 -1
- package/_cjs/STM/api/core-constructors.cjs +6 -6
- package/_cjs/STM/api/core-constructors.cjs.map +1 -1
- package/_cjs/STM/api.cjs +129 -148
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/STM/definition.cjs.map +1 -1
- package/_cjs/STM/driver.cjs +10 -6
- package/_cjs/STM/driver.cjs.map +1 -1
- package/_cjs/STM/internal/Journal.cjs +20 -22
- package/_cjs/STM/internal/Journal.cjs.map +1 -1
- package/_cjs/Schedule/Decision.cjs +17 -0
- package/_cjs/Schedule/Decision.cjs.map +1 -1
- package/_cjs/Schedule/api/driver.cjs +18 -21
- package/_cjs/Schedule/api/driver.cjs.map +1 -1
- package/_cjs/Schedule/api.cjs +205 -180
- package/_cjs/Schedule/api.cjs.map +1 -1
- package/_cjs/Scope/Finalizer/definition.cjs +4 -6
- package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +3 -5
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api.cjs +14 -15
- package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/constructors.cjs +1 -1
- package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/definition.cjs +2 -4
- package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
- package/_cjs/Scope/api.cjs +20 -30
- package/_cjs/Scope/api.cjs.map +1 -1
- package/_cjs/ScopedRef/api.cjs +14 -22
- package/_cjs/ScopedRef/api.cjs.map +1 -1
- package/_cjs/Sink/api.cjs +92 -88
- package/_cjs/Sink/api.cjs.map +1 -1
- package/_cjs/State/api.cjs +5 -7
- package/_cjs/State/api.cjs.map +1 -1
- package/_cjs/Stream/api/zipAllWith.cjs +22 -24
- package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
- package/_cjs/Stream/api/zipWith.cjs +2 -2
- package/_cjs/Stream/api/zipWith.cjs.map +1 -1
- package/_cjs/Stream/api/zipWithChunks.cjs +20 -22
- package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
- package/_cjs/Stream/api.cjs +436 -419
- package/_cjs/Stream/api.cjs.map +1 -1
- package/_cjs/Stream/internal/Handoff.cjs +12 -12
- package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
- package/_cjs/Stream/internal/Pull.cjs +1 -1
- package/_cjs/Stream/internal/Pull.cjs.map +1 -1
- package/_cjs/Stream/internal/Take.cjs +1 -1
- package/_cjs/Stream/internal/Take.cjs.map +1 -1
- package/_cjs/Supervisor/api.cjs +3 -1
- package/_cjs/Supervisor/api.cjs.map +1 -1
- package/_cjs/Supervisor/constructors.cjs +14 -8
- package/_cjs/Supervisor/constructors.cjs.map +1 -1
- package/_cjs/TFuture/api.cjs +10 -10
- package/_cjs/TFuture/api.cjs.map +1 -1
- package/_cjs/TFuture/constructors.cjs +4 -4
- package/_cjs/TFuture/constructors.cjs.map +1 -1
- package/_cjs/TFuture/definition.cjs +2 -4
- package/_cjs/TFuture/definition.cjs.map +1 -1
- package/_cjs/TReentrantLock/api.cjs +41 -42
- package/_cjs/TReentrantLock/api.cjs.map +1 -1
- package/_cjs/TRef/api.cjs +40 -40
- package/_cjs/TRef/api.cjs.map +1 -1
- package/_cjs/TRef/constructors.cjs +6 -6
- package/_cjs/TRef/constructors.cjs.map +1 -1
- package/_cjs/TSemaphore/api.cjs +20 -21
- package/_cjs/TSemaphore/api.cjs.map +1 -1
- package/_cjs/TSemaphore/constructors.cjs +2 -2
- package/_cjs/TSemaphore/constructors.cjs.map +1 -1
- package/_cjs/TSemaphore/definition.cjs +2 -4
- package/_cjs/TSemaphore/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +1 -1
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +1 -1
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/filterIO.cjs +5 -7
- package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/findIO.cjs +7 -9
- package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/mapIO.cjs +3 -5
- package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +7 -9
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc.cjs +26 -0
- package/_cjs/collection/immutable/Conc.cjs.map +1 -1
- package/_cjs/data/Exit/foreachIO.cjs +2 -4
- package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
- package/_cjs/global.cjs +6 -0
- package/_cjs/global.cjs.map +1 -0
- package/_cjs/index.cjs +6 -0
- package/_cjs/index.cjs.map +1 -0
- package/_cjs/internal/Scheduler.cjs +64 -14
- package/_cjs/internal/Scheduler.cjs.map +1 -1
- package/_mjs/Cached/api.mjs +5 -5
- package/_mjs/Cached/api.mjs.map +1 -1
- package/_mjs/Channel/api/interruptWhen.mjs +1 -1
- package/_mjs/Channel/api/interruptWhen.mjs.map +1 -1
- package/_mjs/Channel/api/mapOutIOC.mjs +2 -2
- package/_mjs/Channel/api/mapOutIOC.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +11 -11
- package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
- package/_mjs/Channel/api/mergeWith.mjs +6 -5
- package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
- package/_mjs/Channel/api/run.mjs +2 -1
- package/_mjs/Channel/api/run.mjs.map +1 -1
- package/_mjs/Channel/api.mjs +7 -7
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Channel/core-api.mjs.map +1 -1
- package/_mjs/Channel/definition.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelExecutor.mjs +6 -6
- package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelState.mjs +2 -1
- package/_mjs/Channel/internal/ChannelState.mjs.map +1 -1
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +16 -16
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
- package/_mjs/Clock/live.mjs.map +1 -1
- package/_mjs/Console/api.mjs +4 -3
- package/_mjs/Console/api.mjs.map +1 -1
- package/_mjs/Fiber/FiberContext.mjs +9 -9
- package/_mjs/Fiber/FiberContext.mjs.map +1 -1
- package/_mjs/Fiber/api/await.mjs +1 -1
- package/_mjs/Fiber/api/await.mjs.map +1 -1
- package/_mjs/Fiber/api/awaitAll.mjs +2 -3
- package/_mjs/Fiber/api/awaitAll.mjs.map +1 -1
- package/_mjs/Fiber/api/children.mjs +1 -1
- package/_mjs/Fiber/api/children.mjs.map +1 -1
- package/_mjs/Fiber/api/collectAll.mjs +2 -3
- package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
- package/_mjs/Fiber/api/evalOn.mjs +1 -1
- package/_mjs/Fiber/api/evalOn.mjs.map +1 -1
- package/_mjs/Fiber/api/evalOnIO.mjs +2 -3
- package/_mjs/Fiber/api/evalOnIO.mjs.map +1 -1
- package/_mjs/Fiber/api/fromIO.mjs +2 -3
- package/_mjs/Fiber/api/fromIO.mjs.map +1 -1
- package/_mjs/Fiber/api/id.mjs +1 -1
- package/_mjs/Fiber/api/id.mjs.map +1 -1
- package/_mjs/Fiber/api/inheritRefs.mjs +1 -1
- package/_mjs/Fiber/api/inheritRefs.mjs.map +1 -1
- package/_mjs/Fiber/api/interrupt.mjs +2 -3
- package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptAll.mjs +4 -5
- package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptAs.mjs +1 -1
- package/_mjs/Fiber/api/interruptAs.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 +2 -3
- package/_mjs/Fiber/api/join.mjs.map +1 -1
- package/_mjs/Fiber/api/joinAll.mjs +2 -3
- package/_mjs/Fiber/api/joinAll.mjs.map +1 -1
- package/_mjs/Fiber/api/mapFiber.mjs +2 -3
- package/_mjs/Fiber/api/mapFiber.mjs.map +1 -1
- package/_mjs/Fiber/api/mapIO.mjs +4 -5
- package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
- package/_mjs/Fiber/api/poll.mjs +1 -1
- package/_mjs/Fiber/api/poll.mjs.map +1 -1
- package/_mjs/Fiber/api/zipWith.mjs +2 -3
- package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
- package/_mjs/Fiber/constructors.mjs +10 -11
- package/_mjs/Fiber/constructors.mjs.map +1 -1
- package/_mjs/FiberRef/api/locallyScoped.mjs +2 -3
- package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -1
- package/_mjs/FiberRef/api/locallyScopedWith.mjs +2 -3
- package/_mjs/FiberRef/api/locallyScopedWith.mjs.map +1 -1
- package/_mjs/FiberRef/api.mjs +13 -14
- package/_mjs/FiberRef/api.mjs.map +1 -1
- package/_mjs/FiberRef/constructors.mjs +4 -5
- package/_mjs/FiberRef/constructors.mjs.map +1 -1
- package/_mjs/FiberRef/unsafe.mjs +6 -0
- package/_mjs/FiberRef/unsafe.mjs.map +1 -1
- package/_mjs/Future/api.mjs +30 -31
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/Future/constructors.mjs +4 -5
- package/_mjs/Future/constructors.mjs.map +1 -1
- package/_mjs/Hub/api.mjs +44 -44
- package/_mjs/Hub/api.mjs.map +1 -1
- package/_mjs/Hub/internal.mjs +16 -24
- package/_mjs/Hub/internal.mjs.map +1 -1
- package/_mjs/IO/api/acquireRelease.mjs +2 -3
- package/_mjs/IO/api/acquireRelease.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/addFinalizer.mjs +1 -1
- package/_mjs/IO/api/addFinalizer.mjs.map +1 -1
- package/_mjs/IO/api/addFinalizerExit.mjs +5 -10
- package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
- package/_mjs/IO/api/asyncIO.mjs +5 -6
- 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 -3
- package/_mjs/IO/api/bracketExit.mjs.map +1 -1
- package/_mjs/IO/api/concurrency.mjs +7 -7
- package/_mjs/IO/api/concurrency.mjs.map +1 -1
- package/_mjs/IO/api/concurrentFinalizers.mjs +2 -3
- package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
- package/_mjs/IO/api/consoleWith.mjs +3 -3
- package/_mjs/IO/api/consoleWith.mjs.map +1 -1
- package/_mjs/IO/api/core-scope.mjs +4 -4
- package/_mjs/IO/api/core-scope.mjs.map +1 -1
- package/_mjs/IO/api/ensuringChildren.mjs +2 -3
- package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
- package/_mjs/IO/api/environment.mjs +6 -8
- package/_mjs/IO/api/environment.mjs.map +1 -1
- package/_mjs/IO/api/foreachC.mjs +25 -26
- package/_mjs/IO/api/foreachC.mjs.map +1 -1
- package/_mjs/IO/api/foreachExec.mjs +2 -3
- package/_mjs/IO/api/foreachExec.mjs.map +1 -1
- package/_mjs/IO/api/forkIn.mjs +1 -1
- 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 +2 -3
- package/_mjs/IO/api/fulfill.mjs.map +1 -1
- package/_mjs/IO/api/interrupt.mjs +13 -13
- package/_mjs/IO/api/interrupt.mjs.map +1 -1
- package/_mjs/IO/api/memoize.mjs +4 -8
- package/_mjs/IO/api/memoize.mjs.map +1 -1
- package/_mjs/IO/api/onExit.mjs +2 -2
- package/_mjs/IO/api/onExit.mjs.map +1 -1
- package/_mjs/IO/api/onTermination.mjs +2 -2
- package/_mjs/IO/api/onTermination.mjs.map +1 -1
- package/_mjs/IO/api/once.mjs +1 -1
- package/_mjs/IO/api/once.mjs.map +1 -1
- package/_mjs/IO/api/provideLayer.mjs +2 -3
- package/_mjs/IO/api/provideLayer.mjs.map +1 -1
- package/_mjs/IO/api/provideSomeLayer.mjs +2 -3
- package/_mjs/IO/api/provideSomeLayer.mjs.map +1 -1
- package/_mjs/IO/api/race.mjs +4 -5
- package/_mjs/IO/api/race.mjs.map +1 -1
- package/_mjs/IO/api/raceFirst.mjs +2 -3
- package/_mjs/IO/api/raceFirst.mjs.map +1 -1
- package/_mjs/IO/api/randomWith.mjs +3 -3
- package/_mjs/IO/api/randomWith.mjs.map +1 -1
- package/_mjs/IO/api/repeat.mjs +10 -11
- package/_mjs/IO/api/repeat.mjs.map +1 -1
- package/_mjs/IO/api/retry.mjs +8 -9
- package/_mjs/IO/api/retry.mjs.map +1 -1
- package/_mjs/IO/api/schedule.mjs +6 -7
- package/_mjs/IO/api/schedule.mjs.map +1 -1
- package/_mjs/IO/api/scope.mjs +1 -1
- package/_mjs/IO/api/scope.mjs.map +1 -1
- package/_mjs/IO/api/scopeWith.mjs +2 -3
- package/_mjs/IO/api/scopeWith.mjs.map +1 -1
- package/_mjs/IO/api/scoped.mjs +4 -5
- package/_mjs/IO/api/scoped.mjs.map +1 -1
- package/_mjs/IO/api/stateful.mjs +1 -1
- package/_mjs/IO/api/stateful.mjs.map +1 -1
- package/_mjs/IO/api/timeout.mjs +3 -4
- 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 +2 -3
- package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
- package/_mjs/IO/api/withFinalizer.mjs +2 -2
- package/_mjs/IO/api/withFinalizer.mjs.map +1 -1
- package/_mjs/IO/api/withFinalizerExit.mjs +2 -3
- package/_mjs/IO/api/withFinalizerExit.mjs.map +1 -1
- package/_mjs/IO/api/withRuntimeConfig.mjs +2 -3
- package/_mjs/IO/api/withRuntimeConfig.mjs.map +1 -1
- package/_mjs/IO/api/zipC.mjs +5 -6
- package/_mjs/IO/api/zipC.mjs.map +1 -1
- package/_mjs/IO/api.mjs +112 -112
- package/_mjs/IO/api.mjs.map +1 -1
- package/_mjs/IO/definition.mjs +3 -5
- package/_mjs/IO/definition.mjs.map +1 -1
- package/_mjs/IO/runtime.mjs +51 -18
- package/_mjs/IO/runtime.mjs.map +1 -1
- package/_mjs/IOEnv/live.mjs +2 -1
- package/_mjs/IOEnv/live.mjs.map +1 -1
- package/_mjs/Layer/MemoMap.mjs +43 -60
- package/_mjs/Layer/MemoMap.mjs.map +1 -1
- package/_mjs/Layer/api.mjs +84 -84
- package/_mjs/Layer/api.mjs.map +1 -1
- package/_mjs/Layer/definition.mjs +14 -7
- package/_mjs/Layer/definition.mjs.map +1 -1
- package/_mjs/Queue/api/dimapIO.mjs +14 -14
- package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
- package/_mjs/Queue/api/filterInputIO.mjs +6 -6
- package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
- package/_mjs/Queue/api/filterOutputIO.mjs +6 -6
- package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
- package/_mjs/Queue/api/operations.mjs +13 -13
- package/_mjs/Queue/api/operations.mjs.map +1 -1
- package/_mjs/Queue/api/poll.mjs +2 -3
- package/_mjs/Queue/api/poll.mjs.map +1 -1
- package/_mjs/Queue/api/takeBetween.mjs +10 -11
- package/_mjs/Queue/api/takeBetween.mjs.map +1 -1
- package/_mjs/Queue/api/zipWithIO.mjs +12 -12
- package/_mjs/Queue/api/zipWithIO.mjs.map +1 -1
- package/_mjs/Queue/constructors.mjs +8 -9
- package/_mjs/Queue/constructors.mjs.map +1 -1
- package/_mjs/Queue/internal.mjs +17 -17
- package/_mjs/Queue/internal.mjs.map +1 -1
- package/_mjs/Queue/strategy.mjs +16 -20
- package/_mjs/Queue/strategy.mjs.map +1 -1
- package/_mjs/Random/api.mjs +14 -13
- package/_mjs/Random/api.mjs.map +1 -1
- package/_mjs/Random/live.mjs +4 -4
- package/_mjs/Random/live.mjs.map +1 -1
- package/_mjs/Ref/Atomic/Atomic.mjs.map +1 -1
- package/_mjs/Ref/Atomic/api.mjs +19 -20
- package/_mjs/Ref/Atomic/api.mjs.map +1 -1
- package/_mjs/Ref/Derived.mjs.map +1 -1
- package/_mjs/Ref/DerivedAll.mjs +1 -1
- package/_mjs/Ref/DerivedAll.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/api.mjs +25 -26
- package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/constructors.mjs +8 -13
- package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/definition.mjs +1 -1
- package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
- package/_mjs/Ref/api/collect.mjs +1 -1
- package/_mjs/Ref/api/collect.mjs.map +1 -1
- package/_mjs/Ref/api/dimap.mjs +12 -12
- package/_mjs/Ref/api/dimap.mjs.map +1 -1
- package/_mjs/Ref/api/filter.mjs +2 -2
- package/_mjs/Ref/api/filter.mjs.map +1 -1
- package/_mjs/Ref/api/get.mjs +1 -1
- package/_mjs/Ref/api/get.mjs.map +1 -1
- package/_mjs/Ref/api/modify.mjs +29 -30
- package/_mjs/Ref/api/modify.mjs.map +1 -1
- package/_mjs/Ref/api/set.mjs +1 -1
- package/_mjs/Ref/api/set.mjs.map +1 -1
- package/_mjs/Ref/constructors.mjs +3 -4
- package/_mjs/Ref/constructors.mjs.map +1 -1
- package/_mjs/STM/api/core-api.mjs +8 -8
- package/_mjs/STM/api/core-api.mjs.map +1 -1
- package/_mjs/STM/api/core-constructors.mjs +6 -6
- package/_mjs/STM/api/core-constructors.mjs.map +1 -1
- package/_mjs/STM/api.mjs +122 -142
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/STM/definition.mjs.map +1 -1
- package/_mjs/STM/driver.mjs +9 -6
- package/_mjs/STM/driver.mjs.map +1 -1
- package/_mjs/STM/internal/Journal.mjs +20 -21
- package/_mjs/STM/internal/Journal.mjs.map +1 -1
- package/_mjs/Schedule/Decision.mjs +9 -0
- package/_mjs/Schedule/Decision.mjs.map +1 -1
- package/_mjs/Schedule/api/driver.mjs +17 -20
- package/_mjs/Schedule/api/driver.mjs.map +1 -1
- package/_mjs/Schedule/api.mjs +198 -177
- package/_mjs/Schedule/api.mjs.map +1 -1
- package/_mjs/Scope/Finalizer/definition.mjs +4 -5
- package/_mjs/Scope/Finalizer/definition.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +3 -4
- package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api.mjs +14 -15
- package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/constructors.mjs +1 -1
- package/_mjs/Scope/ReleaseMap/constructors.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/definition.mjs +2 -3
- package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -1
- package/_mjs/Scope/api.mjs +20 -30
- package/_mjs/Scope/api.mjs.map +1 -1
- package/_mjs/ScopedRef/api.mjs +14 -22
- package/_mjs/ScopedRef/api.mjs.map +1 -1
- package/_mjs/Sink/api.mjs +92 -88
- package/_mjs/Sink/api.mjs.map +1 -1
- package/_mjs/State/api.mjs +5 -6
- package/_mjs/State/api.mjs.map +1 -1
- package/_mjs/Stream/api/zipAllWith.mjs +22 -23
- package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
- package/_mjs/Stream/api/zipWith.mjs +2 -2
- package/_mjs/Stream/api/zipWith.mjs.map +1 -1
- package/_mjs/Stream/api/zipWithChunks.mjs +20 -21
- package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
- package/_mjs/Stream/api.mjs +430 -417
- package/_mjs/Stream/api.mjs.map +1 -1
- package/_mjs/Stream/internal/Handoff.mjs +12 -12
- package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
- package/_mjs/Stream/internal/Pull.mjs +1 -1
- package/_mjs/Stream/internal/Pull.mjs.map +1 -1
- package/_mjs/Stream/internal/Take.mjs +1 -1
- package/_mjs/Stream/internal/Take.mjs.map +1 -1
- package/_mjs/Supervisor/api.mjs +2 -1
- package/_mjs/Supervisor/api.mjs.map +1 -1
- package/_mjs/Supervisor/constructors.mjs +9 -6
- package/_mjs/Supervisor/constructors.mjs.map +1 -1
- package/_mjs/TFuture/api.mjs +10 -10
- package/_mjs/TFuture/api.mjs.map +1 -1
- package/_mjs/TFuture/constructors.mjs +4 -4
- package/_mjs/TFuture/constructors.mjs.map +1 -1
- package/_mjs/TFuture/definition.mjs +2 -3
- package/_mjs/TFuture/definition.mjs.map +1 -1
- package/_mjs/TReentrantLock/api.mjs +41 -42
- package/_mjs/TReentrantLock/api.mjs.map +1 -1
- package/_mjs/TRef/api.mjs +40 -40
- package/_mjs/TRef/api.mjs.map +1 -1
- package/_mjs/TRef/constructors.mjs +6 -6
- package/_mjs/TRef/constructors.mjs.map +1 -1
- package/_mjs/TSemaphore/api.mjs +17 -18
- package/_mjs/TSemaphore/api.mjs.map +1 -1
- package/_mjs/TSemaphore/constructors.mjs +2 -2
- package/_mjs/TSemaphore/constructors.mjs.map +1 -1
- package/_mjs/TSemaphore/definition.mjs +2 -3
- package/_mjs/TSemaphore/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +1 -1
- package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +1 -1
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/filterIO.mjs +5 -6
- package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/findIO.mjs +7 -8
- package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/mapIO.mjs +3 -4
- package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +7 -8
- package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc.mjs +2 -0
- package/_mjs/collection/immutable/Conc.mjs.map +1 -1
- package/_mjs/data/Exit/foreachIO.mjs +2 -3
- package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
- package/_mjs/global.mjs +2 -0
- package/_mjs/global.mjs.map +1 -0
- package/_mjs/index.mjs +2 -0
- package/_mjs/index.mjs.map +1 -0
- package/_mjs/internal/Scheduler.mjs +62 -15
- package/_mjs/internal/Scheduler.mjs.map +1 -1
- package/_src/Cached/api.ts +4 -3
- package/_src/Channel/api/interruptWhen.ts +1 -1
- package/_src/Channel/api/mapOutIOC.ts +2 -2
- package/_src/Channel/api/mergeAll.ts +1 -1
- package/_src/Channel/api/mergeAllUnboundedWith.ts +1 -1
- package/_src/Channel/api/mergeAllWith.ts +3 -3
- package/_src/Channel/api/mergeMap.ts +1 -1
- package/_src/Channel/api/mergeWith.ts +9 -9
- package/_src/Channel/api/runScoped.ts +1 -1
- package/_src/Channel/api/toPull.ts +1 -1
- package/_src/Channel/api/zipC.ts +3 -3
- package/_src/Channel/api.ts +73 -73
- package/_src/Channel/core-api.ts +11 -13
- package/_src/Channel/definition.ts +19 -19
- package/_src/Channel/internal/MergeDecision.ts +1 -1
- package/_src/Clock/live.ts +1 -1
- package/_src/Console/api.ts +1 -1
- package/_src/Fiber/FiberContext.ts +10 -8
- package/_src/Fiber/api/await.ts +1 -1
- package/_src/Fiber/api/awaitAll.ts +1 -1
- package/_src/Fiber/api/children.ts +1 -1
- package/_src/Fiber/api/collectAll.ts +4 -1
- package/_src/Fiber/api/evalOn.ts +6 -1
- package/_src/Fiber/api/evalOnIO.ts +2 -1
- package/_src/Fiber/api/fromIO.ts +1 -1
- package/_src/Fiber/api/id.ts +1 -1
- package/_src/Fiber/api/inheritRefs.ts +1 -1
- package/_src/Fiber/api/interrupt.ts +1 -1
- package/_src/Fiber/api/interruptAll.ts +2 -2
- package/_src/Fiber/api/interruptAs.ts +1 -1
- package/_src/Fiber/api/join.ts +1 -1
- package/_src/Fiber/api/joinAll.ts +1 -1
- package/_src/Fiber/api/mapFiber.ts +5 -1
- package/_src/Fiber/api/mapIO.ts +6 -2
- package/_src/Fiber/api/poll.ts +1 -1
- package/_src/Fiber/api/zipWith.ts +1 -0
- package/_src/Fiber/constructors.ts +5 -5
- package/_src/Fiber/definition.ts +1 -1
- package/_src/FiberRef/api/locallyScoped.ts +1 -1
- package/_src/FiberRef/api/locallyScopedWith.ts +5 -1
- package/_src/FiberRef/api.ts +7 -7
- package/_src/FiberRef/constructors.ts +4 -2
- package/_src/FiberRef/unsafe.ts +7 -0
- package/_src/Future/api.ts +24 -16
- package/_src/Future/constructors.ts +2 -2
- package/_src/Hub/api.ts +50 -23
- package/_src/Hub/definition.ts +6 -6
- package/_src/Hub/internal.ts +15 -15
- package/_src/IO/api/acquireRelease.ts +2 -1
- package/_src/IO/api/acquireReleaseExit.ts +1 -1
- package/_src/IO/api/acquireReleaseInterruptible.ts +1 -1
- package/_src/IO/api/acquireReleaseInterruptibleExit.ts +1 -1
- package/_src/IO/api/addFinalizer.ts +1 -4
- package/_src/IO/api/addFinalizerExit.ts +6 -5
- package/_src/IO/api/asyncIO.ts +4 -1
- package/_src/IO/api/bracket.ts +2 -1
- package/_src/IO/api/bracketExit.ts +2 -1
- package/_src/IO/api/concurrency.ts +6 -3
- package/_src/IO/api/concurrentFinalizers.ts +1 -1
- package/_src/IO/api/consoleWith.ts +1 -1
- package/_src/IO/api/core-scope.ts +1 -1
- package/_src/IO/api/ensuringChildren.ts +3 -2
- package/_src/IO/api/environment.ts +9 -11
- package/_src/IO/api/foreachC.ts +33 -6
- package/_src/IO/api/foreachExec.ts +1 -0
- package/_src/IO/api/forkScoped.ts +1 -1
- package/_src/IO/api/fulfill.ts +1 -1
- package/_src/IO/api/interrupt.ts +13 -5
- package/_src/IO/api/memoize.ts +3 -3
- package/_src/IO/api/onExit.ts +2 -1
- package/_src/IO/api/onTermination.ts +2 -2
- package/_src/IO/api/provideLayer.ts +1 -0
- package/_src/IO/api/provideSomeLayer.ts +1 -3
- package/_src/IO/api/race.ts +6 -2
- package/_src/IO/api/raceFirst.ts +6 -2
- package/_src/IO/api/randomWith.ts +1 -1
- package/_src/IO/api/repeat.ts +7 -7
- package/_src/IO/api/retry.ts +7 -7
- package/_src/IO/api/schedule.ts +4 -3
- package/_src/IO/api/scope.ts +1 -1
- package/_src/IO/api/scopeWith.ts +1 -1
- package/_src/IO/api/scoped.ts +2 -2
- package/_src/IO/api/sequenceT.ts +1 -1
- package/_src/IO/api/stateful.ts +1 -1
- package/_src/IO/api/timeout.ts +5 -1
- package/_src/IO/api/withChildren.ts +1 -1
- package/_src/IO/api/withEarlyRelease.ts +4 -1
- package/_src/IO/api/withFinalizer.ts +2 -1
- package/_src/IO/api/withFinalizerExit.ts +2 -1
- package/_src/IO/api/withRuntimeConfig.ts +5 -1
- package/_src/IO/api/zipC.ts +7 -2
- package/_src/IO/api.ts +125 -75
- package/_src/IO/definition.ts +32 -27
- package/_src/IO/runtime.ts +48 -1
- package/_src/IOEnv/definition.ts +1 -1
- package/_src/Layer/MemoMap.ts +41 -34
- package/_src/Layer/api.ts +82 -49
- package/_src/Layer/definition.ts +11 -8
- package/_src/Queue/api/dimapIO.ts +21 -11
- package/_src/Queue/api/filterInputIO.ts +6 -4
- package/_src/Queue/api/filterOutputIO.ts +8 -6
- package/_src/Queue/api/operations.ts +28 -10
- package/_src/Queue/api/poll.ts +4 -1
- package/_src/Queue/api/takeBetween.ts +6 -1
- package/_src/Queue/api/zipWithIO.ts +13 -10
- package/_src/Queue/constructors.ts +4 -4
- package/_src/Queue/definition.ts +10 -10
- package/_src/Queue/internal.ts +7 -7
- package/_src/Queue/strategy.ts +18 -10
- package/_src/Random/api.ts +5 -5
- package/_src/Random/definition.ts +5 -5
- package/_src/Random/live.ts +4 -4
- package/_src/Ref/Atomic/Atomic.ts +3 -3
- package/_src/Ref/Atomic/api.ts +10 -10
- package/_src/Ref/Derived.ts +3 -3
- package/_src/Ref/DerivedAll.ts +3 -3
- package/_src/Ref/Synchronized/api.ts +33 -18
- package/_src/Ref/Synchronized/constructors.ts +5 -5
- package/_src/Ref/Synchronized/definition.ts +2 -2
- package/_src/Ref/api/collect.ts +1 -0
- package/_src/Ref/api/dimap.ts +7 -0
- package/_src/Ref/api/filter.ts +2 -0
- package/_src/Ref/api/get.ts +5 -2
- package/_src/Ref/api/modify.ts +21 -9
- package/_src/Ref/api/set.ts +5 -1
- package/_src/Ref/constructors.ts +2 -2
- package/_src/Ref/definition.ts +14 -14
- package/_src/STM/api/core-api.ts +20 -7
- package/_src/STM/api/core-constructors.ts +7 -7
- package/_src/STM/api.ts +150 -116
- package/_src/STM/definition.ts +6 -6
- package/_src/STM/driver.ts +3 -3
- package/_src/STM/internal/Journal.ts +25 -16
- package/_src/Schedule/Decision.ts +10 -3
- package/_src/Schedule/Driver.ts +2 -2
- package/_src/Schedule/api/driver.ts +6 -6
- package/_src/Schedule/api.ts +182 -82
- package/_src/Schedule/definition.ts +1 -1
- package/_src/Scope/Finalizer/definition.ts +2 -2
- package/_src/Scope/ReleaseMap/api/releaseAll.ts +6 -1
- package/_src/Scope/ReleaseMap/api.ts +15 -5
- package/_src/Scope/ReleaseMap/definition.ts +1 -1
- package/_src/Scope/api.ts +23 -15
- package/_src/ScopedRef/api.ts +12 -17
- package/_src/ScopedRef/definition.ts +1 -1
- package/_src/Sink/api.ts +111 -85
- package/_src/State/api.ts +1 -1
- package/_src/Stream/api/zipAllWith.ts +5 -2
- package/_src/Stream/api/zipWith.ts +2 -1
- package/_src/Stream/api/zipWithChunks.ts +5 -2
- package/_src/Stream/api.ts +484 -216
- package/_src/Stream/definition.ts +3 -3
- package/_src/Stream/internal/Take.ts +1 -1
- package/_src/Supervisor/constructors.ts +7 -3
- package/_src/TFuture/api.ts +5 -5
- package/_src/TFuture/constructors.ts +2 -2
- package/_src/TFuture/definition.ts +1 -1
- package/_src/TReentrantLock/api.ts +18 -18
- package/_src/TRef/api.ts +36 -14
- package/_src/TRef/constructors.ts +4 -4
- package/_src/TSemaphore/api.ts +7 -7
- package/_src/TSemaphore/constructors.ts +1 -1
- package/_src/TSemaphore/definition.ts +1 -1
- package/_src/collection/immutable/Conc/filterIO.ts +5 -1
- package/_src/collection/immutable/Conc/findIO.ts +6 -1
- package/_src/collection/immutable/Conc/mapIO.ts +1 -1
- package/_src/collection/immutable/Conc/takeWhileIO.ts +5 -1
- package/_src/collection/immutable/Conc.ts +2 -0
- package/_src/data/Exit/foreachIO.ts +1 -0
- package/_src/global.ts +149 -0
- package/_src/index.ts +42 -0
- package/_src/internal/Scheduler.ts +59 -15
- package/collection/immutable/Conc/filterIO.d.ts +1 -1
- package/collection/immutable/Conc/findIO.d.ts +2 -2
- package/collection/immutable/Conc/mapIO.d.ts +1 -1
- package/collection/immutable/Conc/takeWhileIO.d.ts +1 -1
- package/collection/immutable/Conc.d.ts +2 -0
- package/data/Exit/foreachIO.d.ts +2 -2
- package/global.d.ts +149 -0
- package/index.d.ts +40 -0
- package/internal/Scheduler.d.ts +18 -1
- package/package.json +7 -3
- package/_cjs/demo.cjs +0 -15
- package/_cjs/demo.cjs.map +0 -1
- package/_mjs/demo.mjs +0 -7
- package/_mjs/demo.mjs.map +0 -1
- package/_src/demo.ts +0 -6
- package/demo.d.ts +0 -1
package/_src/STM/api.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { Journal} from "./internal/Journal.js";
|
1
|
+
import type { Journal } from "./internal/Journal.js";
|
2
2
|
|
3
3
|
import { identity } from "@fncts/base/data/function";
|
4
4
|
import { AtomicReference } from "@fncts/base/internal/AtomicReference";
|
@@ -14,7 +14,7 @@ import { TryCommitTag } from "./internal/TryCommit.js";
|
|
14
14
|
*
|
15
15
|
* @tsplus fluent fncts.io.STM as
|
16
16
|
*/
|
17
|
-
export function as_<R, E, A, B>(stm: STM<R, E, A>, b: Lazy<B
|
17
|
+
export function as_<R, E, A, B>(stm: STM<R, E, A>, b: Lazy<B>, __tsplusTrace?: string): STM<R, E, B> {
|
18
18
|
return stm.map(() => b());
|
19
19
|
}
|
20
20
|
|
@@ -23,7 +23,7 @@ export function as_<R, E, A, B>(stm: STM<R, E, A>, b: Lazy<B>): STM<R, E, B> {
|
|
23
23
|
*
|
24
24
|
* @tsplus getter fncts.io.STM asJust
|
25
25
|
*/
|
26
|
-
export function asJust<R, E, A>(stm: STM<R, E, A
|
26
|
+
export function asJust<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): STM<R, E, Maybe<A>> {
|
27
27
|
return stm.map(Maybe.just);
|
28
28
|
}
|
29
29
|
|
@@ -32,7 +32,7 @@ export function asJust<R, E, A>(stm: STM<R, E, A>): STM<R, E, Maybe<A>> {
|
|
32
32
|
*
|
33
33
|
* @tsplus getter fncts.io.STM asJustError
|
34
34
|
*/
|
35
|
-
export function asJustError<R, E, A>(stm: STM<R, E, A
|
35
|
+
export function asJustError<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): STM<R, Maybe<E>, A> {
|
36
36
|
return stm.mapError(Maybe.just);
|
37
37
|
}
|
38
38
|
|
@@ -42,14 +42,17 @@ export function asJustError<R, E, A>(stm: STM<R, E, A>): STM<R, Maybe<E>, A> {
|
|
42
42
|
*
|
43
43
|
* @tsplus getter fncts.io.STM absolve
|
44
44
|
*/
|
45
|
-
export function absolve<R, E, E1, A>(z: STM<R, E, Either<E1, A
|
45
|
+
export function absolve<R, E, E1, A>(z: STM<R, E, Either<E1, A>>, __tsplusTrace?: string): STM<R, E | E1, A> {
|
46
46
|
return z.flatMap(STM.fromEitherNow);
|
47
47
|
}
|
48
48
|
|
49
49
|
/**
|
50
50
|
* @tsplus static fncts.io.STMOps Effect
|
51
51
|
*/
|
52
|
-
export function makeEffect<R, E, A>(
|
52
|
+
export function makeEffect<R, E, A>(
|
53
|
+
f: (journal: Journal, fiberId: FiberId, r: Environment<R>) => A,
|
54
|
+
__tsplusTrace?: string,
|
55
|
+
): STM<R, E, A> {
|
53
56
|
return new Effect(f);
|
54
57
|
}
|
55
58
|
|
@@ -58,8 +61,8 @@ export function makeEffect<R, E, A>(f: (journal: Journal, fiberId: FiberId, r: R
|
|
58
61
|
*
|
59
62
|
* @tsplus static fncts.io.STMOps environment
|
60
63
|
*/
|
61
|
-
export function environment<R>(): STM<R, never, R
|
62
|
-
return new Effect((_, __, r
|
64
|
+
export function environment<R>(__tsplusTrace?: string): STM<R, never, Environment<R>> {
|
65
|
+
return new Effect((_, __, r) => r);
|
63
66
|
}
|
64
67
|
|
65
68
|
/**
|
@@ -67,7 +70,7 @@ export function environment<R>(): STM<R, never, R> {
|
|
67
70
|
*
|
68
71
|
* @tsplus static fncts.io.STMOps environmentWith
|
69
72
|
*/
|
70
|
-
export function environmentWith<R, A>(f: (r: R) => A): STM<R, never, A> {
|
73
|
+
export function environmentWith<R, A>(f: (r: Environment<R>) => A, __tsplusTrace?: string): STM<R, never, A> {
|
71
74
|
return STM.environment<R>().map(f);
|
72
75
|
}
|
73
76
|
|
@@ -76,7 +79,7 @@ export function environmentWith<R, A>(f: (r: R) => A): STM<R, never, A> {
|
|
76
79
|
*
|
77
80
|
* @tsplus static fncts.io.STMOps environmentWithSTM
|
78
81
|
*/
|
79
|
-
export function environmentWithSTM<R0, R, E, A>(f: (r: R0) => STM<R, E, A
|
82
|
+
export function environmentWithSTM<R0, R, E, A>(f: (r: Environment<R0>) => STM<R, E, A>, __tsplusTrace?: string) {
|
80
83
|
return STM.environment<R0>().flatMap(f);
|
81
84
|
}
|
82
85
|
|
@@ -84,35 +87,37 @@ export function environmentWithSTM<R0, R, E, A>(f: (r: R0) => STM<R, E, A>) {
|
|
84
87
|
* @tsplus static fncts.io.STMOps atomically
|
85
88
|
* @tsplus getter fncts.io.STM commit
|
86
89
|
*/
|
87
|
-
export function atomically<R, E, A>(stm: STM<R, E, A
|
90
|
+
export function atomically<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): IO<R, E, A> {
|
88
91
|
return IO.environmentWithIO((r: Environment<R>) =>
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
92
|
+
FiberRef.currentScheduler.getWith((scheduler) =>
|
93
|
+
IO.deferWith((_, fiberId) => {
|
94
|
+
const result = tryCommitSync(fiberId, stm, r, scheduler);
|
95
|
+
switch (result._tag) {
|
96
|
+
case TryCommitTag.Done: {
|
97
|
+
return IO.fromExitNow(result.exit);
|
98
|
+
}
|
99
|
+
case TryCommitTag.Suspend: {
|
100
|
+
const id = TxnId.make();
|
101
|
+
const state = new AtomicReference<CommitState<E, A>>(CommitState.Running);
|
102
|
+
const async = IO.async(tryCommitAsync(result.journal, fiberId, stm, id, state, r, scheduler));
|
103
|
+
return IO.uninterruptibleMask(({ restore }) =>
|
104
|
+
restore(async).catchAllCause((cause) => {
|
105
|
+
state.compareAndSet(CommitState.Running, CommitState.Interrupted);
|
106
|
+
const newState = state.get;
|
107
|
+
switch (newState._tag) {
|
108
|
+
case "Done": {
|
109
|
+
return IO.fromExitNow(newState.exit);
|
110
|
+
}
|
111
|
+
default: {
|
112
|
+
return IO.failCauseNow(cause);
|
113
|
+
}
|
109
114
|
}
|
110
|
-
}
|
111
|
-
|
112
|
-
|
115
|
+
}),
|
116
|
+
);
|
117
|
+
}
|
113
118
|
}
|
114
|
-
}
|
115
|
-
|
119
|
+
}),
|
120
|
+
),
|
116
121
|
);
|
117
122
|
}
|
118
123
|
|
@@ -120,7 +125,12 @@ export function atomically<R, E, A>(stm: STM<R, E, A>): IO<R, E, A> {
|
|
120
125
|
* Returns an `STM` effect whose failure and success channels have been mapped by
|
121
126
|
* the specified pair of functions, `f` and `g`.
|
122
127
|
*/
|
123
|
-
export function bimap_<R, E, A, E1, B>(
|
128
|
+
export function bimap_<R, E, A, E1, B>(
|
129
|
+
stm: STM<R, E, A>,
|
130
|
+
g: (e: E) => E1,
|
131
|
+
f: (a: A) => B,
|
132
|
+
__tsplusTrace?: string,
|
133
|
+
): STM<R, E1, B> {
|
124
134
|
return stm.matchSTM(
|
125
135
|
(e) => STM.failNow(g(e)),
|
126
136
|
(a) => STM.succeedNow(f(a)),
|
@@ -137,7 +147,8 @@ export function catch_<N extends keyof E, K extends E[N] & string, E, R, A, R1,
|
|
137
147
|
tag: N,
|
138
148
|
k: K,
|
139
149
|
f: (e: Extract<E, { [n in N]: K }>) => STM<R1, E1, A1>,
|
140
|
-
|
150
|
+
__tsplusTrace?: string,
|
151
|
+
): STM<R | R1, Exclude<E, { [n in N]: K }> | E1, A | A1> {
|
141
152
|
return stm.catchAll((e) => {
|
142
153
|
if (tag in e && e[tag] === k) {
|
143
154
|
return f(e as any);
|
@@ -154,7 +165,8 @@ export function catch_<N extends keyof E, K extends E[N] & string, E, R, A, R1,
|
|
154
165
|
export function catchJust_<R, E, A, R1, E1, B>(
|
155
166
|
stm: STM<R, E, A>,
|
156
167
|
f: (e: E) => Maybe<STM<R1, E1, B>>,
|
157
|
-
|
168
|
+
__tsplusTrace?: string,
|
169
|
+
): STM<R1 | R, E | E1, A | B> {
|
158
170
|
return stm.catchAll((e): STM<R1, E | E1, A | B> => f(e).getOrElse(STM.failNow(e)));
|
159
171
|
}
|
160
172
|
|
@@ -167,7 +179,8 @@ export function catchTag_<K extends E["_tag"] & string, E extends { _tag: string
|
|
167
179
|
stm: STM<R, E, A>,
|
168
180
|
k: K,
|
169
181
|
f: (e: Extract<E, { _tag: K }>) => STM<R1, E1, A1>,
|
170
|
-
|
182
|
+
__tsplusTrace?: string,
|
183
|
+
): STM<R | R1, Exclude<E, { _tag: K }> | E1, A | A1> {
|
171
184
|
return stm.catchAll((e) => {
|
172
185
|
if ("_tag" in e && e["_tag"] === k) {
|
173
186
|
return f(e as any);
|
@@ -182,7 +195,11 @@ export function catchTag_<K extends E["_tag"] & string, E extends { _tag: string
|
|
182
195
|
*
|
183
196
|
* @tsplus fluent fncts.io.STM flatMapError
|
184
197
|
*/
|
185
|
-
export function chainError_<R, E, A, R2, E2>(
|
198
|
+
export function chainError_<R, E, A, R2, E2>(
|
199
|
+
stm: STM<R, E, A>,
|
200
|
+
f: (e: E) => STM<R2, never, E2>,
|
201
|
+
__tsplusTrace?: string,
|
202
|
+
): STM<R2 | R, E2, A> {
|
186
203
|
return stm.swapWith((effect) => effect.flatMap(f));
|
187
204
|
}
|
188
205
|
|
@@ -191,7 +208,7 @@ export function chainError_<R, E, A, R2, E2>(stm: STM<R, E, A>, f: (e: E) => STM
|
|
191
208
|
*
|
192
209
|
* @tsplus static fncts.io.STMOps check
|
193
210
|
*/
|
194
|
-
export function check(predicate: () => boolean): STM<
|
211
|
+
export function check(predicate: () => boolean, __tsplusTrace?: string): STM<never, never, void> {
|
195
212
|
return STM.defer(() => (predicate() ? STM.unit : STM.retry));
|
196
213
|
}
|
197
214
|
|
@@ -199,7 +216,7 @@ export function check(predicate: () => boolean): STM<unknown, never, void> {
|
|
199
216
|
* Commits this transaction atomically, regardless of whether the transaction
|
200
217
|
* is a success or a failure.
|
201
218
|
*/
|
202
|
-
export function commitEither<R, E, A>(stm: STM<R, E, A
|
219
|
+
export function commitEither<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): IO<R, E, A> {
|
203
220
|
return stm.either.commit.absolve;
|
204
221
|
}
|
205
222
|
|
@@ -213,6 +230,7 @@ export function continueOrFail_<R, E, E1, A, A2>(
|
|
213
230
|
fa: STM<R, E, A>,
|
214
231
|
e: Lazy<E1>,
|
215
232
|
pf: (a: A) => Maybe<A2>,
|
233
|
+
__tsplusTrace?: string,
|
216
234
|
): STM<R, E | E1, A2> {
|
217
235
|
return fa.continueOrFailSTM(e, (a) => pf(a).map(STM.succeedNow));
|
218
236
|
}
|
@@ -227,7 +245,8 @@ export function continueOrFailSTM_<R, E, E1, A, R2, E2, A2>(
|
|
227
245
|
fa: STM<R, E, A>,
|
228
246
|
e: Lazy<E1>,
|
229
247
|
pf: (a: A) => Maybe<STM<R2, E2, A2>>,
|
230
|
-
|
248
|
+
__tsplusTrace?: string,
|
249
|
+
): STM<R2 | R, E | E1 | E2, A2> {
|
231
250
|
return fa.flatMap((a) => pf(a).getOrElse(STM.fail(e)));
|
232
251
|
}
|
233
252
|
|
@@ -237,7 +256,11 @@ export function continueOrFailSTM_<R, E, E1, A, R2, E2, A2>(
|
|
237
256
|
*
|
238
257
|
* @tsplus fluent fncts.io.STM continueOrRetry
|
239
258
|
*/
|
240
|
-
export function continueOrRetry_<R, E, A, A2>(
|
259
|
+
export function continueOrRetry_<R, E, A, A2>(
|
260
|
+
fa: STM<R, E, A>,
|
261
|
+
pf: (a: A) => Maybe<A2>,
|
262
|
+
__tsplusTrace?: string,
|
263
|
+
): STM<R, E, A2> {
|
241
264
|
return fa.continueOrRetrySTM((a) => pf(a).map(STM.succeedNow));
|
242
265
|
}
|
243
266
|
|
@@ -250,7 +273,8 @@ export function continueOrRetry_<R, E, A, A2>(fa: STM<R, E, A>, pf: (a: A) => Ma
|
|
250
273
|
export function continueOrRetrySTM_<R, E, A, R2, E2, A2>(
|
251
274
|
fa: STM<R, E, A>,
|
252
275
|
pf: (a: A) => Maybe<STM<R2, E2, A2>>,
|
253
|
-
|
276
|
+
__tsplusTrace?: string,
|
277
|
+
): STM<R2 | R, E | E2, A2> {
|
254
278
|
return fa.flatMap((a) => pf(a).getOrElse(STM.retry));
|
255
279
|
}
|
256
280
|
|
@@ -259,7 +283,7 @@ export function continueOrRetrySTM_<R, E, A, R2, E2, A2>(
|
|
259
283
|
*
|
260
284
|
* @tsplus static fncts.io.STMOps defer
|
261
285
|
*/
|
262
|
-
export function defer<R, E, A>(make: Lazy<STM<R, E, A
|
286
|
+
export function defer<R, E, A>(make: Lazy<STM<R, E, A>>, __tsplusTrace?: string): STM<R, E, A> {
|
263
287
|
return STM.succeed(make).flatten;
|
264
288
|
}
|
265
289
|
|
@@ -268,7 +292,7 @@ export function defer<R, E, A>(make: Lazy<STM<R, E, A>>): STM<R, E, A> {
|
|
268
292
|
*
|
269
293
|
* @tsplus getter fncts.io.STM either
|
270
294
|
*/
|
271
|
-
export function either<R, E, A>(stm: STM<R, E, A
|
295
|
+
export function either<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): STM<R, never, Either<E, A>> {
|
272
296
|
return stm.match(Either.left, Either.right);
|
273
297
|
}
|
274
298
|
|
@@ -277,7 +301,7 @@ export function either<R, E, A>(stm: STM<R, E, A>): STM<R, never, Either<E, A>>
|
|
277
301
|
*
|
278
302
|
* @tsplus getter fncts.io.STM eventually
|
279
303
|
*/
|
280
|
-
export function eventually<R, E, A>(stm: STM<R, E, A
|
304
|
+
export function eventually<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): STM<R, never, A> {
|
281
305
|
return stm.matchSTM(() => stm.eventually, STM.succeedNow);
|
282
306
|
}
|
283
307
|
|
@@ -286,7 +310,7 @@ export function eventually<R, E, A>(stm: STM<R, E, A>): STM<R, never, A> {
|
|
286
310
|
*
|
287
311
|
* @tsplus fluent fncts.io.STM filterMap
|
288
312
|
*/
|
289
|
-
export function filterMap_<R, E, A, B>(stm: STM<R, E, A>, f: (a: A) => Maybe<B
|
313
|
+
export function filterMap_<R, E, A, B>(stm: STM<R, E, A>, f: (a: A) => Maybe<B>, __tsplusTrace?: string): STM<R, E, B> {
|
290
314
|
return stm.filterMapSTM((a) => f(a).map(STM.succeedNow));
|
291
315
|
}
|
292
316
|
|
@@ -299,7 +323,8 @@ export function filterMap_<R, E, A, B>(stm: STM<R, E, A>, f: (a: A) => Maybe<B>)
|
|
299
323
|
export function filterMapSTM_<R, E, A, R1, E1, B>(
|
300
324
|
self: STM<R, E, A>,
|
301
325
|
f: (a: A) => Maybe<STM<R1, E1, B>>,
|
302
|
-
|
326
|
+
__tsplusTrace?: string,
|
327
|
+
): STM<R | R1, E | E1, B> {
|
303
328
|
return self.matchSTM(STM.failNow, (a) => f(a).getOrElse(STM.retry));
|
304
329
|
}
|
305
330
|
|
@@ -312,17 +337,18 @@ export function filterOrElse_<R, E, A, B extends A, R2, E2, A2>(
|
|
312
337
|
fa: STM<R, E, A>,
|
313
338
|
p: Refinement<A, B>,
|
314
339
|
or: (a: Exclude<A, B>) => STM<R2, E2, A2>,
|
315
|
-
): STM<R
|
340
|
+
): STM<R | R2, E | E2, B | A2>;
|
316
341
|
export function filterOrElse_<R, E, A, R2, E2, A2>(
|
317
342
|
fa: STM<R, E, A>,
|
318
343
|
p: Predicate<A>,
|
319
344
|
or: (a: A) => STM<R2, E2, A2>,
|
320
|
-
): STM<R
|
345
|
+
): STM<R | R2, E | E2, A | A2>;
|
321
346
|
export function filterOrElse_<R, E, A, R2, E2, A2>(
|
322
347
|
fa: STM<R, E, A>,
|
323
348
|
p: Predicate<A>,
|
324
349
|
or: unknown,
|
325
|
-
|
350
|
+
__tsplusTrace?: string,
|
351
|
+
): STM<R | R2, E | E2, A | A2> {
|
326
352
|
return fa.flatMap((a) => (p(a) ? STM.succeedNow(a) : STM.defer((or as (a: A) => STM<R2, E2, A2>)(a))));
|
327
353
|
}
|
328
354
|
|
@@ -341,7 +367,12 @@ export function filterOrFail_<R, E, E1, A>(
|
|
341
367
|
p: Predicate<A>,
|
342
368
|
failWith: (a: A) => E1,
|
343
369
|
): STM<R, E | E1, A>;
|
344
|
-
export function filterOrFail_<R, E, E1, A>(
|
370
|
+
export function filterOrFail_<R, E, E1, A>(
|
371
|
+
fa: STM<R, E, A>,
|
372
|
+
p: Predicate<A>,
|
373
|
+
failWith: unknown,
|
374
|
+
__tsplusTrace?: string,
|
375
|
+
): STM<R, E | E1, A> {
|
345
376
|
return fa.filterOrElse(p, (a) => STM.fail((failWith as (a: A) => E1)(a)));
|
346
377
|
}
|
347
378
|
|
@@ -356,7 +387,12 @@ export function filterOrHalt_<R, E, A, B extends A>(
|
|
356
387
|
haltWith: (a: Exclude<A, B>) => unknown,
|
357
388
|
): STM<R, E, B>;
|
358
389
|
export function filterOrHalt_<R, E, A>(fa: STM<R, E, A>, p: Predicate<A>, haltWith: (a: A) => unknown): STM<R, E, A>;
|
359
|
-
export function filterOrHalt_<R, E, A>(
|
390
|
+
export function filterOrHalt_<R, E, A>(
|
391
|
+
fa: STM<R, E, A>,
|
392
|
+
p: Predicate<A>,
|
393
|
+
haltWith: unknown,
|
394
|
+
__tsplusTrace?: string,
|
395
|
+
): STM<R, E, A> {
|
360
396
|
return fa.filterOrElse(p, (a) => STM.halt((haltWith as (a: A) => unknown)(a)));
|
361
397
|
}
|
362
398
|
|
@@ -365,7 +401,10 @@ export function filterOrHalt_<R, E, A>(fa: STM<R, E, A>, p: Predicate<A>, haltWi
|
|
365
401
|
*
|
366
402
|
* @tsplus getter fncts.io.STM flatten
|
367
403
|
*/
|
368
|
-
export function flatten<R, E, R1, E1, B>(
|
404
|
+
export function flatten<R, E, R1, E1, B>(
|
405
|
+
stm: STM<R, E, STM<R1, E1, B>>,
|
406
|
+
__tsplusTrace?: string,
|
407
|
+
): STM<R1 | R, E | E1, B> {
|
369
408
|
return stm.flatMap(identity);
|
370
409
|
}
|
371
410
|
|
@@ -374,7 +413,11 @@ export function flatten<R, E, R1, E1, B>(stm: STM<R, E, STM<R1, E1, B>>): STM<R1
|
|
374
413
|
*
|
375
414
|
* @tsplus fluent fncts.io.STM flattenErrorOption
|
376
415
|
*/
|
377
|
-
export function flattenErrorOption_<R, E, A, E2>(
|
416
|
+
export function flattenErrorOption_<R, E, A, E2>(
|
417
|
+
stm: STM<R, Maybe<E>, A>,
|
418
|
+
def: Lazy<E2>,
|
419
|
+
__tsplusTrace?: string,
|
420
|
+
): STM<R, E | E2, A> {
|
378
421
|
return stm.mapError((me) => me.getOrElse(def));
|
379
422
|
}
|
380
423
|
|
@@ -384,7 +427,11 @@ export function flattenErrorOption_<R, E, A, E2>(stm: STM<R, Maybe<E>, A>, def:
|
|
384
427
|
*
|
385
428
|
* @tsplus static fncts.io.STMOps foreach
|
386
429
|
*/
|
387
|
-
export function foreach_<A, R, E, B>(
|
430
|
+
export function foreach_<A, R, E, B>(
|
431
|
+
it: Iterable<A>,
|
432
|
+
f: (a: A) => STM<R, E, B>,
|
433
|
+
__tsplusTrace?: string,
|
434
|
+
): STM<R, E, readonly B[]> {
|
388
435
|
return STM.defer(() => {
|
389
436
|
let stm = STM.succeedNow([]) as STM<R, E, B[]>;
|
390
437
|
|
@@ -404,7 +451,7 @@ export function foreach_<A, R, E, B>(it: Iterable<A>, f: (a: A) => STM<R, E, B>)
|
|
404
451
|
*
|
405
452
|
* @tsplus static fncts.io.STMOps fromEither
|
406
453
|
*/
|
407
|
-
export function fromEither<E, A>(e: Lazy<Either<E, A
|
454
|
+
export function fromEither<E, A>(e: Lazy<Either<E, A>>, __tsplusTrace?: string): STM<never, E, A> {
|
408
455
|
return STM.defer(e().match(STM.failNow, STM.succeedNow));
|
409
456
|
}
|
410
457
|
|
@@ -413,14 +460,14 @@ export function fromEither<E, A>(e: Lazy<Either<E, A>>): STM<unknown, E, A> {
|
|
413
460
|
*
|
414
461
|
* @tsplus static fncts.io.STMOps fromEitherNow
|
415
462
|
*/
|
416
|
-
export function fromEitherNow<E, A>(e: Either<E, A
|
463
|
+
export function fromEitherNow<E, A>(e: Either<E, A>, __tsplusTrace?: string): STM<never, E, A> {
|
417
464
|
return e.match(STM.failNow, STM.succeedNow);
|
418
465
|
}
|
419
466
|
|
420
467
|
/**
|
421
468
|
* Unwraps the optional success of this effect, but can fail with an None value.
|
422
469
|
*/
|
423
|
-
export function get<R, E, A>(stm: STM<R, E, Maybe<A
|
470
|
+
export function get<R, E, A>(stm: STM<R, E, Maybe<A>>, __tsplusTrace?: string): STM<R, Maybe<E>, A> {
|
424
471
|
return stm.matchSTM(
|
425
472
|
(e) => STM.failNow(Just(e)),
|
426
473
|
(ma) => ma.match(() => STM.failNow(Nothing()), STM.succeedNow),
|
@@ -433,7 +480,11 @@ export function get<R, E, A>(stm: STM<R, E, Maybe<A>>): STM<R, Maybe<E>, A> {
|
|
433
480
|
*
|
434
481
|
* @tsplus fluent fncts.io.STM provideEnvironment
|
435
482
|
*/
|
436
|
-
export function provideEnvironment_<R, E, A>(
|
483
|
+
export function provideEnvironment_<R, E, A>(
|
484
|
+
stm: STM<R, E, A>,
|
485
|
+
r: Environment<R>,
|
486
|
+
__tsplusTrace?: string,
|
487
|
+
): STM<never, E, A> {
|
437
488
|
return stm.contramapEnvironment(() => r);
|
438
489
|
}
|
439
490
|
|
@@ -443,7 +494,11 @@ export function provideEnvironment_<R, E, A>(stm: STM<R, E, A>, r: R): STM<unkno
|
|
443
494
|
*
|
444
495
|
* @tsplus fluent fncts.io.STM contramapEnvironment
|
445
496
|
*/
|
446
|
-
export function contramapEnvironment_<R, E, A, R0>(
|
497
|
+
export function contramapEnvironment_<R, E, A, R0>(
|
498
|
+
self: STM<R, E, A>,
|
499
|
+
f: (r: Environment<R0>) => Environment<R>,
|
500
|
+
__tsplusTrace?: string,
|
501
|
+
): STM<R0, E, A> {
|
447
502
|
return new ContramapEnvironment(self, f);
|
448
503
|
}
|
449
504
|
|
@@ -452,7 +507,7 @@ export function contramapEnvironment_<R, E, A, R0>(self: STM<R, E, A>, f: (r: R0
|
|
452
507
|
*
|
453
508
|
* @tsplus static fncts.io.STMOps halt
|
454
509
|
*/
|
455
|
-
export function halt(u: Lazy<unknown
|
510
|
+
export function halt(u: Lazy<unknown>, __tsplusTrace?: string): STM<never, never, never> {
|
456
511
|
return new Effect(() => {
|
457
512
|
throw new HaltException(u());
|
458
513
|
});
|
@@ -463,7 +518,7 @@ export function halt(u: Lazy<unknown>): STM<unknown, never, never> {
|
|
463
518
|
*
|
464
519
|
* @tsplus static fncts.io.STMOps haltNow
|
465
520
|
*/
|
466
|
-
export function haltNow(u: unknown): STM<
|
521
|
+
export function haltNow(u: unknown, __tsplusTrace?: string): STM<never, never, never> {
|
467
522
|
return new Effect(() => {
|
468
523
|
throw new HaltException(u);
|
469
524
|
});
|
@@ -475,7 +530,7 @@ export function haltNow(u: unknown): STM<unknown, never, never> {
|
|
475
530
|
*
|
476
531
|
* @tsplus getter fncts.io.STM head
|
477
532
|
*/
|
478
|
-
export function head<R, E, A>(stm: STM<R, E, Iterable<A
|
533
|
+
export function head<R, E, A>(stm: STM<R, E, Iterable<A>>, __tsplusTrace?: string): STM<R, Maybe<E>, A> {
|
479
534
|
return stm.matchSTM(
|
480
535
|
(e) => STM.failNow(Just(e)),
|
481
536
|
(ia) => {
|
@@ -491,14 +546,14 @@ export function head<R, E, A>(stm: STM<R, E, Iterable<A>>): STM<R, Maybe<E>, A>
|
|
491
546
|
*
|
492
547
|
* @tsplus static fncts.io.STMOps interrupt
|
493
548
|
*/
|
494
|
-
export const interrupt: STM<
|
549
|
+
export const interrupt: STM<never, never, never> = STM.fiberId.flatMap((id) => STM.interruptAs(id));
|
495
550
|
|
496
551
|
/**
|
497
552
|
* Returns whether this effect is a failure.
|
498
553
|
*
|
499
554
|
* @tsplus getter fncts.io.STM isFailure
|
500
555
|
*/
|
501
|
-
export function isFailure<R, E, A>(stm: STM<R, E, A
|
556
|
+
export function isFailure<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string) {
|
502
557
|
return stm.match(
|
503
558
|
() => true,
|
504
559
|
() => false,
|
@@ -510,55 +565,19 @@ export function isFailure<R, E, A>(stm: STM<R, E, A>) {
|
|
510
565
|
*
|
511
566
|
* @tsplus getter fncts.io.STM isSuccess
|
512
567
|
*/
|
513
|
-
export function isSuccess<R, E, A>(stm: STM<R, E, A
|
568
|
+
export function isSuccess<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string) {
|
514
569
|
return stm.match(
|
515
570
|
() => false,
|
516
571
|
() => true,
|
517
572
|
);
|
518
573
|
}
|
519
574
|
|
520
|
-
/**
|
521
|
-
* Depending on provided environment returns either this one or the other effect.
|
522
|
-
*
|
523
|
-
* @tsplus fluent fncts.io.STM join
|
524
|
-
*/
|
525
|
-
export function join_<R, E, A, R1, E1, A1>(
|
526
|
-
stm: STM<R, E, A>,
|
527
|
-
that: STM<R1, E1, A1>,
|
528
|
-
): STM<Either<R, R1>, E | E1, A | A1> {
|
529
|
-
return STM.environmentWithSTM(
|
530
|
-
(r: Either<R, R1>): STM<unknown, E | E1, A | A1> =>
|
531
|
-
r.match(
|
532
|
-
(r) => stm.provideEnvironment(r),
|
533
|
-
(r1) => that.provideEnvironment(r1),
|
534
|
-
),
|
535
|
-
);
|
536
|
-
}
|
537
|
-
|
538
|
-
/**
|
539
|
-
* Depending on provided environment returns either this one or the other effect.
|
540
|
-
*
|
541
|
-
* @tsplus fluent fncts.io.STM joinEither
|
542
|
-
*/
|
543
|
-
export function joinEither_<R, E, A, R1, E1, A1>(
|
544
|
-
stm: STM<R, E, A>,
|
545
|
-
that: STM<R1, E1, A1>,
|
546
|
-
): STM<Either<R, R1>, E | E1, Either<A, A1>> {
|
547
|
-
return STM.environmentWithSTM(
|
548
|
-
(r: Either<R, R1>): STM<unknown, E | E1, Either<A, A1>> =>
|
549
|
-
r.match(
|
550
|
-
(r) => stm.provideEnvironment(r).map(Either.left),
|
551
|
-
(r1) => that.provideEnvironment(r1).map(Either.right),
|
552
|
-
),
|
553
|
-
);
|
554
|
-
}
|
555
|
-
|
556
575
|
/**
|
557
576
|
* Returns a successful effect if the value is `Left`, or fails with the error `None`.
|
558
577
|
*
|
559
578
|
* @tsplus getter fncts.io.STM left
|
560
579
|
*/
|
561
|
-
export function left<R, E, B, C>(stm: STM<R, E, Either<B, C
|
580
|
+
export function left<R, E, B, C>(stm: STM<R, E, Either<B, C>>, __tsplusTrace?: string): STM<R, Maybe<E>, B> {
|
562
581
|
return stm.matchSTM(
|
563
582
|
(e) => STM.fail(Just(e)),
|
564
583
|
(bc) => bc.match(STM.succeedNow, () => STM.failNow(Nothing())),
|
@@ -570,7 +589,11 @@ export function left<R, E, B, C>(stm: STM<R, E, Either<B, C>>): STM<R, Maybe<E>,
|
|
570
589
|
*
|
571
590
|
* @tsplus fluent fncts.io.STM leftOrFail
|
572
591
|
*/
|
573
|
-
export function leftOrFail_<R, E, B, C, E1>(
|
592
|
+
export function leftOrFail_<R, E, B, C, E1>(
|
593
|
+
stm: STM<R, E, Either<B, C>>,
|
594
|
+
orFail: (c: C) => E1,
|
595
|
+
__tsplusTrace?: string,
|
596
|
+
): STM<R, E | E1, B> {
|
574
597
|
return stm.flatMap((bc) => bc.match(STM.succeedNow, (c) => STM.fail(orFail(c))));
|
575
598
|
}
|
576
599
|
|
@@ -579,7 +602,7 @@ export function leftOrFail_<R, E, B, C, E1>(stm: STM<R, E, Either<B, C>>, orFail
|
|
579
602
|
*
|
580
603
|
* @tsplus fluent fncts.io.STM mapError
|
581
604
|
*/
|
582
|
-
export function mapError_<R, E, A, E1>(stm: STM<R, E, A>, f: (a: E) => E1): STM<R, E1, A> {
|
605
|
+
export function mapError_<R, E, A, E1>(stm: STM<R, E, A>, f: (a: E) => E1, __tsplusTrace?: string): STM<R, E1, A> {
|
583
606
|
return stm.matchSTM((e) => STM.failNow(f(e)), STM.succeedNow);
|
584
607
|
}
|
585
608
|
|
@@ -589,7 +612,12 @@ export function mapError_<R, E, A, E1>(stm: STM<R, E, A>, f: (a: E) => E1): STM<
|
|
589
612
|
*
|
590
613
|
* @tsplus fluent fncts.io.STM match
|
591
614
|
*/
|
592
|
-
export function match_<R, E, A, B, C>(
|
615
|
+
export function match_<R, E, A, B, C>(
|
616
|
+
stm: STM<R, E, A>,
|
617
|
+
g: (e: E) => C,
|
618
|
+
f: (a: A) => B,
|
619
|
+
__tsplusTrace?: string,
|
620
|
+
): STM<R, never, B | C> {
|
593
621
|
return stm.matchSTM(
|
594
622
|
(e) => STM.succeedNow(g(e)),
|
595
623
|
(a) => STM.succeedNow(f(a)),
|
@@ -610,7 +638,7 @@ export function match_<R, E, A, B, C>(stm: STM<R, E, A>, g: (e: E) => C, f: (a:
|
|
610
638
|
*
|
611
639
|
* @tsplus fluent fncts.io.STM repeatUntil
|
612
640
|
*/
|
613
|
-
export function repeatUntil_<R, E, A>(stm: STM<R, E, A>, f: (a: A) => boolean): STM<R, E, A> {
|
641
|
+
export function repeatUntil_<R, E, A>(stm: STM<R, E, A>, f: (a: A) => boolean, __tsplusTrace?: string): STM<R, E, A> {
|
614
642
|
return stm.flatMap((a) => (f(a) ? STM.succeedNow(a) : stm.repeatUntil(f)));
|
615
643
|
}
|
616
644
|
|
@@ -628,7 +656,7 @@ export function repeatUntil_<R, E, A>(stm: STM<R, E, A>, f: (a: A) => boolean):
|
|
628
656
|
*
|
629
657
|
* @tsplus fluent fncts.io.STM repeatWhile
|
630
658
|
*/
|
631
|
-
export function repeatWhile_<R, E, A>(stm: STM<R, E, A>, f: (a: A) => boolean): STM<R, E, A> {
|
659
|
+
export function repeatWhile_<R, E, A>(stm: STM<R, E, A>, f: (a: A) => boolean, __tsplusTrace?: string): STM<R, E, A> {
|
632
660
|
return stm.flatMap((a) => (f(a) ? stm.repeatWhile(f) : STM.succeedNow(a)));
|
633
661
|
}
|
634
662
|
|
@@ -638,7 +666,7 @@ export function repeatWhile_<R, E, A>(stm: STM<R, E, A>, f: (a: A) => boolean):
|
|
638
666
|
*
|
639
667
|
* @tsplus getter fncts.io.STM swap
|
640
668
|
*/
|
641
|
-
export function swap<R, E, A>(stm: STM<R, E, A
|
669
|
+
export function swap<R, E, A>(stm: STM<R, E, A>, __tsplusTrace?: string): STM<R, A, E> {
|
642
670
|
return stm.matchSTM(STM.succeedNow, STM.failNow);
|
643
671
|
}
|
644
672
|
|
@@ -650,6 +678,7 @@ export function swap<R, E, A>(stm: STM<R, E, A>): STM<R, A, E> {
|
|
650
678
|
export function swapWith_<R, E, A, R2, E2, A2>(
|
651
679
|
stm: STM<R, E, A>,
|
652
680
|
f: (stm: STM<R, A, E>) => STM<R2, A2, E2>,
|
681
|
+
__tsplusTrace?: string,
|
653
682
|
): STM<R2, E2, A2> {
|
654
683
|
return f(stm.swap).swap;
|
655
684
|
}
|
@@ -659,7 +688,11 @@ export function swapWith_<R, E, A, R2, E2, A2>(
|
|
659
688
|
*
|
660
689
|
* @tsplus fluent fncts.io.STM tap
|
661
690
|
*/
|
662
|
-
export function tap_<R, E, A, R1, E1, B>(
|
691
|
+
export function tap_<R, E, A, R1, E1, B>(
|
692
|
+
stm: STM<R, E, A>,
|
693
|
+
f: (a: A) => STM<R1, E1, B>,
|
694
|
+
__tsplusTrace?: string,
|
695
|
+
): STM<R1 | R, E | E1, A> {
|
663
696
|
return stm.flatMap((a) => f(a).as(a));
|
664
697
|
}
|
665
698
|
|
@@ -668,7 +701,7 @@ export function tap_<R, E, A, R1, E1, B>(stm: STM<R, E, A>, f: (a: A) => STM<R1,
|
|
668
701
|
*
|
669
702
|
* @tsplus static fncts.io.STMOps toLeft
|
670
703
|
*/
|
671
|
-
export function toLeft<A>(a: Lazy<A
|
704
|
+
export function toLeft<A>(a: Lazy<A>, __tsplusTrace?: string): STM<never, never, Either<A, never>> {
|
672
705
|
return STM.succeed(a).flatMap((a) => STM.succeedNow(Either.left(a)));
|
673
706
|
}
|
674
707
|
|
@@ -689,6 +722,7 @@ export function zipWith_<R, E, A, R1, E1, B, C>(
|
|
689
722
|
self: STM<R, E, A>,
|
690
723
|
that: STM<R1, E1, B>,
|
691
724
|
f: (a: A, b: B) => C,
|
692
|
-
|
725
|
+
__tsplusTrace?: string,
|
726
|
+
): STM<R | R1, E | E1, C> {
|
693
727
|
return self.flatMap((a) => that.map((b) => f(a, b)));
|
694
728
|
}
|
package/_src/STM/definition.ts
CHANGED
@@ -22,7 +22,7 @@ export type STMTypeId = typeof STMTypeId;
|
|
22
22
|
*/
|
23
23
|
export abstract class STM<R, E, A> {
|
24
24
|
readonly _typeId: STMTypeId = STMTypeId;
|
25
|
-
readonly _R!: (
|
25
|
+
readonly _R!: () => R;
|
26
26
|
readonly _E!: () => E;
|
27
27
|
readonly _A!: () => A;
|
28
28
|
}
|
@@ -37,11 +37,11 @@ export function unifySTM<X extends STM<any, any, any>>(self: X): STM<_R<X>, _E<X
|
|
37
37
|
/**
|
38
38
|
* @tsplus type fncts.io.STM
|
39
39
|
*/
|
40
|
-
export interface USTM<A> extends STM<
|
40
|
+
export interface USTM<A> extends STM<never, never, A> {}
|
41
41
|
|
42
42
|
export class Effect<R, E, A> extends STM<R, E, A> {
|
43
43
|
readonly _tag = STMTag.Effect;
|
44
|
-
constructor(readonly f: (journal: Journal, fiberId: FiberId, r: R) => A) {
|
44
|
+
constructor(readonly f: (journal: Journal, fiberId: FiberId, r: Environment<R>) => A) {
|
45
45
|
super();
|
46
46
|
}
|
47
47
|
}
|
@@ -73,14 +73,14 @@ export class OnSuccess<R, E, A, B> extends STM<R, E, B> {
|
|
73
73
|
}
|
74
74
|
}
|
75
75
|
|
76
|
-
export class Succeed<A> extends STM<
|
76
|
+
export class Succeed<A> extends STM<never, never, A> {
|
77
77
|
readonly _tag = STMTag.Succeed;
|
78
78
|
constructor(readonly a: () => A) {
|
79
79
|
super();
|
80
80
|
}
|
81
81
|
}
|
82
82
|
|
83
|
-
export class SucceedNow<A> extends STM<
|
83
|
+
export class SucceedNow<A> extends STM<never, never, A> {
|
84
84
|
readonly _tag = STMTag.SucceedNow;
|
85
85
|
constructor(readonly a: A) {
|
86
86
|
super();
|
@@ -89,7 +89,7 @@ export class SucceedNow<A> extends STM<unknown, never, A> {
|
|
89
89
|
|
90
90
|
export class ContramapEnvironment<R, E, A, R0> extends STM<R0, E, A> {
|
91
91
|
readonly _tag = STMTag.ContramapEnvironment;
|
92
|
-
constructor(readonly stm: STM<R, E, A>, readonly f: (_: R0) => R) {
|
92
|
+
constructor(readonly stm: STM<R, E, A>, readonly f: (_: Environment<R0>) => Environment<R>) {
|
93
93
|
super();
|
94
94
|
}
|
95
95
|
}
|