@fncts/io 0.0.48 → 0.0.50
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/foreachExec.d.ts +18 -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/Push/Bounds.d.ts +4 -0
- package/Push/FlattenStrategy.d.ts +47 -0
- package/Push/IndexedBuffer.d.ts +19 -0
- package/Push/MergeStrategy.d.ts +19 -0
- package/Push/Operator/IOLoopOperator.d.ts +61 -0
- package/Push/Operator/IOOperator.d.ts +63 -0
- package/Push/Operator/LoopOperator.d.ts +50 -0
- package/Push/Operator/SyncOperator.d.ts +41 -0
- package/Push/Operator.d.ts +4 -0
- package/Push/Producer/IOProducer.d.ts +41 -0
- package/Push/Producer/SyncProducer.d.ts +61 -0
- package/Push/Producer.d.ts +1 -0
- package/Push/Sink.d.ts +65 -0
- package/Push/api.d.ts +78 -161
- package/Push/definition.d.ts +92 -19
- package/Push/internal.d.ts +3 -0
- package/Push.d.ts +6 -0
- package/Random/definition.d.ts +1 -0
- package/Ref/Synchronized/api.d.ts +1 -1
- package/Ref/Synchronized/definition.d.ts +32 -9
- package/Ref/definition.d.ts +12 -0
- package/Scope/api.d.ts +16 -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/Sink/definition.d.ts +5 -6
- package/Stream/api.d.ts +164 -164
- package/Subject/Atomic.d.ts +19 -9
- package/Subject/DeferredRef.d.ts +17 -0
- package/Subject/Hold.d.ts +19 -0
- package/Subject/RefSubject/Atomic.d.ts +41 -0
- package/Subject/RefSubject/Derived.d.ts +43 -0
- package/Subject/RefSubject/RefSubject.d.ts +27 -0
- package/Subject/definition.d.ts +14 -2
- package/Subject.d.ts +2 -0
- package/SubscriptionRef.d.ts +0 -1
- package/_cjs/Cached/api.cjs +1 -2
- package/_cjs/Cached/api.cjs.map +1 -1
- package/_cjs/Cached/internal.cjs +1 -2
- package/_cjs/Cached/internal.cjs.map +1 -1
- package/_cjs/Channel/api/interruptWhen.cjs +1 -2
- package/_cjs/Channel/api/interruptWhen.cjs.map +1 -1
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs +2 -3
- package/_cjs/Channel/api/mapOutConcurrentIO.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAll.cjs +1 -2
- package/_cjs/Channel/api/mergeAll.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllUnboundedWith.cjs +1 -2
- package/_cjs/Channel/api/mergeAllUnboundedWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +2 -3
- package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeMap.cjs +1 -2
- package/_cjs/Channel/api/mergeMap.cjs.map +1 -1
- package/_cjs/Channel/api/mergeWith.cjs +1 -2
- package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
- package/_cjs/Channel/api/run.cjs +1 -2
- package/_cjs/Channel/api/run.cjs.map +1 -1
- package/_cjs/Channel/api/runCollect.cjs +1 -2
- package/_cjs/Channel/api/runCollect.cjs.map +1 -1
- package/_cjs/Channel/api/runDrain.cjs +1 -2
- package/_cjs/Channel/api/runDrain.cjs.map +1 -1
- package/_cjs/Channel/api/runScoped.cjs +3 -4
- package/_cjs/Channel/api/runScoped.cjs.map +1 -1
- package/_cjs/Channel/api/toPull.cjs +2 -3
- package/_cjs/Channel/api/toPull.cjs.map +1 -1
- package/_cjs/Channel/api/zipConcurrent.cjs +1 -2
- package/_cjs/Channel/api/zipConcurrent.cjs.map +1 -1
- package/_cjs/Channel/api.cjs +206 -207
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Channel/core-api.cjs +43 -42
- package/_cjs/Channel/core-api.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelExecutor.cjs +4 -5
- package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelState.cjs +1 -2
- package/_cjs/Channel/internal/ChannelState.cjs.map +1 -1
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +1 -2
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
- package/_cjs/Clock/api.cjs +1 -2
- package/_cjs/Clock/api.cjs.map +1 -1
- package/_cjs/Clock/definition.cjs +1 -2
- package/_cjs/Clock/definition.cjs.map +1 -1
- package/_cjs/Clock/live.cjs +1 -2
- package/_cjs/Clock/live.cjs.map +1 -1
- package/_cjs/Console/api.cjs +1 -2
- package/_cjs/Console/api.cjs.map +1 -1
- package/_cjs/Console/definition.cjs +2 -2
- package/_cjs/Console/definition.cjs.map +1 -1
- package/_cjs/Console/live.cjs +1 -2
- package/_cjs/Console/live.cjs.map +1 -1
- package/_cjs/CountdownLatch.cjs +3 -3
- package/_cjs/CountdownLatch.cjs.map +1 -1
- package/_cjs/Differ/api.cjs +1 -2
- package/_cjs/Differ/api.cjs.map +1 -1
- package/_cjs/Fiber/FiberMessage.cjs +3 -24
- package/_cjs/Fiber/FiberMessage.cjs.map +1 -1
- package/_cjs/Fiber/FiberRuntime.cjs +879 -636
- package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
- package/_cjs/Fiber/api/awaitAll.cjs +1 -2
- package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
- package/_cjs/Fiber/api/collectAll.cjs +2 -3
- package/_cjs/Fiber/api/collectAll.cjs.map +1 -1
- package/_cjs/Fiber/api/fromIO.cjs +1 -2
- package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
- package/_cjs/Fiber/api/interrupt.cjs +2 -3
- package/_cjs/Fiber/api/interrupt.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptAll.cjs +2 -3
- package/_cjs/Fiber/api/interruptAll.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptAs.cjs +5 -10
- package/_cjs/Fiber/api/interruptAs.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptFork.cjs +2 -3
- package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
- package/_cjs/Fiber/api/join.cjs +1 -2
- package/_cjs/Fiber/api/join.cjs.map +1 -1
- package/_cjs/Fiber/api/joinAll.cjs +1 -2
- package/_cjs/Fiber/api/joinAll.cjs.map +1 -1
- package/_cjs/Fiber/api/mapFiber.cjs +1 -2
- package/_cjs/Fiber/api/mapFiber.cjs.map +1 -1
- package/_cjs/Fiber/api/mapIO.cjs +2 -3
- package/_cjs/Fiber/api/mapIO.cjs.map +1 -1
- package/_cjs/Fiber/api/zipWith.cjs +2 -3
- package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
- package/_cjs/Fiber/constructors.cjs +2 -3
- package/_cjs/Fiber/constructors.cjs.map +1 -1
- package/_cjs/Fiber/definition.cjs +6 -4
- package/_cjs/Fiber/definition.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScoped.cjs +1 -2
- package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScopedWith.cjs +1 -2
- package/_cjs/FiberRef/api/locallyScopedWith.cjs.map +1 -1
- package/_cjs/FiberRef/constructors.cjs +1 -2
- package/_cjs/FiberRef/constructors.cjs.map +1 -1
- package/_cjs/FiberRef/definition.cjs +1 -2
- package/_cjs/FiberRef/definition.cjs.map +1 -1
- package/_cjs/FiberRef/operations.cjs +1 -2
- package/_cjs/FiberRef/operations.cjs.map +1 -1
- package/_cjs/FiberRef/unsafe.cjs +1 -2
- package/_cjs/FiberRef/unsafe.cjs.map +1 -1
- package/_cjs/FiberRefs/Patch.cjs +1 -2
- package/_cjs/FiberRefs/Patch.cjs.map +1 -1
- package/_cjs/FiberRefs/api.cjs +1 -2
- package/_cjs/FiberRefs/api.cjs.map +1 -1
- package/_cjs/FiberRefs/definition.cjs +1 -2
- package/_cjs/FiberRefs/definition.cjs.map +1 -1
- package/_cjs/FiberScope/definition.cjs +29 -6
- package/_cjs/FiberScope/definition.cjs.map +1 -1
- package/_cjs/FiberSet.cjs +16 -15
- package/_cjs/FiberSet.cjs.map +1 -1
- package/_cjs/FiberStatus/definition.cjs +1 -2
- package/_cjs/FiberStatus/definition.cjs.map +1 -1
- package/_cjs/Future/State.cjs +108 -0
- package/_cjs/Future/State.cjs.map +1 -0
- package/_cjs/Future/api.cjs +71 -64
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/Future/constructors.cjs +3 -4
- package/_cjs/Future/constructors.cjs.map +1 -1
- package/_cjs/Future/definition.cjs +1 -15
- package/_cjs/Future/definition.cjs.map +1 -1
- package/_cjs/Future.cjs +11 -0
- package/_cjs/Future.cjs.map +1 -1
- package/_cjs/Hub/api.cjs +56 -57
- package/_cjs/Hub/api.cjs.map +1 -1
- package/_cjs/Hub/internal.cjs +1 -2
- package/_cjs/Hub/internal.cjs.map +1 -1
- package/_cjs/IO/api/acquireRelease.cjs +1 -2
- package/_cjs/IO/api/acquireRelease.cjs.map +1 -1
- package/_cjs/IO/api/acquireReleaseExit.cjs +1 -2
- package/_cjs/IO/api/acquireReleaseExit.cjs.map +1 -1
- package/_cjs/IO/api/acquireReleaseInterruptible.cjs +1 -2
- package/_cjs/IO/api/acquireReleaseInterruptible.cjs.map +1 -1
- package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs +1 -2
- package/_cjs/IO/api/acquireReleaseInterruptibleExit.cjs.map +1 -1
- package/_cjs/IO/api/addFinalizer.cjs +1 -2
- package/_cjs/IO/api/addFinalizer.cjs.map +1 -1
- package/_cjs/IO/api/addFinalizerExit.cjs +1 -2
- package/_cjs/IO/api/addFinalizerExit.cjs.map +1 -1
- package/_cjs/IO/api/all.cjs +1 -2
- package/_cjs/IO/api/all.cjs.map +1 -1
- package/_cjs/IO/api/array.cjs +51 -0
- package/_cjs/IO/api/array.cjs.map +1 -0
- package/_cjs/IO/api/asyncIO.cjs +1 -2
- package/_cjs/IO/api/asyncIO.cjs.map +1 -1
- package/_cjs/IO/api/asyncInterrupt.cjs +1 -2
- package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
- package/_cjs/IO/api/awaitAllChildren.cjs +17 -0
- package/_cjs/IO/api/awaitAllChildren.cjs.map +1 -0
- package/_cjs/IO/api/blocking.cjs +1 -2
- package/_cjs/IO/api/blocking.cjs.map +1 -1
- package/_cjs/IO/api/bracket.cjs +1 -2
- package/_cjs/IO/api/bracket.cjs.map +1 -1
- package/_cjs/IO/api/bracketExit.cjs +1 -2
- package/_cjs/IO/api/bracketExit.cjs.map +1 -1
- package/_cjs/IO/api/cachedInvalidate.cjs +47 -0
- package/_cjs/IO/api/cachedInvalidate.cjs.map +1 -0
- package/_cjs/IO/api/clockWith.cjs +1 -2
- package/_cjs/IO/api/clockWith.cjs.map +1 -1
- package/_cjs/IO/api/concurrency.cjs +1 -2
- package/_cjs/IO/api/concurrency.cjs.map +1 -1
- package/_cjs/IO/api/concurrentFinalizers.cjs +1 -2
- package/_cjs/IO/api/concurrentFinalizers.cjs.map +1 -1
- package/_cjs/IO/api/consoleWith.cjs +1 -2
- package/_cjs/IO/api/consoleWith.cjs.map +1 -1
- package/_cjs/IO/api/daemonChildren.cjs +1 -2
- package/_cjs/IO/api/daemonChildren.cjs.map +1 -1
- package/_cjs/IO/api/delay.cjs +1 -2
- package/_cjs/IO/api/delay.cjs.map +1 -1
- package/_cjs/IO/api/descriptor.cjs +1 -2
- package/_cjs/IO/api/descriptor.cjs.map +1 -1
- package/_cjs/IO/api/diffFiberRefs.cjs +1 -2
- package/_cjs/IO/api/diffFiberRefs.cjs.map +1 -1
- package/_cjs/IO/api/disconnect.cjs +2 -3
- package/_cjs/IO/api/disconnect.cjs.map +1 -1
- package/_cjs/IO/api/ensuringChildren.cjs +1 -2
- package/_cjs/IO/api/ensuringChildren.cjs.map +1 -1
- package/_cjs/IO/api/environment.cjs +1 -2
- package/_cjs/IO/api/environment.cjs.map +1 -1
- package/_cjs/IO/api/foreachConcurrent.cjs +36 -30
- package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
- package/_cjs/IO/api/foreachExec.cjs +30 -6
- 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/Bounds.cjs +2 -0
- package/_cjs/Push/Bounds.cjs.map +1 -0
- package/_cjs/Push/FlattenStrategy.cjs +95 -0
- package/_cjs/Push/FlattenStrategy.cjs.map +1 -0
- package/_cjs/Push/IndexedBuffer.cjs +70 -0
- package/_cjs/Push/IndexedBuffer.cjs.map +1 -0
- package/_cjs/Push/MergeStrategy.cjs +45 -0
- package/_cjs/Push/MergeStrategy.cjs.map +1 -0
- package/_cjs/Push/Operator/IOLoopOperator.cjs +225 -0
- package/_cjs/Push/Operator/IOLoopOperator.cjs.map +1 -0
- package/_cjs/Push/Operator/IOOperator.cjs +104 -0
- package/_cjs/Push/Operator/IOOperator.cjs.map +1 -0
- package/_cjs/Push/Operator/LoopOperator.cjs +165 -0
- package/_cjs/Push/Operator/LoopOperator.cjs.map +1 -0
- package/_cjs/Push/Operator/SyncOperator.cjs +78 -0
- package/_cjs/Push/Operator/SyncOperator.cjs.map +1 -0
- package/_cjs/Push/Operator.cjs +2 -0
- package/_cjs/Push/Operator.cjs.map +1 -0
- package/_cjs/Push/Producer/IOProducer.cjs +67 -0
- package/_cjs/Push/Producer/IOProducer.cjs.map +1 -0
- package/_cjs/Push/Producer/SyncProducer.cjs +107 -0
- package/_cjs/Push/Producer/SyncProducer.cjs.map +1 -0
- package/_cjs/Push/Producer.cjs +2 -0
- package/_cjs/Push/Producer.cjs.map +1 -0
- package/_cjs/Push/Sink.cjs +219 -0
- package/_cjs/Push/Sink.cjs.map +1 -0
- package/_cjs/Push/api.cjs +340 -385
- package/_cjs/Push/api.cjs.map +1 -1
- package/_cjs/Push/definition.cjs +79 -22
- package/_cjs/Push/definition.cjs.map +1 -1
- package/_cjs/Push/internal.cjs +32 -28
- package/_cjs/Push/internal.cjs.map +1 -1
- package/_cjs/Push.cjs +66 -0
- package/_cjs/Push.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 +13 -14
- 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/Ref/definition.cjs.map +1 -1
- package/_cjs/Reloadable/api.cjs +1 -2
- package/_cjs/Reloadable/api.cjs.map +1 -1
- package/_cjs/Reloadable/constructors.cjs +1 -2
- package/_cjs/Reloadable/constructors.cjs.map +1 -1
- package/_cjs/Reloadable/definition.cjs +1 -2
- package/_cjs/Reloadable/definition.cjs.map +1 -1
- package/_cjs/RuntimeFlags/Patch.cjs +1 -2
- package/_cjs/RuntimeFlags/Patch.cjs.map +1 -1
- package/_cjs/RuntimeFlags/RuntimeFlags.cjs +1 -2
- package/_cjs/RuntimeFlags/RuntimeFlags.cjs.map +1 -1
- package/_cjs/STM/api/atomically.cjs +1 -2
- package/_cjs/STM/api/atomically.cjs.map +1 -1
- package/_cjs/STM/api/core-api.cjs +1 -2
- package/_cjs/STM/api/core-api.cjs.map +1 -1
- package/_cjs/STM/api.cjs +1 -2
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/STM/definition.cjs +2 -3
- package/_cjs/STM/definition.cjs.map +1 -1
- package/_cjs/STM/driver.cjs +1 -2
- package/_cjs/STM/driver.cjs.map +1 -1
- package/_cjs/STM/internal/CommitState.cjs +1 -2
- package/_cjs/STM/internal/CommitState.cjs.map +1 -1
- package/_cjs/STM/internal/Journal.cjs +1 -2
- package/_cjs/STM/internal/Journal.cjs.map +1 -1
- package/_cjs/Schedule/Decision.cjs +1 -2
- package/_cjs/Schedule/Decision.cjs.map +1 -1
- package/_cjs/Schedule/api/driver.cjs +1 -2
- package/_cjs/Schedule/api/driver.cjs.map +1 -1
- package/_cjs/Schedule/api.cjs +1 -2
- package/_cjs/Schedule/api.cjs.map +1 -1
- package/_cjs/Scope/Finalizer/definition.cjs +1 -2
- package/_cjs/Scope/Finalizer/definition.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +1 -2
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api.cjs +1 -2
- package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/constructors.cjs +1 -2
- package/_cjs/Scope/ReleaseMap/constructors.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/definition.cjs +1 -2
- package/_cjs/Scope/ReleaseMap/definition.cjs.map +1 -1
- package/_cjs/Scope/api.cjs +29 -9
- 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/Sink/definition.cjs +2 -3
- package/_cjs/Sink/definition.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/definition.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 +46 -12
- package/_cjs/Subject/Atomic.cjs.map +1 -1
- package/_cjs/Subject/DeferredRef.cjs +53 -0
- package/_cjs/Subject/DeferredRef.cjs.map +1 -0
- package/_cjs/Subject/Hold.cjs +41 -0
- package/_cjs/Subject/Hold.cjs.map +1 -0
- package/_cjs/Subject/RefSubject/Atomic.cjs +130 -0
- package/_cjs/Subject/RefSubject/Atomic.cjs.map +1 -0
- package/_cjs/Subject/RefSubject/Derived.cjs +98 -0
- package/_cjs/Subject/RefSubject/Derived.cjs.map +1 -0
- package/_cjs/Subject/RefSubject/RefSubject.cjs +19 -0
- package/_cjs/Subject/RefSubject/RefSubject.cjs.map +1 -0
- package/_cjs/Subject/api.cjs +1 -2
- package/_cjs/Subject/api.cjs.map +1 -1
- package/_cjs/Subject/definition.cjs +16 -1
- package/_cjs/Subject/definition.cjs.map +1 -1
- package/_cjs/Subject.cjs +22 -0
- package/_cjs/Subject.cjs.map +1 -1
- package/_cjs/SubscriptionRef.cjs +2 -4
- package/_cjs/SubscriptionRef.cjs.map +1 -1
- package/_cjs/Supervisor/api.cjs +1 -2
- package/_cjs/Supervisor/api.cjs.map +1 -1
- package/_cjs/Supervisor/constructors.cjs +1 -2
- package/_cjs/Supervisor/constructors.cjs.map +1 -1
- package/_cjs/Supervisor/definition.cjs +1 -2
- package/_cjs/Supervisor/definition.cjs.map +1 -1
- package/_cjs/SupervisorPatch.cjs +1 -2
- package/_cjs/SupervisorPatch.cjs.map +1 -1
- package/_cjs/TExit/definition.cjs +1 -2
- package/_cjs/TExit/definition.cjs.map +1 -1
- package/_cjs/TFuture/api.cjs +1 -2
- package/_cjs/TFuture/api.cjs.map +1 -1
- package/_cjs/TFuture/constructors.cjs +1 -2
- package/_cjs/TFuture/constructors.cjs.map +1 -1
- package/_cjs/TFuture/definition.cjs +1 -2
- package/_cjs/TFuture/definition.cjs.map +1 -1
- package/_cjs/TReentrantLock/api.cjs +1 -2
- package/_cjs/TReentrantLock/api.cjs.map +1 -1
- package/_cjs/TReentrantLock/definition.cjs +1 -2
- package/_cjs/TReentrantLock/definition.cjs.map +1 -1
- package/_cjs/TRef/api.cjs +1 -2
- package/_cjs/TRef/api.cjs.map +1 -1
- package/_cjs/TRef/constructors.cjs +1 -2
- package/_cjs/TRef/constructors.cjs.map +1 -1
- package/_cjs/TRef/definition.cjs +1 -2
- package/_cjs/TRef/definition.cjs.map +1 -1
- package/_cjs/TSemaphore/api.cjs +1 -2
- package/_cjs/TSemaphore/api.cjs.map +1 -1
- package/_cjs/TSemaphore/constructors.cjs +1 -2
- package/_cjs/TSemaphore/constructors.cjs.map +1 -1
- package/_cjs/TSemaphore/definition.cjs +1 -2
- package/_cjs/TSemaphore/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +1 -2
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +1 -2
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/filterIO.cjs +1 -2
- package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/findIO.cjs +1 -2
- package/_cjs/collection/immutable/Conc/findIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/mapIO.cjs +1 -2
- package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +1 -2
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
- package/_cjs/data/Exit/foreachIO.cjs +1 -2
- package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
- package/_cjs/internal/HashedPair.cjs +1 -2
- package/_cjs/internal/HashedPair.cjs.map +1 -1
- package/_cjs/internal/Hub.cjs +1 -2
- package/_cjs/internal/Hub.cjs.map +1 -1
- package/_cjs/internal/MutableQueue.cjs +1 -2
- package/_cjs/internal/MutableQueue.cjs.map +1 -1
- package/_cjs/internal/Scheduler.cjs +1 -2
- package/_cjs/internal/Scheduler.cjs.map +1 -1
- package/_cjs/internal/StackTraceBuilder.cjs +1 -2
- package/_cjs/internal/StackTraceBuilder.cjs.map +1 -1
- package/_mjs/Cached/api.mjs.map +1 -1
- package/_mjs/Channel/api/mapOutConcurrentIO.mjs +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +1 -1
- package/_mjs/Channel/api/runScoped.mjs +2 -2
- package/_mjs/Channel/api/runScoped.mjs.map +1 -1
- package/_mjs/Channel/api/toPull.mjs +1 -1
- package/_mjs/Channel/api/toPull.mjs.map +1 -1
- package/_mjs/Channel/api.mjs +205 -205
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Channel/core-api.mjs +43 -42
- package/_mjs/Channel/core-api.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelExecutor.mjs +3 -3
- package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
- package/_mjs/Console/definition.mjs +1 -0
- package/_mjs/Console/definition.mjs.map +1 -1
- package/_mjs/CountdownLatch.mjs +2 -1
- package/_mjs/CountdownLatch.mjs.map +1 -1
- package/_mjs/Fiber/FiberMessage.mjs +2 -20
- package/_mjs/Fiber/FiberMessage.mjs.map +1 -1
- package/_mjs/Fiber/FiberRuntime.mjs +877 -633
- package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
- package/_mjs/Fiber/api/collectAll.mjs +1 -1
- package/_mjs/Fiber/api/collectAll.mjs.map +1 -1
- package/_mjs/Fiber/api/interrupt.mjs +1 -1
- package/_mjs/Fiber/api/interrupt.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptAll.mjs +1 -1
- package/_mjs/Fiber/api/interruptAll.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptAs.mjs +4 -7
- package/_mjs/Fiber/api/interruptAs.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptFork.mjs +1 -1
- package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
- package/_mjs/Fiber/api/mapIO.mjs +1 -1
- package/_mjs/Fiber/api/mapIO.mjs.map +1 -1
- package/_mjs/Fiber/api/zipWith.mjs +1 -1
- package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
- package/_mjs/Fiber/constructors.mjs +1 -1
- package/_mjs/Fiber/constructors.mjs.map +1 -1
- package/_mjs/Fiber/definition.mjs +5 -2
- package/_mjs/Fiber/definition.mjs.map +1 -1
- package/_mjs/FiberScope/definition.mjs +28 -4
- package/_mjs/FiberScope/definition.mjs.map +1 -1
- package/_mjs/FiberSet.mjs +14 -12
- package/_mjs/FiberSet.mjs.map +1 -1
- package/_mjs/Future/State.mjs +96 -0
- package/_mjs/Future/State.mjs.map +1 -0
- package/_mjs/Future/api.mjs +67 -61
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/Future/constructors.mjs +3 -3
- package/_mjs/Future/constructors.mjs.map +1 -1
- package/_mjs/Future/definition.mjs +0 -12
- package/_mjs/Future/definition.mjs.map +1 -1
- package/_mjs/Future.mjs +1 -0
- package/_mjs/Future.mjs.map +1 -1
- package/_mjs/Hub/api.mjs +55 -55
- package/_mjs/Hub/api.mjs.map +1 -1
- package/_mjs/IO/api/array.mjs +42 -0
- package/_mjs/IO/api/array.mjs.map +1 -0
- package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
- package/_mjs/IO/api/awaitAllChildren.mjs +10 -0
- package/_mjs/IO/api/awaitAllChildren.mjs.map +1 -0
- package/_mjs/IO/api/cachedInvalidate.mjs +39 -0
- package/_mjs/IO/api/cachedInvalidate.mjs.map +1 -0
- package/_mjs/IO/api/disconnect.mjs +1 -1
- package/_mjs/IO/api/disconnect.mjs.map +1 -1
- package/_mjs/IO/api/foreachConcurrent.mjs +35 -28
- package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
- package/_mjs/IO/api/foreachExec.mjs +27 -4
- package/_mjs/IO/api/foreachExec.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/Bounds.mjs +2 -0
- package/_mjs/Push/Bounds.mjs.map +1 -0
- package/_mjs/Push/FlattenStrategy.mjs +86 -0
- package/_mjs/Push/FlattenStrategy.mjs.map +1 -0
- package/_mjs/Push/IndexedBuffer.mjs +61 -0
- package/_mjs/Push/IndexedBuffer.mjs.map +1 -0
- package/_mjs/Push/MergeStrategy.mjs +34 -0
- package/_mjs/Push/MergeStrategy.mjs.map +1 -0
- package/_mjs/Push/Operator/IOLoopOperator.mjs +208 -0
- package/_mjs/Push/Operator/IOLoopOperator.mjs.map +1 -0
- package/_mjs/Push/Operator/IOOperator.mjs +91 -0
- package/_mjs/Push/Operator/IOOperator.mjs.map +1 -0
- package/_mjs/Push/Operator/LoopOperator.mjs +151 -0
- package/_mjs/Push/Operator/LoopOperator.mjs.map +1 -0
- package/_mjs/Push/Operator/SyncOperator.mjs +67 -0
- package/_mjs/Push/Operator/SyncOperator.mjs.map +1 -0
- package/_mjs/Push/Operator.mjs +2 -0
- package/_mjs/Push/Operator.mjs.map +1 -0
- package/_mjs/Push/Producer/IOProducer.mjs +55 -0
- package/_mjs/Push/Producer/IOProducer.mjs.map +1 -0
- package/_mjs/Push/Producer/SyncProducer.mjs +90 -0
- package/_mjs/Push/Producer/SyncProducer.mjs.map +1 -0
- package/_mjs/Push/Producer.mjs +2 -0
- package/_mjs/Push/Producer.mjs.map +1 -0
- package/_mjs/Push/Sink.mjs +206 -0
- package/_mjs/Push/Sink.mjs.map +1 -0
- package/_mjs/Push/api.mjs +311 -344
- package/_mjs/Push/api.mjs.map +1 -1
- package/_mjs/Push/definition.mjs +73 -18
- package/_mjs/Push/definition.mjs.map +1 -1
- package/_mjs/Push/internal.mjs +30 -26
- package/_mjs/Push/internal.mjs.map +1 -1
- package/_mjs/Push.mjs +7 -1
- package/_mjs/Push.mjs.map +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 +12 -12
- package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
- package/_mjs/Ref/definition.mjs.map +1 -1
- package/_mjs/STM/definition.mjs +1 -1
- package/_mjs/Scope/api.mjs +22 -4
- package/_mjs/Scope/api.mjs.map +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/Sink/definition.mjs +2 -3
- package/_mjs/Sink/definition.mjs.map +1 -1
- package/_mjs/Stream/api.mjs +701 -701
- package/_mjs/Stream/api.mjs.map +1 -1
- package/_mjs/Stream/definition.mjs.map +1 -1
- package/_mjs/Subject/Atomic.mjs +46 -10
- package/_mjs/Subject/Atomic.mjs.map +1 -1
- package/_mjs/Subject/DeferredRef.mjs +45 -0
- package/_mjs/Subject/DeferredRef.mjs.map +1 -0
- package/_mjs/Subject/Hold.mjs +33 -0
- package/_mjs/Subject/Hold.mjs.map +1 -0
- package/_mjs/Subject/RefSubject/Atomic.mjs +122 -0
- package/_mjs/Subject/RefSubject/Atomic.mjs.map +1 -0
- package/_mjs/Subject/RefSubject/Derived.mjs +90 -0
- package/_mjs/Subject/RefSubject/Derived.mjs.map +1 -0
- package/_mjs/Subject/RefSubject/RefSubject.mjs +12 -0
- package/_mjs/Subject/RefSubject/RefSubject.mjs.map +1 -0
- package/_mjs/Subject/definition.mjs +14 -0
- package/_mjs/Subject/definition.mjs.map +1 -1
- package/_mjs/Subject.mjs +2 -0
- package/_mjs/Subject.mjs.map +1 -1
- package/_mjs/SubscriptionRef.mjs +1 -2
- package/_mjs/SubscriptionRef.mjs.map +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/foreachExec.ts +47 -0
- 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/Push/Bounds.ts +4 -0
- package/_src/Push/FlattenStrategy.ts +137 -0
- package/_src/Push/IndexedBuffer.ts +79 -0
- package/_src/Push/MergeStrategy.ts +59 -0
- package/_src/Push/Operator/IOLoopOperator.ts +413 -0
- package/_src/Push/Operator/IOOperator.ts +173 -0
- package/_src/Push/Operator/LoopOperator.ts +242 -0
- package/_src/Push/Operator/SyncOperator.ts +107 -0
- package/_src/Push/Operator.ts +7 -0
- package/_src/Push/Producer/IOProducer.ts +83 -0
- package/_src/Push/Producer/SyncProducer.ts +105 -0
- package/_src/Push/Producer.ts +0 -0
- package/_src/Push/Sink.ts +302 -0
- package/_src/Push/api.ts +387 -513
- package/_src/Push/definition.ts +216 -23
- package/_src/Push/internal.ts +11 -0
- package/_src/Push.ts +7 -1
- package/_src/Random/definition.ts +1 -0
- package/_src/Ref/Synchronized/api.ts +2 -2
- package/_src/Ref/Synchronized/definition.ts +82 -38
- package/_src/Ref/definition.ts +26 -0
- package/_src/Scope/api.ts +22 -0
- 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/Sink/definition.ts +4 -5
- package/_src/Stream/api.ts +679 -679
- package/_src/Stream/definition.ts +0 -1
- package/_src/Subject/Atomic.ts +68 -11
- package/_src/Subject/DeferredRef.ts +44 -0
- package/_src/Subject/Hold.ts +48 -0
- package/_src/Subject/RefSubject/Atomic.ts +193 -0
- package/_src/Subject/RefSubject/Derived.ts +179 -0
- package/_src/Subject/RefSubject/RefSubject.ts +90 -0
- package/_src/Subject/definition.ts +21 -3
- package/_src/Subject.ts +5 -3
- package/_src/SubscriptionRef.ts +1 -1
- package/_src/index.ts +49 -50
- package/index.d.ts +0 -1
- package/package.json +4 -4
- package/IO/api/sequenceT.d.ts +0 -26
- package/RefSubject/Atomic.d.ts +0 -34
- package/RefSubject/Synchronized/api.d.ts +0 -9
- package/RefSubject/Synchronized/definition.d.ts +0 -39
- package/RefSubject/api.d.ts +0 -120
- package/RefSubject/definition.d.ts +0 -52
- package/RefSubject.d.ts +0 -3
- package/_cjs/IO/api/sequenceT.cjs +0 -18
- package/_cjs/IO/api/sequenceT.cjs.map +0 -1
- package/_cjs/RefSubject/Atomic.cjs +0 -108
- package/_cjs/RefSubject/Atomic.cjs.map +0 -1
- package/_cjs/RefSubject/Synchronized/api.cjs +0 -23
- package/_cjs/RefSubject/Synchronized/api.cjs.map +0 -1
- package/_cjs/RefSubject/Synchronized/definition.cjs +0 -56
- package/_cjs/RefSubject/Synchronized/definition.cjs.map +0 -1
- package/_cjs/RefSubject/api.cjs +0 -252
- package/_cjs/RefSubject/api.cjs.map +0 -1
- package/_cjs/RefSubject/definition.cjs +0 -26
- package/_cjs/RefSubject/definition.cjs.map +0 -1
- package/_cjs/RefSubject.cjs +0 -39
- package/_cjs/RefSubject.cjs.map +0 -1
- package/_mjs/IO/api/sequenceT.mjs +0 -10
- package/_mjs/IO/api/sequenceT.mjs.map +0 -1
- package/_mjs/RefSubject/Atomic.mjs +0 -99
- package/_mjs/RefSubject/Atomic.mjs.map +0 -1
- package/_mjs/RefSubject/Synchronized/api.mjs +0 -15
- package/_mjs/RefSubject/Synchronized/api.mjs.map +0 -1
- package/_mjs/RefSubject/Synchronized/definition.mjs +0 -47
- package/_mjs/RefSubject/Synchronized/definition.mjs.map +0 -1
- package/_mjs/RefSubject/api.mjs +0 -229
- package/_mjs/RefSubject/api.mjs.map +0 -1
- package/_mjs/RefSubject/definition.mjs +0 -19
- package/_mjs/RefSubject/definition.mjs.map +0 -1
- package/_mjs/RefSubject.mjs +0 -5
- package/_mjs/RefSubject.mjs.map +0 -1
- package/_src/IO/api/sequenceT.ts +0 -16
- package/_src/RefSubject/Atomic.ts +0 -129
- package/_src/RefSubject/Synchronized/api.ts +0 -14
- package/_src/RefSubject/Synchronized/definition.ts +0 -76
- package/_src/RefSubject/api.ts +0 -253
- package/_src/RefSubject/definition.ts +0 -70
- package/_src/RefSubject.ts +0 -5
package/_mjs/Subject/Atomic.mjs
CHANGED
|
@@ -1,22 +1,58 @@
|
|
|
1
1
|
var _a, _b;
|
|
2
|
-
|
|
3
|
-
import
|
|
2
|
+
const fileName_1 = "(@fncts/io) src/Subject/Atomic.ts";
|
|
3
|
+
import * as tsplus_module_1 from "@fncts/base/data/Exit/constructors";
|
|
4
|
+
import * as tsplus_module_2 from "@fncts/io/IO/api";
|
|
5
|
+
import * as tsplus_module_3 from "@fncts/io/Scope/api";
|
|
6
|
+
import * as tsplus_module_4 from "@fncts/io/IO/api/environment";
|
|
7
|
+
import * as tsplus_module_5 from "@fncts/base/data/ExecutionStrategy";
|
|
8
|
+
import { HashSet as MutableHashSet } from "@fncts/base/collection/mutable/HashSet";
|
|
4
9
|
import { PushTypeId, PushVariance } from "@fncts/io/Push/definition";
|
|
10
|
+
import { withScope } from "@fncts/io/Push/internal";
|
|
11
|
+
import { PSubject } from "@fncts/io/Subject/definition";
|
|
5
12
|
import { SubjectTypeId } from "@fncts/io/Subject/definition";
|
|
6
|
-
|
|
13
|
+
import { IO } from "../IO.mjs";
|
|
14
|
+
export class AtomicSubject extends PSubject {
|
|
7
15
|
constructor() {
|
|
16
|
+
super(...arguments);
|
|
8
17
|
this[_a] = SubjectTypeId;
|
|
9
18
|
this[_b] = PushTypeId;
|
|
10
|
-
this.
|
|
19
|
+
this.sinks = MutableHashSet.empty();
|
|
20
|
+
this.interruptScopes = tsplus_module_2.fiberIdWith(fiberId => tsplus_module_2.foreachDiscard(this.sinks, ([,, scope]) => scope.close(() => tsplus_module_1.interrupt(fiberId, fileName_1 + ":29:76")), fileName_1 + ":29:32"));
|
|
21
|
+
this.interrupt = this.interruptScopes;
|
|
11
22
|
}
|
|
12
|
-
|
|
13
|
-
return this.
|
|
23
|
+
get subscribers() {
|
|
24
|
+
return this.sinks.size;
|
|
14
25
|
}
|
|
15
|
-
|
|
16
|
-
return this.
|
|
26
|
+
run(sink) {
|
|
27
|
+
return this.addSink(sink, scope => tsplus_module_3.awaitClose(scope));
|
|
17
28
|
}
|
|
18
|
-
|
|
19
|
-
return this.
|
|
29
|
+
onSuccess(value) {
|
|
30
|
+
return tsplus_module_2.defer(() => this.unsafeOnSuccess(value), fileName_1 + ":39:20");
|
|
31
|
+
}
|
|
32
|
+
onFailure(cause) {
|
|
33
|
+
return tsplus_module_2.defer(() => this.unsafeOnFailure(cause), fileName_1 + ":43:20");
|
|
34
|
+
}
|
|
35
|
+
addSink(sink, f) {
|
|
36
|
+
return withScope(innerScope => tsplus_module_4.environmentWithIO(environment => {
|
|
37
|
+
const entry = [sink, environment, innerScope];
|
|
38
|
+
this.sinks.add(entry);
|
|
39
|
+
const remove = tsplus_module_2.succeed(() => this.sinks.remove(entry), fileName_1 + ":55:28");
|
|
40
|
+
return tsplus_module_2.zipRight(f(innerScope), fileName_1 + ":56:51")(tsplus_module_3.addFinalizer(() => remove, fileName_1 + ":56:41")(innerScope));
|
|
41
|
+
}, fileName_1 + ":52:29"), tsplus_module_5.sequential);
|
|
42
|
+
}
|
|
43
|
+
unsafeOnSuccess(a) {
|
|
44
|
+
if (this.sinks.size === 0) {
|
|
45
|
+
return tsplus_module_2.unit;
|
|
46
|
+
} else {
|
|
47
|
+
return tsplus_module_2.foreachDiscard(this.sinks, ([sink, environment]) => tsplus_module_4.provideSomeEnvironment(environment, fileName_1 + ":70:34")(tsplus_module_2.catchAllCause(cause => sink.onFailure(cause), fileName_1 + ":69:25")(sink.onSuccess(a))), fileName_1 + ":66:41");
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
unsafeOnFailure(cause) {
|
|
51
|
+
if (this.sinks.size === 0) {
|
|
52
|
+
return tsplus_module_2.unit;
|
|
53
|
+
} else {
|
|
54
|
+
return tsplus_module_2.foreachDiscard(this.sinks, ([sink, environment, scope]) => tsplus_module_4.provideSomeEnvironment(environment, fileName_1 + ":83:34")(tsplus_module_2.catchAllCause(error => scope.close(() => tsplus_module_1.failCause(error, fileName_1 + ":82:63")), fileName_1 + ":82:25")(sink.onFailure(cause))), fileName_1 + ":79:41");
|
|
55
|
+
}
|
|
20
56
|
}
|
|
21
57
|
}
|
|
22
58
|
_a = SubjectTypeId, _b = PushTypeId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Atomic.mjs","names":["
|
|
1
|
+
{"version":3,"file":"Atomic.mjs","names":["HashSet","MutableHashSet","PushTypeId","PushVariance","withScope","PSubject","SubjectTypeId","IO","AtomicSubject","constructor","_a","_b","sinks","empty","interruptScopes","tsplus_module_2","fiberIdWith","fiberId","foreachDiscard","scope","close","tsplus_module_1","interrupt","fileName_1","subscribers","size","run","sink","addSink","tsplus_module_3","awaitClose","onSuccess","value","defer","unsafeOnSuccess","onFailure","cause","unsafeOnFailure","f","innerScope","tsplus_module_4","environmentWithIO","environment","entry","add","remove","succeed","zipRight","addFinalizer","tsplus_module_5","sequential","a","unit","provideSomeEnvironment","catchAllCause","error","failCause"],"sources":["../../_src/Subject/Atomic.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
const fileName_1 = "(@fncts/io) src/Subject/DeferredRef.ts";
|
|
2
|
+
import * as tsplus_module_1 from "@fncts/base/data/Maybe/definition";
|
|
3
|
+
import * as tsplus_module_2 from "@fncts/io/Future/api";
|
|
4
|
+
import * as tsplus_module_3 from "@fncts/base/data/Maybe/api";
|
|
5
|
+
import * as tsplus_module_4 from "@fncts/io/IO/api";
|
|
6
|
+
import * as tsplus_module_5 from "@fncts/base/data/Equatable/api";
|
|
7
|
+
import * as tsplus_module_6 from "@fncts/base/data/Maybe/constructors";
|
|
8
|
+
import * as tsplus_module_7 from "@fncts/base/data/Exit/constructors";
|
|
9
|
+
import * as tsplus_module_8 from "@fncts/io/Future/constructors";
|
|
10
|
+
import { External } from "../IO.mjs";
|
|
11
|
+
export class FutureRef extends External {
|
|
12
|
+
constructor(fiberId, current) {
|
|
13
|
+
super();
|
|
14
|
+
this.fiberId = fiberId;
|
|
15
|
+
this.current = current;
|
|
16
|
+
this.version = -1;
|
|
17
|
+
this.toIO = tsplus_module_4.defer(() => {
|
|
18
|
+
const current = this.current.get;
|
|
19
|
+
if (tsplus_module_1.isNothing(current)) {
|
|
20
|
+
return tsplus_module_2.wait(this.future, fileName_1 + ":20:25");
|
|
21
|
+
} else {
|
|
22
|
+
return tsplus_module_3.toUndefined(current);
|
|
23
|
+
}
|
|
24
|
+
}, fileName_1 + ":17:35");
|
|
25
|
+
this.reset();
|
|
26
|
+
}
|
|
27
|
+
done(exit) {
|
|
28
|
+
const current = this.current.get;
|
|
29
|
+
if (tsplus_module_1.isJust(current) && tsplus_module_5.strictEquals(current.value, exit)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
tsplus_module_2.unsafeDone(exit, fileName_1 + ":31:27")(this.future);
|
|
33
|
+
this.version += 1;
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
reset() {
|
|
37
|
+
this.current.set(tsplus_module_6.nothing(fileName_1 + ":37:29"));
|
|
38
|
+
this.version = -1;
|
|
39
|
+
if (this.future) {
|
|
40
|
+
tsplus_module_2.unsafeDone(tsplus_module_7.interrupt(this.fiberId, fileName_1 + ":40:44"), fileName_1 + ":40:29")(this.future);
|
|
41
|
+
}
|
|
42
|
+
this.future = tsplus_module_8.unsafeMake(this.fiberId);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=DeferredRef.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeferredRef.mjs","names":["External","FutureRef","constructor","fiberId","current","version","toIO","tsplus_module_4","defer","get","tsplus_module_1","isNothing","tsplus_module_2","wait","future","fileName_1","tsplus_module_3","toUndefined","reset","done","exit","isJust","tsplus_module_5","strictEquals","value","unsafeDone","set","tsplus_module_6","nothing","tsplus_module_7","interrupt","tsplus_module_8","unsafeMake"],"sources":["../../_src/Subject/DeferredRef.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;AAEA,SAASA,QAAQ,QAAY,WAAU;AAEvC,OAAM,MAAOC,SAAgB,SAAQD,QAAqB;EAIxDE,YACWC,OAAgB,EAChBC,OAA2C;IAEpD,KAAK,EAAE;IAHE,KAAAD,OAAO,GAAPA,OAAO;IACP,KAAAC,OAAO,GAAPA,OAAO;IALX,KAAAC,OAAO,GAAG,CAAC,CAAC;IAWnB,KAAAC,IAAI,GAAoBC,eAAA,CAAAC,KAAA,CAAS,MAAK;MACpC,MAAMJ,OAAO,GAAG,IAAI,CAACA,OAAO,CAACK,GAAG;MAChC,IAAIC,eAAA,CAAAC,SAAA,CAAAP,OAAO,CAAY,EAAE;QACvB,OAAAQ,eAAA,CAAAC,IAAA,CAAO,IAAI,CAACC,MAAM,EAAAC,UAAA;MACpB,CAAC,MAAM;QACL,OAAOC,eAAA,CAAAC,WAAA,CAAAb,OAAO,CAAO;MACvB;IACF,CAAC,EAAAW,UAAA,YAAC;IAVA,IAAI,CAACG,KAAK,EAAE;EACd;EAWAC,IAAIA,CAACC,IAAgB;IACnB,MAAMhB,OAAO,GAAG,IAAI,CAACA,OAAO,CAACK,GAAG;IAChC,IAAIC,eAAA,CAAAW,MAAA,CAAAjB,OAAO,CAAS,IAAIkB,eAAA,CAAAC,YAAA,CAAuBnB,OAAO,CAACoB,KAAK,EAAEJ,IAAI,CAAC,EAAE;MACnE,OAAO,KAAK;IACd;IACAR,eAAA,CAAAa,UAAA,CAAuBL,IAAI,EAAAL,UAAA,aAA3B,IAAI,CAACD,MAAM,CAAiB;IAC5B,IAAI,CAACT,OAAO,IAAI,CAAC;IACjB,OAAO,IAAI;EACb;EAEAa,KAAKA,CAAA;IACH,IAAI,CAACd,OAAO,CAACsB,GAAG,CAACC,eAAA,CAAAC,OAAA,CAAAb,UAAA,YAAS,CAAC;IAC3B,IAAI,CAACV,OAAO,GAAG,CAAC,CAAC;IACjB,IAAI,IAAI,CAACS,MAAM,EAAE;MACfF,eAAA,CAAAa,UAAA,CAAuBI,eAAA,CAAAC,SAAA,CAAe,IAAI,CAAC3B,OAAO,EAAAY,UAAA,YAAC,EAAAA,UAAA,aAAnD,IAAI,CAACD,MAAM,CAAyC;IACtD;IACA,IAAI,CAACA,MAAM,GAAGiB,eAAA,CAAAC,UAAA,CAAkB,IAAI,CAAC7B,OAAO,CAAC;EAC/C","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const fileName_1 = "(@fncts/io) src/Subject/Hold.ts";
|
|
2
|
+
import * as tsplus_module_1 from "@fncts/base/data/Maybe/constructors";
|
|
3
|
+
import * as tsplus_module_2 from "@fncts/base/data/Exit/constructors";
|
|
4
|
+
import * as tsplus_module_3 from "@fncts/io/IO/api";
|
|
5
|
+
import * as tsplus_module_4 from "@fncts/base/data/Exit/api";
|
|
6
|
+
import * as tsplus_module_5 from "@fncts/base/data/Maybe/destructors";
|
|
7
|
+
import * as tsplus_module_6 from "@fncts/io/Scope/api";
|
|
8
|
+
import { AtomicReference } from "@fncts/base/internal/AtomicReference";
|
|
9
|
+
import { IO } from "../IO.mjs";
|
|
10
|
+
import { AtomicSubject } from "./Atomic.mjs";
|
|
11
|
+
export class HoldSubject extends AtomicSubject {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.value = new AtomicReference(tsplus_module_1.nothing(fileName_1 + ":16:83"));
|
|
15
|
+
this.interrupt = tsplus_module_3.zipRight(tsplus_module_3.succeed(() => this.value.set(tsplus_module_1.nothing(fileName_1 + ":47:87")), fileName_1 + ":47:64"), fileName_1 + ":47:61")(this.interruptScopes);
|
|
16
|
+
}
|
|
17
|
+
onSuccess(value) {
|
|
18
|
+
return tsplus_module_3.defer(() => {
|
|
19
|
+
this.value.set(tsplus_module_1.just(tsplus_module_2.succeed(value, fileName_1 + ":20:39"), fileName_1 + ":20:26"));
|
|
20
|
+
return this.unsafeOnSuccess(value);
|
|
21
|
+
}, fileName_1 + ":19:20");
|
|
22
|
+
}
|
|
23
|
+
onFailure(cause) {
|
|
24
|
+
return tsplus_module_3.defer(() => {
|
|
25
|
+
this.value.set(tsplus_module_1.just(tsplus_module_2.failCause(cause, fileName_1 + ":27:41"), fileName_1 + ":27:26"));
|
|
26
|
+
return this.unsafeOnFailure(cause);
|
|
27
|
+
}, fileName_1 + ":26:20");
|
|
28
|
+
}
|
|
29
|
+
run(sink) {
|
|
30
|
+
return this.addSink(sink, scope => tsplus_module_3.zipRight(tsplus_module_6.awaitClose(scope), fileName_1 + ":43:12")(tsplus_module_5.match(() => tsplus_module_3.unit, exit => tsplus_module_4.match(cause => sink.onFailure(cause), value => sink.onSuccess(value))(exit))(this.value.get)));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=Hold.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hold.mjs","names":["AtomicReference","IO","AtomicSubject","HoldSubject","constructor","value","tsplus_module_1","nothing","fileName_1","interrupt","tsplus_module_3","zipRight","succeed","set","interruptScopes","onSuccess","defer","just","tsplus_module_2","unsafeOnSuccess","onFailure","cause","failCause","unsafeOnFailure","run","sink","addSink","scope","tsplus_module_6","awaitClose","tsplus_module_5","match","unit","exit","tsplus_module_4","get"],"sources":["../../_src/Subject/Hold.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAKA,SAASA,eAAe,QAAQ,sCAAsC;AAEtE,SAASC,EAAE,QAAQ,WAAU;AAC7B,SAASC,aAAa,QAAQ,cAAa;AAM3C,OAAM,MAAOC,WAAkB,SAAQD,aAAmB;EAA1DE,YAAA;;IACW,KAAAC,KAAK,GAAuC,IAAIL,eAAe,CAACM,eAAA,CAAAC,OAAA,CAAAC,UAAA,YAAS,CAAC;IA+BnF,KAAAC,SAAS,GAAAC,eAAA,CAAAC,QAAA,CAAkDD,eAAA,CAAAE,OAAA,OAAG,IAAI,CAACP,KAAK,CAACQ,GAAG,CAACP,eAAA,CAAAC,OAAA,CAAAC,UAAA,YAAS,CAAC,EAAAA,UAAA,YAAC,EAAAA,UAAA,aAApD,IAAI,CAACM,eAAe;EAC1D;EA9BEC,SAASA,CAACV,KAAQ;IAChB,OAAOK,eAAA,CAAAM,KAAA,CAAS,MAAK;MACnB,IAAI,CAACX,KAAK,CAACQ,GAAG,CAACP,eAAA,CAAAW,IAAA,CAAKC,eAAA,CAAAN,OAAA,CAAaP,KAAK,EAAAG,UAAA,YAAC,EAAAA,UAAA,YAAC,CAAC;MACzC,OAAO,IAAI,CAACW,eAAe,CAACd,KAAK,CAAC;IACpC,CAAC,EAAAG,UAAA,YAAC;EACJ;EAEAY,SAASA,CAACC,KAAe;IACvB,OAAOX,eAAA,CAAAM,KAAA,CAAS,MAAK;MACnB,IAAI,CAACX,KAAK,CAACQ,GAAG,CAACP,eAAA,CAAAW,IAAA,CAAKC,eAAA,CAAAI,SAAA,CAAeD,KAAK,EAAAb,UAAA,YAAC,EAAAA,UAAA,YAAC,CAAC;MAC3C,OAAO,IAAI,CAACe,eAAe,CAACF,KAAK,CAAC;IACpC,CAAC,EAAAb,UAAA,YAAC;EACJ;EAEAgB,GAAGA,CAAKC,IAA0B;IAChC,OAAO,IAAI,CAACC,OAAO,CACjBD,IAAI,EACHE,KAAK,IAAIjB,eAAA,CAAAC,QAAA,CAAAiB,eAAA,CAAAC,UAAA,CAQJF,KAAK,GAAAnB,UAAA,aAPTsB,eAAA,CAAAC,KAAA,CACE,MAAKrB,eAAA,CAAAsB,IAAQ,EACZC,IAAI,IACHC,eAAA,CAAAH,KAAA,CACGV,KAAK,IAAKI,IAAI,CAACL,SAAS,CAACC,KAAK,CAAC,EAC/BhB,KAAK,IAAKoB,IAAI,CAACV,SAAS,CAACV,KAAK,CAAC,EAFlC4B,IAAI,CAGH,EANL,IAAI,CAAC5B,KAAK,CAAC8B,GAAG,CAOb,CAAmB,CACvB;EACH","ignoreList":[]}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
const fileName_1 = "(@fncts/io) src/Subject/RefSubject/Atomic.ts";
|
|
2
|
+
import * as tsplus_module_1 from "@fncts/io/Semaphore/constructors";
|
|
3
|
+
import * as tsplus_module_2 from "@fncts/base/data/Exit/constructors";
|
|
4
|
+
import * as tsplus_module_3 from "@fncts/io/IO/api";
|
|
5
|
+
import * as tsplus_module_4 from "@fncts/io/IO/api/environment";
|
|
6
|
+
import * as tsplus_module_5 from "@fncts/base/data/Exit/api";
|
|
7
|
+
import * as tsplus_module_6 from "@fncts/base/data/Maybe/definition";
|
|
8
|
+
import * as tsplus_module_7 from "@fncts/io/Fiber/api/interrupt";
|
|
9
|
+
import * as tsplus_module_8 from "@fncts/base/data/function/api";
|
|
10
|
+
import * as tsplus_module_9 from "@fncts/io/IO/api/interrupt";
|
|
11
|
+
import * as tsplus_module_10 from "@fncts/io/IO/api/forkIn";
|
|
12
|
+
import { IO } from "@fncts/io/IO";
|
|
13
|
+
import { PSynchronizedInternal } from "@fncts/io/Ref/Synchronized/definition";
|
|
14
|
+
import { FutureRef } from "../DeferredRef.mjs";
|
|
15
|
+
import { HoldSubject } from "../Hold.mjs";
|
|
16
|
+
import { Derived } from "./Derived.mjs";
|
|
17
|
+
import { PRefSubject } from "./RefSubject.mjs";
|
|
18
|
+
export class Atomic extends PRefSubject {
|
|
19
|
+
constructor(fiberId, initial, runtime, scope) {
|
|
20
|
+
super();
|
|
21
|
+
this.fiberId = fiberId;
|
|
22
|
+
this.initial = initial;
|
|
23
|
+
this.runtime = runtime;
|
|
24
|
+
this.scope = scope;
|
|
25
|
+
this.semaphore = tsplus_module_1.unsafeMakeSemaphore(1);
|
|
26
|
+
this.subject = new HoldSubject();
|
|
27
|
+
this.futureRef = new FutureRef(this.fiberId, this.subject.value);
|
|
28
|
+
this.fiber = null;
|
|
29
|
+
this.interrupt = tsplus_module_3.fiberIdWith(fiberId => {
|
|
30
|
+
this.futureRef.reset();
|
|
31
|
+
return tsplus_module_3.zipRight(this.subject.interrupt, fileName_1 + ":30:77")(tsplus_module_3.zipRight(this.interruptFiber, fileName_1 + ":30:55")(this.scope.close(() => tsplus_module_2.interrupt(fiberId, fileName_1 + ":30:43"))));
|
|
32
|
+
});
|
|
33
|
+
this.subscribers = this.subject.subscribers;
|
|
34
|
+
this.onSuccess = this.set;
|
|
35
|
+
this.interruptFiber = tsplus_module_3.defer(() => {
|
|
36
|
+
if (this.fiber) {
|
|
37
|
+
return tsplus_module_7.interrupt(this.fiber);
|
|
38
|
+
} else {
|
|
39
|
+
return tsplus_module_3.unit;
|
|
40
|
+
}
|
|
41
|
+
}, fileName_1 + ":171:36");
|
|
42
|
+
}
|
|
43
|
+
run(sink) {
|
|
44
|
+
return this.subject.run(sink);
|
|
45
|
+
}
|
|
46
|
+
onFailure(cause) {
|
|
47
|
+
const exit = tsplus_module_2.failCause(cause, fileName_1 + ":40:32");
|
|
48
|
+
return tsplus_module_3.defer(() => {
|
|
49
|
+
if (this.futureRef.done(exit)) {
|
|
50
|
+
return this.sendEvent(exit);
|
|
51
|
+
} else {
|
|
52
|
+
return tsplus_module_3.unit;
|
|
53
|
+
}
|
|
54
|
+
}, fileName_1 + ":41:20");
|
|
55
|
+
}
|
|
56
|
+
modify(f, __tsplusTrace) {
|
|
57
|
+
return tsplus_module_3.flatMap(a => {
|
|
58
|
+
const [c, a1] = f(a);
|
|
59
|
+
return tsplus_module_3.as(() => c, fileName_1 + ":55:29")(this.set(a1, fileName_1 + ":55:22"));
|
|
60
|
+
}, fileName_1 + ":53:28")(this.get);
|
|
61
|
+
}
|
|
62
|
+
modifyIO(f, __tsplusTrace) {
|
|
63
|
+
return tsplus_module_3.flatMap(([b, a]) => tsplus_module_3.as(() => b, fileName_1 + ":60:66")(this.set(a, fileName_1 + ":60:60")), fileName_1 + ":60:39")(tsplus_module_3.flatMap(f, fileName_1 + ":60:28")(this.get));
|
|
64
|
+
}
|
|
65
|
+
match(setError, getError, set, get, __tsplusTrace) {
|
|
66
|
+
return this.matchIO(setError, getError, set, get, fileName_1 + ":70:24");
|
|
67
|
+
}
|
|
68
|
+
matchAll(setError, getError, setGetError, set, get, __tsplusTrace) {
|
|
69
|
+
return this.matchAllIO(setError, getError, setGetError, set, get, fileName_1 + ":81:27");
|
|
70
|
+
}
|
|
71
|
+
matchIO(setError, getError, set, get, __tsplusTrace) {
|
|
72
|
+
return new PSynchronizedInternal(this.semaphore, tsplus_module_3.matchIO(e => tsplus_module_3.failNow(getError(e), fileName_1 + ":93:41"), get, fileName_1 + ":93:23")(this.get), c => tsplus_module_3.flatMap(a => tsplus_module_3.mapError(setError, fileName_1 + ":94:56")(this.set(a, fileName_1 + ":94:44")), fileName_1 + ":94:28")(set(c)));
|
|
73
|
+
}
|
|
74
|
+
matchAllIO(setError, getError, setGetError, set, get, __tsplusTrace) {
|
|
75
|
+
return new PSynchronizedInternal(this.semaphore, tsplus_module_3.matchIO(e => tsplus_module_3.failNow(getError(e), fileName_1 + ":108:41"), get, fileName_1 + ":108:23")(this.get), c => tsplus_module_3.matchIO(e => tsplus_module_3.failNow(setGetError(e), fileName_1 + ":111:28"), b => tsplus_module_3.flatMap(a => tsplus_module_3.mapError(setError, fileName_1 + ":112:63")(this.set(a, fileName_1 + ":112:51")), fileName_1 + ":112:35")(set(c)(b)), fileName_1 + ":110:25")(this.get));
|
|
76
|
+
}
|
|
77
|
+
matchIOSubject(mapSetError, mapGetError, mapErrorInput, mapSetErrorInput, mapSet, mapGet, __tsplusTrace) {
|
|
78
|
+
return new Derived(f => f({
|
|
79
|
+
ref: this,
|
|
80
|
+
mapSetError,
|
|
81
|
+
mapGetError,
|
|
82
|
+
mapErrorInput,
|
|
83
|
+
mapSetErrorInput,
|
|
84
|
+
mapSet,
|
|
85
|
+
mapGet
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
set(a, __tsplusTrace) {
|
|
89
|
+
const exit = tsplus_module_2.succeed(a, fileName_1 + ":140:30");
|
|
90
|
+
return tsplus_module_3.defer(() => {
|
|
91
|
+
if (this.futureRef.done(exit)) {
|
|
92
|
+
return this.sendEvent(exit);
|
|
93
|
+
} else {
|
|
94
|
+
return tsplus_module_3.unit;
|
|
95
|
+
}
|
|
96
|
+
}, fileName_1 + ":141:20");
|
|
97
|
+
}
|
|
98
|
+
get get() {
|
|
99
|
+
return this.getOrInit(false);
|
|
100
|
+
}
|
|
101
|
+
sendEvent(exit) {
|
|
102
|
+
return tsplus_module_5.match(cause => tsplus_module_4.provideEnvironment(this.runtime.environment, fileName_1 + ":156:66")(this.subject.onFailure(cause)), value => tsplus_module_4.provideEnvironment(this.runtime.environment, fileName_1 + ":157:66")(this.subject.onSuccess(value)))(exit);
|
|
103
|
+
}
|
|
104
|
+
getOrInit(lock) {
|
|
105
|
+
return tsplus_module_3.defer(() => {
|
|
106
|
+
if (this.fiber === null && tsplus_module_6.isNothing(this.futureRef.current.get)) {
|
|
107
|
+
return tsplus_module_3.zipRight(this.futureRef, fileName_1 + ":164:33")(this.init(lock));
|
|
108
|
+
} else {
|
|
109
|
+
return this.futureRef;
|
|
110
|
+
}
|
|
111
|
+
}, fileName_1 + ":162:20");
|
|
112
|
+
}
|
|
113
|
+
init(lock) {
|
|
114
|
+
const maybeWithLock = lock ? this.semaphore.withPermits(1) : tsplus_module_8.identity;
|
|
115
|
+
const initialize = maybeWithLock(tsplus_module_9.onExit(exit => tsplus_module_3.succeed(() => {
|
|
116
|
+
this.fiber = null;
|
|
117
|
+
this.futureRef.done(exit);
|
|
118
|
+
}, fileName_1 + ":184:11"), fileName_1 + ":183:71")(tsplus_module_4.provideEnvironment(this.runtime.environment, fileName_1 + ":183:38")(this.initial)));
|
|
119
|
+
return tsplus_module_3.flatMap(fiber => tsplus_module_3.succeed(() => this.fiber = fiber, fileName_1 + ":191:63"), fileName_1 + ":191:49")(tsplus_module_10.forkIn(this.scope, fileName_1 + ":191:29")(initialize));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=Atomic.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Atomic.mjs","names":["IO","PSynchronizedInternal","FutureRef","HoldSubject","Derived","PRefSubject","Atomic","constructor","fiberId","initial","runtime","scope","semaphore","tsplus_module_1","unsafeMakeSemaphore","subject","futureRef","value","fiber","interrupt","tsplus_module_3","fiberIdWith","reset","zipRight","fileName_1","interruptFiber","close","tsplus_module_2","subscribers","onSuccess","set","defer","tsplus_module_7","unit","run","sink","onFailure","cause","exit","failCause","done","sendEvent","modify","f","__tsplusTrace","flatMap","a","c","a1","as","get","modifyIO","b","match","setError","getError","matchIO","matchAll","setGetError","matchAllIO","e","failNow","mapError","matchIOSubject","mapSetError","mapGetError","mapErrorInput","mapSetErrorInput","mapSet","mapGet","ref","succeed","getOrInit","tsplus_module_5","tsplus_module_4","provideEnvironment","environment","lock","tsplus_module_6","isNothing","current","init","maybeWithLock","withPermits","tsplus_module_8","identity","initialize","tsplus_module_9","onExit","tsplus_module_10","forkIn"],"sources":["../../../_src/Subject/RefSubject/Atomic.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
const fileName_1 = "(@fncts/io) src/Subject/RefSubject/Derived.ts";
|
|
2
|
+
import * as tsplus_module_1 from "@fncts/base/data/Cause/api";
|
|
3
|
+
import * as tsplus_module_2 from "@fncts/io/IO/api";
|
|
4
|
+
import * as tsplus_module_3 from "@fncts/io/Push/Sink";
|
|
5
|
+
import { PSynchronizedInternal } from "@fncts/io/Ref";
|
|
6
|
+
import { PRefSubject } from "./RefSubject.mjs";
|
|
7
|
+
export class Derived extends PRefSubject {
|
|
8
|
+
constructor(use) {
|
|
9
|
+
super();
|
|
10
|
+
this.use = use;
|
|
11
|
+
this.subscribers = this.use(({
|
|
12
|
+
ref
|
|
13
|
+
}) => ref.subscribers);
|
|
14
|
+
this.interrupt = this.use(({
|
|
15
|
+
ref
|
|
16
|
+
}) => ref.interrupt);
|
|
17
|
+
}
|
|
18
|
+
onSuccess(value) {
|
|
19
|
+
return this.use(({
|
|
20
|
+
ref,
|
|
21
|
+
mapSetErrorInput,
|
|
22
|
+
mapSet
|
|
23
|
+
}) => tsplus_module_2.matchCauseIO(cause => ref.onFailure(tsplus_module_1.map(mapSetErrorInput)(cause)), a0 => ref.onSuccess(a0, fileName_1 + ":46:30"), fileName_1 + ":44:33")(mapSet(value)));
|
|
24
|
+
}
|
|
25
|
+
onFailure(cause) {
|
|
26
|
+
return this.use(({
|
|
27
|
+
ref,
|
|
28
|
+
mapErrorInput
|
|
29
|
+
}) => ref.onFailure(tsplus_module_1.map(mapErrorInput)(cause)));
|
|
30
|
+
}
|
|
31
|
+
get get() {
|
|
32
|
+
return this.use(({
|
|
33
|
+
ref,
|
|
34
|
+
mapGetError,
|
|
35
|
+
mapGet
|
|
36
|
+
}) => tsplus_module_2.matchIO(e => tsplus_module_2.failNow(mapGetError(e), fileName_1 + ":56:88"), mapGet, fileName_1 + ":56:70")(ref.get));
|
|
37
|
+
}
|
|
38
|
+
set(a, __tsplusTrace) {
|
|
39
|
+
return this.use(({
|
|
40
|
+
ref,
|
|
41
|
+
mapSet
|
|
42
|
+
}) => tsplus_module_2.flatMap(a0 => ref.set(a0, fileName_1 + ":60:75"), fileName_1 + ":60:59")(mapSet(a)));
|
|
43
|
+
}
|
|
44
|
+
modify(f, __tsplusTrace) {
|
|
45
|
+
return this.modifyIO(out => tsplus_module_2.succeedNow(f(out), fileName_1 + ":64:48"), fileName_1 + ":64:25");
|
|
46
|
+
}
|
|
47
|
+
modifyIO(f, __tsplusTrace) {
|
|
48
|
+
return this.use(({
|
|
49
|
+
ref,
|
|
50
|
+
mapGetError,
|
|
51
|
+
mapSet,
|
|
52
|
+
mapGet
|
|
53
|
+
}) => tsplus_module_2.flatMap(a0 => tsplus_module_2.flatMap(([c, a]) => tsplus_module_2.as(() => c, fileName_1 + ":78:18")(tsplus_module_2.flatMap(a0 => ref.set(a0, fileName_1 + ":77:39"), fileName_1 + ":77:23")(mapSet(a))), fileName_1 + ":75:19")(tsplus_module_2.flatMap(f, fileName_1 + ":74:19")(mapGet(a0))), fileName_1 + ":72:44")(tsplus_module_2.mapError(mapGetError, fileName_1 + ":72:23")(ref.get)));
|
|
54
|
+
}
|
|
55
|
+
match(ea, eb, ca, bd, __tsplusTrace) {
|
|
56
|
+
return this.matchIO(ea, eb, ca, bd, fileName_1 + ":91:24");
|
|
57
|
+
}
|
|
58
|
+
matchAll(ea, eb, ec, ca, bd, __tsplusTrace) {
|
|
59
|
+
return this.matchAllIO(ea, eb, ec, ca, bd, fileName_1 + ":102:27");
|
|
60
|
+
}
|
|
61
|
+
matchIO(mapSetError, mapGetError, mapSet, mapGet, __tsplusTrace) {
|
|
62
|
+
return this.use(({
|
|
63
|
+
ref
|
|
64
|
+
}) => new PSynchronizedInternal(ref.semaphore, tsplus_module_2.matchIO(e => tsplus_module_2.failNow(mapGetError(e), fileName_1 + ":116:45"), mapGet, fileName_1 + ":116:27")(this.get), c => tsplus_module_2.flatMap(a => tsplus_module_2.mapError(mapSetError, fileName_1 + ":117:63")(this.set(a, fileName_1 + ":117:51")), fileName_1 + ":117:35")(mapSet(c))));
|
|
65
|
+
}
|
|
66
|
+
matchAllIO(mapSetError, mapGetError, mapSetGetError, mapSet, mapGet, __tsplusTrace) {
|
|
67
|
+
return this.use(({
|
|
68
|
+
ref
|
|
69
|
+
}) => new PSynchronizedInternal(ref.semaphore, tsplus_module_2.matchIO(e => tsplus_module_2.failNow(mapGetError(e), fileName_1 + ":134:45"), mapGet, fileName_1 + ":134:27")(this.get), c => tsplus_module_2.matchIO(e => tsplus_module_2.failNow(mapSetGetError(e), fileName_1 + ":137:32"), b => tsplus_module_2.flatMap(a => tsplus_module_2.mapError(mapSetError, fileName_1 + ":138:70")(this.set(a, fileName_1 + ":138:58")), fileName_1 + ":138:42")(mapSet(c)(b)), fileName_1 + ":136:29")(this.get)));
|
|
70
|
+
}
|
|
71
|
+
matchIOSubject(mapSetError, mapGetError, mapErrorInput, mapSetErrorInput, mapSet, mapGet, __tsplusTrace) {
|
|
72
|
+
return this.use(r => new Derived(f => f({
|
|
73
|
+
ref: r.ref,
|
|
74
|
+
mapSetError: e0 => mapSetError(r.mapSetError(e0)),
|
|
75
|
+
mapGetError: e0 => mapGetError(r.mapGetError(e0)),
|
|
76
|
+
mapErrorInput: ei => r.mapErrorInput(mapErrorInput(ei)),
|
|
77
|
+
mapSetErrorInput: ec => r.mapSetErrorInput(mapSetErrorInput(ec)),
|
|
78
|
+
mapSet: c => tsplus_module_2.flatMap(inp => tsplus_module_2.mapError(mapSetError, fileName_1 + ":162:77")(r.mapSet(inp)), fileName_1 + ":162:45")(mapSet(c)),
|
|
79
|
+
mapGet: a0 => tsplus_module_2.flatMap(mapGet, fileName_1 + ":163:71")(tsplus_module_2.mapError(mapGetError, fileName_1 + ":163:50")(r.mapGet(a0)))
|
|
80
|
+
})));
|
|
81
|
+
}
|
|
82
|
+
run(sink) {
|
|
83
|
+
return this.use(({
|
|
84
|
+
ref,
|
|
85
|
+
mapGet,
|
|
86
|
+
mapGetError
|
|
87
|
+
}) => ref.run(tsplus_module_3.unsafeMakeSink(a0 => tsplus_module_2.matchCauseIO(sink.onFailure, sink.onSuccess, fileName_1 + ":173:42")(mapGet(a0)), cause => sink.onFailure(tsplus_module_1.map(mapGetError)(cause)))));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=Derived.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Derived.mjs","names":["PSynchronizedInternal","PRefSubject","Derived","constructor","use","subscribers","ref","interrupt","onSuccess","value","mapSetErrorInput","mapSet","tsplus_module_2","matchCauseIO","cause","onFailure","tsplus_module_1","map","a0","fileName_1","mapErrorInput","get","mapGetError","mapGet","matchIO","e","failNow","set","a","__tsplusTrace","flatMap","modify","f","modifyIO","out","succeedNow","c","as","mapError","match","ea","eb","ca","bd","matchAll","ec","matchAllIO","mapSetError","semaphore","mapSetGetError","b","matchIOSubject","r","e0","ei","inp","run","sink","tsplus_module_3","unsafeMakeSink"],"sources":["../../../_src/Subject/RefSubject/Derived.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var _a, _b;
|
|
2
|
+
import { RefTypeId, RefVariance, SynchronizedTypeId } from "../../Ref.mjs";
|
|
3
|
+
import { PSubject } from "../definition.mjs";
|
|
4
|
+
export class PRefSubject extends PSubject {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this[_a] = SynchronizedTypeId;
|
|
8
|
+
this[_b] = RefTypeId;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
_a = SynchronizedTypeId, _b = RefTypeId;
|
|
12
|
+
//# sourceMappingURL=RefSubject.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefSubject.mjs","names":["RefTypeId","RefVariance","SynchronizedTypeId","PSubject","PRefSubject","constructor","_a","_b"],"sources":["../../../_src/Subject/RefSubject/RefSubject.ts"],"sourcesContent":[null],"mappings":";AAWA,SAASA,SAAS,EAAEC,WAAW,EAAEC,kBAAkB,QAAQ,eAAc;AACzE,SAASC,QAAQ,QAAQ,mBAAkB;AAE3C,OAAM,MAAgBC,WACpB,SAAQD,QAA+C;EADzDE,YAAA;;IAYW,KAAAC,EAAA,CAAoB,GAAuBJ,kBAAkB;IAC7D,KAAAK,EAAA,CAAW,GAAgCP,SAAS;EA8D/D;;KA/DYE,kBAAkB,EAAAK,EAAA,GAClBP,SAAS","ignoreList":[]}
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
var _a, _b;
|
|
2
|
+
import { Push, PushTypeId } from "../Push.mjs";
|
|
1
3
|
export const SubjectTypeId = /*#__PURE__*/Symbol.for("fncts.io.Push.Subject");
|
|
4
|
+
/**
|
|
5
|
+
* @tsplus type fncts.io.Push.Subject
|
|
6
|
+
*/
|
|
7
|
+
export class PSubject extends Push {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this._pushOpCode = null;
|
|
11
|
+
this[_a] = PushTypeId;
|
|
12
|
+
this[_b] = SubjectTypeId;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
_a = PushTypeId, _b = SubjectTypeId;
|
|
2
16
|
export const Subject = {};
|
|
3
17
|
//# sourceMappingURL=definition.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.mjs","names":["SubjectTypeId","Symbol","for","Subject"],"sources":["../../_src/Subject/definition.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"definition.mjs","names":["Push","PushTypeId","SubjectTypeId","Symbol","for","PSubject","constructor","_pushOpCode","_a","_b","Subject"],"sources":["../../_src/Subject/definition.ts"],"sourcesContent":[null],"mappings":";AAIA,SAASA,IAAI,EAAEC,UAAU,QAAQ,aAAY;AAE7C,OAAO,MAAMC,aAAa,gBAAGC,MAAM,CAACC,GAAG,CAAC,uBAAuB,CAAC;AAGhE;;;AAGA,OAAM,MAAgBC,QACpB,SAAQL,IAAiC;EAD3CM,YAAA;;IAIW,KAAAC,WAAW,GAAsB,IAAI;IACrC,KAAAC,EAAA,CAAY,GAAqBP,UAAU;IAC3C,KAAAQ,EAAA,CAAe,GAAkBP,aAAa;EAQzD;;KATYD,UAAU,EAAAQ,EAAA,GACVP,aAAa;AAiBzB,OAAO,MAAMQ,OAAO,GAAe,EAAE","ignoreList":[]}
|
package/_mjs/Subject.mjs
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// codegen:start { preset: barrel, include: ./Subject/*.ts }
|
|
2
2
|
export * from "./Subject/api.mjs";
|
|
3
3
|
export * from "./Subject/Atomic.mjs";
|
|
4
|
+
export * from "./Subject/DeferredRef.mjs";
|
|
4
5
|
export * from "./Subject/definition.mjs";
|
|
6
|
+
export * from "./Subject/Hold.mjs";
|
|
5
7
|
//# sourceMappingURL=Subject.mjs.map
|
package/_mjs/Subject.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Subject.mjs","names":[],"sources":["../_src/Subject.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA,cAAc,mBAAkB;AAChC,cAAc,sBAAqB;AACnC,cAAc,0BAAyB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Subject.mjs","names":[],"sources":["../_src/Subject.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA,cAAc,mBAAkB;AAChC,cAAc,sBAAqB;AACnC,cAAc,2BAA0B;AACxC,cAAc,0BAAyB;AACvC,cAAc,oBAAmB","ignoreList":[]}
|
package/_mjs/SubscriptionRef.mjs
CHANGED
|
@@ -6,13 +6,12 @@ import * as tsplus_module_3 from "@fncts/io/Stream/api";
|
|
|
6
6
|
import * as tsplus_module_4 from "@fncts/io/IO/api";
|
|
7
7
|
import * as tsplus_module_5 from "@fncts/io/Hub/api";
|
|
8
8
|
import * as tsplus_module_6 from "@fncts/io/Ref/constructors";
|
|
9
|
-
import * as tsplus_module_7 from "@fncts/io/Semaphore";
|
|
9
|
+
import * as tsplus_module_7 from "@fncts/io/Semaphore/constructors";
|
|
10
10
|
import { PSynchronizedInternal } from "@fncts/io/Ref";
|
|
11
11
|
export const SubscriptionRefTypeId = /*#__PURE__*/Symbol.for("fncts.io.SubscriptionRef");
|
|
12
12
|
export class SubscriptionRefInternal extends PSynchronizedInternal {
|
|
13
13
|
constructor(semaphore, hub, ref) {
|
|
14
14
|
super(semaphore, tsplus_module_1.get(ref, fileName_1 + ":14:25"), a => tsplus_module_2.set(a, fileName_1 + ":14:45")(ref));
|
|
15
|
-
this.semaphore = semaphore;
|
|
16
15
|
this.hub = hub;
|
|
17
16
|
this.ref = ref;
|
|
18
17
|
this[_a] = SubscriptionRefTypeId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubscriptionRef.mjs","names":["PSynchronizedInternal","SubscriptionRefTypeId","Symbol","for","SubscriptionRefInternal","constructor","semaphore","hub","ref","tsplus_module_1","get","fileName_1","a","tsplus_module_2","set","_a","changes","tsplus_module_3","unwrapScoped","withPermit","tsplus_module_4","flatMap","map","stream","concat","succeedNow","fromHubScoped","unsafeGet","__tsplusTrace","zipLeft","tsplus_module_5","publish","unsafeSet","modifyIO","f","b","as","SubscriptionRef","concrete","_","make","value","tsplus_module_6","makeUnbounded","tsplus_module_7","makeSemaphore"],"sources":["../_src/SubscriptionRef.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;AAAA,SAASA,qBAAqB,QAAQ,eAAe;AAGrD,OAAO,MAAMC,qBAAqB,gBAAGC,MAAM,CAACC,GAAG,CAAC,0BAA0B,CAAC;AAG3E,OAAM,MAAOC,uBAA2B,SAAQJ,qBAAuD;EAErGK,
|
|
1
|
+
{"version":3,"file":"SubscriptionRef.mjs","names":["PSynchronizedInternal","SubscriptionRefTypeId","Symbol","for","SubscriptionRefInternal","constructor","semaphore","hub","ref","tsplus_module_1","get","fileName_1","a","tsplus_module_2","set","_a","changes","tsplus_module_3","unwrapScoped","withPermit","tsplus_module_4","flatMap","map","stream","concat","succeedNow","fromHubScoped","unsafeGet","__tsplusTrace","zipLeft","tsplus_module_5","publish","unsafeSet","modifyIO","f","b","as","SubscriptionRef","concrete","_","make","value","tsplus_module_6","makeUnbounded","tsplus_module_7","makeSemaphore"],"sources":["../_src/SubscriptionRef.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;AAAA,SAASA,qBAAqB,QAAQ,eAAe;AAGrD,OAAO,MAAMC,qBAAqB,gBAAGC,MAAM,CAACC,GAAG,CAAC,0BAA0B,CAAC;AAG3E,OAAM,MAAOC,uBAA2B,SAAQJ,qBAAuD;EAErGK,YACEC,SAAoB,EACXC,GAAW,EACXC,GAAW;IAEpB,KAAK,CAACF,SAAS,EAAAG,eAAA,CAAAC,GAAA,CAAEF,GAAG,EAAAG,UAAA,cAAOC,CAAC,IAAKC,eAAA,CAAAC,GAAA,CAAQF,CAAC,EAAAD,UAAA,aAATH,GAAG,CAAO,CAAC;IAHnC,KAAAD,GAAG,GAAHA,GAAG;IACH,KAAAC,GAAG,GAAHA,GAAG;IAJL,KAAAO,EAAA,CAAuB,GAA0Bd,qBAAqB;IAQ/E,KAAAe,OAAO,GAA4BC,eAAA,CAAAC,YAAA,CACjC,IAAI,CAACC,UAAU,CACbC,eAAA,CAAAC,OAAA,CAAwBT,CAAC,IACvBQ,eAAA,CAAAE,GAAA,CAAoCC,MAAM,IAAKN,eAAA,CAAAO,MAAA,CAA4BD,MAAM,EAAAZ,UAAA,aAAlCM,eAAA,CAAAQ,UAAA,CAAkBb,CAAC,EAAAD,UAAA,YAAC,CAAe,EAAAA,UAAA,aAAlFM,eAAA,CAAAS,aAAA,OAAqB,IAAI,CAACnB,GAAG,CAAC,CAAqD,EAAAI,UAAA,aADrF,IAAI,CAACgB,SAAS,CAEb,EAAAhB,UAAA,YACF,EAAAA,UAAA,YACF;EAPD;EAQAG,GAAGA,CAACF,CAAI,EAAEgB,aAAsB;IAC9B,OAAO,IAAI,CAACT,UAAU,CAAAC,eAAA,CAAAS,OAAA,CAAqBC,eAAA,CAAAC,OAAA,CAAiBnB,CAAC,EAAAD,UAAA,aAAlB,IAAI,CAACJ,GAAG,CAAW,EAAAI,UAAA,aAAvC,IAAI,CAACqB,SAAS,CAACpB,CAAC,CAAC,GAAAD,UAAA,YAAuB;EACjE;EACAsB,QAAQA,CAAYC,CAAwC,EAAEN,aAAsB;IAClF,OAAO,IAAI,CAACT,UAAU,CACpBC,eAAA,CAAAC,OAAA,CAAkC,CAAC,CAACc,CAAC,EAAEvB,CAAC,CAAC,KAAIQ,eAAA,CAAAS,OAAA,CAA2BC,eAAA,CAAAC,OAAA,CAAiBnB,CAAC,EAAAD,UAAA,aAAlB,IAAI,CAACJ,GAAG,CAAW,EAAAI,UAAA,aAA7CS,eAAA,CAAAgB,EAAA,OAAqBD,CAAC,EAAAxB,UAAA,aAAtB,IAAI,CAACqB,SAAS,CAACpB,CAAC,CAAC,CAAM,CAAsB,EAAAD,UAAA,aAA3FS,eAAA,CAAAC,OAAA,CAAuBa,CAAC,EAAAvB,UAAA,aAAxB,IAAI,CAACgB,SAAS,CAAW,CAAmE,EAAAhB,UAAA,YAC7F;EACH;;KAtBUV,qBAAqB;AAqCjC,OAAO,MAAMoC,eAAe,GAAuB,EAAE;AAErD,OAAM,SAAUC,QAAQA,CAAIC,CAAqB;EAC/C;AAAA;AAGF;;;;AAIA,OAAM,SAAUC,IAAIA,CAAIC,KAAc;EACpC,OAAArB,eAAA,CAAAC,OAAA,CACQf,SAAS,IAAAc,eAAA,CAAAC,OAAA,CACTd,GAAG,IAAAa,eAAA,CAAAE,GAAA,CACHd,GAAG,IACF,IAAIJ,uBAAuB,CAACE,SAAS,EAAEC,GAAG,EAAEC,GAAG,CAAC,EAAAG,UAAA,aADnC+B,eAAA,CAAAF,IAAA,CAASC,KAAK,EAAA9B,UAAA,YAAC,GAAAA,UAAA,aADfmB,eAAA,CAAAa,aAAA,CAAAhC,UAAA,YAAsB,GAAAA,UAAA,aADtBiC,eAAA,CAAAC,aAAA,CAAU,CAAC,EAAAlC,UAAA,YAAC;AAKpC","ignoreList":[]}
|
package/_src/Cached/api.ts
CHANGED
|
@@ -4,11 +4,11 @@ import { CachedInternal } from "@fncts/io/Cached/internal";
|
|
|
4
4
|
/**
|
|
5
5
|
* @tsplus static fncts.io.CachedOps auto
|
|
6
6
|
*/
|
|
7
|
-
export function auto<R, Error, Resource>(
|
|
7
|
+
export function auto<R, Error, Resource, R2, E2, O>(
|
|
8
8
|
acquire: IO<R, Error, Resource>,
|
|
9
|
-
policy: Schedule<
|
|
9
|
+
policy: Schedule<R2, E2, O>,
|
|
10
10
|
__tsplusTrace?: string,
|
|
11
|
-
): IO<R | Scope, never, Cached<Error, Resource>> {
|
|
11
|
+
): IO<R | R2 | Scope, never, Cached<Error, Resource>> {
|
|
12
12
|
return Do((Δ) => {
|
|
13
13
|
const manual = Δ(Cached.manual(acquire));
|
|
14
14
|
Δ(IO.acquireRelease(IO.interruptible(manual.refresh.schedule(policy)).forkDaemon, (fiber) => fiber.interrupt));
|
|
@@ -32,7 +32,7 @@ function toPullInterpret<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>(
|
|
|
32
32
|
return done.match(IO.failCauseNow, (outDone) => IO.succeedNow(Either.left(outDone)));
|
|
33
33
|
}
|
|
34
34
|
case ChannelStateTag.Read: {
|
|
35
|
-
return readUpstream(channelState, () => toPullInterpret(exec.run(), exec), IO.
|
|
35
|
+
return readUpstream(channelState, () => toPullInterpret(exec.run(), exec), IO.refailCauseNow);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
}
|