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/internal/schedule.ts
CHANGED
|
@@ -18,6 +18,7 @@ import type * as Schedule from "../Schedule.js"
|
|
|
18
18
|
import * as ScheduleDecision from "../ScheduleDecision.js"
|
|
19
19
|
import * as Interval from "../ScheduleInterval.js"
|
|
20
20
|
import * as Intervals from "../ScheduleIntervals.js"
|
|
21
|
+
import type * as Types from "../Types.js"
|
|
21
22
|
import * as internalCause from "./cause.js"
|
|
22
23
|
import * as effect from "./core-effect.js"
|
|
23
24
|
import * as core from "./core.js"
|
|
@@ -69,7 +70,7 @@ class ScheduleImpl<S, Env, In, Out> implements Schedule.Schedule<Env, In, Out> {
|
|
|
69
70
|
now: number,
|
|
70
71
|
input: In,
|
|
71
72
|
state: S
|
|
72
|
-
) => Effect.Effect<
|
|
73
|
+
) => Effect.Effect<readonly [S, Out, ScheduleDecision.ScheduleDecision], never, Env>
|
|
73
74
|
) {
|
|
74
75
|
}
|
|
75
76
|
pipe() {
|
|
@@ -86,11 +87,11 @@ class ScheduleDriverImpl<Env, In, Out> implements Schedule.ScheduleDriver<Env, I
|
|
|
86
87
|
readonly ref: Ref.Ref<readonly [Option.Option<Out>, any]>
|
|
87
88
|
) {}
|
|
88
89
|
|
|
89
|
-
get state(): Effect.Effect<
|
|
90
|
+
get state(): Effect.Effect<unknown> {
|
|
90
91
|
return core.map(ref.get(this.ref), (tuple) => tuple[1])
|
|
91
92
|
}
|
|
92
93
|
|
|
93
|
-
get last(): Effect.Effect<
|
|
94
|
+
get last(): Effect.Effect<Out, Cause.NoSuchElementException> {
|
|
94
95
|
return core.flatMap(ref.get(this.ref), ([element, _]) => {
|
|
95
96
|
switch (element._tag) {
|
|
96
97
|
case "None": {
|
|
@@ -103,11 +104,11 @@ class ScheduleDriverImpl<Env, In, Out> implements Schedule.ScheduleDriver<Env, I
|
|
|
103
104
|
})
|
|
104
105
|
}
|
|
105
106
|
|
|
106
|
-
get reset(): Effect.Effect<
|
|
107
|
+
get reset(): Effect.Effect<void> {
|
|
107
108
|
return ref.set(this.ref, [Option.none(), this.schedule.initial])
|
|
108
109
|
}
|
|
109
110
|
|
|
110
|
-
next(input: In): Effect.Effect<
|
|
111
|
+
next(input: In): Effect.Effect<Out, Option.Option<never>, Env> {
|
|
111
112
|
return pipe(
|
|
112
113
|
core.map(ref.get(this.ref), (tuple) => tuple[1]),
|
|
113
114
|
core.flatMap((state) =>
|
|
@@ -146,7 +147,7 @@ export const makeWithState = <S, Env, In, Out>(
|
|
|
146
147
|
now: number,
|
|
147
148
|
input: In,
|
|
148
149
|
state: S
|
|
149
|
-
) => Effect.Effect<
|
|
150
|
+
) => Effect.Effect<readonly [S, Out, ScheduleDecision.ScheduleDecision], never, Env>
|
|
150
151
|
): Schedule.Schedule<Env, In, Out> => new ScheduleImpl(initial, step)
|
|
151
152
|
|
|
152
153
|
/** @internal */
|
|
@@ -163,11 +164,11 @@ export const addDelay = dual<
|
|
|
163
164
|
/** @internal */
|
|
164
165
|
export const addDelayEffect = dual<
|
|
165
166
|
<Out, Env2>(
|
|
166
|
-
f: (out: Out) => Effect.Effect<
|
|
167
|
+
f: (out: Out) => Effect.Effect<Duration.DurationInput, never, Env2>
|
|
167
168
|
) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
|
|
168
169
|
<Env, In, Out, Env2>(
|
|
169
170
|
self: Schedule.Schedule<Env, In, Out>,
|
|
170
|
-
f: (out: Out) => Effect.Effect<
|
|
171
|
+
f: (out: Out) => Effect.Effect<Duration.DurationInput, never, Env2>
|
|
171
172
|
) => Schedule.Schedule<Env | Env2, In, Out>
|
|
172
173
|
>(2, (self, f) =>
|
|
173
174
|
modifyDelayEffect(self, (out, duration) =>
|
|
@@ -309,11 +310,11 @@ export const check = dual<
|
|
|
309
310
|
/** @internal */
|
|
310
311
|
export const checkEffect = dual<
|
|
311
312
|
<In, Out, Env2>(
|
|
312
|
-
test: (input: In, output: Out) => Effect.Effect<
|
|
313
|
+
test: (input: In, output: Out) => Effect.Effect<boolean, never, Env2>
|
|
313
314
|
) => <Env>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
|
|
314
315
|
<Env, In, Out, Env2>(
|
|
315
316
|
self: Schedule.Schedule<Env, In, Out>,
|
|
316
|
-
test: (input: In, output: Out) => Effect.Effect<
|
|
317
|
+
test: (input: In, output: Out) => Effect.Effect<boolean, never, Env2>
|
|
317
318
|
) => Schedule.Schedule<Env | Env2, In, Out>
|
|
318
319
|
>(2, (self, test) =>
|
|
319
320
|
makeWithState(
|
|
@@ -344,7 +345,7 @@ export const collectUntil = <A>(f: Predicate<A>): Schedule.Schedule<never, A, Ch
|
|
|
344
345
|
|
|
345
346
|
/** @internal */
|
|
346
347
|
export const collectUntilEffect = <Env, A>(
|
|
347
|
-
f: (a: A) => Effect.Effect<
|
|
348
|
+
f: (a: A) => Effect.Effect<boolean, never, Env>
|
|
348
349
|
): Schedule.Schedule<Env, A, Chunk.Chunk<A>> => collectAllOutputs(recurUntilEffect(f))
|
|
349
350
|
|
|
350
351
|
/** @internal */
|
|
@@ -353,7 +354,7 @@ export const collectWhile = <A>(f: Predicate<A>): Schedule.Schedule<never, A, Ch
|
|
|
353
354
|
|
|
354
355
|
/** @internal */
|
|
355
356
|
export const collectWhileEffect = <Env, A>(
|
|
356
|
-
f: (a: A) => Effect.Effect<
|
|
357
|
+
f: (a: A) => Effect.Effect<boolean, never, Env>
|
|
357
358
|
): Schedule.Schedule<Env, A, Chunk.Chunk<A>> => collectAllOutputs(recurWhileEffect(f))
|
|
358
359
|
|
|
359
360
|
/** @internal */
|
|
@@ -414,11 +415,11 @@ export const mapInputContext = dual<
|
|
|
414
415
|
/** @internal */
|
|
415
416
|
export const mapInputEffect = dual<
|
|
416
417
|
<In, Env2, In2>(
|
|
417
|
-
f: (in2: In2) => Effect.Effect<
|
|
418
|
+
f: (in2: In2) => Effect.Effect<In, never, Env2>
|
|
418
419
|
) => <Env, Out>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In2, Out>,
|
|
419
420
|
<Env, In, Out, Env2, In2>(
|
|
420
421
|
self: Schedule.Schedule<Env, In, Out>,
|
|
421
|
-
f: (in2: In2) => Effect.Effect<
|
|
422
|
+
f: (in2: In2) => Effect.Effect<In, never, Env2>
|
|
422
423
|
) => Schedule.Schedule<Env | Env2, In2, Out>
|
|
423
424
|
>(2, (self, f) =>
|
|
424
425
|
makeWithState(self.initial, (now, input2, state) =>
|
|
@@ -540,11 +541,11 @@ export const delayed = dual<
|
|
|
540
541
|
/** @internal */
|
|
541
542
|
export const delayedEffect = dual<
|
|
542
543
|
<Env2>(
|
|
543
|
-
f: (duration: Duration.Duration) => Effect.Effect<
|
|
544
|
+
f: (duration: Duration.Duration) => Effect.Effect<Duration.DurationInput, never, Env2>
|
|
544
545
|
) => <Env, In, Out>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
|
|
545
546
|
<Env, In, Out, Env2>(
|
|
546
547
|
self: Schedule.Schedule<Env, In, Out>,
|
|
547
|
-
f: (duration: Duration.Duration) => Effect.Effect<
|
|
548
|
+
f: (duration: Duration.Duration) => Effect.Effect<Duration.DurationInput, never, Env2>
|
|
548
549
|
) => Schedule.Schedule<Env | Env2, In, Out>
|
|
549
550
|
>(2, (self, f) => modifyDelayEffect(self, (_, delay) => f(delay)))
|
|
550
551
|
|
|
@@ -562,7 +563,7 @@ export const delays = <Env, In, Out>(
|
|
|
562
563
|
self.step(now, input, state),
|
|
563
564
|
core.flatMap((
|
|
564
565
|
[state, _, decision]
|
|
565
|
-
): Effect.Effect<
|
|
566
|
+
): Effect.Effect<[any, Duration.Duration, ScheduleDecision.ScheduleDecision]> => {
|
|
566
567
|
if (ScheduleDecision.isDone(decision)) {
|
|
567
568
|
return core.succeed([state, Duration.zero, decision])
|
|
568
569
|
}
|
|
@@ -597,15 +598,15 @@ export const mapBoth = dual<
|
|
|
597
598
|
export const mapBothEffect = dual<
|
|
598
599
|
<In2, Env2, In, Out, Env3, Out2>(
|
|
599
600
|
options: {
|
|
600
|
-
readonly onInput: (input: In2) => Effect.Effect<
|
|
601
|
-
readonly onOutput: (out: Out) => Effect.Effect<
|
|
601
|
+
readonly onInput: (input: In2) => Effect.Effect<In, never, Env2>
|
|
602
|
+
readonly onOutput: (out: Out) => Effect.Effect<Out2, never, Env3>
|
|
602
603
|
}
|
|
603
604
|
) => <Env>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2 | Env3, In2, Out2>,
|
|
604
605
|
<Env, In, Out, In2, Env2, Env3, Out2>(
|
|
605
606
|
self: Schedule.Schedule<Env, In, Out>,
|
|
606
607
|
options: {
|
|
607
|
-
readonly onInput: (input: In2) => Effect.Effect<
|
|
608
|
-
readonly onOutput: (out: Out) => Effect.Effect<
|
|
608
|
+
readonly onInput: (input: In2) => Effect.Effect<In, never, Env2>
|
|
609
|
+
readonly onOutput: (out: Out) => Effect.Effect<Out2, never, Env3>
|
|
609
610
|
}
|
|
610
611
|
) => Schedule.Schedule<Env | Env2 | Env3, In2, Out2>
|
|
611
612
|
>(2, (self, { onInput, onOutput }) => mapEffect(mapInputEffect(self, onInput), onOutput))
|
|
@@ -613,7 +614,7 @@ export const mapBothEffect = dual<
|
|
|
613
614
|
/** @internal */
|
|
614
615
|
export const driver = <Env, In, Out>(
|
|
615
616
|
self: Schedule.Schedule<Env, In, Out>
|
|
616
|
-
): Effect.Effect<
|
|
617
|
+
): Effect.Effect<Schedule.ScheduleDriver<Env, In, Out>> =>
|
|
617
618
|
pipe(
|
|
618
619
|
ref.make<readonly [Option.Option<Out>, any]>([Option.none(), self.initial]),
|
|
619
620
|
core.map((ref) => new ScheduleDriverImpl(self, ref))
|
|
@@ -680,11 +681,11 @@ export const eitherWith = dual<
|
|
|
680
681
|
/** @internal */
|
|
681
682
|
export const ensuring = dual<
|
|
682
683
|
<X>(
|
|
683
|
-
finalizer: Effect.Effect<
|
|
684
|
+
finalizer: Effect.Effect<X>
|
|
684
685
|
) => <Env, In, Out>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env, In, Out>,
|
|
685
686
|
<Env, In, Out, X>(
|
|
686
687
|
self: Schedule.Schedule<Env, In, Out>,
|
|
687
|
-
finalizer: Effect.Effect<
|
|
688
|
+
finalizer: Effect.Effect<X>
|
|
688
689
|
) => Schedule.Schedule<Env, In, Out>
|
|
689
690
|
>(2, (self, finalizer) =>
|
|
690
691
|
makeWithState(
|
|
@@ -928,9 +929,9 @@ const intersectWithLoop = <State, State1, Env, In, Out, Env1, In1, Out2>(
|
|
|
928
929
|
rInterval: Intervals.Intervals,
|
|
929
930
|
f: (x: Intervals.Intervals, y: Intervals.Intervals) => Intervals.Intervals
|
|
930
931
|
): Effect.Effect<
|
|
931
|
-
|
|
932
|
+
[[State, State1], [Out, Out2], ScheduleDecision.ScheduleDecision],
|
|
932
933
|
never,
|
|
933
|
-
|
|
934
|
+
Env | Env1
|
|
934
935
|
> => {
|
|
935
936
|
const combined = f(lInterval, rInterval)
|
|
936
937
|
if (Intervals.isNonEmpty(combined)) {
|
|
@@ -1030,11 +1031,11 @@ export const map = dual<
|
|
|
1030
1031
|
/** @internal */
|
|
1031
1032
|
export const mapEffect = dual<
|
|
1032
1033
|
<Out, Env2, Out2>(
|
|
1033
|
-
f: (out: Out) => Effect.Effect<
|
|
1034
|
+
f: (out: Out) => Effect.Effect<Out2, never, Env2>
|
|
1034
1035
|
) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out2>,
|
|
1035
1036
|
<Env, In, Out, Env2, Out2>(
|
|
1036
1037
|
self: Schedule.Schedule<Env, In, Out>,
|
|
1037
|
-
f: (out: Out) => Effect.Effect<
|
|
1038
|
+
f: (out: Out) => Effect.Effect<Out2, never, Env2>
|
|
1038
1039
|
) => Schedule.Schedule<Env | Env2, In, Out2>
|
|
1039
1040
|
>(2, (self, f) =>
|
|
1040
1041
|
makeWithState(
|
|
@@ -1089,11 +1090,11 @@ export const modifyDelay = dual<
|
|
|
1089
1090
|
/** @internal */
|
|
1090
1091
|
export const modifyDelayEffect = dual<
|
|
1091
1092
|
<Out, Env2>(
|
|
1092
|
-
f: (out: Out, duration: Duration.Duration) => Effect.Effect<
|
|
1093
|
+
f: (out: Out, duration: Duration.Duration) => Effect.Effect<Duration.DurationInput, never, Env2>
|
|
1093
1094
|
) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
|
|
1094
1095
|
<Env, In, Out, Env2>(
|
|
1095
1096
|
self: Schedule.Schedule<Env, In, Out>,
|
|
1096
|
-
f: (out: Out, duration: Duration.Duration) => Effect.Effect<
|
|
1097
|
+
f: (out: Out, duration: Duration.Duration) => Effect.Effect<Duration.DurationInput, never, Env2>
|
|
1097
1098
|
) => Schedule.Schedule<Env | Env2, In, Out>
|
|
1098
1099
|
>(2, (self, f) =>
|
|
1099
1100
|
makeWithState(
|
|
@@ -1120,11 +1121,11 @@ export const modifyDelayEffect = dual<
|
|
|
1120
1121
|
/** @internal */
|
|
1121
1122
|
export const onDecision = dual<
|
|
1122
1123
|
<Out, Env2, X>(
|
|
1123
|
-
f: (out: Out, decision: ScheduleDecision.ScheduleDecision) => Effect.Effect<
|
|
1124
|
+
f: (out: Out, decision: ScheduleDecision.ScheduleDecision) => Effect.Effect<X, never, Env2>
|
|
1124
1125
|
) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
|
|
1125
1126
|
<Env, In, Out, Env2, X>(
|
|
1126
1127
|
self: Schedule.Schedule<Env, In, Out>,
|
|
1127
|
-
f: (out: Out, decision: ScheduleDecision.ScheduleDecision) => Effect.Effect<
|
|
1128
|
+
f: (out: Out, decision: ScheduleDecision.ScheduleDecision) => Effect.Effect<X, never, Env2>
|
|
1128
1129
|
) => Schedule.Schedule<Env | Env2, In, Out>
|
|
1129
1130
|
>(2, (self, f) =>
|
|
1130
1131
|
makeWithState(
|
|
@@ -1181,12 +1182,7 @@ export const provideService = dual<
|
|
|
1181
1182
|
service: Context.Tag.Service<T>
|
|
1182
1183
|
): Schedule.Schedule<Exclude<R, Context.Tag.Identifier<T>>, In, Out> =>
|
|
1183
1184
|
makeWithState(self.initial, (now, input, state) =>
|
|
1184
|
-
core.contextWithEffect
|
|
1185
|
-
Exclude<R, Context.Tag.Identifier<T>>,
|
|
1186
|
-
Exclude<R, Context.Tag.Identifier<T>>,
|
|
1187
|
-
never,
|
|
1188
|
-
readonly [any, Out, ScheduleDecision.ScheduleDecision]
|
|
1189
|
-
>((env) =>
|
|
1185
|
+
core.contextWithEffect((env) =>
|
|
1190
1186
|
core.provideContext(
|
|
1191
1187
|
// @ts-expect-error
|
|
1192
1188
|
self.step(now, input, state),
|
|
@@ -1199,7 +1195,7 @@ export const recurUntil = <A>(f: Predicate<A>): Schedule.Schedule<never, A, A> =
|
|
|
1199
1195
|
|
|
1200
1196
|
/** @internal */
|
|
1201
1197
|
export const recurUntilEffect = <Env, A>(
|
|
1202
|
-
f: (a: A) => Effect.Effect<
|
|
1198
|
+
f: (a: A) => Effect.Effect<boolean, never, Env>
|
|
1203
1199
|
): Schedule.Schedule<Env, A, A> => untilInputEffect(identity<A>(), f)
|
|
1204
1200
|
|
|
1205
1201
|
/** @internal */
|
|
@@ -1219,7 +1215,7 @@ export const recurWhile = <A>(f: Predicate<A>): Schedule.Schedule<never, A, A> =
|
|
|
1219
1215
|
|
|
1220
1216
|
/** @internal */
|
|
1221
1217
|
export const recurWhileEffect = <Env, A>(
|
|
1222
|
-
f: (a: A) => Effect.Effect<
|
|
1218
|
+
f: (a: A) => Effect.Effect<boolean, never, Env>
|
|
1223
1219
|
): Schedule.Schedule<Env, A, A> => whileInputEffect(identity<A>(), f)
|
|
1224
1220
|
|
|
1225
1221
|
/** @internal */
|
|
@@ -1242,12 +1238,12 @@ export const reduce = dual<
|
|
|
1242
1238
|
export const reduceEffect = dual<
|
|
1243
1239
|
<Out, Env1, Z>(
|
|
1244
1240
|
zero: Z,
|
|
1245
|
-
f: (z: Z, out: Out) => Effect.Effect<
|
|
1241
|
+
f: (z: Z, out: Out) => Effect.Effect<Z, never, Env1>
|
|
1246
1242
|
) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env1, In, Z>,
|
|
1247
1243
|
<Env, In, Out, Env1, Z>(
|
|
1248
1244
|
self: Schedule.Schedule<Env, In, Out>,
|
|
1249
1245
|
zero: Z,
|
|
1250
|
-
f: (z: Z, out: Out) => Effect.Effect<
|
|
1246
|
+
f: (z: Z, out: Out) => Effect.Effect<Z, never, Env1>
|
|
1251
1247
|
) => Schedule.Schedule<Env | Env1, In, Z>
|
|
1252
1248
|
>(3, (self, zero, f) =>
|
|
1253
1249
|
makeWithState(
|
|
@@ -1266,7 +1262,7 @@ export const repeatForever = <Env, In, Out>(self: Schedule.Schedule<Env, In, Out
|
|
|
1266
1262
|
now: number,
|
|
1267
1263
|
input: In,
|
|
1268
1264
|
state: any
|
|
1269
|
-
): Effect.Effect<
|
|
1265
|
+
): Effect.Effect<[any, Out, ScheduleDecision.ScheduleDecision], never, Env> =>
|
|
1270
1266
|
core.flatMap(
|
|
1271
1267
|
self.step(now, input, state),
|
|
1272
1268
|
([state, out, decision]) =>
|
|
@@ -1321,12 +1317,12 @@ export const run = dual<
|
|
|
1321
1317
|
<In>(
|
|
1322
1318
|
now: number,
|
|
1323
1319
|
input: Iterable<In>
|
|
1324
|
-
) => <Env, Out>(self: Schedule.Schedule<Env, In, Out>) => Effect.Effect<
|
|
1320
|
+
) => <Env, Out>(self: Schedule.Schedule<Env, In, Out>) => Effect.Effect<Chunk.Chunk<Out>, never, Env>,
|
|
1325
1321
|
<Env, In, Out>(
|
|
1326
1322
|
self: Schedule.Schedule<Env, In, Out>,
|
|
1327
1323
|
now: number,
|
|
1328
1324
|
input: Iterable<In>
|
|
1329
|
-
) => Effect.Effect<
|
|
1325
|
+
) => Effect.Effect<Chunk.Chunk<Out>, never, Env>
|
|
1330
1326
|
>(3, (self, now, input) =>
|
|
1331
1327
|
pipe(
|
|
1332
1328
|
runLoop(self, now, Chunk.fromIterable(input), self.initial, Chunk.empty()),
|
|
@@ -1340,7 +1336,7 @@ const runLoop = <Env, In, Out>(
|
|
|
1340
1336
|
inputs: Chunk.Chunk<In>,
|
|
1341
1337
|
state: any,
|
|
1342
1338
|
acc: Chunk.Chunk<Out>
|
|
1343
|
-
): Effect.Effect<
|
|
1339
|
+
): Effect.Effect<Chunk.Chunk<Out>, never, Env> => {
|
|
1344
1340
|
if (!Chunk.isNonEmpty(inputs)) {
|
|
1345
1341
|
return core.succeed(acc)
|
|
1346
1342
|
}
|
|
@@ -1401,11 +1397,11 @@ export const sync = <A>(evaluate: LazyArg<A>): Schedule.Schedule<never, unknown,
|
|
|
1401
1397
|
/** @internal */
|
|
1402
1398
|
export const tapInput = dual<
|
|
1403
1399
|
<Env2, In2, X>(
|
|
1404
|
-
f: (input: In2) => Effect.Effect<
|
|
1400
|
+
f: (input: In2) => Effect.Effect<X, never, Env2>
|
|
1405
1401
|
) => <Env, In, Out>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In & In2, Out>,
|
|
1406
1402
|
<Env, In, Out, Env2, In2, X>(
|
|
1407
1403
|
self: Schedule.Schedule<Env, In, Out>,
|
|
1408
|
-
f: (input: In2) => Effect.Effect<
|
|
1404
|
+
f: (input: In2) => Effect.Effect<X, never, Env2>
|
|
1409
1405
|
) => Schedule.Schedule<Env | Env2, In & In2, Out>
|
|
1410
1406
|
>(2, (self, f) =>
|
|
1411
1407
|
makeWithState(self.initial, (now, input, state) =>
|
|
@@ -1417,11 +1413,11 @@ export const tapInput = dual<
|
|
|
1417
1413
|
/** @internal */
|
|
1418
1414
|
export const tapOutput = dual<
|
|
1419
1415
|
<Out, XO extends Out, Env2, X>(
|
|
1420
|
-
f: (out: XO) => Effect.Effect<
|
|
1416
|
+
f: (out: XO) => Effect.Effect<X, never, Env2>
|
|
1421
1417
|
) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
|
|
1422
1418
|
<Env, In, Out, XO extends Out, Env2, X>(
|
|
1423
1419
|
self: Schedule.Schedule<Env, In, Out>,
|
|
1424
|
-
f: (out: XO) => Effect.Effect<
|
|
1420
|
+
f: (out: XO) => Effect.Effect<X, never, Env2>
|
|
1425
1421
|
) => Schedule.Schedule<Env | Env2, In, Out>
|
|
1426
1422
|
>(2, (self, f) =>
|
|
1427
1423
|
makeWithState(self.initial, (now, input, state) =>
|
|
@@ -1525,11 +1521,11 @@ export const untilInput = dual<
|
|
|
1525
1521
|
/** @internal */
|
|
1526
1522
|
export const untilInputEffect = dual<
|
|
1527
1523
|
<In, Env2>(
|
|
1528
|
-
f: (input: In) => Effect.Effect<
|
|
1524
|
+
f: (input: In) => Effect.Effect<boolean, never, Env2>
|
|
1529
1525
|
) => <Env, Out>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
|
|
1530
1526
|
<Env, In, Out, Env2>(
|
|
1531
1527
|
self: Schedule.Schedule<Env, In, Out>,
|
|
1532
|
-
f: (input: In) => Effect.Effect<
|
|
1528
|
+
f: (input: In) => Effect.Effect<boolean, never, Env2>
|
|
1533
1529
|
) => Schedule.Schedule<Env | Env2, In, Out>
|
|
1534
1530
|
>(2, (self, f) => checkEffect(self, (input, _) => effect.negate(f(input))))
|
|
1535
1531
|
|
|
@@ -1542,11 +1538,11 @@ export const untilOutput = dual<
|
|
|
1542
1538
|
/** @internal */
|
|
1543
1539
|
export const untilOutputEffect = dual<
|
|
1544
1540
|
<Out, Env2>(
|
|
1545
|
-
f: (out: Out) => Effect.Effect<
|
|
1541
|
+
f: (out: Out) => Effect.Effect<boolean, never, Env2>
|
|
1546
1542
|
) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
|
|
1547
1543
|
<Env, In, Out, Env2>(
|
|
1548
1544
|
self: Schedule.Schedule<Env, In, Out>,
|
|
1549
|
-
f: (out: Out) => Effect.Effect<
|
|
1545
|
+
f: (out: Out) => Effect.Effect<boolean, never, Env2>
|
|
1550
1546
|
) => Schedule.Schedule<Env | Env2, In, Out>
|
|
1551
1547
|
>(2, (self, f) => checkEffect(self, (_, out) => effect.negate(f(out))))
|
|
1552
1548
|
|
|
@@ -1570,11 +1566,11 @@ export const whileInput = dual<
|
|
|
1570
1566
|
/** @internal */
|
|
1571
1567
|
export const whileInputEffect = dual<
|
|
1572
1568
|
<In, Env2>(
|
|
1573
|
-
f: (input: In) => Effect.Effect<
|
|
1569
|
+
f: (input: In) => Effect.Effect<boolean, never, Env2>
|
|
1574
1570
|
) => <Env, Out>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env2, In, Out>,
|
|
1575
1571
|
<Env, In, Out, Env2>(
|
|
1576
1572
|
self: Schedule.Schedule<Env, In, Out>,
|
|
1577
|
-
f: (input: In) => Effect.Effect<
|
|
1573
|
+
f: (input: In) => Effect.Effect<boolean, never, Env2>
|
|
1578
1574
|
) => Schedule.Schedule<Env | Env2, In, Out>
|
|
1579
1575
|
>(2, (self, f) => checkEffect(self, (input, _) => f(input)))
|
|
1580
1576
|
|
|
@@ -1587,11 +1583,11 @@ export const whileOutput = dual<
|
|
|
1587
1583
|
/** @internal */
|
|
1588
1584
|
export const whileOutputEffect = dual<
|
|
1589
1585
|
<Out, Env1>(
|
|
1590
|
-
f: (out: Out) => Effect.Effect<
|
|
1586
|
+
f: (out: Out) => Effect.Effect<boolean, never, Env1>
|
|
1591
1587
|
) => <Env, In>(self: Schedule.Schedule<Env, In, Out>) => Schedule.Schedule<Env | Env1, In, Out>,
|
|
1592
1588
|
<Env, In, Out, Env1>(
|
|
1593
1589
|
self: Schedule.Schedule<Env, In, Out>,
|
|
1594
|
-
f: (out: Out) => Effect.Effect<
|
|
1590
|
+
f: (out: Out) => Effect.Effect<boolean, never, Env1>
|
|
1595
1591
|
) => Schedule.Schedule<Env | Env1, In, Out>
|
|
1596
1592
|
>(2, (self, f) => checkEffect(self, (_, out) => f(out)))
|
|
1597
1593
|
|
|
@@ -1846,9 +1842,9 @@ class ScheduleDefect<E> {
|
|
|
1846
1842
|
}
|
|
1847
1843
|
}
|
|
1848
1844
|
const isScheduleDefect = <E = unknown>(u: unknown): u is ScheduleDefect<E> => hasProperty(u, ScheduleDefectTypeId)
|
|
1849
|
-
const scheduleDefectWrap = <
|
|
1845
|
+
const scheduleDefectWrap = <A, E, R>(self: Effect.Effect<A, E, R>) =>
|
|
1850
1846
|
core.catchAll(self, (e) => core.die(new ScheduleDefect(e)))
|
|
1851
|
-
const scheduleDefectRefail = <
|
|
1847
|
+
const scheduleDefectRefail = <A, E, R>(self: Effect.Effect<A, E, R>) =>
|
|
1852
1848
|
core.catchAllCause(self, (cause) =>
|
|
1853
1849
|
Option.match(
|
|
1854
1850
|
internalCause.find(
|
|
@@ -1863,32 +1859,32 @@ const scheduleDefectRefail = <R, E, A>(self: Effect.Effect<R, E, A>) =>
|
|
|
1863
1859
|
|
|
1864
1860
|
/** @internal */
|
|
1865
1861
|
export const repeat_Effect = dual<
|
|
1866
|
-
<R1, A
|
|
1862
|
+
<R1, A, B>(
|
|
1867
1863
|
schedule: Schedule.Schedule<R1, A, B>
|
|
1868
|
-
) => <
|
|
1869
|
-
<
|
|
1870
|
-
self: Effect.Effect<
|
|
1871
|
-
schedule: Schedule.Schedule<R1,
|
|
1872
|
-
) => Effect.Effect<R | R1
|
|
1864
|
+
) => <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E, R | R1>,
|
|
1865
|
+
<A, E, R, R1, B>(
|
|
1866
|
+
self: Effect.Effect<A, E, R>,
|
|
1867
|
+
schedule: Schedule.Schedule<R1, A, B>
|
|
1868
|
+
) => Effect.Effect<B, E, R | R1>
|
|
1873
1869
|
>(2, (self, schedule) => repeatOrElse_Effect(self, schedule, (e, _) => core.fail(e)))
|
|
1874
1870
|
|
|
1875
1871
|
/** @internal */
|
|
1876
1872
|
export const repeat_combined = dual<{
|
|
1877
1873
|
<A, O extends Effect.Repeat.Options<A>>(
|
|
1878
1874
|
options: O
|
|
1879
|
-
): <
|
|
1880
|
-
<R1, A
|
|
1875
|
+
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Repeat.Return<R, E, A, O>
|
|
1876
|
+
<R1, A, B>(
|
|
1881
1877
|
schedule: Schedule.Schedule<R1, A, B>
|
|
1882
|
-
): <
|
|
1878
|
+
): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E, R | R1>
|
|
1883
1879
|
}, {
|
|
1884
|
-
<
|
|
1885
|
-
self: Effect.Effect<
|
|
1880
|
+
<A, E, R, O extends Effect.Repeat.Options<A>>(
|
|
1881
|
+
self: Effect.Effect<A, E, R>,
|
|
1886
1882
|
options: O
|
|
1887
1883
|
): Effect.Repeat.Return<R, E, A, O>
|
|
1888
|
-
<
|
|
1889
|
-
self: Effect.Effect<
|
|
1890
|
-
schedule: Schedule.Schedule<R1,
|
|
1891
|
-
): Effect.Effect<R | R1
|
|
1884
|
+
<A, E, R, R1, B>(
|
|
1885
|
+
self: Effect.Effect<A, E, R>,
|
|
1886
|
+
schedule: Schedule.Schedule<R1, A, B>
|
|
1887
|
+
): Effect.Effect<B, E, R | R1>
|
|
1892
1888
|
}>(
|
|
1893
1889
|
2,
|
|
1894
1890
|
(self: Effect.Effect<any, any, any>, options: Effect.Repeat.Options<any> | Schedule.Schedule<any, any, any>) => {
|
|
@@ -1925,15 +1921,15 @@ export const repeat_combined = dual<{
|
|
|
1925
1921
|
|
|
1926
1922
|
/** @internal */
|
|
1927
1923
|
export const repeatOrElse_Effect = dual<
|
|
1928
|
-
<R2, A
|
|
1924
|
+
<R2, A, B, E, E2, R3>(
|
|
1925
|
+
schedule: Schedule.Schedule<R2, A, B>,
|
|
1926
|
+
orElse: (error: E, option: Option.Option<B>) => Effect.Effect<B, E2, R3>
|
|
1927
|
+
) => <R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E2, R | R2 | R3>,
|
|
1928
|
+
<A, E, R, R2, B, E2, R3>(
|
|
1929
|
+
self: Effect.Effect<A, E, R>,
|
|
1929
1930
|
schedule: Schedule.Schedule<R2, A, B>,
|
|
1930
|
-
orElse: (error: E, option: Option.Option<B>) => Effect.Effect<
|
|
1931
|
-
) =>
|
|
1932
|
-
<R, E, A extends A0, A0, R2, B, R3, E2>(
|
|
1933
|
-
self: Effect.Effect<R, E, A>,
|
|
1934
|
-
schedule: Schedule.Schedule<R2, A0, B>,
|
|
1935
|
-
orElse: (error: E, option: Option.Option<B>) => Effect.Effect<R3, E2, B>
|
|
1936
|
-
) => Effect.Effect<R | R2 | R3, E2, B>
|
|
1931
|
+
orElse: (error: E, option: Option.Option<B>) => Effect.Effect<B, E2, R3>
|
|
1932
|
+
) => Effect.Effect<B, E2, R | R2 | R3>
|
|
1937
1933
|
>(3, (self, schedule, orElse) =>
|
|
1938
1934
|
core.flatMap(driver(schedule), (driver) =>
|
|
1939
1935
|
core.matchEffect(self, {
|
|
@@ -1942,12 +1938,12 @@ export const repeatOrElse_Effect = dual<
|
|
|
1942
1938
|
})))
|
|
1943
1939
|
|
|
1944
1940
|
/** @internal */
|
|
1945
|
-
const repeatOrElseEffectLoop = <
|
|
1946
|
-
self: Effect.Effect<
|
|
1947
|
-
driver: Schedule.ScheduleDriver<R1,
|
|
1948
|
-
orElse: (error: E, option: Option.Option<B>) => Effect.Effect<
|
|
1941
|
+
const repeatOrElseEffectLoop = <A, E, R, R1, B, C, E2, R2>(
|
|
1942
|
+
self: Effect.Effect<A, E, R>,
|
|
1943
|
+
driver: Schedule.ScheduleDriver<R1, A, B>,
|
|
1944
|
+
orElse: (error: E, option: Option.Option<B>) => Effect.Effect<C, E2, R2>,
|
|
1949
1945
|
value: A
|
|
1950
|
-
): Effect.Effect<
|
|
1946
|
+
): Effect.Effect<B | C, E2, R | R1 | R2> => {
|
|
1951
1947
|
return core.matchEffect(driver.next(value), {
|
|
1952
1948
|
onFailure: () => core.orDie(driver.last),
|
|
1953
1949
|
onSuccess: (b) =>
|
|
@@ -1960,33 +1956,34 @@ const repeatOrElseEffectLoop = <R, E, A extends A0, A0, R1, B, R2, E2, C>(
|
|
|
1960
1956
|
|
|
1961
1957
|
/** @internal */
|
|
1962
1958
|
export const retry_Effect = dual<
|
|
1963
|
-
<R1, E
|
|
1964
|
-
policy: Schedule.Schedule<R1,
|
|
1965
|
-
) => <R, A>(self: Effect.Effect<
|
|
1966
|
-
<
|
|
1967
|
-
self: Effect.Effect<
|
|
1968
|
-
policy: Schedule.Schedule<R1,
|
|
1969
|
-
) => Effect.Effect<R | R1
|
|
1959
|
+
<R1, E, B>(
|
|
1960
|
+
policy: Schedule.Schedule<R1, E, B>
|
|
1961
|
+
) => <R, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R | R1>,
|
|
1962
|
+
<A, E, R, R1, B>(
|
|
1963
|
+
self: Effect.Effect<A, E, R>,
|
|
1964
|
+
policy: Schedule.Schedule<R1, E, B>
|
|
1965
|
+
) => Effect.Effect<A, E, R | R1>
|
|
1970
1966
|
>(2, (self, policy) => retryOrElse_Effect(self, policy, (e, _) => core.fail(e)))
|
|
1971
1967
|
|
|
1972
1968
|
/** @internal */
|
|
1973
|
-
export const retry_combined
|
|
1969
|
+
export const retry_combined: {
|
|
1974
1970
|
<E, O extends Effect.Retry.Options<E>>(
|
|
1975
1971
|
options: O
|
|
1976
|
-
): <
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
<
|
|
1982
|
-
|
|
1972
|
+
): <A, R>(
|
|
1973
|
+
self: Effect.Effect<A, E, R>
|
|
1974
|
+
) => Effect.Retry.Return<R, E, A, O>
|
|
1975
|
+
<R1, E, B>(
|
|
1976
|
+
policy: Schedule.Schedule<R1, Types.NoInfer<E>, B>
|
|
1977
|
+
): <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R1 | R>
|
|
1978
|
+
<A, E, R, O extends Effect.Retry.Options<E>>(
|
|
1979
|
+
self: Effect.Effect<A, E, R>,
|
|
1983
1980
|
options: O
|
|
1984
1981
|
): Effect.Retry.Return<R, E, A, O>
|
|
1985
|
-
<R, E
|
|
1986
|
-
self: Effect.Effect<
|
|
1987
|
-
policy: Schedule.Schedule<R1,
|
|
1988
|
-
): Effect.Effect<
|
|
1989
|
-
}
|
|
1982
|
+
<R, E, A, R1, B>(
|
|
1983
|
+
self: Effect.Effect<A, E, R>,
|
|
1984
|
+
policy: Schedule.Schedule<R1, E, B>
|
|
1985
|
+
): Effect.Effect<A, E, R1 | R>
|
|
1986
|
+
} = dual(
|
|
1990
1987
|
2,
|
|
1991
1988
|
(self: Effect.Effect<any, any, any>, options: Effect.Retry.Options<any> | Schedule.Schedule<any, any, any>) => {
|
|
1992
1989
|
if (isSchedule(options)) {
|
|
@@ -2021,15 +2018,15 @@ export const retry_combined = dual<{
|
|
|
2021
2018
|
|
|
2022
2019
|
/** @internal */
|
|
2023
2020
|
export const retryOrElse_Effect = dual<
|
|
2024
|
-
<R1, E
|
|
2025
|
-
policy: Schedule.Schedule<R1,
|
|
2026
|
-
orElse: (e: E
|
|
2027
|
-
) => <
|
|
2028
|
-
<
|
|
2029
|
-
self: Effect.Effect<
|
|
2030
|
-
policy: Schedule.Schedule<R1,
|
|
2031
|
-
orElse: (e: E
|
|
2032
|
-
) => Effect.Effect<
|
|
2021
|
+
<R1, E, A1, A2, E2, R2>(
|
|
2022
|
+
policy: Schedule.Schedule<R1, Types.NoInfer<E>, A1>,
|
|
2023
|
+
orElse: (e: Types.NoInfer<E>, out: A1) => Effect.Effect<A2, E2, R2>
|
|
2024
|
+
) => <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A | A2, E | E2, R | R1 | R2>,
|
|
2025
|
+
<A, E, R, A1, R1, A2, E2, R2>(
|
|
2026
|
+
self: Effect.Effect<A, E, R>,
|
|
2027
|
+
policy: Schedule.Schedule<R1, Types.NoInfer<E>, A1>,
|
|
2028
|
+
orElse: (e: Types.NoInfer<E>, out: A1) => Effect.Effect<A2, E2, R2>
|
|
2029
|
+
) => Effect.Effect<A | A2, E | E2, R | R1 | R2>
|
|
2033
2030
|
>(3, (self, policy, orElse) =>
|
|
2034
2031
|
core.flatMap(
|
|
2035
2032
|
driver(policy),
|
|
@@ -2037,11 +2034,11 @@ export const retryOrElse_Effect = dual<
|
|
|
2037
2034
|
))
|
|
2038
2035
|
|
|
2039
2036
|
/** @internal */
|
|
2040
|
-
const retryOrElse_EffectLoop = <
|
|
2041
|
-
self: Effect.Effect<
|
|
2037
|
+
const retryOrElse_EffectLoop = <A, E, R, R1, A1, A2, E2, R2>(
|
|
2038
|
+
self: Effect.Effect<A, E, R>,
|
|
2042
2039
|
driver: Schedule.ScheduleDriver<R1, E, A1>,
|
|
2043
|
-
orElse: (e: E, out: A1) => Effect.Effect<
|
|
2044
|
-
): Effect.Effect<
|
|
2040
|
+
orElse: (e: E, out: A1) => Effect.Effect<A2, E2, R2>
|
|
2041
|
+
): Effect.Effect<A | A2, E | E2, R | R1 | R2> => {
|
|
2045
2042
|
return core.catchAll(
|
|
2046
2043
|
self,
|
|
2047
2044
|
(e) =>
|
|
@@ -2061,13 +2058,13 @@ const retryOrElse_EffectLoop = <R, E, A, R1, A1, R2, E2, A2>(
|
|
|
2061
2058
|
export const schedule_Effect = dual<
|
|
2062
2059
|
<R2, Out>(
|
|
2063
2060
|
schedule: Schedule.Schedule<R2, unknown, Out>
|
|
2064
|
-
) => <
|
|
2065
|
-
<
|
|
2066
|
-
self: Effect.Effect<
|
|
2061
|
+
) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Out, E, R | R2>,
|
|
2062
|
+
<A, E, R, R2, Out>(
|
|
2063
|
+
self: Effect.Effect<A, E, R>,
|
|
2067
2064
|
schedule: Schedule.Schedule<R2, unknown, Out>
|
|
2068
|
-
) => Effect.Effect<R | R2
|
|
2069
|
-
>(2, <
|
|
2070
|
-
self: Effect.Effect<
|
|
2065
|
+
) => Effect.Effect<Out, E, R | R2>
|
|
2066
|
+
>(2, <A, E, R, R2, Out>(
|
|
2067
|
+
self: Effect.Effect<A, E, R>,
|
|
2071
2068
|
schedule: Schedule.Schedule<R2, unknown, Out>
|
|
2072
2069
|
) => scheduleFrom_Effect(self, void 0, schedule))
|
|
2073
2070
|
|
|
@@ -2076,12 +2073,12 @@ export const scheduleFrom_Effect = dual<
|
|
|
2076
2073
|
<R2, In, Out>(
|
|
2077
2074
|
initial: In,
|
|
2078
2075
|
schedule: Schedule.Schedule<R2, In, Out>
|
|
2079
|
-
) => <
|
|
2080
|
-
<
|
|
2081
|
-
self: Effect.Effect<
|
|
2076
|
+
) => <E, R>(self: Effect.Effect<In, E, R>) => Effect.Effect<Out, E, R | R2>,
|
|
2077
|
+
<In, E, R, R2, Out>(
|
|
2078
|
+
self: Effect.Effect<In, E, R>,
|
|
2082
2079
|
initial: In,
|
|
2083
2080
|
schedule: Schedule.Schedule<R2, In, Out>
|
|
2084
|
-
) => Effect.Effect<R | R2
|
|
2081
|
+
) => Effect.Effect<Out, E, R | R2>
|
|
2085
2082
|
>(3, (self, initial, schedule) =>
|
|
2086
2083
|
core.flatMap(
|
|
2087
2084
|
driver(schedule),
|
|
@@ -2089,11 +2086,11 @@ export const scheduleFrom_Effect = dual<
|
|
|
2089
2086
|
))
|
|
2090
2087
|
|
|
2091
2088
|
/** @internal */
|
|
2092
|
-
const scheduleFrom_EffectLoop = <
|
|
2093
|
-
self: Effect.Effect<
|
|
2089
|
+
const scheduleFrom_EffectLoop = <In, E, R, R2, Out>(
|
|
2090
|
+
self: Effect.Effect<In, E, R>,
|
|
2094
2091
|
initial: In,
|
|
2095
2092
|
driver: Schedule.ScheduleDriver<R2, In, Out>
|
|
2096
|
-
): Effect.Effect<R | R2
|
|
2093
|
+
): Effect.Effect<Out, E, R | R2> =>
|
|
2097
2094
|
core.matchEffect(driver.next(initial), {
|
|
2098
2095
|
onFailure: () => core.orDie(driver.last),
|
|
2099
2096
|
onSuccess: () => core.flatMap(self, (a) => scheduleFrom_EffectLoop(self, a, driver))
|