@clayroach/effect 3.19.14-source-capture.8 → 3.19.14-source-trace.1
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/Runtime.ts
ADDED
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type { Cause } from "./Cause.js"
|
|
5
|
+
import type * as Context from "./Context.js"
|
|
6
|
+
import type * as Effect from "./Effect.js"
|
|
7
|
+
import type * as Exit from "./Exit.js"
|
|
8
|
+
import type * as Fiber from "./Fiber.js"
|
|
9
|
+
import type * as FiberId from "./FiberId.js"
|
|
10
|
+
import type * as FiberRef from "./FiberRef.js"
|
|
11
|
+
import type * as FiberRefs from "./FiberRefs.js"
|
|
12
|
+
import type { Inspectable } from "./Inspectable.js"
|
|
13
|
+
import * as internal from "./internal/runtime.js"
|
|
14
|
+
import type { Pipeable } from "./Pipeable.js"
|
|
15
|
+
import type * as RuntimeFlags from "./RuntimeFlags.js"
|
|
16
|
+
import type { Scheduler } from "./Scheduler.js"
|
|
17
|
+
import type { Scope } from "./Scope.js"
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @since 2.0.0
|
|
21
|
+
* @category models
|
|
22
|
+
*/
|
|
23
|
+
export interface AsyncFiberException<out A, out E = never> {
|
|
24
|
+
readonly _tag: "AsyncFiberException"
|
|
25
|
+
readonly fiber: Fiber.RuntimeFiber<A, E>
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @since 2.0.0
|
|
30
|
+
* @category models
|
|
31
|
+
*/
|
|
32
|
+
export interface Cancel<out A, out E = never> {
|
|
33
|
+
(fiberId?: FiberId.FiberId, options?: RunCallbackOptions<A, E> | undefined): void
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @since 2.0.0
|
|
38
|
+
* @category models
|
|
39
|
+
*/
|
|
40
|
+
export interface Runtime<in R> extends Pipeable {
|
|
41
|
+
/**
|
|
42
|
+
* The context used as initial for forks
|
|
43
|
+
*/
|
|
44
|
+
readonly context: Context.Context<R>
|
|
45
|
+
/**
|
|
46
|
+
* The runtime flags used as initial for forks
|
|
47
|
+
*/
|
|
48
|
+
readonly runtimeFlags: RuntimeFlags.RuntimeFlags
|
|
49
|
+
/**
|
|
50
|
+
* The fiber references used as initial for forks
|
|
51
|
+
*/
|
|
52
|
+
readonly fiberRefs: FiberRefs.FiberRefs
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @since 3.12.0
|
|
57
|
+
*/
|
|
58
|
+
export declare namespace Runtime {
|
|
59
|
+
/**
|
|
60
|
+
* @since 3.12.0
|
|
61
|
+
* @category Type Extractors
|
|
62
|
+
*/
|
|
63
|
+
export type Context<T extends Runtime<never>> = [T] extends [Runtime<infer R>] ? R : never
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* @since 2.0.0
|
|
68
|
+
* @category models
|
|
69
|
+
*/
|
|
70
|
+
export interface RunForkOptions {
|
|
71
|
+
readonly scheduler?: Scheduler | undefined
|
|
72
|
+
readonly updateRefs?: ((refs: FiberRefs.FiberRefs, fiberId: FiberId.Runtime) => FiberRefs.FiberRefs) | undefined
|
|
73
|
+
readonly immediate?: boolean
|
|
74
|
+
readonly scope?: Scope
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Executes the effect using the provided Scheduler or using the global
|
|
79
|
+
* Scheduler if not provided
|
|
80
|
+
*
|
|
81
|
+
* @since 2.0.0
|
|
82
|
+
* @category execution
|
|
83
|
+
*/
|
|
84
|
+
export const runFork: {
|
|
85
|
+
<R>(
|
|
86
|
+
runtime: Runtime<R>
|
|
87
|
+
): <A, E>(effect: Effect.Effect<A, E, R>, options?: RunForkOptions | undefined) => Fiber.RuntimeFiber<A, E>
|
|
88
|
+
<R, A, E>(
|
|
89
|
+
runtime: Runtime<R>,
|
|
90
|
+
effect: Effect.Effect<A, E, R>,
|
|
91
|
+
options?: RunForkOptions | undefined
|
|
92
|
+
): Fiber.RuntimeFiber<A, E>
|
|
93
|
+
} = internal.unsafeFork
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Executes the effect synchronously returning the exit.
|
|
97
|
+
*
|
|
98
|
+
* This method is effectful and should only be invoked at the edges of your
|
|
99
|
+
* program.
|
|
100
|
+
*
|
|
101
|
+
* @since 2.0.0
|
|
102
|
+
* @category execution
|
|
103
|
+
*/
|
|
104
|
+
export const runSyncExit: {
|
|
105
|
+
<A, E, R>(runtime: Runtime<R>, effect: Effect.Effect<A, E, R>): Exit.Exit<A, E>
|
|
106
|
+
<R>(runtime: Runtime<R>): <A, E>(effect: Effect.Effect<A, E, R>) => Exit.Exit<A, E>
|
|
107
|
+
} = internal.unsafeRunSyncExit
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Executes the effect synchronously throwing in case of errors or async boundaries.
|
|
111
|
+
*
|
|
112
|
+
* This method is effectful and should only be invoked at the edges of your
|
|
113
|
+
* program.
|
|
114
|
+
*
|
|
115
|
+
* @since 2.0.0
|
|
116
|
+
* @category execution
|
|
117
|
+
*/
|
|
118
|
+
export const runSync: {
|
|
119
|
+
<A, E, R>(runtime: Runtime<R>, effect: Effect.Effect<A, E, R>): A
|
|
120
|
+
<R>(runtime: Runtime<R>): <A, E>(effect: Effect.Effect<A, E, R>) => A
|
|
121
|
+
} = internal.unsafeRunSync
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* @since 2.0.0
|
|
125
|
+
* @category models
|
|
126
|
+
*/
|
|
127
|
+
export interface RunCallbackOptions<in A, in E = never> extends RunForkOptions {
|
|
128
|
+
readonly onExit?: ((exit: Exit.Exit<A, E>) => void) | undefined
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Executes the effect asynchronously, eventually passing the exit value to
|
|
133
|
+
* the specified callback.
|
|
134
|
+
*
|
|
135
|
+
* This method is effectful and should only be invoked at the edges of your
|
|
136
|
+
* program.
|
|
137
|
+
*
|
|
138
|
+
* @since 2.0.0
|
|
139
|
+
* @category execution
|
|
140
|
+
*/
|
|
141
|
+
export const runCallback: {
|
|
142
|
+
<R>(
|
|
143
|
+
runtime: Runtime<R>
|
|
144
|
+
): <A, E>(
|
|
145
|
+
effect: Effect.Effect<A, E, R>,
|
|
146
|
+
options?: RunCallbackOptions<A, E> | undefined
|
|
147
|
+
) => (fiberId?: FiberId.FiberId, options?: RunCallbackOptions<A, E> | undefined) => void
|
|
148
|
+
<R, A, E>(
|
|
149
|
+
runtime: Runtime<R>,
|
|
150
|
+
effect: Effect.Effect<A, E, R>,
|
|
151
|
+
options?: RunCallbackOptions<A, E> | undefined
|
|
152
|
+
): (fiberId?: FiberId.FiberId, options?: RunCallbackOptions<A, E> | undefined) => void
|
|
153
|
+
} = internal.unsafeRunCallback
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Runs the `Effect`, returning a JavaScript `Promise` that will be resolved
|
|
157
|
+
* with the value of the effect once the effect has been executed, or will be
|
|
158
|
+
* rejected with the first error or exception throw by the effect.
|
|
159
|
+
*
|
|
160
|
+
* This method is effectful and should only be used at the edges of your
|
|
161
|
+
* program.
|
|
162
|
+
*
|
|
163
|
+
* @since 2.0.0
|
|
164
|
+
* @category execution
|
|
165
|
+
*/
|
|
166
|
+
export const runPromise: {
|
|
167
|
+
<R>(
|
|
168
|
+
runtime: Runtime<R>
|
|
169
|
+
): <A, E>(effect: Effect.Effect<A, E, R>, options?: { readonly signal?: AbortSignal } | undefined) => Promise<A>
|
|
170
|
+
<R, A, E>(
|
|
171
|
+
runtime: Runtime<R>,
|
|
172
|
+
effect: Effect.Effect<A, E, R>,
|
|
173
|
+
options?: { readonly signal?: AbortSignal } | undefined
|
|
174
|
+
): Promise<A>
|
|
175
|
+
} = internal.unsafeRunPromise
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Runs the `Effect`, returning a JavaScript `Promise` that will be resolved
|
|
179
|
+
* with the `Exit` state of the effect once the effect has been executed.
|
|
180
|
+
*
|
|
181
|
+
* This method is effectful and should only be used at the edges of your
|
|
182
|
+
* program.
|
|
183
|
+
*
|
|
184
|
+
* @since 2.0.0
|
|
185
|
+
* @category execution
|
|
186
|
+
*/
|
|
187
|
+
export const runPromiseExit: {
|
|
188
|
+
<R>(
|
|
189
|
+
runtime: Runtime<R>
|
|
190
|
+
): <A, E>(
|
|
191
|
+
effect: Effect.Effect<A, E, R>,
|
|
192
|
+
options?: { readonly signal?: AbortSignal } | undefined
|
|
193
|
+
) => Promise<Exit.Exit<A, E>>
|
|
194
|
+
<R, A, E>(
|
|
195
|
+
runtime: Runtime<R>,
|
|
196
|
+
effect: Effect.Effect<A, E, R>,
|
|
197
|
+
options?: { readonly signal?: AbortSignal } | undefined
|
|
198
|
+
): Promise<Exit.Exit<A, E>>
|
|
199
|
+
} = internal.unsafeRunPromiseExit
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* @since 2.0.0
|
|
203
|
+
* @category constructors
|
|
204
|
+
*/
|
|
205
|
+
export const defaultRuntime: Runtime<never> = internal.defaultRuntime
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* @since 2.0.0
|
|
209
|
+
* @category constructors
|
|
210
|
+
*/
|
|
211
|
+
export const defaultRuntimeFlags: RuntimeFlags.RuntimeFlags = internal.defaultRuntimeFlags
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* @since 2.0.0
|
|
215
|
+
* @category constructors
|
|
216
|
+
*/
|
|
217
|
+
export const make: <R>(
|
|
218
|
+
options: {
|
|
219
|
+
readonly context: Context.Context<R>
|
|
220
|
+
readonly runtimeFlags: RuntimeFlags.RuntimeFlags
|
|
221
|
+
readonly fiberRefs: FiberRefs.FiberRefs
|
|
222
|
+
}
|
|
223
|
+
) => Runtime<R> = internal.make
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* @since 2.0.0
|
|
227
|
+
* @category symbols
|
|
228
|
+
*/
|
|
229
|
+
export const FiberFailureId = Symbol.for("effect/Runtime/FiberFailure")
|
|
230
|
+
/**
|
|
231
|
+
* @since 2.0.0
|
|
232
|
+
* @category symbols
|
|
233
|
+
*/
|
|
234
|
+
export type FiberFailureId = typeof FiberFailureId
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* @since 2.0.0
|
|
238
|
+
* @category symbols
|
|
239
|
+
*/
|
|
240
|
+
export const FiberFailureCauseId: unique symbol = internal.FiberFailureCauseId
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* @since 2.0.0
|
|
244
|
+
* @category exports
|
|
245
|
+
*/
|
|
246
|
+
export type FiberFailureCauseId = typeof FiberFailureCauseId
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* @since 2.0.0
|
|
250
|
+
* @category models
|
|
251
|
+
*/
|
|
252
|
+
export interface FiberFailure extends Error, Inspectable {
|
|
253
|
+
readonly [FiberFailureId]: FiberFailureId
|
|
254
|
+
readonly [FiberFailureCauseId]: Cause<unknown>
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* @since 2.0.0
|
|
259
|
+
* @category guards
|
|
260
|
+
*/
|
|
261
|
+
export const isAsyncFiberException: (u: unknown) => u is AsyncFiberException<unknown, unknown> =
|
|
262
|
+
internal.isAsyncFiberException
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* @since 2.0.0
|
|
266
|
+
* @category guards
|
|
267
|
+
*/
|
|
268
|
+
export const isFiberFailure: (u: unknown) => u is FiberFailure = internal.isFiberFailure
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* @since 2.0.0
|
|
272
|
+
* @category constructors
|
|
273
|
+
*/
|
|
274
|
+
export const makeFiberFailure: <E>(cause: Cause<E>) => FiberFailure = internal.fiberFailure
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* @since 2.0.0
|
|
278
|
+
* @category runtime flags
|
|
279
|
+
*/
|
|
280
|
+
export const updateRuntimeFlags: {
|
|
281
|
+
(f: (flags: RuntimeFlags.RuntimeFlags) => RuntimeFlags.RuntimeFlags): <R>(self: Runtime<R>) => Runtime<R>
|
|
282
|
+
<R>(self: Runtime<R>, f: (flags: RuntimeFlags.RuntimeFlags) => RuntimeFlags.RuntimeFlags): Runtime<R>
|
|
283
|
+
} = internal.updateRuntimeFlags
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* @since 2.0.0
|
|
287
|
+
* @category runtime flags
|
|
288
|
+
*/
|
|
289
|
+
export const enableRuntimeFlag: {
|
|
290
|
+
(flag: RuntimeFlags.RuntimeFlag): <R>(self: Runtime<R>) => Runtime<R>
|
|
291
|
+
<R>(self: Runtime<R>, flag: RuntimeFlags.RuntimeFlag): Runtime<R>
|
|
292
|
+
} = internal.enableRuntimeFlag
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* @since 2.0.0
|
|
296
|
+
* @category runtime flags
|
|
297
|
+
*/
|
|
298
|
+
export const disableRuntimeFlag: {
|
|
299
|
+
(flag: RuntimeFlags.RuntimeFlag): <R>(self: Runtime<R>) => Runtime<R>
|
|
300
|
+
<R>(self: Runtime<R>, flag: RuntimeFlags.RuntimeFlag): Runtime<R>
|
|
301
|
+
} = internal.disableRuntimeFlag
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* @since 2.0.0
|
|
305
|
+
* @category context
|
|
306
|
+
*/
|
|
307
|
+
export const updateContext: {
|
|
308
|
+
<R, R2>(f: (context: Context.Context<R>) => Context.Context<R2>): (self: Runtime<R>) => Runtime<R2>
|
|
309
|
+
<R, R2>(self: Runtime<R>, f: (context: Context.Context<R>) => Context.Context<R2>): Runtime<R2>
|
|
310
|
+
} = internal.updateContext
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* @since 2.0.0
|
|
314
|
+
* @category context
|
|
315
|
+
* @example
|
|
316
|
+
* ```ts
|
|
317
|
+
* import { Context, Runtime } from "effect"
|
|
318
|
+
*
|
|
319
|
+
* class Name extends Context.Tag("Name")<Name, string>() {}
|
|
320
|
+
*
|
|
321
|
+
* const runtime: Runtime.Runtime<Name> = Runtime.defaultRuntime.pipe(
|
|
322
|
+
* Runtime.provideService(Name, "John")
|
|
323
|
+
* )
|
|
324
|
+
* ```
|
|
325
|
+
*/
|
|
326
|
+
export const provideService: {
|
|
327
|
+
<I, S>(tag: Context.Tag<I, S>, service: S): <R>(self: Runtime<R>) => Runtime<I | R>
|
|
328
|
+
<R, I, S>(self: Runtime<R>, tag: Context.Tag<I, S>, service: S): Runtime<R | I>
|
|
329
|
+
} = internal.provideService
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* @since 2.0.0
|
|
333
|
+
* @category fiber refs
|
|
334
|
+
*/
|
|
335
|
+
export const updateFiberRefs: {
|
|
336
|
+
(f: (fiberRefs: FiberRefs.FiberRefs) => FiberRefs.FiberRefs): <R>(self: Runtime<R>) => Runtime<R>
|
|
337
|
+
<R>(self: Runtime<R>, f: (fiberRefs: FiberRefs.FiberRefs) => FiberRefs.FiberRefs): Runtime<R>
|
|
338
|
+
} = internal.updateFiberRefs
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* @since 2.0.0
|
|
342
|
+
* @category fiber refs
|
|
343
|
+
* @example
|
|
344
|
+
* ```ts
|
|
345
|
+
* import { Effect, FiberRef, Runtime } from "effect"
|
|
346
|
+
*
|
|
347
|
+
* const ref = FiberRef.unsafeMake(0)
|
|
348
|
+
*
|
|
349
|
+
* const updatedRuntime = Runtime.defaultRuntime.pipe(
|
|
350
|
+
* Runtime.setFiberRef(ref, 1)
|
|
351
|
+
* )
|
|
352
|
+
*
|
|
353
|
+
* // returns 1
|
|
354
|
+
* const result = Runtime.runSync(updatedRuntime)(FiberRef.get(ref))
|
|
355
|
+
* ```
|
|
356
|
+
*/
|
|
357
|
+
export const setFiberRef: {
|
|
358
|
+
<A>(fiberRef: FiberRef.FiberRef<A>, value: A): <R>(self: Runtime<R>) => Runtime<R>
|
|
359
|
+
<R, A>(self: Runtime<R>, fiberRef: FiberRef.FiberRef<A>, value: A): Runtime<R>
|
|
360
|
+
} = internal.setFiberRef
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* @since 2.0.0
|
|
364
|
+
* @category fiber refs
|
|
365
|
+
* @example
|
|
366
|
+
* ```ts
|
|
367
|
+
* import { Effect, FiberRef, Runtime } from "effect"
|
|
368
|
+
*
|
|
369
|
+
* const ref = FiberRef.unsafeMake(0)
|
|
370
|
+
*
|
|
371
|
+
* const updatedRuntime = Runtime.defaultRuntime.pipe(
|
|
372
|
+
* Runtime.setFiberRef(ref, 1),
|
|
373
|
+
* Runtime.deleteFiberRef(ref)
|
|
374
|
+
* )
|
|
375
|
+
*
|
|
376
|
+
* // returns 0
|
|
377
|
+
* const result = Runtime.runSync(updatedRuntime)(FiberRef.get(ref))
|
|
378
|
+
* ```
|
|
379
|
+
*/
|
|
380
|
+
export const deleteFiberRef: {
|
|
381
|
+
<A>(fiberRef: FiberRef.FiberRef<A>): <R>(self: Runtime<R>) => Runtime<R>
|
|
382
|
+
<R, A>(self: Runtime<R>, fiberRef: FiberRef.FiberRef<A>): Runtime<R>
|
|
383
|
+
} = internal.deleteFiberRef
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type * as Differ from "./Differ.js"
|
|
6
|
+
import * as circular from "./internal/layer/circular.js"
|
|
7
|
+
import * as internal from "./internal/runtimeFlags.js"
|
|
8
|
+
import type * as Layer from "./Layer.js"
|
|
9
|
+
import type * as RuntimeFlagsPatch from "./RuntimeFlagsPatch.js"
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Represents a set of `RuntimeFlag`s. `RuntimeFlag`s affect the operation of
|
|
13
|
+
* the Effect runtime system. They are exposed to application-level code because
|
|
14
|
+
* they affect the behavior and performance of application code.
|
|
15
|
+
*
|
|
16
|
+
* @since 2.0.0
|
|
17
|
+
* @category models
|
|
18
|
+
*/
|
|
19
|
+
export type RuntimeFlags = number & {
|
|
20
|
+
readonly RuntimeFlags: unique symbol
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Represents a flag that can be set to enable or disable a particular feature
|
|
25
|
+
* of the Effect runtime.
|
|
26
|
+
*
|
|
27
|
+
* @since 2.0.0
|
|
28
|
+
* @category models
|
|
29
|
+
*/
|
|
30
|
+
export type RuntimeFlag = number & {
|
|
31
|
+
readonly RuntimeFlag: unique symbol
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* No runtime flags.
|
|
36
|
+
*
|
|
37
|
+
* @since 2.0.0
|
|
38
|
+
* @category constructors
|
|
39
|
+
*/
|
|
40
|
+
export const None: RuntimeFlag = internal.None
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The interruption flag determines whether or not the Effect runtime system will
|
|
44
|
+
* interrupt a fiber.
|
|
45
|
+
*
|
|
46
|
+
* @since 2.0.0
|
|
47
|
+
* @category constructors
|
|
48
|
+
*/
|
|
49
|
+
export const Interruption: RuntimeFlag = internal.Interruption
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* The op supervision flag determines whether or not the Effect runtime system
|
|
53
|
+
* will supervise all operations of the Effect runtime. Use of this flag will
|
|
54
|
+
* negatively impact performance, but is required for some operations, such as
|
|
55
|
+
* profiling.
|
|
56
|
+
*
|
|
57
|
+
* @since 2.0.0
|
|
58
|
+
* @category constructors
|
|
59
|
+
*/
|
|
60
|
+
export const OpSupervision: RuntimeFlag = internal.OpSupervision
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* The runtime metrics flag determines whether or not the Effect runtime system
|
|
64
|
+
* will collect metrics about the Effect runtime. Use of this flag will have a
|
|
65
|
+
* very small negative impact on performance, but generates very helpful
|
|
66
|
+
* operational insight into running Effect applications that can be exported to
|
|
67
|
+
* Prometheus or other tools via Effect Metrics.
|
|
68
|
+
*
|
|
69
|
+
* @since 2.0.0
|
|
70
|
+
* @category constructors
|
|
71
|
+
*/
|
|
72
|
+
export const RuntimeMetrics: RuntimeFlag = internal.RuntimeMetrics
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* The wind down flag determines whether the Effect runtime system will execute
|
|
76
|
+
* effects in wind-down mode. In wind-down mode, even if interruption is
|
|
77
|
+
* enabled and a fiber has been interrupted, the fiber will continue its
|
|
78
|
+
* execution uninterrupted.
|
|
79
|
+
*
|
|
80
|
+
* @since 2.0.0
|
|
81
|
+
* @category constructors
|
|
82
|
+
*/
|
|
83
|
+
export const WindDown: RuntimeFlag = internal.WindDown
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* The cooperative yielding flag determines whether the Effect runtime will
|
|
87
|
+
* yield to another fiber.
|
|
88
|
+
*
|
|
89
|
+
* @since 2.0.0
|
|
90
|
+
* @category constructors
|
|
91
|
+
*/
|
|
92
|
+
export const CooperativeYielding: RuntimeFlag = internal.CooperativeYielding
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Returns `true` if the `CooperativeYielding` `RuntimeFlag` is enabled, `false`
|
|
96
|
+
* otherwise.
|
|
97
|
+
*
|
|
98
|
+
* @since 2.0.0
|
|
99
|
+
* @category getters
|
|
100
|
+
*/
|
|
101
|
+
export const cooperativeYielding: (self: RuntimeFlags) => boolean = internal.cooperativeYielding
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Creates a `RuntimeFlagsPatch` which describes the difference between `self`
|
|
105
|
+
* and `that`.
|
|
106
|
+
*
|
|
107
|
+
* @since 2.0.0
|
|
108
|
+
* @category diffing
|
|
109
|
+
*/
|
|
110
|
+
export const diff: {
|
|
111
|
+
(that: RuntimeFlags): (self: RuntimeFlags) => RuntimeFlagsPatch.RuntimeFlagsPatch
|
|
112
|
+
(self: RuntimeFlags, that: RuntimeFlags): RuntimeFlagsPatch.RuntimeFlagsPatch
|
|
113
|
+
} = internal.diff
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Constructs a differ that knows how to diff `RuntimeFlags` values.
|
|
117
|
+
*
|
|
118
|
+
* @since 2.0.0
|
|
119
|
+
* @category utils
|
|
120
|
+
*/
|
|
121
|
+
export const differ: Differ.Differ<RuntimeFlags, RuntimeFlagsPatch.RuntimeFlagsPatch> = internal.differ
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Disables the specified `RuntimeFlag`.
|
|
125
|
+
*
|
|
126
|
+
* @since 2.0.0
|
|
127
|
+
* @category utils
|
|
128
|
+
*/
|
|
129
|
+
export const disable: {
|
|
130
|
+
(flag: RuntimeFlag): (self: RuntimeFlags) => RuntimeFlags
|
|
131
|
+
(self: RuntimeFlags, flag: RuntimeFlag): RuntimeFlags
|
|
132
|
+
} = internal.disable
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Disables all of the `RuntimeFlag`s in the specified set of `RuntimeFlags`.
|
|
136
|
+
*
|
|
137
|
+
* @since 2.0.0
|
|
138
|
+
* @category utils
|
|
139
|
+
*/
|
|
140
|
+
export const disableAll: {
|
|
141
|
+
(flags: RuntimeFlags): (self: RuntimeFlags) => RuntimeFlags
|
|
142
|
+
(self: RuntimeFlags, flags: RuntimeFlags): RuntimeFlags
|
|
143
|
+
} = internal.disableAll
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* @since 2.0.0
|
|
147
|
+
* @category context
|
|
148
|
+
*/
|
|
149
|
+
export const disableCooperativeYielding: Layer.Layer<never> = circular.disableCooperativeYielding
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* @since 2.0.0
|
|
153
|
+
* @category context
|
|
154
|
+
*/
|
|
155
|
+
export const disableInterruption: Layer.Layer<never> = circular.disableInterruption
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* @since 2.0.0
|
|
159
|
+
* @category context
|
|
160
|
+
*/
|
|
161
|
+
export const disableOpSupervision: Layer.Layer<never> = circular.disableOpSupervision
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* @since 2.0.0
|
|
165
|
+
* @category context
|
|
166
|
+
*/
|
|
167
|
+
export const disableRuntimeMetrics: Layer.Layer<never> = circular.disableRuntimeMetrics
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* @since 2.0.0
|
|
171
|
+
* @category context
|
|
172
|
+
*/
|
|
173
|
+
export const disableWindDown: Layer.Layer<never> = circular.disableWindDown
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Enables the specified `RuntimeFlag`.
|
|
177
|
+
*
|
|
178
|
+
* @since 2.0.0
|
|
179
|
+
* @category utils
|
|
180
|
+
*/
|
|
181
|
+
export const enable: {
|
|
182
|
+
(flag: RuntimeFlag): (self: RuntimeFlags) => RuntimeFlags
|
|
183
|
+
(self: RuntimeFlags, flag: RuntimeFlag): RuntimeFlags
|
|
184
|
+
} = internal.enable
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Enables all of the `RuntimeFlag`s in the specified set of `RuntimeFlags`.
|
|
188
|
+
*
|
|
189
|
+
* @since 2.0.0
|
|
190
|
+
* @category utils
|
|
191
|
+
*/
|
|
192
|
+
export const enableAll: {
|
|
193
|
+
(flags: RuntimeFlags): (self: RuntimeFlags) => RuntimeFlags
|
|
194
|
+
(self: RuntimeFlags, flags: RuntimeFlags): RuntimeFlags
|
|
195
|
+
} = internal.enableAll
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* @since 2.0.0
|
|
199
|
+
* @category context
|
|
200
|
+
*/
|
|
201
|
+
export const enableCooperativeYielding: Layer.Layer<never> = circular.enableCooperativeYielding
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* @since 2.0.0
|
|
205
|
+
* @category context
|
|
206
|
+
*/
|
|
207
|
+
export const enableInterruption: Layer.Layer<never> = circular.enableInterruption
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* @since 2.0.0
|
|
211
|
+
* @category context
|
|
212
|
+
*/
|
|
213
|
+
export const enableOpSupervision: Layer.Layer<never> = circular.enableOpSupervision
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* @since 2.0.0
|
|
217
|
+
* @category context
|
|
218
|
+
*/
|
|
219
|
+
export const enableRuntimeMetrics: Layer.Layer<never> = circular.enableRuntimeMetrics
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* @since 2.0.0
|
|
223
|
+
* @category context
|
|
224
|
+
*/
|
|
225
|
+
export const enableWindDown: Layer.Layer<never> = circular.enableWindDown
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Returns true only if the `Interruption` flag is **enabled** and the
|
|
229
|
+
* `WindDown` flag is **disabled**.
|
|
230
|
+
*
|
|
231
|
+
* A fiber is said to be interruptible if interruption is enabled and the fiber
|
|
232
|
+
* is not in its wind-down phase, in which it takes care of cleanup activities
|
|
233
|
+
* related to fiber shutdown.
|
|
234
|
+
*
|
|
235
|
+
* @since 2.0.0
|
|
236
|
+
* @category getters
|
|
237
|
+
*/
|
|
238
|
+
export const interruptible: (self: RuntimeFlags) => boolean = internal.interruptible
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Returns `true` if the `Interruption` `RuntimeFlag` is enabled, `false`
|
|
242
|
+
* otherwise.
|
|
243
|
+
*
|
|
244
|
+
* @since 2.0.0
|
|
245
|
+
* @category getters
|
|
246
|
+
*/
|
|
247
|
+
export const interruption: (self: RuntimeFlags) => boolean = internal.interruption
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Returns `true` if the specified `RuntimeFlag` is enabled, `false` otherwise.
|
|
251
|
+
*
|
|
252
|
+
* @since 2.0.0
|
|
253
|
+
* @category elements
|
|
254
|
+
*/
|
|
255
|
+
export const isEnabled: {
|
|
256
|
+
(flag: RuntimeFlag): (self: RuntimeFlags) => boolean
|
|
257
|
+
(self: RuntimeFlags, flag: RuntimeFlag): boolean
|
|
258
|
+
} = internal.isEnabled
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Returns `true` if the specified `RuntimeFlag` is disabled, `false` otherwise.
|
|
262
|
+
*
|
|
263
|
+
* @since 2.0.0
|
|
264
|
+
* @category elements
|
|
265
|
+
*/
|
|
266
|
+
export const isDisabled: {
|
|
267
|
+
(flag: RuntimeFlag): (self: RuntimeFlags) => boolean
|
|
268
|
+
(self: RuntimeFlags, flag: RuntimeFlag): boolean
|
|
269
|
+
} = internal.isDisabled
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* @since 2.0.0
|
|
273
|
+
* @category constructors
|
|
274
|
+
*/
|
|
275
|
+
export const make: (...flags: ReadonlyArray<RuntimeFlag>) => RuntimeFlags = internal.make
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* @since 2.0.0
|
|
279
|
+
* @category constructors
|
|
280
|
+
*/
|
|
281
|
+
export const none: RuntimeFlags = internal.none
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Returns `true` if the `OpSupervision` `RuntimeFlag` is enabled, `false`
|
|
285
|
+
* otherwise.
|
|
286
|
+
*
|
|
287
|
+
* @since 2.0.0
|
|
288
|
+
* @category getters
|
|
289
|
+
*/
|
|
290
|
+
export const opSupervision: (self: RuntimeFlags) => boolean = internal.opSupervision
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Patches a set of `RuntimeFlag`s with a `RuntimeFlagsPatch`, returning the
|
|
294
|
+
* patched set of `RuntimeFlag`s.
|
|
295
|
+
*
|
|
296
|
+
* @since 2.0.0
|
|
297
|
+
* @category utils
|
|
298
|
+
*/
|
|
299
|
+
export const patch: {
|
|
300
|
+
(patch: RuntimeFlagsPatch.RuntimeFlagsPatch): (self: RuntimeFlags) => RuntimeFlags
|
|
301
|
+
(self: RuntimeFlags, patch: RuntimeFlagsPatch.RuntimeFlagsPatch): RuntimeFlags
|
|
302
|
+
} = internal.patch
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Converts the provided `RuntimeFlags` into a `string`.
|
|
306
|
+
*
|
|
307
|
+
* @category conversions
|
|
308
|
+
* @since 2.0.0
|
|
309
|
+
*/
|
|
310
|
+
export const render: (self: RuntimeFlags) => string = internal.render
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Returns `true` if the `RuntimeMetrics` `RuntimeFlag` is enabled, `false`
|
|
314
|
+
* otherwise.
|
|
315
|
+
*
|
|
316
|
+
* @since 2.0.0
|
|
317
|
+
* @category getters
|
|
318
|
+
*/
|
|
319
|
+
export const runtimeMetrics: (self: RuntimeFlags) => boolean = internal.runtimeMetrics
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* Converts the provided `RuntimeFlags` into a `ReadonlySet<number>`.
|
|
323
|
+
*
|
|
324
|
+
* @category conversions
|
|
325
|
+
* @since 2.0.0
|
|
326
|
+
*/
|
|
327
|
+
export const toSet: (self: RuntimeFlags) => ReadonlySet<RuntimeFlag> = internal.toSet
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Returns `true` if the `WindDown` `RuntimeFlag` is enabled, `false`
|
|
331
|
+
* otherwise.
|
|
332
|
+
*
|
|
333
|
+
* @since 2.0.0
|
|
334
|
+
* @category getters
|
|
335
|
+
*/
|
|
336
|
+
export const windDown: (self: RuntimeFlags) => boolean = internal.windDown
|