@fncts/io 0.0.47 → 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/AsyncInputConsumer.cjs +0 -4
- package/_cjs/Channel/internal/AsyncInputProducer.cjs +0 -4
- 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/RuntimeFlag.cjs +0 -4
- 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/global.cjs +0 -4
- package/_cjs/index.cjs +0 -4
- 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/AsyncInputConsumer.mjs +1 -1
- package/_mjs/Channel/internal/AsyncInputProducer.mjs +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/RuntimeFlag.mjs +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/_mjs/global.mjs +1 -1
- package/_mjs/index.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
@@ -0,0 +1,96 @@
|
|
1
|
+
export class Pending {}
|
2
|
+
/**
|
3
|
+
* @tsplus fluent fncts.io.Future.State concrete
|
4
|
+
* @tsplus macro remove
|
5
|
+
*/
|
6
|
+
export function concrete(self) {}
|
7
|
+
/**
|
8
|
+
* @tsplus fluent fncts.io.Future.State concretePending
|
9
|
+
* @tsplus macro remove
|
10
|
+
*/
|
11
|
+
export function concretePending(self) {}
|
12
|
+
export class Empty extends Pending {
|
13
|
+
constructor() {
|
14
|
+
super(...arguments);
|
15
|
+
this._tag = 1 /* FutureStateTag.Empty */;
|
16
|
+
this.size = 0;
|
17
|
+
}
|
18
|
+
complete(_) {
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
add(waiter) {
|
22
|
+
return new Link(waiter, this, 1);
|
23
|
+
}
|
24
|
+
remove(_) {
|
25
|
+
return this;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
/**
|
29
|
+
* @tsplus static fncts.io.Future.State Empty
|
30
|
+
*/
|
31
|
+
const _Empty_1 = /*#__PURE__*/new Empty();
|
32
|
+
export const _Empty = _Empty_1;
|
33
|
+
export class Link extends Pending {
|
34
|
+
constructor(waiter, ws, size) {
|
35
|
+
super();
|
36
|
+
this.waiter = waiter;
|
37
|
+
this.ws = ws;
|
38
|
+
this.size = size;
|
39
|
+
this._tag = 0 /* FutureStateTag.Link */;
|
40
|
+
}
|
41
|
+
add(waiter) {
|
42
|
+
return new Link(waiter, this, this.size + 1);
|
43
|
+
}
|
44
|
+
complete(io) {
|
45
|
+
if (this.size === 1) {
|
46
|
+
return this.waiter(io);
|
47
|
+
} else {
|
48
|
+
let current = this;
|
49
|
+
while (current._tag !== 1 /* FutureStateTag.Empty */) {
|
50
|
+
current.waiter(io);
|
51
|
+
current = current.ws;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|
55
|
+
remove(waiter) {
|
56
|
+
if (this.size === 1) {
|
57
|
+
if (waiter === this.waiter) {
|
58
|
+
return this.ws;
|
59
|
+
} else {
|
60
|
+
return this;
|
61
|
+
}
|
62
|
+
} else {
|
63
|
+
const arr = materialize(this, this.size);
|
64
|
+
let i = this.size - 1;
|
65
|
+
let acc = _Empty_1;
|
66
|
+
while (i >= 0) {
|
67
|
+
if (arr[i] !== this.waiter) {
|
68
|
+
acc = acc.add(arr[i]);
|
69
|
+
}
|
70
|
+
i -= 1;
|
71
|
+
}
|
72
|
+
return acc;
|
73
|
+
}
|
74
|
+
}
|
75
|
+
}
|
76
|
+
function materialize(self, size) {
|
77
|
+
const array = new Array(size);
|
78
|
+
let current = self;
|
79
|
+
let i = size - 1;
|
80
|
+
while (i >= 0) {
|
81
|
+
void 0;
|
82
|
+
if (current._tag === 0 /* FutureStateTag.Link */) {
|
83
|
+
array[i] = current.waiter;
|
84
|
+
current = current.ws;
|
85
|
+
}
|
86
|
+
i -= 1;
|
87
|
+
}
|
88
|
+
return array;
|
89
|
+
}
|
90
|
+
export class Done {
|
91
|
+
constructor(value) {
|
92
|
+
this.value = value;
|
93
|
+
this._tag = 2 /* FutureStateTag.Done */;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
//# sourceMappingURL=State.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"State.mjs","names":["Pending","concrete","self","concretePending","Empty","constructor","_tag","size","complete","_","add","waiter","Link","remove","_Empty_1","_Empty","ws","io","current","arr","materialize","i","acc","array","Array","Done","value"],"sources":["../../_src/Future/State.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/_mjs/Future/api.mjs
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
import * as tsplus_module_1 from "@fncts/io/IO/api";
|
2
2
|
import * as tsplus_module_2 from "@fncts/io/IO/api/interrupt";
|
3
|
-
import * as tsplus_module_3 from "@fncts/base/
|
4
|
-
import * as tsplus_module_4 from "@fncts/base/data/
|
5
|
-
import * as tsplus_module_5 from "@fncts/
|
6
|
-
import * as tsplus_module_6 from "@fncts/io/IO/api/asyncInterrupt";
|
3
|
+
import * as tsplus_module_3 from "@fncts/base/data/Maybe/constructors";
|
4
|
+
import * as tsplus_module_4 from "@fncts/base/data/Either/constructors";
|
5
|
+
import * as tsplus_module_5 from "@fncts/io/IO/api/asyncInterrupt";
|
7
6
|
export const done = done_1;
|
8
7
|
export const fulfillWith = fulfillWith_1;
|
9
8
|
export const succeed_ = succeed_1;
|
10
|
-
export const
|
11
|
-
import { Done
|
9
|
+
export const unsafeFulfill = unsafeFulfill_1;
|
10
|
+
import { Done } from "./State.mjs";
|
12
11
|
/**
|
13
12
|
* Exits the future with the specified exit, which will be propagated to all
|
14
13
|
* fibers waiting on the value of the future.
|
@@ -46,7 +45,7 @@ export function failCause(cause, __tsplusTrace) {
|
|
46
45
|
* Completes the future with the result of the specified effect. If the
|
47
46
|
* future has already been completed, the method will produce false.
|
48
47
|
*
|
49
|
-
* Note that `Future.
|
48
|
+
* Note that `Future.fulfillWith` will be much faster, so consider using
|
50
49
|
* that if you do not need to memoize the result of the specified effect.
|
51
50
|
*
|
52
51
|
* @tsplus pipeable fncts.io.Future fulfill
|
@@ -67,29 +66,13 @@ export function fulfill(io, __tsplusTrace) {
|
|
67
66
|
* case te meaning of the "exactly once" guarantee of `Future` is that the
|
68
67
|
* future can be completed with exactly one effect. For a version that
|
69
68
|
* completes the future with the result of an IO see
|
70
|
-
* `Future.
|
69
|
+
* `Future.fulfill`.
|
71
70
|
*
|
72
71
|
* @tsplus pipeable fncts.io.Future fulfillWith
|
73
72
|
*/
|
74
73
|
function fulfillWith_1(io, __tsplusTrace) {
|
75
74
|
return future => {
|
76
|
-
return tsplus_module_1.succeed(() =>
|
77
|
-
switch (future.state._tag) {
|
78
|
-
case 0 /* FutureStateTag.Done */:
|
79
|
-
{
|
80
|
-
return false;
|
81
|
-
}
|
82
|
-
case 1 /* FutureStateTag.Pending */:
|
83
|
-
{
|
84
|
-
const state = future.state;
|
85
|
-
future.state = new Done(io);
|
86
|
-
tsplus_module_3.forEach(f => {
|
87
|
-
f(io);
|
88
|
-
})(tsplus_module_3.reverse(state.joiners));
|
89
|
-
return true;
|
90
|
-
}
|
91
|
-
}
|
92
|
-
}, __tsplusTrace);
|
75
|
+
return tsplus_module_1.succeed(() => unsafeFulfill_1(io)(future), __tsplusTrace);
|
93
76
|
};
|
94
77
|
}
|
95
78
|
/**
|
@@ -123,6 +106,22 @@ export function interruptAs(id, __tsplusTrace) {
|
|
123
106
|
return fulfillWith_1(tsplus_module_2.interruptAs(id, __tsplusTrace), __tsplusTrace)(future);
|
124
107
|
};
|
125
108
|
}
|
109
|
+
function interruptJoiner(future, joiner, __tsplusTrace) {
|
110
|
+
return tsplus_module_1.succeed(() => {
|
111
|
+
void 0;
|
112
|
+
switch (future.state._tag) {
|
113
|
+
case 2 /* FutureStateTag.Done */:
|
114
|
+
{
|
115
|
+
break;
|
116
|
+
}
|
117
|
+
default:
|
118
|
+
{
|
119
|
+
future.state = future.state.remove(joiner);
|
120
|
+
break;
|
121
|
+
}
|
122
|
+
}
|
123
|
+
}, __tsplusTrace);
|
124
|
+
}
|
126
125
|
/**
|
127
126
|
* Checks for completion of this Future. Produces true if this future has
|
128
127
|
* already been completed with a value or an error and false otherwise.
|
@@ -130,7 +129,8 @@ export function interruptAs(id, __tsplusTrace) {
|
|
130
129
|
* @tsplus getter fncts.io.Future isDone
|
131
130
|
*/
|
132
131
|
export function isDone(future, __tsplusTrace) {
|
133
|
-
|
132
|
+
void 0;
|
133
|
+
return tsplus_module_1.succeed(() => future.state._tag === 2 /* FutureStateTag.Done */, __tsplusTrace);
|
134
134
|
}
|
135
135
|
/**
|
136
136
|
* Checks for completion of this Future. Returns the result effect if this
|
@@ -140,14 +140,15 @@ export function isDone(future, __tsplusTrace) {
|
|
140
140
|
*/
|
141
141
|
export function poll(future, __tsplusTrace) {
|
142
142
|
return tsplus_module_1.succeed(() => {
|
143
|
+
void 0;
|
143
144
|
switch (future.state._tag) {
|
144
|
-
case
|
145
|
+
case 2 /* FutureStateTag.Done */:
|
145
146
|
{
|
146
|
-
return
|
147
|
+
return tsplus_module_3.just(future.state.value, __tsplusTrace);
|
147
148
|
}
|
148
|
-
|
149
|
+
default:
|
149
150
|
{
|
150
|
-
return
|
151
|
+
return tsplus_module_3.nothing(__tsplusTrace);
|
151
152
|
}
|
152
153
|
}
|
153
154
|
}, __tsplusTrace);
|
@@ -174,14 +175,30 @@ export function succeedVoid_(a, __tsplusTrace) {
|
|
174
175
|
*
|
175
176
|
* @tsplus pipeable fncts.io.Future unsafeDone
|
176
177
|
*/
|
177
|
-
function
|
178
|
+
export function unsafeDone(io, __tsplusTrace) {
|
179
|
+
return future => {
|
180
|
+
unsafeFulfill_1(io)(future);
|
181
|
+
};
|
182
|
+
}
|
183
|
+
/**
|
184
|
+
* @tsplus pipeable fncts.io.Future unsafeFulfill
|
185
|
+
*/
|
186
|
+
function unsafeFulfill_1(io) {
|
178
187
|
return future => {
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
188
|
+
void 0;
|
189
|
+
switch (future.state._tag) {
|
190
|
+
case 0 /* FutureStateTag.Link */:
|
191
|
+
case 1 /* FutureStateTag.Empty */:
|
192
|
+
{
|
193
|
+
const pending = future.state;
|
194
|
+
future.state = new Done(io);
|
195
|
+
pending.complete(io);
|
196
|
+
return true;
|
197
|
+
}
|
198
|
+
default:
|
199
|
+
{
|
200
|
+
return false;
|
201
|
+
}
|
185
202
|
}
|
186
203
|
};
|
187
204
|
}
|
@@ -190,7 +207,7 @@ function unsafeDone_1(io, __tsplusTrace) {
|
|
190
207
|
*/
|
191
208
|
export function unsafeSucceed(a, __tsplusTrace) {
|
192
209
|
return future => {
|
193
|
-
|
210
|
+
return unsafeFulfill_1(tsplus_module_1.succeedNow(a, __tsplusTrace))(future);
|
194
211
|
};
|
195
212
|
}
|
196
213
|
/**
|
@@ -201,43 +218,32 @@ export function unsafeSucceed(a, __tsplusTrace) {
|
|
201
218
|
*/
|
202
219
|
export function wait(future, __tsplusTrace) {
|
203
220
|
return tsplus_module_1.defer(() => {
|
221
|
+
void 0;
|
204
222
|
switch (future.state._tag) {
|
205
|
-
case
|
223
|
+
case 2 /* FutureStateTag.Done */:
|
206
224
|
{
|
207
225
|
return future.state.value;
|
208
226
|
}
|
209
|
-
|
227
|
+
default:
|
210
228
|
{
|
211
|
-
return
|
229
|
+
return tsplus_module_5.asyncInterrupt(k => {
|
230
|
+
void 0;
|
212
231
|
switch (future.state._tag) {
|
213
|
-
case
|
232
|
+
case 2 /* FutureStateTag.Done */:
|
214
233
|
{
|
215
|
-
|
234
|
+
k(future.state.value);
|
235
|
+
break;
|
216
236
|
}
|
217
|
-
|
237
|
+
default:
|
218
238
|
{
|
219
|
-
future.state =
|
220
|
-
|
239
|
+
future.state = future.state.add(k);
|
240
|
+
break;
|
221
241
|
}
|
222
242
|
}
|
243
|
+
return tsplus_module_4.left(interruptJoiner(future, k, __tsplusTrace), __tsplusTrace);
|
223
244
|
}, future.blockingOn, __tsplusTrace);
|
224
245
|
}
|
225
246
|
}
|
226
247
|
}, __tsplusTrace);
|
227
248
|
}
|
228
|
-
function interruptJoiner(future, joiner, __tsplusTrace) {
|
229
|
-
return tsplus_module_1.succeed(() => {
|
230
|
-
switch (future.state._tag) {
|
231
|
-
case 1 /* FutureStateTag.Pending */:
|
232
|
-
{
|
233
|
-
future.state = new Pending(tsplus_module_3.filter(j => j !== joiner)(future.state.joiners));
|
234
|
-
break;
|
235
|
-
}
|
236
|
-
case 0 /* FutureStateTag.Done */:
|
237
|
-
{
|
238
|
-
break;
|
239
|
-
}
|
240
|
-
}
|
241
|
-
}, __tsplusTrace);
|
242
|
-
}
|
243
249
|
//# sourceMappingURL=api.mjs.map
|
package/_mjs/Future/api.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api.mjs","names":["done","done_1","fulfillWith","fulfillWith_1","succeed_","succeed_1","
|
1
|
+
{"version":3,"file":"api.mjs","names":["done","done_1","fulfillWith","fulfillWith_1","succeed_","succeed_1","unsafeFulfill","unsafeFulfill_1","Done","exit","__tsplusTrace","future","tsplus_module_1","fromExitNow","fail","e","failNow","failCause","cause","failCauseNow","fulfill","io","tsplus_module_2","uninterruptibleMask","restore","flatMap","result","succeed","halt","defect","haltNow","interrupt","id","interruptAs","fiberId","interruptJoiner","joiner","state","_tag","remove","isDone","poll","tsplus_module_3","just","value","nothing","a","succeedNow","succeedVoid_","unsafeDone","pending","complete","unsafeSucceed","wait","defer","tsplus_module_5","asyncInterrupt","k","add","tsplus_module_4","left","blockingOn"],"sources":["../../_src/Future/api.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import * as tsplus_module_1 from "@fncts/io/IO/api";
|
2
|
-
import * as tsplus_module_2 from "@fncts/
|
2
|
+
import * as tsplus_module_2 from "@fncts/io/Future/State";
|
3
3
|
export const makeAs = makeAs_1;
|
4
4
|
export const unsafeMake = unsafeMake_1;
|
5
|
-
import { Future
|
5
|
+
import { Future } from "@fncts/io/Future/definition";
|
6
6
|
/**
|
7
7
|
* Makes a new future to be completed by the fiber creating the future.
|
8
8
|
*
|
@@ -25,6 +25,6 @@ function makeAs_1(fiberId, __tsplusTrace) {
|
|
25
25
|
* @tsplus static fncts.io.FutureOps unsafeMake
|
26
26
|
*/
|
27
27
|
function unsafeMake_1(fiberId) {
|
28
|
-
return new Future(
|
28
|
+
return new Future(tsplus_module_2._Empty, fiberId);
|
29
29
|
}
|
30
30
|
//# sourceMappingURL=constructors.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constructors.mjs","names":["makeAs","makeAs_1","unsafeMake","unsafeMake_1","Future","
|
1
|
+
{"version":3,"file":"constructors.mjs","names":["makeAs","makeAs_1","unsafeMake","unsafeMake_1","Future","make","__tsplusTrace","tsplus_module_1","flatMap","id","fiberId","succeed","tsplus_module_2","_Empty"],"sources":["../../_src/Future/constructors.ts"],"sourcesContent":[null],"mappings":";;aAkBgBA,MAAM,GAAAC,QAAA;aASNC,UAAU,GAAAC,YAAA;AA3B1B,SAASC,MAAM,QAAQ,6BAA6B;AAIpD;;;;;AAKA,OAAM,SAAUC,IAAIA,CAAOC,aAAsB;EAC/C,OAAOC,eAAA,CAAAC,OAAA,CAAoBC,EAAE,IAAKR,QAAA,CAAoBQ,EAAE,EAD/BH,aAAA,CACgC,EADhCA,aAAA,EAAAC,eAAA,CAAAG,OAAA,CACiC;AAC5D;AAEA;;;;;AAKA,SAAAT,SAA6BS,OAAgB,EAAEJ,aAAsB;EACnE,OAAOC,eAAA,CAAAI,OAAA,OAAWR,YAAA,CAAiBO,OAAO,CAAC,EADEJ,aAAA,CACD;AAC9C;AAEA;;;;;AAKA,SAAAH,aAAiCO,OAAgB;EAC/C,OAAO,IAAIN,MAAM,CAAAQ,eAAA,CAAAC,MAAA,EAAoBH,OAAO,CAAC;AAC/C","ignoreList":[]}
|
@@ -13,16 +13,4 @@ export class Future {
|
|
13
13
|
}
|
14
14
|
}
|
15
15
|
_a = FutureTypeId;
|
16
|
-
export class Pending {
|
17
|
-
constructor(joiners) {
|
18
|
-
this.joiners = joiners;
|
19
|
-
this._tag = 1 /* FutureStateTag.Pending */;
|
20
|
-
}
|
21
|
-
}
|
22
|
-
export class Done {
|
23
|
-
constructor(value) {
|
24
|
-
this.value = value;
|
25
|
-
this._tag = 0 /* FutureStateTag.Done */;
|
26
|
-
}
|
27
|
-
}
|
28
16
|
//# sourceMappingURL=definition.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"definition.mjs","names":["FutureTypeId","Symbol","for","FutureVariance","Future","constructor","state","blockingOn","_a"
|
1
|
+
{"version":3,"file":"definition.mjs","names":["FutureTypeId","Symbol","for","FutureVariance","Future","constructor","state","blockingOn","_a"],"sources":["../../_src/Future/definition.ts"],"sourcesContent":[null],"mappings":";AAEA,OAAO,MAAMA,YAAY,gBAAGC,MAAM,CAACC,GAAG,CAAC,iBAAiB,CAAC;AAGzD,OAAO,MAAMC,cAAc,gBAAGF,MAAM,CAACC,GAAG,CAAC,0BAA0B,CAAC;AAGpE;;;;AAIA,OAAM,MAAOE,MAAM;EAMjBC,YACSC,KAAkB,EAChBC,UAAmB;IADrB,KAAAD,KAAK,GAALA,KAAK;IACH,KAAAC,UAAU,GAAVA,UAAU;IAPZ,KAAAC,EAAA,CAAc,GAAiBR,YAAY;EAQjD;;KAROA,YAAY","ignoreList":[]}
|
package/_mjs/Future.mjs
CHANGED
package/_mjs/Future.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Future.mjs","names":[],"sources":["../_src/Future.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA,cAAc,kBAAiB;AAC/B,cAAc,2BAA0B;AACxC,cAAc,yBAAwB","ignoreList":[]}
|
1
|
+
{"version":3,"file":"Future.mjs","names":[],"sources":["../_src/Future.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA,cAAc,kBAAiB;AAC/B,cAAc,2BAA0B;AACxC,cAAc,yBAAwB;AACtC,cAAc,oBAAmB","ignoreList":[]}
|
package/_mjs/Hub/api.mjs
CHANGED
@@ -47,6 +47,17 @@ export function contramapIO(f, __tsplusTrace) {
|
|
47
47
|
return dimapIO_1(f, tsplus_module_1.succeedNow, __tsplusTrace)(self);
|
48
48
|
};
|
49
49
|
}
|
50
|
+
/**
|
51
|
+
* Transforms messages published to and taken from the hub using the
|
52
|
+
* specified functions.
|
53
|
+
*
|
54
|
+
* @tsplus pipeable fncts.io.Hub dimap
|
55
|
+
*/
|
56
|
+
export function dimap(f, g, __tsplusTrace) {
|
57
|
+
return self => {
|
58
|
+
return dimapIO_1(c => tsplus_module_1.succeedNow(f(c), __tsplusTrace), b => tsplus_module_1.succeedNow(g(b), __tsplusTrace), __tsplusTrace)(self);
|
59
|
+
};
|
60
|
+
}
|
50
61
|
class DimapIO extends PHubInternal {
|
51
62
|
constructor(source, f, g) {
|
52
63
|
super();
|
@@ -58,25 +69,14 @@ class DimapIO extends PHubInternal {
|
|
58
69
|
this.isShutdown = this.source.isShutdown;
|
59
70
|
this.shutdown = this.source.shutdown;
|
60
71
|
this.size = this.source.size;
|
61
|
-
this.subscribe = tsplus_module_1.map(queue => tsplus_module_3.mapDequeueIO(this.g, fileName_1 + ":
|
62
|
-
this.publish = c => tsplus_module_1.flatMap(a => this.source.publish(a), fileName_1 + ":
|
63
|
-
this.publishAll = cs => tsplus_module_1.flatMap(as => this.source.publishAll(as), fileName_1 + ":
|
72
|
+
this.subscribe = tsplus_module_1.map(queue => tsplus_module_3.mapDequeueIO(this.g, fileName_1 + ":90:53")(queue), fileName_1 + ":90:30")(this.source.subscribe);
|
73
|
+
this.publish = c => tsplus_module_1.flatMap(a => this.source.publish(a), fileName_1 + ":92:43")(this.f(c));
|
74
|
+
this.publishAll = cs => tsplus_module_1.flatMap(as => this.source.publishAll(as), fileName_1 + ":93:67")(tsplus_module_1.foreach(cs, this.f, fileName_1 + ":93:47"));
|
64
75
|
}
|
65
76
|
get unsafeSize() {
|
66
77
|
return this.source.unsafeSize;
|
67
78
|
}
|
68
79
|
}
|
69
|
-
/**
|
70
|
-
* Transforms messages published to and taken from the hub using the
|
71
|
-
* specified functions.
|
72
|
-
*
|
73
|
-
* @tsplus pipeable fncts.io.Hub dimap
|
74
|
-
*/
|
75
|
-
export function dimap(f, g, __tsplusTrace) {
|
76
|
-
return self => {
|
77
|
-
return dimapIO_1(c => tsplus_module_1.succeedNow(f(c), __tsplusTrace), b => tsplus_module_1.succeedNow(g(b), __tsplusTrace), __tsplusTrace)(self);
|
78
|
-
};
|
79
|
-
}
|
80
80
|
/**
|
81
81
|
* Transforms messages published to and taken from the hub using the
|
82
82
|
* specified effectual functions.
|
@@ -89,6 +89,16 @@ function dimapIO_1(f, g, __tsplusTrace) {
|
|
89
89
|
return new DimapIO(source, f, g);
|
90
90
|
};
|
91
91
|
}
|
92
|
+
/**
|
93
|
+
* Filters messages published to the hub using the specified function.
|
94
|
+
*
|
95
|
+
* @tsplus pipeable fncts.io.Hub filterInput
|
96
|
+
*/
|
97
|
+
export function filterInput(f, __tsplusTrace) {
|
98
|
+
return self => {
|
99
|
+
return filterInputIO_1(a => tsplus_module_1.succeedNow(f(a), __tsplusTrace), __tsplusTrace)(self);
|
100
|
+
};
|
101
|
+
}
|
92
102
|
class FilterInputIO extends PHubInternal {
|
93
103
|
constructor(source, f) {
|
94
104
|
super();
|
@@ -100,8 +110,8 @@ class FilterInputIO extends PHubInternal {
|
|
100
110
|
this.shutdown = this.source.shutdown;
|
101
111
|
this.size = this.source.size;
|
102
112
|
this.subscribe = this.source.subscribe;
|
103
|
-
this.publish = a => tsplus_module_1.flatMap(b => b ? this.source.publish(a) : tsplus_module_1.succeedNow(false, fileName_1 + ":
|
104
|
-
this.publishAll = as => tsplus_module_1.flatMap(as => tsplus_module_4.isNonEmpty(as) ? this.source.publishAll(as) : tsplus_module_1.succeedNow(false, fileName_1 + ":
|
113
|
+
this.publish = a => tsplus_module_1.flatMap(b => b ? this.source.publish(a) : tsplus_module_1.succeedNow(false, fileName_1 + ":140:94"), fileName_1 + ":140:43")(this.f(a));
|
114
|
+
this.publishAll = as => tsplus_module_1.flatMap(as => tsplus_module_4.isNonEmpty(as) ? this.source.publishAll(as) : tsplus_module_1.succeedNow(false, fileName_1 + ":142:102"), fileName_1 + ":142:34")(tsplus_module_1.filter(as, this.f, fileName_1 + ":142:14"));
|
105
115
|
}
|
106
116
|
get unsafeSize() {
|
107
117
|
return this.source.unsafeSize;
|
@@ -120,13 +130,13 @@ function filterInputIO_1(f, __tsplusTrace) {
|
|
120
130
|
};
|
121
131
|
}
|
122
132
|
/**
|
123
|
-
* Filters messages
|
133
|
+
* Filters messages taken from the hub using the specified function.
|
124
134
|
*
|
125
|
-
* @tsplus pipeable fncts.io.Hub
|
135
|
+
* @tsplus pipeable fncts.io.Hub filterOutput
|
126
136
|
*/
|
127
|
-
export function
|
137
|
+
export function filterOutput(f, __tsplusTrace) {
|
128
138
|
return self => {
|
129
|
-
return
|
139
|
+
return filterOutputIO_1(b => tsplus_module_1.succeedNow(f(b), __tsplusTrace), __tsplusTrace)(self);
|
130
140
|
};
|
131
141
|
}
|
132
142
|
class FilterOutputIO extends PHubInternal {
|
@@ -139,7 +149,7 @@ class FilterOutputIO extends PHubInternal {
|
|
139
149
|
this.isShutdown = this.source.isShutdown;
|
140
150
|
this.shutdown = this.source.shutdown;
|
141
151
|
this.size = this.source.size;
|
142
|
-
this.subscribe = tsplus_module_1.map(queue => tsplus_module_5.filterOutputDequeueIO(this.f, fileName_1 + ":
|
152
|
+
this.subscribe = tsplus_module_1.map(queue => tsplus_module_5.filterOutputDequeueIO(this.f, fileName_1 + ":184:73")(queue), fileName_1 + ":184:41")(this.source.subscribe);
|
143
153
|
this.publish = a => this.source.publish(a);
|
144
154
|
this.publishAll = as => this.source.publishAll(as);
|
145
155
|
}
|
@@ -159,16 +169,6 @@ function filterOutputIO_1(f, __tsplusTrace) {
|
|
159
169
|
return new FilterOutputIO(source, f);
|
160
170
|
};
|
161
171
|
}
|
162
|
-
/**
|
163
|
-
* Filters messages taken from the hub using the specified function.
|
164
|
-
*
|
165
|
-
* @tsplus pipeable fncts.io.Hub filterOutput
|
166
|
-
*/
|
167
|
-
export function filterOutput(f, __tsplusTrace) {
|
168
|
-
return self => {
|
169
|
-
return filterOutputIO_1(b => tsplus_module_1.succeedNow(f(b), __tsplusTrace), __tsplusTrace)(self);
|
170
|
-
};
|
171
|
-
}
|
172
172
|
/**
|
173
173
|
* Checks whether the hub is shut down.
|
174
174
|
*
|
@@ -241,22 +241,6 @@ function mapIO_1(f, __tsplusTrace) {
|
|
241
241
|
return dimapIO_1(tsplus_module_1.succeedNow, f, __tsplusTrace)(self);
|
242
242
|
};
|
243
243
|
}
|
244
|
-
class ToQueue {
|
245
|
-
constructor(source) {
|
246
|
-
this.source = source;
|
247
|
-
this[_a] = QueueTypeId;
|
248
|
-
this[_b] = EnqueueTypeId;
|
249
|
-
this.awaitShutdown = this.source.awaitShutdown;
|
250
|
-
this.capacity = this.source.capacity;
|
251
|
-
this.isShutdown = this.source.isShutdown;
|
252
|
-
this.shutdown = this.source.shutdown;
|
253
|
-
this.size = this.source.size;
|
254
|
-
this.offer = a => this.source.publish(a);
|
255
|
-
this.offerAll = as => this.source.publishAll(as);
|
256
|
-
this.takeUpTo = () => tsplus_module_1.succeedNow(tsplus_module_7.empty(), fileName_1 + ":309:69");
|
257
|
-
}
|
258
|
-
}
|
259
|
-
_a = QueueTypeId, _b = EnqueueTypeId;
|
260
244
|
/**
|
261
245
|
* Publishes a message to the hub, returning whether the message was
|
262
246
|
* published to the hub.
|
@@ -290,6 +274,15 @@ export function shutdown(self, __tsplusTrace) {
|
|
290
274
|
void 0;
|
291
275
|
return self.shutdown;
|
292
276
|
}
|
277
|
+
/**
|
278
|
+
* The current number of messages in the hub.
|
279
|
+
*
|
280
|
+
* @tsplus getter fncts.io.Hub size
|
281
|
+
*/
|
282
|
+
export function size(self, __tsplusTrace) {
|
283
|
+
void 0;
|
284
|
+
return self.size;
|
285
|
+
}
|
293
286
|
/**
|
294
287
|
* Subscribes to receive messages from the hub. The resulting subscription
|
295
288
|
* can be evaluated multiple times within the scope of the managed to take a
|
@@ -301,15 +294,22 @@ export function subscribe(self, __tsplusTrace) {
|
|
301
294
|
void 0;
|
302
295
|
return self.subscribe;
|
303
296
|
}
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
297
|
+
class ToQueue {
|
298
|
+
constructor(source) {
|
299
|
+
this.source = source;
|
300
|
+
this[_a] = QueueTypeId;
|
301
|
+
this[_b] = EnqueueTypeId;
|
302
|
+
this.awaitShutdown = this.source.awaitShutdown;
|
303
|
+
this.capacity = this.source.capacity;
|
304
|
+
this.isShutdown = this.source.isShutdown;
|
305
|
+
this.shutdown = this.source.shutdown;
|
306
|
+
this.size = this.source.size;
|
307
|
+
this.offer = a => this.source.publish(a);
|
308
|
+
this.offerAll = as => this.source.publishAll(as);
|
309
|
+
this.takeUpTo = () => tsplus_module_1.succeedNow(tsplus_module_7.empty(), fileName_1 + ":370:69");
|
310
|
+
}
|
312
311
|
}
|
312
|
+
_a = QueueTypeId, _b = EnqueueTypeId;
|
313
313
|
/**
|
314
314
|
* Views the hub as a queue that can only be written to.
|
315
315
|
*
|