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/Data.ts
CHANGED
|
@@ -2,30 +2,11 @@
|
|
|
2
2
|
* @since 2.0.0
|
|
3
3
|
*/
|
|
4
4
|
import type * as Cause from "./Cause.js"
|
|
5
|
-
import type * as Equal from "./Equal.js"
|
|
6
5
|
import * as core from "./internal/core.js"
|
|
7
6
|
import * as internal from "./internal/data.js"
|
|
8
7
|
import { StructuralPrototype } from "./internal/effectable.js"
|
|
9
8
|
import type * as Types from "./Types.js"
|
|
10
9
|
|
|
11
|
-
/**
|
|
12
|
-
* @category models
|
|
13
|
-
* @since 2.0.0
|
|
14
|
-
*/
|
|
15
|
-
export type Data<A> =
|
|
16
|
-
& { readonly [P in keyof A]: A[P] }
|
|
17
|
-
& Equal.Equal
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* `Case` represents a datatype similar to a case class in Scala. Namely, a
|
|
21
|
-
* datatype created using `Case` will, by default, provide an implementation
|
|
22
|
-
* for a constructor, `Hash`, and `Equal`.
|
|
23
|
-
*
|
|
24
|
-
* @since 2.0.0
|
|
25
|
-
* @category models
|
|
26
|
-
*/
|
|
27
|
-
export interface Case extends Equal.Equal {}
|
|
28
|
-
|
|
29
10
|
/**
|
|
30
11
|
* @since 2.0.0
|
|
31
12
|
*/
|
|
@@ -34,10 +15,10 @@ export declare namespace Case {
|
|
|
34
15
|
* @since 2.0.0
|
|
35
16
|
* @category models
|
|
36
17
|
*/
|
|
37
|
-
export interface Constructor<A
|
|
18
|
+
export interface Constructor<A, Tag extends keyof A = never> {
|
|
38
19
|
(
|
|
39
|
-
args: Types.Equals<Omit<A, Tag
|
|
40
|
-
: { readonly [P in keyof A as P extends Tag
|
|
20
|
+
args: Types.Equals<Omit<A, Tag>, {}> extends true ? void
|
|
21
|
+
: { readonly [P in keyof A as P extends Tag ? never : P]: A[P] }
|
|
41
22
|
): A
|
|
42
23
|
}
|
|
43
24
|
}
|
|
@@ -60,13 +41,13 @@ export declare namespace Case {
|
|
|
60
41
|
* @category constructors
|
|
61
42
|
* @since 2.0.0
|
|
62
43
|
*/
|
|
63
|
-
export const struct: <A extends Record<string, any>>(a: A) =>
|
|
44
|
+
export const struct: <A extends Record<string, any>>(a: A) => { readonly [P in keyof A]: A[P] } = internal.struct
|
|
64
45
|
|
|
65
46
|
/**
|
|
66
47
|
* @category constructors
|
|
67
48
|
* @since 2.0.0
|
|
68
49
|
*/
|
|
69
|
-
export const unsafeStruct = <A extends Record<string, any>>(as: A):
|
|
50
|
+
export const unsafeStruct = <A extends Record<string, any>>(as: A): { readonly [P in keyof A]: A[P] } =>
|
|
70
51
|
Object.setPrototypeOf(as, StructuralPrototype)
|
|
71
52
|
|
|
72
53
|
/**
|
|
@@ -87,7 +68,7 @@ export const unsafeStruct = <A extends Record<string, any>>(as: A): Data<{ reado
|
|
|
87
68
|
* @category constructors
|
|
88
69
|
* @since 2.0.0
|
|
89
70
|
*/
|
|
90
|
-
export const tuple = <As extends ReadonlyArray<any>>(...as: As):
|
|
71
|
+
export const tuple = <As extends ReadonlyArray<any>>(...as: As): Readonly<As> => unsafeArray(as)
|
|
91
72
|
|
|
92
73
|
/**
|
|
93
74
|
* @example
|
|
@@ -113,17 +94,16 @@ export const tuple = <As extends ReadonlyArray<any>>(...as: As): Data<Readonly<A
|
|
|
113
94
|
* @category constructors
|
|
114
95
|
* @since 2.0.0
|
|
115
96
|
*/
|
|
116
|
-
export const array = <As extends ReadonlyArray<any>>(as: As):
|
|
117
|
-
unsafeArray(as.slice(0) as unknown as As)
|
|
97
|
+
export const array = <As extends ReadonlyArray<any>>(as: As): Readonly<As> => unsafeArray(as.slice(0) as unknown as As)
|
|
118
98
|
|
|
119
99
|
/**
|
|
120
100
|
* @category constructors
|
|
121
101
|
* @since 2.0.0
|
|
122
102
|
*/
|
|
123
|
-
export const unsafeArray = <As extends ReadonlyArray<any>>(as: As):
|
|
103
|
+
export const unsafeArray = <As extends ReadonlyArray<any>>(as: As): Readonly<As> =>
|
|
124
104
|
Object.setPrototypeOf(as, internal.ArrayProto)
|
|
125
105
|
|
|
126
|
-
const _case = <A
|
|
106
|
+
const _case = <A>(): Case.Constructor<A> => (args) =>
|
|
127
107
|
(args === undefined ? Object.create(StructuralPrototype) : struct(args)) as any
|
|
128
108
|
|
|
129
109
|
export {
|
|
@@ -134,8 +114,7 @@ export {
|
|
|
134
114
|
* import * as Data from "effect/Data"
|
|
135
115
|
* import * as Equal from "effect/Equal"
|
|
136
116
|
*
|
|
137
|
-
*
|
|
138
|
-
* interface Person extends Data.Case {
|
|
117
|
+
* interface Person {
|
|
139
118
|
* readonly name: string
|
|
140
119
|
* }
|
|
141
120
|
*
|
|
@@ -163,7 +142,7 @@ export {
|
|
|
163
142
|
* @example
|
|
164
143
|
* import * as Data from "effect/Data"
|
|
165
144
|
*
|
|
166
|
-
* interface Person
|
|
145
|
+
* interface Person {
|
|
167
146
|
* readonly _tag: "Person" // the tag
|
|
168
147
|
* readonly name: string
|
|
169
148
|
* }
|
|
@@ -177,7 +156,7 @@ export {
|
|
|
177
156
|
* @since 2.0.0
|
|
178
157
|
* @category constructors
|
|
179
158
|
*/
|
|
180
|
-
export const tagged = <A extends
|
|
159
|
+
export const tagged = <A extends { readonly _tag: string }>(
|
|
181
160
|
tag: A["_tag"]
|
|
182
161
|
): Case.Constructor<A, "_tag"> =>
|
|
183
162
|
(args) => {
|
|
@@ -208,9 +187,9 @@ export const tagged = <A extends Case & { readonly _tag: string }>(
|
|
|
208
187
|
* @category constructors
|
|
209
188
|
*/
|
|
210
189
|
export const Class: new<A extends Record<string, any> = {}>(
|
|
211
|
-
args: Types.Equals<
|
|
212
|
-
: { readonly [P in keyof A
|
|
213
|
-
) =>
|
|
190
|
+
args: Types.Equals<A, {}> extends true ? void
|
|
191
|
+
: { readonly [P in keyof A]: A[P] }
|
|
192
|
+
) => Readonly<A> = internal.Structural as any
|
|
214
193
|
|
|
215
194
|
/**
|
|
216
195
|
* Provides a Tagged constructor for a Case Class.
|
|
@@ -238,9 +217,9 @@ export const Class: new<A extends Record<string, any> = {}>(
|
|
|
238
217
|
export const TaggedClass = <Tag extends string>(
|
|
239
218
|
tag: Tag
|
|
240
219
|
): new<A extends Record<string, any> = {}>(
|
|
241
|
-
args: Types.Equals<
|
|
242
|
-
: { readonly [P in keyof A as P extends "_tag"
|
|
243
|
-
) =>
|
|
220
|
+
args: Types.Equals<A, {}> extends true ? void
|
|
221
|
+
: { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }
|
|
222
|
+
) => Readonly<A> & { readonly _tag: Tag } => {
|
|
244
223
|
class Base extends Class<any> {
|
|
245
224
|
readonly _tag = tag
|
|
246
225
|
}
|
|
@@ -252,9 +231,9 @@ export const TaggedClass = <Tag extends string>(
|
|
|
252
231
|
* @category constructors
|
|
253
232
|
*/
|
|
254
233
|
export const Structural: new<A>(
|
|
255
|
-
args: Types.Equals<
|
|
256
|
-
: { readonly [P in keyof A
|
|
257
|
-
) =>
|
|
234
|
+
args: Types.Equals<A, {}> extends true ? void
|
|
235
|
+
: { readonly [P in keyof A]: A[P] }
|
|
236
|
+
) => {} = internal.Structural as any
|
|
258
237
|
|
|
259
238
|
/**
|
|
260
239
|
* Create a tagged enum data type, which is a union of `Data` structs.
|
|
@@ -269,16 +248,16 @@ export const Structural: new<A>(
|
|
|
269
248
|
*
|
|
270
249
|
* // Equivalent to:
|
|
271
250
|
* type HttpErrorPlain =
|
|
272
|
-
* |
|
|
251
|
+
* | {
|
|
273
252
|
* readonly _tag: "BadRequest"
|
|
274
253
|
* readonly status: 400
|
|
275
254
|
* readonly message: string
|
|
276
|
-
* }
|
|
277
|
-
* |
|
|
255
|
+
* }
|
|
256
|
+
* | {
|
|
278
257
|
* readonly _tag: "NotFound"
|
|
279
258
|
* readonly status: 404
|
|
280
259
|
* readonly message: string
|
|
281
|
-
* }
|
|
260
|
+
* }
|
|
282
261
|
* ```
|
|
283
262
|
*
|
|
284
263
|
* @since 2.0.0
|
|
@@ -286,9 +265,8 @@ export const Structural: new<A>(
|
|
|
286
265
|
*/
|
|
287
266
|
export type TaggedEnum<
|
|
288
267
|
A extends Record<string, Record<string, any>> & UntaggedChildren<A>
|
|
289
|
-
> = keyof A extends infer Tag ?
|
|
290
|
-
|
|
291
|
-
>
|
|
268
|
+
> = keyof A extends infer Tag ?
|
|
269
|
+
Tag extends keyof A ? Types.Simplify<{ readonly _tag: Tag } & { readonly [K in keyof A[Tag]]: A[Tag][K] }>
|
|
292
270
|
: never
|
|
293
271
|
: never
|
|
294
272
|
|
|
@@ -310,7 +288,7 @@ export declare namespace TaggedEnum {
|
|
|
310
288
|
* @category models
|
|
311
289
|
*/
|
|
312
290
|
export interface WithGenerics<Count extends number> {
|
|
313
|
-
readonly taggedEnum:
|
|
291
|
+
readonly taggedEnum: { readonly _tag: string }
|
|
314
292
|
readonly numberOfGenerics: Count
|
|
315
293
|
|
|
316
294
|
readonly A: unknown
|
|
@@ -340,18 +318,17 @@ export declare namespace TaggedEnum {
|
|
|
340
318
|
* @since 2.0.0
|
|
341
319
|
*/
|
|
342
320
|
export type Args<
|
|
343
|
-
A extends { readonly _tag: string }
|
|
321
|
+
A extends { readonly _tag: string },
|
|
344
322
|
K extends A["_tag"],
|
|
345
323
|
E = Extract<A, { readonly _tag: K }>
|
|
346
|
-
> = { readonly [K in keyof E as K extends "_tag"
|
|
347
|
-
{} extends T ? void : T
|
|
324
|
+
> = { readonly [K in keyof E as K extends "_tag" ? never : K]: E[K] } extends infer T ? {} extends T ? void : T
|
|
348
325
|
: never
|
|
349
326
|
|
|
350
327
|
/**
|
|
351
328
|
* @since 2.0.0
|
|
352
329
|
*/
|
|
353
330
|
export type Value<
|
|
354
|
-
A extends { readonly _tag: string }
|
|
331
|
+
A extends { readonly _tag: string },
|
|
355
332
|
K extends A["_tag"]
|
|
356
333
|
> = Extract<A, { readonly _tag: K }>
|
|
357
334
|
}
|
|
@@ -366,8 +343,8 @@ export declare namespace TaggedEnum {
|
|
|
366
343
|
* import * as Data from "effect/Data"
|
|
367
344
|
*
|
|
368
345
|
* const { BadRequest, NotFound } = Data.taggedEnum<
|
|
369
|
-
* |
|
|
370
|
-
* |
|
|
346
|
+
* | { readonly _tag: "BadRequest"; readonly status: 400; readonly message: string }
|
|
347
|
+
* | { readonly _tag: "NotFound"; readonly status: 404; readonly message: string }
|
|
371
348
|
* >()
|
|
372
349
|
*
|
|
373
350
|
* const notFound = NotFound({ status: 404, message: "Not Found" })
|
|
@@ -430,7 +407,7 @@ export const taggedEnum: {
|
|
|
430
407
|
) => TaggedEnum.Value<TaggedEnum.Kind<Z, A, B, C, D>, Tag>
|
|
431
408
|
}
|
|
432
409
|
|
|
433
|
-
<A extends { readonly _tag: string }
|
|
410
|
+
<A extends { readonly _tag: string }>(): {
|
|
434
411
|
readonly [Tag in A["_tag"]]: Case.Constructor<Extract<A, { readonly _tag: Tag }>, "_tag">
|
|
435
412
|
}
|
|
436
413
|
} = () =>
|
|
@@ -447,8 +424,8 @@ export const taggedEnum: {
|
|
|
447
424
|
* @category constructors
|
|
448
425
|
*/
|
|
449
426
|
export const Error: new<A extends Record<string, any> = {}>(
|
|
450
|
-
args: Types.Equals<
|
|
451
|
-
: { readonly [P in keyof A
|
|
427
|
+
args: Types.Equals<A, {}> extends true ? void
|
|
428
|
+
: { readonly [P in keyof A]: A[P] }
|
|
452
429
|
) => Cause.YieldableError & Readonly<A> = (function() {
|
|
453
430
|
return class Base extends core.YieldableError {
|
|
454
431
|
constructor(args: any) {
|
|
@@ -465,8 +442,8 @@ export const Error: new<A extends Record<string, any> = {}>(
|
|
|
465
442
|
* @category constructors
|
|
466
443
|
*/
|
|
467
444
|
export const TaggedError = <Tag extends string>(tag: Tag): new<A extends Record<string, any> = {}>(
|
|
468
|
-
args: Types.Equals<
|
|
469
|
-
: { readonly [P in keyof A as P extends "_tag"
|
|
445
|
+
args: Types.Equals<A, {}> extends true ? void
|
|
446
|
+
: { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }
|
|
470
447
|
) => Cause.YieldableError & { readonly _tag: Tag } & Readonly<A> => {
|
|
471
448
|
class Base extends Error<{}> {
|
|
472
449
|
readonly _tag = tag
|
package/src/Deferred.ts
CHANGED
|
@@ -37,9 +37,9 @@ export type DeferredTypeId = typeof DeferredTypeId
|
|
|
37
37
|
* @since 2.0.0
|
|
38
38
|
* @category models
|
|
39
39
|
*/
|
|
40
|
-
export interface Deferred<in out
|
|
40
|
+
export interface Deferred<in out A, in out E = never> extends Deferred.Variance<A, E>, Pipeable {
|
|
41
41
|
/** @internal */
|
|
42
|
-
readonly state: MutableRef.MutableRef<internal.State<
|
|
42
|
+
readonly state: MutableRef.MutableRef<internal.State<A, E>>
|
|
43
43
|
/** @internal */
|
|
44
44
|
readonly blockingOn: FiberId.FiberId
|
|
45
45
|
}
|
|
@@ -52,10 +52,10 @@ export declare namespace Deferred {
|
|
|
52
52
|
* @since 2.0.0
|
|
53
53
|
* @category models
|
|
54
54
|
*/
|
|
55
|
-
export interface Variance<in out
|
|
55
|
+
export interface Variance<in out A, in out E> {
|
|
56
56
|
readonly [DeferredTypeId]: {
|
|
57
|
-
readonly _E: Types.Invariant<E>
|
|
58
57
|
readonly _A: Types.Invariant<A>
|
|
58
|
+
readonly _E: Types.Invariant<E>
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
}
|
|
@@ -66,7 +66,7 @@ export declare namespace Deferred {
|
|
|
66
66
|
* @since 2.0.0
|
|
67
67
|
* @category constructors
|
|
68
68
|
*/
|
|
69
|
-
export const make: <
|
|
69
|
+
export const make: <A, E = never>() => Effect.Effect<Deferred<A, E>> = core.deferredMake
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* Creates a new `Deferred` from the specified `FiberId`.
|
|
@@ -74,10 +74,9 @@ export const make: <E, A>() => Effect.Effect<never, never, Deferred<E, A>> = cor
|
|
|
74
74
|
* @since 2.0.0
|
|
75
75
|
* @category constructors
|
|
76
76
|
*/
|
|
77
|
-
export const makeAs: <
|
|
78
|
-
core.deferredMakeAs
|
|
77
|
+
export const makeAs: <A, E = never>(fiberId: FiberId.FiberId) => Effect.Effect<Deferred<A, E>> = core.deferredMakeAs
|
|
79
78
|
|
|
80
|
-
const _await: <
|
|
79
|
+
const _await: <A, E>(self: Deferred<A, E>) => Effect.Effect<A, E> = core.deferredAwait
|
|
81
80
|
|
|
82
81
|
export {
|
|
83
82
|
/**
|
|
@@ -101,8 +100,8 @@ export {
|
|
|
101
100
|
* @category utils
|
|
102
101
|
*/
|
|
103
102
|
export const complete: {
|
|
104
|
-
<
|
|
105
|
-
<
|
|
103
|
+
<A, E>(effect: Effect.Effect<A, E>): (self: Deferred<A, E>) => Effect.Effect<boolean>
|
|
104
|
+
<A, E>(self: Deferred<A, E>, effect: Effect.Effect<A, E>): Effect.Effect<boolean>
|
|
106
105
|
} = core.deferredComplete
|
|
107
106
|
|
|
108
107
|
/**
|
|
@@ -113,8 +112,8 @@ export const complete: {
|
|
|
113
112
|
* @category utils
|
|
114
113
|
*/
|
|
115
114
|
export const completeWith: {
|
|
116
|
-
<
|
|
117
|
-
<
|
|
115
|
+
<A, E>(effect: Effect.Effect<A, E>): (self: Deferred<A, E>) => Effect.Effect<boolean>
|
|
116
|
+
<A, E>(self: Deferred<A, E>, effect: Effect.Effect<A, E>): Effect.Effect<boolean>
|
|
118
117
|
} = core.deferredCompleteWith
|
|
119
118
|
|
|
120
119
|
/**
|
|
@@ -125,8 +124,8 @@ export const completeWith: {
|
|
|
125
124
|
* @category utils
|
|
126
125
|
*/
|
|
127
126
|
export const done: {
|
|
128
|
-
<
|
|
129
|
-
<
|
|
127
|
+
<A, E>(exit: Exit.Exit<A, E>): (self: Deferred<A, E>) => Effect.Effect<boolean>
|
|
128
|
+
<A, E>(self: Deferred<A, E>, exit: Exit.Exit<A, E>): Effect.Effect<boolean>
|
|
130
129
|
} = core.deferredDone
|
|
131
130
|
|
|
132
131
|
/**
|
|
@@ -137,8 +136,8 @@ export const done: {
|
|
|
137
136
|
* @category utils
|
|
138
137
|
*/
|
|
139
138
|
export const fail: {
|
|
140
|
-
<E>(error: E): <A>(self: Deferred<
|
|
141
|
-
<
|
|
139
|
+
<E>(error: E): <A>(self: Deferred<A, E>) => Effect.Effect<boolean>
|
|
140
|
+
<A, E>(self: Deferred<A, E>, error: E): Effect.Effect<boolean>
|
|
142
141
|
} = core.deferredFail
|
|
143
142
|
|
|
144
143
|
/**
|
|
@@ -149,8 +148,8 @@ export const fail: {
|
|
|
149
148
|
* @category utils
|
|
150
149
|
*/
|
|
151
150
|
export const failSync: {
|
|
152
|
-
<E>(evaluate: LazyArg<E>): <A>(self: Deferred<
|
|
153
|
-
<
|
|
151
|
+
<E>(evaluate: LazyArg<E>): <A>(self: Deferred<A, E>) => Effect.Effect<boolean>
|
|
152
|
+
<A, E>(self: Deferred<A, E>, evaluate: LazyArg<E>): Effect.Effect<boolean>
|
|
154
153
|
} = core.deferredFailSync
|
|
155
154
|
|
|
156
155
|
/**
|
|
@@ -161,8 +160,8 @@ export const failSync: {
|
|
|
161
160
|
* @category utils
|
|
162
161
|
*/
|
|
163
162
|
export const failCause: {
|
|
164
|
-
<E>(cause: Cause.Cause<E>): <A>(self: Deferred<
|
|
165
|
-
<
|
|
163
|
+
<E>(cause: Cause.Cause<E>): <A>(self: Deferred<A, E>) => Effect.Effect<boolean>
|
|
164
|
+
<A, E>(self: Deferred<A, E>, cause: Cause.Cause<E>): Effect.Effect<boolean>
|
|
166
165
|
} = core.deferredFailCause
|
|
167
166
|
|
|
168
167
|
/**
|
|
@@ -173,8 +172,8 @@ export const failCause: {
|
|
|
173
172
|
* @category utils
|
|
174
173
|
*/
|
|
175
174
|
export const failCauseSync: {
|
|
176
|
-
<E>(evaluate: LazyArg<Cause.Cause<E>>): <A>(self: Deferred<
|
|
177
|
-
<
|
|
175
|
+
<E>(evaluate: LazyArg<Cause.Cause<E>>): <A>(self: Deferred<A, E>) => Effect.Effect<boolean>
|
|
176
|
+
<A, E>(self: Deferred<A, E>, evaluate: LazyArg<Cause.Cause<E>>): Effect.Effect<boolean>
|
|
178
177
|
} = core.deferredFailCauseSync
|
|
179
178
|
|
|
180
179
|
/**
|
|
@@ -185,8 +184,8 @@ export const failCauseSync: {
|
|
|
185
184
|
* @category utils
|
|
186
185
|
*/
|
|
187
186
|
export const die: {
|
|
188
|
-
(defect: unknown): <
|
|
189
|
-
<
|
|
187
|
+
(defect: unknown): <A, E>(self: Deferred<A, E>) => Effect.Effect<boolean>
|
|
188
|
+
<A, E>(self: Deferred<A, E>, defect: unknown): Effect.Effect<boolean>
|
|
190
189
|
} = core.deferredDie
|
|
191
190
|
|
|
192
191
|
/**
|
|
@@ -197,8 +196,8 @@ export const die: {
|
|
|
197
196
|
* @category utils
|
|
198
197
|
*/
|
|
199
198
|
export const dieSync: {
|
|
200
|
-
(evaluate: LazyArg<unknown>): <
|
|
201
|
-
<
|
|
199
|
+
(evaluate: LazyArg<unknown>): <A, E>(self: Deferred<A, E>) => Effect.Effect<boolean>
|
|
200
|
+
<A, E>(self: Deferred<A, E>, evaluate: LazyArg<unknown>): Effect.Effect<boolean>
|
|
202
201
|
} = core.deferredDieSync
|
|
203
202
|
|
|
204
203
|
/**
|
|
@@ -209,7 +208,7 @@ export const dieSync: {
|
|
|
209
208
|
* @since 2.0.0
|
|
210
209
|
* @category utils
|
|
211
210
|
*/
|
|
212
|
-
export const interrupt: <
|
|
211
|
+
export const interrupt: <A, E>(self: Deferred<A, E>) => Effect.Effect<boolean> = core.deferredInterrupt
|
|
213
212
|
|
|
214
213
|
/**
|
|
215
214
|
* Completes the `Deferred` with interruption. This will interrupt all fibers
|
|
@@ -219,8 +218,8 @@ export const interrupt: <E, A>(self: Deferred<E, A>) => Effect.Effect<never, nev
|
|
|
219
218
|
* @category utils
|
|
220
219
|
*/
|
|
221
220
|
export const interruptWith: {
|
|
222
|
-
(fiberId: FiberId.FiberId): <
|
|
223
|
-
<
|
|
221
|
+
(fiberId: FiberId.FiberId): <A, E>(self: Deferred<A, E>) => Effect.Effect<boolean>
|
|
222
|
+
<A, E>(self: Deferred<A, E>, fiberId: FiberId.FiberId): Effect.Effect<boolean>
|
|
224
223
|
} = core.deferredInterruptWith
|
|
225
224
|
|
|
226
225
|
/**
|
|
@@ -230,18 +229,18 @@ export const interruptWith: {
|
|
|
230
229
|
* @since 2.0.0
|
|
231
230
|
* @category getters
|
|
232
231
|
*/
|
|
233
|
-
export const isDone: <
|
|
232
|
+
export const isDone: <A, E>(self: Deferred<A, E>) => Effect.Effect<boolean> = core.deferredIsDone
|
|
234
233
|
|
|
235
234
|
/**
|
|
236
|
-
* Returns a `Some<Effect<
|
|
235
|
+
* Returns a `Some<Effect<A, E, R>>` from the `Deferred` if this `Deferred` has
|
|
237
236
|
* already been completed, `None` otherwise.
|
|
238
237
|
*
|
|
239
238
|
* @since 2.0.0
|
|
240
239
|
* @category getters
|
|
241
240
|
*/
|
|
242
|
-
export const poll: <
|
|
243
|
-
self: Deferred<
|
|
244
|
-
) => Effect.Effect<
|
|
241
|
+
export const poll: <A, E>(
|
|
242
|
+
self: Deferred<A, E>
|
|
243
|
+
) => Effect.Effect<Option.Option<Effect.Effect<A, E>>> = core.deferredPoll
|
|
245
244
|
|
|
246
245
|
/**
|
|
247
246
|
* Completes the `Deferred` with the specified value.
|
|
@@ -250,8 +249,8 @@ export const poll: <E, A>(
|
|
|
250
249
|
* @category utils
|
|
251
250
|
*/
|
|
252
251
|
export const succeed: {
|
|
253
|
-
<A>(value: A): <E>(self: Deferred<
|
|
254
|
-
<
|
|
252
|
+
<A>(value: A): <E>(self: Deferred<A, E>) => Effect.Effect<boolean>
|
|
253
|
+
<A, E>(self: Deferred<A, E>, value: A): Effect.Effect<boolean>
|
|
255
254
|
} = core.deferredSucceed
|
|
256
255
|
|
|
257
256
|
/**
|
|
@@ -261,8 +260,8 @@ export const succeed: {
|
|
|
261
260
|
* @category utils
|
|
262
261
|
*/
|
|
263
262
|
export const sync: {
|
|
264
|
-
<A>(evaluate: LazyArg<A>): <E>(self: Deferred<
|
|
265
|
-
<
|
|
263
|
+
<A>(evaluate: LazyArg<A>): <E>(self: Deferred<A, E>) => Effect.Effect<boolean>
|
|
264
|
+
<A, E>(self: Deferred<A, E>, evaluate: LazyArg<A>): Effect.Effect<boolean>
|
|
266
265
|
} = core.deferredSync
|
|
267
266
|
|
|
268
267
|
/**
|
|
@@ -271,7 +270,7 @@ export const sync: {
|
|
|
271
270
|
* @since 2.0.0
|
|
272
271
|
* @category unsafe
|
|
273
272
|
*/
|
|
274
|
-
export const unsafeMake: <
|
|
273
|
+
export const unsafeMake: <A, E = never>(fiberId: FiberId.FiberId) => Deferred<A, E> = core.deferredUnsafeMake
|
|
275
274
|
|
|
276
275
|
/**
|
|
277
276
|
* Unsafely exits the `Deferred` with the specified `Exit` value, which will be
|
|
@@ -280,5 +279,4 @@ export const unsafeMake: <E, A>(fiberId: FiberId.FiberId) => Deferred<E, A> = co
|
|
|
280
279
|
* @since 2.0.0
|
|
281
280
|
* @category unsafe
|
|
282
281
|
*/
|
|
283
|
-
export const unsafeDone: <
|
|
284
|
-
core.deferredUnsafeDone
|
|
282
|
+
export const unsafeDone: <A, E>(self: Deferred<A, E>, effect: Effect.Effect<A, E>) => void = core.deferredUnsafeDone
|