effect 2.0.0-next.55 → 2.0.0-next.56
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/README.md +14 -9
- package/dist/cjs/Cache.js.map +1 -1
- package/dist/cjs/Cause.js +53 -18
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/ChildExecutorDecision.js.map +1 -1
- package/dist/cjs/Chunk.js +5 -5
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Data.js +11 -20
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/Duration.js +4 -0
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +11 -4
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +9 -2
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/KeyedPool.js.map +1 -1
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/MergeState.js.map +1 -1
- package/dist/cjs/MetricPolling.js +2 -2
- package/dist/cjs/MetricPolling.js.map +1 -1
- package/dist/cjs/MetricState.js.map +1 -1
- package/dist/cjs/NonEmptyIterable.js.map +1 -1
- package/dist/cjs/Option.js +2 -2
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Pipeable.js.map +1 -1
- package/dist/cjs/Predicate.js +17 -1
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/PrimaryKey.js +15 -0
- package/dist/cjs/PrimaryKey.js.map +1 -0
- package/dist/cjs/Queue.js +6 -1
- package/dist/cjs/Queue.js.map +1 -1
- package/dist/cjs/ReadonlyArray.js +2 -0
- package/dist/cjs/ReadonlyArray.js.map +1 -1
- package/dist/cjs/ReadonlyRecord.js +2 -2
- package/dist/cjs/ReadonlyRecord.js.map +1 -1
- package/dist/cjs/RedBlackTree.js.map +1 -1
- package/dist/cjs/Request.js +35 -1
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/STM.js +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/SortedMap.js +4 -1
- package/dist/cjs/SortedMap.js.map +1 -1
- package/dist/cjs/SortedSet.js +2 -2
- package/dist/cjs/SortedSet.js.map +1 -1
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/TPubSub.js.map +1 -1
- package/dist/cjs/TestAnnotation.js +3 -1
- package/dist/cjs/TestAnnotation.js.map +1 -1
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/UpstreamPullRequest.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/cause.js +4 -103
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/channel/continuation.js.map +1 -1
- package/dist/cjs/internal/configProvider.js +13 -1
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +7 -7
- 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 +159 -11
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/data.js +4 -22
- package/dist/cjs/internal/data.js.map +1 -1
- package/dist/cjs/internal/dataSource.js +1 -1
- package/dist/cjs/internal/dataSource.js.map +1 -1
- package/dist/cjs/internal/deferred.js.map +1 -1
- package/dist/cjs/internal/differ/orPatch.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/effectable.js +21 -3
- package/dist/cjs/internal/effectable.js.map +1 -1
- package/dist/cjs/internal/fiberMessage.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +9 -10
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/hashMap.js +1 -1
- package/dist/cjs/internal/hashMap.js.map +1 -1
- package/dist/cjs/internal/hashSet.js +2 -2
- package/dist/cjs/internal/hashSet.js.map +1 -1
- package/dist/cjs/internal/keyedPool.js.map +1 -1
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/metric/polling.js +7 -7
- package/dist/cjs/internal/metric/polling.js.map +1 -1
- package/dist/cjs/internal/metric.js +4 -0
- package/dist/cjs/internal/metric.js.map +1 -1
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/pubsub.js +24 -23
- package/dist/cjs/internal/pubsub.js.map +1 -1
- package/dist/cjs/internal/queue.js +10 -1
- package/dist/cjs/internal/queue.js.map +1 -1
- package/dist/cjs/internal/redBlackTree.js +5 -1
- package/dist/cjs/internal/redBlackTree.js.map +1 -1
- package/dist/cjs/internal/reloadable.js.map +1 -1
- package/dist/cjs/internal/request.js +29 -15
- package/dist/cjs/internal/request.js.map +1 -1
- package/dist/cjs/internal/resource.js +2 -2
- package/dist/cjs/internal/resource.js.map +1 -1
- package/dist/cjs/internal/runtime.js +2 -3
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/schedule.js +6 -7
- 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 +1 -1
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/core.js +2 -2
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stm/tArray.js.map +1 -1
- 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 +17 -14
- package/dist/cjs/internal/stm/tPubSub.js.map +1 -1
- package/dist/cjs/internal/stm/tQueue.js +6 -7
- package/dist/cjs/internal/stm/tQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tSemaphore.js +2 -2
- 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.js +4 -4
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/subscriptionRef.js.map +1 -1
- package/dist/cjs/internal/take.js +1 -1
- package/dist/cjs/internal/take.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Brand.d.ts +4 -4
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/Cache.d.ts +15 -14
- package/dist/dts/Cache.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +92 -25
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +4 -4
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +26 -24
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Clock.d.ts +4 -4
- package/dist/dts/Clock.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +4 -4
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/ConfigError.d.ts +7 -7
- package/dist/dts/ConfigError.d.ts.map +1 -1
- package/dist/dts/ConfigProvider.d.ts +3 -3
- package/dist/dts/ConfigProvider.d.ts.map +1 -1
- package/dist/dts/ConfigProviderPathPatch.d.ts +1 -1
- package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -1
- package/dist/dts/Console.d.ts +36 -36
- package/dist/dts/Console.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +4 -4
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Data.d.ts +3 -17
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/Deferred.d.ts +4 -4
- package/dist/dts/Deferred.d.ts.map +1 -1
- package/dist/dts/Differ.d.ts +9 -9
- package/dist/dts/Differ.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +1 -1
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +34 -20
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +15 -3
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Equal.d.ts +1 -1
- package/dist/dts/Equal.d.ts.map +1 -1
- package/dist/dts/Equivalence.d.ts +1 -1
- package/dist/dts/Equivalence.d.ts.map +1 -1
- package/dist/dts/Exit.d.ts +5 -3
- package/dist/dts/Exit.d.ts.map +1 -1
- package/dist/dts/Fiber.d.ts +12 -12
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberRef.d.ts +3 -3
- package/dist/dts/FiberRef.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts +2 -2
- package/dist/dts/GroupBy.d.ts.map +1 -1
- package/dist/dts/Hash.d.ts +1 -1
- package/dist/dts/Hash.d.ts.map +1 -1
- package/dist/dts/HashMap.d.ts +6 -4
- package/dist/dts/HashMap.d.ts.map +1 -1
- package/dist/dts/HashSet.d.ts +9 -9
- package/dist/dts/HashSet.d.ts.map +1 -1
- package/dist/dts/Inspectable.d.ts +3 -3
- package/dist/dts/Inspectable.d.ts.map +1 -1
- package/dist/dts/KeyedPool.d.ts +5 -5
- package/dist/dts/KeyedPool.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +2 -2
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/List.d.ts +16 -16
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +4 -4
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/Match.d.ts +11 -11
- package/dist/dts/Match.d.ts.map +1 -1
- package/dist/dts/MergeDecision.d.ts +2 -2
- package/dist/dts/MergeDecision.d.ts.map +1 -1
- package/dist/dts/MergeState.d.ts +5 -5
- package/dist/dts/MergeState.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +5 -5
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricHook.d.ts +4 -4
- package/dist/dts/MetricHook.d.ts.map +1 -1
- package/dist/dts/MetricKey.d.ts +2 -2
- package/dist/dts/MetricKey.d.ts.map +1 -1
- package/dist/dts/MetricKeyType.d.ts +2 -2
- package/dist/dts/MetricKeyType.d.ts.map +1 -1
- package/dist/dts/MetricPair.d.ts +2 -2
- package/dist/dts/MetricPair.d.ts.map +1 -1
- package/dist/dts/MetricPolling.d.ts +16 -16
- package/dist/dts/MetricPolling.d.ts.map +1 -1
- package/dist/dts/MetricRegistry.d.ts +7 -7
- package/dist/dts/MetricRegistry.d.ts.map +1 -1
- package/dist/dts/MetricState.d.ts +4 -4
- package/dist/dts/MetricState.d.ts.map +1 -1
- package/dist/dts/MutableHashMap.d.ts +1 -1
- package/dist/dts/MutableHashMap.d.ts.map +1 -1
- package/dist/dts/MutableHashSet.d.ts +1 -1
- package/dist/dts/MutableHashSet.d.ts.map +1 -1
- package/dist/dts/MutableList.d.ts +1 -1
- package/dist/dts/MutableList.d.ts.map +1 -1
- package/dist/dts/MutableQueue.d.ts +1 -1
- package/dist/dts/MutableQueue.d.ts.map +1 -1
- package/dist/dts/MutableRef.d.ts +1 -1
- package/dist/dts/MutableRef.d.ts.map +1 -1
- package/dist/dts/NonEmptyIterable.d.ts +2 -2
- package/dist/dts/NonEmptyIterable.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +13 -11
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Order.d.ts +1 -1
- package/dist/dts/Order.d.ts.map +1 -1
- package/dist/dts/Pipeable.d.ts +21 -23
- package/dist/dts/Pipeable.d.ts.map +1 -1
- package/dist/dts/Pool.d.ts +4 -4
- package/dist/dts/Pool.d.ts.map +1 -1
- package/dist/dts/Predicate.d.ts +17 -2
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/PrimaryKey.d.ts +16 -0
- package/dist/dts/PrimaryKey.d.ts.map +1 -0
- package/dist/dts/PubSub.d.ts +3 -3
- package/dist/dts/PubSub.d.ts.map +1 -1
- package/dist/dts/Queue.d.ts +46 -27
- package/dist/dts/Queue.d.ts.map +1 -1
- package/dist/dts/Random.d.ts +3 -3
- package/dist/dts/Random.d.ts.map +1 -1
- package/dist/dts/ReadonlyArray.d.ts +36 -36
- package/dist/dts/ReadonlyArray.d.ts.map +1 -1
- package/dist/dts/ReadonlyRecord.d.ts +13 -11
- package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
- package/dist/dts/RedBlackTree.d.ts +5 -2
- package/dist/dts/RedBlackTree.d.ts.map +1 -1
- package/dist/dts/Ref.d.ts +3 -3
- package/dist/dts/Ref.d.ts.map +1 -1
- package/dist/dts/Reloadable.d.ts +3 -3
- package/dist/dts/Reloadable.d.ts.map +1 -1
- package/dist/dts/Request.d.ts +49 -8
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestBlock.d.ts +8 -8
- package/dist/dts/RequestBlock.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +5 -5
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Resource.d.ts +4 -4
- package/dist/dts/Resource.d.ts.map +1 -1
- package/dist/dts/Runtime.d.ts +3 -3
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +9 -9
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +6 -6
- package/dist/dts/Schedule.d.ts.map +1 -1
- package/dist/dts/Scheduler.d.ts +3 -3
- package/dist/dts/Scheduler.d.ts.map +1 -1
- package/dist/dts/ScopedCache.d.ts +9 -9
- package/dist/dts/ScopedCache.d.ts.map +1 -1
- package/dist/dts/ScopedRef.d.ts +3 -3
- package/dist/dts/ScopedRef.d.ts.map +1 -1
- package/dist/dts/SingleProducerAsyncInput.d.ts +7 -7
- package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +7 -4
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/SortedMap.d.ts +5 -2
- package/dist/dts/SortedMap.d.ts.map +1 -1
- package/dist/dts/SortedSet.d.ts +6 -12
- package/dist/dts/SortedSet.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +27 -19
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/StreamEmit.d.ts +12 -12
- package/dist/dts/StreamEmit.d.ts.map +1 -1
- package/dist/dts/SubscriptionRef.d.ts +3 -3
- package/dist/dts/SubscriptionRef.d.ts.map +1 -1
- package/dist/dts/Supervisor.d.ts +9 -9
- package/dist/dts/Supervisor.d.ts.map +1 -1
- package/dist/dts/SynchronizedRef.d.ts +4 -4
- package/dist/dts/SynchronizedRef.d.ts.map +1 -1
- package/dist/dts/TArray.d.ts +3 -3
- package/dist/dts/TArray.d.ts.map +1 -1
- package/dist/dts/TDeferred.d.ts +4 -4
- package/dist/dts/TDeferred.d.ts.map +1 -1
- package/dist/dts/TMap.d.ts +4 -4
- package/dist/dts/TMap.d.ts.map +1 -1
- package/dist/dts/TPriorityQueue.d.ts +3 -3
- package/dist/dts/TPriorityQueue.d.ts.map +1 -1
- package/dist/dts/TPubSub.d.ts +4 -1
- package/dist/dts/TPubSub.d.ts.map +1 -1
- package/dist/dts/TQueue.d.ts +9 -9
- package/dist/dts/TQueue.d.ts.map +1 -1
- package/dist/dts/TRandom.d.ts +3 -3
- package/dist/dts/TRandom.d.ts.map +1 -1
- package/dist/dts/TRef.d.ts +3 -3
- package/dist/dts/TRef.d.ts.map +1 -1
- package/dist/dts/TSet.d.ts +3 -3
- package/dist/dts/TSet.d.ts.map +1 -1
- package/dist/dts/Take.d.ts +2 -2
- package/dist/dts/Take.d.ts.map +1 -1
- package/dist/dts/TestAnnotation.d.ts +5 -3
- package/dist/dts/TestAnnotation.d.ts.map +1 -1
- package/dist/dts/TestAnnotations.d.ts +2 -2
- package/dist/dts/TestAnnotations.d.ts.map +1 -1
- package/dist/dts/TestClock.d.ts +3 -3
- package/dist/dts/TestClock.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/TestSized.d.ts +1 -1
- package/dist/dts/TestSized.d.ts.map +1 -1
- package/dist/dts/Tracer.d.ts +5 -5
- package/dist/dts/Tracer.d.ts.map +1 -1
- package/dist/dts/Types.d.ts +7 -0
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/dts/UpstreamPullRequest.d.ts +2 -2
- package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
- package/dist/dts/UpstreamPullStrategy.d.ts +3 -3
- package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
- package/dist/dts/Utils.d.ts +1 -1
- package/dist/dts/Utils.d.ts.map +1 -1
- package/dist/dts/index.d.ts +4 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/core-stream.d.ts.map +1 -1
- package/dist/dts/internal/fiberScope.d.ts +1 -1
- package/dist/dts/internal/fiberScope.d.ts.map +1 -1
- package/dist/dts/internal/stream/handoffSignal.d.ts +1 -1
- package/dist/dts/internal/stream/handoffSignal.d.ts.map +1 -1
- package/dist/dts/internal/version.d.ts +1 -1
- package/dist/esm/Cache.js.map +1 -1
- package/dist/esm/Cause.js +52 -17
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/ChildExecutorDecision.js.map +1 -1
- package/dist/esm/Chunk.js +5 -5
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Data.js +10 -19
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/Duration.js +4 -0
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js +7 -0
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +8 -1
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Exit.js.map +1 -1
- package/dist/esm/Fiber.js.map +1 -1
- package/dist/esm/HashMap.js.map +1 -1
- package/dist/esm/KeyedPool.js.map +1 -1
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/MergeState.js.map +1 -1
- package/dist/esm/MetricPolling.js +1 -1
- package/dist/esm/MetricPolling.js.map +1 -1
- package/dist/esm/MetricState.js.map +1 -1
- package/dist/esm/NonEmptyIterable.js.map +1 -1
- package/dist/esm/Option.js +2 -2
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Pipeable.js.map +1 -1
- package/dist/esm/Predicate.js +15 -0
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/PrimaryKey.js +9 -0
- package/dist/esm/PrimaryKey.js.map +1 -0
- package/dist/esm/Queue.js +5 -0
- package/dist/esm/Queue.js.map +1 -1
- package/dist/esm/ReadonlyArray.js +2 -0
- package/dist/esm/ReadonlyArray.js.map +1 -1
- package/dist/esm/ReadonlyRecord.js +2 -2
- package/dist/esm/ReadonlyRecord.js.map +1 -1
- package/dist/esm/RedBlackTree.js.map +1 -1
- package/dist/esm/Request.js +34 -0
- package/dist/esm/Request.js.map +1 -1
- package/dist/esm/STM.js +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/SortedMap.js +4 -1
- package/dist/esm/SortedMap.js.map +1 -1
- package/dist/esm/SortedSet.js +2 -2
- package/dist/esm/SortedSet.js.map +1 -1
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/SubscriptionRef.js.map +1 -1
- package/dist/esm/TPubSub.js.map +1 -1
- package/dist/esm/TestAnnotation.js +3 -1
- package/dist/esm/TestAnnotation.js.map +1 -1
- package/dist/esm/TestClock.js.map +1 -1
- package/dist/esm/UpstreamPullRequest.js.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/cache.js.map +1 -1
- package/dist/esm/internal/cause.js +3 -96
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/channel/continuation.js.map +1 -1
- package/dist/esm/internal/configProvider.js +13 -1
- package/dist/esm/internal/configProvider.js.map +1 -1
- package/dist/esm/internal/core-effect.js +7 -7
- 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 +151 -10
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/data.js +3 -21
- package/dist/esm/internal/data.js.map +1 -1
- package/dist/esm/internal/dataSource.js +1 -1
- package/dist/esm/internal/dataSource.js.map +1 -1
- package/dist/esm/internal/deferred.js.map +1 -1
- package/dist/esm/internal/differ/orPatch.js.map +1 -1
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/effectable.js +20 -2
- package/dist/esm/internal/effectable.js.map +1 -1
- package/dist/esm/internal/fiberMessage.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +9 -10
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/hashMap.js +1 -1
- package/dist/esm/internal/hashMap.js.map +1 -1
- package/dist/esm/internal/hashSet.js +2 -2
- package/dist/esm/internal/hashSet.js.map +1 -1
- package/dist/esm/internal/keyedPool.js.map +1 -1
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/metric/polling.js +6 -6
- package/dist/esm/internal/metric/polling.js.map +1 -1
- package/dist/esm/internal/metric.js +4 -0
- package/dist/esm/internal/metric.js.map +1 -1
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/pubsub.js +24 -23
- package/dist/esm/internal/pubsub.js.map +1 -1
- package/dist/esm/internal/queue.js +9 -0
- package/dist/esm/internal/queue.js.map +1 -1
- package/dist/esm/internal/redBlackTree.js +5 -1
- package/dist/esm/internal/redBlackTree.js.map +1 -1
- package/dist/esm/internal/reloadable.js.map +1 -1
- package/dist/esm/internal/request.js +27 -14
- package/dist/esm/internal/request.js.map +1 -1
- package/dist/esm/internal/resource.js +2 -2
- package/dist/esm/internal/resource.js.map +1 -1
- package/dist/esm/internal/runtime.js +1 -2
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/schedule.js +6 -7
- 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 +1 -1
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stm/core.js +2 -2
- package/dist/esm/internal/stm/core.js.map +1 -1
- package/dist/esm/internal/stm/tArray.js.map +1 -1
- 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 +17 -14
- package/dist/esm/internal/stm/tPubSub.js.map +1 -1
- package/dist/esm/internal/stm/tQueue.js +6 -7
- package/dist/esm/internal/stm/tQueue.js.map +1 -1
- package/dist/esm/internal/stm/tSemaphore.js +2 -2
- 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.js +4 -4
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/subscriptionRef.js.map +1 -1
- package/dist/esm/internal/take.js +1 -1
- package/dist/esm/internal/take.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/package.json +1 -1
- package/package.json +10 -2
- package/src/Brand.ts +4 -4
- package/src/Cache.ts +15 -17
- package/src/Cause.ts +124 -40
- package/src/Channel.ts +4 -4
- package/src/ChildExecutorDecision.ts +10 -2
- package/src/Chunk.ts +44 -36
- package/src/Clock.ts +4 -4
- package/src/Config.ts +4 -4
- package/src/ConfigError.ts +8 -8
- package/src/ConfigProvider.ts +5 -5
- package/src/ConfigProviderPathPatch.ts +1 -1
- package/src/Console.ts +36 -36
- package/src/Context.ts +4 -4
- package/src/Data.ts +13 -44
- package/src/Deferred.ts +4 -4
- package/src/Differ.ts +9 -9
- package/src/Duration.ts +5 -0
- package/src/Effect.ts +88 -26
- package/src/Either.ts +28 -5
- package/src/Equal.ts +1 -1
- package/src/Equivalence.ts +1 -1
- package/src/Exit.ts +21 -7
- package/src/Fiber.ts +20 -14
- package/src/FiberRef.ts +7 -7
- package/src/GroupBy.ts +2 -2
- package/src/Hash.ts +1 -1
- package/src/HashMap.ts +6 -4
- package/src/HashSet.ts +11 -11
- package/src/Inspectable.ts +3 -3
- package/src/KeyedPool.ts +13 -7
- package/src/Layer.ts +2 -2
- package/src/List.ts +24 -22
- package/src/Logger.ts +4 -4
- package/src/Match.ts +11 -11
- package/src/MergeDecision.ts +2 -2
- package/src/MergeState.ts +11 -5
- package/src/Metric.ts +5 -5
- package/src/MetricHook.ts +4 -4
- package/src/MetricKey.ts +2 -2
- package/src/MetricKeyType.ts +2 -2
- package/src/MetricPair.ts +2 -2
- package/src/MetricPolling.ts +22 -22
- package/src/MetricRegistry.ts +9 -9
- package/src/MetricState.ts +6 -4
- package/src/MutableHashMap.ts +1 -1
- package/src/MutableHashSet.ts +1 -1
- package/src/MutableList.ts +1 -1
- package/src/MutableQueue.ts +1 -1
- package/src/MutableRef.ts +1 -1
- package/src/NonEmptyIterable.ts +2 -2
- package/src/Option.ts +18 -15
- package/src/Order.ts +1 -1
- package/src/Pipeable.ts +275 -277
- package/src/Pool.ts +4 -4
- package/src/Predicate.ts +21 -2
- package/src/PrimaryKey.ts +17 -0
- package/src/PubSub.ts +3 -3
- package/src/Queue.ts +52 -30
- package/src/Random.ts +3 -3
- package/src/ReadonlyArray.ts +51 -66
- package/src/ReadonlyRecord.ts +37 -35
- package/src/RedBlackTree.ts +5 -2
- package/src/Ref.ts +3 -3
- package/src/Reloadable.ts +3 -3
- package/src/Request.ts +53 -8
- package/src/RequestBlock.ts +9 -9
- package/src/RequestResolver.ts +5 -5
- package/src/Resource.ts +4 -4
- package/src/Runtime.ts +3 -3
- package/src/STM.ts +23 -12
- package/src/Schedule.ts +7 -7
- package/src/Scheduler.ts +3 -3
- package/src/Scope.ts +3 -3
- package/src/ScopedCache.ts +9 -9
- package/src/ScopedRef.ts +3 -3
- package/src/SingleProducerAsyncInput.ts +7 -7
- package/src/Sink.ts +23 -9
- package/src/SortedMap.ts +9 -3
- package/src/SortedSet.ts +26 -41
- package/src/Stream.ts +70 -29
- package/src/StreamEmit.ts +12 -12
- package/src/SubscriptionRef.ts +5 -3
- package/src/Supervisor.ts +10 -10
- package/src/SynchronizedRef.ts +4 -4
- package/src/TArray.ts +4 -4
- package/src/TDeferred.ts +5 -5
- package/src/TMap.ts +5 -5
- package/src/TPriorityQueue.ts +4 -4
- package/src/TPubSub.ts +6 -3
- package/src/TQueue.ts +9 -9
- package/src/TRandom.ts +3 -3
- package/src/TRef.ts +4 -4
- package/src/TSet.ts +4 -4
- package/src/Take.ts +2 -2
- package/src/TestAnnotation.ts +8 -4
- package/src/TestAnnotations.ts +2 -2
- package/src/TestClock.ts +3 -5
- package/src/TestLive.ts +1 -1
- package/src/TestSized.ts +1 -1
- package/src/Tracer.ts +6 -6
- package/src/Types.ts +8 -0
- package/src/UpstreamPullRequest.ts +10 -4
- package/src/UpstreamPullStrategy.ts +3 -3
- package/src/Utils.ts +1 -1
- package/src/index.ts +5 -0
- package/src/internal/blockedRequests.ts +6 -6
- package/src/internal/cache.ts +12 -12
- package/src/internal/cause.ts +14 -138
- package/src/internal/channel/channelExecutor.ts +1 -1
- package/src/internal/channel/channelState.ts +5 -5
- package/src/internal/channel/continuation.ts +52 -32
- package/src/internal/channel/mergeDecision.ts +1 -1
- package/src/internal/channel/singleProducerAsyncInput.ts +1 -1
- package/src/internal/channel/subexecutor.ts +7 -7
- package/src/internal/config.ts +6 -6
- package/src/internal/configProvider.ts +14 -1
- package/src/internal/core-effect.ts +49 -38
- package/src/internal/core-stream.ts +18 -21
- package/src/internal/core.ts +286 -38
- package/src/internal/data.ts +3 -22
- package/src/internal/dataSource.ts +1 -1
- package/src/internal/deferred.ts +5 -5
- package/src/internal/differ/contextPatch.ts +5 -5
- package/src/internal/differ/orPatch.ts +18 -6
- package/src/internal/effect/circular.ts +3 -3
- package/src/internal/effectable.ts +23 -4
- package/src/internal/fiberMessage.ts +1 -4
- package/src/internal/fiberRuntime.ts +14 -15
- package/src/internal/fiberScope.ts +1 -1
- package/src/internal/groupBy.ts +1 -1
- package/src/internal/hashMap/node.ts +5 -5
- package/src/internal/hashMap.ts +23 -22
- package/src/internal/hashSet.ts +18 -20
- package/src/internal/keyedPool.ts +4 -4
- package/src/internal/layer.ts +6 -12
- package/src/internal/metric/key.ts +1 -1
- package/src/internal/metric/polling.ts +26 -26
- package/src/internal/metric.ts +4 -0
- package/src/internal/pool.ts +2 -2
- package/src/internal/pubsub.ts +64 -61
- package/src/internal/queue.ts +20 -6
- package/src/internal/redBlackTree/iterator.ts +1 -1
- package/src/internal/redBlackTree/node.ts +1 -1
- package/src/internal/redBlackTree.ts +7 -2
- package/src/internal/ref.ts +1 -1
- package/src/internal/reloadable.ts +1 -1
- package/src/internal/request.ts +39 -13
- package/src/internal/resource.ts +4 -4
- package/src/internal/ringBuffer.ts +1 -1
- package/src/internal/runtime.ts +2 -3
- package/src/internal/schedule.ts +6 -7
- package/src/internal/scopedCache.ts +7 -5
- package/src/internal/scopedRef.ts +1 -1
- package/src/internal/sink.ts +6 -3
- package/src/internal/stack.ts +1 -1
- package/src/internal/stm/core.ts +3 -3
- package/src/internal/stm/stm/stmState.ts +1 -1
- package/src/internal/stm/stm/tExit.ts +3 -3
- package/src/internal/stm/stm/tryCommit.ts +1 -1
- package/src/internal/stm/stm/versioned.ts +1 -1
- package/src/internal/stm/stm.ts +2 -2
- package/src/internal/stm/tArray.ts +2 -2
- package/src/internal/stm/tDeferred.ts +3 -3
- package/src/internal/stm/tMap.ts +3 -3
- package/src/internal/stm/tPriorityQueue.ts +2 -2
- package/src/internal/stm/tPubSub.ts +43 -38
- package/src/internal/stm/tQueue.ts +7 -8
- package/src/internal/stm/tReentrantLock.ts +2 -2
- package/src/internal/stm/tRef.ts +1 -1
- package/src/internal/stm/tSemaphore.ts +2 -2
- package/src/internal/stm/tSet.ts +2 -2
- package/src/internal/stream/debounceState.ts +2 -2
- package/src/internal/stream/handoff.ts +3 -3
- package/src/internal/stream/handoffSignal.ts +2 -2
- package/src/internal/stream/pull.ts +1 -1
- package/src/internal/stream.ts +66 -33
- package/src/internal/subscriptionRef.ts +2 -2
- package/src/internal/supervisor.ts +3 -3
- package/src/internal/take.ts +2 -2
- package/src/internal/version.ts +1 -1
|
@@ -300,7 +300,7 @@ export const fromFiberEffect = <R, E, A>(fiber: Effect.Effect<R, E, Fiber.Fiber<
|
|
|
300
300
|
|
|
301
301
|
const memoKeySymbol = Symbol.for("effect/Effect/memoizeFunction.key")
|
|
302
302
|
|
|
303
|
-
class Key<A> implements Equal.Equal {
|
|
303
|
+
class Key<in out A> implements Equal.Equal {
|
|
304
304
|
[memoKeySymbol] = memoKeySymbol
|
|
305
305
|
constructor(readonly a: A, readonly eq?: Equivalence<A>) {}
|
|
306
306
|
[Equal.symbol](that: Equal.Equal) {
|
|
@@ -534,11 +534,11 @@ export const SynchronizedTypeId: Synchronized.SynchronizedRefTypeId = Symbol.for
|
|
|
534
534
|
|
|
535
535
|
/** @internal */
|
|
536
536
|
export const synchronizedVariance = {
|
|
537
|
-
_A: (_:
|
|
537
|
+
_A: (_: any) => _
|
|
538
538
|
}
|
|
539
539
|
|
|
540
540
|
/** @internal */
|
|
541
|
-
class SynchronizedImpl<A> implements Synchronized.SynchronizedRef<A> {
|
|
541
|
+
class SynchronizedImpl<in out A> implements Synchronized.SynchronizedRef<A> {
|
|
542
542
|
readonly [SynchronizedTypeId] = synchronizedVariance
|
|
543
543
|
readonly [internalRef.RefTypeId] = internalRef.refVariance
|
|
544
544
|
constructor(
|
|
@@ -6,7 +6,6 @@ import * as Hash from "../Hash.js"
|
|
|
6
6
|
import { pipeArguments } from "../Pipeable.js"
|
|
7
7
|
import type * as Sink from "../Sink.js"
|
|
8
8
|
import type * as Stream from "../Stream.js"
|
|
9
|
-
import * as Data from "./data.js"
|
|
10
9
|
import * as OpCodes from "./opCodes/effect.js"
|
|
11
10
|
import { moduleVersion } from "./version.js"
|
|
12
11
|
|
|
@@ -67,6 +66,26 @@ export const EffectPrototype: Effect.Effect<never, never, never> = {
|
|
|
67
66
|
}
|
|
68
67
|
}
|
|
69
68
|
|
|
69
|
+
/** @internal */
|
|
70
|
+
export const StructuralPrototype: Equal.Equal = {
|
|
71
|
+
[Hash.symbol](this: Equal.Equal) {
|
|
72
|
+
return Hash.structure(this)
|
|
73
|
+
},
|
|
74
|
+
[Equal.symbol](this: Equal.Equal, that: Equal.Equal) {
|
|
75
|
+
const selfKeys = Object.keys(this)
|
|
76
|
+
const thatKeys = Object.keys(that as object)
|
|
77
|
+
if (selfKeys.length !== thatKeys.length) {
|
|
78
|
+
return false
|
|
79
|
+
}
|
|
80
|
+
for (const key of selfKeys) {
|
|
81
|
+
if (!(key in (that as object) && Equal.equals((this as any)[key], (that as any)[key]))) {
|
|
82
|
+
return false
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return true
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
70
89
|
/** @internal */
|
|
71
90
|
export const CommitPrototype: Effect.Effect<never, never, never> = {
|
|
72
91
|
...EffectPrototype,
|
|
@@ -74,10 +93,10 @@ export const CommitPrototype: Effect.Effect<never, never, never> = {
|
|
|
74
93
|
} as any
|
|
75
94
|
|
|
76
95
|
/** @internal */
|
|
77
|
-
export const StructuralCommitPrototype = {
|
|
96
|
+
export const StructuralCommitPrototype: Effect.Effect<never, never, never> = {
|
|
78
97
|
...CommitPrototype,
|
|
79
|
-
...
|
|
80
|
-
}
|
|
98
|
+
...StructuralPrototype
|
|
99
|
+
} as any
|
|
81
100
|
|
|
82
101
|
/** @internal */
|
|
83
102
|
export const Base: Effectable.CommitPrimitive = (function() {
|
|
@@ -39,10 +39,7 @@ export interface InterruptSignal {
|
|
|
39
39
|
/** @internal */
|
|
40
40
|
export interface Stateful {
|
|
41
41
|
readonly _tag: OP_STATEFUL
|
|
42
|
-
|
|
43
|
-
fiber: FiberRuntime.FiberRuntime<any, any>,
|
|
44
|
-
status: FiberStatus.FiberStatus
|
|
45
|
-
) => void
|
|
42
|
+
onFiber(fiber: FiberRuntime.FiberRuntime<any, any>, status: FiberStatus.FiberStatus): void
|
|
46
43
|
}
|
|
47
44
|
|
|
48
45
|
/** @internal */
|
|
@@ -238,7 +238,7 @@ const runBlockedRequests = <R>(self: RequestBlock.RequestBlock<R>) =>
|
|
|
238
238
|
)
|
|
239
239
|
|
|
240
240
|
/** @internal */
|
|
241
|
-
export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
|
|
241
|
+
export class FiberRuntime<in out E, in out A> implements Fiber.RuntimeFiber<E, A> {
|
|
242
242
|
readonly [internalFiber.FiberTypeId] = internalFiber.fiberVariance
|
|
243
243
|
readonly [internalFiber.RuntimeFiberTypeId] = runtimeFiberVariance
|
|
244
244
|
|
|
@@ -1044,7 +1044,7 @@ export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
|
|
|
1044
1044
|
}
|
|
1045
1045
|
|
|
1046
1046
|
["None"](_: core.Primitive & { _op: "None" }) {
|
|
1047
|
-
return core.fail(
|
|
1047
|
+
return core.fail(new core.NoSuchElementException())
|
|
1048
1048
|
}
|
|
1049
1049
|
|
|
1050
1050
|
["Right"](op: core.Primitive & { _op: "Right" }) {
|
|
@@ -1312,23 +1312,22 @@ export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
|
|
|
1312
1312
|
(e as core.Primitive)._op === OpCodes.OP_ASYNC
|
|
1313
1313
|
) {
|
|
1314
1314
|
throw e
|
|
1315
|
-
}
|
|
1316
|
-
if (
|
|
1315
|
+
} else if (
|
|
1317
1316
|
(e as core.Primitive)._op === OpCodes.OP_SUCCESS ||
|
|
1318
1317
|
(e as core.Primitive)._op === OpCodes.OP_FAILURE
|
|
1319
1318
|
) {
|
|
1320
1319
|
return e as Exit.Exit<E, A>
|
|
1321
|
-
}
|
|
1322
|
-
} else {
|
|
1323
|
-
if (core.isEffectError(e)) {
|
|
1324
|
-
cur = core.exitFailCause(e.cause)
|
|
1325
|
-
} else if (internalCause.isInterruptedException(e)) {
|
|
1326
|
-
cur = core.exitFailCause(
|
|
1327
|
-
internalCause.sequential(internalCause.die(e), internalCause.interrupt(FiberId.none))
|
|
1328
|
-
)
|
|
1329
1320
|
} else {
|
|
1330
1321
|
cur = core.exitFailCause(internalCause.die(e))
|
|
1331
1322
|
}
|
|
1323
|
+
} else if (core.isEffectError(e)) {
|
|
1324
|
+
cur = core.exitFailCause(e.cause)
|
|
1325
|
+
} else if (core.isInterruptedException(e)) {
|
|
1326
|
+
cur = core.exitFailCause(
|
|
1327
|
+
internalCause.sequential(internalCause.die(e), internalCause.interrupt(FiberId.none))
|
|
1328
|
+
)
|
|
1329
|
+
} else {
|
|
1330
|
+
cur = core.exitFailCause(internalCause.die(e))
|
|
1332
1331
|
}
|
|
1333
1332
|
}
|
|
1334
1333
|
}
|
|
@@ -2291,7 +2290,7 @@ export const partition = dual<
|
|
|
2291
2290
|
readonly concurrency?: Concurrency | undefined
|
|
2292
2291
|
readonly batching?: boolean | "inherit" | undefined
|
|
2293
2292
|
}
|
|
2294
|
-
) => (elements: Iterable<A>) => Effect.Effect<R, never, [Array<E>, Array<B>]>,
|
|
2293
|
+
) => (elements: Iterable<A>) => Effect.Effect<R, never, [excluded: Array<E>, satisfying: Array<B>]>,
|
|
2295
2294
|
<R, E, A, B>(
|
|
2296
2295
|
elements: Iterable<A>,
|
|
2297
2296
|
f: (a: A, i: number) => Effect.Effect<R, E, B>,
|
|
@@ -2299,7 +2298,7 @@ export const partition = dual<
|
|
|
2299
2298
|
readonly concurrency?: Concurrency | undefined
|
|
2300
2299
|
readonly batching?: boolean | "inherit" | undefined
|
|
2301
2300
|
}
|
|
2302
|
-
) => Effect.Effect<R, never, [Array<E>, Array<B>]>
|
|
2301
|
+
) => Effect.Effect<R, never, [excluded: Array<E>, satisfying: Array<B>]>
|
|
2303
2302
|
>((args) => Predicate.isIterable(args[0]), (elements, f, options) =>
|
|
2304
2303
|
pipe(
|
|
2305
2304
|
forEach(elements, (a, i) => core.either(f(a, i)), options),
|
|
@@ -2369,7 +2368,7 @@ export const validateAll = dual<
|
|
|
2369
2368
|
export const raceAll = <R, E, A>(all: Iterable<Effect.Effect<R, E, A>>) => {
|
|
2370
2369
|
const list = Chunk.fromIterable(all)
|
|
2371
2370
|
if (!Chunk.isNonEmpty(list)) {
|
|
2372
|
-
return core.dieSync(() =>
|
|
2371
|
+
return core.dieSync(() => new core.IllegalArgumentException(`Received an empty collection of effects`))
|
|
2373
2372
|
}
|
|
2374
2373
|
const self = Chunk.headNonEmpty(list)
|
|
2375
2374
|
const effects = Chunk.tailNonEmpty(list)
|
|
@@ -24,7 +24,7 @@ export type FiberScopeTypeId = typeof FiberScopeTypeId
|
|
|
24
24
|
export interface FiberScope {
|
|
25
25
|
readonly [FiberScopeTypeId]: FiberScopeTypeId
|
|
26
26
|
get fiberId(): FiberId.FiberId
|
|
27
|
-
|
|
27
|
+
add(runtimeFlags: RuntimeFlags.RuntimeFlags, child: FiberRuntime.FiberRuntime<any, any>): void
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
/** @internal */
|
package/src/internal/groupBy.ts
CHANGED
|
@@ -315,7 +315,7 @@ export const bindEffect = dual<
|
|
|
315
315
|
|
|
316
316
|
const mapDequeue = <A, B>(dequeue: Queue.Dequeue<A>, f: (a: A) => B): Queue.Dequeue<B> => new MapDequeue(dequeue, f)
|
|
317
317
|
|
|
318
|
-
class MapDequeue<A, B> implements Queue.Dequeue<B> {
|
|
318
|
+
class MapDequeue<in out A, out B> implements Queue.Dequeue<B> {
|
|
319
319
|
readonly [Queue.DequeueTypeId] = {
|
|
320
320
|
_Out: (_: never) => _
|
|
321
321
|
}
|
|
@@ -21,7 +21,7 @@ export interface SizeRef {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
/** @internal */
|
|
24
|
-
export class EmptyNode<K, V> {
|
|
24
|
+
export class EmptyNode<out K, out V> {
|
|
25
25
|
readonly _tag = "EmptyNode"
|
|
26
26
|
|
|
27
27
|
modify(
|
|
@@ -57,7 +57,7 @@ export function canEditNode<K, V>(node: Node<K, V>, edit: number): boolean {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
/** @internal */
|
|
60
|
-
export class LeafNode<K, V> {
|
|
60
|
+
export class LeafNode<out K, out V> {
|
|
61
61
|
readonly _tag = "LeafNode"
|
|
62
62
|
|
|
63
63
|
constructor(
|
|
@@ -103,7 +103,7 @@ export class LeafNode<K, V> {
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
/** @internal */
|
|
106
|
-
export class CollisionNode<K, V> {
|
|
106
|
+
export class CollisionNode<out K, out V> {
|
|
107
107
|
readonly _tag = "CollisionNode"
|
|
108
108
|
|
|
109
109
|
constructor(
|
|
@@ -180,7 +180,7 @@ export class CollisionNode<K, V> {
|
|
|
180
180
|
}
|
|
181
181
|
|
|
182
182
|
/** @internal */
|
|
183
|
-
export class IndexedNode<K, V> {
|
|
183
|
+
export class IndexedNode<out K, out V> {
|
|
184
184
|
readonly _tag = "IndexedNode"
|
|
185
185
|
|
|
186
186
|
constructor(
|
|
@@ -244,7 +244,7 @@ export class IndexedNode<K, V> {
|
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
/** @internal */
|
|
247
|
-
export class ArrayNode<K, V> {
|
|
247
|
+
export class ArrayNode<out K, out V> {
|
|
248
248
|
readonly _tag = "ArrayNode"
|
|
249
249
|
|
|
250
250
|
constructor(
|
package/src/internal/hashMap.ts
CHANGED
|
@@ -34,7 +34,7 @@ interface VisitResult<K, V, A> {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
/** @internal */
|
|
37
|
-
export interface HashMapImpl<K, V> extends HM.HashMap<K, V> {
|
|
37
|
+
export interface HashMapImpl<out K, out V> extends HM.HashMap<K, V> {
|
|
38
38
|
_editable: boolean // mutable by design
|
|
39
39
|
_edit: number // mutable by design
|
|
40
40
|
_root: Node.Node<K, V> // mutable by design
|
|
@@ -106,7 +106,7 @@ const makeImpl = <K, V>(
|
|
|
106
106
|
return map
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
class HashMapIterator<K, V, T> implements IterableIterator<T> {
|
|
109
|
+
class HashMapIterator<in out K, in out V, out T> implements IterableIterator<T> {
|
|
110
110
|
v: Option.Option<VisitResult<K, V, T>>
|
|
111
111
|
|
|
112
112
|
constructor(readonly map: HashMapImpl<K, V>, readonly f: TraversalFn<K, V, T>) {
|
|
@@ -485,23 +485,22 @@ export const reduce = Dual.dual<
|
|
|
485
485
|
})
|
|
486
486
|
|
|
487
487
|
/** @internal */
|
|
488
|
-
export const filter
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
set(map, k, a)
|
|
488
|
+
export const filter: {
|
|
489
|
+
<K, A, B extends A>(f: (a: A, k: K) => a is B): (self: HM.HashMap<K, A>) => HM.HashMap<K, B>
|
|
490
|
+
<K, B extends A, A = B>(f: (a: A, k: K) => boolean): (self: HM.HashMap<K, B>) => HM.HashMap<K, B>
|
|
491
|
+
<K, A, B extends A>(self: HM.HashMap<K, A>, f: (a: A, k: K) => a is B): HM.HashMap<K, B>
|
|
492
|
+
<K, A>(self: HM.HashMap<K, A>, f: (a: A, k: K) => boolean): HM.HashMap<K, A>
|
|
493
|
+
} = Dual.dual(
|
|
494
|
+
2,
|
|
495
|
+
<K, A>(self: HM.HashMap<K, A>, f: (a: A, k: K) => boolean): HM.HashMap<K, A> =>
|
|
496
|
+
mutate(empty(), (map) => {
|
|
497
|
+
for (const [k, a] of self) {
|
|
498
|
+
if (f(a, k)) {
|
|
499
|
+
set(map, k, a)
|
|
500
|
+
}
|
|
502
501
|
}
|
|
503
|
-
}
|
|
504
|
-
|
|
502
|
+
})
|
|
503
|
+
)
|
|
505
504
|
|
|
506
505
|
/** @internal */
|
|
507
506
|
export const compact = <K, A>(self: HM.HashMap<K, Option.Option<A>>) => filterMap(self, identity)
|
|
@@ -524,13 +523,15 @@ export const filterMap = Dual.dual<
|
|
|
524
523
|
|
|
525
524
|
/** @internal */
|
|
526
525
|
export const findFirst: {
|
|
527
|
-
<K, A>(predicate: (
|
|
528
|
-
<K, A
|
|
526
|
+
<K, A, B extends A>(predicate: (a: A, k: K) => a is B): (self: HM.HashMap<K, A>) => Option.Option<[K, B]>
|
|
527
|
+
<K, B extends A, A = B>(predicate: (a: A, k: K) => boolean): (self: HM.HashMap<K, B>) => Option.Option<[K, B]>
|
|
528
|
+
<K, A, B extends A>(self: HM.HashMap<K, A>, predicate: (a: A, k: K) => a is B): Option.Option<[K, B]>
|
|
529
|
+
<K, A>(self: HM.HashMap<K, A>, predicate: (a: A, k: K) => boolean): Option.Option<[K, A]>
|
|
529
530
|
} = Dual.dual(
|
|
530
531
|
2,
|
|
531
|
-
<K, A>(self: HM.HashMap<K, A>, predicate: (
|
|
532
|
+
<K, A>(self: HM.HashMap<K, A>, predicate: (a: A, k: K) => boolean): Option.Option<[K, A]> => {
|
|
532
533
|
for (const ka of self) {
|
|
533
|
-
if (predicate(ka[
|
|
534
|
+
if (predicate(ka[1], ka[0])) {
|
|
534
535
|
return Option.some(ka)
|
|
535
536
|
}
|
|
536
537
|
}
|
package/src/internal/hashSet.ts
CHANGED
|
@@ -15,7 +15,7 @@ const HashSetSymbolKey = "effect/HashSet"
|
|
|
15
15
|
export const HashSetTypeId: HS.TypeId = Symbol.for(HashSetSymbolKey) as HS.TypeId
|
|
16
16
|
|
|
17
17
|
/** @internal */
|
|
18
|
-
export interface HashSetImpl<A> extends HS.HashSet<A> {
|
|
18
|
+
export interface HashSetImpl<out A> extends HS.HashSet<A> {
|
|
19
19
|
readonly _keyMap: HashMap<A, unknown>
|
|
20
20
|
}
|
|
21
21
|
|
|
@@ -271,16 +271,12 @@ export const reduce = dual<
|
|
|
271
271
|
))
|
|
272
272
|
|
|
273
273
|
/** @internal */
|
|
274
|
-
export const filter
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
<A, B extends A>(self: HS.HashSet<A>, f: Refinement<A, B>): HS.HashSet<B>
|
|
281
|
-
<A>(self: HS.HashSet<A>, f: Predicate<A>): HS.HashSet<A>
|
|
282
|
-
}
|
|
283
|
-
>(2, <A>(self: HS.HashSet<A>, f: Predicate<A>) => {
|
|
274
|
+
export const filter: {
|
|
275
|
+
<A, B extends A>(refinement: Refinement<A, B>): (self: HS.HashSet<A>) => HS.HashSet<B>
|
|
276
|
+
<B extends A, A = B>(predicate: Predicate<B>): (self: HS.HashSet<A>) => HS.HashSet<A>
|
|
277
|
+
<A, B extends A>(self: HS.HashSet<A>, refinement: Refinement<A, B>): HS.HashSet<B>
|
|
278
|
+
<A>(self: HS.HashSet<A>, predicate: Predicate<A>): HS.HashSet<A>
|
|
279
|
+
} = dual(2, <A>(self: HS.HashSet<A>, f: Predicate<A>) => {
|
|
284
280
|
return mutate(empty(), (set) => {
|
|
285
281
|
const iterator = values(self)
|
|
286
282
|
let next: IteratorResult<A, any>
|
|
@@ -297,25 +293,27 @@ export const filter = dual<
|
|
|
297
293
|
export const partition: {
|
|
298
294
|
<C extends A, B extends A, A = C>(
|
|
299
295
|
refinement: Refinement<A, B>
|
|
300
|
-
): (self: HS.HashSet<C>) => [HS.HashSet<Exclude<C, B>>, HS.HashSet<B>]
|
|
301
|
-
<
|
|
302
|
-
|
|
303
|
-
|
|
296
|
+
): (self: HS.HashSet<C>) => [excluded: HS.HashSet<Exclude<C, B>>, satisfying: HS.HashSet<B>]
|
|
297
|
+
<A, B extends A>(
|
|
298
|
+
predicate: Predicate<A>
|
|
299
|
+
): (self: HS.HashSet<B>) => [excluded: HS.HashSet<B>, satisfying: HS.HashSet<B>]
|
|
300
|
+
<A, B extends A>(
|
|
301
|
+
self: HS.HashSet<A>,
|
|
304
302
|
refinement: Refinement<A, B>
|
|
305
|
-
): [HS.HashSet<Exclude<
|
|
306
|
-
<
|
|
307
|
-
} = dual(2, <A>(self: HS.HashSet<A>,
|
|
303
|
+
): [excluded: HS.HashSet<Exclude<A, B>>, satisfying: HS.HashSet<B>]
|
|
304
|
+
<A>(self: HS.HashSet<A>, predicate: Predicate<A>): [excluded: HS.HashSet<A>, satisfying: HS.HashSet<A>]
|
|
305
|
+
} = dual(2, <A>(self: HS.HashSet<A>, predicate: Predicate<A>): [excluded: HS.HashSet<A>, satisfying: HS.HashSet<A>] => {
|
|
308
306
|
const iterator = values(self)
|
|
309
307
|
let next: IteratorResult<A, any>
|
|
310
308
|
const right = beginMutation(empty<A>())
|
|
311
309
|
const left = beginMutation(empty<A>())
|
|
312
310
|
while (!(next = iterator.next()).done) {
|
|
313
311
|
const value = next.value
|
|
314
|
-
if (
|
|
312
|
+
if (predicate(value)) {
|
|
315
313
|
add(right, value)
|
|
316
314
|
} else {
|
|
317
315
|
add(left, value)
|
|
318
316
|
}
|
|
319
317
|
}
|
|
320
|
-
return [endMutation(left), endMutation(right)]
|
|
318
|
+
return [endMutation(left), endMutation(right)]
|
|
321
319
|
})
|
|
@@ -30,10 +30,10 @@ type KeyedPoolMapValueSymbol = typeof KeyedPoolMapValueSymbol
|
|
|
30
30
|
const keyedPoolVariance = {
|
|
31
31
|
_K: (_: unknown) => _,
|
|
32
32
|
_E: (_: never) => _,
|
|
33
|
-
_A: (_:
|
|
33
|
+
_A: (_: any) => _
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
class KeyedPoolImpl<K, E, A> implements KeyedPool.KeyedPool<K, E, A> {
|
|
36
|
+
class KeyedPoolImpl<in K, out E, in out A> implements KeyedPool.KeyedPool<K, E, A> {
|
|
37
37
|
readonly [KeyedPoolTypeId] = keyedPoolVariance
|
|
38
38
|
constructor(
|
|
39
39
|
readonly getOrCreatePool: (key: K) => Effect.Effect<never, never, Pool.Pool<E, A>>,
|
|
@@ -52,7 +52,7 @@ class KeyedPoolImpl<K, E, A> implements KeyedPool.KeyedPool<K, E, A> {
|
|
|
52
52
|
|
|
53
53
|
type MapValue<E, A> = Complete<E, A> | Pending<E, A>
|
|
54
54
|
|
|
55
|
-
class Complete<E, A> implements Equal.Equal {
|
|
55
|
+
class Complete<out E, in out A> implements Equal.Equal {
|
|
56
56
|
readonly _tag = "Complete"
|
|
57
57
|
readonly [KeyedPoolMapValueSymbol]: KeyedPoolMapValueSymbol = KeyedPoolMapValueSymbol
|
|
58
58
|
constructor(readonly pool: Pool.Pool<E, A>) {}
|
|
@@ -70,7 +70,7 @@ class Complete<E, A> implements Equal.Equal {
|
|
|
70
70
|
const isComplete = (u: unknown): u is Complete<unknown, unknown> =>
|
|
71
71
|
Predicate.isTagged(u, "Complete") && KeyedPoolMapValueSymbol in u
|
|
72
72
|
|
|
73
|
-
class Pending<E, A> implements Equal.Equal {
|
|
73
|
+
class Pending<in out E, in out A> implements Equal.Equal {
|
|
74
74
|
readonly _tag = "Pending"
|
|
75
75
|
readonly [KeyedPoolMapValueSymbol]: KeyedPoolMapValueSymbol = KeyedPoolMapValueSymbol
|
|
76
76
|
constructor(readonly deferred: Deferred.Deferred<never, Pool.Pool<E, A>>) {}
|
package/src/internal/layer.ts
CHANGED
|
@@ -82,8 +82,8 @@ export interface ExtendScope extends
|
|
|
82
82
|
export interface Fold extends
|
|
83
83
|
Op<OpCodes.OP_FOLD, {
|
|
84
84
|
readonly layer: Layer.Layer<never, never, unknown>
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
failureK(cause: Cause.Cause<unknown>): Layer.Layer<never, never, unknown>
|
|
86
|
+
successK(context: Context.Context<unknown>): Layer.Layer<never, never, unknown>
|
|
87
87
|
}>
|
|
88
88
|
{}
|
|
89
89
|
|
|
@@ -111,7 +111,7 @@ export interface Scoped extends
|
|
|
111
111
|
/** @internal */
|
|
112
112
|
export interface Suspend extends
|
|
113
113
|
Op<OpCodes.OP_SUSPEND, {
|
|
114
|
-
|
|
114
|
+
evaluate(): Layer.Layer<never, never, unknown>
|
|
115
115
|
}>
|
|
116
116
|
{}
|
|
117
117
|
|
|
@@ -119,7 +119,7 @@ export interface Suspend extends
|
|
|
119
119
|
export interface Locally extends
|
|
120
120
|
Op<"Locally", {
|
|
121
121
|
readonly self: Layer.Layer<never, never, unknown>
|
|
122
|
-
|
|
122
|
+
f(_: Effect.Effect<any, any, any>): Effect.Effect<any, any, any>
|
|
123
123
|
}>
|
|
124
124
|
{}
|
|
125
125
|
|
|
@@ -136,10 +136,7 @@ export interface ZipWith extends
|
|
|
136
136
|
Op<OpCodes.OP_ZIP_WITH, {
|
|
137
137
|
readonly first: Layer.Layer<never, never, unknown>
|
|
138
138
|
readonly second: Layer.Layer<never, never, unknown>
|
|
139
|
-
|
|
140
|
-
left: Context.Context<unknown>,
|
|
141
|
-
right: Context.Context<unknown>
|
|
142
|
-
) => Context.Context<unknown>
|
|
139
|
+
zipK(left: Context.Context<unknown>, right: Context.Context<unknown>): Context.Context<unknown>
|
|
143
140
|
}>
|
|
144
141
|
{}
|
|
145
142
|
|
|
@@ -148,10 +145,7 @@ export interface ZipWithPar extends
|
|
|
148
145
|
Op<OpCodes.OP_ZIP_WITH_PAR, {
|
|
149
146
|
readonly first: Layer.Layer<never, never, unknown>
|
|
150
147
|
readonly second: Layer.Layer<never, never, unknown>
|
|
151
|
-
|
|
152
|
-
left: Context.Context<unknown>,
|
|
153
|
-
right: Context.Context<unknown>
|
|
154
|
-
) => Context.Context<unknown>
|
|
148
|
+
zipK(left: Context.Context<unknown>, right: Context.Context<unknown>): Context.Context<unknown>
|
|
155
149
|
}>
|
|
156
150
|
{}
|
|
157
151
|
|
|
@@ -28,7 +28,7 @@ const metricKeyVariance = {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
/** @internal */
|
|
31
|
-
class MetricKeyImpl<Type extends MetricKeyType.MetricKeyType<any, any>> implements MetricKey.MetricKey<Type> {
|
|
31
|
+
class MetricKeyImpl<out Type extends MetricKeyType.MetricKeyType<any, any>> implements MetricKey.MetricKey<Type> {
|
|
32
32
|
readonly [MetricKeyTypeId] = metricKeyVariance
|
|
33
33
|
constructor(
|
|
34
34
|
readonly name: string,
|
|
@@ -2,7 +2,7 @@ import type * as Effect from "../../Effect.js"
|
|
|
2
2
|
import type * as Fiber from "../../Fiber.js"
|
|
3
3
|
import { dual, pipe } from "../../Function.js"
|
|
4
4
|
import type * as Metric from "../../Metric.js"
|
|
5
|
-
import type * as
|
|
5
|
+
import type * as MetricPolling from "../../MetricPolling.js"
|
|
6
6
|
import { pipeArguments } from "../../Pipeable.js"
|
|
7
7
|
import type * as Schedule from "../../Schedule.js"
|
|
8
8
|
import type * as Scope from "../../Scope.js"
|
|
@@ -12,20 +12,20 @@ import * as metric from "../metric.js"
|
|
|
12
12
|
import * as schedule from "../schedule.js"
|
|
13
13
|
|
|
14
14
|
/** @internal */
|
|
15
|
-
const
|
|
15
|
+
const MetricPollingSymbolKey = "effect/MetricPolling"
|
|
16
16
|
|
|
17
17
|
/** @internal */
|
|
18
|
-
export const
|
|
19
|
-
|
|
20
|
-
) as
|
|
18
|
+
export const MetricPollingTypeId: MetricPolling.MetricPollingTypeId = Symbol.for(
|
|
19
|
+
MetricPollingSymbolKey
|
|
20
|
+
) as MetricPolling.MetricPollingTypeId
|
|
21
21
|
|
|
22
22
|
/** @internal */
|
|
23
23
|
export const make = <Type, In, Out, R, E>(
|
|
24
24
|
metric: Metric.Metric<Type, In, Out>,
|
|
25
25
|
poll: Effect.Effect<R, E, In>
|
|
26
|
-
):
|
|
26
|
+
): MetricPolling.MetricPolling<Type, In, R, E, Out> => {
|
|
27
27
|
return {
|
|
28
|
-
[
|
|
28
|
+
[MetricPollingTypeId]: MetricPollingTypeId,
|
|
29
29
|
pipe() {
|
|
30
30
|
return pipeArguments(this, arguments)
|
|
31
31
|
},
|
|
@@ -36,11 +36,11 @@ export const make = <Type, In, Out, R, E>(
|
|
|
36
36
|
|
|
37
37
|
/** @internal */
|
|
38
38
|
export const collectAll = <R, E, Out>(
|
|
39
|
-
iterable: Iterable<
|
|
40
|
-
):
|
|
39
|
+
iterable: Iterable<MetricPolling.MetricPolling<any, any, R, E, Out>>
|
|
40
|
+
): MetricPolling.MetricPolling<Array<any>, Array<any>, R, E, Array<Out>> => {
|
|
41
41
|
const metrics = Array.from(iterable)
|
|
42
42
|
return {
|
|
43
|
-
[
|
|
43
|
+
[MetricPollingTypeId]: MetricPollingTypeId,
|
|
44
44
|
pipe() {
|
|
45
45
|
return pipeArguments(this, arguments)
|
|
46
46
|
},
|
|
@@ -67,10 +67,10 @@ export const launch = dual<
|
|
|
67
67
|
<R2, A2>(
|
|
68
68
|
schedule: Schedule.Schedule<R2, unknown, A2>
|
|
69
69
|
) => <Type, In, R, E, Out>(
|
|
70
|
-
self:
|
|
70
|
+
self: MetricPolling.MetricPolling<Type, In, R, E, Out>
|
|
71
71
|
) => Effect.Effect<R | R2 | Scope.Scope, never, Fiber.Fiber<E, A2>>,
|
|
72
72
|
<Type, In, R, E, Out, R2, A2>(
|
|
73
|
-
self:
|
|
73
|
+
self: MetricPolling.MetricPolling<Type, In, R, E, Out>,
|
|
74
74
|
schedule: Schedule.Schedule<R2, unknown, A2>
|
|
75
75
|
) => Effect.Effect<R | R2 | Scope.Scope, never, Fiber.Fiber<E, A2>>
|
|
76
76
|
>(2, (self, schedule) =>
|
|
@@ -82,12 +82,12 @@ export const launch = dual<
|
|
|
82
82
|
|
|
83
83
|
/** @internal */
|
|
84
84
|
export const poll = <Type, In, R, E, Out>(
|
|
85
|
-
self:
|
|
85
|
+
self: MetricPolling.MetricPolling<Type, In, R, E, Out>
|
|
86
86
|
): Effect.Effect<R, E, In> => self.poll
|
|
87
87
|
|
|
88
88
|
/** @internal */
|
|
89
89
|
export const pollAndUpdate = <Type, In, R, E, Out>(
|
|
90
|
-
self:
|
|
90
|
+
self: MetricPolling.MetricPolling<Type, In, R, E, Out>
|
|
91
91
|
): Effect.Effect<R, E, void> => core.flatMap(self.poll, (value) => metric.update(self.metric, value))
|
|
92
92
|
|
|
93
93
|
/** @internal */
|
|
@@ -95,14 +95,14 @@ export const retry = dual<
|
|
|
95
95
|
<R2, E, _>(
|
|
96
96
|
policy: Schedule.Schedule<R2, E, _>
|
|
97
97
|
) => <Type, In, R, Out>(
|
|
98
|
-
self:
|
|
99
|
-
) =>
|
|
98
|
+
self: MetricPolling.MetricPolling<Type, In, R, E, Out>
|
|
99
|
+
) => MetricPolling.MetricPolling<Type, In, R | R2, E, Out>,
|
|
100
100
|
<Type, In, R, Out, R2, E, _>(
|
|
101
|
-
self:
|
|
101
|
+
self: MetricPolling.MetricPolling<Type, In, R, E, Out>,
|
|
102
102
|
policy: Schedule.Schedule<R2, E, _>
|
|
103
|
-
) =>
|
|
103
|
+
) => MetricPolling.MetricPolling<Type, In, R | R2, E, Out>
|
|
104
104
|
>(2, (self, policy) => ({
|
|
105
|
-
[
|
|
105
|
+
[MetricPollingTypeId]: MetricPollingTypeId,
|
|
106
106
|
pipe() {
|
|
107
107
|
return pipeArguments(this, arguments)
|
|
108
108
|
},
|
|
@@ -113,10 +113,10 @@ export const retry = dual<
|
|
|
113
113
|
/** @internal */
|
|
114
114
|
export const zip = dual<
|
|
115
115
|
<Type2, In2, R2, E2, Out2>(
|
|
116
|
-
that:
|
|
116
|
+
that: MetricPolling.MetricPolling<Type2, In2, R2, E2, Out2>
|
|
117
117
|
) => <Type, In, R, E, Out>(
|
|
118
|
-
self:
|
|
119
|
-
) =>
|
|
118
|
+
self: MetricPolling.MetricPolling<Type, In, R, E, Out>
|
|
119
|
+
) => MetricPolling.MetricPolling<
|
|
120
120
|
readonly [Type, Type2],
|
|
121
121
|
readonly [In, In2],
|
|
122
122
|
R | R2,
|
|
@@ -124,9 +124,9 @@ export const zip = dual<
|
|
|
124
124
|
[Out, Out2]
|
|
125
125
|
>,
|
|
126
126
|
<Type, In, R, E, Out, Type2, In2, R2, E2, Out2>(
|
|
127
|
-
self:
|
|
128
|
-
that:
|
|
129
|
-
) =>
|
|
127
|
+
self: MetricPolling.MetricPolling<Type, In, R, E, Out>,
|
|
128
|
+
that: MetricPolling.MetricPolling<Type2, In2, R2, E2, Out2>
|
|
129
|
+
) => MetricPolling.MetricPolling<
|
|
130
130
|
readonly [Type, Type2],
|
|
131
131
|
readonly [In, In2],
|
|
132
132
|
R | R2,
|
|
@@ -134,7 +134,7 @@ export const zip = dual<
|
|
|
134
134
|
[Out, Out2]
|
|
135
135
|
>
|
|
136
136
|
>(2, (self, that) => ({
|
|
137
|
-
[
|
|
137
|
+
[MetricPollingTypeId]: MetricPollingTypeId,
|
|
138
138
|
pipe() {
|
|
139
139
|
return pipeArguments(this, arguments)
|
|
140
140
|
},
|
package/src/internal/metric.ts
CHANGED
package/src/internal/pool.ts
CHANGED
|
@@ -29,7 +29,7 @@ export const PoolTypeId: Pool.PoolTypeId = Symbol.for(
|
|
|
29
29
|
|
|
30
30
|
const poolVariance = {
|
|
31
31
|
_E: (_: never) => _,
|
|
32
|
-
_A: (_:
|
|
32
|
+
_A: (_: any) => _
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
interface PoolState {
|
|
@@ -131,7 +131,7 @@ class TimeToLiveStrategy implements Strategy<readonly [Clock.Clock, Ref.Ref<numb
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
class PoolImpl<E, A> implements Pool.Pool<E, A> {
|
|
134
|
+
class PoolImpl<in out E, in out A> implements Pool.Pool<E, A> {
|
|
135
135
|
readonly [PoolTypeId] = poolVariance
|
|
136
136
|
constructor(
|
|
137
137
|
readonly creator: Effect.Effect<Scope.Scope, E, A>,
|