@clayroach/effect 3.19.14-source-capture.8 → 3.19.14-source-trace.2
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/SourceLocation/package.json +6 -0
- package/dist/cjs/Effect.js +2 -28
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/FiberRef.js +12 -1
- package/dist/cjs/FiberRef.js.map +1 -1
- package/dist/cjs/Layer.js +2 -24
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/RuntimeFlags.js +1 -29
- package/dist/cjs/RuntimeFlags.js.map +1 -1
- package/dist/cjs/SourceLocation.js +60 -0
- package/dist/cjs/SourceLocation.js.map +1 -0
- package/dist/cjs/Tracer.js +1 -15
- package/dist/cjs/Tracer.js.map +1 -1
- package/dist/cjs/Utils.js +1 -1
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/clock.js +1 -1
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/core.js +17 -50
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +18 -30
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/fiberRuntime.js +16 -65
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/layer/circular.js +1 -5
- package/dist/cjs/internal/layer/circular.js.map +1 -1
- package/dist/cjs/internal/layer.js +1 -3
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/logger.js +25 -2
- package/dist/cjs/internal/logger.js.map +1 -1
- package/dist/cjs/internal/runtimeFlags.js +2 -11
- package/dist/cjs/internal/runtimeFlags.js.map +1 -1
- package/dist/cjs/internal/tracer.js +1 -114
- package/dist/cjs/internal/tracer.js.map +1 -1
- package/dist/dts/Config.d.ts +2 -2
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +8 -29
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/FiberRef.d.ts +12 -0
- package/dist/dts/FiberRef.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +0 -22
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/RuntimeFlags.d.ts +0 -28
- package/dist/dts/RuntimeFlags.d.ts.map +1 -1
- package/dist/dts/SourceLocation.d.ts +88 -0
- package/dist/dts/SourceLocation.d.ts.map +1 -0
- package/dist/dts/Tracer.d.ts +0 -15
- package/dist/dts/Tracer.d.ts.map +1 -1
- package/dist/dts/index.d.ts +6 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/dts/internal/layer.d.ts.map +1 -1
- package/dist/dts/internal/runtimeFlags.d.ts.map +1 -1
- package/dist/esm/Effect.js +0 -26
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/FiberRef.js +11 -0
- package/dist/esm/FiberRef.js.map +1 -1
- package/dist/esm/Layer.js +0 -22
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/RuntimeFlags.js +0 -28
- package/dist/esm/RuntimeFlags.js.map +1 -1
- package/dist/esm/SourceLocation.js +51 -0
- package/dist/esm/SourceLocation.js.map +1 -0
- package/dist/esm/Tracer.js +0 -14
- package/dist/esm/Tracer.js.map +1 -1
- package/dist/esm/Utils.js +1 -1
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/clock.js +1 -1
- package/dist/esm/internal/clock.js.map +1 -1
- package/dist/esm/internal/core.js +12 -45
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +18 -30
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/fiberRuntime.js +13 -60
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/layer/circular.js +0 -4
- package/dist/esm/internal/layer/circular.js.map +1 -1
- package/dist/esm/internal/layer.js +0 -2
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/logger.js +25 -2
- package/dist/esm/internal/logger.js.map +1 -1
- package/dist/esm/internal/runtimeFlags.js +1 -9
- package/dist/esm/internal/runtimeFlags.js.map +1 -1
- package/dist/esm/internal/tracer.js +0 -111
- package/dist/esm/internal/tracer.js.map +1 -1
- package/package.json +12 -1
- package/src/Arbitrary.ts +1101 -0
- package/src/Array.ts +3589 -0
- package/src/BigDecimal.ts +1349 -0
- package/src/BigInt.ts +643 -0
- package/src/Boolean.ts +287 -0
- package/src/Brand.ts +360 -0
- package/src/Cache.ts +281 -0
- package/src/Cause.ts +1555 -0
- package/src/Channel.ts +2355 -0
- package/src/ChildExecutorDecision.ts +146 -0
- package/src/Chunk.ts +1495 -0
- package/src/Clock.ts +111 -0
- package/src/Config.ts +542 -0
- package/src/ConfigError.ts +270 -0
- package/src/ConfigProvider.ts +333 -0
- package/src/ConfigProviderPathPatch.ts +100 -0
- package/src/Console.ts +226 -0
- package/src/Context.ts +585 -0
- package/src/Cron.ts +706 -0
- package/src/Data.ts +596 -0
- package/src/DateTime.ts +1686 -0
- package/src/DefaultServices.ts +34 -0
- package/src/Deferred.ts +301 -0
- package/src/Differ.ts +450 -0
- package/src/Duration.ts +1000 -0
- package/src/Effect.ts +14817 -0
- package/src/Effectable.ts +107 -0
- package/src/Either.ts +1040 -0
- package/src/Encoding.ts +195 -0
- package/src/Equal.ts +98 -0
- package/src/Equivalence.ts +235 -0
- package/src/ExecutionPlan.ts +308 -0
- package/src/ExecutionStrategy.ts +119 -0
- package/src/Exit.ts +467 -0
- package/src/FastCheck.ts +9 -0
- package/src/Fiber.ts +744 -0
- package/src/FiberHandle.ts +540 -0
- package/src/FiberId.ts +195 -0
- package/src/FiberMap.ts +656 -0
- package/src/FiberRef.ts +444 -0
- package/src/FiberRefs.ts +204 -0
- package/src/FiberRefsPatch.ts +105 -0
- package/src/FiberSet.ts +491 -0
- package/src/FiberStatus.ts +108 -0
- package/src/Function.ts +1222 -0
- package/src/GlobalValue.ts +53 -0
- package/src/Graph.ts +3732 -0
- package/src/GroupBy.ts +103 -0
- package/src/HKT.ts +45 -0
- package/src/Hash.ts +195 -0
- package/src/HashMap.ts +519 -0
- package/src/HashRing.ts +317 -0
- package/src/HashSet.ts +2346 -0
- package/src/Inspectable.ts +287 -0
- package/src/Iterable.ts +1119 -0
- package/src/JSONSchema.ts +1044 -0
- package/src/KeyedPool.ts +167 -0
- package/src/Layer.ts +1228 -0
- package/src/LayerMap.ts +436 -0
- package/src/List.ts +977 -0
- package/src/LogLevel.ts +285 -0
- package/src/LogSpan.ts +25 -0
- package/src/Logger.ts +702 -0
- package/src/Mailbox.ts +268 -0
- package/src/ManagedRuntime.ts +180 -0
- package/src/Match.ts +1477 -0
- package/src/MergeDecision.ts +95 -0
- package/src/MergeState.ts +172 -0
- package/src/MergeStrategy.ts +107 -0
- package/src/Metric.ts +780 -0
- package/src/MetricBoundaries.ts +69 -0
- package/src/MetricHook.ts +151 -0
- package/src/MetricKey.ts +224 -0
- package/src/MetricKeyType.ts +262 -0
- package/src/MetricLabel.ts +47 -0
- package/src/MetricPair.ts +71 -0
- package/src/MetricPolling.ts +148 -0
- package/src/MetricRegistry.ts +48 -0
- package/src/MetricState.ts +257 -0
- package/src/Micro.ts +4405 -0
- package/src/ModuleVersion.ts +18 -0
- package/src/MutableHashMap.ts +411 -0
- package/src/MutableHashSet.ts +706 -0
- package/src/MutableList.ts +297 -0
- package/src/MutableQueue.ts +227 -0
- package/src/MutableRef.ts +202 -0
- package/src/NonEmptyIterable.ts +32 -0
- package/src/Number.ts +1071 -0
- package/src/Option.ts +2170 -0
- package/src/Order.ts +373 -0
- package/src/Ordering.ts +111 -0
- package/src/ParseResult.ts +2031 -0
- package/src/PartitionedSemaphore.ts +200 -0
- package/src/Pipeable.ts +566 -0
- package/src/Pool.ts +204 -0
- package/src/Predicate.ts +1405 -0
- package/src/Pretty.ts +205 -0
- package/src/PrimaryKey.ts +23 -0
- package/src/PubSub.ts +182 -0
- package/src/Queue.ts +644 -0
- package/src/Random.ts +204 -0
- package/src/RateLimiter.ts +138 -0
- package/src/RcMap.ts +141 -0
- package/src/RcRef.ts +122 -0
- package/src/Readable.ts +93 -0
- package/src/Record.ts +1274 -0
- package/src/RedBlackTree.ts +421 -0
- package/src/Redacted.ts +144 -0
- package/src/Ref.ts +180 -0
- package/src/RegExp.ts +38 -0
- package/src/Reloadable.ts +127 -0
- package/src/Request.ts +347 -0
- package/src/RequestBlock.ts +118 -0
- package/src/RequestResolver.ts +366 -0
- package/src/Resource.ts +119 -0
- package/src/Runtime.ts +383 -0
- package/src/RuntimeFlags.ts +336 -0
- package/src/RuntimeFlagsPatch.ts +183 -0
- package/src/STM.ts +2045 -0
- package/src/Schedule.ts +2219 -0
- package/src/ScheduleDecision.ts +62 -0
- package/src/ScheduleInterval.ts +151 -0
- package/src/ScheduleIntervals.ts +122 -0
- package/src/Scheduler.ts +353 -0
- package/src/Schema.ts +10914 -0
- package/src/SchemaAST.ts +3043 -0
- package/src/Scope.ts +204 -0
- package/src/ScopedCache.ts +151 -0
- package/src/ScopedRef.ts +117 -0
- package/src/Secret.ts +88 -0
- package/src/SingleProducerAsyncInput.ts +67 -0
- package/src/Sink.ts +1461 -0
- package/src/SortedMap.ts +287 -0
- package/src/SortedSet.ts +390 -0
- package/src/SourceLocation.ts +108 -0
- package/src/Stream.ts +6468 -0
- package/src/StreamEmit.ts +136 -0
- package/src/StreamHaltStrategy.ts +123 -0
- package/src/Streamable.ts +45 -0
- package/src/String.ts +778 -0
- package/src/Struct.ts +243 -0
- package/src/Subscribable.ts +100 -0
- package/src/SubscriptionRef.ts +298 -0
- package/src/Supervisor.ts +240 -0
- package/src/Symbol.ts +29 -0
- package/src/SynchronizedRef.ts +270 -0
- package/src/TArray.ts +495 -0
- package/src/TDeferred.ts +100 -0
- package/src/TMap.ts +515 -0
- package/src/TPriorityQueue.ts +223 -0
- package/src/TPubSub.ts +200 -0
- package/src/TQueue.ts +432 -0
- package/src/TRandom.ts +129 -0
- package/src/TReentrantLock.ts +224 -0
- package/src/TRef.ts +178 -0
- package/src/TSemaphore.ts +129 -0
- package/src/TSet.ts +365 -0
- package/src/TSubscriptionRef.ts +192 -0
- package/src/Take.ts +258 -0
- package/src/TestAnnotation.ts +158 -0
- package/src/TestAnnotationMap.ts +119 -0
- package/src/TestAnnotations.ts +117 -0
- package/src/TestClock.ts +556 -0
- package/src/TestConfig.ts +47 -0
- package/src/TestContext.ts +36 -0
- package/src/TestLive.ts +53 -0
- package/src/TestServices.ts +390 -0
- package/src/TestSized.ts +55 -0
- package/src/Tracer.ts +182 -0
- package/src/Trie.ts +840 -0
- package/src/Tuple.ts +305 -0
- package/src/Types.ts +353 -0
- package/src/Unify.ts +113 -0
- package/src/UpstreamPullRequest.ts +117 -0
- package/src/UpstreamPullStrategy.ts +121 -0
- package/src/Utils.ts +809 -0
- package/src/index.ts +1568 -0
- package/src/internal/array.ts +8 -0
- package/src/internal/blockedRequests.ts +520 -0
- package/src/internal/cache.ts +733 -0
- package/src/internal/cause.ts +1050 -0
- package/src/internal/channel/channelExecutor.ts +1200 -0
- package/src/internal/channel/channelState.ts +134 -0
- package/src/internal/channel/childExecutorDecision.ts +96 -0
- package/src/internal/channel/continuation.ts +200 -0
- package/src/internal/channel/mergeDecision.ts +113 -0
- package/src/internal/channel/mergeState.ts +120 -0
- package/src/internal/channel/mergeStrategy.ts +72 -0
- package/src/internal/channel/singleProducerAsyncInput.ts +259 -0
- package/src/internal/channel/subexecutor.ts +229 -0
- package/src/internal/channel/upstreamPullRequest.ts +84 -0
- package/src/internal/channel/upstreamPullStrategy.ts +87 -0
- package/src/internal/channel.ts +2603 -0
- package/src/internal/clock.ts +95 -0
- package/src/internal/completedRequestMap.ts +9 -0
- package/src/internal/concurrency.ts +54 -0
- package/src/internal/config.ts +716 -0
- package/src/internal/configError.ts +304 -0
- package/src/internal/configProvider/pathPatch.ts +97 -0
- package/src/internal/configProvider.ts +799 -0
- package/src/internal/console.ts +153 -0
- package/src/internal/context.ts +337 -0
- package/src/internal/core-effect.ts +2293 -0
- package/src/internal/core-stream.ts +998 -0
- package/src/internal/core.ts +3189 -0
- package/src/internal/data.ts +36 -0
- package/src/internal/dataSource.ts +327 -0
- package/src/internal/dateTime.ts +1277 -0
- package/src/internal/defaultServices/console.ts +100 -0
- package/src/internal/defaultServices.ts +163 -0
- package/src/internal/deferred.ts +46 -0
- package/src/internal/differ/chunkPatch.ts +211 -0
- package/src/internal/differ/contextPatch.ts +232 -0
- package/src/internal/differ/hashMapPatch.ts +220 -0
- package/src/internal/differ/hashSetPatch.ts +176 -0
- package/src/internal/differ/orPatch.ts +311 -0
- package/src/internal/differ/readonlyArrayPatch.ts +210 -0
- package/src/internal/differ.ts +200 -0
- package/src/internal/doNotation.ts +80 -0
- package/src/internal/effect/circular.ts +895 -0
- package/src/internal/effectable.ts +131 -0
- package/src/internal/either.ts +110 -0
- package/src/internal/encoding/base64.ts +286 -0
- package/src/internal/encoding/base64Url.ts +29 -0
- package/src/internal/encoding/common.ts +51 -0
- package/src/internal/encoding/hex.ts +315 -0
- package/src/internal/errors.ts +7 -0
- package/src/internal/executionPlan.ts +114 -0
- package/src/internal/executionStrategy.ts +74 -0
- package/src/internal/fiber.ts +388 -0
- package/src/internal/fiberId.ts +267 -0
- package/src/internal/fiberMessage.ts +82 -0
- package/src/internal/fiberRefs/patch.ts +144 -0
- package/src/internal/fiberRefs.ts +297 -0
- package/src/internal/fiberRuntime.ts +3842 -0
- package/src/internal/fiberScope.ts +71 -0
- package/src/internal/fiberStatus.ts +119 -0
- package/src/internal/groupBy.ts +530 -0
- package/src/internal/hashMap/array.ts +49 -0
- package/src/internal/hashMap/bitwise.ts +32 -0
- package/src/internal/hashMap/config.ts +14 -0
- package/src/internal/hashMap/keySet.ts +8 -0
- package/src/internal/hashMap/node.ts +391 -0
- package/src/internal/hashMap.ts +586 -0
- package/src/internal/hashSet.ts +323 -0
- package/src/internal/keyedPool.ts +244 -0
- package/src/internal/layer/circular.ts +214 -0
- package/src/internal/layer.ts +1483 -0
- package/src/internal/logSpan.ts +20 -0
- package/src/internal/logger-circular.ts +24 -0
- package/src/internal/logger.ts +522 -0
- package/src/internal/mailbox.ts +561 -0
- package/src/internal/managedRuntime/circular.ts +6 -0
- package/src/internal/managedRuntime.ts +134 -0
- package/src/internal/matcher.ts +652 -0
- package/src/internal/metric/boundaries.ts +75 -0
- package/src/internal/metric/hook.ts +483 -0
- package/src/internal/metric/key.ts +167 -0
- package/src/internal/metric/keyType.ts +238 -0
- package/src/internal/metric/label.ts +41 -0
- package/src/internal/metric/pair.ts +48 -0
- package/src/internal/metric/polling.ts +149 -0
- package/src/internal/metric/registry.ts +187 -0
- package/src/internal/metric/state.ts +290 -0
- package/src/internal/metric.ts +577 -0
- package/src/internal/opCodes/cause.ts +35 -0
- package/src/internal/opCodes/channel.ts +83 -0
- package/src/internal/opCodes/channelChildExecutorDecision.ts +17 -0
- package/src/internal/opCodes/channelMergeDecision.ts +11 -0
- package/src/internal/opCodes/channelMergeState.ts +17 -0
- package/src/internal/opCodes/channelMergeStrategy.ts +11 -0
- package/src/internal/opCodes/channelState.ts +23 -0
- package/src/internal/opCodes/channelUpstreamPullRequest.ts +11 -0
- package/src/internal/opCodes/channelUpstreamPullStrategy.ts +11 -0
- package/src/internal/opCodes/config.ts +65 -0
- package/src/internal/opCodes/configError.ts +35 -0
- package/src/internal/opCodes/continuation.ts +11 -0
- package/src/internal/opCodes/deferred.ts +11 -0
- package/src/internal/opCodes/effect.ts +89 -0
- package/src/internal/opCodes/layer.ts +59 -0
- package/src/internal/opCodes/streamHaltStrategy.ts +23 -0
- package/src/internal/option.ts +80 -0
- package/src/internal/pool.ts +432 -0
- package/src/internal/pubsub.ts +1762 -0
- package/src/internal/query.ts +204 -0
- package/src/internal/queue.ts +766 -0
- package/src/internal/random.ts +161 -0
- package/src/internal/rateLimiter.ts +93 -0
- package/src/internal/rcMap.ts +285 -0
- package/src/internal/rcRef.ts +192 -0
- package/src/internal/redBlackTree/iterator.ts +200 -0
- package/src/internal/redBlackTree/node.ts +68 -0
- package/src/internal/redBlackTree.ts +1245 -0
- package/src/internal/redacted.ts +73 -0
- package/src/internal/ref.ts +171 -0
- package/src/internal/reloadable.ts +140 -0
- package/src/internal/request.ts +177 -0
- package/src/internal/resource.ts +76 -0
- package/src/internal/ringBuffer.ts +68 -0
- package/src/internal/runtime.ts +558 -0
- package/src/internal/runtimeFlags.ts +178 -0
- package/src/internal/runtimeFlagsPatch.ts +103 -0
- package/src/internal/schedule/decision.ts +47 -0
- package/src/internal/schedule/interval.ts +101 -0
- package/src/internal/schedule/intervals.ts +180 -0
- package/src/internal/schedule.ts +2199 -0
- package/src/internal/schema/errors.ts +191 -0
- package/src/internal/schema/schemaId.ts +106 -0
- package/src/internal/schema/util.ts +50 -0
- package/src/internal/scopedCache.ts +644 -0
- package/src/internal/scopedRef.ts +118 -0
- package/src/internal/secret.ts +89 -0
- package/src/internal/singleShotGen.ts +35 -0
- package/src/internal/sink.ts +2120 -0
- package/src/internal/stack.ts +10 -0
- package/src/internal/stm/core.ts +817 -0
- package/src/internal/stm/entry.ts +59 -0
- package/src/internal/stm/journal.ts +123 -0
- package/src/internal/stm/opCodes/stm.ts +71 -0
- package/src/internal/stm/opCodes/stmState.ts +17 -0
- package/src/internal/stm/opCodes/strategy.ts +17 -0
- package/src/internal/stm/opCodes/tExit.ts +29 -0
- package/src/internal/stm/opCodes/tryCommit.ts +11 -0
- package/src/internal/stm/stm.ts +1453 -0
- package/src/internal/stm/stmState.ts +136 -0
- package/src/internal/stm/tArray.ts +550 -0
- package/src/internal/stm/tDeferred.ts +81 -0
- package/src/internal/stm/tExit.ts +190 -0
- package/src/internal/stm/tMap.ts +824 -0
- package/src/internal/stm/tPriorityQueue.ts +267 -0
- package/src/internal/stm/tPubSub.ts +551 -0
- package/src/internal/stm/tQueue.ts +393 -0
- package/src/internal/stm/tRandom.ts +140 -0
- package/src/internal/stm/tReentrantLock.ts +352 -0
- package/src/internal/stm/tRef.ts +195 -0
- package/src/internal/stm/tSemaphore.ts +113 -0
- package/src/internal/stm/tSet.ts +259 -0
- package/src/internal/stm/tSubscriptionRef.ts +286 -0
- package/src/internal/stm/tryCommit.ts +34 -0
- package/src/internal/stm/txnId.ts +14 -0
- package/src/internal/stm/versioned.ts +4 -0
- package/src/internal/stream/debounceState.ts +57 -0
- package/src/internal/stream/emit.ts +123 -0
- package/src/internal/stream/haltStrategy.ts +94 -0
- package/src/internal/stream/handoff.ts +187 -0
- package/src/internal/stream/handoffSignal.ts +59 -0
- package/src/internal/stream/pull.ts +34 -0
- package/src/internal/stream/sinkEndReason.ts +30 -0
- package/src/internal/stream/zipAllState.ts +88 -0
- package/src/internal/stream/zipChunksState.ts +56 -0
- package/src/internal/stream.ts +8801 -0
- package/src/internal/string-utils.ts +107 -0
- package/src/internal/subscriptionRef.ts +138 -0
- package/src/internal/supervisor/patch.ts +190 -0
- package/src/internal/supervisor.ts +303 -0
- package/src/internal/synchronizedRef.ts +114 -0
- package/src/internal/take.ts +199 -0
- package/src/internal/testing/sleep.ts +27 -0
- package/src/internal/testing/suspendedWarningData.ts +85 -0
- package/src/internal/testing/warningData.ts +94 -0
- package/src/internal/tracer.ts +150 -0
- package/src/internal/trie.ts +722 -0
- package/src/internal/version.ts +7 -0
|
@@ -0,0 +1,520 @@
|
|
|
1
|
+
import * as Chunk from "../Chunk.js"
|
|
2
|
+
import type * as Deferred from "../Deferred.js"
|
|
3
|
+
import * as Either from "../Either.js"
|
|
4
|
+
import * as Equal from "../Equal.js"
|
|
5
|
+
import type { FiberId } from "../FiberId.js"
|
|
6
|
+
import * as HashMap from "../HashMap.js"
|
|
7
|
+
import * as List from "../List.js"
|
|
8
|
+
import * as Option from "../Option.js"
|
|
9
|
+
import { hasProperty } from "../Predicate.js"
|
|
10
|
+
import type * as Request from "../Request.js"
|
|
11
|
+
import type * as RequestBlock from "../RequestBlock.js"
|
|
12
|
+
import type * as RequestResolver from "../RequestResolver.js"
|
|
13
|
+
|
|
14
|
+
/** @internal */
|
|
15
|
+
export const empty: RequestBlock.RequestBlock = {
|
|
16
|
+
_tag: "Empty"
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Combines this collection of blocked requests with the specified collection
|
|
21
|
+
* of blocked requests, in parallel.
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
export const par = (
|
|
26
|
+
self: RequestBlock.RequestBlock,
|
|
27
|
+
that: RequestBlock.RequestBlock
|
|
28
|
+
): RequestBlock.RequestBlock => ({
|
|
29
|
+
_tag: "Par",
|
|
30
|
+
left: self,
|
|
31
|
+
right: that
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Combines this collection of blocked requests with the specified collection
|
|
36
|
+
* of blocked requests, in sequence.
|
|
37
|
+
*
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
export const seq = (
|
|
41
|
+
self: RequestBlock.RequestBlock,
|
|
42
|
+
that: RequestBlock.RequestBlock
|
|
43
|
+
): RequestBlock.RequestBlock => ({
|
|
44
|
+
_tag: "Seq",
|
|
45
|
+
left: self,
|
|
46
|
+
right: that
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Constructs a collection of blocked requests from the specified blocked
|
|
51
|
+
* request and data source.
|
|
52
|
+
*
|
|
53
|
+
* @internal
|
|
54
|
+
*/
|
|
55
|
+
export const single = <A>(
|
|
56
|
+
dataSource: RequestResolver.RequestResolver<A>,
|
|
57
|
+
blockedRequest: Request.Entry<A>
|
|
58
|
+
): RequestBlock.RequestBlock => ({
|
|
59
|
+
_tag: "Single",
|
|
60
|
+
dataSource: dataSource as any,
|
|
61
|
+
blockedRequest
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
/** @internal */
|
|
65
|
+
export const MapRequestResolversReducer = <A>(
|
|
66
|
+
f: (dataSource: RequestResolver.RequestResolver<A>) => RequestResolver.RequestResolver<A>
|
|
67
|
+
): RequestBlock.RequestBlock.Reducer<RequestBlock.RequestBlock> => ({
|
|
68
|
+
emptyCase: () => empty,
|
|
69
|
+
parCase: (left, right) => par(left, right),
|
|
70
|
+
seqCase: (left, right) => seq(left, right),
|
|
71
|
+
singleCase: (dataSource, blockedRequest) => single(f(dataSource), blockedRequest as any)
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
type BlockedRequestsCase = ParCase | SeqCase
|
|
75
|
+
|
|
76
|
+
interface ParCase {
|
|
77
|
+
readonly _tag: "ParCase"
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
interface SeqCase {
|
|
81
|
+
readonly _tag: "SeqCase"
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Transforms all data sources with the specified data source aspect, which
|
|
86
|
+
* can change the environment type of data sources but must preserve the
|
|
87
|
+
* request type of each data source.
|
|
88
|
+
*
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
91
|
+
export const mapRequestResolvers = <A>(
|
|
92
|
+
self: RequestBlock.RequestBlock,
|
|
93
|
+
f: (dataSource: RequestResolver.RequestResolver<A>) => RequestResolver.RequestResolver<A>
|
|
94
|
+
): RequestBlock.RequestBlock => reduce(self, MapRequestResolversReducer(f))
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Folds over the cases of this collection of blocked requests with the
|
|
98
|
+
* specified functions.
|
|
99
|
+
*
|
|
100
|
+
* @internal
|
|
101
|
+
*/
|
|
102
|
+
export const reduce = <Z>(
|
|
103
|
+
self: RequestBlock.RequestBlock,
|
|
104
|
+
reducer: RequestBlock.RequestBlock.Reducer<Z>
|
|
105
|
+
): Z => {
|
|
106
|
+
let input: List.List<RequestBlock.RequestBlock> = List.of(self)
|
|
107
|
+
let output = List.empty<Either.Either<Z, BlockedRequestsCase>>()
|
|
108
|
+
while (List.isCons(input)) {
|
|
109
|
+
const current: RequestBlock.RequestBlock = input.head
|
|
110
|
+
switch (current._tag) {
|
|
111
|
+
case "Empty": {
|
|
112
|
+
output = List.cons(Either.right(reducer.emptyCase()), output)
|
|
113
|
+
input = input.tail
|
|
114
|
+
break
|
|
115
|
+
}
|
|
116
|
+
case "Par": {
|
|
117
|
+
output = List.cons(Either.left({ _tag: "ParCase" }), output)
|
|
118
|
+
input = List.cons(current.left, List.cons(current.right, input.tail))
|
|
119
|
+
break
|
|
120
|
+
}
|
|
121
|
+
case "Seq": {
|
|
122
|
+
output = List.cons(Either.left({ _tag: "SeqCase" }), output)
|
|
123
|
+
input = List.cons(current.left, List.cons(current.right, input.tail))
|
|
124
|
+
break
|
|
125
|
+
}
|
|
126
|
+
case "Single": {
|
|
127
|
+
const result = reducer.singleCase(current.dataSource, current.blockedRequest)
|
|
128
|
+
output = List.cons(Either.right(result), output)
|
|
129
|
+
input = input.tail
|
|
130
|
+
break
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
const result = List.reduce(output, List.empty<Z>(), (acc, current) => {
|
|
135
|
+
switch (current._tag) {
|
|
136
|
+
case "Left": {
|
|
137
|
+
const left = List.unsafeHead(acc)
|
|
138
|
+
const right = List.unsafeHead(List.unsafeTail(acc))
|
|
139
|
+
const tail = List.unsafeTail(List.unsafeTail(acc))
|
|
140
|
+
switch (current.left._tag) {
|
|
141
|
+
case "ParCase": {
|
|
142
|
+
return List.cons(reducer.parCase(left, right), tail)
|
|
143
|
+
}
|
|
144
|
+
case "SeqCase": {
|
|
145
|
+
return List.cons(reducer.seqCase(left, right), tail)
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
case "Right": {
|
|
150
|
+
return List.cons(current.right, acc)
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
})
|
|
154
|
+
if (List.isNil(result)) {
|
|
155
|
+
throw new Error(
|
|
156
|
+
"BUG: BlockedRequests.reduce - please report an issue at https://github.com/Effect-TS/effect/issues"
|
|
157
|
+
)
|
|
158
|
+
}
|
|
159
|
+
return result.head
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Flattens a collection of blocked requests into a collection of pipelined
|
|
164
|
+
* and batched requests that can be submitted for execution.
|
|
165
|
+
*
|
|
166
|
+
* @internal
|
|
167
|
+
*/
|
|
168
|
+
export const flatten = (
|
|
169
|
+
self: RequestBlock.RequestBlock
|
|
170
|
+
): List.List<SequentialCollection> => {
|
|
171
|
+
let current = List.of(self)
|
|
172
|
+
let updated = List.empty<SequentialCollection>()
|
|
173
|
+
// eslint-disable-next-line no-constant-condition
|
|
174
|
+
while (1) {
|
|
175
|
+
const [parallel, sequential] = List.reduce(
|
|
176
|
+
current,
|
|
177
|
+
[parallelCollectionEmpty(), List.empty<RequestBlock.RequestBlock>()] as const,
|
|
178
|
+
([parallel, sequential], blockedRequest) => {
|
|
179
|
+
const [par, seq] = step(blockedRequest)
|
|
180
|
+
return [
|
|
181
|
+
parallelCollectionCombine(parallel, par),
|
|
182
|
+
List.appendAll(sequential, seq)
|
|
183
|
+
]
|
|
184
|
+
}
|
|
185
|
+
)
|
|
186
|
+
updated = merge(updated, parallel)
|
|
187
|
+
if (List.isNil(sequential)) {
|
|
188
|
+
return List.reverse(updated)
|
|
189
|
+
}
|
|
190
|
+
current = sequential
|
|
191
|
+
}
|
|
192
|
+
throw new Error(
|
|
193
|
+
"BUG: BlockedRequests.flatten - please report an issue at https://github.com/Effect-TS/effect/issues"
|
|
194
|
+
)
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Takes one step in evaluating a collection of blocked requests, returning a
|
|
199
|
+
* collection of blocked requests that can be performed in parallel and a list
|
|
200
|
+
* of blocked requests that must be performed sequentially after those
|
|
201
|
+
* requests.
|
|
202
|
+
*/
|
|
203
|
+
const step = (
|
|
204
|
+
requests: RequestBlock.RequestBlock
|
|
205
|
+
): [ParallelCollection, List.List<RequestBlock.RequestBlock>] => {
|
|
206
|
+
let current: RequestBlock.RequestBlock = requests
|
|
207
|
+
let parallel = parallelCollectionEmpty()
|
|
208
|
+
let stack = List.empty<RequestBlock.RequestBlock>()
|
|
209
|
+
let sequential = List.empty<RequestBlock.RequestBlock>()
|
|
210
|
+
// eslint-disable-next-line no-constant-condition
|
|
211
|
+
while (1) {
|
|
212
|
+
switch (current._tag) {
|
|
213
|
+
case "Empty": {
|
|
214
|
+
if (List.isNil(stack)) {
|
|
215
|
+
return [parallel, sequential]
|
|
216
|
+
}
|
|
217
|
+
current = stack.head
|
|
218
|
+
stack = stack.tail
|
|
219
|
+
break
|
|
220
|
+
}
|
|
221
|
+
case "Par": {
|
|
222
|
+
stack = List.cons(current.right, stack)
|
|
223
|
+
current = current.left
|
|
224
|
+
break
|
|
225
|
+
}
|
|
226
|
+
case "Seq": {
|
|
227
|
+
const left = current.left
|
|
228
|
+
const right = current.right
|
|
229
|
+
switch (left._tag) {
|
|
230
|
+
case "Empty": {
|
|
231
|
+
current = right
|
|
232
|
+
break
|
|
233
|
+
}
|
|
234
|
+
case "Par": {
|
|
235
|
+
const l = left.left
|
|
236
|
+
const r = left.right
|
|
237
|
+
current = par(seq(l, right), seq(r, right))
|
|
238
|
+
break
|
|
239
|
+
}
|
|
240
|
+
case "Seq": {
|
|
241
|
+
const l = left.left
|
|
242
|
+
const r = left.right
|
|
243
|
+
current = seq(l, seq(r, right))
|
|
244
|
+
break
|
|
245
|
+
}
|
|
246
|
+
case "Single": {
|
|
247
|
+
current = left
|
|
248
|
+
sequential = List.cons(right, sequential)
|
|
249
|
+
break
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
break
|
|
253
|
+
}
|
|
254
|
+
case "Single": {
|
|
255
|
+
parallel = parallelCollectionAdd(
|
|
256
|
+
parallel,
|
|
257
|
+
current
|
|
258
|
+
)
|
|
259
|
+
if (List.isNil(stack)) {
|
|
260
|
+
return [parallel, sequential]
|
|
261
|
+
}
|
|
262
|
+
current = stack.head
|
|
263
|
+
stack = stack.tail
|
|
264
|
+
break
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
throw new Error(
|
|
269
|
+
"BUG: BlockedRequests.step - please report an issue at https://github.com/Effect-TS/effect/issues"
|
|
270
|
+
)
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Merges a collection of requests that must be executed sequentially with a
|
|
275
|
+
* collection of requests that can be executed in parallel. If the collections
|
|
276
|
+
* are both from the same single data source then the requests can be
|
|
277
|
+
* pipelined while preserving ordering guarantees.
|
|
278
|
+
*/
|
|
279
|
+
const merge = (
|
|
280
|
+
sequential: List.List<SequentialCollection>,
|
|
281
|
+
parallel: ParallelCollection
|
|
282
|
+
): List.List<SequentialCollection> => {
|
|
283
|
+
if (List.isNil(sequential)) {
|
|
284
|
+
return List.of(parallelCollectionToSequentialCollection(parallel))
|
|
285
|
+
}
|
|
286
|
+
if (parallelCollectionIsEmpty(parallel)) {
|
|
287
|
+
return sequential
|
|
288
|
+
}
|
|
289
|
+
const seqHeadKeys = sequentialCollectionKeys(sequential.head)
|
|
290
|
+
const parKeys = parallelCollectionKeys(parallel)
|
|
291
|
+
if (
|
|
292
|
+
seqHeadKeys.length === 1 &&
|
|
293
|
+
parKeys.length === 1 &&
|
|
294
|
+
Equal.equals(seqHeadKeys[0], parKeys[0])
|
|
295
|
+
) {
|
|
296
|
+
return List.cons(
|
|
297
|
+
sequentialCollectionCombine(
|
|
298
|
+
sequential.head,
|
|
299
|
+
parallelCollectionToSequentialCollection(parallel)
|
|
300
|
+
),
|
|
301
|
+
sequential.tail
|
|
302
|
+
)
|
|
303
|
+
}
|
|
304
|
+
return List.cons(parallelCollectionToSequentialCollection(parallel), sequential)
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
//
|
|
308
|
+
// circular
|
|
309
|
+
//
|
|
310
|
+
|
|
311
|
+
/** @internal */
|
|
312
|
+
export const EntryTypeId: Request.EntryTypeId = Symbol.for(
|
|
313
|
+
"effect/RequestBlock/Entry"
|
|
314
|
+
) as Request.EntryTypeId
|
|
315
|
+
|
|
316
|
+
/** @internal */
|
|
317
|
+
class EntryImpl<A extends Request.Request<any, any>> implements Request.Entry<A> {
|
|
318
|
+
readonly [EntryTypeId] = blockedRequestVariance
|
|
319
|
+
constructor(
|
|
320
|
+
readonly request: A,
|
|
321
|
+
readonly result: Deferred.Deferred<Request.Request.Success<A>, Request.Request.Error<A>>,
|
|
322
|
+
readonly listeners: Request.Listeners,
|
|
323
|
+
readonly ownerId: FiberId,
|
|
324
|
+
readonly state: {
|
|
325
|
+
completed: boolean
|
|
326
|
+
}
|
|
327
|
+
) {}
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
const blockedRequestVariance = {
|
|
331
|
+
/* c8 ignore next */
|
|
332
|
+
_R: (_: never) => _
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
/** @internal */
|
|
336
|
+
export const isEntry = (u: unknown): u is Request.Entry<unknown> => hasProperty(u, EntryTypeId)
|
|
337
|
+
|
|
338
|
+
/** @internal */
|
|
339
|
+
export const makeEntry = <A extends Request.Request<any, any>>(
|
|
340
|
+
options: {
|
|
341
|
+
readonly request: A
|
|
342
|
+
readonly result: Deferred.Deferred<Request.Request.Success<A>, Request.Request.Error<A>>
|
|
343
|
+
readonly listeners: Request.Listeners
|
|
344
|
+
readonly ownerId: FiberId
|
|
345
|
+
readonly state: { completed: boolean }
|
|
346
|
+
}
|
|
347
|
+
): Request.Entry<A> => new EntryImpl(options.request, options.result, options.listeners, options.ownerId, options.state)
|
|
348
|
+
|
|
349
|
+
/** @internal */
|
|
350
|
+
export const RequestBlockParallelTypeId = Symbol.for(
|
|
351
|
+
"effect/RequestBlock/RequestBlockParallel"
|
|
352
|
+
)
|
|
353
|
+
|
|
354
|
+
const parallelVariance = {
|
|
355
|
+
/* c8 ignore next */
|
|
356
|
+
_R: (_: never) => _
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
class ParallelImpl implements ParallelCollection {
|
|
360
|
+
readonly [RequestBlockParallelTypeId] = parallelVariance
|
|
361
|
+
constructor(
|
|
362
|
+
readonly map: HashMap.HashMap<
|
|
363
|
+
RequestResolver.RequestResolver<unknown, unknown>,
|
|
364
|
+
Chunk.Chunk<Request.Entry<unknown>>
|
|
365
|
+
>
|
|
366
|
+
) {}
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
/** @internal */
|
|
370
|
+
export const parallelCollectionEmpty = (): ParallelCollection => new ParallelImpl(HashMap.empty())
|
|
371
|
+
|
|
372
|
+
/** @internal */
|
|
373
|
+
export const parallelCollectionMake = <A>(
|
|
374
|
+
dataSource: RequestResolver.RequestResolver<A>,
|
|
375
|
+
blockedRequest: Request.Entry<A>
|
|
376
|
+
): ParallelCollection => new ParallelImpl(HashMap.make([dataSource, Chunk.of(blockedRequest)]) as any)
|
|
377
|
+
|
|
378
|
+
/** @internal */
|
|
379
|
+
export const parallelCollectionAdd = (
|
|
380
|
+
self: ParallelCollection,
|
|
381
|
+
blockedRequest: RequestBlock.Single
|
|
382
|
+
): ParallelCollection =>
|
|
383
|
+
new ParallelImpl(HashMap.modifyAt(
|
|
384
|
+
self.map,
|
|
385
|
+
blockedRequest.dataSource,
|
|
386
|
+
(_) =>
|
|
387
|
+
Option.orElseSome(
|
|
388
|
+
Option.map(_, Chunk.append(blockedRequest.blockedRequest)),
|
|
389
|
+
() => Chunk.of(blockedRequest.blockedRequest)
|
|
390
|
+
)
|
|
391
|
+
))
|
|
392
|
+
|
|
393
|
+
/** @internal */
|
|
394
|
+
export const parallelCollectionCombine = (
|
|
395
|
+
self: ParallelCollection,
|
|
396
|
+
that: ParallelCollection
|
|
397
|
+
): ParallelCollection =>
|
|
398
|
+
new ParallelImpl(HashMap.reduce(self.map, that.map, (map, value, key) =>
|
|
399
|
+
HashMap.set(
|
|
400
|
+
map,
|
|
401
|
+
key,
|
|
402
|
+
Option.match(HashMap.get(map, key), {
|
|
403
|
+
onNone: () => value,
|
|
404
|
+
onSome: (other) => Chunk.appendAll(value, other)
|
|
405
|
+
})
|
|
406
|
+
)))
|
|
407
|
+
|
|
408
|
+
/** @internal */
|
|
409
|
+
export const parallelCollectionIsEmpty = (self: ParallelCollection): boolean => HashMap.isEmpty(self.map)
|
|
410
|
+
|
|
411
|
+
/** @internal */
|
|
412
|
+
export const parallelCollectionKeys = (
|
|
413
|
+
self: ParallelCollection
|
|
414
|
+
): Array<RequestResolver.RequestResolver<unknown>> => Array.from(HashMap.keys(self.map)) as any
|
|
415
|
+
|
|
416
|
+
/** @internal */
|
|
417
|
+
export const parallelCollectionToSequentialCollection = (
|
|
418
|
+
self: ParallelCollection
|
|
419
|
+
): SequentialCollection => sequentialCollectionMake(HashMap.map(self.map, (x) => Chunk.of(x)) as any)
|
|
420
|
+
|
|
421
|
+
// TODO
|
|
422
|
+
// /** @internal */
|
|
423
|
+
// export const parallelCollectionToChunk = <R>(
|
|
424
|
+
// self: ParallelCollection<R>
|
|
425
|
+
// ): Array<[RequestResolver.RequestResolver<unknown, R>, Array<Request.Entry<unknown>>]> => Array.from(self.map) as any
|
|
426
|
+
|
|
427
|
+
/** @internal */
|
|
428
|
+
export const SequentialCollectionTypeId = Symbol.for(
|
|
429
|
+
"effect/RequestBlock/RequestBlockSequential"
|
|
430
|
+
)
|
|
431
|
+
|
|
432
|
+
const sequentialVariance = {
|
|
433
|
+
/* c8 ignore next */
|
|
434
|
+
_R: (_: never) => _
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
class SequentialImpl implements SequentialCollection {
|
|
438
|
+
readonly [SequentialCollectionTypeId] = sequentialVariance
|
|
439
|
+
constructor(
|
|
440
|
+
readonly map: HashMap.HashMap<
|
|
441
|
+
RequestResolver.RequestResolver<unknown, unknown>,
|
|
442
|
+
Chunk.Chunk<Chunk.Chunk<Request.Entry<unknown>>>
|
|
443
|
+
>
|
|
444
|
+
) {}
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
/** @internal */
|
|
448
|
+
export const sequentialCollectionMake = <A, R>(
|
|
449
|
+
map: HashMap.HashMap<
|
|
450
|
+
RequestResolver.RequestResolver<A, R>,
|
|
451
|
+
Chunk.Chunk<Chunk.Chunk<Request.Entry<A>>>
|
|
452
|
+
>
|
|
453
|
+
): SequentialCollection => new SequentialImpl(map as any)
|
|
454
|
+
|
|
455
|
+
/** @internal */
|
|
456
|
+
export const sequentialCollectionCombine = (
|
|
457
|
+
self: SequentialCollection,
|
|
458
|
+
that: SequentialCollection
|
|
459
|
+
): SequentialCollection =>
|
|
460
|
+
new SequentialImpl(HashMap.reduce(that.map, self.map, (map, value, key) =>
|
|
461
|
+
HashMap.set(
|
|
462
|
+
map,
|
|
463
|
+
key,
|
|
464
|
+
Option.match(HashMap.get(map, key), {
|
|
465
|
+
onNone: () => Chunk.empty(),
|
|
466
|
+
onSome: (a) => Chunk.appendAll(a, value)
|
|
467
|
+
})
|
|
468
|
+
)))
|
|
469
|
+
|
|
470
|
+
/** @internal */
|
|
471
|
+
export const sequentialCollectionIsEmpty = (self: SequentialCollection): boolean => HashMap.isEmpty(self.map)
|
|
472
|
+
|
|
473
|
+
/** @internal */
|
|
474
|
+
export const sequentialCollectionKeys = (
|
|
475
|
+
self: SequentialCollection
|
|
476
|
+
): Array<RequestResolver.RequestResolver<unknown>> => Array.from(HashMap.keys(self.map)) as any
|
|
477
|
+
|
|
478
|
+
/** @internal */
|
|
479
|
+
export const sequentialCollectionToChunk = (
|
|
480
|
+
self: SequentialCollection
|
|
481
|
+
): Array<[RequestResolver.RequestResolver<unknown>, Chunk.Chunk<Chunk.Chunk<Request.Entry<unknown>>>]> =>
|
|
482
|
+
Array.from(self.map) as any
|
|
483
|
+
|
|
484
|
+
/** @internal */
|
|
485
|
+
export type RequestBlockParallelTypeId = typeof RequestBlockParallelTypeId
|
|
486
|
+
|
|
487
|
+
/** @internal */
|
|
488
|
+
export interface ParallelCollection extends ParallelCollection.Variance {
|
|
489
|
+
readonly map: HashMap.HashMap<
|
|
490
|
+
RequestResolver.RequestResolver<unknown, unknown>,
|
|
491
|
+
Chunk.Chunk<Request.Entry<unknown>>
|
|
492
|
+
>
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
/** @internal */
|
|
496
|
+
export declare namespace ParallelCollection {
|
|
497
|
+
/** @internal */
|
|
498
|
+
export interface Variance {
|
|
499
|
+
readonly [RequestBlockParallelTypeId]: {}
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
/** @internal */
|
|
504
|
+
export type SequentialCollectionTypeId = typeof SequentialCollectionTypeId
|
|
505
|
+
|
|
506
|
+
/** @internal */
|
|
507
|
+
export interface SequentialCollection extends SequentialCollection.Variance {
|
|
508
|
+
readonly map: HashMap.HashMap<
|
|
509
|
+
RequestResolver.RequestResolver<unknown, unknown>,
|
|
510
|
+
Chunk.Chunk<Chunk.Chunk<Request.Entry<unknown>>>
|
|
511
|
+
>
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
/** @internal */
|
|
515
|
+
export declare namespace SequentialCollection {
|
|
516
|
+
/** @internal */
|
|
517
|
+
export interface Variance {
|
|
518
|
+
readonly [SequentialCollectionTypeId]: {}
|
|
519
|
+
}
|
|
520
|
+
}
|