@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,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A `Supervisor<T>` is allowed to supervise the launching and termination of
|
|
3
|
+
* fibers, producing some visible value of type `T` from the supervision.
|
|
4
|
+
*
|
|
5
|
+
* @since 2.0.0
|
|
6
|
+
*/
|
|
7
|
+
import type * as Context from "./Context.js"
|
|
8
|
+
import type * as Effect from "./Effect.js"
|
|
9
|
+
import type * as Exit from "./Exit.js"
|
|
10
|
+
import type * as Fiber from "./Fiber.js"
|
|
11
|
+
import * as core from "./internal/core.js"
|
|
12
|
+
import * as circular from "./internal/layer/circular.js"
|
|
13
|
+
import * as internal from "./internal/supervisor.js"
|
|
14
|
+
import type * as Layer from "./Layer.js"
|
|
15
|
+
import type * as MutableRef from "./MutableRef.js"
|
|
16
|
+
import type * as Option from "./Option.js"
|
|
17
|
+
import type * as SortedSet from "./SortedSet.js"
|
|
18
|
+
import type * as Types from "./Types.js"
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @since 2.0.0
|
|
22
|
+
* @category symbols
|
|
23
|
+
*/
|
|
24
|
+
export const SupervisorTypeId: unique symbol = internal.SupervisorTypeId
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @since 2.0.0
|
|
28
|
+
* @category symbols
|
|
29
|
+
*/
|
|
30
|
+
export type SupervisorTypeId = typeof SupervisorTypeId
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @since 2.0.0
|
|
34
|
+
* @category models
|
|
35
|
+
*/
|
|
36
|
+
export interface Supervisor<out T> extends Supervisor.Variance<T> {
|
|
37
|
+
/**
|
|
38
|
+
* Returns an `Effect` that succeeds with the value produced by this
|
|
39
|
+
* supervisor. This value may change over time, reflecting what the supervisor
|
|
40
|
+
* produces as it supervises fibers.
|
|
41
|
+
*/
|
|
42
|
+
readonly value: Effect.Effect<T>
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Supervises the start of a `Fiber`.
|
|
46
|
+
*/
|
|
47
|
+
onStart<A, E, R>(
|
|
48
|
+
context: Context.Context<R>,
|
|
49
|
+
effect: Effect.Effect<A, E, R>,
|
|
50
|
+
parent: Option.Option<Fiber.RuntimeFiber<any, any>>,
|
|
51
|
+
fiber: Fiber.RuntimeFiber<A, E>
|
|
52
|
+
): void
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Supervises the end of a `Fiber`.
|
|
56
|
+
*/
|
|
57
|
+
onEnd<A, E>(value: Exit.Exit<A, E>, fiber: Fiber.RuntimeFiber<A, E>): void
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Supervises the execution of an `Effect` by a `Fiber`.
|
|
61
|
+
*/
|
|
62
|
+
onEffect<A, E>(fiber: Fiber.RuntimeFiber<A, E>, effect: Effect.Effect<any, any, any>): void
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Supervises the suspension of a computation running within a `Fiber`.
|
|
66
|
+
*/
|
|
67
|
+
onSuspend<A, E>(fiber: Fiber.RuntimeFiber<A, E>): void
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Supervises the resumption of a computation running within a `Fiber`.
|
|
71
|
+
*/
|
|
72
|
+
onResume<A, E>(fiber: Fiber.RuntimeFiber<A, E>): void
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Maps this supervisor to another one, which has the same effect, but whose
|
|
76
|
+
* value has been transformed by the specified function.
|
|
77
|
+
*/
|
|
78
|
+
map<B>(f: (a: T) => B): Supervisor<B>
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Returns a new supervisor that performs the function of this supervisor, and
|
|
82
|
+
* the function of the specified supervisor, producing a tuple of the outputs
|
|
83
|
+
* produced by both supervisors.
|
|
84
|
+
*/
|
|
85
|
+
zip<A>(right: Supervisor<A>): Supervisor<[T, A]>
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @since 2.0.0
|
|
90
|
+
*/
|
|
91
|
+
export declare namespace Supervisor {
|
|
92
|
+
/**
|
|
93
|
+
* @since 2.0.0
|
|
94
|
+
* @category models
|
|
95
|
+
*/
|
|
96
|
+
export interface Variance<out T> {
|
|
97
|
+
readonly [SupervisorTypeId]: {
|
|
98
|
+
readonly _T: Types.Covariant<T>
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* @since 2.0.0
|
|
105
|
+
* @category context
|
|
106
|
+
*/
|
|
107
|
+
export const addSupervisor: <A>(supervisor: Supervisor<A>) => Layer.Layer<never> = circular.addSupervisor
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Creates a new supervisor that tracks children in a set.
|
|
111
|
+
*
|
|
112
|
+
* @since 2.0.0
|
|
113
|
+
* @category constructors
|
|
114
|
+
*/
|
|
115
|
+
export const fibersIn: (
|
|
116
|
+
ref: MutableRef.MutableRef<SortedSet.SortedSet<Fiber.RuntimeFiber<any, any>>>
|
|
117
|
+
) => Effect.Effect<Supervisor<SortedSet.SortedSet<Fiber.RuntimeFiber<any, any>>>> = internal.fibersIn
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Creates a new supervisor that constantly yields effect when polled
|
|
121
|
+
*
|
|
122
|
+
* @since 2.0.0
|
|
123
|
+
* @category constructors
|
|
124
|
+
*/
|
|
125
|
+
export const fromEffect: <A>(effect: Effect.Effect<A>) => Supervisor<A> = internal.fromEffect
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* A supervisor that doesn't do anything in response to supervision events.
|
|
129
|
+
*
|
|
130
|
+
* @since 2.0.0
|
|
131
|
+
* @category constructors
|
|
132
|
+
*/
|
|
133
|
+
export const none: Supervisor<void> = internal.none
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Creates a new supervisor that tracks children in a set.
|
|
137
|
+
*
|
|
138
|
+
* @since 2.0.0
|
|
139
|
+
* @category constructors
|
|
140
|
+
*/
|
|
141
|
+
export const track: Effect.Effect<Supervisor<Array<Fiber.RuntimeFiber<any, any>>>> = internal.track
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Unsafely creates a new supervisor that tracks children in a set.
|
|
145
|
+
*
|
|
146
|
+
* @since 2.0.0
|
|
147
|
+
* @category unsafe
|
|
148
|
+
*/
|
|
149
|
+
export const unsafeTrack: () => Supervisor<Array<Fiber.RuntimeFiber<any, any>>> = internal.unsafeTrack
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* @since 2.0.0
|
|
153
|
+
* @category constructors
|
|
154
|
+
*/
|
|
155
|
+
export abstract class AbstractSupervisor<T> implements Supervisor<T> {
|
|
156
|
+
/**
|
|
157
|
+
* @since 2.0.0
|
|
158
|
+
*/
|
|
159
|
+
abstract value: Effect.Effect<T>
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* @since 2.0.0
|
|
163
|
+
*/
|
|
164
|
+
onStart<A, E, R>(
|
|
165
|
+
_context: Context.Context<R>,
|
|
166
|
+
_effect: Effect.Effect<A, E, R>,
|
|
167
|
+
_parent: Option.Option<Fiber.RuntimeFiber<any, any>>,
|
|
168
|
+
_fiber: Fiber.RuntimeFiber<A, E>
|
|
169
|
+
): void {
|
|
170
|
+
//
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* @since 2.0.0
|
|
175
|
+
*/
|
|
176
|
+
onEnd<A, E>(
|
|
177
|
+
_value: Exit.Exit<A, E>,
|
|
178
|
+
_fiber: Fiber.RuntimeFiber<A, E>
|
|
179
|
+
): void {
|
|
180
|
+
//
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* @since 2.0.0
|
|
185
|
+
*/
|
|
186
|
+
onEffect<A, E>(
|
|
187
|
+
_fiber: Fiber.RuntimeFiber<A, E>,
|
|
188
|
+
_effect: Effect.Effect<any, any, any>
|
|
189
|
+
): void {
|
|
190
|
+
//
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* @since 2.0.0
|
|
195
|
+
*/
|
|
196
|
+
onSuspend<A, E>(
|
|
197
|
+
_fiber: Fiber.RuntimeFiber<A, E>
|
|
198
|
+
): void {
|
|
199
|
+
//
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* @since 2.0.0
|
|
204
|
+
*/
|
|
205
|
+
onResume<A, E>(
|
|
206
|
+
_fiber: Fiber.RuntimeFiber<A, E>
|
|
207
|
+
): void {
|
|
208
|
+
//
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* @since 2.0.0
|
|
213
|
+
*/
|
|
214
|
+
map<B>(f: (a: T) => B): Supervisor<B> {
|
|
215
|
+
return new internal.ProxySupervisor(this, core.map(this.value, f))
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* @since 2.0.0
|
|
220
|
+
*/
|
|
221
|
+
zip<A>(
|
|
222
|
+
right: Supervisor<A>
|
|
223
|
+
): Supervisor<[T, A]> {
|
|
224
|
+
return new internal.Zip(this, right)
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* @since 2.0.0
|
|
229
|
+
*/
|
|
230
|
+
onRun<E, A, X>(execution: () => X, _fiber: Fiber.RuntimeFiber<A, E>): X {
|
|
231
|
+
return execution()
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* @since 2.0.0
|
|
236
|
+
*/
|
|
237
|
+
readonly [SupervisorTypeId]: {
|
|
238
|
+
_T: (_: never) => never
|
|
239
|
+
} = internal.supervisorVariance
|
|
240
|
+
}
|
package/src/Symbol.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as equivalence from "./Equivalence.js"
|
|
6
|
+
import * as predicate from "./Predicate.js"
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Tests if a value is a `symbol`.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import * as assert from "node:assert"
|
|
14
|
+
* import { Predicate } from "effect"
|
|
15
|
+
*
|
|
16
|
+
* assert.deepStrictEqual(Predicate.isSymbol(Symbol.for("a")), true)
|
|
17
|
+
* assert.deepStrictEqual(Predicate.isSymbol("a"), false)
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @category guards
|
|
21
|
+
* @since 2.0.0
|
|
22
|
+
*/
|
|
23
|
+
export const isSymbol: (u: unknown) => u is symbol = predicate.isSymbol
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @category instances
|
|
27
|
+
* @since 2.0.0
|
|
28
|
+
*/
|
|
29
|
+
export const Equivalence: equivalence.Equivalence<symbol> = equivalence.symbol
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type * as Effect from "./Effect.js"
|
|
5
|
+
import * as circular from "./internal/effect/circular.js"
|
|
6
|
+
import * as ref from "./internal/ref.js"
|
|
7
|
+
import * as internal from "./internal/synchronizedRef.js"
|
|
8
|
+
import type * as Option from "./Option.js"
|
|
9
|
+
import type * as Ref from "./Ref.js"
|
|
10
|
+
import type * as Types from "./Types.js"
|
|
11
|
+
import type * as Unify from "./Unify.js"
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @since 2.0.0
|
|
15
|
+
* @category symbols
|
|
16
|
+
*/
|
|
17
|
+
export const SynchronizedRefTypeId: unique symbol = circular.SynchronizedTypeId
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @since 2.0.0
|
|
21
|
+
* @category symbols
|
|
22
|
+
*/
|
|
23
|
+
export type SynchronizedRefTypeId = typeof SynchronizedRefTypeId
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @since 2.0.0
|
|
27
|
+
* @category models
|
|
28
|
+
*/
|
|
29
|
+
export interface SynchronizedRef<in out A> extends SynchronizedRef.Variance<A>, Ref.Ref<A> {
|
|
30
|
+
modifyEffect<B, E, R>(f: (a: A) => Effect.Effect<readonly [B, A], E, R>): Effect.Effect<B, E, R>
|
|
31
|
+
readonly [Unify.typeSymbol]?: unknown
|
|
32
|
+
readonly [Unify.unifySymbol]?: SynchronizedRefUnify<this>
|
|
33
|
+
readonly [Unify.ignoreSymbol]?: SynchronizedRefUnifyIgnore
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @category models
|
|
38
|
+
* @since 3.8.0
|
|
39
|
+
*/
|
|
40
|
+
export interface SynchronizedRefUnify<A extends { [Unify.typeSymbol]?: any }> extends Ref.RefUnify<A> {
|
|
41
|
+
SynchronizedRef?: () => Extract<A[Unify.typeSymbol], SynchronizedRef<any>>
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @category models
|
|
46
|
+
* @since 3.8.0
|
|
47
|
+
*/
|
|
48
|
+
export interface SynchronizedRefUnifyIgnore extends Ref.RefUnifyIgnore {
|
|
49
|
+
Ref?: true
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @since 2.0.0
|
|
54
|
+
*/
|
|
55
|
+
export declare namespace SynchronizedRef {
|
|
56
|
+
/**
|
|
57
|
+
* @since 2.0.0
|
|
58
|
+
* @category models
|
|
59
|
+
*/
|
|
60
|
+
export interface Variance<in out A> {
|
|
61
|
+
readonly [SynchronizedRefTypeId]: {
|
|
62
|
+
readonly _A: Types.Invariant<A>
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* @since 2.0.0
|
|
69
|
+
* @category constructors
|
|
70
|
+
*/
|
|
71
|
+
export const make: <A>(value: A) => Effect.Effect<SynchronizedRef<A>> = circular.makeSynchronized
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* @since 2.0.0
|
|
75
|
+
* @category getters
|
|
76
|
+
*/
|
|
77
|
+
export const get: <A>(self: SynchronizedRef<A>) => Effect.Effect<A> = ref.get
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @since 2.0.0
|
|
81
|
+
* @category utils
|
|
82
|
+
*/
|
|
83
|
+
export const getAndSet: {
|
|
84
|
+
<A>(value: A): (self: Ref.Ref<A>) => Effect.Effect<A>
|
|
85
|
+
<A>(self: Ref.Ref<A>, value: A): Effect.Effect<A>
|
|
86
|
+
} = ref.getAndSet
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @since 2.0.0
|
|
90
|
+
* @category utils
|
|
91
|
+
*/
|
|
92
|
+
export const getAndUpdate: {
|
|
93
|
+
<A>(f: (a: A) => A): (self: Ref.Ref<A>) => Effect.Effect<A>
|
|
94
|
+
<A>(self: Ref.Ref<A>, f: (a: A) => A): Effect.Effect<A>
|
|
95
|
+
} = ref.getAndUpdate
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* @since 2.0.0
|
|
99
|
+
* @category utils
|
|
100
|
+
*/
|
|
101
|
+
export const getAndUpdateEffect: {
|
|
102
|
+
<A, R, E>(f: (a: A) => Effect.Effect<A, E, R>): (self: SynchronizedRef<A>) => Effect.Effect<A, E, R>
|
|
103
|
+
<A, R, E>(self: SynchronizedRef<A>, f: (a: A) => Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
|
|
104
|
+
} = internal.getAndUpdateEffect
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* @since 2.0.0
|
|
108
|
+
* @category utils
|
|
109
|
+
*/
|
|
110
|
+
export const getAndUpdateSome: {
|
|
111
|
+
<A>(pf: (a: A) => Option.Option<A>): (self: Ref.Ref<A>) => Effect.Effect<A>
|
|
112
|
+
<A>(self: Ref.Ref<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<A>
|
|
113
|
+
} = ref.getAndUpdateSome
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* @since 2.0.0
|
|
117
|
+
* @category utils
|
|
118
|
+
*/
|
|
119
|
+
export const getAndUpdateSomeEffect: {
|
|
120
|
+
<A, R, E>(pf: (a: A) => Option.Option<Effect.Effect<A, E, R>>): (self: SynchronizedRef<A>) => Effect.Effect<A, E, R>
|
|
121
|
+
<A, R, E>(self: SynchronizedRef<A>, pf: (a: A) => Option.Option<Effect.Effect<A, E, R>>): Effect.Effect<A, E, R>
|
|
122
|
+
} = internal.getAndUpdateSomeEffect
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* @since 2.0.0
|
|
126
|
+
* @category utils
|
|
127
|
+
*/
|
|
128
|
+
export const modify: {
|
|
129
|
+
<A, B>(f: (a: A) => readonly [B, A]): (self: SynchronizedRef<A>) => Effect.Effect<B>
|
|
130
|
+
<A, B>(self: SynchronizedRef<A>, f: (a: A) => readonly [B, A]): Effect.Effect<B>
|
|
131
|
+
} = internal.modify
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* @since 2.0.0
|
|
135
|
+
* @category utils
|
|
136
|
+
*/
|
|
137
|
+
export const modifyEffect: {
|
|
138
|
+
<A, B, E, R>(f: (a: A) => Effect.Effect<readonly [B, A], E, R>): (self: SynchronizedRef<A>) => Effect.Effect<B, E, R>
|
|
139
|
+
<A, B, E, R>(self: SynchronizedRef<A>, f: (a: A) => Effect.Effect<readonly [B, A], E, R>): Effect.Effect<B, E, R>
|
|
140
|
+
} = internal.modifyEffect
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* @since 2.0.0
|
|
144
|
+
* @category utils
|
|
145
|
+
*/
|
|
146
|
+
export const modifySome: {
|
|
147
|
+
<B, A>(
|
|
148
|
+
fallback: B,
|
|
149
|
+
pf: (a: A) => Option.Option<readonly [B, A]>
|
|
150
|
+
): (self: Ref.Ref<A>) => Effect.Effect<B>
|
|
151
|
+
<A, B>(
|
|
152
|
+
self: Ref.Ref<A>,
|
|
153
|
+
fallback: B,
|
|
154
|
+
pf: (a: A) => Option.Option<readonly [B, A]>
|
|
155
|
+
): Effect.Effect<B>
|
|
156
|
+
} = ref.modifySome
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* @since 2.0.0
|
|
160
|
+
* @category utils
|
|
161
|
+
*/
|
|
162
|
+
export const modifySomeEffect: {
|
|
163
|
+
<A, B, R, E>(
|
|
164
|
+
fallback: B,
|
|
165
|
+
pf: (a: A) => Option.Option<Effect.Effect<readonly [B, A], E, R>>
|
|
166
|
+
): (self: SynchronizedRef<A>) => Effect.Effect<B, E, R>
|
|
167
|
+
<A, B, R, E>(
|
|
168
|
+
self: SynchronizedRef<A>,
|
|
169
|
+
fallback: B,
|
|
170
|
+
pf: (a: A) => Option.Option<Effect.Effect<readonly [B, A], E, R>>
|
|
171
|
+
): Effect.Effect<B, E, R>
|
|
172
|
+
} = internal.modifySomeEffect
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* @since 2.0.0
|
|
176
|
+
* @category utils
|
|
177
|
+
*/
|
|
178
|
+
export const set: {
|
|
179
|
+
<A>(value: A): (self: Ref.Ref<A>) => Effect.Effect<void>
|
|
180
|
+
<A>(self: Ref.Ref<A>, value: A): Effect.Effect<void>
|
|
181
|
+
} = ref.set
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* @since 2.0.0
|
|
185
|
+
* @category utils
|
|
186
|
+
*/
|
|
187
|
+
export const setAndGet: {
|
|
188
|
+
<A>(value: A): (self: Ref.Ref<A>) => Effect.Effect<A>
|
|
189
|
+
<A>(self: Ref.Ref<A>, value: A): Effect.Effect<A>
|
|
190
|
+
} = ref.setAndGet
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* @since 2.0.0
|
|
194
|
+
* @category utils
|
|
195
|
+
*/
|
|
196
|
+
export const update: {
|
|
197
|
+
<A>(f: (a: A) => A): (self: Ref.Ref<A>) => Effect.Effect<void>
|
|
198
|
+
<A>(self: Ref.Ref<A>, f: (a: A) => A): Effect.Effect<void>
|
|
199
|
+
} = ref.update
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* @since 2.0.0
|
|
203
|
+
* @category utils
|
|
204
|
+
*/
|
|
205
|
+
export const updateEffect: {
|
|
206
|
+
<A, R, E>(f: (a: A) => Effect.Effect<A, E, R>): (self: SynchronizedRef<A>) => Effect.Effect<void, E, R>
|
|
207
|
+
<A, R, E>(self: SynchronizedRef<A>, f: (a: A) => Effect.Effect<A, E, R>): Effect.Effect<void, E, R>
|
|
208
|
+
} = internal.updateEffect
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* @since 2.0.0
|
|
212
|
+
* @category utils
|
|
213
|
+
*/
|
|
214
|
+
export const updateAndGet: {
|
|
215
|
+
<A>(f: (a: A) => A): (self: Ref.Ref<A>) => Effect.Effect<A>
|
|
216
|
+
<A>(self: Ref.Ref<A>, f: (a: A) => A): Effect.Effect<A>
|
|
217
|
+
} = ref.updateAndGet
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* @since 2.0.0
|
|
221
|
+
* @category utils
|
|
222
|
+
*/
|
|
223
|
+
export const updateAndGetEffect: {
|
|
224
|
+
<A, R, E>(f: (a: A) => Effect.Effect<A, E, R>): (self: SynchronizedRef<A>) => Effect.Effect<A, E, R>
|
|
225
|
+
<A, R, E>(self: SynchronizedRef<A>, f: (a: A) => Effect.Effect<A, E, R>): Effect.Effect<A, E, R>
|
|
226
|
+
} = internal.updateAndGetEffect
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* @since 2.0.0
|
|
230
|
+
* @category utils
|
|
231
|
+
*/
|
|
232
|
+
export const updateSome: {
|
|
233
|
+
<A>(f: (a: A) => Option.Option<A>): (self: Ref.Ref<A>) => Effect.Effect<void>
|
|
234
|
+
<A>(self: Ref.Ref<A>, f: (a: A) => Option.Option<A>): Effect.Effect<void>
|
|
235
|
+
} = ref.updateSome
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* @since 2.0.0
|
|
239
|
+
* @category utils
|
|
240
|
+
*/
|
|
241
|
+
export const updateSomeEffect: {
|
|
242
|
+
<A, R, E>(
|
|
243
|
+
pf: (a: A) => Option.Option<Effect.Effect<A, E, R>>
|
|
244
|
+
): (self: SynchronizedRef<A>) => Effect.Effect<void, E, R>
|
|
245
|
+
<A, R, E>(self: SynchronizedRef<A>, pf: (a: A) => Option.Option<Effect.Effect<A, E, R>>): Effect.Effect<void, E, R>
|
|
246
|
+
} = internal.updateSomeEffect
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* @since 2.0.0
|
|
250
|
+
* @category utils
|
|
251
|
+
*/
|
|
252
|
+
export const updateSomeAndGet: {
|
|
253
|
+
<A>(pf: (a: A) => Option.Option<A>): (self: Ref.Ref<A>) => Effect.Effect<A>
|
|
254
|
+
<A>(self: Ref.Ref<A>, pf: (a: A) => Option.Option<A>): Effect.Effect<A>
|
|
255
|
+
} = ref.updateSomeAndGet
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* @since 2.0.0
|
|
259
|
+
* @category utils
|
|
260
|
+
*/
|
|
261
|
+
export const updateSomeAndGetEffect: {
|
|
262
|
+
<A, R, E>(pf: (a: A) => Option.Option<Effect.Effect<A, E, R>>): (self: SynchronizedRef<A>) => Effect.Effect<A, E, R>
|
|
263
|
+
<A, R, E>(self: SynchronizedRef<A>, pf: (a: A) => Option.Option<Effect.Effect<A, E, R>>): Effect.Effect<A, E, R>
|
|
264
|
+
} = circular.updateSomeAndGetEffectSynchronized
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* @since 2.0.0
|
|
268
|
+
* @category unsafe
|
|
269
|
+
*/
|
|
270
|
+
export const unsafeMake: <A>(value: A) => SynchronizedRef<A> = circular.unsafeMakeSynchronized
|