effect 3.4.8 → 3.5.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/RcMap/package.json +6 -0
- package/RcRef/package.json +6 -0
- package/dist/cjs/Array.js +14 -37
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/BigDecimal.js +11 -34
- package/dist/cjs/BigDecimal.js.map +1 -1
- package/dist/cjs/BigInt.js +7 -30
- package/dist/cjs/BigInt.js.map +1 -1
- package/dist/cjs/Boolean.js +6 -29
- package/dist/cjs/Boolean.js.map +1 -1
- package/dist/cjs/Brand.js +6 -29
- package/dist/cjs/Brand.js.map +1 -1
- package/dist/cjs/Cache.js +3 -26
- package/dist/cjs/Cache.js.map +1 -1
- package/dist/cjs/Cause.js +26 -28
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/Channel.js +6 -29
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/ChildExecutorDecision.js +3 -26
- package/dist/cjs/ChildExecutorDecision.js.map +1 -1
- package/dist/cjs/Chunk.js +12 -35
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Clock.js +4 -27
- package/dist/cjs/Clock.js.map +1 -1
- package/dist/cjs/Config.js +3 -26
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/ConfigError.js +3 -26
- package/dist/cjs/ConfigError.js.map +1 -1
- package/dist/cjs/ConfigProvider.js +3 -26
- package/dist/cjs/ConfigProvider.js.map +1 -1
- package/dist/cjs/ConfigProviderPathPatch.js +3 -26
- package/dist/cjs/ConfigProviderPathPatch.js.map +1 -1
- package/dist/cjs/Console.js +4 -27
- package/dist/cjs/Console.js.map +1 -1
- package/dist/cjs/Context.js +3 -26
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Cron.js +13 -36
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Data.js +9 -30
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/DefaultServices.js +3 -26
- package/dist/cjs/DefaultServices.js.map +1 -1
- package/dist/cjs/Deferred.js +4 -27
- package/dist/cjs/Deferred.js.map +1 -1
- package/dist/cjs/Differ.js +10 -33
- package/dist/cjs/Differ.js.map +1 -1
- package/dist/cjs/Duration.js +33 -35
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +16 -39
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Effectable.js +3 -26
- package/dist/cjs/Effectable.js.map +1 -1
- package/dist/cjs/Either.js +8 -31
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Encoding.js +7 -30
- package/dist/cjs/Encoding.js.map +1 -1
- package/dist/cjs/Equal.js +5 -28
- package/dist/cjs/Equal.js.map +1 -1
- package/dist/cjs/Equivalence.js +1 -1
- package/dist/cjs/Equivalence.js.map +1 -1
- package/dist/cjs/ExecutionStrategy.js +3 -26
- package/dist/cjs/ExecutionStrategy.js.map +1 -1
- package/dist/cjs/Exit.js +3 -26
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/Fiber.js +6 -29
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberHandle.js +15 -38
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberId.js +3 -26
- package/dist/cjs/FiberId.js.map +1 -1
- package/dist/cjs/FiberMap.js +17 -40
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberRef.js +6 -29
- package/dist/cjs/FiberRef.js.map +1 -1
- package/dist/cjs/FiberRefs.js +3 -26
- package/dist/cjs/FiberRefs.js.map +1 -1
- package/dist/cjs/FiberRefsPatch.js +3 -26
- package/dist/cjs/FiberRefsPatch.js.map +1 -1
- package/dist/cjs/FiberSet.js +16 -39
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/FiberStatus.js +3 -26
- package/dist/cjs/FiberStatus.js.map +1 -1
- package/dist/cjs/GlobalValue.js +3 -26
- package/dist/cjs/GlobalValue.js.map +1 -1
- package/dist/cjs/GroupBy.js +3 -26
- package/dist/cjs/GroupBy.js.map +1 -1
- package/dist/cjs/Hash.js +4 -4
- package/dist/cjs/Hash.js.map +1 -1
- package/dist/cjs/HashMap.js +4 -27
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/HashSet.js +3 -26
- package/dist/cjs/HashSet.js.map +1 -1
- package/dist/cjs/Inspectable.js +1 -1
- package/dist/cjs/Inspectable.js.map +1 -1
- package/dist/cjs/Iterable.js +8 -31
- package/dist/cjs/Iterable.js.map +1 -1
- package/dist/cjs/KeyedPool.js +3 -26
- package/dist/cjs/KeyedPool.js.map +1 -1
- package/dist/cjs/Layer.js +11 -34
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/List.js +13 -36
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/LogLevel.js +6 -29
- package/dist/cjs/LogLevel.js.map +1 -1
- package/dist/cjs/LogSpan.js +3 -26
- package/dist/cjs/LogSpan.js.map +1 -1
- package/dist/cjs/Logger.js +17 -30
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/ManagedRuntime.js +3 -26
- package/dist/cjs/ManagedRuntime.js.map +1 -1
- package/dist/cjs/Match.js +4 -27
- package/dist/cjs/Match.js.map +1 -1
- package/dist/cjs/MergeDecision.js +3 -26
- package/dist/cjs/MergeDecision.js.map +1 -1
- package/dist/cjs/MergeState.js +3 -26
- package/dist/cjs/MergeState.js.map +1 -1
- package/dist/cjs/MergeStrategy.js +3 -26
- package/dist/cjs/MergeStrategy.js.map +1 -1
- package/dist/cjs/Metric.js +4 -27
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/MetricBoundaries.js +3 -26
- package/dist/cjs/MetricBoundaries.js.map +1 -1
- package/dist/cjs/MetricHook.js +3 -26
- package/dist/cjs/MetricHook.js.map +1 -1
- package/dist/cjs/MetricKey.js +3 -26
- package/dist/cjs/MetricKey.js.map +1 -1
- package/dist/cjs/MetricKeyType.js +3 -26
- package/dist/cjs/MetricKeyType.js.map +1 -1
- package/dist/cjs/MetricLabel.js +3 -26
- package/dist/cjs/MetricLabel.js.map +1 -1
- package/dist/cjs/MetricPair.js +3 -26
- package/dist/cjs/MetricPair.js.map +1 -1
- package/dist/cjs/MetricPolling.js +3 -26
- package/dist/cjs/MetricPolling.js.map +1 -1
- package/dist/cjs/MetricRegistry.js +3 -26
- package/dist/cjs/MetricRegistry.js.map +1 -1
- package/dist/cjs/MetricState.js +3 -26
- package/dist/cjs/MetricState.js.map +1 -1
- package/dist/cjs/Micro.js +15 -38
- package/dist/cjs/Micro.js.map +1 -1
- package/dist/cjs/ModuleVersion.js +3 -26
- package/dist/cjs/ModuleVersion.js.map +1 -1
- package/dist/cjs/MutableHashMap.js +8 -31
- package/dist/cjs/MutableHashMap.js.map +1 -1
- package/dist/cjs/MutableHashSet.js +6 -29
- package/dist/cjs/MutableHashSet.js.map +1 -1
- package/dist/cjs/MutableList.js +5 -28
- package/dist/cjs/MutableList.js.map +1 -1
- package/dist/cjs/MutableQueue.js +7 -30
- package/dist/cjs/MutableQueue.js.map +1 -1
- package/dist/cjs/MutableRef.js +6 -29
- package/dist/cjs/MutableRef.js.map +1 -1
- package/dist/cjs/Number.js +7 -30
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Option.js +10 -33
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Order.js +1 -1
- package/dist/cjs/Order.js.map +1 -1
- package/dist/cjs/Ordering.js +1 -1
- package/dist/cjs/Ordering.js.map +1 -1
- package/dist/cjs/Pool.js +3 -26
- package/dist/cjs/Pool.js.map +1 -1
- package/dist/cjs/Predicate.js +1 -1
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/PubSub.js +3 -26
- package/dist/cjs/PubSub.js.map +1 -1
- package/dist/cjs/Queue.js +3 -26
- package/dist/cjs/Queue.js.map +1 -1
- package/dist/cjs/Random.js +13 -28
- package/dist/cjs/Random.js.map +1 -1
- package/dist/cjs/RateLimiter.js +3 -26
- package/dist/cjs/RateLimiter.js.map +1 -1
- package/dist/cjs/RcMap.js +52 -0
- package/dist/cjs/RcMap.js.map +1 -0
- package/dist/cjs/RcRef.js +51 -0
- package/dist/cjs/RcRef.js.map +1 -0
- package/dist/cjs/Readable.js +6 -29
- package/dist/cjs/Readable.js.map +1 -1
- package/dist/cjs/Record.js +6 -29
- package/dist/cjs/Record.js.map +1 -1
- package/dist/cjs/RedBlackTree.js +4 -27
- package/dist/cjs/RedBlackTree.js.map +1 -1
- package/dist/cjs/Redacted.js +4 -27
- package/dist/cjs/Redacted.js.map +1 -1
- package/dist/cjs/Ref.js +3 -26
- package/dist/cjs/Ref.js.map +1 -1
- package/dist/cjs/Reloadable.js +3 -26
- package/dist/cjs/Reloadable.js.map +1 -1
- package/dist/cjs/Request.js +7 -30
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestBlock.js +3 -26
- package/dist/cjs/RequestBlock.js.map +1 -1
- package/dist/cjs/RequestResolver.js +6 -29
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/Resource.js +3 -26
- package/dist/cjs/Resource.js.map +1 -1
- package/dist/cjs/Runtime.js +3 -26
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/cjs/RuntimeFlags.js +4 -27
- package/dist/cjs/RuntimeFlags.js.map +1 -1
- package/dist/cjs/RuntimeFlagsPatch.js +4 -27
- package/dist/cjs/RuntimeFlagsPatch.js.map +1 -1
- package/dist/cjs/STM.js +6 -29
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js +3 -26
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/ScheduleDecision.js +3 -26
- package/dist/cjs/ScheduleDecision.js.map +1 -1
- package/dist/cjs/ScheduleInterval.js +3 -26
- package/dist/cjs/ScheduleInterval.js.map +1 -1
- package/dist/cjs/ScheduleIntervals.js +3 -26
- package/dist/cjs/ScheduleIntervals.js.map +1 -1
- package/dist/cjs/Scheduler.js +5 -28
- package/dist/cjs/Scheduler.js.map +1 -1
- package/dist/cjs/Scope.js +4 -27
- package/dist/cjs/Scope.js.map +1 -1
- package/dist/cjs/ScopedCache.js +3 -26
- package/dist/cjs/ScopedCache.js.map +1 -1
- package/dist/cjs/ScopedRef.js +3 -26
- package/dist/cjs/ScopedRef.js.map +1 -1
- package/dist/cjs/Secret.js +3 -26
- package/dist/cjs/Secret.js.map +1 -1
- package/dist/cjs/SingleProducerAsyncInput.js +3 -26
- package/dist/cjs/SingleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/Sink.js +3 -26
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/SortedMap.js +10 -33
- package/dist/cjs/SortedMap.js.map +1 -1
- package/dist/cjs/SortedSet.js +9 -32
- package/dist/cjs/SortedSet.js.map +1 -1
- package/dist/cjs/Stream.js +1077 -32
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/StreamHaltStrategy.js +3 -26
- package/dist/cjs/StreamHaltStrategy.js.map +1 -1
- package/dist/cjs/Streamable.js +4 -27
- package/dist/cjs/Streamable.js.map +1 -1
- package/dist/cjs/String.js +9 -32
- package/dist/cjs/String.js.map +1 -1
- package/dist/cjs/Struct.js +6 -29
- package/dist/cjs/Struct.js.map +1 -1
- package/dist/cjs/Subscribable.js +8 -31
- package/dist/cjs/Subscribable.js.map +1 -1
- package/dist/cjs/SubscriptionRef.js +5 -28
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/Supervisor.js +5 -28
- package/dist/cjs/Supervisor.js.map +1 -1
- package/dist/cjs/Symbol.js +4 -27
- package/dist/cjs/Symbol.js.map +1 -1
- package/dist/cjs/SynchronizedRef.js +5 -28
- package/dist/cjs/SynchronizedRef.js.map +1 -1
- package/dist/cjs/TArray.js +3 -26
- package/dist/cjs/TArray.js.map +1 -1
- package/dist/cjs/TDeferred.js +3 -26
- package/dist/cjs/TDeferred.js.map +1 -1
- package/dist/cjs/TMap.js +3 -26
- package/dist/cjs/TMap.js.map +1 -1
- package/dist/cjs/TPriorityQueue.js +3 -26
- package/dist/cjs/TPriorityQueue.js.map +1 -1
- package/dist/cjs/TPubSub.js +3 -26
- package/dist/cjs/TPubSub.js.map +1 -1
- package/dist/cjs/TQueue.js +3 -26
- package/dist/cjs/TQueue.js.map +1 -1
- package/dist/cjs/TRandom.js +3 -26
- package/dist/cjs/TRandom.js.map +1 -1
- package/dist/cjs/TReentrantLock.js +3 -26
- package/dist/cjs/TReentrantLock.js.map +1 -1
- package/dist/cjs/TRef.js +3 -26
- package/dist/cjs/TRef.js.map +1 -1
- package/dist/cjs/TSemaphore.js +3 -26
- package/dist/cjs/TSemaphore.js.map +1 -1
- package/dist/cjs/TSet.js +3 -26
- package/dist/cjs/TSet.js.map +1 -1
- package/dist/cjs/Take.js +3 -26
- package/dist/cjs/Take.js.map +1 -1
- package/dist/cjs/TestAnnotation.js +10 -33
- package/dist/cjs/TestAnnotation.js.map +1 -1
- package/dist/cjs/TestAnnotationMap.js +5 -28
- package/dist/cjs/TestAnnotationMap.js.map +1 -1
- package/dist/cjs/TestAnnotations.js +15 -38
- package/dist/cjs/TestAnnotations.js.map +1 -1
- package/dist/cjs/TestClock.js +25 -48
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/TestConfig.js +3 -26
- package/dist/cjs/TestConfig.js.map +1 -1
- package/dist/cjs/TestContext.js +7 -30
- package/dist/cjs/TestContext.js.map +1 -1
- package/dist/cjs/TestLive.js +5 -28
- package/dist/cjs/TestLive.js.map +1 -1
- package/dist/cjs/TestServices.js +15 -38
- package/dist/cjs/TestServices.js.map +1 -1
- package/dist/cjs/TestSized.js +4 -27
- package/dist/cjs/TestSized.js.map +1 -1
- package/dist/cjs/Tracer.js +4 -27
- package/dist/cjs/Tracer.js.map +1 -1
- package/dist/cjs/Trie.js +3 -26
- package/dist/cjs/Trie.js.map +1 -1
- package/dist/cjs/Tuple.js +6 -29
- package/dist/cjs/Tuple.js.map +1 -1
- package/dist/cjs/Unify.js +1 -1
- package/dist/cjs/Unify.js.map +1 -1
- package/dist/cjs/UpstreamPullRequest.js +3 -26
- package/dist/cjs/UpstreamPullRequest.js.map +1 -1
- package/dist/cjs/UpstreamPullStrategy.js +3 -26
- package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
- package/dist/cjs/Utils.js +4 -4
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/index.js +166 -185
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/blockedRequests.js +9 -32
- package/dist/cjs/internal/blockedRequests.js.map +1 -1
- package/dist/cjs/internal/cache.js +20 -43
- package/dist/cjs/internal/cache.js.map +1 -1
- package/dist/cjs/internal/cause.js +37 -44
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js +21 -44
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel/channelState.js +5 -28
- package/dist/cjs/internal/channel/channelState.js.map +1 -1
- package/dist/cjs/internal/channel/childExecutorDecision.js +5 -28
- package/dist/cjs/internal/channel/childExecutorDecision.js.map +1 -1
- package/dist/cjs/internal/channel/continuation.js +4 -27
- package/dist/cjs/internal/channel/continuation.js.map +1 -1
- package/dist/cjs/internal/channel/mergeDecision.js +5 -28
- package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
- package/dist/cjs/internal/channel/mergeState.js +5 -28
- package/dist/cjs/internal/channel/mergeState.js.map +1 -1
- package/dist/cjs/internal/channel/mergeStrategy.js +5 -28
- package/dist/cjs/internal/channel/mergeStrategy.js.map +1 -1
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js +9 -32
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/internal/channel/subexecutor.js +5 -28
- package/dist/cjs/internal/channel/subexecutor.js.map +1 -1
- package/dist/cjs/internal/channel/upstreamPullRequest.js +5 -28
- package/dist/cjs/internal/channel/upstreamPullRequest.js.map +1 -1
- package/dist/cjs/internal/channel/upstreamPullStrategy.js +5 -28
- package/dist/cjs/internal/channel/upstreamPullStrategy.js.map +1 -1
- package/dist/cjs/internal/channel.js +31 -54
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/clock.js +6 -29
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/completedRequestMap.js +2 -2
- package/dist/cjs/internal/completedRequestMap.js.map +1 -1
- package/dist/cjs/internal/concurrency.js +3 -26
- package/dist/cjs/internal/concurrency.js.map +1 -1
- package/dist/cjs/internal/config.js +17 -40
- package/dist/cjs/internal/config.js.map +1 -1
- package/dist/cjs/internal/configError.js +7 -30
- package/dist/cjs/internal/configError.js.map +1 -1
- package/dist/cjs/internal/configProvider/pathPatch.js +8 -31
- package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
- package/dist/cjs/internal/configProvider.js +17 -40
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/console.js +9 -32
- package/dist/cjs/internal/console.js.map +1 -1
- package/dist/cjs/internal/context.js +10 -33
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +29 -57
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core-stream.js +14 -37
- package/dist/cjs/internal/core-stream.js.map +1 -1
- package/dist/cjs/internal/core.js +47 -65
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/data.js +5 -28
- package/dist/cjs/internal/data.js.map +1 -1
- package/dist/cjs/internal/dataSource.js +10 -33
- package/dist/cjs/internal/dataSource.js.map +1 -1
- package/dist/cjs/internal/defaultServices/console.js +4 -27
- package/dist/cjs/internal/defaultServices/console.js.map +1 -1
- package/dist/cjs/internal/defaultServices.js +14 -37
- package/dist/cjs/internal/defaultServices.js.map +1 -1
- package/dist/cjs/internal/deferred.js +3 -26
- package/dist/cjs/internal/deferred.js.map +1 -1
- package/dist/cjs/internal/differ/chunkPatch.js +6 -29
- package/dist/cjs/internal/differ/chunkPatch.js.map +1 -1
- package/dist/cjs/internal/differ/contextPatch.js +7 -30
- package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
- package/dist/cjs/internal/differ/hashMapPatch.js +7 -30
- package/dist/cjs/internal/differ/hashMapPatch.js.map +1 -1
- package/dist/cjs/internal/differ/hashSetPatch.js +6 -29
- package/dist/cjs/internal/differ/hashSetPatch.js.map +1 -1
- package/dist/cjs/internal/differ/orPatch.js +7 -30
- package/dist/cjs/internal/differ/orPatch.js.map +1 -1
- package/dist/cjs/internal/differ/readonlyArrayPatch.js +6 -29
- package/dist/cjs/internal/differ/readonlyArrayPatch.js.map +1 -1
- package/dist/cjs/internal/differ.js +10 -33
- package/dist/cjs/internal/differ.js.map +1 -1
- package/dist/cjs/internal/doNotation.js +1 -1
- package/dist/cjs/internal/doNotation.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +24 -47
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/effectable.js +8 -31
- package/dist/cjs/internal/effectable.js.map +1 -1
- package/dist/cjs/internal/either.js +9 -32
- package/dist/cjs/internal/either.js.map +1 -1
- package/dist/cjs/internal/encoding/base64.js +4 -27
- package/dist/cjs/internal/encoding/base64.js.map +1 -1
- package/dist/cjs/internal/encoding/base64Url.js +5 -28
- package/dist/cjs/internal/encoding/base64Url.js.map +1 -1
- package/dist/cjs/internal/encoding/common.js +1 -1
- package/dist/cjs/internal/encoding/common.js.map +1 -1
- package/dist/cjs/internal/encoding/hex.js +4 -27
- package/dist/cjs/internal/encoding/hex.js.map +1 -1
- package/dist/cjs/internal/executionStrategy.js +1 -1
- package/dist/cjs/internal/executionStrategy.js.map +1 -1
- package/dist/cjs/internal/fiber.js +17 -40
- package/dist/cjs/internal/fiber.js.map +1 -1
- package/dist/cjs/internal/fiberId.js +11 -34
- package/dist/cjs/internal/fiberId.js.map +1 -1
- package/dist/cjs/internal/fiberRefs/patch.js +6 -29
- package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
- package/dist/cjs/internal/fiberRefs.js +9 -32
- package/dist/cjs/internal/fiberRefs.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +58 -79
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/fiberScope.js +5 -28
- package/dist/cjs/internal/fiberScope.js.map +1 -1
- package/dist/cjs/internal/fiberStatus.js +6 -29
- package/dist/cjs/internal/fiberStatus.js.map +1 -1
- package/dist/cjs/internal/groupBy.js +18 -41
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/hashMap/bitwise.js +1 -1
- package/dist/cjs/internal/hashMap/bitwise.js.map +1 -1
- package/dist/cjs/internal/hashMap/keySet.js +1 -1
- package/dist/cjs/internal/hashMap/keySet.js.map +1 -1
- package/dist/cjs/internal/hashMap/node.js +9 -32
- package/dist/cjs/internal/hashMap/node.js.map +1 -1
- package/dist/cjs/internal/hashMap.js +12 -35
- package/dist/cjs/internal/hashMap.js.map +1 -1
- package/dist/cjs/internal/hashSet.js +9 -32
- package/dist/cjs/internal/hashSet.js.map +1 -1
- package/dist/cjs/internal/keyedPool.js +14 -37
- package/dist/cjs/internal/keyedPool.js.map +1 -1
- package/dist/cjs/internal/layer/circular.js +12 -35
- package/dist/cjs/internal/layer/circular.js.map +1 -1
- package/dist/cjs/internal/layer.js +25 -48
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/logger-circular.js +9 -32
- package/dist/cjs/internal/logger-circular.js.map +1 -1
- package/dist/cjs/internal/logger.js +139 -61
- package/dist/cjs/internal/logger.js.map +1 -1
- package/dist/cjs/internal/managedRuntime.js +9 -32
- package/dist/cjs/internal/managedRuntime.js.map +1 -1
- package/dist/cjs/internal/matcher.js +6 -29
- package/dist/cjs/internal/matcher.js.map +1 -1
- package/dist/cjs/internal/metric/boundaries.js +9 -32
- package/dist/cjs/internal/metric/boundaries.js.map +1 -1
- package/dist/cjs/internal/metric/hook.js +9 -32
- package/dist/cjs/internal/metric/hook.js.map +1 -1
- package/dist/cjs/internal/metric/key.js +11 -34
- package/dist/cjs/internal/metric/key.js.map +1 -1
- package/dist/cjs/internal/metric/keyType.js +8 -31
- package/dist/cjs/internal/metric/keyType.js.map +1 -1
- package/dist/cjs/internal/metric/label.js +6 -29
- package/dist/cjs/internal/metric/label.js.map +1 -1
- package/dist/cjs/internal/metric/pair.js +1 -1
- package/dist/cjs/internal/metric/pair.js.map +1 -1
- package/dist/cjs/internal/metric/polling.js +8 -31
- package/dist/cjs/internal/metric/polling.js.map +1 -1
- package/dist/cjs/internal/metric/registry.js +8 -31
- package/dist/cjs/internal/metric/registry.js.map +1 -1
- package/dist/cjs/internal/metric/state.js +8 -31
- package/dist/cjs/internal/metric/state.js.map +1 -1
- package/dist/cjs/internal/metric.js +15 -38
- package/dist/cjs/internal/metric.js.map +1 -1
- package/dist/cjs/internal/option.js +7 -30
- package/dist/cjs/internal/option.js.map +1 -1
- package/dist/cjs/internal/pool.js +43 -42
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/pubsub.js +229 -72
- package/dist/cjs/internal/pubsub.js.map +1 -1
- package/dist/cjs/internal/query.js +10 -33
- package/dist/cjs/internal/query.js.map +1 -1
- package/dist/cjs/internal/queue.js +12 -35
- package/dist/cjs/internal/queue.js.map +1 -1
- package/dist/cjs/internal/random.js +9 -31
- package/dist/cjs/internal/random.js.map +1 -1
- package/dist/cjs/internal/rateLimiter.js +6 -29
- package/dist/cjs/internal/rateLimiter.js.map +1 -1
- package/dist/cjs/internal/rcMap.js +129 -0
- package/dist/cjs/internal/rcMap.js.map +1 -0
- package/dist/cjs/internal/rcRef.js +122 -0
- package/dist/cjs/internal/rcRef.js.map +1 -0
- package/dist/cjs/internal/redBlackTree/iterator.js +4 -27
- package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
- package/dist/cjs/internal/redBlackTree.js +13 -36
- package/dist/cjs/internal/redBlackTree.js.map +1 -1
- package/dist/cjs/internal/redacted.js +8 -31
- package/dist/cjs/internal/redacted.js.map +1 -1
- package/dist/cjs/internal/ref.js +8 -31
- package/dist/cjs/internal/ref.js.map +1 -1
- package/dist/cjs/internal/reloadable.js +10 -33
- package/dist/cjs/internal/reloadable.js.map +1 -1
- package/dist/cjs/internal/request.js +7 -30
- package/dist/cjs/internal/request.js.map +1 -1
- package/dist/cjs/internal/resource.js +7 -30
- package/dist/cjs/internal/resource.js.map +1 -1
- package/dist/cjs/internal/ringBuffer.js +5 -28
- package/dist/cjs/internal/ringBuffer.js.map +1 -1
- package/dist/cjs/internal/runtime.js +23 -46
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/runtimeFlags.js +5 -28
- package/dist/cjs/internal/runtimeFlags.js.map +1 -1
- package/dist/cjs/internal/runtimeFlagsPatch.js +1 -1
- package/dist/cjs/internal/runtimeFlagsPatch.js.map +1 -1
- package/dist/cjs/internal/schedule/decision.js +4 -27
- package/dist/cjs/internal/schedule/decision.js.map +1 -1
- package/dist/cjs/internal/schedule/interval.js +5 -28
- package/dist/cjs/internal/schedule/interval.js.map +1 -1
- package/dist/cjs/internal/schedule/intervals.js +7 -30
- package/dist/cjs/internal/schedule/intervals.js.map +1 -1
- package/dist/cjs/internal/schedule.js +21 -44
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/scopedCache.js +19 -42
- package/dist/cjs/internal/scopedCache.js.map +1 -1
- package/dist/cjs/internal/scopedRef.js +10 -33
- package/dist/cjs/internal/scopedRef.js.map +1 -1
- package/dist/cjs/internal/secret.js +5 -28
- package/dist/cjs/internal/secret.js.map +1 -1
- package/dist/cjs/internal/singleShotGen.js.map +1 -1
- package/dist/cjs/internal/sink.js +22 -45
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/core.js +30 -53
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stm/stm/entry.js +3 -26
- package/dist/cjs/internal/stm/stm/entry.js.map +1 -1
- package/dist/cjs/internal/stm/stm/journal.js +3 -26
- package/dist/cjs/internal/stm/stm/journal.js.map +1 -1
- package/dist/cjs/internal/stm/stm/stmState.js +9 -32
- package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tExit.js +7 -30
- package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tryCommit.js +3 -26
- package/dist/cjs/internal/stm/stm/tryCommit.js.map +1 -1
- package/dist/cjs/internal/stm/stm/versioned.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js +17 -40
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stm/tArray.js +9 -32
- package/dist/cjs/internal/stm/tArray.js.map +1 -1
- package/dist/cjs/internal/stm/tDeferred.js +8 -31
- package/dist/cjs/internal/stm/tDeferred.js.map +1 -1
- package/dist/cjs/internal/stm/tMap.js +15 -38
- package/dist/cjs/internal/stm/tMap.js.map +1 -1
- package/dist/cjs/internal/stm/tPriorityQueue.js +9 -32
- package/dist/cjs/internal/stm/tPriorityQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tPubSub.js +12 -35
- package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
- package/dist/cjs/internal/stm/tQueue.js +12 -35
- package/dist/cjs/internal/stm/tQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tRandom.js +10 -33
- package/dist/cjs/internal/stm/tRandom.js.map +1 -1
- package/dist/cjs/internal/stm/tReentrantLock.js +10 -33
- package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
- package/dist/cjs/internal/stm/tRef.js +7 -30
- package/dist/cjs/internal/stm/tRef.js.map +1 -1
- package/dist/cjs/internal/stm/tSemaphore.js +8 -31
- package/dist/cjs/internal/stm/tSemaphore.js.map +1 -1
- package/dist/cjs/internal/stm/tSet.js +10 -33
- package/dist/cjs/internal/stm/tSet.js.map +1 -1
- package/dist/cjs/internal/stream/emit.js +8 -31
- package/dist/cjs/internal/stream/emit.js.map +1 -1
- package/dist/cjs/internal/stream/haltStrategy.js +4 -27
- package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
- package/dist/cjs/internal/stream/handoff.js +7 -30
- package/dist/cjs/internal/stream/handoff.js.map +1 -1
- package/dist/cjs/internal/stream/pull.js +7 -30
- package/dist/cjs/internal/stream/pull.js.map +1 -1
- package/dist/cjs/internal/stream.js +103 -80
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/subscriptionRef.js +13 -36
- package/dist/cjs/internal/subscriptionRef.js.map +1 -1
- package/dist/cjs/internal/supervisor/patch.js +8 -31
- package/dist/cjs/internal/supervisor/patch.js.map +1 -1
- package/dist/cjs/internal/supervisor.js +8 -31
- package/dist/cjs/internal/supervisor.js.map +1 -1
- package/dist/cjs/internal/synchronizedRef.js +5 -28
- package/dist/cjs/internal/synchronizedRef.js.map +1 -1
- package/dist/cjs/internal/take.js +9 -32
- package/dist/cjs/internal/take.js.map +1 -1
- package/dist/cjs/internal/tracer.js +3 -26
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/cjs/internal/trie.js +9 -32
- package/dist/cjs/internal/trie.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Cause.d.ts +40 -1
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +3 -3
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +5 -0
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Console.d.ts +2 -4
- package/dist/dts/Console.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +5 -0
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +15 -0
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/PubSub.d.ts +15 -4
- package/dist/dts/PubSub.d.ts.map +1 -1
- package/dist/dts/Random.d.ts +8 -0
- package/dist/dts/Random.d.ts.map +1 -1
- package/dist/dts/RcMap.d.ts +93 -0
- package/dist/dts/RcMap.d.ts.map +1 -0
- package/dist/dts/RcRef.d.ts +83 -0
- package/dist/dts/RcRef.d.ts.map +1 -0
- package/dist/dts/Stream.d.ts +1139 -29
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/index.d.ts +8 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/core-effect.d.ts.map +1 -1
- package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
- package/dist/dts/internal/logger.d.ts.map +1 -1
- package/dist/dts/internal/random.d.ts +1 -1
- package/dist/dts/internal/random.d.ts.map +1 -1
- package/dist/dts/internal/rcMap.d.ts +2 -0
- package/dist/dts/internal/rcMap.d.ts.map +1 -0
- package/dist/dts/internal/rcRef.d.ts +2 -0
- package/dist/dts/internal/rcRef.d.ts.map +1 -0
- package/dist/dts/internal/stream.d.ts +1 -0
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Cause.js +21 -0
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Console.js.map +1 -1
- package/dist/esm/Data.js +3 -1
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/Duration.js +20 -0
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Logger.js +10 -0
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/PubSub.js.map +1 -1
- package/dist/esm/Random.js +8 -0
- package/dist/esm/Random.js.map +1 -1
- package/dist/esm/RcMap.js +44 -0
- package/dist/esm/RcMap.js.map +1 -0
- package/dist/esm/RcRef.js +43 -0
- package/dist/esm/RcRef.js.map +1 -0
- package/dist/esm/Stream.js +1102 -3
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/cause.js +21 -5
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/core-effect.js +0 -5
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +11 -7
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/defaultServices.js +1 -1
- package/dist/esm/internal/defaultServices.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +2 -0
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/logger.js +126 -26
- package/dist/esm/internal/logger.js.map +1 -1
- package/dist/esm/internal/pool.js +29 -5
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/pubsub.js +216 -36
- package/dist/esm/internal/pubsub.js.map +1 -1
- package/dist/esm/internal/random.js +2 -1
- package/dist/esm/internal/random.js.map +1 -1
- package/dist/esm/internal/rcMap.js +120 -0
- package/dist/esm/internal/rcMap.js.map +1 -0
- package/dist/esm/internal/rcRef.js +112 -0
- package/dist/esm/internal/rcRef.js.map +1 -0
- package/dist/esm/internal/stream.js +53 -8
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +17 -1
- package/src/Cause.ts +47 -1
- package/src/Channel.ts +3 -3
- package/src/Config.ts +6 -0
- package/src/Console.ts +2 -4
- package/src/Data.ts +1 -1
- package/src/Duration.ts +18 -0
- package/src/Logger.ts +19 -0
- package/src/PubSub.ts +11 -4
- package/src/Random.ts +9 -0
- package/src/RcMap.ts +103 -0
- package/src/RcRef.ts +91 -0
- package/src/Stream.ts +1158 -29
- package/src/index.ts +10 -0
- package/src/internal/cause.ts +26 -5
- package/src/internal/channel/channelExecutor.ts +1 -1
- package/src/internal/channel.ts +4 -3
- package/src/internal/core-effect.ts +0 -5
- package/src/internal/core.ts +19 -9
- package/src/internal/defaultServices.ts +1 -1
- package/src/internal/fiberRuntime.ts +6 -0
- package/src/internal/logger.ts +133 -27
- package/src/internal/pool.ts +36 -5
- package/src/internal/pubsub.ts +249 -58
- package/src/internal/random.ts +2 -1
- package/src/internal/rcMap.ts +213 -0
- package/src/internal/rcRef.ts +172 -0
- package/src/internal/stream.ts +325 -111
- package/src/internal/version.ts +1 -1
package/src/index.ts
CHANGED
|
@@ -605,6 +605,16 @@ export * as Random from "./Random.js"
|
|
|
605
605
|
*/
|
|
606
606
|
export * as RateLimiter from "./RateLimiter.js"
|
|
607
607
|
|
|
608
|
+
/**
|
|
609
|
+
* @since 3.5.0
|
|
610
|
+
*/
|
|
611
|
+
export * as RcMap from "./RcMap.js"
|
|
612
|
+
|
|
613
|
+
/**
|
|
614
|
+
* @since 3.5.0
|
|
615
|
+
*/
|
|
616
|
+
export * as RcRef from "./RcRef.js"
|
|
617
|
+
|
|
608
618
|
/**
|
|
609
619
|
* @since 2.0.0
|
|
610
620
|
*/
|
package/src/internal/cause.ts
CHANGED
|
@@ -970,25 +970,46 @@ export const reduceWithContext = dual<
|
|
|
970
970
|
// -----------------------------------------------------------------------------
|
|
971
971
|
|
|
972
972
|
/** @internal */
|
|
973
|
-
export const pretty = <E>(cause: Cause.Cause<E
|
|
973
|
+
export const pretty = <E>(cause: Cause.Cause<E>, options?: {
|
|
974
|
+
readonly renderErrorCause?: boolean | undefined
|
|
975
|
+
}): string => {
|
|
974
976
|
if (isInterruptedOnly(cause)) {
|
|
975
977
|
return "All fibers interrupted without errors."
|
|
976
978
|
}
|
|
977
|
-
return prettyErrors<E>(cause).map((e)
|
|
979
|
+
return prettyErrors<E>(cause).map(function(e) {
|
|
980
|
+
if (options?.renderErrorCause !== true || e.cause === undefined) {
|
|
981
|
+
return e.stack
|
|
982
|
+
}
|
|
983
|
+
return `${e.stack} {\n${renderErrorCause(e.cause as PrettyError, " ")}\n}`
|
|
984
|
+
}).join("\n")
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
const renderErrorCause = (cause: PrettyError, prefix: string) => {
|
|
988
|
+
const lines = cause.stack!.split("\n")
|
|
989
|
+
let stack = `${prefix}[cause]: ${lines[0]}`
|
|
990
|
+
for (let i = 1, len = lines.length; i < len; i++) {
|
|
991
|
+
stack += `\n${prefix}${lines[i]}`
|
|
992
|
+
}
|
|
993
|
+
return stack
|
|
978
994
|
}
|
|
979
995
|
|
|
980
996
|
class PrettyError extends globalThis.Error implements Cause.PrettyError {
|
|
981
997
|
span: undefined | Span = undefined
|
|
982
998
|
constructor(originalError: unknown) {
|
|
999
|
+
const originalErrorIsObject = typeof originalError === "object" && originalError !== null
|
|
983
1000
|
const prevLimit = Error.stackTraceLimit
|
|
984
|
-
Error.stackTraceLimit =
|
|
985
|
-
super(prettyErrorMessage(originalError)
|
|
1001
|
+
Error.stackTraceLimit = 1
|
|
1002
|
+
super(prettyErrorMessage(originalError), {
|
|
1003
|
+
cause: originalErrorIsObject && "cause" in originalError && typeof originalError.cause !== "undefined"
|
|
1004
|
+
? new PrettyError(originalError.cause)
|
|
1005
|
+
: undefined
|
|
1006
|
+
})
|
|
986
1007
|
if (this.message === "") {
|
|
987
1008
|
this.message = "An error has occurred"
|
|
988
1009
|
}
|
|
989
1010
|
Error.stackTraceLimit = prevLimit
|
|
990
1011
|
this.name = originalError instanceof Error ? originalError.name : "Error"
|
|
991
|
-
if (
|
|
1012
|
+
if (originalErrorIsObject) {
|
|
992
1013
|
if (spanSymbol in originalError) {
|
|
993
1014
|
this.span = originalError[spanSymbol] as Span
|
|
994
1015
|
}
|
|
@@ -1095,7 +1095,7 @@ export const readUpstream = <A, E2, R, E>(
|
|
|
1095
1095
|
/** @internal */
|
|
1096
1096
|
export const run = <Env, InErr, InDone, OutErr, OutDone>(
|
|
1097
1097
|
self: Channel.Channel<never, unknown, OutErr, InErr, OutDone, InDone, Env>
|
|
1098
|
-
): Effect.Effect<OutDone, OutErr, Env
|
|
1098
|
+
): Effect.Effect<OutDone, OutErr, Exclude<Env, Scope.Scope>> => pipe(runScoped(self), Effect.scoped)
|
|
1099
1099
|
|
|
1100
1100
|
/** @internal */
|
|
1101
1101
|
export const runScoped = <Env, InErr, InDone, OutErr, OutDone>(
|
package/src/internal/channel.ts
CHANGED
|
@@ -2052,17 +2052,18 @@ export const repeated = <OutElem, InElem, OutErr, InErr, OutDone, InDone, Env>(
|
|
|
2052
2052
|
/** @internal */
|
|
2053
2053
|
export const run = <OutErr, InErr, OutDone, InDone, Env>(
|
|
2054
2054
|
self: Channel.Channel<never, unknown, OutErr, InErr, OutDone, InDone, Env>
|
|
2055
|
-
): Effect.Effect<OutDone, OutErr, Env
|
|
2055
|
+
): Effect.Effect<OutDone, OutErr, Exclude<Env, Scope.Scope>> => Effect.scoped(executor.runScoped(self))
|
|
2056
2056
|
|
|
2057
2057
|
/** @internal */
|
|
2058
2058
|
export const runCollect = <OutElem, OutErr, InErr, OutDone, InDone, Env>(
|
|
2059
2059
|
self: Channel.Channel<OutElem, unknown, OutErr, InErr, OutDone, InDone, Env>
|
|
2060
|
-
): Effect.Effect<[Chunk.Chunk<OutElem>, OutDone], OutErr, Env
|
|
2060
|
+
): Effect.Effect<[Chunk.Chunk<OutElem>, OutDone], OutErr, Exclude<Env, Scope.Scope>> =>
|
|
2061
|
+
executor.run(core.collectElements(self))
|
|
2061
2062
|
|
|
2062
2063
|
/** @internal */
|
|
2063
2064
|
export const runDrain = <OutElem, OutErr, InErr, OutDone, InDone, Env>(
|
|
2064
2065
|
self: Channel.Channel<OutElem, unknown, OutErr, InErr, OutDone, InDone, Env>
|
|
2065
|
-
): Effect.Effect<OutDone, OutErr, Env
|
|
2066
|
+
): Effect.Effect<OutDone, OutErr, Exclude<Env, Scope.Scope>> => executor.run(drain(self))
|
|
2066
2067
|
|
|
2067
2068
|
/** @internal */
|
|
2068
2069
|
export const scoped = <A, E, R>(
|
|
@@ -911,11 +911,6 @@ export const logWithLevel = (level?: LogLevel.LogLevel) =>
|
|
|
911
911
|
i--
|
|
912
912
|
}
|
|
913
913
|
}
|
|
914
|
-
if (message.length === 0) {
|
|
915
|
-
message = "" as any
|
|
916
|
-
} else if (message.length === 1) {
|
|
917
|
-
message = message[0]
|
|
918
|
-
}
|
|
919
914
|
if (cause === undefined) {
|
|
920
915
|
cause = internalCause.empty
|
|
921
916
|
}
|
package/src/internal/core.ts
CHANGED
|
@@ -2174,23 +2174,19 @@ export const causeSquashWith = dual<
|
|
|
2174
2174
|
// -----------------------------------------------------------------------------
|
|
2175
2175
|
|
|
2176
2176
|
/** @internal */
|
|
2177
|
-
export const YieldableError: new(message?: string) => Cause.YieldableError = (function() {
|
|
2177
|
+
export const YieldableError: new(message?: string, options?: ErrorOptions) => Cause.YieldableError = (function() {
|
|
2178
2178
|
class YieldableError extends globalThis.Error {
|
|
2179
2179
|
commit() {
|
|
2180
2180
|
return fail(this)
|
|
2181
2181
|
}
|
|
2182
|
-
toString() {
|
|
2183
|
-
return this.message ? `${this.name}: ${this.message}` : this.name
|
|
2184
|
-
}
|
|
2185
2182
|
toJSON() {
|
|
2186
2183
|
return { ...this }
|
|
2187
2184
|
}
|
|
2188
|
-
[NodeInspectSymbol]()
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
return `${this.toString()}\n${stack.split("\n").slice(1).join("\n")}`
|
|
2185
|
+
[NodeInspectSymbol]() {
|
|
2186
|
+
if (this.toString !== globalThis.Error.prototype.toString) {
|
|
2187
|
+
return this.stack ? `${this.toString()}\n${this.stack.split("\n").slice(1).join("\n")}` : this.toString()
|
|
2192
2188
|
}
|
|
2193
|
-
return this
|
|
2189
|
+
return this
|
|
2194
2190
|
}
|
|
2195
2191
|
}
|
|
2196
2192
|
Object.assign(YieldableError.prototype, StructuralCommitPrototype)
|
|
@@ -2274,6 +2270,20 @@ export const InvalidPubSubCapacityException = makeException<Cause.InvalidPubSubC
|
|
|
2274
2270
|
[InvalidPubSubCapacityExceptionTypeId]: InvalidPubSubCapacityExceptionTypeId
|
|
2275
2271
|
}, "InvalidPubSubCapacityException")
|
|
2276
2272
|
|
|
2273
|
+
/** @internal */
|
|
2274
|
+
export const ExceededCapacityExceptionTypeId: Cause.ExceededCapacityExceptionTypeId = Symbol.for(
|
|
2275
|
+
"effect/Cause/errors/ExceededCapacityException"
|
|
2276
|
+
) as Cause.ExceededCapacityExceptionTypeId
|
|
2277
|
+
|
|
2278
|
+
/** @internal */
|
|
2279
|
+
export const ExceededCapacityException = makeException<Cause.ExceededCapacityException>({
|
|
2280
|
+
[ExceededCapacityExceptionTypeId]: ExceededCapacityExceptionTypeId
|
|
2281
|
+
}, "ExceededCapacityException")
|
|
2282
|
+
|
|
2283
|
+
/** @internal */
|
|
2284
|
+
export const isExceededCapacityException = (u: unknown): u is Cause.ExceededCapacityException =>
|
|
2285
|
+
hasProperty(u, ExceededCapacityExceptionTypeId)
|
|
2286
|
+
|
|
2277
2287
|
/** @internal */
|
|
2278
2288
|
export const isInvalidCapacityError = (u: unknown): u is Cause.InvalidPubSubCapacityException =>
|
|
2279
2289
|
hasProperty(u, InvalidPubSubCapacityExceptionTypeId)
|
|
@@ -22,7 +22,7 @@ export const liveServices: Context.Context<DefaultServices.DefaultServices> = pi
|
|
|
22
22
|
Context.empty(),
|
|
23
23
|
Context.add(clock.clockTag, clock.make()),
|
|
24
24
|
Context.add(console_.consoleTag, console_.defaultConsole),
|
|
25
|
-
Context.add(random.randomTag, random.make(
|
|
25
|
+
Context.add(random.randomTag, random.make(Math.random())),
|
|
26
26
|
Context.add(configProvider.configProviderTag, configProvider.fromEnv()),
|
|
27
27
|
Context.add(tracer.tracerTag, tracer.nativeTracer)
|
|
28
28
|
)
|
|
@@ -1421,6 +1421,12 @@ export const logFmtLogger: Logger<unknown, void> = globalValue(
|
|
|
1421
1421
|
() => loggerWithConsoleLog(internalLogger.logfmtLogger)
|
|
1422
1422
|
)
|
|
1423
1423
|
|
|
1424
|
+
/** @internal */
|
|
1425
|
+
export const prettyLogger: Logger<unknown, void> = globalValue(
|
|
1426
|
+
Symbol.for("effect/Logger/prettyLogger"),
|
|
1427
|
+
() => internalLogger.prettyLogger()
|
|
1428
|
+
)
|
|
1429
|
+
|
|
1424
1430
|
/** @internal */
|
|
1425
1431
|
export const structuredLogger: Logger<unknown, void> = globalValue(
|
|
1426
1432
|
Symbol.for("effect/Logger/structuredLogger"),
|
package/src/internal/logger.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import * as Arr from "../Array.js"
|
|
2
|
+
import * as Context from "../Context.js"
|
|
3
|
+
import * as FiberRefs from "../FiberRefs.js"
|
|
1
4
|
import type { LazyArg } from "../Function.js"
|
|
2
5
|
import { constVoid, dual, pipe } from "../Function.js"
|
|
3
6
|
import * as HashMap from "../HashMap.js"
|
|
@@ -9,6 +12,8 @@ import * as LogSpan from "../LogSpan.js"
|
|
|
9
12
|
import * as Option from "../Option.js"
|
|
10
13
|
import { pipeArguments } from "../Pipeable.js"
|
|
11
14
|
import * as Cause from "./cause.js"
|
|
15
|
+
import * as defaultServices from "./defaultServices.js"
|
|
16
|
+
import { consoleTag } from "./defaultServices/console.js"
|
|
12
17
|
import * as _fiberId from "./fiberId.js"
|
|
13
18
|
|
|
14
19
|
/** @internal */
|
|
@@ -157,7 +162,7 @@ export const zipRight = dual<
|
|
|
157
162
|
>(2, (self, that) => map(zip(self, that), (tuple) => tuple[1]))
|
|
158
163
|
|
|
159
164
|
/** @internal */
|
|
160
|
-
export const stringLogger: Logger.Logger<unknown, string> = makeLogger
|
|
165
|
+
export const stringLogger: Logger.Logger<unknown, string> = makeLogger(
|
|
161
166
|
({ annotations, cause, date, fiberId, logLevel, message, spans }) => {
|
|
162
167
|
const nowMillis = date.getTime()
|
|
163
168
|
|
|
@@ -169,16 +174,9 @@ export const stringLogger: Logger.Logger<unknown, string> = makeLogger<unknown,
|
|
|
169
174
|
|
|
170
175
|
let output = outputArray.join(" ")
|
|
171
176
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
if (stringMessage.length > 0) {
|
|
176
|
-
output = output + " message="
|
|
177
|
-
output = appendQuoted(stringMessage, output)
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
} else {
|
|
181
|
-
const stringMessage = Inspectable.toStringUnknown(message)
|
|
177
|
+
const messageArr = Arr.ensure(message)
|
|
178
|
+
for (let i = 0; i < messageArr.length; i++) {
|
|
179
|
+
const stringMessage = Inspectable.toStringUnknown(messageArr[i])
|
|
182
180
|
if (stringMessage.length > 0) {
|
|
183
181
|
output = output + " message="
|
|
184
182
|
output = appendQuoted(stringMessage, output)
|
|
@@ -187,7 +185,7 @@ export const stringLogger: Logger.Logger<unknown, string> = makeLogger<unknown,
|
|
|
187
185
|
|
|
188
186
|
if (cause != null && cause._tag !== "Empty") {
|
|
189
187
|
output = output + " cause="
|
|
190
|
-
output = appendQuoted(Cause.pretty(cause), output)
|
|
188
|
+
output = appendQuoted(Cause.pretty(cause, { renderErrorCause: true }), output)
|
|
191
189
|
}
|
|
192
190
|
|
|
193
191
|
if (List.isCons(spans)) {
|
|
@@ -204,7 +202,7 @@ export const stringLogger: Logger.Logger<unknown, string> = makeLogger<unknown,
|
|
|
204
202
|
}
|
|
205
203
|
}
|
|
206
204
|
|
|
207
|
-
if (
|
|
205
|
+
if (HashMap.size(annotations) > 0) {
|
|
208
206
|
output = output + " "
|
|
209
207
|
|
|
210
208
|
let first = true
|
|
@@ -246,16 +244,9 @@ export const logfmtLogger = makeLogger<unknown, string>(
|
|
|
246
244
|
|
|
247
245
|
let output = outputArray.join(" ")
|
|
248
246
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
if (stringMessage.length > 0) {
|
|
253
|
-
output = output + " message="
|
|
254
|
-
output = appendQuotedLogfmt(stringMessage, output)
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
} else {
|
|
258
|
-
const stringMessage = Inspectable.toStringUnknown(message, 0)
|
|
247
|
+
const messageArr = Arr.ensure(message)
|
|
248
|
+
for (let i = 0; i < messageArr.length; i++) {
|
|
249
|
+
const stringMessage = Inspectable.toStringUnknown(messageArr[i], 0)
|
|
259
250
|
if (stringMessage.length > 0) {
|
|
260
251
|
output = output + " message="
|
|
261
252
|
output = appendQuotedLogfmt(stringMessage, output)
|
|
@@ -264,7 +255,7 @@ export const logfmtLogger = makeLogger<unknown, string>(
|
|
|
264
255
|
|
|
265
256
|
if (cause != null && cause._tag !== "Empty") {
|
|
266
257
|
output = output + " cause="
|
|
267
|
-
output = appendQuotedLogfmt(Cause.pretty(cause), output)
|
|
258
|
+
output = appendQuotedLogfmt(Cause.pretty(cause, { renderErrorCause: true }), output)
|
|
268
259
|
}
|
|
269
260
|
|
|
270
261
|
if (List.isCons(spans)) {
|
|
@@ -281,7 +272,7 @@ export const logfmtLogger = makeLogger<unknown, string>(
|
|
|
281
272
|
}
|
|
282
273
|
}
|
|
283
274
|
|
|
284
|
-
if (
|
|
275
|
+
if (HashMap.size(annotations) > 0) {
|
|
285
276
|
output = output + " "
|
|
286
277
|
|
|
287
278
|
let first = true
|
|
@@ -328,11 +319,12 @@ export const structuredLogger = makeLogger<unknown, {
|
|
|
328
319
|
}
|
|
329
320
|
}
|
|
330
321
|
|
|
322
|
+
const messageArr = Arr.ensure(message)
|
|
331
323
|
return {
|
|
332
|
-
message: structuredMessage(
|
|
324
|
+
message: messageArr.length === 1 ? structuredMessage(messageArr[0]) : messageArr.map(structuredMessage),
|
|
333
325
|
logLevel: logLevel.label,
|
|
334
326
|
timestamp: date.toISOString(),
|
|
335
|
-
cause: Cause.isEmpty(cause) ? undefined : Cause.pretty(cause),
|
|
327
|
+
cause: Cause.isEmpty(cause) ? undefined : Cause.pretty(cause, { renderErrorCause: true }),
|
|
336
328
|
annotations: annotationsObj,
|
|
337
329
|
spans: spansObj,
|
|
338
330
|
fiberId: _fiberId.threadName(fiberId)
|
|
@@ -376,3 +368,117 @@ const renderLogSpanLogfmt = (now: number) => (self: LogSpan.LogSpan): string =>
|
|
|
376
368
|
export const isLogger = (u: unknown): u is Logger.Logger<unknown, unknown> => {
|
|
377
369
|
return typeof u === "object" && u != null && LoggerTypeId in u
|
|
378
370
|
}
|
|
371
|
+
|
|
372
|
+
const processStdoutIsTTY = typeof process === "object" && "stdout" in process && process.stdout.isTTY === true
|
|
373
|
+
const hasWindow = typeof window === "object"
|
|
374
|
+
|
|
375
|
+
const withColor = (text: string, ...colors: ReadonlyArray<string>) => {
|
|
376
|
+
let out = ""
|
|
377
|
+
for (let i = 0; i < colors.length; i++) {
|
|
378
|
+
out += `\x1b[${colors[i]}m`
|
|
379
|
+
}
|
|
380
|
+
return out + text + "\x1b[0m"
|
|
381
|
+
}
|
|
382
|
+
const withColorNoop = (text: string, ..._colors: ReadonlyArray<string>) => text
|
|
383
|
+
const colors = {
|
|
384
|
+
bold: "1",
|
|
385
|
+
red: "31",
|
|
386
|
+
green: "32",
|
|
387
|
+
yellow: "33",
|
|
388
|
+
blue: "34",
|
|
389
|
+
cyan: "36",
|
|
390
|
+
white: "37",
|
|
391
|
+
gray: "90",
|
|
392
|
+
black: "30",
|
|
393
|
+
bgBrightRed: "101"
|
|
394
|
+
} as const
|
|
395
|
+
|
|
396
|
+
const logLevelColors: Record<LogLevel.LogLevel["_tag"], ReadonlyArray<string>> = {
|
|
397
|
+
None: [],
|
|
398
|
+
All: [],
|
|
399
|
+
Trace: [colors.gray],
|
|
400
|
+
Debug: [colors.blue],
|
|
401
|
+
Info: [colors.green],
|
|
402
|
+
Warning: [colors.yellow],
|
|
403
|
+
Error: [colors.red],
|
|
404
|
+
Fatal: [colors.bgBrightRed, colors.black]
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
const defaultDateFormat = (date: Date): string =>
|
|
408
|
+
`${date.getHours().toString().padStart(2, "0")}:${date.getMinutes().toString().padStart(2, "0")}:${
|
|
409
|
+
date.getSeconds().toString().padStart(2, "0")
|
|
410
|
+
}.${date.getMilliseconds().toString().padStart(3, "0")}`
|
|
411
|
+
|
|
412
|
+
/** @internal */
|
|
413
|
+
export const prettyLogger = (options?: {
|
|
414
|
+
readonly colors?: "auto" | boolean | undefined
|
|
415
|
+
readonly stderr?: boolean | undefined
|
|
416
|
+
readonly formatDate?: ((date: Date) => string) | undefined
|
|
417
|
+
readonly mode?: "browser" | "tty" | "auto" | undefined
|
|
418
|
+
}) => {
|
|
419
|
+
const mode_ = options?.mode ?? "auto"
|
|
420
|
+
const mode = mode_ === "auto" ? (hasWindow ? "browser" : "tty") : mode_
|
|
421
|
+
const isBrowser = mode === "browser"
|
|
422
|
+
const showColors = typeof options?.colors === "boolean" ? options.colors : processStdoutIsTTY || isBrowser
|
|
423
|
+
const color = showColors ? withColor : withColorNoop
|
|
424
|
+
const formatDate = options?.formatDate ?? defaultDateFormat
|
|
425
|
+
|
|
426
|
+
return makeLogger<unknown, void>(
|
|
427
|
+
({ annotations, cause, context, date, fiberId, logLevel, message: message_, spans }) => {
|
|
428
|
+
const services = FiberRefs.getOrDefault(context, defaultServices.currentServices)
|
|
429
|
+
const console = Context.get(services, consoleTag).unsafe
|
|
430
|
+
const log = options?.stderr === true ? console.error : console.log
|
|
431
|
+
|
|
432
|
+
const message = Arr.ensure(message_)
|
|
433
|
+
|
|
434
|
+
let firstLine = color(`[${formatDate(date)}]`, colors.white)
|
|
435
|
+
+ ` ${color(logLevel.label, ...logLevelColors[logLevel._tag])}`
|
|
436
|
+
+ ` (${_fiberId.threadName(fiberId)})`
|
|
437
|
+
|
|
438
|
+
if (List.isCons(spans)) {
|
|
439
|
+
const now = date.getTime()
|
|
440
|
+
const render = renderLogSpanLogfmt(now)
|
|
441
|
+
for (const span of spans) {
|
|
442
|
+
firstLine += " " + render(span)
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
firstLine += ":"
|
|
447
|
+
let messageIndex = 0
|
|
448
|
+
if (message.length > 0) {
|
|
449
|
+
const firstMaybeString = structuredMessage(message[0])
|
|
450
|
+
if (typeof firstMaybeString === "string") {
|
|
451
|
+
firstLine += " " + color(firstMaybeString, colors.bold, colors.cyan)
|
|
452
|
+
messageIndex++
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
if (isBrowser) {
|
|
457
|
+
console.groupCollapsed(firstLine)
|
|
458
|
+
} else {
|
|
459
|
+
log(firstLine)
|
|
460
|
+
console.group()
|
|
461
|
+
}
|
|
462
|
+
if (!Cause.isEmpty(cause)) {
|
|
463
|
+
if (isBrowser) {
|
|
464
|
+
console.error(Cause.pretty(cause, { renderErrorCause: true }))
|
|
465
|
+
} else {
|
|
466
|
+
log(Cause.pretty(cause, { renderErrorCause: true }))
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
if (messageIndex < message.length) {
|
|
471
|
+
for (; messageIndex < message.length; messageIndex++) {
|
|
472
|
+
log(message[messageIndex])
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
if (HashMap.size(annotations) > 0) {
|
|
477
|
+
for (const [key, value] of annotations) {
|
|
478
|
+
log(color(`${key}:`, colors.bold, colors.white), value)
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
console.groupEnd()
|
|
482
|
+
}
|
|
483
|
+
)
|
|
484
|
+
}
|
package/src/internal/pool.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type { Effect, Semaphore } from "../Effect.js"
|
|
|
5
5
|
import type { Exit } from "../Exit.js"
|
|
6
6
|
import { dual, identity } from "../Function.js"
|
|
7
7
|
import * as Iterable from "../Iterable.js"
|
|
8
|
+
import * as Option from "../Option.js"
|
|
8
9
|
import { pipeArguments } from "../Pipeable.js"
|
|
9
10
|
import type { Pool, PoolTypeId as PoolTypeId_ } from "../Pool.js"
|
|
10
11
|
import { hasProperty } from "../Predicate.js"
|
|
@@ -112,11 +113,13 @@ interface PoolItem<A, E> {
|
|
|
112
113
|
readonly exit: Exit<A, E>
|
|
113
114
|
finalizer: Effect<void>
|
|
114
115
|
refCount: number
|
|
116
|
+
disableReclaim: boolean
|
|
115
117
|
}
|
|
116
118
|
|
|
117
119
|
interface Strategy<A, E> {
|
|
118
120
|
readonly run: (pool: PoolImpl<A, E>) => Effect<void>
|
|
119
121
|
readonly onAcquire: (item: PoolItem<A, E>) => Effect<void>
|
|
122
|
+
readonly reclaim: (pool: PoolImpl<A, E>) => Effect<Option.Option<PoolItem<A, E>>>
|
|
120
123
|
}
|
|
121
124
|
|
|
122
125
|
class PoolImpl<A, E> implements Pool<A, E> {
|
|
@@ -151,7 +154,8 @@ class PoolImpl<A, E> implements Pool<A, E> {
|
|
|
151
154
|
const item: PoolItem<A, E> = {
|
|
152
155
|
exit,
|
|
153
156
|
finalizer: core.catchAllCause(scope.close(exit), reportUnhandledError),
|
|
154
|
-
refCount: 0
|
|
157
|
+
refCount: 0,
|
|
158
|
+
disableReclaim: false
|
|
155
159
|
}
|
|
156
160
|
this.items.add(item)
|
|
157
161
|
this.available.add(item)
|
|
@@ -189,7 +193,13 @@ class PoolImpl<A, E> implements Pool<A, E> {
|
|
|
189
193
|
if (this.activeSize >= this.targetSize) {
|
|
190
194
|
return core.void
|
|
191
195
|
}
|
|
192
|
-
return
|
|
196
|
+
return this.strategy.reclaim(this).pipe(
|
|
197
|
+
core.flatMap(Option.match({
|
|
198
|
+
onNone: () => this.allocate,
|
|
199
|
+
onSome: core.succeed
|
|
200
|
+
})),
|
|
201
|
+
core.zipRight(this.resizeLoop)
|
|
202
|
+
)
|
|
193
203
|
})
|
|
194
204
|
readonly resizeSemaphore = circular.unsafeMakeSemaphore(1)
|
|
195
205
|
readonly resize = this.resizeSemaphore.withPermits(1)(this.resizeLoop)
|
|
@@ -253,6 +263,7 @@ class PoolImpl<A, E> implements Pool<A, E> {
|
|
|
253
263
|
if (this.isShuttingDown) return core.void
|
|
254
264
|
for (const poolItem of this.items) {
|
|
255
265
|
if (poolItem.exit._tag === "Success" && poolItem.exit.value === item) {
|
|
266
|
+
poolItem.disableReclaim = true
|
|
256
267
|
return core.uninterruptible(this.invalidatePoolItem(poolItem))
|
|
257
268
|
}
|
|
258
269
|
}
|
|
@@ -306,7 +317,8 @@ class PoolImpl<A, E> implements Pool<A, E> {
|
|
|
306
317
|
|
|
307
318
|
const strategyNoop = <A, E>(): Strategy<A, E> => ({
|
|
308
319
|
run: (_) => core.void,
|
|
309
|
-
onAcquire: (_) => core.void
|
|
320
|
+
onAcquire: (_) => core.void,
|
|
321
|
+
reclaim: (_) => coreEffect.succeedNone
|
|
310
322
|
})
|
|
311
323
|
|
|
312
324
|
const strategyCreationTTL = <A, E>(ttl: Duration.DurationInput) =>
|
|
@@ -337,7 +349,8 @@ const strategyCreationTTL = <A, E>(ttl: Duration.DurationInput) =>
|
|
|
337
349
|
core.suspend(() => {
|
|
338
350
|
creationTimes.set(item, clock.unsafeCurrentTimeMillis())
|
|
339
351
|
return queue.offer(item)
|
|
340
|
-
})
|
|
352
|
+
}),
|
|
353
|
+
reclaim: (_) => coreEffect.succeedNone
|
|
341
354
|
})
|
|
342
355
|
})
|
|
343
356
|
)
|
|
@@ -359,7 +372,25 @@ const strategyUsageTTL = <A, E>(ttl: Duration.DurationInput) =>
|
|
|
359
372
|
coreEffect.forever
|
|
360
373
|
)
|
|
361
374
|
},
|
|
362
|
-
onAcquire: (item) => queue.offer(item)
|
|
375
|
+
onAcquire: (item) => queue.offer(item),
|
|
376
|
+
reclaim(pool) {
|
|
377
|
+
return core.suspend((): Effect<Option.Option<PoolItem<A, E>>> => {
|
|
378
|
+
if (pool.invalidated.size === 0) {
|
|
379
|
+
return coreEffect.succeedNone
|
|
380
|
+
}
|
|
381
|
+
const item = Iterable.head(
|
|
382
|
+
Iterable.filter(pool.invalidated, (item) => !item.disableReclaim)
|
|
383
|
+
)
|
|
384
|
+
if (item._tag === "None") {
|
|
385
|
+
return coreEffect.succeedNone
|
|
386
|
+
}
|
|
387
|
+
pool.invalidated.delete(item.value)
|
|
388
|
+
if (item.value.refCount < pool.concurrency) {
|
|
389
|
+
pool.available.add(item.value)
|
|
390
|
+
}
|
|
391
|
+
return core.as(queue.offer(item.value), item)
|
|
392
|
+
})
|
|
393
|
+
}
|
|
363
394
|
})
|
|
364
395
|
})
|
|
365
396
|
|