effect 2.2.5 → 2.3.1
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 +47 -47
- 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 +47 -47
- 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/Sink.ts
CHANGED
|
@@ -36,16 +36,18 @@ export const SinkTypeId: unique symbol = internal.SinkTypeId
|
|
|
36
36
|
export type SinkTypeId = typeof SinkTypeId
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
|
-
* A `Sink<
|
|
39
|
+
* A `Sink<A, In, L, E, R>` is used to consume elements produced by a `Stream`.
|
|
40
40
|
* You can think of a sink as a function that will consume a variable amount of
|
|
41
41
|
* `In` elements (could be 0, 1, or many), might fail with an error of type `E`,
|
|
42
|
-
* and will eventually yield a value of type `
|
|
42
|
+
* and will eventually yield a value of type `A` together with a remainder of
|
|
43
43
|
* type `L` (i.e. any leftovers).
|
|
44
44
|
*
|
|
45
45
|
* @since 2.0.0
|
|
46
46
|
* @category models
|
|
47
47
|
*/
|
|
48
|
-
export interface Sink<out
|
|
48
|
+
export interface Sink<out A, in In = unknown, out L = never, out E = never, out R = never>
|
|
49
|
+
extends Sink.Variance<A, In, L, E, R>, Pipeable
|
|
50
|
+
{}
|
|
49
51
|
|
|
50
52
|
/**
|
|
51
53
|
* @since 2.0.0
|
|
@@ -54,13 +56,13 @@ export interface Sink<out R, out E, in In, out L, out Z> extends Sink.Variance<R
|
|
|
54
56
|
export interface SinkUnify<A extends { [Unify.typeSymbol]?: any }> extends Effect.EffectUnify<A> {
|
|
55
57
|
Sink?: () => A[Unify.typeSymbol] extends
|
|
56
58
|
| Sink<
|
|
57
|
-
infer
|
|
58
|
-
infer E,
|
|
59
|
+
infer A,
|
|
59
60
|
infer In,
|
|
60
61
|
infer L,
|
|
61
|
-
infer
|
|
62
|
+
infer E,
|
|
63
|
+
infer R
|
|
62
64
|
>
|
|
63
|
-
| infer _ ? Sink<
|
|
65
|
+
| infer _ ? Sink<A, In, L, E, R>
|
|
64
66
|
: never
|
|
65
67
|
}
|
|
66
68
|
|
|
@@ -77,7 +79,7 @@ export interface SinkUnifyIgnore extends Effect.EffectUnifyIgnore {
|
|
|
77
79
|
* @category models
|
|
78
80
|
*/
|
|
79
81
|
declare module "./Effect.js" {
|
|
80
|
-
interface Effect<
|
|
82
|
+
interface Effect<A, E, R> extends Sink<A, unknown, never, E, R> {}
|
|
81
83
|
interface EffectUnifyIgnore {
|
|
82
84
|
Sink?: true
|
|
83
85
|
}
|
|
@@ -91,19 +93,19 @@ export declare namespace Sink {
|
|
|
91
93
|
* @since 2.0.0
|
|
92
94
|
* @category models
|
|
93
95
|
*/
|
|
94
|
-
export interface Variance<out
|
|
95
|
-
readonly [SinkTypeId]: VarianceStruct<
|
|
96
|
+
export interface Variance<out A, in In, out L, out E, out R> {
|
|
97
|
+
readonly [SinkTypeId]: VarianceStruct<A, In, L, E, R>
|
|
96
98
|
}
|
|
97
99
|
/**
|
|
98
100
|
* @since 2.0.0
|
|
99
101
|
* @category models
|
|
100
102
|
*/
|
|
101
|
-
export interface VarianceStruct<out
|
|
102
|
-
|
|
103
|
-
_E: Types.Covariant<E>
|
|
103
|
+
export interface VarianceStruct<out A, in In, out L, out E, out R> {
|
|
104
|
+
_A: Types.Covariant<A>
|
|
104
105
|
_In: Types.Contravariant<In>
|
|
105
106
|
_L: Types.Covariant<L>
|
|
106
|
-
|
|
107
|
+
_E: Types.Covariant<E>
|
|
108
|
+
_R: Types.Covariant<R>
|
|
107
109
|
}
|
|
108
110
|
}
|
|
109
111
|
|
|
@@ -114,8 +116,8 @@ export declare namespace Sink {
|
|
|
114
116
|
* @category mapping
|
|
115
117
|
*/
|
|
116
118
|
export const as: {
|
|
117
|
-
<
|
|
118
|
-
<
|
|
119
|
+
<A2>(a: A2): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In, L, E, R>
|
|
120
|
+
<A, In, L, E, R, A2>(self: Sink<A, In, L, E, R>, a: A2): Sink<A2, In, L, E, R>
|
|
119
121
|
} = internal.as
|
|
120
122
|
|
|
121
123
|
/**
|
|
@@ -124,7 +126,7 @@ export const as: {
|
|
|
124
126
|
* @since 2.0.0
|
|
125
127
|
* @category constructors
|
|
126
128
|
*/
|
|
127
|
-
export const collectAll: <In>() => Sink<
|
|
129
|
+
export const collectAll: <In>() => Sink<Chunk.Chunk<In>, In> = internal.collectAll
|
|
128
130
|
|
|
129
131
|
/**
|
|
130
132
|
* A sink that collects first `n` elements into a chunk.
|
|
@@ -132,7 +134,7 @@ export const collectAll: <In>() => Sink<never, never, In, never, Chunk.Chunk<In>
|
|
|
132
134
|
* @since 2.0.0
|
|
133
135
|
* @category constructors
|
|
134
136
|
*/
|
|
135
|
-
export const collectAllN: <In>(n: number) => Sink<
|
|
137
|
+
export const collectAllN: <In>(n: number) => Sink<Chunk.Chunk<In>, In, In> = internal.collectAllN
|
|
136
138
|
|
|
137
139
|
/**
|
|
138
140
|
* Repeatedly runs the sink and accumulates its results into a `Chunk`.
|
|
@@ -140,9 +142,9 @@ export const collectAllN: <In>(n: number) => Sink<never, never, In, In, Chunk.Ch
|
|
|
140
142
|
* @since 2.0.0
|
|
141
143
|
* @category utils
|
|
142
144
|
*/
|
|
143
|
-
export const collectAllFrom: <
|
|
144
|
-
self: Sink<
|
|
145
|
-
) => Sink<
|
|
145
|
+
export const collectAllFrom: <A, In, L extends In, E, R>(
|
|
146
|
+
self: Sink<A, In, L, E, R>
|
|
147
|
+
) => Sink<Chunk.Chunk<A>, In, L, E, R> = internal.collectAllFrom
|
|
146
148
|
|
|
147
149
|
/**
|
|
148
150
|
* A sink that collects all of its inputs into a map. The keys are extracted
|
|
@@ -155,7 +157,7 @@ export const collectAllFrom: <R, E, In, L extends In, Z>(
|
|
|
155
157
|
export const collectAllToMap: <In, K>(
|
|
156
158
|
key: (input: In) => K,
|
|
157
159
|
merge: (x: In, y: In) => In
|
|
158
|
-
) => Sink<
|
|
160
|
+
) => Sink<HashMap.HashMap<K, In>, In> = internal.collectAllToMap
|
|
159
161
|
|
|
160
162
|
/**
|
|
161
163
|
* A sink that collects first `n` keys into a map. The keys are calculated
|
|
@@ -169,7 +171,7 @@ export const collectAllToMapN: <In, K>(
|
|
|
169
171
|
n: number,
|
|
170
172
|
key: (input: In) => K,
|
|
171
173
|
merge: (x: In, y: In) => In
|
|
172
|
-
) => Sink<
|
|
174
|
+
) => Sink<HashMap.HashMap<K, In>, In, In> = internal.collectAllToMapN
|
|
173
175
|
|
|
174
176
|
/**
|
|
175
177
|
* A sink that collects all of its inputs into a set.
|
|
@@ -177,7 +179,7 @@ export const collectAllToMapN: <In, K>(
|
|
|
177
179
|
* @since 2.0.0
|
|
178
180
|
* @category constructors
|
|
179
181
|
*/
|
|
180
|
-
export const collectAllToSet: <In>() => Sink<
|
|
182
|
+
export const collectAllToSet: <In>() => Sink<HashSet.HashSet<In>, In> = internal.collectAllToSet
|
|
181
183
|
|
|
182
184
|
/**
|
|
183
185
|
* A sink that collects first `n` distinct inputs into a set.
|
|
@@ -185,8 +187,7 @@ export const collectAllToSet: <In>() => Sink<never, never, In, never, HashSet.Ha
|
|
|
185
187
|
* @since 2.0.0
|
|
186
188
|
* @category constructors
|
|
187
189
|
*/
|
|
188
|
-
export const collectAllToSetN: <In>(n: number) => Sink<
|
|
189
|
-
internal.collectAllToSetN
|
|
190
|
+
export const collectAllToSetN: <In>(n: number) => Sink<HashSet.HashSet<In>, In, In> = internal.collectAllToSetN
|
|
190
191
|
|
|
191
192
|
/**
|
|
192
193
|
* Accumulates incoming elements into a chunk until predicate `p` is
|
|
@@ -195,8 +196,7 @@ export const collectAllToSetN: <In>(n: number) => Sink<never, never, In, In, Has
|
|
|
195
196
|
* @since 2.0.0
|
|
196
197
|
* @category constructors
|
|
197
198
|
*/
|
|
198
|
-
export const collectAllUntil: <In>(p: Predicate<In>) => Sink<
|
|
199
|
-
internal.collectAllUntil
|
|
199
|
+
export const collectAllUntil: <In>(p: Predicate<In>) => Sink<Chunk.Chunk<In>, In, In> = internal.collectAllUntil
|
|
200
200
|
|
|
201
201
|
/**
|
|
202
202
|
* Accumulates incoming elements into a chunk until effectful predicate `p` is
|
|
@@ -205,9 +205,9 @@ export const collectAllUntil: <In>(p: Predicate<In>) => Sink<never, never, In, I
|
|
|
205
205
|
* @since 2.0.0
|
|
206
206
|
* @category constructors
|
|
207
207
|
*/
|
|
208
|
-
export const collectAllUntilEffect: <In,
|
|
209
|
-
p: (input: In) => Effect.Effect<
|
|
210
|
-
) => Sink<
|
|
208
|
+
export const collectAllUntilEffect: <In, E, R>(
|
|
209
|
+
p: (input: In) => Effect.Effect<boolean, E, R>
|
|
210
|
+
) => Sink<Chunk.Chunk<In>, In, In, E, R> = internal.collectAllUntilEffect
|
|
211
211
|
|
|
212
212
|
/**
|
|
213
213
|
* Accumulates incoming elements into a chunk as long as they verify predicate
|
|
@@ -217,8 +217,8 @@ export const collectAllUntilEffect: <In, R, E>(
|
|
|
217
217
|
* @category constructors
|
|
218
218
|
*/
|
|
219
219
|
export const collectAllWhile: {
|
|
220
|
-
<In, Out extends In>(refinement: Refinement<In, Out>): Sink<
|
|
221
|
-
<In>(predicate: Predicate<In>): Sink<
|
|
220
|
+
<In, Out extends In>(refinement: Refinement<In, Out>): Sink<Chunk.Chunk<Out>, In, In>
|
|
221
|
+
<In>(predicate: Predicate<In>): Sink<Chunk.Chunk<In>, In, In>
|
|
222
222
|
} = internal.collectAllWhile
|
|
223
223
|
|
|
224
224
|
/**
|
|
@@ -228,9 +228,9 @@ export const collectAllWhile: {
|
|
|
228
228
|
* @since 2.0.0
|
|
229
229
|
* @category constructors
|
|
230
230
|
*/
|
|
231
|
-
export const collectAllWhileEffect: <In,
|
|
232
|
-
predicate: (input: In) => Effect.Effect<
|
|
233
|
-
) => Sink<
|
|
231
|
+
export const collectAllWhileEffect: <In, E, R>(
|
|
232
|
+
predicate: (input: In) => Effect.Effect<boolean, E, R>
|
|
233
|
+
) => Sink<Chunk.Chunk<In>, In, In, E, R> = internal.collectAllWhileEffect
|
|
234
234
|
|
|
235
235
|
/**
|
|
236
236
|
* Repeatedly runs the sink for as long as its results satisfy the predicate
|
|
@@ -240,21 +240,13 @@ export const collectAllWhileEffect: <In, R, E>(
|
|
|
240
240
|
* @category utils
|
|
241
241
|
*/
|
|
242
242
|
export const collectAllWhileWith: {
|
|
243
|
-
<
|
|
244
|
-
options: {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
}
|
|
249
|
-
): <
|
|
250
|
-
<R, E, In, L extends In, Z, S>(
|
|
251
|
-
self: Sink<R, E, In, L, Z>,
|
|
252
|
-
options: {
|
|
253
|
-
readonly initial: S
|
|
254
|
-
readonly while: Predicate<Z>
|
|
255
|
-
readonly body: (s: S, z: Z) => S
|
|
256
|
-
}
|
|
257
|
-
): Sink<R, E, In, L, S>
|
|
243
|
+
<A, S>(
|
|
244
|
+
options: { readonly initial: S; readonly while: Predicate<A>; readonly body: (s: S, a: A) => S }
|
|
245
|
+
): <In, L extends In, E, R>(self: Sink<A, In, L, E, R>) => Sink<S, In, L, E, R>
|
|
246
|
+
<A, In, L extends In, E, R, S>(
|
|
247
|
+
self: Sink<A, In, L, E, R>,
|
|
248
|
+
options: { readonly initial: S; readonly while: Predicate<A>; readonly body: (s: S, a: A) => S }
|
|
249
|
+
): Sink<S, In, L, E, R>
|
|
258
250
|
} = internal.collectAllWhileWith as any
|
|
259
251
|
|
|
260
252
|
/**
|
|
@@ -264,9 +256,9 @@ export const collectAllWhileWith: {
|
|
|
264
256
|
* @since 2.0.0
|
|
265
257
|
* @category utils
|
|
266
258
|
*/
|
|
267
|
-
export const collectLeftover: <
|
|
268
|
-
self: Sink<
|
|
269
|
-
) => Sink<
|
|
259
|
+
export const collectLeftover: <A, In, L, E, R>(
|
|
260
|
+
self: Sink<A, In, L, E, R>
|
|
261
|
+
) => Sink<[A, Chunk.Chunk<L>], In, never, E, R> = internal.collectLeftover
|
|
270
262
|
|
|
271
263
|
/**
|
|
272
264
|
* Transforms this sink's input elements.
|
|
@@ -274,7 +266,10 @@ export const collectLeftover: <R, E, In, L, Z>(
|
|
|
274
266
|
* @since 2.0.0
|
|
275
267
|
* @category mapping
|
|
276
268
|
*/
|
|
277
|
-
export const mapInput
|
|
269
|
+
export const mapInput: {
|
|
270
|
+
<In0, In>(f: (input: In0) => In): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In0, L, E, R>
|
|
271
|
+
<A, In, L, E, R, In0>(self: Sink<A, In, L, E, R>, f: (input: In0) => In): Sink<A, In0, L, E, R>
|
|
272
|
+
} = internal.mapInput
|
|
278
273
|
|
|
279
274
|
/**
|
|
280
275
|
* Effectfully transforms this sink's input elements.
|
|
@@ -282,7 +277,15 @@ export const mapInput = internal.mapInput
|
|
|
282
277
|
* @since 2.0.0
|
|
283
278
|
* @category mapping
|
|
284
279
|
*/
|
|
285
|
-
export const mapInputEffect
|
|
280
|
+
export const mapInputEffect: {
|
|
281
|
+
<In0, In, E2, R2>(
|
|
282
|
+
f: (input: In0) => Effect.Effect<In, E2, R2>
|
|
283
|
+
): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In0, L, E2 | E, R2 | R>
|
|
284
|
+
<A, In, L, E, R, In0, E2, R2>(
|
|
285
|
+
self: Sink<A, In, L, E, R>,
|
|
286
|
+
f: (input: In0) => Effect.Effect<In, E2, R2>
|
|
287
|
+
): Sink<A, In0, L, E | E2, R | R2>
|
|
288
|
+
} = internal.mapInputEffect
|
|
286
289
|
|
|
287
290
|
/**
|
|
288
291
|
* Transforms this sink's input chunks. `f` must preserve chunking-invariance.
|
|
@@ -293,11 +296,11 @@ export const mapInputEffect = internal.mapInputEffect
|
|
|
293
296
|
export const mapInputChunks: {
|
|
294
297
|
<In0, In>(
|
|
295
298
|
f: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>
|
|
296
|
-
): <
|
|
297
|
-
<
|
|
298
|
-
self: Sink<
|
|
299
|
+
): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In0, L, E, R>
|
|
300
|
+
<A, In, L, E, R, In0>(
|
|
301
|
+
self: Sink<A, In, L, E, R>,
|
|
299
302
|
f: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>
|
|
300
|
-
): Sink<
|
|
303
|
+
): Sink<A, In0, L, E, R>
|
|
301
304
|
} = internal.mapInputChunks
|
|
302
305
|
|
|
303
306
|
/**
|
|
@@ -308,13 +311,13 @@ export const mapInputChunks: {
|
|
|
308
311
|
* @category mapping
|
|
309
312
|
*/
|
|
310
313
|
export const mapInputChunksEffect: {
|
|
311
|
-
<In0,
|
|
312
|
-
f: (chunk: Chunk.Chunk<In0>) => Effect.Effect<
|
|
313
|
-
): <
|
|
314
|
-
<
|
|
315
|
-
self: Sink<
|
|
316
|
-
f: (chunk: Chunk.Chunk<In0>) => Effect.Effect<
|
|
317
|
-
): Sink<
|
|
314
|
+
<In0, In, E2, R2>(
|
|
315
|
+
f: (chunk: Chunk.Chunk<In0>) => Effect.Effect<Chunk.Chunk<In>, E2, R2>
|
|
316
|
+
): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In0, L, E2 | E, R2 | R>
|
|
317
|
+
<A, In, L, E, R, In0, E2, R2>(
|
|
318
|
+
self: Sink<A, In, L, E, R>,
|
|
319
|
+
f: (chunk: Chunk.Chunk<In0>) => Effect.Effect<Chunk.Chunk<In>, E2, R2>
|
|
320
|
+
): Sink<A, In0, L, E | E2, R | R2>
|
|
318
321
|
} = internal.mapInputChunksEffect
|
|
319
322
|
|
|
320
323
|
/**
|
|
@@ -323,7 +326,7 @@ export const mapInputChunksEffect: {
|
|
|
323
326
|
* @since 2.0.0
|
|
324
327
|
* @category constructors
|
|
325
328
|
*/
|
|
326
|
-
export const count: Sink<
|
|
329
|
+
export const count: Sink<number, unknown> = internal.count
|
|
327
330
|
|
|
328
331
|
/**
|
|
329
332
|
* Creates a sink halting with the specified defect.
|
|
@@ -331,7 +334,7 @@ export const count: Sink<never, never, unknown, never, number> = internal.count
|
|
|
331
334
|
* @since 2.0.0
|
|
332
335
|
* @category constructors
|
|
333
336
|
*/
|
|
334
|
-
export const die: (defect: unknown) => Sink<never,
|
|
337
|
+
export const die: (defect: unknown) => Sink<never, unknown> = internal.die
|
|
335
338
|
|
|
336
339
|
/**
|
|
337
340
|
* Creates a sink halting with the specified message, wrapped in a
|
|
@@ -340,7 +343,7 @@ export const die: (defect: unknown) => Sink<never, never, unknown, never, never>
|
|
|
340
343
|
* @since 2.0.0
|
|
341
344
|
* @category constructors
|
|
342
345
|
*/
|
|
343
|
-
export const dieMessage: (message: string) => Sink<never,
|
|
346
|
+
export const dieMessage: (message: string) => Sink<never, unknown> = internal.dieMessage
|
|
344
347
|
|
|
345
348
|
/**
|
|
346
349
|
* Creates a sink halting with the specified defect.
|
|
@@ -348,7 +351,7 @@ export const dieMessage: (message: string) => Sink<never, never, unknown, never,
|
|
|
348
351
|
* @since 2.0.0
|
|
349
352
|
* @category constructors
|
|
350
353
|
*/
|
|
351
|
-
export const dieSync: (evaluate: LazyArg<unknown>) => Sink<never,
|
|
354
|
+
export const dieSync: (evaluate: LazyArg<unknown>) => Sink<never, unknown> = internal.dieSync
|
|
352
355
|
|
|
353
356
|
/**
|
|
354
357
|
* Transforms both inputs and result of this sink using the provided
|
|
@@ -358,19 +361,13 @@ export const dieSync: (evaluate: LazyArg<unknown>) => Sink<never, never, unknown
|
|
|
358
361
|
* @category mapping
|
|
359
362
|
*/
|
|
360
363
|
export const dimap: {
|
|
361
|
-
<In0, In,
|
|
362
|
-
options: {
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
<
|
|
368
|
-
self: Sink<R, E, In, L, Z>,
|
|
369
|
-
options: {
|
|
370
|
-
readonly onInput: (input: In0) => In
|
|
371
|
-
readonly onDone: (z: Z) => Z2
|
|
372
|
-
}
|
|
373
|
-
): Sink<R, E, In0, L, Z2>
|
|
364
|
+
<In0, In, A, A2>(
|
|
365
|
+
options: { readonly onInput: (input: In0) => In; readonly onDone: (a: A) => A2 }
|
|
366
|
+
): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In0, L, E, R>
|
|
367
|
+
<A, In, L, E, R, In0, A2>(
|
|
368
|
+
self: Sink<A, In, L, E, R>,
|
|
369
|
+
options: { readonly onInput: (input: In0) => In; readonly onDone: (a: A) => A2 }
|
|
370
|
+
): Sink<A2, In0, L, E, R>
|
|
374
371
|
} = internal.dimap
|
|
375
372
|
|
|
376
373
|
/**
|
|
@@ -381,19 +378,19 @@ export const dimap: {
|
|
|
381
378
|
* @category mapping
|
|
382
379
|
*/
|
|
383
380
|
export const dimapEffect: {
|
|
384
|
-
<In0, R2, E2, In,
|
|
381
|
+
<In0, R2, E2, In, A, R3, E3, A2>(
|
|
385
382
|
options: {
|
|
386
|
-
readonly onInput: (input: In0) => Effect.Effect<
|
|
387
|
-
readonly onDone: (
|
|
383
|
+
readonly onInput: (input: In0) => Effect.Effect<In, E2, R2>
|
|
384
|
+
readonly onDone: (a: A) => Effect.Effect<A2, E3, R3>
|
|
388
385
|
}
|
|
389
|
-
): <R, E, L>(self: Sink<
|
|
390
|
-
<
|
|
391
|
-
self: Sink<
|
|
386
|
+
): <R, E, L>(self: Sink<A, In, L, E, R>) => Sink<A2, In0, L, E2 | E3 | E, R2 | R3 | R>
|
|
387
|
+
<A, In, L, E, R, In0, E2, R2, A2, E3, R3>(
|
|
388
|
+
self: Sink<A, In, L, E, R>,
|
|
392
389
|
options: {
|
|
393
|
-
readonly onInput: (input: In0) => Effect.Effect<
|
|
394
|
-
readonly onDone: (
|
|
390
|
+
readonly onInput: (input: In0) => Effect.Effect<In, E2, R2>
|
|
391
|
+
readonly onDone: (a: A) => Effect.Effect<A2, E3, R3>
|
|
395
392
|
}
|
|
396
|
-
): Sink<
|
|
393
|
+
): Sink<A2, In0, L, E | E2 | E3, R | R2 | R3>
|
|
397
394
|
} = internal.dimapEffect
|
|
398
395
|
|
|
399
396
|
/**
|
|
@@ -404,19 +401,13 @@ export const dimapEffect: {
|
|
|
404
401
|
* @category mapping
|
|
405
402
|
*/
|
|
406
403
|
export const dimapChunks: {
|
|
407
|
-
<In0, In,
|
|
408
|
-
options: {
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
<
|
|
414
|
-
self: Sink<R, E, In, L, Z>,
|
|
415
|
-
options: {
|
|
416
|
-
readonly onInput: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>
|
|
417
|
-
readonly onDone: (z: Z) => Z2
|
|
418
|
-
}
|
|
419
|
-
): Sink<R, E, In0, L, Z2>
|
|
404
|
+
<In0, In, A, A2>(
|
|
405
|
+
options: { readonly onInput: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>; readonly onDone: (a: A) => A2 }
|
|
406
|
+
): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In0, L, E, R>
|
|
407
|
+
<A, In, L, E, R, In0, A2>(
|
|
408
|
+
self: Sink<A, In, L, E, R>,
|
|
409
|
+
options: { readonly onInput: (chunk: Chunk.Chunk<In0>) => Chunk.Chunk<In>; readonly onDone: (a: A) => A2 }
|
|
410
|
+
): Sink<A2, In0, L, E, R>
|
|
420
411
|
} = internal.dimapChunks
|
|
421
412
|
|
|
422
413
|
/**
|
|
@@ -427,19 +418,19 @@ export const dimapChunks: {
|
|
|
427
418
|
* @category mapping
|
|
428
419
|
*/
|
|
429
420
|
export const dimapChunksEffect: {
|
|
430
|
-
<In0,
|
|
421
|
+
<In0, In, E2, R2, A, A2, E3, R3>(
|
|
431
422
|
options: {
|
|
432
|
-
readonly onInput: (chunk: Chunk.Chunk<In0>) => Effect.Effect<
|
|
433
|
-
readonly onDone: (
|
|
423
|
+
readonly onInput: (chunk: Chunk.Chunk<In0>) => Effect.Effect<Chunk.Chunk<In>, E2, R2>
|
|
424
|
+
readonly onDone: (a: A) => Effect.Effect<A2, E3, R3>
|
|
434
425
|
}
|
|
435
|
-
): <R, E, L>(self: Sink<
|
|
436
|
-
<
|
|
437
|
-
self: Sink<
|
|
426
|
+
): <R, E, L>(self: Sink<A, In, L, E, R>) => Sink<A2, In0, L, E2 | E3 | E, R2 | R3 | R>
|
|
427
|
+
<A, In, L, E, R, In0, E2, R2, A2, E3, R3>(
|
|
428
|
+
self: Sink<A, In, L, E, R>,
|
|
438
429
|
options: {
|
|
439
|
-
readonly onInput: (chunk: Chunk.Chunk<In0>) => Effect.Effect<
|
|
440
|
-
readonly onDone: (
|
|
430
|
+
readonly onInput: (chunk: Chunk.Chunk<In0>) => Effect.Effect<Chunk.Chunk<In>, E2, R2>
|
|
431
|
+
readonly onDone: (a: A) => Effect.Effect<A2, E3, R3>
|
|
441
432
|
}
|
|
442
|
-
): Sink<
|
|
433
|
+
): Sink<A2, In0, L, E | E2 | E3, R | R2 | R3>
|
|
443
434
|
} = internal.dimapChunksEffect
|
|
444
435
|
|
|
445
436
|
/**
|
|
@@ -448,7 +439,7 @@ export const dimapChunksEffect: {
|
|
|
448
439
|
* @since 2.0.0
|
|
449
440
|
* @category constructors
|
|
450
441
|
*/
|
|
451
|
-
export const drain: Sink<
|
|
442
|
+
export const drain: Sink<void, unknown> = internal.drain
|
|
452
443
|
|
|
453
444
|
/**
|
|
454
445
|
* Creates a sink that drops `n` elements.
|
|
@@ -456,7 +447,7 @@ export const drain: Sink<never, never, unknown, never, void> = internal.drain
|
|
|
456
447
|
* @since 2.0.0
|
|
457
448
|
* @category constructors
|
|
458
449
|
*/
|
|
459
|
-
export const drop: <In>(n: number) => Sink<
|
|
450
|
+
export const drop: <In>(n: number) => Sink<unknown, In, In> = internal.drop
|
|
460
451
|
|
|
461
452
|
/**
|
|
462
453
|
* Drops incoming elements until the predicate is satisfied.
|
|
@@ -464,7 +455,7 @@ export const drop: <In>(n: number) => Sink<never, never, In, In, unknown> = inte
|
|
|
464
455
|
* @since 2.0.0
|
|
465
456
|
* @category constructors
|
|
466
457
|
*/
|
|
467
|
-
export const dropUntil: <In>(predicate: Predicate<In>) => Sink<
|
|
458
|
+
export const dropUntil: <In>(predicate: Predicate<In>) => Sink<unknown, In, In> = internal.dropUntil
|
|
468
459
|
|
|
469
460
|
/**
|
|
470
461
|
* Drops incoming elements until the effectful predicate is satisfied.
|
|
@@ -472,9 +463,9 @@ export const dropUntil: <In>(predicate: Predicate<In>) => Sink<never, never, In,
|
|
|
472
463
|
* @since 2.0.0
|
|
473
464
|
* @category constructors
|
|
474
465
|
*/
|
|
475
|
-
export const dropUntilEffect: <In,
|
|
476
|
-
predicate: (input: In) => Effect.Effect<
|
|
477
|
-
) => Sink<
|
|
466
|
+
export const dropUntilEffect: <In, E, R>(
|
|
467
|
+
predicate: (input: In) => Effect.Effect<boolean, E, R>
|
|
468
|
+
) => Sink<unknown, In, In, E, R> = internal.dropUntilEffect
|
|
478
469
|
|
|
479
470
|
/**
|
|
480
471
|
* Drops incoming elements as long as the predicate is satisfied.
|
|
@@ -482,7 +473,7 @@ export const dropUntilEffect: <In, R, E>(
|
|
|
482
473
|
* @since 2.0.0
|
|
483
474
|
* @category constructors
|
|
484
475
|
*/
|
|
485
|
-
export const dropWhile: <In>(predicate: Predicate<In>) => Sink<
|
|
476
|
+
export const dropWhile: <In>(predicate: Predicate<In>) => Sink<unknown, In, In> = internal.dropWhile
|
|
486
477
|
|
|
487
478
|
/**
|
|
488
479
|
* Drops incoming elements as long as the effectful predicate is satisfied.
|
|
@@ -490,9 +481,9 @@ export const dropWhile: <In>(predicate: Predicate<In>) => Sink<never, never, In,
|
|
|
490
481
|
* @since 2.0.0
|
|
491
482
|
* @category constructors
|
|
492
483
|
*/
|
|
493
|
-
export const dropWhileEffect: <In,
|
|
494
|
-
predicate: (input: In) => Effect.Effect<
|
|
495
|
-
) => Sink<
|
|
484
|
+
export const dropWhileEffect: <In, E, R>(
|
|
485
|
+
predicate: (input: In) => Effect.Effect<boolean, E, R>
|
|
486
|
+
) => Sink<unknown, In, In, E, R> = internal.dropWhileEffect
|
|
496
487
|
|
|
497
488
|
/**
|
|
498
489
|
* Returns a new sink with an attached finalizer. The finalizer is guaranteed
|
|
@@ -503,10 +494,10 @@ export const dropWhileEffect: <In, R, E>(
|
|
|
503
494
|
* @category finalization
|
|
504
495
|
*/
|
|
505
496
|
export const ensuring: {
|
|
506
|
-
<
|
|
507
|
-
finalizer: Effect.Effect<
|
|
508
|
-
): <
|
|
509
|
-
<
|
|
497
|
+
<_, R2>(
|
|
498
|
+
finalizer: Effect.Effect<_, never, R2>
|
|
499
|
+
): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E, R2 | R>
|
|
500
|
+
<A, In, L, E, R, _, R2>(self: Sink<A, In, L, E, R>, finalizer: Effect.Effect<_, never, R2>): Sink<A, In, L, E, R | R2>
|
|
510
501
|
} = internal.ensuring
|
|
511
502
|
|
|
512
503
|
/**
|
|
@@ -518,13 +509,13 @@ export const ensuring: {
|
|
|
518
509
|
* @category finalization
|
|
519
510
|
*/
|
|
520
511
|
export const ensuringWith: {
|
|
521
|
-
<E,
|
|
522
|
-
finalizer: (exit: Exit.Exit<
|
|
523
|
-
): <
|
|
524
|
-
<
|
|
525
|
-
self: Sink<
|
|
526
|
-
finalizer: (exit: Exit.Exit<
|
|
527
|
-
): Sink<
|
|
512
|
+
<A, E, _, R2>(
|
|
513
|
+
finalizer: (exit: Exit.Exit<A, E>) => Effect.Effect<_, never, R2>
|
|
514
|
+
): <In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E, R2 | R>
|
|
515
|
+
<A, In, L, E, R, _, R2>(
|
|
516
|
+
self: Sink<A, In, L, E, R>,
|
|
517
|
+
finalizer: (exit: Exit.Exit<A, E>) => Effect.Effect<_, never, R2>
|
|
518
|
+
): Sink<A, In, L, E, R | R2>
|
|
528
519
|
} = internal.ensuringWith
|
|
529
520
|
|
|
530
521
|
/**
|
|
@@ -533,7 +524,7 @@ export const ensuringWith: {
|
|
|
533
524
|
* @since 2.0.0
|
|
534
525
|
* @category constructors
|
|
535
526
|
*/
|
|
536
|
-
export const context: <R>() => Sink<R, never,
|
|
527
|
+
export const context: <R>() => Sink<Context.Context<R>, unknown, never, never, R> = internal.context
|
|
537
528
|
|
|
538
529
|
/**
|
|
539
530
|
* Accesses the context of the sink.
|
|
@@ -541,7 +532,7 @@ export const context: <R>() => Sink<R, never, unknown, never, Context.Context<R>
|
|
|
541
532
|
* @since 2.0.0
|
|
542
533
|
* @category constructors
|
|
543
534
|
*/
|
|
544
|
-
export const contextWith: <R, Z>(f: (context: Context.Context<R>) => Z) => Sink<
|
|
535
|
+
export const contextWith: <R, Z>(f: (context: Context.Context<R>) => Z) => Sink<Z, unknown, never, never, R> =
|
|
545
536
|
internal.contextWith
|
|
546
537
|
|
|
547
538
|
/**
|
|
@@ -550,9 +541,9 @@ export const contextWith: <R, Z>(f: (context: Context.Context<R>) => Z) => Sink<
|
|
|
550
541
|
* @since 2.0.0
|
|
551
542
|
* @category constructors
|
|
552
543
|
*/
|
|
553
|
-
export const contextWithEffect: <
|
|
554
|
-
f: (context: Context.Context<
|
|
555
|
-
) => Sink<
|
|
544
|
+
export const contextWithEffect: <R0, A, E, R>(
|
|
545
|
+
f: (context: Context.Context<R0>) => Effect.Effect<A, E, R>
|
|
546
|
+
) => Sink<A, unknown, never, E, R0 | R> = internal.contextWithEffect
|
|
556
547
|
|
|
557
548
|
/**
|
|
558
549
|
* Accesses the context of the sink in the context of a sink.
|
|
@@ -560,9 +551,9 @@ export const contextWithEffect: <R, R2, E, Z>(
|
|
|
560
551
|
* @since 2.0.0
|
|
561
552
|
* @category constructors
|
|
562
553
|
*/
|
|
563
|
-
export const contextWithSink: <R0,
|
|
564
|
-
f: (context: Context.Context<R0>) => Sink<
|
|
565
|
-
) => Sink<
|
|
554
|
+
export const contextWithSink: <R0, A, In, L, E, R>(
|
|
555
|
+
f: (context: Context.Context<R0>) => Sink<A, In, L, E, R>
|
|
556
|
+
) => Sink<A, In, L, E, R0 | R> = internal.contextWithSink
|
|
566
557
|
|
|
567
558
|
/**
|
|
568
559
|
* A sink that returns whether all elements satisfy the specified predicate.
|
|
@@ -570,7 +561,7 @@ export const contextWithSink: <R0, R, E, In, L, Z>(
|
|
|
570
561
|
* @since 2.0.0
|
|
571
562
|
* @category constructors
|
|
572
563
|
*/
|
|
573
|
-
export const every: <In>(predicate: Predicate<In>) => Sink<
|
|
564
|
+
export const every: <In>(predicate: Predicate<In>) => Sink<boolean, In, In> = internal.every
|
|
574
565
|
|
|
575
566
|
/**
|
|
576
567
|
* A sink that always fails with the specified error.
|
|
@@ -578,7 +569,7 @@ export const every: <In>(predicate: Predicate<In>) => Sink<never, never, In, In,
|
|
|
578
569
|
* @since 2.0.0
|
|
579
570
|
* @category constructors
|
|
580
571
|
*/
|
|
581
|
-
export const fail: <E>(e: E) => Sink<never,
|
|
572
|
+
export const fail: <E>(e: E) => Sink<never, unknown, never, E> = internal.fail
|
|
582
573
|
|
|
583
574
|
/**
|
|
584
575
|
* A sink that always fails with the specified lazily evaluated error.
|
|
@@ -586,7 +577,7 @@ export const fail: <E>(e: E) => Sink<never, E, unknown, never, never> = internal
|
|
|
586
577
|
* @since 2.0.0
|
|
587
578
|
* @category constructors
|
|
588
579
|
*/
|
|
589
|
-
export const failSync: <E>(evaluate: LazyArg<E>) => Sink<never,
|
|
580
|
+
export const failSync: <E>(evaluate: LazyArg<E>) => Sink<never, unknown, never, E> = internal.failSync
|
|
590
581
|
|
|
591
582
|
/**
|
|
592
583
|
* Creates a sink halting with a specified `Cause`.
|
|
@@ -594,7 +585,7 @@ export const failSync: <E>(evaluate: LazyArg<E>) => Sink<never, E, unknown, neve
|
|
|
594
585
|
* @since 2.0.0
|
|
595
586
|
* @category constructors
|
|
596
587
|
*/
|
|
597
|
-
export const failCause: <E>(cause: Cause.Cause<E>) => Sink<never,
|
|
588
|
+
export const failCause: <E>(cause: Cause.Cause<E>) => Sink<never, unknown, never, E> = internal.failCause
|
|
598
589
|
|
|
599
590
|
/**
|
|
600
591
|
* Creates a sink halting with a specified lazily evaluated `Cause`.
|
|
@@ -602,7 +593,7 @@ export const failCause: <E>(cause: Cause.Cause<E>) => Sink<never, E, unknown, ne
|
|
|
602
593
|
* @since 2.0.0
|
|
603
594
|
* @category constructors
|
|
604
595
|
*/
|
|
605
|
-
export const failCauseSync: <E>(evaluate: LazyArg<Cause.Cause<E>>) => Sink<never,
|
|
596
|
+
export const failCauseSync: <E>(evaluate: LazyArg<Cause.Cause<E>>) => Sink<never, unknown, never, E> =
|
|
606
597
|
internal.failCauseSync
|
|
607
598
|
|
|
608
599
|
/**
|
|
@@ -614,8 +605,8 @@ export const failCauseSync: <E>(evaluate: LazyArg<Cause.Cause<E>>) => Sink<never
|
|
|
614
605
|
export const filterInput: {
|
|
615
606
|
<In, In1 extends In, In2 extends In1>(
|
|
616
607
|
f: Refinement<In1, In2>
|
|
617
|
-
): <
|
|
618
|
-
<In, In1 extends In>(f: Predicate<In1>): <
|
|
608
|
+
): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In2, L, E, R>
|
|
609
|
+
<In, In1 extends In>(f: Predicate<In1>): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In1, L, E, R>
|
|
619
610
|
} = internal.filterInput
|
|
620
611
|
|
|
621
612
|
/**
|
|
@@ -625,13 +616,13 @@ export const filterInput: {
|
|
|
625
616
|
* @category filtering
|
|
626
617
|
*/
|
|
627
618
|
export const filterInputEffect: {
|
|
628
|
-
<
|
|
629
|
-
f: (input: In1) => Effect.Effect<
|
|
630
|
-
): <
|
|
631
|
-
<
|
|
632
|
-
self: Sink<
|
|
633
|
-
f: (input: In1) => Effect.Effect<
|
|
634
|
-
): Sink<
|
|
619
|
+
<In, In1 extends In, E2, R2>(
|
|
620
|
+
f: (input: In1) => Effect.Effect<boolean, E2, R2>
|
|
621
|
+
): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In1, L, E2 | E, R2 | R>
|
|
622
|
+
<A, In, L, E, R, In1 extends In, E2, R2>(
|
|
623
|
+
self: Sink<A, In, L, E, R>,
|
|
624
|
+
f: (input: In1) => Effect.Effect<boolean, E2, R2>
|
|
625
|
+
): Sink<A, In1, L, E | E2, R | R2>
|
|
635
626
|
} = internal.filterInputEffect
|
|
636
627
|
|
|
637
628
|
/**
|
|
@@ -641,13 +632,13 @@ export const filterInputEffect: {
|
|
|
641
632
|
* @category elements
|
|
642
633
|
*/
|
|
643
634
|
export const findEffect: {
|
|
644
|
-
<
|
|
645
|
-
f: (
|
|
646
|
-
): <
|
|
647
|
-
<
|
|
648
|
-
self: Sink<
|
|
649
|
-
f: (
|
|
650
|
-
): Sink<
|
|
635
|
+
<A, E2, R2>(
|
|
636
|
+
f: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
637
|
+
): <In, L extends In, E, R>(self: Sink<A, In, L, E, R>) => Sink<Option.Option<A>, In, L, E2 | E, R2 | R>
|
|
638
|
+
<A, In, L extends In, E, R, E2, R2>(
|
|
639
|
+
self: Sink<A, In, L, E, R>,
|
|
640
|
+
f: (a: A) => Effect.Effect<boolean, E2, R2>
|
|
641
|
+
): Sink<Option.Option<A>, In, L, E | E2, R | R2>
|
|
651
642
|
} = internal.findEffect as any
|
|
652
643
|
|
|
653
644
|
/**
|
|
@@ -657,8 +648,7 @@ export const findEffect: {
|
|
|
657
648
|
* @since 2.0.0
|
|
658
649
|
* @category folding
|
|
659
650
|
*/
|
|
660
|
-
export const fold: <S, In>(s: S, contFn: Predicate<S>, f: (
|
|
661
|
-
internal.fold
|
|
651
|
+
export const fold: <S, In>(s: S, contFn: Predicate<S>, f: (s: S, input: In) => S) => Sink<S, In, In> = internal.fold
|
|
662
652
|
|
|
663
653
|
/**
|
|
664
654
|
* Folds over the result of the sink
|
|
@@ -667,19 +657,19 @@ export const fold: <S, In>(s: S, contFn: Predicate<S>, f: (z: S, input: In) => S
|
|
|
667
657
|
* @category folding
|
|
668
658
|
*/
|
|
669
659
|
export const foldSink: {
|
|
670
|
-
<
|
|
660
|
+
<E, A1, In, In1 extends In, L1, E1, R1, A, A2, In2 extends In, L2, E2, R2>(
|
|
671
661
|
options: {
|
|
672
|
-
readonly onFailure: (err: E) => Sink<
|
|
673
|
-
readonly onSuccess: (
|
|
662
|
+
readonly onFailure: (err: E) => Sink<A1, In1, L1, E1, R1>
|
|
663
|
+
readonly onSuccess: (a: A) => Sink<A2, In2, L2, E2, R2>
|
|
674
664
|
}
|
|
675
|
-
): <R>(self: Sink<
|
|
676
|
-
<
|
|
677
|
-
self: Sink<
|
|
665
|
+
): <L, R>(self: Sink<A, In, L, E, R>) => Sink<A1 | A2, In1 & In2, L1 | L2, E1 | E2, R1 | R2 | R>
|
|
666
|
+
<A, In, L, E, R, A1, In1 extends In, L1, E1, R1, A2, In2 extends In, L2, E2, R2>(
|
|
667
|
+
self: Sink<A, In, L, E, R>,
|
|
678
668
|
options: {
|
|
679
|
-
readonly onFailure: (err: E) => Sink<
|
|
680
|
-
readonly onSuccess: (
|
|
669
|
+
readonly onFailure: (err: E) => Sink<A1, In1, L1, E1, R1>
|
|
670
|
+
readonly onSuccess: (a: A) => Sink<A2, In2, L2, E2, R2>
|
|
681
671
|
}
|
|
682
|
-
): Sink<
|
|
672
|
+
): Sink<A1 | A2, In1 & In2, L1 | L2, E1 | E2, R | R1 | R2>
|
|
683
673
|
} = internal.foldSink
|
|
684
674
|
|
|
685
675
|
/**
|
|
@@ -695,7 +685,7 @@ export const foldChunks: <S, In>(
|
|
|
695
685
|
s: S,
|
|
696
686
|
contFn: Predicate<S>,
|
|
697
687
|
f: (s: S, chunk: Chunk.Chunk<In>) => S
|
|
698
|
-
) => Sink<
|
|
688
|
+
) => Sink<S, In> = internal.foldChunks
|
|
699
689
|
|
|
700
690
|
/**
|
|
701
691
|
* A sink that effectfully folds its input chunks with the provided function,
|
|
@@ -706,11 +696,11 @@ export const foldChunks: <S, In>(
|
|
|
706
696
|
* @since 2.0.0
|
|
707
697
|
* @category constructors
|
|
708
698
|
*/
|
|
709
|
-
export const foldChunksEffect: <S,
|
|
699
|
+
export const foldChunksEffect: <S, In, E, R>(
|
|
710
700
|
s: S,
|
|
711
701
|
contFn: Predicate<S>,
|
|
712
|
-
f: (s: S, chunk: Chunk.Chunk<In>) => Effect.Effect<
|
|
713
|
-
) => Sink<
|
|
702
|
+
f: (s: S, chunk: Chunk.Chunk<In>) => Effect.Effect<S, E, R>
|
|
703
|
+
) => Sink<S, In, In, E, R> = internal.foldChunksEffect
|
|
714
704
|
|
|
715
705
|
/**
|
|
716
706
|
* A sink that effectfully folds its inputs with the provided function,
|
|
@@ -719,11 +709,11 @@ export const foldChunksEffect: <S, R, E, In>(
|
|
|
719
709
|
* @since 2.0.0
|
|
720
710
|
* @category constructors
|
|
721
711
|
*/
|
|
722
|
-
export const foldEffect: <S,
|
|
712
|
+
export const foldEffect: <S, In, E, R>(
|
|
723
713
|
s: S,
|
|
724
714
|
contFn: Predicate<S>,
|
|
725
|
-
f: (s: S, input: In) => Effect.Effect<
|
|
726
|
-
) => Sink<
|
|
715
|
+
f: (s: S, input: In) => Effect.Effect<S, E, R>
|
|
716
|
+
) => Sink<S, In, In, E, R> = internal.foldEffect
|
|
727
717
|
|
|
728
718
|
/**
|
|
729
719
|
* A sink that folds its inputs with the provided function and initial state.
|
|
@@ -731,7 +721,7 @@ export const foldEffect: <S, R, E, In>(
|
|
|
731
721
|
* @since 2.0.0
|
|
732
722
|
* @category constructors
|
|
733
723
|
*/
|
|
734
|
-
export const foldLeft: <S, In>(s: S, f: (s: S, input: In) => S) => Sink<
|
|
724
|
+
export const foldLeft: <S, In>(s: S, f: (s: S, input: In) => S) => Sink<S, In> = internal.foldLeft
|
|
735
725
|
|
|
736
726
|
/**
|
|
737
727
|
* A sink that folds its input chunks with the provided function and initial
|
|
@@ -740,7 +730,7 @@ export const foldLeft: <S, In>(s: S, f: (s: S, input: In) => S) => Sink<never, n
|
|
|
740
730
|
* @since 2.0.0
|
|
741
731
|
* @category constructors
|
|
742
732
|
*/
|
|
743
|
-
export const foldLeftChunks: <S, In>(s: S, f: (s: S, chunk: Chunk.Chunk<In>) => S) => Sink<
|
|
733
|
+
export const foldLeftChunks: <S, In>(s: S, f: (s: S, chunk: Chunk.Chunk<In>) => S) => Sink<S, In> =
|
|
744
734
|
internal.foldLeftChunks
|
|
745
735
|
|
|
746
736
|
/**
|
|
@@ -750,10 +740,10 @@ export const foldLeftChunks: <S, In>(s: S, f: (s: S, chunk: Chunk.Chunk<In>) =>
|
|
|
750
740
|
* @since 2.0.0
|
|
751
741
|
* @category constructors
|
|
752
742
|
*/
|
|
753
|
-
export const foldLeftChunksEffect: <S,
|
|
743
|
+
export const foldLeftChunksEffect: <S, In, E, R>(
|
|
754
744
|
s: S,
|
|
755
|
-
f: (s: S, chunk: Chunk.Chunk<In>) => Effect.Effect<
|
|
756
|
-
) => Sink<
|
|
745
|
+
f: (s: S, chunk: Chunk.Chunk<In>) => Effect.Effect<S, E, R>
|
|
746
|
+
) => Sink<S, In, never, E, R> = internal.foldLeftChunksEffect
|
|
757
747
|
|
|
758
748
|
/**
|
|
759
749
|
* A sink that effectfully folds its inputs with the provided function and
|
|
@@ -762,10 +752,10 @@ export const foldLeftChunksEffect: <S, R, E, In>(
|
|
|
762
752
|
* @since 2.0.0
|
|
763
753
|
* @category constructors
|
|
764
754
|
*/
|
|
765
|
-
export const foldLeftEffect: <S,
|
|
755
|
+
export const foldLeftEffect: <S, In, E, R>(
|
|
766
756
|
s: S,
|
|
767
|
-
f: (s: S, input: In) => Effect.Effect<
|
|
768
|
-
) => Sink<
|
|
757
|
+
f: (s: S, input: In) => Effect.Effect<S, E, R>
|
|
758
|
+
) => Sink<S, In, In, E, R> = internal.foldLeftEffect
|
|
769
759
|
|
|
770
760
|
/**
|
|
771
761
|
* Creates a sink that folds elements of type `In` into a structure of type
|
|
@@ -776,8 +766,7 @@ export const foldLeftEffect: <S, R, E, In>(
|
|
|
776
766
|
* @since 2.0.0
|
|
777
767
|
* @category constructors
|
|
778
768
|
*/
|
|
779
|
-
export const foldUntil: <In, S>(s: S, max: number, f: (
|
|
780
|
-
internal.foldUntil
|
|
769
|
+
export const foldUntil: <In, S>(s: S, max: number, f: (s: S, input: In) => S) => Sink<S, In, In> = internal.foldUntil
|
|
781
770
|
|
|
782
771
|
/**
|
|
783
772
|
* Creates a sink that effectfully folds elements of type `In` into a
|
|
@@ -788,11 +777,11 @@ export const foldUntil: <In, S>(s: S, max: number, f: (z: S, input: In) => S) =>
|
|
|
788
777
|
* @since 2.0.0
|
|
789
778
|
* @category constructors
|
|
790
779
|
*/
|
|
791
|
-
export const foldUntilEffect: <S,
|
|
780
|
+
export const foldUntilEffect: <S, In, E, R>(
|
|
792
781
|
s: S,
|
|
793
782
|
max: number,
|
|
794
|
-
f: (s: S, input: In) => Effect.Effect<
|
|
795
|
-
) => Sink<
|
|
783
|
+
f: (s: S, input: In) => Effect.Effect<S, E, R>
|
|
784
|
+
) => Sink<S, In, In, E, R> = internal.foldUntilEffect
|
|
796
785
|
|
|
797
786
|
/**
|
|
798
787
|
* Creates a sink that folds elements of type `In` into a structure of type
|
|
@@ -814,7 +803,7 @@ export const foldWeighted: <S, In>(
|
|
|
814
803
|
readonly cost: (s: S, input: In) => number
|
|
815
804
|
readonly body: (s: S, input: In) => S
|
|
816
805
|
}
|
|
817
|
-
) => Sink<
|
|
806
|
+
) => Sink<S, In, In> = internal.foldWeighted
|
|
818
807
|
|
|
819
808
|
/**
|
|
820
809
|
* Creates a sink that folds elements of type `In` into a structure of type
|
|
@@ -861,7 +850,7 @@ export const foldWeightedDecompose: <S, In>(
|
|
|
861
850
|
readonly decompose: (input: In) => Chunk.Chunk<In>
|
|
862
851
|
readonly body: (s: S, input: In) => S
|
|
863
852
|
}
|
|
864
|
-
) => Sink<
|
|
853
|
+
) => Sink<S, In, In> = internal.foldWeightedDecompose
|
|
865
854
|
|
|
866
855
|
/**
|
|
867
856
|
* Creates a sink that effectfully folds elements of type `In` into a
|
|
@@ -880,15 +869,15 @@ export const foldWeightedDecompose: <S, In>(
|
|
|
880
869
|
* @since 2.0.0
|
|
881
870
|
* @category constructors
|
|
882
871
|
*/
|
|
883
|
-
export const foldWeightedDecomposeEffect: <S, In, R,
|
|
872
|
+
export const foldWeightedDecomposeEffect: <S, In, E, R, E2, R2, E3, R3>(
|
|
884
873
|
options: {
|
|
885
874
|
readonly initial: S
|
|
886
875
|
readonly maxCost: number
|
|
887
|
-
readonly cost: (s: S, input: In) => Effect.Effect<
|
|
888
|
-
readonly decompose: (input: In) => Effect.Effect<
|
|
889
|
-
readonly body: (s: S, input: In) => Effect.Effect<
|
|
876
|
+
readonly cost: (s: S, input: In) => Effect.Effect<number, E, R>
|
|
877
|
+
readonly decompose: (input: In) => Effect.Effect<Chunk.Chunk<In>, E2, R2>
|
|
878
|
+
readonly body: (s: S, input: In) => Effect.Effect<S, E3, R3>
|
|
890
879
|
}
|
|
891
|
-
) => Sink<
|
|
880
|
+
) => Sink<S, In, In, E | E2 | E3, R | R2 | R3> = internal.foldWeightedDecomposeEffect
|
|
892
881
|
|
|
893
882
|
/**
|
|
894
883
|
* Creates a sink that effectfully folds elements of type `In` into a
|
|
@@ -903,14 +892,14 @@ export const foldWeightedDecomposeEffect: <S, In, R, E, R2, E2, R3, E3>(
|
|
|
903
892
|
* @since 2.0.0
|
|
904
893
|
* @category constructors
|
|
905
894
|
*/
|
|
906
|
-
export const foldWeightedEffect: <S, In, R,
|
|
895
|
+
export const foldWeightedEffect: <S, In, E, R, E2, R2>(
|
|
907
896
|
options: {
|
|
908
897
|
readonly initial: S
|
|
909
898
|
readonly maxCost: number
|
|
910
|
-
readonly cost: (s: S, input: In) => Effect.Effect<
|
|
911
|
-
readonly body: (s: S, input: In) => Effect.Effect<
|
|
899
|
+
readonly cost: (s: S, input: In) => Effect.Effect<number, E, R>
|
|
900
|
+
readonly body: (s: S, input: In) => Effect.Effect<S, E2, R2>
|
|
912
901
|
}
|
|
913
|
-
) => Sink<
|
|
902
|
+
) => Sink<S, In, In, E | E2, R | R2> = internal.foldWeightedEffect
|
|
914
903
|
|
|
915
904
|
/**
|
|
916
905
|
* A sink that executes the provided effectful function for every element fed
|
|
@@ -919,7 +908,7 @@ export const foldWeightedEffect: <S, In, R, E, R2, E2>(
|
|
|
919
908
|
* @since 2.0.0
|
|
920
909
|
* @category constructors
|
|
921
910
|
*/
|
|
922
|
-
export const forEach: <In,
|
|
911
|
+
export const forEach: <In, _, E, R>(f: (input: In) => Effect.Effect<_, E, R>) => Sink<void, In, never, E, R> =
|
|
923
912
|
internal.forEach
|
|
924
913
|
|
|
925
914
|
/**
|
|
@@ -929,9 +918,9 @@ export const forEach: <In, R, E, _>(f: (input: In) => Effect.Effect<R, E, _>) =>
|
|
|
929
918
|
* @since 2.0.0
|
|
930
919
|
* @category constructors
|
|
931
920
|
*/
|
|
932
|
-
export const forEachChunk: <In,
|
|
933
|
-
f: (input: Chunk.Chunk<In>) => Effect.Effect<
|
|
934
|
-
) => Sink<
|
|
921
|
+
export const forEachChunk: <In, _, E, R>(
|
|
922
|
+
f: (input: Chunk.Chunk<In>) => Effect.Effect<_, E, R>
|
|
923
|
+
) => Sink<void, In, never, E, R> = internal.forEachChunk
|
|
935
924
|
|
|
936
925
|
/**
|
|
937
926
|
* A sink that executes the provided effectful function for every chunk fed to
|
|
@@ -940,9 +929,9 @@ export const forEachChunk: <In, R, E, _>(
|
|
|
940
929
|
* @since 2.0.0
|
|
941
930
|
* @category constructors
|
|
942
931
|
*/
|
|
943
|
-
export const forEachChunkWhile: <In,
|
|
944
|
-
f: (input: Chunk.Chunk<In>) => Effect.Effect<
|
|
945
|
-
) => Sink<
|
|
932
|
+
export const forEachChunkWhile: <In, E, R>(
|
|
933
|
+
f: (input: Chunk.Chunk<In>) => Effect.Effect<boolean, E, R>
|
|
934
|
+
) => Sink<void, In, In, E, R> = internal.forEachChunkWhile
|
|
946
935
|
|
|
947
936
|
/**
|
|
948
937
|
* A sink that executes the provided effectful function for every element fed
|
|
@@ -951,7 +940,7 @@ export const forEachChunkWhile: <In, R, E>(
|
|
|
951
940
|
* @since 2.0.0
|
|
952
941
|
* @category constructors
|
|
953
942
|
*/
|
|
954
|
-
export const forEachWhile: <In,
|
|
943
|
+
export const forEachWhile: <In, E, R>(f: (input: In) => Effect.Effect<boolean, E, R>) => Sink<void, In, In, E, R> =
|
|
955
944
|
internal.forEachWhile
|
|
956
945
|
|
|
957
946
|
/**
|
|
@@ -965,13 +954,13 @@ export const forEachWhile: <In, R, E>(f: (input: In) => Effect.Effect<R, E, bool
|
|
|
965
954
|
* @category sequencing
|
|
966
955
|
*/
|
|
967
956
|
export const flatMap: {
|
|
968
|
-
<
|
|
969
|
-
f: (
|
|
970
|
-
): <
|
|
971
|
-
<
|
|
972
|
-
self: Sink<
|
|
973
|
-
f: (
|
|
974
|
-
): Sink<
|
|
957
|
+
<A, A1, In, In1 extends In, L1, E1, R1>(
|
|
958
|
+
f: (a: A) => Sink<A1, In1, L1, E1, R1>
|
|
959
|
+
): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A1, In & In1, L1 | L, E1 | E, R1 | R>
|
|
960
|
+
<A, In, L, E, R, A1, In1 extends In, L1, E1, R1>(
|
|
961
|
+
self: Sink<A, In, L, E, R>,
|
|
962
|
+
f: (a: A) => Sink<A1, In1, L1, E1, R1>
|
|
963
|
+
): Sink<A1, In & In1, L | L1, E | E1, R | R1>
|
|
975
964
|
} = internal.flatMap
|
|
976
965
|
|
|
977
966
|
/**
|
|
@@ -980,9 +969,9 @@ export const flatMap: {
|
|
|
980
969
|
* @since 2.0.0
|
|
981
970
|
* @category constructors
|
|
982
971
|
*/
|
|
983
|
-
export const fromChannel: <
|
|
984
|
-
channel: Channel.Channel<
|
|
985
|
-
) => Sink<
|
|
972
|
+
export const fromChannel: <L, In, E, A, R>(
|
|
973
|
+
channel: Channel.Channel<Chunk.Chunk<L>, Chunk.Chunk<In>, E, never, A, unknown, R>
|
|
974
|
+
) => Sink<A, In, L, E, R> = internal.fromChannel
|
|
986
975
|
|
|
987
976
|
/**
|
|
988
977
|
* Creates a `Channel` from a Sink.
|
|
@@ -990,9 +979,9 @@ export const fromChannel: <R, E, In, L, Z>(
|
|
|
990
979
|
* @since 2.0.0
|
|
991
980
|
* @category constructors
|
|
992
981
|
*/
|
|
993
|
-
export const toChannel: <
|
|
994
|
-
self: Sink<
|
|
995
|
-
) => Channel.Channel<
|
|
982
|
+
export const toChannel: <A, In, L, E, R>(
|
|
983
|
+
self: Sink<A, In, L, E, R>
|
|
984
|
+
) => Channel.Channel<Chunk.Chunk<L>, Chunk.Chunk<In>, E, never, A, unknown, R> = internal.toChannel
|
|
996
985
|
|
|
997
986
|
/**
|
|
998
987
|
* Creates a single-value sink produced from an effect.
|
|
@@ -1000,7 +989,7 @@ export const toChannel: <R, E, In, L, Z>(
|
|
|
1000
989
|
* @since 2.0.0
|
|
1001
990
|
* @category constructors
|
|
1002
991
|
*/
|
|
1003
|
-
export const fromEffect: <
|
|
992
|
+
export const fromEffect: <A, E, R>(effect: Effect.Effect<A, E, R>) => Sink<A, unknown, never, E, R> =
|
|
1004
993
|
internal.fromEffect
|
|
1005
994
|
|
|
1006
995
|
/**
|
|
@@ -1015,7 +1004,7 @@ export const fromPubSub: <In>(
|
|
|
1015
1004
|
options?: {
|
|
1016
1005
|
readonly shutdown?: boolean | undefined
|
|
1017
1006
|
}
|
|
1018
|
-
) => Sink<
|
|
1007
|
+
) => Sink<void, In> = internal.fromPubSub
|
|
1019
1008
|
|
|
1020
1009
|
/**
|
|
1021
1010
|
* Creates a sink from a chunk processing function.
|
|
@@ -1023,13 +1012,13 @@ export const fromPubSub: <In>(
|
|
|
1023
1012
|
* @since 2.0.0
|
|
1024
1013
|
* @category constructors
|
|
1025
1014
|
*/
|
|
1026
|
-
export const fromPush: <
|
|
1015
|
+
export const fromPush: <In, E, A, L, R>(
|
|
1027
1016
|
push: Effect.Effect<
|
|
1028
|
-
R
|
|
1017
|
+
(_: Option.Option<Chunk.Chunk<In>>) => Effect.Effect<void, readonly [Either.Either<E, A>, Chunk.Chunk<L>], R>,
|
|
1029
1018
|
never,
|
|
1030
|
-
|
|
1019
|
+
R
|
|
1031
1020
|
>
|
|
1032
|
-
) => Sink<
|
|
1021
|
+
) => Sink<A, In, L, E, Exclude<R, Scope.Scope>> = internal.fromPush
|
|
1033
1022
|
|
|
1034
1023
|
/**
|
|
1035
1024
|
* Create a sink which enqueues each element into the specified queue.
|
|
@@ -1043,7 +1032,7 @@ export const fromQueue: <In>(
|
|
|
1043
1032
|
options?: {
|
|
1044
1033
|
readonly shutdown?: boolean | undefined
|
|
1045
1034
|
}
|
|
1046
|
-
) => Sink<
|
|
1035
|
+
) => Sink<void, In> = internal.fromQueue
|
|
1047
1036
|
|
|
1048
1037
|
/**
|
|
1049
1038
|
* Creates a sink containing the first value.
|
|
@@ -1051,7 +1040,7 @@ export const fromQueue: <In>(
|
|
|
1051
1040
|
* @since 2.0.0
|
|
1052
1041
|
* @category constructors
|
|
1053
1042
|
*/
|
|
1054
|
-
export const head: <In>() => Sink<
|
|
1043
|
+
export const head: <In>() => Sink<Option.Option<In>, In, In> = internal.head
|
|
1055
1044
|
|
|
1056
1045
|
/**
|
|
1057
1046
|
* Drains the remaining elements from the stream after the sink finishes
|
|
@@ -1059,7 +1048,7 @@ export const head: <In>() => Sink<never, never, In, In, Option.Option<In>> = int
|
|
|
1059
1048
|
* @since 2.0.0
|
|
1060
1049
|
* @category utils
|
|
1061
1050
|
*/
|
|
1062
|
-
export const ignoreLeftover: <
|
|
1051
|
+
export const ignoreLeftover: <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, never, E, R> =
|
|
1063
1052
|
internal.ignoreLeftover
|
|
1064
1053
|
|
|
1065
1054
|
/**
|
|
@@ -1068,7 +1057,7 @@ export const ignoreLeftover: <R, E, In, L, Z>(self: Sink<R, E, In, L, Z>) => Sin
|
|
|
1068
1057
|
* @since 2.0.0
|
|
1069
1058
|
* @category constructors
|
|
1070
1059
|
*/
|
|
1071
|
-
export const last: <In>() => Sink<
|
|
1060
|
+
export const last: <In>() => Sink<Option.Option<In>, In, In> = internal.last
|
|
1072
1061
|
|
|
1073
1062
|
/**
|
|
1074
1063
|
* Creates a sink that does not consume any input but provides the given chunk
|
|
@@ -1077,7 +1066,7 @@ export const last: <In>() => Sink<never, never, In, In, Option.Option<In>> = int
|
|
|
1077
1066
|
* @since 2.0.0
|
|
1078
1067
|
* @category constructors
|
|
1079
1068
|
*/
|
|
1080
|
-
export const leftover: <L>(chunk: Chunk.Chunk<L>) => Sink<
|
|
1069
|
+
export const leftover: <L>(chunk: Chunk.Chunk<L>) => Sink<void, unknown, L> = internal.leftover
|
|
1081
1070
|
|
|
1082
1071
|
/**
|
|
1083
1072
|
* Transforms this sink's result.
|
|
@@ -1086,8 +1075,8 @@ export const leftover: <L>(chunk: Chunk.Chunk<L>) => Sink<never, never, unknown,
|
|
|
1086
1075
|
* @category mapping
|
|
1087
1076
|
*/
|
|
1088
1077
|
export const map: {
|
|
1089
|
-
<
|
|
1090
|
-
<
|
|
1078
|
+
<A, A2>(f: (a: A) => A2): <In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In, L, E, R>
|
|
1079
|
+
<A, In, L, E, R, A2>(self: Sink<A, In, L, E, R>, f: (a: A) => A2): Sink<A2, In, L, E, R>
|
|
1091
1080
|
} = internal.map
|
|
1092
1081
|
|
|
1093
1082
|
/**
|
|
@@ -1097,13 +1086,13 @@ export const map: {
|
|
|
1097
1086
|
* @category mapping
|
|
1098
1087
|
*/
|
|
1099
1088
|
export const mapEffect: {
|
|
1100
|
-
<
|
|
1101
|
-
f: (
|
|
1102
|
-
): <
|
|
1103
|
-
<
|
|
1104
|
-
self: Sink<
|
|
1105
|
-
f: (
|
|
1106
|
-
): Sink<
|
|
1089
|
+
<A, A2, E2, R2>(
|
|
1090
|
+
f: (a: A) => Effect.Effect<A2, E2, R2>
|
|
1091
|
+
): <In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In, L, E2 | E, R2 | R>
|
|
1092
|
+
<A, In, L, E, R, A2, E2, R2>(
|
|
1093
|
+
self: Sink<A, In, L, E, R>,
|
|
1094
|
+
f: (a: A) => Effect.Effect<A2, E2, R2>
|
|
1095
|
+
): Sink<A2, In, L, E | E2, R | R2>
|
|
1107
1096
|
} = internal.mapEffect
|
|
1108
1097
|
|
|
1109
1098
|
/**
|
|
@@ -1113,8 +1102,8 @@ export const mapEffect: {
|
|
|
1113
1102
|
* @category mapping
|
|
1114
1103
|
*/
|
|
1115
1104
|
export const mapError: {
|
|
1116
|
-
<E, E2>(f: (error: E) => E2): <
|
|
1117
|
-
<
|
|
1105
|
+
<E, E2>(f: (error: E) => E2): <A, In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E2, R>
|
|
1106
|
+
<A, In, L, E, R, E2>(self: Sink<A, In, L, E, R>, f: (error: E) => E2): Sink<A, In, L, E2, R>
|
|
1118
1107
|
} = internal.mapError
|
|
1119
1108
|
|
|
1120
1109
|
/**
|
|
@@ -1124,8 +1113,8 @@ export const mapError: {
|
|
|
1124
1113
|
* @category mapping
|
|
1125
1114
|
*/
|
|
1126
1115
|
export const mapLeftover: {
|
|
1127
|
-
<L, L2>(f: (leftover: L) => L2): <
|
|
1128
|
-
<
|
|
1116
|
+
<L, L2>(f: (leftover: L) => L2): <A, In, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L2, E, R>
|
|
1117
|
+
<A, In, L, E, R, L2>(self: Sink<A, In, L, E, R>, f: (leftover: L) => L2): Sink<A, In, L2, E, R>
|
|
1129
1118
|
} = internal.mapLeftover
|
|
1130
1119
|
|
|
1131
1120
|
/**
|
|
@@ -1134,7 +1123,7 @@ export const mapLeftover: {
|
|
|
1134
1123
|
* @since 2.0.0
|
|
1135
1124
|
* @category constructors
|
|
1136
1125
|
*/
|
|
1137
|
-
export const mkString: Sink<
|
|
1126
|
+
export const mkString: Sink<string, unknown> = internal.mkString
|
|
1138
1127
|
|
|
1139
1128
|
/**
|
|
1140
1129
|
* Creates a sink which never terminates.
|
|
@@ -1142,7 +1131,7 @@ export const mkString: Sink<never, never, unknown, never, string> = internal.mkS
|
|
|
1142
1131
|
* @since 2.0.0
|
|
1143
1132
|
* @category constructors
|
|
1144
1133
|
*/
|
|
1145
|
-
export const never: Sink<never,
|
|
1134
|
+
export const never: Sink<never, unknown> = internal.never
|
|
1146
1135
|
|
|
1147
1136
|
/**
|
|
1148
1137
|
* Switch to another sink in case of failure
|
|
@@ -1151,13 +1140,13 @@ export const never: Sink<never, never, unknown, never, never> = internal.never
|
|
|
1151
1140
|
* @category error handling
|
|
1152
1141
|
*/
|
|
1153
1142
|
export const orElse: {
|
|
1154
|
-
<
|
|
1155
|
-
that: LazyArg<Sink<
|
|
1156
|
-
): <
|
|
1157
|
-
<
|
|
1158
|
-
self: Sink<
|
|
1159
|
-
that: LazyArg<Sink<
|
|
1160
|
-
): Sink<
|
|
1143
|
+
<A2, In2, L2, E2, R2>(
|
|
1144
|
+
that: LazyArg<Sink<A2, In2, L2, E2, R2>>
|
|
1145
|
+
): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2 | A, In & In2, L2 | L, E2 | E, R2 | R>
|
|
1146
|
+
<A, In, L, E, R, A2, In2, L2, E2, R2>(
|
|
1147
|
+
self: Sink<A, In, L, E, R>,
|
|
1148
|
+
that: LazyArg<Sink<A2, In2, L2, E2, R2>>
|
|
1149
|
+
): Sink<A | A2, In & In2, L | L2, E | E2, R | R2>
|
|
1161
1150
|
} = internal.orElse
|
|
1162
1151
|
|
|
1163
1152
|
/**
|
|
@@ -1168,8 +1157,8 @@ export const orElse: {
|
|
|
1168
1157
|
* @category context
|
|
1169
1158
|
*/
|
|
1170
1159
|
export const provideContext: {
|
|
1171
|
-
<R>(context: Context.Context<R>): <
|
|
1172
|
-
<
|
|
1160
|
+
<R>(context: Context.Context<R>): <A, In, L, E>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E, never>
|
|
1161
|
+
<A, In, L, E, R>(self: Sink<A, In, L, E, R>, context: Context.Context<R>): Sink<A, In, L, E, never>
|
|
1173
1162
|
} = internal.provideContext
|
|
1174
1163
|
|
|
1175
1164
|
/**
|
|
@@ -1180,13 +1169,13 @@ export const provideContext: {
|
|
|
1180
1169
|
* @category utils
|
|
1181
1170
|
*/
|
|
1182
1171
|
export const race: {
|
|
1183
|
-
<R1, E1, In1, L1,
|
|
1184
|
-
that: Sink<
|
|
1185
|
-
): <R, E, In, L,
|
|
1186
|
-
<
|
|
1187
|
-
self: Sink<
|
|
1188
|
-
that: Sink<
|
|
1189
|
-
): Sink<
|
|
1172
|
+
<R1, E1, In1, L1, A1>(
|
|
1173
|
+
that: Sink<A1, In1, L1, E1, R1>
|
|
1174
|
+
): <R, E, In, L, A>(self: Sink<A, In, L, E, R>) => Sink<A1 | A, In & In1, L1 | L, E1 | E, R1 | R>
|
|
1175
|
+
<A, In, L, E, R, A1, In1, L1, E1, R1>(
|
|
1176
|
+
self: Sink<A, In, L, E, R>,
|
|
1177
|
+
that: Sink<A1, In1, L1, E1, R1>
|
|
1178
|
+
): Sink<A | A1, In & In1, L | L1, E | E1, R | R1>
|
|
1190
1179
|
} = internal.race
|
|
1191
1180
|
|
|
1192
1181
|
/**
|
|
@@ -1197,19 +1186,15 @@ export const race: {
|
|
|
1197
1186
|
* @category utils
|
|
1198
1187
|
*/
|
|
1199
1188
|
export const raceBoth: {
|
|
1200
|
-
<
|
|
1201
|
-
that: Sink<
|
|
1202
|
-
options?: {
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
options?: {
|
|
1210
|
-
readonly capacity?: number | undefined
|
|
1211
|
-
}
|
|
1212
|
-
): Sink<R | R1, E | E1, In & In1, L | L1, Either.Either<Z, Z1>>
|
|
1189
|
+
<A1, In1, L1, E1, R1>(
|
|
1190
|
+
that: Sink<A1, In1, L1, E1, R1>,
|
|
1191
|
+
options?: { readonly capacity?: number | undefined } | undefined
|
|
1192
|
+
): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<Either.Either<A, A1>, In & In1, L1 | L, E1 | E, R1 | R>
|
|
1193
|
+
<A, In, L, E, R, A1, In1, L1, E1, R1>(
|
|
1194
|
+
self: Sink<A, In, L, E, R>,
|
|
1195
|
+
that: Sink<A1, In1, L1, E1, R1>,
|
|
1196
|
+
options?: { readonly capacity?: number | undefined } | undefined
|
|
1197
|
+
): Sink<Either.Either<A, A1>, In & In1, L | L1, E | E1, R | R1>
|
|
1213
1198
|
} = internal.raceBoth
|
|
1214
1199
|
|
|
1215
1200
|
/**
|
|
@@ -1220,23 +1205,23 @@ export const raceBoth: {
|
|
|
1220
1205
|
* @category utils
|
|
1221
1206
|
*/
|
|
1222
1207
|
export const raceWith: {
|
|
1223
|
-
<
|
|
1208
|
+
<A2, In2, L2, E2, R2, A, E, A3, A4>(
|
|
1224
1209
|
options: {
|
|
1225
|
-
readonly other: Sink<
|
|
1226
|
-
readonly onSelfDone: (exit: Exit.Exit<
|
|
1227
|
-
readonly onOtherDone: (exit: Exit.Exit<
|
|
1210
|
+
readonly other: Sink<A2, In2, L2, E2, R2>
|
|
1211
|
+
readonly onSelfDone: (exit: Exit.Exit<A, E>) => MergeDecision.MergeDecision<R2, E2, A2, E2 | E, A3>
|
|
1212
|
+
readonly onOtherDone: (exit: Exit.Exit<A2, E2>) => MergeDecision.MergeDecision<R2, E, A, E2 | E, A4>
|
|
1228
1213
|
readonly capacity?: number | undefined
|
|
1229
1214
|
}
|
|
1230
|
-
): <
|
|
1231
|
-
<
|
|
1232
|
-
self: Sink<
|
|
1215
|
+
): <In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A3 | A4, In & In2, L2 | L, E2 | E, R2 | R>
|
|
1216
|
+
<A, In, L, E, R, A2, In2, L2, E2, R2, A3, A4>(
|
|
1217
|
+
self: Sink<A, In, L, E, R>,
|
|
1233
1218
|
options: {
|
|
1234
|
-
readonly other: Sink<
|
|
1235
|
-
readonly onSelfDone: (exit: Exit.Exit<
|
|
1236
|
-
readonly onOtherDone: (exit: Exit.Exit<
|
|
1219
|
+
readonly other: Sink<A2, In2, L2, E2, R2>
|
|
1220
|
+
readonly onSelfDone: (exit: Exit.Exit<A, E>) => MergeDecision.MergeDecision<R2, E2, A2, E | E2, A3>
|
|
1221
|
+
readonly onOtherDone: (exit: Exit.Exit<A2, E2>) => MergeDecision.MergeDecision<R2, E, A, E | E2, A4>
|
|
1237
1222
|
readonly capacity?: number | undefined
|
|
1238
1223
|
}
|
|
1239
|
-
): Sink<
|
|
1224
|
+
): Sink<A3 | A4, In & In2, L | L2, E | E2, R | R2>
|
|
1240
1225
|
} = internal.raceWith
|
|
1241
1226
|
|
|
1242
1227
|
/**
|
|
@@ -1244,18 +1229,25 @@ export const raceWith: {
|
|
|
1244
1229
|
* @category error handling
|
|
1245
1230
|
*/
|
|
1246
1231
|
export const refineOrDie: {
|
|
1247
|
-
<E, E2>(pf: (error: E) => Option.Option<E2>): <
|
|
1248
|
-
<
|
|
1232
|
+
<E, E2>(pf: (error: E) => Option.Option<E2>): <A, In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E2, R>
|
|
1233
|
+
<A, In, L, E, R, E2>(self: Sink<A, In, L, E, R>, pf: (error: E) => Option.Option<E2>): Sink<A, In, L, E2, R>
|
|
1249
1234
|
} = internal.refineOrDie
|
|
1250
1235
|
|
|
1251
1236
|
/**
|
|
1252
1237
|
* @since 2.0.0
|
|
1253
1238
|
* @category error handling
|
|
1254
1239
|
*/
|
|
1255
|
-
export const refineOrDieWith:
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1240
|
+
export const refineOrDieWith: {
|
|
1241
|
+
<E, E2>(
|
|
1242
|
+
pf: (error: E) => Option.Option<E2>,
|
|
1243
|
+
f: (error: E) => unknown
|
|
1244
|
+
): <A, In, L, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, L, E2, R>
|
|
1245
|
+
<A, In, L, E, R, E2>(
|
|
1246
|
+
self: Sink<A, In, L, E, R>,
|
|
1247
|
+
pf: (error: E) => Option.Option<E2>,
|
|
1248
|
+
f: (error: E) => unknown
|
|
1249
|
+
): Sink<A, In, L, E2, R>
|
|
1250
|
+
} = internal.refineOrDieWith
|
|
1259
1251
|
|
|
1260
1252
|
/**
|
|
1261
1253
|
* A sink that returns whether an element satisfies the specified predicate.
|
|
@@ -1263,7 +1255,7 @@ export const refineOrDieWith: <E, E2>(
|
|
|
1263
1255
|
* @since 2.0.0
|
|
1264
1256
|
* @category constructors
|
|
1265
1257
|
*/
|
|
1266
|
-
export const some: <In>(predicate: Predicate<In>) => Sink<
|
|
1258
|
+
export const some: <In>(predicate: Predicate<In>) => Sink<boolean, In, In> = internal.some
|
|
1267
1259
|
|
|
1268
1260
|
/**
|
|
1269
1261
|
* Splits the sink on the specified predicate, returning a new sink that
|
|
@@ -1274,8 +1266,8 @@ export const some: <In>(predicate: Predicate<In>) => Sink<never, never, In, In,
|
|
|
1274
1266
|
* @category utils
|
|
1275
1267
|
*/
|
|
1276
1268
|
export const splitWhere: {
|
|
1277
|
-
<In>(f: Predicate<In>): <
|
|
1278
|
-
<
|
|
1269
|
+
<In>(f: Predicate<In>): <A, L extends In, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In, In, E, R>
|
|
1270
|
+
<A, In, L extends In, E, R>(self: Sink<A, In, L, E, R>, f: Predicate<In>): Sink<A, In, In, E, R>
|
|
1279
1271
|
} = internal.splitWhere
|
|
1280
1272
|
|
|
1281
1273
|
/**
|
|
@@ -1284,7 +1276,7 @@ export const splitWhere: {
|
|
|
1284
1276
|
* @since 2.0.0
|
|
1285
1277
|
* @category constructors
|
|
1286
1278
|
*/
|
|
1287
|
-
export const succeed: <
|
|
1279
|
+
export const succeed: <A>(a: A) => Sink<A, unknown> = internal.succeed
|
|
1288
1280
|
|
|
1289
1281
|
/**
|
|
1290
1282
|
* A sink that sums incoming numeric values.
|
|
@@ -1292,7 +1284,7 @@ export const succeed: <Z>(z: Z) => Sink<never, never, unknown, never, Z> = inter
|
|
|
1292
1284
|
* @since 2.0.0
|
|
1293
1285
|
* @category constructors
|
|
1294
1286
|
*/
|
|
1295
|
-
export const sum: Sink<
|
|
1287
|
+
export const sum: Sink<number, number> = internal.sum
|
|
1296
1288
|
|
|
1297
1289
|
/**
|
|
1298
1290
|
* Summarize a sink by running an effect when the sink starts and again when
|
|
@@ -1302,15 +1294,15 @@ export const sum: Sink<never, never, number, never, number> = internal.sum
|
|
|
1302
1294
|
* @category utils
|
|
1303
1295
|
*/
|
|
1304
1296
|
export const summarized: {
|
|
1305
|
-
<
|
|
1306
|
-
summary: Effect.Effect<
|
|
1307
|
-
f: (start:
|
|
1308
|
-
): <
|
|
1309
|
-
<
|
|
1310
|
-
self: Sink<
|
|
1311
|
-
summary: Effect.Effect<
|
|
1312
|
-
f: (start:
|
|
1313
|
-
): Sink<
|
|
1297
|
+
<A2, E2, R2, A3>(
|
|
1298
|
+
summary: Effect.Effect<A2, E2, R2>,
|
|
1299
|
+
f: (start: A2, end: A2) => A3
|
|
1300
|
+
): <A, In, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<[A, A3], In, L, E2 | E, R2 | R>
|
|
1301
|
+
<A, In, L, E, R, A2, E2, R2, A3>(
|
|
1302
|
+
self: Sink<A, In, L, E, R>,
|
|
1303
|
+
summary: Effect.Effect<A2, E2, R2>,
|
|
1304
|
+
f: (start: A2, end: A2) => A3
|
|
1305
|
+
): Sink<[A, A3], In, L, E | E2, R | R2>
|
|
1314
1306
|
} = internal.summarized
|
|
1315
1307
|
|
|
1316
1308
|
/**
|
|
@@ -1320,7 +1312,7 @@ export const summarized: {
|
|
|
1320
1312
|
* @since 2.0.0
|
|
1321
1313
|
* @category constructors
|
|
1322
1314
|
*/
|
|
1323
|
-
export const suspend: <
|
|
1315
|
+
export const suspend: <A, In, L, E, R>(evaluate: LazyArg<Sink<A, In, L, E, R>>) => Sink<A, In, L, E, R> =
|
|
1324
1316
|
internal.suspend
|
|
1325
1317
|
|
|
1326
1318
|
/**
|
|
@@ -1329,7 +1321,7 @@ export const suspend: <R, E, In, L, Z>(evaluate: LazyArg<Sink<R, E, In, L, Z>>)
|
|
|
1329
1321
|
* @since 2.0.0
|
|
1330
1322
|
* @category constructors
|
|
1331
1323
|
*/
|
|
1332
|
-
export const sync: <
|
|
1324
|
+
export const sync: <A>(evaluate: LazyArg<A>) => Sink<A, unknown> = internal.sync
|
|
1333
1325
|
|
|
1334
1326
|
/**
|
|
1335
1327
|
* A sink that takes the specified number of values.
|
|
@@ -1337,13 +1329,13 @@ export const sync: <Z>(evaluate: LazyArg<Z>) => Sink<never, never, unknown, neve
|
|
|
1337
1329
|
* @since 2.0.0
|
|
1338
1330
|
* @category constructors
|
|
1339
1331
|
*/
|
|
1340
|
-
export const take: <In>(n: number) => Sink<
|
|
1332
|
+
export const take: <In>(n: number) => Sink<Chunk.Chunk<In>, In, In> = internal.take
|
|
1341
1333
|
|
|
1342
1334
|
/**
|
|
1343
1335
|
* @since 2.0.0
|
|
1344
1336
|
* @category constructors
|
|
1345
1337
|
*/
|
|
1346
|
-
export const timed: Sink<
|
|
1338
|
+
export const timed: Sink<Duration.Duration, unknown> = internal.timed
|
|
1347
1339
|
|
|
1348
1340
|
/**
|
|
1349
1341
|
* Creates a sink produced from an effect.
|
|
@@ -1351,9 +1343,9 @@ export const timed: Sink<never, never, unknown, never, Duration.Duration> = inte
|
|
|
1351
1343
|
* @since 2.0.0
|
|
1352
1344
|
* @category constructors
|
|
1353
1345
|
*/
|
|
1354
|
-
export const unwrap: <
|
|
1355
|
-
effect: Effect.Effect<
|
|
1356
|
-
) => Sink<
|
|
1346
|
+
export const unwrap: <A, In, L, E2, R2, E, R>(
|
|
1347
|
+
effect: Effect.Effect<Sink<A, In, L, E2, R2>, E, R>
|
|
1348
|
+
) => Sink<A, In, L, E2 | E, R2 | R> = internal.unwrap
|
|
1357
1349
|
|
|
1358
1350
|
/**
|
|
1359
1351
|
* Creates a sink produced from a scoped effect.
|
|
@@ -1361,9 +1353,9 @@ export const unwrap: <R, E, R2, E2, In, L, Z>(
|
|
|
1361
1353
|
* @since 2.0.0
|
|
1362
1354
|
* @category constructors
|
|
1363
1355
|
*/
|
|
1364
|
-
export const unwrapScoped: <
|
|
1365
|
-
effect: Effect.Effect<
|
|
1366
|
-
) => Sink<
|
|
1356
|
+
export const unwrapScoped: <A, In, L, E, R>(
|
|
1357
|
+
effect: Effect.Effect<Sink<A, In, L, E, R>, E, R>
|
|
1358
|
+
) => Sink<A, In, L, E, Exclude<R, Scope.Scope>> = internal.unwrapScoped
|
|
1367
1359
|
|
|
1368
1360
|
/**
|
|
1369
1361
|
* Returns the sink that executes this one and times its execution.
|
|
@@ -1371,9 +1363,9 @@ export const unwrapScoped: <R, E, In, L, Z>(
|
|
|
1371
1363
|
* @since 2.0.0
|
|
1372
1364
|
* @category utils
|
|
1373
1365
|
*/
|
|
1374
|
-
export const withDuration: <
|
|
1375
|
-
self: Sink<
|
|
1376
|
-
) => Sink<
|
|
1366
|
+
export const withDuration: <A, In, L, E, R>(
|
|
1367
|
+
self: Sink<A, In, L, E, R>
|
|
1368
|
+
) => Sink<[A, Duration.Duration], In, L, E, R> = internal.withDuration
|
|
1377
1369
|
|
|
1378
1370
|
/**
|
|
1379
1371
|
* Feeds inputs to this sink until it yields a result, then switches over to
|
|
@@ -1384,19 +1376,15 @@ export const withDuration: <R, E, In, L, Z>(
|
|
|
1384
1376
|
* @category zipping
|
|
1385
1377
|
*/
|
|
1386
1378
|
export const zip: {
|
|
1387
|
-
<
|
|
1388
|
-
that: Sink<
|
|
1389
|
-
options?: {
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
options?: {
|
|
1397
|
-
readonly concurrent?: boolean | undefined
|
|
1398
|
-
}
|
|
1399
|
-
): Sink<R | R2, E | E2, In & In2, L | L2, [Z, Z2]>
|
|
1379
|
+
<A2, In, In2 extends In, L2, E2, R2>(
|
|
1380
|
+
that: Sink<A2, In2, L2, E2, R2>,
|
|
1381
|
+
options?: { readonly concurrent?: boolean | undefined } | undefined
|
|
1382
|
+
): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<[A, A2], In & In2, L2 | L, E2 | E, R2 | R>
|
|
1383
|
+
<A, In, L, E, R, A2, In2 extends In, L2, E2, R2>(
|
|
1384
|
+
self: Sink<A, In, L, E, R>,
|
|
1385
|
+
that: Sink<A2, In2, L2, E2, R2>,
|
|
1386
|
+
options?: { readonly concurrent?: boolean | undefined } | undefined
|
|
1387
|
+
): Sink<[A, A2], In & In2, L | L2, E | E2, R | R2>
|
|
1400
1388
|
} = internal.zip
|
|
1401
1389
|
|
|
1402
1390
|
/**
|
|
@@ -1406,19 +1394,15 @@ export const zip: {
|
|
|
1406
1394
|
* @category zipping
|
|
1407
1395
|
*/
|
|
1408
1396
|
export const zipLeft: {
|
|
1409
|
-
<
|
|
1410
|
-
that: Sink<
|
|
1411
|
-
options?: {
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
options?: {
|
|
1419
|
-
readonly concurrent?: boolean | undefined
|
|
1420
|
-
}
|
|
1421
|
-
): Sink<R | R2, E | E2, In & In2, L | L2, Z>
|
|
1397
|
+
<A2, In, In2 extends In, L2, E2, R2>(
|
|
1398
|
+
that: Sink<A2, In2, L2, E2, R2>,
|
|
1399
|
+
options?: { readonly concurrent?: boolean | undefined } | undefined
|
|
1400
|
+
): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A, In & In2, L2 | L, E2 | E, R2 | R>
|
|
1401
|
+
<A, In, L, E, R, A2, In2 extends In, L2, E2, R2>(
|
|
1402
|
+
self: Sink<A, In, L, E, R>,
|
|
1403
|
+
that: Sink<A2, In2, L2, E2, R2>,
|
|
1404
|
+
options?: { readonly concurrent?: boolean | undefined } | undefined
|
|
1405
|
+
): Sink<A, In & In2, L | L2, E | E2, R | R2>
|
|
1422
1406
|
} = internal.zipLeft
|
|
1423
1407
|
|
|
1424
1408
|
/**
|
|
@@ -1428,19 +1412,15 @@ export const zipLeft: {
|
|
|
1428
1412
|
* @category zipping
|
|
1429
1413
|
*/
|
|
1430
1414
|
export const zipRight: {
|
|
1431
|
-
<
|
|
1432
|
-
that: Sink<
|
|
1433
|
-
options?: {
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
options?: {
|
|
1441
|
-
readonly concurrent?: boolean | undefined
|
|
1442
|
-
}
|
|
1443
|
-
): Sink<R | R2, E | E2, In & In2, L | L2, Z2>
|
|
1415
|
+
<A2, In, In2 extends In, L2, E2, R2>(
|
|
1416
|
+
that: Sink<A2, In2, L2, E2, R2>,
|
|
1417
|
+
options?: { readonly concurrent?: boolean | undefined } | undefined
|
|
1418
|
+
): <A, L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A2, In & In2, L2 | L, E2 | E, R2 | R>
|
|
1419
|
+
<A, In, L, E, R, A2, In2 extends In, L2, E2, R2>(
|
|
1420
|
+
self: Sink<A, In, L, E, R>,
|
|
1421
|
+
that: Sink<A2, In2, L2, E2, R2>,
|
|
1422
|
+
options?: { readonly concurrent?: boolean | undefined } | undefined
|
|
1423
|
+
): Sink<A2, In & In2, L | L2, E | E2, R | R2>
|
|
1444
1424
|
} = internal.zipRight
|
|
1445
1425
|
|
|
1446
1426
|
/**
|
|
@@ -1452,19 +1432,15 @@ export const zipRight: {
|
|
|
1452
1432
|
* @category zipping
|
|
1453
1433
|
*/
|
|
1454
1434
|
export const zipWith: {
|
|
1455
|
-
<
|
|
1456
|
-
that: Sink<
|
|
1457
|
-
f: (
|
|
1458
|
-
options?: {
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
options?: {
|
|
1467
|
-
readonly concurrent?: boolean | undefined
|
|
1468
|
-
}
|
|
1469
|
-
): Sink<R | R2, E | E2, In & In2, L | L2, Z3>
|
|
1435
|
+
<A2, In, In2 extends In, L2, E2, R2, A, A3>(
|
|
1436
|
+
that: Sink<A2, In2, L2, E2, R2>,
|
|
1437
|
+
f: (a: A, a2: A2) => A3,
|
|
1438
|
+
options?: { readonly concurrent?: boolean | undefined } | undefined
|
|
1439
|
+
): <L, E, R>(self: Sink<A, In, L, E, R>) => Sink<A3, In & In2, L2 | L, E2 | E, R2 | R>
|
|
1440
|
+
<A, In, L, E, R, A2, In2 extends In, L2, E2, R2, A3>(
|
|
1441
|
+
self: Sink<A, In, L, E, R>,
|
|
1442
|
+
that: Sink<A2, In2, L2, E2, R2>,
|
|
1443
|
+
f: (a: A, a2: A2) => A3,
|
|
1444
|
+
options?: { readonly concurrent?: boolean | undefined } | undefined
|
|
1445
|
+
): Sink<A3, In & In2, L | L2, E | E2, R | R2>
|
|
1470
1446
|
} = internal.zipWith
|