@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/Exit.ts
ADDED
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 2.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type * as Cause from "./Cause.js"
|
|
5
|
+
import type * as Effect from "./Effect.js"
|
|
6
|
+
import type * as Either from "./Either.js"
|
|
7
|
+
import type * as FiberId from "./FiberId.js"
|
|
8
|
+
import type { Inspectable } from "./Inspectable.js"
|
|
9
|
+
import * as core from "./internal/core.js"
|
|
10
|
+
import type * as Option from "./Option.js"
|
|
11
|
+
import type { Pipeable } from "./Pipeable.js"
|
|
12
|
+
import type { Predicate, Refinement } from "./Predicate.js"
|
|
13
|
+
import type { NoInfer } from "./Types.js"
|
|
14
|
+
import type * as Unify from "./Unify.js"
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* An `Exit<A, E = never>` describes the result of a executing an `Effect` workflow.
|
|
18
|
+
*
|
|
19
|
+
* There are two possible values for an `Exit<A, E>`:
|
|
20
|
+
* - `Exit.Success` contain a success value of type `A`
|
|
21
|
+
* - `Exit.Failure` contains a failure `Cause` of type `E`
|
|
22
|
+
*
|
|
23
|
+
* @since 2.0.0
|
|
24
|
+
* @category models
|
|
25
|
+
*/
|
|
26
|
+
export type Exit<A, E = never> = Success<A, E> | Failure<A, E>
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Represents a failed `Effect` workflow containing the `Cause` of the failure
|
|
30
|
+
* of type `E`.
|
|
31
|
+
*
|
|
32
|
+
* @since 2.0.0
|
|
33
|
+
* @category models
|
|
34
|
+
*/
|
|
35
|
+
export interface Failure<out A, out E> extends Effect.Effect<A, E>, Pipeable, Inspectable {
|
|
36
|
+
readonly _tag: "Failure"
|
|
37
|
+
readonly _op: "Failure"
|
|
38
|
+
readonly cause: Cause.Cause<E>
|
|
39
|
+
[Unify.typeSymbol]?: unknown
|
|
40
|
+
[Unify.unifySymbol]?: ExitUnify<this>
|
|
41
|
+
[Unify.ignoreSymbol]?: ExitUnifyIgnore
|
|
42
|
+
/** @internal */
|
|
43
|
+
readonly effect_instruction_i0: Cause.Cause<E>
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @category models
|
|
48
|
+
* @since 2.0.0
|
|
49
|
+
*/
|
|
50
|
+
export interface ExitUnify<A extends { [Unify.typeSymbol]?: any }> extends Effect.EffectUnify<A> {
|
|
51
|
+
Exit?: () => A[Unify.typeSymbol] extends Exit<infer A0, infer E0> | infer _ ? Exit<A0, E0> : never
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @category models
|
|
56
|
+
* @since 2.0.0
|
|
57
|
+
*/
|
|
58
|
+
export interface ExitUnifyIgnore extends Effect.EffectUnifyIgnore {
|
|
59
|
+
Effect?: true
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Represents a successful `Effect` workflow and containing the returned value
|
|
64
|
+
* of type `A`.
|
|
65
|
+
*
|
|
66
|
+
* @since 2.0.0
|
|
67
|
+
* @category models
|
|
68
|
+
*/
|
|
69
|
+
export interface Success<out A, out E> extends Effect.Effect<A, E>, Pipeable, Inspectable {
|
|
70
|
+
readonly _tag: "Success"
|
|
71
|
+
readonly _op: "Success"
|
|
72
|
+
readonly value: A
|
|
73
|
+
[Unify.typeSymbol]?: unknown
|
|
74
|
+
[Unify.unifySymbol]?: ExitUnify<this>
|
|
75
|
+
[Unify.ignoreSymbol]?: ExitUnifyIgnore
|
|
76
|
+
/** @internal */
|
|
77
|
+
readonly effect_instruction_i0: A
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Returns `true` if the specified value is an `Exit`, `false` otherwise.
|
|
82
|
+
*
|
|
83
|
+
* @since 2.0.0
|
|
84
|
+
* @category refinements
|
|
85
|
+
*/
|
|
86
|
+
export const isExit: (u: unknown) => u is Exit<unknown, unknown> = core.exitIsExit
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Returns `true` if the specified `Exit` is a `Failure`, `false` otherwise.
|
|
90
|
+
*
|
|
91
|
+
* @since 2.0.0
|
|
92
|
+
* @category refinements
|
|
93
|
+
*/
|
|
94
|
+
export const isFailure: <A, E>(self: Exit<A, E>) => self is Failure<A, E> = core.exitIsFailure
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Returns `true` if the specified `Exit` is a `Success`, `false` otherwise.
|
|
98
|
+
*
|
|
99
|
+
* @since 2.0.0
|
|
100
|
+
* @category refinements
|
|
101
|
+
*/
|
|
102
|
+
export const isSuccess: <A, E>(self: Exit<A, E>) => self is Success<A, E> = core.exitIsSuccess
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Returns `true` if the specified exit is a `Failure` **and** the `Cause` of
|
|
106
|
+
* the failure was due to interruption, `false` otherwise.
|
|
107
|
+
*
|
|
108
|
+
* @since 2.0.0
|
|
109
|
+
* @category getters
|
|
110
|
+
*/
|
|
111
|
+
export const isInterrupted: <A, E>(self: Exit<A, E>) => boolean = core.exitIsInterrupted
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Maps the `Success` value of the specified exit to the provided constant
|
|
115
|
+
* value.
|
|
116
|
+
*
|
|
117
|
+
* @since 2.0.0
|
|
118
|
+
* @category mapping
|
|
119
|
+
*/
|
|
120
|
+
export const as: {
|
|
121
|
+
<A2>(value: A2): <A, E>(self: Exit<A, E>) => Exit<A2, E>
|
|
122
|
+
<A, E, A2>(self: Exit<A, E>, value: A2): Exit<A2, E>
|
|
123
|
+
} = core.exitAs
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Maps the `Success` value of the specified exit to a void.
|
|
127
|
+
*
|
|
128
|
+
* @since 2.0.0
|
|
129
|
+
* @category mapping
|
|
130
|
+
*/
|
|
131
|
+
export const asVoid: <A, E>(self: Exit<A, E>) => Exit<void, E> = core.exitAsVoid
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Returns a `Some<Cause<E>>` if the specified exit is a `Failure`, `None`
|
|
135
|
+
* otherwise.
|
|
136
|
+
*
|
|
137
|
+
* @since 2.0.0
|
|
138
|
+
* @category getters
|
|
139
|
+
*/
|
|
140
|
+
export const causeOption: <A, E>(self: Exit<A, E>) => Option.Option<Cause.Cause<E>> = core.exitCauseOption
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Collects all of the specified exit values into a `Some<Exit<List<A>, E>>`. If
|
|
144
|
+
* the provided iterable contains no elements, `None` will be returned.
|
|
145
|
+
*
|
|
146
|
+
* @since 2.0.0
|
|
147
|
+
* @category constructors
|
|
148
|
+
*/
|
|
149
|
+
export const all: <A, E>(
|
|
150
|
+
exits: Iterable<Exit<A, E>>,
|
|
151
|
+
options?: { readonly parallel?: boolean | undefined } | undefined
|
|
152
|
+
) => Option.Option<Exit<Array<A>, E>> = core.exitCollectAll
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Constructs a new `Exit.Failure` from the specified unrecoverable defect.
|
|
156
|
+
*
|
|
157
|
+
* @since 2.0.0
|
|
158
|
+
* @category constructors
|
|
159
|
+
*/
|
|
160
|
+
export const die: (defect: unknown) => Exit<never> = core.exitDie
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Executes the predicate on the value of the specified exit if it is a
|
|
164
|
+
* `Success`, otherwise returns `false`.
|
|
165
|
+
*
|
|
166
|
+
* @since 2.0.0
|
|
167
|
+
* @category elements
|
|
168
|
+
*/
|
|
169
|
+
export const exists: {
|
|
170
|
+
<A, B extends A>(refinement: Refinement<NoInfer<A>, B>): <E>(self: Exit<A, E>) => self is Exit<B>
|
|
171
|
+
<A>(predicate: Predicate<NoInfer<A>>): <E>(self: Exit<A, E>) => boolean
|
|
172
|
+
<A, E, B extends A>(self: Exit<A, E>, refinement: Refinement<A, B>): self is Exit<B>
|
|
173
|
+
<A, E>(self: Exit<A, E>, predicate: Predicate<A>): boolean
|
|
174
|
+
} = core.exitExists
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Constructs a new `Exit.Failure` from the specified recoverable error of type
|
|
178
|
+
* `E`.
|
|
179
|
+
*
|
|
180
|
+
* @since 2.0.0
|
|
181
|
+
* @category constructors
|
|
182
|
+
*/
|
|
183
|
+
export const fail: <E>(error: E) => Exit<never, E> = core.exitFail
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Constructs a new `Exit.Failure` from the specified `Cause` of type `E`.
|
|
187
|
+
*
|
|
188
|
+
* @since 2.0.0
|
|
189
|
+
* @category constructors
|
|
190
|
+
*/
|
|
191
|
+
export const failCause: <E>(cause: Cause.Cause<E>) => Exit<never, E> = core.exitFailCause
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* @since 2.0.0
|
|
195
|
+
* @category sequencing
|
|
196
|
+
*/
|
|
197
|
+
export const flatMap: {
|
|
198
|
+
<A, A2, E2>(f: (a: A) => Exit<A2, E2>): <E>(self: Exit<A, E>) => Exit<A2, E2 | E>
|
|
199
|
+
<A, E, E2, A2>(self: Exit<A, E>, f: (a: A) => Exit<A2, E2>): Exit<A2, E | E2>
|
|
200
|
+
} = core.exitFlatMap
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* @since 2.0.0
|
|
204
|
+
* @category sequencing
|
|
205
|
+
*/
|
|
206
|
+
export const flatMapEffect: {
|
|
207
|
+
<A, E, A2, E2, R>(
|
|
208
|
+
f: (a: A) => Effect.Effect<Exit<A2, E>, E2, R>
|
|
209
|
+
): (self: Exit<A, E>) => Effect.Effect<Exit<A2, E>, E2, R>
|
|
210
|
+
<A, E, A2, E2, R>(self: Exit<A, E>, f: (a: A) => Effect.Effect<Exit<A2, E>, E2, R>): Effect.Effect<Exit<A2, E>, E2, R>
|
|
211
|
+
} = core.exitFlatMapEffect
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* @since 2.0.0
|
|
215
|
+
* @category sequencing
|
|
216
|
+
*/
|
|
217
|
+
export const flatten: <A, E, E2>(self: Exit<Exit<A, E>, E2>) => Exit<A, E | E2> = core.exitFlatten
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* @since 2.0.0
|
|
221
|
+
* @category traversing
|
|
222
|
+
*/
|
|
223
|
+
export const forEachEffect: {
|
|
224
|
+
<A, B, E2, R>(f: (a: A) => Effect.Effect<B, E2, R>): <E>(self: Exit<A, E>) => Effect.Effect<Exit<B, E2 | E>, never, R>
|
|
225
|
+
<A, E, B, E2, R>(self: Exit<A, E>, f: (a: A) => Effect.Effect<B, E2, R>): Effect.Effect<Exit<B, E | E2>, never, R>
|
|
226
|
+
} = core.exitForEachEffect
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Converts an `Either<R, L>` into an `Exit<R, L>`.
|
|
230
|
+
*
|
|
231
|
+
* @since 2.0.0
|
|
232
|
+
* @category conversions
|
|
233
|
+
*/
|
|
234
|
+
export const fromEither: <R, L>(either: Either.Either<R, L>) => Exit<R, L> = core.exitFromEither
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Converts an `Option<A>` into an `Exit<void, A>`.
|
|
238
|
+
*
|
|
239
|
+
* @since 2.0.0
|
|
240
|
+
* @category conversions
|
|
241
|
+
*/
|
|
242
|
+
export const fromOption: <A>(option: Option.Option<A>) => Exit<A, void> = core.exitFromOption
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Returns the `A` if specified exit is a `Success`, otherwise returns the
|
|
246
|
+
* alternate `A` value computed from the specified function which receives the
|
|
247
|
+
* `Cause<E>` of the exit `Failure`.
|
|
248
|
+
*
|
|
249
|
+
* @since 2.0.0
|
|
250
|
+
* @category getters
|
|
251
|
+
*/
|
|
252
|
+
export const getOrElse: {
|
|
253
|
+
<E, A2>(orElse: (cause: Cause.Cause<E>) => A2): <A>(self: Exit<A, E>) => A2 | A
|
|
254
|
+
<A, E, A2>(self: Exit<A, E>, orElse: (cause: Cause.Cause<E>) => A2): A | A2
|
|
255
|
+
} = core.exitGetOrElse
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Constructs a new `Exit.Failure` from the specified `FiberId` indicating that
|
|
259
|
+
* the `Fiber` running an `Effect` workflow was terminated due to interruption.
|
|
260
|
+
*
|
|
261
|
+
* @since 2.0.0
|
|
262
|
+
* @category constructors
|
|
263
|
+
*/
|
|
264
|
+
export const interrupt: (fiberId: FiberId.FiberId) => Exit<never> = core.exitInterrupt
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Maps over the `Success` value of the specified exit using the provided
|
|
268
|
+
* function.
|
|
269
|
+
*
|
|
270
|
+
* @since 2.0.0
|
|
271
|
+
* @category mapping
|
|
272
|
+
*/
|
|
273
|
+
export const map: {
|
|
274
|
+
<A, B>(f: (a: A) => B): <E>(self: Exit<A, E>) => Exit<B, E>
|
|
275
|
+
<A, E, B>(self: Exit<A, E>, f: (a: A) => B): Exit<B, E>
|
|
276
|
+
} = core.exitMap
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* Maps over the `Success` and `Failure` cases of the specified exit using the
|
|
280
|
+
* provided functions.
|
|
281
|
+
*
|
|
282
|
+
* @since 2.0.0
|
|
283
|
+
* @category mapping
|
|
284
|
+
*/
|
|
285
|
+
export const mapBoth: {
|
|
286
|
+
<E, A, E2, A2>(
|
|
287
|
+
options: { readonly onFailure: (e: E) => E2; readonly onSuccess: (a: A) => A2 }
|
|
288
|
+
): (self: Exit<A, E>) => Exit<A2, E2>
|
|
289
|
+
<A, E, E2, A2>(
|
|
290
|
+
self: Exit<A, E>,
|
|
291
|
+
options: { readonly onFailure: (e: E) => E2; readonly onSuccess: (a: A) => A2 }
|
|
292
|
+
): Exit<A2, E2>
|
|
293
|
+
} = core.exitMapBoth
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* Maps over the error contained in the `Failure` of the specified exit using
|
|
297
|
+
* the provided function.
|
|
298
|
+
*
|
|
299
|
+
* @since 2.0.0
|
|
300
|
+
* @category mapping
|
|
301
|
+
*/
|
|
302
|
+
export const mapError: {
|
|
303
|
+
<E, E2>(f: (e: E) => E2): <A>(self: Exit<A, E>) => Exit<A, E2>
|
|
304
|
+
<A, E, E2>(self: Exit<A, E>, f: (e: E) => E2): Exit<A, E2>
|
|
305
|
+
} = core.exitMapError
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Maps over the `Cause` contained in the `Failure` of the specified exit using
|
|
309
|
+
* the provided function.
|
|
310
|
+
*
|
|
311
|
+
* @since 2.0.0
|
|
312
|
+
* @category mapping
|
|
313
|
+
*/
|
|
314
|
+
export const mapErrorCause: {
|
|
315
|
+
<E, E2>(f: (cause: Cause.Cause<E>) => Cause.Cause<E2>): <A>(self: Exit<A, E>) => Exit<A, E2>
|
|
316
|
+
<E, A, E2>(self: Exit<A, E>, f: (cause: Cause.Cause<E>) => Cause.Cause<E2>): Exit<A, E2>
|
|
317
|
+
} = core.exitMapErrorCause
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* @since 2.0.0
|
|
321
|
+
* @category folding
|
|
322
|
+
*/
|
|
323
|
+
export const match: {
|
|
324
|
+
<E, A, Z1, Z2>(
|
|
325
|
+
options: { readonly onFailure: (cause: Cause.Cause<E>) => Z1; readonly onSuccess: (a: A) => Z2 }
|
|
326
|
+
): (self: Exit<A, E>) => Z1 | Z2
|
|
327
|
+
<A, E, Z1, Z2>(
|
|
328
|
+
self: Exit<A, E>,
|
|
329
|
+
options: { readonly onFailure: (cause: Cause.Cause<E>) => Z1; readonly onSuccess: (a: A) => Z2 }
|
|
330
|
+
): Z1 | Z2
|
|
331
|
+
} = core.exitMatch
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* @since 2.0.0
|
|
335
|
+
* @category folding
|
|
336
|
+
*/
|
|
337
|
+
export const matchEffect: {
|
|
338
|
+
<E, A2, E2, R, A, A3, E3, R2>(
|
|
339
|
+
options: {
|
|
340
|
+
readonly onFailure: (cause: Cause.Cause<E>) => Effect.Effect<A2, E2, R>
|
|
341
|
+
readonly onSuccess: (a: A) => Effect.Effect<A3, E3, R2>
|
|
342
|
+
}
|
|
343
|
+
): (self: Exit<A, E>) => Effect.Effect<A2 | A3, E2 | E3, R | R2>
|
|
344
|
+
<A, E, A2, E2, R, A3, E3, R2>(
|
|
345
|
+
self: Exit<A, E>,
|
|
346
|
+
options: {
|
|
347
|
+
readonly onFailure: (cause: Cause.Cause<E>) => Effect.Effect<A2, E2, R>
|
|
348
|
+
readonly onSuccess: (a: A) => Effect.Effect<A3, E3, R2>
|
|
349
|
+
}
|
|
350
|
+
): Effect.Effect<A2 | A3, E2 | E3, R | R2>
|
|
351
|
+
} = core.exitMatchEffect
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Constructs a new `Exit.Success` containing the specified value of type `A`.
|
|
355
|
+
*
|
|
356
|
+
* @since 2.0.0
|
|
357
|
+
* @category constructors
|
|
358
|
+
*/
|
|
359
|
+
export const succeed: <A>(value: A) => Exit<A> = core.exitSucceed
|
|
360
|
+
|
|
361
|
+
const void_: Exit<void> = core.exitVoid
|
|
362
|
+
export {
|
|
363
|
+
/**
|
|
364
|
+
* Represents an `Exit` which succeeds with `undefined`.
|
|
365
|
+
*
|
|
366
|
+
* @since 2.0.0
|
|
367
|
+
* @category constructors
|
|
368
|
+
*/
|
|
369
|
+
void_ as void
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* Sequentially zips the this result with the specified result or else returns
|
|
374
|
+
* the failed `Cause<E | E2>`.
|
|
375
|
+
*
|
|
376
|
+
* @since 2.0.0
|
|
377
|
+
* @category zipping
|
|
378
|
+
*/
|
|
379
|
+
export const zip: {
|
|
380
|
+
<A2, E2>(that: Exit<A2, E2>): <A, E>(self: Exit<A, E>) => Exit<[A, A2], E2 | E>
|
|
381
|
+
<A, E, A2, E2>(self: Exit<A, E>, that: Exit<A2, E2>): Exit<[A, A2], E | E2>
|
|
382
|
+
} = core.exitZip
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* Sequentially zips the this result with the specified result discarding the
|
|
386
|
+
* second element of the tuple or else returns the failed `Cause<E | E2>`.
|
|
387
|
+
*
|
|
388
|
+
* @since 2.0.0
|
|
389
|
+
* @category zipping
|
|
390
|
+
*/
|
|
391
|
+
export const zipLeft: {
|
|
392
|
+
<A2, E2>(that: Exit<A2, E2>): <A, E>(self: Exit<A, E>) => Exit<A, E2 | E>
|
|
393
|
+
<A, E, A2, E2>(self: Exit<A, E>, that: Exit<A2, E2>): Exit<A, E | E2>
|
|
394
|
+
} = core.exitZipLeft
|
|
395
|
+
|
|
396
|
+
/**
|
|
397
|
+
* Sequentially zips the this result with the specified result discarding the
|
|
398
|
+
* first element of the tuple or else returns the failed `Cause<E | E2>`.
|
|
399
|
+
*
|
|
400
|
+
* @since 2.0.0
|
|
401
|
+
* @category zipping
|
|
402
|
+
*/
|
|
403
|
+
export const zipRight: {
|
|
404
|
+
<A2, E2>(that: Exit<A2, E2>): <A, E>(self: Exit<A, E>) => Exit<A2, E2 | E>
|
|
405
|
+
<A, E, A2, E2>(self: Exit<A, E>, that: Exit<A2, E2>): Exit<A2, E | E2>
|
|
406
|
+
} = core.exitZipRight
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* Parallelly zips the this result with the specified result or else returns
|
|
410
|
+
* the failed `Cause<E | E2>`.
|
|
411
|
+
*
|
|
412
|
+
* @since 2.0.0
|
|
413
|
+
* @category zipping
|
|
414
|
+
*/
|
|
415
|
+
export const zipPar: {
|
|
416
|
+
<A2, E2>(that: Exit<A2, E2>): <A, E>(self: Exit<A, E>) => Exit<[A, A2], E2 | E>
|
|
417
|
+
<A, E, A2, E2>(self: Exit<A, E>, that: Exit<A2, E2>): Exit<[A, A2], E | E2>
|
|
418
|
+
} = core.exitZipPar
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* Parallelly zips the this result with the specified result discarding the
|
|
422
|
+
* second element of the tuple or else returns the failed `Cause<E | E2>`.
|
|
423
|
+
*
|
|
424
|
+
* @since 2.0.0
|
|
425
|
+
* @category zipping
|
|
426
|
+
*/
|
|
427
|
+
export const zipParLeft: {
|
|
428
|
+
<A2, E2>(that: Exit<A2, E2>): <A, E>(self: Exit<A, E>) => Exit<A, E2 | E>
|
|
429
|
+
<A, E, A2, E2>(self: Exit<A, E>, that: Exit<A2, E2>): Exit<A, E | E2>
|
|
430
|
+
} = core.exitZipParLeft
|
|
431
|
+
|
|
432
|
+
/**
|
|
433
|
+
* Parallelly zips the this result with the specified result discarding the
|
|
434
|
+
* first element of the tuple or else returns the failed `Cause<E | E2>`.
|
|
435
|
+
*
|
|
436
|
+
* @since 2.0.0
|
|
437
|
+
* @category zipping
|
|
438
|
+
*/
|
|
439
|
+
export const zipParRight: {
|
|
440
|
+
<A2, E2>(that: Exit<A2, E2>): <A, E>(self: Exit<A, E>) => Exit<A2, E2 | E>
|
|
441
|
+
<A, E, A2, E2>(self: Exit<A, E>, that: Exit<A2, E2>): Exit<A2, E | E2>
|
|
442
|
+
} = core.exitZipParRight
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* Zips this exit together with that exit using the specified combination
|
|
446
|
+
* functions.
|
|
447
|
+
*
|
|
448
|
+
* @since 2.0.0
|
|
449
|
+
* @category zipping
|
|
450
|
+
*/
|
|
451
|
+
export const zipWith: {
|
|
452
|
+
<B, E2, A, C, E>(
|
|
453
|
+
that: Exit<B, E2>,
|
|
454
|
+
options: {
|
|
455
|
+
readonly onSuccess: (a: A, b: B) => C
|
|
456
|
+
readonly onFailure: (cause: Cause.Cause<E>, cause2: Cause.Cause<E2>) => Cause.Cause<any>
|
|
457
|
+
}
|
|
458
|
+
): (self: Exit<A, E>) => Exit<C, any>
|
|
459
|
+
<A, E, B, E2, C>(
|
|
460
|
+
self: Exit<A, E>,
|
|
461
|
+
that: Exit<B, E2>,
|
|
462
|
+
options: {
|
|
463
|
+
readonly onSuccess: (a: A, b: B) => C
|
|
464
|
+
readonly onFailure: (cause: Cause.Cause<E>, cause2: Cause.Cause<E2>) => Cause.Cause<E | E2>
|
|
465
|
+
}
|
|
466
|
+
): Exit<C, E | E2>
|
|
467
|
+
} = core.exitZipWith
|