effect 2.2.5 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RateLimiter/package.json +6 -0
- package/dist/cjs/Cause.js +14 -1
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/Clock.js.map +1 -1
- package/dist/cjs/Console.js.map +1 -1
- package/dist/cjs/Context.js +23 -25
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Data.js +3 -3
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/Deferred.js +1 -1
- package/dist/cjs/Deferred.js.map +1 -1
- package/dist/cjs/Effect.js +9 -9
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Effectable.js.map +1 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Exit.js +2 -2
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberMap.js +3 -3
- package/dist/cjs/FiberRef.js.map +1 -1
- package/dist/cjs/FiberRefs.js.map +1 -1
- package/dist/cjs/FiberSet.js +3 -3
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/GroupBy.js.map +1 -1
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/LogLevel.js.map +1 -1
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/Number.js +20 -1
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Pool.js.map +1 -1
- package/dist/cjs/PubSub.js.map +1 -1
- package/dist/cjs/Queue.js.map +1 -1
- package/dist/cjs/Random.js.map +1 -1
- package/dist/cjs/RateLimiter.js +38 -0
- package/dist/cjs/RateLimiter.js.map +1 -0
- package/dist/cjs/ReadonlyRecord.js +45 -9
- package/dist/cjs/ReadonlyRecord.js.map +1 -1
- package/dist/cjs/Ref.js.map +1 -1
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/Resource.js.map +1 -1
- package/dist/cjs/Runtime.js +1 -4
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/cjs/RuntimeFlags.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/Scope.js.map +1 -1
- package/dist/cjs/ScopedRef.js.map +1 -1
- package/dist/cjs/SingleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/Supervisor.js.map +1 -1
- package/dist/cjs/SynchronizedRef.js.map +1 -1
- package/dist/cjs/TArray.js.map +1 -1
- package/dist/cjs/TDeferred.js.map +1 -1
- package/dist/cjs/TMap.js.map +1 -1
- package/dist/cjs/TPriorityQueue.js.map +1 -1
- package/dist/cjs/TPubSub.js.map +1 -1
- package/dist/cjs/TQueue.js.map +1 -1
- package/dist/cjs/TRandom.js.map +1 -1
- package/dist/cjs/TReentrantLock.js.map +1 -1
- package/dist/cjs/TRef.js.map +1 -1
- package/dist/cjs/TSemaphore.js.map +1 -1
- package/dist/cjs/TSet.js.map +1 -1
- package/dist/cjs/Take.js +6 -6
- package/dist/cjs/Take.js.map +1 -1
- package/dist/cjs/TestAnnotation.js +10 -13
- package/dist/cjs/TestAnnotation.js.map +1 -1
- package/dist/cjs/TestAnnotations.js +1 -1
- package/dist/cjs/TestAnnotations.js.map +1 -1
- package/dist/cjs/TestClock.js +1 -1
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/TestConfig.js +1 -1
- package/dist/cjs/TestConfig.js.map +1 -1
- package/dist/cjs/TestContext.js.map +1 -1
- package/dist/cjs/TestLive.js +1 -1
- package/dist/cjs/TestLive.js.map +1 -1
- package/dist/cjs/TestServices.js.map +1 -1
- package/dist/cjs/TestSized.js +1 -1
- package/dist/cjs/TestSized.js.map +1 -1
- package/dist/cjs/Utils.js +0 -1
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/cache.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel/mergeDecision.js +2 -6
- package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/internal/channel.js +1 -1
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/clock.js +1 -1
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/configProvider.js +2 -4
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/console.js.map +1 -1
- package/dist/cjs/internal/context.js +31 -22
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +13 -27
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core-stream.js.map +1 -1
- package/dist/cjs/internal/core.js +61 -130
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/data.js.map +1 -1
- package/dist/cjs/internal/defaultServices/console.js +1 -1
- package/dist/cjs/internal/defaultServices/console.js.map +1 -1
- package/dist/cjs/internal/defaultServices.js.map +1 -1
- package/dist/cjs/internal/deferred.js.map +1 -1
- package/dist/cjs/internal/differ/contextPatch.js +9 -9
- package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +7 -10
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/effectable.js +4 -4
- package/dist/cjs/internal/effectable.js.map +1 -1
- package/dist/cjs/internal/fiber.js +2 -6
- package/dist/cjs/internal/fiber.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +10 -19
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/keyedPool.js.map +1 -1
- package/dist/cjs/internal/layer/circular.js.map +1 -1
- package/dist/cjs/internal/layer.js +3 -3
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/logSpan.js +3 -5
- package/dist/cjs/internal/logSpan.js.map +1 -1
- package/dist/cjs/internal/metric.js.map +1 -1
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/pubsub.js +2 -6
- package/dist/cjs/internal/pubsub.js.map +1 -1
- package/dist/cjs/internal/query.js.map +1 -1
- package/dist/cjs/internal/queue.js.map +1 -1
- package/dist/cjs/internal/random.js +1 -1
- package/dist/cjs/internal/random.js.map +1 -1
- package/dist/cjs/internal/rateLimiter.js +44 -0
- package/dist/cjs/internal/rateLimiter.js.map +1 -0
- package/dist/cjs/internal/ref.js.map +1 -1
- package/dist/cjs/internal/reloadable.js +1 -9
- package/dist/cjs/internal/reloadable.js.map +1 -1
- package/dist/cjs/internal/runtime.js +0 -1
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/scopedCache.js.map +1 -1
- package/dist/cjs/internal/scopedRef.js.map +1 -1
- package/dist/cjs/internal/sink.js +7 -7
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tExit.js +2 -2
- package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tryCommit.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stm/tArray.js.map +1 -1
- package/dist/cjs/internal/stm/tDeferred.js +4 -2
- package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
- package/dist/cjs/internal/stm/tMap.js.map +1 -1
- package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
- package/dist/cjs/internal/stm/tQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tRandom.js +1 -1
- package/dist/cjs/internal/stm/tRandom.js.map +1 -1
- package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
- package/dist/cjs/internal/stm/tRef.js.map +1 -1
- package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
- package/dist/cjs/internal/stm/tSet.js.map +1 -1
- package/dist/cjs/internal/stream/debounceState.js.map +1 -1
- package/dist/cjs/internal/stream/handoff.js.map +1 -1
- package/dist/cjs/internal/stream/handoffSignal.js.map +1 -1
- package/dist/cjs/internal/stream/pull.js.map +1 -1
- package/dist/cjs/internal/stream.js +0 -2
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/subscriptionRef.js.map +1 -1
- package/dist/cjs/internal/supervisor.js.map +1 -1
- package/dist/cjs/internal/take.js +2 -2
- package/dist/cjs/internal/take.js.map +1 -1
- package/dist/cjs/internal/testing/sleep.js.map +1 -1
- package/dist/cjs/internal/tracer.js +2 -2
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Cache.d.ts +20 -20
- package/dist/dts/Cache.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +33 -5
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +197 -194
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Clock.d.ts +7 -7
- package/dist/dts/Clock.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +1 -1
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/ConfigProvider.d.ts +6 -6
- package/dist/dts/ConfigProvider.d.ts.map +1 -1
- package/dist/dts/Console.d.ts +43 -43
- package/dist/dts/Console.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +44 -29
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Data.d.ts +38 -57
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/Deferred.d.ts +36 -36
- package/dist/dts/Deferred.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +732 -729
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Effectable.d.ts +8 -8
- package/dist/dts/Effectable.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +2 -3
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Exit.d.ts +74 -74
- package/dist/dts/Exit.d.ts.map +1 -1
- package/dist/dts/Fiber.d.ts +75 -75
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +22 -22
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberRef.d.ts +28 -28
- package/dist/dts/FiberRef.d.ts.map +1 -1
- package/dist/dts/FiberRefs.d.ts +1 -1
- package/dist/dts/FiberRefs.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +16 -16
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts +6 -6
- package/dist/dts/GroupBy.d.ts.map +1 -1
- package/dist/dts/KeyedPool.d.ts +22 -22
- package/dist/dts/KeyedPool.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +126 -126
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/LogLevel.d.ts +2 -2
- package/dist/dts/LogLevel.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +14 -14
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/MergeDecision.d.ts +7 -7
- package/dist/dts/MergeState.d.ts +13 -13
- package/dist/dts/MergeState.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +32 -32
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricPolling.d.ts +6 -6
- package/dist/dts/MetricPolling.d.ts.map +1 -1
- package/dist/dts/Number.d.ts +15 -0
- package/dist/dts/Number.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +2 -3
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Pool.d.ts +15 -16
- package/dist/dts/Pool.d.ts.map +1 -1
- package/dist/dts/PubSub.d.ts +18 -18
- package/dist/dts/PubSub.d.ts.map +1 -1
- package/dist/dts/Queue.d.ts +40 -40
- package/dist/dts/Queue.d.ts.map +1 -1
- package/dist/dts/Random.d.ts +13 -13
- package/dist/dts/Random.d.ts.map +1 -1
- package/dist/dts/RateLimiter.d.ts +31 -0
- package/dist/dts/RateLimiter.d.ts.map +1 -0
- package/dist/dts/ReadonlyArray.d.ts +3 -3
- package/dist/dts/ReadonlyRecord.d.ts +37 -8
- package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
- package/dist/dts/Ref.d.ts +25 -25
- package/dist/dts/Ref.d.ts.map +1 -1
- package/dist/dts/Reloadable.d.ts +9 -9
- package/dist/dts/Reloadable.d.ts.map +1 -1
- package/dist/dts/Request.d.ts +27 -28
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestBlock.d.ts +3 -3
- package/dist/dts/RequestBlock.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +16 -16
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Resource.d.ts +7 -7
- package/dist/dts/Resource.d.ts.map +1 -1
- package/dist/dts/Runtime.d.ts +13 -16
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/dts/RuntimeFlags.d.ts +10 -10
- package/dist/dts/RuntimeFlags.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +303 -303
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +47 -47
- package/dist/dts/Schedule.d.ts.map +1 -1
- package/dist/dts/Scope.d.ts +10 -10
- package/dist/dts/Scope.d.ts.map +1 -1
- package/dist/dts/ScopedCache.d.ts +14 -14
- package/dist/dts/ScopedCache.d.ts.map +1 -1
- package/dist/dts/ScopedRef.d.ts +5 -5
- package/dist/dts/ScopedRef.d.ts.map +1 -1
- package/dist/dts/SingleProducerAsyncInput.d.ts +8 -8
- package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +214 -205
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +595 -592
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/StreamEmit.d.ts +5 -5
- package/dist/dts/StreamEmit.d.ts.map +1 -1
- package/dist/dts/Streamable.d.ts +2 -2
- package/dist/dts/Streamable.d.ts.map +1 -1
- package/dist/dts/SubscriptionRef.d.ts +41 -41
- package/dist/dts/SubscriptionRef.d.ts.map +1 -1
- package/dist/dts/Supervisor.d.ts +17 -17
- package/dist/dts/Supervisor.d.ts.map +1 -1
- package/dist/dts/SynchronizedRef.d.ts +41 -41
- package/dist/dts/SynchronizedRef.d.ts.map +1 -1
- package/dist/dts/TArray.d.ts +72 -72
- package/dist/dts/TArray.d.ts.map +1 -1
- package/dist/dts/TDeferred.d.ts +12 -12
- package/dist/dts/TDeferred.d.ts.map +1 -1
- package/dist/dts/TMap.d.ts +67 -67
- package/dist/dts/TMap.d.ts.map +1 -1
- package/dist/dts/TPriorityQueue.d.ts +23 -23
- package/dist/dts/TPriorityQueue.d.ts.map +1 -1
- package/dist/dts/TPubSub.d.ts +15 -15
- package/dist/dts/TPubSub.d.ts.map +1 -1
- package/dist/dts/TQueue.d.ts +40 -40
- package/dist/dts/TQueue.d.ts.map +1 -1
- package/dist/dts/TRandom.d.ts +13 -13
- package/dist/dts/TRandom.d.ts.map +1 -1
- package/dist/dts/TReentrantLock.d.ts +21 -21
- package/dist/dts/TReentrantLock.d.ts.map +1 -1
- package/dist/dts/TRef.d.ts +25 -25
- package/dist/dts/TRef.d.ts.map +1 -1
- package/dist/dts/TSemaphore.d.ts +15 -15
- package/dist/dts/TSemaphore.d.ts.map +1 -1
- package/dist/dts/TSet.d.ts +49 -49
- package/dist/dts/TSet.d.ts.map +1 -1
- package/dist/dts/Take.d.ts +41 -41
- package/dist/dts/Take.d.ts.map +1 -1
- package/dist/dts/TestAnnotation.d.ts +1 -3
- package/dist/dts/TestAnnotation.d.ts.map +1 -1
- package/dist/dts/TestAnnotations.d.ts +3 -3
- package/dist/dts/TestAnnotations.d.ts.map +1 -1
- package/dist/dts/TestClock.d.ts +18 -18
- package/dist/dts/TestClock.d.ts.map +1 -1
- package/dist/dts/TestConfig.d.ts.map +1 -1
- package/dist/dts/TestContext.d.ts +2 -2
- package/dist/dts/TestContext.d.ts.map +1 -1
- package/dist/dts/TestLive.d.ts +1 -1
- package/dist/dts/TestLive.d.ts.map +1 -1
- package/dist/dts/TestServices.d.ts +31 -31
- package/dist/dts/TestServices.d.ts.map +1 -1
- package/dist/dts/TestSized.d.ts +2 -2
- package/dist/dts/TestSized.d.ts.map +1 -1
- package/dist/dts/Tracer.d.ts +1 -1
- package/dist/dts/Utils.d.ts.map +1 -1
- package/dist/dts/index.d.ts +12 -2
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/channel/channelExecutor.d.ts +1 -1
- package/dist/dts/internal/channel/channelExecutor.d.ts.map +1 -1
- package/dist/dts/internal/core-stream.d.ts +1 -1
- package/dist/dts/internal/core-stream.d.ts.map +1 -1
- package/dist/dts/internal/rateLimiter.d.ts +2 -0
- package/dist/dts/internal/rateLimiter.d.ts.map +1 -0
- package/dist/dts/internal/stm/stm.d.ts +6 -6
- package/dist/dts/internal/stm/stm.d.ts.map +1 -1
- package/dist/dts/internal/version.d.ts +1 -1
- package/dist/esm/Cause.js +13 -0
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/Clock.js.map +1 -1
- package/dist/esm/Console.js.map +1 -1
- package/dist/esm/Context.js +22 -24
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/Data.js +4 -5
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/Deferred.js +1 -1
- package/dist/esm/Deferred.js.map +1 -1
- package/dist/esm/Effect.js +9 -9
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Effectable.js.map +1 -1
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Exit.js +2 -2
- package/dist/esm/Exit.js.map +1 -1
- package/dist/esm/Fiber.js.map +1 -1
- package/dist/esm/FiberMap.js +3 -3
- package/dist/esm/FiberRef.js.map +1 -1
- package/dist/esm/FiberRefs.js.map +1 -1
- package/dist/esm/FiberSet.js +3 -3
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/GroupBy.js.map +1 -1
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/LogLevel.js.map +1 -1
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/Number.js +18 -0
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Pool.js.map +1 -1
- package/dist/esm/PubSub.js.map +1 -1
- package/dist/esm/Queue.js.map +1 -1
- package/dist/esm/Random.js.map +1 -1
- package/dist/esm/RateLimiter.js +7 -0
- package/dist/esm/RateLimiter.js.map +1 -0
- package/dist/esm/ReadonlyRecord.js +44 -8
- package/dist/esm/ReadonlyRecord.js.map +1 -1
- package/dist/esm/Ref.js.map +1 -1
- package/dist/esm/Request.js.map +1 -1
- package/dist/esm/RequestResolver.js.map +1 -1
- package/dist/esm/Resource.js.map +1 -1
- package/dist/esm/Runtime.js +1 -4
- package/dist/esm/Runtime.js.map +1 -1
- package/dist/esm/RuntimeFlags.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/Scope.js.map +1 -1
- package/dist/esm/ScopedRef.js.map +1 -1
- package/dist/esm/SingleProducerAsyncInput.js.map +1 -1
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/SubscriptionRef.js.map +1 -1
- package/dist/esm/Supervisor.js.map +1 -1
- package/dist/esm/SynchronizedRef.js.map +1 -1
- package/dist/esm/TArray.js.map +1 -1
- package/dist/esm/TDeferred.js.map +1 -1
- package/dist/esm/TMap.js.map +1 -1
- package/dist/esm/TPriorityQueue.js.map +1 -1
- package/dist/esm/TPubSub.js.map +1 -1
- package/dist/esm/TQueue.js.map +1 -1
- package/dist/esm/TRandom.js.map +1 -1
- package/dist/esm/TReentrantLock.js.map +1 -1
- package/dist/esm/TRef.js.map +1 -1
- package/dist/esm/TSemaphore.js.map +1 -1
- package/dist/esm/TSet.js.map +1 -1
- package/dist/esm/Take.js +6 -6
- package/dist/esm/Take.js.map +1 -1
- package/dist/esm/TestAnnotation.js +10 -13
- package/dist/esm/TestAnnotation.js.map +1 -1
- package/dist/esm/TestAnnotations.js +1 -1
- package/dist/esm/TestAnnotations.js.map +1 -1
- package/dist/esm/TestClock.js +1 -1
- package/dist/esm/TestClock.js.map +1 -1
- package/dist/esm/TestConfig.js +1 -1
- package/dist/esm/TestConfig.js.map +1 -1
- package/dist/esm/TestContext.js.map +1 -1
- package/dist/esm/TestLive.js +1 -1
- package/dist/esm/TestLive.js.map +1 -1
- package/dist/esm/TestServices.js.map +1 -1
- package/dist/esm/TestSized.js +1 -1
- package/dist/esm/TestSized.js.map +1 -1
- package/dist/esm/Utils.js +1 -1
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/index.js +12 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/cache.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel/mergeDecision.js +2 -6
- package/dist/esm/internal/channel/mergeDecision.js.map +1 -1
- package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/esm/internal/channel.js +1 -1
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/clock.js +1 -1
- package/dist/esm/internal/clock.js.map +1 -1
- package/dist/esm/internal/configProvider.js +2 -4
- package/dist/esm/internal/configProvider.js.map +1 -1
- package/dist/esm/internal/console.js.map +1 -1
- package/dist/esm/internal/context.js +28 -20
- package/dist/esm/internal/context.js.map +1 -1
- package/dist/esm/internal/core-effect.js +12 -26
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core-stream.js.map +1 -1
- package/dist/esm/internal/core.js +57 -127
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/data.js.map +1 -1
- package/dist/esm/internal/defaultServices/console.js +1 -1
- package/dist/esm/internal/defaultServices/console.js.map +1 -1
- package/dist/esm/internal/defaultServices.js.map +1 -1
- package/dist/esm/internal/deferred.js.map +1 -1
- package/dist/esm/internal/differ/contextPatch.js +9 -9
- package/dist/esm/internal/differ/contextPatch.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +5 -8
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/effectable.js +4 -4
- package/dist/esm/internal/effectable.js.map +1 -1
- package/dist/esm/internal/fiber.js +2 -6
- package/dist/esm/internal/fiber.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +10 -19
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/keyedPool.js.map +1 -1
- package/dist/esm/internal/layer/circular.js.map +1 -1
- package/dist/esm/internal/layer.js +3 -3
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/logSpan.js +3 -5
- package/dist/esm/internal/logSpan.js.map +1 -1
- package/dist/esm/internal/metric.js.map +1 -1
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/pubsub.js +1 -5
- package/dist/esm/internal/pubsub.js.map +1 -1
- package/dist/esm/internal/query.js.map +1 -1
- package/dist/esm/internal/queue.js.map +1 -1
- package/dist/esm/internal/random.js +1 -1
- package/dist/esm/internal/random.js.map +1 -1
- package/dist/esm/internal/rateLimiter.js +12 -0
- package/dist/esm/internal/rateLimiter.js.map +1 -0
- package/dist/esm/internal/ref.js.map +1 -1
- package/dist/esm/internal/reloadable.js +1 -9
- package/dist/esm/internal/reloadable.js.map +1 -1
- package/dist/esm/internal/runtime.js +0 -1
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/schedule.js.map +1 -1
- package/dist/esm/internal/scopedCache.js.map +1 -1
- package/dist/esm/internal/scopedRef.js.map +1 -1
- package/dist/esm/internal/sink.js +7 -7
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stm/core.js.map +1 -1
- package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
- package/dist/esm/internal/stm/stm/tExit.js +2 -2
- package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
- package/dist/esm/internal/stm/stm/tryCommit.js.map +1 -1
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stm/tArray.js.map +1 -1
- package/dist/esm/internal/stm/tDeferred.js +4 -2
- package/dist/esm/internal/stm/tDeferred.js.map +1 -1
- package/dist/esm/internal/stm/tMap.js.map +1 -1
- package/dist/esm/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/esm/internal/stm/tPubSub.js.map +1 -1
- package/dist/esm/internal/stm/tQueue.js.map +1 -1
- package/dist/esm/internal/stm/tRandom.js +1 -1
- package/dist/esm/internal/stm/tRandom.js.map +1 -1
- package/dist/esm/internal/stm/tReentrantLock.js.map +1 -1
- package/dist/esm/internal/stm/tRef.js.map +1 -1
- package/dist/esm/internal/stm/tSemaphore.js.map +1 -1
- package/dist/esm/internal/stm/tSet.js.map +1 -1
- package/dist/esm/internal/stream/debounceState.js.map +1 -1
- package/dist/esm/internal/stream/handoff.js.map +1 -1
- package/dist/esm/internal/stream/handoffSignal.js.map +1 -1
- package/dist/esm/internal/stream/pull.js.map +1 -1
- package/dist/esm/internal/stream.js +0 -2
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/subscriptionRef.js.map +1 -1
- package/dist/esm/internal/supervisor.js.map +1 -1
- package/dist/esm/internal/take.js +2 -2
- package/dist/esm/internal/take.js.map +1 -1
- package/dist/esm/internal/testing/sleep.js.map +1 -1
- package/dist/esm/internal/tracer.js +2 -2
- package/dist/esm/internal/tracer.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +9 -1
- package/src/Cache.ts +20 -20
- package/src/Cause.ts +37 -13
- package/src/Channel.ts +802 -794
- package/src/Clock.ts +7 -7
- package/src/Config.ts +1 -1
- package/src/ConfigProvider.ts +6 -6
- package/src/Console.ts +44 -48
- package/src/Context.ts +52 -30
- package/src/Data.ts +38 -61
- package/src/Deferred.ts +39 -41
- package/src/Effect.ts +1187 -1206
- package/src/Effectable.ts +8 -8
- package/src/Either.ts +2 -3
- package/src/Exit.ts +88 -105
- package/src/Fiber.ts +77 -83
- package/src/FiberMap.ts +77 -77
- package/src/FiberRef.ts +28 -28
- package/src/FiberRefs.ts +1 -1
- package/src/FiberSet.ts +61 -62
- package/src/GroupBy.ts +8 -12
- package/src/KeyedPool.ts +22 -22
- package/src/Layer.ts +187 -181
- package/src/LogLevel.ts +7 -6
- package/src/Logger.ts +18 -18
- package/src/MergeDecision.ts +7 -7
- package/src/MergeState.ts +16 -16
- package/src/Metric.ts +39 -39
- package/src/MetricPolling.ts +6 -6
- package/src/Number.ts +19 -0
- package/src/Option.ts +2 -3
- package/src/Pool.ts +15 -16
- package/src/PubSub.ts +18 -18
- package/src/Queue.ts +43 -46
- package/src/Random.ts +13 -15
- package/src/RateLimiter.ts +37 -0
- package/src/ReadonlyRecord.ts +49 -8
- package/src/Ref.ts +25 -25
- package/src/Reloadable.ts +10 -10
- package/src/Request.ts +31 -31
- package/src/RequestBlock.ts +3 -3
- package/src/RequestResolver.ts +21 -21
- package/src/Resource.ts +13 -13
- package/src/Runtime.ts +16 -19
- package/src/RuntimeFlags.ts +10 -10
- package/src/STM.ts +361 -362
- package/src/Schedule.ts +47 -47
- package/src/Scheduler.ts +2 -2
- package/src/Scope.ts +14 -15
- package/src/ScopedCache.ts +14 -14
- package/src/ScopedRef.ts +7 -7
- package/src/SingleProducerAsyncInput.ts +8 -9
- package/src/Sink.ts +357 -381
- package/src/Stream.ts +935 -1033
- package/src/StreamEmit.ts +5 -5
- package/src/Streamable.ts +2 -2
- package/src/SubscriptionRef.ts +51 -51
- package/src/Supervisor.ts +26 -26
- package/src/SynchronizedRef.ts +44 -44
- package/src/TArray.ts +74 -74
- package/src/TDeferred.ts +14 -14
- package/src/TMap.ts +72 -72
- package/src/TPriorityQueue.ts +23 -24
- package/src/TPubSub.ts +15 -15
- package/src/TQueue.ts +40 -40
- package/src/TRandom.ts +13 -13
- package/src/TReentrantLock.ts +21 -21
- package/src/TRef.ts +25 -25
- package/src/TSemaphore.ts +15 -15
- package/src/TSet.ts +49 -49
- package/src/Take.ts +51 -51
- package/src/TestAnnotation.ts +6 -17
- package/src/TestAnnotations.ts +7 -9
- package/src/TestClock.ts +39 -45
- package/src/TestConfig.ts +1 -3
- package/src/TestContext.ts +3 -3
- package/src/TestLive.ts +3 -5
- package/src/TestServices.ts +45 -47
- package/src/TestSized.ts +5 -5
- package/src/Tracer.ts +1 -1
- package/src/Utils.ts +8 -10
- package/src/index.ts +13 -2
- package/src/internal/blockedRequests.ts +2 -2
- package/src/internal/cache.ts +38 -38
- package/src/internal/channel/channelExecutor.ts +65 -73
- package/src/internal/channel/channelState.ts +11 -11
- package/src/internal/channel/continuation.ts +10 -10
- package/src/internal/channel/mergeDecision.ts +14 -16
- package/src/internal/channel/mergeState.ts +12 -12
- package/src/internal/channel/singleProducerAsyncInput.ts +15 -17
- package/src/internal/channel/subexecutor.ts +7 -7
- package/src/internal/channel.ts +901 -980
- package/src/internal/clock.ts +6 -6
- package/src/internal/concurrency.ts +9 -9
- package/src/internal/configProvider.ts +29 -36
- package/src/internal/console.ts +12 -12
- package/src/internal/context.ts +32 -23
- package/src/internal/core-effect.ts +655 -616
- package/src/internal/core-stream.ts +317 -325
- package/src/internal/core.ts +856 -790
- package/src/internal/data.ts +2 -3
- package/src/internal/dataSource.ts +14 -14
- package/src/internal/defaultServices/console.ts +3 -1
- package/src/internal/defaultServices.ts +21 -21
- package/src/internal/deferred.ts +9 -9
- package/src/internal/differ/contextPatch.ts +17 -17
- package/src/internal/effect/circular.ts +154 -159
- package/src/internal/effectable.ts +7 -7
- package/src/internal/fiber.ts +55 -59
- package/src/internal/fiberRefs.ts +1 -1
- package/src/internal/fiberRuntime.ts +426 -463
- package/src/internal/groupBy.ts +59 -62
- package/src/internal/keyedPool.ts +37 -37
- package/src/internal/layer/circular.ts +37 -37
- package/src/internal/layer.ts +235 -240
- package/src/internal/logSpan.ts +3 -5
- package/src/internal/metric/polling.ts +5 -5
- package/src/internal/metric.ts +54 -55
- package/src/internal/pool.ts +72 -72
- package/src/internal/pubsub.ts +75 -84
- package/src/internal/query.ts +25 -27
- package/src/internal/queue.ts +65 -70
- package/src/internal/random.ts +9 -9
- package/src/internal/rateLimiter.ts +30 -0
- package/src/internal/ref.ts +24 -24
- package/src/internal/reloadable.ts +11 -31
- package/src/internal/request.ts +14 -14
- package/src/internal/resource.ts +8 -8
- package/src/internal/runtime.ts +21 -22
- package/src/internal/schedule.ts +131 -134
- package/src/internal/scopedCache.ts +35 -32
- package/src/internal/scopedRef.ts +14 -14
- package/src/internal/sink.ts +507 -565
- package/src/internal/stm/core.ts +101 -102
- package/src/internal/stm/stm/stmState.ts +10 -10
- package/src/internal/stm/stm/tExit.ts +18 -18
- package/src/internal/stm/stm/tryCommit.ts +5 -5
- package/src/internal/stm/stm.ts +363 -374
- package/src/internal/stm/tArray.ts +92 -92
- package/src/internal/stm/tDeferred.ts +16 -14
- package/src/internal/stm/tMap.ts +83 -84
- package/src/internal/stm/tPriorityQueue.ts +24 -25
- package/src/internal/stm/tPubSub.ts +37 -38
- package/src/internal/stm/tQueue.ts +44 -48
- package/src/internal/stm/tRandom.ts +18 -18
- package/src/internal/stm/tReentrantLock.ts +28 -28
- package/src/internal/stm/tRef.ts +25 -25
- package/src/internal/stm/tSemaphore.ts +16 -16
- package/src/internal/stm/tSet.ts +51 -52
- package/src/internal/stream/debounceState.ts +7 -7
- package/src/internal/stream/emit.ts +4 -4
- package/src/internal/stream/handoff.ts +19 -19
- package/src/internal/stream/handoffSignal.ts +4 -4
- package/src/internal/stream/pull.ts +10 -11
- package/src/internal/stream.ts +1770 -1788
- package/src/internal/subscriptionRef.ts +17 -17
- package/src/internal/supervisor.ts +49 -56
- package/src/internal/synchronizedRef.ts +27 -27
- package/src/internal/take.ts +61 -61
- package/src/internal/testing/sleep.ts +2 -2
- package/src/internal/testing/suspendedWarningData.ts +2 -2
- package/src/internal/testing/warningData.ts +2 -2
- package/src/internal/tracer.ts +2 -6
- package/src/internal/version.ts +1 -1
package/src/Clock.ts
CHANGED
|
@@ -35,7 +35,7 @@ export interface Clock {
|
|
|
35
35
|
/**
|
|
36
36
|
* Returns the current time in milliseconds.
|
|
37
37
|
*/
|
|
38
|
-
readonly currentTimeMillis: Effect.Effect<
|
|
38
|
+
readonly currentTimeMillis: Effect.Effect<number>
|
|
39
39
|
/**
|
|
40
40
|
* Unsafely returns the current time in nanoseconds.
|
|
41
41
|
*/
|
|
@@ -43,11 +43,11 @@ export interface Clock {
|
|
|
43
43
|
/**
|
|
44
44
|
* Returns the current time in nanoseconds.
|
|
45
45
|
*/
|
|
46
|
-
readonly currentTimeNanos: Effect.Effect<
|
|
46
|
+
readonly currentTimeNanos: Effect.Effect<bigint>
|
|
47
47
|
/**
|
|
48
48
|
* Asynchronously sleeps for the specified duration.
|
|
49
49
|
*/
|
|
50
|
-
sleep(duration: Duration.Duration): Effect.Effect<
|
|
50
|
+
sleep(duration: Duration.Duration): Effect.Effect<void>
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
/**
|
|
@@ -83,25 +83,25 @@ export const make: (_: void) => Clock = internal.make
|
|
|
83
83
|
* @since 2.0.0
|
|
84
84
|
* @category constructors
|
|
85
85
|
*/
|
|
86
|
-
export const sleep: (duration: Duration.DurationInput) => Effect.Effect<
|
|
86
|
+
export const sleep: (duration: Duration.DurationInput) => Effect.Effect<void> = defaultServices.sleep
|
|
87
87
|
|
|
88
88
|
/**
|
|
89
89
|
* @since 2.0.0
|
|
90
90
|
* @category constructors
|
|
91
91
|
*/
|
|
92
|
-
export const currentTimeMillis: Effect.Effect<
|
|
92
|
+
export const currentTimeMillis: Effect.Effect<number> = defaultServices.currentTimeMillis
|
|
93
93
|
|
|
94
94
|
/**
|
|
95
95
|
* @since 2.0.0
|
|
96
96
|
* @category constructors
|
|
97
97
|
*/
|
|
98
|
-
export const currentTimeNanos: Effect.Effect<
|
|
98
|
+
export const currentTimeNanos: Effect.Effect<bigint> = defaultServices.currentTimeNanos
|
|
99
99
|
|
|
100
100
|
/**
|
|
101
101
|
* @since 2.0.0
|
|
102
102
|
* @category constructors
|
|
103
103
|
*/
|
|
104
|
-
export const clockWith: <
|
|
104
|
+
export const clockWith: <A, E, R>(f: (clock: Clock) => Effect.Effect<A, E, R>) => Effect.Effect<A, E, R> =
|
|
105
105
|
defaultServices.clockWith
|
|
106
106
|
|
|
107
107
|
/**
|
package/src/Config.ts
CHANGED
|
@@ -33,7 +33,7 @@ export type ConfigTypeId = typeof ConfigTypeId
|
|
|
33
33
|
* @since 2.0.0
|
|
34
34
|
* @category models
|
|
35
35
|
*/
|
|
36
|
-
export interface Config<out A> extends Config.Variance<A>, Effect.Effect<
|
|
36
|
+
export interface Config<out A> extends Config.Variance<A>, Effect.Effect<A, ConfigError.ConfigError> {}
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* @since 2.0.0
|
package/src/ConfigProvider.ts
CHANGED
|
@@ -46,7 +46,7 @@ export interface ConfigProvider extends ConfigProvider.Proto, Pipeable {
|
|
|
46
46
|
/**
|
|
47
47
|
* Loads the specified configuration, or fails with a config error.
|
|
48
48
|
*/
|
|
49
|
-
load<A>(config: Config.Config<A>): Effect.Effect<
|
|
49
|
+
load<A>(config: Config.Config<A>): Effect.Effect<A, ConfigError.ConfigError>
|
|
50
50
|
/**
|
|
51
51
|
* Flattens this config provider into a simplified config provider that knows
|
|
52
52
|
* only how to deal with flat (key/value) properties.
|
|
@@ -81,10 +81,10 @@ export declare namespace ConfigProvider {
|
|
|
81
81
|
path: ReadonlyArray<string>,
|
|
82
82
|
config: Config.Config.Primitive<A>,
|
|
83
83
|
split?: boolean
|
|
84
|
-
): Effect.Effect<
|
|
84
|
+
): Effect.Effect<ReadonlyArray<A>, ConfigError.ConfigError>
|
|
85
85
|
enumerateChildren(
|
|
86
86
|
path: ReadonlyArray<string>
|
|
87
|
-
): Effect.Effect<
|
|
87
|
+
): Effect.Effect<HashSet.HashSet<string>, ConfigError.ConfigError>
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
/**
|
|
@@ -146,7 +146,7 @@ export const ConfigProvider: Context.Tag<ConfigProvider, ConfigProvider> = inter
|
|
|
146
146
|
*/
|
|
147
147
|
export const make: (
|
|
148
148
|
options: {
|
|
149
|
-
readonly load: <A>(config: Config.Config<A>) => Effect.Effect<
|
|
149
|
+
readonly load: <A>(config: Config.Config<A>) => Effect.Effect<A, ConfigError.ConfigError>
|
|
150
150
|
readonly flattened: ConfigProvider.Flat
|
|
151
151
|
}
|
|
152
152
|
) => ConfigProvider = internal.make
|
|
@@ -162,10 +162,10 @@ export const makeFlat: (options: {
|
|
|
162
162
|
path: ReadonlyArray<string>,
|
|
163
163
|
config: Config.Config.Primitive<A>,
|
|
164
164
|
split: boolean
|
|
165
|
-
) => Effect.Effect<
|
|
165
|
+
) => Effect.Effect<ReadonlyArray<A>, ConfigError.ConfigError>
|
|
166
166
|
readonly enumerateChildren: (
|
|
167
167
|
path: ReadonlyArray<string>
|
|
168
|
-
) => Effect.Effect<
|
|
168
|
+
) => Effect.Effect<HashSet.HashSet<string>, ConfigError.ConfigError>
|
|
169
169
|
readonly patch: PathPatch.PathPatch
|
|
170
170
|
}) => ConfigProvider.Flat = internal.makeFlat
|
|
171
171
|
|
package/src/Console.ts
CHANGED
|
@@ -26,27 +26,27 @@ export type TypeId = typeof TypeId
|
|
|
26
26
|
*/
|
|
27
27
|
export interface Console {
|
|
28
28
|
readonly [TypeId]: TypeId
|
|
29
|
-
assert(condition: boolean, ...args: ReadonlyArray<any>): Effect<
|
|
30
|
-
readonly clear: Effect<
|
|
31
|
-
count(label?: string): Effect<
|
|
32
|
-
countReset(label?: string): Effect<
|
|
33
|
-
debug(...args: ReadonlyArray<any>): Effect<
|
|
34
|
-
dir(item: any, options?: any): Effect<
|
|
35
|
-
dirxml(...args: ReadonlyArray<any>): Effect<
|
|
36
|
-
error(...args: ReadonlyArray<any>): Effect<
|
|
29
|
+
assert(condition: boolean, ...args: ReadonlyArray<any>): Effect<void>
|
|
30
|
+
readonly clear: Effect<void>
|
|
31
|
+
count(label?: string): Effect<void>
|
|
32
|
+
countReset(label?: string): Effect<void>
|
|
33
|
+
debug(...args: ReadonlyArray<any>): Effect<void>
|
|
34
|
+
dir(item: any, options?: any): Effect<void>
|
|
35
|
+
dirxml(...args: ReadonlyArray<any>): Effect<void>
|
|
36
|
+
error(...args: ReadonlyArray<any>): Effect<void>
|
|
37
37
|
group(options?: {
|
|
38
38
|
readonly label?: string | undefined
|
|
39
39
|
readonly collapsed?: boolean | undefined
|
|
40
|
-
}): Effect<
|
|
41
|
-
readonly groupEnd: Effect<
|
|
42
|
-
info(...args: ReadonlyArray<any>): Effect<
|
|
43
|
-
log(...args: ReadonlyArray<any>): Effect<
|
|
44
|
-
table(tabularData: any, properties?: ReadonlyArray<string>): Effect<
|
|
45
|
-
time(label?: string): Effect<
|
|
46
|
-
timeEnd(label?: string): Effect<
|
|
47
|
-
timeLog(label?: string, ...args: ReadonlyArray<any>): Effect<
|
|
48
|
-
trace(...args: ReadonlyArray<any>): Effect<
|
|
49
|
-
warn(...args: ReadonlyArray<any>): Effect<
|
|
40
|
+
}): Effect<void>
|
|
41
|
+
readonly groupEnd: Effect<void>
|
|
42
|
+
info(...args: ReadonlyArray<any>): Effect<void>
|
|
43
|
+
log(...args: ReadonlyArray<any>): Effect<void>
|
|
44
|
+
table(tabularData: any, properties?: ReadonlyArray<string>): Effect<void>
|
|
45
|
+
time(label?: string): Effect<void>
|
|
46
|
+
timeEnd(label?: string): Effect<void>
|
|
47
|
+
timeLog(label?: string, ...args: ReadonlyArray<any>): Effect<void>
|
|
48
|
+
trace(...args: ReadonlyArray<any>): Effect<void>
|
|
49
|
+
warn(...args: ReadonlyArray<any>): Effect<void>
|
|
50
50
|
readonly unsafe: UnsafeConsole
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -89,123 +89,119 @@ export const Console: Context.Tag<Console, Console> = defaultConsole.consoleTag
|
|
|
89
89
|
* @category default services
|
|
90
90
|
*/
|
|
91
91
|
export const withConsole: {
|
|
92
|
-
<
|
|
93
|
-
<
|
|
92
|
+
<C extends Console>(console: C): <A, E, R>(effect: Effect<A, E, R>) => Effect<A, E, R>
|
|
93
|
+
<A, E, R, C extends Console>(effect: Effect<A, E, R>, console: C): Effect<A, E, R>
|
|
94
94
|
} = internal.withConsole
|
|
95
95
|
|
|
96
96
|
/**
|
|
97
97
|
* @since 2.0.0
|
|
98
98
|
* @category default services
|
|
99
99
|
*/
|
|
100
|
-
export const setConsole: <A extends Console>(console: A) => Layer.Layer<never
|
|
100
|
+
export const setConsole: <A extends Console>(console: A) => Layer.Layer<never> = internal.setConsole
|
|
101
101
|
|
|
102
102
|
/**
|
|
103
103
|
* @since 2.0.0
|
|
104
104
|
* @category accessor
|
|
105
105
|
*/
|
|
106
|
-
export const consoleWith: <
|
|
106
|
+
export const consoleWith: <A, E, R>(f: (console: Console) => Effect<A, E, R>) => Effect<A, E, R> = internal.consoleWith
|
|
107
107
|
|
|
108
108
|
/**
|
|
109
109
|
* @since 2.0.0
|
|
110
110
|
* @category accessor
|
|
111
111
|
*/
|
|
112
|
-
export const assert: (condition: boolean, ...args: ReadonlyArray<any>) => Effect<
|
|
112
|
+
export const assert: (condition: boolean, ...args: ReadonlyArray<any>) => Effect<void> = internal.assert
|
|
113
113
|
|
|
114
114
|
/**
|
|
115
115
|
* @since 2.0.0
|
|
116
116
|
* @category accessor
|
|
117
117
|
*/
|
|
118
|
-
export const clear: Effect<
|
|
118
|
+
export const clear: Effect<void> = internal.clear
|
|
119
119
|
|
|
120
120
|
/**
|
|
121
121
|
* @since 2.0.0
|
|
122
122
|
* @category accessor
|
|
123
123
|
*/
|
|
124
|
-
export const count: (label?: string) => Effect<
|
|
124
|
+
export const count: (label?: string) => Effect<void> = internal.count
|
|
125
125
|
|
|
126
126
|
/**
|
|
127
127
|
* @since 2.0.0
|
|
128
128
|
* @category accessor
|
|
129
129
|
*/
|
|
130
|
-
export const countReset: (label?: string) => Effect<
|
|
130
|
+
export const countReset: (label?: string) => Effect<void> = internal.countReset
|
|
131
131
|
|
|
132
132
|
/**
|
|
133
133
|
* @since 2.0.0
|
|
134
134
|
* @category accessor
|
|
135
135
|
*/
|
|
136
|
-
export const debug: (...args: ReadonlyArray<any>) => Effect<
|
|
136
|
+
export const debug: (...args: ReadonlyArray<any>) => Effect<void> = internal.debug
|
|
137
137
|
|
|
138
138
|
/**
|
|
139
139
|
* @since 2.0.0
|
|
140
140
|
* @category accessor
|
|
141
141
|
*/
|
|
142
|
-
export const dir: (item: any, options?: any) => Effect<
|
|
142
|
+
export const dir: (item: any, options?: any) => Effect<void> = internal.dir
|
|
143
143
|
|
|
144
144
|
/**
|
|
145
145
|
* @since 2.0.0
|
|
146
146
|
* @category accessor
|
|
147
147
|
*/
|
|
148
|
-
export const dirxml: (...args: ReadonlyArray<any>) => Effect<
|
|
148
|
+
export const dirxml: (...args: ReadonlyArray<any>) => Effect<void> = internal.dirxml
|
|
149
149
|
|
|
150
150
|
/**
|
|
151
151
|
* @since 2.0.0
|
|
152
152
|
* @category accessor
|
|
153
153
|
*/
|
|
154
|
-
export const error: (...args: ReadonlyArray<any>) => Effect<
|
|
154
|
+
export const error: (...args: ReadonlyArray<any>) => Effect<void> = internal.error
|
|
155
155
|
|
|
156
156
|
/**
|
|
157
157
|
* @since 2.0.0
|
|
158
158
|
* @category accessor
|
|
159
159
|
*/
|
|
160
160
|
export const group: (
|
|
161
|
-
options?: {
|
|
162
|
-
|
|
163
|
-
collapsed?: boolean | undefined
|
|
164
|
-
}
|
|
165
|
-
) => Effect<Scope, never, void> = internal.group
|
|
161
|
+
options?: { label?: string | undefined; collapsed?: boolean | undefined } | undefined
|
|
162
|
+
) => Effect<void, never, Scope> = internal.group
|
|
166
163
|
|
|
167
164
|
/**
|
|
168
165
|
* @since 2.0.0
|
|
169
166
|
* @category accessor
|
|
170
167
|
*/
|
|
171
|
-
export const info: (...args: ReadonlyArray<any>) => Effect<
|
|
168
|
+
export const info: (...args: ReadonlyArray<any>) => Effect<void> = internal.info
|
|
172
169
|
|
|
173
170
|
/**
|
|
174
171
|
* @since 2.0.0
|
|
175
172
|
* @category accessor
|
|
176
173
|
*/
|
|
177
|
-
export const log: (...args: ReadonlyArray<any>) => Effect<
|
|
174
|
+
export const log: (...args: ReadonlyArray<any>) => Effect<void> = internal.log
|
|
178
175
|
|
|
179
176
|
/**
|
|
180
177
|
* @since 2.0.0
|
|
181
178
|
* @category accessor
|
|
182
179
|
*/
|
|
183
|
-
export const table: (tabularData: any, properties?: ReadonlyArray<string>) => Effect<
|
|
184
|
-
internal.table
|
|
180
|
+
export const table: (tabularData: any, properties?: ReadonlyArray<string>) => Effect<void> = internal.table
|
|
185
181
|
|
|
186
182
|
/**
|
|
187
183
|
* @since 2.0.0
|
|
188
184
|
* @category accessor
|
|
189
185
|
*/
|
|
190
|
-
export const time: (label?: string) => Effect<
|
|
186
|
+
export const time: (label?: string | undefined) => Effect<void, never, Scope> = internal.time
|
|
191
187
|
|
|
192
188
|
/**
|
|
193
189
|
* @since 2.0.0
|
|
194
190
|
* @category accessor
|
|
195
191
|
*/
|
|
196
|
-
export const timeLog: (label?: string, ...args: ReadonlyArray<any>) => Effect<
|
|
192
|
+
export const timeLog: (label?: string, ...args: ReadonlyArray<any>) => Effect<void> = internal.timeLog
|
|
197
193
|
|
|
198
194
|
/**
|
|
199
195
|
* @since 2.0.0
|
|
200
196
|
* @category accessor
|
|
201
197
|
*/
|
|
202
|
-
export const trace: (...args: ReadonlyArray<any>) => Effect<
|
|
198
|
+
export const trace: (...args: ReadonlyArray<any>) => Effect<void> = internal.trace
|
|
203
199
|
|
|
204
200
|
/**
|
|
205
201
|
* @since 2.0.0
|
|
206
202
|
* @category accessor
|
|
207
203
|
*/
|
|
208
|
-
export const warn: (...args: ReadonlyArray<any>) => Effect<
|
|
204
|
+
export const warn: (...args: ReadonlyArray<any>) => Effect<void> = internal.warn
|
|
209
205
|
|
|
210
206
|
/**
|
|
211
207
|
* @since 2.0.0
|
|
@@ -215,11 +211,11 @@ export const withGroup: {
|
|
|
215
211
|
(options?: {
|
|
216
212
|
readonly label?: string | undefined
|
|
217
213
|
readonly collapsed?: boolean | undefined
|
|
218
|
-
}): <
|
|
219
|
-
<
|
|
214
|
+
}): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>
|
|
215
|
+
<A, E, R>(self: Effect<A, E, R>, options?: {
|
|
220
216
|
readonly label?: string | undefined
|
|
221
217
|
readonly collapsed?: boolean | undefined
|
|
222
|
-
}): Effect<
|
|
218
|
+
}): Effect<A, E, R>
|
|
223
219
|
} = internal.withGroup
|
|
224
220
|
|
|
225
221
|
/**
|
|
@@ -227,6 +223,6 @@ export const withGroup: {
|
|
|
227
223
|
* @category accessor
|
|
228
224
|
*/
|
|
229
225
|
export const withTime: {
|
|
230
|
-
(label?: string): <
|
|
231
|
-
<
|
|
226
|
+
(label?: string): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>
|
|
227
|
+
<A, E, R>(self: Effect<A, E, R>, label?: string): Effect<A, E, R>
|
|
232
228
|
} = internal.withTime
|
package/src/Context.ts
CHANGED
|
@@ -37,12 +37,31 @@ export interface Tag<in out Identifier, in out Service> extends Pipeable, Inspec
|
|
|
37
37
|
of(self: Service): Service
|
|
38
38
|
context(self: Service): Context<Identifier>
|
|
39
39
|
readonly stack?: string | undefined
|
|
40
|
-
readonly
|
|
40
|
+
readonly key: string
|
|
41
41
|
[Unify.typeSymbol]?: unknown
|
|
42
42
|
[Unify.unifySymbol]?: TagUnify<this>
|
|
43
43
|
[Unify.ignoreSymbol]?: TagUnifyIgnore
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
/**
|
|
47
|
+
* @since 2.0.0
|
|
48
|
+
* @category models
|
|
49
|
+
*/
|
|
50
|
+
export interface TagClassShape<Id, Shape> {
|
|
51
|
+
readonly [TagTypeId]: {
|
|
52
|
+
readonly Id: Id
|
|
53
|
+
readonly Shape: Shape
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @since 2.0.0
|
|
59
|
+
* @category models
|
|
60
|
+
*/
|
|
61
|
+
export interface TagClass<Self, Id, Shape> extends Tag<Self, Shape> {
|
|
62
|
+
new(_: never): TagClassShape<Id, Shape>
|
|
63
|
+
}
|
|
64
|
+
|
|
46
65
|
/**
|
|
47
66
|
* @category models
|
|
48
67
|
* @since 2.0.0
|
|
@@ -64,35 +83,32 @@ export declare namespace Tag {
|
|
|
64
83
|
/**
|
|
65
84
|
* @since 2.0.0
|
|
66
85
|
*/
|
|
67
|
-
export type Service<T extends Tag<any, any>> = T extends Tag<any, infer A> ? A
|
|
86
|
+
export type Service<T extends Tag<any, any> | TagClassShape<any, any>> = T extends Tag<any, infer A> ? A
|
|
87
|
+
: T extends TagClassShape<any, infer A> ? A
|
|
88
|
+
: never
|
|
68
89
|
/**
|
|
69
90
|
* @since 2.0.0
|
|
70
91
|
*/
|
|
71
|
-
export type Identifier<T extends Tag<any, any>> = T extends Tag<infer A, any> ? A
|
|
92
|
+
export type Identifier<T extends Tag<any, any> | TagClassShape<any, any>> = T extends Tag<infer A, any> ? A
|
|
93
|
+
: T extends TagClassShape<infer A, any> ? A
|
|
94
|
+
: never
|
|
72
95
|
}
|
|
73
96
|
|
|
74
97
|
/**
|
|
75
98
|
* Creates a new `Tag` instance with an optional key parameter.
|
|
76
99
|
*
|
|
77
|
-
*
|
|
78
|
-
* key will map to the same instance.
|
|
79
|
-
*
|
|
80
|
-
* Note: this is useful for cases where live reload can happen and it is
|
|
81
|
-
* desireable to preserve the instance across reloads.
|
|
82
|
-
*
|
|
83
|
-
* @param key - An optional key that makes the `Tag` global.
|
|
100
|
+
* @param key - A key that will be used to compare tags.
|
|
84
101
|
*
|
|
85
102
|
* @example
|
|
86
103
|
* import * as Context from "effect/Context"
|
|
87
104
|
*
|
|
88
|
-
* assert.strictEqual(Context.
|
|
89
|
-
* assert.strictEqual(Context.Tag("PORT") === Context.Tag("PORT"), true)
|
|
105
|
+
* assert.strictEqual(Context.GenericTag("PORT").key === Context.GenericTag("PORT").key, true)
|
|
90
106
|
*
|
|
91
107
|
* @since 2.0.0
|
|
92
108
|
* @category constructors
|
|
93
109
|
*/
|
|
94
|
-
export const
|
|
95
|
-
internal.
|
|
110
|
+
export const GenericTag: <Identifier, Service = Identifier>(key: string) => Tag<Identifier, Service> =
|
|
111
|
+
internal.makeGenericTag
|
|
96
112
|
|
|
97
113
|
const TypeId: unique symbol = internal.TypeId as TypeId
|
|
98
114
|
|
|
@@ -116,14 +132,14 @@ export interface Context<in Services> extends Equal, Pipeable, Inspectable {
|
|
|
116
132
|
readonly [TypeId]: {
|
|
117
133
|
readonly _Services: Types.Contravariant<Services>
|
|
118
134
|
}
|
|
119
|
-
readonly unsafeMap: Map<
|
|
135
|
+
readonly unsafeMap: Map<string, any>
|
|
120
136
|
}
|
|
121
137
|
|
|
122
138
|
/**
|
|
123
139
|
* @since 2.0.0
|
|
124
140
|
* @category constructors
|
|
125
141
|
*/
|
|
126
|
-
export const unsafeMake: <Services>(unsafeMap: Map<
|
|
142
|
+
export const unsafeMake: <Services>(unsafeMap: Map<string, any>) => Context<Services> = internal.makeContext
|
|
127
143
|
|
|
128
144
|
/**
|
|
129
145
|
* Checks if the provided argument is a `Context`.
|
|
@@ -148,7 +164,7 @@ export const isContext: (input: unknown) => input is Context<never> = internal.i
|
|
|
148
164
|
* @example
|
|
149
165
|
* import * as Context from "effect/Context"
|
|
150
166
|
*
|
|
151
|
-
* assert.strictEqual(Context.isTag(Context.Tag
|
|
167
|
+
* assert.strictEqual(Context.isTag(Context.GenericTag("Tag")), true)
|
|
152
168
|
*
|
|
153
169
|
* @since 2.0.0
|
|
154
170
|
* @category guards
|
|
@@ -174,7 +190,7 @@ export const empty: () => Context<never> = internal.empty
|
|
|
174
190
|
* @example
|
|
175
191
|
* import * as Context from "effect/Context"
|
|
176
192
|
*
|
|
177
|
-
* const Port = Context.
|
|
193
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
178
194
|
*
|
|
179
195
|
* const Services = Context.make(Port, { PORT: 8080 })
|
|
180
196
|
*
|
|
@@ -193,8 +209,8 @@ export const make: <T extends Tag<any, any>>(tag: T, service: Tag.Service<T>) =>
|
|
|
193
209
|
* import * as Context from "effect/Context"
|
|
194
210
|
* import { pipe } from "effect/Function"
|
|
195
211
|
*
|
|
196
|
-
* const Port = Context.
|
|
197
|
-
* const Timeout = Context.
|
|
212
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
213
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
198
214
|
*
|
|
199
215
|
* const someContext = Context.make(Port, { PORT: 8080 })
|
|
200
216
|
*
|
|
@@ -230,8 +246,8 @@ export const add: {
|
|
|
230
246
|
* import * as Context from "effect/Context"
|
|
231
247
|
* import { pipe } from "effect/Function"
|
|
232
248
|
*
|
|
233
|
-
* const Port = Context.
|
|
234
|
-
* const Timeout = Context.
|
|
249
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
250
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
235
251
|
*
|
|
236
252
|
* const Services = pipe(
|
|
237
253
|
* Context.make(Port, { PORT: 8080 }),
|
|
@@ -260,8 +276,8 @@ export const get: {
|
|
|
260
276
|
* @example
|
|
261
277
|
* import * as Context from "effect/Context"
|
|
262
278
|
*
|
|
263
|
-
* const Port = Context.
|
|
264
|
-
* const Timeout = Context.
|
|
279
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
280
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
265
281
|
*
|
|
266
282
|
* const Services = Context.make(Port, { PORT: 8080 })
|
|
267
283
|
*
|
|
@@ -287,8 +303,8 @@ export const unsafeGet: {
|
|
|
287
303
|
* import * as Context from "effect/Context"
|
|
288
304
|
* import * as O from "effect/Option"
|
|
289
305
|
*
|
|
290
|
-
* const Port = Context.
|
|
291
|
-
* const Timeout = Context.
|
|
306
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
307
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
292
308
|
*
|
|
293
309
|
* const Services = Context.make(Port, { PORT: 8080 })
|
|
294
310
|
*
|
|
@@ -312,8 +328,8 @@ export const getOption: {
|
|
|
312
328
|
* @example
|
|
313
329
|
* import * as Context from "effect/Context"
|
|
314
330
|
*
|
|
315
|
-
* const Port = Context.
|
|
316
|
-
* const Timeout = Context.
|
|
331
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
332
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
317
333
|
*
|
|
318
334
|
* const firstContext = Context.make(Port, { PORT: 8080 })
|
|
319
335
|
* const secondContext = Context.make(Timeout, { TIMEOUT: 5000 })
|
|
@@ -341,8 +357,8 @@ export const merge: {
|
|
|
341
357
|
* import { pipe } from "effect/Function"
|
|
342
358
|
* import * as O from "effect/Option"
|
|
343
359
|
*
|
|
344
|
-
* const Port = Context.
|
|
345
|
-
* const Timeout = Context.
|
|
360
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
361
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
346
362
|
*
|
|
347
363
|
* const someContext = pipe(
|
|
348
364
|
* Context.make(Port, { PORT: 8080 }),
|
|
@@ -367,3 +383,9 @@ export const omit: <Services, S extends Array<ValidTagsById<Services>>>(
|
|
|
367
383
|
...tags: S
|
|
368
384
|
) => (self: Context<Services>) => Context<Exclude<Services, { [k in keyof S]: Tag.Identifier<S[k]> }[keyof S]>> =
|
|
369
385
|
internal.omit
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* @since 2.0.0
|
|
389
|
+
* @category constructors
|
|
390
|
+
*/
|
|
391
|
+
export const Tag: <const Id extends string>(id: Id) => <Self, Shape>() => TagClass<Self, Id, Shape> = internal.Tag
|