effect 2.2.5 → 2.3.0
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/RateLimiter/package.json +6 -0
- package/dist/cjs/Cause.js +14 -1
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/Clock.js.map +1 -1
- package/dist/cjs/Console.js.map +1 -1
- package/dist/cjs/Context.js +23 -25
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Data.js +3 -3
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/Deferred.js +1 -1
- package/dist/cjs/Deferred.js.map +1 -1
- package/dist/cjs/Effect.js +9 -9
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Effectable.js.map +1 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Exit.js +2 -2
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberMap.js +3 -3
- package/dist/cjs/FiberRef.js.map +1 -1
- package/dist/cjs/FiberRefs.js.map +1 -1
- package/dist/cjs/FiberSet.js +3 -3
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/GroupBy.js.map +1 -1
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/LogLevel.js.map +1 -1
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/Number.js +20 -1
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Pool.js.map +1 -1
- package/dist/cjs/PubSub.js.map +1 -1
- package/dist/cjs/Queue.js.map +1 -1
- package/dist/cjs/Random.js.map +1 -1
- package/dist/cjs/RateLimiter.js +38 -0
- package/dist/cjs/RateLimiter.js.map +1 -0
- package/dist/cjs/ReadonlyRecord.js +45 -9
- package/dist/cjs/ReadonlyRecord.js.map +1 -1
- package/dist/cjs/Ref.js.map +1 -1
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/Resource.js.map +1 -1
- package/dist/cjs/Runtime.js +1 -4
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/cjs/RuntimeFlags.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/Scope.js.map +1 -1
- package/dist/cjs/ScopedRef.js.map +1 -1
- package/dist/cjs/SingleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/Supervisor.js.map +1 -1
- package/dist/cjs/SynchronizedRef.js.map +1 -1
- package/dist/cjs/TArray.js.map +1 -1
- package/dist/cjs/TDeferred.js.map +1 -1
- package/dist/cjs/TMap.js.map +1 -1
- package/dist/cjs/TPriorityQueue.js.map +1 -1
- package/dist/cjs/TPubSub.js.map +1 -1
- package/dist/cjs/TQueue.js.map +1 -1
- package/dist/cjs/TRandom.js.map +1 -1
- package/dist/cjs/TReentrantLock.js.map +1 -1
- package/dist/cjs/TRef.js.map +1 -1
- package/dist/cjs/TSemaphore.js.map +1 -1
- package/dist/cjs/TSet.js.map +1 -1
- package/dist/cjs/Take.js +6 -6
- package/dist/cjs/Take.js.map +1 -1
- package/dist/cjs/TestAnnotation.js +10 -13
- package/dist/cjs/TestAnnotation.js.map +1 -1
- package/dist/cjs/TestAnnotations.js +1 -1
- package/dist/cjs/TestAnnotations.js.map +1 -1
- package/dist/cjs/TestClock.js +1 -1
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/TestConfig.js +1 -1
- package/dist/cjs/TestConfig.js.map +1 -1
- package/dist/cjs/TestContext.js.map +1 -1
- package/dist/cjs/TestLive.js +1 -1
- package/dist/cjs/TestLive.js.map +1 -1
- package/dist/cjs/TestServices.js.map +1 -1
- package/dist/cjs/TestSized.js +1 -1
- package/dist/cjs/TestSized.js.map +1 -1
- package/dist/cjs/Utils.js +0 -1
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/cache.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel/mergeDecision.js +2 -6
- package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/internal/channel.js +1 -1
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/clock.js +1 -1
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/configProvider.js +2 -4
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/console.js.map +1 -1
- package/dist/cjs/internal/context.js +31 -22
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +13 -27
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core-stream.js.map +1 -1
- package/dist/cjs/internal/core.js +61 -130
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/data.js.map +1 -1
- package/dist/cjs/internal/defaultServices/console.js +1 -1
- package/dist/cjs/internal/defaultServices/console.js.map +1 -1
- package/dist/cjs/internal/defaultServices.js.map +1 -1
- package/dist/cjs/internal/deferred.js.map +1 -1
- package/dist/cjs/internal/differ/contextPatch.js +9 -9
- package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +7 -10
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/effectable.js +4 -4
- package/dist/cjs/internal/effectable.js.map +1 -1
- package/dist/cjs/internal/fiber.js +2 -6
- package/dist/cjs/internal/fiber.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +10 -19
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/keyedPool.js.map +1 -1
- package/dist/cjs/internal/layer/circular.js.map +1 -1
- package/dist/cjs/internal/layer.js +3 -3
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/logSpan.js +3 -5
- package/dist/cjs/internal/logSpan.js.map +1 -1
- package/dist/cjs/internal/metric.js.map +1 -1
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/pubsub.js +2 -6
- package/dist/cjs/internal/pubsub.js.map +1 -1
- package/dist/cjs/internal/query.js.map +1 -1
- package/dist/cjs/internal/queue.js.map +1 -1
- package/dist/cjs/internal/random.js +1 -1
- package/dist/cjs/internal/random.js.map +1 -1
- package/dist/cjs/internal/rateLimiter.js +44 -0
- package/dist/cjs/internal/rateLimiter.js.map +1 -0
- package/dist/cjs/internal/ref.js.map +1 -1
- package/dist/cjs/internal/reloadable.js +1 -9
- package/dist/cjs/internal/reloadable.js.map +1 -1
- package/dist/cjs/internal/runtime.js +0 -1
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/scopedCache.js.map +1 -1
- package/dist/cjs/internal/scopedRef.js.map +1 -1
- package/dist/cjs/internal/sink.js +7 -7
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tExit.js +2 -2
- package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tryCommit.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stm/tArray.js.map +1 -1
- package/dist/cjs/internal/stm/tDeferred.js +4 -2
- package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
- package/dist/cjs/internal/stm/tMap.js.map +1 -1
- package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
- package/dist/cjs/internal/stm/tQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tRandom.js +1 -1
- package/dist/cjs/internal/stm/tRandom.js.map +1 -1
- package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
- package/dist/cjs/internal/stm/tRef.js.map +1 -1
- package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
- package/dist/cjs/internal/stm/tSet.js.map +1 -1
- package/dist/cjs/internal/stream/debounceState.js.map +1 -1
- package/dist/cjs/internal/stream/handoff.js.map +1 -1
- package/dist/cjs/internal/stream/handoffSignal.js.map +1 -1
- package/dist/cjs/internal/stream/pull.js.map +1 -1
- package/dist/cjs/internal/stream.js +0 -2
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/subscriptionRef.js.map +1 -1
- package/dist/cjs/internal/supervisor.js.map +1 -1
- package/dist/cjs/internal/take.js +2 -2
- package/dist/cjs/internal/take.js.map +1 -1
- package/dist/cjs/internal/testing/sleep.js.map +1 -1
- package/dist/cjs/internal/tracer.js +2 -2
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Cache.d.ts +20 -20
- package/dist/dts/Cache.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +33 -5
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +197 -194
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Clock.d.ts +7 -7
- package/dist/dts/Clock.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +1 -1
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/ConfigProvider.d.ts +6 -6
- package/dist/dts/ConfigProvider.d.ts.map +1 -1
- package/dist/dts/Console.d.ts +43 -43
- package/dist/dts/Console.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +44 -29
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Data.d.ts +38 -57
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/Deferred.d.ts +36 -36
- package/dist/dts/Deferred.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +732 -729
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Effectable.d.ts +8 -8
- package/dist/dts/Effectable.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +2 -3
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Exit.d.ts +74 -74
- package/dist/dts/Exit.d.ts.map +1 -1
- package/dist/dts/Fiber.d.ts +75 -75
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +22 -22
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberRef.d.ts +28 -28
- package/dist/dts/FiberRef.d.ts.map +1 -1
- package/dist/dts/FiberRefs.d.ts +1 -1
- package/dist/dts/FiberRefs.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +16 -16
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts +6 -6
- package/dist/dts/GroupBy.d.ts.map +1 -1
- package/dist/dts/KeyedPool.d.ts +22 -22
- package/dist/dts/KeyedPool.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +126 -126
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/LogLevel.d.ts +2 -2
- package/dist/dts/LogLevel.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +14 -14
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/MergeDecision.d.ts +7 -7
- package/dist/dts/MergeState.d.ts +13 -13
- package/dist/dts/MergeState.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +32 -32
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricPolling.d.ts +6 -6
- package/dist/dts/MetricPolling.d.ts.map +1 -1
- package/dist/dts/Number.d.ts +15 -0
- package/dist/dts/Number.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +2 -3
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Pool.d.ts +15 -16
- package/dist/dts/Pool.d.ts.map +1 -1
- package/dist/dts/PubSub.d.ts +18 -18
- package/dist/dts/PubSub.d.ts.map +1 -1
- package/dist/dts/Queue.d.ts +40 -40
- package/dist/dts/Queue.d.ts.map +1 -1
- package/dist/dts/Random.d.ts +13 -13
- package/dist/dts/Random.d.ts.map +1 -1
- package/dist/dts/RateLimiter.d.ts +31 -0
- package/dist/dts/RateLimiter.d.ts.map +1 -0
- package/dist/dts/ReadonlyArray.d.ts +3 -3
- package/dist/dts/ReadonlyRecord.d.ts +37 -8
- package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
- package/dist/dts/Ref.d.ts +25 -25
- package/dist/dts/Ref.d.ts.map +1 -1
- package/dist/dts/Reloadable.d.ts +9 -9
- package/dist/dts/Reloadable.d.ts.map +1 -1
- package/dist/dts/Request.d.ts +27 -28
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestBlock.d.ts +3 -3
- package/dist/dts/RequestBlock.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +16 -16
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Resource.d.ts +7 -7
- package/dist/dts/Resource.d.ts.map +1 -1
- package/dist/dts/Runtime.d.ts +13 -16
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/dts/RuntimeFlags.d.ts +10 -10
- package/dist/dts/RuntimeFlags.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +303 -303
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +19 -19
- package/dist/dts/Schedule.d.ts.map +1 -1
- package/dist/dts/Scope.d.ts +10 -10
- package/dist/dts/Scope.d.ts.map +1 -1
- package/dist/dts/ScopedCache.d.ts +14 -14
- package/dist/dts/ScopedCache.d.ts.map +1 -1
- package/dist/dts/ScopedRef.d.ts +5 -5
- package/dist/dts/ScopedRef.d.ts.map +1 -1
- package/dist/dts/SingleProducerAsyncInput.d.ts +8 -8
- package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +214 -205
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +595 -592
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/StreamEmit.d.ts +5 -5
- package/dist/dts/StreamEmit.d.ts.map +1 -1
- package/dist/dts/Streamable.d.ts +2 -2
- package/dist/dts/Streamable.d.ts.map +1 -1
- package/dist/dts/SubscriptionRef.d.ts +41 -41
- package/dist/dts/SubscriptionRef.d.ts.map +1 -1
- package/dist/dts/Supervisor.d.ts +17 -17
- package/dist/dts/Supervisor.d.ts.map +1 -1
- package/dist/dts/SynchronizedRef.d.ts +41 -41
- package/dist/dts/SynchronizedRef.d.ts.map +1 -1
- package/dist/dts/TArray.d.ts +72 -72
- package/dist/dts/TArray.d.ts.map +1 -1
- package/dist/dts/TDeferred.d.ts +12 -12
- package/dist/dts/TDeferred.d.ts.map +1 -1
- package/dist/dts/TMap.d.ts +67 -67
- package/dist/dts/TMap.d.ts.map +1 -1
- package/dist/dts/TPriorityQueue.d.ts +23 -23
- package/dist/dts/TPriorityQueue.d.ts.map +1 -1
- package/dist/dts/TPubSub.d.ts +15 -15
- package/dist/dts/TPubSub.d.ts.map +1 -1
- package/dist/dts/TQueue.d.ts +40 -40
- package/dist/dts/TQueue.d.ts.map +1 -1
- package/dist/dts/TRandom.d.ts +13 -13
- package/dist/dts/TRandom.d.ts.map +1 -1
- package/dist/dts/TReentrantLock.d.ts +21 -21
- package/dist/dts/TReentrantLock.d.ts.map +1 -1
- package/dist/dts/TRef.d.ts +25 -25
- package/dist/dts/TRef.d.ts.map +1 -1
- package/dist/dts/TSemaphore.d.ts +15 -15
- package/dist/dts/TSemaphore.d.ts.map +1 -1
- package/dist/dts/TSet.d.ts +49 -49
- package/dist/dts/TSet.d.ts.map +1 -1
- package/dist/dts/Take.d.ts +41 -41
- package/dist/dts/Take.d.ts.map +1 -1
- package/dist/dts/TestAnnotation.d.ts +1 -3
- package/dist/dts/TestAnnotation.d.ts.map +1 -1
- package/dist/dts/TestAnnotations.d.ts +3 -3
- package/dist/dts/TestAnnotations.d.ts.map +1 -1
- package/dist/dts/TestClock.d.ts +18 -18
- package/dist/dts/TestClock.d.ts.map +1 -1
- package/dist/dts/TestConfig.d.ts.map +1 -1
- package/dist/dts/TestContext.d.ts +2 -2
- package/dist/dts/TestContext.d.ts.map +1 -1
- package/dist/dts/TestLive.d.ts +1 -1
- package/dist/dts/TestLive.d.ts.map +1 -1
- package/dist/dts/TestServices.d.ts +31 -31
- package/dist/dts/TestServices.d.ts.map +1 -1
- package/dist/dts/TestSized.d.ts +2 -2
- package/dist/dts/TestSized.d.ts.map +1 -1
- package/dist/dts/Tracer.d.ts +1 -1
- package/dist/dts/Utils.d.ts.map +1 -1
- package/dist/dts/index.d.ts +12 -2
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/channel/channelExecutor.d.ts +1 -1
- package/dist/dts/internal/channel/channelExecutor.d.ts.map +1 -1
- package/dist/dts/internal/core-stream.d.ts +1 -1
- package/dist/dts/internal/core-stream.d.ts.map +1 -1
- package/dist/dts/internal/rateLimiter.d.ts +2 -0
- package/dist/dts/internal/rateLimiter.d.ts.map +1 -0
- package/dist/dts/internal/stm/stm.d.ts +6 -6
- package/dist/dts/internal/stm/stm.d.ts.map +1 -1
- package/dist/dts/internal/version.d.ts +1 -1
- package/dist/esm/Cause.js +13 -0
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/Clock.js.map +1 -1
- package/dist/esm/Console.js.map +1 -1
- package/dist/esm/Context.js +22 -24
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/Data.js +4 -5
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/Deferred.js +1 -1
- package/dist/esm/Deferred.js.map +1 -1
- package/dist/esm/Effect.js +9 -9
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Effectable.js.map +1 -1
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Exit.js +2 -2
- package/dist/esm/Exit.js.map +1 -1
- package/dist/esm/Fiber.js.map +1 -1
- package/dist/esm/FiberMap.js +3 -3
- package/dist/esm/FiberRef.js.map +1 -1
- package/dist/esm/FiberRefs.js.map +1 -1
- package/dist/esm/FiberSet.js +3 -3
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/GroupBy.js.map +1 -1
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/LogLevel.js.map +1 -1
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/Number.js +18 -0
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Pool.js.map +1 -1
- package/dist/esm/PubSub.js.map +1 -1
- package/dist/esm/Queue.js.map +1 -1
- package/dist/esm/Random.js.map +1 -1
- package/dist/esm/RateLimiter.js +7 -0
- package/dist/esm/RateLimiter.js.map +1 -0
- package/dist/esm/ReadonlyRecord.js +44 -8
- package/dist/esm/ReadonlyRecord.js.map +1 -1
- package/dist/esm/Ref.js.map +1 -1
- package/dist/esm/Request.js.map +1 -1
- package/dist/esm/RequestResolver.js.map +1 -1
- package/dist/esm/Resource.js.map +1 -1
- package/dist/esm/Runtime.js +1 -4
- package/dist/esm/Runtime.js.map +1 -1
- package/dist/esm/RuntimeFlags.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/Scope.js.map +1 -1
- package/dist/esm/ScopedRef.js.map +1 -1
- package/dist/esm/SingleProducerAsyncInput.js.map +1 -1
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/SubscriptionRef.js.map +1 -1
- package/dist/esm/Supervisor.js.map +1 -1
- package/dist/esm/SynchronizedRef.js.map +1 -1
- package/dist/esm/TArray.js.map +1 -1
- package/dist/esm/TDeferred.js.map +1 -1
- package/dist/esm/TMap.js.map +1 -1
- package/dist/esm/TPriorityQueue.js.map +1 -1
- package/dist/esm/TPubSub.js.map +1 -1
- package/dist/esm/TQueue.js.map +1 -1
- package/dist/esm/TRandom.js.map +1 -1
- package/dist/esm/TReentrantLock.js.map +1 -1
- package/dist/esm/TRef.js.map +1 -1
- package/dist/esm/TSemaphore.js.map +1 -1
- package/dist/esm/TSet.js.map +1 -1
- package/dist/esm/Take.js +6 -6
- package/dist/esm/Take.js.map +1 -1
- package/dist/esm/TestAnnotation.js +10 -13
- package/dist/esm/TestAnnotation.js.map +1 -1
- package/dist/esm/TestAnnotations.js +1 -1
- package/dist/esm/TestAnnotations.js.map +1 -1
- package/dist/esm/TestClock.js +1 -1
- package/dist/esm/TestClock.js.map +1 -1
- package/dist/esm/TestConfig.js +1 -1
- package/dist/esm/TestConfig.js.map +1 -1
- package/dist/esm/TestContext.js.map +1 -1
- package/dist/esm/TestLive.js +1 -1
- package/dist/esm/TestLive.js.map +1 -1
- package/dist/esm/TestServices.js.map +1 -1
- package/dist/esm/TestSized.js +1 -1
- package/dist/esm/TestSized.js.map +1 -1
- package/dist/esm/Utils.js +1 -1
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/index.js +12 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/cache.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel/mergeDecision.js +2 -6
- package/dist/esm/internal/channel/mergeDecision.js.map +1 -1
- package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/esm/internal/channel.js +1 -1
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/clock.js +1 -1
- package/dist/esm/internal/clock.js.map +1 -1
- package/dist/esm/internal/configProvider.js +2 -4
- package/dist/esm/internal/configProvider.js.map +1 -1
- package/dist/esm/internal/console.js.map +1 -1
- package/dist/esm/internal/context.js +28 -20
- package/dist/esm/internal/context.js.map +1 -1
- package/dist/esm/internal/core-effect.js +12 -26
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core-stream.js.map +1 -1
- package/dist/esm/internal/core.js +57 -127
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/data.js.map +1 -1
- package/dist/esm/internal/defaultServices/console.js +1 -1
- package/dist/esm/internal/defaultServices/console.js.map +1 -1
- package/dist/esm/internal/defaultServices.js.map +1 -1
- package/dist/esm/internal/deferred.js.map +1 -1
- package/dist/esm/internal/differ/contextPatch.js +9 -9
- package/dist/esm/internal/differ/contextPatch.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +5 -8
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/effectable.js +4 -4
- package/dist/esm/internal/effectable.js.map +1 -1
- package/dist/esm/internal/fiber.js +2 -6
- package/dist/esm/internal/fiber.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +10 -19
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/keyedPool.js.map +1 -1
- package/dist/esm/internal/layer/circular.js.map +1 -1
- package/dist/esm/internal/layer.js +3 -3
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/logSpan.js +3 -5
- package/dist/esm/internal/logSpan.js.map +1 -1
- package/dist/esm/internal/metric.js.map +1 -1
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/pubsub.js +1 -5
- package/dist/esm/internal/pubsub.js.map +1 -1
- package/dist/esm/internal/query.js.map +1 -1
- package/dist/esm/internal/queue.js.map +1 -1
- package/dist/esm/internal/random.js +1 -1
- package/dist/esm/internal/random.js.map +1 -1
- package/dist/esm/internal/rateLimiter.js +12 -0
- package/dist/esm/internal/rateLimiter.js.map +1 -0
- package/dist/esm/internal/ref.js.map +1 -1
- package/dist/esm/internal/reloadable.js +1 -9
- package/dist/esm/internal/reloadable.js.map +1 -1
- package/dist/esm/internal/runtime.js +0 -1
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/schedule.js.map +1 -1
- package/dist/esm/internal/scopedCache.js.map +1 -1
- package/dist/esm/internal/scopedRef.js.map +1 -1
- package/dist/esm/internal/sink.js +7 -7
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stm/core.js.map +1 -1
- package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
- package/dist/esm/internal/stm/stm/tExit.js +2 -2
- package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
- package/dist/esm/internal/stm/stm/tryCommit.js.map +1 -1
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stm/tArray.js.map +1 -1
- package/dist/esm/internal/stm/tDeferred.js +4 -2
- package/dist/esm/internal/stm/tDeferred.js.map +1 -1
- package/dist/esm/internal/stm/tMap.js.map +1 -1
- package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/esm/internal/stm/tPubSub.js.map +1 -1
- package/dist/esm/internal/stm/tQueue.js.map +1 -1
- package/dist/esm/internal/stm/tRandom.js +1 -1
- package/dist/esm/internal/stm/tRandom.js.map +1 -1
- package/dist/esm/internal/stm/tReentrantLock.js.map +1 -1
- package/dist/esm/internal/stm/tRef.js.map +1 -1
- package/dist/esm/internal/stm/tSemaphore.js.map +1 -1
- package/dist/esm/internal/stm/tSet.js.map +1 -1
- package/dist/esm/internal/stream/debounceState.js.map +1 -1
- package/dist/esm/internal/stream/handoff.js.map +1 -1
- package/dist/esm/internal/stream/handoffSignal.js.map +1 -1
- package/dist/esm/internal/stream/pull.js.map +1 -1
- package/dist/esm/internal/stream.js +0 -2
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/subscriptionRef.js.map +1 -1
- package/dist/esm/internal/supervisor.js.map +1 -1
- package/dist/esm/internal/take.js +2 -2
- package/dist/esm/internal/take.js.map +1 -1
- package/dist/esm/internal/testing/sleep.js.map +1 -1
- package/dist/esm/internal/tracer.js +2 -2
- package/dist/esm/internal/tracer.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +9 -1
- package/src/Cache.ts +20 -20
- package/src/Cause.ts +37 -13
- package/src/Channel.ts +802 -794
- package/src/Clock.ts +7 -7
- package/src/Config.ts +1 -1
- package/src/ConfigProvider.ts +6 -6
- package/src/Console.ts +44 -48
- package/src/Context.ts +52 -30
- package/src/Data.ts +38 -61
- package/src/Deferred.ts +39 -41
- package/src/Effect.ts +1187 -1206
- package/src/Effectable.ts +8 -8
- package/src/Either.ts +2 -3
- package/src/Exit.ts +88 -105
- package/src/Fiber.ts +77 -83
- package/src/FiberMap.ts +77 -77
- package/src/FiberRef.ts +28 -28
- package/src/FiberRefs.ts +1 -1
- package/src/FiberSet.ts +61 -62
- package/src/GroupBy.ts +8 -12
- package/src/KeyedPool.ts +22 -22
- package/src/Layer.ts +187 -181
- package/src/LogLevel.ts +7 -6
- package/src/Logger.ts +18 -18
- package/src/MergeDecision.ts +7 -7
- package/src/MergeState.ts +16 -16
- package/src/Metric.ts +39 -39
- package/src/MetricPolling.ts +6 -6
- package/src/Number.ts +19 -0
- package/src/Option.ts +2 -3
- package/src/Pool.ts +15 -16
- package/src/PubSub.ts +18 -18
- package/src/Queue.ts +43 -46
- package/src/Random.ts +13 -15
- package/src/RateLimiter.ts +37 -0
- package/src/ReadonlyRecord.ts +49 -8
- package/src/Ref.ts +25 -25
- package/src/Reloadable.ts +10 -10
- package/src/Request.ts +31 -31
- package/src/RequestBlock.ts +3 -3
- package/src/RequestResolver.ts +21 -21
- package/src/Resource.ts +13 -13
- package/src/Runtime.ts +16 -19
- package/src/RuntimeFlags.ts +10 -10
- package/src/STM.ts +361 -362
- package/src/Schedule.ts +19 -19
- package/src/Scheduler.ts +2 -2
- package/src/Scope.ts +14 -15
- package/src/ScopedCache.ts +14 -14
- package/src/ScopedRef.ts +7 -7
- package/src/SingleProducerAsyncInput.ts +8 -9
- package/src/Sink.ts +357 -381
- package/src/Stream.ts +935 -1033
- package/src/StreamEmit.ts +5 -5
- package/src/Streamable.ts +2 -2
- package/src/SubscriptionRef.ts +51 -51
- package/src/Supervisor.ts +26 -26
- package/src/SynchronizedRef.ts +44 -44
- package/src/TArray.ts +74 -74
- package/src/TDeferred.ts +14 -14
- package/src/TMap.ts +72 -72
- package/src/TPriorityQueue.ts +23 -24
- package/src/TPubSub.ts +15 -15
- package/src/TQueue.ts +40 -40
- package/src/TRandom.ts +13 -13
- package/src/TReentrantLock.ts +21 -21
- package/src/TRef.ts +25 -25
- package/src/TSemaphore.ts +15 -15
- package/src/TSet.ts +49 -49
- package/src/Take.ts +51 -51
- package/src/TestAnnotation.ts +6 -17
- package/src/TestAnnotations.ts +7 -9
- package/src/TestClock.ts +39 -45
- package/src/TestConfig.ts +1 -3
- package/src/TestContext.ts +3 -3
- package/src/TestLive.ts +3 -5
- package/src/TestServices.ts +45 -47
- package/src/TestSized.ts +5 -5
- package/src/Tracer.ts +1 -1
- package/src/Utils.ts +8 -10
- package/src/index.ts +13 -2
- package/src/internal/blockedRequests.ts +2 -2
- package/src/internal/cache.ts +38 -38
- package/src/internal/channel/channelExecutor.ts +65 -73
- package/src/internal/channel/channelState.ts +11 -11
- package/src/internal/channel/continuation.ts +10 -10
- package/src/internal/channel/mergeDecision.ts +14 -16
- package/src/internal/channel/mergeState.ts +12 -12
- package/src/internal/channel/singleProducerAsyncInput.ts +15 -17
- package/src/internal/channel/subexecutor.ts +7 -7
- package/src/internal/channel.ts +901 -980
- package/src/internal/clock.ts +6 -6
- package/src/internal/concurrency.ts +9 -9
- package/src/internal/configProvider.ts +29 -36
- package/src/internal/console.ts +12 -12
- package/src/internal/context.ts +32 -23
- package/src/internal/core-effect.ts +655 -616
- package/src/internal/core-stream.ts +317 -325
- package/src/internal/core.ts +856 -790
- package/src/internal/data.ts +2 -3
- package/src/internal/dataSource.ts +14 -14
- package/src/internal/defaultServices/console.ts +3 -1
- package/src/internal/defaultServices.ts +21 -21
- package/src/internal/deferred.ts +9 -9
- package/src/internal/differ/contextPatch.ts +17 -17
- package/src/internal/effect/circular.ts +154 -159
- package/src/internal/effectable.ts +7 -7
- package/src/internal/fiber.ts +55 -59
- package/src/internal/fiberRefs.ts +1 -1
- package/src/internal/fiberRuntime.ts +426 -463
- package/src/internal/groupBy.ts +59 -62
- package/src/internal/keyedPool.ts +37 -37
- package/src/internal/layer/circular.ts +37 -37
- package/src/internal/layer.ts +235 -240
- package/src/internal/logSpan.ts +3 -5
- package/src/internal/metric/polling.ts +5 -5
- package/src/internal/metric.ts +54 -55
- package/src/internal/pool.ts +72 -72
- package/src/internal/pubsub.ts +75 -84
- package/src/internal/query.ts +25 -27
- package/src/internal/queue.ts +65 -70
- package/src/internal/random.ts +9 -9
- package/src/internal/rateLimiter.ts +30 -0
- package/src/internal/ref.ts +24 -24
- package/src/internal/reloadable.ts +11 -31
- package/src/internal/request.ts +14 -14
- package/src/internal/resource.ts +8 -8
- package/src/internal/runtime.ts +21 -22
- package/src/internal/schedule.ts +131 -134
- package/src/internal/scopedCache.ts +35 -32
- package/src/internal/scopedRef.ts +14 -14
- package/src/internal/sink.ts +507 -565
- package/src/internal/stm/core.ts +101 -102
- package/src/internal/stm/stm/stmState.ts +10 -10
- package/src/internal/stm/stm/tExit.ts +18 -18
- package/src/internal/stm/stm/tryCommit.ts +5 -5
- package/src/internal/stm/stm.ts +363 -374
- package/src/internal/stm/tArray.ts +92 -92
- package/src/internal/stm/tDeferred.ts +16 -14
- package/src/internal/stm/tMap.ts +83 -84
- package/src/internal/stm/tPriorityQueue.ts +24 -25
- package/src/internal/stm/tPubSub.ts +37 -38
- package/src/internal/stm/tQueue.ts +44 -48
- package/src/internal/stm/tRandom.ts +18 -18
- package/src/internal/stm/tReentrantLock.ts +28 -28
- package/src/internal/stm/tRef.ts +25 -25
- package/src/internal/stm/tSemaphore.ts +16 -16
- package/src/internal/stm/tSet.ts +51 -52
- package/src/internal/stream/debounceState.ts +7 -7
- package/src/internal/stream/emit.ts +4 -4
- package/src/internal/stream/handoff.ts +19 -19
- package/src/internal/stream/handoffSignal.ts +4 -4
- package/src/internal/stream/pull.ts +10 -11
- package/src/internal/stream.ts +1770 -1788
- package/src/internal/subscriptionRef.ts +17 -17
- package/src/internal/supervisor.ts +49 -56
- package/src/internal/synchronizedRef.ts +27 -27
- package/src/internal/take.ts +61 -61
- package/src/internal/testing/sleep.ts +2 -2
- package/src/internal/testing/suspendedWarningData.ts +2 -2
- package/src/internal/testing/warningData.ts +2 -2
- package/src/internal/tracer.ts +2 -6
- package/src/internal/version.ts +1 -1
package/src/Pool.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 2.0.0
|
|
3
3
|
*/
|
|
4
|
-
import type * as Data from "./Data.js"
|
|
5
4
|
import type * as Duration from "./Duration.js"
|
|
6
5
|
import type * as Effect from "./Effect.js"
|
|
7
6
|
import * as internal from "./internal/pool.js"
|
|
@@ -22,27 +21,27 @@ export const PoolTypeId: unique symbol = internal.PoolTypeId
|
|
|
22
21
|
export type PoolTypeId = typeof PoolTypeId
|
|
23
22
|
|
|
24
23
|
/**
|
|
25
|
-
* A `Pool<
|
|
24
|
+
* A `Pool<A, E>` is a pool of items of type `A`, each of which may be
|
|
26
25
|
* associated with the acquisition and release of resources. An attempt to get
|
|
27
26
|
* an item `A` from a pool may fail with an error of type `E`.
|
|
28
27
|
*
|
|
29
28
|
* @since 2.0.0
|
|
30
29
|
* @category models
|
|
31
30
|
*/
|
|
32
|
-
export interface Pool<out
|
|
31
|
+
export interface Pool<in out A, out E = never> extends Pool.Variance<A, E>, Pipeable {
|
|
33
32
|
/**
|
|
34
33
|
* Retrieves an item from the pool in a scoped effect. Note that if
|
|
35
34
|
* acquisition fails, then the returned effect will fail for that same reason.
|
|
36
35
|
* Retrying a failed acquisition attempt will repeat the acquisition attempt.
|
|
37
36
|
*/
|
|
38
|
-
readonly get: Effect.Effect<
|
|
37
|
+
readonly get: Effect.Effect<A, E, Scope.Scope>
|
|
39
38
|
|
|
40
39
|
/**
|
|
41
40
|
* Invalidates the specified item. This will cause the pool to eventually
|
|
42
41
|
* reallocate the item, although this reallocation may occur lazily rather
|
|
43
42
|
* than eagerly.
|
|
44
43
|
*/
|
|
45
|
-
invalidate(item: A): Effect.Effect<
|
|
44
|
+
invalidate(item: A): Effect.Effect<void>
|
|
46
45
|
}
|
|
47
46
|
|
|
48
47
|
/**
|
|
@@ -53,10 +52,10 @@ export declare namespace Pool {
|
|
|
53
52
|
* @since 2.0.0
|
|
54
53
|
* @category models
|
|
55
54
|
*/
|
|
56
|
-
export interface Variance<out
|
|
55
|
+
export interface Variance<in out A, out E> {
|
|
57
56
|
readonly [PoolTypeId]: {
|
|
58
|
-
readonly _E: Types.Covariant<E>
|
|
59
57
|
readonly _A: Types.Invariant<A>
|
|
58
|
+
readonly _E: Types.Covariant<E>
|
|
60
59
|
}
|
|
61
60
|
}
|
|
62
61
|
}
|
|
@@ -78,12 +77,12 @@ export const isPool: (u: unknown) => u is Pool<unknown, unknown> = internal.isPo
|
|
|
78
77
|
* @since 2.0.0
|
|
79
78
|
* @category constructors
|
|
80
79
|
*/
|
|
81
|
-
export const make: <
|
|
80
|
+
export const make: <A, E, R>(
|
|
82
81
|
options: {
|
|
83
|
-
readonly acquire: Effect.Effect<
|
|
82
|
+
readonly acquire: Effect.Effect<A, E, R>
|
|
84
83
|
readonly size: number
|
|
85
84
|
}
|
|
86
|
-
) => Effect.Effect<Scope.Scope | R
|
|
85
|
+
) => Effect.Effect<Pool<A, E>, never, Scope.Scope | R> = internal.make
|
|
87
86
|
|
|
88
87
|
/**
|
|
89
88
|
* Makes a new pool with the specified minimum and maximum sizes and time to
|
|
@@ -116,12 +115,12 @@ export const make: <R, E, A>(
|
|
|
116
115
|
* @since 2.0.0
|
|
117
116
|
* @category constructors
|
|
118
117
|
*/
|
|
119
|
-
export const makeWithTTL: <
|
|
120
|
-
readonly acquire: Effect.Effect<
|
|
118
|
+
export const makeWithTTL: <A, E, R>(options: {
|
|
119
|
+
readonly acquire: Effect.Effect<A, E, R>
|
|
121
120
|
readonly min: number
|
|
122
121
|
readonly max: number
|
|
123
122
|
readonly timeToLive: Duration.DurationInput
|
|
124
|
-
}) => Effect.Effect<Scope.Scope | R
|
|
123
|
+
}) => Effect.Effect<Pool<A, E>, never, Scope.Scope | R> = internal.makeWithTTL
|
|
125
124
|
|
|
126
125
|
/**
|
|
127
126
|
* Retrieves an item from the pool in a scoped effect. Note that if
|
|
@@ -131,7 +130,7 @@ export const makeWithTTL: <R, E, A>(options: {
|
|
|
131
130
|
* @since 2.0.0
|
|
132
131
|
* @category getters
|
|
133
132
|
*/
|
|
134
|
-
export const get: <
|
|
133
|
+
export const get: <A, E>(self: Pool<A, E>) => Effect.Effect<A, E, Scope.Scope> = internal.get
|
|
135
134
|
|
|
136
135
|
/**
|
|
137
136
|
* Invalidates the specified item. This will cause the pool to eventually
|
|
@@ -142,6 +141,6 @@ export const get: <E, A>(self: Pool<E, A>) => Effect.Effect<Scope.Scope, E, A> =
|
|
|
142
141
|
* @category combinators
|
|
143
142
|
*/
|
|
144
143
|
export const invalidate: {
|
|
145
|
-
<A>(value: A): <E>(self: Pool<
|
|
146
|
-
<
|
|
144
|
+
<A>(value: A): <E>(self: Pool<A, E>) => Effect.Effect<void, never, Scope.Scope>
|
|
145
|
+
<A, E>(self: Pool<A, E>, value: A): Effect.Effect<void, never, Scope.Scope>
|
|
147
146
|
} = internal.invalidate
|
package/src/PubSub.ts
CHANGED
|
@@ -20,20 +20,20 @@ export interface PubSub<in out A> extends Queue.Enqueue<A>, Pipeable {
|
|
|
20
20
|
* Publishes a message to the `PubSub`, returning whether the message was published
|
|
21
21
|
* to the `PubSub`.
|
|
22
22
|
*/
|
|
23
|
-
publish(value: A): Effect.Effect<
|
|
23
|
+
publish(value: A): Effect.Effect<boolean>
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Publishes all of the specified messages to the `PubSub`, returning whether they
|
|
27
27
|
* were published to the `PubSub`.
|
|
28
28
|
*/
|
|
29
|
-
publishAll(elements: Iterable<A>): Effect.Effect<
|
|
29
|
+
publishAll(elements: Iterable<A>): Effect.Effect<boolean>
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* Subscribes to receive messages from the `PubSub`. The resulting subscription can
|
|
33
33
|
* be evaluated multiple times within the scope to take a message from the `PubSub`
|
|
34
34
|
* each time.
|
|
35
35
|
*/
|
|
36
|
-
readonly subscribe: Effect.Effect<
|
|
36
|
+
readonly subscribe: Effect.Effect<Queue.Dequeue<A>, never, Scope.Scope>
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
/**
|
|
@@ -46,7 +46,7 @@ export interface PubSub<in out A> extends Queue.Enqueue<A>, Pipeable {
|
|
|
46
46
|
* @since 2.0.0
|
|
47
47
|
* @category constructors
|
|
48
48
|
*/
|
|
49
|
-
export const bounded: <A>(requestedCapacity: number) => Effect.Effect<
|
|
49
|
+
export const bounded: <A>(requestedCapacity: number) => Effect.Effect<PubSub<A>> = internal.bounded
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
52
|
* Creates a bounded `PubSub` with the dropping strategy. The `PubSub` will drop new
|
|
@@ -57,7 +57,7 @@ export const bounded: <A>(requestedCapacity: number) => Effect.Effect<never, nev
|
|
|
57
57
|
* @since 2.0.0
|
|
58
58
|
* @category constructors
|
|
59
59
|
*/
|
|
60
|
-
export const dropping: <A>(requestedCapacity: number) => Effect.Effect<
|
|
60
|
+
export const dropping: <A>(requestedCapacity: number) => Effect.Effect<PubSub<A>> = internal.dropping
|
|
61
61
|
|
|
62
62
|
/**
|
|
63
63
|
* Creates a bounded `PubSub` with the sliding strategy. The `PubSub` will add new
|
|
@@ -68,7 +68,7 @@ export const dropping: <A>(requestedCapacity: number) => Effect.Effect<never, ne
|
|
|
68
68
|
* @since 2.0.0
|
|
69
69
|
* @category constructors
|
|
70
70
|
*/
|
|
71
|
-
export const sliding: <A>(requestedCapacity: number) => Effect.Effect<
|
|
71
|
+
export const sliding: <A>(requestedCapacity: number) => Effect.Effect<PubSub<A>> = internal.sliding
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
74
|
* Creates an unbounded `PubSub`.
|
|
@@ -76,7 +76,7 @@ export const sliding: <A>(requestedCapacity: number) => Effect.Effect<never, nev
|
|
|
76
76
|
* @since 2.0.0
|
|
77
77
|
* @category constructors
|
|
78
78
|
*/
|
|
79
|
-
export const unbounded: <A>() => Effect.Effect<
|
|
79
|
+
export const unbounded: <A>() => Effect.Effect<PubSub<A>> = internal.unbounded
|
|
80
80
|
|
|
81
81
|
/**
|
|
82
82
|
* Returns the number of elements the queue can hold.
|
|
@@ -94,7 +94,7 @@ export const capacity: <A>(self: PubSub<A>) => number = internal.capacity
|
|
|
94
94
|
* @since 2.0.0
|
|
95
95
|
* @category getters
|
|
96
96
|
*/
|
|
97
|
-
export const size: <A>(self: PubSub<A>) => Effect.Effect<
|
|
97
|
+
export const size: <A>(self: PubSub<A>) => Effect.Effect<number> = internal.size
|
|
98
98
|
|
|
99
99
|
/**
|
|
100
100
|
* Returns `true` if the `Queue` contains at least one element, `false`
|
|
@@ -103,7 +103,7 @@ export const size: <A>(self: PubSub<A>) => Effect.Effect<never, never, number> =
|
|
|
103
103
|
* @since 2.0.0
|
|
104
104
|
* @category getters
|
|
105
105
|
*/
|
|
106
|
-
export const isFull: <A>(self: PubSub<A>) => Effect.Effect<
|
|
106
|
+
export const isFull: <A>(self: PubSub<A>) => Effect.Effect<boolean> = internal.isFull
|
|
107
107
|
|
|
108
108
|
/**
|
|
109
109
|
* Returns `true` if the `Queue` contains zero elements, `false` otherwise.
|
|
@@ -111,7 +111,7 @@ export const isFull: <A>(self: PubSub<A>) => Effect.Effect<never, never, boolean
|
|
|
111
111
|
* @since 2.0.0
|
|
112
112
|
* @category getters
|
|
113
113
|
*/
|
|
114
|
-
export const isEmpty: <A>(self: PubSub<A>) => Effect.Effect<
|
|
114
|
+
export const isEmpty: <A>(self: PubSub<A>) => Effect.Effect<boolean> = internal.isEmpty
|
|
115
115
|
|
|
116
116
|
/**
|
|
117
117
|
* Interrupts any fibers that are suspended on `offer` or `take`. Future calls
|
|
@@ -120,7 +120,7 @@ export const isEmpty: <A>(self: PubSub<A>) => Effect.Effect<never, never, boolea
|
|
|
120
120
|
* @since 2.0.0
|
|
121
121
|
* @category utils
|
|
122
122
|
*/
|
|
123
|
-
export const shutdown: <A>(self: PubSub<A>) => Effect.Effect<
|
|
123
|
+
export const shutdown: <A>(self: PubSub<A>) => Effect.Effect<void> = internal.shutdown
|
|
124
124
|
|
|
125
125
|
/**
|
|
126
126
|
* Returns `true` if `shutdown` has been called, otherwise returns `false`.
|
|
@@ -128,7 +128,7 @@ export const shutdown: <A>(self: PubSub<A>) => Effect.Effect<never, never, void>
|
|
|
128
128
|
* @since 2.0.0
|
|
129
129
|
* @category getters
|
|
130
130
|
*/
|
|
131
|
-
export const isShutdown: <A>(self: PubSub<A>) => Effect.Effect<
|
|
131
|
+
export const isShutdown: <A>(self: PubSub<A>) => Effect.Effect<boolean> = internal.isShutdown
|
|
132
132
|
|
|
133
133
|
/**
|
|
134
134
|
* Waits until the queue is shutdown. The `Effect` returned by this method will
|
|
@@ -138,7 +138,7 @@ export const isShutdown: <A>(self: PubSub<A>) => Effect.Effect<never, never, boo
|
|
|
138
138
|
* @since 2.0.0
|
|
139
139
|
* @category utils
|
|
140
140
|
*/
|
|
141
|
-
export const awaitShutdown: <A>(self: PubSub<A>) => Effect.Effect<
|
|
141
|
+
export const awaitShutdown: <A>(self: PubSub<A>) => Effect.Effect<void> = internal.awaitShutdown
|
|
142
142
|
|
|
143
143
|
/**
|
|
144
144
|
* Publishes a message to the `PubSub`, returning whether the message was published
|
|
@@ -148,8 +148,8 @@ export const awaitShutdown: <A>(self: PubSub<A>) => Effect.Effect<never, never,
|
|
|
148
148
|
* @category utils
|
|
149
149
|
*/
|
|
150
150
|
export const publish: {
|
|
151
|
-
<A>(value: A): (self: PubSub<A>) => Effect.Effect<
|
|
152
|
-
<A>(self: PubSub<A>, value: A): Effect.Effect<
|
|
151
|
+
<A>(value: A): (self: PubSub<A>) => Effect.Effect<boolean>
|
|
152
|
+
<A>(self: PubSub<A>, value: A): Effect.Effect<boolean>
|
|
153
153
|
} = internal.publish
|
|
154
154
|
|
|
155
155
|
/**
|
|
@@ -160,8 +160,8 @@ export const publish: {
|
|
|
160
160
|
* @category utils
|
|
161
161
|
*/
|
|
162
162
|
export const publishAll: {
|
|
163
|
-
<A>(elements: Iterable<A>): (self: PubSub<A>) => Effect.Effect<
|
|
164
|
-
<A>(self: PubSub<A>, elements: Iterable<A>): Effect.Effect<
|
|
163
|
+
<A>(elements: Iterable<A>): (self: PubSub<A>) => Effect.Effect<boolean>
|
|
164
|
+
<A>(self: PubSub<A>, elements: Iterable<A>): Effect.Effect<boolean>
|
|
165
165
|
} = internal.publishAll
|
|
166
166
|
|
|
167
167
|
/**
|
|
@@ -172,4 +172,4 @@ export const publishAll: {
|
|
|
172
172
|
* @since 2.0.0
|
|
173
173
|
* @category utils
|
|
174
174
|
*/
|
|
175
|
-
export const subscribe: <A>(self: PubSub<A>) => Effect.Effect<
|
|
175
|
+
export const subscribe: <A>(self: PubSub<A>) => Effect.Effect<Queue.Dequeue<A>, never, Scope.Scope> = internal.subscribe
|
package/src/Queue.ts
CHANGED
|
@@ -67,9 +67,9 @@ export interface Queue<in out A> extends Enqueue<A>, Dequeue<A>, Pipeable {
|
|
|
67
67
|
/** @internal */
|
|
68
68
|
readonly queue: BackingQueue<A>
|
|
69
69
|
/** @internal */
|
|
70
|
-
readonly takers: MutableQueue.MutableQueue<Deferred.Deferred<
|
|
70
|
+
readonly takers: MutableQueue.MutableQueue<Deferred.Deferred<A>>
|
|
71
71
|
/** @internal */
|
|
72
|
-
readonly shutdownHook: Deferred.Deferred<
|
|
72
|
+
readonly shutdownHook: Deferred.Deferred<void>
|
|
73
73
|
/** @internal */
|
|
74
74
|
readonly shutdownFlag: MutableRef.MutableRef<boolean>
|
|
75
75
|
/** @internal */
|
|
@@ -84,7 +84,7 @@ export interface Enqueue<in A> extends Queue.EnqueueVariance<A>, BaseQueue, Pipe
|
|
|
84
84
|
/**
|
|
85
85
|
* Places one value in the queue.
|
|
86
86
|
*/
|
|
87
|
-
offer(value: A): Effect.Effect<
|
|
87
|
+
offer(value: A): Effect.Effect<boolean>
|
|
88
88
|
|
|
89
89
|
/**
|
|
90
90
|
* Places one value in the queue when possible without needing the fiber runtime.
|
|
@@ -106,7 +106,7 @@ export interface Enqueue<in A> extends Queue.EnqueueVariance<A>, BaseQueue, Pipe
|
|
|
106
106
|
* For Dropping Queue: uses `Dropping` Strategy, It places the values in the
|
|
107
107
|
* queue but if there is no room it will not enqueue them and return false.
|
|
108
108
|
*/
|
|
109
|
-
offerAll(iterable: Iterable<A>): Effect.Effect<
|
|
109
|
+
offerAll(iterable: Iterable<A>): Effect.Effect<boolean>
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
/**
|
|
@@ -118,25 +118,25 @@ export interface Dequeue<out A> extends Queue.DequeueVariance<A>, BaseQueue, Pip
|
|
|
118
118
|
* Takes the oldest value in the queue. If the queue is empty, this will return
|
|
119
119
|
* a computation that resumes when an item has been added to the queue.
|
|
120
120
|
*/
|
|
121
|
-
readonly take: Effect.Effect<
|
|
121
|
+
readonly take: Effect.Effect<A>
|
|
122
122
|
|
|
123
123
|
/**
|
|
124
124
|
* Takes all the values in the queue and returns the values. If the queue is
|
|
125
125
|
* empty returns an empty collection.
|
|
126
126
|
*/
|
|
127
|
-
readonly takeAll: Effect.Effect<
|
|
127
|
+
readonly takeAll: Effect.Effect<Chunk.Chunk<A>>
|
|
128
128
|
|
|
129
129
|
/**
|
|
130
130
|
* Takes up to max number of values from the queue.
|
|
131
131
|
*/
|
|
132
|
-
takeUpTo(max: number): Effect.Effect<
|
|
132
|
+
takeUpTo(max: number): Effect.Effect<Chunk.Chunk<A>>
|
|
133
133
|
|
|
134
134
|
/**
|
|
135
135
|
* Takes a number of elements from the queue between the specified minimum and
|
|
136
136
|
* maximum. If there are fewer than the minimum number of elements available,
|
|
137
137
|
* suspends until at least the minimum number of elements have been collected.
|
|
138
138
|
*/
|
|
139
|
-
takeBetween(min: number, max: number): Effect.Effect<
|
|
139
|
+
takeBetween(min: number, max: number): Effect.Effect<Chunk.Chunk<A>>
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
/**
|
|
@@ -161,7 +161,7 @@ export interface BaseQueue {
|
|
|
161
161
|
* in the queue. This may be negative if fibers are suspended waiting for
|
|
162
162
|
* elements to be added to the queue.
|
|
163
163
|
*/
|
|
164
|
-
readonly size: Effect.Effect<
|
|
164
|
+
readonly size: Effect.Effect<number>
|
|
165
165
|
|
|
166
166
|
/**
|
|
167
167
|
* Retrieves the size of the queue, which is equal to the number of elements
|
|
@@ -174,30 +174,30 @@ export interface BaseQueue {
|
|
|
174
174
|
* Returns `true` if the `Queue` contains at least one element, `false`
|
|
175
175
|
* otherwise.
|
|
176
176
|
*/
|
|
177
|
-
readonly isFull: Effect.Effect<
|
|
177
|
+
readonly isFull: Effect.Effect<boolean>
|
|
178
178
|
|
|
179
179
|
/**
|
|
180
180
|
* Returns `true` if the `Queue` contains zero elements, `false` otherwise.
|
|
181
181
|
*/
|
|
182
|
-
readonly isEmpty: Effect.Effect<
|
|
182
|
+
readonly isEmpty: Effect.Effect<boolean>
|
|
183
183
|
|
|
184
184
|
/**
|
|
185
185
|
* Interrupts any fibers that are suspended on `offer` or `take`. Future calls
|
|
186
186
|
* to `offer*` and `take*` will be interrupted immediately.
|
|
187
187
|
*/
|
|
188
|
-
readonly shutdown: Effect.Effect<
|
|
188
|
+
readonly shutdown: Effect.Effect<void>
|
|
189
189
|
|
|
190
190
|
/**
|
|
191
191
|
* Returns `true` if `shutdown` has been called, otherwise returns `false`.
|
|
192
192
|
*/
|
|
193
|
-
readonly isShutdown: Effect.Effect<
|
|
193
|
+
readonly isShutdown: Effect.Effect<boolean>
|
|
194
194
|
|
|
195
195
|
/**
|
|
196
196
|
* Waits until the queue is shutdown. The `Effect` returned by this method will
|
|
197
197
|
* not resume until the queue has been shutdown. If the queue is already
|
|
198
198
|
* shutdown, the `Effect` will resume right away.
|
|
199
199
|
*/
|
|
200
|
-
readonly awaitShutdown: Effect.Effect<
|
|
200
|
+
readonly awaitShutdown: Effect.Effect<void>
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
/**
|
|
@@ -215,7 +215,7 @@ export interface Strategy<in out A> extends Queue.StrategyVariance<A> {
|
|
|
215
215
|
* Determines how the `Queue.Strategy` should shut down when the `Queue` is
|
|
216
216
|
* shut down.
|
|
217
217
|
*/
|
|
218
|
-
readonly shutdown: Effect.Effect<
|
|
218
|
+
readonly shutdown: Effect.Effect<void>
|
|
219
219
|
|
|
220
220
|
/**
|
|
221
221
|
* Determines the behavior of the `Queue.Strategy` when there are surplus
|
|
@@ -225,16 +225,16 @@ export interface Strategy<in out A> extends Queue.StrategyVariance<A> {
|
|
|
225
225
|
handleSurplus(
|
|
226
226
|
iterable: Iterable<A>,
|
|
227
227
|
queue: BackingQueue<A>,
|
|
228
|
-
takers: MutableQueue.MutableQueue<Deferred.Deferred<
|
|
228
|
+
takers: MutableQueue.MutableQueue<Deferred.Deferred<A>>,
|
|
229
229
|
isShutdown: MutableRef.MutableRef<boolean>
|
|
230
|
-
): Effect.Effect<
|
|
230
|
+
): Effect.Effect<boolean>
|
|
231
231
|
|
|
232
232
|
/**
|
|
233
233
|
* It is called when the backing queue is empty but there are some
|
|
234
234
|
* takers that can be completed
|
|
235
235
|
*/
|
|
236
236
|
onCompleteTakersWithEmptyQueue(
|
|
237
|
-
takers: MutableQueue.MutableQueue<Deferred.Deferred<
|
|
237
|
+
takers: MutableQueue.MutableQueue<Deferred.Deferred<A>>
|
|
238
238
|
): void
|
|
239
239
|
|
|
240
240
|
/**
|
|
@@ -243,7 +243,7 @@ export interface Strategy<in out A> extends Queue.StrategyVariance<A> {
|
|
|
243
243
|
*/
|
|
244
244
|
unsafeOnQueueEmptySpace(
|
|
245
245
|
queue: BackingQueue<A>,
|
|
246
|
-
takers: MutableQueue.MutableQueue<Deferred.Deferred<
|
|
246
|
+
takers: MutableQueue.MutableQueue<Deferred.Deferred<A>>
|
|
247
247
|
): void
|
|
248
248
|
}
|
|
249
249
|
|
|
@@ -377,8 +377,7 @@ export const slidingStrategy: <A>() => Strategy<A> = internal.slidingStrategy
|
|
|
377
377
|
* @since 2.0.0
|
|
378
378
|
* @category constructors
|
|
379
379
|
*/
|
|
380
|
-
export const make: <A>(queue: BackingQueue<A>, strategy: Strategy<A>) => Effect.Effect<
|
|
381
|
-
internal.make
|
|
380
|
+
export const make: <A>(queue: BackingQueue<A>, strategy: Strategy<A>) => Effect.Effect<Queue<A>> = internal.make
|
|
382
381
|
|
|
383
382
|
/**
|
|
384
383
|
* Makes a new bounded `Queue`. When the capacity of the queue is reached, any
|
|
@@ -392,7 +391,7 @@ export const make: <A>(queue: BackingQueue<A>, strategy: Strategy<A>) => Effect.
|
|
|
392
391
|
* @since 2.0.0
|
|
393
392
|
* @category constructors
|
|
394
393
|
*/
|
|
395
|
-
export const bounded: <A>(requestedCapacity: number) => Effect.Effect<
|
|
394
|
+
export const bounded: <A>(requestedCapacity: number) => Effect.Effect<Queue<A>> = internal.bounded
|
|
396
395
|
|
|
397
396
|
/**
|
|
398
397
|
* Makes a new bounded `Queue` with the dropping strategy.
|
|
@@ -407,7 +406,7 @@ export const bounded: <A>(requestedCapacity: number) => Effect.Effect<never, nev
|
|
|
407
406
|
* @since 2.0.0
|
|
408
407
|
* @category constructors
|
|
409
408
|
*/
|
|
410
|
-
export const dropping: <A>(requestedCapacity: number) => Effect.Effect<
|
|
409
|
+
export const dropping: <A>(requestedCapacity: number) => Effect.Effect<Queue<A>> = internal.dropping
|
|
411
410
|
|
|
412
411
|
/**
|
|
413
412
|
* Makes a new bounded `Queue` with the sliding strategy.
|
|
@@ -422,7 +421,7 @@ export const dropping: <A>(requestedCapacity: number) => Effect.Effect<never, ne
|
|
|
422
421
|
* @since 2.0.0
|
|
423
422
|
* @category constructors
|
|
424
423
|
*/
|
|
425
|
-
export const sliding: <A>(requestedCapacity: number) => Effect.Effect<
|
|
424
|
+
export const sliding: <A>(requestedCapacity: number) => Effect.Effect<Queue<A>> = internal.sliding
|
|
426
425
|
|
|
427
426
|
/**
|
|
428
427
|
* Creates a new unbounded `Queue`.
|
|
@@ -430,7 +429,7 @@ export const sliding: <A>(requestedCapacity: number) => Effect.Effect<never, nev
|
|
|
430
429
|
* @since 2.0.0
|
|
431
430
|
* @category constructors
|
|
432
431
|
*/
|
|
433
|
-
export const unbounded: <A>() => Effect.Effect<
|
|
432
|
+
export const unbounded: <A>() => Effect.Effect<Queue<A>> = internal.unbounded
|
|
434
433
|
|
|
435
434
|
/**
|
|
436
435
|
* Returns the number of elements the queue can hold.
|
|
@@ -448,7 +447,7 @@ export const capacity: <A>(self: Dequeue<A> | Enqueue<A>) => number = internal.c
|
|
|
448
447
|
* @since 2.0.0
|
|
449
448
|
* @category getters
|
|
450
449
|
*/
|
|
451
|
-
export const size: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<
|
|
450
|
+
export const size: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<number> = internal.size
|
|
452
451
|
|
|
453
452
|
/**
|
|
454
453
|
* Returns `true` if the `Queue` contains zero elements, `false` otherwise.
|
|
@@ -456,7 +455,7 @@ export const size: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<never, ne
|
|
|
456
455
|
* @since 2.0.0
|
|
457
456
|
* @category getters
|
|
458
457
|
*/
|
|
459
|
-
export const isEmpty: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<
|
|
458
|
+
export const isEmpty: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<boolean> = internal.isEmpty
|
|
460
459
|
|
|
461
460
|
/**
|
|
462
461
|
* Returns `true` if the `Queue` contains at least one element, `false`
|
|
@@ -465,7 +464,7 @@ export const isEmpty: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<never,
|
|
|
465
464
|
* @since 2.0.0
|
|
466
465
|
* @category getters
|
|
467
466
|
*/
|
|
468
|
-
export const isFull: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<
|
|
467
|
+
export const isFull: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<boolean> = internal.isFull
|
|
469
468
|
|
|
470
469
|
/**
|
|
471
470
|
* Returns `true` if `shutdown` has been called, otherwise returns `false`.
|
|
@@ -473,8 +472,7 @@ export const isFull: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<never,
|
|
|
473
472
|
* @since 2.0.0
|
|
474
473
|
* @category getters
|
|
475
474
|
*/
|
|
476
|
-
export const isShutdown: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<
|
|
477
|
-
internal.isShutdown
|
|
475
|
+
export const isShutdown: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<boolean> = internal.isShutdown
|
|
478
476
|
|
|
479
477
|
/**
|
|
480
478
|
* Waits until the queue is shutdown. The `Effect` returned by this method will
|
|
@@ -484,8 +482,7 @@ export const isShutdown: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<nev
|
|
|
484
482
|
* @since 2.0.0
|
|
485
483
|
* @category utils
|
|
486
484
|
*/
|
|
487
|
-
export const awaitShutdown: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<
|
|
488
|
-
internal.awaitShutdown
|
|
485
|
+
export const awaitShutdown: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<void> = internal.awaitShutdown
|
|
489
486
|
|
|
490
487
|
/**
|
|
491
488
|
* Interrupts any fibers that are suspended on `offer` or `take`. Future calls
|
|
@@ -494,7 +491,7 @@ export const awaitShutdown: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<
|
|
|
494
491
|
* @since 2.0.0
|
|
495
492
|
* @category utils
|
|
496
493
|
*/
|
|
497
|
-
export const shutdown: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<
|
|
494
|
+
export const shutdown: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<void> = internal.shutdown
|
|
498
495
|
|
|
499
496
|
/**
|
|
500
497
|
* Places one value in the queue.
|
|
@@ -503,8 +500,8 @@ export const shutdown: <A>(self: Dequeue<A> | Enqueue<A>) => Effect.Effect<never
|
|
|
503
500
|
* @category utils
|
|
504
501
|
*/
|
|
505
502
|
export const offer: {
|
|
506
|
-
<A>(value: A): (self: Enqueue<A>) => Effect.Effect<
|
|
507
|
-
<A>(self: Enqueue<A>, value: A): Effect.Effect<
|
|
503
|
+
<A>(value: A): (self: Enqueue<A>) => Effect.Effect<boolean>
|
|
504
|
+
<A>(self: Enqueue<A>, value: A): Effect.Effect<boolean>
|
|
508
505
|
} = internal.offer
|
|
509
506
|
|
|
510
507
|
/**
|
|
@@ -537,8 +534,8 @@ export const unsafeOffer: {
|
|
|
537
534
|
* @category utils
|
|
538
535
|
*/
|
|
539
536
|
export const offerAll: {
|
|
540
|
-
<A>(iterable: Iterable<A>): (self: Enqueue<A>) => Effect.Effect<
|
|
541
|
-
<A>(self: Enqueue<A>, iterable: Iterable<A>): Effect.Effect<
|
|
537
|
+
<A>(iterable: Iterable<A>): (self: Enqueue<A>) => Effect.Effect<boolean>
|
|
538
|
+
<A>(self: Enqueue<A>, iterable: Iterable<A>): Effect.Effect<boolean>
|
|
542
539
|
} = internal.offerAll
|
|
543
540
|
|
|
544
541
|
/**
|
|
@@ -548,7 +545,7 @@ export const offerAll: {
|
|
|
548
545
|
* @since 2.0.0
|
|
549
546
|
* @category utils
|
|
550
547
|
*/
|
|
551
|
-
export const poll: <A>(self: Dequeue<A>) => Effect.Effect<
|
|
548
|
+
export const poll: <A>(self: Dequeue<A>) => Effect.Effect<Option.Option<A>> = internal.poll
|
|
552
549
|
|
|
553
550
|
/**
|
|
554
551
|
* Takes the oldest value in the queue. If the queue is empty, this will return
|
|
@@ -557,7 +554,7 @@ export const poll: <A>(self: Dequeue<A>) => Effect.Effect<never, never, Option.O
|
|
|
557
554
|
* @since 2.0.0
|
|
558
555
|
* @category utils
|
|
559
556
|
*/
|
|
560
|
-
export const take: <A>(self: Dequeue<A>) => Effect.Effect<
|
|
557
|
+
export const take: <A>(self: Dequeue<A>) => Effect.Effect<A> = internal.take
|
|
561
558
|
|
|
562
559
|
/**
|
|
563
560
|
* Takes all the values in the queue and returns the values. If the queue is
|
|
@@ -566,7 +563,7 @@ export const take: <A>(self: Dequeue<A>) => Effect.Effect<never, never, A> = int
|
|
|
566
563
|
* @since 2.0.0
|
|
567
564
|
* @category utils
|
|
568
565
|
*/
|
|
569
|
-
export const takeAll: <A>(self: Dequeue<A>) => Effect.Effect<
|
|
566
|
+
export const takeAll: <A>(self: Dequeue<A>) => Effect.Effect<Chunk.Chunk<A>> = internal.takeAll
|
|
570
567
|
|
|
571
568
|
/**
|
|
572
569
|
* Takes up to max number of values from the queue.
|
|
@@ -575,8 +572,8 @@ export const takeAll: <A>(self: Dequeue<A>) => Effect.Effect<never, never, Chunk
|
|
|
575
572
|
* @category utils
|
|
576
573
|
*/
|
|
577
574
|
export const takeUpTo: {
|
|
578
|
-
(max: number): <A>(self: Dequeue<A>) => Effect.Effect<
|
|
579
|
-
<A>(self: Dequeue<A>, max: number): Effect.Effect<
|
|
575
|
+
(max: number): <A>(self: Dequeue<A>) => Effect.Effect<Chunk.Chunk<A>>
|
|
576
|
+
<A>(self: Dequeue<A>, max: number): Effect.Effect<Chunk.Chunk<A>>
|
|
580
577
|
} = internal.takeUpTo
|
|
581
578
|
|
|
582
579
|
/**
|
|
@@ -588,8 +585,8 @@ export const takeUpTo: {
|
|
|
588
585
|
* @category utils
|
|
589
586
|
*/
|
|
590
587
|
export const takeBetween: {
|
|
591
|
-
(min: number, max: number): <A>(self: Dequeue<A>) => Effect.Effect<
|
|
592
|
-
<A>(self: Dequeue<A>, min: number, max: number): Effect.Effect<
|
|
588
|
+
(min: number, max: number): <A>(self: Dequeue<A>) => Effect.Effect<Chunk.Chunk<A>>
|
|
589
|
+
<A>(self: Dequeue<A>, min: number, max: number): Effect.Effect<Chunk.Chunk<A>>
|
|
593
590
|
} = internal.takeBetween
|
|
594
591
|
|
|
595
592
|
/**
|
|
@@ -601,6 +598,6 @@ export const takeBetween: {
|
|
|
601
598
|
* @category utils
|
|
602
599
|
*/
|
|
603
600
|
export const takeN: {
|
|
604
|
-
(n: number): <A>(self: Dequeue<A>) => Effect.Effect<
|
|
605
|
-
<A>(self: Dequeue<A>, n: number): Effect.Effect<
|
|
601
|
+
(n: number): <A>(self: Dequeue<A>) => Effect.Effect<Chunk.Chunk<A>>
|
|
602
|
+
<A>(self: Dequeue<A>, n: number): Effect.Effect<Chunk.Chunk<A>>
|
|
606
603
|
} = internal.takeN
|
package/src/Random.ts
CHANGED
|
@@ -27,29 +27,29 @@ export interface Random {
|
|
|
27
27
|
/**
|
|
28
28
|
* Returns the next numeric value from the pseudo-random number generator.
|
|
29
29
|
*/
|
|
30
|
-
readonly next: Effect.Effect<
|
|
30
|
+
readonly next: Effect.Effect<number>
|
|
31
31
|
/**
|
|
32
32
|
* Returns the next boolean value from the pseudo-random number generator.
|
|
33
33
|
*/
|
|
34
|
-
readonly nextBoolean: Effect.Effect<
|
|
34
|
+
readonly nextBoolean: Effect.Effect<boolean>
|
|
35
35
|
/**
|
|
36
36
|
* Returns the next integer value from the pseudo-random number generator.
|
|
37
37
|
*/
|
|
38
|
-
readonly nextInt: Effect.Effect<
|
|
38
|
+
readonly nextInt: Effect.Effect<number>
|
|
39
39
|
/**
|
|
40
40
|
* Returns the next numeric value in the specified range from the
|
|
41
41
|
* pseudo-random number generator.
|
|
42
42
|
*/
|
|
43
|
-
nextRange(min: number, max: number): Effect.Effect<
|
|
43
|
+
nextRange(min: number, max: number): Effect.Effect<number>
|
|
44
44
|
/**
|
|
45
45
|
* Returns the next integer value in the specified range from the
|
|
46
46
|
* pseudo-random number generator.
|
|
47
47
|
*/
|
|
48
|
-
nextIntBetween(min: number, max: number): Effect.Effect<
|
|
48
|
+
nextIntBetween(min: number, max: number): Effect.Effect<number>
|
|
49
49
|
/**
|
|
50
50
|
* Uses the pseudo-random number generator to shuffle the specified iterable.
|
|
51
51
|
*/
|
|
52
|
-
shuffle<A>(elements: Iterable<A>): Effect.Effect<
|
|
52
|
+
shuffle<A>(elements: Iterable<A>): Effect.Effect<Chunk.Chunk<A>>
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
/**
|
|
@@ -58,7 +58,7 @@ export interface Random {
|
|
|
58
58
|
* @since 2.0.0
|
|
59
59
|
* @category constructors
|
|
60
60
|
*/
|
|
61
|
-
export const next: Effect.Effect<
|
|
61
|
+
export const next: Effect.Effect<number> = defaultServices.next
|
|
62
62
|
|
|
63
63
|
/**
|
|
64
64
|
* Returns the next integer value from the pseudo-random number generator.
|
|
@@ -66,7 +66,7 @@ export const next: Effect.Effect<never, never, number> = defaultServices.next
|
|
|
66
66
|
* @since 2.0.0
|
|
67
67
|
* @category constructors
|
|
68
68
|
*/
|
|
69
|
-
export const nextInt: Effect.Effect<
|
|
69
|
+
export const nextInt: Effect.Effect<number> = defaultServices.nextInt
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* Returns the next boolean value from the pseudo-random number generator.
|
|
@@ -74,7 +74,7 @@ export const nextInt: Effect.Effect<never, never, number> = defaultServices.next
|
|
|
74
74
|
* @since 2.0.0
|
|
75
75
|
* @category constructors
|
|
76
76
|
*/
|
|
77
|
-
export const nextBoolean: Effect.Effect<
|
|
77
|
+
export const nextBoolean: Effect.Effect<boolean> = defaultServices.nextBoolean
|
|
78
78
|
|
|
79
79
|
/**
|
|
80
80
|
* Returns the next numeric value in the specified range from the
|
|
@@ -83,7 +83,7 @@ export const nextBoolean: Effect.Effect<never, never, boolean> = defaultServices
|
|
|
83
83
|
* @since 2.0.0
|
|
84
84
|
* @category constructors
|
|
85
85
|
*/
|
|
86
|
-
export const nextRange: (min: number, max: number) => Effect.Effect<
|
|
86
|
+
export const nextRange: (min: number, max: number) => Effect.Effect<number> = defaultServices.nextRange
|
|
87
87
|
|
|
88
88
|
/**
|
|
89
89
|
* Returns the next integer value in the specified range from the
|
|
@@ -92,8 +92,7 @@ export const nextRange: (min: number, max: number) => Effect.Effect<never, never
|
|
|
92
92
|
* @since 2.0.0
|
|
93
93
|
* @category constructors
|
|
94
94
|
*/
|
|
95
|
-
export const nextIntBetween: (min: number, max: number) => Effect.Effect<
|
|
96
|
-
defaultServices.nextIntBetween
|
|
95
|
+
export const nextIntBetween: (min: number, max: number) => Effect.Effect<number> = defaultServices.nextIntBetween
|
|
97
96
|
|
|
98
97
|
/**
|
|
99
98
|
* Uses the pseudo-random number generator to shuffle the specified iterable.
|
|
@@ -101,8 +100,7 @@ export const nextIntBetween: (min: number, max: number) => Effect.Effect<never,
|
|
|
101
100
|
* @since 2.0.0
|
|
102
101
|
* @category constructors
|
|
103
102
|
*/
|
|
104
|
-
export const shuffle: <A>(elements: Iterable<A>) => Effect.Effect<
|
|
105
|
-
defaultServices.shuffle
|
|
103
|
+
export const shuffle: <A>(elements: Iterable<A>) => Effect.Effect<Chunk.Chunk<A>> = defaultServices.shuffle
|
|
106
104
|
|
|
107
105
|
/**
|
|
108
106
|
* Retreives the `Random` service from the context and uses it to run the
|
|
@@ -111,5 +109,5 @@ export const shuffle: <A>(elements: Iterable<A>) => Effect.Effect<never, never,
|
|
|
111
109
|
* @since 2.0.0
|
|
112
110
|
* @category constructors
|
|
113
111
|
*/
|
|
114
|
-
export const randomWith: <
|
|
112
|
+
export const randomWith: <A, E, R>(f: (random: Random) => Effect.Effect<A, E, R>) => Effect.Effect<A, E, R> =
|
|
115
113
|
defaultServices.randomWith
|