@fncts/io 0.0.10 → 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- package/Cached/api.d.ts +2 -3
- package/Channel/api/interruptWhen.d.ts +1 -1
- package/Channel/api/mapOutIOC.d.ts +1 -1
- package/Channel/api/mergeAll.d.ts +1 -1
- package/Channel/api/mergeAllUnboundedWith.d.ts +1 -1
- package/Channel/api/mergeAllWith.d.ts +1 -1
- package/Channel/api/mergeMap.d.ts +1 -1
- package/Channel/api/mergeWith.d.ts +1 -1
- package/Channel/api/runScoped.d.ts +1 -2
- package/Channel/api/toPull.d.ts +1 -2
- package/Channel/api/zipC.d.ts +3 -3
- package/Channel/api.d.ts +48 -49
- package/Channel/core-api.d.ts +10 -10
- package/Channel/definition.d.ts +12 -12
- package/Channel/internal/MergeDecision.d.ts +1 -1
- package/Channel/internal/SingleProducerAsyncInput.d.ts +1 -1
- package/Clock/api.d.ts +1 -1
- package/Fiber/FiberContext.d.ts +3 -3
- package/Fiber/api/awaitAll.d.ts +1 -1
- package/Fiber/api/evalOnIO.d.ts +1 -1
- package/Fiber/api/joinAll.d.ts +1 -1
- package/Fiber/definition.d.ts +1 -1
- package/FiberRef/api/locallyScoped.d.ts +1 -2
- package/FiberRef/api/locallyScopedWith.d.ts +1 -2
- package/FiberRef/constructors.d.ts +1 -2
- package/FiberRef/unsafe.d.ts +6 -0
- package/Future/api.d.ts +1 -1
- package/Future/constructors.d.ts +1 -1
- package/Hub/api.d.ts +6 -7
- package/Hub/definition.d.ts +6 -7
- package/Hub/internal.d.ts +0 -1
- package/IO/api/acquireRelease.d.ts +1 -2
- package/IO/api/acquireReleaseExit.d.ts +1 -2
- package/IO/api/acquireReleaseInterruptible.d.ts +1 -2
- package/IO/api/acquireReleaseInterruptibleExit.d.ts +1 -2
- package/IO/api/addFinalizer.d.ts +1 -2
- package/IO/api/addFinalizerExit.d.ts +1 -2
- package/IO/api/bracket.d.ts +1 -1
- package/IO/api/bracketExit.d.ts +1 -1
- package/IO/api/clockWith.d.ts +1 -1
- package/IO/api/concurrentFinalizers.d.ts +1 -2
- package/IO/api/consoleWith.d.ts +1 -1
- package/IO/api/core-scope.d.ts +1 -1
- package/IO/api/ensuringChildren.d.ts +1 -1
- package/IO/api/environment.d.ts +8 -10
- package/IO/api/forkScoped.d.ts +1 -2
- package/IO/api/interrupt.d.ts +3 -3
- package/IO/api/onExit.d.ts +1 -1
- package/IO/api/onTermination.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 +1 -1
- package/IO/api/repeat.d.ts +3 -3
- package/IO/api/retry.d.ts +3 -3
- package/IO/api/schedule.d.ts +2 -2
- package/IO/api/scope.d.ts +1 -2
- package/IO/api/scopeWith.d.ts +1 -2
- package/IO/api/scoped.d.ts +2 -3
- package/IO/api/sequenceT.d.ts +3 -3
- package/IO/api/stateful.d.ts +1 -2
- package/IO/api/withEarlyRelease.d.ts +1 -2
- package/IO/api/withFinalizer.d.ts +1 -2
- package/IO/api/withFinalizerExit.d.ts +1 -2
- package/IO/api/zipC.d.ts +2 -2
- package/IO/api.d.ts +50 -50
- package/IO/definition.d.ts +28 -24
- package/IO/runtime.d.ts +23 -10
- package/IOEnv/definition.d.ts +2 -3
- package/IOEnv/live.d.ts +1 -1
- package/IOSpec.d.ts +1 -2
- package/Layer/MemoMap.d.ts +2 -3
- package/Layer/api.d.ts +30 -32
- package/Layer/definition.d.ts +7 -8
- package/Queue/api/dimapIO.d.ts +3 -3
- package/Queue/api/filterInputIO.d.ts +4 -4
- package/Queue/api/filterOutputIO.d.ts +6 -6
- package/Queue/api/zipWithIO.d.ts +9 -9
- package/Queue/definition.d.ts +7 -7
- package/Queue/internal.d.ts +1 -1
- package/Random/api.d.ts +4 -4
- package/Random/live.d.ts +1 -1
- package/Ref/Atomic/Atomic.d.ts +3 -3
- package/Ref/Derived.d.ts +3 -3
- package/Ref/DerivedAll.d.ts +3 -3
- package/Ref/Synchronized/api.d.ts +15 -15
- package/Ref/Synchronized/definition.d.ts +2 -2
- package/Ref/api/get.d.ts +1 -1
- package/Ref/api/modify.d.ts +9 -9
- package/Ref/api/set.d.ts +1 -1
- package/Ref/definition.d.ts +13 -13
- package/STM/api/core-api.d.ts +4 -4
- package/STM/api/core-constructors.d.ts +7 -7
- package/STM/api.d.ts +27 -39
- package/STM/definition.d.ts +9 -8
- package/STM/driver.d.ts +1 -1
- package/STM/internal/Journal.d.ts +4 -3
- package/Schedule/Decision.d.ts +10 -4
- package/Schedule/Driver.d.ts +3 -3
- package/Schedule/api.d.ts +55 -43
- package/Schedule/definition.d.ts +1 -1
- package/Scope/Finalizer/definition.d.ts +2 -2
- package/Scope/ReleaseMap/api.d.ts +1 -1
- package/Scope/ReleaseMap/definition.d.ts +1 -1
- package/Scope/api.d.ts +3 -4
- package/ScopedRef/api.d.ts +1 -2
- package/ScopedRef/definition.d.ts +1 -2
- package/Sink/api.d.ts +255 -75
- package/State/api.d.ts +1 -2
- package/Stream/api/zipAllWith.d.ts +1 -1
- package/Stream/api/zipWith.d.ts +1 -1
- package/Stream/api/zipWithChunks.d.ts +1 -1
- package/Stream/api.d.ts +91 -93
- package/Stream/definition.d.ts +3 -3
- package/Stream/internal/Take.d.ts +1 -1
- package/Supervisor/constructors.d.ts +2 -2
- package/TFuture/api.d.ts +1 -1
- package/TFuture/definition.d.ts +1 -1
- package/TReentrantLock/api.d.ts +2 -3
- package/TRef/api.d.ts +11 -11
- package/TRef/constructors.d.ts +2 -2
- package/TSemaphore/api.d.ts +2 -2
- package/TSemaphore/definition.d.ts +1 -1
- package/_cjs/Cached/api.cjs.map +1 -1
- package/_cjs/Channel/api/mapOutIOC.cjs +1 -1
- package/_cjs/Channel/api/mapOutIOC.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +3 -3
- package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Channel/definition.cjs.map +1 -1
- package/_cjs/Clock/live.cjs.map +1 -1
- package/_cjs/Fiber/FiberContext.cjs +5 -7
- package/_cjs/Fiber/FiberContext.cjs.map +1 -1
- package/_cjs/FiberRef/unsafe.cjs +9 -1
- package/_cjs/FiberRef/unsafe.cjs.map +1 -1
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/Hub/api.cjs +1 -1
- package/_cjs/Hub/api.cjs.map +1 -1
- package/_cjs/Hub/internal.cjs +4 -12
- package/_cjs/Hub/internal.cjs.map +1 -1
- package/_cjs/IO/api/addFinalizerExit.cjs +4 -8
- package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
- package/_cjs/IO/api/ensuringChildren.cjs +1 -1
- package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
- package/_cjs/IO/api/environment.cjs +2 -3
- package/_cjs/IO/api/environment.cjs.map +1 -1
- package/_cjs/IO/api/interrupt.cjs +1 -1
- 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/provideSomeLayer.cjs +1 -2
- package/_cjs/IO/api/provideSomeLayer.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/scoped.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.cjs +1 -1
- 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 +69 -21
- package/_cjs/IO/runtime.cjs.map +1 -1
- package/_cjs/Layer/MemoMap.cjs +22 -38
- package/_cjs/Layer/MemoMap.cjs.map +1 -1
- package/_cjs/Layer/api.cjs +6 -4
- package/_cjs/Layer/api.cjs.map +1 -1
- package/_cjs/Layer/definition.cjs.map +1 -1
- package/_cjs/Queue/internal.cjs +2 -2
- package/_cjs/Queue/internal.cjs.map +1 -1
- package/_cjs/Queue/strategy.cjs +1 -5
- package/_cjs/Queue/strategy.cjs.map +1 -1
- package/_cjs/Ref/Atomic/Atomic.cjs.map +1 -1
- package/_cjs/Ref/Derived.cjs.map +1 -1
- package/_cjs/Ref/DerivedAll.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/constructors.cjs +7 -11
- package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
- package/_cjs/STM/api/core-constructors.cjs.map +1 -1
- package/_cjs/STM/api.cjs +59 -78
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/STM/definition.cjs.map +1 -1
- package/_cjs/STM/driver.cjs +7 -5
- 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 +22 -21
- package/_cjs/Schedule/api/driver.cjs.map +1 -1
- package/_cjs/Schedule/api.cjs +91 -66
- 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/definition.cjs +2 -4
- package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
- package/_cjs/Scope/api.cjs +2 -12
- 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 +424 -131
- package/_cjs/Sink/api.cjs.map +1 -1
- package/_cjs/Stream/api.cjs +94 -94
- package/_cjs/Stream/api.cjs.map +1 -1
- package/_cjs/Supervisor/constructors.cjs +14 -8
- package/_cjs/Supervisor/constructors.cjs.map +1 -1
- package/_cjs/TFuture/definition.cjs +2 -4
- package/_cjs/TFuture/definition.cjs.map +1 -1
- package/_cjs/TSemaphore/api.cjs +7 -7
- package/_cjs/TSemaphore/api.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 +38 -0
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -0
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +38 -0
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -0
- package/_cjs/internal/Scheduler.cjs +64 -14
- package/_cjs/internal/Scheduler.cjs.map +1 -1
- package/_mjs/Cached/api.mjs.map +1 -1
- package/_mjs/Channel/api/mapOutIOC.mjs +1 -1
- package/_mjs/Channel/api/mapOutIOC.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +3 -3
- package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Channel/definition.mjs.map +1 -1
- package/_mjs/Clock/live.mjs.map +1 -1
- package/_mjs/Fiber/FiberContext.mjs +5 -6
- package/_mjs/Fiber/FiberContext.mjs.map +1 -1
- package/_mjs/FiberRef/unsafe.mjs +6 -0
- package/_mjs/FiberRef/unsafe.mjs.map +1 -1
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/Hub/api.mjs +1 -1
- package/_mjs/Hub/api.mjs.map +1 -1
- package/_mjs/Hub/internal.mjs +4 -12
- package/_mjs/Hub/internal.mjs.map +1 -1
- package/_mjs/IO/api/addFinalizerExit.mjs +4 -8
- package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
- package/_mjs/IO/api/ensuringChildren.mjs +1 -1
- package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
- package/_mjs/IO/api/environment.mjs +2 -3
- package/_mjs/IO/api/environment.mjs.map +1 -1
- package/_mjs/IO/api/interrupt.mjs +1 -1
- 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/provideSomeLayer.mjs +1 -2
- package/_mjs/IO/api/provideSomeLayer.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/scoped.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.mjs +1 -1
- 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 +61 -18
- package/_mjs/IO/runtime.mjs.map +1 -1
- package/_mjs/Layer/MemoMap.mjs +22 -38
- package/_mjs/Layer/MemoMap.mjs.map +1 -1
- package/_mjs/Layer/api.mjs +5 -4
- package/_mjs/Layer/api.mjs.map +1 -1
- package/_mjs/Layer/definition.mjs.map +1 -1
- package/_mjs/Queue/internal.mjs +2 -2
- package/_mjs/Queue/internal.mjs.map +1 -1
- package/_mjs/Queue/strategy.mjs +1 -5
- package/_mjs/Queue/strategy.mjs.map +1 -1
- package/_mjs/Ref/Atomic/Atomic.mjs.map +1 -1
- package/_mjs/Ref/Derived.mjs.map +1 -1
- package/_mjs/Ref/DerivedAll.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/constructors.mjs +7 -11
- package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
- package/_mjs/STM/api/core-constructors.mjs.map +1 -1
- package/_mjs/STM/api.mjs +52 -72
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/STM/definition.mjs.map +1 -1
- package/_mjs/STM/driver.mjs +6 -5
- 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 +20 -20
- package/_mjs/Schedule/api/driver.mjs.map +1 -1
- package/_mjs/Schedule/api.mjs +84 -63
- 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/definition.mjs +2 -3
- package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -1
- package/_mjs/Scope/api.mjs +2 -12
- 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 +414 -129
- package/_mjs/Sink/api.mjs.map +1 -1
- package/_mjs/Stream/api.mjs +94 -94
- package/_mjs/Stream/api.mjs.map +1 -1
- package/_mjs/Supervisor/constructors.mjs +9 -6
- package/_mjs/Supervisor/constructors.mjs.map +1 -1
- package/_mjs/TFuture/definition.mjs +2 -3
- package/_mjs/TFuture/definition.mjs.map +1 -1
- package/_mjs/TSemaphore/api.mjs +4 -4
- package/_mjs/TSemaphore/api.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 +26 -0
- package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -0
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +26 -0
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -0
- package/_mjs/internal/Scheduler.mjs +62 -15
- package/_mjs/internal/Scheduler.mjs.map +1 -1
- package/_src/Cached/api.ts +3 -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 +69 -69
- package/_src/Channel/core-api.ts +11 -11
- package/_src/Channel/definition.ts +12 -12
- package/_src/Channel/internal/MergeDecision.ts +1 -1
- package/_src/Clock/live.ts +1 -1
- package/_src/Fiber/FiberContext.ts +10 -8
- package/_src/Fiber/api/awaitAll.ts +1 -1
- package/_src/Fiber/api/evalOnIO.ts +1 -1
- package/_src/Fiber/api/joinAll.ts +1 -1
- package/_src/Fiber/definition.ts +1 -1
- package/_src/FiberRef/api/locallyScoped.ts +1 -1
- package/_src/FiberRef/api/locallyScopedWith.ts +1 -1
- package/_src/FiberRef/constructors.ts +2 -2
- package/_src/FiberRef/unsafe.ts +7 -0
- package/_src/Future/api.ts +3 -3
- package/_src/Future/constructors.ts +1 -1
- package/_src/Hub/api.ts +11 -11
- package/_src/Hub/definition.ts +6 -6
- package/_src/Hub/internal.ts +15 -15
- package/_src/IO/api/acquireRelease.ts +1 -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 -1
- package/_src/IO/api/addFinalizerExit.ts +5 -7
- package/_src/IO/api/bracket.ts +1 -1
- package/_src/IO/api/bracketExit.ts +1 -1
- package/_src/IO/api/concurrentFinalizers.ts +1 -1
- package/_src/IO/api/core-scope.ts +1 -1
- package/_src/IO/api/ensuringChildren.ts +2 -2
- package/_src/IO/api/environment.ts +9 -11
- package/_src/IO/api/forkScoped.ts +1 -1
- package/_src/IO/api/interrupt.ts +3 -3
- package/_src/IO/api/memoize.ts +3 -3
- package/_src/IO/api/onExit.ts +1 -1
- package/_src/IO/api/onTermination.ts +1 -1
- package/_src/IO/api/provideSomeLayer.ts +1 -2
- package/_src/IO/api/race.ts +1 -1
- package/_src/IO/api/raceFirst.ts +1 -1
- package/_src/IO/api/repeat.ts +4 -4
- package/_src/IO/api/retry.ts +4 -4
- package/_src/IO/api/schedule.ts +3 -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/withChildren.ts +1 -1
- package/_src/IO/api/withEarlyRelease.ts +1 -1
- package/_src/IO/api/withFinalizer.ts +1 -1
- package/_src/IO/api/withFinalizerExit.ts +1 -1
- package/_src/IO/api/zipC.ts +2 -2
- package/_src/IO/api.ts +48 -48
- package/_src/IO/definition.ts +29 -24
- package/_src/IO/runtime.ts +66 -12
- package/_src/IOEnv/definition.ts +1 -1
- package/_src/Layer/MemoMap.ts +19 -19
- package/_src/Layer/api.ts +38 -38
- package/_src/Layer/definition.ts +5 -5
- package/_src/Queue/api/dimapIO.ts +10 -10
- package/_src/Queue/api/filterInputIO.ts +4 -4
- package/_src/Queue/api/filterOutputIO.ts +6 -6
- package/_src/Queue/api/zipWithIO.ts +10 -10
- package/_src/Queue/definition.ts +7 -7
- package/_src/Queue/internal.ts +7 -7
- package/_src/Queue/strategy.ts +4 -4
- package/_src/Random/api.ts +1 -1
- package/_src/Ref/Atomic/Atomic.ts +3 -3
- package/_src/Ref/Derived.ts +3 -3
- package/_src/Ref/DerivedAll.ts +3 -3
- package/_src/Ref/Synchronized/api.ts +15 -15
- package/_src/Ref/Synchronized/constructors.ts +4 -4
- package/_src/Ref/Synchronized/definition.ts +2 -2
- package/_src/Ref/api/get.ts +2 -2
- package/_src/Ref/api/modify.ts +9 -9
- package/_src/Ref/api/set.ts +1 -1
- package/_src/Ref/definition.ts +13 -13
- package/_src/STM/api/core-api.ts +6 -6
- package/_src/STM/api/core-constructors.ts +7 -7
- package/_src/STM/api.ts +58 -89
- 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 +97 -77
- package/_src/Schedule/definition.ts +1 -1
- package/_src/Scope/Finalizer/definition.ts +2 -2
- package/_src/Scope/ReleaseMap/api.ts +1 -1
- package/_src/Scope/ReleaseMap/definition.ts +1 -1
- package/_src/Scope/api.ts +11 -11
- package/_src/ScopedRef/api.ts +12 -17
- package/_src/ScopedRef/definition.ts +1 -1
- package/_src/Sink/api.ts +441 -86
- package/_src/State/api.ts +1 -1
- package/_src/Stream/api/zipAllWith.ts +2 -2
- package/_src/Stream/api/zipWith.ts +1 -1
- package/_src/Stream/api/zipWithChunks.ts +2 -2
- package/_src/Stream/api.ts +150 -149
- 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 +1 -1
- package/_src/TFuture/definition.ts +1 -1
- package/_src/TReentrantLock/api.ts +2 -2
- package/_src/TRef/api.ts +11 -11
- package/_src/TRef/constructors.ts +2 -2
- package/_src/TSemaphore/api.ts +2 -2
- package/_src/TSemaphore/definition.ts +1 -1
- package/_src/collection/immutable/Conc/dropUntilIO.ts +24 -0
- package/_src/collection/immutable/Conc/dropWhileIO.ts +26 -0
- package/_src/internal/Scheduler.ts +59 -15
- package/collection/immutable/Conc/dropUntilIO.d.ts +7 -0
- package/collection/immutable/Conc/dropWhileIO.d.ts +7 -0
- package/internal/Scheduler.d.ts +18 -1
- package/package.json +3 -3
package/_src/IO/api.ts
CHANGED
@@ -110,7 +110,7 @@ export function apFirst_<R, E, A, R1, E1, B>(
|
|
110
110
|
self: IO<R, E, A>,
|
111
111
|
fb: IO<R1, E1, B>,
|
112
112
|
__tsplusTrace?: string,
|
113
|
-
): IO<R1
|
113
|
+
): IO<R1 | R, E1 | E, A> {
|
114
114
|
return self.flatMap((a) => fb.map(() => a));
|
115
115
|
}
|
116
116
|
|
@@ -124,7 +124,7 @@ export function apSecond_<R, E, A, R1, E1, B>(
|
|
124
124
|
self: IO<R, E, A>,
|
125
125
|
fb: IO<R1, E1, B>,
|
126
126
|
__tsplusTrace?: string,
|
127
|
-
): IO<R1
|
127
|
+
): IO<R1 | R, E1 | E, B> {
|
128
128
|
return self.flatMap(() => fb);
|
129
129
|
}
|
130
130
|
|
@@ -189,7 +189,7 @@ export function bitap_<R, E, A, R1, E1, R2, E2>(
|
|
189
189
|
onFailure: (e: E) => IO<R1, E1, any>,
|
190
190
|
onSuccess: (a: A) => IO<R2, E2, any>,
|
191
191
|
__tsplusTrace?: string,
|
192
|
-
): IO<R
|
192
|
+
): IO<R | R1 | R2, E | E1 | E2, A> {
|
193
193
|
return self.matchCauseIO(
|
194
194
|
(cause) =>
|
195
195
|
cause.failureOrCause.match(
|
@@ -211,7 +211,7 @@ export function catch_<N extends keyof E, K extends E[N] & string, R, E, A, R1,
|
|
211
211
|
k: K,
|
212
212
|
f: (e: Extract<E, { [n in N]: K }>) => IO<R1, E1, A1>,
|
213
213
|
__tsplusTrace?: string,
|
214
|
-
): IO<R
|
214
|
+
): IO<R | R1, Exclude<E, { [n in N]: K }> | E1, A | A1> {
|
215
215
|
return ma.catchAll((e) => {
|
216
216
|
if (tag in e && e[tag] === k) {
|
217
217
|
return f(e as any);
|
@@ -229,7 +229,7 @@ export function catchAll_<R, E, A, R1, E1, A1>(
|
|
229
229
|
ma: IO<R, E, A>,
|
230
230
|
f: (e: E) => IO<R1, E1, A1>,
|
231
231
|
__tsplusTrace?: string,
|
232
|
-
): IO<R
|
232
|
+
): IO<R | R1, E1, A | A1> {
|
233
233
|
return ma.matchIO(f, IO.succeedNow);
|
234
234
|
}
|
235
235
|
|
@@ -256,7 +256,7 @@ export function catchJust_<R, E, A, R1, E1, A1>(
|
|
256
256
|
ma: IO<R, E, A>,
|
257
257
|
f: (e: E) => Maybe<IO<R1, E1, A1>>,
|
258
258
|
__tsplusTrace?: string,
|
259
|
-
): IO<R
|
259
|
+
): IO<R | R1, E | E1, A | A1> {
|
260
260
|
return ma.matchCauseIO(
|
261
261
|
(cause) => cause.failureOrCause.match((e) => f(e).getOrElse(IO.failCauseNow(cause)), IO.failCauseNow),
|
262
262
|
IO.succeedNow,
|
@@ -271,7 +271,7 @@ export function catchJust_<R, E, A, R1, E1, A1>(
|
|
271
271
|
export function catchJustCause_<R, E, A, R1, E1, A1>(
|
272
272
|
ma: IO<R, E, A>,
|
273
273
|
f: (_: Cause<E>) => Maybe<IO<R1, E1, A1>>,
|
274
|
-
): IO<R
|
274
|
+
): IO<R | R1, E | E1, A | A1> {
|
275
275
|
return ma.matchCauseIO((cause) => f(cause).getOrElse(IO.failCauseNow(cause)), IO.succeedNow);
|
276
276
|
}
|
277
277
|
|
@@ -289,7 +289,7 @@ export function catchJustDefect_<R, E, A, R1, E1, A1>(
|
|
289
289
|
ma: IO<R, E, A>,
|
290
290
|
f: (_: unknown) => Maybe<IO<R1, E1, A1>>,
|
291
291
|
__tsplusTrace?: string,
|
292
|
-
): IO<R
|
292
|
+
): IO<R | R1, E | E1, A | A1> {
|
293
293
|
return ma.unrefineWith(f, IO.failNow).catchAll(identity);
|
294
294
|
}
|
295
295
|
|
@@ -303,7 +303,7 @@ export function catchTag_<K extends E["_tag"] & string, R, E extends { _tag: str
|
|
303
303
|
k: K,
|
304
304
|
f: (e: Extract<E, { _tag: K }>) => IO<R1, E1, A1>,
|
305
305
|
__tsplusTrace?: string,
|
306
|
-
): IO<R
|
306
|
+
): IO<R | R1, Exclude<E, { _tag: K }> | E1, A | A1> {
|
307
307
|
return ma.catch("_tag", k, f);
|
308
308
|
}
|
309
309
|
|
@@ -332,14 +332,14 @@ export function flatMap_<R, E, A, R1, E1, B>(
|
|
332
332
|
ma: IO<R, E, A>,
|
333
333
|
f: (a: A) => IO<R1, E1, B>,
|
334
334
|
__tsplusTrace?: string,
|
335
|
-
): IO<R
|
335
|
+
): IO<R | R1, E | E1, B> {
|
336
336
|
return new Chain(ma, f, __tsplusTrace);
|
337
337
|
}
|
338
338
|
|
339
339
|
/**
|
340
340
|
* @tsplus fluent fncts.io.IO flatMapError
|
341
341
|
*/
|
342
|
-
export function flatMapError_<R, R1, E, E1, A>(ma: IO<R, E, A>, f: (e: E) => IO<R1, never, E1>): IO<R
|
342
|
+
export function flatMapError_<R, R1, E, E1, A>(ma: IO<R, E, A>, f: (e: E) => IO<R1, never, E1>): IO<R | R1, E1, A> {
|
343
343
|
return ma.swapWith((effect) => effect.flatMap(f));
|
344
344
|
}
|
345
345
|
|
@@ -376,14 +376,14 @@ export function collectIO_<R, E, A, R1, E1, A1, E2>(
|
|
376
376
|
f: Lazy<E2>,
|
377
377
|
pf: (a: A) => Maybe<IO<R1, E1, A1>>,
|
378
378
|
__tsplusTrace?: string,
|
379
|
-
): IO<R
|
379
|
+
): IO<R | R1, E | E1 | E2, A1> {
|
380
380
|
return ma.flatMap((a) => pf(a).getOrElse(IO.fail(f)));
|
381
381
|
}
|
382
382
|
|
383
383
|
/**
|
384
384
|
* @tsplus static fncts.io.IOOps condIO
|
385
385
|
*/
|
386
|
-
export function condIO_<R, R1, E, A>(b: boolean, onTrue: URIO<R, A>, onFalse: URIO<R1, E>): IO<R
|
386
|
+
export function condIO_<R, R1, E, A>(b: boolean, onTrue: URIO<R, A>, onFalse: URIO<R1, E>): IO<R | R1, E, A> {
|
387
387
|
return b ? onTrue : onFalse.flatMap(IO.failNow);
|
388
388
|
}
|
389
389
|
|
@@ -518,7 +518,7 @@ export function ensuring_<R, E, A, R1>(
|
|
518
518
|
self: IO<R, E, A>,
|
519
519
|
finalizer: IO<R1, never, any>,
|
520
520
|
__tsplusTrace?: string,
|
521
|
-
): IO<R
|
521
|
+
): IO<R | R1, E, A> {
|
522
522
|
return new Ensuring(self, finalizer, __tsplusTrace);
|
523
523
|
}
|
524
524
|
|
@@ -580,7 +580,7 @@ export function failCause<E = never, A = never>(cause: Lazy<Cause<E>>, __tsplusT
|
|
580
580
|
*
|
581
581
|
* @tsplus static fncts.io.IOOps fiberId
|
582
582
|
*/
|
583
|
-
export const fiberId: IO<
|
583
|
+
export const fiberId: IO<never, never, FiberId> = IO.descriptorWith((d) => IO.succeedNow(d.id));
|
584
584
|
|
585
585
|
/**
|
586
586
|
* Filters the collection using the specified effectual predicate.
|
@@ -659,19 +659,19 @@ export function filterOrElse_<R, E, A, B extends A, R1, E1, A1>(
|
|
659
659
|
refinement: Refinement<A, B>,
|
660
660
|
or: (a: Exclude<A, B>) => IO<R1, E1, A1>,
|
661
661
|
__tsplusTrace?: string,
|
662
|
-
): IO<R
|
662
|
+
): IO<R | R1, E | E1, B | A1>;
|
663
663
|
export function filterOrElse_<R, E, A, R1, E1, A1>(
|
664
664
|
fa: IO<R, E, A>,
|
665
665
|
predicate: Predicate<A>,
|
666
666
|
or: (a: A) => IO<R1, E1, A1>,
|
667
667
|
__tsplusTrace?: string,
|
668
|
-
): IO<R
|
668
|
+
): IO<R | R1, E | E1, A | A1>;
|
669
669
|
export function filterOrElse_<R, E, A, R1, E1, A1>(
|
670
670
|
fa: IO<R, E, A>,
|
671
671
|
predicate: Predicate<A>,
|
672
672
|
or: unknown,
|
673
673
|
__tsplusTrace?: string,
|
674
|
-
): IO<R
|
674
|
+
): IO<R | R1, E | E1, A | A1> {
|
675
675
|
return flatMap_(
|
676
676
|
fa,
|
677
677
|
(a): IO<R1, E1, A | A1> => (predicate(a) ? IO.succeedNow(a) : IO.defer((or as (a: A) => IO<R1, E1, A1>)(a))),
|
@@ -740,7 +740,7 @@ export function filterOrHalt_<R, E, A>(
|
|
740
740
|
/**
|
741
741
|
* @tsplus getter fncts.io.IO flatten
|
742
742
|
*/
|
743
|
-
export function flatten<R, E, R1, E1, A>(self: IO<R, E, IO<R1, E1, A>>): IO<R
|
743
|
+
export function flatten<R, E, R1, E1, A>(self: IO<R, E, IO<R1, E1, A>>): IO<R | R1, E | E1, A> {
|
744
744
|
return self.flatMap(identity);
|
745
745
|
}
|
746
746
|
|
@@ -910,7 +910,7 @@ export function fork<R, E, A>(ma: IO<R, E, A>, __tsplusTrace?: string): URIO<R,
|
|
910
910
|
*
|
911
911
|
* @tsplus static fncts.io.IOOps fromEither
|
912
912
|
*/
|
913
|
-
export function fromEither<E, A>(either: Lazy<Either<E, A>>, __tsplusTrace?: string): IO<
|
913
|
+
export function fromEither<E, A>(either: Lazy<Either<E, A>>, __tsplusTrace?: string): IO<never, E, A> {
|
914
914
|
return IO.succeed(either).flatMap((ea) => ea.match(IO.failNow, IO.succeedNow));
|
915
915
|
}
|
916
916
|
|
@@ -919,7 +919,7 @@ export function fromEither<E, A>(either: Lazy<Either<E, A>>, __tsplusTrace?: str
|
|
919
919
|
*
|
920
920
|
* @tsplus static fncts.io.IOOps fromEitherNow
|
921
921
|
*/
|
922
|
-
export function fromEitherNow<E, A>(either: Either<E, A>, __tsplusTrace?: string): IO<
|
922
|
+
export function fromEitherNow<E, A>(either: Either<E, A>, __tsplusTrace?: string): IO<never, E, A> {
|
923
923
|
return either.match(IO.failNow, IO.succeedNow);
|
924
924
|
}
|
925
925
|
|
@@ -928,7 +928,7 @@ export function fromEitherNow<E, A>(either: Either<E, A>, __tsplusTrace?: string
|
|
928
928
|
*
|
929
929
|
* @tsplus static fncts.io.IOOps fromEval
|
930
930
|
*/
|
931
|
-
export function fromEval<A>(computation: Eval<A>, __tsplusTrace?: string): IO<
|
931
|
+
export function fromEval<A>(computation: Eval<A>, __tsplusTrace?: string): IO<never, never, A> {
|
932
932
|
return IO.succeed(computation.run);
|
933
933
|
}
|
934
934
|
|
@@ -1037,7 +1037,7 @@ export function getOrElse_<R, E, A, B>(ma: IO<R, E, Maybe<A>>, orElse: Lazy<B>):
|
|
1037
1037
|
export function getOrElseIO_<R, E, A, R1, E1, B>(
|
1038
1038
|
ma: IO<R, E, Maybe<A>>,
|
1039
1039
|
orElse: Lazy<IO<R1, E1, B>>,
|
1040
|
-
): IO<R
|
1040
|
+
): IO<R | R1, E | E1, A | B> {
|
1041
1041
|
return (ma as IO<R, E, Maybe<A | B>>).flatMap((mab) => mab.map(IO.succeedNow).getOrElse(orElse));
|
1042
1042
|
}
|
1043
1043
|
|
@@ -1088,7 +1088,7 @@ export function ifIO_<R, E, R1, E1, B, R2, E2, C>(
|
|
1088
1088
|
self: IO<R, E, boolean>,
|
1089
1089
|
onFalse: Lazy<IO<R1, E1, B>>,
|
1090
1090
|
onTrue: Lazy<IO<R2, E2, C>>,
|
1091
|
-
): IO<R
|
1091
|
+
): IO<R | R1 | R2, E | E1 | E2, B | C> {
|
1092
1092
|
return self.flatMap((b) => (b ? onTrue() : onFalse()));
|
1093
1093
|
}
|
1094
1094
|
|
@@ -1100,7 +1100,7 @@ export function if_<R, E, A, R1, E1, A1>(
|
|
1100
1100
|
onTrue: Lazy<IO<R, E, A>>,
|
1101
1101
|
onFalse: Lazy<IO<R1, E1, A1>>,
|
1102
1102
|
__tsplusTrace?: string,
|
1103
|
-
): IO<R
|
1103
|
+
): IO<R | R1, E | E1, A | A1> {
|
1104
1104
|
return IO.succeedNow(b).ifIO(onTrue, onFalse);
|
1105
1105
|
}
|
1106
1106
|
|
@@ -1314,7 +1314,7 @@ export function matchCauseIO_<R, E, A, R1, E1, A1, R2, E2, A2>(
|
|
1314
1314
|
onFailure: (cause: Cause<E>) => IO<R1, E1, A1>,
|
1315
1315
|
onSuccess: (a: A) => IO<R2, E2, A2>,
|
1316
1316
|
__tsplusTrace?: string,
|
1317
|
-
): IO<R
|
1317
|
+
): IO<R | R1 | R2, E1 | E2, A1 | A2> {
|
1318
1318
|
return new Match(self, onFailure, onSuccess, __tsplusTrace);
|
1319
1319
|
}
|
1320
1320
|
|
@@ -1326,7 +1326,7 @@ export function matchIO_<R, R1, R2, E, E1, E2, A, A1, A2>(
|
|
1326
1326
|
onFailure: (e: E) => IO<R1, E1, A1>,
|
1327
1327
|
onSuccess: (a: A) => IO<R2, E2, A2>,
|
1328
1328
|
__tsplusTrace?: string,
|
1329
|
-
): IO<R
|
1329
|
+
): IO<R | R1 | R2, E1 | E2, A1 | A2> {
|
1330
1330
|
return self.matchCauseIO((cause) => cause.failureOrCause.match(onFailure, IO.failCauseNow), onSuccess);
|
1331
1331
|
}
|
1332
1332
|
|
@@ -1359,7 +1359,7 @@ export function matchTraceIO_<R, E, A, R1, E1, A1, R2, E2, A2>(
|
|
1359
1359
|
onFailure: (e: E, trace: Trace) => IO<R1, E1, A1>,
|
1360
1360
|
onSuccess: (a: A) => IO<R2, E2, A2>,
|
1361
1361
|
__tsplusTrace?: string,
|
1362
|
-
): IO<R
|
1362
|
+
): IO<R | R1 | R2, E1 | E2, A1 | A2> {
|
1363
1363
|
return ma.matchCauseIO(
|
1364
1364
|
(cause) => cause.failureTraceOrCause.match(([e, trace]) => onFailure(e, trace), IO.failCauseNow),
|
1365
1365
|
onSuccess,
|
@@ -1401,7 +1401,7 @@ export function mergeAll_<R, E, A, B>(
|
|
1401
1401
|
* @tsplus static fncts.io.IOOps never
|
1402
1402
|
*/
|
1403
1403
|
export const never: UIO<never> = defer(() =>
|
1404
|
-
asyncInterrupt<
|
1404
|
+
asyncInterrupt<never, never, never>(() => {
|
1405
1405
|
const interval = setInterval(() => {
|
1406
1406
|
//
|
1407
1407
|
}, 60000);
|
@@ -1437,7 +1437,7 @@ export function or_<R, E, R1, E1>(
|
|
1437
1437
|
ma: IO<R, E, boolean>,
|
1438
1438
|
mb: IO<R1, E1, boolean>,
|
1439
1439
|
__tsplusTrace?: string,
|
1440
|
-
): IO<R
|
1440
|
+
): IO<R | R1, E | E1, boolean> {
|
1441
1441
|
return ma.flatMap((b) => (b ? IO.succeedNow(true) : mb));
|
1442
1442
|
}
|
1443
1443
|
|
@@ -1448,7 +1448,7 @@ export function orElse_<R, E, A, R1, E1, A1>(
|
|
1448
1448
|
ma: IO<R, E, A>,
|
1449
1449
|
that: Lazy<IO<R1, E1, A1>>,
|
1450
1450
|
__tsplusTrace?: string,
|
1451
|
-
): IO<R
|
1451
|
+
): IO<R | R1, E1, A | A1> {
|
1452
1452
|
return tryOrElse_(ma, that, IO.succeedNow);
|
1453
1453
|
}
|
1454
1454
|
|
@@ -1459,7 +1459,7 @@ export function orElseEither_<R, E, A, R1, E1, A1>(
|
|
1459
1459
|
self: IO<R, E, A>,
|
1460
1460
|
that: Lazy<IO<R1, E1, A1>>,
|
1461
1461
|
__tsplusTrace?: string,
|
1462
|
-
): IO<R
|
1462
|
+
): IO<R | R1, E1, Either<A, A1>> {
|
1463
1463
|
return self.tryOrElse(that().map(Either.right), (a) => IO.succeedNow(Either.left(a)));
|
1464
1464
|
}
|
1465
1465
|
|
@@ -1477,7 +1477,7 @@ export function orElseMaybe_<R, E, A, R1, E1, A1>(
|
|
1477
1477
|
ma: IO<R, Maybe<E>, A>,
|
1478
1478
|
that: Lazy<IO<R1, Maybe<E1>, A1>>,
|
1479
1479
|
__tsplusTrace?: string,
|
1480
|
-
): IO<R
|
1480
|
+
): IO<R | R1, Maybe<E | E1>, A | A1> {
|
1481
1481
|
return ma.catchAll((me) => me.match(that, (e) => IO.fail(Just(e))));
|
1482
1482
|
}
|
1483
1483
|
|
@@ -1591,7 +1591,7 @@ export function rejectIO_<R, E, A, R1, E1>(
|
|
1591
1591
|
fa: IO<R, E, A>,
|
1592
1592
|
pf: (a: A) => Maybe<IO<R1, E1, E1>>,
|
1593
1593
|
__tsplusTrace?: string,
|
1594
|
-
): IO<R
|
1594
|
+
): IO<R | R1, E | E1, A> {
|
1595
1595
|
return fa.flatMap((a) =>
|
1596
1596
|
pf(a).match(
|
1597
1597
|
() => IO.succeedNow(a),
|
@@ -1627,7 +1627,7 @@ export function repeatUntilIO_<R, E, A, R1, E1>(
|
|
1627
1627
|
ma: IO<R, E, A>,
|
1628
1628
|
f: (a: A) => IO<R1, E1, boolean>,
|
1629
1629
|
__tsplusTrace?: string,
|
1630
|
-
): IO<R
|
1630
|
+
): IO<R | R1, E | E1, A> {
|
1631
1631
|
return ma.flatMap((a) => f(a).flatMap((b) => (b ? IO.succeed(a) : ma.repeatUntilIO(f))));
|
1632
1632
|
}
|
1633
1633
|
|
@@ -1649,7 +1649,7 @@ export function repeatWhileIO_<R, E, A, R1, E1>(
|
|
1649
1649
|
ma: IO<R, E, A>,
|
1650
1650
|
f: (a: A) => IO<R1, E1, boolean>,
|
1651
1651
|
__tsplusTrace?: string,
|
1652
|
-
): IO<R
|
1652
|
+
): IO<R | R1, E | E1, A> {
|
1653
1653
|
return ma.flatMap((a) => f(a).flatMap((b) => (b ? ma.repeatWhileIO(f) : IO.succeed(a))));
|
1654
1654
|
}
|
1655
1655
|
|
@@ -1707,7 +1707,7 @@ export function retryUntilIO_<R, E, A, R1, E1>(
|
|
1707
1707
|
fa: IO<R, E, A>,
|
1708
1708
|
f: (e: E) => IO<R1, E1, boolean>,
|
1709
1709
|
__tsplusTrace?: string,
|
1710
|
-
): IO<R
|
1710
|
+
): IO<R | R1, E | E1, A> {
|
1711
1711
|
return fa.catchAll((e) => f(e).flatMap((b) => (b ? IO.failNow(e) : fa.retryUntilIO(f))));
|
1712
1712
|
}
|
1713
1713
|
|
@@ -1729,7 +1729,7 @@ export function retryWhileIO_<R, E, A, R1, E1>(
|
|
1729
1729
|
fa: IO<R, E, A>,
|
1730
1730
|
f: (e: E) => IO<R1, E1, boolean>,
|
1731
1731
|
__tsplusTrace?: string,
|
1732
|
-
): IO<R
|
1732
|
+
): IO<R | R1, E | E1, A> {
|
1733
1733
|
return fa.catchAll((e) => f(e).flatMap((b) => (b ? fa.retryWhileIO(f) : IO.fail(e))));
|
1734
1734
|
}
|
1735
1735
|
|
@@ -1787,7 +1787,7 @@ export function sequenceIterableDiscard<R, E, A>(as: Iterable<IO<R, E, A>>, __ts
|
|
1787
1787
|
*
|
1788
1788
|
* @tsplus static fncts.io.IOOps succeedNow
|
1789
1789
|
*/
|
1790
|
-
export function succeedNow<A>(value: A, __tsplusTrace?: string): IO<
|
1790
|
+
export function succeedNow<A>(value: A, __tsplusTrace?: string): IO<never, never, A> {
|
1791
1791
|
return new SucceedNow(value, __tsplusTrace);
|
1792
1792
|
}
|
1793
1793
|
|
@@ -1826,7 +1826,7 @@ export function summarized_<R, E, A, R1, E1, B, C>(
|
|
1826
1826
|
summary: IO<R1, E1, B>,
|
1827
1827
|
f: (start: B, end: B) => C,
|
1828
1828
|
__tsplusTrace?: string,
|
1829
|
-
): IO<R
|
1829
|
+
): IO<R | R1, E | E1, readonly [C, A]> {
|
1830
1830
|
return gen(function* (_) {
|
1831
1831
|
const start = yield* _(summary);
|
1832
1832
|
const value = yield* _(ma);
|
@@ -1898,7 +1898,7 @@ export function tap_<R, E, A, R1, E1, B>(
|
|
1898
1898
|
self: IO<R, E, A>,
|
1899
1899
|
f: (a: A) => IO<R1, E1, B>,
|
1900
1900
|
__tsplusTrace?: string,
|
1901
|
-
): IO<R1
|
1901
|
+
): IO<R1 | R, E1 | E, A> {
|
1902
1902
|
return self.flatMap((a) => f(a).map(() => a));
|
1903
1903
|
}
|
1904
1904
|
|
@@ -1912,7 +1912,7 @@ export function tapCause_<R2, A2, R, E, E2>(
|
|
1912
1912
|
ma: IO<R2, E2, A2>,
|
1913
1913
|
f: (e: Cause<E2>) => IO<R, E, any>,
|
1914
1914
|
__tsplusTrace?: string,
|
1915
|
-
): IO<R2
|
1915
|
+
): IO<R2 | R, E | E2, A2> {
|
1916
1916
|
return ma.matchCauseIO((c) => f(c).flatMap(() => IO.failCauseNow(c)), IO.succeedNow);
|
1917
1917
|
}
|
1918
1918
|
|
@@ -1942,7 +1942,7 @@ export function tapErrorCause_<R, E, A, R1, E1>(
|
|
1942
1942
|
self: IO<R, E, A>,
|
1943
1943
|
f: (e: Cause<E>) => IO<R1, E1, any>,
|
1944
1944
|
__tsplusTrace?: string,
|
1945
|
-
): IO<R
|
1945
|
+
): IO<R | R1, E | E1, A> {
|
1946
1946
|
return self.matchCauseIO((cause) => f(cause).apSecond(IO.failCauseNow(cause)), IO.succeedNow);
|
1947
1947
|
}
|
1948
1948
|
|
@@ -1954,7 +1954,7 @@ export function tryOrElse_<R, E, A, R1, E1, A1, R2, E2, A2>(
|
|
1954
1954
|
that: Lazy<IO<R1, E1, A1>>,
|
1955
1955
|
onSuccess: (a: A) => IO<R2, E2, A2>,
|
1956
1956
|
__tsplusTrace?: string,
|
1957
|
-
): IO<R
|
1957
|
+
): IO<R | R1 | R2, E1 | E2, A1 | A2> {
|
1958
1958
|
return ma.matchCauseIO((cause) => cause.keepDefects.match(that, IO.failCauseNow), onSuccess);
|
1959
1959
|
}
|
1960
1960
|
|
@@ -2031,7 +2031,7 @@ export function when_<R, E, A>(ma: IO<R, E, A>, b: Lazy<boolean>, __tsplusTrace?
|
|
2031
2031
|
*
|
2032
2032
|
* @tsplus fluent fncts.io.IO whenIO
|
2033
2033
|
*/
|
2034
|
-
export function whenIO_<R, E, A, R1, E1>(ma: IO<R, E, A>, mb: IO<R1, E1, boolean>): IO<R1
|
2034
|
+
export function whenIO_<R, E, A, R1, E1>(ma: IO<R, E, A>, mb: IO<R1, E1, boolean>): IO<R1 | R, E | E1, void> {
|
2035
2035
|
return mb.flatMap((b) => (b ? ma.asUnit : IO.unit));
|
2036
2036
|
}
|
2037
2037
|
|
@@ -2047,7 +2047,7 @@ export const yieldNow: UIO<void> = new Yield();
|
|
2047
2047
|
/**
|
2048
2048
|
* @tsplus fluent fncts.io.IO zip
|
2049
2049
|
*/
|
2050
|
-
export function zip_<R, E, A, R1, E1, B>(self: IO<R, E, A>, that: IO<R1, E1, B>): IO<R
|
2050
|
+
export function zip_<R, E, A, R1, E1, B>(self: IO<R, E, A>, that: IO<R1, E1, B>): IO<R | R1, E | E1, readonly [A, B]> {
|
2051
2051
|
return self.zipWith(that, tuple);
|
2052
2052
|
}
|
2053
2053
|
|
@@ -2058,12 +2058,12 @@ export function zipWith_<R, E, A, R1, E1, B, C>(
|
|
2058
2058
|
self: IO<R, E, A>,
|
2059
2059
|
that: IO<R1, E1, B>,
|
2060
2060
|
f: (a: A, b: B) => C,
|
2061
|
-
): IO<R
|
2061
|
+
): IO<R | R1, E | E1, C> {
|
2062
2062
|
return self.flatMap((a) => that.map((b) => f(a, b)));
|
2063
2063
|
}
|
2064
2064
|
|
2065
2065
|
export class GenIO<R, E, A> {
|
2066
|
-
readonly _R!: (
|
2066
|
+
readonly _R!: () => R;
|
2067
2067
|
readonly _E!: () => E;
|
2068
2068
|
readonly _A!: () => A;
|
2069
2069
|
|
package/_src/IO/definition.ts
CHANGED
@@ -4,7 +4,14 @@ import type { FiberContext } from "@fncts/io/Fiber/FiberContext";
|
|
4
4
|
export const IOTypeId = Symbol.for("fncts.io.IO");
|
5
5
|
export type IOTypeId = typeof IOTypeId;
|
6
6
|
|
7
|
-
export interface IOF extends
|
7
|
+
export interface IOF extends HKT {
|
8
|
+
type: IO<this["R"], this["E"], this["A"]>;
|
9
|
+
variance: {
|
10
|
+
R: "-";
|
11
|
+
E: "+";
|
12
|
+
A: "+";
|
13
|
+
};
|
14
|
+
}
|
8
15
|
|
9
16
|
/**
|
10
17
|
* @tsplus type fncts.io.IO
|
@@ -12,11 +19,9 @@ export interface IOF extends IO<any, any, any> {}
|
|
12
19
|
*/
|
13
20
|
export abstract class IO<R, E, A> {
|
14
21
|
readonly _typeId: IOTypeId = IOTypeId;
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
readonly [HKT.A]!: () => A;
|
19
|
-
readonly [HKT.T]!: IO<HKT._R<this>, HKT._E<this>, HKT._A<this>>;
|
22
|
+
declare _R: () => R;
|
23
|
+
declare _E: () => E;
|
24
|
+
declare _A: () => A;
|
20
25
|
}
|
21
26
|
|
22
27
|
/**
|
@@ -42,11 +47,11 @@ export function unifyIO<X extends IO<any, any, any>>(
|
|
42
47
|
return self;
|
43
48
|
}
|
44
49
|
|
45
|
-
export type UIO<A> = IO<
|
50
|
+
export type UIO<A> = IO<never, never, A>;
|
46
51
|
|
47
52
|
export type URIO<R, A> = IO<R, never, A>;
|
48
53
|
|
49
|
-
export type FIO<E, A> = IO<
|
54
|
+
export type FIO<E, A> = IO<never, E, A>;
|
50
55
|
|
51
56
|
export const enum IOTag {
|
52
57
|
SucceedNow = "SucceedNow",
|
@@ -86,7 +91,7 @@ export function isIO(u: unknown): u is IO<any, any, any> {
|
|
86
91
|
/**
|
87
92
|
* @internal
|
88
93
|
*/
|
89
|
-
export class Chain<R, R1, E, E1, A, A1> extends IO<R
|
94
|
+
export class Chain<R, R1, E, E1, A, A1> extends IO<R | R1, E | E1, A1> {
|
90
95
|
readonly _tag = IOTag.Chain;
|
91
96
|
constructor(readonly io: IO<R, E, A>, readonly f: (a: A) => IO<R1, E1, A1>, readonly trace?: string) {
|
92
97
|
super();
|
@@ -96,7 +101,7 @@ export class Chain<R, R1, E, E1, A, A1> extends IO<R & R1, E | E1, A1> {
|
|
96
101
|
/**
|
97
102
|
* @internal
|
98
103
|
*/
|
99
|
-
export class SucceedNow<A> extends IO<
|
104
|
+
export class SucceedNow<A> extends IO<never, never, A> {
|
100
105
|
readonly _tag = IOTag.SucceedNow;
|
101
106
|
constructor(readonly value: A, readonly trace?: string) {
|
102
107
|
super();
|
@@ -106,21 +111,21 @@ export class SucceedNow<A> extends IO<unknown, never, A> {
|
|
106
111
|
/**
|
107
112
|
* @internal
|
108
113
|
*/
|
109
|
-
export class Succeed<A> extends IO<
|
114
|
+
export class Succeed<A> extends IO<never, never, A> {
|
110
115
|
readonly _tag = IOTag.Succeed;
|
111
116
|
constructor(readonly effect: () => A, readonly trace?: string) {
|
112
117
|
super();
|
113
118
|
}
|
114
119
|
}
|
115
120
|
|
116
|
-
export class SucceedWith<A> extends IO<
|
121
|
+
export class SucceedWith<A> extends IO<never, never, A> {
|
117
122
|
readonly _tag = IOTag.SucceedWith;
|
118
123
|
constructor(readonly effect: (runtimeConfig: RuntimeConfig, fiberId: FiberId) => A, readonly trace?: string) {
|
119
124
|
super();
|
120
125
|
}
|
121
126
|
}
|
122
127
|
|
123
|
-
export class Trace extends IO<
|
128
|
+
export class Trace extends IO<never, never, Trace_> {
|
124
129
|
readonly _tag = IOTag.Trace;
|
125
130
|
constructor(readonly trace?: string) {
|
126
131
|
super();
|
@@ -130,7 +135,7 @@ export class Trace extends IO<unknown, never, Trace_> {
|
|
130
135
|
/**
|
131
136
|
* @internal
|
132
137
|
*/
|
133
|
-
export class Async<R, E, A, R1> extends IO<R
|
138
|
+
export class Async<R, E, A, R1> extends IO<R | R1, E, A> {
|
134
139
|
readonly _tag = IOTag.Async;
|
135
140
|
constructor(
|
136
141
|
readonly register: (f: (_: IO<R, E, A>) => void) => Either<Canceler<R1>, IO<R, E, A>>,
|
@@ -144,7 +149,7 @@ export class Async<R, E, A, R1> extends IO<R & R1, E, A> {
|
|
144
149
|
/**
|
145
150
|
* @internal
|
146
151
|
*/
|
147
|
-
export class Match<R, E, A, R1, E1, B, R2, E2, C> extends IO<R
|
152
|
+
export class Match<R, E, A, R1, E1, B, R2, E2, C> extends IO<R | R1 | R2, E1 | E2, B | C> {
|
148
153
|
readonly _tag = IOTag.Match;
|
149
154
|
|
150
155
|
constructor(
|
@@ -173,7 +178,7 @@ export class Fork<R, E, A> extends IO<R, never, FiberContext<E, A>> {
|
|
173
178
|
/**
|
174
179
|
* @internal
|
175
180
|
*/
|
176
|
-
export class Fail<E> extends IO<
|
181
|
+
export class Fail<E> extends IO<never, E, never> {
|
177
182
|
readonly _tag = IOTag.Fail;
|
178
183
|
|
179
184
|
constructor(readonly cause: Lazy<Cause<E>>, readonly trace?: string) {
|
@@ -184,7 +189,7 @@ export class Fail<E> extends IO<unknown, E, never> {
|
|
184
189
|
/**
|
185
190
|
* @internal
|
186
191
|
*/
|
187
|
-
export class Yield extends IO<
|
192
|
+
export class Yield extends IO<never, never, void> {
|
188
193
|
readonly _tag = IOTag.Yield;
|
189
194
|
|
190
195
|
constructor(readonly trace?: string) {
|
@@ -217,7 +222,7 @@ export class DeferWith<R, E, A> extends IO<R, E, A> {
|
|
217
222
|
/**
|
218
223
|
* @internal
|
219
224
|
*/
|
220
|
-
export class Race<R, E, A, R1, E1, A1, R2, E2, A2, R3, E3, A3> extends IO<R
|
225
|
+
export class Race<R, E, A, R1, E1, A1, R2, E2, A2, R3, E3, A3> extends IO<R | R1 | R2 | R3, E2 | E3, A2 | A3> {
|
221
226
|
readonly _tag = "Race";
|
222
227
|
|
223
228
|
constructor(
|
@@ -278,7 +283,7 @@ export class Supervise<R, E, A> extends IO<R, E, A> {
|
|
278
283
|
/**
|
279
284
|
* @internal
|
280
285
|
*/
|
281
|
-
export class FiberRefModify<A, B> extends IO<
|
286
|
+
export class FiberRefModify<A, B> extends IO<never, never, B> {
|
282
287
|
readonly _tag = IOTag.FiberRefModify;
|
283
288
|
|
284
289
|
constructor(readonly fiberRef: FiberRef<unknown>, readonly f: (a: A) => readonly [B, A], readonly trace?: string) {
|
@@ -298,7 +303,7 @@ export class FiberRefLocally<V, R, E, A> extends IO<R, E, A> {
|
|
298
303
|
}
|
299
304
|
}
|
300
305
|
|
301
|
-
export class FiberRefDelete extends IO<
|
306
|
+
export class FiberRefDelete extends IO<never, never, void> {
|
302
307
|
readonly _tag = IOTag.FiberRefDelete;
|
303
308
|
constructor(readonly fiberRef: FiberRef<unknown>, readonly trace?: string) {
|
304
309
|
super();
|
@@ -312,7 +317,7 @@ export class FiberRefWith<A, P, R, E, B> extends IO<R, E, B> {
|
|
312
317
|
}
|
313
318
|
}
|
314
319
|
|
315
|
-
export class FiberRefModifyAll<A> extends IO<
|
320
|
+
export class FiberRefModifyAll<A> extends IO<never, never, A> {
|
316
321
|
readonly _tag = IOTag.FiberRefModifyAll;
|
317
322
|
constructor(
|
318
323
|
readonly f: (fiberId: FiberId.Runtime, fiberRefs: FiberRefs) => readonly [A, FiberRefs],
|
@@ -352,14 +357,14 @@ export class GetRuntimeConfig<R, E, A> extends IO<R, E, A> {
|
|
352
357
|
}
|
353
358
|
}
|
354
359
|
|
355
|
-
export class Ensuring<R, E, A, R1> extends IO<R
|
360
|
+
export class Ensuring<R, E, A, R1> extends IO<R | R1, E, A> {
|
356
361
|
readonly _tag = IOTag.Ensuring;
|
357
362
|
constructor(readonly io: IO<R, E, A>, readonly finalizer: IO<R1, never, any>, readonly trace?: string) {
|
358
363
|
super();
|
359
364
|
}
|
360
365
|
}
|
361
366
|
|
362
|
-
export class Logged extends IO<
|
367
|
+
export class Logged extends IO<never, never, void> {
|
363
368
|
readonly _tag = IOTag.Logged;
|
364
369
|
constructor(
|
365
370
|
readonly message: () => string,
|
@@ -373,7 +378,7 @@ export class Logged extends IO<unknown, never, void> {
|
|
373
378
|
}
|
374
379
|
}
|
375
380
|
|
376
|
-
export class SetRuntimeConfig extends IO<
|
381
|
+
export class SetRuntimeConfig extends IO<never, never, void> {
|
377
382
|
readonly _tag = IOTag.SetRuntimeConfig;
|
378
383
|
constructor(readonly runtimeConfig: RuntimeConfig, readonly trace?: string) {
|
379
384
|
super();
|