effect 2.2.5 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RateLimiter/package.json +6 -0
- package/dist/cjs/Cause.js +14 -1
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/Clock.js.map +1 -1
- package/dist/cjs/Console.js.map +1 -1
- package/dist/cjs/Context.js +23 -25
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Data.js +3 -3
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/Deferred.js +1 -1
- package/dist/cjs/Deferred.js.map +1 -1
- package/dist/cjs/Effect.js +9 -9
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Effectable.js.map +1 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Exit.js +2 -2
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberMap.js +3 -3
- package/dist/cjs/FiberRef.js.map +1 -1
- package/dist/cjs/FiberRefs.js.map +1 -1
- package/dist/cjs/FiberSet.js +3 -3
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/GroupBy.js.map +1 -1
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/LogLevel.js.map +1 -1
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/Number.js +20 -1
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Pool.js.map +1 -1
- package/dist/cjs/PubSub.js.map +1 -1
- package/dist/cjs/Queue.js.map +1 -1
- package/dist/cjs/Random.js.map +1 -1
- package/dist/cjs/RateLimiter.js +38 -0
- package/dist/cjs/RateLimiter.js.map +1 -0
- package/dist/cjs/ReadonlyRecord.js +45 -9
- package/dist/cjs/ReadonlyRecord.js.map +1 -1
- package/dist/cjs/Ref.js.map +1 -1
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/Resource.js.map +1 -1
- package/dist/cjs/Runtime.js +1 -4
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/cjs/RuntimeFlags.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/Scope.js.map +1 -1
- package/dist/cjs/ScopedRef.js.map +1 -1
- package/dist/cjs/SingleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/Supervisor.js.map +1 -1
- package/dist/cjs/SynchronizedRef.js.map +1 -1
- package/dist/cjs/TArray.js.map +1 -1
- package/dist/cjs/TDeferred.js.map +1 -1
- package/dist/cjs/TMap.js.map +1 -1
- package/dist/cjs/TPriorityQueue.js.map +1 -1
- package/dist/cjs/TPubSub.js.map +1 -1
- package/dist/cjs/TQueue.js.map +1 -1
- package/dist/cjs/TRandom.js.map +1 -1
- package/dist/cjs/TReentrantLock.js.map +1 -1
- package/dist/cjs/TRef.js.map +1 -1
- package/dist/cjs/TSemaphore.js.map +1 -1
- package/dist/cjs/TSet.js.map +1 -1
- package/dist/cjs/Take.js +6 -6
- package/dist/cjs/Take.js.map +1 -1
- package/dist/cjs/TestAnnotation.js +10 -13
- package/dist/cjs/TestAnnotation.js.map +1 -1
- package/dist/cjs/TestAnnotations.js +1 -1
- package/dist/cjs/TestAnnotations.js.map +1 -1
- package/dist/cjs/TestClock.js +1 -1
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/TestConfig.js +1 -1
- package/dist/cjs/TestConfig.js.map +1 -1
- package/dist/cjs/TestContext.js.map +1 -1
- package/dist/cjs/TestLive.js +1 -1
- package/dist/cjs/TestLive.js.map +1 -1
- package/dist/cjs/TestServices.js.map +1 -1
- package/dist/cjs/TestSized.js +1 -1
- package/dist/cjs/TestSized.js.map +1 -1
- package/dist/cjs/Utils.js +0 -1
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/cache.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel/mergeDecision.js +2 -6
- package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/internal/channel.js +1 -1
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/clock.js +1 -1
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/configProvider.js +2 -4
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/console.js.map +1 -1
- package/dist/cjs/internal/context.js +31 -22
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +13 -27
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core-stream.js.map +1 -1
- package/dist/cjs/internal/core.js +61 -130
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/data.js.map +1 -1
- package/dist/cjs/internal/defaultServices/console.js +1 -1
- package/dist/cjs/internal/defaultServices/console.js.map +1 -1
- package/dist/cjs/internal/defaultServices.js.map +1 -1
- package/dist/cjs/internal/deferred.js.map +1 -1
- package/dist/cjs/internal/differ/contextPatch.js +9 -9
- package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +7 -10
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/effectable.js +4 -4
- package/dist/cjs/internal/effectable.js.map +1 -1
- package/dist/cjs/internal/fiber.js +2 -6
- package/dist/cjs/internal/fiber.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +10 -19
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/keyedPool.js.map +1 -1
- package/dist/cjs/internal/layer/circular.js.map +1 -1
- package/dist/cjs/internal/layer.js +3 -3
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/logSpan.js +3 -5
- package/dist/cjs/internal/logSpan.js.map +1 -1
- package/dist/cjs/internal/metric.js.map +1 -1
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/pubsub.js +2 -6
- package/dist/cjs/internal/pubsub.js.map +1 -1
- package/dist/cjs/internal/query.js.map +1 -1
- package/dist/cjs/internal/queue.js.map +1 -1
- package/dist/cjs/internal/random.js +1 -1
- package/dist/cjs/internal/random.js.map +1 -1
- package/dist/cjs/internal/rateLimiter.js +44 -0
- package/dist/cjs/internal/rateLimiter.js.map +1 -0
- package/dist/cjs/internal/ref.js.map +1 -1
- package/dist/cjs/internal/reloadable.js +1 -9
- package/dist/cjs/internal/reloadable.js.map +1 -1
- package/dist/cjs/internal/runtime.js +0 -1
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/scopedCache.js.map +1 -1
- package/dist/cjs/internal/scopedRef.js.map +1 -1
- package/dist/cjs/internal/sink.js +7 -7
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tExit.js +2 -2
- package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tryCommit.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stm/tArray.js.map +1 -1
- package/dist/cjs/internal/stm/tDeferred.js +4 -2
- package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
- package/dist/cjs/internal/stm/tMap.js.map +1 -1
- package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
- package/dist/cjs/internal/stm/tQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tRandom.js +1 -1
- package/dist/cjs/internal/stm/tRandom.js.map +1 -1
- package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
- package/dist/cjs/internal/stm/tRef.js.map +1 -1
- package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
- package/dist/cjs/internal/stm/tSet.js.map +1 -1
- package/dist/cjs/internal/stream/debounceState.js.map +1 -1
- package/dist/cjs/internal/stream/handoff.js.map +1 -1
- package/dist/cjs/internal/stream/handoffSignal.js.map +1 -1
- package/dist/cjs/internal/stream/pull.js.map +1 -1
- package/dist/cjs/internal/stream.js +0 -2
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/subscriptionRef.js.map +1 -1
- package/dist/cjs/internal/supervisor.js.map +1 -1
- package/dist/cjs/internal/take.js +2 -2
- package/dist/cjs/internal/take.js.map +1 -1
- package/dist/cjs/internal/testing/sleep.js.map +1 -1
- package/dist/cjs/internal/tracer.js +2 -2
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Cache.d.ts +20 -20
- package/dist/dts/Cache.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +33 -5
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +197 -194
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Clock.d.ts +7 -7
- package/dist/dts/Clock.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +1 -1
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/ConfigProvider.d.ts +6 -6
- package/dist/dts/ConfigProvider.d.ts.map +1 -1
- package/dist/dts/Console.d.ts +43 -43
- package/dist/dts/Console.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +44 -29
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Data.d.ts +38 -57
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/Deferred.d.ts +36 -36
- package/dist/dts/Deferred.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +732 -729
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Effectable.d.ts +8 -8
- package/dist/dts/Effectable.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +2 -3
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Exit.d.ts +74 -74
- package/dist/dts/Exit.d.ts.map +1 -1
- package/dist/dts/Fiber.d.ts +75 -75
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +22 -22
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberRef.d.ts +28 -28
- package/dist/dts/FiberRef.d.ts.map +1 -1
- package/dist/dts/FiberRefs.d.ts +1 -1
- package/dist/dts/FiberRefs.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +16 -16
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts +6 -6
- package/dist/dts/GroupBy.d.ts.map +1 -1
- package/dist/dts/KeyedPool.d.ts +22 -22
- package/dist/dts/KeyedPool.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +126 -126
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/LogLevel.d.ts +2 -2
- package/dist/dts/LogLevel.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +14 -14
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/MergeDecision.d.ts +7 -7
- package/dist/dts/MergeState.d.ts +13 -13
- package/dist/dts/MergeState.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +32 -32
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricPolling.d.ts +6 -6
- package/dist/dts/MetricPolling.d.ts.map +1 -1
- package/dist/dts/Number.d.ts +15 -0
- package/dist/dts/Number.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +2 -3
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Pool.d.ts +15 -16
- package/dist/dts/Pool.d.ts.map +1 -1
- package/dist/dts/PubSub.d.ts +18 -18
- package/dist/dts/PubSub.d.ts.map +1 -1
- package/dist/dts/Queue.d.ts +40 -40
- package/dist/dts/Queue.d.ts.map +1 -1
- package/dist/dts/Random.d.ts +13 -13
- package/dist/dts/Random.d.ts.map +1 -1
- package/dist/dts/RateLimiter.d.ts +31 -0
- package/dist/dts/RateLimiter.d.ts.map +1 -0
- package/dist/dts/ReadonlyArray.d.ts +3 -3
- package/dist/dts/ReadonlyRecord.d.ts +37 -8
- package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
- package/dist/dts/Ref.d.ts +25 -25
- package/dist/dts/Ref.d.ts.map +1 -1
- package/dist/dts/Reloadable.d.ts +9 -9
- package/dist/dts/Reloadable.d.ts.map +1 -1
- package/dist/dts/Request.d.ts +27 -28
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestBlock.d.ts +3 -3
- package/dist/dts/RequestBlock.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +16 -16
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Resource.d.ts +7 -7
- package/dist/dts/Resource.d.ts.map +1 -1
- package/dist/dts/Runtime.d.ts +13 -16
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/dts/RuntimeFlags.d.ts +10 -10
- package/dist/dts/RuntimeFlags.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +303 -303
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +19 -19
- package/dist/dts/Schedule.d.ts.map +1 -1
- package/dist/dts/Scope.d.ts +10 -10
- package/dist/dts/Scope.d.ts.map +1 -1
- package/dist/dts/ScopedCache.d.ts +14 -14
- package/dist/dts/ScopedCache.d.ts.map +1 -1
- package/dist/dts/ScopedRef.d.ts +5 -5
- package/dist/dts/ScopedRef.d.ts.map +1 -1
- package/dist/dts/SingleProducerAsyncInput.d.ts +8 -8
- package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +214 -205
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +595 -592
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/StreamEmit.d.ts +5 -5
- package/dist/dts/StreamEmit.d.ts.map +1 -1
- package/dist/dts/Streamable.d.ts +2 -2
- package/dist/dts/Streamable.d.ts.map +1 -1
- package/dist/dts/SubscriptionRef.d.ts +41 -41
- package/dist/dts/SubscriptionRef.d.ts.map +1 -1
- package/dist/dts/Supervisor.d.ts +17 -17
- package/dist/dts/Supervisor.d.ts.map +1 -1
- package/dist/dts/SynchronizedRef.d.ts +41 -41
- package/dist/dts/SynchronizedRef.d.ts.map +1 -1
- package/dist/dts/TArray.d.ts +72 -72
- package/dist/dts/TArray.d.ts.map +1 -1
- package/dist/dts/TDeferred.d.ts +12 -12
- package/dist/dts/TDeferred.d.ts.map +1 -1
- package/dist/dts/TMap.d.ts +67 -67
- package/dist/dts/TMap.d.ts.map +1 -1
- package/dist/dts/TPriorityQueue.d.ts +23 -23
- package/dist/dts/TPriorityQueue.d.ts.map +1 -1
- package/dist/dts/TPubSub.d.ts +15 -15
- package/dist/dts/TPubSub.d.ts.map +1 -1
- package/dist/dts/TQueue.d.ts +40 -40
- package/dist/dts/TQueue.d.ts.map +1 -1
- package/dist/dts/TRandom.d.ts +13 -13
- package/dist/dts/TRandom.d.ts.map +1 -1
- package/dist/dts/TReentrantLock.d.ts +21 -21
- package/dist/dts/TReentrantLock.d.ts.map +1 -1
- package/dist/dts/TRef.d.ts +25 -25
- package/dist/dts/TRef.d.ts.map +1 -1
- package/dist/dts/TSemaphore.d.ts +15 -15
- package/dist/dts/TSemaphore.d.ts.map +1 -1
- package/dist/dts/TSet.d.ts +49 -49
- package/dist/dts/TSet.d.ts.map +1 -1
- package/dist/dts/Take.d.ts +41 -41
- package/dist/dts/Take.d.ts.map +1 -1
- package/dist/dts/TestAnnotation.d.ts +1 -3
- package/dist/dts/TestAnnotation.d.ts.map +1 -1
- package/dist/dts/TestAnnotations.d.ts +3 -3
- package/dist/dts/TestAnnotations.d.ts.map +1 -1
- package/dist/dts/TestClock.d.ts +18 -18
- package/dist/dts/TestClock.d.ts.map +1 -1
- package/dist/dts/TestConfig.d.ts.map +1 -1
- package/dist/dts/TestContext.d.ts +2 -2
- package/dist/dts/TestContext.d.ts.map +1 -1
- package/dist/dts/TestLive.d.ts +1 -1
- package/dist/dts/TestLive.d.ts.map +1 -1
- package/dist/dts/TestServices.d.ts +31 -31
- package/dist/dts/TestServices.d.ts.map +1 -1
- package/dist/dts/TestSized.d.ts +2 -2
- package/dist/dts/TestSized.d.ts.map +1 -1
- package/dist/dts/Tracer.d.ts +1 -1
- package/dist/dts/Utils.d.ts.map +1 -1
- package/dist/dts/index.d.ts +12 -2
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/channel/channelExecutor.d.ts +1 -1
- package/dist/dts/internal/channel/channelExecutor.d.ts.map +1 -1
- package/dist/dts/internal/core-stream.d.ts +1 -1
- package/dist/dts/internal/core-stream.d.ts.map +1 -1
- package/dist/dts/internal/rateLimiter.d.ts +2 -0
- package/dist/dts/internal/rateLimiter.d.ts.map +1 -0
- package/dist/dts/internal/stm/stm.d.ts +6 -6
- package/dist/dts/internal/stm/stm.d.ts.map +1 -1
- package/dist/dts/internal/version.d.ts +1 -1
- package/dist/esm/Cause.js +13 -0
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/Clock.js.map +1 -1
- package/dist/esm/Console.js.map +1 -1
- package/dist/esm/Context.js +22 -24
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/Data.js +4 -5
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/Deferred.js +1 -1
- package/dist/esm/Deferred.js.map +1 -1
- package/dist/esm/Effect.js +9 -9
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Effectable.js.map +1 -1
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Exit.js +2 -2
- package/dist/esm/Exit.js.map +1 -1
- package/dist/esm/Fiber.js.map +1 -1
- package/dist/esm/FiberMap.js +3 -3
- package/dist/esm/FiberRef.js.map +1 -1
- package/dist/esm/FiberRefs.js.map +1 -1
- package/dist/esm/FiberSet.js +3 -3
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/GroupBy.js.map +1 -1
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/LogLevel.js.map +1 -1
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/Number.js +18 -0
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Pool.js.map +1 -1
- package/dist/esm/PubSub.js.map +1 -1
- package/dist/esm/Queue.js.map +1 -1
- package/dist/esm/Random.js.map +1 -1
- package/dist/esm/RateLimiter.js +7 -0
- package/dist/esm/RateLimiter.js.map +1 -0
- package/dist/esm/ReadonlyRecord.js +44 -8
- package/dist/esm/ReadonlyRecord.js.map +1 -1
- package/dist/esm/Ref.js.map +1 -1
- package/dist/esm/Request.js.map +1 -1
- package/dist/esm/RequestResolver.js.map +1 -1
- package/dist/esm/Resource.js.map +1 -1
- package/dist/esm/Runtime.js +1 -4
- package/dist/esm/Runtime.js.map +1 -1
- package/dist/esm/RuntimeFlags.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/Scope.js.map +1 -1
- package/dist/esm/ScopedRef.js.map +1 -1
- package/dist/esm/SingleProducerAsyncInput.js.map +1 -1
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/SubscriptionRef.js.map +1 -1
- package/dist/esm/Supervisor.js.map +1 -1
- package/dist/esm/SynchronizedRef.js.map +1 -1
- package/dist/esm/TArray.js.map +1 -1
- package/dist/esm/TDeferred.js.map +1 -1
- package/dist/esm/TMap.js.map +1 -1
- package/dist/esm/TPriorityQueue.js.map +1 -1
- package/dist/esm/TPubSub.js.map +1 -1
- package/dist/esm/TQueue.js.map +1 -1
- package/dist/esm/TRandom.js.map +1 -1
- package/dist/esm/TReentrantLock.js.map +1 -1
- package/dist/esm/TRef.js.map +1 -1
- package/dist/esm/TSemaphore.js.map +1 -1
- package/dist/esm/TSet.js.map +1 -1
- package/dist/esm/Take.js +6 -6
- package/dist/esm/Take.js.map +1 -1
- package/dist/esm/TestAnnotation.js +10 -13
- package/dist/esm/TestAnnotation.js.map +1 -1
- package/dist/esm/TestAnnotations.js +1 -1
- package/dist/esm/TestAnnotations.js.map +1 -1
- package/dist/esm/TestClock.js +1 -1
- package/dist/esm/TestClock.js.map +1 -1
- package/dist/esm/TestConfig.js +1 -1
- package/dist/esm/TestConfig.js.map +1 -1
- package/dist/esm/TestContext.js.map +1 -1
- package/dist/esm/TestLive.js +1 -1
- package/dist/esm/TestLive.js.map +1 -1
- package/dist/esm/TestServices.js.map +1 -1
- package/dist/esm/TestSized.js +1 -1
- package/dist/esm/TestSized.js.map +1 -1
- package/dist/esm/Utils.js +1 -1
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/index.js +12 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/cache.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel/mergeDecision.js +2 -6
- package/dist/esm/internal/channel/mergeDecision.js.map +1 -1
- package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/esm/internal/channel.js +1 -1
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/clock.js +1 -1
- package/dist/esm/internal/clock.js.map +1 -1
- package/dist/esm/internal/configProvider.js +2 -4
- package/dist/esm/internal/configProvider.js.map +1 -1
- package/dist/esm/internal/console.js.map +1 -1
- package/dist/esm/internal/context.js +28 -20
- package/dist/esm/internal/context.js.map +1 -1
- package/dist/esm/internal/core-effect.js +12 -26
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core-stream.js.map +1 -1
- package/dist/esm/internal/core.js +57 -127
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/data.js.map +1 -1
- package/dist/esm/internal/defaultServices/console.js +1 -1
- package/dist/esm/internal/defaultServices/console.js.map +1 -1
- package/dist/esm/internal/defaultServices.js.map +1 -1
- package/dist/esm/internal/deferred.js.map +1 -1
- package/dist/esm/internal/differ/contextPatch.js +9 -9
- package/dist/esm/internal/differ/contextPatch.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +5 -8
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/effectable.js +4 -4
- package/dist/esm/internal/effectable.js.map +1 -1
- package/dist/esm/internal/fiber.js +2 -6
- package/dist/esm/internal/fiber.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +10 -19
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/keyedPool.js.map +1 -1
- package/dist/esm/internal/layer/circular.js.map +1 -1
- package/dist/esm/internal/layer.js +3 -3
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/logSpan.js +3 -5
- package/dist/esm/internal/logSpan.js.map +1 -1
- package/dist/esm/internal/metric.js.map +1 -1
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/pubsub.js +1 -5
- package/dist/esm/internal/pubsub.js.map +1 -1
- package/dist/esm/internal/query.js.map +1 -1
- package/dist/esm/internal/queue.js.map +1 -1
- package/dist/esm/internal/random.js +1 -1
- package/dist/esm/internal/random.js.map +1 -1
- package/dist/esm/internal/rateLimiter.js +12 -0
- package/dist/esm/internal/rateLimiter.js.map +1 -0
- package/dist/esm/internal/ref.js.map +1 -1
- package/dist/esm/internal/reloadable.js +1 -9
- package/dist/esm/internal/reloadable.js.map +1 -1
- package/dist/esm/internal/runtime.js +0 -1
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/schedule.js.map +1 -1
- package/dist/esm/internal/scopedCache.js.map +1 -1
- package/dist/esm/internal/scopedRef.js.map +1 -1
- package/dist/esm/internal/sink.js +7 -7
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stm/core.js.map +1 -1
- package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
- package/dist/esm/internal/stm/stm/tExit.js +2 -2
- package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
- package/dist/esm/internal/stm/stm/tryCommit.js.map +1 -1
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stm/tArray.js.map +1 -1
- package/dist/esm/internal/stm/tDeferred.js +4 -2
- package/dist/esm/internal/stm/tDeferred.js.map +1 -1
- package/dist/esm/internal/stm/tMap.js.map +1 -1
- package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/esm/internal/stm/tPubSub.js.map +1 -1
- package/dist/esm/internal/stm/tQueue.js.map +1 -1
- package/dist/esm/internal/stm/tRandom.js +1 -1
- package/dist/esm/internal/stm/tRandom.js.map +1 -1
- package/dist/esm/internal/stm/tReentrantLock.js.map +1 -1
- package/dist/esm/internal/stm/tRef.js.map +1 -1
- package/dist/esm/internal/stm/tSemaphore.js.map +1 -1
- package/dist/esm/internal/stm/tSet.js.map +1 -1
- package/dist/esm/internal/stream/debounceState.js.map +1 -1
- package/dist/esm/internal/stream/handoff.js.map +1 -1
- package/dist/esm/internal/stream/handoffSignal.js.map +1 -1
- package/dist/esm/internal/stream/pull.js.map +1 -1
- package/dist/esm/internal/stream.js +0 -2
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/subscriptionRef.js.map +1 -1
- package/dist/esm/internal/supervisor.js.map +1 -1
- package/dist/esm/internal/take.js +2 -2
- package/dist/esm/internal/take.js.map +1 -1
- package/dist/esm/internal/testing/sleep.js.map +1 -1
- package/dist/esm/internal/tracer.js +2 -2
- package/dist/esm/internal/tracer.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +9 -1
- package/src/Cache.ts +20 -20
- package/src/Cause.ts +37 -13
- package/src/Channel.ts +802 -794
- package/src/Clock.ts +7 -7
- package/src/Config.ts +1 -1
- package/src/ConfigProvider.ts +6 -6
- package/src/Console.ts +44 -48
- package/src/Context.ts +52 -30
- package/src/Data.ts +38 -61
- package/src/Deferred.ts +39 -41
- package/src/Effect.ts +1187 -1206
- package/src/Effectable.ts +8 -8
- package/src/Either.ts +2 -3
- package/src/Exit.ts +88 -105
- package/src/Fiber.ts +77 -83
- package/src/FiberMap.ts +77 -77
- package/src/FiberRef.ts +28 -28
- package/src/FiberRefs.ts +1 -1
- package/src/FiberSet.ts +61 -62
- package/src/GroupBy.ts +8 -12
- package/src/KeyedPool.ts +22 -22
- package/src/Layer.ts +187 -181
- package/src/LogLevel.ts +7 -6
- package/src/Logger.ts +18 -18
- package/src/MergeDecision.ts +7 -7
- package/src/MergeState.ts +16 -16
- package/src/Metric.ts +39 -39
- package/src/MetricPolling.ts +6 -6
- package/src/Number.ts +19 -0
- package/src/Option.ts +2 -3
- package/src/Pool.ts +15 -16
- package/src/PubSub.ts +18 -18
- package/src/Queue.ts +43 -46
- package/src/Random.ts +13 -15
- package/src/RateLimiter.ts +37 -0
- package/src/ReadonlyRecord.ts +49 -8
- package/src/Ref.ts +25 -25
- package/src/Reloadable.ts +10 -10
- package/src/Request.ts +31 -31
- package/src/RequestBlock.ts +3 -3
- package/src/RequestResolver.ts +21 -21
- package/src/Resource.ts +13 -13
- package/src/Runtime.ts +16 -19
- package/src/RuntimeFlags.ts +10 -10
- package/src/STM.ts +361 -362
- package/src/Schedule.ts +19 -19
- package/src/Scheduler.ts +2 -2
- package/src/Scope.ts +14 -15
- package/src/ScopedCache.ts +14 -14
- package/src/ScopedRef.ts +7 -7
- package/src/SingleProducerAsyncInput.ts +8 -9
- package/src/Sink.ts +357 -381
- package/src/Stream.ts +935 -1033
- package/src/StreamEmit.ts +5 -5
- package/src/Streamable.ts +2 -2
- package/src/SubscriptionRef.ts +51 -51
- package/src/Supervisor.ts +26 -26
- package/src/SynchronizedRef.ts +44 -44
- package/src/TArray.ts +74 -74
- package/src/TDeferred.ts +14 -14
- package/src/TMap.ts +72 -72
- package/src/TPriorityQueue.ts +23 -24
- package/src/TPubSub.ts +15 -15
- package/src/TQueue.ts +40 -40
- package/src/TRandom.ts +13 -13
- package/src/TReentrantLock.ts +21 -21
- package/src/TRef.ts +25 -25
- package/src/TSemaphore.ts +15 -15
- package/src/TSet.ts +49 -49
- package/src/Take.ts +51 -51
- package/src/TestAnnotation.ts +6 -17
- package/src/TestAnnotations.ts +7 -9
- package/src/TestClock.ts +39 -45
- package/src/TestConfig.ts +1 -3
- package/src/TestContext.ts +3 -3
- package/src/TestLive.ts +3 -5
- package/src/TestServices.ts +45 -47
- package/src/TestSized.ts +5 -5
- package/src/Tracer.ts +1 -1
- package/src/Utils.ts +8 -10
- package/src/index.ts +13 -2
- package/src/internal/blockedRequests.ts +2 -2
- package/src/internal/cache.ts +38 -38
- package/src/internal/channel/channelExecutor.ts +65 -73
- package/src/internal/channel/channelState.ts +11 -11
- package/src/internal/channel/continuation.ts +10 -10
- package/src/internal/channel/mergeDecision.ts +14 -16
- package/src/internal/channel/mergeState.ts +12 -12
- package/src/internal/channel/singleProducerAsyncInput.ts +15 -17
- package/src/internal/channel/subexecutor.ts +7 -7
- package/src/internal/channel.ts +901 -980
- package/src/internal/clock.ts +6 -6
- package/src/internal/concurrency.ts +9 -9
- package/src/internal/configProvider.ts +29 -36
- package/src/internal/console.ts +12 -12
- package/src/internal/context.ts +32 -23
- package/src/internal/core-effect.ts +655 -616
- package/src/internal/core-stream.ts +317 -325
- package/src/internal/core.ts +856 -790
- package/src/internal/data.ts +2 -3
- package/src/internal/dataSource.ts +14 -14
- package/src/internal/defaultServices/console.ts +3 -1
- package/src/internal/defaultServices.ts +21 -21
- package/src/internal/deferred.ts +9 -9
- package/src/internal/differ/contextPatch.ts +17 -17
- package/src/internal/effect/circular.ts +154 -159
- package/src/internal/effectable.ts +7 -7
- package/src/internal/fiber.ts +55 -59
- package/src/internal/fiberRefs.ts +1 -1
- package/src/internal/fiberRuntime.ts +426 -463
- package/src/internal/groupBy.ts +59 -62
- package/src/internal/keyedPool.ts +37 -37
- package/src/internal/layer/circular.ts +37 -37
- package/src/internal/layer.ts +235 -240
- package/src/internal/logSpan.ts +3 -5
- package/src/internal/metric/polling.ts +5 -5
- package/src/internal/metric.ts +54 -55
- package/src/internal/pool.ts +72 -72
- package/src/internal/pubsub.ts +75 -84
- package/src/internal/query.ts +25 -27
- package/src/internal/queue.ts +65 -70
- package/src/internal/random.ts +9 -9
- package/src/internal/rateLimiter.ts +30 -0
- package/src/internal/ref.ts +24 -24
- package/src/internal/reloadable.ts +11 -31
- package/src/internal/request.ts +14 -14
- package/src/internal/resource.ts +8 -8
- package/src/internal/runtime.ts +21 -22
- package/src/internal/schedule.ts +131 -134
- package/src/internal/scopedCache.ts +35 -32
- package/src/internal/scopedRef.ts +14 -14
- package/src/internal/sink.ts +507 -565
- package/src/internal/stm/core.ts +101 -102
- package/src/internal/stm/stm/stmState.ts +10 -10
- package/src/internal/stm/stm/tExit.ts +18 -18
- package/src/internal/stm/stm/tryCommit.ts +5 -5
- package/src/internal/stm/stm.ts +363 -374
- package/src/internal/stm/tArray.ts +92 -92
- package/src/internal/stm/tDeferred.ts +16 -14
- package/src/internal/stm/tMap.ts +83 -84
- package/src/internal/stm/tPriorityQueue.ts +24 -25
- package/src/internal/stm/tPubSub.ts +37 -38
- package/src/internal/stm/tQueue.ts +44 -48
- package/src/internal/stm/tRandom.ts +18 -18
- package/src/internal/stm/tReentrantLock.ts +28 -28
- package/src/internal/stm/tRef.ts +25 -25
- package/src/internal/stm/tSemaphore.ts +16 -16
- package/src/internal/stm/tSet.ts +51 -52
- package/src/internal/stream/debounceState.ts +7 -7
- package/src/internal/stream/emit.ts +4 -4
- package/src/internal/stream/handoff.ts +19 -19
- package/src/internal/stream/handoffSignal.ts +4 -4
- package/src/internal/stream/pull.ts +10 -11
- package/src/internal/stream.ts +1770 -1788
- package/src/internal/subscriptionRef.ts +17 -17
- package/src/internal/supervisor.ts +49 -56
- package/src/internal/synchronizedRef.ts +27 -27
- package/src/internal/take.ts +61 -61
- package/src/internal/testing/sleep.ts +2 -2
- package/src/internal/testing/suspendedWarningData.ts +2 -2
- package/src/internal/testing/warningData.ts +2 -2
- package/src/internal/tracer.ts +2 -6
- package/src/internal/version.ts +1 -1
package/src/TestServices.ts
CHANGED
|
@@ -55,7 +55,7 @@ export const currentServices: FiberRef.FiberRef<Context.Context<TestServices>> =
|
|
|
55
55
|
*
|
|
56
56
|
* @since 2.0.0
|
|
57
57
|
*/
|
|
58
|
-
export const annotations = (): Effect.Effect<
|
|
58
|
+
export const annotations = (): Effect.Effect<Annotations.TestAnnotations> => annotationsWith(core.succeed)
|
|
59
59
|
|
|
60
60
|
/**
|
|
61
61
|
* Retrieves the `Annotations` service for this test and uses it to run the
|
|
@@ -63,9 +63,9 @@ export const annotations = (): Effect.Effect<never, never, Annotations.TestAnnot
|
|
|
63
63
|
*
|
|
64
64
|
* @since 2.0.0
|
|
65
65
|
*/
|
|
66
|
-
export const annotationsWith = <
|
|
67
|
-
f: (annotations: Annotations.TestAnnotations) => Effect.Effect<
|
|
68
|
-
): Effect.Effect<
|
|
66
|
+
export const annotationsWith = <A, E, R>(
|
|
67
|
+
f: (annotations: Annotations.TestAnnotations) => Effect.Effect<A, E, R>
|
|
68
|
+
): Effect.Effect<A, E, R> =>
|
|
69
69
|
core.fiberRefGetWith(
|
|
70
70
|
currentServices,
|
|
71
71
|
(services) => f(Context.get(services, Annotations.TestAnnotations))
|
|
@@ -78,8 +78,8 @@ export const annotationsWith = <R, E, A>(
|
|
|
78
78
|
* @since 2.0.0
|
|
79
79
|
*/
|
|
80
80
|
export const withAnnotations = dual<
|
|
81
|
-
(annotations: Annotations.TestAnnotations) => <
|
|
82
|
-
<
|
|
81
|
+
(annotations: Annotations.TestAnnotations) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>,
|
|
82
|
+
<A, E, R>(effect: Effect.Effect<A, E, R>, annotations: Annotations.TestAnnotations) => Effect.Effect<A, E, R>
|
|
83
83
|
>(2, (effect, annotations) =>
|
|
84
84
|
core.fiberRefLocallyWith(
|
|
85
85
|
currentServices,
|
|
@@ -94,7 +94,7 @@ export const withAnnotations = dual<
|
|
|
94
94
|
*/
|
|
95
95
|
export const withAnnotationsScoped = (
|
|
96
96
|
annotations: Annotations.TestAnnotations
|
|
97
|
-
): Effect.Effect<
|
|
97
|
+
): Effect.Effect<void, never, Scope.Scope> =>
|
|
98
98
|
fiberRuntime.fiberRefLocallyScopedWith(
|
|
99
99
|
currentServices,
|
|
100
100
|
Context.add(Annotations.TestAnnotations, annotations)
|
|
@@ -105,7 +105,7 @@ export const withAnnotationsScoped = (
|
|
|
105
105
|
*
|
|
106
106
|
* @since 2.0.0
|
|
107
107
|
*/
|
|
108
|
-
export const annotationsLayer = (): Layer.Layer<
|
|
108
|
+
export const annotationsLayer = (): Layer.Layer<Annotations.TestAnnotations> =>
|
|
109
109
|
layer.scoped(
|
|
110
110
|
Annotations.TestAnnotations,
|
|
111
111
|
pipe(
|
|
@@ -121,7 +121,7 @@ export const annotationsLayer = (): Layer.Layer<never, never, Annotations.TestAn
|
|
|
121
121
|
*
|
|
122
122
|
* @since 2.0.0
|
|
123
123
|
*/
|
|
124
|
-
export const get = <A>(key: TestAnnotation.TestAnnotation<A>): Effect.Effect<
|
|
124
|
+
export const get = <A>(key: TestAnnotation.TestAnnotation<A>): Effect.Effect<A> =>
|
|
125
125
|
annotationsWith((annotations) => annotations.get(key))
|
|
126
126
|
|
|
127
127
|
/**
|
|
@@ -130,7 +130,7 @@ export const get = <A>(key: TestAnnotation.TestAnnotation<A>): Effect.Effect<nev
|
|
|
130
130
|
*
|
|
131
131
|
* @since 2.0.0
|
|
132
132
|
*/
|
|
133
|
-
export const annotate = <A>(key: TestAnnotation.TestAnnotation<A>, value: A): Effect.Effect<
|
|
133
|
+
export const annotate = <A>(key: TestAnnotation.TestAnnotation<A>, value: A): Effect.Effect<void> =>
|
|
134
134
|
annotationsWith((annotations) => annotations.annotate(key, value))
|
|
135
135
|
|
|
136
136
|
/**
|
|
@@ -139,8 +139,6 @@ export const annotate = <A>(key: TestAnnotation.TestAnnotation<A>, value: A): Ef
|
|
|
139
139
|
* @since 2.0.0
|
|
140
140
|
*/
|
|
141
141
|
export const supervisedFibers = (): Effect.Effect<
|
|
142
|
-
never,
|
|
143
|
-
never,
|
|
144
142
|
SortedSet.SortedSet<Fiber.RuntimeFiber<unknown, unknown>>
|
|
145
143
|
> => annotationsWith((annotations) => annotations.supervisedFibers)
|
|
146
144
|
|
|
@@ -150,7 +148,7 @@ export const supervisedFibers = (): Effect.Effect<
|
|
|
150
148
|
*
|
|
151
149
|
* @since 2.0.0
|
|
152
150
|
*/
|
|
153
|
-
export const liveWith = <
|
|
151
|
+
export const liveWith = <A, E, R>(f: (live: Live.TestLive) => Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
|
|
154
152
|
core.fiberRefGetWith(currentServices, (services) => f(Context.get(services, Live.TestLive)))
|
|
155
153
|
|
|
156
154
|
/**
|
|
@@ -158,7 +156,7 @@ export const liveWith = <R, E, A>(f: (live: Live.TestLive) => Effect.Effect<R, E
|
|
|
158
156
|
*
|
|
159
157
|
* @since 2.0.0
|
|
160
158
|
*/
|
|
161
|
-
export const live: Effect.Effect<
|
|
159
|
+
export const live: Effect.Effect<Live.TestLive> = liveWith(core.succeed)
|
|
162
160
|
|
|
163
161
|
/**
|
|
164
162
|
* Executes the specified workflow with the specified implementation of the
|
|
@@ -167,8 +165,8 @@ export const live: Effect.Effect<never, never, Live.TestLive> = liveWith(core.su
|
|
|
167
165
|
* @since 2.0.0
|
|
168
166
|
*/
|
|
169
167
|
export const withLive = dual<
|
|
170
|
-
(live: Live.TestLive) => <
|
|
171
|
-
<
|
|
168
|
+
(live: Live.TestLive) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>,
|
|
169
|
+
<A, E, R>(effect: Effect.Effect<A, E, R>, live: Live.TestLive) => Effect.Effect<A, E, R>
|
|
172
170
|
>(2, (effect, live) =>
|
|
173
171
|
core.fiberRefLocallyWith(
|
|
174
172
|
currentServices,
|
|
@@ -181,7 +179,7 @@ export const withLive = dual<
|
|
|
181
179
|
*
|
|
182
180
|
* @since 2.0.0
|
|
183
181
|
*/
|
|
184
|
-
export const withLiveScoped = (live: Live.TestLive): Effect.Effect<
|
|
182
|
+
export const withLiveScoped = (live: Live.TestLive): Effect.Effect<void, never, Scope.Scope> =>
|
|
185
183
|
fiberRuntime.fiberRefLocallyScopedWith(currentServices, Context.add(Live.TestLive, live))
|
|
186
184
|
|
|
187
185
|
/**
|
|
@@ -189,7 +187,7 @@ export const withLiveScoped = (live: Live.TestLive): Effect.Effect<Scope.Scope,
|
|
|
189
187
|
*
|
|
190
188
|
* @since 2.0.0
|
|
191
189
|
*/
|
|
192
|
-
export const liveLayer = (): Layer.Layer<
|
|
190
|
+
export const liveLayer = (): Layer.Layer<Live.TestLive, never, DefaultServices.DefaultServices> =>
|
|
193
191
|
layer.scoped(
|
|
194
192
|
Live.TestLive,
|
|
195
193
|
pipe(
|
|
@@ -204,7 +202,7 @@ export const liveLayer = (): Layer.Layer<DefaultServices.DefaultServices, never,
|
|
|
204
202
|
*
|
|
205
203
|
* @since 2.0.0
|
|
206
204
|
*/
|
|
207
|
-
export const provideLive = <
|
|
205
|
+
export const provideLive = <A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
|
|
208
206
|
liveWith((live) => live.provide(effect))
|
|
209
207
|
|
|
210
208
|
/**
|
|
@@ -214,13 +212,13 @@ export const provideLive = <R, E, A>(effect: Effect.Effect<R, E, A>): Effect.Eff
|
|
|
214
212
|
* @since 2.0.0
|
|
215
213
|
*/
|
|
216
214
|
export const provideWithLive = dual<
|
|
217
|
-
<
|
|
218
|
-
f: (effect: Effect.Effect<
|
|
219
|
-
) => (self: Effect.Effect<
|
|
220
|
-
<
|
|
221
|
-
self: Effect.Effect<
|
|
222
|
-
f: (effect: Effect.Effect<
|
|
223
|
-
) => Effect.Effect<
|
|
215
|
+
<A, E, R, A2, E2, R2>(
|
|
216
|
+
f: (effect: Effect.Effect<A, E, R>) => Effect.Effect<A2, E2, R2>
|
|
217
|
+
) => (self: Effect.Effect<A, E, R>) => Effect.Effect<A2, E | E2, R | R2>,
|
|
218
|
+
<A, E, R, A2, E2, R2>(
|
|
219
|
+
self: Effect.Effect<A, E, R>,
|
|
220
|
+
f: (effect: Effect.Effect<A, E, R>) => Effect.Effect<A2, E2, R2>
|
|
221
|
+
) => Effect.Effect<A2, E | E2, R | R2>
|
|
224
222
|
>(2, (self, f) =>
|
|
225
223
|
core.fiberRefGetWith(
|
|
226
224
|
defaultServices.currentServices,
|
|
@@ -233,7 +231,7 @@ export const provideWithLive = dual<
|
|
|
233
231
|
*
|
|
234
232
|
* @since 2.0.0
|
|
235
233
|
*/
|
|
236
|
-
export const sizedWith = <
|
|
234
|
+
export const sizedWith = <A, E, R>(f: (sized: Sized.TestSized) => Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
|
|
237
235
|
core.fiberRefGetWith(
|
|
238
236
|
currentServices,
|
|
239
237
|
(services) => f(Context.get(services, Sized.TestSized))
|
|
@@ -244,7 +242,7 @@ export const sizedWith = <R, E, A>(f: (sized: Sized.TestSized) => Effect.Effect<
|
|
|
244
242
|
*
|
|
245
243
|
* @since 2.0.0
|
|
246
244
|
*/
|
|
247
|
-
export const sized: Effect.Effect<
|
|
245
|
+
export const sized: Effect.Effect<Sized.TestSized> = sizedWith(core.succeed)
|
|
248
246
|
|
|
249
247
|
/**
|
|
250
248
|
* Executes the specified workflow with the specified implementation of the
|
|
@@ -253,8 +251,8 @@ export const sized: Effect.Effect<never, never, Sized.TestSized> = sizedWith(cor
|
|
|
253
251
|
* @since 2.0.0
|
|
254
252
|
*/
|
|
255
253
|
export const withSized = dual<
|
|
256
|
-
(sized: Sized.TestSized) => <
|
|
257
|
-
<
|
|
254
|
+
(sized: Sized.TestSized) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>,
|
|
255
|
+
<A, E, R>(effect: Effect.Effect<A, E, R>, sized: Sized.TestSized) => Effect.Effect<A, E, R>
|
|
258
256
|
>(2, (effect, sized) =>
|
|
259
257
|
core.fiberRefLocallyWith(
|
|
260
258
|
currentServices,
|
|
@@ -267,13 +265,13 @@ export const withSized = dual<
|
|
|
267
265
|
*
|
|
268
266
|
* @since 2.0.0
|
|
269
267
|
*/
|
|
270
|
-
export const withSizedScoped = (sized: Sized.TestSized): Effect.Effect<
|
|
268
|
+
export const withSizedScoped = (sized: Sized.TestSized): Effect.Effect<void, never, Scope.Scope> =>
|
|
271
269
|
fiberRuntime.fiberRefLocallyScopedWith(currentServices, Context.add(Sized.TestSized, sized))
|
|
272
270
|
|
|
273
271
|
/**
|
|
274
272
|
* @since 2.0.0
|
|
275
273
|
*/
|
|
276
|
-
export const sizedLayer = (size: number): Layer.Layer<
|
|
274
|
+
export const sizedLayer = (size: number): Layer.Layer<Sized.TestSized> =>
|
|
277
275
|
layer.scoped(
|
|
278
276
|
Sized.TestSized,
|
|
279
277
|
pipe(
|
|
@@ -286,14 +284,14 @@ export const sizedLayer = (size: number): Layer.Layer<never, never, Sized.TestSi
|
|
|
286
284
|
/**
|
|
287
285
|
* @since 2.0.0
|
|
288
286
|
*/
|
|
289
|
-
export const size: Effect.Effect<
|
|
287
|
+
export const size: Effect.Effect<number> = sizedWith((sized) => sized.size)
|
|
290
288
|
|
|
291
289
|
/**
|
|
292
290
|
* @since 2.0.0
|
|
293
291
|
*/
|
|
294
292
|
export const withSize = dual<
|
|
295
|
-
(size: number) => <
|
|
296
|
-
<
|
|
293
|
+
(size: number) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>,
|
|
294
|
+
<A, E, R>(effect: Effect.Effect<A, E, R>, size: number) => Effect.Effect<A, E, R>
|
|
297
295
|
>(2, (effect, size) => sizedWith((sized) => sized.withSize(size)(effect)))
|
|
298
296
|
|
|
299
297
|
/**
|
|
@@ -302,9 +300,9 @@ export const withSize = dual<
|
|
|
302
300
|
*
|
|
303
301
|
* @since 2.0.0
|
|
304
302
|
*/
|
|
305
|
-
export const testConfigWith = <
|
|
306
|
-
f: (config: TestConfig.TestConfig) => Effect.Effect<
|
|
307
|
-
): Effect.Effect<
|
|
303
|
+
export const testConfigWith = <A, E, R>(
|
|
304
|
+
f: (config: TestConfig.TestConfig) => Effect.Effect<A, E, R>
|
|
305
|
+
): Effect.Effect<A, E, R> =>
|
|
308
306
|
core.fiberRefGetWith(
|
|
309
307
|
currentServices,
|
|
310
308
|
(services) => f(Context.get(services, TestConfig.TestConfig))
|
|
@@ -315,7 +313,7 @@ export const testConfigWith = <R, E, A>(
|
|
|
315
313
|
*
|
|
316
314
|
* @since 2.0.0
|
|
317
315
|
*/
|
|
318
|
-
export const testConfig: Effect.Effect<
|
|
316
|
+
export const testConfig: Effect.Effect<TestConfig.TestConfig> = testConfigWith(core.succeed)
|
|
319
317
|
|
|
320
318
|
/**
|
|
321
319
|
* Executes the specified workflow with the specified implementation of the
|
|
@@ -324,8 +322,8 @@ export const testConfig: Effect.Effect<never, never, TestConfig.TestConfig> = te
|
|
|
324
322
|
* @since 2.0.0
|
|
325
323
|
*/
|
|
326
324
|
export const withTestConfig = dual<
|
|
327
|
-
(config: TestConfig.TestConfig) => <
|
|
328
|
-
<
|
|
325
|
+
(config: TestConfig.TestConfig) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>,
|
|
326
|
+
<A, E, R>(effect: Effect.Effect<A, E, R>, config: TestConfig.TestConfig) => Effect.Effect<A, E, R>
|
|
329
327
|
>(2, (effect, config) =>
|
|
330
328
|
core.fiberRefLocallyWith(
|
|
331
329
|
currentServices,
|
|
@@ -338,7 +336,7 @@ export const withTestConfig = dual<
|
|
|
338
336
|
*
|
|
339
337
|
* @since 2.0.0
|
|
340
338
|
*/
|
|
341
|
-
export const withTestConfigScoped = (config: TestConfig.TestConfig): Effect.Effect<
|
|
339
|
+
export const withTestConfigScoped = (config: TestConfig.TestConfig): Effect.Effect<void, never, Scope.Scope> =>
|
|
342
340
|
fiberRuntime.fiberRefLocallyScopedWith(currentServices, Context.add(TestConfig.TestConfig, config))
|
|
343
341
|
|
|
344
342
|
/**
|
|
@@ -351,7 +349,7 @@ export const testConfigLayer = (params: {
|
|
|
351
349
|
readonly retries: number
|
|
352
350
|
readonly samples: number
|
|
353
351
|
readonly shrinks: number
|
|
354
|
-
}): Layer.Layer<
|
|
352
|
+
}): Layer.Layer<TestConfig.TestConfig> =>
|
|
355
353
|
layer.scoped(
|
|
356
354
|
TestConfig.TestConfig,
|
|
357
355
|
Effect.suspend(() => {
|
|
@@ -368,25 +366,25 @@ export const testConfigLayer = (params: {
|
|
|
368
366
|
*
|
|
369
367
|
* @since 2.0.0
|
|
370
368
|
*/
|
|
371
|
-
export const repeats: Effect.Effect<
|
|
369
|
+
export const repeats: Effect.Effect<number> = testConfigWith((config) => core.succeed(config.repeats))
|
|
372
370
|
|
|
373
371
|
/**
|
|
374
372
|
* The number of times to retry flaky tests.
|
|
375
373
|
*
|
|
376
374
|
* @since 2.0.0
|
|
377
375
|
*/
|
|
378
|
-
export const retries: Effect.Effect<
|
|
376
|
+
export const retries: Effect.Effect<number> = testConfigWith((config) => core.succeed(config.retries))
|
|
379
377
|
|
|
380
378
|
/**
|
|
381
379
|
* The number of sufficient samples to check for a random variable.
|
|
382
380
|
*
|
|
383
381
|
* @since 2.0.0
|
|
384
382
|
*/
|
|
385
|
-
export const samples: Effect.Effect<
|
|
383
|
+
export const samples: Effect.Effect<number> = testConfigWith((config) => core.succeed(config.samples))
|
|
386
384
|
|
|
387
385
|
/**
|
|
388
386
|
* The maximum number of shrinkings to minimize large failures.
|
|
389
387
|
*
|
|
390
388
|
* @since 2.0.0
|
|
391
389
|
*/
|
|
392
|
-
export const shrinks: Effect.Effect<
|
|
390
|
+
export const shrinks: Effect.Effect<number> = testConfigWith((config) => core.succeed(config.shrinks))
|
package/src/TestSized.ts
CHANGED
|
@@ -22,24 +22,24 @@ export type TestSizedTypeId = typeof TestSizedTypeId
|
|
|
22
22
|
export interface TestSized {
|
|
23
23
|
readonly [TestSizedTypeId]: TestSizedTypeId
|
|
24
24
|
readonly fiberRef: FiberRef.FiberRef<number>
|
|
25
|
-
readonly size: Effect.Effect<
|
|
26
|
-
withSize(size: number): <
|
|
25
|
+
readonly size: Effect.Effect<number>
|
|
26
|
+
withSize(size: number): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* @since 2.0.0
|
|
31
31
|
*/
|
|
32
|
-
export const TestSized: Context.Tag<TestSized, TestSized> = Context.
|
|
32
|
+
export const TestSized: Context.Tag<TestSized, TestSized> = Context.GenericTag("effect/TestSized")
|
|
33
33
|
|
|
34
34
|
/** @internal */
|
|
35
35
|
class SizedImpl implements TestSized {
|
|
36
36
|
readonly [TestSizedTypeId]: TestSizedTypeId = TestSizedTypeId
|
|
37
37
|
constructor(readonly fiberRef: FiberRef.FiberRef<number>) {}
|
|
38
|
-
get size(): Effect.Effect<
|
|
38
|
+
get size(): Effect.Effect<number> {
|
|
39
39
|
return core.fiberRefGet(this.fiberRef)
|
|
40
40
|
}
|
|
41
41
|
withSize(size: number) {
|
|
42
|
-
return <
|
|
42
|
+
return <A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
|
|
43
43
|
core.fiberRefLocally(this.fiberRef, size)(effect)
|
|
44
44
|
}
|
|
45
45
|
}
|
package/src/Tracer.ts
CHANGED
|
@@ -131,5 +131,5 @@ export const externalSpan: (
|
|
|
131
131
|
* @since 2.0.0
|
|
132
132
|
* @category constructors
|
|
133
133
|
*/
|
|
134
|
-
export const tracerWith: <
|
|
134
|
+
export const tracerWith: <A, E, R>(f: (tracer: Tracer) => Effect.Effect<A, E, R>) => Effect.Effect<A, E, R> =
|
|
135
135
|
defaultServices.tracerWith
|
package/src/Utils.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { identity } from "./Function.js"
|
|
5
5
|
import type { Kind, TypeLambda } from "./HKT.js"
|
|
6
|
+
import { isNullable } from "./Predicate.js"
|
|
6
7
|
import type * as Types from "./Types.js"
|
|
7
8
|
|
|
8
9
|
/*
|
|
@@ -18,8 +19,6 @@ import type * as Types from "./Types.js"
|
|
|
18
19
|
* @since 2.0.0
|
|
19
20
|
*/
|
|
20
21
|
|
|
21
|
-
import { isNullable } from "./Predicate.js"
|
|
22
|
-
|
|
23
22
|
/**
|
|
24
23
|
* @category symbols
|
|
25
24
|
* @since 2.0.0
|
|
@@ -458,15 +457,14 @@ export interface Adapter<Z extends TypeLambda> {
|
|
|
458
457
|
* @category adapters
|
|
459
458
|
* @since 2.0.0
|
|
460
459
|
*/
|
|
461
|
-
export const adapter: <F extends TypeLambda>() => Adapter<F> = () =>
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
x = arguments[i](x)
|
|
467
|
-
}
|
|
468
|
-
return new GenKindImpl(x)
|
|
460
|
+
export const adapter: <F extends TypeLambda>() => Adapter<F> = () => // @ts-expect-error
|
|
461
|
+
(function() {
|
|
462
|
+
let x = arguments[0]
|
|
463
|
+
for (let i = 1; i < arguments.length; i++) {
|
|
464
|
+
x = arguments[i](x)
|
|
469
465
|
}
|
|
466
|
+
return new GenKindImpl(x)
|
|
467
|
+
})
|
|
470
468
|
|
|
471
469
|
const defaultIncHi = 0x14057b7e
|
|
472
470
|
const defaultIncLo = 0xf767814f
|
package/src/index.ts
CHANGED
|
@@ -90,7 +90,7 @@ export * as Brand from "./Brand.js"
|
|
|
90
90
|
export * as Cache from "./Cache.js"
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
|
-
* The `Effect<
|
|
93
|
+
* The `Effect<A, E, R>` type is polymorphic in values of type `E` and we can
|
|
94
94
|
* work with any error type that we want. However, there is a lot of information
|
|
95
95
|
* that is not inside an arbitrary `E` value. So as a result, an `Effect` needs
|
|
96
96
|
* somewhere to store things like unexpected errors or defects, stack and
|
|
@@ -336,7 +336,7 @@ export * as Inspectable from "./Inspectable.js"
|
|
|
336
336
|
export * as KeyedPool from "./KeyedPool.js"
|
|
337
337
|
|
|
338
338
|
/**
|
|
339
|
-
* A `Layer<
|
|
339
|
+
* A `Layer<ROut, E, RIn>` describes how to build one or more services in your
|
|
340
340
|
* application. Services can be injected into effects via
|
|
341
341
|
* `Effect.provideService`. Effects can require services via `Effect.service`.
|
|
342
342
|
*
|
|
@@ -544,6 +544,17 @@ export * as Queue from "./Queue.js"
|
|
|
544
544
|
*/
|
|
545
545
|
export * as Random from "./Random.js"
|
|
546
546
|
|
|
547
|
+
/**
|
|
548
|
+
* Limits the number of calls to a resource to a maximum amount in some interval using the token bucket algorithm.
|
|
549
|
+
*
|
|
550
|
+
* Note that only the moment of starting the effect is rate limited: the number of concurrent executions is not bounded.
|
|
551
|
+
*
|
|
552
|
+
* Calls are queued up in an unbounded queue until capacity becomes available.
|
|
553
|
+
*
|
|
554
|
+
* @since 2.0.0
|
|
555
|
+
*/
|
|
556
|
+
export * as RateLimiter from "./RateLimiter.js"
|
|
557
|
+
|
|
547
558
|
/**
|
|
548
559
|
* This module provides utility functions for working with arrays in TypeScript.
|
|
549
560
|
*
|
|
@@ -317,7 +317,7 @@ class EntryImpl<A extends Request.Request<any, any>> implements Request.Entry<A>
|
|
|
317
317
|
readonly [EntryTypeId] = blockedRequestVariance
|
|
318
318
|
constructor(
|
|
319
319
|
readonly request: A,
|
|
320
|
-
readonly result: Deferred.Deferred<Request.Request.
|
|
320
|
+
readonly result: Deferred.Deferred<Request.Request.Success<A>, Request.Request.Error<A>>,
|
|
321
321
|
readonly listeners: Request.Listeners,
|
|
322
322
|
readonly ownerId: FiberId,
|
|
323
323
|
readonly state: {
|
|
@@ -338,7 +338,7 @@ export const isEntry = (u: unknown): u is Request.Entry<unknown> => hasProperty(
|
|
|
338
338
|
export const makeEntry = <A extends Request.Request<any, any>>(
|
|
339
339
|
options: {
|
|
340
340
|
readonly request: A
|
|
341
|
-
readonly result: Deferred.Deferred<Request.Request.
|
|
341
|
+
readonly result: Deferred.Deferred<Request.Request.Success<A>, Request.Request.Error<A>>
|
|
342
342
|
readonly listeners: Request.Listeners
|
|
343
343
|
readonly ownerId: FiberId
|
|
344
344
|
readonly state: { completed: boolean }
|