effect 2.0.0-next.55 → 2.0.0-next.57
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/BigDecimal.js +9 -9
- package/dist/cjs/BigDecimal.js.map +1 -1
- package/dist/cjs/BigInt.js.map +1 -1
- package/dist/cjs/Boolean.js.map +1 -1
- package/dist/cjs/Brand.js.map +1 -1
- 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/Channel.js.map +1 -1
- package/dist/cjs/ChildExecutorDecision.js.map +1 -1
- package/dist/cjs/Chunk.js +43 -34
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Config.js +3 -3
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Data.js +11 -20
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/Deferred.js.map +1 -1
- package/dist/cjs/Differ.js.map +1 -1
- package/dist/cjs/Duration.js +49 -2
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +10 -8
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +44 -8
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Equal.js.map +1 -1
- package/dist/cjs/Equivalence.js +1 -1
- package/dist/cjs/Equivalence.js.map +1 -1
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberRef.js +6 -1
- package/dist/cjs/FiberRef.js.map +1 -1
- package/dist/cjs/Function.js.map +1 -1
- package/dist/cjs/GlobalValue.js.map +1 -1
- package/dist/cjs/GroupBy.js.map +1 -1
- package/dist/cjs/Hash.js.map +1 -1
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/Inspectable.js +4 -6
- package/dist/cjs/Inspectable.js.map +1 -1
- package/dist/cjs/KeyedPool.js.map +1 -1
- package/dist/cjs/Layer.js +9 -29
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/List.js +25 -22
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/LogLevel.js.map +1 -1
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/Match.js.map +1 -1
- package/dist/cjs/MergeDecision.js.map +1 -1
- package/dist/cjs/MergeState.js.map +1 -1
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/MetricHook.js.map +1 -1
- package/dist/cjs/MetricKey.js.map +1 -1
- package/dist/cjs/MetricKeyType.js.map +1 -1
- package/dist/cjs/MetricPair.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/MutableHashMap.js +1 -1
- package/dist/cjs/MutableHashMap.js.map +1 -1
- package/dist/cjs/MutableHashSet.js +1 -1
- package/dist/cjs/MutableHashSet.js.map +1 -1
- package/dist/cjs/MutableList.js +1 -1
- package/dist/cjs/MutableList.js.map +1 -1
- package/dist/cjs/MutableQueue.js +1 -1
- package/dist/cjs/MutableQueue.js.map +1 -1
- package/dist/cjs/MutableRef.js +1 -1
- package/dist/cjs/MutableRef.js.map +1 -1
- package/dist/cjs/NonEmptyIterable.js.map +1 -1
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Option.js +21 -14
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Order.js +1 -1
- package/dist/cjs/Order.js.map +1 -1
- package/dist/cjs/Ordering.js.map +1 -1
- package/dist/cjs/Pipeable.js.map +1 -1
- package/dist/cjs/Pool.js +15 -17
- package/dist/cjs/Pool.js.map +1 -1
- package/dist/cjs/Predicate.js +17 -1
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/PrimaryKey.js +21 -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 +202 -187
- package/dist/cjs/ReadonlyArray.js.map +1 -1
- package/dist/cjs/ReadonlyRecord.js +61 -8
- package/dist/cjs/ReadonlyRecord.js.map +1 -1
- package/dist/cjs/RedBlackTree.js.map +1 -1
- package/dist/cjs/Ref.js.map +1 -1
- package/dist/cjs/Reloadable.js.map +1 -1
- package/dist/cjs/Request.js +42 -1
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestBlock.js +5 -24
- package/dist/cjs/RequestBlock.js.map +1 -1
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/Resource.js.map +1 -1
- package/dist/cjs/STM.js +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/Scheduler.js.map +1 -1
- package/dist/cjs/ScopedCache.js.map +1 -1
- package/dist/cjs/ScopedRef.js.map +1 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/SortedMap.js +5 -2
- package/dist/cjs/SortedMap.js.map +1 -1
- package/dist/cjs/SortedSet.js +3 -3
- package/dist/cjs/SortedSet.js.map +1 -1
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/Streamable.js +3 -0
- package/dist/cjs/Streamable.js.map +1 -1
- package/dist/cjs/String.js.map +1 -1
- package/dist/cjs/Struct.js.map +1 -1
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/Supervisor.js.map +1 -1
- package/dist/cjs/SynchronizedRef.js.map +1 -1
- package/dist/cjs/TArray.js.map +1 -1
- package/dist/cjs/TDeferred.js.map +1 -1
- package/dist/cjs/TMap.js.map +1 -1
- package/dist/cjs/TPriorityQueue.js.map +1 -1
- package/dist/cjs/TPubSub.js.map +1 -1
- package/dist/cjs/TQueue.js.map +1 -1
- package/dist/cjs/TRef.js.map +1 -1
- package/dist/cjs/TSet.js.map +1 -1
- package/dist/cjs/Take.js.map +1 -1
- package/dist/cjs/TestAnnotation.js +3 -1
- package/dist/cjs/TestAnnotation.js.map +1 -1
- package/dist/cjs/TestAnnotationMap.js.map +1 -1
- package/dist/cjs/TestAnnotations.js.map +1 -1
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/TestContext.js +2 -2
- package/dist/cjs/TestContext.js.map +1 -1
- package/dist/cjs/UpstreamPullRequest.js.map +1 -1
- package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/Iterable.js.map +1 -1
- package/dist/cjs/internal/blockedRequests.js +3 -2
- package/dist/cjs/internal/blockedRequests.js.map +1 -1
- package/dist/cjs/internal/cache.js +3 -0
- package/dist/cjs/internal/cache.js.map +1 -1
- package/dist/cjs/internal/cause.js +5 -104
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel/channelState.js +2 -1
- package/dist/cjs/internal/channel/channelState.js.map +1 -1
- package/dist/cjs/internal/channel/childExecutorDecision.js.map +1 -1
- package/dist/cjs/internal/channel/continuation.js +9 -1
- package/dist/cjs/internal/channel/continuation.js.map +1 -1
- package/dist/cjs/internal/channel/mergeDecision.js.map +1 -1
- package/dist/cjs/internal/channel/mergeState.js.map +1 -1
- package/dist/cjs/internal/channel/mergeStrategy.js.map +1 -1
- package/dist/cjs/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/cjs/internal/channel/subexecutor.js.map +1 -1
- package/dist/cjs/internal/channel/upstreamPullRequest.js +1 -1
- package/dist/cjs/internal/channel/upstreamPullRequest.js.map +1 -1
- package/dist/cjs/internal/channel/upstreamPullStrategy.js +1 -1
- package/dist/cjs/internal/channel/upstreamPullStrategy.js.map +1 -1
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/concurrency.js.map +1 -1
- package/dist/cjs/internal/config.js +16 -24
- package/dist/cjs/internal/config.js.map +1 -1
- package/dist/cjs/internal/configError.js +2 -2
- package/dist/cjs/internal/configError.js.map +1 -1
- package/dist/cjs/internal/configProvider/pathPatch.js.map +1 -1
- package/dist/cjs/internal/configProvider.js +18 -4
- package/dist/cjs/internal/configProvider.js.map +1 -1
- package/dist/cjs/internal/configSecret.js.map +1 -1
- package/dist/cjs/internal/context.js +5 -5
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +19 -15
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core-stream.js +7 -1
- package/dist/cjs/internal/core-stream.js.map +1 -1
- package/dist/cjs/internal/core.js +203 -85
- 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 +2 -0
- package/dist/cjs/internal/deferred.js.map +1 -1
- package/dist/cjs/internal/differ/chunkPatch.js.map +1 -1
- package/dist/cjs/internal/differ/contextPatch.js.map +1 -1
- package/dist/cjs/internal/differ/hashMapPatch.js.map +1 -1
- package/dist/cjs/internal/differ/hashSetPatch.js.map +1 -1
- package/dist/cjs/internal/differ/orPatch.js.map +1 -1
- package/dist/cjs/internal/differ.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +1 -0
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/effectable.js +38 -7
- package/dist/cjs/internal/effectable.js.map +1 -1
- package/dist/cjs/internal/either.js +1 -1
- package/dist/cjs/internal/either.js.map +1 -1
- package/dist/cjs/internal/encoding/base64.js.map +1 -1
- package/dist/cjs/internal/encoding/base64Url.js.map +1 -1
- package/dist/cjs/internal/encoding/common.js.map +1 -1
- package/dist/cjs/internal/encoding/hex.js.map +1 -1
- package/dist/cjs/internal/executionStrategy.js.map +1 -1
- package/dist/cjs/internal/fiber.js +2 -0
- package/dist/cjs/internal/fiber.js.map +1 -1
- package/dist/cjs/internal/fiberId.js +3 -3
- package/dist/cjs/internal/fiberId.js.map +1 -1
- package/dist/cjs/internal/fiberMessage.js.map +1 -1
- package/dist/cjs/internal/fiberRefs/patch.js.map +1 -1
- package/dist/cjs/internal/fiberRefs.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +181 -218
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/groupBy.js +4 -1
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/hashMap/array.js.map +1 -1
- package/dist/cjs/internal/hashMap/node.js.map +1 -1
- package/dist/cjs/internal/hashMap.js +2 -2
- package/dist/cjs/internal/hashMap.js.map +1 -1
- package/dist/cjs/internal/hashSet.js +3 -3
- package/dist/cjs/internal/hashSet.js.map +1 -1
- package/dist/cjs/internal/keyedPool.js +3 -0
- package/dist/cjs/internal/keyedPool.js.map +1 -1
- package/dist/cjs/internal/layer.js +23 -53
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/logger.js +2 -1
- package/dist/cjs/internal/logger.js.map +1 -1
- package/dist/cjs/internal/matcher.js.map +1 -1
- package/dist/cjs/internal/metric/hook.js +2 -1
- package/dist/cjs/internal/metric/hook.js.map +1 -1
- package/dist/cjs/internal/metric/key.js +1 -1
- package/dist/cjs/internal/metric/key.js.map +1 -1
- package/dist/cjs/internal/metric/keyType.js +2 -1
- package/dist/cjs/internal/metric/keyType.js.map +1 -1
- package/dist/cjs/internal/metric/pair.js +1 -1
- package/dist/cjs/internal/metric/pair.js.map +1 -1
- package/dist/cjs/internal/metric/polling.js +7 -7
- package/dist/cjs/internal/metric/polling.js.map +1 -1
- package/dist/cjs/internal/metric/registry.js.map +1 -1
- package/dist/cjs/internal/metric/state.js +1 -1
- package/dist/cjs/internal/metric/state.js.map +1 -1
- package/dist/cjs/internal/metric.js +11 -5
- package/dist/cjs/internal/metric.js.map +1 -1
- package/dist/cjs/internal/opCodes/layer.js +4 -4
- package/dist/cjs/internal/opCodes/layer.js.map +1 -1
- package/dist/cjs/internal/option.js +1 -1
- package/dist/cjs/internal/option.js.map +1 -1
- package/dist/cjs/internal/pool.js +2 -0
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/pubsub.js +25 -24
- package/dist/cjs/internal/pubsub.js.map +1 -1
- package/dist/cjs/internal/query.js +1 -1
- package/dist/cjs/internal/query.js.map +1 -1
- package/dist/cjs/internal/queue.js +14 -3
- package/dist/cjs/internal/queue.js.map +1 -1
- package/dist/cjs/internal/random.js.map +1 -1
- package/dist/cjs/internal/redBlackTree/iterator.js.map +1 -1
- package/dist/cjs/internal/redBlackTree.js +8 -2
- package/dist/cjs/internal/redBlackTree.js.map +1 -1
- package/dist/cjs/internal/ref.js +1 -0
- package/dist/cjs/internal/ref.js.map +1 -1
- package/dist/cjs/internal/reloadable.js +1 -1
- package/dist/cjs/internal/reloadable.js.map +1 -1
- package/dist/cjs/internal/request.js +33 -16
- package/dist/cjs/internal/request.js.map +1 -1
- package/dist/cjs/internal/resource.js +4 -3
- package/dist/cjs/internal/resource.js.map +1 -1
- package/dist/cjs/internal/ringBuffer.js.map +1 -1
- package/dist/cjs/internal/runtime.js +3 -4
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/runtimeFlags.js.map +1 -1
- package/dist/cjs/internal/schedule/interval.js.map +1 -1
- package/dist/cjs/internal/schedule/intervals.js.map +1 -1
- package/dist/cjs/internal/schedule.js +12 -8
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/scopedCache.js +5 -2
- package/dist/cjs/internal/scopedCache.js.map +1 -1
- package/dist/cjs/internal/scopedRef.js +1 -0
- package/dist/cjs/internal/scopedRef.js.map +1 -1
- package/dist/cjs/internal/sink.js +6 -2
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/core.js +5 -3
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stm/stm/journal.js.map +1 -1
- package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tExit.js +2 -1
- package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stm/tArray.js +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 +2 -1
- package/dist/cjs/internal/stm/tMap.js.map +1 -1
- package/dist/cjs/internal/stm/tPriorityQueue.js +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 +8 -7
- package/dist/cjs/internal/stm/tQueue.js.map +1 -1
- package/dist/cjs/internal/stm/tRandom.js.map +1 -1
- package/dist/cjs/internal/stm/tReentrantLock.js.map +1 -1
- package/dist/cjs/internal/stm/tRef.js +1 -1
- package/dist/cjs/internal/stm/tRef.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 +1 -1
- package/dist/cjs/internal/stm/tSet.js.map +1 -1
- package/dist/cjs/internal/stream/haltStrategy.js.map +1 -1
- package/dist/cjs/internal/stream/handoff.js +1 -1
- package/dist/cjs/internal/stream/handoff.js.map +1 -1
- package/dist/cjs/internal/stream.js +5 -5
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/string-utils.js.map +1 -1
- package/dist/cjs/internal/subscriptionRef.js +1 -1
- package/dist/cjs/internal/subscriptionRef.js.map +1 -1
- package/dist/cjs/internal/supervisor/patch.js.map +1 -1
- package/dist/cjs/internal/supervisor.js +1 -0
- package/dist/cjs/internal/supervisor.js.map +1 -1
- package/dist/cjs/internal/synchronizedRef.js.map +1 -1
- package/dist/cjs/internal/take.js +3 -2
- package/dist/cjs/internal/take.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/BigDecimal.d.ts +5 -5
- package/dist/dts/BigDecimal.d.ts.map +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 +18 -16
- package/dist/dts/Cache.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +94 -26
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +12 -11
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +81 -69
- 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 +20 -19
- 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 +8 -7
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Data.d.ts +6 -20
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/Deferred.d.ts +5 -4
- package/dist/dts/Deferred.d.ts.map +1 -1
- package/dist/dts/Differ.d.ts +24 -23
- package/dist/dts/Differ.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +12 -1
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +62 -45
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +61 -13
- 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 +2 -2
- 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 +17 -16
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberRef.d.ts +9 -3
- package/dist/dts/FiberRef.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts +7 -6
- package/dist/dts/GroupBy.d.ts.map +1 -1
- package/dist/dts/HKT.d.ts +5 -4
- package/dist/dts/HKT.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 -7
- package/dist/dts/Inspectable.d.ts.map +1 -1
- package/dist/dts/KeyedPool.d.ts +8 -7
- package/dist/dts/KeyedPool.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +16 -41
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/List.d.ts +48 -49
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +7 -6
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/Match.d.ts +31 -19
- package/dist/dts/Match.d.ts.map +1 -1
- package/dist/dts/MergeDecision.d.ts +8 -7
- 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 +11 -10
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricHook.d.ts +7 -6
- package/dist/dts/MetricHook.d.ts.map +1 -1
- package/dist/dts/MetricKey.d.ts +4 -3
- package/dist/dts/MetricKey.d.ts.map +1 -1
- package/dist/dts/MetricKeyType.d.ts +5 -4
- package/dist/dts/MetricKeyType.d.ts.map +1 -1
- package/dist/dts/MetricPair.d.ts +4 -3
- 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 +6 -5
- 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 +39 -24
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Order.d.ts +2 -2
- 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 +21 -22
- 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 +21 -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 +49 -29
- 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 +170 -206
- package/dist/dts/ReadonlyArray.d.ts.map +1 -1
- package/dist/dts/ReadonlyRecord.d.ts +51 -16
- package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
- package/dist/dts/RedBlackTree.d.ts +6 -2
- package/dist/dts/RedBlackTree.d.ts.map +1 -1
- package/dist/dts/Ref.d.ts +5 -4
- package/dist/dts/Ref.d.ts.map +1 -1
- package/dist/dts/Reloadable.d.ts +4 -3
- package/dist/dts/Reloadable.d.ts.map +1 -1
- package/dist/dts/Request.d.ts +63 -11
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestBlock.d.ts +20 -39
- package/dist/dts/RequestBlock.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +7 -6
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Resource.d.ts +5 -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 +13 -12
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +13 -12
- 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 +13 -12
- package/dist/dts/ScopedCache.d.ts.map +1 -1
- package/dist/dts/ScopedRef.d.ts +4 -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 +13 -9
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/SortedMap.d.ts +6 -2
- package/dist/dts/SortedMap.d.ts.map +1 -1
- package/dist/dts/SortedSet.d.ts +7 -12
- package/dist/dts/SortedSet.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +32 -23
- 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/Streamable.d.ts.map +1 -1
- package/dist/dts/SubscriptionRef.d.ts +4 -3
- package/dist/dts/SubscriptionRef.d.ts.map +1 -1
- package/dist/dts/Supervisor.d.ts +11 -10
- package/dist/dts/Supervisor.d.ts.map +1 -1
- package/dist/dts/SynchronizedRef.d.ts +5 -4
- package/dist/dts/SynchronizedRef.d.ts.map +1 -1
- package/dist/dts/TArray.d.ts +4 -3
- package/dist/dts/TArray.d.ts.map +1 -1
- package/dist/dts/TDeferred.d.ts +5 -4
- package/dist/dts/TDeferred.d.ts.map +1 -1
- package/dist/dts/TMap.d.ts +5 -4
- package/dist/dts/TMap.d.ts.map +1 -1
- package/dist/dts/TPriorityQueue.d.ts +4 -3
- package/dist/dts/TPriorityQueue.d.ts.map +1 -1
- package/dist/dts/TPubSub.d.ts +5 -1
- package/dist/dts/TPubSub.d.ts.map +1 -1
- package/dist/dts/TQueue.d.ts +12 -11
- 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 +5 -4
- package/dist/dts/TRef.d.ts.map +1 -1
- package/dist/dts/TSet.d.ts +4 -3
- package/dist/dts/TSet.d.ts.map +1 -1
- package/dist/dts/Take.d.ts +5 -4
- package/dist/dts/Take.d.ts.map +1 -1
- package/dist/dts/TestAnnotation.d.ts +6 -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/TestContext.d.ts.map +1 -1
- package/dist/dts/TestLive.d.ts +1 -1
- package/dist/dts/TestLive.d.ts.map +1 -1
- package/dist/dts/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 +28 -0
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/dts/UpstreamPullRequest.d.ts +4 -3
- package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
- package/dist/dts/UpstreamPullStrategy.d.ts +5 -4
- package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
- package/dist/dts/Utils.d.ts +7 -6
- 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/config.d.ts +1 -2
- package/dist/dts/internal/config.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/logger.d.ts.map +1 -1
- package/dist/dts/internal/metric/keyType.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/BigDecimal.js +7 -7
- package/dist/esm/BigDecimal.js.map +1 -1
- package/dist/esm/BigInt.js.map +1 -1
- package/dist/esm/Boolean.js.map +1 -1
- package/dist/esm/Brand.js.map +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/Channel.js.map +1 -1
- package/dist/esm/ChildExecutorDecision.js.map +1 -1
- package/dist/esm/Chunk.js +43 -34
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Config.js +3 -3
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/Data.js +10 -19
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/Deferred.js.map +1 -1
- package/dist/esm/Differ.js.map +1 -1
- package/dist/esm/Duration.js +48 -2
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js +9 -7
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +43 -7
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Equal.js.map +1 -1
- package/dist/esm/Equivalence.js +1 -1
- package/dist/esm/Equivalence.js.map +1 -1
- package/dist/esm/Exit.js.map +1 -1
- package/dist/esm/Fiber.js.map +1 -1
- package/dist/esm/FiberRef.js +5 -0
- package/dist/esm/FiberRef.js.map +1 -1
- package/dist/esm/Function.js.map +1 -1
- package/dist/esm/GlobalValue.js.map +1 -1
- package/dist/esm/GroupBy.js.map +1 -1
- package/dist/esm/HKT.js +0 -3
- package/dist/esm/HKT.js.map +1 -1
- package/dist/esm/Hash.js.map +1 -1
- package/dist/esm/HashMap.js.map +1 -1
- package/dist/esm/Inspectable.js +2 -4
- package/dist/esm/Inspectable.js.map +1 -1
- package/dist/esm/KeyedPool.js.map +1 -1
- package/dist/esm/Layer.js +8 -28
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/List.js +25 -22
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/LogLevel.js.map +1 -1
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/Match.js.map +1 -1
- package/dist/esm/MergeDecision.js.map +1 -1
- package/dist/esm/MergeState.js.map +1 -1
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/MetricHook.js.map +1 -1
- package/dist/esm/MetricKey.js.map +1 -1
- package/dist/esm/MetricKeyType.js.map +1 -1
- package/dist/esm/MetricPair.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/MutableHashMap.js +2 -2
- package/dist/esm/MutableHashMap.js.map +1 -1
- package/dist/esm/MutableHashSet.js +2 -2
- package/dist/esm/MutableHashSet.js.map +1 -1
- package/dist/esm/MutableList.js +2 -2
- package/dist/esm/MutableList.js.map +1 -1
- package/dist/esm/MutableQueue.js +2 -2
- package/dist/esm/MutableQueue.js.map +1 -1
- package/dist/esm/MutableRef.js +2 -2
- package/dist/esm/MutableRef.js.map +1 -1
- package/dist/esm/NonEmptyIterable.js.map +1 -1
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/Option.js +21 -14
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Order.js +1 -1
- package/dist/esm/Order.js.map +1 -1
- package/dist/esm/Ordering.js.map +1 -1
- package/dist/esm/Pipeable.js.map +1 -1
- package/dist/esm/Pool.js +15 -17
- package/dist/esm/Pool.js.map +1 -1
- package/dist/esm/Predicate.js +15 -0
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/PrimaryKey.js +14 -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 +195 -177
- package/dist/esm/ReadonlyArray.js.map +1 -1
- package/dist/esm/ReadonlyRecord.js +58 -7
- package/dist/esm/ReadonlyRecord.js.map +1 -1
- package/dist/esm/RedBlackTree.js.map +1 -1
- package/dist/esm/Ref.js.map +1 -1
- package/dist/esm/Reloadable.js.map +1 -1
- package/dist/esm/Request.js +41 -0
- package/dist/esm/Request.js.map +1 -1
- package/dist/esm/RequestBlock.js +3 -22
- package/dist/esm/RequestBlock.js.map +1 -1
- package/dist/esm/RequestResolver.js.map +1 -1
- package/dist/esm/Resource.js.map +1 -1
- package/dist/esm/STM.js +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/Scheduler.js.map +1 -1
- package/dist/esm/ScopedCache.js.map +1 -1
- package/dist/esm/ScopedRef.js.map +1 -1
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/SortedMap.js +6 -3
- package/dist/esm/SortedMap.js.map +1 -1
- package/dist/esm/SortedSet.js +4 -4
- package/dist/esm/SortedSet.js.map +1 -1
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/Streamable.js +3 -0
- package/dist/esm/Streamable.js.map +1 -1
- package/dist/esm/String.js.map +1 -1
- package/dist/esm/Struct.js.map +1 -1
- package/dist/esm/SubscriptionRef.js.map +1 -1
- package/dist/esm/Supervisor.js.map +1 -1
- package/dist/esm/SynchronizedRef.js.map +1 -1
- package/dist/esm/TArray.js.map +1 -1
- package/dist/esm/TDeferred.js.map +1 -1
- package/dist/esm/TMap.js.map +1 -1
- package/dist/esm/TPriorityQueue.js.map +1 -1
- package/dist/esm/TPubSub.js.map +1 -1
- package/dist/esm/TQueue.js.map +1 -1
- package/dist/esm/TRef.js.map +1 -1
- package/dist/esm/TSet.js.map +1 -1
- package/dist/esm/Take.js.map +1 -1
- package/dist/esm/TestAnnotation.js +3 -1
- package/dist/esm/TestAnnotation.js.map +1 -1
- package/dist/esm/TestAnnotationMap.js.map +1 -1
- package/dist/esm/TestAnnotations.js.map +1 -1
- package/dist/esm/TestClock.js.map +1 -1
- package/dist/esm/TestContext.js +2 -2
- package/dist/esm/TestContext.js.map +1 -1
- package/dist/esm/UpstreamPullRequest.js.map +1 -1
- package/dist/esm/UpstreamPullStrategy.js.map +1 -1
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/Iterable.js.map +1 -1
- package/dist/esm/internal/blockedRequests.js +3 -2
- package/dist/esm/internal/blockedRequests.js.map +1 -1
- package/dist/esm/internal/cache.js +3 -0
- package/dist/esm/internal/cache.js.map +1 -1
- package/dist/esm/internal/cause.js +4 -97
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel/channelState.js +2 -1
- package/dist/esm/internal/channel/channelState.js.map +1 -1
- package/dist/esm/internal/channel/childExecutorDecision.js.map +1 -1
- package/dist/esm/internal/channel/continuation.js +9 -1
- package/dist/esm/internal/channel/continuation.js.map +1 -1
- package/dist/esm/internal/channel/mergeDecision.js.map +1 -1
- package/dist/esm/internal/channel/mergeState.js.map +1 -1
- package/dist/esm/internal/channel/mergeStrategy.js.map +1 -1
- package/dist/esm/internal/channel/singleProducerAsyncInput.js.map +1 -1
- package/dist/esm/internal/channel/subexecutor.js.map +1 -1
- package/dist/esm/internal/channel/upstreamPullRequest.js +1 -1
- package/dist/esm/internal/channel/upstreamPullRequest.js.map +1 -1
- package/dist/esm/internal/channel/upstreamPullStrategy.js +1 -1
- package/dist/esm/internal/channel/upstreamPullStrategy.js.map +1 -1
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/clock.js.map +1 -1
- package/dist/esm/internal/concurrency.js.map +1 -1
- package/dist/esm/internal/config.js +15 -22
- package/dist/esm/internal/config.js.map +1 -1
- package/dist/esm/internal/configError.js +2 -2
- package/dist/esm/internal/configError.js.map +1 -1
- package/dist/esm/internal/configProvider/pathPatch.js.map +1 -1
- package/dist/esm/internal/configProvider.js +18 -4
- package/dist/esm/internal/configProvider.js.map +1 -1
- package/dist/esm/internal/configSecret.js.map +1 -1
- package/dist/esm/internal/context.js +6 -6
- package/dist/esm/internal/context.js.map +1 -1
- package/dist/esm/internal/core-effect.js +19 -15
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core-stream.js +7 -1
- package/dist/esm/internal/core-stream.js.map +1 -1
- package/dist/esm/internal/core.js +196 -84
- 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 +2 -0
- package/dist/esm/internal/deferred.js.map +1 -1
- package/dist/esm/internal/differ/chunkPatch.js.map +1 -1
- package/dist/esm/internal/differ/contextPatch.js.map +1 -1
- package/dist/esm/internal/differ/hashMapPatch.js.map +1 -1
- package/dist/esm/internal/differ/hashSetPatch.js.map +1 -1
- package/dist/esm/internal/differ/orPatch.js.map +1 -1
- package/dist/esm/internal/differ.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +1 -0
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/effectable.js +37 -6
- package/dist/esm/internal/effectable.js.map +1 -1
- package/dist/esm/internal/either.js +2 -2
- package/dist/esm/internal/either.js.map +1 -1
- package/dist/esm/internal/encoding/base64.js.map +1 -1
- package/dist/esm/internal/encoding/base64Url.js.map +1 -1
- package/dist/esm/internal/encoding/common.js.map +1 -1
- package/dist/esm/internal/encoding/hex.js.map +1 -1
- package/dist/esm/internal/executionStrategy.js.map +1 -1
- package/dist/esm/internal/fiber.js +2 -0
- package/dist/esm/internal/fiber.js.map +1 -1
- package/dist/esm/internal/fiberId.js +4 -4
- package/dist/esm/internal/fiberId.js.map +1 -1
- package/dist/esm/internal/fiberMessage.js.map +1 -1
- package/dist/esm/internal/fiberRefs/patch.js.map +1 -1
- package/dist/esm/internal/fiberRefs.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +178 -215
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/groupBy.js +4 -1
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/hashMap/array.js.map +1 -1
- package/dist/esm/internal/hashMap/node.js.map +1 -1
- package/dist/esm/internal/hashMap.js +3 -3
- package/dist/esm/internal/hashMap.js.map +1 -1
- package/dist/esm/internal/hashSet.js +4 -4
- package/dist/esm/internal/hashSet.js.map +1 -1
- package/dist/esm/internal/keyedPool.js +3 -0
- package/dist/esm/internal/keyedPool.js.map +1 -1
- package/dist/esm/internal/layer.js +22 -52
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/logger.js +2 -1
- package/dist/esm/internal/logger.js.map +1 -1
- package/dist/esm/internal/matcher.js.map +1 -1
- package/dist/esm/internal/metric/hook.js +2 -1
- package/dist/esm/internal/metric/hook.js.map +1 -1
- package/dist/esm/internal/metric/key.js +1 -1
- package/dist/esm/internal/metric/key.js.map +1 -1
- package/dist/esm/internal/metric/keyType.js +2 -1
- package/dist/esm/internal/metric/keyType.js.map +1 -1
- package/dist/esm/internal/metric/pair.js +1 -1
- package/dist/esm/internal/metric/pair.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/registry.js.map +1 -1
- package/dist/esm/internal/metric/state.js +1 -1
- package/dist/esm/internal/metric/state.js.map +1 -1
- package/dist/esm/internal/metric.js +11 -5
- package/dist/esm/internal/metric.js.map +1 -1
- package/dist/esm/internal/opCodes/layer.js +3 -3
- package/dist/esm/internal/opCodes/layer.js.map +1 -1
- package/dist/esm/internal/option.js +2 -2
- package/dist/esm/internal/option.js.map +1 -1
- package/dist/esm/internal/pool.js +2 -0
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/pubsub.js +25 -24
- package/dist/esm/internal/pubsub.js.map +1 -1
- package/dist/esm/internal/query.js +1 -1
- package/dist/esm/internal/query.js.map +1 -1
- package/dist/esm/internal/queue.js +13 -2
- package/dist/esm/internal/queue.js.map +1 -1
- package/dist/esm/internal/random.js.map +1 -1
- package/dist/esm/internal/redBlackTree/iterator.js.map +1 -1
- package/dist/esm/internal/redBlackTree.js +9 -3
- package/dist/esm/internal/redBlackTree.js.map +1 -1
- package/dist/esm/internal/ref.js +1 -0
- package/dist/esm/internal/ref.js.map +1 -1
- package/dist/esm/internal/reloadable.js +1 -1
- package/dist/esm/internal/reloadable.js.map +1 -1
- package/dist/esm/internal/request.js +31 -15
- package/dist/esm/internal/request.js.map +1 -1
- package/dist/esm/internal/resource.js +4 -3
- package/dist/esm/internal/resource.js.map +1 -1
- package/dist/esm/internal/ringBuffer.js.map +1 -1
- package/dist/esm/internal/runtime.js +3 -4
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/runtimeFlags.js.map +1 -1
- package/dist/esm/internal/schedule/interval.js.map +1 -1
- package/dist/esm/internal/schedule/intervals.js.map +1 -1
- package/dist/esm/internal/schedule.js +12 -8
- package/dist/esm/internal/schedule.js.map +1 -1
- package/dist/esm/internal/scopedCache.js +5 -2
- package/dist/esm/internal/scopedCache.js.map +1 -1
- package/dist/esm/internal/scopedRef.js +1 -0
- package/dist/esm/internal/scopedRef.js.map +1 -1
- package/dist/esm/internal/sink.js +6 -2
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stm/core.js +5 -3
- package/dist/esm/internal/stm/core.js.map +1 -1
- package/dist/esm/internal/stm/stm/journal.js.map +1 -1
- package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
- package/dist/esm/internal/stm/stm/tExit.js +2 -1
- package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stm/tArray.js +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 +2 -1
- package/dist/esm/internal/stm/tMap.js.map +1 -1
- package/dist/esm/internal/stm/tPriorityQueue.js +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 +8 -7
- package/dist/esm/internal/stm/tQueue.js.map +1 -1
- package/dist/esm/internal/stm/tRandom.js.map +1 -1
- package/dist/esm/internal/stm/tReentrantLock.js.map +1 -1
- package/dist/esm/internal/stm/tRef.js +1 -1
- package/dist/esm/internal/stm/tRef.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 +1 -1
- package/dist/esm/internal/stm/tSet.js.map +1 -1
- package/dist/esm/internal/stream/haltStrategy.js.map +1 -1
- package/dist/esm/internal/stream/handoff.js +1 -1
- package/dist/esm/internal/stream/handoff.js.map +1 -1
- package/dist/esm/internal/stream.js +5 -5
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/string-utils.js.map +1 -1
- package/dist/esm/internal/subscriptionRef.js +1 -1
- package/dist/esm/internal/subscriptionRef.js.map +1 -1
- package/dist/esm/internal/supervisor/patch.js.map +1 -1
- package/dist/esm/internal/supervisor.js +1 -0
- package/dist/esm/internal/supervisor.js.map +1 -1
- package/dist/esm/internal/synchronizedRef.js.map +1 -1
- package/dist/esm/internal/take.js +3 -2
- 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/BigDecimal.ts +7 -7
- package/src/Brand.ts +4 -4
- package/src/Cache.ts +18 -19
- package/src/Cause.ts +126 -41
- package/src/Channel.ts +12 -11
- package/src/ChildExecutorDecision.ts +10 -2
- package/src/Chunk.ts +110 -93
- package/src/Clock.ts +4 -4
- package/src/Config.ts +20 -20
- 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 +8 -7
- package/src/Data.ts +17 -48
- package/src/Deferred.ts +5 -4
- package/src/Differ.ts +24 -23
- package/src/Duration.ts +59 -2
- package/src/Effect.ts +104 -53
- package/src/Either.ts +93 -15
- package/src/Equal.ts +1 -1
- package/src/Equivalence.ts +2 -2
- package/src/Exit.ts +21 -7
- package/src/Fiber.ts +25 -18
- package/src/FiberRef.ts +14 -7
- package/src/GroupBy.ts +7 -6
- package/src/HKT.ts +5 -4
- package/src/Hash.ts +1 -1
- package/src/HashMap.ts +6 -4
- package/src/HashSet.ts +11 -11
- package/src/Inspectable.ts +5 -7
- package/src/KeyedPool.ts +16 -9
- package/src/Layer.ts +21 -58
- package/src/List.ts +68 -65
- package/src/Logger.ts +7 -6
- package/src/Match.ts +61 -49
- package/src/MergeDecision.ts +8 -7
- package/src/MergeState.ts +11 -5
- package/src/Metric.ts +13 -10
- package/src/MetricHook.ts +7 -6
- package/src/MetricKey.ts +4 -3
- package/src/MetricKeyType.ts +5 -4
- package/src/MetricPair.ts +4 -3
- package/src/MetricPolling.ts +22 -22
- package/src/MetricRegistry.ts +9 -9
- package/src/MetricState.ts +8 -5
- package/src/MutableHashMap.ts +3 -3
- package/src/MutableHashSet.ts +3 -3
- package/src/MutableList.ts +3 -3
- package/src/MutableQueue.ts +3 -3
- package/src/MutableRef.ts +3 -3
- package/src/NonEmptyIterable.ts +2 -2
- package/src/Option.ts +50 -29
- package/src/Order.ts +2 -2
- package/src/Pipeable.ts +275 -277
- package/src/Pool.ts +21 -22
- package/src/Predicate.ts +21 -2
- package/src/PrimaryKey.ts +23 -0
- package/src/PubSub.ts +3 -3
- package/src/Queue.ts +55 -32
- package/src/Random.ts +3 -3
- package/src/ReadonlyArray.ts +351 -390
- package/src/ReadonlyRecord.ts +97 -40
- package/src/RedBlackTree.ts +6 -2
- package/src/Ref.ts +5 -4
- package/src/Reloadable.ts +4 -3
- package/src/Request.ts +68 -11
- package/src/RequestBlock.ts +27 -66
- package/src/RequestResolver.ts +7 -6
- package/src/Resource.ts +5 -4
- package/src/Runtime.ts +3 -3
- package/src/STM.ts +27 -15
- package/src/Schedule.ts +14 -13
- package/src/Scheduler.ts +3 -3
- package/src/Scope.ts +3 -3
- package/src/ScopedCache.ts +13 -12
- package/src/ScopedRef.ts +4 -3
- package/src/SingleProducerAsyncInput.ts +7 -7
- package/src/Sink.ts +29 -14
- package/src/SortedMap.ts +12 -5
- package/src/SortedSet.ts +29 -43
- package/src/Stream.ts +75 -33
- package/src/StreamEmit.ts +12 -12
- package/src/Streamable.ts +3 -0
- package/src/SubscriptionRef.ts +6 -3
- package/src/Supervisor.ts +12 -11
- package/src/SynchronizedRef.ts +5 -4
- package/src/TArray.ts +5 -4
- package/src/TDeferred.ts +6 -5
- package/src/TMap.ts +6 -5
- package/src/TPriorityQueue.ts +5 -4
- package/src/TPubSub.ts +7 -3
- package/src/TQueue.ts +12 -11
- package/src/TRandom.ts +3 -3
- package/src/TRef.ts +6 -5
- package/src/TSet.ts +5 -4
- package/src/Take.ts +5 -4
- package/src/TestAnnotation.ts +9 -5
- package/src/TestAnnotations.ts +2 -2
- package/src/TestClock.ts +3 -5
- package/src/TestContext.ts +5 -4
- package/src/TestLive.ts +1 -1
- package/src/TestSized.ts +1 -1
- package/src/Tracer.ts +6 -6
- package/src/Types.ts +32 -0
- package/src/UpstreamPullRequest.ts +12 -5
- package/src/UpstreamPullStrategy.ts +5 -4
- package/src/Utils.ts +7 -6
- package/src/index.ts +5 -0
- package/src/internal/blockedRequests.ts +78 -81
- package/src/internal/cache.ts +15 -12
- package/src/internal/cause.ts +15 -139
- package/src/internal/channel/channelExecutor.ts +1 -1
- package/src/internal/channel/channelState.ts +10 -8
- package/src/internal/channel/continuation.ts +71 -42
- 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/channel/upstreamPullRequest.ts +1 -1
- package/src/internal/channel/upstreamPullStrategy.ts +1 -1
- package/src/internal/config.ts +21 -29
- package/src/internal/configError.ts +2 -2
- package/src/internal/configProvider.ts +20 -5
- package/src/internal/context.ts +6 -6
- package/src/internal/core-effect.ts +75 -67
- package/src/internal/core-stream.ts +25 -22
- package/src/internal/core.ts +360 -152
- package/src/internal/data.ts +3 -22
- package/src/internal/dataSource.ts +1 -1
- package/src/internal/deferred.ts +7 -5
- package/src/internal/differ/contextPatch.ts +5 -5
- package/src/internal/differ/orPatch.ts +18 -6
- package/src/internal/effect/circular.ts +4 -3
- package/src/internal/effectable.ts +41 -8
- package/src/internal/either.ts +2 -2
- package/src/internal/fiber.ts +2 -0
- package/src/internal/fiberId.ts +4 -4
- package/src/internal/fiberMessage.ts +1 -4
- package/src/internal/fiberRuntime.ts +242 -284
- package/src/internal/fiberScope.ts +1 -1
- package/src/internal/groupBy.ts +5 -2
- package/src/internal/hashMap/node.ts +5 -5
- package/src/internal/hashMap.ts +25 -24
- package/src/internal/hashSet.ts +20 -22
- package/src/internal/keyedPool.ts +7 -4
- package/src/internal/layer.ts +35 -89
- package/src/internal/logger.ts +2 -1
- package/src/internal/metric/hook.ts +2 -1
- package/src/internal/metric/key.ts +2 -2
- package/src/internal/metric/keyType.ts +2 -1
- package/src/internal/metric/pair.ts +1 -1
- package/src/internal/metric/polling.ts +26 -26
- package/src/internal/metric/state.ts +1 -1
- package/src/internal/metric.ts +12 -5
- package/src/internal/opCodes/layer.ts +6 -6
- package/src/internal/option.ts +2 -2
- package/src/internal/pool.ts +4 -2
- package/src/internal/pubsub.ts +66 -62
- package/src/internal/query.ts +1 -1
- package/src/internal/queue.ts +36 -14
- package/src/internal/redBlackTree/iterator.ts +1 -1
- package/src/internal/redBlackTree/node.ts +1 -1
- package/src/internal/redBlackTree.ts +11 -4
- package/src/internal/ref.ts +2 -1
- package/src/internal/reloadable.ts +2 -2
- package/src/internal/request.ts +53 -14
- package/src/internal/resource.ts +6 -5
- package/src/internal/ringBuffer.ts +1 -1
- package/src/internal/runtime.ts +4 -5
- package/src/internal/schedule.ts +12 -8
- package/src/internal/scopedCache.ts +14 -7
- package/src/internal/scopedRef.ts +2 -1
- package/src/internal/sink.ts +11 -4
- package/src/internal/stack.ts +1 -1
- package/src/internal/stm/core.ts +6 -4
- package/src/internal/stm/stm/stmState.ts +1 -1
- package/src/internal/stm/stm/tExit.ts +8 -6
- 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 +3 -3
- package/src/internal/stm/tDeferred.ts +3 -3
- package/src/internal/stm/tMap.ts +5 -4
- package/src/internal/stm/tPriorityQueue.ts +3 -3
- package/src/internal/stm/tPubSub.ts +43 -38
- package/src/internal/stm/tQueue.ts +9 -8
- package/src/internal/stm/tReentrantLock.ts +2 -2
- package/src/internal/stm/tRef.ts +2 -2
- package/src/internal/stm/tSemaphore.ts +2 -2
- package/src/internal/stm/tSet.ts +3 -3
- package/src/internal/stream/debounceState.ts +2 -2
- package/src/internal/stream/handoff.ts +4 -4
- package/src/internal/stream/handoffSignal.ts +2 -2
- package/src/internal/stream/pull.ts +1 -1
- package/src/internal/stream.ts +68 -35
- package/src/internal/subscriptionRef.ts +3 -3
- package/src/internal/supervisor.ts +4 -3
- package/src/internal/take.ts +4 -3
- package/src/internal/version.ts +1 -1
|
@@ -113,9 +113,10 @@ const EvaluationSignalYieldNow = "Yield" as const
|
|
|
113
113
|
/** @internal */
|
|
114
114
|
type EvaluationSignalYieldNow = typeof EvaluationSignalYieldNow
|
|
115
115
|
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
const runtimeFiberVariance = {
|
|
117
|
+
/* c8 ignore next */
|
|
118
118
|
_E: (_: never) => _,
|
|
119
|
+
/* c8 ignore next */
|
|
119
120
|
_A: (_: never) => _
|
|
120
121
|
}
|
|
121
122
|
|
|
@@ -135,10 +136,10 @@ const contOpSuccess = {
|
|
|
135
136
|
},
|
|
136
137
|
["OnStep"]: (
|
|
137
138
|
_: FiberRuntime<any, any>,
|
|
138
|
-
|
|
139
|
+
_cont: core.OnStep,
|
|
139
140
|
value: unknown
|
|
140
141
|
) => {
|
|
141
|
-
return
|
|
142
|
+
return core.exitSucceed(core.exitSucceed(value))
|
|
142
143
|
},
|
|
143
144
|
[OpCodes.OP_ON_SUCCESS_AND_FAILURE]: (
|
|
144
145
|
_: FiberRuntime<any, any>,
|
|
@@ -214,11 +215,11 @@ const drainQueueWhileRunningTable = {
|
|
|
214
215
|
/**
|
|
215
216
|
* Executes all requests, submitting requests to each data source in parallel.
|
|
216
217
|
*/
|
|
217
|
-
const runBlockedRequests =
|
|
218
|
+
const runBlockedRequests = (self: RequestBlock.RequestBlock) =>
|
|
218
219
|
core.forEachSequentialDiscard(
|
|
219
220
|
_RequestBlock.flatten(self),
|
|
220
221
|
(requestsByRequestResolver) =>
|
|
221
|
-
|
|
222
|
+
forEachConcurrentDiscard(
|
|
222
223
|
_RequestBlock.sequentialCollectionToChunk(requestsByRequestResolver),
|
|
223
224
|
([dataSource, sequential]) => {
|
|
224
225
|
const map = new Map<Request<any, any>, Entry<any>>()
|
|
@@ -233,12 +234,19 @@ const runBlockedRequests = <R>(self: RequestBlock.RequestBlock<R>) =>
|
|
|
233
234
|
map
|
|
234
235
|
)
|
|
235
236
|
},
|
|
237
|
+
false,
|
|
236
238
|
false
|
|
237
239
|
)
|
|
238
240
|
)
|
|
239
241
|
|
|
240
242
|
/** @internal */
|
|
241
|
-
export
|
|
243
|
+
export interface Snapshot {
|
|
244
|
+
refs: FiberRefs.FiberRefs
|
|
245
|
+
flags: RuntimeFlags.RuntimeFlags
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/** @internal */
|
|
249
|
+
export class FiberRuntime<in out E, in out A> implements Fiber.RuntimeFiber<E, A> {
|
|
242
250
|
readonly [internalFiber.FiberTypeId] = internalFiber.fiberVariance
|
|
243
251
|
readonly [internalFiber.RuntimeFiberTypeId] = runtimeFiberVariance
|
|
244
252
|
|
|
@@ -258,7 +266,7 @@ export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
|
|
|
258
266
|
private _asyncInterruptor: ((effect: Effect.Effect<any, any, any>) => any) | null = null
|
|
259
267
|
private _asyncBlockingOn: FiberId.FiberId | null = null
|
|
260
268
|
private _exitValue: Exit.Exit<E, A> | null = null
|
|
261
|
-
private _steps: Array<
|
|
269
|
+
private _steps: Array<Snapshot> = []
|
|
262
270
|
public _supervisor: Supervisor.Supervisor<any>
|
|
263
271
|
public _scheduler: Scheduler
|
|
264
272
|
private _tracer: Tracer.Tracer
|
|
@@ -461,6 +469,13 @@ export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
|
|
|
461
469
|
return core.sync(() => this.tell(FiberMessage.interruptSignal(internalCause.interrupt(fiberId))))
|
|
462
470
|
}
|
|
463
471
|
|
|
472
|
+
/**
|
|
473
|
+
* In the background, interrupts the fiber as if interrupted from the specified fiber.
|
|
474
|
+
*/
|
|
475
|
+
unsafeInterruptAsFork(fiberId: FiberId.FiberId) {
|
|
476
|
+
this.tell(FiberMessage.interruptSignal(internalCause.interrupt(fiberId)))
|
|
477
|
+
}
|
|
478
|
+
|
|
464
479
|
/**
|
|
465
480
|
* Adds an observer to the list of observers.
|
|
466
481
|
*
|
|
@@ -987,17 +1002,14 @@ export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
|
|
|
987
1002
|
pushStack(cont: core.Continuation) {
|
|
988
1003
|
this._stack.push(cont)
|
|
989
1004
|
if (cont._op === "OnStep") {
|
|
990
|
-
this._steps.push(
|
|
991
|
-
}
|
|
992
|
-
if (cont._op === "RevertFlags") {
|
|
993
|
-
this._steps.push(false)
|
|
1005
|
+
this._steps.push({ refs: this.getFiberRefs(), flags: this._runtimeFlags })
|
|
994
1006
|
}
|
|
995
1007
|
}
|
|
996
1008
|
|
|
997
1009
|
popStack() {
|
|
998
1010
|
const item = this._stack.pop()
|
|
999
1011
|
if (item) {
|
|
1000
|
-
if (item._op === "OnStep"
|
|
1012
|
+
if (item._op === "OnStep") {
|
|
1001
1013
|
this._steps.pop()
|
|
1002
1014
|
}
|
|
1003
1015
|
return item
|
|
@@ -1028,14 +1040,7 @@ export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
|
|
|
1028
1040
|
[OpCodes.OP_TAG](op: core.Primitive & { _op: OpCodes.OP_SYNC }) {
|
|
1029
1041
|
return core.map(
|
|
1030
1042
|
core.fiberRefGet(core.currentContext),
|
|
1031
|
-
(context) =>
|
|
1032
|
-
try {
|
|
1033
|
-
return Context.unsafeGet(context, op as unknown as Context.Tag<any, any>)
|
|
1034
|
-
} catch (e) {
|
|
1035
|
-
console.log(e)
|
|
1036
|
-
throw e
|
|
1037
|
-
}
|
|
1038
|
-
}
|
|
1043
|
+
(context) => Context.unsafeGet(context, op as unknown as Context.Tag<any, any>)
|
|
1039
1044
|
)
|
|
1040
1045
|
}
|
|
1041
1046
|
|
|
@@ -1044,7 +1049,7 @@ export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
|
|
|
1044
1049
|
}
|
|
1045
1050
|
|
|
1046
1051
|
["None"](_: core.Primitive & { _op: "None" }) {
|
|
1047
|
-
return core.fail(
|
|
1052
|
+
return core.fail(new core.NoSuchElementException())
|
|
1048
1053
|
}
|
|
1049
1054
|
|
|
1050
1055
|
["Right"](op: core.Primitive & { _op: "Right" }) {
|
|
@@ -1100,7 +1105,7 @@ export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
|
|
|
1100
1105
|
}
|
|
1101
1106
|
case "OnStep": {
|
|
1102
1107
|
if (!(_runtimeFlags.interruptible(this._runtimeFlags) && this.isInterrupted())) {
|
|
1103
|
-
return
|
|
1108
|
+
return core.exitSucceed(core.exitFailCause(cause))
|
|
1104
1109
|
} else {
|
|
1105
1110
|
return core.exitFailCause(internalCause.stripFailures(cause))
|
|
1106
1111
|
}
|
|
@@ -1130,54 +1135,37 @@ export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
|
|
|
1130
1135
|
}
|
|
1131
1136
|
|
|
1132
1137
|
["Blocked"](op: core.Primitive & { _op: "Blocked" }) {
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
}
|
|
1143
|
-
case "OnSuccessAndFailure": {
|
|
1144
|
-
return core.blocked(
|
|
1145
|
-
op.i0,
|
|
1146
|
-
core.matchCauseEffect(op.i1, {
|
|
1147
|
-
onFailure: nextOp.i1,
|
|
1148
|
-
onSuccess: nextOp.i2
|
|
1149
|
-
})
|
|
1150
|
-
)
|
|
1151
|
-
}
|
|
1152
|
-
case "OnFailure": {
|
|
1153
|
-
return core.blocked(op.i0, core.catchAllCause(op.i1, nextOp.i1))
|
|
1154
|
-
}
|
|
1155
|
-
case "While": {
|
|
1156
|
-
return core.blocked(
|
|
1157
|
-
op.i0,
|
|
1158
|
-
core.flatMap(op.i1, (a) => {
|
|
1159
|
-
nextOp.i2(a)
|
|
1160
|
-
if (nextOp.i0()) {
|
|
1161
|
-
return core.whileLoop({
|
|
1162
|
-
while: nextOp.i0,
|
|
1163
|
-
body: nextOp.i1,
|
|
1164
|
-
step: nextOp.i2
|
|
1165
|
-
})
|
|
1166
|
-
}
|
|
1167
|
-
return core.unit
|
|
1168
|
-
})
|
|
1169
|
-
)
|
|
1170
|
-
}
|
|
1171
|
-
case "RevertFlags": {
|
|
1172
|
-
this.pushStack(nextOp)
|
|
1173
|
-
break
|
|
1174
|
-
}
|
|
1175
|
-
}
|
|
1138
|
+
const refs = this.getFiberRefs()
|
|
1139
|
+
const flags = this._runtimeFlags
|
|
1140
|
+
if (this._steps.length > 0) {
|
|
1141
|
+
const frames: Array<core.Continuation> = []
|
|
1142
|
+
const snap = this._steps[this._steps.length - 1]
|
|
1143
|
+
let frame = this.popStack()
|
|
1144
|
+
while (frame && frame._op !== "OnStep") {
|
|
1145
|
+
frames.push(frame)
|
|
1146
|
+
frame = this.popStack()
|
|
1176
1147
|
}
|
|
1148
|
+
this.setFiberRefs(snap.refs)
|
|
1149
|
+
this._runtimeFlags = snap.flags
|
|
1150
|
+
const patchRefs = FiberRefsPatch.diff(snap.refs, refs)
|
|
1151
|
+
const patchFlags = _runtimeFlags.diff(snap.flags, flags)
|
|
1152
|
+
return core.exitSucceed(core.blocked(
|
|
1153
|
+
op.i0,
|
|
1154
|
+
core.withFiberRuntime((newFiber) => {
|
|
1155
|
+
while (frames.length > 0) {
|
|
1156
|
+
newFiber.pushStack(frames.pop()!)
|
|
1157
|
+
}
|
|
1158
|
+
newFiber.setFiberRefs(
|
|
1159
|
+
FiberRefsPatch.patch(newFiber.id(), newFiber.getFiberRefs())(patchRefs)
|
|
1160
|
+
)
|
|
1161
|
+
newFiber._runtimeFlags = _runtimeFlags.patch(patchFlags)(newFiber._runtimeFlags)
|
|
1162
|
+
return op.i1
|
|
1163
|
+
})
|
|
1164
|
+
))
|
|
1177
1165
|
}
|
|
1178
1166
|
return core.uninterruptibleMask((restore) =>
|
|
1179
1167
|
core.flatMap(
|
|
1180
|
-
|
|
1168
|
+
forkDaemon(core.runRequestBlock(op.i0)),
|
|
1181
1169
|
() => restore(op.i1)
|
|
1182
1170
|
)
|
|
1183
1171
|
)
|
|
@@ -1285,7 +1273,6 @@ export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
|
|
|
1285
1273
|
}
|
|
1286
1274
|
try {
|
|
1287
1275
|
if (!("_op" in cur) || !((cur as core.Primitive)._op in this)) {
|
|
1288
|
-
console.log(cur)
|
|
1289
1276
|
// @ts-expect-error
|
|
1290
1277
|
absurd(cur)
|
|
1291
1278
|
}
|
|
@@ -1312,23 +1299,22 @@ export class FiberRuntime<E, A> implements Fiber.RuntimeFiber<E, A> {
|
|
|
1312
1299
|
(e as core.Primitive)._op === OpCodes.OP_ASYNC
|
|
1313
1300
|
) {
|
|
1314
1301
|
throw e
|
|
1315
|
-
}
|
|
1316
|
-
if (
|
|
1302
|
+
} else if (
|
|
1317
1303
|
(e as core.Primitive)._op === OpCodes.OP_SUCCESS ||
|
|
1318
1304
|
(e as core.Primitive)._op === OpCodes.OP_FAILURE
|
|
1319
1305
|
) {
|
|
1320
1306
|
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
1307
|
} else {
|
|
1330
1308
|
cur = core.exitFailCause(internalCause.die(e))
|
|
1331
1309
|
}
|
|
1310
|
+
} else if (core.isEffectError(e)) {
|
|
1311
|
+
cur = core.exitFailCause(e.cause)
|
|
1312
|
+
} else if (core.isInterruptedException(e)) {
|
|
1313
|
+
cur = core.exitFailCause(
|
|
1314
|
+
internalCause.sequential(internalCause.die(e), internalCause.interrupt(FiberId.none))
|
|
1315
|
+
)
|
|
1316
|
+
} else {
|
|
1317
|
+
cur = core.exitFailCause(internalCause.die(e))
|
|
1332
1318
|
}
|
|
1333
1319
|
}
|
|
1334
1320
|
}
|
|
@@ -1622,7 +1608,7 @@ export const filter = dual<
|
|
|
1622
1608
|
(a, i) => core.map(predicate(a, i), (b) => (b ? Option.some(a) : Option.none())),
|
|
1623
1609
|
options
|
|
1624
1610
|
),
|
|
1625
|
-
RA.
|
|
1611
|
+
RA.getSomes
|
|
1626
1612
|
)
|
|
1627
1613
|
)
|
|
1628
1614
|
}
|
|
@@ -1891,16 +1877,16 @@ export const forEach: {
|
|
|
1891
1877
|
() =>
|
|
1892
1878
|
finalizersMask(ExecutionStrategy.sequential)((restore) =>
|
|
1893
1879
|
isRequestBatchingEnabled
|
|
1894
|
-
?
|
|
1880
|
+
? forEachConcurrentDiscard(self, (a, i) => restore(f(a, i)), true, false, 1)
|
|
1895
1881
|
: core.forEachSequentialDiscard(self, (a, i) => restore(f(a, i)))
|
|
1896
1882
|
),
|
|
1897
1883
|
() =>
|
|
1898
1884
|
finalizersMask(ExecutionStrategy.parallel)((restore) =>
|
|
1899
|
-
|
|
1885
|
+
forEachConcurrentDiscard(self, (a, i) => restore(f(a, i)), isRequestBatchingEnabled, false)
|
|
1900
1886
|
),
|
|
1901
1887
|
(n) =>
|
|
1902
1888
|
finalizersMask(ExecutionStrategy.parallelN(n))((restore) =>
|
|
1903
|
-
|
|
1889
|
+
forEachConcurrentDiscard(self, (a, i) => restore(f(a, i)), isRequestBatchingEnabled, false, n)
|
|
1904
1890
|
)
|
|
1905
1891
|
)
|
|
1906
1892
|
}
|
|
@@ -1934,162 +1920,176 @@ export const forEachParUnbounded = <A, R, E, B>(
|
|
|
1934
1920
|
const as = RA.fromIterable(self)
|
|
1935
1921
|
const array = new Array<B>(as.length)
|
|
1936
1922
|
const fn = (a: A, i: number) => core.flatMap(f(a, i), (b) => core.sync(() => array[i] = b))
|
|
1937
|
-
return core.zipRight(
|
|
1923
|
+
return core.zipRight(forEachConcurrentDiscard(as, fn, batching, false), core.succeed(array))
|
|
1938
1924
|
})
|
|
1939
1925
|
|
|
1940
|
-
|
|
1926
|
+
/** @internal */
|
|
1927
|
+
export const forEachConcurrentDiscard = <R, E, A, _>(
|
|
1941
1928
|
self: Iterable<A>,
|
|
1942
|
-
f: (a: A, i: number) => Effect.Effect<R, E, _
|
|
1929
|
+
f: (a: A, i: number) => Effect.Effect<R, E, _>,
|
|
1930
|
+
batching: boolean,
|
|
1931
|
+
processAll: boolean,
|
|
1932
|
+
n?: number
|
|
1943
1933
|
): Effect.Effect<R, E, void> =>
|
|
1944
|
-
core.
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
return core.asUnit(f(as[0], 0))
|
|
1951
|
-
}
|
|
1952
|
-
const effects = as.map(f)
|
|
1953
|
-
const blocked = new Array<Effect.Blocked<R, E, void>>()
|
|
1954
|
-
const loop = (i: number): Effect.Effect<R, E, void> =>
|
|
1955
|
-
i === effects.length ?
|
|
1956
|
-
core.suspend(() => {
|
|
1957
|
-
if (blocked.length > 0) {
|
|
1958
|
-
const requests = blocked.map((b) => b.i0).reduce(_RequestBlock.par)
|
|
1959
|
-
return core.blocked(
|
|
1960
|
-
requests,
|
|
1961
|
-
forEachBatchedDiscard(blocked.map((b) => b.i1), identity)
|
|
1962
|
-
)
|
|
1963
|
-
}
|
|
1934
|
+
core.uninterruptibleMask((restore) =>
|
|
1935
|
+
core.transplant((graft) =>
|
|
1936
|
+
core.withFiberRuntime((parent) => {
|
|
1937
|
+
let todos = Array.from(self).reverse()
|
|
1938
|
+
let target = todos.length
|
|
1939
|
+
if (target === 0) {
|
|
1964
1940
|
return core.unit
|
|
1965
|
-
}
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1941
|
+
}
|
|
1942
|
+
let counter = 0
|
|
1943
|
+
let interrupted = false
|
|
1944
|
+
const fibersCount = n ? Math.min(todos.length, n) : todos.length
|
|
1945
|
+
const fibers = new Set<FiberRuntime<never, Exit.Exit<E, _> | Effect.Blocked<E, _>>>()
|
|
1946
|
+
const results = new Array()
|
|
1947
|
+
const interruptAll = () =>
|
|
1948
|
+
fibers.forEach((fiber) => {
|
|
1949
|
+
fiber._scheduler.scheduleTask(() => {
|
|
1950
|
+
fiber.unsafeInterruptAsFork(parent.id())
|
|
1951
|
+
}, 0)
|
|
1952
|
+
})
|
|
1953
|
+
const startOrder = new Array<FiberRuntime<never, Exit.Exit<E, _> | Effect.Blocked<E, _>>>()
|
|
1954
|
+
const joinOrder = new Array<FiberRuntime<never, Exit.Exit<E, _> | Effect.Blocked<E, _>>>()
|
|
1955
|
+
const residual = new Array<core.Blocked>()
|
|
1956
|
+
const collectExits = () => {
|
|
1957
|
+
const exits: Array<Exit.Exit<E, any>> = results
|
|
1958
|
+
.filter(({ exit }) => exit._tag === "Failure")
|
|
1959
|
+
.sort((a, b) => a.index < b.index ? -1 : a.index === b.index ? 0 : 1)
|
|
1960
|
+
.map(({ exit }) => exit)
|
|
1961
|
+
if (exits.length === 0) {
|
|
1962
|
+
exits.push(core.exitUnit)
|
|
1983
1963
|
}
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
)
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
default: {
|
|
2041
|
-
if (exit._op === "Blocked") {
|
|
2042
|
-
residual.push(exit)
|
|
2043
|
-
}
|
|
2044
|
-
if (ref + 1 === size) {
|
|
2045
|
-
if (residual.length > 0) {
|
|
2046
|
-
const requests = residual.map((blocked) => blocked.i0).reduce(_RequestBlock.par)
|
|
2047
|
-
const _continue = forEachParUnboundedDiscard(residual, (blocked) => blocked.i1, batching)
|
|
2048
|
-
return core.deferredSucceed(deferred, core.blocked(requests, _continue))
|
|
2049
|
-
} else {
|
|
2050
|
-
core.deferredUnsafeDone(deferred, core.exitSucceed(core.exitUnit))
|
|
2051
|
-
}
|
|
2052
|
-
} else {
|
|
2053
|
-
ref = ref + 1
|
|
2054
|
-
}
|
|
2055
|
-
return core.unit
|
|
1964
|
+
return exits
|
|
1965
|
+
}
|
|
1966
|
+
const runFiber = <R, E, A>(eff: Effect.Effect<R, E, A>) => {
|
|
1967
|
+
const runnable = core.uninterruptible(graft(eff))
|
|
1968
|
+
const fiber = unsafeForkUnstarted(
|
|
1969
|
+
runnable,
|
|
1970
|
+
parent,
|
|
1971
|
+
parent._runtimeFlags,
|
|
1972
|
+
fiberScope.globalScope
|
|
1973
|
+
)
|
|
1974
|
+
parent._scheduler.scheduleTask(() => {
|
|
1975
|
+
fiber.resume(runnable)
|
|
1976
|
+
}, 0)
|
|
1977
|
+
return fiber
|
|
1978
|
+
}
|
|
1979
|
+
const onInterruptSignal = () => {
|
|
1980
|
+
if (!processAll) {
|
|
1981
|
+
target -= todos.length
|
|
1982
|
+
todos = []
|
|
1983
|
+
}
|
|
1984
|
+
interrupted = true
|
|
1985
|
+
interruptAll()
|
|
1986
|
+
}
|
|
1987
|
+
const stepOrExit = batching ? core.step : core.exit
|
|
1988
|
+
const processingFiber = runFiber(
|
|
1989
|
+
core.async<any, any, any>((resume) => {
|
|
1990
|
+
const pushResult = <E, _>(res: Exit.Exit<E, _> | Effect.Blocked<E, _>, index: number) => {
|
|
1991
|
+
if (res._op === "Blocked") {
|
|
1992
|
+
residual.push(res as core.Blocked)
|
|
1993
|
+
} else {
|
|
1994
|
+
results.push({ index, exit: res })
|
|
1995
|
+
if (res._op === "Failure" && !interrupted) {
|
|
1996
|
+
onInterruptSignal()
|
|
1997
|
+
}
|
|
1998
|
+
}
|
|
1999
|
+
}
|
|
2000
|
+
const next = () => {
|
|
2001
|
+
if (todos.length > 0) {
|
|
2002
|
+
const a = todos.pop()!
|
|
2003
|
+
let index = counter++
|
|
2004
|
+
const returnNextElement = () => {
|
|
2005
|
+
const a = todos.pop()!
|
|
2006
|
+
index = counter++
|
|
2007
|
+
return core.flatMap(core.yieldNow(), () =>
|
|
2008
|
+
core.flatMap(
|
|
2009
|
+
stepOrExit(restore(f(a, index))),
|
|
2010
|
+
onRes
|
|
2011
|
+
))
|
|
2012
|
+
}
|
|
2013
|
+
const onRes = (
|
|
2014
|
+
res: Exit.Exit<E, _> | Effect.Blocked<E, _>
|
|
2015
|
+
): Effect.Effect<R, never, Exit.Exit<E, _> | Effect.Blocked<E, _>> => {
|
|
2016
|
+
if (todos.length > 0) {
|
|
2017
|
+
pushResult(res, index)
|
|
2018
|
+
if (todos.length > 0) {
|
|
2019
|
+
return returnNextElement()
|
|
2056
2020
|
}
|
|
2057
2021
|
}
|
|
2022
|
+
return core.succeed(res)
|
|
2058
2023
|
}
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
core.flatMap(
|
|
2076
|
-
forEachParUnbounded(fibers, core.interruptFiber, batching),
|
|
2077
|
-
(exits) => {
|
|
2078
|
-
const exit = core.exitCollectAll(exits, { parallel: true })
|
|
2079
|
-
if (exit._tag === "Some" && core.exitIsFailure(exit.value)) {
|
|
2080
|
-
return core.failCause(
|
|
2081
|
-
internalCause.parallel(internalCause.stripFailures(cause), exit.value.i0)
|
|
2082
|
-
)
|
|
2024
|
+
const todo = core.flatMap(
|
|
2025
|
+
stepOrExit(restore(f(a, index))),
|
|
2026
|
+
onRes
|
|
2027
|
+
)
|
|
2028
|
+
const fiber = runFiber(todo)
|
|
2029
|
+
startOrder.push(fiber)
|
|
2030
|
+
fibers.add(fiber)
|
|
2031
|
+
if (interrupted) {
|
|
2032
|
+
fiber._scheduler.scheduleTask(() => {
|
|
2033
|
+
fiber.unsafeInterruptAsFork(parent.id())
|
|
2034
|
+
}, 0)
|
|
2035
|
+
}
|
|
2036
|
+
fiber.addObserver((wrapped) => {
|
|
2037
|
+
let exit: Exit.Exit<any, any> | core.Blocked
|
|
2038
|
+
if (wrapped._op === "Failure") {
|
|
2039
|
+
exit = wrapped
|
|
2083
2040
|
} else {
|
|
2084
|
-
|
|
2041
|
+
exit = wrapped.i0 as any
|
|
2085
2042
|
}
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2043
|
+
joinOrder.push(fiber)
|
|
2044
|
+
fibers.delete(fiber)
|
|
2045
|
+
pushResult(exit, index)
|
|
2046
|
+
if (results.length === target) {
|
|
2047
|
+
resume(core.succeed(Option.getOrElse(
|
|
2048
|
+
core.exitCollectAll(collectExits(), { parallel: true }),
|
|
2049
|
+
() => core.exitUnit
|
|
2050
|
+
)))
|
|
2051
|
+
} else if (residual.length + results.length === target) {
|
|
2052
|
+
const requests = residual.map((blocked) => blocked.i0).reduce(_RequestBlock.par)
|
|
2053
|
+
resume(core.succeed(core.blocked(
|
|
2054
|
+
requests,
|
|
2055
|
+
forEachConcurrentDiscard(
|
|
2056
|
+
[
|
|
2057
|
+
Option.getOrElse(
|
|
2058
|
+
core.exitCollectAll(collectExits(), { parallel: true }),
|
|
2059
|
+
() => core.exitUnit
|
|
2060
|
+
),
|
|
2061
|
+
...residual.map((blocked) => blocked.i1)
|
|
2062
|
+
],
|
|
2063
|
+
(i) => i,
|
|
2064
|
+
batching,
|
|
2065
|
+
true,
|
|
2066
|
+
n
|
|
2067
|
+
)
|
|
2068
|
+
)))
|
|
2069
|
+
} else {
|
|
2070
|
+
next()
|
|
2071
|
+
}
|
|
2072
|
+
})
|
|
2073
|
+
}
|
|
2074
|
+
}
|
|
2075
|
+
for (let i = 0; i < fibersCount; i++) {
|
|
2076
|
+
next()
|
|
2077
|
+
}
|
|
2078
|
+
})
|
|
2079
|
+
)
|
|
2080
|
+
return core.asUnit(core.tap(
|
|
2081
|
+
core.flatten(core.onInterrupt(
|
|
2082
|
+
restore(internalFiber.join(processingFiber)),
|
|
2083
|
+
() => {
|
|
2084
|
+
onInterruptSignal()
|
|
2085
|
+
return internalFiber._await(processingFiber)
|
|
2086
|
+
}
|
|
2087
|
+
)),
|
|
2088
|
+
() => core.forEachSequential(joinOrder, (f) => f.inheritAll)
|
|
2090
2089
|
))
|
|
2091
|
-
|
|
2092
|
-
|
|
2090
|
+
})
|
|
2091
|
+
)
|
|
2092
|
+
)
|
|
2093
2093
|
|
|
2094
2094
|
/* @internal */
|
|
2095
2095
|
export const forEachParN = <A, R, E, B>(
|
|
@@ -2102,60 +2102,7 @@ export const forEachParN = <A, R, E, B>(
|
|
|
2102
2102
|
const as = RA.fromIterable(self)
|
|
2103
2103
|
const array = new Array<B>(as.length)
|
|
2104
2104
|
const fn = (a: A, i: number) => core.map(f(a, i), (b) => array[i] = b)
|
|
2105
|
-
return core.zipRight(
|
|
2106
|
-
})
|
|
2107
|
-
|
|
2108
|
-
/* @internal */
|
|
2109
|
-
export const forEachParNDiscard = <A, R, E, _>(
|
|
2110
|
-
self: Iterable<A>,
|
|
2111
|
-
n: number,
|
|
2112
|
-
f: (a: A, i: number) => Effect.Effect<R, E, _>,
|
|
2113
|
-
batching: boolean
|
|
2114
|
-
): Effect.Effect<R, E, void> =>
|
|
2115
|
-
core.suspend(() => {
|
|
2116
|
-
let i = 0
|
|
2117
|
-
const iterator = self[Symbol.iterator]()
|
|
2118
|
-
const residual: Array<Effect.Blocked<any, any, any>> = []
|
|
2119
|
-
const worker: Effect.Effect<R, E, void> = core.flatMap(
|
|
2120
|
-
core.sync(() => iterator.next()),
|
|
2121
|
-
(next) =>
|
|
2122
|
-
next.done ?
|
|
2123
|
-
core.unit :
|
|
2124
|
-
core.flatMap((batching ? core.step : core.exit)(core.asUnit(f(next.value, i++))), (res) => {
|
|
2125
|
-
switch (res._op) {
|
|
2126
|
-
case "Blocked": {
|
|
2127
|
-
residual.push(res)
|
|
2128
|
-
return worker
|
|
2129
|
-
}
|
|
2130
|
-
case "Failure": {
|
|
2131
|
-
return res
|
|
2132
|
-
}
|
|
2133
|
-
case "Success":
|
|
2134
|
-
return worker
|
|
2135
|
-
}
|
|
2136
|
-
})
|
|
2137
|
-
)
|
|
2138
|
-
const effects: Array<Effect.Effect<R, E, void>> = []
|
|
2139
|
-
for (let i = 0; i < n; i++) {
|
|
2140
|
-
effects.push(worker)
|
|
2141
|
-
}
|
|
2142
|
-
return core.flatMap(core.exit(forEachParUnboundedDiscard(effects, identity, batching)), (exit) => {
|
|
2143
|
-
if (residual.length === 0) {
|
|
2144
|
-
return exit
|
|
2145
|
-
}
|
|
2146
|
-
const requests = residual.map((blocked) => blocked.i0).reduce(_RequestBlock.par)
|
|
2147
|
-
const _continue = forEachParNDiscard(residual, n, (blocked) => blocked.i1, batching)
|
|
2148
|
-
if (exit._tag === "Failure") {
|
|
2149
|
-
return core.blocked(
|
|
2150
|
-
requests,
|
|
2151
|
-
core.matchCauseEffect(_continue, {
|
|
2152
|
-
onFailure: (cause) => core.exitFailCause(internalCause.parallel(exit.cause, cause)),
|
|
2153
|
-
onSuccess: () => exit
|
|
2154
|
-
})
|
|
2155
|
-
)
|
|
2156
|
-
}
|
|
2157
|
-
return core.blocked(requests, _continue)
|
|
2158
|
-
})
|
|
2105
|
+
return core.zipRight(forEachConcurrentDiscard(as, fn, batching, false, n), core.succeed(array))
|
|
2159
2106
|
})
|
|
2160
2107
|
|
|
2161
2108
|
/* @internal */
|
|
@@ -2202,6 +2149,17 @@ export const unsafeFork = <R, E, A, E2, B>(
|
|
|
2202
2149
|
return childFiber
|
|
2203
2150
|
}
|
|
2204
2151
|
|
|
2152
|
+
/** @internal */
|
|
2153
|
+
export const unsafeForkUnstarted = <R, E, A, E2, B>(
|
|
2154
|
+
effect: Effect.Effect<R, E, A>,
|
|
2155
|
+
parentFiber: FiberRuntime<E2, B>,
|
|
2156
|
+
parentRuntimeFlags: RuntimeFlags.RuntimeFlags,
|
|
2157
|
+
overrideScope: fiberScope.FiberScope | null = null
|
|
2158
|
+
): FiberRuntime<E, A> => {
|
|
2159
|
+
const childFiber = unsafeMakeChildFiber(effect, parentFiber, parentRuntimeFlags, overrideScope)
|
|
2160
|
+
return childFiber
|
|
2161
|
+
}
|
|
2162
|
+
|
|
2205
2163
|
/** @internal */
|
|
2206
2164
|
export const unsafeMakeChildFiber = <R, E, A, E2, B>(
|
|
2207
2165
|
effect: Effect.Effect<R, E, A>,
|
|
@@ -2291,7 +2249,7 @@ export const partition = dual<
|
|
|
2291
2249
|
readonly concurrency?: Concurrency | undefined
|
|
2292
2250
|
readonly batching?: boolean | "inherit" | undefined
|
|
2293
2251
|
}
|
|
2294
|
-
) => (elements: Iterable<A>) => Effect.Effect<R, never, [Array<E>, Array<B>]>,
|
|
2252
|
+
) => (elements: Iterable<A>) => Effect.Effect<R, never, [excluded: Array<E>, satisfying: Array<B>]>,
|
|
2295
2253
|
<R, E, A, B>(
|
|
2296
2254
|
elements: Iterable<A>,
|
|
2297
2255
|
f: (a: A, i: number) => Effect.Effect<R, E, B>,
|
|
@@ -2299,7 +2257,7 @@ export const partition = dual<
|
|
|
2299
2257
|
readonly concurrency?: Concurrency | undefined
|
|
2300
2258
|
readonly batching?: boolean | "inherit" | undefined
|
|
2301
2259
|
}
|
|
2302
|
-
) => Effect.Effect<R, never, [Array<E>, Array<B>]>
|
|
2260
|
+
) => Effect.Effect<R, never, [excluded: Array<E>, satisfying: Array<B>]>
|
|
2303
2261
|
>((args) => Predicate.isIterable(args[0]), (elements, f, options) =>
|
|
2304
2262
|
pipe(
|
|
2305
2263
|
forEach(elements, (a, i) => core.either(f(a, i)), options),
|
|
@@ -2369,7 +2327,7 @@ export const validateAll = dual<
|
|
|
2369
2327
|
export const raceAll = <R, E, A>(all: Iterable<Effect.Effect<R, E, A>>) => {
|
|
2370
2328
|
const list = Chunk.fromIterable(all)
|
|
2371
2329
|
if (!Chunk.isNonEmpty(list)) {
|
|
2372
|
-
return core.dieSync(() =>
|
|
2330
|
+
return core.dieSync(() => new core.IllegalArgumentException(`Received an empty collection of effects`))
|
|
2373
2331
|
}
|
|
2374
2332
|
const self = Chunk.headNonEmpty(list)
|
|
2375
2333
|
const effects = Chunk.tailNonEmpty(list)
|
|
@@ -3123,7 +3081,7 @@ export const fiberAll = <E, A>(fibers: Iterable<Fiber.Fiber<E, A>>): Fiber.Fiber
|
|
|
3123
3081
|
[internalFiber.FiberTypeId]: internalFiber.fiberVariance,
|
|
3124
3082
|
id: () => RA.fromIterable(fibers).reduce((id, fiber) => FiberId.combine(id, fiber.id()), FiberId.none),
|
|
3125
3083
|
await: core.exit(forEachParUnbounded(fibers, (fiber) => core.flatten(fiber.await), false)),
|
|
3126
|
-
children: core.map(forEachParUnbounded(fibers, (fiber) => fiber.children, false), RA.flatten),
|
|
3084
|
+
children: core.map(forEachParUnbounded(fibers, (fiber) => fiber.children, false), (children) => RA.flatten(children)),
|
|
3127
3085
|
inheritAll: core.forEachSequentialDiscard(fibers, (fiber) => fiber.inheritAll),
|
|
3128
3086
|
poll: core.map(
|
|
3129
3087
|
core.forEachSequential(fibers, (fiber) => fiber.poll),
|