@fncts/io 0.0.33 → 0.0.35
Sign up to get free protection for your applications and to get access to all the features.
- package/Fiber/FiberRuntime.d.ts +7 -7
- package/IO/api/all.d.ts +41 -0
- package/IO/api/concurrency.d.ts +11 -0
- package/IO/api/interrupt.d.ts +1 -1
- package/IO/api/raceWith.d.ts +2 -1
- package/IO/api.d.ts +9 -4
- package/IO/definition.d.ts +103 -127
- package/IO/runtime.d.ts +5 -0
- package/IO.d.ts +1 -0
- package/Push/api.d.ts +25 -4
- package/Push/definition.d.ts +17 -0
- package/STM/definition.d.ts +2 -2
- package/Schedule/api.d.ts +1 -1
- package/Sink/api.d.ts +19 -19
- package/_cjs/Cached/api.cjs.map +1 -1
- package/_cjs/Cached/definition.cjs.map +1 -1
- package/_cjs/Cached/internal.cjs.map +1 -1
- package/_cjs/Cached.cjs.map +1 -1
- package/_cjs/CancellerState.cjs.map +1 -1
- package/_cjs/Channel/ChildExecutorDecision/api.cjs.map +1 -1
- package/_cjs/Channel/ChildExecutorDecision/definition.cjs.map +1 -1
- package/_cjs/Channel/ChildExecutorDecision.cjs.map +1 -1
- package/_cjs/Channel/UpstreamPullRequest/api.cjs.map +1 -1
- package/_cjs/Channel/UpstreamPullRequest/definition.cjs.map +1 -1
- package/_cjs/Channel/UpstreamPullRequest.cjs.map +1 -1
- package/_cjs/Channel/UpstreamPullStrategy/definition.cjs.map +1 -1
- package/_cjs/Channel/UpstreamPullStrategy.cjs.map +1 -1
- package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAll.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeMap.cjs.map +1 -1
- package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
- package/_cjs/Channel/api/run.cjs.map +1 -1
- package/_cjs/Channel/api/runCollect.cjs.map +1 -1
- package/_cjs/Channel/api/runDrain.cjs.map +1 -1
- package/_cjs/Channel/api/runScoped.cjs +1 -1
- package/_cjs/Channel/api/runScoped.cjs.map +1 -1
- package/_cjs/Channel/api/toPull.cjs.map +1 -1
- package/_cjs/Channel/api/zipConcurrent.cjs.map +1 -1
- package/_cjs/Channel/api.cjs +2 -2
- 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/AsyncInputConsumer.cjs.map +1 -1
- package/_cjs/Channel/internal/AsyncInputProducer.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
- package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
- package/_cjs/Channel/internal/MergeState.cjs.map +1 -1
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
- package/_cjs/Channel.cjs.map +1 -1
- package/_cjs/Clock/api.cjs.map +1 -1
- package/_cjs/Clock/definition.cjs.map +1 -1
- package/_cjs/Clock/live.cjs.map +1 -1
- package/_cjs/Clock.cjs.map +1 -1
- package/_cjs/Console/api.cjs.map +1 -1
- package/_cjs/Console/definition.cjs.map +1 -1
- package/_cjs/Console/live.cjs.map +1 -1
- package/_cjs/Console.cjs.map +1 -1
- package/_cjs/CountdownLatch.cjs.map +1 -1
- package/_cjs/Differ/api.cjs.map +1 -1
- package/_cjs/Differ/definition.cjs.map +1 -1
- package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
- package/_cjs/Fiber/FiberRuntime.cjs +111 -99
- package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
- package/_cjs/Fiber/api/await.cjs.map +1 -1
- package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
- package/_cjs/Fiber/api/children.cjs.map +1 -1
- package/_cjs/Fiber/api/collectAll.cjs +1 -1
- package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
- package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
- package/_cjs/Fiber/api/id.cjs.map +1 -1
- package/_cjs/Fiber/api/inheritRefs.cjs.map +1 -1
- package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
- package/_cjs/Fiber/api/join.cjs.map +1 -1
- package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
- package/_cjs/Fiber/api/location.cjs.map +1 -1
- package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
- package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
- package/_cjs/Fiber/api/poll.cjs.map +1 -1
- package/_cjs/Fiber/api/zipWith.cjs +1 -1
- package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
- package/_cjs/Fiber/constructors.cjs.map +1 -1
- package/_cjs/Fiber/definition.cjs.map +1 -1
- package/_cjs/Fiber.cjs.map +1 -1
- package/_cjs/FiberDescriptor.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
- package/_cjs/FiberRef/api.cjs.map +1 -1
- package/_cjs/FiberRef/constructors.cjs.map +1 -1
- package/_cjs/FiberRef/definition.cjs.map +1 -1
- package/_cjs/FiberRef/operations.cjs.map +1 -1
- package/_cjs/FiberRef/unsafe.cjs.map +1 -1
- package/_cjs/FiberRef.cjs.map +1 -1
- package/_cjs/FiberRefs/api.cjs.map +1 -1
- package/_cjs/FiberRefs/definition.cjs.map +1 -1
- package/_cjs/FiberRefs.cjs.map +1 -1
- package/_cjs/FiberScope/constructors.cjs.map +1 -1
- package/_cjs/FiberScope/definition.cjs.map +1 -1
- package/_cjs/FiberScope.cjs.map +1 -1
- package/_cjs/FiberStatus/constructors.cjs.map +1 -1
- package/_cjs/FiberStatus/definition.cjs.map +1 -1
- package/_cjs/FiberStatus.cjs.map +1 -1
- package/_cjs/Future/api.cjs +1 -1
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/Future/constructors.cjs.map +1 -1
- package/_cjs/Future/definition.cjs.map +1 -1
- package/_cjs/Future.cjs.map +1 -1
- package/_cjs/Hub/api.cjs.map +1 -1
- package/_cjs/Hub/definition.cjs.map +1 -1
- package/_cjs/Hub/internal.cjs.map +1 -1
- package/_cjs/Hub.cjs.map +1 -1
- package/_cjs/IO/api/acquireRelease.cjs.map +1 -1
- package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
- package/_cjs/IO/api/acquireReleaseInterruptible.cjs.map +1 -1
- package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
- package/_cjs/IO/api/addFinalizer.cjs.map +1 -1
- package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
- package/_cjs/IO/api/all.cjs +33 -0
- package/_cjs/IO/api/all.cjs.map +1 -0
- package/_cjs/IO/api/asyncIO.cjs +1 -1
- package/_cjs/IO/api/asyncIO.cjs.map +1 -1
- package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
- package/_cjs/IO/api/blocking.cjs.map +1 -1
- package/_cjs/IO/api/bracket.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/clockWith.cjs.map +1 -1
- package/_cjs/IO/api/concurrency.cjs +25 -4
- package/_cjs/IO/api/concurrency.cjs.map +1 -1
- package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
- package/_cjs/IO/api/consoleWith.cjs.map +1 -1
- package/_cjs/IO/api/daemonChildren.cjs.map +1 -1
- package/_cjs/IO/api/delay.cjs.map +1 -1
- package/_cjs/IO/api/descriptor.cjs.map +1 -1
- package/_cjs/IO/api/disconnect.cjs +1 -1
- package/_cjs/IO/api/disconnect.cjs.map +1 -1
- package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
- package/_cjs/IO/api/environment.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/foreachExec.cjs +1 -1
- package/_cjs/IO/api/foreachExec.cjs.map +1 -1
- package/_cjs/IO/api/fork.cjs.map +1 -1
- package/_cjs/IO/api/forkAll.cjs.map +1 -1
- package/_cjs/IO/api/forkDaemon.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 +19 -7
- package/_cjs/IO/api/interrupt.cjs.map +1 -1
- package/_cjs/IO/api/memoize.cjs.map +1 -1
- package/_cjs/IO/api/onTermination.cjs.map +1 -1
- package/_cjs/IO/api/once.cjs.map +1 -1
- package/_cjs/IO/api/provideLayer.cjs.map +1 -1
- package/_cjs/IO/api/provideScope.cjs.map +1 -1
- package/_cjs/IO/api/provideSomeLayer.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/raceFirst.cjs.map +1 -1
- package/_cjs/IO/api/raceWith.cjs +4 -4
- package/_cjs/IO/api/raceWith.cjs.map +1 -1
- package/_cjs/IO/api/randomWith.cjs.map +1 -1
- package/_cjs/IO/api/repeat.cjs.map +1 -1
- package/_cjs/IO/api/retry.cjs.map +1 -1
- package/_cjs/IO/api/schedule.cjs.map +1 -1
- package/_cjs/IO/api/scope.cjs.map +1 -1
- package/_cjs/IO/api/scopeWith.cjs.map +1 -1
- package/_cjs/IO/api/scoped.cjs.map +1 -1
- package/_cjs/IO/api/sequenceT.cjs.map +1 -1
- package/_cjs/IO/api/sleep.cjs.map +1 -1
- package/_cjs/IO/api/stateful.cjs.map +1 -1
- package/_cjs/IO/api/supervised.cjs.map +1 -1
- package/_cjs/IO/api/timeout.cjs +8 -5
- package/_cjs/IO/api/timeout.cjs.map +1 -1
- package/_cjs/IO/api/transplant.cjs.map +1 -1
- package/_cjs/IO/api/whenFiberRef.cjs.map +1 -1
- package/_cjs/IO/api/whenRef.cjs.map +1 -1
- package/_cjs/IO/api/withChildren.cjs.map +1 -1
- package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
- package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
- package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
- package/_cjs/IO/api/zipConcurrent.cjs +2 -2
- package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
- package/_cjs/IO/api.cjs +79 -21
- package/_cjs/IO/api.cjs.map +1 -1
- package/_cjs/IO/definition.cjs +14 -191
- package/_cjs/IO/definition.cjs.map +1 -1
- package/_cjs/IO/runtime.cjs +23 -17
- package/_cjs/IO/runtime.cjs.map +1 -1
- package/_cjs/IO.cjs +11 -0
- package/_cjs/IO.cjs.map +1 -1
- package/_cjs/IOEnv/definition.cjs.map +1 -1
- package/_cjs/IOEnv/live.cjs.map +1 -1
- package/_cjs/IOEnv/services.cjs.map +1 -1
- package/_cjs/IOEnv.cjs.map +1 -1
- package/_cjs/InterruptStatus/constructors.cjs.map +1 -1
- package/_cjs/InterruptStatus/definition.cjs.map +1 -1
- package/_cjs/InterruptStatus.cjs.map +1 -1
- package/_cjs/Layer/MemoMap.cjs +1 -1
- package/_cjs/Layer/MemoMap.cjs.map +1 -1
- package/_cjs/Layer/api.cjs.map +1 -1
- package/_cjs/Layer/definition.cjs.map +1 -1
- package/_cjs/Layer.cjs.map +1 -1
- package/_cjs/LogLevel.cjs.map +1 -1
- package/_cjs/LogSpan.cjs.map +1 -1
- package/_cjs/Logger/api.cjs.map +1 -1
- package/_cjs/Logger/constructors.cjs.map +1 -1
- package/_cjs/Logger/definition.cjs.map +1 -1
- package/_cjs/Logger.cjs.map +1 -1
- package/_cjs/MVar/api.cjs.map +1 -1
- package/_cjs/MVar/definition.cjs.map +1 -1
- package/_cjs/MVar.cjs.map +1 -1
- package/_cjs/Push/api.cjs +149 -110
- package/_cjs/Push/api.cjs.map +1 -1
- package/_cjs/Push/definition.cjs.map +1 -1
- package/_cjs/Push/internal.cjs.map +1 -1
- package/_cjs/Push.cjs.map +1 -1
- package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
- package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
- package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
- package/_cjs/Queue/api/operations.cjs.map +1 -1
- package/_cjs/Queue/api/poll.cjs.map +1 -1
- package/_cjs/Queue/api/takeBetween.cjs.map +1 -1
- package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
- package/_cjs/Queue/api.cjs.map +1 -1
- package/_cjs/Queue/constructors.cjs.map +1 -1
- package/_cjs/Queue/definition.cjs.map +1 -1
- package/_cjs/Queue/internal.cjs.map +1 -1
- package/_cjs/Queue/strategy.cjs.map +1 -1
- package/_cjs/Queue.cjs.map +1 -1
- package/_cjs/Random/api.cjs.map +1 -1
- package/_cjs/Random/definition.cjs.map +1 -1
- package/_cjs/Random/live.cjs.map +1 -1
- package/_cjs/Random.cjs.map +1 -1
- package/_cjs/Ref/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/api.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
- package/_cjs/Ref/Synchronized.cjs.map +1 -1
- package/_cjs/Ref/api/collect.cjs.map +1 -1
- package/_cjs/Ref/api/dimap.cjs.map +1 -1
- package/_cjs/Ref/api/filter.cjs.map +1 -1
- package/_cjs/Ref/api/get.cjs.map +1 -1
- package/_cjs/Ref/api/match.cjs.map +1 -1
- package/_cjs/Ref/api/matchAll.cjs.map +1 -1
- package/_cjs/Ref/api/modify.cjs.map +1 -1
- package/_cjs/Ref/api/set.cjs.map +1 -1
- package/_cjs/Ref/api.cjs +3 -0
- package/_cjs/Ref/api.cjs.map +1 -1
- package/_cjs/Ref/constructors.cjs.map +1 -1
- package/_cjs/Ref/definition.cjs.map +1 -1
- package/_cjs/Ref.cjs.map +1 -1
- package/_cjs/RefSubject/Atomic.cjs.map +1 -1
- package/_cjs/RefSubject/Synchronized/api.cjs.map +1 -1
- package/_cjs/RefSubject/Synchronized/definition.cjs.map +1 -1
- package/_cjs/RefSubject/api.cjs.map +1 -1
- package/_cjs/RefSubject/definition.cjs.map +1 -1
- package/_cjs/RefSubject.cjs.map +1 -1
- package/_cjs/Reloadable/api.cjs.map +1 -1
- package/_cjs/Reloadable/constructors.cjs.map +1 -1
- package/_cjs/Reloadable/definition.cjs.map +1 -1
- package/_cjs/Reloadable.cjs.map +1 -1
- package/_cjs/RuntimeFlag.cjs.map +1 -1
- package/_cjs/RuntimeFlags/Patch.cjs.map +1 -1
- package/_cjs/RuntimeFlags/RuntimeFlags.cjs.map +1 -1
- package/_cjs/RuntimeFlags.cjs.map +1 -1
- package/_cjs/STM/api/atomically.cjs +1 -1
- package/_cjs/STM/api/atomically.cjs.map +1 -1
- package/_cjs/STM/api/core-api.cjs.map +1 -1
- package/_cjs/STM/api/core-constructors.cjs.map +1 -1
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/STM/definition.cjs +1 -1
- package/_cjs/STM/definition.cjs.map +1 -1
- package/_cjs/STM/driver.cjs.map +1 -1
- package/_cjs/STM/internal/CommitState.cjs.map +1 -1
- package/_cjs/STM/internal/Entry.cjs.map +1 -1
- package/_cjs/STM/internal/Journal.cjs.map +1 -1
- package/_cjs/STM/internal/TryCommit.cjs.map +1 -1
- package/_cjs/STM/internal/Versioned.cjs.map +1 -1
- package/_cjs/STM.cjs.map +1 -1
- package/_cjs/Schedule/Decision.cjs.map +1 -1
- package/_cjs/Schedule/Driver.cjs.map +1 -1
- package/_cjs/Schedule/api/driver.cjs.map +1 -1
- package/_cjs/Schedule/api.cjs +1 -1
- package/_cjs/Schedule/api.cjs.map +1 -1
- package/_cjs/Schedule/definition.cjs.map +1 -1
- package/_cjs/Schedule.cjs.map +1 -1
- package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
- package/_cjs/Scope/Finalizer.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap.cjs.map +1 -1
- package/_cjs/Scope/api.cjs.map +1 -1
- package/_cjs/Scope/definition.cjs.map +1 -1
- package/_cjs/Scope.cjs.map +1 -1
- package/_cjs/ScopedRef/api.cjs +2 -2
- package/_cjs/ScopedRef/api.cjs.map +1 -1
- package/_cjs/ScopedRef/definition.cjs.map +1 -1
- package/_cjs/ScopedRef.cjs.map +1 -1
- package/_cjs/Semaphore.cjs +1 -1
- package/_cjs/Semaphore.cjs.map +1 -1
- package/_cjs/Sink/api.cjs.map +1 -1
- package/_cjs/Sink/definition.cjs.map +1 -1
- package/_cjs/Sink.cjs.map +1 -1
- package/_cjs/State/api.cjs.map +1 -1
- package/_cjs/State/definition.cjs.map +1 -1
- package/_cjs/State/internal.cjs.map +1 -1
- package/_cjs/State.cjs.map +1 -1
- package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
- package/_cjs/Stream/api/zipWith.cjs.map +1 -1
- package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
- package/_cjs/Stream/api.cjs.map +1 -1
- package/_cjs/Stream/definition.cjs.map +1 -1
- package/_cjs/Stream/internal/DebounceState.cjs.map +1 -1
- package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
- package/_cjs/Stream/internal/Pull.cjs.map +1 -1
- package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
- package/_cjs/Stream/internal/Take.cjs.map +1 -1
- package/_cjs/Stream/internal/util.cjs.map +1 -1
- package/_cjs/Stream.cjs.map +1 -1
- package/_cjs/Subject/Atomic.cjs.map +1 -1
- package/_cjs/Subject/api.cjs.map +1 -1
- package/_cjs/Subject/definition.cjs.map +1 -1
- package/_cjs/Subject.cjs.map +1 -1
- package/_cjs/SubscriptionRef.cjs.map +1 -1
- package/_cjs/Supervisor/api.cjs.map +1 -1
- package/_cjs/Supervisor/constructors.cjs.map +1 -1
- package/_cjs/Supervisor/definition.cjs.map +1 -1
- package/_cjs/Supervisor.cjs.map +1 -1
- package/_cjs/SupervisorPatch.cjs.map +1 -1
- package/_cjs/TExit/constructors.cjs.map +1 -1
- package/_cjs/TExit/definition.cjs.map +1 -1
- package/_cjs/TExit.cjs.map +1 -1
- package/_cjs/TFuture/api.cjs.map +1 -1
- package/_cjs/TFuture/constructors.cjs.map +1 -1
- package/_cjs/TFuture/definition.cjs.map +1 -1
- package/_cjs/TFuture.cjs.map +1 -1
- package/_cjs/TReentrantLock/api.cjs +2 -2
- package/_cjs/TReentrantLock/api.cjs.map +1 -1
- package/_cjs/TReentrantLock/definition.cjs.map +1 -1
- package/_cjs/TReentrantLock.cjs.map +1 -1
- package/_cjs/TRef/api.cjs.map +1 -1
- package/_cjs/TRef/constructors.cjs.map +1 -1
- package/_cjs/TRef/definition.cjs.map +1 -1
- package/_cjs/TRef.cjs.map +1 -1
- package/_cjs/TSemaphore/api.cjs +1 -1
- package/_cjs/TSemaphore/api.cjs.map +1 -1
- package/_cjs/TSemaphore/constructors.cjs.map +1 -1
- package/_cjs/TSemaphore/definition.cjs.map +1 -1
- package/_cjs/TSemaphore.cjs.map +1 -1
- package/_cjs/TxnId.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +12 -17
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +12 -17
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/filterIO.cjs +2 -12
- package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/mapIO.cjs +3 -9
- package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +11 -27
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc.cjs.map +1 -1
- package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
- package/_cjs/global.cjs.map +1 -1
- package/_cjs/index.cjs.map +1 -1
- package/_cjs/internal/BackgroundScheduler.cjs.map +1 -1
- package/_cjs/internal/HashedPair.cjs.map +1 -1
- package/_cjs/internal/Hub.cjs.map +1 -1
- package/_cjs/internal/IsFatal.cjs.map +1 -1
- package/_cjs/internal/MutableQueue.cjs.map +1 -1
- package/_cjs/internal/Scheduler.cjs.map +1 -1
- package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
- package/_mjs/Cached/api.mjs.map +1 -1
- package/_mjs/Cached/definition.mjs.map +1 -1
- package/_mjs/Cached/internal.mjs.map +1 -1
- package/_mjs/Cached.mjs.map +1 -1
- package/_mjs/CancellerState.mjs.map +1 -1
- package/_mjs/Channel/ChildExecutorDecision/api.mjs.map +1 -1
- package/_mjs/Channel/ChildExecutorDecision/definition.mjs.map +1 -1
- package/_mjs/Channel/ChildExecutorDecision.mjs.map +1 -1
- package/_mjs/Channel/UpstreamPullRequest/api.mjs.map +1 -1
- package/_mjs/Channel/UpstreamPullRequest/definition.mjs.map +1 -1
- package/_mjs/Channel/UpstreamPullRequest.mjs.map +1 -1
- package/_mjs/Channel/UpstreamPullStrategy/definition.mjs.map +1 -1
- package/_mjs/Channel/UpstreamPullStrategy.mjs.map +1 -1
- package/_mjs/Channel/api/interruptWhen.mjs.map +1 -1
- package/_mjs/Channel/api/mapOutConcurrentIO.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAll.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllUnboundedWith.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
- package/_mjs/Channel/api/mergeMap.mjs.map +1 -1
- package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
- package/_mjs/Channel/api/run.mjs.map +1 -1
- package/_mjs/Channel/api/runCollect.mjs.map +1 -1
- package/_mjs/Channel/api/runDrain.mjs.map +1 -1
- package/_mjs/Channel/api/runScoped.mjs +1 -1
- package/_mjs/Channel/api/runScoped.mjs.map +1 -1
- package/_mjs/Channel/api/toPull.mjs.map +1 -1
- package/_mjs/Channel/api/zipConcurrent.mjs.map +1 -1
- package/_mjs/Channel/api.mjs +2 -2
- 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/AsyncInputConsumer.mjs.map +1 -1
- package/_mjs/Channel/internal/AsyncInputProducer.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelState.mjs.map +1 -1
- package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
- package/_mjs/Channel/internal/MergeState.mjs.map +1 -1
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
- package/_mjs/Channel.mjs.map +1 -1
- package/_mjs/Clock/api.mjs.map +1 -1
- package/_mjs/Clock/definition.mjs.map +1 -1
- package/_mjs/Clock/live.mjs.map +1 -1
- package/_mjs/Clock.mjs.map +1 -1
- package/_mjs/Console/api.mjs.map +1 -1
- package/_mjs/Console/definition.mjs.map +1 -1
- package/_mjs/Console/live.mjs.map +1 -1
- package/_mjs/Console.mjs.map +1 -1
- package/_mjs/CountdownLatch.mjs.map +1 -1
- package/_mjs/Differ/api.mjs.map +1 -1
- package/_mjs/Differ/definition.mjs.map +1 -1
- package/_mjs/Fiber/FiberMessage.mjs.map +1 -1
- package/_mjs/Fiber/FiberRuntime.mjs +112 -101
- package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
- package/_mjs/Fiber/api/await.mjs.map +1 -1
- package/_mjs/Fiber/api/awaitAll.mjs.map +1 -1
- package/_mjs/Fiber/api/children.mjs.map +1 -1
- package/_mjs/Fiber/api/collectAll.mjs +1 -1
- package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
- package/_mjs/Fiber/api/fromIO.mjs.map +1 -1
- package/_mjs/Fiber/api/id.mjs.map +1 -1
- package/_mjs/Fiber/api/inheritRefs.mjs.map +1 -1
- package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
- package/_mjs/Fiber/api/join.mjs.map +1 -1
- package/_mjs/Fiber/api/joinAll.mjs.map +1 -1
- package/_mjs/Fiber/api/location.mjs.map +1 -1
- package/_mjs/Fiber/api/mapFiber.mjs.map +1 -1
- package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
- package/_mjs/Fiber/api/poll.mjs.map +1 -1
- package/_mjs/Fiber/api/zipWith.mjs +1 -1
- package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
- package/_mjs/Fiber/constructors.mjs.map +1 -1
- package/_mjs/Fiber/definition.mjs.map +1 -1
- package/_mjs/Fiber.mjs.map +1 -1
- package/_mjs/FiberDescriptor.mjs.map +1 -1
- package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -1
- package/_mjs/FiberRef/api/locallyScopedWith.mjs.map +1 -1
- package/_mjs/FiberRef/api.mjs.map +1 -1
- package/_mjs/FiberRef/constructors.mjs.map +1 -1
- package/_mjs/FiberRef/definition.mjs.map +1 -1
- package/_mjs/FiberRef/operations.mjs.map +1 -1
- package/_mjs/FiberRef/unsafe.mjs.map +1 -1
- package/_mjs/FiberRef.mjs.map +1 -1
- package/_mjs/FiberRefs/api.mjs.map +1 -1
- package/_mjs/FiberRefs/definition.mjs.map +1 -1
- package/_mjs/FiberRefs.mjs.map +1 -1
- package/_mjs/FiberScope/constructors.mjs.map +1 -1
- package/_mjs/FiberScope/definition.mjs.map +1 -1
- package/_mjs/FiberScope.mjs.map +1 -1
- package/_mjs/FiberStatus/constructors.mjs.map +1 -1
- package/_mjs/FiberStatus/definition.mjs.map +1 -1
- package/_mjs/FiberStatus.mjs.map +1 -1
- package/_mjs/Future/api.mjs +1 -1
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/Future/constructors.mjs.map +1 -1
- package/_mjs/Future/definition.mjs.map +1 -1
- package/_mjs/Future.mjs.map +1 -1
- package/_mjs/Hub/api.mjs.map +1 -1
- package/_mjs/Hub/definition.mjs.map +1 -1
- package/_mjs/Hub/internal.mjs.map +1 -1
- package/_mjs/Hub.mjs.map +1 -1
- package/_mjs/IO/api/acquireRelease.mjs.map +1 -1
- package/_mjs/IO/api/acquireReleaseExit.mjs.map +1 -1
- package/_mjs/IO/api/acquireReleaseInterruptible.mjs.map +1 -1
- package/_mjs/IO/api/acquireReleaseInterruptibleExit.mjs.map +1 -1
- package/_mjs/IO/api/addFinalizer.mjs.map +1 -1
- package/_mjs/IO/api/addFinalizerExit.mjs.map +1 -1
- package/_mjs/IO/api/all.mjs +24 -0
- package/_mjs/IO/api/all.mjs.map +1 -0
- package/_mjs/IO/api/asyncIO.mjs +1 -1
- package/_mjs/IO/api/asyncIO.mjs.map +1 -1
- package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
- package/_mjs/IO/api/blocking.mjs.map +1 -1
- package/_mjs/IO/api/bracket.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/clockWith.mjs.map +1 -1
- package/_mjs/IO/api/concurrency.mjs +19 -2
- package/_mjs/IO/api/concurrency.mjs.map +1 -1
- package/_mjs/IO/api/concurrentFinalizers.mjs.map +1 -1
- package/_mjs/IO/api/consoleWith.mjs.map +1 -1
- package/_mjs/IO/api/daemonChildren.mjs.map +1 -1
- package/_mjs/IO/api/delay.mjs.map +1 -1
- package/_mjs/IO/api/descriptor.mjs.map +1 -1
- package/_mjs/IO/api/disconnect.mjs +1 -1
- package/_mjs/IO/api/disconnect.mjs.map +1 -1
- package/_mjs/IO/api/ensuringChildren.mjs.map +1 -1
- package/_mjs/IO/api/environment.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/foreachExec.mjs +1 -1
- package/_mjs/IO/api/foreachExec.mjs.map +1 -1
- package/_mjs/IO/api/fork.mjs.map +1 -1
- package/_mjs/IO/api/forkAll.mjs.map +1 -1
- package/_mjs/IO/api/forkDaemon.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 +20 -8
- package/_mjs/IO/api/interrupt.mjs.map +1 -1
- package/_mjs/IO/api/memoize.mjs.map +1 -1
- package/_mjs/IO/api/onTermination.mjs.map +1 -1
- package/_mjs/IO/api/once.mjs.map +1 -1
- package/_mjs/IO/api/provideLayer.mjs.map +1 -1
- package/_mjs/IO/api/provideScope.mjs.map +1 -1
- package/_mjs/IO/api/provideSomeLayer.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/raceFirst.mjs.map +1 -1
- package/_mjs/IO/api/raceWith.mjs +4 -4
- package/_mjs/IO/api/raceWith.mjs.map +1 -1
- package/_mjs/IO/api/randomWith.mjs.map +1 -1
- package/_mjs/IO/api/repeat.mjs.map +1 -1
- package/_mjs/IO/api/retry.mjs.map +1 -1
- package/_mjs/IO/api/schedule.mjs.map +1 -1
- package/_mjs/IO/api/scope.mjs.map +1 -1
- package/_mjs/IO/api/scopeWith.mjs.map +1 -1
- package/_mjs/IO/api/scoped.mjs.map +1 -1
- package/_mjs/IO/api/sequenceT.mjs.map +1 -1
- package/_mjs/IO/api/sleep.mjs.map +1 -1
- package/_mjs/IO/api/stateful.mjs.map +1 -1
- package/_mjs/IO/api/supervised.mjs.map +1 -1
- package/_mjs/IO/api/timeout.mjs +8 -5
- package/_mjs/IO/api/timeout.mjs.map +1 -1
- package/_mjs/IO/api/transplant.mjs.map +1 -1
- package/_mjs/IO/api/whenFiberRef.mjs.map +1 -1
- package/_mjs/IO/api/whenRef.mjs.map +1 -1
- package/_mjs/IO/api/withChildren.mjs.map +1 -1
- package/_mjs/IO/api/withEarlyRelease.mjs.map +1 -1
- package/_mjs/IO/api/withFinalizer.mjs.map +1 -1
- package/_mjs/IO/api/withFinalizerExit.mjs.map +1 -1
- package/_mjs/IO/api/zipConcurrent.mjs +2 -2
- package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
- package/_mjs/IO/api.mjs +79 -24
- package/_mjs/IO/api.mjs.map +1 -1
- package/_mjs/IO/definition.mjs +12 -181
- package/_mjs/IO/definition.mjs.map +1 -1
- package/_mjs/IO/runtime.mjs +20 -15
- package/_mjs/IO/runtime.mjs.map +1 -1
- package/_mjs/IO.mjs +1 -0
- package/_mjs/IO.mjs.map +1 -1
- package/_mjs/IOEnv/definition.mjs.map +1 -1
- package/_mjs/IOEnv/live.mjs.map +1 -1
- package/_mjs/IOEnv/services.mjs.map +1 -1
- package/_mjs/IOEnv.mjs.map +1 -1
- package/_mjs/InterruptStatus/constructors.mjs.map +1 -1
- package/_mjs/InterruptStatus/definition.mjs.map +1 -1
- package/_mjs/InterruptStatus.mjs.map +1 -1
- package/_mjs/Layer/MemoMap.mjs +1 -1
- package/_mjs/Layer/MemoMap.mjs.map +1 -1
- package/_mjs/Layer/api.mjs.map +1 -1
- package/_mjs/Layer/definition.mjs.map +1 -1
- package/_mjs/Layer.mjs.map +1 -1
- package/_mjs/LogLevel.mjs.map +1 -1
- package/_mjs/LogSpan.mjs.map +1 -1
- package/_mjs/Logger/api.mjs.map +1 -1
- package/_mjs/Logger/constructors.mjs.map +1 -1
- package/_mjs/Logger/definition.mjs.map +1 -1
- package/_mjs/Logger.mjs.map +1 -1
- package/_mjs/MVar/api.mjs.map +1 -1
- package/_mjs/MVar/definition.mjs.map +1 -1
- package/_mjs/MVar.mjs.map +1 -1
- package/_mjs/Push/api.mjs +145 -109
- package/_mjs/Push/api.mjs.map +1 -1
- package/_mjs/Push/definition.mjs.map +1 -1
- package/_mjs/Push/internal.mjs.map +1 -1
- package/_mjs/Push.mjs.map +1 -1
- package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
- package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
- package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
- package/_mjs/Queue/api/operations.mjs.map +1 -1
- package/_mjs/Queue/api/poll.mjs.map +1 -1
- package/_mjs/Queue/api/takeBetween.mjs.map +1 -1
- package/_mjs/Queue/api/zipWithIO.mjs.map +1 -1
- package/_mjs/Queue/api.mjs.map +1 -1
- package/_mjs/Queue/constructors.mjs.map +1 -1
- package/_mjs/Queue/definition.mjs.map +1 -1
- package/_mjs/Queue/internal.mjs.map +1 -1
- package/_mjs/Queue/strategy.mjs.map +1 -1
- package/_mjs/Queue.mjs.map +1 -1
- package/_mjs/Random/api.mjs.map +1 -1
- package/_mjs/Random/definition.mjs.map +1 -1
- package/_mjs/Random/live.mjs.map +1 -1
- package/_mjs/Random.mjs.map +1 -1
- package/_mjs/Ref/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/api.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
- package/_mjs/Ref/Synchronized.mjs.map +1 -1
- package/_mjs/Ref/api/collect.mjs.map +1 -1
- package/_mjs/Ref/api/dimap.mjs.map +1 -1
- package/_mjs/Ref/api/filter.mjs.map +1 -1
- package/_mjs/Ref/api/get.mjs.map +1 -1
- package/_mjs/Ref/api/match.mjs.map +1 -1
- package/_mjs/Ref/api/matchAll.mjs.map +1 -1
- package/_mjs/Ref/api/modify.mjs.map +1 -1
- package/_mjs/Ref/api/set.mjs.map +1 -1
- package/_mjs/Ref/api.mjs.map +1 -1
- package/_mjs/Ref/constructors.mjs.map +1 -1
- package/_mjs/Ref/definition.mjs.map +1 -1
- package/_mjs/Ref.mjs.map +1 -1
- package/_mjs/RefSubject/Atomic.mjs.map +1 -1
- package/_mjs/RefSubject/Synchronized/api.mjs.map +1 -1
- package/_mjs/RefSubject/Synchronized/definition.mjs.map +1 -1
- package/_mjs/RefSubject/api.mjs.map +1 -1
- package/_mjs/RefSubject/definition.mjs.map +1 -1
- package/_mjs/RefSubject.mjs.map +1 -1
- package/_mjs/Reloadable/api.mjs.map +1 -1
- package/_mjs/Reloadable/constructors.mjs.map +1 -1
- package/_mjs/Reloadable/definition.mjs.map +1 -1
- package/_mjs/Reloadable.mjs.map +1 -1
- package/_mjs/RuntimeFlag.mjs.map +1 -1
- package/_mjs/RuntimeFlags/Patch.mjs.map +1 -1
- package/_mjs/RuntimeFlags/RuntimeFlags.mjs.map +1 -1
- package/_mjs/RuntimeFlags.mjs.map +1 -1
- package/_mjs/STM/api/atomically.mjs +1 -1
- package/_mjs/STM/api/atomically.mjs.map +1 -1
- package/_mjs/STM/api/core-api.mjs.map +1 -1
- package/_mjs/STM/api/core-constructors.mjs.map +1 -1
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/STM/definition.mjs +1 -1
- package/_mjs/STM/definition.mjs.map +1 -1
- package/_mjs/STM/driver.mjs.map +1 -1
- package/_mjs/STM/internal/CommitState.mjs.map +1 -1
- package/_mjs/STM/internal/Entry.mjs.map +1 -1
- package/_mjs/STM/internal/Journal.mjs.map +1 -1
- package/_mjs/STM/internal/TryCommit.mjs.map +1 -1
- package/_mjs/STM/internal/Versioned.mjs.map +1 -1
- package/_mjs/STM.mjs.map +1 -1
- package/_mjs/Schedule/Decision.mjs.map +1 -1
- package/_mjs/Schedule/Driver.mjs.map +1 -1
- package/_mjs/Schedule/api/driver.mjs.map +1 -1
- package/_mjs/Schedule/api.mjs +1 -1
- package/_mjs/Schedule/api.mjs.map +1 -1
- package/_mjs/Schedule/definition.mjs.map +1 -1
- package/_mjs/Schedule.mjs.map +1 -1
- package/_mjs/Scope/Finalizer/definition.mjs.map +1 -1
- package/_mjs/Scope/Finalizer.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/constructors.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/definition.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap.mjs.map +1 -1
- package/_mjs/Scope/api.mjs.map +1 -1
- package/_mjs/Scope/definition.mjs.map +1 -1
- package/_mjs/Scope.mjs.map +1 -1
- package/_mjs/ScopedRef/api.mjs +2 -2
- package/_mjs/ScopedRef/api.mjs.map +1 -1
- package/_mjs/ScopedRef/definition.mjs.map +1 -1
- package/_mjs/ScopedRef.mjs.map +1 -1
- package/_mjs/Semaphore.mjs +1 -1
- package/_mjs/Semaphore.mjs.map +1 -1
- package/_mjs/Sink/api.mjs.map +1 -1
- package/_mjs/Sink/definition.mjs.map +1 -1
- package/_mjs/Sink.mjs.map +1 -1
- package/_mjs/State/api.mjs.map +1 -1
- package/_mjs/State/definition.mjs.map +1 -1
- package/_mjs/State/internal.mjs.map +1 -1
- package/_mjs/State.mjs.map +1 -1
- package/_mjs/Stream/api/zipAllWith.mjs.map +1 -1
- package/_mjs/Stream/api/zipWith.mjs.map +1 -1
- package/_mjs/Stream/api/zipWithChunks.mjs.map +1 -1
- package/_mjs/Stream/api.mjs.map +1 -1
- package/_mjs/Stream/definition.mjs.map +1 -1
- package/_mjs/Stream/internal/DebounceState.mjs.map +1 -1
- package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
- package/_mjs/Stream/internal/Pull.mjs.map +1 -1
- package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
- package/_mjs/Stream/internal/Take.mjs.map +1 -1
- package/_mjs/Stream/internal/util.mjs.map +1 -1
- package/_mjs/Stream.mjs.map +1 -1
- package/_mjs/Subject/Atomic.mjs.map +1 -1
- package/_mjs/Subject/api.mjs.map +1 -1
- package/_mjs/Subject/definition.mjs.map +1 -1
- package/_mjs/Subject.mjs.map +1 -1
- package/_mjs/SubscriptionRef.mjs.map +1 -1
- package/_mjs/Supervisor/api.mjs.map +1 -1
- package/_mjs/Supervisor/constructors.mjs.map +1 -1
- package/_mjs/Supervisor/definition.mjs.map +1 -1
- package/_mjs/Supervisor.mjs.map +1 -1
- package/_mjs/SupervisorPatch.mjs.map +1 -1
- package/_mjs/TExit/constructors.mjs.map +1 -1
- package/_mjs/TExit/definition.mjs.map +1 -1
- package/_mjs/TExit.mjs.map +1 -1
- package/_mjs/TFuture/api.mjs.map +1 -1
- package/_mjs/TFuture/constructors.mjs.map +1 -1
- package/_mjs/TFuture/definition.mjs.map +1 -1
- package/_mjs/TFuture.mjs.map +1 -1
- package/_mjs/TReentrantLock/api.mjs +2 -2
- package/_mjs/TReentrantLock/api.mjs.map +1 -1
- package/_mjs/TReentrantLock/definition.mjs.map +1 -1
- package/_mjs/TReentrantLock.mjs.map +1 -1
- package/_mjs/TRef/api.mjs.map +1 -1
- package/_mjs/TRef/constructors.mjs.map +1 -1
- package/_mjs/TRef/definition.mjs.map +1 -1
- package/_mjs/TRef.mjs.map +1 -1
- package/_mjs/TSemaphore/api.mjs +1 -1
- package/_mjs/TSemaphore/api.mjs.map +1 -1
- package/_mjs/TSemaphore/constructors.mjs.map +1 -1
- package/_mjs/TSemaphore/definition.mjs.map +1 -1
- package/_mjs/TSemaphore.mjs.map +1 -1
- package/_mjs/TxnId.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +12 -17
- package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +12 -17
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/filterIO.mjs +2 -12
- package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/findIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/mapIO.mjs +3 -9
- package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +11 -27
- package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc.mjs.map +1 -1
- package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
- package/_mjs/global.mjs.map +1 -1
- package/_mjs/index.mjs.map +1 -1
- package/_mjs/internal/BackgroundScheduler.mjs.map +1 -1
- package/_mjs/internal/HashedPair.mjs.map +1 -1
- package/_mjs/internal/Hub.mjs.map +1 -1
- package/_mjs/internal/IsFatal.mjs.map +1 -1
- package/_mjs/internal/MutableQueue.mjs.map +1 -1
- package/_mjs/internal/Scheduler.mjs.map +1 -1
- package/_mjs/internal/StackTraceBuilder.mjs.map +1 -1
- package/_src/Channel/api.ts +3 -3
- package/_src/Fiber/FiberRuntime.ts +79 -78
- package/_src/Fiber/api/collectAll.ts +1 -1
- package/_src/Fiber/api/zipWith.ts +2 -2
- package/_src/IO/api/all.ts +64 -0
- package/_src/IO/api/bracketExit.ts +1 -1
- package/_src/IO/api/concurrency.ts +33 -0
- package/_src/IO/api/foreachConcurrent.ts +1 -1
- package/_src/IO/api/foreachExec.ts +2 -2
- package/_src/IO/api/interrupt.ts +22 -9
- package/_src/IO/api/race.ts +2 -2
- package/_src/IO/api/raceWith.ts +4 -2
- package/_src/IO/api/timeout.ts +21 -1
- package/_src/IO/api/zipConcurrent.ts +2 -2
- package/_src/IO/api.ts +80 -28
- package/_src/IO/definition.ts +155 -199
- package/_src/IO/runtime.ts +7 -1
- package/_src/IO.ts +1 -0
- package/_src/Push/api.ts +70 -4
- package/_src/Push/definition.ts +6 -0
- package/_src/STM/definition.ts +2 -2
- package/_src/Schedule/api.ts +1 -1
- package/_src/collection/immutable/Conc/dropUntilIO.ts +18 -15
- package/_src/collection/immutable/Conc/dropWhileIO.ts +18 -17
- package/_src/collection/immutable/Conc/filterIO.ts +1 -11
- package/_src/collection/immutable/Conc/mapIO.ts +2 -9
- package/_src/collection/immutable/Conc/takeWhileIO.ts +19 -28
- package/collection/immutable/Conc/filterIO.d.ts +1 -1
- package/collection/immutable/Conc/mapIO.d.ts +1 -1
- package/collection/immutable/Conc/takeWhileIO.d.ts +1 -1
- package/package.json +3 -3
- package/IOSpec.d.ts +0 -22
- package/Latch.d.ts +0 -3
- package/runTests.d.ts +0 -1
@@ -1,5 +1,6 @@
|
|
1
1
|
import type { FiberStatus } from "../FiberStatus.js";
|
2
2
|
import type { OnFailure, OnSuccess, OnSuccessAndFailure, UIO } from "../IO/definition.js";
|
3
|
+
import type { WhileLoop } from "../IO/definition.js";
|
3
4
|
import type { RuntimeFlags } from "../RuntimeFlags.js";
|
4
5
|
|
5
6
|
import { isIOError } from "@fncts/base/data/exceptions";
|
@@ -12,29 +13,22 @@ import { Done, Suspended } from "../FiberStatus.js";
|
|
12
13
|
import { Running } from "../FiberStatus.js";
|
13
14
|
import { FiberStatusTag } from "../FiberStatus.js";
|
14
15
|
import { LinkedQueue } from "../internal/MutableQueue.js";
|
15
|
-
import { isIO } from "../IO/definition.js";
|
16
|
-
import {
|
17
|
-
import { IOOpCode } from "../IO/definition.js";
|
16
|
+
import { IOPrimitive, isIO } from "../IO/definition.js";
|
17
|
+
import { IOTag } from "../IO/definition.js";
|
18
18
|
import { RuntimeFlag } from "../RuntimeFlag.js";
|
19
19
|
import { FiberMessage, FiberMessageTag } from "./FiberMessage.js";
|
20
20
|
|
21
21
|
export class RevertFlags {
|
22
|
-
readonly _tag =
|
22
|
+
readonly _tag = IOTag.RevertFlags;
|
23
23
|
constructor(readonly patch: RuntimeFlags.Patch, readonly trace?: string) {}
|
24
24
|
}
|
25
25
|
|
26
26
|
export class UpdateTrace {
|
27
|
-
readonly _tag =
|
27
|
+
readonly _tag = IOTag.UpdateTrace;
|
28
28
|
constructor(readonly trace?: string) {}
|
29
29
|
}
|
30
30
|
|
31
|
-
export type Continuation =
|
32
|
-
| OnSuccess<any, any, any, any, any, any>
|
33
|
-
| OnSuccessAndFailure<any, any, any, any, any, any, any, any, any>
|
34
|
-
| OnFailure<any, any, any, any, any, any>
|
35
|
-
| WhileLoop<any, any, any>
|
36
|
-
| UpdateTrace
|
37
|
-
| RevertFlags;
|
31
|
+
export type Continuation = OnSuccess | OnSuccessAndFailure | OnFailure | WhileLoop | UpdateTrace | RevertFlags;
|
38
32
|
|
39
33
|
/**
|
40
34
|
* @tsplus type fncts.io.Fiber
|
@@ -268,7 +262,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
268
262
|
}
|
269
263
|
} catch (e) {
|
270
264
|
if (isIO(e)) {
|
271
|
-
if (IO.concrete(e)._tag ===
|
265
|
+
if (IO.concrete(e)._tag === IOTag.YieldNow) {
|
272
266
|
if (this._runtimeFlags.cooperativeYielding) {
|
273
267
|
this.tell(FiberMessage.YieldNow);
|
274
268
|
this.tell(FiberMessage.Resume(IO.unit));
|
@@ -276,7 +270,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
276
270
|
} else {
|
277
271
|
effect = IO.unit;
|
278
272
|
}
|
279
|
-
} else if (IO.concrete(e)._tag ===
|
273
|
+
} else if (IO.concrete(e)._tag === IOTag.Async) {
|
280
274
|
effect = null!;
|
281
275
|
} else {
|
282
276
|
throw new Error(`Unhandled op ${IO.concrete(e)._tag}`);
|
@@ -302,6 +296,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
302
296
|
if (this._runtimeFlags.opSupervision) {
|
303
297
|
this.getSupervisor().unsafeOnEffect(this, cur);
|
304
298
|
}
|
299
|
+
|
305
300
|
const nextTrace = IO.concrete(cur).trace;
|
306
301
|
if (nextTrace !== undefined) lastTrace = nextTrace;
|
307
302
|
|
@@ -317,27 +312,30 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
317
312
|
}
|
318
313
|
try {
|
319
314
|
switch (cur._tag) {
|
320
|
-
case
|
321
|
-
const value = cur.
|
315
|
+
case IOTag.Sync: {
|
316
|
+
const value = cur.i0();
|
322
317
|
const cont = this.getNextSuccessCont();
|
323
318
|
if (cont) {
|
324
319
|
switch (cont._tag) {
|
325
|
-
case
|
326
|
-
|
327
|
-
|
320
|
+
case IOTag.OnSuccess: {
|
321
|
+
cur = IO.concrete(cont.i1(value));
|
322
|
+
break;
|
323
|
+
}
|
324
|
+
case IOTag.OnSuccessAndFailure: {
|
325
|
+
cur = IO.concrete(cont.i2(value));
|
328
326
|
break;
|
329
327
|
}
|
330
|
-
case
|
331
|
-
cont.
|
332
|
-
if (cont.
|
328
|
+
case IOTag.WhileLoop: {
|
329
|
+
cont.i2(value);
|
330
|
+
if (cont.i0()) {
|
333
331
|
this.stack.push(cont);
|
334
|
-
cur = IO.concrete(cont.
|
332
|
+
cur = IO.concrete(cont.i1());
|
335
333
|
} else {
|
336
334
|
cur = IO.concrete(IO.unit);
|
337
335
|
}
|
338
336
|
break;
|
339
337
|
}
|
340
|
-
case
|
338
|
+
case IOTag.RevertFlags: {
|
341
339
|
this.patchRuntimeFlags(this._runtimeFlags, cont.patch);
|
342
340
|
if (this._runtimeFlags.interruptible && this.isInterrupted()) {
|
343
341
|
cur = IO.concrete(IO.failCauseNow(this.getInterruptedCause()));
|
@@ -346,7 +344,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
346
344
|
}
|
347
345
|
break;
|
348
346
|
}
|
349
|
-
case
|
347
|
+
case IOTag.UpdateTrace: {
|
350
348
|
if (cont.trace !== undefined) lastTrace = cont.trace;
|
351
349
|
cur = IO.concrete(IO.unit);
|
352
350
|
break;
|
@@ -357,26 +355,26 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
357
355
|
}
|
358
356
|
break;
|
359
357
|
}
|
360
|
-
case
|
361
|
-
case
|
362
|
-
case
|
358
|
+
case IOTag.OnSuccessAndFailure:
|
359
|
+
case IOTag.OnFailure:
|
360
|
+
case IOTag.OnSuccess: {
|
363
361
|
this.stack.push(cur);
|
364
|
-
cur = IO.concrete(cur.
|
362
|
+
cur = IO.concrete(cur.i0);
|
365
363
|
break;
|
366
364
|
}
|
367
|
-
case
|
365
|
+
case IOTag.Async: {
|
368
366
|
this.asyncTrace = lastTrace;
|
369
|
-
this.asyncBlockinOn = cur.
|
370
|
-
this.initiateAsync(this._runtimeFlags, cur.
|
367
|
+
this.asyncBlockinOn = cur.i1();
|
368
|
+
this.initiateAsync(this._runtimeFlags, cur.i0);
|
371
369
|
throw cur;
|
372
370
|
}
|
373
|
-
case
|
374
|
-
const updateFlags = cur.
|
371
|
+
case IOTag.UpdateRuntimeFlagsWithin: {
|
372
|
+
const updateFlags = cur.i0;
|
375
373
|
const oldRuntimeFlags = this._runtimeFlags;
|
376
374
|
const newRuntimeFlags = updateFlags.patch(oldRuntimeFlags);
|
377
375
|
|
378
376
|
if (newRuntimeFlags === oldRuntimeFlags) {
|
379
|
-
cur = IO.concrete(cur.
|
377
|
+
cur = IO.concrete(cur.i1(oldRuntimeFlags));
|
380
378
|
} else {
|
381
379
|
if (newRuntimeFlags.interruptible && this.isInterrupted()) {
|
382
380
|
cur = IO.concrete(IO.failCauseNow(this.getInterruptedCause()));
|
@@ -384,84 +382,87 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
384
382
|
this.patchRuntimeFlags(this._runtimeFlags, updateFlags);
|
385
383
|
const revertFlags = newRuntimeFlags.diff(oldRuntimeFlags);
|
386
384
|
this.stack.push(new RevertFlags(revertFlags));
|
387
|
-
cur = IO.concrete(cur.
|
385
|
+
cur = IO.concrete(cur.i1(oldRuntimeFlags));
|
388
386
|
}
|
389
387
|
}
|
390
388
|
break;
|
391
389
|
}
|
392
|
-
case
|
390
|
+
case IOTag.GenerateStackTrace: {
|
393
391
|
cur = IO.concrete(IO.succeedNow(this.generateStackTrace()));
|
394
392
|
break;
|
395
393
|
}
|
396
|
-
case
|
397
|
-
cur = IO.concrete(cur.
|
394
|
+
case IOTag.Stateful: {
|
395
|
+
cur = IO.concrete(cur.i0(this, new Running(this._runtimeFlags, lastTrace)));
|
398
396
|
break;
|
399
397
|
}
|
400
|
-
case
|
398
|
+
case IOTag.SucceedNow: {
|
401
399
|
const oldCur = cur;
|
402
400
|
const cont = this.getNextSuccessCont();
|
403
401
|
if (cont) {
|
404
402
|
switch (cont._tag) {
|
405
|
-
case
|
406
|
-
|
407
|
-
|
403
|
+
case IOTag.OnSuccess: {
|
404
|
+
cur = IO.concrete(cont.i1(oldCur.i0));
|
405
|
+
break;
|
406
|
+
}
|
407
|
+
case IOTag.OnSuccessAndFailure: {
|
408
|
+
cur = IO.concrete(cont.i2(oldCur.i0));
|
408
409
|
break;
|
409
410
|
}
|
410
|
-
case
|
411
|
-
cont.
|
412
|
-
if (cont.
|
411
|
+
case IOTag.WhileLoop: {
|
412
|
+
cont.i2(oldCur.i0);
|
413
|
+
if (cont.i0()) {
|
413
414
|
this.stack.push(cont);
|
414
|
-
cur = IO.concrete(cont.
|
415
|
+
cur = IO.concrete(cont.i1());
|
415
416
|
} else {
|
416
417
|
cur = IO.concrete(IO.unit);
|
417
418
|
}
|
418
419
|
break;
|
419
420
|
}
|
420
|
-
case
|
421
|
+
case IOTag.RevertFlags: {
|
421
422
|
this.patchRuntimeFlags(this._runtimeFlags, cont.patch);
|
422
423
|
if (this._runtimeFlags.interruptible && this.isInterrupted()) {
|
423
424
|
cur = IO.concrete(IO.failCauseNow(this.getInterruptedCause()));
|
424
425
|
}
|
425
426
|
break;
|
426
427
|
}
|
427
|
-
case
|
428
|
+
case IOTag.UpdateTrace: {
|
428
429
|
if (cont.trace !== undefined) lastTrace = cont.trace;
|
429
430
|
cur = IO.concrete(IO.unit);
|
430
431
|
break;
|
431
432
|
}
|
432
433
|
}
|
433
434
|
} else {
|
434
|
-
return Exit.succeed(oldCur.
|
435
|
+
return Exit.succeed(oldCur.i0);
|
435
436
|
}
|
436
437
|
break;
|
437
438
|
}
|
438
|
-
case
|
439
|
-
const cause = cur.
|
439
|
+
case IOTag.Fail: {
|
440
|
+
const cause = cur.i0();
|
440
441
|
const cont = this.getNextFailCont();
|
441
442
|
if (cont) {
|
442
443
|
switch (cont._tag) {
|
443
|
-
case
|
444
|
-
case
|
444
|
+
case IOTag.OnFailure:
|
445
|
+
case IOTag.OnSuccessAndFailure: {
|
445
446
|
if (!(this._runtimeFlags.interruptible && this.isInterrupted())) {
|
446
|
-
cur = IO.concrete(cont.
|
447
|
+
cur = IO.concrete(cont.i1(cause));
|
447
448
|
} else {
|
448
449
|
cur = IO.concrete(IO.failCauseNow(cause.stripFailures));
|
449
450
|
}
|
450
451
|
break;
|
451
452
|
}
|
452
|
-
case
|
453
|
+
case IOTag.RevertFlags: {
|
453
454
|
this.patchRuntimeFlags(this._runtimeFlags, cont.patch);
|
454
455
|
if (this._runtimeFlags.interruptible && this.isInterrupted()) {
|
455
456
|
const interruptedCause = this.getInterruptedCause();
|
456
457
|
if (cause.contains(interruptedCause)) {
|
457
458
|
cur = IO.concrete(IO.failCauseNow(cause));
|
458
459
|
} else {
|
459
|
-
cur = IO.concrete(IO.failCauseNow(Cause.
|
460
|
+
cur = IO.concrete(IO.failCauseNow(Cause.sequential(cause, this.getInterruptedCause())));
|
460
461
|
}
|
461
462
|
}
|
462
463
|
break;
|
463
464
|
}
|
464
|
-
case
|
465
|
+
case IOTag.UpdateTrace: {
|
465
466
|
if (cont.trace !== undefined) lastTrace = cont.trace;
|
466
467
|
cur = IO.concrete(IO.unit);
|
467
468
|
break;
|
@@ -472,15 +473,15 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
472
473
|
}
|
473
474
|
break;
|
474
475
|
}
|
475
|
-
case
|
476
|
-
this.patchRuntimeFlags(this._runtimeFlags, cur.
|
476
|
+
case IOTag.UpdateRuntimeFlags: {
|
477
|
+
this.patchRuntimeFlags(this._runtimeFlags, cur.i0);
|
477
478
|
cur = IO.concrete(IO.unit);
|
478
479
|
break;
|
479
480
|
}
|
480
|
-
case
|
481
|
+
case IOTag.WhileLoop: {
|
481
482
|
const iterate = cur;
|
482
|
-
const check = iterate.
|
483
|
-
const body = iterate.
|
483
|
+
const check = iterate.i0;
|
484
|
+
const body = iterate.i1;
|
484
485
|
if (check()) {
|
485
486
|
cur = IO.concrete(body());
|
486
487
|
this.stack.push(iterate);
|
@@ -489,10 +490,10 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
489
490
|
}
|
490
491
|
break;
|
491
492
|
}
|
492
|
-
case
|
493
|
+
case IOTag.YieldNow: {
|
493
494
|
throw cur;
|
494
495
|
}
|
495
|
-
case
|
496
|
+
case IOTag.Commit: {
|
496
497
|
cur = IO.concrete(cur.commit);
|
497
498
|
break;
|
498
499
|
}
|
@@ -524,10 +525,10 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
524
525
|
} catch (e) {
|
525
526
|
if (isIOError(e)) {
|
526
527
|
cur = IO.concrete(IO.failCauseNow(e.cause));
|
527
|
-
} else if (isIO(e) && (IO.concrete(e)._tag ===
|
528
|
+
} else if (isIO(e) && (IO.concrete(e)._tag === IOTag.Async || IO.concrete(e)._tag === IOTag.YieldNow)) {
|
528
529
|
throw e;
|
529
530
|
} else if (isInterruptedException(e)) {
|
530
|
-
cur = IO.concrete(IO.failCauseNow(Cause.
|
531
|
+
cur = IO.concrete(IO.failCauseNow(Cause.parallel(Cause.halt(e), Cause.interrupt(FiberId.none))));
|
531
532
|
} else {
|
532
533
|
cur = IO.concrete(IO.failCauseNow(Cause.halt(e, Trace(this.fiberId, Conc(TraceElement.parse(lastTrace))))));
|
533
534
|
}
|
@@ -622,14 +623,14 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
622
623
|
}
|
623
624
|
};
|
624
625
|
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
626
|
+
const io = new IOPrimitive(IOTag.WhileLoop) as any;
|
627
|
+
io.i0 = check;
|
628
|
+
io.i1 = body;
|
629
|
+
io.i2 = () => {
|
630
|
+
//
|
631
|
+
};
|
632
|
+
|
633
|
+
return io;
|
633
634
|
} else {
|
634
635
|
return null!;
|
635
636
|
}
|
@@ -663,7 +664,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
663
664
|
if (oldSC.contains(cause)) {
|
664
665
|
return;
|
665
666
|
}
|
666
|
-
this.setFiberRef(FiberRef.interruptedCause, Cause.
|
667
|
+
this.setFiberRef(FiberRef.interruptedCause, Cause.sequential(oldSC, cause));
|
667
668
|
}
|
668
669
|
|
669
670
|
private processNewInterruptSignal(cause: Cause<never>): void {
|
@@ -822,7 +823,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
822
823
|
getNextSuccessCont() {
|
823
824
|
while (this.stack.hasNext) {
|
824
825
|
const frame = this.stack.pop()!;
|
825
|
-
if (frame._tag !==
|
826
|
+
if (frame._tag !== IOTag.OnFailure) {
|
826
827
|
return frame;
|
827
828
|
}
|
828
829
|
}
|
@@ -831,7 +832,7 @@ export class FiberRuntime<E, A> implements Fiber.Runtime<E, A> {
|
|
831
832
|
getNextFailCont() {
|
832
833
|
while (this.stack.hasNext) {
|
833
834
|
const frame = this.stack.pop()!;
|
834
|
-
if (frame._tag !==
|
835
|
+
if (frame._tag !== IOTag.OnSuccess && frame._tag !== IOTag.WhileLoop) {
|
835
836
|
return frame;
|
836
837
|
}
|
837
838
|
}
|
@@ -15,9 +15,9 @@ export function zipWith<A, E1, B, C>(that: Fiber<E1, B>, f: (a: A, b: B) => C, _
|
|
15
15
|
self.children,
|
16
16
|
that.inheritRefs > self.inheritRefs,
|
17
17
|
self.poll.zipWith(that.poll, (ma, mb) =>
|
18
|
-
ma.isJust() && mb.isJust() ? Just(ma.value.zipWithCause(mb.value, f, Cause.
|
18
|
+
ma.isJust() && mb.isJust() ? Just(ma.value.zipWithCause(mb.value, f, Cause.sequential)) : Nothing(),
|
19
19
|
),
|
20
|
-
(id) => self.interruptAs(id).zipWith(that.interruptAs(id), (ea, eb) => ea.zipWithCause(eb, f, Cause.
|
20
|
+
(id) => self.interruptAs(id).zipWith(that.interruptAs(id), (ea, eb) => ea.zipWithCause(eb, f, Cause.sequential)),
|
21
21
|
);
|
22
22
|
};
|
23
23
|
}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import type { _A, _E, _R } from "@fncts/base/types";
|
2
|
+
import type { EnvironmentOf, ErrorOf, IOVariance, ValueOf } from "@fncts/io/IO";
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @tsplus static fncts.io.IOOps all
|
6
|
+
*/
|
7
|
+
export function all<T extends ReadonlyArray<IO<any, any, any>>>(
|
8
|
+
ios: [...T],
|
9
|
+
): IO<
|
10
|
+
{ [K in number]: EnvironmentOf<T[K]> }[number],
|
11
|
+
{ [K in number]: ErrorOf<T[K]> }[number],
|
12
|
+
{ [K in keyof T]: ValueOf<T[K]> }
|
13
|
+
>;
|
14
|
+
export function all<T extends Iterable<IO<any, any, any>>>(
|
15
|
+
ios: T,
|
16
|
+
): [T] extends [Iterable<infer A>] ? IO<EnvironmentOf<A>, ErrorOf<A>, Conc<ValueOf<A>>> : never;
|
17
|
+
export function all<T extends Record<string, IO<any, any, any>>>(
|
18
|
+
ios: T,
|
19
|
+
): IO<
|
20
|
+
{ [K in keyof T]: EnvironmentOf<T[K]> }[keyof T],
|
21
|
+
{ [K in keyof T]: ErrorOf<T[K]> }[keyof T],
|
22
|
+
{ [K in keyof T]: ValueOf<T[K]> }
|
23
|
+
>;
|
24
|
+
export function all(ios: Record<string, IO<any, any, any>> | Iterable<IO<any, any, any>>): IO<any, any, any> {
|
25
|
+
if (Symbol.iterator in ios) {
|
26
|
+
return IO.foreach(ios, Function.identity);
|
27
|
+
} else {
|
28
|
+
return IO.foreach(
|
29
|
+
Object.entries(ios).map(([k, io]) => io.map((value) => [k, value] as const)),
|
30
|
+
Function.identity,
|
31
|
+
).map((result) => result.foldLeft({} as Record<string, any>, (b, a) => Object.assign(b, { [a[0]]: a[1] })));
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
/**
|
36
|
+
* @tsplus static fncts.io.IOOps allConcurrent
|
37
|
+
*/
|
38
|
+
export function allConcurrent<T extends ReadonlyArray<IO<any, any, any>>>(
|
39
|
+
ios: [...T],
|
40
|
+
): IO<
|
41
|
+
{ [K in number]: EnvironmentOf<T[K]> }[number],
|
42
|
+
{ [K in number]: ErrorOf<T[K]> }[number],
|
43
|
+
{ [K in keyof T]: ValueOf<T[K]> }
|
44
|
+
>;
|
45
|
+
export function allConcurrent<T extends Iterable<IO<any, any, any>>>(
|
46
|
+
ios: T,
|
47
|
+
): [T] extends [Iterable<infer A>] ? IO<EnvironmentOf<A>, ErrorOf<A>, Conc<ValueOf<A>>> : never;
|
48
|
+
export function allConcurrent<T extends Record<string, IO<any, any, any>>>(
|
49
|
+
ios: T,
|
50
|
+
): IO<
|
51
|
+
{ [K in keyof T]: EnvironmentOf<T[K]> }[keyof T],
|
52
|
+
{ [K in keyof T]: ErrorOf<T[K]> }[keyof T],
|
53
|
+
{ [K in keyof T]: ValueOf<T[K]> }
|
54
|
+
>;
|
55
|
+
export function allConcurrent(ios: Record<string, IO<any, any, any>> | Iterable<IO<any, any, any>>): IO<any, any, any> {
|
56
|
+
if (Symbol.iterator in ios) {
|
57
|
+
return IO.foreachConcurrent(ios, Function.identity);
|
58
|
+
} else {
|
59
|
+
return IO.foreachConcurrent(
|
60
|
+
Object.entries(ios).map(([k, io]) => io.map((value) => [k, value] as const)),
|
61
|
+
Function.identity,
|
62
|
+
).map((result) => result.foldLeft({} as Record<string, any>, (b, a) => Object.assign(b, { [a[0]]: a[1] })));
|
63
|
+
}
|
64
|
+
}
|
@@ -41,3 +41,36 @@ export function withConcurrency(n: number, __tsplusTrace?: string) {
|
|
41
41
|
export function withConcurrencyUnbounded<R, E, A>(ma: IO<R, E, A>, __tsplusTrace?: string): IO<R, E, A> {
|
42
42
|
return IO.defer(Concurrency.locally(Nothing())(ma));
|
43
43
|
}
|
44
|
+
|
45
|
+
export type ConcurrencyRestorer = <R, E, A>(io: IO<R, E, A>) => IO<R, E, A>;
|
46
|
+
|
47
|
+
const MakeConcurrent =
|
48
|
+
(n: number): ConcurrencyRestorer =>
|
49
|
+
(io) =>
|
50
|
+
io.withConcurrency(n);
|
51
|
+
|
52
|
+
const MakeConcurrentUnbounded: ConcurrencyRestorer = (io) => io.withConcurrencyUnbounded;
|
53
|
+
|
54
|
+
/**
|
55
|
+
* @tsplus static fncts.io.IOOps withConcurrencyMask
|
56
|
+
*/
|
57
|
+
export function withConcurrencyMask<R, E, A>(n: number, f: (restore: ConcurrencyRestorer) => IO<R, E, A>): IO<R, E, A> {
|
58
|
+
return Concurrency.getWith((concurrency) =>
|
59
|
+
concurrency.match(
|
60
|
+
() => Concurrency.locally(Just(n))(f(MakeConcurrentUnbounded)),
|
61
|
+
(n0) => Concurrency.locally(Just(n))(f(MakeConcurrent(n0))),
|
62
|
+
),
|
63
|
+
);
|
64
|
+
}
|
65
|
+
|
66
|
+
/**
|
67
|
+
* @tsplus static fncts.io.IOOps withConcurrencyUnboundedMask
|
68
|
+
*/
|
69
|
+
export function withConcurrencyUnboundedMask<R, E, A>(f: (restore: ConcurrencyRestorer) => IO<R, E, A>): IO<R, E, A> {
|
70
|
+
return Concurrency.getWith((concurrency) =>
|
71
|
+
concurrency.match(
|
72
|
+
() => Concurrency.locally(Nothing())(f(MakeConcurrentUnbounded)),
|
73
|
+
(n0) => Concurrency.locally(Nothing())(f(MakeConcurrent(n0))),
|
74
|
+
),
|
75
|
+
);
|
76
|
+
}
|
@@ -89,7 +89,7 @@ function foreachConcurrentUnboundedDiscard<R, E, A>(
|
|
89
89
|
() => IO.failCauseNow(cause.stripFailures),
|
90
90
|
(exit) =>
|
91
91
|
exit.isFailure()
|
92
|
-
? IO.failCauseNow(Cause.
|
92
|
+
? IO.failCauseNow(Cause.parallel(cause.stripFailures, exit.cause))
|
93
93
|
: IO.failCauseNow(cause.stripFailures),
|
94
94
|
),
|
95
95
|
),
|
@@ -14,7 +14,7 @@ export function foreachExec<R, E, A, B>(
|
|
14
14
|
): IO<R, E, Conc<B>> {
|
15
15
|
return es.match(
|
16
16
|
() => IO.foreach(as, f),
|
17
|
-
() => IO.foreachConcurrent(as, f)
|
18
|
-
(fiberBound) => IO.foreachConcurrent(as,
|
17
|
+
() => IO.withConcurrencyUnboundedMask((restore) => IO.foreachConcurrent(as, (a) => restore(f(a)))),
|
18
|
+
(fiberBound) => IO.withConcurrencyMask(fiberBound, (restore) => IO.foreachConcurrent(as, (a) => restore(f(a)))),
|
19
19
|
);
|
20
20
|
}
|
package/_src/IO/api/interrupt.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { IOPrimitive,IOTag } from "@fncts/io/IO/definition";
|
2
2
|
import { RuntimeFlag } from "@fncts/io/RuntimeFlag";
|
3
3
|
import { RuntimeFlags } from "@fncts/io/RuntimeFlags";
|
4
4
|
|
@@ -40,7 +40,11 @@ export const interrupt: IO<never, never, never> = IO.fiberId.flatMap(IO.interrup
|
|
40
40
|
* @tsplus static fncts.io.IOOps interruptible
|
41
41
|
*/
|
42
42
|
export function interruptible<R, E, A>(self: IO<R, E, A>, __tsplusTrace?: string): IO<R, E, A> {
|
43
|
-
|
43
|
+
const io = new IOPrimitive(IOTag.UpdateRuntimeFlagsWithin) as any;
|
44
|
+
io.i0 = RuntimeFlags.enable(RuntimeFlag.Interruption);
|
45
|
+
io.i1 = () => self;
|
46
|
+
io.trace = __tsplusTrace;
|
47
|
+
return io;
|
44
48
|
}
|
45
49
|
|
46
50
|
/**
|
@@ -55,7 +59,11 @@ export function interruptible<R, E, A>(self: IO<R, E, A>, __tsplusTrace?: string
|
|
55
59
|
* @tsplus static fncts.io.IOOps uninterruptible
|
56
60
|
*/
|
57
61
|
export function uninterruptible<R, E, A>(self: IO<R, E, A>, __tsplusTrace?: string): IO<R, E, A> {
|
58
|
-
|
62
|
+
const io = new IOPrimitive(IOTag.UpdateRuntimeFlagsWithin) as any;
|
63
|
+
io.i0 = RuntimeFlags.disable(RuntimeFlag.Interruption);
|
64
|
+
io.i1 = () => self;
|
65
|
+
io.trace = __tsplusTrace;
|
66
|
+
return io;
|
59
67
|
}
|
60
68
|
|
61
69
|
/**
|
@@ -65,10 +73,15 @@ export function uninterruptible<R, E, A>(self: IO<R, E, A>, __tsplusTrace?: stri
|
|
65
73
|
*
|
66
74
|
* @tsplus static fncts.io.IOOps uninterruptibleMask
|
67
75
|
*/
|
68
|
-
export function uninterruptibleMask<R, E, A>(
|
69
|
-
|
70
|
-
|
71
|
-
|
76
|
+
export function uninterruptibleMask<R, E, A>(
|
77
|
+
f: (restore: InterruptibilityRestorer) => IO<R, E, A>,
|
78
|
+
__tsplusTrace?: string,
|
79
|
+
): IO<R, E, A> {
|
80
|
+
const io = new IOPrimitive(IOTag.UpdateRuntimeFlagsWithin) as any;
|
81
|
+
io.i0 = RuntimeFlags.disable(RuntimeFlag.Interruption);
|
82
|
+
io.i1 = (oldFlags: RuntimeFlags) => f(oldFlags.interruption ? RestoreInterruptible : RestoreUninterruptible);
|
83
|
+
io.trace = __tsplusTrace;
|
84
|
+
return io;
|
72
85
|
}
|
73
86
|
|
74
87
|
/**
|
@@ -80,7 +93,7 @@ export function ensuring<R1>(finalizer: IO<R1, never, any>, __tsplusTrace?: stri
|
|
80
93
|
restore(self).matchCauseIO(
|
81
94
|
(cause1) =>
|
82
95
|
finalizer.matchCauseIO(
|
83
|
-
(cause2) => IO.failCauseNow(Cause.
|
96
|
+
(cause2) => IO.failCauseNow(Cause.sequential(cause1, cause2)),
|
84
97
|
() => IO.failCauseNow(cause1),
|
85
98
|
),
|
86
99
|
(a) => finalizer.map(() => a),
|
@@ -152,7 +165,7 @@ export function onExit<E, A, R1, E1>(cleanup: (exit: Exit<E, A>) => IO<R1, E1, a
|
|
152
165
|
(failure1) => {
|
153
166
|
const result = Exit.failCause(failure1);
|
154
167
|
return cleanup(result).matchCauseIO(
|
155
|
-
(failure2) => IO.failCauseNow(Cause.
|
168
|
+
(failure2) => IO.failCauseNow(Cause.sequential(failure1, failure2)),
|
156
169
|
() => IO.fromExitNow(result),
|
157
170
|
);
|
158
171
|
},
|
package/_src/IO/api/race.ts
CHANGED
@@ -30,12 +30,12 @@ export function raceAwait<R1, E1, A1>(that: IO<R1, E1, A1>) {
|
|
30
30
|
that,
|
31
31
|
(exit, right) =>
|
32
32
|
exit.match(
|
33
|
-
(cause) => right.join.mapErrorCause((c) => Cause.
|
33
|
+
(cause) => right.join.mapErrorCause((c) => Cause.parallel(cause, c)),
|
34
34
|
(a) => right.interruptAs(id).as(a),
|
35
35
|
),
|
36
36
|
(exit, left) =>
|
37
37
|
exit.match(
|
38
|
-
(cause) => left.join.mapErrorCause((c) => Cause.
|
38
|
+
(cause) => left.join.mapErrorCause((c) => Cause.parallel(cause, c)),
|
39
39
|
(a1) => left.interruptAs(id).as(a1),
|
40
40
|
),
|
41
41
|
),
|
package/_src/IO/api/raceWith.ts
CHANGED
@@ -10,6 +10,8 @@ export function raceFibersWith<R, E, A, R1, E1, B, R2, E2, C, R3, E3, D>(
|
|
10
10
|
right: Lazy<IO<R1, E1, B>>,
|
11
11
|
leftWins: (winner: FiberRuntime<E, A>, loser: FiberRuntime<E1, B>) => IO<R2, E2, C>,
|
12
12
|
rightWins: (winner: FiberRuntime<E1, B>, loser: FiberRuntime<E, A>) => IO<R3, E3, D>,
|
13
|
+
leftScope: FiberScope | null = null,
|
14
|
+
rightScope: FiberScope | null = null,
|
13
15
|
__tsplusTrace?: string,
|
14
16
|
) {
|
15
17
|
return (left: IO<R, E, A>): IO<R | R1 | R2 | R3, E2 | E3, C | D> => {
|
@@ -29,8 +31,8 @@ export function raceFibersWith<R, E, A, R1, E1, B, R2, E2, C, R3, E3, D>(
|
|
29
31
|
}
|
30
32
|
|
31
33
|
const raceIndicator = new AtomicBoolean(true);
|
32
|
-
const leftFiber = IO.unsafeMakeChildFiber(left, parentState, parentRuntimeFlags,
|
33
|
-
const rightFiber = IO.unsafeMakeChildFiber(right0, parentState, parentRuntimeFlags,
|
34
|
+
const leftFiber = IO.unsafeMakeChildFiber(left, parentState, parentRuntimeFlags, leftScope, __tsplusTrace);
|
35
|
+
const rightFiber = IO.unsafeMakeChildFiber(right0, parentState, parentRuntimeFlags, rightScope, __tsplusTrace);
|
34
36
|
|
35
37
|
return IO.async((cb) => {
|
36
38
|
leftFiber.addObserver(() => complete(leftFiber, rightFiber, leftWins, raceIndicator, cb));
|
package/_src/IO/api/timeout.ts
CHANGED
@@ -3,7 +3,27 @@
|
|
3
3
|
*/
|
4
4
|
export function timeoutTo<A, B, B1>(duration: Lazy<Duration>, b: Lazy<B>, f: (a: A) => B1, __tsplusTrace?: string) {
|
5
5
|
return <R, E>(self: IO<R, E, A>): IO<R, E, B | B1> => {
|
6
|
-
return
|
6
|
+
return IO.fiberIdWith((parentFiberId) =>
|
7
|
+
self.raceFibersWith(
|
8
|
+
IO.sleep(duration).interruptible,
|
9
|
+
(winner, loser) =>
|
10
|
+
winner.await.flatMap((exit) =>
|
11
|
+
exit.match(
|
12
|
+
(cause) => loser.interruptAs(parentFiberId) > IO.refailCause(cause),
|
13
|
+
(a) => winner.inheritAll > loser.interruptAs(parentFiberId).as(f(a)),
|
14
|
+
),
|
15
|
+
),
|
16
|
+
(winner, loser) =>
|
17
|
+
winner.await.flatMap((exit) =>
|
18
|
+
exit.match(
|
19
|
+
(cause) => loser.interruptAs(parentFiberId) > IO.refailCause(cause),
|
20
|
+
() => winner.inheritAll > loser.interruptAs(parentFiberId).as(b),
|
21
|
+
),
|
22
|
+
),
|
23
|
+
null,
|
24
|
+
FiberScope.global,
|
25
|
+
),
|
26
|
+
);
|
7
27
|
};
|
8
28
|
}
|
9
29
|
|
@@ -30,9 +30,9 @@ export function zipWithConcurrent<A, R1, E1, B, C>(that: IO<R1, E1, B>, f: (a: A
|
|
30
30
|
right.interruptFork >
|
31
31
|
left.await.zip(right.await).flatMap(([left, right]) =>
|
32
32
|
left
|
33
|
-
.zipWithCause(right, f, (a, b) => Cause.
|
33
|
+
.zipWithCause(right, f, (a, b) => Cause.parallel(a, b))
|
34
34
|
.match(
|
35
|
-
(causes) => IO.refailCause(Cause.
|
35
|
+
(causes) => IO.refailCause(Cause.parallel(cause.stripFailures, causes)),
|
36
36
|
() => IO.refailCause(cause.stripFailures),
|
37
37
|
),
|
38
38
|
),
|