effect 2.2.5 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RateLimiter/package.json +6 -0
- package/dist/cjs/Cause.js +14 -1
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/Clock.js.map +1 -1
- package/dist/cjs/Console.js.map +1 -1
- package/dist/cjs/Context.js +23 -25
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Data.js +3 -3
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/Deferred.js +1 -1
- package/dist/cjs/Deferred.js.map +1 -1
- package/dist/cjs/Effect.js +9 -9
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Effectable.js.map +1 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Exit.js +2 -2
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberMap.js +3 -3
- package/dist/cjs/FiberRef.js.map +1 -1
- package/dist/cjs/FiberRefs.js.map +1 -1
- package/dist/cjs/FiberSet.js +3 -3
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/GroupBy.js.map +1 -1
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/LogLevel.js.map +1 -1
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/Number.js +20 -1
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Pool.js.map +1 -1
- package/dist/cjs/PubSub.js.map +1 -1
- package/dist/cjs/Queue.js.map +1 -1
- package/dist/cjs/Random.js.map +1 -1
- package/dist/cjs/RateLimiter.js +38 -0
- package/dist/cjs/RateLimiter.js.map +1 -0
- package/dist/cjs/ReadonlyRecord.js +45 -9
- package/dist/cjs/ReadonlyRecord.js.map +1 -1
- package/dist/cjs/Ref.js.map +1 -1
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/Resource.js.map +1 -1
- package/dist/cjs/Runtime.js +1 -4
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/cjs/RuntimeFlags.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/Scope.js.map +1 -1
- package/dist/cjs/ScopedRef.js.map +1 -1
- package/dist/cjs/SingleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/Supervisor.js.map +1 -1
- package/dist/cjs/SynchronizedRef.js.map +1 -1
- package/dist/cjs/TArray.js.map +1 -1
- package/dist/cjs/TDeferred.js.map +1 -1
- package/dist/cjs/TMap.js.map +1 -1
- package/dist/cjs/TPriorityQueue.js.map +1 -1
- package/dist/cjs/TPubSub.js.map +1 -1
- package/dist/cjs/TQueue.js.map +1 -1
- package/dist/cjs/TRandom.js.map +1 -1
- package/dist/cjs/TReentrantLock.js.map +1 -1
- package/dist/cjs/TRef.js.map +1 -1
- package/dist/cjs/TSemaphore.js.map +1 -1
- package/dist/cjs/TSet.js.map +1 -1
- package/dist/cjs/Take.js +6 -6
- package/dist/cjs/Take.js.map +1 -1
- package/dist/cjs/TestAnnotation.js +10 -13
- package/dist/cjs/TestAnnotation.js.map +1 -1
- package/dist/cjs/TestAnnotations.js +1 -1
- package/dist/cjs/TestAnnotations.js.map +1 -1
- package/dist/cjs/TestClock.js +1 -1
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/TestConfig.js +1 -1
- package/dist/cjs/TestConfig.js.map +1 -1
- package/dist/cjs/TestContext.js.map +1 -1
- package/dist/cjs/TestLive.js +1 -1
- package/dist/cjs/TestLive.js.map +1 -1
- package/dist/cjs/TestServices.js.map +1 -1
- package/dist/cjs/TestSized.js +1 -1
- package/dist/cjs/TestSized.js.map +1 -1
- package/dist/cjs/Utils.js +0 -1
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/cache.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel/mergeDecision.js +2 -6
- package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/internal/channel.js +1 -1
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/clock.js +1 -1
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/configProvider.js +2 -4
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/console.js.map +1 -1
- package/dist/cjs/internal/context.js +31 -22
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +13 -27
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core-stream.js.map +1 -1
- package/dist/cjs/internal/core.js +61 -130
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/data.js.map +1 -1
- package/dist/cjs/internal/defaultServices/console.js +1 -1
- package/dist/cjs/internal/defaultServices/console.js.map +1 -1
- package/dist/cjs/internal/defaultServices.js.map +1 -1
- package/dist/cjs/internal/deferred.js.map +1 -1
- package/dist/cjs/internal/differ/contextPatch.js +9 -9
- package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +7 -10
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/effectable.js +4 -4
- package/dist/cjs/internal/effectable.js.map +1 -1
- package/dist/cjs/internal/fiber.js +2 -6
- package/dist/cjs/internal/fiber.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +10 -19
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/keyedPool.js.map +1 -1
- package/dist/cjs/internal/layer/circular.js.map +1 -1
- package/dist/cjs/internal/layer.js +3 -3
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/logSpan.js +3 -5
- package/dist/cjs/internal/logSpan.js.map +1 -1
- package/dist/cjs/internal/metric.js.map +1 -1
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/pubsub.js +2 -6
- package/dist/cjs/internal/pubsub.js.map +1 -1
- package/dist/cjs/internal/query.js.map +1 -1
- package/dist/cjs/internal/queue.js.map +1 -1
- package/dist/cjs/internal/random.js +1 -1
- package/dist/cjs/internal/random.js.map +1 -1
- package/dist/cjs/internal/rateLimiter.js +44 -0
- package/dist/cjs/internal/rateLimiter.js.map +1 -0
- package/dist/cjs/internal/ref.js.map +1 -1
- package/dist/cjs/internal/reloadable.js +1 -9
- package/dist/cjs/internal/reloadable.js.map +1 -1
- package/dist/cjs/internal/runtime.js +0 -1
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/scopedCache.js.map +1 -1
- package/dist/cjs/internal/scopedRef.js.map +1 -1
- package/dist/cjs/internal/sink.js +7 -7
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tExit.js +2 -2
- package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tryCommit.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stm/tArray.js.map +1 -1
- package/dist/cjs/internal/stm/tDeferred.js +4 -2
- package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
- package/dist/cjs/internal/stm/tMap.js.map +1 -1
- package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
- package/dist/cjs/internal/stm/tQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tRandom.js +1 -1
- package/dist/cjs/internal/stm/tRandom.js.map +1 -1
- package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
- package/dist/cjs/internal/stm/tRef.js.map +1 -1
- package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
- package/dist/cjs/internal/stm/tSet.js.map +1 -1
- package/dist/cjs/internal/stream/debounceState.js.map +1 -1
- package/dist/cjs/internal/stream/handoff.js.map +1 -1
- package/dist/cjs/internal/stream/handoffSignal.js.map +1 -1
- package/dist/cjs/internal/stream/pull.js.map +1 -1
- package/dist/cjs/internal/stream.js +0 -2
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/subscriptionRef.js.map +1 -1
- package/dist/cjs/internal/supervisor.js.map +1 -1
- package/dist/cjs/internal/take.js +2 -2
- package/dist/cjs/internal/take.js.map +1 -1
- package/dist/cjs/internal/testing/sleep.js.map +1 -1
- package/dist/cjs/internal/tracer.js +2 -2
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Cache.d.ts +20 -20
- package/dist/dts/Cache.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +33 -5
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +197 -194
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Clock.d.ts +7 -7
- package/dist/dts/Clock.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +1 -1
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/ConfigProvider.d.ts +6 -6
- package/dist/dts/ConfigProvider.d.ts.map +1 -1
- package/dist/dts/Console.d.ts +43 -43
- package/dist/dts/Console.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +44 -29
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Data.d.ts +38 -57
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/Deferred.d.ts +36 -36
- package/dist/dts/Deferred.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +732 -729
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Effectable.d.ts +8 -8
- package/dist/dts/Effectable.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +2 -3
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Exit.d.ts +74 -74
- package/dist/dts/Exit.d.ts.map +1 -1
- package/dist/dts/Fiber.d.ts +75 -75
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +22 -22
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberRef.d.ts +28 -28
- package/dist/dts/FiberRef.d.ts.map +1 -1
- package/dist/dts/FiberRefs.d.ts +1 -1
- package/dist/dts/FiberRefs.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +16 -16
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts +6 -6
- package/dist/dts/GroupBy.d.ts.map +1 -1
- package/dist/dts/KeyedPool.d.ts +22 -22
- package/dist/dts/KeyedPool.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +126 -126
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/LogLevel.d.ts +2 -2
- package/dist/dts/LogLevel.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +14 -14
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/MergeDecision.d.ts +7 -7
- package/dist/dts/MergeState.d.ts +13 -13
- package/dist/dts/MergeState.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +32 -32
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricPolling.d.ts +6 -6
- package/dist/dts/MetricPolling.d.ts.map +1 -1
- package/dist/dts/Number.d.ts +15 -0
- package/dist/dts/Number.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +2 -3
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Pool.d.ts +15 -16
- package/dist/dts/Pool.d.ts.map +1 -1
- package/dist/dts/PubSub.d.ts +18 -18
- package/dist/dts/PubSub.d.ts.map +1 -1
- package/dist/dts/Queue.d.ts +40 -40
- package/dist/dts/Queue.d.ts.map +1 -1
- package/dist/dts/Random.d.ts +13 -13
- package/dist/dts/Random.d.ts.map +1 -1
- package/dist/dts/RateLimiter.d.ts +31 -0
- package/dist/dts/RateLimiter.d.ts.map +1 -0
- package/dist/dts/ReadonlyArray.d.ts +3 -3
- package/dist/dts/ReadonlyRecord.d.ts +37 -8
- package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
- package/dist/dts/Ref.d.ts +25 -25
- package/dist/dts/Ref.d.ts.map +1 -1
- package/dist/dts/Reloadable.d.ts +9 -9
- package/dist/dts/Reloadable.d.ts.map +1 -1
- package/dist/dts/Request.d.ts +27 -28
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestBlock.d.ts +3 -3
- package/dist/dts/RequestBlock.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +16 -16
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Resource.d.ts +7 -7
- package/dist/dts/Resource.d.ts.map +1 -1
- package/dist/dts/Runtime.d.ts +13 -16
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/dts/RuntimeFlags.d.ts +10 -10
- package/dist/dts/RuntimeFlags.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +303 -303
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +19 -19
- package/dist/dts/Schedule.d.ts.map +1 -1
- package/dist/dts/Scope.d.ts +10 -10
- package/dist/dts/Scope.d.ts.map +1 -1
- package/dist/dts/ScopedCache.d.ts +14 -14
- package/dist/dts/ScopedCache.d.ts.map +1 -1
- package/dist/dts/ScopedRef.d.ts +5 -5
- package/dist/dts/ScopedRef.d.ts.map +1 -1
- package/dist/dts/SingleProducerAsyncInput.d.ts +8 -8
- package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +214 -205
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +595 -592
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/StreamEmit.d.ts +5 -5
- package/dist/dts/StreamEmit.d.ts.map +1 -1
- package/dist/dts/Streamable.d.ts +2 -2
- package/dist/dts/Streamable.d.ts.map +1 -1
- package/dist/dts/SubscriptionRef.d.ts +41 -41
- package/dist/dts/SubscriptionRef.d.ts.map +1 -1
- package/dist/dts/Supervisor.d.ts +17 -17
- package/dist/dts/Supervisor.d.ts.map +1 -1
- package/dist/dts/SynchronizedRef.d.ts +41 -41
- package/dist/dts/SynchronizedRef.d.ts.map +1 -1
- package/dist/dts/TArray.d.ts +72 -72
- package/dist/dts/TArray.d.ts.map +1 -1
- package/dist/dts/TDeferred.d.ts +12 -12
- package/dist/dts/TDeferred.d.ts.map +1 -1
- package/dist/dts/TMap.d.ts +67 -67
- package/dist/dts/TMap.d.ts.map +1 -1
- package/dist/dts/TPriorityQueue.d.ts +23 -23
- package/dist/dts/TPriorityQueue.d.ts.map +1 -1
- package/dist/dts/TPubSub.d.ts +15 -15
- package/dist/dts/TPubSub.d.ts.map +1 -1
- package/dist/dts/TQueue.d.ts +40 -40
- package/dist/dts/TQueue.d.ts.map +1 -1
- package/dist/dts/TRandom.d.ts +13 -13
- package/dist/dts/TRandom.d.ts.map +1 -1
- package/dist/dts/TReentrantLock.d.ts +21 -21
- package/dist/dts/TReentrantLock.d.ts.map +1 -1
- package/dist/dts/TRef.d.ts +25 -25
- package/dist/dts/TRef.d.ts.map +1 -1
- package/dist/dts/TSemaphore.d.ts +15 -15
- package/dist/dts/TSemaphore.d.ts.map +1 -1
- package/dist/dts/TSet.d.ts +49 -49
- package/dist/dts/TSet.d.ts.map +1 -1
- package/dist/dts/Take.d.ts +41 -41
- package/dist/dts/Take.d.ts.map +1 -1
- package/dist/dts/TestAnnotation.d.ts +1 -3
- package/dist/dts/TestAnnotation.d.ts.map +1 -1
- package/dist/dts/TestAnnotations.d.ts +3 -3
- package/dist/dts/TestAnnotations.d.ts.map +1 -1
- package/dist/dts/TestClock.d.ts +18 -18
- package/dist/dts/TestClock.d.ts.map +1 -1
- package/dist/dts/TestConfig.d.ts.map +1 -1
- package/dist/dts/TestContext.d.ts +2 -2
- package/dist/dts/TestContext.d.ts.map +1 -1
- package/dist/dts/TestLive.d.ts +1 -1
- package/dist/dts/TestLive.d.ts.map +1 -1
- package/dist/dts/TestServices.d.ts +31 -31
- package/dist/dts/TestServices.d.ts.map +1 -1
- package/dist/dts/TestSized.d.ts +2 -2
- package/dist/dts/TestSized.d.ts.map +1 -1
- package/dist/dts/Tracer.d.ts +1 -1
- package/dist/dts/Utils.d.ts.map +1 -1
- package/dist/dts/index.d.ts +12 -2
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/channel/channelExecutor.d.ts +1 -1
- package/dist/dts/internal/channel/channelExecutor.d.ts.map +1 -1
- package/dist/dts/internal/core-stream.d.ts +1 -1
- package/dist/dts/internal/core-stream.d.ts.map +1 -1
- package/dist/dts/internal/rateLimiter.d.ts +2 -0
- package/dist/dts/internal/rateLimiter.d.ts.map +1 -0
- package/dist/dts/internal/stm/stm.d.ts +6 -6
- package/dist/dts/internal/stm/stm.d.ts.map +1 -1
- package/dist/dts/internal/version.d.ts +1 -1
- package/dist/esm/Cause.js +13 -0
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/Clock.js.map +1 -1
- package/dist/esm/Console.js.map +1 -1
- package/dist/esm/Context.js +22 -24
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/Data.js +4 -5
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/Deferred.js +1 -1
- package/dist/esm/Deferred.js.map +1 -1
- package/dist/esm/Effect.js +9 -9
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Effectable.js.map +1 -1
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Exit.js +2 -2
- package/dist/esm/Exit.js.map +1 -1
- package/dist/esm/Fiber.js.map +1 -1
- package/dist/esm/FiberMap.js +3 -3
- package/dist/esm/FiberRef.js.map +1 -1
- package/dist/esm/FiberRefs.js.map +1 -1
- package/dist/esm/FiberSet.js +3 -3
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/GroupBy.js.map +1 -1
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/LogLevel.js.map +1 -1
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/Number.js +18 -0
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Pool.js.map +1 -1
- package/dist/esm/PubSub.js.map +1 -1
- package/dist/esm/Queue.js.map +1 -1
- package/dist/esm/Random.js.map +1 -1
- package/dist/esm/RateLimiter.js +7 -0
- package/dist/esm/RateLimiter.js.map +1 -0
- package/dist/esm/ReadonlyRecord.js +44 -8
- package/dist/esm/ReadonlyRecord.js.map +1 -1
- package/dist/esm/Ref.js.map +1 -1
- package/dist/esm/Request.js.map +1 -1
- package/dist/esm/RequestResolver.js.map +1 -1
- package/dist/esm/Resource.js.map +1 -1
- package/dist/esm/Runtime.js +1 -4
- package/dist/esm/Runtime.js.map +1 -1
- package/dist/esm/RuntimeFlags.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/Scope.js.map +1 -1
- package/dist/esm/ScopedRef.js.map +1 -1
- package/dist/esm/SingleProducerAsyncInput.js.map +1 -1
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/SubscriptionRef.js.map +1 -1
- package/dist/esm/Supervisor.js.map +1 -1
- package/dist/esm/SynchronizedRef.js.map +1 -1
- package/dist/esm/TArray.js.map +1 -1
- package/dist/esm/TDeferred.js.map +1 -1
- package/dist/esm/TMap.js.map +1 -1
- package/dist/esm/TPriorityQueue.js.map +1 -1
- package/dist/esm/TPubSub.js.map +1 -1
- package/dist/esm/TQueue.js.map +1 -1
- package/dist/esm/TRandom.js.map +1 -1
- package/dist/esm/TReentrantLock.js.map +1 -1
- package/dist/esm/TRef.js.map +1 -1
- package/dist/esm/TSemaphore.js.map +1 -1
- package/dist/esm/TSet.js.map +1 -1
- package/dist/esm/Take.js +6 -6
- package/dist/esm/Take.js.map +1 -1
- package/dist/esm/TestAnnotation.js +10 -13
- package/dist/esm/TestAnnotation.js.map +1 -1
- package/dist/esm/TestAnnotations.js +1 -1
- package/dist/esm/TestAnnotations.js.map +1 -1
- package/dist/esm/TestClock.js +1 -1
- package/dist/esm/TestClock.js.map +1 -1
- package/dist/esm/TestConfig.js +1 -1
- package/dist/esm/TestConfig.js.map +1 -1
- package/dist/esm/TestContext.js.map +1 -1
- package/dist/esm/TestLive.js +1 -1
- package/dist/esm/TestLive.js.map +1 -1
- package/dist/esm/TestServices.js.map +1 -1
- package/dist/esm/TestSized.js +1 -1
- package/dist/esm/TestSized.js.map +1 -1
- package/dist/esm/Utils.js +1 -1
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/index.js +12 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/cache.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel/mergeDecision.js +2 -6
- package/dist/esm/internal/channel/mergeDecision.js.map +1 -1
- package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/esm/internal/channel.js +1 -1
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/clock.js +1 -1
- package/dist/esm/internal/clock.js.map +1 -1
- package/dist/esm/internal/configProvider.js +2 -4
- package/dist/esm/internal/configProvider.js.map +1 -1
- package/dist/esm/internal/console.js.map +1 -1
- package/dist/esm/internal/context.js +28 -20
- package/dist/esm/internal/context.js.map +1 -1
- package/dist/esm/internal/core-effect.js +12 -26
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core-stream.js.map +1 -1
- package/dist/esm/internal/core.js +57 -127
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/data.js.map +1 -1
- package/dist/esm/internal/defaultServices/console.js +1 -1
- package/dist/esm/internal/defaultServices/console.js.map +1 -1
- package/dist/esm/internal/defaultServices.js.map +1 -1
- package/dist/esm/internal/deferred.js.map +1 -1
- package/dist/esm/internal/differ/contextPatch.js +9 -9
- package/dist/esm/internal/differ/contextPatch.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +5 -8
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/effectable.js +4 -4
- package/dist/esm/internal/effectable.js.map +1 -1
- package/dist/esm/internal/fiber.js +2 -6
- package/dist/esm/internal/fiber.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +10 -19
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/keyedPool.js.map +1 -1
- package/dist/esm/internal/layer/circular.js.map +1 -1
- package/dist/esm/internal/layer.js +3 -3
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/logSpan.js +3 -5
- package/dist/esm/internal/logSpan.js.map +1 -1
- package/dist/esm/internal/metric.js.map +1 -1
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/pubsub.js +1 -5
- package/dist/esm/internal/pubsub.js.map +1 -1
- package/dist/esm/internal/query.js.map +1 -1
- package/dist/esm/internal/queue.js.map +1 -1
- package/dist/esm/internal/random.js +1 -1
- package/dist/esm/internal/random.js.map +1 -1
- package/dist/esm/internal/rateLimiter.js +12 -0
- package/dist/esm/internal/rateLimiter.js.map +1 -0
- package/dist/esm/internal/ref.js.map +1 -1
- package/dist/esm/internal/reloadable.js +1 -9
- package/dist/esm/internal/reloadable.js.map +1 -1
- package/dist/esm/internal/runtime.js +0 -1
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/schedule.js.map +1 -1
- package/dist/esm/internal/scopedCache.js.map +1 -1
- package/dist/esm/internal/scopedRef.js.map +1 -1
- package/dist/esm/internal/sink.js +7 -7
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stm/core.js.map +1 -1
- package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
- package/dist/esm/internal/stm/stm/tExit.js +2 -2
- package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
- package/dist/esm/internal/stm/stm/tryCommit.js.map +1 -1
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stm/tArray.js.map +1 -1
- package/dist/esm/internal/stm/tDeferred.js +4 -2
- package/dist/esm/internal/stm/tDeferred.js.map +1 -1
- package/dist/esm/internal/stm/tMap.js.map +1 -1
- package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/esm/internal/stm/tPubSub.js.map +1 -1
- package/dist/esm/internal/stm/tQueue.js.map +1 -1
- package/dist/esm/internal/stm/tRandom.js +1 -1
- package/dist/esm/internal/stm/tRandom.js.map +1 -1
- package/dist/esm/internal/stm/tReentrantLock.js.map +1 -1
- package/dist/esm/internal/stm/tRef.js.map +1 -1
- package/dist/esm/internal/stm/tSemaphore.js.map +1 -1
- package/dist/esm/internal/stm/tSet.js.map +1 -1
- package/dist/esm/internal/stream/debounceState.js.map +1 -1
- package/dist/esm/internal/stream/handoff.js.map +1 -1
- package/dist/esm/internal/stream/handoffSignal.js.map +1 -1
- package/dist/esm/internal/stream/pull.js.map +1 -1
- package/dist/esm/internal/stream.js +0 -2
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/subscriptionRef.js.map +1 -1
- package/dist/esm/internal/supervisor.js.map +1 -1
- package/dist/esm/internal/take.js +2 -2
- package/dist/esm/internal/take.js.map +1 -1
- package/dist/esm/internal/testing/sleep.js.map +1 -1
- package/dist/esm/internal/tracer.js +2 -2
- package/dist/esm/internal/tracer.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +9 -1
- package/src/Cache.ts +20 -20
- package/src/Cause.ts +37 -13
- package/src/Channel.ts +802 -794
- package/src/Clock.ts +7 -7
- package/src/Config.ts +1 -1
- package/src/ConfigProvider.ts +6 -6
- package/src/Console.ts +44 -48
- package/src/Context.ts +52 -30
- package/src/Data.ts +38 -61
- package/src/Deferred.ts +39 -41
- package/src/Effect.ts +1187 -1206
- package/src/Effectable.ts +8 -8
- package/src/Either.ts +2 -3
- package/src/Exit.ts +88 -105
- package/src/Fiber.ts +77 -83
- package/src/FiberMap.ts +77 -77
- package/src/FiberRef.ts +28 -28
- package/src/FiberRefs.ts +1 -1
- package/src/FiberSet.ts +61 -62
- package/src/GroupBy.ts +8 -12
- package/src/KeyedPool.ts +22 -22
- package/src/Layer.ts +187 -181
- package/src/LogLevel.ts +7 -6
- package/src/Logger.ts +18 -18
- package/src/MergeDecision.ts +7 -7
- package/src/MergeState.ts +16 -16
- package/src/Metric.ts +39 -39
- package/src/MetricPolling.ts +6 -6
- package/src/Number.ts +19 -0
- package/src/Option.ts +2 -3
- package/src/Pool.ts +15 -16
- package/src/PubSub.ts +18 -18
- package/src/Queue.ts +43 -46
- package/src/Random.ts +13 -15
- package/src/RateLimiter.ts +37 -0
- package/src/ReadonlyRecord.ts +49 -8
- package/src/Ref.ts +25 -25
- package/src/Reloadable.ts +10 -10
- package/src/Request.ts +31 -31
- package/src/RequestBlock.ts +3 -3
- package/src/RequestResolver.ts +21 -21
- package/src/Resource.ts +13 -13
- package/src/Runtime.ts +16 -19
- package/src/RuntimeFlags.ts +10 -10
- package/src/STM.ts +361 -362
- package/src/Schedule.ts +19 -19
- package/src/Scheduler.ts +2 -2
- package/src/Scope.ts +14 -15
- package/src/ScopedCache.ts +14 -14
- package/src/ScopedRef.ts +7 -7
- package/src/SingleProducerAsyncInput.ts +8 -9
- package/src/Sink.ts +357 -381
- package/src/Stream.ts +935 -1033
- package/src/StreamEmit.ts +5 -5
- package/src/Streamable.ts +2 -2
- package/src/SubscriptionRef.ts +51 -51
- package/src/Supervisor.ts +26 -26
- package/src/SynchronizedRef.ts +44 -44
- package/src/TArray.ts +74 -74
- package/src/TDeferred.ts +14 -14
- package/src/TMap.ts +72 -72
- package/src/TPriorityQueue.ts +23 -24
- package/src/TPubSub.ts +15 -15
- package/src/TQueue.ts +40 -40
- package/src/TRandom.ts +13 -13
- package/src/TReentrantLock.ts +21 -21
- package/src/TRef.ts +25 -25
- package/src/TSemaphore.ts +15 -15
- package/src/TSet.ts +49 -49
- package/src/Take.ts +51 -51
- package/src/TestAnnotation.ts +6 -17
- package/src/TestAnnotations.ts +7 -9
- package/src/TestClock.ts +39 -45
- package/src/TestConfig.ts +1 -3
- package/src/TestContext.ts +3 -3
- package/src/TestLive.ts +3 -5
- package/src/TestServices.ts +45 -47
- package/src/TestSized.ts +5 -5
- package/src/Tracer.ts +1 -1
- package/src/Utils.ts +8 -10
- package/src/index.ts +13 -2
- package/src/internal/blockedRequests.ts +2 -2
- package/src/internal/cache.ts +38 -38
- package/src/internal/channel/channelExecutor.ts +65 -73
- package/src/internal/channel/channelState.ts +11 -11
- package/src/internal/channel/continuation.ts +10 -10
- package/src/internal/channel/mergeDecision.ts +14 -16
- package/src/internal/channel/mergeState.ts +12 -12
- package/src/internal/channel/singleProducerAsyncInput.ts +15 -17
- package/src/internal/channel/subexecutor.ts +7 -7
- package/src/internal/channel.ts +901 -980
- package/src/internal/clock.ts +6 -6
- package/src/internal/concurrency.ts +9 -9
- package/src/internal/configProvider.ts +29 -36
- package/src/internal/console.ts +12 -12
- package/src/internal/context.ts +32 -23
- package/src/internal/core-effect.ts +655 -616
- package/src/internal/core-stream.ts +317 -325
- package/src/internal/core.ts +856 -790
- package/src/internal/data.ts +2 -3
- package/src/internal/dataSource.ts +14 -14
- package/src/internal/defaultServices/console.ts +3 -1
- package/src/internal/defaultServices.ts +21 -21
- package/src/internal/deferred.ts +9 -9
- package/src/internal/differ/contextPatch.ts +17 -17
- package/src/internal/effect/circular.ts +154 -159
- package/src/internal/effectable.ts +7 -7
- package/src/internal/fiber.ts +55 -59
- package/src/internal/fiberRefs.ts +1 -1
- package/src/internal/fiberRuntime.ts +426 -463
- package/src/internal/groupBy.ts +59 -62
- package/src/internal/keyedPool.ts +37 -37
- package/src/internal/layer/circular.ts +37 -37
- package/src/internal/layer.ts +235 -240
- package/src/internal/logSpan.ts +3 -5
- package/src/internal/metric/polling.ts +5 -5
- package/src/internal/metric.ts +54 -55
- package/src/internal/pool.ts +72 -72
- package/src/internal/pubsub.ts +75 -84
- package/src/internal/query.ts +25 -27
- package/src/internal/queue.ts +65 -70
- package/src/internal/random.ts +9 -9
- package/src/internal/rateLimiter.ts +30 -0
- package/src/internal/ref.ts +24 -24
- package/src/internal/reloadable.ts +11 -31
- package/src/internal/request.ts +14 -14
- package/src/internal/resource.ts +8 -8
- package/src/internal/runtime.ts +21 -22
- package/src/internal/schedule.ts +131 -134
- package/src/internal/scopedCache.ts +35 -32
- package/src/internal/scopedRef.ts +14 -14
- package/src/internal/sink.ts +507 -565
- package/src/internal/stm/core.ts +101 -102
- package/src/internal/stm/stm/stmState.ts +10 -10
- package/src/internal/stm/stm/tExit.ts +18 -18
- package/src/internal/stm/stm/tryCommit.ts +5 -5
- package/src/internal/stm/stm.ts +363 -374
- package/src/internal/stm/tArray.ts +92 -92
- package/src/internal/stm/tDeferred.ts +16 -14
- package/src/internal/stm/tMap.ts +83 -84
- package/src/internal/stm/tPriorityQueue.ts +24 -25
- package/src/internal/stm/tPubSub.ts +37 -38
- package/src/internal/stm/tQueue.ts +44 -48
- package/src/internal/stm/tRandom.ts +18 -18
- package/src/internal/stm/tReentrantLock.ts +28 -28
- package/src/internal/stm/tRef.ts +25 -25
- package/src/internal/stm/tSemaphore.ts +16 -16
- package/src/internal/stm/tSet.ts +51 -52
- package/src/internal/stream/debounceState.ts +7 -7
- package/src/internal/stream/emit.ts +4 -4
- package/src/internal/stream/handoff.ts +19 -19
- package/src/internal/stream/handoffSignal.ts +4 -4
- package/src/internal/stream/pull.ts +10 -11
- package/src/internal/stream.ts +1770 -1788
- package/src/internal/subscriptionRef.ts +17 -17
- package/src/internal/supervisor.ts +49 -56
- package/src/internal/synchronizedRef.ts +27 -27
- package/src/internal/take.ts +61 -61
- package/src/internal/testing/sleep.ts +2 -2
- package/src/internal/testing/suspendedWarningData.ts +2 -2
- package/src/internal/testing/warningData.ts +2 -2
- package/src/internal/tracer.ts +2 -6
- package/src/internal/version.ts +1 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Limits the number of calls to a resource to a maximum amount in some interval using the token bucket algorithm.
|
|
3
|
+
*
|
|
4
|
+
* Note that only the moment of starting the effect is rate limited: the number of concurrent executions is not bounded.
|
|
5
|
+
*
|
|
6
|
+
* Calls are queued up in an unbounded queue until capacity becomes available.
|
|
7
|
+
*
|
|
8
|
+
* @since 2.0.0
|
|
9
|
+
*/
|
|
10
|
+
import type { DurationInput } from "./Duration.js"
|
|
11
|
+
import type { Effect } from "./Effect.js"
|
|
12
|
+
import * as internal from "./internal/rateLimiter.js"
|
|
13
|
+
import type { Scope } from "./Scope.js"
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Limits the number of calls to a resource to a maximum amount in some interval using the token bucket algorithm.
|
|
17
|
+
*
|
|
18
|
+
* Note that only the moment of starting the effect is rate limited: the number of concurrent executions is not bounded.
|
|
19
|
+
*
|
|
20
|
+
* Calls are queued up in an unbounded queue until capacity becomes available.
|
|
21
|
+
*
|
|
22
|
+
* @since 2.0.0
|
|
23
|
+
* @category models
|
|
24
|
+
*/
|
|
25
|
+
export interface RateLimiter {
|
|
26
|
+
<A, E, R>(task: Effect<A, E, R>): Effect<A, E, R>
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @since 2.0.0
|
|
31
|
+
* @category constructors
|
|
32
|
+
*/
|
|
33
|
+
export const make: (limit: number, window: DurationInput) => Effect<
|
|
34
|
+
RateLimiter,
|
|
35
|
+
never,
|
|
36
|
+
Scope
|
|
37
|
+
> = internal.make
|
package/src/ReadonlyRecord.ts
CHANGED
|
@@ -275,6 +275,47 @@ export const get: {
|
|
|
275
275
|
<A>(self: ReadonlyRecord<A>, key: string): Option.Option<A> => has(self, key) ? Option.some(self[key]) : Option.none()
|
|
276
276
|
)
|
|
277
277
|
|
|
278
|
+
/**
|
|
279
|
+
* Apply a function to the element at the specified key, creating a new record.
|
|
280
|
+
* If the key does not exist, the record is returned unchanged.
|
|
281
|
+
*
|
|
282
|
+
* @param self - The record to be updated.
|
|
283
|
+
* @param key - The key of the element to modify.
|
|
284
|
+
* @param f - The function to apply to the element.
|
|
285
|
+
*
|
|
286
|
+
* @example
|
|
287
|
+
* import { modify } from "effect/ReadonlyRecord"
|
|
288
|
+
* import { some, none } from "effect/Option"
|
|
289
|
+
*
|
|
290
|
+
* const f = (x: number) => x * 2
|
|
291
|
+
*
|
|
292
|
+
* assert.deepStrictEqual(
|
|
293
|
+
* modify({ a: 3 }, 'a', f),
|
|
294
|
+
* { a: 6 }
|
|
295
|
+
* )
|
|
296
|
+
* assert.deepStrictEqual(
|
|
297
|
+
* modify({ a: 3 }, 'b', f),
|
|
298
|
+
* { a: 3 }
|
|
299
|
+
* )
|
|
300
|
+
*
|
|
301
|
+
* @since 2.0.0
|
|
302
|
+
*/
|
|
303
|
+
export const modify: {
|
|
304
|
+
<A, B>(
|
|
305
|
+
key: string,
|
|
306
|
+
f: (a: A) => B
|
|
307
|
+
): (self: ReadonlyRecord<A>) => Record<string, A | B>
|
|
308
|
+
<A, B>(self: ReadonlyRecord<A>, key: string, f: (a: A) => B): Record<string, A | B>
|
|
309
|
+
} = dual(
|
|
310
|
+
3,
|
|
311
|
+
<A, B>(self: ReadonlyRecord<A>, key: string, f: (a: A) => B): Record<string, A | B> => {
|
|
312
|
+
if (!has(self, key)) {
|
|
313
|
+
return { ...self }
|
|
314
|
+
}
|
|
315
|
+
return { ...self, [key]: f(self[key]) }
|
|
316
|
+
}
|
|
317
|
+
)
|
|
318
|
+
|
|
278
319
|
/**
|
|
279
320
|
* Apply a function to the element at the specified key, creating a new record,
|
|
280
321
|
* or return `None` if the key doesn't exist.
|
|
@@ -771,14 +812,14 @@ export const values = <A>(self: ReadonlyRecord<A>): Array<A> => collect(self, (_
|
|
|
771
812
|
* @param values - The value you want to associate with the key.
|
|
772
813
|
*
|
|
773
814
|
* @example
|
|
774
|
-
* import {
|
|
815
|
+
* import { set } from "effect/ReadonlyRecord"
|
|
775
816
|
*
|
|
776
|
-
* assert.deepStrictEqual(
|
|
777
|
-
* assert.deepStrictEqual(
|
|
817
|
+
* assert.deepStrictEqual(set("a", 5)({ a: 1, b: 2 }), { a: 5, b: 2 });
|
|
818
|
+
* assert.deepStrictEqual(set("c", 5)({ a: 1, b: 2 }), { a: 1, b: 2, c: 5 });
|
|
778
819
|
*
|
|
779
820
|
* @since 2.0.0
|
|
780
821
|
*/
|
|
781
|
-
export const
|
|
822
|
+
export const set: {
|
|
782
823
|
<B>(key: string, value: B): <A>(self: ReadonlyRecord<A>) => Record<string, A | B>
|
|
783
824
|
<A, B>(self: ReadonlyRecord<A>, key: string, value: B): Record<string, A | B>
|
|
784
825
|
} = dual(3, <A, B>(self: ReadonlyRecord<A>, key: string, value: B): Record<string, A | B> => {
|
|
@@ -795,15 +836,15 @@ export const upsert: {
|
|
|
795
836
|
* @param value - The new value to associate with the key.
|
|
796
837
|
*
|
|
797
838
|
* @example
|
|
798
|
-
* import {
|
|
839
|
+
* import { replace } from "effect/ReadonlyRecord"
|
|
799
840
|
* import { some, none } from "effect/Option"
|
|
800
841
|
*
|
|
801
|
-
* assert.deepStrictEqual(
|
|
802
|
-
* assert.deepStrictEqual(
|
|
842
|
+
* assert.deepStrictEqual(replace("a", 3)({ a: 1, b: 2 }), { a: 3, b: 2 });
|
|
843
|
+
* assert.deepStrictEqual(replace("c", 3)({ a: 1, b: 2 }), { a: 1, b: 2 });
|
|
803
844
|
*
|
|
804
845
|
* @since 2.0.0
|
|
805
846
|
*/
|
|
806
|
-
export const
|
|
847
|
+
export const replace: {
|
|
807
848
|
<B>(key: string, value: B): <A>(self: ReadonlyRecord<A>) => Record<string, A | B>
|
|
808
849
|
<A, B>(self: ReadonlyRecord<A>, key: string, value: B): Record<string, A | B>
|
|
809
850
|
} = dual(3, <A, B>(self: ReadonlyRecord<A>, key: string, value: B): Record<string, A | B> => {
|
package/src/Ref.ts
CHANGED
|
@@ -24,7 +24,7 @@ export type RefTypeId = typeof RefTypeId
|
|
|
24
24
|
* @category models
|
|
25
25
|
*/
|
|
26
26
|
export interface Ref<in out A> extends Ref.Variance<A>, Pipeable {
|
|
27
|
-
modify<B>(f: (a: A) => readonly [B, A]): Effect.Effect<
|
|
27
|
+
modify<B>(f: (a: A) => readonly [B, A]): Effect.Effect<B>
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
/**
|
|
@@ -46,21 +46,21 @@ export declare namespace Ref {
|
|
|
46
46
|
* @since 2.0.0
|
|
47
47
|
* @category constructors
|
|
48
48
|
*/
|
|
49
|
-
export const make: <A>(value: A) => Effect.Effect<
|
|
49
|
+
export const make: <A>(value: A) => Effect.Effect<Ref<A>> = internal.make
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
52
|
* @since 2.0.0
|
|
53
53
|
* @category getters
|
|
54
54
|
*/
|
|
55
|
-
export const get: <A>(self: Ref<A>) => Effect.Effect<
|
|
55
|
+
export const get: <A>(self: Ref<A>) => Effect.Effect<A> = internal.get
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
58
|
* @since 2.0.0
|
|
59
59
|
* @category utils
|
|
60
60
|
*/
|
|
61
61
|
export const getAndSet: {
|
|
62
|
-
<A>(value: A): (self: Ref<A>) => Effect.Effect<
|
|
63
|
-
<A>(self: Ref<A>, value: A): Effect.Effect<
|
|
62
|
+
<A>(value: A): (self: Ref<A>) => Effect.Effect<A>
|
|
63
|
+
<A>(self: Ref<A>, value: A): Effect.Effect<A>
|
|
64
64
|
} = internal.getAndSet
|
|
65
65
|
|
|
66
66
|
/**
|
|
@@ -68,8 +68,8 @@ export const getAndSet: {
|
|
|
68
68
|
* @category utils
|
|
69
69
|
*/
|
|
70
70
|
export const getAndUpdate: {
|
|
71
|
-
<A>(f: (a: A) => A): (self: Ref<A>) => Effect.Effect<
|
|
72
|
-
<A>(self: Ref<A>, f: (a: A) => A): Effect.Effect<
|
|
71
|
+
<A>(f: (a: A) => A): (self: Ref<A>) => Effect.Effect<A>
|
|
72
|
+
<A>(self: Ref<A>, f: (a: A) => A): Effect.Effect<A>
|
|
73
73
|
} = internal.getAndUpdate
|
|
74
74
|
|
|
75
75
|
/**
|
|
@@ -77,8 +77,8 @@ export const getAndUpdate: {
|
|
|
77
77
|
* @category utils
|
|
78
78
|
*/
|
|
79
79
|
export const getAndUpdateSome: {
|
|
80
|
-
<A>(pf: (a: A) => Option.Option<A>): (self: Ref<A>) => Effect.Effect<
|
|
81
|
-
<A>(self: Ref<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<
|
|
80
|
+
<A>(pf: (a: A) => Option.Option<A>): (self: Ref<A>) => Effect.Effect<A>
|
|
81
|
+
<A>(self: Ref<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<A>
|
|
82
82
|
} = internal.getAndUpdateSome
|
|
83
83
|
|
|
84
84
|
/**
|
|
@@ -86,8 +86,8 @@ export const getAndUpdateSome: {
|
|
|
86
86
|
* @category utils
|
|
87
87
|
*/
|
|
88
88
|
export const modify: {
|
|
89
|
-
<A, B>(f: (a: A) => readonly [B, A]): (self: Ref<A>) => Effect.Effect<
|
|
90
|
-
<A, B>(self: Ref<A>, f: (a: A) => readonly [B, A]): Effect.Effect<
|
|
89
|
+
<A, B>(f: (a: A) => readonly [B, A]): (self: Ref<A>) => Effect.Effect<B>
|
|
90
|
+
<A, B>(self: Ref<A>, f: (a: A) => readonly [B, A]): Effect.Effect<B>
|
|
91
91
|
} = internal.modify
|
|
92
92
|
|
|
93
93
|
/**
|
|
@@ -95,8 +95,8 @@ export const modify: {
|
|
|
95
95
|
* @category utils
|
|
96
96
|
*/
|
|
97
97
|
export const modifySome: {
|
|
98
|
-
<B, A>(fallback: B, pf: (a: A) => Option.Option<readonly [B, A]>): (self: Ref<A>) => Effect.Effect<
|
|
99
|
-
<A, B>(self: Ref<A>, fallback: B, pf: (a: A) => Option.Option<readonly [B, A]>): Effect.Effect<
|
|
98
|
+
<B, A>(fallback: B, pf: (a: A) => Option.Option<readonly [B, A]>): (self: Ref<A>) => Effect.Effect<B>
|
|
99
|
+
<A, B>(self: Ref<A>, fallback: B, pf: (a: A) => Option.Option<readonly [B, A]>): Effect.Effect<B>
|
|
100
100
|
} = internal.modifySome
|
|
101
101
|
|
|
102
102
|
/**
|
|
@@ -104,8 +104,8 @@ export const modifySome: {
|
|
|
104
104
|
* @category utils
|
|
105
105
|
*/
|
|
106
106
|
export const set: {
|
|
107
|
-
<A>(value: A): (self: Ref<A>) => Effect.Effect<
|
|
108
|
-
<A>(self: Ref<A>, value: A): Effect.Effect<
|
|
107
|
+
<A>(value: A): (self: Ref<A>) => Effect.Effect<void>
|
|
108
|
+
<A>(self: Ref<A>, value: A): Effect.Effect<void>
|
|
109
109
|
} = internal.set
|
|
110
110
|
|
|
111
111
|
/**
|
|
@@ -113,8 +113,8 @@ export const set: {
|
|
|
113
113
|
* @category utils
|
|
114
114
|
*/
|
|
115
115
|
export const setAndGet: {
|
|
116
|
-
<A>(value: A): (self: Ref<A>) => Effect.Effect<
|
|
117
|
-
<A>(self: Ref<A>, value: A): Effect.Effect<
|
|
116
|
+
<A>(value: A): (self: Ref<A>) => Effect.Effect<A>
|
|
117
|
+
<A>(self: Ref<A>, value: A): Effect.Effect<A>
|
|
118
118
|
} = internal.setAndGet
|
|
119
119
|
|
|
120
120
|
/**
|
|
@@ -122,8 +122,8 @@ export const setAndGet: {
|
|
|
122
122
|
* @category utils
|
|
123
123
|
*/
|
|
124
124
|
export const update: {
|
|
125
|
-
<A>(f: (a: A) => A): (self: Ref<A>) => Effect.Effect<
|
|
126
|
-
<A>(self: Ref<A>, f: (a: A) => A): Effect.Effect<
|
|
125
|
+
<A>(f: (a: A) => A): (self: Ref<A>) => Effect.Effect<void>
|
|
126
|
+
<A>(self: Ref<A>, f: (a: A) => A): Effect.Effect<void>
|
|
127
127
|
} = internal.update
|
|
128
128
|
|
|
129
129
|
/**
|
|
@@ -131,8 +131,8 @@ export const update: {
|
|
|
131
131
|
* @category utils
|
|
132
132
|
*/
|
|
133
133
|
export const updateAndGet: {
|
|
134
|
-
<A>(f: (a: A) => A): (self: Ref<A>) => Effect.Effect<
|
|
135
|
-
<A>(self: Ref<A>, f: (a: A) => A): Effect.Effect<
|
|
134
|
+
<A>(f: (a: A) => A): (self: Ref<A>) => Effect.Effect<A>
|
|
135
|
+
<A>(self: Ref<A>, f: (a: A) => A): Effect.Effect<A>
|
|
136
136
|
} = internal.updateAndGet
|
|
137
137
|
|
|
138
138
|
/**
|
|
@@ -140,8 +140,8 @@ export const updateAndGet: {
|
|
|
140
140
|
* @category utils
|
|
141
141
|
*/
|
|
142
142
|
export const updateSome: {
|
|
143
|
-
<A>(f: (a: A) => Option.Option<A>): (self: Ref<A>) => Effect.Effect<
|
|
144
|
-
<A>(self: Ref<A>, f: (a: A) => Option.Option<A>): Effect.Effect<
|
|
143
|
+
<A>(f: (a: A) => Option.Option<A>): (self: Ref<A>) => Effect.Effect<void>
|
|
144
|
+
<A>(self: Ref<A>, f: (a: A) => Option.Option<A>): Effect.Effect<void>
|
|
145
145
|
} = internal.updateSome
|
|
146
146
|
|
|
147
147
|
/**
|
|
@@ -149,8 +149,8 @@ export const updateSome: {
|
|
|
149
149
|
* @category utils
|
|
150
150
|
*/
|
|
151
151
|
export const updateSomeAndGet: {
|
|
152
|
-
<A>(pf: (a: A) => Option.Option<A>): (self: Ref<A>) => Effect.Effect<
|
|
153
|
-
<A>(self: Ref<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<
|
|
152
|
+
<A>(pf: (a: A) => Option.Option<A>): (self: Ref<A>) => Effect.Effect<A>
|
|
153
|
+
<A>(self: Ref<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<A>
|
|
154
154
|
} = internal.updateSomeAndGet
|
|
155
155
|
|
|
156
156
|
/**
|
package/src/Reloadable.ts
CHANGED
|
@@ -36,7 +36,7 @@ export interface Reloadable<in out A> extends Reloadable.Variance<A> {
|
|
|
36
36
|
/**
|
|
37
37
|
* @internal
|
|
38
38
|
*/
|
|
39
|
-
readonly reload: Effect.Effect<
|
|
39
|
+
readonly reload: Effect.Effect<void, unknown>
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
/**
|
|
@@ -65,10 +65,10 @@ export declare namespace Reloadable {
|
|
|
65
65
|
export const auto: <Out extends Context.Tag<any, any>, In, E, R>(
|
|
66
66
|
tag: Out,
|
|
67
67
|
options: {
|
|
68
|
-
readonly layer: Layer.Layer<
|
|
68
|
+
readonly layer: Layer.Layer<Context.Tag.Identifier<Out>, E, In>
|
|
69
69
|
readonly schedule: Schedule.Schedule<R, unknown, unknown>
|
|
70
70
|
}
|
|
71
|
-
) => Layer.Layer<
|
|
71
|
+
) => Layer.Layer<Reloadable<Context.Tag.Identifier<Out>>, E, In | R> = internal.auto
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
74
|
* Makes a new reloadable service from a layer that describes the construction
|
|
@@ -81,10 +81,10 @@ export const auto: <Out extends Context.Tag<any, any>, In, E, R>(
|
|
|
81
81
|
export const autoFromConfig: <Out extends Context.Tag<any, any>, In, E, R>(
|
|
82
82
|
tag: Out,
|
|
83
83
|
options: {
|
|
84
|
-
readonly layer: Layer.Layer<
|
|
84
|
+
readonly layer: Layer.Layer<Context.Tag.Identifier<Out>, E, In>
|
|
85
85
|
readonly scheduleFromConfig: (context: Context.Context<In>) => Schedule.Schedule<R, unknown, unknown>
|
|
86
86
|
}
|
|
87
|
-
) => Layer.Layer<
|
|
87
|
+
) => Layer.Layer<Reloadable<Context.Tag.Identifier<Out>>, E, In | R> = internal.autoFromConfig
|
|
88
88
|
|
|
89
89
|
/**
|
|
90
90
|
* Retrieves the current version of the reloadable service.
|
|
@@ -94,7 +94,7 @@ export const autoFromConfig: <Out extends Context.Tag<any, any>, In, E, R>(
|
|
|
94
94
|
*/
|
|
95
95
|
export const get: <T extends Context.Tag<any, any>>(
|
|
96
96
|
tag: T
|
|
97
|
-
) => Effect.Effect<
|
|
97
|
+
) => Effect.Effect<Context.Tag.Service<T>, never, Reloadable<Context.Tag.Identifier<T>>> = internal.get
|
|
98
98
|
|
|
99
99
|
/**
|
|
100
100
|
* Makes a new reloadable service from a layer that describes the construction
|
|
@@ -105,8 +105,8 @@ export const get: <T extends Context.Tag<any, any>>(
|
|
|
105
105
|
*/
|
|
106
106
|
export const manual: <Out extends Context.Tag<any, any>, In, E>(
|
|
107
107
|
tag: Out,
|
|
108
|
-
options: { readonly layer: Layer.Layer<
|
|
109
|
-
) => Layer.Layer<
|
|
108
|
+
options: { readonly layer: Layer.Layer<Context.Tag.Identifier<Out>, E, In> }
|
|
109
|
+
) => Layer.Layer<Reloadable<Context.Tag.Identifier<Out>>, E, In> = internal.manual
|
|
110
110
|
|
|
111
111
|
/**
|
|
112
112
|
* Reloads the specified service.
|
|
@@ -116,7 +116,7 @@ export const manual: <Out extends Context.Tag<any, any>, In, E>(
|
|
|
116
116
|
*/
|
|
117
117
|
export const reload: <T extends Context.Tag<any, any>>(
|
|
118
118
|
tag: T
|
|
119
|
-
) => Effect.Effect<Reloadable<Context.Tag.Identifier<T
|
|
119
|
+
) => Effect.Effect<void, unknown, Reloadable<Context.Tag.Identifier<T>>> = internal.reload
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
122
|
* @since 2.0.0
|
|
@@ -134,4 +134,4 @@ export const tag: <T extends Context.Tag<any, any>>(
|
|
|
134
134
|
*/
|
|
135
135
|
export const reloadFork: <T extends Context.Tag<any, any>>(
|
|
136
136
|
tag: T
|
|
137
|
-
) => Effect.Effect<Reloadable<Context.Tag.Identifier<T
|
|
137
|
+
) => Effect.Effect<void, unknown, Reloadable<Context.Tag.Identifier<T>>> = internal.reloadFork
|
package/src/Request.ts
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type * as _Cache from "./Cache.js"
|
|
5
5
|
import type { Cause } from "./Cause.js"
|
|
6
|
-
import type * as Data from "./Data.js"
|
|
7
6
|
import type { Deferred } from "./Deferred.js"
|
|
8
7
|
import type { DurationInput } from "./Duration.js"
|
|
9
8
|
import type * as Effect from "./Effect.js"
|
|
@@ -30,13 +29,13 @@ export const RequestTypeId: unique symbol = internal.RequestTypeId
|
|
|
30
29
|
export type RequestTypeId = typeof RequestTypeId
|
|
31
30
|
|
|
32
31
|
/**
|
|
33
|
-
* A `Request<
|
|
32
|
+
* A `Request<A, E>` is a request from a data source for a value of type `A`
|
|
34
33
|
* that may fail with an `E`.
|
|
35
34
|
*
|
|
36
35
|
* @since 2.0.0
|
|
37
36
|
* @category models
|
|
38
37
|
*/
|
|
39
|
-
export interface Request<out
|
|
38
|
+
export interface Request<out A, out E = never> extends Request.Variance<A, E> {}
|
|
40
39
|
|
|
41
40
|
/**
|
|
42
41
|
* @since 2.0.0
|
|
@@ -46,10 +45,10 @@ export declare namespace Request {
|
|
|
46
45
|
* @since 2.0.0
|
|
47
46
|
* @category models
|
|
48
47
|
*/
|
|
49
|
-
export interface Variance<out
|
|
48
|
+
export interface Variance<out A, out E> {
|
|
50
49
|
readonly [RequestTypeId]: {
|
|
51
|
-
readonly _E: Types.Covariant<E>
|
|
52
50
|
readonly _A: Types.Covariant<A>
|
|
51
|
+
readonly _E: Types.Covariant<E>
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
54
|
|
|
@@ -58,7 +57,7 @@ export declare namespace Request {
|
|
|
58
57
|
* @category models
|
|
59
58
|
*/
|
|
60
59
|
export interface Constructor<R extends Request<any, any>, T extends keyof R = never> {
|
|
61
|
-
(args: Omit<R, T | keyof (
|
|
60
|
+
(args: Omit<R, T | keyof (Request.Variance<Request.Error<R>, Request.Success<R>>)>): R
|
|
62
61
|
}
|
|
63
62
|
|
|
64
63
|
/**
|
|
@@ -67,7 +66,7 @@ export declare namespace Request {
|
|
|
67
66
|
* @since 2.0.0
|
|
68
67
|
* @category type-level
|
|
69
68
|
*/
|
|
70
|
-
export type Error<T extends Request<any, any>> = [T] extends [Request<infer
|
|
69
|
+
export type Error<T extends Request<any, any>> = [T] extends [Request<infer _A, infer _E>] ? _E : never
|
|
71
70
|
|
|
72
71
|
/**
|
|
73
72
|
* A utility type to extract the value type from a `Request`.
|
|
@@ -75,7 +74,7 @@ export declare namespace Request {
|
|
|
75
74
|
* @since 2.0.0
|
|
76
75
|
* @category type-level
|
|
77
76
|
*/
|
|
78
|
-
export type Success<T extends Request<any, any>> = [T] extends [Request<infer
|
|
77
|
+
export type Success<T extends Request<any, any>> = [T] extends [Request<infer _A, infer _E>] ? _A : never
|
|
79
78
|
|
|
80
79
|
/**
|
|
81
80
|
* A utility type to extract the result type from a `Request`.
|
|
@@ -83,7 +82,7 @@ export declare namespace Request {
|
|
|
83
82
|
* @since 2.0.0
|
|
84
83
|
* @category type-level
|
|
85
84
|
*/
|
|
86
|
-
export type Result<T extends Request<any, any>> = T extends Request<infer
|
|
85
|
+
export type Result<T extends Request<any, any>> = T extends Request<infer A, infer E> ? Exit.Exit<A, E> : never
|
|
87
86
|
|
|
88
87
|
/**
|
|
89
88
|
* A utility type to extract the optional result type from a `Request`.
|
|
@@ -91,8 +90,8 @@ export declare namespace Request {
|
|
|
91
90
|
* @since 2.0.0
|
|
92
91
|
* @category type-level
|
|
93
92
|
*/
|
|
94
|
-
export type OptionalResult<T extends Request<any, any>> = T extends Request<infer
|
|
95
|
-
? Exit.Exit<
|
|
93
|
+
export type OptionalResult<T extends Request<any, any>> = T extends Request<infer A, infer E>
|
|
94
|
+
? Exit.Exit<Option.Option<A>, E>
|
|
96
95
|
: never
|
|
97
96
|
}
|
|
98
97
|
|
|
@@ -141,7 +140,7 @@ export const tagged: <R extends Request<any, any> & { _tag: string }>(
|
|
|
141
140
|
export const Class: new<Error, Success, A extends Record<string, any>>(
|
|
142
141
|
args: Types.Equals<Omit<A, keyof Request<unknown, unknown>>, {}> extends true ? void
|
|
143
142
|
: { readonly [P in keyof A as P extends keyof Request<unknown, unknown> ? never : P]: A[P] }
|
|
144
|
-
) => Request<
|
|
143
|
+
) => Request<Success, Error> & Readonly<A> = internal.Class as any
|
|
145
144
|
|
|
146
145
|
/**
|
|
147
146
|
* Provides a Tagged constructor for a Request Class.
|
|
@@ -164,7 +163,7 @@ export const TaggedClass: <Tag extends string>(
|
|
|
164
163
|
) => new<Error, Success, A extends Record<string, any>>(
|
|
165
164
|
args: Types.Equals<Omit<A, keyof Request<unknown, unknown>>, {}> extends true ? void
|
|
166
165
|
: { readonly [P in keyof A as P extends "_tag" | keyof Request<unknown, unknown> ? never : P]: A[P] }
|
|
167
|
-
) => Request<
|
|
166
|
+
) => Request<Success, Error> & Readonly<A> & { readonly _tag: Tag } = internal.TaggedClass as any
|
|
168
167
|
|
|
169
168
|
/**
|
|
170
169
|
* Complete a `Request` with the specified result.
|
|
@@ -173,8 +172,8 @@ export const TaggedClass: <Tag extends string>(
|
|
|
173
172
|
* @category request completion
|
|
174
173
|
*/
|
|
175
174
|
export const complete: {
|
|
176
|
-
<A extends Request<any, any>>(result: Request.Result<A>): (self: A) => Effect.Effect<
|
|
177
|
-
<A extends Request<any, any>>(self: A, result: Request.Result<A>): Effect.Effect<
|
|
175
|
+
<A extends Request<any, any>>(result: Request.Result<A>): (self: A) => Effect.Effect<void>
|
|
176
|
+
<A extends Request<any, any>>(self: A, result: Request.Result<A>): Effect.Effect<void>
|
|
178
177
|
} = internal.complete
|
|
179
178
|
|
|
180
179
|
/**
|
|
@@ -184,8 +183,8 @@ export const complete: {
|
|
|
184
183
|
* @category request completion
|
|
185
184
|
*/
|
|
186
185
|
export const interruptWhenPossible: {
|
|
187
|
-
(all: Iterable<Request<any, any>>): <
|
|
188
|
-
<
|
|
186
|
+
(all: Iterable<Request<any, any>>): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<void, E, R>
|
|
187
|
+
<A, E, R>(self: Effect.Effect<A, E, R>, all: Iterable<Request<any, any>>): Effect.Effect<void, E, R>
|
|
189
188
|
} = fiberRuntime.interruptWhenPossible
|
|
190
189
|
|
|
191
190
|
/**
|
|
@@ -198,12 +197,12 @@ export const interruptWhenPossible: {
|
|
|
198
197
|
*/
|
|
199
198
|
export const completeEffect: {
|
|
200
199
|
<A extends Request<any, any>, R>(
|
|
201
|
-
effect: Effect.Effect<
|
|
202
|
-
): (self: A) => Effect.Effect<
|
|
200
|
+
effect: Effect.Effect<Request.Success<A>, Request.Error<A>, R>
|
|
201
|
+
): (self: A) => Effect.Effect<void, never, R>
|
|
203
202
|
<A extends Request<any, any>, R>(
|
|
204
203
|
self: A,
|
|
205
|
-
effect: Effect.Effect<
|
|
206
|
-
): Effect.Effect<
|
|
204
|
+
effect: Effect.Effect<Request.Success<A>, Request.Error<A>, R>
|
|
205
|
+
): Effect.Effect<void, never, R>
|
|
207
206
|
} = internal.completeEffect
|
|
208
207
|
|
|
209
208
|
/**
|
|
@@ -213,8 +212,8 @@ export const completeEffect: {
|
|
|
213
212
|
* @category request completion
|
|
214
213
|
*/
|
|
215
214
|
export const fail: {
|
|
216
|
-
<A extends Request<any, any>>(error: Request.Error<A>): (self: A) => Effect.Effect<
|
|
217
|
-
<A extends Request<any, any>>(self: A, error: Request.Error<A>): Effect.Effect<
|
|
215
|
+
<A extends Request<any, any>>(error: Request.Error<A>): (self: A) => Effect.Effect<void>
|
|
216
|
+
<A extends Request<any, any>>(self: A, error: Request.Error<A>): Effect.Effect<void>
|
|
218
217
|
} = internal.fail
|
|
219
218
|
|
|
220
219
|
/**
|
|
@@ -224,8 +223,8 @@ export const fail: {
|
|
|
224
223
|
* @category request completion
|
|
225
224
|
*/
|
|
226
225
|
export const failCause: {
|
|
227
|
-
<A extends Request<any, any>>(cause: Cause<Request.Error<A>>): (self: A) => Effect.Effect<
|
|
228
|
-
<A extends Request<any, any>>(self: A, cause: Cause<Request.Error<A>>): Effect.Effect<
|
|
226
|
+
<A extends Request<any, any>>(cause: Cause<Request.Error<A>>): (self: A) => Effect.Effect<void>
|
|
227
|
+
<A extends Request<any, any>>(self: A, cause: Cause<Request.Error<A>>): Effect.Effect<void>
|
|
229
228
|
} = internal.failCause
|
|
230
229
|
|
|
231
230
|
/**
|
|
@@ -235,8 +234,8 @@ export const failCause: {
|
|
|
235
234
|
* @category request completion
|
|
236
235
|
*/
|
|
237
236
|
export const succeed: {
|
|
238
|
-
<A extends Request<any, any>>(value: Request.Success<A>): (self: A) => Effect.Effect<
|
|
239
|
-
<A extends Request<any, any>>(self: A, value: Request.Success<A>): Effect.Effect<
|
|
237
|
+
<A extends Request<any, any>>(value: Request.Success<A>): (self: A) => Effect.Effect<void>
|
|
238
|
+
<A extends Request<any, any>>(self: A, value: Request.Success<A>): Effect.Effect<void>
|
|
240
239
|
} = internal.succeed
|
|
241
240
|
|
|
242
241
|
/**
|
|
@@ -272,10 +271,11 @@ export const makeCache = (
|
|
|
272
271
|
readonly capacity: number
|
|
273
272
|
readonly timeToLive: DurationInput
|
|
274
273
|
}
|
|
275
|
-
): Effect.Effect<
|
|
274
|
+
): Effect.Effect<Cache> =>
|
|
276
275
|
cache.make({
|
|
277
276
|
...options,
|
|
278
|
-
lookup: () =>
|
|
277
|
+
lookup: () =>
|
|
278
|
+
core.map(core.deferredMake<unknown, unknown>(), (handle) => ({ listeners: new internal.Listeners(), handle }))
|
|
279
279
|
})
|
|
280
280
|
|
|
281
281
|
/**
|
|
@@ -303,8 +303,8 @@ export type EntryTypeId = typeof EntryTypeId
|
|
|
303
303
|
export interface Entry<out R> extends Entry.Variance<R> {
|
|
304
304
|
readonly request: R
|
|
305
305
|
readonly result: Deferred<
|
|
306
|
-
[R] extends [Request<infer
|
|
307
|
-
[R] extends [Request<infer
|
|
306
|
+
[R] extends [Request<infer _A, infer _E>] ? _A : never,
|
|
307
|
+
[R] extends [Request<infer _A, infer _E>] ? _E : never
|
|
308
308
|
>
|
|
309
309
|
readonly listeners: Listeners
|
|
310
310
|
readonly ownerId: FiberId
|
package/src/RequestBlock.ts
CHANGED
|
@@ -30,7 +30,7 @@ export declare namespace RequestBlock {
|
|
|
30
30
|
emptyCase(): Z
|
|
31
31
|
parCase(left: Z, right: Z): Z
|
|
32
32
|
singleCase(
|
|
33
|
-
dataSource: RequestResolver.RequestResolver<unknown
|
|
33
|
+
dataSource: RequestResolver.RequestResolver<unknown>,
|
|
34
34
|
blockedRequest: Request.Entry<unknown>
|
|
35
35
|
): Z
|
|
36
36
|
seqCase(left: Z, right: Z): Z
|
|
@@ -71,7 +71,7 @@ export interface Seq {
|
|
|
71
71
|
*/
|
|
72
72
|
export interface Single {
|
|
73
73
|
readonly _tag: "Single"
|
|
74
|
-
readonly dataSource: RequestResolver.RequestResolver<unknown
|
|
74
|
+
readonly dataSource: RequestResolver.RequestResolver<unknown>
|
|
75
75
|
readonly blockedRequest: Request.Entry<unknown>
|
|
76
76
|
}
|
|
77
77
|
|
|
@@ -80,7 +80,7 @@ export interface Single {
|
|
|
80
80
|
* @category constructors
|
|
81
81
|
*/
|
|
82
82
|
export const single: <A>(
|
|
83
|
-
dataSource: RequestResolver.RequestResolver<A
|
|
83
|
+
dataSource: RequestResolver.RequestResolver<A>,
|
|
84
84
|
blockedRequest: Request.Entry<A>
|
|
85
85
|
) => RequestBlock = _RequestBlock.single
|
|
86
86
|
|