@fncts/io 0.0.22 → 0.0.23
Sign up to get free protection for your applications and to get access to all the features.
- package/Cached/definition.d.ts +6 -4
- package/Cached/internal.d.ts +4 -4
- package/Channel/api.d.ts +4 -4
- package/Channel/definition.d.ts +35 -14
- package/Channel/internal/ChannelExecutor.d.ts +1 -0
- package/Channel/internal/MergeDecision.d.ts +10 -6
- package/CountdownLatch.d.ts +1 -1
- package/Differ/definition.d.ts +2 -4
- package/Fiber/FiberRuntime.d.ts +9 -11
- package/Fiber/definition.d.ts +12 -6
- package/FiberRef/definition.d.ts +6 -2
- package/FiberRefs/api.d.ts +1 -1
- package/FiberRefs/definition.d.ts +1 -1
- package/Hub/definition.d.ts +29 -15
- package/IO/api/interrupt.d.ts +19 -19
- package/IO/api/onTermination.d.ts +0 -1
- package/IO/api/sequenceT.d.ts +19 -3
- package/IO/api.d.ts +17 -1
- package/IO/definition.d.ts +40 -26
- package/IO.d.ts +0 -1
- package/Layer/definition.d.ts +17 -13
- package/Logger/definition.d.ts +10 -6
- package/MVar/api.d.ts +101 -0
- package/MVar/definition.d.ts +43 -0
- package/MVar.d.ts +2 -0
- package/Push/api.d.ts +7 -4
- package/Push/definition.d.ts +10 -3
- package/Push/internal.d.ts +1 -1
- package/Queue/api/dimapIO.d.ts +17 -13
- package/Queue/definition.d.ts +26 -18
- package/Ref/Derived.d.ts +3 -1
- package/Ref/Synchronized/constructors.d.ts +6 -1
- package/Ref/Synchronized/definition.d.ts +4 -2
- package/Ref/definition.d.ts +36 -25
- package/Ref.d.ts +0 -1
- package/RefSubject/definition.d.ts +17 -11
- package/Reloadable/definition.d.ts +5 -1
- package/STM/api/atomically.d.ts +9 -0
- package/STM/api.d.ts +12 -6
- package/STM/definition.d.ts +28 -15
- package/STM/internal/Entry.d.ts +2 -2
- package/STM/internal/TryCommit.d.ts +2 -2
- package/STM/internal/Versioned.d.ts +1 -1
- package/STM.d.ts +1 -0
- package/Schedule/definition.d.ts +7 -3
- package/Scope/definition.d.ts +1 -1
- package/ScopedRef/definition.d.ts +1 -1
- package/State/api.d.ts +1 -1
- package/State/definition.d.ts +5 -2
- package/State/internal.d.ts +6 -2
- package/Stream/definition.d.ts +26 -5
- package/Stream/internal/Handoff.d.ts +21 -15
- package/Stream/internal/SinkEndReason.d.ts +2 -2
- package/Subject/Atomic.d.ts +8 -4
- package/SupervisorPatch.d.ts +1 -1
- package/TExit/definition.d.ts +5 -5
- package/TRef/definition.d.ts +16 -14
- package/TRef.d.ts +0 -1
- package/_cjs/Cached/definition.cjs +4 -2
- package/_cjs/Cached/definition.cjs.map +1 -1
- package/_cjs/Cached/internal.cjs +7 -6
- package/_cjs/Cached/internal.cjs.map +1 -1
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +1 -1
- package/_cjs/Channel/api.cjs +20 -20
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Channel/definition.cjs +13 -3
- package/_cjs/Channel/definition.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelExecutor.cjs +11 -6
- package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
- package/_cjs/Channel/internal/MergeDecision.cjs +7 -3
- package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
- package/_cjs/CountdownLatch.cjs +4 -2
- package/_cjs/CountdownLatch.cjs.map +1 -1
- package/_cjs/Differ/definition.cjs +3 -1
- package/_cjs/Differ/definition.cjs.map +1 -1
- package/_cjs/Fiber/FiberRuntime.cjs +96 -89
- package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
- package/_cjs/Fiber/definition.cjs +8 -4
- package/_cjs/Fiber/definition.cjs.map +1 -1
- package/_cjs/FiberRef/definition.cjs +8 -4
- package/_cjs/FiberRef/definition.cjs.map +1 -1
- package/_cjs/Future/api.cjs +17 -6
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/Hub/api.cjs +5 -5
- package/_cjs/Hub/api.cjs.map +1 -1
- package/_cjs/Hub/definition.cjs +9 -7
- package/_cjs/Hub/definition.cjs.map +1 -1
- package/_cjs/Hub/internal.cjs +6 -6
- package/_cjs/Hub/internal.cjs.map +1 -1
- package/_cjs/IO/api/asyncIO.cjs +1 -1
- package/_cjs/IO/api/asyncIO.cjs.map +1 -1
- package/_cjs/IO/api/asyncInterrupt.cjs +2 -2
- package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
- package/_cjs/IO/api/bracketExit.cjs +1 -1
- package/_cjs/IO/api/bracketExit.cjs.map +1 -1
- package/_cjs/IO/api/foreachConcurrent.cjs +2 -2
- package/_cjs/IO/api/foreachConcurrent.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 +1 -1
- package/_cjs/IO/api/fulfill.cjs.map +1 -1
- package/_cjs/IO/api/interrupt.cjs +52 -43
- package/_cjs/IO/api/interrupt.cjs.map +1 -1
- package/_cjs/IO/api/onTermination.cjs +7 -6
- package/_cjs/IO/api/onTermination.cjs.map +1 -1
- package/_cjs/IO/api/race.cjs +1 -1
- package/_cjs/IO/api/race.cjs.map +1 -1
- package/_cjs/IO/api/sequenceT.cjs +1 -1
- package/_cjs/IO/api/sequenceT.cjs.map +1 -1
- package/_cjs/IO/api/zipConcurrent.cjs +1 -1
- package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
- package/_cjs/IO/api.cjs +79 -53
- package/_cjs/IO/api.cjs.map +1 -1
- package/_cjs/IO/definition.cjs +26 -21
- package/_cjs/IO/definition.cjs.map +1 -1
- package/_cjs/IO.cjs +0 -11
- package/_cjs/IO.cjs.map +1 -1
- package/_cjs/Layer/MemoMap.cjs +30 -31
- package/_cjs/Layer/MemoMap.cjs.map +1 -1
- package/_cjs/Layer/api.cjs +1 -1
- package/_cjs/Layer/api.cjs.map +1 -1
- package/_cjs/Layer/definition.cjs +12 -10
- package/_cjs/Layer/definition.cjs.map +1 -1
- package/_cjs/Logger/definition.cjs +3 -1
- package/_cjs/Logger/definition.cjs.map +1 -1
- package/_cjs/MVar/api.cjs +170 -0
- package/_cjs/MVar/api.cjs.map +1 -0
- package/_cjs/MVar/definition.cjs +28 -0
- package/_cjs/MVar/definition.cjs.map +1 -0
- package/_cjs/MVar.cjs +28 -0
- package/_cjs/MVar.cjs.map +1 -0
- package/_cjs/Push/api.cjs +39 -36
- package/_cjs/Push/api.cjs.map +1 -1
- package/_cjs/Push/definition.cjs +9 -2
- package/_cjs/Push/definition.cjs.map +1 -1
- package/_cjs/Push/internal.cjs +4 -2
- package/_cjs/Push/internal.cjs.map +1 -1
- package/_cjs/Queue/api/dimapIO.cjs +10 -10
- package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
- package/_cjs/Queue/api/filterInputIO.cjs +4 -4
- package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
- package/_cjs/Queue/api/filterOutputIO.cjs +7 -7
- package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
- package/_cjs/Queue/definition.cjs +3 -1
- package/_cjs/Queue/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 +2 -2
- package/_cjs/Queue/strategy.cjs.map +1 -1
- package/_cjs/Ref/Derived.cjs +8 -4
- package/_cjs/Ref/Derived.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/constructors.cjs +16 -7
- package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/definition.cjs +16 -12
- package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
- package/_cjs/Ref/definition.cjs +3 -2
- package/_cjs/Ref/definition.cjs.map +1 -1
- package/_cjs/Ref.cjs +0 -11
- package/_cjs/Ref.cjs.map +1 -1
- package/_cjs/RefSubject/Synchronized/api.cjs +1 -1
- package/_cjs/RefSubject/definition.cjs +9 -5
- package/_cjs/RefSubject/definition.cjs.map +1 -1
- package/_cjs/Reloadable/definition.cjs +4 -2
- package/_cjs/Reloadable/definition.cjs.map +1 -1
- package/_cjs/STM/api/atomically.cjs +55 -0
- package/_cjs/STM/api/atomically.cjs.map +1 -0
- package/_cjs/STM/api.cjs +65 -91
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/STM/definition.cjs +32 -19
- package/_cjs/STM/definition.cjs.map +1 -1
- package/_cjs/STM/driver.cjs +3 -3
- package/_cjs/STM/driver.cjs.map +1 -1
- package/_cjs/STM/internal/Entry.cjs +6 -3
- package/_cjs/STM/internal/Entry.cjs.map +1 -1
- package/_cjs/STM/internal/TryCommit.cjs +5 -2
- package/_cjs/STM/internal/TryCommit.cjs.map +1 -1
- package/_cjs/STM/internal/Versioned.cjs +3 -1
- package/_cjs/STM/internal/Versioned.cjs.map +1 -1
- package/_cjs/STM.cjs +11 -0
- package/_cjs/STM.cjs.map +1 -1
- package/_cjs/Schedule/definition.cjs +3 -1
- package/_cjs/Schedule/definition.cjs.map +1 -1
- package/_cjs/Scope/api.cjs +1 -2
- package/_cjs/Scope/api.cjs.map +1 -1
- package/_cjs/Scope/definition.cjs +5 -3
- package/_cjs/Scope/definition.cjs.map +1 -1
- package/_cjs/ScopedRef/api.cjs +2 -2
- package/_cjs/ScopedRef/api.cjs.map +1 -1
- package/_cjs/ScopedRef/definition.cjs +3 -1
- package/_cjs/ScopedRef/definition.cjs.map +1 -1
- package/_cjs/State/api.cjs +2 -2
- package/_cjs/State/api.cjs.map +1 -1
- package/_cjs/State/definition.cjs +4 -2
- package/_cjs/State/definition.cjs.map +1 -1
- package/_cjs/State/internal.cjs +7 -3
- package/_cjs/State/internal.cjs.map +1 -1
- package/_cjs/Stream/api.cjs +1 -1
- package/_cjs/Stream/definition.cjs +4 -2
- package/_cjs/Stream/definition.cjs.map +1 -1
- package/_cjs/Stream/internal/Handoff.cjs +37 -37
- package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
- package/_cjs/Stream/internal/SinkEndReason.cjs +6 -3
- package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
- package/_cjs/Subject/Atomic.cjs +6 -4
- package/_cjs/Subject/Atomic.cjs.map +1 -1
- package/_cjs/SubscriptionRef.cjs +1 -1
- package/_cjs/SupervisorPatch.cjs +3 -1
- package/_cjs/SupervisorPatch.cjs.map +1 -1
- package/_cjs/TExit/definition.cjs +25 -24
- package/_cjs/TExit/definition.cjs.map +1 -1
- package/_cjs/TFuture/constructors.cjs +1 -1
- package/_cjs/TReentrantLock/api.cjs +10 -9
- package/_cjs/TReentrantLock/api.cjs.map +1 -1
- package/_cjs/TRef/constructors.cjs +1 -1
- package/_cjs/TRef/definition.cjs +21 -21
- package/_cjs/TRef/definition.cjs.map +1 -1
- package/_cjs/TRef.cjs +0 -11
- package/_cjs/TRef.cjs.map +1 -1
- package/_cjs/TSemaphore/api.cjs +2 -2
- package/_cjs/TSemaphore/api.cjs.map +1 -1
- package/_cjs/TSemaphore/constructors.cjs +1 -1
- package/_cjs/internal/IsFatal.cjs +3 -1
- package/_cjs/internal/IsFatal.cjs.map +1 -1
- package/_mjs/Cached/definition.mjs +4 -2
- package/_mjs/Cached/definition.mjs.map +1 -1
- package/_mjs/Cached/internal.mjs +3 -5
- package/_mjs/Cached/internal.mjs.map +1 -1
- package/_mjs/Channel/api/mapOutConcurrentIO.mjs +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +1 -1
- package/_mjs/Channel/api.mjs +15 -14
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Channel/definition.mjs +9 -1
- package/_mjs/Channel/definition.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelExecutor.mjs +11 -6
- package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
- package/_mjs/Channel/internal/MergeDecision.mjs +4 -1
- package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
- package/_mjs/CountdownLatch.mjs +3 -1
- package/_mjs/CountdownLatch.mjs.map +1 -1
- package/_mjs/Differ/definition.mjs +3 -1
- package/_mjs/Differ/definition.mjs.map +1 -1
- package/_mjs/Fiber/FiberRuntime.mjs +97 -90
- package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
- package/_mjs/Fiber/definition.mjs +5 -2
- package/_mjs/Fiber/definition.mjs.map +1 -1
- package/_mjs/FiberRef/definition.mjs +6 -3
- package/_mjs/FiberRef/definition.mjs.map +1 -1
- package/_mjs/Future/api.mjs +17 -6
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/Hub/api.mjs +6 -6
- package/_mjs/Hub/api.mjs.map +1 -1
- package/_mjs/Hub/definition.mjs +5 -4
- package/_mjs/Hub/definition.mjs.map +1 -1
- package/_mjs/Hub/internal.mjs +6 -6
- package/_mjs/Hub/internal.mjs.map +1 -1
- package/_mjs/IO/api/asyncIO.mjs +1 -1
- package/_mjs/IO/api/asyncIO.mjs.map +1 -1
- package/_mjs/IO/api/asyncInterrupt.mjs +2 -2
- package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
- package/_mjs/IO/api/bracketExit.mjs +1 -1
- package/_mjs/IO/api/bracketExit.mjs.map +1 -1
- package/_mjs/IO/api/foreachConcurrent.mjs +2 -2
- package/_mjs/IO/api/foreachConcurrent.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 +1 -1
- package/_mjs/IO/api/fulfill.mjs.map +1 -1
- package/_mjs/IO/api/interrupt.mjs +46 -38
- package/_mjs/IO/api/interrupt.mjs.map +1 -1
- package/_mjs/IO/api/onTermination.mjs +7 -6
- package/_mjs/IO/api/onTermination.mjs.map +1 -1
- package/_mjs/IO/api/race.mjs +1 -1
- package/_mjs/IO/api/race.mjs.map +1 -1
- package/_mjs/IO/api/sequenceT.mjs +1 -1
- package/_mjs/IO/api/sequenceT.mjs.map +1 -1
- package/_mjs/IO/api/zipConcurrent.mjs +1 -1
- package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
- package/_mjs/IO/api.mjs +73 -50
- package/_mjs/IO/api.mjs.map +1 -1
- package/_mjs/IO/definition.mjs +23 -19
- package/_mjs/IO/definition.mjs.map +1 -1
- package/_mjs/IO.mjs +0 -1
- package/_mjs/IO.mjs.map +1 -1
- package/_mjs/Layer/MemoMap.mjs +28 -29
- package/_mjs/Layer/MemoMap.mjs.map +1 -1
- package/_mjs/Layer/api.mjs +2 -2
- package/_mjs/Layer/api.mjs.map +1 -1
- package/_mjs/Layer/definition.mjs +9 -8
- package/_mjs/Layer/definition.mjs.map +1 -1
- package/_mjs/Logger/definition.mjs +1 -0
- package/_mjs/Logger/definition.mjs.map +1 -1
- package/_mjs/MVar/api.mjs +150 -0
- package/_mjs/MVar/api.mjs.map +1 -0
- package/_mjs/MVar/definition.mjs +18 -0
- package/_mjs/MVar/definition.mjs.map +1 -0
- package/_mjs/MVar.mjs +4 -0
- package/_mjs/MVar.mjs.map +1 -0
- package/_mjs/Push/api.mjs +39 -36
- package/_mjs/Push/api.mjs.map +1 -1
- package/_mjs/Push/definition.mjs +5 -0
- package/_mjs/Push/definition.mjs.map +1 -1
- package/_mjs/Push/internal.mjs +4 -2
- package/_mjs/Push/internal.mjs.map +1 -1
- package/_mjs/Queue/api/dimapIO.mjs +11 -11
- package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
- package/_mjs/Queue/api/filterInputIO.mjs +5 -5
- package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
- package/_mjs/Queue/api/filterOutputIO.mjs +8 -8
- package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
- package/_mjs/Queue/definition.mjs +1 -0
- package/_mjs/Queue/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 +2 -2
- package/_mjs/Queue/strategy.mjs.map +1 -1
- package/_mjs/Ref/Derived.mjs +6 -3
- package/_mjs/Ref/Derived.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/constructors.mjs +15 -7
- package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/definition.mjs +13 -10
- package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
- package/_mjs/Ref/definition.mjs +1 -1
- package/_mjs/Ref/definition.mjs.map +1 -1
- package/_mjs/Ref.mjs +0 -1
- package/_mjs/Ref.mjs.map +1 -1
- package/_mjs/RefSubject/Synchronized/api.mjs +1 -1
- package/_mjs/RefSubject/definition.mjs +10 -3
- package/_mjs/RefSubject/definition.mjs.map +1 -1
- package/_mjs/Reloadable/definition.mjs +2 -1
- package/_mjs/Reloadable/definition.mjs.map +1 -1
- package/_mjs/STM/api/atomically.mjs +47 -0
- package/_mjs/STM/api/atomically.mjs.map +1 -0
- package/_mjs/STM/api.mjs +61 -88
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/STM/definition.mjs +27 -17
- package/_mjs/STM/definition.mjs.map +1 -1
- package/_mjs/STM/driver.mjs +3 -3
- package/_mjs/STM/driver.mjs.map +1 -1
- package/_mjs/STM/internal/Entry.mjs +5 -2
- package/_mjs/STM/internal/Entry.mjs.map +1 -1
- package/_mjs/STM/internal/TryCommit.mjs +6 -2
- package/_mjs/STM/internal/TryCommit.mjs.map +1 -1
- package/_mjs/STM/internal/Versioned.mjs +3 -1
- package/_mjs/STM/internal/Versioned.mjs.map +1 -1
- package/_mjs/STM.mjs +1 -0
- package/_mjs/STM.mjs.map +1 -1
- package/_mjs/Schedule/definition.mjs +1 -0
- package/_mjs/Schedule/definition.mjs.map +1 -1
- package/_mjs/Scope/api.mjs +1 -2
- package/_mjs/Scope/api.mjs.map +1 -1
- package/_mjs/Scope/definition.mjs +4 -2
- package/_mjs/Scope/definition.mjs.map +1 -1
- package/_mjs/ScopedRef/api.mjs +2 -2
- package/_mjs/ScopedRef/api.mjs.map +1 -1
- package/_mjs/ScopedRef/definition.mjs +3 -1
- package/_mjs/ScopedRef/definition.mjs.map +1 -1
- package/_mjs/State/api.mjs +1 -1
- package/_mjs/State/api.mjs.map +1 -1
- package/_mjs/State/definition.mjs +4 -1
- package/_mjs/State/definition.mjs.map +1 -1
- package/_mjs/State/internal.mjs +5 -2
- package/_mjs/State/internal.mjs.map +1 -1
- package/_mjs/Stream/api.mjs +1 -1
- package/_mjs/Stream/definition.mjs +2 -1
- package/_mjs/Stream/definition.mjs.map +1 -1
- package/_mjs/Stream/internal/Handoff.mjs +40 -32
- package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
- package/_mjs/Stream/internal/SinkEndReason.mjs +6 -2
- package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
- package/_mjs/Subject/Atomic.mjs +4 -2
- package/_mjs/Subject/Atomic.mjs.map +1 -1
- package/_mjs/SubscriptionRef.mjs +1 -1
- package/_mjs/SupervisorPatch.mjs +3 -1
- package/_mjs/SupervisorPatch.mjs.map +1 -1
- package/_mjs/TExit/definition.mjs +25 -24
- package/_mjs/TExit/definition.mjs.map +1 -1
- package/_mjs/TFuture/constructors.mjs +1 -1
- package/_mjs/TReentrantLock/api.mjs +10 -9
- package/_mjs/TReentrantLock/api.mjs.map +1 -1
- package/_mjs/TRef/constructors.mjs +1 -1
- package/_mjs/TRef/definition.mjs +19 -20
- package/_mjs/TRef/definition.mjs.map +1 -1
- package/_mjs/TRef.mjs +0 -1
- package/_mjs/TRef.mjs.map +1 -1
- package/_mjs/TSemaphore/api.mjs +2 -2
- package/_mjs/TSemaphore/api.mjs.map +1 -1
- package/_mjs/TSemaphore/constructors.mjs +1 -1
- package/_mjs/internal/IsFatal.mjs +3 -1
- package/_mjs/internal/IsFatal.mjs.map +1 -1
- package/_src/Cached/definition.ts +6 -4
- package/_src/Cached/internal.ts +4 -4
- package/_src/Channel/api.ts +14 -15
- package/_src/Channel/definition.ts +37 -14
- package/_src/Channel/internal/ChannelExecutor.ts +14 -3
- package/_src/Channel/internal/MergeDecision.ts +11 -6
- package/_src/CountdownLatch.ts +1 -1
- package/_src/Differ/definition.ts +2 -4
- package/_src/Fiber/FiberRuntime.ts +54 -50
- package/_src/Fiber/definition.ts +15 -8
- package/_src/FiberRef/definition.ts +9 -4
- package/_src/FiberRefs/api.ts +1 -1
- package/_src/FiberRefs/definition.ts +1 -1
- package/_src/Future/api.ts +14 -5
- package/_src/Hub/api.ts +9 -7
- package/_src/Hub/definition.ts +30 -15
- package/_src/IO/api/interrupt.ts +72 -55
- package/_src/IO/api/onTermination.ts +8 -7
- package/_src/IO/api/sequenceT.ts +4 -6
- package/_src/IO/api.ts +23 -1
- package/_src/IO/definition.ts +36 -27
- package/_src/IO.ts +0 -1
- package/_src/Layer/MemoMap.ts +1 -1
- package/_src/Layer/api.ts +2 -2
- package/_src/Layer/definition.ts +18 -13
- package/_src/Logger/definition.ts +9 -4
- package/_src/MVar/api.ts +185 -0
- package/_src/MVar/definition.ts +45 -0
- package/_src/MVar.ts +4 -0
- package/_src/Push/api.ts +7 -4
- package/_src/Push/definition.ts +12 -3
- package/_src/Push/internal.ts +2 -2
- package/_src/Queue/api/dimapIO.ts +24 -13
- package/_src/Queue/api/filterInputIO.ts +9 -7
- package/_src/Queue/api/filterOutputIO.ts +9 -7
- package/_src/Queue/definition.ts +27 -18
- package/_src/Ref/Derived.ts +4 -1
- package/_src/Ref/Synchronized/constructors.ts +9 -0
- package/_src/Ref/Synchronized/definition.ts +5 -2
- package/_src/Ref/definition.ts +36 -25
- package/_src/Ref.ts +0 -1
- package/_src/RefSubject/definition.ts +19 -12
- package/_src/Reloadable/definition.ts +6 -1
- package/_src/STM/api/atomically.ts +43 -0
- package/_src/STM/api.ts +20 -38
- package/_src/STM/definition.ts +33 -20
- package/_src/STM/driver.ts +3 -3
- package/_src/STM/internal/Entry.ts +2 -2
- package/_src/STM/internal/TryCommit.ts +4 -4
- package/_src/STM/internal/Versioned.ts +1 -1
- package/_src/STM.ts +1 -0
- package/_src/Schedule/definition.ts +8 -3
- package/_src/Scope/definition.ts +2 -2
- package/_src/ScopedRef/definition.ts +1 -1
- package/_src/State/api.ts +1 -1
- package/_src/State/definition.ts +6 -3
- package/_src/State/internal.ts +8 -3
- package/_src/Stream/definition.ts +17 -5
- package/_src/Stream/internal/Handoff.ts +31 -24
- package/_src/Stream/internal/SinkEndReason.ts +2 -2
- package/_src/Subject/Atomic.ts +8 -4
- package/_src/SupervisorPatch.ts +1 -1
- package/_src/TExit/definition.ts +11 -12
- package/_src/TRef/definition.ts +18 -14
- package/_src/TRef.ts +0 -1
- package/_src/global.ts +4 -0
- package/_src/internal/IsFatal.ts +1 -1
- package/global.d.ts +4 -0
- package/internal/IsFatal.d.ts +1 -1
- package/package.json +2 -2
- package/IO/api/onExit.d.ts +0 -7
- package/Ref/symbols.d.ts +0 -30
- package/TRef/symbols.d.ts +0 -20
- package/_cjs/IO/api/onExit.cjs +0 -19
- package/_cjs/IO/api/onExit.cjs.map +0 -1
- package/_cjs/Ref/symbols.cjs +0 -37
- package/_cjs/Ref/symbols.cjs.map +0 -1
- package/_cjs/TRef/symbols.cjs +0 -27
- package/_cjs/TRef/symbols.cjs.map +0 -1
- package/_mjs/IO/api/onExit.mjs +0 -11
- package/_mjs/IO/api/onExit.mjs.map +0 -1
- package/_mjs/Ref/symbols.mjs +0 -25
- package/_mjs/Ref/symbols.mjs.map +0 -1
- package/_mjs/TRef/symbols.mjs +0 -17
- package/_mjs/TRef/symbols.mjs.map +0 -1
- package/_src/IO/api/onExit.ts +0 -11
- package/_src/Ref/symbols.ts +0 -29
- package/_src/TRef/symbols.ts +0 -19
package/Cached/definition.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { CachedInternal } from "@fncts/io/Cached/internal";
|
2
|
-
import { CachedTypeId } from "@fncts/io/Cached/internal";
|
2
|
+
import { CachedTypeId, CachedVariance } from "@fncts/io/Cached/internal";
|
3
3
|
/**
|
4
4
|
* A Cached is a possibly resourceful value that is loaded into memory, and
|
5
5
|
* which can be refreshed either manually or automatically
|
@@ -8,9 +8,11 @@ import { CachedTypeId } from "@fncts/io/Cached/internal";
|
|
8
8
|
* @tsplus companion fncts.io.CachedOps
|
9
9
|
*/
|
10
10
|
export declare class Cached<Error, Resource> {
|
11
|
-
readonly
|
12
|
-
|
13
|
-
|
11
|
+
readonly [CachedTypeId]: CachedTypeId;
|
12
|
+
[CachedVariance]: {
|
13
|
+
readonly _E: (_: never) => Error;
|
14
|
+
readonly _A: (_: never) => Resource;
|
15
|
+
};
|
14
16
|
}
|
15
17
|
/**
|
16
18
|
* @tsplus macro remove
|
package/Cached/internal.d.ts
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
+
import { Cached } from "@fncts/io/Cached/definition";
|
1
2
|
import { FIO } from "@fncts/io/IO/definition";
|
3
|
+
export declare const CachedVariance: unique symbol;
|
4
|
+
export type CachedVariance = typeof CachedVariance;
|
2
5
|
export declare const CachedTypeId: unique symbol;
|
3
6
|
export type CachedTypeId = typeof CachedTypeId;
|
4
|
-
export declare abstract class CachedInternal<Error, Resource> {
|
5
|
-
readonly _E: () => Error;
|
6
|
-
readonly _A: () => Resource;
|
7
|
-
readonly _typeId: CachedTypeId;
|
7
|
+
export declare abstract class CachedInternal<Error, Resource> extends Cached<Error, Resource> {
|
8
8
|
abstract get: FIO<Error, Resource>;
|
9
9
|
abstract refresh: FIO<Error, void>;
|
10
10
|
}
|
package/Channel/api.d.ts
CHANGED
@@ -49,16 +49,16 @@ export declare function acquireReleaseWith<Env, InErr, InElem, InDone, OutErr, O
|
|
49
49
|
export declare function acquireReleaseExitWith<Env, InErr, InElem, InDone, OutErr, OutElem1, OutDone, Acquired>(acquire: IO<Env, OutErr, Acquired>, use: (a: Acquired) => Channel<Env, InErr, InElem, InDone, OutErr, OutElem1, OutDone>, release: (a: Acquired, exit: Exit<OutErr, OutDone>) => URIO<Env, any>): Channel<Env, InErr, InElem, InDone, OutErr, OutElem1, OutDone>;
|
50
50
|
/**
|
51
51
|
* Construct a resource Channel with Acquire / Release
|
52
|
-
* @tsplus static fncts.io.ChannelOps
|
52
|
+
* @tsplus static fncts.io.ChannelOps acquireReleaseOutWith
|
53
53
|
* @tsplus location "@fncts/io/Channel/api"
|
54
54
|
*/
|
55
|
-
export declare function
|
55
|
+
export declare function acquireReleaseOutWith<Env, OutErr, Acquired, Z>(acquire: IO<Env, OutErr, Acquired>, release: (a: Acquired) => URIO<Env, Z>): Channel<Env, unknown, unknown, unknown, OutErr, Acquired, void>;
|
56
56
|
/**
|
57
57
|
* Construct a resource Channel with Acquire / Release
|
58
|
-
* @tsplus static fncts.io.ChannelOps
|
58
|
+
* @tsplus static fncts.io.ChannelOps acquireReleaseOutExitWith
|
59
59
|
* @tsplus location "@fncts/io/Channel/api"
|
60
60
|
*/
|
61
|
-
export declare function
|
61
|
+
export declare function acquireReleaseOutExitWith<R, R2, E, Z>(self: IO<R, E, Z>, release: (z: Z, e: Exit<unknown, unknown>) => URIO<R2, unknown>): Channel<R | R2, unknown, unknown, unknown, E, Z, void>;
|
62
62
|
/**
|
63
63
|
* Creates a channel backed by a buffer. When the buffer is empty, the channel will simply
|
64
64
|
* passthrough its input as output. However, when the buffer is non-empty, the value inside
|
package/Channel/definition.d.ts
CHANGED
@@ -23,18 +23,25 @@ export declare const enum ChannelTag {
|
|
23
23
|
BracketOut = "BracketOut",
|
24
24
|
Provide = "Provide"
|
25
25
|
}
|
26
|
+
export declare const ChannelVariance: unique symbol;
|
27
|
+
export type ChannelVariance = typeof ChannelVariance;
|
28
|
+
export declare const ChannelTypeId: unique symbol;
|
29
|
+
export type ChannelTypeId = typeof ChannelTypeId;
|
26
30
|
/**
|
27
31
|
* @tsplus type fncts.io.Channel
|
28
32
|
* @tsplus companion fncts.io.ChannelOps
|
29
33
|
*/
|
30
34
|
export declare abstract class Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone> {
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
35
|
+
readonly [ChannelTypeId]: ChannelTypeId;
|
36
|
+
[ChannelVariance]: {
|
37
|
+
_Env: () => Env;
|
38
|
+
_InErr: (_: InErr) => void;
|
39
|
+
_InElem: (_: InElem) => void;
|
40
|
+
_InDone: (_: InDone) => void;
|
41
|
+
_OutErr: () => OutErr;
|
42
|
+
_OutElem: () => OutElem;
|
43
|
+
_OutDone: () => OutDone;
|
44
|
+
};
|
38
45
|
}
|
39
46
|
/**
|
40
47
|
* @tsplus unify fncts.io.Channel
|
@@ -43,43 +50,57 @@ export declare function unifyChannel<X extends Channel<any, any, any, any, any,
|
|
43
50
|
X
|
44
51
|
] extends [
|
45
52
|
{
|
46
|
-
|
53
|
+
[ChannelVariance]: {
|
54
|
+
_Env: () => infer Env;
|
55
|
+
};
|
47
56
|
}
|
48
57
|
] ? Env : never, [
|
49
58
|
X
|
50
59
|
] extends [
|
51
60
|
{
|
52
|
-
|
61
|
+
[ChannelVariance]: {
|
62
|
+
_InErr: (_: infer InErr) => void;
|
63
|
+
};
|
53
64
|
}
|
54
65
|
] ? InErr : never, [
|
55
66
|
X
|
56
67
|
] extends [
|
57
68
|
{
|
58
|
-
|
69
|
+
[ChannelVariance]: {
|
70
|
+
_InElem: (_: infer InElem) => void;
|
71
|
+
};
|
59
72
|
}
|
60
73
|
] ? InElem : never, [
|
61
74
|
X
|
62
75
|
] extends [
|
63
76
|
{
|
64
|
-
|
77
|
+
[ChannelVariance]: {
|
78
|
+
_InDone: (_: infer InDone) => void;
|
79
|
+
};
|
65
80
|
}
|
66
81
|
] ? InDone : never, [
|
67
82
|
X
|
68
83
|
] extends [
|
69
84
|
{
|
70
|
-
|
85
|
+
[ChannelVariance]: {
|
86
|
+
_OutErr: () => infer OutErr;
|
87
|
+
};
|
71
88
|
}
|
72
89
|
] ? OutErr : never, [
|
73
90
|
X
|
74
91
|
] extends [
|
75
92
|
{
|
76
|
-
|
93
|
+
[ChannelVariance]: {
|
94
|
+
_OutElem: () => infer OutElem;
|
95
|
+
};
|
77
96
|
}
|
78
97
|
] ? OutElem : never, [
|
79
98
|
X
|
80
99
|
] extends [
|
81
100
|
{
|
82
|
-
|
101
|
+
[ChannelVariance]: {
|
102
|
+
_OutDone: () => infer OutDone;
|
103
|
+
};
|
83
104
|
}
|
84
105
|
] ? OutDone : never>;
|
85
106
|
export declare abstract class Continuation<Env, InErr, InElem, InDone, OutErr, OutErr2, OutElem, OutDone, OutDone2> {
|
@@ -4,6 +4,8 @@ export declare const enum MergeDecisionTag {
|
|
4
4
|
Done = "Done",
|
5
5
|
Await = "Await"
|
6
6
|
}
|
7
|
+
export declare const MergeDecisionVariance: unique symbol;
|
8
|
+
export type MergeDecisionVariance = typeof MergeDecisionVariance;
|
7
9
|
export declare const MergeDecisionTypeId: unique symbol;
|
8
10
|
export type MergeDecisionTypeId = typeof MergeDecisionTypeId;
|
9
11
|
/**
|
@@ -11,12 +13,14 @@ export type MergeDecisionTypeId = typeof MergeDecisionTypeId;
|
|
11
13
|
* @tsplus companion fncts.io.Channel.MergeDecisionOps
|
12
14
|
*/
|
13
15
|
export declare abstract class MergeDecision<R, E0, Z0, E, Z> {
|
14
|
-
readonly
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
readonly [MergeDecisionTypeId]: MergeDecisionTypeId;
|
17
|
+
[MergeDecisionVariance]: {
|
18
|
+
readonly _R: (_: never) => R;
|
19
|
+
readonly _E0: (_: E0) => void;
|
20
|
+
readonly _Z0: (_: Z0) => void;
|
21
|
+
readonly _E: (_: never) => E;
|
22
|
+
readonly _Z: (_: never) => Z;
|
23
|
+
};
|
20
24
|
}
|
21
25
|
/**
|
22
26
|
* @tsplus unify fncts.io.Channel.MergeDecision
|
package/CountdownLatch.d.ts
CHANGED
@@ -10,7 +10,7 @@ export type CountdownLatchTypeId = typeof CountdownLatchTypeId;
|
|
10
10
|
export declare class CountdownLatch {
|
11
11
|
private _count;
|
12
12
|
private _waiters;
|
13
|
-
readonly
|
13
|
+
readonly [CountdownLatchTypeId]: CountdownLatchTypeId;
|
14
14
|
constructor(_count: Ref<number>, _waiters: Future<never, void>);
|
15
15
|
readonly await: UIO<void>;
|
16
16
|
readonly countDown: UIO<void>;
|
package/Differ/definition.d.ts
CHANGED
@@ -4,10 +4,8 @@ export type DifferTypeId = typeof DifferTypeId;
|
|
4
4
|
* @tsplus type fncts.io.Differ
|
5
5
|
* @tsplus companion fncts.io.DifferOps
|
6
6
|
*/
|
7
|
-
export declare abstract class Differ<Value, Patch> {
|
8
|
-
readonly
|
9
|
-
_Value: Value;
|
10
|
-
_Patch: Patch;
|
7
|
+
export declare abstract class Differ<in out Value, in out Patch> {
|
8
|
+
readonly [DifferTypeId]: DifferTypeId;
|
11
9
|
abstract readonly empty: Patch;
|
12
10
|
abstract combine(first: Patch, second: Patch): Patch;
|
13
11
|
abstract diff(oldValue: Value, newValue: Value): Patch;
|
package/Fiber/FiberRuntime.d.ts
CHANGED
@@ -20,22 +20,19 @@ import type { FiberStatus } from "../FiberStatus.js";
|
|
20
20
|
import type { OnFailure, OnSuccess, OnSuccessAndFailure, UIO } from "../IO/definition.js";
|
21
21
|
import type { RuntimeFlags } from "../RuntimeFlags.js";
|
22
22
|
import { Trace } from "@fncts/base/data/Trace";
|
23
|
-
import { FiberTypeId } from "@fncts/io/Fiber/definition";
|
23
|
+
import { FiberTypeId, FiberVariance } from "@fncts/io/Fiber/definition";
|
24
24
|
import { WhileLoop } from "../IO/definition.js";
|
25
|
+
import { IOOpCode } from "../IO/definition.js";
|
25
26
|
import { FiberMessage } from "./FiberMessage.js";
|
26
|
-
declare const enum ContinuationTag {
|
27
|
-
RevertFlags = "RevertFlags",
|
28
|
-
UpdateTrace = "UpdateTrace"
|
29
|
-
}
|
30
27
|
export declare class RevertFlags {
|
31
28
|
readonly patch: RuntimeFlags.Patch;
|
32
29
|
readonly trace?: string | undefined;
|
33
|
-
readonly
|
30
|
+
readonly ioOpCode = IOOpCode.RevertFlags;
|
34
31
|
constructor(patch: RuntimeFlags.Patch, trace?: string | undefined);
|
35
32
|
}
|
36
33
|
export declare class UpdateTrace {
|
37
34
|
readonly trace?: string | undefined;
|
38
|
-
readonly
|
35
|
+
readonly ioOpCode = IOOpCode.UpdateTrace;
|
39
36
|
constructor(trace?: string | undefined);
|
40
37
|
}
|
41
38
|
export type Continuation = OnSuccess<any, any, any, any, any, any> | OnSuccessAndFailure<any, any, any, any, any, any, any, any, any> | OnFailure<any, any, any, any, any, any> | WhileLoop<any, any, any> | UpdateTrace | RevertFlags;
|
@@ -45,9 +42,11 @@ export type Continuation = OnSuccess<any, any, any, any, any, any> | OnSuccessAn
|
|
45
42
|
export declare class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
46
43
|
readonly fiberId: FiberId.Runtime;
|
47
44
|
readonly runtimeFlags0: RuntimeFlags;
|
48
|
-
readonly
|
49
|
-
|
50
|
-
|
45
|
+
readonly [FiberTypeId]: FiberTypeId;
|
46
|
+
[FiberVariance]: {
|
47
|
+
readonly _E: (_: never) => E;
|
48
|
+
readonly _A: (_: never) => A;
|
49
|
+
};
|
51
50
|
readonly _tag = "RuntimeFiber";
|
52
51
|
constructor(fiberId: FiberId.Runtime, fiberRefs0: FiberRefs, runtimeFlags0: RuntimeFlags);
|
53
52
|
private _fiberRefs;
|
@@ -113,4 +112,3 @@ export declare class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
113
112
|
getNextFailCont(): OnSuccessAndFailure<any, any, any, any, any, any, any, any, any> | OnFailure<any, any, any, any, any, any> | RevertFlags | UpdateTrace | undefined;
|
114
113
|
isFatal(t: unknown): boolean;
|
115
114
|
}
|
116
|
-
export {};
|
package/Fiber/definition.d.ts
CHANGED
@@ -7,15 +7,19 @@ import type { FiberRuntime } from "@fncts/io/Fiber/FiberRuntime";
|
|
7
7
|
import type { FiberStatus } from "@fncts/io/FiberStatus";
|
8
8
|
import type { UIO } from "@fncts/io/IO/definition";
|
9
9
|
import { IterableWeakSet } from "@fncts/base/collection/weak/IterableWeakSet";
|
10
|
+
export declare const FiberVariance: unique symbol;
|
11
|
+
export type FiberVariance = typeof FiberVariance;
|
10
12
|
export declare const FiberTypeId: unique symbol;
|
11
13
|
export type FiberTypeId = typeof FiberTypeId;
|
12
14
|
/**
|
13
15
|
* @tsplus type fncts.io.Fiber
|
14
16
|
*/
|
15
17
|
export interface Fiber<E, A> {
|
16
|
-
readonly
|
17
|
-
readonly
|
18
|
-
|
18
|
+
readonly [FiberTypeId]: FiberTypeId;
|
19
|
+
readonly [FiberVariance]: {
|
20
|
+
readonly _E: (_: never) => E;
|
21
|
+
readonly _A: (_: never) => A;
|
22
|
+
};
|
19
23
|
}
|
20
24
|
/**
|
21
25
|
* @tsplus type fncts.io.FiberOps
|
@@ -80,9 +84,11 @@ export declare class SyntheticFiber<E, A> implements FiberCommon<E, A> {
|
|
80
84
|
readonly poll: UIO<Maybe<Exit<E, A>>>;
|
81
85
|
readonly interruptAsFork: (fiberId: FiberId) => UIO<void>;
|
82
86
|
readonly _tag = "SyntheticFiber";
|
83
|
-
readonly
|
84
|
-
|
85
|
-
|
87
|
+
readonly [FiberTypeId]: FiberTypeId;
|
88
|
+
[FiberVariance]: {
|
89
|
+
readonly _E: (_: never) => E;
|
90
|
+
readonly _A: (_: never) => A;
|
91
|
+
};
|
86
92
|
readonly await: UIO<import("@fncts/base/data/Exit").Exit<E, A>>;
|
87
93
|
constructor(id: FiberId, wait: UIO<Exit<E, A>>, children: UIO<Conc<Fiber.Runtime<any, any>>>, inheritAll: UIO<void>, poll: UIO<Maybe<Exit<E, A>>>, interruptAsFork: (fiberId: FiberId) => UIO<void>);
|
88
94
|
}
|
package/FiberRef/definition.d.ts
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
import { Hashable } from "@fncts/base/data/Hashable";
|
2
2
|
import { Equatable } from "@fncts/base/data/Equatable";
|
3
|
+
export declare const FiberRefVariance: unique symbol;
|
4
|
+
export type FiberRefVariance = typeof FiberRefVariance;
|
3
5
|
export declare const FiberRefTypeId: unique symbol;
|
4
6
|
export type FiberRefTypeId = typeof FiberRefTypeId;
|
5
7
|
/**
|
@@ -7,8 +9,10 @@ export type FiberRefTypeId = typeof FiberRefTypeId;
|
|
7
9
|
* @tsplus companion fncts.io.FiberRefOps
|
8
10
|
*/
|
9
11
|
export declare abstract class FiberRef<Value> {
|
10
|
-
readonly
|
11
|
-
|
12
|
+
readonly [FiberRefTypeId]: FiberRefTypeId;
|
13
|
+
[FiberRefVariance]: {
|
14
|
+
readonly _Value: (_: Value) => Value;
|
15
|
+
};
|
12
16
|
readonly _Patch: unknown;
|
13
17
|
}
|
14
18
|
export declare namespace FiberRef {
|
package/FiberRefs/api.d.ts
CHANGED
@@ -46,4 +46,4 @@ export declare function remove(self: FiberRefs, fiberRef: FiberRef<any>): FiberR
|
|
46
46
|
* @tsplus macro identity
|
47
47
|
* @tsplus location "@fncts/io/FiberRefs/api"
|
48
48
|
*/
|
49
|
-
export declare function unFiberRefs(self: FiberRefs): HashMap<FiberRef<
|
49
|
+
export declare function unFiberRefs(self: FiberRefs): HashMap<FiberRef<any>, Cons<readonly [FiberId.Runtime, unknown]>>;
|
@@ -12,7 +12,7 @@ export interface FiberRefsN extends HKT {
|
|
12
12
|
*/
|
13
13
|
export interface FiberRefs extends Newtype<{
|
14
14
|
readonly FiberRefs: unique symbol;
|
15
|
-
}, HashMap<FiberRef<
|
15
|
+
}, HashMap<FiberRef<any>, Cons<readonly [FiberId.Runtime, unknown]>>> {
|
16
16
|
}
|
17
17
|
/**
|
18
18
|
* @tsplus type fncts.io.FiberRefsOps
|
package/Hub/definition.d.ts
CHANGED
@@ -2,7 +2,9 @@ import { UIO } from "@fncts/io/IO/definition";
|
|
2
2
|
import { Scope } from "@fncts/io/Scope/definition";
|
3
3
|
import type { IO } from "@fncts/io/IO";
|
4
4
|
import type { PDequeue, PEnqueue, PEnqueueInternal } from "@fncts/io/Queue";
|
5
|
-
import { EnqueueTypeId, QueueTypeId } from "@fncts/io/Queue";
|
5
|
+
import { EnqueueTypeId, QueueTypeId, QueueVariance } from "@fncts/io/Queue/definition";
|
6
|
+
export declare const HubVariance: unique symbol;
|
7
|
+
export type HubVariance = typeof HubVariance;
|
6
8
|
export declare const HubTypeId: unique symbol;
|
7
9
|
export type HubTypeId = typeof HubTypeId;
|
8
10
|
/**
|
@@ -16,13 +18,15 @@ export type HubTypeId = typeof HubTypeId;
|
|
16
18
|
* @tsplus type fncts.io.Hub
|
17
19
|
*/
|
18
20
|
export interface PHub<RA, RB, EA, EB, A, B> extends PEnqueue<RA, RB, EA, EB, A, B> {
|
19
|
-
readonly
|
20
|
-
readonly
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
21
|
+
readonly [HubTypeId]: HubTypeId;
|
22
|
+
readonly [HubVariance]: {
|
23
|
+
readonly _RA: (_: never) => RA;
|
24
|
+
readonly _RB: (_: never) => RB;
|
25
|
+
readonly _EA: (_: never) => EA;
|
26
|
+
readonly _EB: (_: never) => EB;
|
27
|
+
readonly _A: (_: A) => void;
|
28
|
+
readonly _B: (_: never) => B;
|
29
|
+
};
|
26
30
|
}
|
27
31
|
/**
|
28
32
|
* @tsplus type fncts.io.Hub
|
@@ -40,13 +44,23 @@ export declare namespace Hub { }
|
|
40
44
|
export declare abstract class PHubInternal<RA, RB, EA, EB, A, B> implements PHub<RA, RB, EA, EB, A, B>, PEnqueueInternal<RA, RB, EA, EB, A, B> {
|
41
45
|
readonly [QueueTypeId]: QueueTypeId;
|
42
46
|
readonly [EnqueueTypeId]: EnqueueTypeId;
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
47
|
+
readonly [HubTypeId]: HubTypeId;
|
48
|
+
[HubVariance]: {
|
49
|
+
readonly _RA: (_: never) => RA;
|
50
|
+
readonly _RB: (_: never) => RB;
|
51
|
+
readonly _EA: (_: never) => EA;
|
52
|
+
readonly _EB: (_: never) => EB;
|
53
|
+
readonly _A: (_: A) => void;
|
54
|
+
readonly _B: (_: never) => B;
|
55
|
+
};
|
56
|
+
[QueueVariance]: {
|
57
|
+
readonly _RA: (_: never) => RA;
|
58
|
+
readonly _RB: (_: never) => RB;
|
59
|
+
readonly _EA: (_: never) => EA;
|
60
|
+
readonly _EB: (_: never) => EB;
|
61
|
+
readonly _A: (_: A) => void;
|
62
|
+
readonly _B: (_: never) => B;
|
63
|
+
};
|
50
64
|
/**
|
51
65
|
* Waits for the hub to be shut down.
|
52
66
|
*/
|
package/IO/api/interrupt.d.ts
CHANGED
@@ -1,8 +1,12 @@
|
|
1
|
+
import { IO, FIO } from "@fncts/io/IO/definition";
|
1
2
|
import { FiberId } from "@fncts/base/data/FiberId/definition";
|
2
|
-
import { FIO, IO } from "@fncts/io/IO/definition";
|
3
|
-
import { HashSet } from "@fncts/base/collection/immutable/HashSet/definition";
|
4
3
|
import { Lazy } from "@fncts/base/data/function/definition";
|
5
|
-
import {
|
4
|
+
import { HashSet } from "@fncts/base/collection/immutable/HashSet/definition";
|
5
|
+
import { Exit } from "@fncts/base/data/Exit/definition";
|
6
|
+
export interface InterruptibilityRestorer {
|
7
|
+
readonly restore: <R, E, A>(io: IO<R, E, A>, __tsplusTrace?: string) => IO<R, E, A>;
|
8
|
+
readonly force: <R, E, A>(io: IO<R, E, A>, __tsplusTrace?: string) => IO<R, E, A>;
|
9
|
+
}
|
6
10
|
/**
|
7
11
|
* Returns an effect that is interrupted as if by the specified fiber.
|
8
12
|
* @tsplus static fncts.io.IOOps interruptAs
|
@@ -50,7 +54,7 @@ export declare function uninterruptible<R, E, A>(self: IO<R, E, A>, __tsplusTrac
|
|
50
54
|
* @tsplus static fncts.io.IOOps uninterruptibleMask
|
51
55
|
* @tsplus location "@fncts/io/IO/api/interrupt"
|
52
56
|
*/
|
53
|
-
export declare function uninterruptibleMask<R, E, A>(f: (restore:
|
57
|
+
export declare function uninterruptibleMask<R, E, A>(f: (restore: InterruptibilityRestorer) => IO<R, E, A>): IO<R, E, A>;
|
54
58
|
/**
|
55
59
|
* @tsplus pipeable fncts.io.IO ensuring
|
56
60
|
* @tsplus location "@fncts/io/IO/api/interrupt"
|
@@ -63,21 +67,26 @@ export declare function ensuring<R1>(finalizer: IO<R1, never, any>, __tsplusTrac
|
|
63
67
|
* @tsplus static fncts.io.IOOps interruptibleMask
|
64
68
|
* @tsplus location "@fncts/io/IO/api/interrupt"
|
65
69
|
*/
|
66
|
-
export declare function interruptibleMask<R, E, A>(k: (restore:
|
70
|
+
export declare function interruptibleMask<R, E, A>(k: (restore: InterruptibilityRestorer) => IO<R, E, A>, __tsplusTrace?: string): IO<R, E, A>;
|
67
71
|
/**
|
68
72
|
* Calls the specified function, and runs the effect it returns, if this
|
69
73
|
* effect is interrupted.
|
70
|
-
* @tsplus
|
74
|
+
* @tsplus pipeable fncts.io.IO onInterrupt
|
71
75
|
* @tsplus location "@fncts/io/IO/api/interrupt"
|
72
76
|
*/
|
73
|
-
export declare function
|
77
|
+
export declare function onInterrupt<R1, E1>(cleanup: Lazy<IO<R1, E1, any>>, __tsplusTrace?: string): <R, E, A>(ma: import("@fncts/io/IO/definition").IO<R, E, A>) => import("@fncts/io/IO/definition").IO<R1 | R, E1 | E, A>;
|
74
78
|
/**
|
75
79
|
* Calls the specified function, and runs the effect it returns, if this
|
76
|
-
* effect is interrupted
|
77
|
-
* @tsplus
|
80
|
+
* effect is interrupted.
|
81
|
+
* @tsplus pipeable fncts.io.IO onInterrupt
|
82
|
+
* @tsplus location "@fncts/io/IO/api/interrupt"
|
83
|
+
*/
|
84
|
+
export declare function onInterruptWith<R1, E1>(cleanup: (interruptors: HashSet<FiberId>) => IO<R1, E1, any>, __tsplusTrace?: string): <R, E, A>(ma: import("@fncts/io/IO/definition").IO<R, E, A>) => import("@fncts/io/IO/definition").IO<R1 | R, E1 | E, A>;
|
85
|
+
/**
|
86
|
+
* @tsplus pipeable fncts.io.IO onExit
|
78
87
|
* @tsplus location "@fncts/io/IO/api/interrupt"
|
79
88
|
*/
|
80
|
-
export declare function
|
89
|
+
export declare function onExit<E, A, R1, E1>(cleanup: (exit: Exit<E, A>) => IO<R1, E1, any>, __tsplusTrace?: string): <R>(self: import("@fncts/io/IO/definition").IO<R, E, A>) => import("@fncts/io/IO/definition").IO<R1 | R, E | E1, A>;
|
81
90
|
/**
|
82
91
|
* Returns an IO whose interruption will be disconnected from the
|
83
92
|
* fiber's own interruption, being performed in the background without
|
@@ -94,12 +103,3 @@ export declare function onInterruptExtended_<R, E, A, R2, E2>(self: IO<R, E, A>,
|
|
94
103
|
* @tsplus location "@fncts/io/IO/api/interrupt"
|
95
104
|
*/
|
96
105
|
export declare function disconnect<R, E, A>(self: IO<R, E, A>, __tsplusTrace?: string): IO<R, E, A>;
|
97
|
-
/**
|
98
|
-
* Used to restore the inherited interruptibility
|
99
|
-
*/
|
100
|
-
export declare class InterruptStatusRestore {
|
101
|
-
readonly flag: InterruptStatus;
|
102
|
-
constructor(flag: InterruptStatus);
|
103
|
-
restore: <R, E, A>(io: import("@fncts/io/IO/definition").IO<R, E, A>) => import("@fncts/io/IO/definition").IO<R, E, A>;
|
104
|
-
force: <R, E, A>(io: import("@fncts/io/IO/definition").IO<R, E, A>) => import("@fncts/io/IO/definition").IO<R, E, A>;
|
105
|
-
}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import { Cause } from "@fncts/base/data/Cause/definition";
|
2
2
|
import { URIO, IO } from "@fncts/io/IO/definition";
|
3
3
|
import { Lazy } from "@fncts/base/data/function/definition";
|
4
|
-
import { Exit } from "@fncts/base/data/Exit/definition";
|
5
4
|
/**
|
6
5
|
* @tsplus pipeable fncts.io.IO onTermination
|
7
6
|
* @tsplus location "@fncts/io/IO/api/onTermination"
|
package/IO/api/sequenceT.d.ts
CHANGED
@@ -1,10 +1,26 @@
|
|
1
1
|
import { ReadonlyNonEmptyArray } from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/definition";
|
2
2
|
import { IO } from "@fncts/io/IO/definition";
|
3
|
-
import type {
|
3
|
+
import type { IOVariance } from "@fncts/io/IO/definition";
|
4
4
|
/**
|
5
5
|
* @tsplus static fncts.io.IOOps sequenceT
|
6
6
|
* @tsplus location "@fncts/io/IO/api/sequenceT"
|
7
7
|
*/
|
8
|
-
export declare function sequenceT<T extends ReadonlyNonEmptyArray<IO<any, any, any>>>(...ios: T): IO<
|
9
|
-
|
8
|
+
export declare function sequenceT<T extends ReadonlyNonEmptyArray<IO<any, any, any>>>(...ios: T): IO<[
|
9
|
+
T[number]
|
10
|
+
] extends [{
|
11
|
+
[IOVariance]: {
|
12
|
+
_R: () => infer R;
|
13
|
+
};
|
14
|
+
}] ? R : never, [
|
15
|
+
T[number]
|
16
|
+
] extends [{
|
17
|
+
[IOVariance]: {
|
18
|
+
_E: () => infer E;
|
19
|
+
};
|
20
|
+
}] ? E : never, {
|
21
|
+
[K in keyof T]: T[K] extends {
|
22
|
+
[IOVariance]: {
|
23
|
+
_A: () => infer A;
|
24
|
+
};
|
25
|
+
} ? A : never;
|
10
26
|
}>;
|
package/IO/api.d.ts
CHANGED
@@ -3,7 +3,8 @@ import { Lazy } from "@fncts/base/data/function/definition";
|
|
3
3
|
import { Maybe } from "@fncts/base/data/Maybe/definition";
|
4
4
|
import { Cause } from "@fncts/base/data/Cause/definition";
|
5
5
|
import { InterruptStatus } from "@fncts/io/InterruptStatus";
|
6
|
-
import { URIO,
|
6
|
+
import { URIO, UIO, FIO } from "@fncts/io/IO/definition";
|
7
|
+
import { FiberDescriptor } from "@fncts/io/FiberDescriptor";
|
7
8
|
import { Either } from "@fncts/base/data/Either/definition";
|
8
9
|
import { Conc, ConcBuilder } from "@fncts/base/collection/immutable/Conc";
|
9
10
|
import { Refinement } from "@fncts/base/data/Refinement/definition";
|
@@ -210,6 +211,16 @@ export declare function deferTry<R, E, A>(io: () => IO<R, E, A>, __tsplusTrace?:
|
|
210
211
|
* @tsplus location "@fncts/io/IO/api"
|
211
212
|
*/
|
212
213
|
export declare function deferTryCatch<R, E, A, E1>(io: () => IO<R, E, A>, onThrow: (error: unknown) => E1, __tsplusTrace?: string): IO<R, E | E1, A>;
|
214
|
+
/**
|
215
|
+
* @tsplus static fncts.io.IOOps descriptorWith
|
216
|
+
* @tsplus location "@fncts/io/IO/api"
|
217
|
+
*/
|
218
|
+
export declare function descriptorWith<R, E, A>(f: (descriptor: FiberDescriptor) => IO<R, E, A>): IO<R, E, A>;
|
219
|
+
/**
|
220
|
+
* @tsplus static fncts.io.IOOps descriptor
|
221
|
+
* @tsplus location "@fncts/io/IO/api"
|
222
|
+
*/
|
223
|
+
export declare const descriptor: UIO<FiberDescriptor>;
|
213
224
|
/**
|
214
225
|
* Folds an `IO` that may fail with `E` or succeed with `A` into one that never fails but succeeds with `Either<E, A>`
|
215
226
|
* @tsplus getter fncts.io.IO either
|
@@ -264,6 +275,11 @@ export declare function failCause<E = never, A = never>(cause: Lazy<Cause<E>>, _
|
|
264
275
|
* @tsplus location "@fncts/io/IO/api"
|
265
276
|
*/
|
266
277
|
export declare const fiberId: IO<never, never, FiberId>;
|
278
|
+
/**
|
279
|
+
* @tsplus static fncts.io.IOOps fiberIdWith
|
280
|
+
* @tsplus location "@fncts/io/IO/api"
|
281
|
+
*/
|
282
|
+
export declare function fiberIdWith<R, E, A>(f: (id: FiberId.Runtime) => IO<R, E, A>): IO<R, E, A>;
|
267
283
|
/**
|
268
284
|
* Filters the collection using the specified effectual predicate.
|
269
285
|
* @tsplus static fncts.io.IOOps filter
|