@fncts/io 0.0.48 → 0.0.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cached/api.d.ts +1 -1
- package/Channel/api.d.ts +80 -80
- package/Channel/core-api.d.ts +26 -26
- package/Console/definition.d.ts +1 -0
- package/CountdownLatch.d.ts +1 -0
- package/Fiber/FiberMessage.d.ts +6 -28
- package/Fiber/FiberRuntime.d.ts +108 -77
- package/Fiber/api/interruptAs.d.ts +2 -2
- package/Fiber/definition.d.ts +2 -0
- package/FiberScope/definition.d.ts +3 -0
- package/FiberSet.d.ts +2 -1
- package/Future/State.d.ts +59 -0
- package/Future/api.d.ts +8 -3
- package/Future/constructors.d.ts +1 -1
- package/Future/definition.d.ts +1 -17
- package/Future.d.ts +1 -0
- package/Hub/api.d.ts +15 -15
- package/IO/api/array.d.ts +22 -0
- package/IO/api/awaitAllChildren.d.ts +6 -0
- package/IO/api/cachedInvalidate.d.ts +15 -0
- package/IO/api/forkDaemon.d.ts +1 -1
- package/IO/api/onTermination.d.ts +1 -2
- package/IO/api/transplant.d.ts +11 -1
- package/IO/api.d.ts +247 -225
- package/IO/definition.d.ts +12 -25
- package/IO.d.ts +3 -1
- package/Random/definition.d.ts +1 -0
- package/Ref/Synchronized/api.d.ts +1 -1
- package/Semaphore/Reservation.d.ts +15 -0
- package/Semaphore/constructors.d.ts +13 -0
- package/Semaphore/definition.d.ts +29 -0
- package/Semaphore.d.ts +3 -40
- package/Stream/api.d.ts +164 -164
- package/_cjs/Cached/api.cjs +1 -2
- package/_cjs/Cached/api.cjs.map +1 -1
- package/_cjs/Cached/internal.cjs +1 -2
- package/_cjs/Cached/internal.cjs.map +1 -1
- package/_cjs/Channel/api/interruptWhen.cjs +1 -2
- package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs +2 -3
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAll.cjs +1 -2
- package/_cjs/Channel/api/mergeAll.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllUnboundedWith.cjs +1 -2
- package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +2 -3
- package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeMap.cjs +1 -2
- package/_cjs/Channel/api/mergeMap.cjs.map +1 -1
- package/_cjs/Channel/api/mergeWith.cjs +1 -2
- package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
- package/_cjs/Channel/api/run.cjs +1 -2
- package/_cjs/Channel/api/run.cjs.map +1 -1
- package/_cjs/Channel/api/runCollect.cjs +1 -2
- package/_cjs/Channel/api/runCollect.cjs.map +1 -1
- package/_cjs/Channel/api/runDrain.cjs +1 -2
- package/_cjs/Channel/api/runDrain.cjs.map +1 -1
- package/_cjs/Channel/api/runScoped.cjs +3 -4
- package/_cjs/Channel/api/runScoped.cjs.map +1 -1
- package/_cjs/Channel/api/toPull.cjs +2 -3
- package/_cjs/Channel/api/toPull.cjs.map +1 -1
- package/_cjs/Channel/api/zipConcurrent.cjs +1 -2
- package/_cjs/Channel/api/zipConcurrent.cjs.map +1 -1
- package/_cjs/Channel/api.cjs +206 -207
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Channel/core-api.cjs +43 -42
- package/_cjs/Channel/core-api.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelExecutor.cjs +4 -5
- package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelState.cjs +1 -2
- package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +1 -2
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
- package/_cjs/Clock/api.cjs +1 -2
- package/_cjs/Clock/api.cjs.map +1 -1
- package/_cjs/Clock/definition.cjs +1 -2
- package/_cjs/Clock/definition.cjs.map +1 -1
- package/_cjs/Clock/live.cjs +1 -2
- package/_cjs/Clock/live.cjs.map +1 -1
- package/_cjs/Console/api.cjs +1 -2
- package/_cjs/Console/api.cjs.map +1 -1
- package/_cjs/Console/definition.cjs +2 -2
- package/_cjs/Console/definition.cjs.map +1 -1
- package/_cjs/Console/live.cjs +1 -2
- package/_cjs/Console/live.cjs.map +1 -1
- package/_cjs/CountdownLatch.cjs +3 -3
- package/_cjs/CountdownLatch.cjs.map +1 -1
- package/_cjs/Differ/api.cjs +1 -2
- package/_cjs/Differ/api.cjs.map +1 -1
- package/_cjs/Fiber/FiberMessage.cjs +3 -24
- package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
- package/_cjs/Fiber/FiberRuntime.cjs +879 -636
- package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
- package/_cjs/Fiber/api/awaitAll.cjs +1 -2
- package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
- package/_cjs/Fiber/api/collectAll.cjs +2 -3
- package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
- package/_cjs/Fiber/api/fromIO.cjs +1 -2
- package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
- package/_cjs/Fiber/api/interrupt.cjs +2 -3
- package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptAll.cjs +2 -3
- package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptAs.cjs +5 -10
- package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptFork.cjs +2 -3
- package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
- package/_cjs/Fiber/api/join.cjs +1 -2
- package/_cjs/Fiber/api/join.cjs.map +1 -1
- package/_cjs/Fiber/api/joinAll.cjs +1 -2
- package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
- package/_cjs/Fiber/api/mapFiber.cjs +1 -2
- package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
- package/_cjs/Fiber/api/mapIO.cjs +2 -3
- package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
- package/_cjs/Fiber/api/zipWith.cjs +2 -3
- package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
- package/_cjs/Fiber/constructors.cjs +2 -3
- package/_cjs/Fiber/constructors.cjs.map +1 -1
- package/_cjs/Fiber/definition.cjs +6 -4
- package/_cjs/Fiber/definition.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScoped.cjs +1 -2
- package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScopedWith.cjs +1 -2
- package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
- package/_cjs/FiberRef/constructors.cjs +1 -2
- package/_cjs/FiberRef/constructors.cjs.map +1 -1
- package/_cjs/FiberRef/definition.cjs +1 -2
- package/_cjs/FiberRef/definition.cjs.map +1 -1
- package/_cjs/FiberRef/operations.cjs +1 -2
- package/_cjs/FiberRef/operations.cjs.map +1 -1
- package/_cjs/FiberRef/unsafe.cjs +1 -2
- package/_cjs/FiberRef/unsafe.cjs.map +1 -1
- package/_cjs/FiberRefs/Patch.cjs +1 -2
- package/_cjs/FiberRefs/Patch.cjs.map +1 -1
- package/_cjs/FiberRefs/api.cjs +1 -2
- package/_cjs/FiberRefs/api.cjs.map +1 -1
- package/_cjs/FiberRefs/definition.cjs +1 -2
- package/_cjs/FiberRefs/definition.cjs.map +1 -1
- package/_cjs/FiberScope/definition.cjs +29 -6
- package/_cjs/FiberScope/definition.cjs.map +1 -1
- package/_cjs/FiberSet.cjs +16 -15
- package/_cjs/FiberSet.cjs.map +1 -1
- package/_cjs/FiberStatus/definition.cjs +1 -2
- package/_cjs/FiberStatus/definition.cjs.map +1 -1
- package/_cjs/Future/State.cjs +108 -0
- package/_cjs/Future/State.cjs.map +1 -0
- package/_cjs/Future/api.cjs +71 -64
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/Future/constructors.cjs +3 -4
- package/_cjs/Future/constructors.cjs.map +1 -1
- package/_cjs/Future/definition.cjs +1 -15
- package/_cjs/Future/definition.cjs.map +1 -1
- package/_cjs/Future.cjs +11 -0
- package/_cjs/Future.cjs.map +1 -1
- package/_cjs/Hub/api.cjs +56 -57
- package/_cjs/Hub/api.cjs.map +1 -1
- package/_cjs/Hub/internal.cjs +1 -2
- package/_cjs/Hub/internal.cjs.map +1 -1
- package/_cjs/IO/api/acquireRelease.cjs +1 -2
- package/_cjs/IO/api/acquireRelease.cjs.map +1 -1
- package/_cjs/IO/api/acquireReleaseExit.cjs +1 -2
- package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
- package/_cjs/IO/api/acquireReleaseInterruptible.cjs +1 -2
- package/_cjs/IO/api/acquireReleaseInterruptible.cjs.map +1 -1
- package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs +1 -2
- package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
- package/_cjs/IO/api/addFinalizer.cjs +1 -2
- package/_cjs/IO/api/addFinalizer.cjs.map +1 -1
- package/_cjs/IO/api/addFinalizerExit.cjs +1 -2
- package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
- package/_cjs/IO/api/all.cjs +1 -2
- package/_cjs/IO/api/all.cjs.map +1 -1
- package/_cjs/IO/api/array.cjs +51 -0
- package/_cjs/IO/api/array.cjs.map +1 -0
- package/_cjs/IO/api/asyncIO.cjs +1 -2
- package/_cjs/IO/api/asyncIO.cjs.map +1 -1
- package/_cjs/IO/api/asyncInterrupt.cjs +1 -2
- package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
- package/_cjs/IO/api/awaitAllChildren.cjs +17 -0
- package/_cjs/IO/api/awaitAllChildren.cjs.map +1 -0
- package/_cjs/IO/api/blocking.cjs +1 -2
- package/_cjs/IO/api/blocking.cjs.map +1 -1
- package/_cjs/IO/api/bracket.cjs +1 -2
- package/_cjs/IO/api/bracket.cjs.map +1 -1
- package/_cjs/IO/api/bracketExit.cjs +1 -2
- package/_cjs/IO/api/bracketExit.cjs.map +1 -1
- package/_cjs/IO/api/cachedInvalidate.cjs +47 -0
- package/_cjs/IO/api/cachedInvalidate.cjs.map +1 -0
- package/_cjs/IO/api/clockWith.cjs +1 -2
- package/_cjs/IO/api/clockWith.cjs.map +1 -1
- package/_cjs/IO/api/concurrency.cjs +1 -2
- package/_cjs/IO/api/concurrency.cjs.map +1 -1
- package/_cjs/IO/api/concurrentFinalizers.cjs +1 -2
- package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
- package/_cjs/IO/api/consoleWith.cjs +1 -2
- package/_cjs/IO/api/consoleWith.cjs.map +1 -1
- package/_cjs/IO/api/daemonChildren.cjs +1 -2
- package/_cjs/IO/api/daemonChildren.cjs.map +1 -1
- package/_cjs/IO/api/delay.cjs +1 -2
- package/_cjs/IO/api/delay.cjs.map +1 -1
- package/_cjs/IO/api/descriptor.cjs +1 -2
- package/_cjs/IO/api/descriptor.cjs.map +1 -1
- package/_cjs/IO/api/diffFiberRefs.cjs +1 -2
- package/_cjs/IO/api/diffFiberRefs.cjs.map +1 -1
- package/_cjs/IO/api/disconnect.cjs +2 -3
- package/_cjs/IO/api/disconnect.cjs.map +1 -1
- package/_cjs/IO/api/ensuringChildren.cjs +1 -2
- package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
- package/_cjs/IO/api/environment.cjs +1 -2
- package/_cjs/IO/api/environment.cjs.map +1 -1
- package/_cjs/IO/api/foreachConcurrent.cjs +36 -30
- package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
- package/_cjs/IO/api/foreachExec.cjs +1 -2
- package/_cjs/IO/api/foreachExec.cjs.map +1 -1
- package/_cjs/IO/api/fork.cjs +2 -3
- package/_cjs/IO/api/fork.cjs.map +1 -1
- package/_cjs/IO/api/forkAll.cjs +1 -2
- package/_cjs/IO/api/forkAll.cjs.map +1 -1
- package/_cjs/IO/api/forkDaemon.cjs +5 -6
- package/_cjs/IO/api/forkDaemon.cjs.map +1 -1
- package/_cjs/IO/api/forkIn.cjs +1 -2
- package/_cjs/IO/api/forkIn.cjs.map +1 -1
- package/_cjs/IO/api/forkScoped.cjs +1 -2
- package/_cjs/IO/api/forkScoped.cjs.map +1 -1
- package/_cjs/IO/api/fulfill.cjs +1 -2
- package/_cjs/IO/api/fulfill.cjs.map +1 -1
- package/_cjs/IO/api/interrupt.cjs +4 -5
- package/_cjs/IO/api/interrupt.cjs.map +1 -1
- package/_cjs/IO/api/memoize.cjs +1 -2
- package/_cjs/IO/api/memoize.cjs.map +1 -1
- package/_cjs/IO/api/onTermination.cjs +2 -3
- package/_cjs/IO/api/onTermination.cjs.map +1 -1
- package/_cjs/IO/api/once.cjs +1 -2
- package/_cjs/IO/api/once.cjs.map +1 -1
- package/_cjs/IO/api/patchFiberRefs.cjs +1 -2
- package/_cjs/IO/api/patchFiberRefs.cjs.map +1 -1
- package/_cjs/IO/api/provideLayer.cjs +1 -2
- package/_cjs/IO/api/provideLayer.cjs.map +1 -1
- package/_cjs/IO/api/provideScope.cjs +1 -2
- package/_cjs/IO/api/provideScope.cjs.map +1 -1
- package/_cjs/IO/api/provideSomeLayer.cjs +1 -2
- package/_cjs/IO/api/provideSomeLayer.cjs.map +1 -1
- package/_cjs/IO/api/provideSomeRuntime.cjs +1 -2
- package/_cjs/IO/api/provideSomeRuntime.cjs.map +1 -1
- package/_cjs/IO/api/race.cjs +2 -3
- package/_cjs/IO/api/race.cjs.map +1 -1
- package/_cjs/IO/api/raceFirst.cjs +1 -2
- package/_cjs/IO/api/raceFirst.cjs.map +1 -1
- package/_cjs/IO/api/raceWith.cjs +1 -2
- package/_cjs/IO/api/raceWith.cjs.map +1 -1
- package/_cjs/IO/api/randomWith.cjs +1 -2
- package/_cjs/IO/api/randomWith.cjs.map +1 -1
- package/_cjs/IO/api/repeat.cjs +1 -2
- package/_cjs/IO/api/repeat.cjs.map +1 -1
- package/_cjs/IO/api/retry.cjs +1 -2
- package/_cjs/IO/api/retry.cjs.map +1 -1
- package/_cjs/IO/api/schedule.cjs +1 -2
- package/_cjs/IO/api/schedule.cjs.map +1 -1
- package/_cjs/IO/api/scope.cjs +1 -2
- package/_cjs/IO/api/scope.cjs.map +1 -1
- package/_cjs/IO/api/scopeWith.cjs +1 -2
- package/_cjs/IO/api/scopeWith.cjs.map +1 -1
- package/_cjs/IO/api/scoped.cjs +1 -2
- package/_cjs/IO/api/scoped.cjs.map +1 -1
- package/_cjs/IO/api/sleep.cjs +1 -2
- package/_cjs/IO/api/sleep.cjs.map +1 -1
- package/_cjs/IO/api/stateful.cjs +1 -2
- package/_cjs/IO/api/stateful.cjs.map +1 -1
- package/_cjs/IO/api/supervised.cjs +1 -2
- package/_cjs/IO/api/supervised.cjs.map +1 -1
- package/_cjs/IO/api/timeout.cjs +9 -11
- package/_cjs/IO/api/timeout.cjs.map +1 -1
- package/_cjs/IO/api/transplant.cjs +22 -7
- package/_cjs/IO/api/transplant.cjs.map +1 -1
- package/_cjs/IO/api/whenFiberRef.cjs +1 -2
- package/_cjs/IO/api/whenFiberRef.cjs.map +1 -1
- package/_cjs/IO/api/whenRef.cjs +1 -2
- package/_cjs/IO/api/whenRef.cjs.map +1 -1
- package/_cjs/IO/api/withChildren.cjs +1 -2
- package/_cjs/IO/api/withChildren.cjs.map +1 -1
- package/_cjs/IO/api/withEarlyRelease.cjs +1 -2
- package/_cjs/IO/api/withEarlyRelease.cjs.map +1 -1
- package/_cjs/IO/api/withFinalizer.cjs +1 -2
- package/_cjs/IO/api/withFinalizer.cjs.map +1 -1
- package/_cjs/IO/api/withFinalizerExit.cjs +1 -2
- package/_cjs/IO/api/withFinalizerExit.cjs.map +1 -1
- package/_cjs/IO/api/zipConcurrent.cjs +5 -6
- package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
- package/_cjs/IO/api.cjs +522 -473
- package/_cjs/IO/api.cjs.map +1 -1
- package/_cjs/IO/definition.cjs +2 -3
- package/_cjs/IO/definition.cjs.map +1 -1
- package/_cjs/IO/runtime.cjs +9 -10
- package/_cjs/IO/runtime.cjs.map +1 -1
- package/_cjs/IO.cjs +33 -11
- package/_cjs/IO.cjs.map +1 -1
- package/_cjs/IOEnv/definition.cjs +1 -2
- package/_cjs/IOEnv/definition.cjs.map +1 -1
- package/_cjs/IOEnv/live.cjs +1 -2
- package/_cjs/IOEnv/live.cjs.map +1 -1
- package/_cjs/IOEnv/services.cjs +1 -2
- package/_cjs/IOEnv/services.cjs.map +1 -1
- package/_cjs/Layer/MemoMap.cjs +1 -2
- package/_cjs/Layer/MemoMap.cjs.map +1 -1
- package/_cjs/Layer/api.cjs +1 -2
- package/_cjs/Layer/api.cjs.map +1 -1
- package/_cjs/Logger/api.cjs +1 -2
- package/_cjs/Logger/api.cjs.map +1 -1
- package/_cjs/Logger/constructors.cjs +1 -2
- package/_cjs/Logger/constructors.cjs.map +1 -1
- package/_cjs/MVar/api.cjs +1 -2
- package/_cjs/MVar/api.cjs.map +1 -1
- package/_cjs/Push/api.cjs +2 -3
- package/_cjs/Push/api.cjs.map +1 -1
- package/_cjs/Push/internal.cjs +1 -2
- package/_cjs/Push/internal.cjs.map +1 -1
- package/_cjs/Queue/api/dimapIO.cjs +1 -2
- package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
- package/_cjs/Queue/api/filterInputIO.cjs +1 -2
- package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
- package/_cjs/Queue/api/filterOutputIO.cjs +1 -2
- package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
- package/_cjs/Queue/api/poll.cjs +1 -2
- package/_cjs/Queue/api/poll.cjs.map +1 -1
- package/_cjs/Queue/api/takeBetween.cjs +1 -2
- package/_cjs/Queue/api/takeBetween.cjs.map +1 -1
- package/_cjs/Queue/api/takeN.cjs +1 -2
- package/_cjs/Queue/api/takeN.cjs.map +1 -1
- package/_cjs/Queue/api/zipWithIO.cjs +1 -2
- package/_cjs/Queue/api/zipWithIO.cjs.map +1 -1
- package/_cjs/Queue/constructors.cjs +1 -2
- package/_cjs/Queue/constructors.cjs.map +1 -1
- package/_cjs/Queue/internal.cjs +1 -2
- package/_cjs/Queue/internal.cjs.map +1 -1
- package/_cjs/Queue/strategy.cjs +1 -2
- package/_cjs/Queue/strategy.cjs.map +1 -1
- package/_cjs/Random/api.cjs +1 -2
- package/_cjs/Random/api.cjs.map +1 -1
- package/_cjs/Random/definition.cjs +2 -2
- package/_cjs/Random/definition.cjs.map +1 -1
- package/_cjs/Random/live.cjs +1 -2
- package/_cjs/Random/live.cjs.map +1 -1
- package/_cjs/Ref/Atomic.cjs +1 -2
- package/_cjs/Ref/Atomic.cjs.map +1 -1
- package/_cjs/Ref/Derived.cjs +1 -2
- package/_cjs/Ref/Derived.cjs.map +1 -1
- package/_cjs/Ref/DerivedAll.cjs +1 -2
- package/_cjs/Ref/DerivedAll.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/api.cjs +2 -3
- package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/constructors.cjs +2 -3
- package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/definition.cjs +2 -3
- package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
- package/_cjs/Ref/api/collect.cjs +1 -2
- package/_cjs/Ref/api/collect.cjs.map +1 -1
- package/_cjs/Ref/api/dimap.cjs +1 -2
- package/_cjs/Ref/api/dimap.cjs.map +1 -1
- package/_cjs/Ref/api/filter.cjs +1 -2
- package/_cjs/Ref/api/filter.cjs.map +1 -1
- package/_cjs/Ref/api/modify.cjs +1 -2
- package/_cjs/Ref/api/modify.cjs.map +1 -1
- package/_cjs/Ref/api.cjs +1 -2
- package/_cjs/Ref/api.cjs.map +1 -1
- package/_cjs/Ref/constructors.cjs +1 -2
- package/_cjs/Ref/constructors.cjs.map +1 -1
- package/_cjs/RefSubject/Atomic.cjs +1 -2
- package/_cjs/RefSubject/Atomic.cjs.map +1 -1
- package/_cjs/RefSubject/Synchronized/api.cjs +1 -2
- package/_cjs/RefSubject/Synchronized/api.cjs.map +1 -1
- package/_cjs/RefSubject/Synchronized/definition.cjs +1 -2
- package/_cjs/RefSubject/Synchronized/definition.cjs.map +1 -1
- package/_cjs/RefSubject/api.cjs +1 -2
- package/_cjs/RefSubject/api.cjs.map +1 -1
- package/_cjs/Reloadable/api.cjs +1 -2
- package/_cjs/Reloadable/api.cjs.map +1 -1
- package/_cjs/Reloadable/constructors.cjs +1 -2
- package/_cjs/Reloadable/constructors.cjs.map +1 -1
- package/_cjs/Reloadable/definition.cjs +1 -2
- package/_cjs/Reloadable/definition.cjs.map +1 -1
- package/_cjs/RuntimeFlags/Patch.cjs +1 -2
- package/_cjs/RuntimeFlags/Patch.cjs.map +1 -1
- package/_cjs/RuntimeFlags/RuntimeFlags.cjs +1 -2
- package/_cjs/RuntimeFlags/RuntimeFlags.cjs.map +1 -1
- package/_cjs/STM/api/atomically.cjs +1 -2
- package/_cjs/STM/api/atomically.cjs.map +1 -1
- package/_cjs/STM/api/core-api.cjs +1 -2
- package/_cjs/STM/api/core-api.cjs.map +1 -1
- package/_cjs/STM/api.cjs +1 -2
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/STM/definition.cjs +2 -3
- package/_cjs/STM/definition.cjs.map +1 -1
- package/_cjs/STM/driver.cjs +1 -2
- package/_cjs/STM/driver.cjs.map +1 -1
- package/_cjs/STM/internal/CommitState.cjs +1 -2
- package/_cjs/STM/internal/CommitState.cjs.map +1 -1
- package/_cjs/STM/internal/Journal.cjs +1 -2
- package/_cjs/STM/internal/Journal.cjs.map +1 -1
- package/_cjs/Schedule/Decision.cjs +1 -2
- package/_cjs/Schedule/Decision.cjs.map +1 -1
- package/_cjs/Schedule/api/driver.cjs +1 -2
- package/_cjs/Schedule/api/driver.cjs.map +1 -1
- package/_cjs/Schedule/api.cjs +1 -2
- package/_cjs/Schedule/api.cjs.map +1 -1
- package/_cjs/Scope/Finalizer/definition.cjs +1 -2
- package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +1 -2
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api.cjs +1 -2
- package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/constructors.cjs +1 -2
- package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/definition.cjs +1 -2
- package/_cjs/Scope/ReleaseMap/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 +1 -2
- package/_cjs/Scope/definition.cjs.map +1 -1
- package/_cjs/ScopedRef/api.cjs +2 -3
- package/_cjs/ScopedRef/api.cjs.map +1 -1
- package/_cjs/Semaphore/Reservation.cjs +24 -0
- package/_cjs/Semaphore/Reservation.cjs.map +1 -0
- package/_cjs/Semaphore/constructors.cjs +25 -0
- package/_cjs/Semaphore/constructors.cjs.map +1 -0
- package/_cjs/Semaphore/definition.cjs +149 -0
- package/_cjs/Semaphore/definition.cjs.map +1 -0
- package/_cjs/Semaphore.cjs +31 -138
- package/_cjs/Semaphore.cjs.map +1 -1
- package/_cjs/Sink/api.cjs +1 -2
- package/_cjs/Sink/api.cjs.map +1 -1
- package/_cjs/State/api.cjs +1 -2
- package/_cjs/State/api.cjs.map +1 -1
- package/_cjs/Stream/api/zipAllWith.cjs +1 -2
- package/_cjs/Stream/api/zipAllWith.cjs.map +1 -1
- package/_cjs/Stream/api/zipWith.cjs +1 -2
- package/_cjs/Stream/api/zipWith.cjs.map +1 -1
- package/_cjs/Stream/api/zipWithChunks.cjs +1 -2
- package/_cjs/Stream/api/zipWithChunks.cjs.map +1 -1
- package/_cjs/Stream/api.cjs +702 -703
- package/_cjs/Stream/api.cjs.map +1 -1
- package/_cjs/Stream/internal/Handoff.cjs +1 -2
- package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
- package/_cjs/Stream/internal/Pull.cjs +1 -2
- package/_cjs/Stream/internal/Pull.cjs.map +1 -1
- package/_cjs/Stream/internal/Take.cjs +1 -2
- package/_cjs/Stream/internal/Take.cjs.map +1 -1
- package/_cjs/Stream/internal/util.cjs +1 -2
- package/_cjs/Stream/internal/util.cjs.map +1 -1
- package/_cjs/Subject/Atomic.cjs +1 -2
- package/_cjs/Subject/Atomic.cjs.map +1 -1
- package/_cjs/Subject/api.cjs +1 -2
- package/_cjs/Subject/api.cjs.map +1 -1
- package/_cjs/SubscriptionRef.cjs +2 -3
- package/_cjs/SubscriptionRef.cjs.map +1 -1
- package/_cjs/Supervisor/api.cjs +1 -2
- package/_cjs/Supervisor/api.cjs.map +1 -1
- package/_cjs/Supervisor/constructors.cjs +1 -2
- package/_cjs/Supervisor/constructors.cjs.map +1 -1
- package/_cjs/Supervisor/definition.cjs +1 -2
- package/_cjs/Supervisor/definition.cjs.map +1 -1
- package/_cjs/SupervisorPatch.cjs +1 -2
- package/_cjs/SupervisorPatch.cjs.map +1 -1
- package/_cjs/TExit/definition.cjs +1 -2
- package/_cjs/TExit/definition.cjs.map +1 -1
- package/_cjs/TFuture/api.cjs +1 -2
- package/_cjs/TFuture/api.cjs.map +1 -1
- package/_cjs/TFuture/constructors.cjs +1 -2
- package/_cjs/TFuture/constructors.cjs.map +1 -1
- package/_cjs/TFuture/definition.cjs +1 -2
- package/_cjs/TFuture/definition.cjs.map +1 -1
- package/_cjs/TReentrantLock/api.cjs +1 -2
- package/_cjs/TReentrantLock/api.cjs.map +1 -1
- package/_cjs/TReentrantLock/definition.cjs +1 -2
- package/_cjs/TReentrantLock/definition.cjs.map +1 -1
- package/_cjs/TRef/api.cjs +1 -2
- package/_cjs/TRef/api.cjs.map +1 -1
- package/_cjs/TRef/constructors.cjs +1 -2
- package/_cjs/TRef/constructors.cjs.map +1 -1
- package/_cjs/TRef/definition.cjs +1 -2
- package/_cjs/TRef/definition.cjs.map +1 -1
- package/_cjs/TSemaphore/api.cjs +1 -2
- package/_cjs/TSemaphore/api.cjs.map +1 -1
- package/_cjs/TSemaphore/constructors.cjs +1 -2
- package/_cjs/TSemaphore/constructors.cjs.map +1 -1
- package/_cjs/TSemaphore/definition.cjs +1 -2
- package/_cjs/TSemaphore/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +1 -2
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +1 -2
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/filterIO.cjs +1 -2
- package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/findIO.cjs +1 -2
- package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/mapIO.cjs +1 -2
- package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +1 -2
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
- package/_cjs/data/Exit/foreachIO.cjs +1 -2
- package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
- package/_cjs/internal/HashedPair.cjs +1 -2
- package/_cjs/internal/HashedPair.cjs.map +1 -1
- package/_cjs/internal/Hub.cjs +1 -2
- package/_cjs/internal/Hub.cjs.map +1 -1
- package/_cjs/internal/MutableQueue.cjs +1 -2
- package/_cjs/internal/MutableQueue.cjs.map +1 -1
- package/_cjs/internal/Scheduler.cjs +1 -2
- package/_cjs/internal/Scheduler.cjs.map +1 -1
- package/_cjs/internal/StackTraceBuilder.cjs +1 -2
- package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
- package/_mjs/Cached/api.mjs.map +1 -1
- package/_mjs/Channel/api/mapOutConcurrentIO.mjs +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +1 -1
- package/_mjs/Channel/api/runScoped.mjs +2 -2
- package/_mjs/Channel/api/runScoped.mjs.map +1 -1
- package/_mjs/Channel/api/toPull.mjs +1 -1
- package/_mjs/Channel/api/toPull.mjs.map +1 -1
- package/_mjs/Channel/api.mjs +205 -205
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Channel/core-api.mjs +43 -42
- package/_mjs/Channel/core-api.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelExecutor.mjs +3 -3
- package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
- package/_mjs/Console/definition.mjs +1 -0
- package/_mjs/Console/definition.mjs.map +1 -1
- package/_mjs/CountdownLatch.mjs +2 -1
- package/_mjs/CountdownLatch.mjs.map +1 -1
- package/_mjs/Fiber/FiberMessage.mjs +2 -20
- package/_mjs/Fiber/FiberMessage.mjs.map +1 -1
- package/_mjs/Fiber/FiberRuntime.mjs +877 -633
- package/_mjs/Fiber/FiberRuntime.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/interrupt.mjs +1 -1
- package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptAll.mjs +1 -1
- package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptAs.mjs +4 -7
- package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptFork.mjs +1 -1
- package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
- package/_mjs/Fiber/api/mapIO.mjs +1 -1
- package/_mjs/Fiber/api/mapIO.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 +1 -1
- package/_mjs/Fiber/constructors.mjs.map +1 -1
- package/_mjs/Fiber/definition.mjs +5 -2
- package/_mjs/Fiber/definition.mjs.map +1 -1
- package/_mjs/FiberScope/definition.mjs +28 -4
- package/_mjs/FiberScope/definition.mjs.map +1 -1
- package/_mjs/FiberSet.mjs +14 -12
- package/_mjs/FiberSet.mjs.map +1 -1
- package/_mjs/Future/State.mjs +96 -0
- package/_mjs/Future/State.mjs.map +1 -0
- package/_mjs/Future/api.mjs +67 -61
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/Future/constructors.mjs +3 -3
- package/_mjs/Future/constructors.mjs.map +1 -1
- package/_mjs/Future/definition.mjs +0 -12
- package/_mjs/Future/definition.mjs.map +1 -1
- package/_mjs/Future.mjs +1 -0
- package/_mjs/Future.mjs.map +1 -1
- package/_mjs/Hub/api.mjs +55 -55
- package/_mjs/Hub/api.mjs.map +1 -1
- package/_mjs/IO/api/array.mjs +42 -0
- package/_mjs/IO/api/array.mjs.map +1 -0
- package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
- package/_mjs/IO/api/awaitAllChildren.mjs +10 -0
- package/_mjs/IO/api/awaitAllChildren.mjs.map +1 -0
- package/_mjs/IO/api/cachedInvalidate.mjs +39 -0
- package/_mjs/IO/api/cachedInvalidate.mjs.map +1 -0
- package/_mjs/IO/api/disconnect.mjs +1 -1
- package/_mjs/IO/api/disconnect.mjs.map +1 -1
- package/_mjs/IO/api/foreachConcurrent.mjs +35 -28
- package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
- package/_mjs/IO/api/fork.mjs +1 -1
- package/_mjs/IO/api/fork.mjs.map +1 -1
- package/_mjs/IO/api/forkDaemon.mjs +4 -4
- package/_mjs/IO/api/forkDaemon.mjs.map +1 -1
- package/_mjs/IO/api/interrupt.mjs +3 -3
- package/_mjs/IO/api/onTermination.mjs +1 -1
- 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/timeout.mjs +8 -9
- package/_mjs/IO/api/timeout.mjs.map +1 -1
- package/_mjs/IO/api/transplant.mjs +19 -5
- package/_mjs/IO/api/transplant.mjs.map +1 -1
- package/_mjs/IO/api/zipConcurrent.mjs +4 -4
- package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
- package/_mjs/IO/api.mjs +515 -468
- package/_mjs/IO/api.mjs.map +1 -1
- package/_mjs/IO/definition.mjs +1 -1
- package/_mjs/IO/definition.mjs.map +1 -1
- package/_mjs/IO/runtime.mjs +8 -8
- package/_mjs/IO/runtime.mjs.map +1 -1
- package/_mjs/IO.mjs +3 -1
- package/_mjs/IO.mjs.map +1 -1
- package/_mjs/IOEnv/definition.mjs.map +1 -1
- package/_mjs/Push/api.mjs +1 -1
- package/_mjs/Random/definition.mjs +1 -0
- package/_mjs/Random/definition.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/api.mjs +1 -1
- package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/constructors.mjs +1 -1
- package/_mjs/Ref/Synchronized/definition.mjs +1 -1
- package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
- package/_mjs/STM/definition.mjs +1 -1
- package/_mjs/ScopedRef/api.mjs +1 -1
- package/_mjs/ScopedRef/api.mjs.map +1 -1
- package/_mjs/Semaphore/Reservation.mjs +16 -0
- package/_mjs/Semaphore/Reservation.mjs.map +1 -0
- package/_mjs/Semaphore/constructors.mjs +17 -0
- package/_mjs/Semaphore/constructors.mjs.map +1 -0
- package/_mjs/Semaphore/definition.mjs +141 -0
- package/_mjs/Semaphore/definition.mjs.map +1 -0
- package/_mjs/Semaphore.mjs +4 -133
- package/_mjs/Semaphore.mjs.map +1 -1
- package/_mjs/Stream/api.mjs +701 -701
- package/_mjs/Stream/api.mjs.map +1 -1
- package/_mjs/SubscriptionRef.mjs +1 -1
- package/_src/Cached/api.ts +3 -3
- package/_src/Channel/api/toPull.ts +1 -1
- package/_src/Channel/api.ts +273 -272
- package/_src/Channel/core-api.ts +57 -55
- package/_src/Channel/internal/ChannelExecutor.ts +3 -3
- package/_src/Console/definition.ts +1 -0
- package/_src/CountdownLatch.ts +2 -0
- package/_src/Fiber/FiberMessage.ts +3 -28
- package/_src/Fiber/FiberRuntime.ts +988 -616
- package/_src/Fiber/api/interruptAs.ts +4 -3
- package/_src/Fiber/constructors.ts +1 -1
- package/_src/Fiber/definition.ts +4 -0
- package/_src/FiberScope/definition.ts +40 -2
- package/_src/FiberSet.ts +6 -2
- package/_src/Future/State.ts +128 -0
- package/_src/Future/api.ts +62 -51
- package/_src/Future/constructors.ts +4 -2
- package/_src/Future/definition.ts +2 -17
- package/_src/Future.ts +4 -3
- package/_src/Hub/api.ts +61 -61
- package/_src/IO/api/addFinalizerExit.ts +4 -4
- package/_src/IO/api/array.ts +49 -0
- package/_src/IO/api/asyncInterrupt.ts +1 -1
- package/_src/IO/api/awaitAllChildren.ts +6 -0
- package/_src/IO/api/cachedInvalidate.ts +42 -0
- package/_src/IO/api/foreachConcurrent.ts +39 -23
- package/_src/IO/api/fork.ts +1 -1
- package/_src/IO/api/forkDaemon.ts +2 -2
- package/_src/IO/api/memoize.ts +3 -3
- package/_src/IO/api/onTermination.ts +2 -2
- package/_src/IO/api/transplant.ts +26 -3
- package/_src/IO/api/zipConcurrent.ts +2 -2
- package/_src/IO/api.ts +547 -525
- package/_src/IO/definition.ts +4 -28
- package/_src/IO/runtime.ts +0 -1
- package/_src/IO.ts +65 -63
- package/_src/IOEnv/definition.ts +1 -4
- package/_src/Random/definition.ts +1 -0
- package/_src/Ref/Synchronized/api.ts +2 -2
- package/_src/Ref/Synchronized/definition.ts +1 -1
- package/_src/Semaphore/Reservation.ts +15 -0
- package/_src/Semaphore/constructors.ts +14 -0
- package/_src/Semaphore/definition.ts +180 -0
- package/_src/Semaphore.ts +5 -159
- package/_src/Stream/api.ts +679 -679
- package/package.json +4 -4
- package/IO/api/sequenceT.d.ts +0 -26
- package/_cjs/IO/api/sequenceT.cjs +0 -18
- package/_cjs/IO/api/sequenceT.cjs.map +0 -1
- package/_mjs/IO/api/sequenceT.mjs +0 -10
- package/_mjs/IO/api/sequenceT.mjs.map +0 -1
- package/_src/IO/api/sequenceT.ts +0 -16
package/_cjs/IO/api.cjs
CHANGED
@@ -32,6 +32,7 @@ exports.deferTryCatch = deferTryCatch;
|
|
32
32
|
exports.either = void 0;
|
33
33
|
exports.errorAsCause = errorAsCause;
|
34
34
|
exports.eventually = void 0;
|
35
|
+
exports.exitWith = exitWith;
|
35
36
|
exports.extend = extend;
|
36
37
|
exports.filter = exports.fiberIdWith = exports.fiberId = exports.failNow = exports.failCauseNow = exports.failCause = exports.fail = void 0;
|
37
38
|
exports.filterMap = filterMap;
|
@@ -99,10 +100,12 @@ exports.orHaltKeep = orHaltKeep;
|
|
99
100
|
exports.orHaltWith = void 0;
|
100
101
|
exports.partition = partition;
|
101
102
|
exports.refailCause = void 0;
|
103
|
+
exports.refailCauseNow = refailCauseNow;
|
102
104
|
exports.refineOrHalt = refineOrHalt;
|
103
105
|
exports.refineOrHaltWith = void 0;
|
104
106
|
exports.reject = reject;
|
105
|
-
exports.
|
107
|
+
exports.rejectIO = void 0;
|
108
|
+
exports.repeatN_ = repeatN_;
|
106
109
|
exports.repeatUntil = repeatUntil;
|
107
110
|
exports.repeatUntilIO = void 0;
|
108
111
|
exports.repeatWhile = repeatWhile;
|
@@ -132,66 +135,62 @@ exports.updateFiberRefs = updateFiberRefs;
|
|
132
135
|
exports.updateRuntimeFlags = updateRuntimeFlags;
|
133
136
|
exports.via = void 0;
|
134
137
|
exports.when = when;
|
135
|
-
exports.yieldNow = exports.withFiberRuntime = exports.whenIO = void 0;
|
138
|
+
exports.yieldNow = exports.withFiberRuntime = exports.whileLoop = exports.whenIO = void 0;
|
136
139
|
exports.zip = zip;
|
137
140
|
exports.zipLeft = zipLeft;
|
138
141
|
exports.zipWith = exports.zipRight = void 0;
|
139
|
-
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/
|
140
|
-
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/
|
141
|
-
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/
|
142
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Cause/api"));
|
143
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
|
144
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/FiberId/constructors"));
|
142
145
|
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Either/destructors"));
|
143
|
-
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/
|
144
|
-
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/
|
146
|
+
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/api"));
|
147
|
+
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/util/predicates"));
|
145
148
|
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/RuntimeFlags/RuntimeFlags"));
|
146
149
|
var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/InterruptStatus/constructors"));
|
147
150
|
var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Either/constructors"));
|
148
|
-
var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/
|
149
|
-
var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/
|
150
|
-
var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/
|
151
|
-
var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/
|
152
|
-
var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/
|
153
|
-
var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/
|
154
|
-
var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/
|
151
|
+
var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/constructors"));
|
152
|
+
var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/Conc/api"));
|
153
|
+
var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/Iterable/api"));
|
154
|
+
var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/Conc/constructors"));
|
155
|
+
var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
|
156
|
+
var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/control/Eval/run"));
|
157
|
+
var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/api"));
|
158
|
+
var tsplus_module_17 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
|
155
159
|
var _exceptions = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/exceptions"));
|
156
|
-
var
|
157
|
-
var
|
158
|
-
var
|
159
|
-
var
|
160
|
-
var
|
161
|
-
var tsplus_module_22 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/ImmutableArray/api"));
|
162
|
-
var tsplus_module_23 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/constructors"));
|
160
|
+
var tsplus_module_18 = _exceptions;
|
161
|
+
var tsplus_module_19 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Trace/constructors"));
|
162
|
+
var tsplus_module_20 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/Conc/api/empty"));
|
163
|
+
var tsplus_module_21 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/List/api"));
|
164
|
+
var tsplus_module_22 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/ReadonlyArray/constructors"));
|
163
165
|
var _function = /*#__PURE__*/require("@fncts/base/data/function");
|
164
166
|
var _Showable = /*#__PURE__*/require("@fncts/base/data/Showable");
|
165
167
|
var _definition2 = /*#__PURE__*/require("@fncts/io/IO/definition");
|
166
|
-
function
|
167
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
168
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
168
169
|
const fileName_1 = "(@fncts/io) src/IO/api.ts";
|
169
|
-
const async = exports.async = async_1;
|
170
|
-
const zipRight = exports.zipRight = zipRight_1;
|
171
170
|
const as = exports.as = as_1;
|
172
171
|
const asJust = exports.asJust = asJust_1;
|
173
172
|
const asUnit = exports.asUnit = asUnit_1;
|
174
|
-
const
|
173
|
+
const async = exports.async = async_1;
|
175
174
|
const catchAll = exports.catchAll = catchAll_1;
|
176
175
|
const catchAllCause = exports.catchAllCause = catchAllCause_1;
|
177
|
-
const
|
176
|
+
const catchTagWith = exports.catchTagWith = catchTagWith_1;
|
178
177
|
const collectIO = exports.collectIO = collectIO_1;
|
179
178
|
const defer = exports.defer = defer_1;
|
180
179
|
const either = exports.either = either_1;
|
181
180
|
const eventually = exports.eventually = eventually_1;
|
182
181
|
const fail = exports.fail = fail_1;
|
183
|
-
const failNow = exports.failNow = failNow_1;
|
184
|
-
const refailCause = exports.refailCause = refailCause_1;
|
185
|
-
const failCauseNow = exports.failCauseNow = failCauseNow_1;
|
186
182
|
const failCause = exports.failCause = failCause_1;
|
183
|
+
const failCauseNow = exports.failCauseNow = failCauseNow_1;
|
184
|
+
const failNow = exports.failNow = failNow_1;
|
187
185
|
const fiberIdWith = exports.fiberIdWith = fiberIdWith_1;
|
188
186
|
const filter = exports.filter = filter_1;
|
189
187
|
const filterMapWithIndex = exports.filterMapWithIndex = filterMapWithIndex_1;
|
190
188
|
const filterOrElse = exports.filterOrElse = filterOrElse_1;
|
189
|
+
const flatMap = exports.flatMap = flatMap_1;
|
191
190
|
const foldLeft = exports.foldLeft = foldLeft_1;
|
192
191
|
const foreach = exports.foreach = foreach_1;
|
193
|
-
const foreachWithIndexDiscard = exports.foreachWithIndexDiscard = foreachWithIndexDiscard_1;
|
194
192
|
const foreachDiscard = exports.foreachDiscard = foreachDiscard_1;
|
193
|
+
const foreachWithIndexDiscard = exports.foreachWithIndexDiscard = foreachWithIndexDiscard_1;
|
195
194
|
const forever = exports.forever = forever_1;
|
196
195
|
const fromPromiseCatch = exports.fromPromiseCatch = fromPromiseCatch_1;
|
197
196
|
const getOrFailWith = exports.getOrFailWith = getOrFailWith_1;
|
@@ -203,21 +202,21 @@ const loop = exports.loop = loop_1;
|
|
203
202
|
const map = exports.map = map_1;
|
204
203
|
const mapError = exports.mapError = mapError_1;
|
205
204
|
const mapErrorCause = exports.mapErrorCause = mapErrorCause_1;
|
205
|
+
const match = exports.match = match_1;
|
206
206
|
const matchCauseIO = exports.matchCauseIO = matchCauseIO_1;
|
207
207
|
const matchIO = exports.matchIO = matchIO_1;
|
208
|
-
const
|
208
|
+
const refailCause = exports.refailCause = refailCause_1;
|
209
209
|
const orElse = exports.orElse = orElse_1;
|
210
210
|
const orHaltWith = exports.orHaltWith = orHaltWith_1;
|
211
211
|
const refineOrHaltWith = exports.refineOrHaltWith = refineOrHaltWith_1;
|
212
212
|
const rejectIO = exports.rejectIO = rejectIO_1;
|
213
|
-
const repeatN_ = exports.repeatN_ = repeatN_1;
|
214
213
|
const repeatUntilIO = exports.repeatUntilIO = repeatUntilIO_1;
|
215
214
|
const repeatWhileIO = exports.repeatWhileIO = repeatWhileIO_1;
|
216
215
|
const retryUntilIO = exports.retryUntilIO = retryUntilIO_1;
|
217
216
|
const retryWhileIO = exports.retryWhileIO = retryWhileIO_1;
|
218
217
|
const sandbox = exports.sandbox = sandbox_1;
|
219
|
-
const succeedNow = exports.succeedNow = succeedNow_1;
|
220
218
|
const succeed = exports.succeed = succeed_1;
|
219
|
+
const succeedNow = exports.succeedNow = succeedNow_1;
|
221
220
|
const summarized = exports.summarized = summarized_1;
|
222
221
|
const swap = exports.swap = swap_1;
|
223
222
|
const swapWith = exports.swapWith = swapWith_1;
|
@@ -225,23 +224,13 @@ const tryCatch = exports.tryCatch = tryCatch_1;
|
|
225
224
|
const tryOrElse = exports.tryOrElse = tryOrElse_1;
|
226
225
|
const unrefineWith = exports.unrefineWith = unrefineWith_1;
|
227
226
|
const unsandbox = exports.unsandbox = unsandbox_1;
|
227
|
+
const stackTrace = exports.stackTrace = stackTrace_1;
|
228
228
|
const whenIO = exports.whenIO = whenIO_1;
|
229
|
+
const whileLoop = exports.whileLoop = whileLoop_1;
|
229
230
|
const withFiberRuntime = exports.withFiberRuntime = withFiberRuntime_1;
|
230
|
-
const
|
231
|
+
const zipRight = exports.zipRight = zipRight_1;
|
231
232
|
const zipWith = exports.zipWith = zipWith_1;
|
232
233
|
const gen = exports.gen = gen_1;
|
233
|
-
/**
|
234
|
-
* Imports an asynchronous side-effect into a `IO`
|
235
|
-
*
|
236
|
-
* @tsplus static fncts.io.IOOps async
|
237
|
-
*/
|
238
|
-
function async_1(register, blockingOn = tsplus_module_1.none, __tsplusTrace) {
|
239
|
-
const io = new _definition2.IOPrimitive(3 /* IOTag.Async */);
|
240
|
-
io.i0 = register;
|
241
|
-
io.i1 = () => blockingOn;
|
242
|
-
io.trace = __tsplusTrace;
|
243
|
-
return io;
|
244
|
-
}
|
245
234
|
/**
|
246
235
|
* Attempts to convert defects into a failure, throwing away all information
|
247
236
|
* about the cause of the failure.
|
@@ -249,27 +238,7 @@ function async_1(register, blockingOn = tsplus_module_1.none, __tsplusTrace) {
|
|
249
238
|
* @tsplus pipeable fncts.io.IO absorbWith
|
250
239
|
*/
|
251
240
|
function absorbWith(f, __tsplusTrace) {
|
252
|
-
return ma => matchIO_1(cause => failNow_1(
|
253
|
-
}
|
254
|
-
/**
|
255
|
-
* @tsplus pipeable fncts.io.IO zipLeft
|
256
|
-
* @tsplus pipeable-operator fncts.io.IO <
|
257
|
-
*/
|
258
|
-
function zipLeft(fb, __tsplusTrace) {
|
259
|
-
return self => {
|
260
|
-
return flatMap_1(a => map_1(() => a, __tsplusTrace)(fb), __tsplusTrace)(self);
|
261
|
-
};
|
262
|
-
}
|
263
|
-
/**
|
264
|
-
* Combine two effectful actions, keeping only the result of the second
|
265
|
-
*
|
266
|
-
* @tsplus pipeable fncts.io.IO zipRight
|
267
|
-
* @tsplus pipeable-operator fncts.io.IO >
|
268
|
-
*/
|
269
|
-
function zipRight_1(fb, __tsplusTrace) {
|
270
|
-
return self => {
|
271
|
-
return flatMap_1(() => fb, __tsplusTrace)(self);
|
272
|
-
};
|
241
|
+
return ma => matchIO_1(cause => failNow_1(tsplus_module_1.squashWith(f)(cause), __tsplusTrace), succeedNow_1, __tsplusTrace)(sandbox_1(ma, __tsplusTrace));
|
273
242
|
}
|
274
243
|
/**
|
275
244
|
* @tsplus pipeable fncts.io.IO as
|
@@ -284,16 +253,16 @@ function as_1(b, __tsplusTrace) {
|
|
284
253
|
*
|
285
254
|
* @tsplus getter fncts.io.IO asJust
|
286
255
|
*/
|
287
|
-
function asJust_1(
|
288
|
-
return map_1(
|
256
|
+
function asJust_1(self, __tsplusTrace) {
|
257
|
+
return map_1(tsplus_module_2.just, __tsplusTrace)(self);
|
289
258
|
}
|
290
259
|
/**
|
291
260
|
* Maps the error value of this IO to an optional value.
|
292
261
|
*
|
293
262
|
* @tsplus getter fncts.io.IO asJustError
|
294
263
|
*/
|
295
|
-
function asJustError(
|
296
|
-
return mapError_1(
|
264
|
+
function asJustError(self, __tsplusTrace) {
|
265
|
+
return mapError_1(tsplus_module_2.just, __tsplusTrace)(self);
|
297
266
|
}
|
298
267
|
/**
|
299
268
|
* @tsplus getter fncts.io.IO asUnit
|
@@ -301,15 +270,27 @@ function asJustError(ma, __tsplusTrace) {
|
|
301
270
|
function asUnit_1(self, __tsplusTrace) {
|
302
271
|
return as_1(() => undefined, __tsplusTrace)(self);
|
303
272
|
}
|
273
|
+
/**
|
274
|
+
* Imports an asynchronous side-effect into a `IO`
|
275
|
+
*
|
276
|
+
* @tsplus static fncts.io.IOOps async
|
277
|
+
*/
|
278
|
+
function async_1(register, blockingOn = tsplus_module_3.none, __tsplusTrace) {
|
279
|
+
const io = new _definition2.IOPrimitive(3 /* IOTag.Async */);
|
280
|
+
io.i0 = register;
|
281
|
+
io.i1 = () => blockingOn;
|
282
|
+
io.trace = __tsplusTrace;
|
283
|
+
return io;
|
284
|
+
}
|
304
285
|
/**
|
305
286
|
* Returns an IO whose failure and success channels have been mapped by
|
306
287
|
* the specified pair of functions, `f` and `g`.
|
307
288
|
*
|
308
289
|
* @tsplus pipeable fncts.io.IO bimap
|
309
290
|
*/
|
310
|
-
function bimap(
|
291
|
+
function bimap(onFailure, onSuccess, __tsplusTrace) {
|
311
292
|
return self => {
|
312
|
-
return matchIO_1(e => failNow_1(
|
293
|
+
return matchIO_1(e => failNow_1(onFailure(e), __tsplusTrace), a => succeedNow_1(onSuccess(a), __tsplusTrace), __tsplusTrace)(self);
|
313
294
|
};
|
314
295
|
}
|
315
296
|
/**
|
@@ -320,22 +301,7 @@ function bimap(f, g, __tsplusTrace) {
|
|
320
301
|
*/
|
321
302
|
function bitap(onFailure, onSuccess, __tsplusTrace) {
|
322
303
|
return self => {
|
323
|
-
return matchCauseIO_1(cause => tsplus_module_4.match(e => flatMap_1(() => failCauseNow_1(cause, __tsplusTrace), __tsplusTrace)(onFailure(e)), () => failCauseNow_1(cause, __tsplusTrace))(
|
324
|
-
};
|
325
|
-
}
|
326
|
-
/**
|
327
|
-
* Recovers from the specified error
|
328
|
-
*
|
329
|
-
* @tsplus pipeable fncts.io.IO catch
|
330
|
-
*/
|
331
|
-
function catchTagWith_1(tag, k, f, __tsplusTrace) {
|
332
|
-
return ma => {
|
333
|
-
return catchAll_1(e => {
|
334
|
-
if (tsplus_module_5.isObject(e) && tag in e && e[tag] === k) {
|
335
|
-
return f(e);
|
336
|
-
}
|
337
|
-
return failNow_1(e, __tsplusTrace);
|
338
|
-
}, __tsplusTrace)(ma);
|
304
|
+
return matchCauseIO_1(cause => tsplus_module_4.match(e => flatMap_1(() => failCauseNow_1(cause, __tsplusTrace), __tsplusTrace)(onFailure(e)), () => failCauseNow_1(cause, __tsplusTrace))(tsplus_module_1.failureOrCause(cause)), a => zipRight_1(succeedNow_1(a, __tsplusTrace), __tsplusTrace)(onSuccess(a)), __tsplusTrace)(self);
|
339
305
|
};
|
340
306
|
}
|
341
307
|
/**
|
@@ -343,9 +309,9 @@ function catchTagWith_1(tag, k, f, __tsplusTrace) {
|
|
343
309
|
*
|
344
310
|
* @tsplus pipeable fncts.io.IO catchAll
|
345
311
|
*/
|
346
|
-
function catchAll_1(
|
347
|
-
return
|
348
|
-
return matchIO_1(
|
312
|
+
function catchAll_1(onFailure, __tsplusTrace) {
|
313
|
+
return self => {
|
314
|
+
return matchIO_1(onFailure, succeedNow_1, __tsplusTrace)(self);
|
349
315
|
};
|
350
316
|
}
|
351
317
|
/**
|
@@ -354,17 +320,17 @@ function catchAll_1(f, __tsplusTrace) {
|
|
354
320
|
*
|
355
321
|
* @tsplus pipeable fncts.io.IO catchAllCause
|
356
322
|
*/
|
357
|
-
function catchAllCause_1(
|
358
|
-
return
|
323
|
+
function catchAllCause_1(onFailure, __tsplusTrace) {
|
324
|
+
return self => matchCauseIO_1(onFailure, succeedNow_1, __tsplusTrace)(self);
|
359
325
|
}
|
360
326
|
/**
|
361
327
|
* Recovers from some or all of the error cases.
|
362
328
|
*
|
363
329
|
* @tsplus pipeable fncts.io.IO catchJust
|
364
330
|
*/
|
365
|
-
function catchJust(
|
366
|
-
return
|
367
|
-
return matchCauseIO_1(cause => tsplus_module_4.match(e =>
|
331
|
+
function catchJust(onFailure, __tsplusTrace) {
|
332
|
+
return self => {
|
333
|
+
return matchCauseIO_1(cause => tsplus_module_4.match(e => tsplus_module_5.getOrElse(() => failCauseNow_1(cause, __tsplusTrace))(onFailure(e)), failCauseNow_1)(tsplus_module_1.failureOrCause(cause)), succeedNow_1, __tsplusTrace)(self);
|
368
334
|
};
|
369
335
|
}
|
370
336
|
/**
|
@@ -372,9 +338,9 @@ function catchJust(f, __tsplusTrace) {
|
|
372
338
|
*
|
373
339
|
* @tsplus pipeable fncts.io.IO catchJustCause
|
374
340
|
*/
|
375
|
-
function catchJustCause(
|
376
|
-
return
|
377
|
-
return matchCauseIO_1(cause =>
|
341
|
+
function catchJustCause(onFailure, __tsplusTrace) {
|
342
|
+
return self => {
|
343
|
+
return matchCauseIO_1(cause => tsplus_module_5.getOrElse(() => failCauseNow_1(cause, __tsplusTrace))(onFailure(cause)), succeedNow_1, __tsplusTrace)(self);
|
378
344
|
};
|
379
345
|
}
|
380
346
|
/**
|
@@ -387,9 +353,9 @@ function catchJustCause(f, __tsplusTrace) {
|
|
387
353
|
*
|
388
354
|
* @tsplus pipeable fncts.io.IO catchJustDefect
|
389
355
|
*/
|
390
|
-
function catchJustDefect(
|
391
|
-
return
|
392
|
-
return catchAll_1(a => a, __tsplusTrace)(unrefineWith_1(
|
356
|
+
function catchJustDefect(onFailure, __tsplusTrace) {
|
357
|
+
return self => {
|
358
|
+
return catchAll_1(a => a, __tsplusTrace)(unrefineWith_1(onFailure, failNow_1, __tsplusTrace)(self));
|
393
359
|
};
|
394
360
|
}
|
395
361
|
/**
|
@@ -397,23 +363,38 @@ function catchJustDefect(f, __tsplusTrace) {
|
|
397
363
|
*
|
398
364
|
* @tsplus pipeable IO catchTag
|
399
365
|
*/
|
400
|
-
function catchTag(
|
401
|
-
return
|
402
|
-
return catchTagWith_1("_tag",
|
366
|
+
function catchTag(tag, onFailure, __tsplusTrace) {
|
367
|
+
return self => {
|
368
|
+
return catchTagWith_1("_tag", tag, onFailure, __tsplusTrace)(self);
|
369
|
+
};
|
370
|
+
}
|
371
|
+
/**
|
372
|
+
* Recovers from the specified error
|
373
|
+
*
|
374
|
+
* @tsplus pipeable fncts.io.IO catch
|
375
|
+
*/
|
376
|
+
function catchTagWith_1(tagKey, tag, onFailure, __tsplusTrace) {
|
377
|
+
return self => {
|
378
|
+
return catchAll_1(e => {
|
379
|
+
if (tsplus_module_6.isObject(e) && tagKey in e && e[tagKey] === tag) {
|
380
|
+
return onFailure(e);
|
381
|
+
}
|
382
|
+
return failNow_1(e, __tsplusTrace);
|
383
|
+
}, __tsplusTrace)(self);
|
403
384
|
};
|
404
385
|
}
|
405
386
|
/**
|
406
387
|
* @tsplus getter fncts.io.IO cause
|
407
388
|
*/
|
408
|
-
function cause(
|
409
|
-
return matchCauseIO_1(succeedNow_1, () => succeedNow_1(
|
389
|
+
function cause(self, __tsplusTrace) {
|
390
|
+
return matchCauseIO_1(succeedNow_1, () => succeedNow_1(tsplus_module_1.empty(), __tsplusTrace), __tsplusTrace)(self);
|
410
391
|
}
|
411
392
|
/**
|
412
393
|
* @tsplus pipeable fncts.io.IO causeAsError
|
413
394
|
*/
|
414
395
|
function causeAsError(__tsplusTrace) {
|
415
|
-
return
|
416
|
-
return matchCauseIO_1(failNow_1, succeedNow_1, __tsplusTrace)(
|
396
|
+
return self => {
|
397
|
+
return matchCauseIO_1(failNow_1, succeedNow_1, __tsplusTrace)(self);
|
417
398
|
};
|
418
399
|
}
|
419
400
|
/**
|
@@ -425,46 +406,28 @@ function causeAsError(__tsplusTrace) {
|
|
425
406
|
function checkInterruptible(f, __tsplusTrace) {
|
426
407
|
return withFiberRuntime_1((_, status) => f(tsplus_module_8.fromBoolean(tsplus_module_7.interruption(status.runtimeFlags))), __tsplusTrace);
|
427
408
|
}
|
428
|
-
/**
|
429
|
-
* Returns an IO that models the execution of this effect, followed by
|
430
|
-
* the passing of its value to the specified continuation function `f`,
|
431
|
-
* followed by the effect that it returns.
|
432
|
-
*
|
433
|
-
* @tsplus pipeable fncts.io.IO flatMap
|
434
|
-
*/
|
435
|
-
function flatMap_1(f, __tsplusTrace) {
|
436
|
-
return ma => {
|
437
|
-
const io = new _definition2.IOPrimitive(5 /* IOTag.OnSuccess */);
|
438
|
-
io.i0 = ma;
|
439
|
-
io.i1 = f;
|
440
|
-
io.trace = __tsplusTrace;
|
441
|
-
return io;
|
442
|
-
};
|
443
|
-
}
|
444
|
-
/**
|
445
|
-
* @tsplus pipeable fncts.io.IO flatMapError
|
446
|
-
*/
|
447
|
-
function flatMapError(f, __tsplusTrace) {
|
448
|
-
return ma => {
|
449
|
-
return swapWith_1(effect => flatMap_1(f, __tsplusTrace)(effect), __tsplusTrace)(ma);
|
450
|
-
};
|
451
|
-
}
|
452
409
|
/**
|
453
410
|
* @tsplus pipeable fncts.io.IO collect
|
454
411
|
*/
|
455
412
|
function collect(f, pf, __tsplusTrace) {
|
456
|
-
return
|
457
|
-
return collectIO_1(f, a =>
|
413
|
+
return self => {
|
414
|
+
return collectIO_1(f, a => tsplus_module_5.map(succeedNow_1)(pf(a)), __tsplusTrace)(self);
|
458
415
|
};
|
459
416
|
}
|
460
417
|
/**
|
461
418
|
* @tsplus pipeable fncts.io.IO collectIO
|
462
419
|
*/
|
463
|
-
function collectIO_1(
|
464
|
-
return
|
465
|
-
return flatMap_1(a =>
|
420
|
+
function collectIO_1(onNothing, pf, __tsplusTrace) {
|
421
|
+
return self => {
|
422
|
+
return flatMap_1(a => tsplus_module_5.getOrElse(() => fail_1(onNothing, __tsplusTrace))(pf(a)), __tsplusTrace)(self);
|
466
423
|
};
|
467
424
|
}
|
425
|
+
/**
|
426
|
+
* @tsplus static fncts.io.IOOps if
|
427
|
+
*/
|
428
|
+
function cond(b, onTrue, onFalse, __tsplusTrace) {
|
429
|
+
return ifIO_1(onTrue, onFalse, __tsplusTrace)(succeedNow_1(b, __tsplusTrace));
|
430
|
+
}
|
468
431
|
/**
|
469
432
|
* @tsplus static fncts.io.IOOps condIO
|
470
433
|
*/
|
@@ -480,7 +443,11 @@ function condIO(b, onTrue, onFalse, __tsplusTrace) {
|
|
480
443
|
* @tsplus static fncts.io.IOOps defer
|
481
444
|
*/
|
482
445
|
function defer_1(io, __tsplusTrace) {
|
483
|
-
|
446
|
+
const out = new _definition2.IOPrimitive(5 /* IOTag.OnSuccess */);
|
447
|
+
out.i0 = unit_1;
|
448
|
+
out.i1 = io;
|
449
|
+
out.trace = __tsplusTrace;
|
450
|
+
return out;
|
484
451
|
}
|
485
452
|
/**
|
486
453
|
* Returns a lazily constructed effect, whose construction may itself require effects.
|
@@ -493,7 +460,7 @@ function deferTry(io, __tsplusTrace) {
|
|
493
460
|
try {
|
494
461
|
return io();
|
495
462
|
} catch (u) {
|
496
|
-
throw new _exceptions.IOError(
|
463
|
+
throw new _exceptions.IOError(tsplus_module_1.fail(u));
|
497
464
|
}
|
498
465
|
}, __tsplusTrace);
|
499
466
|
}
|
@@ -510,7 +477,7 @@ function deferTryCatch(io, onThrow, __tsplusTrace) {
|
|
510
477
|
try {
|
511
478
|
return io();
|
512
479
|
} catch (u) {
|
513
|
-
throw new _exceptions.IOError(
|
480
|
+
throw new _exceptions.IOError(tsplus_module_1.fail(onThrow(u)));
|
514
481
|
}
|
515
482
|
}, __tsplusTrace);
|
516
483
|
}
|
@@ -519,51 +486,52 @@ function deferTryCatch(io, onThrow, __tsplusTrace) {
|
|
519
486
|
*
|
520
487
|
* @tsplus getter fncts.io.IO either
|
521
488
|
*/
|
522
|
-
function either_1(
|
523
|
-
return match_1(tsplus_module_9.left, tsplus_module_9.right, __tsplusTrace)(
|
489
|
+
function either_1(self, __tsplusTrace) {
|
490
|
+
return match_1(tsplus_module_9.left, tsplus_module_9.right, __tsplusTrace)(self);
|
524
491
|
}
|
525
492
|
/**
|
526
493
|
* @tsplus pipeable fncts.io.IO errorAsCause
|
527
494
|
*/
|
528
495
|
function errorAsCause(__tsplusTrace) {
|
529
|
-
return
|
530
|
-
return matchIO_1(failCauseNow_1, succeedNow_1, __tsplusTrace)(
|
496
|
+
return self => {
|
497
|
+
return matchIO_1(failCauseNow_1, succeedNow_1, __tsplusTrace)(self);
|
531
498
|
};
|
532
499
|
}
|
533
500
|
/**
|
534
501
|
* @tsplus getter fncts.io.IO eventually
|
535
502
|
*/
|
536
|
-
function eventually_1(
|
537
|
-
return orElse_1(() => eventually_1(
|
503
|
+
function eventually_1(self, __tsplusTrace) {
|
504
|
+
return orElse_1(() => eventually_1(self, __tsplusTrace), __tsplusTrace)(self);
|
505
|
+
}
|
506
|
+
/**
|
507
|
+
* @tsplus pipeable fncts.io.IO exitWith
|
508
|
+
*/
|
509
|
+
function exitWith(f, __tsplusTrace) {
|
510
|
+
return self => {
|
511
|
+
return matchCauseIO_1(cause => f(tsplus_module_10.failCause(cause, __tsplusTrace)), a => f(tsplus_module_10.succeed(a, __tsplusTrace)), __tsplusTrace)(self);
|
512
|
+
};
|
538
513
|
}
|
539
514
|
/**
|
540
515
|
* @tsplus pipeable fncts.io.IO extend
|
541
516
|
*/
|
542
517
|
function extend(f, __tsplusTrace) {
|
543
|
-
return
|
544
|
-
return matchIO_1(failNow_1, _ => succeed_1(() => f(
|
518
|
+
return self => {
|
519
|
+
return matchIO_1(failNow_1, _ => succeed_1(() => f(self), __tsplusTrace), __tsplusTrace)(self);
|
545
520
|
};
|
546
521
|
}
|
547
522
|
/**
|
548
523
|
* @tsplus static fncts.io.IOOps fail
|
549
524
|
*/
|
550
525
|
function fail_1(e, __tsplusTrace) {
|
551
|
-
return failCause_1(() =>
|
552
|
-
}
|
553
|
-
/**
|
554
|
-
* @tsplus static fncts.io.IOOps failNow
|
555
|
-
*/
|
556
|
-
function failNow_1(e, __tsplusTrace) {
|
557
|
-
return failCause_1(() => tsplus_module_2.fail(e), __tsplusTrace);
|
526
|
+
return failCause_1(() => tsplus_module_1.fail(e()), __tsplusTrace);
|
558
527
|
}
|
559
528
|
/**
|
560
|
-
*
|
529
|
+
* Returns an effect that models failure with the specified lazily-evaluated `Cause`.
|
530
|
+
*
|
531
|
+
* @tsplus static fncts.io.IOOps failCause
|
561
532
|
*/
|
562
|
-
function
|
563
|
-
|
564
|
-
io.i0 = () => cause;
|
565
|
-
io.trace = __tsplusTrace;
|
566
|
-
return io;
|
533
|
+
function failCause_1(cause, __tsplusTrace) {
|
534
|
+
return flatMap_1(trace => refailCause_1(() => tsplus_module_1.traced(cause(), trace), __tsplusTrace), __tsplusTrace)(stackTrace_1(__tsplusTrace));
|
567
535
|
}
|
568
536
|
/**
|
569
537
|
* Creates a `IO` that has failed with the specified `Cause`
|
@@ -577,24 +545,22 @@ function failCauseNow_1(cause, __tsplusTrace) {
|
|
577
545
|
return io;
|
578
546
|
}
|
579
547
|
/**
|
580
|
-
*
|
581
|
-
*
|
582
|
-
* @tsplus static fncts.io.IOOps failCause
|
548
|
+
* @tsplus static fncts.io.IOOps failNow
|
583
549
|
*/
|
584
|
-
function
|
585
|
-
return
|
550
|
+
function failNow_1(e, __tsplusTrace) {
|
551
|
+
return failCause_1(() => tsplus_module_1.fail(e), __tsplusTrace);
|
586
552
|
}
|
587
553
|
/**
|
588
554
|
* Returns the `FiberId` of the `Fiber` on which this `IO` is running
|
589
555
|
*
|
590
556
|
* @tsplus static fncts.io.IOOps fiberId
|
591
557
|
*/
|
592
|
-
const fiberId = exports.fiberId = /*#__PURE__*/fiberIdWith_1(id => succeedNow_1(id, fileName_1 + ":
|
558
|
+
const fiberId = exports.fiberId = /*#__PURE__*/fiberIdWith_1(id => succeedNow_1(id, fileName_1 + ":435:87"));
|
593
559
|
/**
|
594
560
|
* @tsplus static fncts.io.IOOps fiberIdWith
|
595
561
|
*/
|
596
562
|
function fiberIdWith_1(f) {
|
597
|
-
return withFiberRuntime_1(fiber => f(fiber.id), fileName_1 + ":
|
563
|
+
return withFiberRuntime_1(fiber => f(fiber.id), fileName_1 + ":441:29");
|
598
564
|
}
|
599
565
|
/**
|
600
566
|
* Filters the collection using the specified effectual predicate.
|
@@ -602,7 +568,7 @@ function fiberIdWith_1(f) {
|
|
602
568
|
* @tsplus static fncts.io.IOOps filter
|
603
569
|
*/
|
604
570
|
function filter_1(as, f, __tsplusTrace) {
|
605
|
-
return map_1(b => b.result(), __tsplusTrace)(
|
571
|
+
return map_1(b => b.result(), __tsplusTrace)(tsplus_module_12.foldLeft(succeedNow_1(tsplus_module_11.builder(), __tsplusTrace), (eff, a) => zipWith_1(f(a), (builder, p) => {
|
606
572
|
if (p) {
|
607
573
|
builder.append(a);
|
608
574
|
}
|
@@ -621,8 +587,8 @@ function filterMap(as, f, __tsplusTrace) {
|
|
621
587
|
function filterMapWithIndex_1(as, f, __tsplusTrace) {
|
622
588
|
return defer_1(() => {
|
623
589
|
const bs = [];
|
624
|
-
return as_1(() =>
|
625
|
-
if (
|
590
|
+
return as_1(() => tsplus_module_13.from(bs), __tsplusTrace)(foreachWithIndexDiscard_1(as, (i, a) => map_1(b => {
|
591
|
+
if (tsplus_module_14.isJust(b)) {
|
626
592
|
bs.push(b.value);
|
627
593
|
}
|
628
594
|
}, __tsplusTrace)(f(i, a)), __tsplusTrace));
|
@@ -647,18 +613,42 @@ function filterOrFail(predicate, failWith, __tsplusTrace) {
|
|
647
613
|
return filterOrElse_1(predicate, a => failNow_1(failWith(a), __tsplusTrace), __tsplusTrace)(fa);
|
648
614
|
};
|
649
615
|
}
|
616
|
+
function filterOrHalt(predicate, haltWith, __tsplusTrace) {
|
617
|
+
return fa => {
|
618
|
+
return filterOrElse_1(predicate, a => haltNow_1(haltWith(a), __tsplusTrace), __tsplusTrace)(fa);
|
619
|
+
};
|
620
|
+
}
|
650
621
|
/**
|
651
622
|
* Returns an `IO` that yields the value of the first
|
652
623
|
* `IO` to succeed.
|
653
624
|
*
|
654
625
|
* @tsplus static fncts.io.IOOps firstSuccess
|
655
626
|
*/
|
656
|
-
function firstSuccess(
|
657
|
-
return
|
627
|
+
function firstSuccess(ios, __tsplusTrace) {
|
628
|
+
return ios.reduce((b, a) => orElse_1(() => a, __tsplusTrace)(b));
|
658
629
|
}
|
659
|
-
|
660
|
-
|
661
|
-
|
630
|
+
/**
|
631
|
+
* Returns an IO that models the execution of this effect, followed by
|
632
|
+
* the passing of its value to the specified continuation function `f`,
|
633
|
+
* followed by the effect that it returns.
|
634
|
+
*
|
635
|
+
* @tsplus pipeable fncts.io.IO flatMap
|
636
|
+
*/
|
637
|
+
function flatMap_1(f, __tsplusTrace) {
|
638
|
+
return self => {
|
639
|
+
const io = new _definition2.IOPrimitive(5 /* IOTag.OnSuccess */);
|
640
|
+
io.i0 = self;
|
641
|
+
io.i1 = f;
|
642
|
+
io.trace = __tsplusTrace;
|
643
|
+
return io;
|
644
|
+
};
|
645
|
+
}
|
646
|
+
/**
|
647
|
+
* @tsplus pipeable fncts.io.IO flatMapError
|
648
|
+
*/
|
649
|
+
function flatMapError(f, __tsplusTrace) {
|
650
|
+
return self => {
|
651
|
+
return swapWith_1(effect => flatMap_1(f, __tsplusTrace)(effect), __tsplusTrace)(self);
|
662
652
|
};
|
663
653
|
}
|
664
654
|
/**
|
@@ -671,33 +661,32 @@ function flatten(self, __tsplusTrace) {
|
|
671
661
|
* Folds an `Iterable<A>` using an effectful function f, working sequentially from left to right.
|
672
662
|
*
|
673
663
|
* @tsplus static fncts.io.IOOps foldLeft
|
664
|
+
* @tsplus fluent fncts.Iterable foldLeftIO
|
674
665
|
*/
|
675
666
|
function foldLeft_1(as, b, f, __tsplusTrace) {
|
676
|
-
return
|
667
|
+
return tsplus_module_12.foldLeft(succeedNow_1(b, __tsplusTrace), (acc, el) => flatMap_1(a => f(a, el), __tsplusTrace)(acc))(as);
|
677
668
|
}
|
678
669
|
/**
|
679
670
|
* Combines an array of `IO`s using a `Monoid`
|
680
671
|
*
|
681
672
|
* @tsplus static fncts.io.IOOps foldMap
|
673
|
+
* @tsplus fluent fncts.Iterable foldMapIO
|
682
674
|
*/
|
683
|
-
function foldMap(
|
684
|
-
return foldLeft_1(
|
685
|
-
}
|
686
|
-
function foldRightLoop(iterator, b, f, __tsplusTrace) {
|
687
|
-
const next = iterator.next();
|
688
|
-
return next.done ? b : f(next.value, foldRightLoop(iterator, b, f, __tsplusTrace));
|
675
|
+
function foldMap(ios, f, /** @tsplus auto */M) {
|
676
|
+
return foldLeft_1(ios, M.nat, (m, a) => map_1(a => M.combine(f(a))(m), fileName_1 + ":645:49")(a), fileName_1 + ":645:21");
|
689
677
|
}
|
690
678
|
/**
|
691
679
|
* Performs a right-associative fold of an `Iterable<A>`
|
692
680
|
*
|
693
681
|
* @tsplus static fncts.io.IOOps foldRight
|
682
|
+
* @tsplus fluent fncts.Iterable foldRightIO
|
694
683
|
*/
|
695
684
|
function foldRight(as, b, f, __tsplusTrace) {
|
696
685
|
return foldRightLoop(as[Symbol.iterator](), b, f, __tsplusTrace);
|
697
686
|
}
|
698
|
-
function
|
687
|
+
function foldRightLoop(iterator, b, f, __tsplusTrace) {
|
699
688
|
const next = iterator.next();
|
700
|
-
return next.done ?
|
689
|
+
return next.done ? b : f(next.value, foldRightLoop(iterator, b, f, __tsplusTrace));
|
701
690
|
}
|
702
691
|
/**
|
703
692
|
* Applies the function `f` to each element of the `Iterable<A>` and
|
@@ -707,16 +696,27 @@ function foreachWithIndexDiscardLoop(iterator, f, i = 0, __tsplusTrace) {
|
|
707
696
|
* If you do not need the results, see `foreachUnit` for a more efficient implementation.
|
708
697
|
*
|
709
698
|
* @tsplus static fncts.io.IOOps foreach
|
699
|
+
* @tsplus fluent fncts.Iterable foreachIO
|
710
700
|
*/
|
711
701
|
function foreach_1(as, f, __tsplusTrace) {
|
712
702
|
return defer_1(() => {
|
713
703
|
const acc = [];
|
714
|
-
return as_1(() =>
|
704
|
+
return as_1(() => tsplus_module_13.from(acc), __tsplusTrace)(foreachWithIndexDiscard_1(as, (_, a) => flatMap_1(b => {
|
715
705
|
acc.push(b);
|
716
706
|
return unit_1;
|
717
707
|
}, __tsplusTrace)(f(a)), __tsplusTrace));
|
718
708
|
}, __tsplusTrace);
|
719
709
|
}
|
710
|
+
/**
|
711
|
+
* Applies the function `f` to each element of the `Iterable<A>` and runs
|
712
|
+
* produced IOs sequentially.
|
713
|
+
*
|
714
|
+
* @tsplus static fncts.io.IOOps foreachDiscard
|
715
|
+
* @tsplus fluent fncts.Iterable foreachDiscardIO
|
716
|
+
*/
|
717
|
+
function foreachDiscard_1(as, f, __tsplusTrace) {
|
718
|
+
return defer_1(() => foreachWithIndexDiscardLoop(as[Symbol.iterator](), (_, a) => f(a)), __tsplusTrace);
|
719
|
+
}
|
720
720
|
/**
|
721
721
|
* Applies the function `f` to each element of the `Iterable<A>` and
|
722
722
|
* returns the results in a new `Conc<B>`.
|
@@ -725,11 +725,12 @@ function foreach_1(as, f, __tsplusTrace) {
|
|
725
725
|
* If you do not need the results, see `foreachUnit` for a more efficient implementation.
|
726
726
|
*
|
727
727
|
* @tsplus static fncts.io.IOOps foreachWithIndex
|
728
|
+
* @tsplus fluent fncts.Iterable foreachWithIndexIO
|
728
729
|
*/
|
729
730
|
function foreachWithIndex(as, f, __tsplusTrace) {
|
730
731
|
return defer_1(() => {
|
731
732
|
const acc = [];
|
732
|
-
return as_1(() =>
|
733
|
+
return as_1(() => tsplus_module_13.from(acc), __tsplusTrace)(foreachWithIndexDiscard_1(as, (i, a) => flatMap_1(b => {
|
733
734
|
acc.push(b);
|
734
735
|
return unit_1;
|
735
736
|
}, __tsplusTrace)(f(i, a)), __tsplusTrace));
|
@@ -737,18 +738,14 @@ function foreachWithIndex(as, f, __tsplusTrace) {
|
|
737
738
|
}
|
738
739
|
/**
|
739
740
|
* @tsplus static fncts.io.IOOps foreachWithIndexDiscard
|
741
|
+
* @tsplus fluent fncts.Iterable foreachWithIndexDiscardIO
|
740
742
|
*/
|
741
743
|
function foreachWithIndexDiscard_1(as, f, __tsplusTrace) {
|
742
744
|
return defer_1(() => foreachWithIndexDiscardLoop(as[Symbol.iterator](), f), __tsplusTrace);
|
743
745
|
}
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
*
|
748
|
-
* @tsplus static fncts.io.IOOps foreachDiscard
|
749
|
-
*/
|
750
|
-
function foreachDiscard_1(as, f, __tsplusTrace) {
|
751
|
-
return defer_1(() => foreachWithIndexDiscardLoop(as[Symbol.iterator](), (_, a) => f(a)), __tsplusTrace);
|
746
|
+
function foreachWithIndexDiscardLoop(iterator, f, i = 0, __tsplusTrace) {
|
747
|
+
const next = iterator.next();
|
748
|
+
return next.done ? unit_1 : flatMap_1(() => foreachWithIndexDiscardLoop(iterator, f, i + 1, __tsplusTrace), __tsplusTrace)(f(i, next.value));
|
752
749
|
}
|
753
750
|
/**
|
754
751
|
* Repeats this effect forever (until the first failure).
|
@@ -782,7 +779,7 @@ function fromEitherNow(either, __tsplusTrace) {
|
|
782
779
|
* @tsplus getter fncts.Eval toIO
|
783
780
|
*/
|
784
781
|
function fromEval(computation, __tsplusTrace) {
|
785
|
-
return succeed_1(() =>
|
782
|
+
return succeed_1(() => tsplus_module_15.run(computation), __tsplusTrace);
|
786
783
|
}
|
787
784
|
/**
|
788
785
|
* Creates a `IO` from an exit value
|
@@ -790,7 +787,7 @@ function fromEval(computation, __tsplusTrace) {
|
|
790
787
|
* @tsplus static fncts.io.IOOps fromExit
|
791
788
|
*/
|
792
789
|
function fromExit(exit, __tsplusTrace) {
|
793
|
-
return defer_1(() =>
|
790
|
+
return defer_1(() => tsplus_module_16.match(failCauseNow_1, succeedNow_1)(exit()), __tsplusTrace);
|
794
791
|
}
|
795
792
|
/**
|
796
793
|
* Creates a `IO` from an exit value
|
@@ -799,7 +796,7 @@ function fromExit(exit, __tsplusTrace) {
|
|
799
796
|
* @tsplus getter fncts.Exit toIO
|
800
797
|
*/
|
801
798
|
function fromExitNow(exit, __tsplusTrace) {
|
802
|
-
return
|
799
|
+
return tsplus_module_16.match(failCauseNow_1, succeedNow_1)(exit);
|
803
800
|
}
|
804
801
|
/**
|
805
802
|
* Lifts a `Maybe` into an `IO` but preserves the error as a `Maybe` in the error channel, making it easier to compose
|
@@ -808,14 +805,23 @@ function fromExitNow(exit, __tsplusTrace) {
|
|
808
805
|
* @tsplus static fncts.io.IOOps fromMaybe
|
809
806
|
*/
|
810
807
|
function fromMaybe(maybe, __tsplusTrace) {
|
811
|
-
return flatMap_1(m =>
|
808
|
+
return flatMap_1(m => tsplus_module_17.match(() => failNow_1(tsplus_module_2.nothing(__tsplusTrace), __tsplusTrace), succeedNow_1)(m), __tsplusTrace)(succeed_1(maybe, __tsplusTrace));
|
812
809
|
}
|
813
810
|
/**
|
814
811
|
* @tsplus static fncts.io.IOOps fromMaybeNow
|
815
812
|
* @tsplus getter fncts.Maybe toIO
|
816
813
|
*/
|
817
814
|
function fromMaybeNow(maybe, __tsplusTrace) {
|
818
|
-
return
|
815
|
+
return tsplus_module_17.match(() => failNow_1(new tsplus_module_18.NoSuchElementError("IO.fromMaybeNow"), __tsplusTrace), succeedNow_1)(maybe);
|
816
|
+
}
|
817
|
+
/**
|
818
|
+
* Create an IO that when executed will construct `promise` and wait for its result,
|
819
|
+
* errors will produce failure as `unknown`
|
820
|
+
*
|
821
|
+
* @tsplus static fncts.io.IOOps fromPromise
|
822
|
+
*/
|
823
|
+
function fromPromise(promise, __tsplusTrace) {
|
824
|
+
return fromPromiseCatch_1(promise, _function.identity, __tsplusTrace);
|
819
825
|
}
|
820
826
|
/**
|
821
827
|
* Create an IO that when executed will construct `promise` and wait for its result,
|
@@ -828,15 +834,6 @@ function fromPromiseCatch_1(promise, onReject, __tsplusTrace) {
|
|
828
834
|
promise().then(a => k(succeedNow_1(a, __tsplusTrace))).catch(e => k(failNow_1(onReject(e), __tsplusTrace)));
|
829
835
|
});
|
830
836
|
}
|
831
|
-
/**
|
832
|
-
* Create an IO that when executed will construct `promise` and wait for its result,
|
833
|
-
* errors will produce failure as `unknown`
|
834
|
-
*
|
835
|
-
* @tsplus static fncts.io.IOOps fromPromise
|
836
|
-
*/
|
837
|
-
function fromPromise(promise, __tsplusTrace) {
|
838
|
-
return fromPromiseCatch_1(promise, _function.identity, __tsplusTrace);
|
839
|
-
}
|
840
837
|
/**
|
841
838
|
* Like fromPromise but produces a defect in case of errors
|
842
839
|
*
|
@@ -853,7 +850,13 @@ function fromPromiseHalt(promise, __tsplusTrace) {
|
|
853
850
|
* @tsplus getter fncts.io.IO get
|
854
851
|
*/
|
855
852
|
function get(ma, __tsplusTrace) {
|
856
|
-
return matchCauseIO_1(cause => failCauseNow_1(
|
853
|
+
return matchCauseIO_1(cause => failCauseNow_1(tsplus_module_1.map(tsplus_module_2.just)(cause), __tsplusTrace), ma => tsplus_module_17.match(() => failNow_1(tsplus_module_2.nothing(__tsplusTrace), __tsplusTrace), succeedNow_1)(ma), __tsplusTrace)(ma);
|
854
|
+
}
|
855
|
+
/**
|
856
|
+
* @tsplus static fncts.io.IOOps getFiberRefs
|
857
|
+
*/
|
858
|
+
function getFiberRefs(__tsplusTrace) {
|
859
|
+
return withFiberRuntime_1(fiberState => succeed_1(() => fiberState.getFiberRefs(), __tsplusTrace), __tsplusTrace);
|
857
860
|
}
|
858
861
|
/**
|
859
862
|
* Extracts the optional value, or returns the given 'orElse'.
|
@@ -862,7 +865,7 @@ function get(ma, __tsplusTrace) {
|
|
862
865
|
*/
|
863
866
|
function getOrElse(orElse, __tsplusTrace) {
|
864
867
|
return ma => {
|
865
|
-
return map_1(ma =>
|
868
|
+
return map_1(ma => tsplus_module_5.getOrElse(orElse)(ma), __tsplusTrace)(ma);
|
866
869
|
};
|
867
870
|
}
|
868
871
|
/**
|
@@ -872,17 +875,9 @@ function getOrElse(orElse, __tsplusTrace) {
|
|
872
875
|
*/
|
873
876
|
function getOrElseIO(orElse, __tsplusTrace) {
|
874
877
|
return ma => {
|
875
|
-
return flatMap_1(mab =>
|
878
|
+
return flatMap_1(mab => tsplus_module_5.getOrElse(orElse)(tsplus_module_5.map(succeedNow_1)(mab)), __tsplusTrace)(ma);
|
876
879
|
};
|
877
880
|
}
|
878
|
-
/**
|
879
|
-
* Lifts a Maybe into an IO. If the option is `Nothing`, fail with `onNothing`.
|
880
|
-
*
|
881
|
-
* @tsplus static fncts.io.IOOps getOrFailWith
|
882
|
-
*/
|
883
|
-
function getOrFailWith_1(maybe, onNothing, __tsplusTrace) {
|
884
|
-
return defer_1(() => tsplus_module_16.match(() => fail_1(onNothing, __tsplusTrace), succeedNow_1)(maybe), __tsplusTrace);
|
885
|
-
}
|
886
881
|
/**
|
887
882
|
* Lifts a Maybe into a IO, if the Maybe is `Nothing` it fails with Unit.
|
888
883
|
*
|
@@ -892,10 +887,12 @@ function getOrFailUnit(option, __tsplusTrace) {
|
|
892
887
|
return getOrFailWith_1(option, () => undefined, __tsplusTrace);
|
893
888
|
}
|
894
889
|
/**
|
895
|
-
*
|
890
|
+
* Lifts a Maybe into an IO. If the option is `Nothing`, fail with `onNothing`.
|
891
|
+
*
|
892
|
+
* @tsplus static fncts.io.IOOps getOrFailWith
|
896
893
|
*/
|
897
|
-
function
|
898
|
-
return
|
894
|
+
function getOrFailWith_1(maybe, onNothing, __tsplusTrace) {
|
895
|
+
return defer_1(() => tsplus_module_17.match(() => fail_1(onNothing, __tsplusTrace), succeedNow_1)(maybe), __tsplusTrace);
|
899
896
|
}
|
900
897
|
/**
|
901
898
|
* Creates an `IO` that halts with the specified lazily-evaluated defect.
|
@@ -905,7 +902,7 @@ function getFiberRefs(__tsplusTrace) {
|
|
905
902
|
* @tsplus static fncts.io.IOOps halt
|
906
903
|
*/
|
907
904
|
function halt(e, __tsplusTrace) {
|
908
|
-
return failCause_1(() =>
|
905
|
+
return failCause_1(() => tsplus_module_1.halt(e(), tsplus_module_19.none), __tsplusTrace);
|
909
906
|
}
|
910
907
|
/**
|
911
908
|
* Creates an `IO` that halts with the specified defect
|
@@ -915,7 +912,7 @@ function halt(e, __tsplusTrace) {
|
|
915
912
|
* @tsplus static fncts.io.IOOps haltNow
|
916
913
|
*/
|
917
914
|
function haltNow_1(e, __tsplusTrace) {
|
918
|
-
return failCauseNow_1(
|
915
|
+
return failCauseNow_1(tsplus_module_1.halt(e, tsplus_module_19.none), __tsplusTrace);
|
919
916
|
}
|
920
917
|
/**
|
921
918
|
* @tsplus pipeable fncts.io.IO ifIO
|
@@ -926,32 +923,26 @@ function ifIO_1(onFalse, onTrue, __tsplusTrace) {
|
|
926
923
|
};
|
927
924
|
}
|
928
925
|
/**
|
929
|
-
* @tsplus
|
926
|
+
* @tsplus getter fncts.io.IO ignore
|
930
927
|
*/
|
931
|
-
function
|
932
|
-
return
|
933
|
-
}
|
934
|
-
/**
|
935
|
-
* @tsplus getter fncts.io.IO ignore
|
936
|
-
*/
|
937
|
-
function ignore(fa, __tsplusTrace) {
|
938
|
-
return match_1(() => undefined, () => undefined, __tsplusTrace)(fa);
|
928
|
+
function ignore(self, __tsplusTrace) {
|
929
|
+
return match_1(() => undefined, () => undefined, __tsplusTrace)(self);
|
939
930
|
}
|
940
931
|
/**
|
941
932
|
* Folds a `IO` to a boolean describing whether or not it is a failure
|
942
933
|
*
|
943
934
|
* @tsplus getter fncts.io.IO isFailure
|
944
935
|
*/
|
945
|
-
function isFailure(
|
946
|
-
return match_1(() => true, () => false, __tsplusTrace)(
|
936
|
+
function isFailure(self, __tsplusTrace) {
|
937
|
+
return match_1(() => true, () => false, __tsplusTrace)(self);
|
947
938
|
}
|
948
939
|
/**
|
949
940
|
* Folds a `IO` to a boolean describing whether or not it is a success
|
950
941
|
*
|
951
942
|
* @tsplus getter fncts.io.IO isSuccess
|
952
943
|
*/
|
953
|
-
function isSuccess(
|
954
|
-
return match_1(() => false, () => true, __tsplusTrace)(
|
944
|
+
function isSuccess(self, __tsplusTrace) {
|
945
|
+
return match_1(() => false, () => true, __tsplusTrace)(self);
|
955
946
|
}
|
956
947
|
/**
|
957
948
|
* Iterates with the specified effectual function. The moral equivalent of:
|
@@ -971,6 +962,12 @@ function isSuccess(ma, __tsplusTrace) {
|
|
971
962
|
function iterate_1(initial, cont, body, __tsplusTrace) {
|
972
963
|
return cont(initial) ? flatMap_1(a => iterate_1(a, cont, body, __tsplusTrace), __tsplusTrace)(body(initial)) : succeedNow_1(initial, __tsplusTrace);
|
973
964
|
}
|
965
|
+
/**
|
966
|
+
* @tsplus getter fncts.io.IO just
|
967
|
+
*/
|
968
|
+
function just(self) {
|
969
|
+
return matchIO_1(e => fail_1(() => tsplus_module_2.just(e, fileName_1 + ":1034:24"), fileName_1 + ":1034:19"), a => tsplus_module_17.match(() => fail_1(() => tsplus_module_2.nothing(fileName_1 + ":1035:41"), fileName_1 + ":1035:33"), succeedNow_1)(a), fileName_1 + ":1033:22")(self);
|
970
|
+
}
|
974
971
|
/**
|
975
972
|
* Returns an IO with the value on the left part.
|
976
973
|
*
|
@@ -979,27 +976,15 @@ function iterate_1(initial, cont, body, __tsplusTrace) {
|
|
979
976
|
function left(a, __tsplusTrace) {
|
980
977
|
return flatMap_1(a => succeedNow_1(tsplus_module_9.left(a, __tsplusTrace), __tsplusTrace), __tsplusTrace)(succeed_1(a, __tsplusTrace));
|
981
978
|
}
|
982
|
-
/**
|
983
|
-
* @tsplus getter fncts.io.IO just
|
984
|
-
*/
|
985
|
-
function just(self) {
|
986
|
-
return matchIO_1(e => fail_1(() => tsplus_module_3.just(e, fileName_1 + ":1088:24"), fileName_1 + ":1088:19"), a => tsplus_module_16.match(() => fail_1(() => tsplus_module_3.nothing(fileName_1 + ":1089:41"), fileName_1 + ":1089:33"), succeedNow_1)(a), fileName_1 + ":1087:22")(self);
|
987
|
-
}
|
988
979
|
/**
|
989
980
|
* @tsplus static fncts.io.IOOps log
|
990
981
|
*/
|
991
982
|
function log_1(message, __tsplusTrace) {
|
992
983
|
return withFiberRuntime_1(fiber => {
|
993
|
-
fiber.log(message,
|
984
|
+
fiber.log(message, tsplus_module_1.empty(), tsplus_module_2.nothing(__tsplusTrace), __tsplusTrace);
|
994
985
|
return unit_1;
|
995
986
|
}, __tsplusTrace);
|
996
987
|
}
|
997
|
-
/**
|
998
|
-
* @tsplus static fncts.io.IOOps show
|
999
|
-
*/
|
1000
|
-
function show(message, options, __tsplusTrace) {
|
1001
|
-
return log_1(() => (0, _Showable.showWithOptions)(message, options), __tsplusTrace);
|
1002
|
-
}
|
1003
988
|
/**
|
1004
989
|
* Loops with the specified effectual function, collecting the results into a
|
1005
990
|
* list. The moral equivalent of:
|
@@ -1020,9 +1005,9 @@ function show(message, options, __tsplusTrace) {
|
|
1020
1005
|
*/
|
1021
1006
|
function loop_1(initial, cont, inc, body, __tsplusTrace) {
|
1022
1007
|
if (cont(initial)) {
|
1023
|
-
return flatMap_1(a => map_1(as =>
|
1008
|
+
return flatMap_1(a => map_1(as => tsplus_module_11.prepend(a)(as), __tsplusTrace)(loop_1(inc(initial), cont, inc, body, __tsplusTrace)), __tsplusTrace)(body(initial));
|
1024
1009
|
} else {
|
1025
|
-
return succeedNow_1(
|
1010
|
+
return succeedNow_1(tsplus_module_20.empty(), __tsplusTrace);
|
1026
1011
|
}
|
1027
1012
|
}
|
1028
1013
|
/**
|
@@ -1053,8 +1038,8 @@ function loopUnit(initial, cont, inc, body, __tsplusTrace) {
|
|
1053
1038
|
* @tsplus pipeable fncts.io.IO map
|
1054
1039
|
*/
|
1055
1040
|
function map_1(f, __tsplusTrace) {
|
1056
|
-
return
|
1057
|
-
return flatMap_1(a => succeedNow_1(f(a), __tsplusTrace), __tsplusTrace)(
|
1041
|
+
return self => {
|
1042
|
+
return flatMap_1(a => succeedNow_1(f(a), __tsplusTrace), __tsplusTrace)(self);
|
1058
1043
|
};
|
1059
1044
|
}
|
1060
1045
|
/**
|
@@ -1067,16 +1052,10 @@ function map_1(f, __tsplusTrace) {
|
|
1067
1052
|
* @tsplus pipeable fncts.io.IO mapError
|
1068
1053
|
*/
|
1069
1054
|
function mapError_1(f, __tsplusTrace) {
|
1070
|
-
return
|
1071
|
-
return matchCauseIO_1(cause => failCauseNow_1(
|
1055
|
+
return self => {
|
1056
|
+
return matchCauseIO_1(cause => failCauseNow_1(tsplus_module_1.map(f)(cause), __tsplusTrace), succeedNow_1, __tsplusTrace)(self);
|
1072
1057
|
};
|
1073
1058
|
}
|
1074
|
-
/**
|
1075
|
-
* @tsplus static fncts.io.IOOps mapTryCatch
|
1076
|
-
*/
|
1077
|
-
function mapTryCatch(io, f, onThrow, __tsplusTrace) {
|
1078
|
-
return flatMap_1(a => tryCatch_1(() => f(a), onThrow, __tsplusTrace), __tsplusTrace)(io);
|
1079
|
-
}
|
1080
1059
|
/**
|
1081
1060
|
* Returns an IO with its full cause of failure mapped using
|
1082
1061
|
* the specified function. This can be used to transform errors
|
@@ -1085,8 +1064,29 @@ function mapTryCatch(io, f, onThrow, __tsplusTrace) {
|
|
1085
1064
|
* @tsplus pipeable fncts.io.IO mapErrorCause
|
1086
1065
|
*/
|
1087
1066
|
function mapErrorCause_1(f, __tsplusTrace) {
|
1088
|
-
return
|
1089
|
-
return matchCauseIO_1(cause => failCauseNow_1(f(cause), __tsplusTrace), succeedNow_1, __tsplusTrace)(
|
1067
|
+
return self => {
|
1068
|
+
return matchCauseIO_1(cause => failCauseNow_1(f(cause), __tsplusTrace), succeedNow_1, __tsplusTrace)(self);
|
1069
|
+
};
|
1070
|
+
}
|
1071
|
+
/**
|
1072
|
+
* @tsplus static fncts.io.IOOps mapTryCatch
|
1073
|
+
* @tsplus pipeable fncts.io.IO mapTryCatch
|
1074
|
+
*/
|
1075
|
+
function mapTryCatch(f, onThrow, __tsplusTrace) {
|
1076
|
+
return self => {
|
1077
|
+
return flatMap_1(a => tryCatch_1(() => f(a), onThrow, __tsplusTrace), __tsplusTrace)(self);
|
1078
|
+
};
|
1079
|
+
}
|
1080
|
+
/**
|
1081
|
+
* Folds over the failure value or the success value to yield an IO that
|
1082
|
+
* does not fail, but succeeds with the value returned by the left or right
|
1083
|
+
* function passed to `match_`.
|
1084
|
+
*
|
1085
|
+
* @tsplus pipeable fncts.io.IO match
|
1086
|
+
*/
|
1087
|
+
function match_1(onFailure, onSuccess, __tsplusTrace) {
|
1088
|
+
return self => {
|
1089
|
+
return matchIO_1(e => succeedNow_1(onFailure(e), __tsplusTrace), a => succeedNow_1(onSuccess(a), __tsplusTrace), __tsplusTrace)(self);
|
1090
1090
|
};
|
1091
1091
|
}
|
1092
1092
|
/**
|
@@ -1119,19 +1119,7 @@ function matchCauseIO_1(onFailure, onSuccess, __tsplusTrace) {
|
|
1119
1119
|
*/
|
1120
1120
|
function matchIO_1(onFailure, onSuccess, __tsplusTrace) {
|
1121
1121
|
return self => {
|
1122
|
-
return matchCauseIO_1(cause => tsplus_module_4.match(onFailure, failCauseNow_1)(
|
1123
|
-
};
|
1124
|
-
}
|
1125
|
-
/**
|
1126
|
-
* Folds over the failure value or the success value to yield an IO that
|
1127
|
-
* does not fail, but succeeds with the value returned by the left or right
|
1128
|
-
* function passed to `match_`.
|
1129
|
-
*
|
1130
|
-
* @tsplus pipeable fncts.io.IO match
|
1131
|
-
*/
|
1132
|
-
function match_1(onFailure, onSuccess, __tsplusTrace) {
|
1133
|
-
return self => {
|
1134
|
-
return matchIO_1(e => succeedNow_1(onFailure(e), __tsplusTrace), a => succeedNow_1(onSuccess(a), __tsplusTrace), __tsplusTrace)(self);
|
1122
|
+
return matchCauseIO_1(cause => tsplus_module_4.match(onFailure, failCauseNow_1)(tsplus_module_1.failureOrCause(cause)), onSuccess, __tsplusTrace)(self);
|
1135
1123
|
};
|
1136
1124
|
}
|
1137
1125
|
/**
|
@@ -1140,42 +1128,109 @@ function match_1(onFailure, onSuccess, __tsplusTrace) {
|
|
1140
1128
|
* @tsplus pipeable fncts.io.IO matchTraceIO
|
1141
1129
|
*/
|
1142
1130
|
function matchTraceIO(onFailure, onSuccess, __tsplusTrace) {
|
1143
|
-
return
|
1144
|
-
return matchCauseIO_1(cause => tsplus_module_4.match(([e, trace]) => onFailure(e, trace), failCauseNow_1)(
|
1131
|
+
return self => {
|
1132
|
+
return matchCauseIO_1(cause => tsplus_module_4.match(([e, trace]) => onFailure(e, trace), failCauseNow_1)(tsplus_module_1.failureTraceOrCause(cause)), onSuccess, __tsplusTrace)(self);
|
1145
1133
|
};
|
1146
1134
|
}
|
1147
1135
|
/**
|
1148
1136
|
* @tsplus getter fncts.io.IO maybe
|
1149
1137
|
*/
|
1150
|
-
function maybe(
|
1151
|
-
return match_1(() =>
|
1138
|
+
function maybe(self, __tsplusTrace) {
|
1139
|
+
return match_1(() => tsplus_module_2.nothing(__tsplusTrace), tsplus_module_2.just, __tsplusTrace)(self);
|
1152
1140
|
}
|
1153
1141
|
/**
|
1154
1142
|
* @tsplus getter fncts.io.IO merge
|
1155
1143
|
*/
|
1156
|
-
function merge(
|
1157
|
-
return matchIO_1(succeedNow_1, succeedNow_1, __tsplusTrace)(
|
1144
|
+
function merge(self, __tsplusTrace) {
|
1145
|
+
return matchIO_1(succeedNow_1, succeedNow_1, __tsplusTrace)(self);
|
1158
1146
|
}
|
1159
1147
|
/**
|
1160
1148
|
* Merges an `Iterable<IO>` to a single IO, working sequentially.
|
1161
1149
|
*
|
1162
1150
|
* @tsplus static fncts.io.IOOps mergeAll
|
1163
1151
|
*/
|
1164
|
-
function mergeAll(
|
1165
|
-
return
|
1152
|
+
function mergeAll(ios, b, f, __tsplusTrace) {
|
1153
|
+
return tsplus_module_12.foldLeft(succeed_1(() => b, __tsplusTrace), (b, a) => zipWith_1(a, f, __tsplusTrace)(b))(ios);
|
1154
|
+
}
|
1155
|
+
/**
|
1156
|
+
* @tsplus static fncts.io.IOOps refailCause
|
1157
|
+
*/
|
1158
|
+
function refailCause_1(cause, __tsplusTrace) {
|
1159
|
+
const io = new _definition2.IOPrimitive(1 /* IOTag.Fail */);
|
1160
|
+
io.i0 = cause;
|
1161
|
+
io.trace = __tsplusTrace;
|
1162
|
+
return io;
|
1163
|
+
}
|
1164
|
+
/**
|
1165
|
+
* @tsplus static fncts.io.IOOps refailCauseNow
|
1166
|
+
*/
|
1167
|
+
function refailCauseNow(cause, __tsplusTrace) {
|
1168
|
+
const io = new _definition2.IOPrimitive(1 /* IOTag.Fail */);
|
1169
|
+
io.i0 = () => cause;
|
1170
|
+
io.trace = __tsplusTrace;
|
1171
|
+
return io;
|
1172
|
+
}
|
1173
|
+
/**
|
1174
|
+
* @tsplus static fncts.io.IOOps show
|
1175
|
+
*/
|
1176
|
+
function show(message, options, __tsplusTrace) {
|
1177
|
+
return log_1(() => (0, _Showable.showWithOptions)(message, options), __tsplusTrace);
|
1166
1178
|
}
|
1167
1179
|
/**
|
1168
1180
|
* @tsplus static fncts.io.IOOps nothing
|
1169
1181
|
*/
|
1170
|
-
const nothing_1 = /*#__PURE__*/succeedNow_1(/*#__PURE__*/
|
1182
|
+
const nothing_1 = /*#__PURE__*/succeedNow_1(/*#__PURE__*/tsplus_module_2.nothing(fileName_1 + ":1311:45"), fileName_1 + ":1311:37");
|
1171
1183
|
const nothing = exports.nothing = nothing_1;
|
1184
|
+
/**
|
1185
|
+
* Returns an `IO` that submerges an `Either` into the `IO`.
|
1186
|
+
*
|
1187
|
+
* @tsplus getter fncts.io.IO absolve
|
1188
|
+
*/
|
1189
|
+
function absolve(self, __tsplusTrace) {
|
1190
|
+
return flatMap_1(ea => tsplus_module_4.match(failNow_1, succeedNow_1)(ea), __tsplusTrace)(self);
|
1191
|
+
}
|
1192
|
+
/**
|
1193
|
+
* @tsplus static fncts.io.IOOps attempt
|
1194
|
+
*/
|
1195
|
+
function attempt(effect, __tsplusTrace) {
|
1196
|
+
return defer_1(() => {
|
1197
|
+
try {
|
1198
|
+
return tsplus_module_10.succeed(effect(), __tsplusTrace);
|
1199
|
+
} catch (u) {
|
1200
|
+
return withFiberRuntime_1(fiberState => {
|
1201
|
+
if (!fiberState.isFatal(u)) {
|
1202
|
+
throw new _exceptions.IOError(tsplus_module_1.fail(u));
|
1203
|
+
} else {
|
1204
|
+
throw u;
|
1205
|
+
}
|
1206
|
+
}, __tsplusTrace);
|
1207
|
+
}
|
1208
|
+
}, __tsplusTrace);
|
1209
|
+
}
|
1210
|
+
/**
|
1211
|
+
* Exposes all parallel errors in a single call
|
1212
|
+
*
|
1213
|
+
* @tsplus pipeable fncts.io.IO concurrentErrors
|
1214
|
+
*/
|
1215
|
+
function concurrentErrors(__tsplusTrace) {
|
1216
|
+
return self => {
|
1217
|
+
return matchCauseIO_1(cause => {
|
1218
|
+
const f = tsplus_module_1.failures(cause);
|
1219
|
+
if (tsplus_module_21.length(f) === 0) {
|
1220
|
+
return failCauseNow_1(cause, __tsplusTrace);
|
1221
|
+
} else {
|
1222
|
+
return failNow_1(f, __tsplusTrace);
|
1223
|
+
}
|
1224
|
+
}, succeedNow_1, __tsplusTrace)(self);
|
1225
|
+
};
|
1226
|
+
}
|
1172
1227
|
/**
|
1173
1228
|
* Converts an option on errors into an option on values.
|
1174
1229
|
*
|
1175
1230
|
* @tsplus getter fncts.io.IO optional
|
1176
1231
|
*/
|
1177
|
-
function optional(
|
1178
|
-
return matchIO_1(me =>
|
1232
|
+
function optional(self, __tsplusTrace) {
|
1233
|
+
return matchIO_1(me => tsplus_module_17.match(() => succeedNow_1(tsplus_module_2.nothing(__tsplusTrace), __tsplusTrace), failNow_1)(me), a => succeedNow_1(tsplus_module_2.just(a, __tsplusTrace), __tsplusTrace), __tsplusTrace)(self);
|
1179
1234
|
}
|
1180
1235
|
/**
|
1181
1236
|
* Returns the logical disjunction of the `Boolean` value returned by this
|
@@ -1186,17 +1241,17 @@ function optional(ma, __tsplusTrace) {
|
|
1186
1241
|
* @tsplus pipeable fncts.io.IO or
|
1187
1242
|
* @tsplus pipeable-operator fncts.io.IO ||
|
1188
1243
|
*/
|
1189
|
-
function or(
|
1190
|
-
return
|
1191
|
-
return flatMap_1(b => b ? succeedNow_1(true, __tsplusTrace) :
|
1244
|
+
function or(or, __tsplusTrace) {
|
1245
|
+
return self => {
|
1246
|
+
return flatMap_1(b => b ? succeedNow_1(true, __tsplusTrace) : or, __tsplusTrace)(self);
|
1192
1247
|
};
|
1193
1248
|
}
|
1194
1249
|
/**
|
1195
1250
|
* @tsplus pipeable fncts.io.IO orElse
|
1196
1251
|
*/
|
1197
1252
|
function orElse_1(that, __tsplusTrace) {
|
1198
|
-
return
|
1199
|
-
return tryOrElse_1(that, succeedNow_1, __tsplusTrace)(
|
1253
|
+
return self => {
|
1254
|
+
return tryOrElse_1(that, succeedNow_1, __tsplusTrace)(self);
|
1200
1255
|
};
|
1201
1256
|
}
|
1202
1257
|
/**
|
@@ -1211,61 +1266,44 @@ function orElseEither(that, __tsplusTrace) {
|
|
1211
1266
|
* @tsplus pipeable fncts.io.IO orElseFail
|
1212
1267
|
*/
|
1213
1268
|
function orElseFail(e, __tsplusTrace) {
|
1214
|
-
return
|
1215
|
-
return orElse_1(() => fail_1(e, __tsplusTrace), __tsplusTrace)(
|
1269
|
+
return self => {
|
1270
|
+
return orElse_1(() => fail_1(e, __tsplusTrace), __tsplusTrace)(self);
|
1216
1271
|
};
|
1217
1272
|
}
|
1218
1273
|
/**
|
1219
1274
|
* @tsplus pipeable fncts.io.IO orElseMaybe
|
1220
1275
|
*/
|
1221
1276
|
function orElseMaybe(that, __tsplusTrace) {
|
1222
|
-
return
|
1223
|
-
return catchAll_1(me =>
|
1277
|
+
return self => {
|
1278
|
+
return catchAll_1(me => tsplus_module_17.match(that, e => fail_1(() => tsplus_module_2.just(e, __tsplusTrace), __tsplusTrace))(me), __tsplusTrace)(self);
|
1224
1279
|
};
|
1225
1280
|
}
|
1226
1281
|
/**
|
1227
1282
|
* @tsplus pipeable fncts.io.IO orElseSucceed
|
1228
1283
|
*/
|
1229
1284
|
function orElseSucceed(a, __tsplusTrace) {
|
1230
|
-
return
|
1231
|
-
return orElse_1(() => succeed_1(a, __tsplusTrace), __tsplusTrace)(
|
1285
|
+
return self => {
|
1286
|
+
return orElse_1(() => succeed_1(a, __tsplusTrace), __tsplusTrace)(self);
|
1232
1287
|
};
|
1233
1288
|
}
|
1234
1289
|
/**
|
1235
1290
|
* @tsplus getter fncts.io.IO orHalt
|
1236
1291
|
*/
|
1237
|
-
function orHalt(
|
1238
|
-
return orHaltWith_1(_function.identity, __tsplusTrace)(
|
1292
|
+
function orHalt(self, __tsplusTrace) {
|
1293
|
+
return orHaltWith_1(_function.identity, __tsplusTrace)(self);
|
1239
1294
|
}
|
1240
1295
|
/**
|
1241
1296
|
* @tsplus getter fncts.io.IO orHaltKeep
|
1242
1297
|
*/
|
1243
|
-
function orHaltKeep(
|
1244
|
-
return matchCauseIO_1(cause => failCauseNow_1(
|
1298
|
+
function orHaltKeep(self, __tsplusTrace) {
|
1299
|
+
return matchCauseIO_1(cause => failCauseNow_1(tsplus_module_1.flatMap(tsplus_module_1.halt)(cause), __tsplusTrace), succeedNow_1, __tsplusTrace)(self);
|
1245
1300
|
}
|
1246
1301
|
/**
|
1247
1302
|
* @tsplus pipeable fncts.io.IO orHaltWith
|
1248
1303
|
*/
|
1249
1304
|
function orHaltWith_1(f, __tsplusTrace) {
|
1250
|
-
return
|
1251
|
-
return matchIO_1(e => haltNow_1(f(e), __tsplusTrace), succeedNow_1, __tsplusTrace)(
|
1252
|
-
};
|
1253
|
-
}
|
1254
|
-
/**
|
1255
|
-
* Exposes all parallel errors in a single call
|
1256
|
-
*
|
1257
|
-
* @tsplus pipeable fncts.io.IO concurrentErrors
|
1258
|
-
*/
|
1259
|
-
function concurrentErrors(__tsplusTrace) {
|
1260
|
-
return io => {
|
1261
|
-
return matchCauseIO_1(cause => {
|
1262
|
-
const f = tsplus_module_2.failures(cause);
|
1263
|
-
if (tsplus_module_20.length(f) === 0) {
|
1264
|
-
return failCauseNow_1(cause, __tsplusTrace);
|
1265
|
-
} else {
|
1266
|
-
return failNow_1(f, __tsplusTrace);
|
1267
|
-
}
|
1268
|
-
}, succeedNow_1, __tsplusTrace)(io);
|
1305
|
+
return self => {
|
1306
|
+
return matchIO_1(e => haltNow_1(f(e), __tsplusTrace), succeedNow_1, __tsplusTrace)(self);
|
1269
1307
|
};
|
1270
1308
|
}
|
1271
1309
|
/**
|
@@ -1275,7 +1313,7 @@ function concurrentErrors(__tsplusTrace) {
|
|
1275
1313
|
* @tsplus static fncts.io.IOOps partition
|
1276
1314
|
*/
|
1277
1315
|
function partition(as, f, __tsplusTrace) {
|
1278
|
-
return map_1(c =>
|
1316
|
+
return map_1(c => tsplus_module_11.separate(c), __tsplusTrace)(foreach_1(as, a => either_1(f(a), __tsplusTrace), __tsplusTrace));
|
1279
1317
|
}
|
1280
1318
|
/**
|
1281
1319
|
* Keeps some of the errors, and terminates the fiber with the rest
|
@@ -1283,8 +1321,8 @@ function partition(as, f, __tsplusTrace) {
|
|
1283
1321
|
* @tsplus pipeable fncts.io.IO refineOrHalt
|
1284
1322
|
*/
|
1285
1323
|
function refineOrHalt(pf, __tsplusTrace) {
|
1286
|
-
return
|
1287
|
-
return refineOrHaltWith_1(pf, _function.identity, __tsplusTrace)(
|
1324
|
+
return self => {
|
1325
|
+
return refineOrHaltWith_1(pf, _function.identity, __tsplusTrace)(self);
|
1288
1326
|
};
|
1289
1327
|
}
|
1290
1328
|
/**
|
@@ -1294,8 +1332,8 @@ function refineOrHalt(pf, __tsplusTrace) {
|
|
1294
1332
|
* @tsplus pipeable fncts.io.IO refineOrHaltWith
|
1295
1333
|
*/
|
1296
1334
|
function refineOrHaltWith_1(pf, f, __tsplusTrace) {
|
1297
|
-
return
|
1298
|
-
return catchAll_1(e =>
|
1335
|
+
return self => {
|
1336
|
+
return catchAll_1(e => tsplus_module_17.match(() => haltNow_1(f(e), __tsplusTrace), failNow_1)(pf(e)), __tsplusTrace)(self);
|
1299
1337
|
};
|
1300
1338
|
}
|
1301
1339
|
/**
|
@@ -1305,8 +1343,8 @@ function refineOrHaltWith_1(pf, f, __tsplusTrace) {
|
|
1305
1343
|
* @tsplus pipeable fncts.io.IO reject
|
1306
1344
|
*/
|
1307
1345
|
function reject(pf, __tsplusTrace) {
|
1308
|
-
return
|
1309
|
-
return rejectIO_1(a =>
|
1346
|
+
return self => {
|
1347
|
+
return rejectIO_1(a => tsplus_module_5.map(failNow_1)(pf(a)), __tsplusTrace)(self);
|
1310
1348
|
};
|
1311
1349
|
}
|
1312
1350
|
/**
|
@@ -1317,8 +1355,8 @@ function reject(pf, __tsplusTrace) {
|
|
1317
1355
|
* @tsplus pipeable fncts.io.IO rejectIO
|
1318
1356
|
*/
|
1319
1357
|
function rejectIO_1(pf, __tsplusTrace) {
|
1320
|
-
return
|
1321
|
-
return flatMap_1(a =>
|
1358
|
+
return self => {
|
1359
|
+
return flatMap_1(a => tsplus_module_17.match(() => succeedNow_1(a, __tsplusTrace), io => flatMap_1(failNow_1, __tsplusTrace)(io))(pf(a)), __tsplusTrace)(self);
|
1322
1360
|
};
|
1323
1361
|
}
|
1324
1362
|
/**
|
@@ -1326,9 +1364,18 @@ function rejectIO_1(pf, __tsplusTrace) {
|
|
1326
1364
|
*
|
1327
1365
|
* @tsplus pipeable fncts.io.IO repeatN
|
1328
1366
|
*/
|
1329
|
-
function
|
1330
|
-
return
|
1331
|
-
return flatMap_1(a =>
|
1367
|
+
function repeatN_(n, __tsplusTrace) {
|
1368
|
+
return self => {
|
1369
|
+
return flatMap_1(a => {
|
1370
|
+
let i = n;
|
1371
|
+
let s = a;
|
1372
|
+
return as_1(() => s, __tsplusTrace)(whileLoop_1(() => i > 0, () => {
|
1373
|
+
i -= 1;
|
1374
|
+
return self;
|
1375
|
+
}, a => {
|
1376
|
+
s = a;
|
1377
|
+
}));
|
1378
|
+
}, __tsplusTrace)(self);
|
1332
1379
|
};
|
1333
1380
|
}
|
1334
1381
|
/**
|
@@ -1337,8 +1384,8 @@ function repeatN_1(n, __tsplusTrace) {
|
|
1337
1384
|
* @tsplus pipeable fncts.io.IO repeatUntil
|
1338
1385
|
*/
|
1339
1386
|
function repeatUntil(f, __tsplusTrace) {
|
1340
|
-
return
|
1341
|
-
return repeatUntilIO_1(a => succeedNow_1(f(a), __tsplusTrace), __tsplusTrace)(
|
1387
|
+
return self => {
|
1388
|
+
return repeatUntilIO_1(a => succeedNow_1(f(a), __tsplusTrace), __tsplusTrace)(self);
|
1342
1389
|
};
|
1343
1390
|
}
|
1344
1391
|
/**
|
@@ -1347,8 +1394,8 @@ function repeatUntil(f, __tsplusTrace) {
|
|
1347
1394
|
* @tsplus pipeable fncts.io.IO repeatUntilIO
|
1348
1395
|
*/
|
1349
1396
|
function repeatUntilIO_1(f, __tsplusTrace) {
|
1350
|
-
return
|
1351
|
-
return flatMap_1(a => flatMap_1(b => b ? succeed_1(() => a, __tsplusTrace) : repeatUntilIO_1(f, __tsplusTrace)(
|
1397
|
+
return self => {
|
1398
|
+
return flatMap_1(a => flatMap_1(b => b ? succeed_1(() => a, __tsplusTrace) : repeatUntilIO_1(f, __tsplusTrace)(self), __tsplusTrace)(f(a)), __tsplusTrace)(self);
|
1352
1399
|
};
|
1353
1400
|
}
|
1354
1401
|
/**
|
@@ -1357,8 +1404,8 @@ function repeatUntilIO_1(f, __tsplusTrace) {
|
|
1357
1404
|
* @tsplus pipeable fncts.io.IO repeatWhile
|
1358
1405
|
*/
|
1359
1406
|
function repeatWhile(f, __tsplusTrace) {
|
1360
|
-
return
|
1361
|
-
return repeatWhileIO_1(a => succeedNow_1(f(a), __tsplusTrace), __tsplusTrace)(
|
1407
|
+
return self => {
|
1408
|
+
return repeatWhileIO_1(a => succeedNow_1(f(a), __tsplusTrace), __tsplusTrace)(self);
|
1362
1409
|
};
|
1363
1410
|
}
|
1364
1411
|
/**
|
@@ -1367,8 +1414,8 @@ function repeatWhile(f, __tsplusTrace) {
|
|
1367
1414
|
* @tsplus pipeable fncts.io.IO repeatWhileIO
|
1368
1415
|
*/
|
1369
1416
|
function repeatWhileIO_1(f, __tsplusTrace) {
|
1370
|
-
return
|
1371
|
-
return flatMap_1(a => flatMap_1(b => b ? repeatWhileIO_1(f, __tsplusTrace)(
|
1417
|
+
return self => {
|
1418
|
+
return flatMap_1(a => flatMap_1(b => b ? repeatWhileIO_1(f, __tsplusTrace)(self) : succeed_1(() => a, __tsplusTrace), __tsplusTrace)(f(a)), __tsplusTrace)(self);
|
1372
1419
|
};
|
1373
1420
|
}
|
1374
1421
|
/**
|
@@ -1376,15 +1423,15 @@ function repeatWhileIO_1(f, __tsplusTrace) {
|
|
1376
1423
|
*/
|
1377
1424
|
function replicate(n, __tsplusTrace) {
|
1378
1425
|
return self => {
|
1379
|
-
return tsplus_module_22.map(() => self)
|
1426
|
+
return tsplus_module_22.range(0, n).map(() => self);
|
1380
1427
|
};
|
1381
1428
|
}
|
1382
1429
|
/**
|
1383
1430
|
* @tsplus pipeable fncts.io.IO require
|
1384
1431
|
*/
|
1385
1432
|
function _require(error, __tsplusTrace) {
|
1386
|
-
return
|
1387
|
-
return flatMap_1(ma =>
|
1433
|
+
return self => {
|
1434
|
+
return flatMap_1(ma => tsplus_module_17.match(() => fail_1(error, __tsplusTrace), succeedNow_1)(ma), __tsplusTrace)(self);
|
1388
1435
|
};
|
1389
1436
|
}
|
1390
1437
|
/**
|
@@ -1393,16 +1440,16 @@ function _require(error, __tsplusTrace) {
|
|
1393
1440
|
*
|
1394
1441
|
* @tsplus getter fncts.io.IO result
|
1395
1442
|
*/
|
1396
|
-
function result(
|
1397
|
-
return matchCauseIO_1(cause => succeedNow_1(
|
1443
|
+
function result(self, __tsplusTrace) {
|
1444
|
+
return matchCauseIO_1(cause => succeedNow_1(tsplus_module_10.failCause(cause, __tsplusTrace), __tsplusTrace), a => succeedNow_1(tsplus_module_10.succeed(a, __tsplusTrace), __tsplusTrace), __tsplusTrace)(self);
|
1398
1445
|
}
|
1399
1446
|
/**
|
1400
1447
|
* Recover from the unchecked failure of the `IO`. (opposite of `orHalt`)
|
1401
1448
|
*
|
1402
1449
|
* @tsplus getter fncts.io.IO resurrect
|
1403
1450
|
*/
|
1404
|
-
function resurrect(
|
1405
|
-
return unrefineWith_1(
|
1451
|
+
function resurrect(self, __tsplusTrace) {
|
1452
|
+
return unrefineWith_1(tsplus_module_2.just, _function.identity, __tsplusTrace)(self);
|
1406
1453
|
}
|
1407
1454
|
/**
|
1408
1455
|
* Retries this effect until its error satisfies the specified predicate.
|
@@ -1410,8 +1457,8 @@ function resurrect(io, __tsplusTrace) {
|
|
1410
1457
|
* @tsplus pipeable fncts.io.IO retryUntil
|
1411
1458
|
*/
|
1412
1459
|
function retryUntil(f, __tsplusTrace) {
|
1413
|
-
return
|
1414
|
-
return retryUntilIO_1(e => succeedNow_1(f(e), __tsplusTrace), __tsplusTrace)(
|
1460
|
+
return self => {
|
1461
|
+
return retryUntilIO_1(e => succeedNow_1(f(e), __tsplusTrace), __tsplusTrace)(self);
|
1415
1462
|
};
|
1416
1463
|
}
|
1417
1464
|
/**
|
@@ -1420,8 +1467,8 @@ function retryUntil(f, __tsplusTrace) {
|
|
1420
1467
|
* @tsplus pipeable fncts.io.IO retryUntilIO
|
1421
1468
|
*/
|
1422
1469
|
function retryUntilIO_1(f, __tsplusTrace) {
|
1423
|
-
return
|
1424
|
-
return catchAll_1(e => flatMap_1(b => b ? failNow_1(e, __tsplusTrace) : retryUntilIO_1(f, __tsplusTrace)(
|
1470
|
+
return self => {
|
1471
|
+
return catchAll_1(e => flatMap_1(b => b ? failNow_1(e, __tsplusTrace) : retryUntilIO_1(f, __tsplusTrace)(self), __tsplusTrace)(f(e)), __tsplusTrace)(self);
|
1425
1472
|
};
|
1426
1473
|
}
|
1427
1474
|
/**
|
@@ -1430,8 +1477,8 @@ function retryUntilIO_1(f, __tsplusTrace) {
|
|
1430
1477
|
* @tsplus pipeable fncts.io.IO retryWhile
|
1431
1478
|
*/
|
1432
1479
|
function retryWhile(f, __tsplusTrace) {
|
1433
|
-
return
|
1434
|
-
return retryWhileIO_1(e => succeedNow_1(f(e), __tsplusTrace), __tsplusTrace)(
|
1480
|
+
return self => {
|
1481
|
+
return retryWhileIO_1(e => succeedNow_1(f(e), __tsplusTrace), __tsplusTrace)(self);
|
1435
1482
|
};
|
1436
1483
|
}
|
1437
1484
|
/**
|
@@ -1440,8 +1487,8 @@ function retryWhile(f, __tsplusTrace) {
|
|
1440
1487
|
* @tsplus pipeable fncts.io.IO retryWhileIO
|
1441
1488
|
*/
|
1442
1489
|
function retryWhileIO_1(f, __tsplusTrace) {
|
1443
|
-
return
|
1444
|
-
return catchAll_1(e => flatMap_1(b => b ? retryWhileIO_1(f, __tsplusTrace)(
|
1490
|
+
return self => {
|
1491
|
+
return catchAll_1(e => flatMap_1(b => b ? retryWhileIO_1(f, __tsplusTrace)(self) : fail_1(() => e, __tsplusTrace), __tsplusTrace)(f(e)), __tsplusTrace)(self);
|
1445
1492
|
};
|
1446
1493
|
}
|
1447
1494
|
/**
|
@@ -1449,15 +1496,15 @@ function retryWhileIO_1(f, __tsplusTrace) {
|
|
1449
1496
|
*
|
1450
1497
|
* @tsplus getter fncts.io.IO sandbox
|
1451
1498
|
*/
|
1452
|
-
function sandbox_1(
|
1453
|
-
return matchCauseIO_1(failNow_1, succeedNow_1, __tsplusTrace)(
|
1499
|
+
function sandbox_1(self, __tsplusTrace) {
|
1500
|
+
return matchCauseIO_1(failNow_1, succeedNow_1, __tsplusTrace)(self);
|
1454
1501
|
}
|
1455
1502
|
/**
|
1456
1503
|
* @tsplus pipeable fncts.io.IO sandboxWith
|
1457
1504
|
*/
|
1458
1505
|
function sandboxWith(f, __tsplusTrace) {
|
1459
|
-
return
|
1460
|
-
return unsandbox_1(f(sandbox_1(
|
1506
|
+
return self => {
|
1507
|
+
return unsandbox_1(f(sandbox_1(self, __tsplusTrace)), __tsplusTrace);
|
1461
1508
|
};
|
1462
1509
|
}
|
1463
1510
|
/**
|
@@ -1472,17 +1519,6 @@ function sequenceIterable(as, __tsplusTrace) {
|
|
1472
1519
|
function sequenceIterableDiscard(as, __tsplusTrace) {
|
1473
1520
|
return foreachDiscard_1(as, _function.identity, __tsplusTrace);
|
1474
1521
|
}
|
1475
|
-
/**
|
1476
|
-
* Creates a `IO` that has succeeded with a pure value
|
1477
|
-
*
|
1478
|
-
* @tsplus static fncts.io.IOOps succeedNow
|
1479
|
-
*/
|
1480
|
-
function succeedNow_1(value, __tsplusTrace) {
|
1481
|
-
const io = new _definition2.IOPrimitive(0 /* IOTag.SucceedNow */);
|
1482
|
-
io.i0 = value;
|
1483
|
-
io.trace = __tsplusTrace;
|
1484
|
-
return io;
|
1485
|
-
}
|
1486
1522
|
/**
|
1487
1523
|
* Imports a total synchronous effect into a pure `IO` value.
|
1488
1524
|
* The effect must not throw any exceptions. If you wonder if the effect
|
@@ -1497,6 +1533,17 @@ function succeed_1(effect, __tsplusTrace) {
|
|
1497
1533
|
io.trace = __tsplusTrace;
|
1498
1534
|
return io;
|
1499
1535
|
}
|
1536
|
+
/**
|
1537
|
+
* Creates a `IO` that has succeeded with a pure value
|
1538
|
+
*
|
1539
|
+
* @tsplus static fncts.io.IOOps succeedNow
|
1540
|
+
*/
|
1541
|
+
function succeedNow_1(value, __tsplusTrace) {
|
1542
|
+
const io = new _definition2.IOPrimitive(0 /* IOTag.SucceedNow */);
|
1543
|
+
io.i0 = value;
|
1544
|
+
io.trace = __tsplusTrace;
|
1545
|
+
return io;
|
1546
|
+
}
|
1500
1547
|
/**
|
1501
1548
|
* @tsplus pipeable fncts.io.IO summarized
|
1502
1549
|
*/
|
@@ -1515,8 +1562,8 @@ function summarized_1(summary, f, __tsplusTrace) {
|
|
1515
1562
|
*
|
1516
1563
|
* @tsplus getter fncts.io.IO swap
|
1517
1564
|
*/
|
1518
|
-
function swap_1(
|
1519
|
-
return matchIO_1(succeedNow_1, failNow_1, __tsplusTrace)(
|
1565
|
+
function swap_1(self, __tsplusTrace) {
|
1566
|
+
return matchIO_1(succeedNow_1, failNow_1, __tsplusTrace)(self);
|
1520
1567
|
}
|
1521
1568
|
/**
|
1522
1569
|
* Swaps the error/value parameters, applies the function `f` and flips the parameters back
|
@@ -1524,61 +1571,7 @@ function swap_1(pab, __tsplusTrace) {
|
|
1524
1571
|
* @tsplus pipeable fncts.io.IO swapWith
|
1525
1572
|
*/
|
1526
1573
|
function swapWith_1(f, __tsplusTrace) {
|
1527
|
-
return
|
1528
|
-
}
|
1529
|
-
/**
|
1530
|
-
* A more powerful variation of `timed` that allows specifying the clock.
|
1531
|
-
*
|
1532
|
-
* @tsplus pipeable fncts.io.IO timedWith
|
1533
|
-
*/
|
1534
|
-
function timedWith(msTime, __tsplusTrace) {
|
1535
|
-
return ma => summarized_1(msTime, (start, end) => end - start, __tsplusTrace)(ma);
|
1536
|
-
}
|
1537
|
-
/**
|
1538
|
-
* @tsplus static fncts.io.IOOps attempt
|
1539
|
-
*/
|
1540
|
-
function attempt(effect, __tsplusTrace) {
|
1541
|
-
return defer_1(() => {
|
1542
|
-
try {
|
1543
|
-
return tsplus_module_23.succeed(effect(), __tsplusTrace);
|
1544
|
-
} catch (u) {
|
1545
|
-
return withFiberRuntime_1(fiberState => {
|
1546
|
-
if (!fiberState.isFatal(u)) {
|
1547
|
-
throw new _exceptions.IOError(tsplus_module_2.fail(u));
|
1548
|
-
} else {
|
1549
|
-
throw u;
|
1550
|
-
}
|
1551
|
-
}, __tsplusTrace);
|
1552
|
-
}
|
1553
|
-
}, __tsplusTrace);
|
1554
|
-
}
|
1555
|
-
/**
|
1556
|
-
* Creates a `IO` that has succeeded with a pure value
|
1557
|
-
*
|
1558
|
-
* @tsplus static fncts.io.IOOps tryCatch
|
1559
|
-
*/
|
1560
|
-
function tryCatch_1(effect, onThrow, __tsplusTrace) {
|
1561
|
-
return defer_1(() => {
|
1562
|
-
try {
|
1563
|
-
return tsplus_module_23.succeed(effect(), __tsplusTrace);
|
1564
|
-
} catch (u) {
|
1565
|
-
return withFiberRuntime_1(fiberState => {
|
1566
|
-
if (!fiberState.isFatal(u)) {
|
1567
|
-
throw new _exceptions.IOError(tsplus_module_2.fail(onThrow(u)));
|
1568
|
-
} else {
|
1569
|
-
throw u;
|
1570
|
-
}
|
1571
|
-
}, __tsplusTrace);
|
1572
|
-
}
|
1573
|
-
}, __tsplusTrace);
|
1574
|
-
}
|
1575
|
-
/**
|
1576
|
-
* Returns an `IO` that submerges an `Either` into the `IO`.
|
1577
|
-
*
|
1578
|
-
* @tsplus getter fncts.io.IO absolve
|
1579
|
-
*/
|
1580
|
-
function absolve(ma, __tsplusTrace) {
|
1581
|
-
return flatMap_1(ea => tsplus_module_4.match(failNow_1, succeedNow_1)(ea), __tsplusTrace)(ma);
|
1574
|
+
return self => swap_1(f(swap_1(self, __tsplusTrace)), __tsplusTrace);
|
1582
1575
|
}
|
1583
1576
|
/**
|
1584
1577
|
* Composes computations in sequence, using the return value of one computation as input for the next
|
@@ -1600,8 +1593,8 @@ function tap(f, __tsplusTrace) {
|
|
1600
1593
|
* @tsplus pipeable fncts.io.IO tapCause
|
1601
1594
|
*/
|
1602
1595
|
function tapCause(f, __tsplusTrace) {
|
1603
|
-
return
|
1604
|
-
return matchCauseIO_1(c => flatMap_1(() => failCauseNow_1(c, __tsplusTrace), __tsplusTrace)(f(c)), succeedNow_1, __tsplusTrace)(
|
1596
|
+
return self => {
|
1597
|
+
return matchCauseIO_1(c => flatMap_1(() => failCauseNow_1(c, __tsplusTrace), __tsplusTrace)(f(c)), succeedNow_1, __tsplusTrace)(self);
|
1605
1598
|
};
|
1606
1599
|
}
|
1607
1600
|
/**
|
@@ -1610,7 +1603,7 @@ function tapCause(f, __tsplusTrace) {
|
|
1610
1603
|
* @tsplus pipeable fncts.io.IO tapError
|
1611
1604
|
*/
|
1612
1605
|
function tapError(f, __tsplusTrace) {
|
1613
|
-
return self => matchCauseIO_1(cause => tsplus_module_4.match(e => flatMap_1(() => failCauseNow_1(cause, __tsplusTrace), __tsplusTrace)(f(e)), _ => failCauseNow_1(cause, __tsplusTrace))(
|
1606
|
+
return self => matchCauseIO_1(cause => tsplus_module_4.match(e => flatMap_1(() => failCauseNow_1(cause, __tsplusTrace), __tsplusTrace)(f(e)), _ => failCauseNow_1(cause, __tsplusTrace))(tsplus_module_1.failureOrCause(cause)), succeedNow_1, __tsplusTrace)(self);
|
1614
1607
|
}
|
1615
1608
|
/**
|
1616
1609
|
* Returns an effect that effectually "peeks" at the cause of the failure of
|
@@ -1623,18 +1616,46 @@ function tapErrorCause(f, __tsplusTrace) {
|
|
1623
1616
|
return matchCauseIO_1(cause => zipRight_1(failCauseNow_1(cause, __tsplusTrace), __tsplusTrace)(f(cause)), succeedNow_1, __tsplusTrace)(self);
|
1624
1617
|
};
|
1625
1618
|
}
|
1619
|
+
/**
|
1620
|
+
* A more powerful variation of `timed` that allows specifying the clock.
|
1621
|
+
*
|
1622
|
+
* @tsplus pipeable fncts.io.IO timedWith
|
1623
|
+
*/
|
1624
|
+
function timedWith(msTime, __tsplusTrace) {
|
1625
|
+
return self => summarized_1(msTime, (start, end) => end - start, __tsplusTrace)(self);
|
1626
|
+
}
|
1627
|
+
/**
|
1628
|
+
* Creates a `IO` that has succeeded with a pure value
|
1629
|
+
*
|
1630
|
+
* @tsplus static fncts.io.IOOps tryCatch
|
1631
|
+
*/
|
1632
|
+
function tryCatch_1(effect, onThrow, __tsplusTrace) {
|
1633
|
+
return defer_1(() => {
|
1634
|
+
try {
|
1635
|
+
return tsplus_module_10.succeed(effect(), __tsplusTrace);
|
1636
|
+
} catch (u) {
|
1637
|
+
return withFiberRuntime_1(fiberState => {
|
1638
|
+
if (!fiberState.isFatal(u)) {
|
1639
|
+
throw new _exceptions.IOError(tsplus_module_1.fail(onThrow(u)));
|
1640
|
+
} else {
|
1641
|
+
throw u;
|
1642
|
+
}
|
1643
|
+
}, __tsplusTrace);
|
1644
|
+
}
|
1645
|
+
}, __tsplusTrace);
|
1646
|
+
}
|
1626
1647
|
/**
|
1627
1648
|
* @tsplus pipeable fncts.io.IO tryOrElse
|
1628
1649
|
*/
|
1629
1650
|
function tryOrElse_1(that, onSuccess, __tsplusTrace) {
|
1630
|
-
return
|
1631
|
-
return matchCauseIO_1(cause =>
|
1651
|
+
return self => {
|
1652
|
+
return matchCauseIO_1(cause => tsplus_module_17.match(that, failCauseNow_1)(tsplus_module_1.keepDefects(cause)), onSuccess, __tsplusTrace)(self);
|
1632
1653
|
};
|
1633
1654
|
}
|
1634
1655
|
/**
|
1635
1656
|
* @tsplus static fncts.io.IOOps unit
|
1636
1657
|
*/
|
1637
|
-
const unit_1 = /*#__PURE__*/succeedNow_1(undefined, fileName_1 + ":
|
1658
|
+
const unit_1 = /*#__PURE__*/succeedNow_1(undefined, fileName_1 + ":1866:45");
|
1638
1659
|
const unit = exports.unit = unit_1;
|
1639
1660
|
/**
|
1640
1661
|
* Converts an option on errors into an option on values.
|
@@ -1642,7 +1663,7 @@ const unit = exports.unit = unit_1;
|
|
1642
1663
|
* @tsplus getter fncts.io.IO unjust
|
1643
1664
|
*/
|
1644
1665
|
function unjust(self, __tsplusTrace) {
|
1645
|
-
return matchIO_1(e =>
|
1666
|
+
return matchIO_1(e => tsplus_module_17.match(() => succeedNow_1(tsplus_module_2.nothing(__tsplusTrace), __tsplusTrace), failNow_1)(e), a => succeedNow_1(tsplus_module_2.just(a, __tsplusTrace), __tsplusTrace), __tsplusTrace)(self);
|
1646
1667
|
}
|
1647
1668
|
/**
|
1648
1669
|
* Takes some fiber failures and converts them into errors, using the
|
@@ -1651,8 +1672,8 @@ function unjust(self, __tsplusTrace) {
|
|
1651
1672
|
* @tsplus pipeable fncts.io.IO unrefineWith
|
1652
1673
|
*/
|
1653
1674
|
function unrefineWith_1(pf, f, __tsplusTrace) {
|
1654
|
-
return
|
1655
|
-
return catchAllCause_1(cause =>
|
1675
|
+
return self => {
|
1676
|
+
return catchAllCause_1(cause => tsplus_module_17.match(() => failCauseNow_1(tsplus_module_1.map(f)(cause), __tsplusTrace), failNow_1)(tsplus_module_1.find(c => tsplus_module_1.isHalt(c) ? pf(c.value) : tsplus_module_2.nothing(__tsplusTrace))(cause)), __tsplusTrace)(self);
|
1656
1677
|
};
|
1657
1678
|
}
|
1658
1679
|
/**
|
@@ -1660,8 +1681,8 @@ function unrefineWith_1(pf, f, __tsplusTrace) {
|
|
1660
1681
|
*
|
1661
1682
|
* @tsplus getter fncts.io.IO unsandbox
|
1662
1683
|
*/
|
1663
|
-
function unsandbox_1(
|
1664
|
-
return mapErrorCause_1(cause =>
|
1684
|
+
function unsandbox_1(self, __tsplusTrace) {
|
1685
|
+
return mapErrorCause_1(cause => tsplus_module_1.flatten(cause), __tsplusTrace)(self);
|
1665
1686
|
}
|
1666
1687
|
/**
|
1667
1688
|
* Updates the `FiberRef` values for the fiber running this effect using the
|
@@ -1679,12 +1700,27 @@ function updateFiberRefs(f, __tsplusTrace) {
|
|
1679
1700
|
* @tsplus fluent fncts.io.IO __call
|
1680
1701
|
*/
|
1681
1702
|
const via = exports.via = _function.pipe;
|
1703
|
+
/**
|
1704
|
+
* @tsplus static fncts.io.IOOps stackTrace
|
1705
|
+
*/
|
1706
|
+
function stackTrace_1(__tsplusTrace) {
|
1707
|
+
return withFiberRuntime_1(state => succeedNow_1(state.generateStackTrace(), __tsplusTrace), __tsplusTrace);
|
1708
|
+
}
|
1709
|
+
/**
|
1710
|
+
* @tsplus static fncts.io.IOOps updateRuntimeFlags
|
1711
|
+
*/
|
1712
|
+
function updateRuntimeFlags(patch, __tsplusTrace) {
|
1713
|
+
const io = new _definition2.IOPrimitive(6 /* IOTag.UpdateRuntimeFlags */);
|
1714
|
+
io.i0 = patch;
|
1715
|
+
io.trace = __tsplusTrace;
|
1716
|
+
return io;
|
1717
|
+
}
|
1682
1718
|
/**
|
1683
1719
|
* @tsplus pipeable fncts.io.IO when
|
1684
1720
|
*/
|
1685
1721
|
function when(b, __tsplusTrace) {
|
1686
|
-
return
|
1687
|
-
return whenIO_1(succeed_1(b, __tsplusTrace), __tsplusTrace)(
|
1722
|
+
return self => {
|
1723
|
+
return whenIO_1(succeed_1(b, __tsplusTrace), __tsplusTrace)(self);
|
1688
1724
|
};
|
1689
1725
|
}
|
1690
1726
|
/**
|
@@ -1694,33 +1730,26 @@ function when(b, __tsplusTrace) {
|
|
1694
1730
|
* @tsplus static fncts.io.IOOps whenIO
|
1695
1731
|
*/
|
1696
1732
|
function whenIO_1(mb, __tsplusTrace) {
|
1697
|
-
return
|
1698
|
-
return flatMap_1(b => b ? asJust_1(
|
1733
|
+
return self => {
|
1734
|
+
return flatMap_1(b => b ? asJust_1(self, __tsplusTrace) : nothing_1, __tsplusTrace)(mb);
|
1699
1735
|
};
|
1700
1736
|
}
|
1701
1737
|
/**
|
1702
|
-
* @tsplus static fncts.io.IOOps
|
1738
|
+
* @tsplus static fncts.io.IOOps whileLoop
|
1703
1739
|
*/
|
1704
|
-
function
|
1705
|
-
const io = new _definition2.IOPrimitive(
|
1706
|
-
io.i0 =
|
1707
|
-
io.
|
1740
|
+
function whileLoop_1(check, body, process, __tsPlusTrace) {
|
1741
|
+
const io = new _definition2.IOPrimitive(9 /* IOTag.WhileLoop */);
|
1742
|
+
io.i0 = check;
|
1743
|
+
io.i1 = body;
|
1744
|
+
io.i2 = process;
|
1708
1745
|
return io;
|
1709
1746
|
}
|
1710
1747
|
/**
|
1711
|
-
* @tsplus static fncts.io.IOOps
|
1712
|
-
*/
|
1713
|
-
function updateRuntimeFlags(patch, __tsplusTrace) {
|
1714
|
-
const io = new _definition2.IOPrimitive(7 /* IOTag.UpdateRuntimeFlags */);
|
1715
|
-
io.i0 = patch;
|
1716
|
-
io.trace = __tsplusTrace;
|
1717
|
-
return io;
|
1718
|
-
}
|
1719
|
-
/**
|
1720
|
-
* @tsplus static fncts.io.IOOps stackTrace
|
1748
|
+
* @tsplus static fncts.io.IOOps withFiberRuntime
|
1721
1749
|
*/
|
1722
|
-
function
|
1723
|
-
const io = new _definition2.IOPrimitive(
|
1750
|
+
function withFiberRuntime_1(onState, __tsplusTrace) {
|
1751
|
+
const io = new _definition2.IOPrimitive(8 /* IOTag.Stateful */);
|
1752
|
+
io.i0 = onState;
|
1724
1753
|
io.trace = __tsplusTrace;
|
1725
1754
|
return io;
|
1726
1755
|
}
|
@@ -1731,7 +1760,7 @@ function stackTrace_1(__tsplusTrace) {
|
|
1731
1760
|
*
|
1732
1761
|
* @tsplus static fncts.io.IOOps yieldNow
|
1733
1762
|
*/
|
1734
|
-
const yieldNow_1 = /*#__PURE__*/new _definition2.IOPrimitive(
|
1763
|
+
const yieldNow_1 = /*#__PURE__*/new _definition2.IOPrimitive(10 /* IOTag.YieldNow */);
|
1735
1764
|
const yieldNow = exports.yieldNow = yieldNow_1;
|
1736
1765
|
/**
|
1737
1766
|
* @tsplus pipeable fncts.io.IO zip
|
@@ -1741,6 +1770,26 @@ function zip(that, __tsplusTrace) {
|
|
1741
1770
|
return zipWith_1(that, _function.tuple, __tsplusTrace)(self);
|
1742
1771
|
};
|
1743
1772
|
}
|
1773
|
+
/**
|
1774
|
+
* @tsplus pipeable fncts.io.IO zipLeft
|
1775
|
+
* @tsplus pipeable-operator fncts.io.IO <
|
1776
|
+
*/
|
1777
|
+
function zipLeft(fb, __tsplusTrace) {
|
1778
|
+
return self => {
|
1779
|
+
return flatMap_1(a => map_1(() => a, __tsplusTrace)(fb), __tsplusTrace)(self);
|
1780
|
+
};
|
1781
|
+
}
|
1782
|
+
/**
|
1783
|
+
* Combine two effectful actions, keeping only the result of the second
|
1784
|
+
*
|
1785
|
+
* @tsplus pipeable fncts.io.IO zipRight
|
1786
|
+
* @tsplus pipeable-operator fncts.io.IO >
|
1787
|
+
*/
|
1788
|
+
function zipRight_1(fb, __tsplusTrace) {
|
1789
|
+
return self => {
|
1790
|
+
return flatMap_1(() => fb, __tsplusTrace)(self);
|
1791
|
+
};
|
1792
|
+
}
|
1744
1793
|
/**
|
1745
1794
|
* @tsplus pipeable fncts.io.IO zipWith
|
1746
1795
|
*/
|
@@ -1749,6 +1798,13 @@ function zipWith_1(that, f, __tsplusTrace) {
|
|
1749
1798
|
return flatMap_1(a => map_1(b => f(a, b), __tsplusTrace)(that), __tsplusTrace)(self);
|
1750
1799
|
};
|
1751
1800
|
}
|
1801
|
+
/**
|
1802
|
+
* @internal
|
1803
|
+
*/
|
1804
|
+
const __adapter = _ => {
|
1805
|
+
return _;
|
1806
|
+
};
|
1807
|
+
exports.__adapter = __adapter;
|
1752
1808
|
class GenIO {
|
1753
1809
|
constructor(effect, _trace) {
|
1754
1810
|
this.effect = effect;
|
@@ -1758,14 +1814,7 @@ class GenIO {
|
|
1758
1814
|
return yield this;
|
1759
1815
|
}
|
1760
1816
|
}
|
1761
|
-
/**
|
1762
|
-
* @internal
|
1763
|
-
*/
|
1764
1817
|
exports.GenIO = GenIO;
|
1765
|
-
const __adapter = _ => {
|
1766
|
-
return _;
|
1767
|
-
};
|
1768
|
-
exports.__adapter = __adapter;
|
1769
1818
|
const adapter = (_, __tsplusTrace) => {
|
1770
1819
|
return new GenIO(__adapter(_), __tsplusTrace);
|
1771
1820
|
};
|