@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
|
*
|