@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
package/src/Unify.ts
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { identity } from "./Function.js"
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @since 2.0.0
|
|
9
|
+
*/
|
|
10
|
+
export declare const unifySymbol: unique symbol
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @since 2.0.0
|
|
14
|
+
*/
|
|
15
|
+
export type unifySymbol = typeof unifySymbol
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @since 2.0.0
|
|
19
|
+
*/
|
|
20
|
+
export declare const typeSymbol: unique symbol
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @since 2.0.0
|
|
24
|
+
*/
|
|
25
|
+
export type typeSymbol = typeof typeSymbol
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @since 2.0.0
|
|
29
|
+
*/
|
|
30
|
+
export declare const ignoreSymbol: unique symbol
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @since 2.0.0
|
|
34
|
+
*/
|
|
35
|
+
export type ignoreSymbol = typeof ignoreSymbol
|
|
36
|
+
|
|
37
|
+
type MaybeReturn<F> = F extends () => infer R ? R : NonNullable<F>
|
|
38
|
+
|
|
39
|
+
type Values<X extends [any, any]> = X extends [infer A, infer Ignore]
|
|
40
|
+
? Exclude<keyof A, Ignore> extends infer k ? k extends keyof A ? MaybeReturn<A[k]> : never : never
|
|
41
|
+
: never
|
|
42
|
+
|
|
43
|
+
type Ignore<X> = X extends { [ignoreSymbol]?: infer Obj } ? keyof NonNullable<Obj>
|
|
44
|
+
: never
|
|
45
|
+
|
|
46
|
+
type ExtractTypes<
|
|
47
|
+
X
|
|
48
|
+
> = X extends {
|
|
49
|
+
[typeSymbol]?: infer _Type
|
|
50
|
+
[unifySymbol]?: infer _Unify
|
|
51
|
+
} ? [NonNullable<_Unify>, Ignore<X>]
|
|
52
|
+
: never
|
|
53
|
+
|
|
54
|
+
type FilterIn<A> = A extends any ? typeSymbol extends keyof A ? A : never : never
|
|
55
|
+
|
|
56
|
+
type FilterOut<A> = A extends any ? typeSymbol extends keyof A ? never : A : never
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @since 2.0.0
|
|
60
|
+
*/
|
|
61
|
+
export type Unify<A> = Values<
|
|
62
|
+
ExtractTypes<
|
|
63
|
+
(
|
|
64
|
+
& FilterIn<A>
|
|
65
|
+
& { [typeSymbol]: A }
|
|
66
|
+
)
|
|
67
|
+
>
|
|
68
|
+
> extends infer Z ? Z | Exclude<A, Z> | FilterOut<A> : never
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* @since 2.0.0
|
|
72
|
+
*/
|
|
73
|
+
export const unify: {
|
|
74
|
+
<
|
|
75
|
+
Args extends Array<any>,
|
|
76
|
+
Args2 extends Array<any>,
|
|
77
|
+
Args3 extends Array<any>,
|
|
78
|
+
Args4 extends Array<any>,
|
|
79
|
+
Args5 extends Array<any>,
|
|
80
|
+
T
|
|
81
|
+
>(
|
|
82
|
+
x: (...args: Args) => (...args: Args2) => (...args: Args3) => (...args: Args4) => (...args: Args5) => T
|
|
83
|
+
): (...args: Args) => (...args: Args2) => (...args: Args3) => (...args: Args4) => (...args: Args5) => Unify<T>
|
|
84
|
+
<
|
|
85
|
+
Args extends Array<any>,
|
|
86
|
+
Args2 extends Array<any>,
|
|
87
|
+
Args3 extends Array<any>,
|
|
88
|
+
Args4 extends Array<any>,
|
|
89
|
+
T
|
|
90
|
+
>(
|
|
91
|
+
x: (...args: Args) => (...args: Args2) => (...args: Args3) => (...args: Args4) => T
|
|
92
|
+
): (...args: Args) => (...args: Args2) => (...args: Args3) => (...args: Args4) => Unify<T>
|
|
93
|
+
<
|
|
94
|
+
Args extends Array<any>,
|
|
95
|
+
Args2 extends Array<any>,
|
|
96
|
+
Args3 extends Array<any>,
|
|
97
|
+
T
|
|
98
|
+
>(
|
|
99
|
+
x: (...args: Args) => (...args: Args2) => (...args: Args3) => T
|
|
100
|
+
): (...args: Args) => (...args: Args2) => (...args: Args3) => Unify<T>
|
|
101
|
+
<
|
|
102
|
+
Args extends Array<any>,
|
|
103
|
+
Args2 extends Array<any>,
|
|
104
|
+
T
|
|
105
|
+
>(
|
|
106
|
+
x: (...args: Args) => (...args: Args2) => T
|
|
107
|
+
): (...args: Args) => (...args: Args2) => Unify<T>
|
|
108
|
+
<
|
|
109
|
+
Args extends Array<any>,
|
|
110
|
+
T
|
|
111
|
+
>(x: (...args: Args) => T): (...args: Args) => Unify<T>
|
|
112
|
+
<T>(x: T): Unify<T>
|
|
113
|
+
} = identity as any
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as internal from "./internal/channel/upstreamPullRequest.js"
|
|
5
|
+
import type * as Types from "./Types.js"
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @since 2.0.0
|
|
9
|
+
* @category symbols
|
|
10
|
+
*/
|
|
11
|
+
export const UpstreamPullRequestTypeId: unique symbol = internal.UpstreamPullRequestTypeId
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @since 2.0.0
|
|
15
|
+
* @category symbols
|
|
16
|
+
*/
|
|
17
|
+
export type UpstreamPullRequestTypeId = typeof UpstreamPullRequestTypeId
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @since 2.0.0
|
|
21
|
+
* @category models
|
|
22
|
+
*/
|
|
23
|
+
export type UpstreamPullRequest<A> = Pulled<A> | NoUpstream
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @since 2.0.0
|
|
27
|
+
*/
|
|
28
|
+
export declare namespace UpstreamPullRequest {
|
|
29
|
+
/**
|
|
30
|
+
* @since 2.0.0
|
|
31
|
+
* @category models
|
|
32
|
+
*/
|
|
33
|
+
export interface Variance<out A> {
|
|
34
|
+
readonly [UpstreamPullRequestTypeId]: {
|
|
35
|
+
readonly _A: Types.Covariant<A>
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* @since 2.0.0
|
|
42
|
+
* @category models
|
|
43
|
+
*/
|
|
44
|
+
export interface Pulled<out A> extends UpstreamPullRequest.Variance<A> {
|
|
45
|
+
readonly _tag: "Pulled"
|
|
46
|
+
readonly value: A
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* @since 2.0.0
|
|
51
|
+
* @category models
|
|
52
|
+
*/
|
|
53
|
+
export interface NoUpstream extends UpstreamPullRequest.Variance<never> {
|
|
54
|
+
readonly _tag: "NoUpstream"
|
|
55
|
+
readonly activeDownstreamCount: number
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @since 2.0.0
|
|
60
|
+
* @category constructors
|
|
61
|
+
*/
|
|
62
|
+
export const Pulled: <A>(value: A) => UpstreamPullRequest<A> = internal.Pulled
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* @since 2.0.0
|
|
66
|
+
* @category constructors
|
|
67
|
+
*/
|
|
68
|
+
export const NoUpstream: (activeDownstreamCount: number) => UpstreamPullRequest<never> = internal.NoUpstream
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Returns `true` if the specified value is an `UpstreamPullRequest`, `false`
|
|
72
|
+
* otherwise.
|
|
73
|
+
*
|
|
74
|
+
* @since 2.0.0
|
|
75
|
+
* @category refinements
|
|
76
|
+
*/
|
|
77
|
+
export const isUpstreamPullRequest: (u: unknown) => u is UpstreamPullRequest<unknown> = internal.isUpstreamPullRequest
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Returns `true` if the specified `UpstreamPullRequest` is a `Pulled`, `false`
|
|
81
|
+
* otherwise.
|
|
82
|
+
*
|
|
83
|
+
* @since 2.0.0
|
|
84
|
+
* @category refinements
|
|
85
|
+
*/
|
|
86
|
+
export const isPulled: <A>(self: UpstreamPullRequest<A>) => self is Pulled<A> = internal.isPulled
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Returns `true` if the specified `UpstreamPullRequest` is a `NoUpstream`,
|
|
90
|
+
* `false` otherwise.
|
|
91
|
+
*
|
|
92
|
+
* @since 2.0.0
|
|
93
|
+
* @category refinements
|
|
94
|
+
*/
|
|
95
|
+
export const isNoUpstream: <A>(self: UpstreamPullRequest<A>) => self is NoUpstream = internal.isNoUpstream
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Folds an `UpstreamPullRequest<A>` into a value of type `Z`.
|
|
99
|
+
*
|
|
100
|
+
* @since 2.0.0
|
|
101
|
+
* @category folding
|
|
102
|
+
*/
|
|
103
|
+
export const match: {
|
|
104
|
+
<A, Z>(
|
|
105
|
+
options: {
|
|
106
|
+
readonly onPulled: (value: A) => Z
|
|
107
|
+
readonly onNoUpstream: (activeDownstreamCount: number) => Z
|
|
108
|
+
}
|
|
109
|
+
): (self: UpstreamPullRequest<A>) => Z
|
|
110
|
+
<A, Z>(
|
|
111
|
+
self: UpstreamPullRequest<A>,
|
|
112
|
+
options: {
|
|
113
|
+
readonly onPulled: (value: A) => Z
|
|
114
|
+
readonly onNoUpstream: (activeDownstreamCount: number) => Z
|
|
115
|
+
}
|
|
116
|
+
): Z
|
|
117
|
+
} = internal.match
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as internal from "./internal/channel/upstreamPullStrategy.js"
|
|
5
|
+
import type * as Option from "./Option.js"
|
|
6
|
+
import type * as Types from "./Types.js"
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @since 2.0.0
|
|
10
|
+
* @category symbols
|
|
11
|
+
*/
|
|
12
|
+
export const UpstreamPullStrategyTypeId: unique symbol = internal.UpstreamPullStrategyTypeId
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @since 2.0.0
|
|
16
|
+
* @category symbols
|
|
17
|
+
*/
|
|
18
|
+
export type UpstreamPullStrategyTypeId = typeof UpstreamPullStrategyTypeId
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @since 2.0.0
|
|
22
|
+
* @category models
|
|
23
|
+
*/
|
|
24
|
+
export type UpstreamPullStrategy<A> = PullAfterNext<A> | PullAfterAllEnqueued<A>
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @since 2.0.0
|
|
28
|
+
*/
|
|
29
|
+
export declare namespace UpstreamPullStrategy {
|
|
30
|
+
/**
|
|
31
|
+
* @since 2.0.0
|
|
32
|
+
* @category models
|
|
33
|
+
*/
|
|
34
|
+
export interface Variance<out A> {
|
|
35
|
+
readonly [UpstreamPullStrategyTypeId]: {
|
|
36
|
+
readonly _A: Types.Covariant<A>
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @since 2.0.0
|
|
43
|
+
* @category models
|
|
44
|
+
*/
|
|
45
|
+
export interface PullAfterNext<out A> extends UpstreamPullStrategy.Variance<A> {
|
|
46
|
+
readonly _tag: "PullAfterNext"
|
|
47
|
+
readonly emitSeparator: Option.Option<A>
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @since 2.0.0
|
|
52
|
+
* @category models
|
|
53
|
+
*/
|
|
54
|
+
export interface PullAfterAllEnqueued<out A> extends UpstreamPullStrategy.Variance<A> {
|
|
55
|
+
readonly _tag: "PullAfterAllEnqueued"
|
|
56
|
+
readonly emitSeparator: Option.Option<A>
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @since 2.0.0
|
|
61
|
+
* @category constructors
|
|
62
|
+
*/
|
|
63
|
+
export const PullAfterNext: <A>(emitSeparator: Option.Option<A>) => UpstreamPullStrategy<A> = internal.PullAfterNext
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @since 2.0.0
|
|
67
|
+
* @category constructors
|
|
68
|
+
*/
|
|
69
|
+
export const PullAfterAllEnqueued: <A>(emitSeparator: Option.Option<A>) => UpstreamPullStrategy<A> =
|
|
70
|
+
internal.PullAfterAllEnqueued
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Returns `true` if the specified value is an `UpstreamPullStrategy`, `false`
|
|
74
|
+
* otherwise.
|
|
75
|
+
*
|
|
76
|
+
* @since 2.0.0
|
|
77
|
+
* @category refinements
|
|
78
|
+
*/
|
|
79
|
+
export const isUpstreamPullStrategy: (u: unknown) => u is UpstreamPullStrategy<unknown> =
|
|
80
|
+
internal.isUpstreamPullStrategy
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Returns `true` if the specified `UpstreamPullStrategy` is a `PullAfterNext`,
|
|
84
|
+
* `false` otherwise.
|
|
85
|
+
*
|
|
86
|
+
* @since 2.0.0
|
|
87
|
+
* @category refinements
|
|
88
|
+
*/
|
|
89
|
+
export const isPullAfterNext: <A>(self: UpstreamPullStrategy<A>) => self is PullAfterNext<A> = internal.isPullAfterNext
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Returns `true` if the specified `UpstreamPullStrategy` is a
|
|
93
|
+
* `PullAfterAllEnqueued`, `false` otherwise.
|
|
94
|
+
*
|
|
95
|
+
* @since 2.0.0
|
|
96
|
+
* @category refinements
|
|
97
|
+
*/
|
|
98
|
+
export const isPullAfterAllEnqueued: <A>(self: UpstreamPullStrategy<A>) => self is PullAfterAllEnqueued<A> =
|
|
99
|
+
internal.isPullAfterAllEnqueued
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Folds an `UpstreamPullStrategy<A>` into a value of type `Z`.
|
|
103
|
+
*
|
|
104
|
+
* @since 2.0.0
|
|
105
|
+
* @category folding
|
|
106
|
+
*/
|
|
107
|
+
export const match: {
|
|
108
|
+
<A, Z>(
|
|
109
|
+
options: {
|
|
110
|
+
readonly onNext: (emitSeparator: Option.Option<A>) => Z
|
|
111
|
+
readonly onAllEnqueued: (emitSeparator: Option.Option<A>) => Z
|
|
112
|
+
}
|
|
113
|
+
): (self: UpstreamPullStrategy<A>) => Z
|
|
114
|
+
<A, Z>(
|
|
115
|
+
self: UpstreamPullStrategy<A>,
|
|
116
|
+
options: {
|
|
117
|
+
readonly onNext: (emitSeparator: Option.Option<A>) => Z
|
|
118
|
+
readonly onAllEnqueued: (emitSeparator: Option.Option<A>) => Z
|
|
119
|
+
}
|
|
120
|
+
): Z
|
|
121
|
+
} = internal.match
|