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
package/src/PubSub.ts
CHANGED
|
@@ -15,18 +15,18 @@ import type * as Scope from "./Scope.js"
|
|
|
15
15
|
* @since 2.0.0
|
|
16
16
|
* @category models
|
|
17
17
|
*/
|
|
18
|
-
export interface PubSub<A> extends Queue.Enqueue<A>, Pipeable {
|
|
18
|
+
export interface PubSub<in out A> extends Queue.Enqueue<A>, Pipeable {
|
|
19
19
|
/**
|
|
20
20
|
* Publishes a message to the `PubSub`, returning whether the message was published
|
|
21
21
|
* to the `PubSub`.
|
|
22
22
|
*/
|
|
23
|
-
|
|
23
|
+
publish(value: A): Effect.Effect<never, never, boolean>
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Publishes all of the specified messages to the `PubSub`, returning whether they
|
|
27
27
|
* were published to the `PubSub`.
|
|
28
28
|
*/
|
|
29
|
-
|
|
29
|
+
publishAll(elements: Iterable<A>): Effect.Effect<never, never, boolean>
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* Subscribes to receive messages from the `PubSub`. The resulting subscription can
|
package/src/Queue.ts
CHANGED
|
@@ -46,11 +46,23 @@ export const QueueStrategyTypeId: unique symbol = internal.QueueStrategyTypeId
|
|
|
46
46
|
*/
|
|
47
47
|
export type QueueStrategyTypeId = typeof QueueStrategyTypeId
|
|
48
48
|
|
|
49
|
+
/**
|
|
50
|
+
* @since 2.0.0
|
|
51
|
+
* @category symbols
|
|
52
|
+
*/
|
|
53
|
+
export const BackingQueueTypeId: unique symbol = internal.BackingQueueTypeId
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @since 2.0.0
|
|
57
|
+
* @category symbols
|
|
58
|
+
*/
|
|
59
|
+
export type BackingQueueTypeId = typeof BackingQueueTypeId
|
|
60
|
+
|
|
49
61
|
/**
|
|
50
62
|
* @since 2.0.0
|
|
51
63
|
* @category models
|
|
52
64
|
*/
|
|
53
|
-
export interface Queue<A> extends Enqueue<A>, Dequeue<A>, Pipeable {
|
|
65
|
+
export interface Queue<in out A> extends Enqueue<A>, Dequeue<A>, Pipeable {
|
|
54
66
|
/** @internal */
|
|
55
67
|
readonly queue: BackingQueue<A>
|
|
56
68
|
/** @internal */
|
|
@@ -67,16 +79,16 @@ export interface Queue<A> extends Enqueue<A>, Dequeue<A>, Pipeable {
|
|
|
67
79
|
* @since 2.0.0
|
|
68
80
|
* @category models
|
|
69
81
|
*/
|
|
70
|
-
export interface Enqueue<A> extends Queue.EnqueueVariance<A>, BaseQueue, Pipeable {
|
|
82
|
+
export interface Enqueue<in A> extends Queue.EnqueueVariance<A>, BaseQueue, Pipeable {
|
|
71
83
|
/**
|
|
72
84
|
* Places one value in the queue.
|
|
73
85
|
*/
|
|
74
|
-
|
|
86
|
+
offer(value: A): Effect.Effect<never, never, boolean>
|
|
75
87
|
|
|
76
88
|
/**
|
|
77
89
|
* Places one value in the queue when possible without needing the fiber runtime.
|
|
78
90
|
*/
|
|
79
|
-
|
|
91
|
+
unsafeOffer(value: A): boolean
|
|
80
92
|
|
|
81
93
|
/**
|
|
82
94
|
* For Bounded Queue: uses the `BackPressure` Strategy, places the values in
|
|
@@ -93,14 +105,14 @@ export interface Enqueue<A> extends Queue.EnqueueVariance<A>, BaseQueue, Pipeabl
|
|
|
93
105
|
* For Dropping Queue: uses `Dropping` Strategy, It places the values in the
|
|
94
106
|
* queue but if there is no room it will not enqueue them and return false.
|
|
95
107
|
*/
|
|
96
|
-
|
|
108
|
+
offerAll(iterable: Iterable<A>): Effect.Effect<never, never, boolean>
|
|
97
109
|
}
|
|
98
110
|
|
|
99
111
|
/**
|
|
100
112
|
* @since 2.0.0
|
|
101
113
|
* @category models
|
|
102
114
|
*/
|
|
103
|
-
export interface Dequeue<A> extends Queue.DequeueVariance<A>, BaseQueue, Pipeable {
|
|
115
|
+
export interface Dequeue<out A> extends Queue.DequeueVariance<A>, BaseQueue, Pipeable {
|
|
104
116
|
/**
|
|
105
117
|
* Takes the oldest value in the queue. If the queue is empty, this will return
|
|
106
118
|
* a computation that resumes when an item has been added to the queue.
|
|
@@ -116,14 +128,14 @@ export interface Dequeue<A> extends Queue.DequeueVariance<A>, BaseQueue, Pipeabl
|
|
|
116
128
|
/**
|
|
117
129
|
* Takes up to max number of values from the queue.
|
|
118
130
|
*/
|
|
119
|
-
|
|
131
|
+
takeUpTo(max: number): Effect.Effect<never, never, Chunk.Chunk<A>>
|
|
120
132
|
|
|
121
133
|
/**
|
|
122
134
|
* Takes a number of elements from the queue between the specified minimum and
|
|
123
135
|
* maximum. If there are fewer than the minimum number of elements available,
|
|
124
136
|
* suspends until at least the minimum number of elements have been collected.
|
|
125
137
|
*/
|
|
126
|
-
|
|
138
|
+
takeBetween(min: number, max: number): Effect.Effect<never, never, Chunk.Chunk<A>>
|
|
127
139
|
}
|
|
128
140
|
|
|
129
141
|
/**
|
|
@@ -136,12 +148,12 @@ export interface BaseQueue {
|
|
|
136
148
|
/**
|
|
137
149
|
* Returns the number of elements the queue can hold.
|
|
138
150
|
*/
|
|
139
|
-
|
|
151
|
+
capacity(): number
|
|
140
152
|
|
|
141
153
|
/**
|
|
142
154
|
* Returns false if shutdown has been called.
|
|
143
155
|
*/
|
|
144
|
-
|
|
156
|
+
isActive(): boolean
|
|
145
157
|
|
|
146
158
|
/**
|
|
147
159
|
* Retrieves the size of the queue, which is equal to the number of elements
|
|
@@ -155,7 +167,7 @@ export interface BaseQueue {
|
|
|
155
167
|
* in the queue. This may be negative if fibers are suspended waiting for
|
|
156
168
|
* elements to be added to the queue. Returns None if shutdown has been called
|
|
157
169
|
*/
|
|
158
|
-
|
|
170
|
+
unsafeSize(): Option.Option<number>
|
|
159
171
|
|
|
160
172
|
/**
|
|
161
173
|
* Returns `true` if the `Queue` contains at least one element, `false`
|
|
@@ -191,12 +203,12 @@ export interface BaseQueue {
|
|
|
191
203
|
* @since 2.0.0
|
|
192
204
|
* @category models
|
|
193
205
|
*/
|
|
194
|
-
export interface Strategy<A> extends Queue.StrategyVariance<A> {
|
|
206
|
+
export interface Strategy<in out A> extends Queue.StrategyVariance<A> {
|
|
195
207
|
/**
|
|
196
208
|
* Returns the number of surplus values that were unable to be added to the
|
|
197
209
|
* `Queue`
|
|
198
210
|
*/
|
|
199
|
-
|
|
211
|
+
surplusSize(): number
|
|
200
212
|
|
|
201
213
|
/**
|
|
202
214
|
* Determines how the `Queue.Strategy` should shut down when the `Queue` is
|
|
@@ -209,68 +221,68 @@ export interface Strategy<A> extends Queue.StrategyVariance<A> {
|
|
|
209
221
|
* values that could not be added to the `Queue` following an `offer`
|
|
210
222
|
* operation.
|
|
211
223
|
*/
|
|
212
|
-
|
|
224
|
+
handleSurplus(
|
|
213
225
|
iterable: Iterable<A>,
|
|
214
226
|
queue: BackingQueue<A>,
|
|
215
227
|
takers: MutableQueue.MutableQueue<Deferred.Deferred<never, A>>,
|
|
216
228
|
isShutdown: MutableRef.MutableRef<boolean>
|
|
217
|
-
)
|
|
229
|
+
): Effect.Effect<never, never, boolean>
|
|
218
230
|
|
|
219
231
|
/**
|
|
220
232
|
* It is called when the backing queue is empty but there are some
|
|
221
233
|
* takers that can be completed
|
|
222
234
|
*/
|
|
223
|
-
|
|
235
|
+
onCompleteTakersWithEmptyQueue(
|
|
224
236
|
takers: MutableQueue.MutableQueue<Deferred.Deferred<never, A>>
|
|
225
|
-
)
|
|
237
|
+
): void
|
|
226
238
|
|
|
227
239
|
/**
|
|
228
240
|
* Determines the behavior of the `Queue.Strategy` when the `Queue` has empty
|
|
229
241
|
* slots following a `take` operation.
|
|
230
242
|
*/
|
|
231
|
-
|
|
243
|
+
unsafeOnQueueEmptySpace(
|
|
232
244
|
queue: BackingQueue<A>,
|
|
233
245
|
takers: MutableQueue.MutableQueue<Deferred.Deferred<never, A>>
|
|
234
|
-
)
|
|
246
|
+
): void
|
|
235
247
|
}
|
|
236
248
|
|
|
237
249
|
/**
|
|
238
250
|
* @since 2.0.0
|
|
239
251
|
* @category models
|
|
240
252
|
*/
|
|
241
|
-
export interface BackingQueue<A> {
|
|
253
|
+
export interface BackingQueue<in out A> extends Queue.BackingQueueVariance<A> {
|
|
242
254
|
/**
|
|
243
255
|
* Dequeues an element from the queue.
|
|
244
256
|
* Returns either an element from the queue, or the `def` param.
|
|
245
257
|
*/
|
|
246
|
-
|
|
258
|
+
poll<Def>(def: Def): A | Def
|
|
247
259
|
/**
|
|
248
260
|
* Dequeues up to `limit` elements from the queue.
|
|
249
261
|
*/
|
|
250
|
-
|
|
262
|
+
pollUpTo(limit: number): Chunk.Chunk<A>
|
|
251
263
|
/**
|
|
252
264
|
* Enqueues a collection of values into the queue.
|
|
253
265
|
*
|
|
254
266
|
* Returns a `Chunk` of the values that were **not** able to be enqueued.
|
|
255
267
|
*/
|
|
256
|
-
|
|
268
|
+
offerAll(elements: Iterable<A>): Chunk.Chunk<A>
|
|
257
269
|
/**
|
|
258
270
|
* Offers an element to the queue.
|
|
259
271
|
*
|
|
260
272
|
* Returns whether the enqueue was successful or not.
|
|
261
273
|
*/
|
|
262
|
-
|
|
274
|
+
offer(element: A): boolean
|
|
263
275
|
/**
|
|
264
276
|
* The **maximum** number of elements that a queue can hold.
|
|
265
277
|
*
|
|
266
278
|
* **Note**: unbounded queues can still implement this interface with
|
|
267
279
|
* `capacity = Infinity`.
|
|
268
280
|
*/
|
|
269
|
-
|
|
281
|
+
capacity(): number
|
|
270
282
|
/**
|
|
271
283
|
* Returns the number of elements currently in the queue
|
|
272
284
|
*/
|
|
273
|
-
|
|
285
|
+
length(): number
|
|
274
286
|
}
|
|
275
287
|
|
|
276
288
|
/**
|
|
@@ -281,7 +293,7 @@ export declare namespace Queue {
|
|
|
281
293
|
* @since 2.0.0
|
|
282
294
|
* @category models
|
|
283
295
|
*/
|
|
284
|
-
export interface EnqueueVariance<A> {
|
|
296
|
+
export interface EnqueueVariance<in A> {
|
|
285
297
|
readonly [EnqueueTypeId]: {
|
|
286
298
|
readonly _In: (_: A) => void
|
|
287
299
|
}
|
|
@@ -291,7 +303,7 @@ export declare namespace Queue {
|
|
|
291
303
|
* @since 2.0.0
|
|
292
304
|
* @category models
|
|
293
305
|
*/
|
|
294
|
-
export interface DequeueVariance<A> {
|
|
306
|
+
export interface DequeueVariance<out A> {
|
|
295
307
|
readonly [DequeueTypeId]: {
|
|
296
308
|
readonly _Out: (_: never) => A
|
|
297
309
|
}
|
|
@@ -301,9 +313,19 @@ export declare namespace Queue {
|
|
|
301
313
|
* @since 2.0.0
|
|
302
314
|
* @category models
|
|
303
315
|
*/
|
|
304
|
-
export interface StrategyVariance<A> {
|
|
316
|
+
export interface StrategyVariance<in out A> {
|
|
305
317
|
readonly [QueueStrategyTypeId]: {
|
|
306
|
-
readonly _A: (_:
|
|
318
|
+
readonly _A: (_: A) => A
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* @since 2.0.0
|
|
324
|
+
* @category models
|
|
325
|
+
*/
|
|
326
|
+
export interface BackingQueueVariance<in out A> {
|
|
327
|
+
readonly [BackingQueueTypeId]: {
|
|
328
|
+
readonly _A: (_: A) => A
|
|
307
329
|
}
|
|
308
330
|
}
|
|
309
331
|
}
|
package/src/Random.ts
CHANGED
|
@@ -40,16 +40,16 @@ export interface Random {
|
|
|
40
40
|
* Returns the next numeric value in the specified range from the
|
|
41
41
|
* pseudo-random number generator.
|
|
42
42
|
*/
|
|
43
|
-
|
|
43
|
+
nextRange(min: number, max: number): Effect.Effect<never, never, number>
|
|
44
44
|
/**
|
|
45
45
|
* Returns the next integer value in the specified range from the
|
|
46
46
|
* pseudo-random number generator.
|
|
47
47
|
*/
|
|
48
|
-
|
|
48
|
+
nextIntBetween(min: number, max: number): Effect.Effect<never, never, number>
|
|
49
49
|
/**
|
|
50
50
|
* Uses the pseudo-random number generator to shuffle the specified iterable.
|
|
51
51
|
*/
|
|
52
|
-
|
|
52
|
+
shuffle<A>(elements: Iterable<A>): Effect.Effect<never, never, Chunk.Chunk<A>>
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
/**
|
package/src/ReadonlyArray.ts
CHANGED
|
@@ -444,7 +444,7 @@ export const unsafeGet: {
|
|
|
444
444
|
*/
|
|
445
445
|
export const unprepend = <A>(
|
|
446
446
|
self: NonEmptyReadonlyArray<A>
|
|
447
|
-
): [A, Array<A>] => [headNonEmpty(self), tailNonEmpty(self)]
|
|
447
|
+
): [firstElement: A, remainingElements: Array<A>] => [headNonEmpty(self), tailNonEmpty(self)]
|
|
448
448
|
|
|
449
449
|
/**
|
|
450
450
|
* Return a tuple containing a copy of the `NonEmptyReadonlyArray` without its last element, and that last element.
|
|
@@ -454,7 +454,7 @@ export const unprepend = <A>(
|
|
|
454
454
|
*/
|
|
455
455
|
export const unappend = <A>(
|
|
456
456
|
self: NonEmptyReadonlyArray<A>
|
|
457
|
-
): [Array<A>, A] => [initNonEmpty(self), lastNonEmpty(self)]
|
|
457
|
+
): [arrayWithoutLastElement: Array<A>, lastElement: A] => [initNonEmpty(self), lastNonEmpty(self)]
|
|
458
458
|
|
|
459
459
|
/**
|
|
460
460
|
* Get the first element of a `ReadonlyArray`, or `None` if the `ReadonlyArray` is empty.
|
|
@@ -562,11 +562,11 @@ export const takeRight: {
|
|
|
562
562
|
*/
|
|
563
563
|
export const takeWhile: {
|
|
564
564
|
<A, B extends A>(refinement: Refinement<A, B>): (self: Iterable<A>) => Array<B>
|
|
565
|
-
<A>(predicate: Predicate<A>):
|
|
565
|
+
<B extends A, A = B>(predicate: Predicate<A>): (self: Iterable<B>) => Array<B>
|
|
566
566
|
<A, B extends A>(self: Iterable<A>, refinement: Refinement<A, B>): Array<B>
|
|
567
|
-
<
|
|
568
|
-
} = dual(2, <
|
|
569
|
-
const out: Array<
|
|
567
|
+
<A>(self: Iterable<A>, predicate: Predicate<A>): Array<A>
|
|
568
|
+
} = dual(2, <A>(self: Iterable<A>, predicate: Predicate<A>): Array<A> => {
|
|
569
|
+
const out: Array<A> = []
|
|
570
570
|
for (const a of self) {
|
|
571
571
|
if (!predicate(a)) {
|
|
572
572
|
break
|
|
@@ -597,18 +597,15 @@ const spanIndex = <A>(self: Iterable<A>, predicate: Predicate<A>): number => {
|
|
|
597
597
|
* @since 2.0.0
|
|
598
598
|
*/
|
|
599
599
|
export const span: {
|
|
600
|
-
<A, B extends A>(
|
|
601
|
-
refinement: Refinement<A, B>
|
|
602
|
-
): (self: Iterable<A>) => [init: Array<B>, rest: Array<A>]
|
|
603
|
-
<A>(predicate: Predicate<A>): <B extends A>(self: Iterable<B>) => [init: Array<B>, rest: Array<B>]
|
|
604
|
-
<A, B extends A>(
|
|
605
|
-
self: Iterable<A>,
|
|
600
|
+
<C extends A, B extends A, A = C>(
|
|
606
601
|
refinement: Refinement<A, B>
|
|
607
|
-
): [init: Array<B>, rest: Array<
|
|
608
|
-
<B extends A, A>(
|
|
602
|
+
): (self: Iterable<C>) => [init: Array<B>, rest: Array<Exclude<C, B>>]
|
|
603
|
+
<B extends A, A = B>(predicate: Predicate<A>): (self: Iterable<B>) => [init: Array<B>, rest: Array<B>]
|
|
604
|
+
<A, B extends A>(self: Iterable<A>, refinement: Refinement<A, B>): [init: Array<B>, rest: Array<Exclude<A, B>>]
|
|
605
|
+
<A>(self: Iterable<A>, predicate: Predicate<A>): [init: Array<A>, rest: Array<A>]
|
|
609
606
|
} = dual(
|
|
610
607
|
2,
|
|
611
|
-
<
|
|
608
|
+
<A>(self: Iterable<A>, predicate: Predicate<A>): [init: Array<A>, rest: Array<A>] =>
|
|
612
609
|
splitAt(self, spanIndex(self, predicate))
|
|
613
610
|
)
|
|
614
611
|
|
|
@@ -651,14 +648,11 @@ export const dropRight: {
|
|
|
651
648
|
* @since 2.0.0
|
|
652
649
|
*/
|
|
653
650
|
export const dropWhile: {
|
|
654
|
-
<A,
|
|
655
|
-
<A>(
|
|
656
|
-
<A, B extends A>(self: Iterable<A>, refinement: Refinement<A, B>): Array<B>
|
|
657
|
-
<B extends A, A>(self: Iterable<B>, predicate: Predicate<A>): Array<B>
|
|
651
|
+
<B extends A, A = B>(predicate: Predicate<A>): (self: Iterable<B>) => Array<B>
|
|
652
|
+
<A>(self: Iterable<A>, predicate: Predicate<A>): Array<A>
|
|
658
653
|
} = dual(
|
|
659
654
|
2,
|
|
660
|
-
<
|
|
661
|
-
fromIterable(self).slice(spanIndex(self, predicate))
|
|
655
|
+
<A>(self: Iterable<A>, predicate: Predicate<A>): Array<A> => fromIterable(self).slice(spanIndex(self, predicate))
|
|
662
656
|
)
|
|
663
657
|
|
|
664
658
|
/**
|
|
@@ -709,10 +703,10 @@ export const findLastIndex: {
|
|
|
709
703
|
*/
|
|
710
704
|
export const findFirst: {
|
|
711
705
|
<A, B extends A>(refinement: Refinement<A, B>): (self: Iterable<A>) => Option<B>
|
|
712
|
-
<A>(predicate: Predicate<A>):
|
|
706
|
+
<B extends A, A = B>(predicate: Predicate<A>): (self: Iterable<B>) => Option<B>
|
|
713
707
|
<A, B extends A>(self: Iterable<A>, refinement: Refinement<A, B>): Option<B>
|
|
714
|
-
<
|
|
715
|
-
} = dual(2, <
|
|
708
|
+
<A>(self: Iterable<A>, predicate: Predicate<A>): Option<A>
|
|
709
|
+
} = dual(2, <A>(self: Iterable<A>, predicate: Predicate<A>): Option<A> => {
|
|
716
710
|
const input = fromIterable(self)
|
|
717
711
|
for (let i = 0; i < input.length; i++) {
|
|
718
712
|
if (predicate(input[i])) {
|
|
@@ -730,10 +724,10 @@ export const findFirst: {
|
|
|
730
724
|
*/
|
|
731
725
|
export const findLast: {
|
|
732
726
|
<A, B extends A>(refinement: Refinement<A, B>): (self: Iterable<A>) => Option<B>
|
|
733
|
-
<A>(predicate: Predicate<A>):
|
|
727
|
+
<B extends A, A = B>(predicate: Predicate<A>): (self: Iterable<B>) => Option<B>
|
|
734
728
|
<A, B extends A>(self: Iterable<A>, refinement: Refinement<A, B>): Option<B>
|
|
735
|
-
<
|
|
736
|
-
} = dual(2, <
|
|
729
|
+
<A>(self: Iterable<A>, predicate: Predicate<A>): Option<A>
|
|
730
|
+
} = dual(2, <A>(self: Iterable<A>, predicate: Predicate<A>): Option<A> => {
|
|
737
731
|
const input = fromIterable(self)
|
|
738
732
|
for (let i = input.length - 1; i >= 0; i--) {
|
|
739
733
|
if (predicate(input[i])) {
|
|
@@ -1252,8 +1246,8 @@ export const chopNonEmpty: {
|
|
|
1252
1246
|
* @since 2.0.0
|
|
1253
1247
|
*/
|
|
1254
1248
|
export const splitAt: {
|
|
1255
|
-
(n: number): <A>(self: Iterable<A>) => [Array<A>, Array<A>]
|
|
1256
|
-
<A>(self: Iterable<A>, n: number): [Array<A>, Array<A>]
|
|
1249
|
+
(n: number): <A>(self: Iterable<A>) => [beforeIndex: Array<A>, fromIndex: Array<A>]
|
|
1250
|
+
<A>(self: Iterable<A>, n: number): [beforeIndex: Array<A>, fromIndex: Array<A>]
|
|
1257
1251
|
} = dual(2, <A>(self: Iterable<A>, n: number): [Array<A>, Array<A>] => {
|
|
1258
1252
|
const input = Array.from(self)
|
|
1259
1253
|
return n >= 1 && isNonEmptyReadonlyArray(input) ?
|
|
@@ -1278,8 +1272,8 @@ export const copy: {
|
|
|
1278
1272
|
* @since 2.0.0
|
|
1279
1273
|
*/
|
|
1280
1274
|
export const splitNonEmptyAt: {
|
|
1281
|
-
(n: number): <A>(self: NonEmptyReadonlyArray<A>) => [NonEmptyArray<A>, Array<A>]
|
|
1282
|
-
<A>(self: NonEmptyReadonlyArray<A>, n: number): [NonEmptyArray<A>, Array<A>]
|
|
1275
|
+
(n: number): <A>(self: NonEmptyReadonlyArray<A>) => [beforeIndex: NonEmptyArray<A>, fromIndex: Array<A>]
|
|
1276
|
+
<A>(self: NonEmptyReadonlyArray<A>, n: number): [beforeIndex: NonEmptyArray<A>, fromIndex: Array<A>]
|
|
1283
1277
|
} = dual(2, <A>(self: NonEmptyReadonlyArray<A>, n: number): [NonEmptyArray<A>, Array<A>] => {
|
|
1284
1278
|
const m = Math.max(1, n)
|
|
1285
1279
|
return m >= self.length ?
|
|
@@ -1627,11 +1621,11 @@ export const filterMapWhile: {
|
|
|
1627
1621
|
* @since 2.0.0
|
|
1628
1622
|
*/
|
|
1629
1623
|
export const partitionMap: {
|
|
1630
|
-
<A, B, C>(f: (a: A, i: number) => Either<B, C>): (self: Iterable<A>) => [Array<B>, Array<C>]
|
|
1631
|
-
<A, B, C>(self: Iterable<A>, f: (a: A, i: number) => Either<B, C>): [Array<B>, Array<C>]
|
|
1624
|
+
<A, B, C>(f: (a: A, i: number) => Either<B, C>): (self: Iterable<A>) => [left: Array<B>, right: Array<C>]
|
|
1625
|
+
<A, B, C>(self: Iterable<A>, f: (a: A, i: number) => Either<B, C>): [left: Array<B>, right: Array<C>]
|
|
1632
1626
|
} = dual(
|
|
1633
1627
|
2,
|
|
1634
|
-
<A, B, C>(self: Iterable<A>, f: (a: A, i: number) => Either<B, C>): [Array<B>, Array<C>] => {
|
|
1628
|
+
<A, B, C>(self: Iterable<A>, f: (a: A, i: number) => Either<B, C>): [left: Array<B>, right: Array<C>] => {
|
|
1635
1629
|
const left: Array<B> = []
|
|
1636
1630
|
const right: Array<C> = []
|
|
1637
1631
|
const as = fromIterable(self)
|
|
@@ -1658,15 +1652,10 @@ export const compact: <A>(self: Iterable<Option<A>>) => Array<A> = filterMap(ide
|
|
|
1658
1652
|
* @since 2.0.0
|
|
1659
1653
|
*/
|
|
1660
1654
|
export const filter: {
|
|
1661
|
-
<
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
<
|
|
1665
|
-
<C extends A, B extends A, A = C>(
|
|
1666
|
-
self: Iterable<C>,
|
|
1667
|
-
refinement: (a: A, i: number) => a is B
|
|
1668
|
-
): Array<B>
|
|
1669
|
-
<B extends A, A = B>(self: Iterable<B>, predicate: (a: A, i: number) => boolean): Array<B>
|
|
1655
|
+
<A, B extends A>(refinement: (a: A, i: number) => a is B): (self: Iterable<A>) => Array<B>
|
|
1656
|
+
<A, B extends A>(predicate: (b: B, i: number) => boolean): (self: Iterable<A>) => Array<A>
|
|
1657
|
+
<A, B extends A>(self: Iterable<A>, refinement: (a: A, i: number) => a is B): Array<B>
|
|
1658
|
+
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): Array<A>
|
|
1670
1659
|
} = dual(
|
|
1671
1660
|
2,
|
|
1672
1661
|
<B extends A, A = B>(self: Iterable<B>, predicate: (a: A, i: number) => boolean): Array<B> => {
|
|
@@ -1682,32 +1671,28 @@ export const filter: {
|
|
|
1682
1671
|
)
|
|
1683
1672
|
|
|
1684
1673
|
/**
|
|
1674
|
+
* Separate elements based on a predicate that also exposes the index of the element.
|
|
1675
|
+
*
|
|
1685
1676
|
* @category filtering
|
|
1686
1677
|
* @since 2.0.0
|
|
1687
1678
|
*/
|
|
1688
1679
|
export const partition: {
|
|
1689
1680
|
<C extends A, B extends A, A = C>(refinement: (a: A, i: number) => a is B): (
|
|
1690
1681
|
self: Iterable<C>
|
|
1691
|
-
) => [Array<C
|
|
1682
|
+
) => [excluded: Array<Exclude<C, B>>, satisfying: Array<B>]
|
|
1692
1683
|
<B extends A, A = B>(
|
|
1693
1684
|
predicate: (a: A, i: number) => boolean
|
|
1694
|
-
): (self: Iterable<B>) => [Array<B>, Array<B>]
|
|
1695
|
-
<
|
|
1696
|
-
self: Iterable<
|
|
1685
|
+
): (self: Iterable<B>) => [excluded: Array<B>, satisfying: Array<B>]
|
|
1686
|
+
<A, B extends A>(
|
|
1687
|
+
self: Iterable<A>,
|
|
1697
1688
|
refinement: (a: A, i: number) => a is B
|
|
1698
|
-
): [Array<
|
|
1699
|
-
<
|
|
1700
|
-
self: Iterable<B>,
|
|
1701
|
-
predicate: (a: A, i: number) => boolean
|
|
1702
|
-
): [Array<B>, Array<B>]
|
|
1689
|
+
): [excluded: Array<Exclude<A, B>>, satisfying: Array<B>]
|
|
1690
|
+
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): [excluded: Array<A>, satisfying: Array<A>]
|
|
1703
1691
|
} = dual(
|
|
1704
1692
|
2,
|
|
1705
|
-
<
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
): [Array<B>, Array<B>] => {
|
|
1709
|
-
const left: Array<B> = []
|
|
1710
|
-
const right: Array<B> = []
|
|
1693
|
+
<A>(self: Iterable<A>, predicate: (a: A, i: number) => boolean): [excluded: Array<A>, satisfying: Array<A>] => {
|
|
1694
|
+
const left: Array<A> = []
|
|
1695
|
+
const right: Array<A> = []
|
|
1711
1696
|
const as = fromIterable(self)
|
|
1712
1697
|
for (let i = 0; i < as.length; i++) {
|
|
1713
1698
|
if (predicate(as[i], i)) {
|
|
@@ -1759,9 +1744,9 @@ export const reduceRight: {
|
|
|
1759
1744
|
* @since 2.0.0
|
|
1760
1745
|
*/
|
|
1761
1746
|
export const liftPredicate: {
|
|
1762
|
-
<
|
|
1763
|
-
<
|
|
1764
|
-
} = <
|
|
1747
|
+
<A, B extends A>(refinement: Refinement<A, B>): (a: A) => Array<B>
|
|
1748
|
+
<A>(predicate: Predicate<A>): <B extends A>(b: B) => Array<B>
|
|
1749
|
+
} = <A>(predicate: Predicate<A>) => <B extends A>(b: B): Array<B> => predicate(b) ? [b] : []
|
|
1765
1750
|
|
|
1766
1751
|
/**
|
|
1767
1752
|
* @category lifting
|
|
@@ -1836,8 +1821,8 @@ export const every: {
|
|
|
1836
1821
|
* @since 2.0.0
|
|
1837
1822
|
*/
|
|
1838
1823
|
export const some: {
|
|
1839
|
-
<A>(predicate: Predicate<A>):
|
|
1840
|
-
<
|
|
1824
|
+
<B extends A, A = B>(predicate: Predicate<A>): (self: ReadonlyArray<B>) => self is NonEmptyReadonlyArray<B>
|
|
1825
|
+
<A>(self: ReadonlyArray<A>, predicate: Predicate<A>): self is NonEmptyReadonlyArray<A>
|
|
1841
1826
|
} = dual(
|
|
1842
1827
|
2,
|
|
1843
1828
|
<A>(self: ReadonlyArray<A>, predicate: Predicate<A>): self is NonEmptyReadonlyArray<A> => self.some(predicate)
|
|
@@ -1983,9 +1968,9 @@ export const join: {
|
|
|
1983
1968
|
* @category folding
|
|
1984
1969
|
*/
|
|
1985
1970
|
export const mapAccum: {
|
|
1986
|
-
<S, A, B>(s: S, f: (s: S, a: A) => readonly [S, B]): (self: Iterable<A>) => [S, Array<B>]
|
|
1987
|
-
<S, A, B>(self: Iterable<A>, s: S, f: (s: S, a: A) => readonly [S, B]): [S, Array<B>]
|
|
1988
|
-
} = dual(3, <S, A, B>(self: Iterable<A>, s: S, f: (s: S, a: A) => [S, B]) => {
|
|
1971
|
+
<S, A, B>(s: S, f: (s: S, a: A) => readonly [S, B]): (self: Iterable<A>) => [state: S, mappedArray: Array<B>]
|
|
1972
|
+
<S, A, B>(self: Iterable<A>, s: S, f: (s: S, a: A) => readonly [S, B]): [state: S, mappedArray: Array<B>]
|
|
1973
|
+
} = dual(3, <S, A, B>(self: Iterable<A>, s: S, f: (s: S, a: A) => [S, B]): [state: S, mappedArray: Array<B>] => {
|
|
1989
1974
|
let s1 = s
|
|
1990
1975
|
const out: Array<B> = []
|
|
1991
1976
|
for (const a of self) {
|
package/src/ReadonlyRecord.ts
CHANGED
|
@@ -16,7 +16,7 @@ import * as Option from "./Option.js"
|
|
|
16
16
|
* @category models
|
|
17
17
|
* @since 2.0.0
|
|
18
18
|
*/
|
|
19
|
-
export interface ReadonlyRecord<A> {
|
|
19
|
+
export interface ReadonlyRecord<out A> {
|
|
20
20
|
readonly [x: string]: A
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -436,27 +436,19 @@ export const filterMap: {
|
|
|
436
436
|
* @since 2.0.0
|
|
437
437
|
*/
|
|
438
438
|
export const filter: {
|
|
439
|
-
<K extends string,
|
|
440
|
-
refinement: (a: A, key: K) => a is B
|
|
441
|
-
): (self: Record<K, C>) => Record<string, B>
|
|
439
|
+
<K extends string, A, B extends A>(refinement: (a: A, key: K) => a is B): (self: Record<K, A>) => Record<string, B>
|
|
442
440
|
<K extends string, B extends A, A = B>(
|
|
443
|
-
predicate: (
|
|
441
|
+
predicate: (A: A, key: K) => boolean
|
|
444
442
|
): (self: Record<K, B>) => Record<string, B>
|
|
445
|
-
<K extends string,
|
|
446
|
-
|
|
447
|
-
refinement: (a: A, key: K) => a is B
|
|
448
|
-
): Record<string, B>
|
|
449
|
-
<K extends string, B extends A, A = B>(
|
|
450
|
-
self: Record<K, B>,
|
|
451
|
-
predicate: (a: A, key: K) => boolean
|
|
452
|
-
): Record<string, B>
|
|
443
|
+
<K extends string, A, B extends A>(self: Record<K, A>, refinement: (a: A, key: K) => a is B): Record<string, B>
|
|
444
|
+
<K extends string, A>(self: Record<K, A>, predicate: (a: A, key: K) => boolean): Record<string, A>
|
|
453
445
|
} = dual(
|
|
454
446
|
2,
|
|
455
|
-
<
|
|
456
|
-
self: Record<string,
|
|
447
|
+
<A>(
|
|
448
|
+
self: Record<string, A>,
|
|
457
449
|
predicate: (a: A, key: string) => boolean
|
|
458
|
-
): Record<string,
|
|
459
|
-
const out: Record<string,
|
|
450
|
+
): Record<string, A> => {
|
|
451
|
+
const out: Record<string, A> = {}
|
|
460
452
|
for (const key of Object.keys(self)) {
|
|
461
453
|
if (predicate(self[key], key)) {
|
|
462
454
|
out[key] = self[key]
|
|
@@ -507,17 +499,17 @@ export const compact: <A>(self: ReadonlyRecord<Option.Option<A>>) => Record<stri
|
|
|
507
499
|
export const partitionMap: {
|
|
508
500
|
<K extends string, A, B, C>(
|
|
509
501
|
f: (a: A, key: K) => Either<B, C>
|
|
510
|
-
): (self: Record<K, A>) => [Record<string, B>, Record<string, C>]
|
|
502
|
+
): (self: Record<K, A>) => [left: Record<string, B>, right: Record<string, C>]
|
|
511
503
|
<K extends string, A, B, C>(
|
|
512
504
|
self: Record<K, A>,
|
|
513
505
|
f: (a: A, key: K) => Either<B, C>
|
|
514
|
-
): [Record<string, B>, Record<string, C>]
|
|
506
|
+
): [left: Record<string, B>, right: Record<string, C>]
|
|
515
507
|
} = dual(
|
|
516
508
|
2,
|
|
517
509
|
<A, B, C>(
|
|
518
510
|
self: Record<string, A>,
|
|
519
511
|
f: (a: A, key: string) => Either<B, C>
|
|
520
|
-
): [Record<string, B>, Record<string, C>] => {
|
|
512
|
+
): [left: Record<string, B>, right: Record<string, C>] => {
|
|
521
513
|
const left: Record<string, B> = {}
|
|
522
514
|
const right: Record<string, C> = {}
|
|
523
515
|
for (const key of Object.keys(self)) {
|
|
@@ -574,26 +566,26 @@ export const separate: <A, B>(
|
|
|
574
566
|
export const partition: {
|
|
575
567
|
<K extends string, C extends A, B extends A, A = C>(refinement: (a: A, key: K) => a is B): (
|
|
576
568
|
self: Record<K, C>
|
|
577
|
-
) => [Record<string, C
|
|
569
|
+
) => [excluded: Record<string, Exclude<C, B>>, satisfying: Record<string, B>]
|
|
578
570
|
<K extends string, B extends A, A = B>(
|
|
579
571
|
predicate: (a: A, key: K) => boolean
|
|
580
|
-
): (self: Record<K, B>) => [Record<string, B>, Record<string, B>]
|
|
581
|
-
<K extends string,
|
|
582
|
-
self: Record<K,
|
|
572
|
+
): (self: Record<K, B>) => [excluded: Record<string, B>, satisfying: Record<string, B>]
|
|
573
|
+
<K extends string, A, B extends A>(
|
|
574
|
+
self: Record<K, A>,
|
|
583
575
|
refinement: (a: A, key: K) => a is B
|
|
584
|
-
): [Record<string,
|
|
585
|
-
<K extends string,
|
|
586
|
-
self: Record<K,
|
|
576
|
+
): [excluded: Record<string, Exclude<A, B>>, satisfying: Record<string, B>]
|
|
577
|
+
<K extends string, A>(
|
|
578
|
+
self: Record<K, A>,
|
|
587
579
|
predicate: (a: A, key: K) => boolean
|
|
588
|
-
): [Record<string,
|
|
580
|
+
): [excluded: Record<string, A>, satisfying: Record<string, A>]
|
|
589
581
|
} = dual(
|
|
590
582
|
2,
|
|
591
|
-
<
|
|
592
|
-
self: Record<string,
|
|
583
|
+
<A>(
|
|
584
|
+
self: Record<string, A>,
|
|
593
585
|
predicate: (a: A, key: string) => boolean
|
|
594
|
-
): [Record<string,
|
|
595
|
-
const left: Record<string,
|
|
596
|
-
const right: Record<string,
|
|
586
|
+
): [excluded: Record<string, A>, satisfying: Record<string, A>] => {
|
|
587
|
+
const left: Record<string, A> = {}
|
|
588
|
+
const right: Record<string, A> = {}
|
|
597
589
|
for (const key of Object.keys(self)) {
|
|
598
590
|
if (predicate(self[key], key)) {
|
|
599
591
|
right[key] = self[key]
|
|
@@ -740,11 +732,21 @@ export const reduce: {
|
|
|
740
732
|
* @since 2.0.0
|
|
741
733
|
*/
|
|
742
734
|
export const every: {
|
|
735
|
+
<A, K extends string, B extends A>(
|
|
736
|
+
refinement: (value: A, key: K) => value is B
|
|
737
|
+
): (self: Record<K, A>) => self is Readonly<Record<K, B>>
|
|
743
738
|
<A, K extends string>(predicate: (value: A, key: K) => boolean): (self: Record<K, A>) => boolean
|
|
739
|
+
<A, K extends string, B extends A>(
|
|
740
|
+
self: Record<K, A>,
|
|
741
|
+
refinement: (value: A, key: K) => value is B
|
|
742
|
+
): self is Readonly<Record<K, B>>
|
|
744
743
|
<K extends string, A>(self: Record<K, A>, predicate: (value: A, key: K) => boolean): boolean
|
|
745
|
-
} = dual(2, <K extends string,
|
|
744
|
+
} = dual(2, <A, K extends string, B extends A>(
|
|
745
|
+
self: Record<K, A>,
|
|
746
|
+
refinement: (value: A, key: K) => value is B
|
|
747
|
+
): self is Readonly<Record<K, A>> => {
|
|
746
748
|
for (const key in self) {
|
|
747
|
-
if (!
|
|
749
|
+
if (!refinement(self[key], key)) {
|
|
748
750
|
return false
|
|
749
751
|
}
|
|
750
752
|
}
|