@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/ScopedRef/api.cjs
CHANGED
@@ -16,8 +16,7 @@ var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require(
|
|
16
16
|
var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Ref/api/get"));
|
17
17
|
var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/api"));
|
18
18
|
var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Ref/Synchronized/api"));
|
19
|
-
function
|
20
|
-
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; }
|
19
|
+
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); }
|
21
20
|
const fileName_1 = "(@fncts/io) src/ScopedRef/api.ts";
|
22
21
|
/**
|
23
22
|
* @tsplus static fncts.io.ScopedRefOps fromAcquire
|
@@ -36,7 +35,7 @@ class Synch extends tsplus_module_9.ScopedRef {
|
|
36
35
|
this.get = tsplus_module_2.map(([_, a]) => a, fileName_1 + ":42:33")(tsplus_module_10.get(this.ref, fileName_1 + ":42:25"));
|
37
36
|
}
|
38
37
|
set(acquire, __tsplusTrace) {
|
39
|
-
return tsplus_module_2.flatten(tsplus_module_12.modifyIO(([oldScope, a]) => tsplus_module_8.uninterruptibleMask(restore => tsplus_module_2.flatMap(() => tsplus_module_2.flatMap(newScope => tsplus_module_2.flatMap(exit => tsplus_module_11.match(cause => tsplus_module_2.as(() => [tsplus_module_2.refailCause(cause, fileName_1 + ":34:61"), [oldScope, a]], fileName_1 + ":34:45")(newScope.close(() => tsplus_module_4.unit)), a => tsplus_module_2.succeedNow([tsplus_module_2.unit, [newScope, a]], fileName_1 + ":35:35"))(exit), fileName_1 + ":30:29")(tsplus_module_2.result(restore(tsplus_module_7.extend(() => acquire, fileName_1 + ":30:53")(newScope), fileName_1 + ":30:37"), fileName_1 + ":30:63")), fileName_1 + ":29:29")(tsplus_module_7.make), fileName_1 + ":28:12")(oldScope.close(() => tsplus_module_4.unit)), fileName_1 + ":26:29"), fileName_1 + ":25:29")(this.ref), fileName_1 + ":40:6");
|
38
|
+
return tsplus_module_2.flatten(tsplus_module_12.modifyIO(([oldScope, a]) => tsplus_module_8.uninterruptibleMask(restore => tsplus_module_2.flatMap(() => tsplus_module_2.flatMap(newScope => tsplus_module_2.flatMap(exit => tsplus_module_11.match(cause => tsplus_module_2.as(() => [tsplus_module_2.refailCause(() => cause, fileName_1 + ":34:61"), [oldScope, a]], fileName_1 + ":34:45")(newScope.close(() => tsplus_module_4.unit)), a => tsplus_module_2.succeedNow([tsplus_module_2.unit, [newScope, a]], fileName_1 + ":35:35"))(exit), fileName_1 + ":30:29")(tsplus_module_2.result(restore(tsplus_module_7.extend(() => acquire, fileName_1 + ":30:53")(newScope), fileName_1 + ":30:37"), fileName_1 + ":30:63")), fileName_1 + ":29:29")(tsplus_module_7.make), fileName_1 + ":28:12")(oldScope.close(() => tsplus_module_4.unit)), fileName_1 + ":26:29"), fileName_1 + ":25:29")(this.ref), fileName_1 + ":40:6");
|
40
39
|
}
|
41
40
|
}
|
42
41
|
//# sourceMappingURL=api.cjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api.cjs","names":["fromAcquire","acquire","__tsplusTrace","tsplus_module_8","uninterruptibleMask","restore","tsplus_module_2","flatMap","newScope","a","ref","scopedRef","Synch","tsplus_module_1","addFinalizer","close","tsplus_module_3","makeSynchronized","tapCause","cause","tsplus_module_4","fail","tsplus_module_6","provideSomeService","tsplus_module_5","ScopeTag","tsplus_module_7","make","tsplus_module_9","ScopedRef","constructor","scope","_","unit","fileName_1","tsplus_module_10","get","map","set","flatten","tsplus_module_12","modifyIO","oldScope","exit","tsplus_module_11","match","as","refailCause","succeedNow","result","extend"],"sources":["../../_src/ScopedRef/api.ts"],"sourcesContent":[null],"mappings":"
|
1
|
+
{"version":3,"file":"api.cjs","names":["fromAcquire","acquire","__tsplusTrace","tsplus_module_8","uninterruptibleMask","restore","tsplus_module_2","flatMap","newScope","a","ref","scopedRef","Synch","tsplus_module_1","addFinalizer","close","tsplus_module_3","makeSynchronized","tapCause","cause","tsplus_module_4","fail","tsplus_module_6","provideSomeService","tsplus_module_5","ScopeTag","tsplus_module_7","make","tsplus_module_9","ScopedRef","constructor","scope","_","unit","fileName_1","tsplus_module_10","get","map","set","flatten","tsplus_module_12","modifyIO","oldScope","exit","tsplus_module_11","match","as","refailCause","succeedNow","result","extend"],"sources":["../../_src/ScopedRef/api.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.zero = exports.Reservation = void 0;
|
7
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api"));
|
8
|
+
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); }
|
9
|
+
/**
|
10
|
+
* @tsplus type fncts.io.Semaphore.Reservation
|
11
|
+
* @tsplus companion fncts.io.Semaphore.ReservationOps
|
12
|
+
*/
|
13
|
+
class Reservation {
|
14
|
+
constructor(acquire, release) {
|
15
|
+
this.acquire = acquire;
|
16
|
+
this.release = release;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
/**
|
20
|
+
* @tsplus static fncts.io.Semaphore.ReservationOps zero
|
21
|
+
*/
|
22
|
+
exports.Reservation = Reservation;
|
23
|
+
const zero = exports.zero = /*#__PURE__*/new Reservation(tsplus_module_1.unit, tsplus_module_1.unit);
|
24
|
+
//# sourceMappingURL=Reservation.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Reservation.cjs","names":["Reservation","constructor","acquire","release","exports","zero","tsplus_module_1","unit"],"sources":["../../_src/Semaphore/Reservation.ts"],"sourcesContent":[null],"mappings":";;;;;;;;AAAA;;;;AAIM,MAAOA,WAAW;EACtBC,YACWC,OAAkB,EAClBC,OAAkB;IADlB,KAAAD,OAAO,GAAPA,OAAO;IACP,KAAAC,OAAO,GAAPA,OAAO;EACf;;AAGL;;;AAAAC,OAAA,CAAAJ,WAAA,GAAAA,WAAA;AAGO,MAAMK,IAAI,GAAAD,OAAA,CAAAC,IAAA,gBAAG,IAAIL,WAAW,CAAAM,eAAA,CAAAC,IAAA,EAAAD,eAAA,CAAAC,IAAA,CAAkB","ignoreList":[]}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.makeSemaphore = makeSemaphore;
|
7
|
+
exports.unsafeMakeSemaphore = void 0;
|
8
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Semaphore"));
|
9
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api"));
|
10
|
+
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); }
|
11
|
+
const unsafeMakeSemaphore = exports.unsafeMakeSemaphore = unsafeMakeSemaphore_1;
|
12
|
+
/**
|
13
|
+
* @tsplus static fncts.io.SemaphoreOps unsafeMake
|
14
|
+
*/
|
15
|
+
function unsafeMakeSemaphore_1(permits) {
|
16
|
+
return new tsplus_module_1.Semaphore(permits);
|
17
|
+
}
|
18
|
+
/**
|
19
|
+
* @tsplus static fncts.io.SemaphoreOps make
|
20
|
+
* @tsplus static fncts.io.SemaphoreOps __call
|
21
|
+
*/
|
22
|
+
function makeSemaphore(permits, __tsplusTrace) {
|
23
|
+
return tsplus_module_2.succeed(() => unsafeMakeSemaphore_1(permits), __tsplusTrace);
|
24
|
+
}
|
25
|
+
//# sourceMappingURL=constructors.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constructors.cjs","names":["unsafeMakeSemaphore","exports","unsafeMakeSemaphore_1","permits","tsplus_module_1","Semaphore","makeSemaphore","__tsplusTrace","tsplus_module_2","succeed"],"sources":["../../_src/Semaphore/constructors.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;MAGgBA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAAE,qBAAA;AAHnC;;;AAGA,SAAAA,sBAAoCC,OAAe;EACjD,OAAO,IAAAC,eAAA,CAAIC,SAAS,CAACF,OAAO,CAAC;AAC/B;AAEA;;;;AAIM,SAAUG,aAAaA,CAACH,OAAe,EAAEI,aAAsB;EACnE,OAAOC,eAAA,CAAAC,OAAA,OAAGP,qBAAA,CAAqBC,OAAO,CAAC,EADMI,aAAA,CACL;AAC1C","ignoreList":[]}
|
@@ -0,0 +1,149 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.Semaphore = void 0;
|
7
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Either/constructors"));
|
8
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Ref/constructors"));
|
9
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Either/destructors"));
|
10
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api"));
|
11
|
+
var _Reservation = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Semaphore/Reservation"));
|
12
|
+
var tsplus_module_5 = _Reservation;
|
13
|
+
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
|
14
|
+
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Future/api"));
|
15
|
+
var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/Queue/api"));
|
16
|
+
var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/Queue/constructors"));
|
17
|
+
var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Future/constructors"));
|
18
|
+
var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
|
19
|
+
var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
|
20
|
+
var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/constructors"));
|
21
|
+
var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/bracket"));
|
22
|
+
var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/acquireRelease"));
|
23
|
+
var _exceptions = /*#__PURE__*/require("@fncts/base/data/exceptions");
|
24
|
+
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); }
|
25
|
+
const fileName_1 = "(@fncts/io) src/Semaphore/definition.ts";
|
26
|
+
/**
|
27
|
+
* @tsplus type fncts.io.Semaphore
|
28
|
+
* @tsplus companion fncts.io.SemaphoreOps
|
29
|
+
*/
|
30
|
+
class Semaphore {
|
31
|
+
constructor(permits) {
|
32
|
+
this.permits = permits;
|
33
|
+
this.ref = tsplus_module_2.unsafeMake(tsplus_module_1.right(this.permits, fileName_1 + ":12:99"), fileName_1 + ":12:23");
|
34
|
+
}
|
35
|
+
available(__tsplusTrace) {
|
36
|
+
return tsplus_module_4.map(_ => tsplus_module_3.match(() => 0, permits => permits)(_), fileName_1 + ":15:28")(this.ref.get);
|
37
|
+
}
|
38
|
+
tryReserve(n, __tsplusTrace) {
|
39
|
+
if (n < 0) {
|
40
|
+
return tsplus_module_4.halt(() => new _exceptions.IllegalArgumentError(`Unexpected negative ${n} permits requested`, "Semaphore.tryReserve"), fileName_1 + ":25:21");
|
41
|
+
} else if (n === 0) {
|
42
|
+
return tsplus_module_4.succeedNow(tsplus_module_6.just(tsplus_module_5.zero, fileName_1 + ":27:32"), fileName_1 + ":27:27");
|
43
|
+
} else {
|
44
|
+
return this.ref.modify(state => tsplus_module_3.match(() => [tsplus_module_6.nothing(fileName_1 + ":31:25"), state], permits => {
|
45
|
+
if (permits >= n) {
|
46
|
+
return [tsplus_module_6.just(new _Reservation.Reservation(tsplus_module_4.unit, this.releaseN(n, fileName_1 + ":34:66")), fileName_1 + ":34:27"), tsplus_module_1.right(permits - n, fileName_1 + ":34:85")];
|
47
|
+
} else {
|
48
|
+
return [tsplus_module_6.nothing(fileName_1 + ":36:30"), state];
|
49
|
+
}
|
50
|
+
})(state), fileName_1 + ":29:29");
|
51
|
+
}
|
52
|
+
}
|
53
|
+
reserve(n, __tsplusTrace) {
|
54
|
+
if (n < 0) {
|
55
|
+
return tsplus_module_4.halt(() => new _exceptions.IllegalArgumentError(`Unexpected negative ${n} permits requested`, "Semaphore.reserve"), fileName_1 + ":46:21");
|
56
|
+
} else if (n === 0) {
|
57
|
+
return tsplus_module_4.succeedNow(tsplus_module_5.zero, fileName_1 + ":48:27");
|
58
|
+
} else {
|
59
|
+
return tsplus_module_4.flatMap(future => this.ref.modify(state => tsplus_module_3.match(queue => [new _Reservation.Reservation(tsplus_module_7.wait(future, fileName_1 + ":54:37"), this.restore(future, n, fileName_1 + ":54:57")), tsplus_module_1.left(tsplus_module_8.enqueue([future, n])(queue), fileName_1 + ":55:26")], permits => {
|
60
|
+
if (permits >= n) {
|
61
|
+
return [new _Reservation.Reservation(tsplus_module_4.unit, this.releaseN(n, fileName_1 + ":59:63")), tsplus_module_1.right(permits - n, fileName_1 + ":59:81")];
|
62
|
+
} else {
|
63
|
+
return [new _Reservation.Reservation(tsplus_module_7.wait(future, fileName_1 + ":62:41"), this.restore(future, n, fileName_1 + ":62:61")), tsplus_module_1.left(tsplus_module_9.single([future, n - permits]), fileName_1 + ":63:30")];
|
64
|
+
}
|
65
|
+
})(state), fileName_1 + ":51:24"), fileName_1 + ":50:48")(tsplus_module_10.make(fileName_1 + ":50:25"));
|
66
|
+
}
|
67
|
+
}
|
68
|
+
restore(future, n, __tsplusTrace) {
|
69
|
+
return tsplus_module_4.flatten(this.ref.modify(state => tsplus_module_3.match(queue => tsplus_module_11.match(() => [this.releaseN(n, fileName_1 + ":80:35"), tsplus_module_1.left(queue, fileName_1 + ":80:51")], ([_, permits]) => [this.releaseN(n - permits, fileName_1 + ":82:30"), tsplus_module_1.left(tsplus_module_8.filter(([waiter]) => waiter !== future)(queue), fileName_1 + ":83:28")])(tsplus_module_8.find(([waiter]) => waiter === future)(queue)), permits => [tsplus_module_4.unit, tsplus_module_1.right(permits + n, fileName_1 + ":86:44")])(state), fileName_1 + ":74:27"), fileName_1 + ":88:6");
|
70
|
+
}
|
71
|
+
releaseN(n, __tsplusTrace) {
|
72
|
+
const self = this;
|
73
|
+
/**
|
74
|
+
* @tsplus tailRec
|
75
|
+
*/
|
76
|
+
function loop(n, state, acc) {
|
77
|
+
var n_1 = n,
|
78
|
+
state_1 = state,
|
79
|
+
acc_1 = acc;
|
80
|
+
var n_2 = n,
|
81
|
+
state_2 = state,
|
82
|
+
acc_2 = acc;
|
83
|
+
while (1) {
|
84
|
+
void 0;
|
85
|
+
switch (state_1._tag) {
|
86
|
+
case "Right" /* EitherTag.Right */:
|
87
|
+
{
|
88
|
+
return [acc_1, tsplus_module_1.right(state_1.right + n_1, fileName_1 + ":105:36")];
|
89
|
+
}
|
90
|
+
case "Left" /* EitherTag.Left */:
|
91
|
+
{
|
92
|
+
const waiter = tsplus_module_8.dequeue(state_1.left);
|
93
|
+
void 0;
|
94
|
+
switch (waiter._tag) {
|
95
|
+
case "Nothing" /* MaybeTag.Nothing */:
|
96
|
+
{
|
97
|
+
return [acc_1, tsplus_module_1.right(self.permits, fileName_1 + ":114:40")];
|
98
|
+
}
|
99
|
+
case "Just" /* MaybeTag.Just */:
|
100
|
+
{
|
101
|
+
const [[future, permits], queue] = waiter.value;
|
102
|
+
if (n_1 > permits) {
|
103
|
+
n_2 = n_1 - permits;
|
104
|
+
state_2 = tsplus_module_1.left(queue, fileName_1 + ":119:53");
|
105
|
+
acc_2 = tsplus_module_4.zipLeft(tsplus_module_7.succeed_(undefined, fileName_1 + ":119:88")(future), fileName_1 + ":119:73")(acc_1);
|
106
|
+
n_1 = n_2;
|
107
|
+
state_1 = state_2;
|
108
|
+
acc_1 = acc_2;
|
109
|
+
continue;
|
110
|
+
} else if (n_1 === permits) {
|
111
|
+
return [tsplus_module_4.zipRight(tsplus_module_4.asUnit(tsplus_module_7.succeedVoid_()(future), fileName_1 + ":121:54"), fileName_1 + ":121:37")(acc_1), tsplus_module_1.left(queue, fileName_1 + ":121:75")];
|
112
|
+
} else {
|
113
|
+
return [acc_1, tsplus_module_1.left(tsplus_module_8.prepend([future, permits - n_1])(queue), fileName_1 + ":123:41")];
|
114
|
+
}
|
115
|
+
}
|
116
|
+
}
|
117
|
+
}
|
118
|
+
}
|
119
|
+
}
|
120
|
+
}
|
121
|
+
return tsplus_module_4.flatten(this.ref.modify(state => loop(n, state, tsplus_module_4.unit), fileName_1 + ":131:27"), fileName_1 + ":131:63");
|
122
|
+
}
|
123
|
+
tryWithPermits(permits) {
|
124
|
+
return (io, __tsPlusTrace) => {
|
125
|
+
return tsplus_module_14.bracket(() => this.tryReserve(permits, fileName_1 + ":136:29"), r => tsplus_module_11.match(() => tsplus_module_4.nothing, () => tsplus_module_4.asJust(io, fileName_1 + ":140:21"))(r), r => tsplus_module_11.match(() => tsplus_module_13.unit, reservation => reservation.release)(r), fileName_1 + ":136:46");
|
126
|
+
};
|
127
|
+
}
|
128
|
+
tryWithPermit(io) {
|
129
|
+
return this.tryWithPermits(1)(io);
|
130
|
+
}
|
131
|
+
withPermits(permits) {
|
132
|
+
return io => {
|
133
|
+
return tsplus_module_14.bracket(() => this.reserve(permits, fileName_1 + ":158:21"), reservation => tsplus_module_4.zipRight(io, fileName_1 + ":159:47")(reservation.acquire), reservation => reservation.release, fileName_1 + ":157:24");
|
134
|
+
};
|
135
|
+
}
|
136
|
+
withPermit(io) {
|
137
|
+
return this.withPermits(1)(io);
|
138
|
+
}
|
139
|
+
withPermitsScoped(permits) {
|
140
|
+
return io => {
|
141
|
+
return tsplus_module_4.flatMap(reservation => tsplus_module_4.zipRight(io, fileName_1 + ":172:47")(reservation.acquire), fileName_1 + ":171:100")(tsplus_module_15.acquireRelease(() => this.reserve(permits, fileName_1 + ":171:44"), reservation => reservation.release, fileName_1 + ":171:31"));
|
142
|
+
};
|
143
|
+
}
|
144
|
+
withPermitScoped(io) {
|
145
|
+
return this.withPermitsScoped(1)(io);
|
146
|
+
}
|
147
|
+
}
|
148
|
+
exports.Semaphore = Semaphore;
|
149
|
+
//# sourceMappingURL=definition.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"definition.cjs","names":["_exceptions","require","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Semaphore","constructor","permits","ref","tsplus_module_2","unsafeMake","tsplus_module_1","right","fileName_1","available","__tsplusTrace","tsplus_module_4","map","_","tsplus_module_3","match","tryReserve","halt","IllegalArgumentError","succeedNow","tsplus_module_6","just","tsplus_module_5","zero","modify","state","nothing","Reservation","unit","releaseN","reserve","flatMap","future","queue","tsplus_module_7","wait","restore","left","tsplus_module_8","enqueue","tsplus_module_9","single","tsplus_module_10","make","flatten","tsplus_module_11","filter","waiter","find","self","loop","acc","state_1","acc_1","state_2","acc_2","_tag","n_1","dequeue","value","zipLeft","succeed_","undefined","zipRight","asUnit","succeedVoid_","prepend","tryWithPermits","io","__tsPlusTrace","tsplus_module_14","bracket","asJust","tsplus_module_13","reservation","release","tryWithPermit","withPermits","acquire","withPermit","withPermitsScoped","tsplus_module_15","acquireRelease","withPermitScoped","exports"],"sources":["../../_src/Semaphore/definition.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/_cjs/Semaphore.cjs
CHANGED
@@ -3,144 +3,37 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/Queue/api"));
|
15
|
-
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/collection/immutable/Queue/constructors"));
|
16
|
-
var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Future/constructors"));
|
17
|
-
var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
|
18
|
-
var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
|
19
|
-
var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/bracket"));
|
20
|
-
var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/acquireRelease"));
|
21
|
-
var _exceptions = /*#__PURE__*/require("@fncts/base/data/exceptions");
|
22
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
23
|
-
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; }
|
24
|
-
const fileName_1 = "(@fncts/io) src/Semaphore.ts";
|
25
|
-
const unsafeMakeSemaphore = exports.unsafeMakeSemaphore = unsafeMakeSemaphore_1;
|
26
|
-
/**
|
27
|
-
* @tsplus type fncts.io.Semaphore
|
28
|
-
* @tsplus companion fncts.io.SemaphoreOps
|
29
|
-
*/
|
30
|
-
class Semaphore {
|
31
|
-
constructor(permits) {
|
32
|
-
this.permits = permits;
|
33
|
-
this.ref = tsplus_module_2.unsafeMake(tsplus_module_1.right(this.permits, fileName_1 + ":11:99"), fileName_1 + ":11:23");
|
34
|
-
}
|
35
|
-
available(__tsplusTrace) {
|
36
|
-
return tsplus_module_4.map(_ => tsplus_module_3.match(() => 0, permits => permits)(_), fileName_1 + ":14:28")(this.ref.get);
|
37
|
-
}
|
38
|
-
reserve(n, __tsplusTrace) {
|
39
|
-
if (n < 0) {
|
40
|
-
return tsplus_module_4.halt(() => new _exceptions.IllegalArgumentError(`Unexpected negative ${n} permits requested`, "Semaphore.reserve"), fileName_1 + ":24:21");
|
41
|
-
} else if (n === 0) {
|
42
|
-
return tsplus_module_4.succeedNow(new Reservation(tsplus_module_4.unit, tsplus_module_4.unit), fileName_1 + ":26:27");
|
43
|
-
} else {
|
44
|
-
return tsplus_module_4.flatMap(future => this.ref.modify(state => tsplus_module_3.match(queue => [new Reservation(tsplus_module_5.wait(future, fileName_1 + ":32:37"), this.restore(future, n, fileName_1 + ":32:57")), tsplus_module_1.left(tsplus_module_6.enqueue([future, n])(queue), fileName_1 + ":33:26")], permits => {
|
45
|
-
if (permits >= n) {
|
46
|
-
return [new Reservation(tsplus_module_4.unit, this.releaseN(n, fileName_1 + ":37:63")), tsplus_module_1.right(permits - n, fileName_1 + ":37:81")];
|
47
|
-
} else {
|
48
|
-
return [new Reservation(tsplus_module_5.wait(future, fileName_1 + ":40:41"), this.restore(future, n, fileName_1 + ":40:61")), tsplus_module_1.left(tsplus_module_7.single([future, n - permits]), fileName_1 + ":41:30")];
|
49
|
-
}
|
50
|
-
})(state), fileName_1 + ":29:24"), fileName_1 + ":28:48")(tsplus_module_8.make(fileName_1 + ":28:25"));
|
6
|
+
var _constructors = /*#__PURE__*/require("./Semaphore/constructors.cjs");
|
7
|
+
Object.keys(_constructors).forEach(function (key) {
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
9
|
+
if (key in exports && exports[key] === _constructors[key]) return;
|
10
|
+
Object.defineProperty(exports, key, {
|
11
|
+
enumerable: true,
|
12
|
+
get: function () {
|
13
|
+
return _constructors[key];
|
51
14
|
}
|
52
|
-
}
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
return [acc_1, tsplus_module_1.right(state_1.right + n_1, fileName_1 + ":83:36")];
|
74
|
-
}
|
75
|
-
case "Left" /* EitherTag.Left */:
|
76
|
-
{
|
77
|
-
const waiter = tsplus_module_6.dequeue(state_1.left);
|
78
|
-
void 0;
|
79
|
-
switch (waiter._tag) {
|
80
|
-
case "Nothing" /* MaybeTag.Nothing */:
|
81
|
-
{
|
82
|
-
return [acc_1, tsplus_module_1.right(self.permits, fileName_1 + ":92:40")];
|
83
|
-
}
|
84
|
-
case "Just" /* MaybeTag.Just */:
|
85
|
-
{
|
86
|
-
const [[future, permits], queue] = waiter.value;
|
87
|
-
if (n_1 > permits) {
|
88
|
-
n_2 = n_1 - permits;
|
89
|
-
state_2 = tsplus_module_1.left(queue, fileName_1 + ":97:53");
|
90
|
-
acc_2 = tsplus_module_4.zipLeft(tsplus_module_5.succeed_(undefined, fileName_1 + ":97:88")(future), fileName_1 + ":97:73")(acc_1);
|
91
|
-
n_1 = n_2;
|
92
|
-
state_1 = state_2;
|
93
|
-
acc_1 = acc_2;
|
94
|
-
continue;
|
95
|
-
} else if (n_1 === permits) {
|
96
|
-
return [tsplus_module_4.zipRight(tsplus_module_4.asUnit(tsplus_module_5.succeedVoid_()(future), fileName_1 + ":99:54"), fileName_1 + ":99:37")(acc_1), tsplus_module_1.left(queue, fileName_1 + ":99:75")];
|
97
|
-
} else {
|
98
|
-
return [acc_1, tsplus_module_1.left(tsplus_module_6.prepend([future, permits - n_1])(queue), fileName_1 + ":101:41")];
|
99
|
-
}
|
100
|
-
}
|
101
|
-
}
|
102
|
-
}
|
103
|
-
}
|
104
|
-
}
|
15
|
+
});
|
16
|
+
});
|
17
|
+
var _definition = /*#__PURE__*/require("./Semaphore/definition.cjs");
|
18
|
+
Object.keys(_definition).forEach(function (key) {
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
20
|
+
if (key in exports && exports[key] === _definition[key]) return;
|
21
|
+
Object.defineProperty(exports, key, {
|
22
|
+
enumerable: true,
|
23
|
+
get: function () {
|
24
|
+
return _definition[key];
|
25
|
+
}
|
26
|
+
});
|
27
|
+
});
|
28
|
+
var _Reservation = /*#__PURE__*/require("./Semaphore/Reservation.cjs");
|
29
|
+
Object.keys(_Reservation).forEach(function (key) {
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
31
|
+
if (key in exports && exports[key] === _Reservation[key]) return;
|
32
|
+
Object.defineProperty(exports, key, {
|
33
|
+
enumerable: true,
|
34
|
+
get: function () {
|
35
|
+
return _Reservation[key];
|
105
36
|
}
|
106
|
-
|
107
|
-
|
108
|
-
withPermits(permits) {
|
109
|
-
return io => {
|
110
|
-
return tsplus_module_11.bracket(() => this.reserve(permits, fileName_1 + ":115:21"), reservation => tsplus_module_4.zipRight(io, fileName_1 + ":116:47")(reservation.acquire), reservation => reservation.release, fileName_1 + ":114:24");
|
111
|
-
};
|
112
|
-
}
|
113
|
-
withPermit(io) {
|
114
|
-
return this.withPermits(1)(io);
|
115
|
-
}
|
116
|
-
withPermitsScoped(permits) {
|
117
|
-
return io => {
|
118
|
-
return tsplus_module_4.flatMap(reservation => tsplus_module_4.zipRight(io, fileName_1 + ":129:47")(reservation.acquire), fileName_1 + ":128:100")(tsplus_module_12.acquireRelease(() => this.reserve(permits, fileName_1 + ":128:44"), reservation => reservation.release, fileName_1 + ":128:31"));
|
119
|
-
};
|
120
|
-
}
|
121
|
-
withPermitScoped(io) {
|
122
|
-
return this.withPermitsScoped(1)(io);
|
123
|
-
}
|
124
|
-
}
|
125
|
-
exports.Semaphore = Semaphore;
|
126
|
-
class Reservation {
|
127
|
-
constructor(acquire, release) {
|
128
|
-
this.acquire = acquire;
|
129
|
-
this.release = release;
|
130
|
-
}
|
131
|
-
}
|
132
|
-
/**
|
133
|
-
* @tsplus static fncts.io.SemaphoreOps unsafeMake
|
134
|
-
*/
|
135
|
-
exports.Reservation = Reservation;
|
136
|
-
function unsafeMakeSemaphore_1(permits) {
|
137
|
-
return new Semaphore(permits);
|
138
|
-
}
|
139
|
-
/**
|
140
|
-
* @tsplus static fncts.io.SemaphoreOps make
|
141
|
-
* @tsplus static fncts.io.SemaphoreOps __call
|
142
|
-
*/
|
143
|
-
function makeSemaphore(permits, __tsplusTrace) {
|
144
|
-
return tsplus_module_4.succeed(() => unsafeMakeSemaphore_1(permits), __tsplusTrace);
|
145
|
-
}
|
37
|
+
});
|
38
|
+
});
|
146
39
|
//# sourceMappingURL=Semaphore.cjs.map
|
package/_cjs/Semaphore.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Semaphore.cjs","names":["
|
1
|
+
{"version":3,"file":"Semaphore.cjs","names":["_constructors","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_definition","_Reservation"],"sources":["../_src/Semaphore.ts"],"sourcesContent":[null],"mappings":";;;;;AACA,IAAAA,aAAA,gBAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,aAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,aAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,aAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,WAAA,gBAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,WAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,WAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,WAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,YAAA,gBAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,YAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,YAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,YAAA,CAAAN,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
package/_cjs/Sink/api.cjs
CHANGED
@@ -112,8 +112,7 @@ var tsplus_module_31 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require
|
|
112
112
|
var tsplus_module_32 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Duration/api"));
|
113
113
|
var tsplus_module_33 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/api"));
|
114
114
|
var _AtomicReference = /*#__PURE__*/require("@fncts/base/internal/AtomicReference");
|
115
|
-
function
|
116
|
-
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; }
|
115
|
+
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); }
|
117
116
|
const fileName_1 = "(@fncts/io) src/Sink/api.ts";
|
118
117
|
const collectAllWhileWith = exports.collectAllWhileWith = collectAllWhileWith_1;
|
119
118
|
const contramap = exports.contramap = contramap_1;
|