effect 3.8.4 → 3.9.0
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/dist/cjs/Array.js +24 -3
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/BigDecimal.js +5 -3
- package/dist/cjs/BigDecimal.js.map +1 -1
- package/dist/cjs/BigInt.js.map +1 -1
- package/dist/cjs/Boolean.js.map +1 -1
- package/dist/cjs/Cause.js.map +1 -1
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/ChildExecutorDecision.js.map +1 -1
- package/dist/cjs/Chunk.js +3 -0
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/ConfigError.js.map +1 -1
- package/dist/cjs/ConfigProvider.js.map +1 -1
- package/dist/cjs/ConfigProviderPathPatch.js.map +1 -1
- package/dist/cjs/Console.js.map +1 -1
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Cron.js +3 -0
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/DateTime.js +6 -0
- package/dist/cjs/DateTime.js.map +1 -1
- package/dist/cjs/Deferred.js.map +1 -1
- package/dist/cjs/Differ.js.map +1 -1
- package/dist/cjs/Duration.js +3 -0
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +122 -35
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Equivalence.js.map +1 -1
- package/dist/cjs/ExecutionStrategy.js.map +1 -1
- package/dist/cjs/Exit.js.map +1 -1
- package/dist/cjs/Fiber.js.map +1 -1
- package/dist/cjs/FiberHandle.js +3 -0
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberId.js.map +1 -1
- package/dist/cjs/FiberMap.js +3 -0
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberRef.js.map +1 -1
- package/dist/cjs/FiberRefs.js.map +1 -1
- package/dist/cjs/FiberRefsPatch.js.map +1 -1
- package/dist/cjs/FiberSet.js +3 -0
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/Function.js.map +1 -1
- package/dist/cjs/GroupBy.js.map +1 -1
- package/dist/cjs/Hash.js.map +1 -1
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/HashSet.js.map +1 -1
- package/dist/cjs/Inspectable.js +15 -1
- package/dist/cjs/Inspectable.js.map +1 -1
- package/dist/cjs/Iterable.js.map +1 -1
- package/dist/cjs/KeyedPool.js.map +1 -1
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/List.js +6 -0
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/LogLevel.js.map +1 -1
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/Mailbox.js.map +1 -1
- package/dist/cjs/ManagedRuntime.js +16 -1
- package/dist/cjs/ManagedRuntime.js.map +1 -1
- package/dist/cjs/MergeDecision.js.map +1 -1
- package/dist/cjs/MergeState.js.map +1 -1
- package/dist/cjs/MergeStrategy.js.map +1 -1
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/MetricHook.js.map +1 -1
- package/dist/cjs/MetricKey.js.map +1 -1
- package/dist/cjs/MetricPolling.js.map +1 -1
- package/dist/cjs/MetricState.js.map +1 -1
- package/dist/cjs/Micro.js +6 -0
- package/dist/cjs/Micro.js.map +1 -1
- package/dist/cjs/MutableHashMap.js +3 -0
- package/dist/cjs/MutableHashMap.js.map +1 -1
- package/dist/cjs/MutableHashSet.js +3 -0
- package/dist/cjs/MutableHashSet.js.map +1 -1
- package/dist/cjs/MutableList.js +3 -0
- package/dist/cjs/MutableList.js.map +1 -1
- package/dist/cjs/MutableQueue.js +3 -0
- package/dist/cjs/MutableQueue.js.map +1 -1
- package/dist/cjs/MutableRef.js +3 -0
- package/dist/cjs/MutableRef.js.map +1 -1
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Order.js.map +1 -1
- package/dist/cjs/Ordering.js.map +1 -1
- package/dist/cjs/Pipeable.js.map +1 -1
- package/dist/cjs/Pool.js.map +1 -1
- package/dist/cjs/Predicate.js +18 -2
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/PubSub.js.map +1 -1
- package/dist/cjs/Queue.js.map +1 -1
- package/dist/cjs/RcMap.js.map +1 -1
- package/dist/cjs/Readable.js.map +1 -1
- package/dist/cjs/Record.js.map +1 -1
- package/dist/cjs/RedBlackTree.js.map +1 -1
- package/dist/cjs/Ref.js.map +1 -1
- package/dist/cjs/RegExp.js +20 -1
- package/dist/cjs/RegExp.js.map +1 -1
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/Resource.js.map +1 -1
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/cjs/RuntimeFlags.js.map +1 -1
- package/dist/cjs/RuntimeFlagsPatch.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/ScheduleInterval.js.map +1 -1
- package/dist/cjs/ScheduleIntervals.js.map +1 -1
- package/dist/cjs/Scheduler.js.map +1 -1
- package/dist/cjs/Scope.js.map +1 -1
- package/dist/cjs/ScopedRef.js.map +1 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/SortedMap.js +3 -0
- package/dist/cjs/SortedMap.js.map +1 -1
- package/dist/cjs/SortedSet.js +3 -0
- package/dist/cjs/SortedSet.js.map +1 -1
- package/dist/cjs/Stream.js +17 -3
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/StreamHaltStrategy.js.map +1 -1
- package/dist/cjs/String.js.map +1 -1
- package/dist/cjs/Struct.js.map +1 -1
- package/dist/cjs/Subscribable.js.map +1 -1
- package/dist/cjs/SubscriptionRef.js.map +1 -1
- package/dist/cjs/SynchronizedRef.js.map +1 -1
- package/dist/cjs/TArray.js.map +1 -1
- package/dist/cjs/TDeferred.js.map +1 -1
- package/dist/cjs/TMap.js.map +1 -1
- package/dist/cjs/TPriorityQueue.js.map +1 -1
- package/dist/cjs/TPubSub.js.map +1 -1
- package/dist/cjs/TQueue.js.map +1 -1
- package/dist/cjs/TReentrantLock.js.map +1 -1
- package/dist/cjs/TRef.js.map +1 -1
- package/dist/cjs/TSemaphore.js.map +1 -1
- package/dist/cjs/TSet.js.map +1 -1
- package/dist/cjs/Take.js.map +1 -1
- package/dist/cjs/TestAnnotationMap.js.map +1 -1
- package/dist/cjs/TestClock.js.map +1 -1
- package/dist/cjs/TestServices.js.map +1 -1
- package/dist/cjs/Trie.js.map +1 -1
- package/dist/cjs/Tuple.js +21 -2
- package/dist/cjs/Tuple.js.map +1 -1
- package/dist/cjs/Unify.js.map +1 -1
- package/dist/cjs/UpstreamPullRequest.js.map +1 -1
- package/dist/cjs/UpstreamPullStrategy.js.map +1 -1
- package/dist/cjs/Utils.js +1 -14
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/internal/cause.js +3 -0
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/context.js +6 -1
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core.js +16 -3
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +5 -1
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/fiberId.js +9 -0
- package/dist/cjs/internal/fiberId.js.map +1 -1
- package/dist/cjs/internal/hashMap.js +3 -0
- package/dist/cjs/internal/hashMap.js.map +1 -1
- package/dist/cjs/internal/hashSet.js +3 -0
- package/dist/cjs/internal/hashSet.js.map +1 -1
- package/dist/cjs/internal/layer.js +33 -19
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/mailbox.js +3 -0
- package/dist/cjs/internal/mailbox.js.map +1 -1
- package/dist/cjs/internal/managedRuntime/circular.js +10 -0
- package/dist/cjs/internal/managedRuntime/circular.js.map +1 -0
- package/dist/cjs/internal/managedRuntime.js +23 -9
- package/dist/cjs/internal/managedRuntime.js.map +1 -1
- package/dist/cjs/internal/option.js +3 -0
- package/dist/cjs/internal/option.js.map +1 -1
- package/dist/cjs/internal/pool.js +6 -1
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/redBlackTree.js +3 -0
- package/dist/cjs/internal/redBlackTree.js.map +1 -1
- package/dist/cjs/internal/resource.js +15 -5
- package/dist/cjs/internal/resource.js.map +1 -1
- package/dist/cjs/internal/runtime.js +4 -1
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/scopedRef.js +11 -8
- package/dist/cjs/internal/scopedRef.js.map +1 -1
- package/dist/cjs/internal/stm/core.js +1 -2
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stream.js +12 -3
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/trie.js +3 -0
- package/dist/cjs/internal/trie.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Array.d.ts +2735 -2
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/BigDecimal.d.ts +558 -1
- package/dist/dts/BigDecimal.d.ts.map +1 -1
- package/dist/dts/BigInt.d.ts +490 -0
- package/dist/dts/BigInt.d.ts.map +1 -1
- package/dist/dts/Boolean.d.ts +228 -0
- package/dist/dts/Boolean.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +172 -0
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +750 -0
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/ChildExecutorDecision.d.ts +12 -0
- package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +791 -0
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +174 -0
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/ConfigError.d.ts +16 -0
- package/dist/dts/ConfigError.d.ts.map +1 -1
- package/dist/dts/ConfigProvider.d.ts +84 -0
- package/dist/dts/ConfigProvider.d.ts.map +1 -1
- package/dist/dts/ConfigProviderPathPatch.d.ts +32 -0
- package/dist/dts/ConfigProviderPathPatch.d.ts.map +1 -1
- package/dist/dts/Console.d.ts +24 -0
- package/dist/dts/Console.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +234 -3
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Cron.d.ts +12 -0
- package/dist/dts/Cron.d.ts.map +1 -1
- package/dist/dts/Data.d.ts +165 -0
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/DateTime.d.ts +878 -0
- package/dist/dts/DateTime.d.ts.map +1 -1
- package/dist/dts/Deferred.d.ts +171 -1
- package/dist/dts/Deferred.d.ts.map +1 -1
- package/dist/dts/Differ.d.ts +78 -0
- package/dist/dts/Differ.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +130 -0
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +4350 -13
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +620 -0
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Equivalence.d.ts +24 -0
- package/dist/dts/Equivalence.d.ts.map +1 -1
- package/dist/dts/ExecutionStrategy.d.ts +14 -0
- package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
- package/dist/dts/Exit.d.ts +252 -0
- package/dist/dts/Exit.d.ts.map +1 -1
- package/dist/dts/Fiber.d.ts +182 -0
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts +42 -0
- package/dist/dts/FiberHandle.d.ts.map +1 -1
- package/dist/dts/FiberId.d.ts +24 -0
- package/dist/dts/FiberId.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +102 -0
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberRef.d.ts +80 -0
- package/dist/dts/FiberRef.d.ts.map +1 -1
- package/dist/dts/FiberRefs.d.ts +84 -0
- package/dist/dts/FiberRefs.d.ts.map +1 -1
- package/dist/dts/FiberRefsPatch.d.ts +30 -0
- package/dist/dts/FiberRefsPatch.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +38 -0
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/Function.d.ts +144 -28
- package/dist/dts/Function.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts +38 -0
- package/dist/dts/GroupBy.d.ts.map +1 -1
- package/dist/dts/Hash.d.ts +8 -0
- package/dist/dts/Hash.d.ts.map +1 -1
- package/dist/dts/HashMap.d.ts +315 -0
- package/dist/dts/HashMap.d.ts.map +1 -1
- package/dist/dts/HashSet.d.ts +284 -0
- package/dist/dts/HashSet.d.ts.map +1 -1
- package/dist/dts/Inspectable.d.ts +15 -0
- package/dist/dts/Inspectable.d.ts.map +1 -1
- package/dist/dts/Iterable.d.ts +454 -0
- package/dist/dts/Iterable.d.ts.map +1 -1
- package/dist/dts/KeyedPool.d.ts +34 -0
- package/dist/dts/KeyedPool.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +460 -5
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/List.d.ts +430 -0
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/dts/LogLevel.d.ts +46 -0
- package/dist/dts/LogLevel.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +194 -0
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/Mailbox.d.ts +16 -0
- package/dist/dts/Mailbox.d.ts.map +1 -1
- package/dist/dts/ManagedRuntime.d.ts +41 -2
- package/dist/dts/ManagedRuntime.d.ts.map +1 -1
- package/dist/dts/MergeDecision.d.ts +8 -0
- package/dist/dts/MergeDecision.d.ts.map +1 -1
- package/dist/dts/MergeState.d.ts +8 -0
- package/dist/dts/MergeState.d.ts.map +1 -1
- package/dist/dts/MergeStrategy.d.ts +12 -0
- package/dist/dts/MergeStrategy.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +410 -0
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricHook.d.ts +24 -0
- package/dist/dts/MetricHook.d.ts.map +1 -1
- package/dist/dts/MetricKey.d.ts +48 -0
- package/dist/dts/MetricKey.d.ts.map +1 -1
- package/dist/dts/MetricPolling.d.ts +40 -0
- package/dist/dts/MetricPolling.d.ts.map +1 -1
- package/dist/dts/MetricState.d.ts +16 -0
- package/dist/dts/MetricState.d.ts.map +1 -1
- package/dist/dts/Micro.d.ts +1110 -0
- package/dist/dts/Micro.d.ts.map +1 -1
- package/dist/dts/MutableHashMap.d.ts +50 -0
- package/dist/dts/MutableHashMap.d.ts.map +1 -1
- package/dist/dts/MutableHashSet.d.ts +24 -0
- package/dist/dts/MutableHashSet.d.ts.map +1 -1
- package/dist/dts/MutableList.d.ts +36 -0
- package/dist/dts/MutableList.d.ts.map +1 -1
- package/dist/dts/MutableQueue.d.ts +62 -0
- package/dist/dts/MutableQueue.d.ts.map +1 -1
- package/dist/dts/MutableRef.d.ts +56 -0
- package/dist/dts/MutableRef.d.ts.map +1 -1
- package/dist/dts/Number.d.ts +474 -0
- package/dist/dts/Number.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +1019 -0
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Order.d.ts +24 -0
- package/dist/dts/Order.d.ts.map +1 -1
- package/dist/dts/Ordering.d.ts +66 -0
- package/dist/dts/Ordering.d.ts.map +1 -1
- package/dist/dts/Pipeable.d.ts +21 -21
- package/dist/dts/Pipeable.d.ts.map +1 -1
- package/dist/dts/Pool.d.ts +37 -1
- package/dist/dts/Pool.d.ts.map +1 -1
- package/dist/dts/Predicate.d.ts +513 -0
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/PubSub.d.ts +28 -0
- package/dist/dts/PubSub.d.ts.map +1 -1
- package/dist/dts/Queue.d.ts +106 -2
- package/dist/dts/Queue.d.ts.map +1 -1
- package/dist/dts/RcMap.d.ts +70 -0
- package/dist/dts/RcMap.d.ts.map +1 -1
- package/dist/dts/Readable.d.ts +16 -0
- package/dist/dts/Readable.d.ts.map +1 -1
- package/dist/dts/Record.d.ts +800 -0
- package/dist/dts/Record.d.ts.map +1 -1
- package/dist/dts/RedBlackTree.d.ts +300 -0
- package/dist/dts/RedBlackTree.d.ts.map +1 -1
- package/dist/dts/Ref.d.ts +88 -0
- package/dist/dts/Ref.d.ts.map +1 -1
- package/dist/dts/RegExp.d.ts +12 -2
- package/dist/dts/RegExp.d.ts.map +1 -1
- package/dist/dts/Request.d.ts +76 -0
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +144 -0
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Resource.d.ts +21 -1
- package/dist/dts/Resource.d.ts.map +1 -1
- package/dist/dts/Runtime.d.ts +126 -0
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/dts/RuntimeFlags.d.ts +100 -0
- package/dist/dts/RuntimeFlags.d.ts.map +1 -1
- package/dist/dts/RuntimeFlagsPatch.d.ts +112 -0
- package/dist/dts/RuntimeFlagsPatch.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +1090 -0
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +704 -0
- package/dist/dts/Schedule.d.ts.map +1 -1
- package/dist/dts/ScheduleInterval.d.ts +68 -0
- package/dist/dts/ScheduleInterval.d.ts.map +1 -1
- package/dist/dts/ScheduleIntervals.d.ts +50 -0
- package/dist/dts/ScheduleIntervals.d.ts.map +1 -1
- package/dist/dts/Scope.d.ts +36 -0
- package/dist/dts/Scope.d.ts.map +1 -1
- package/dist/dts/ScopedRef.d.ts +43 -1
- package/dist/dts/ScopedRef.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +464 -0
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/SortedMap.d.ts +76 -0
- package/dist/dts/SortedMap.d.ts.map +1 -1
- package/dist/dts/SortedSet.d.ts +142 -0
- package/dist/dts/SortedSet.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +4998 -1
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/StreamHaltStrategy.d.ts +12 -0
- package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
- package/dist/dts/String.d.ts +200 -0
- package/dist/dts/String.d.ts.map +1 -1
- package/dist/dts/Struct.d.ts +84 -0
- package/dist/dts/Struct.d.ts.map +1 -1
- package/dist/dts/Subscribable.d.ts +16 -0
- package/dist/dts/Subscribable.d.ts.map +1 -1
- package/dist/dts/SubscriptionRef.d.ts +152 -0
- package/dist/dts/SubscriptionRef.d.ts.map +1 -1
- package/dist/dts/SynchronizedRef.d.ts +152 -0
- package/dist/dts/SynchronizedRef.d.ts.map +1 -1
- package/dist/dts/TArray.d.ts +426 -0
- package/dist/dts/TArray.d.ts.map +1 -1
- package/dist/dts/TDeferred.d.ts +24 -0
- package/dist/dts/TDeferred.d.ts.map +1 -1
- package/dist/dts/TMap.d.ts +366 -0
- package/dist/dts/TMap.d.ts.map +1 -1
- package/dist/dts/TPriorityQueue.d.ts +60 -0
- package/dist/dts/TPriorityQueue.d.ts.map +1 -1
- package/dist/dts/TPubSub.d.ts +28 -0
- package/dist/dts/TPubSub.d.ts.map +1 -1
- package/dist/dts/TQueue.d.ts +108 -0
- package/dist/dts/TQueue.d.ts.map +1 -1
- package/dist/dts/TReentrantLock.d.ts +36 -0
- package/dist/dts/TReentrantLock.d.ts.map +1 -1
- package/dist/dts/TRef.d.ts +88 -0
- package/dist/dts/TRef.d.ts.map +1 -1
- package/dist/dts/TSemaphore.d.ts +40 -0
- package/dist/dts/TSemaphore.d.ts.map +1 -1
- package/dist/dts/TSet.d.ts +254 -0
- package/dist/dts/TSet.d.ts.map +1 -1
- package/dist/dts/Take.d.ts +56 -0
- package/dist/dts/Take.d.ts.map +1 -1
- package/dist/dts/TestAnnotationMap.d.ts.map +1 -1
- package/dist/dts/TestClock.d.ts.map +1 -1
- package/dist/dts/TestServices.d.ts.map +1 -1
- package/dist/dts/Trie.d.ts +906 -0
- package/dist/dts/Trie.d.ts.map +1 -1
- package/dist/dts/Tuple.d.ts +203 -0
- package/dist/dts/Tuple.d.ts.map +1 -1
- package/dist/dts/Types.d.ts +39 -0
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/dts/Unify.d.ts +26 -13
- package/dist/dts/Unify.d.ts.map +1 -1
- package/dist/dts/UpstreamPullRequest.d.ts +12 -0
- package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
- package/dist/dts/UpstreamPullStrategy.d.ts +12 -0
- package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
- package/dist/dts/Utils.d.ts.map +1 -1
- package/dist/dts/internal/core.d.ts.map +1 -1
- package/dist/dts/internal/hashMap.d.ts.map +1 -1
- package/dist/dts/internal/layer.d.ts.map +1 -1
- package/dist/dts/internal/managedRuntime/circular.d.ts +2 -0
- package/dist/dts/internal/managedRuntime/circular.d.ts.map +1 -0
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Array.js +21 -0
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/BigDecimal.js +6 -3
- package/dist/esm/BigDecimal.js.map +1 -1
- package/dist/esm/BigInt.js.map +1 -1
- package/dist/esm/Boolean.js.map +1 -1
- package/dist/esm/Cause.js.map +1 -1
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/ChildExecutorDecision.js.map +1 -1
- package/dist/esm/Chunk.js +4 -1
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/ConfigError.js.map +1 -1
- package/dist/esm/ConfigProvider.js.map +1 -1
- package/dist/esm/ConfigProviderPathPatch.js.map +1 -1
- package/dist/esm/Console.js.map +1 -1
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/Cron.js +4 -1
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/DateTime.js +6 -0
- package/dist/esm/DateTime.js.map +1 -1
- package/dist/esm/Deferred.js.map +1 -1
- package/dist/esm/Differ.js.map +1 -1
- package/dist/esm/Duration.js +4 -1
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js +116 -30
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Equivalence.js.map +1 -1
- package/dist/esm/ExecutionStrategy.js.map +1 -1
- package/dist/esm/Exit.js.map +1 -1
- package/dist/esm/Fiber.js.map +1 -1
- package/dist/esm/FiberHandle.js +3 -0
- package/dist/esm/FiberHandle.js.map +1 -1
- package/dist/esm/FiberId.js.map +1 -1
- package/dist/esm/FiberMap.js +3 -0
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/FiberRef.js.map +1 -1
- package/dist/esm/FiberRefs.js.map +1 -1
- package/dist/esm/FiberRefsPatch.js.map +1 -1
- package/dist/esm/FiberSet.js +3 -0
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/Function.js.map +1 -1
- package/dist/esm/GroupBy.js.map +1 -1
- package/dist/esm/Hash.js.map +1 -1
- package/dist/esm/HashMap.js.map +1 -1
- package/dist/esm/HashSet.js.map +1 -1
- package/dist/esm/Inspectable.js +14 -0
- package/dist/esm/Inspectable.js.map +1 -1
- package/dist/esm/Iterable.js.map +1 -1
- package/dist/esm/KeyedPool.js.map +1 -1
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/List.js +7 -1
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/LogLevel.js.map +1 -1
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/Mailbox.js.map +1 -1
- package/dist/esm/ManagedRuntime.js +15 -0
- package/dist/esm/ManagedRuntime.js.map +1 -1
- package/dist/esm/MergeDecision.js.map +1 -1
- package/dist/esm/MergeState.js.map +1 -1
- package/dist/esm/MergeStrategy.js.map +1 -1
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/MetricHook.js.map +1 -1
- package/dist/esm/MetricKey.js.map +1 -1
- package/dist/esm/MetricPolling.js.map +1 -1
- package/dist/esm/MetricState.js.map +1 -1
- package/dist/esm/Micro.js +7 -1
- package/dist/esm/Micro.js.map +1 -1
- package/dist/esm/MutableHashMap.js +4 -1
- package/dist/esm/MutableHashMap.js.map +1 -1
- package/dist/esm/MutableHashSet.js +4 -1
- package/dist/esm/MutableHashSet.js.map +1 -1
- package/dist/esm/MutableList.js +4 -1
- package/dist/esm/MutableList.js.map +1 -1
- package/dist/esm/MutableQueue.js +4 -1
- package/dist/esm/MutableQueue.js.map +1 -1
- package/dist/esm/MutableRef.js +4 -1
- package/dist/esm/MutableRef.js.map +1 -1
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Order.js.map +1 -1
- package/dist/esm/Ordering.js.map +1 -1
- package/dist/esm/Pipeable.js.map +1 -1
- package/dist/esm/Pool.js.map +1 -1
- package/dist/esm/Predicate.js +15 -0
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/PubSub.js.map +1 -1
- package/dist/esm/Queue.js.map +1 -1
- package/dist/esm/RcMap.js.map +1 -1
- package/dist/esm/Readable.js.map +1 -1
- package/dist/esm/Record.js.map +1 -1
- package/dist/esm/RedBlackTree.js.map +1 -1
- package/dist/esm/Ref.js.map +1 -1
- package/dist/esm/RegExp.js +16 -0
- package/dist/esm/RegExp.js.map +1 -1
- package/dist/esm/Request.js.map +1 -1
- package/dist/esm/RequestResolver.js.map +1 -1
- package/dist/esm/Resource.js.map +1 -1
- package/dist/esm/Runtime.js.map +1 -1
- package/dist/esm/RuntimeFlags.js.map +1 -1
- package/dist/esm/RuntimeFlagsPatch.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/ScheduleInterval.js.map +1 -1
- package/dist/esm/ScheduleIntervals.js.map +1 -1
- package/dist/esm/Scheduler.js.map +1 -1
- package/dist/esm/Scope.js.map +1 -1
- package/dist/esm/ScopedRef.js.map +1 -1
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/SortedMap.js +4 -1
- package/dist/esm/SortedMap.js.map +1 -1
- package/dist/esm/SortedSet.js +4 -1
- package/dist/esm/SortedSet.js.map +1 -1
- package/dist/esm/Stream.js +14 -0
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/StreamHaltStrategy.js.map +1 -1
- package/dist/esm/String.js.map +1 -1
- package/dist/esm/Struct.js.map +1 -1
- package/dist/esm/Subscribable.js.map +1 -1
- package/dist/esm/SubscriptionRef.js.map +1 -1
- package/dist/esm/SynchronizedRef.js.map +1 -1
- package/dist/esm/TArray.js.map +1 -1
- package/dist/esm/TDeferred.js.map +1 -1
- package/dist/esm/TMap.js.map +1 -1
- package/dist/esm/TPriorityQueue.js.map +1 -1
- package/dist/esm/TPubSub.js.map +1 -1
- package/dist/esm/TQueue.js.map +1 -1
- package/dist/esm/TReentrantLock.js.map +1 -1
- package/dist/esm/TRef.js.map +1 -1
- package/dist/esm/TSemaphore.js.map +1 -1
- package/dist/esm/TSet.js.map +1 -1
- package/dist/esm/Take.js.map +1 -1
- package/dist/esm/TestAnnotationMap.js.map +1 -1
- package/dist/esm/TestClock.js.map +1 -1
- package/dist/esm/TestServices.js.map +1 -1
- package/dist/esm/Trie.js.map +1 -1
- package/dist/esm/Tuple.js +19 -0
- package/dist/esm/Tuple.js.map +1 -1
- package/dist/esm/Unify.js.map +1 -1
- package/dist/esm/UpstreamPullRequest.js.map +1 -1
- package/dist/esm/UpstreamPullStrategy.js.map +1 -1
- package/dist/esm/Utils.js +1 -14
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/internal/cause.js +4 -1
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/context.js +7 -2
- package/dist/esm/internal/context.js.map +1 -1
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +14 -2
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +5 -1
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/fiberId.js +10 -1
- package/dist/esm/internal/fiberId.js.map +1 -1
- package/dist/esm/internal/hashMap.js +4 -1
- package/dist/esm/internal/hashMap.js.map +1 -1
- package/dist/esm/internal/hashSet.js +4 -1
- package/dist/esm/internal/hashSet.js.map +1 -1
- package/dist/esm/internal/layer.js +32 -18
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/mailbox.js +3 -0
- package/dist/esm/internal/mailbox.js.map +1 -1
- package/dist/esm/internal/managedRuntime/circular.js +4 -0
- package/dist/esm/internal/managedRuntime/circular.js.map +1 -0
- package/dist/esm/internal/managedRuntime.js +21 -8
- package/dist/esm/internal/managedRuntime.js.map +1 -1
- package/dist/esm/internal/option.js +4 -1
- package/dist/esm/internal/option.js.map +1 -1
- package/dist/esm/internal/pool.js +6 -1
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/redBlackTree.js +4 -1
- package/dist/esm/internal/redBlackTree.js.map +1 -1
- package/dist/esm/internal/resource.js +15 -5
- package/dist/esm/internal/resource.js.map +1 -1
- package/dist/esm/internal/runtime.js +4 -1
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/scopedRef.js +11 -8
- package/dist/esm/internal/scopedRef.js.map +1 -1
- package/dist/esm/internal/stm/core.js +1 -2
- package/dist/esm/internal/stm/core.js.map +1 -1
- package/dist/esm/internal/stream.js +9 -0
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/trie.js +4 -1
- package/dist/esm/internal/trie.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +1 -1
- package/src/Array.ts +2791 -40
- package/src/BigDecimal.ts +589 -19
- package/src/BigInt.ts +516 -16
- package/src/Boolean.ts +241 -8
- package/src/Cause.ts +177 -1
- package/src/Channel.ts +766 -49
- package/src/ChildExecutorDecision.ts +12 -0
- package/src/Chunk.ts +822 -5
- package/src/Config.ts +187 -8
- package/src/ConfigError.ts +16 -0
- package/src/ConfigProvider.ts +89 -1
- package/src/ConfigProviderPathPatch.ts +32 -0
- package/src/Console.ts +37 -8
- package/src/Context.ts +234 -3
- package/src/Cron.ts +16 -1
- package/src/Data.ts +165 -0
- package/src/DateTime.ts +1012 -50
- package/src/Deferred.ts +171 -1
- package/src/Differ.ts +89 -27
- package/src/Duration.ts +160 -17
- package/src/Effect.ts +4717 -164
- package/src/Either.ts +650 -34
- package/src/Equivalence.ts +24 -0
- package/src/ExecutionStrategy.ts +29 -10
- package/src/Exit.ts +252 -0
- package/src/Fiber.ts +182 -0
- package/src/FiberHandle.ts +45 -0
- package/src/FiberId.ts +24 -0
- package/src/FiberMap.ts +147 -21
- package/src/FiberRef.ts +80 -0
- package/src/FiberRefs.ts +84 -0
- package/src/FiberRefsPatch.ts +35 -1
- package/src/FiberSet.ts +41 -0
- package/src/Function.ts +416 -31
- package/src/GroupBy.ts +38 -0
- package/src/Hash.ts +8 -0
- package/src/HashMap.ts +316 -0
- package/src/HashSet.ts +284 -0
- package/src/Inspectable.ts +22 -0
- package/src/Iterable.ts +456 -6
- package/src/KeyedPool.ts +34 -0
- package/src/Layer.ts +475 -38
- package/src/List.ts +483 -4
- package/src/LogLevel.ts +46 -0
- package/src/Logger.ts +195 -4
- package/src/Mailbox.ts +16 -0
- package/src/ManagedRuntime.ts +46 -2
- package/src/MergeDecision.ts +8 -0
- package/src/MergeState.ts +8 -0
- package/src/MergeStrategy.ts +25 -8
- package/src/Metric.ts +426 -15
- package/src/MetricHook.ts +24 -0
- package/src/MetricKey.ts +62 -8
- package/src/MetricPolling.ts +42 -6
- package/src/MetricState.ts +16 -0
- package/src/Micro.ts +1223 -61
- package/src/MutableHashMap.ts +109 -2
- package/src/MutableHashSet.ts +28 -1
- package/src/MutableList.ts +40 -1
- package/src/MutableQueue.ts +66 -1
- package/src/MutableRef.ts +60 -1
- package/src/Number.ts +500 -16
- package/src/Option.ts +1042 -16
- package/src/Order.ts +24 -0
- package/src/Ordering.ts +66 -0
- package/src/Pipeable.ts +224 -21
- package/src/Pool.ts +42 -1
- package/src/Predicate.ts +514 -0
- package/src/PubSub.ts +28 -0
- package/src/Queue.ts +106 -2
- package/src/RcMap.ts +70 -0
- package/src/Readable.ts +18 -7
- package/src/Record.ts +814 -40
- package/src/RedBlackTree.ts +305 -1
- package/src/Ref.ts +88 -0
- package/src/RegExp.ts +17 -0
- package/src/Request.ts +76 -0
- package/src/RequestResolver.ts +145 -4
- package/src/Resource.ts +22 -1
- package/src/Runtime.ts +134 -2
- package/src/RuntimeFlags.ts +100 -0
- package/src/RuntimeFlagsPatch.ts +112 -0
- package/src/STM.ts +1107 -11
- package/src/Schedule.ts +704 -0
- package/src/ScheduleInterval.ts +68 -0
- package/src/ScheduleIntervals.ts +50 -0
- package/src/Scheduler.ts +2 -0
- package/src/Scope.ts +36 -0
- package/src/ScopedRef.ts +44 -1
- package/src/Sink.ts +464 -0
- package/src/SortedMap.ts +80 -1
- package/src/SortedSet.ts +147 -4
- package/src/Stream.ts +5041 -54
- package/src/StreamHaltStrategy.ts +29 -12
- package/src/String.ts +200 -0
- package/src/Struct.ts +86 -7
- package/src/Subscribable.ts +16 -0
- package/src/SubscriptionRef.ts +159 -11
- package/src/SynchronizedRef.ts +169 -8
- package/src/TArray.ts +431 -1
- package/src/TDeferred.ts +24 -0
- package/src/TMap.ts +381 -12
- package/src/TPriorityQueue.ts +60 -0
- package/src/TPubSub.ts +28 -0
- package/src/TQueue.ts +108 -0
- package/src/TReentrantLock.ts +36 -0
- package/src/TRef.ts +88 -0
- package/src/TSemaphore.ts +40 -0
- package/src/TSet.ts +280 -12
- package/src/Take.ts +56 -0
- package/src/TestAnnotationMap.ts +45 -1
- package/src/TestClock.ts +6 -0
- package/src/TestServices.ts +66 -0
- package/src/Trie.ts +906 -0
- package/src/Tuple.ts +223 -8
- package/src/Types.ts +41 -0
- package/src/Unify.ts +28 -17
- package/src/UpstreamPullRequest.ts +12 -0
- package/src/UpstreamPullStrategy.ts +12 -0
- package/src/Utils.ts +1 -15
- package/src/internal/cause.ts +4 -1
- package/src/internal/context.ts +7 -2
- package/src/internal/core-effect.ts +7 -7
- package/src/internal/core.ts +14 -2
- package/src/internal/effect/circular.ts +8 -2
- package/src/internal/fiberId.ts +10 -1
- package/src/internal/hashMap.ts +4 -1
- package/src/internal/hashSet.ts +4 -1
- package/src/internal/layer.ts +105 -38
- package/src/internal/mailbox.ts +3 -0
- package/src/internal/managedRuntime/circular.ts +6 -0
- package/src/internal/managedRuntime.ts +36 -22
- package/src/internal/option.ts +4 -1
- package/src/internal/pool.ts +7 -1
- package/src/internal/redBlackTree.ts +4 -1
- package/src/internal/resource.ts +16 -5
- package/src/internal/runtime.ts +4 -1
- package/src/internal/scopedRef.ts +12 -8
- package/src/internal/stm/core.ts +2 -3
- package/src/internal/stream.ts +27 -0
- package/src/internal/trie.ts +4 -1
- package/src/internal/version.ts +1 -1
package/dist/dts/Either.d.ts
CHANGED
|
@@ -125,7 +125,33 @@ export declare const left: <L>(left: L) => Either<never, L>;
|
|
|
125
125
|
* @since 2.0.0
|
|
126
126
|
*/
|
|
127
127
|
export declare const fromNullable: {
|
|
128
|
+
/**
|
|
129
|
+
* Takes a lazy default and a nullable value, if the value is not nully (`null` or `undefined`), turn it into a `Right`, if the value is nully use
|
|
130
|
+
* the provided default as a `Left`.
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* import { Either } from "effect"
|
|
134
|
+
*
|
|
135
|
+
* assert.deepStrictEqual(Either.fromNullable(1, () => 'fallback'), Either.right(1))
|
|
136
|
+
* assert.deepStrictEqual(Either.fromNullable(null, () => 'fallback'), Either.left('fallback'))
|
|
137
|
+
*
|
|
138
|
+
* @category constructors
|
|
139
|
+
* @since 2.0.0
|
|
140
|
+
*/
|
|
128
141
|
<R, L>(onNullable: (right: R) => L): (self: R) => Either<NonNullable<R>, L>;
|
|
142
|
+
/**
|
|
143
|
+
* Takes a lazy default and a nullable value, if the value is not nully (`null` or `undefined`), turn it into a `Right`, if the value is nully use
|
|
144
|
+
* the provided default as a `Left`.
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* import { Either } from "effect"
|
|
148
|
+
*
|
|
149
|
+
* assert.deepStrictEqual(Either.fromNullable(1, () => 'fallback'), Either.right(1))
|
|
150
|
+
* assert.deepStrictEqual(Either.fromNullable(null, () => 'fallback'), Either.left('fallback'))
|
|
151
|
+
*
|
|
152
|
+
* @category constructors
|
|
153
|
+
* @since 2.0.0
|
|
154
|
+
*/
|
|
129
155
|
<R, L>(self: R, onNullable: (right: R) => L): Either<NonNullable<R>, L>;
|
|
130
156
|
};
|
|
131
157
|
/**
|
|
@@ -139,7 +165,27 @@ export declare const fromNullable: {
|
|
|
139
165
|
* @since 2.0.0
|
|
140
166
|
*/
|
|
141
167
|
export declare const fromOption: {
|
|
168
|
+
/**
|
|
169
|
+
* @example
|
|
170
|
+
* import { Either, Option } from "effect"
|
|
171
|
+
*
|
|
172
|
+
* assert.deepStrictEqual(Either.fromOption(Option.some(1), () => 'error'), Either.right(1))
|
|
173
|
+
* assert.deepStrictEqual(Either.fromOption(Option.none(), () => 'error'), Either.left('error'))
|
|
174
|
+
*
|
|
175
|
+
* @category constructors
|
|
176
|
+
* @since 2.0.0
|
|
177
|
+
*/
|
|
142
178
|
<L>(onNone: () => L): <R>(self: Option<R>) => Either<R, L>;
|
|
179
|
+
/**
|
|
180
|
+
* @example
|
|
181
|
+
* import { Either, Option } from "effect"
|
|
182
|
+
*
|
|
183
|
+
* assert.deepStrictEqual(Either.fromOption(Option.some(1), () => 'error'), Either.right(1))
|
|
184
|
+
* assert.deepStrictEqual(Either.fromOption(Option.none(), () => 'error'), Either.left('error'))
|
|
185
|
+
*
|
|
186
|
+
* @category constructors
|
|
187
|
+
* @since 2.0.0
|
|
188
|
+
*/
|
|
143
189
|
<R, L>(self: Option<R>, onNone: () => L): Either<R, L>;
|
|
144
190
|
};
|
|
145
191
|
declare const try_: {
|
|
@@ -245,10 +291,18 @@ export declare const getEquivalence: <R, L>({ left, right }: {
|
|
|
245
291
|
* @since 2.0.0
|
|
246
292
|
*/
|
|
247
293
|
export declare const mapBoth: {
|
|
294
|
+
/**
|
|
295
|
+
* @category mapping
|
|
296
|
+
* @since 2.0.0
|
|
297
|
+
*/
|
|
248
298
|
<L, L2, R, R2>(options: {
|
|
249
299
|
readonly onLeft: (left: L) => L2;
|
|
250
300
|
readonly onRight: (right: R) => R2;
|
|
251
301
|
}): (self: Either<R, L>) => Either<R2, L2>;
|
|
302
|
+
/**
|
|
303
|
+
* @category mapping
|
|
304
|
+
* @since 2.0.0
|
|
305
|
+
*/
|
|
252
306
|
<L, R, L2, R2>(self: Either<R, L>, options: {
|
|
253
307
|
readonly onLeft: (left: L) => L2;
|
|
254
308
|
readonly onRight: (right: R) => R2;
|
|
@@ -264,7 +318,25 @@ export declare const mapBoth: {
|
|
|
264
318
|
* @since 2.0.0
|
|
265
319
|
*/
|
|
266
320
|
export declare const mapLeft: {
|
|
321
|
+
/**
|
|
322
|
+
* Maps the `Left` side of an `Either` value to a new `Either` value.
|
|
323
|
+
*
|
|
324
|
+
* @param self - The input `Either` value to map.
|
|
325
|
+
* @param f - A transformation function to apply to the `Left` value of the input `Either`.
|
|
326
|
+
*
|
|
327
|
+
* @category mapping
|
|
328
|
+
* @since 2.0.0
|
|
329
|
+
*/
|
|
267
330
|
<L, L2>(f: (left: L) => L2): <R>(self: Either<R, L>) => Either<R, L2>;
|
|
331
|
+
/**
|
|
332
|
+
* Maps the `Left` side of an `Either` value to a new `Either` value.
|
|
333
|
+
*
|
|
334
|
+
* @param self - The input `Either` value to map.
|
|
335
|
+
* @param f - A transformation function to apply to the `Left` value of the input `Either`.
|
|
336
|
+
*
|
|
337
|
+
* @category mapping
|
|
338
|
+
* @since 2.0.0
|
|
339
|
+
*/
|
|
268
340
|
<R, L, L2>(self: Either<R, L>, f: (left: L) => L2): Either<R, L2>;
|
|
269
341
|
};
|
|
270
342
|
/**
|
|
@@ -277,7 +349,25 @@ export declare const mapLeft: {
|
|
|
277
349
|
* @since 2.0.0
|
|
278
350
|
*/
|
|
279
351
|
export declare const map: {
|
|
352
|
+
/**
|
|
353
|
+
* Maps the `Right` side of an `Either` value to a new `Either` value.
|
|
354
|
+
*
|
|
355
|
+
* @param self - An `Either` to map
|
|
356
|
+
* @param f - The function to map over the value of the `Either`
|
|
357
|
+
*
|
|
358
|
+
* @category mapping
|
|
359
|
+
* @since 2.0.0
|
|
360
|
+
*/
|
|
280
361
|
<R, R2>(f: (right: R) => R2): <L>(self: Either<R, L>) => Either<R2, L>;
|
|
362
|
+
/**
|
|
363
|
+
* Maps the `Right` side of an `Either` value to a new `Either` value.
|
|
364
|
+
*
|
|
365
|
+
* @param self - An `Either` to map
|
|
366
|
+
* @param f - The function to map over the value of the `Either`
|
|
367
|
+
*
|
|
368
|
+
* @category mapping
|
|
369
|
+
* @since 2.0.0
|
|
370
|
+
*/
|
|
281
371
|
<R, L, R2>(self: Either<R, L>, f: (right: R) => R2): Either<R2, L>;
|
|
282
372
|
};
|
|
283
373
|
/**
|
|
@@ -301,10 +391,50 @@ export declare const map: {
|
|
|
301
391
|
* @since 2.0.0
|
|
302
392
|
*/
|
|
303
393
|
export declare const match: {
|
|
394
|
+
/**
|
|
395
|
+
* Takes two functions and an `Either` value, if the value is a `Left` the inner value is applied to the `onLeft function,
|
|
396
|
+
* if the value is a `Right` the inner value is applied to the `onRight` function.
|
|
397
|
+
*
|
|
398
|
+
* @example
|
|
399
|
+
* import { pipe, Either } from "effect"
|
|
400
|
+
*
|
|
401
|
+
* const onLeft = (strings: ReadonlyArray<string>): string => `strings: ${strings.join(', ')}`
|
|
402
|
+
*
|
|
403
|
+
* const onRight = (value: number): string => `Ok: ${value}`
|
|
404
|
+
*
|
|
405
|
+
* assert.deepStrictEqual(pipe(Either.right(1), Either.match({ onLeft, onRight })), 'Ok: 1')
|
|
406
|
+
* assert.deepStrictEqual(
|
|
407
|
+
* pipe(Either.left(['string 1', 'string 2']), Either.match({ onLeft, onRight })),
|
|
408
|
+
* 'strings: string 1, string 2'
|
|
409
|
+
* )
|
|
410
|
+
*
|
|
411
|
+
* @category pattern matching
|
|
412
|
+
* @since 2.0.0
|
|
413
|
+
*/
|
|
304
414
|
<L, B, R, C = B>(options: {
|
|
305
415
|
readonly onLeft: (left: L) => B;
|
|
306
416
|
readonly onRight: (right: R) => C;
|
|
307
417
|
}): (self: Either<R, L>) => B | C;
|
|
418
|
+
/**
|
|
419
|
+
* Takes two functions and an `Either` value, if the value is a `Left` the inner value is applied to the `onLeft function,
|
|
420
|
+
* if the value is a `Right` the inner value is applied to the `onRight` function.
|
|
421
|
+
*
|
|
422
|
+
* @example
|
|
423
|
+
* import { pipe, Either } from "effect"
|
|
424
|
+
*
|
|
425
|
+
* const onLeft = (strings: ReadonlyArray<string>): string => `strings: ${strings.join(', ')}`
|
|
426
|
+
*
|
|
427
|
+
* const onRight = (value: number): string => `Ok: ${value}`
|
|
428
|
+
*
|
|
429
|
+
* assert.deepStrictEqual(pipe(Either.right(1), Either.match({ onLeft, onRight })), 'Ok: 1')
|
|
430
|
+
* assert.deepStrictEqual(
|
|
431
|
+
* pipe(Either.left(['string 1', 'string 2']), Either.match({ onLeft, onRight })),
|
|
432
|
+
* 'strings: string 1, string 2'
|
|
433
|
+
* )
|
|
434
|
+
*
|
|
435
|
+
* @category pattern matching
|
|
436
|
+
* @since 2.0.0
|
|
437
|
+
*/
|
|
308
438
|
<R, L, B, C = B>(self: Either<R, L>, options: {
|
|
309
439
|
readonly onLeft: (left: L) => B;
|
|
310
440
|
readonly onRight: (right: R) => C;
|
|
@@ -340,9 +470,125 @@ export declare const match: {
|
|
|
340
470
|
* @since 3.4.0
|
|
341
471
|
*/
|
|
342
472
|
export declare const liftPredicate: {
|
|
473
|
+
/**
|
|
474
|
+
* Transforms a `Predicate` function into a `Right` of the input value if the predicate returns `true`
|
|
475
|
+
* or `Left` of the result of the provided function if the predicate returns false
|
|
476
|
+
*
|
|
477
|
+
* @param predicate - A `Predicate` function that takes in a value of type `A` and returns a boolean.
|
|
478
|
+
*
|
|
479
|
+
* @example
|
|
480
|
+
* import { pipe, Either } from "effect"
|
|
481
|
+
*
|
|
482
|
+
* const isPositive = (n: number): boolean => n > 0
|
|
483
|
+
*
|
|
484
|
+
* assert.deepStrictEqual(
|
|
485
|
+
* pipe(
|
|
486
|
+
* 1,
|
|
487
|
+
* Either.liftPredicate(isPositive, n => `${n} is not positive`)
|
|
488
|
+
* ),
|
|
489
|
+
* Either.right(1)
|
|
490
|
+
* )
|
|
491
|
+
* assert.deepStrictEqual(
|
|
492
|
+
* pipe(
|
|
493
|
+
* 0,
|
|
494
|
+
* Either.liftPredicate(isPositive, n => `${n} is not positive`)
|
|
495
|
+
* ),
|
|
496
|
+
* Either.left("0 is not positive")
|
|
497
|
+
* )
|
|
498
|
+
*
|
|
499
|
+
* @category lifting
|
|
500
|
+
* @since 3.4.0
|
|
501
|
+
*/
|
|
343
502
|
<A, B extends A, E>(refinement: Refinement<NoInfer<A>, B>, orLeftWith: (a: NoInfer<A>) => E): (a: A) => Either<B, E>;
|
|
503
|
+
/**
|
|
504
|
+
* Transforms a `Predicate` function into a `Right` of the input value if the predicate returns `true`
|
|
505
|
+
* or `Left` of the result of the provided function if the predicate returns false
|
|
506
|
+
*
|
|
507
|
+
* @param predicate - A `Predicate` function that takes in a value of type `A` and returns a boolean.
|
|
508
|
+
*
|
|
509
|
+
* @example
|
|
510
|
+
* import { pipe, Either } from "effect"
|
|
511
|
+
*
|
|
512
|
+
* const isPositive = (n: number): boolean => n > 0
|
|
513
|
+
*
|
|
514
|
+
* assert.deepStrictEqual(
|
|
515
|
+
* pipe(
|
|
516
|
+
* 1,
|
|
517
|
+
* Either.liftPredicate(isPositive, n => `${n} is not positive`)
|
|
518
|
+
* ),
|
|
519
|
+
* Either.right(1)
|
|
520
|
+
* )
|
|
521
|
+
* assert.deepStrictEqual(
|
|
522
|
+
* pipe(
|
|
523
|
+
* 0,
|
|
524
|
+
* Either.liftPredicate(isPositive, n => `${n} is not positive`)
|
|
525
|
+
* ),
|
|
526
|
+
* Either.left("0 is not positive")
|
|
527
|
+
* )
|
|
528
|
+
*
|
|
529
|
+
* @category lifting
|
|
530
|
+
* @since 3.4.0
|
|
531
|
+
*/
|
|
344
532
|
<A, E>(predicate: Predicate<NoInfer<A>>, orLeftWith: (a: NoInfer<A>) => E): (a: A) => Either<A, E>;
|
|
533
|
+
/**
|
|
534
|
+
* Transforms a `Predicate` function into a `Right` of the input value if the predicate returns `true`
|
|
535
|
+
* or `Left` of the result of the provided function if the predicate returns false
|
|
536
|
+
*
|
|
537
|
+
* @param predicate - A `Predicate` function that takes in a value of type `A` and returns a boolean.
|
|
538
|
+
*
|
|
539
|
+
* @example
|
|
540
|
+
* import { pipe, Either } from "effect"
|
|
541
|
+
*
|
|
542
|
+
* const isPositive = (n: number): boolean => n > 0
|
|
543
|
+
*
|
|
544
|
+
* assert.deepStrictEqual(
|
|
545
|
+
* pipe(
|
|
546
|
+
* 1,
|
|
547
|
+
* Either.liftPredicate(isPositive, n => `${n} is not positive`)
|
|
548
|
+
* ),
|
|
549
|
+
* Either.right(1)
|
|
550
|
+
* )
|
|
551
|
+
* assert.deepStrictEqual(
|
|
552
|
+
* pipe(
|
|
553
|
+
* 0,
|
|
554
|
+
* Either.liftPredicate(isPositive, n => `${n} is not positive`)
|
|
555
|
+
* ),
|
|
556
|
+
* Either.left("0 is not positive")
|
|
557
|
+
* )
|
|
558
|
+
*
|
|
559
|
+
* @category lifting
|
|
560
|
+
* @since 3.4.0
|
|
561
|
+
*/
|
|
345
562
|
<A, E, B extends A>(self: A, refinement: Refinement<A, B>, orLeftWith: (a: A) => E): Either<B, E>;
|
|
563
|
+
/**
|
|
564
|
+
* Transforms a `Predicate` function into a `Right` of the input value if the predicate returns `true`
|
|
565
|
+
* or `Left` of the result of the provided function if the predicate returns false
|
|
566
|
+
*
|
|
567
|
+
* @param predicate - A `Predicate` function that takes in a value of type `A` and returns a boolean.
|
|
568
|
+
*
|
|
569
|
+
* @example
|
|
570
|
+
* import { pipe, Either } from "effect"
|
|
571
|
+
*
|
|
572
|
+
* const isPositive = (n: number): boolean => n > 0
|
|
573
|
+
*
|
|
574
|
+
* assert.deepStrictEqual(
|
|
575
|
+
* pipe(
|
|
576
|
+
* 1,
|
|
577
|
+
* Either.liftPredicate(isPositive, n => `${n} is not positive`)
|
|
578
|
+
* ),
|
|
579
|
+
* Either.right(1)
|
|
580
|
+
* )
|
|
581
|
+
* assert.deepStrictEqual(
|
|
582
|
+
* pipe(
|
|
583
|
+
* 0,
|
|
584
|
+
* Either.liftPredicate(isPositive, n => `${n} is not positive`)
|
|
585
|
+
* ),
|
|
586
|
+
* Either.left("0 is not positive")
|
|
587
|
+
* )
|
|
588
|
+
*
|
|
589
|
+
* @category lifting
|
|
590
|
+
* @since 3.4.0
|
|
591
|
+
*/
|
|
346
592
|
<A, E>(self: A, predicate: Predicate<NoInfer<A>>, orLeftWith: (a: NoInfer<A>) => E): Either<A, E>;
|
|
347
593
|
};
|
|
348
594
|
/**
|
|
@@ -373,9 +619,117 @@ export declare const liftPredicate: {
|
|
|
373
619
|
* @category filtering & conditionals
|
|
374
620
|
*/
|
|
375
621
|
export declare const filterOrLeft: {
|
|
622
|
+
/**
|
|
623
|
+
* Filter the right value with the provided function.
|
|
624
|
+
* If the predicate fails, set the left value with the result of the provided function.
|
|
625
|
+
*
|
|
626
|
+
* @example
|
|
627
|
+
* import { pipe, Either } from "effect"
|
|
628
|
+
*
|
|
629
|
+
* const isPositive = (n: number): boolean => n > 0
|
|
630
|
+
*
|
|
631
|
+
* assert.deepStrictEqual(
|
|
632
|
+
* pipe(
|
|
633
|
+
* Either.right(1),
|
|
634
|
+
* Either.filterOrLeft(isPositive, n => `${n} is not positive`)
|
|
635
|
+
* ),
|
|
636
|
+
* Either.right(1)
|
|
637
|
+
* )
|
|
638
|
+
* assert.deepStrictEqual(
|
|
639
|
+
* pipe(
|
|
640
|
+
* Either.right(0),
|
|
641
|
+
* Either.filterOrLeft(isPositive, n => `${n} is not positive`)
|
|
642
|
+
* ),
|
|
643
|
+
* Either.left("0 is not positive")
|
|
644
|
+
* )
|
|
645
|
+
*
|
|
646
|
+
* @since 2.0.0
|
|
647
|
+
* @category filtering & conditionals
|
|
648
|
+
*/
|
|
376
649
|
<R, B extends R, L2>(refinement: Refinement<NoInfer<R>, B>, orLeftWith: (right: NoInfer<R>) => L2): <L>(self: Either<R, L>) => Either<B, L2 | L>;
|
|
650
|
+
/**
|
|
651
|
+
* Filter the right value with the provided function.
|
|
652
|
+
* If the predicate fails, set the left value with the result of the provided function.
|
|
653
|
+
*
|
|
654
|
+
* @example
|
|
655
|
+
* import { pipe, Either } from "effect"
|
|
656
|
+
*
|
|
657
|
+
* const isPositive = (n: number): boolean => n > 0
|
|
658
|
+
*
|
|
659
|
+
* assert.deepStrictEqual(
|
|
660
|
+
* pipe(
|
|
661
|
+
* Either.right(1),
|
|
662
|
+
* Either.filterOrLeft(isPositive, n => `${n} is not positive`)
|
|
663
|
+
* ),
|
|
664
|
+
* Either.right(1)
|
|
665
|
+
* )
|
|
666
|
+
* assert.deepStrictEqual(
|
|
667
|
+
* pipe(
|
|
668
|
+
* Either.right(0),
|
|
669
|
+
* Either.filterOrLeft(isPositive, n => `${n} is not positive`)
|
|
670
|
+
* ),
|
|
671
|
+
* Either.left("0 is not positive")
|
|
672
|
+
* )
|
|
673
|
+
*
|
|
674
|
+
* @since 2.0.0
|
|
675
|
+
* @category filtering & conditionals
|
|
676
|
+
*/
|
|
377
677
|
<R, L2>(predicate: Predicate<NoInfer<R>>, orLeftWith: (right: NoInfer<R>) => L2): <L>(self: Either<R, L>) => Either<R, L2 | L>;
|
|
678
|
+
/**
|
|
679
|
+
* Filter the right value with the provided function.
|
|
680
|
+
* If the predicate fails, set the left value with the result of the provided function.
|
|
681
|
+
*
|
|
682
|
+
* @example
|
|
683
|
+
* import { pipe, Either } from "effect"
|
|
684
|
+
*
|
|
685
|
+
* const isPositive = (n: number): boolean => n > 0
|
|
686
|
+
*
|
|
687
|
+
* assert.deepStrictEqual(
|
|
688
|
+
* pipe(
|
|
689
|
+
* Either.right(1),
|
|
690
|
+
* Either.filterOrLeft(isPositive, n => `${n} is not positive`)
|
|
691
|
+
* ),
|
|
692
|
+
* Either.right(1)
|
|
693
|
+
* )
|
|
694
|
+
* assert.deepStrictEqual(
|
|
695
|
+
* pipe(
|
|
696
|
+
* Either.right(0),
|
|
697
|
+
* Either.filterOrLeft(isPositive, n => `${n} is not positive`)
|
|
698
|
+
* ),
|
|
699
|
+
* Either.left("0 is not positive")
|
|
700
|
+
* )
|
|
701
|
+
*
|
|
702
|
+
* @since 2.0.0
|
|
703
|
+
* @category filtering & conditionals
|
|
704
|
+
*/
|
|
378
705
|
<R, L, B extends R, L2>(self: Either<R, L>, refinement: Refinement<R, B>, orLeftWith: (right: R) => L2): Either<B, L | L2>;
|
|
706
|
+
/**
|
|
707
|
+
* Filter the right value with the provided function.
|
|
708
|
+
* If the predicate fails, set the left value with the result of the provided function.
|
|
709
|
+
*
|
|
710
|
+
* @example
|
|
711
|
+
* import { pipe, Either } from "effect"
|
|
712
|
+
*
|
|
713
|
+
* const isPositive = (n: number): boolean => n > 0
|
|
714
|
+
*
|
|
715
|
+
* assert.deepStrictEqual(
|
|
716
|
+
* pipe(
|
|
717
|
+
* Either.right(1),
|
|
718
|
+
* Either.filterOrLeft(isPositive, n => `${n} is not positive`)
|
|
719
|
+
* ),
|
|
720
|
+
* Either.right(1)
|
|
721
|
+
* )
|
|
722
|
+
* assert.deepStrictEqual(
|
|
723
|
+
* pipe(
|
|
724
|
+
* Either.right(0),
|
|
725
|
+
* Either.filterOrLeft(isPositive, n => `${n} is not positive`)
|
|
726
|
+
* ),
|
|
727
|
+
* Either.left("0 is not positive")
|
|
728
|
+
* )
|
|
729
|
+
*
|
|
730
|
+
* @since 2.0.0
|
|
731
|
+
* @category filtering & conditionals
|
|
732
|
+
*/
|
|
379
733
|
<R, L, E2>(self: Either<R, L>, predicate: Predicate<R>, orLeftWith: (right: R) => E2): Either<R, L | E2>;
|
|
380
734
|
};
|
|
381
735
|
/**
|
|
@@ -396,7 +750,31 @@ export declare const merge: <R, L>(self: Either<R, L>) => L | R;
|
|
|
396
750
|
* @since 2.0.0
|
|
397
751
|
*/
|
|
398
752
|
export declare const getOrElse: {
|
|
753
|
+
/**
|
|
754
|
+
* Returns the wrapped value if it's a `Right` or a default value if is a `Left`.
|
|
755
|
+
*
|
|
756
|
+
* @example
|
|
757
|
+
* import { Either } from "effect"
|
|
758
|
+
*
|
|
759
|
+
* assert.deepStrictEqual(Either.getOrElse(Either.right(1), (error) => error + "!"), 1)
|
|
760
|
+
* assert.deepStrictEqual(Either.getOrElse(Either.left("not a number"), (error) => error + "!"), "not a number!")
|
|
761
|
+
*
|
|
762
|
+
* @category getters
|
|
763
|
+
* @since 2.0.0
|
|
764
|
+
*/
|
|
399
765
|
<L, R2>(onLeft: (left: L) => R2): <R>(self: Either<R, L>) => R2 | R;
|
|
766
|
+
/**
|
|
767
|
+
* Returns the wrapped value if it's a `Right` or a default value if is a `Left`.
|
|
768
|
+
*
|
|
769
|
+
* @example
|
|
770
|
+
* import { Either } from "effect"
|
|
771
|
+
*
|
|
772
|
+
* assert.deepStrictEqual(Either.getOrElse(Either.right(1), (error) => error + "!"), 1)
|
|
773
|
+
* assert.deepStrictEqual(Either.getOrElse(Either.left("not a number"), (error) => error + "!"), "not a number!")
|
|
774
|
+
*
|
|
775
|
+
* @category getters
|
|
776
|
+
* @since 2.0.0
|
|
777
|
+
*/
|
|
400
778
|
<R, L, R2>(self: Either<R, L>, onLeft: (left: L) => R2): R | R2;
|
|
401
779
|
};
|
|
402
780
|
/**
|
|
@@ -442,7 +820,47 @@ export declare const getOrUndefined: <R, L>(self: Either<R, L>) => R | undefined
|
|
|
442
820
|
* @since 2.0.0
|
|
443
821
|
*/
|
|
444
822
|
export declare const getOrThrowWith: {
|
|
823
|
+
/**
|
|
824
|
+
* Extracts the value of an `Either` or throws if the `Either` is `Left`.
|
|
825
|
+
*
|
|
826
|
+
* If a default error is sufficient for your use case and you don't need to configure the thrown error, see {@link getOrThrow}.
|
|
827
|
+
*
|
|
828
|
+
* @param self - The `Either` to extract the value from.
|
|
829
|
+
* @param onLeft - A function that will be called if the `Either` is `Left`. It returns the error to be thrown.
|
|
830
|
+
*
|
|
831
|
+
* @example
|
|
832
|
+
* import { Either } from "effect"
|
|
833
|
+
*
|
|
834
|
+
* assert.deepStrictEqual(
|
|
835
|
+
* Either.getOrThrowWith(Either.right(1), () => new Error('Unexpected Left')),
|
|
836
|
+
* 1
|
|
837
|
+
* )
|
|
838
|
+
* assert.throws(() => Either.getOrThrowWith(Either.left("error"), () => new Error('Unexpected Left')))
|
|
839
|
+
*
|
|
840
|
+
* @category getters
|
|
841
|
+
* @since 2.0.0
|
|
842
|
+
*/
|
|
445
843
|
<L>(onLeft: (left: L) => unknown): <A>(self: Either<A, L>) => A;
|
|
844
|
+
/**
|
|
845
|
+
* Extracts the value of an `Either` or throws if the `Either` is `Left`.
|
|
846
|
+
*
|
|
847
|
+
* If a default error is sufficient for your use case and you don't need to configure the thrown error, see {@link getOrThrow}.
|
|
848
|
+
*
|
|
849
|
+
* @param self - The `Either` to extract the value from.
|
|
850
|
+
* @param onLeft - A function that will be called if the `Either` is `Left`. It returns the error to be thrown.
|
|
851
|
+
*
|
|
852
|
+
* @example
|
|
853
|
+
* import { Either } from "effect"
|
|
854
|
+
*
|
|
855
|
+
* assert.deepStrictEqual(
|
|
856
|
+
* Either.getOrThrowWith(Either.right(1), () => new Error('Unexpected Left')),
|
|
857
|
+
* 1
|
|
858
|
+
* )
|
|
859
|
+
* assert.throws(() => Either.getOrThrowWith(Either.left("error"), () => new Error('Unexpected Left')))
|
|
860
|
+
*
|
|
861
|
+
* @category getters
|
|
862
|
+
* @since 2.0.0
|
|
863
|
+
*/
|
|
446
864
|
<R, L>(self: Either<R, L>, onLeft: (left: L) => unknown): R;
|
|
447
865
|
};
|
|
448
866
|
/**
|
|
@@ -473,7 +891,25 @@ export declare const getOrThrow: <R, L>(self: Either<R, L>) => R;
|
|
|
473
891
|
* @since 2.0.0
|
|
474
892
|
*/
|
|
475
893
|
export declare const orElse: {
|
|
894
|
+
/**
|
|
895
|
+
* Returns `self` if it is a `Right` or `that` otherwise.
|
|
896
|
+
*
|
|
897
|
+
* @param self - The input `Either` value to check and potentially return.
|
|
898
|
+
* @param that - A function that takes the error value from `self` (if it's a `Left`) and returns a new `Either` value.
|
|
899
|
+
*
|
|
900
|
+
* @category error handling
|
|
901
|
+
* @since 2.0.0
|
|
902
|
+
*/
|
|
476
903
|
<L, R2, L2>(that: (left: L) => Either<R2, L2>): <R>(self: Either<R, L>) => Either<R | R2, L2>;
|
|
904
|
+
/**
|
|
905
|
+
* Returns `self` if it is a `Right` or `that` otherwise.
|
|
906
|
+
*
|
|
907
|
+
* @param self - The input `Either` value to check and potentially return.
|
|
908
|
+
* @param that - A function that takes the error value from `self` (if it's a `Left`) and returns a new `Either` value.
|
|
909
|
+
*
|
|
910
|
+
* @category error handling
|
|
911
|
+
* @since 2.0.0
|
|
912
|
+
*/
|
|
477
913
|
<R, L, R2, L2>(self: Either<R, L>, that: (left: L) => Either<R2, L2>): Either<R | R2, L2>;
|
|
478
914
|
};
|
|
479
915
|
/**
|
|
@@ -481,7 +917,15 @@ export declare const orElse: {
|
|
|
481
917
|
* @since 2.0.0
|
|
482
918
|
*/
|
|
483
919
|
export declare const flatMap: {
|
|
920
|
+
/**
|
|
921
|
+
* @category sequencing
|
|
922
|
+
* @since 2.0.0
|
|
923
|
+
*/
|
|
484
924
|
<R, R2, L2>(f: (right: R) => Either<R2, L2>): <L>(self: Either<R, L>) => Either<R2, L | L2>;
|
|
925
|
+
/**
|
|
926
|
+
* @category sequencing
|
|
927
|
+
* @since 2.0.0
|
|
928
|
+
*/
|
|
485
929
|
<R, L, R2, L2>(self: Either<R, L>, f: (right: R) => Either<R2, L2>): Either<R2, L | L2>;
|
|
486
930
|
};
|
|
487
931
|
/**
|
|
@@ -491,13 +935,61 @@ export declare const flatMap: {
|
|
|
491
935
|
* @since 2.0.0
|
|
492
936
|
*/
|
|
493
937
|
export declare const andThen: {
|
|
938
|
+
/**
|
|
939
|
+
* Executes a sequence of two `Either`s. The second `Either` can be dependent on the result of the first `Either`.
|
|
940
|
+
*
|
|
941
|
+
* @category sequencing
|
|
942
|
+
* @since 2.0.0
|
|
943
|
+
*/
|
|
494
944
|
<R, R2, L2>(f: (right: R) => Either<R2, L2>): <L>(self: Either<R, L>) => Either<R2, L | L2>;
|
|
945
|
+
/**
|
|
946
|
+
* Executes a sequence of two `Either`s. The second `Either` can be dependent on the result of the first `Either`.
|
|
947
|
+
*
|
|
948
|
+
* @category sequencing
|
|
949
|
+
* @since 2.0.0
|
|
950
|
+
*/
|
|
495
951
|
<R2, L2>(f: Either<R2, L2>): <L, R1>(self: Either<R1, L>) => Either<R2, L | L2>;
|
|
952
|
+
/**
|
|
953
|
+
* Executes a sequence of two `Either`s. The second `Either` can be dependent on the result of the first `Either`.
|
|
954
|
+
*
|
|
955
|
+
* @category sequencing
|
|
956
|
+
* @since 2.0.0
|
|
957
|
+
*/
|
|
496
958
|
<R, R2>(f: (right: R) => R2): <L>(self: Either<R, L>) => Either<R2, L>;
|
|
959
|
+
/**
|
|
960
|
+
* Executes a sequence of two `Either`s. The second `Either` can be dependent on the result of the first `Either`.
|
|
961
|
+
*
|
|
962
|
+
* @category sequencing
|
|
963
|
+
* @since 2.0.0
|
|
964
|
+
*/
|
|
497
965
|
<R2>(right: NotFunction<R2>): <R1, L>(self: Either<R1, L>) => Either<R2, L>;
|
|
966
|
+
/**
|
|
967
|
+
* Executes a sequence of two `Either`s. The second `Either` can be dependent on the result of the first `Either`.
|
|
968
|
+
*
|
|
969
|
+
* @category sequencing
|
|
970
|
+
* @since 2.0.0
|
|
971
|
+
*/
|
|
498
972
|
<R, L, R2, L2>(self: Either<R, L>, f: (right: R) => Either<R2, L2>): Either<R2, L | L2>;
|
|
973
|
+
/**
|
|
974
|
+
* Executes a sequence of two `Either`s. The second `Either` can be dependent on the result of the first `Either`.
|
|
975
|
+
*
|
|
976
|
+
* @category sequencing
|
|
977
|
+
* @since 2.0.0
|
|
978
|
+
*/
|
|
499
979
|
<R, L, R2, L2>(self: Either<R, L>, f: Either<R2, L2>): Either<R2, L | L2>;
|
|
980
|
+
/**
|
|
981
|
+
* Executes a sequence of two `Either`s. The second `Either` can be dependent on the result of the first `Either`.
|
|
982
|
+
*
|
|
983
|
+
* @category sequencing
|
|
984
|
+
* @since 2.0.0
|
|
985
|
+
*/
|
|
500
986
|
<R, L, R2>(self: Either<R, L>, f: (right: R) => R2): Either<R2, L>;
|
|
987
|
+
/**
|
|
988
|
+
* Executes a sequence of two `Either`s. The second `Either` can be dependent on the result of the first `Either`.
|
|
989
|
+
*
|
|
990
|
+
* @category sequencing
|
|
991
|
+
* @since 2.0.0
|
|
992
|
+
*/
|
|
501
993
|
<R, L, R2>(self: Either<R, L>, f: NotFunction<R2>): Either<R2, L>;
|
|
502
994
|
};
|
|
503
995
|
/**
|
|
@@ -505,7 +997,15 @@ export declare const andThen: {
|
|
|
505
997
|
* @since 2.0.0
|
|
506
998
|
*/
|
|
507
999
|
export declare const zipWith: {
|
|
1000
|
+
/**
|
|
1001
|
+
* @category zipping
|
|
1002
|
+
* @since 2.0.0
|
|
1003
|
+
*/
|
|
508
1004
|
<R2, L2, R, B>(that: Either<R2, L2>, f: (right: R, right2: R2) => B): <L>(self: Either<R, L>) => Either<B, L2 | L>;
|
|
1005
|
+
/**
|
|
1006
|
+
* @category zipping
|
|
1007
|
+
* @since 2.0.0
|
|
1008
|
+
*/
|
|
509
1009
|
<R, L, R2, L2, B>(self: Either<R, L>, that: Either<R2, L2>, f: (right: R, right2: R2) => B): Either<B, L | L2>;
|
|
510
1010
|
};
|
|
511
1011
|
/**
|
|
@@ -513,7 +1013,15 @@ export declare const zipWith: {
|
|
|
513
1013
|
* @since 2.0.0
|
|
514
1014
|
*/
|
|
515
1015
|
export declare const ap: {
|
|
1016
|
+
/**
|
|
1017
|
+
* @category combining
|
|
1018
|
+
* @since 2.0.0
|
|
1019
|
+
*/
|
|
516
1020
|
<R, L2>(that: Either<R, L2>): <R2, L>(self: Either<(right: R) => R2, L>) => Either<R2, L | L2>;
|
|
1021
|
+
/**
|
|
1022
|
+
* @category combining
|
|
1023
|
+
* @since 2.0.0
|
|
1024
|
+
*/
|
|
517
1025
|
<R, R2, L, L2>(self: Either<(right: R) => R2, L>, that: Either<R, L2>): Either<R2, L | L2>;
|
|
518
1026
|
};
|
|
519
1027
|
/**
|
|
@@ -611,9 +1119,65 @@ export declare const Do: Either<{}>;
|
|
|
611
1119
|
* @since 2.0.0
|
|
612
1120
|
*/
|
|
613
1121
|
export declare const bind: {
|
|
1122
|
+
/**
|
|
1123
|
+
* The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
|
|
1124
|
+
*
|
|
1125
|
+
* Here's how the do simulation works:
|
|
1126
|
+
*
|
|
1127
|
+
* 1. Start the do simulation using the `Do` value
|
|
1128
|
+
* 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Either` values
|
|
1129
|
+
* 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
|
|
1130
|
+
* 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
|
|
1131
|
+
*
|
|
1132
|
+
* @see {@link Do}
|
|
1133
|
+
* @see {@link bindTo}
|
|
1134
|
+
* @see {@link let_ let}
|
|
1135
|
+
*
|
|
1136
|
+
* @example
|
|
1137
|
+
* import { Either, pipe } from "effect"
|
|
1138
|
+
*
|
|
1139
|
+
* const result = pipe(
|
|
1140
|
+
* Either.Do,
|
|
1141
|
+
* Either.bind("x", () => Either.right(2)),
|
|
1142
|
+
* Either.bind("y", () => Either.right(3)),
|
|
1143
|
+
* Either.let("sum", ({ x, y }) => x + y)
|
|
1144
|
+
* )
|
|
1145
|
+
* assert.deepStrictEqual(result, Either.right({ x: 2, y: 3, sum: 5 }))
|
|
1146
|
+
*
|
|
1147
|
+
* @category do notation
|
|
1148
|
+
* @since 2.0.0
|
|
1149
|
+
*/
|
|
614
1150
|
<N extends string, A extends object, B, L2>(name: Exclude<N, keyof A>, f: (a: A) => Either<B, L2>): <L1>(self: Either<A, L1>) => Either<{
|
|
615
1151
|
[K in N | keyof A]: K extends keyof A ? A[K] : B;
|
|
616
1152
|
}, L1 | L2>;
|
|
1153
|
+
/**
|
|
1154
|
+
* The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
|
|
1155
|
+
*
|
|
1156
|
+
* Here's how the do simulation works:
|
|
1157
|
+
*
|
|
1158
|
+
* 1. Start the do simulation using the `Do` value
|
|
1159
|
+
* 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Either` values
|
|
1160
|
+
* 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
|
|
1161
|
+
* 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
|
|
1162
|
+
*
|
|
1163
|
+
* @see {@link Do}
|
|
1164
|
+
* @see {@link bindTo}
|
|
1165
|
+
* @see {@link let_ let}
|
|
1166
|
+
*
|
|
1167
|
+
* @example
|
|
1168
|
+
* import { Either, pipe } from "effect"
|
|
1169
|
+
*
|
|
1170
|
+
* const result = pipe(
|
|
1171
|
+
* Either.Do,
|
|
1172
|
+
* Either.bind("x", () => Either.right(2)),
|
|
1173
|
+
* Either.bind("y", () => Either.right(3)),
|
|
1174
|
+
* Either.let("sum", ({ x, y }) => x + y)
|
|
1175
|
+
* )
|
|
1176
|
+
* assert.deepStrictEqual(result, Either.right({ x: 2, y: 3, sum: 5 }))
|
|
1177
|
+
*
|
|
1178
|
+
* @category do notation
|
|
1179
|
+
* @since 2.0.0
|
|
1180
|
+
*/
|
|
617
1181
|
<A extends object, L1, N extends string, B, L2>(self: Either<A, L1>, name: Exclude<N, keyof A>, f: (a: A) => Either<B, L2>): Either<{
|
|
618
1182
|
[K in N | keyof A]: K extends keyof A ? A[K] : B;
|
|
619
1183
|
}, L1 | L2>;
|
|
@@ -647,9 +1211,65 @@ export declare const bind: {
|
|
|
647
1211
|
* @since 2.0.0
|
|
648
1212
|
*/
|
|
649
1213
|
export declare const bindTo: {
|
|
1214
|
+
/**
|
|
1215
|
+
* The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
|
|
1216
|
+
*
|
|
1217
|
+
* Here's how the do simulation works:
|
|
1218
|
+
*
|
|
1219
|
+
* 1. Start the do simulation using the `Do` value
|
|
1220
|
+
* 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Either` values
|
|
1221
|
+
* 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
|
|
1222
|
+
* 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
|
|
1223
|
+
*
|
|
1224
|
+
* @see {@link Do}
|
|
1225
|
+
* @see {@link bind}
|
|
1226
|
+
* @see {@link let_ let}
|
|
1227
|
+
*
|
|
1228
|
+
* @example
|
|
1229
|
+
* import { Either, pipe } from "effect"
|
|
1230
|
+
*
|
|
1231
|
+
* const result = pipe(
|
|
1232
|
+
* Either.Do,
|
|
1233
|
+
* Either.bind("x", () => Either.right(2)),
|
|
1234
|
+
* Either.bind("y", () => Either.right(3)),
|
|
1235
|
+
* Either.let("sum", ({ x, y }) => x + y)
|
|
1236
|
+
* )
|
|
1237
|
+
* assert.deepStrictEqual(result, Either.right({ x: 2, y: 3, sum: 5 }))
|
|
1238
|
+
*
|
|
1239
|
+
* @category do notation
|
|
1240
|
+
* @since 2.0.0
|
|
1241
|
+
*/
|
|
650
1242
|
<N extends string>(name: N): <R, L>(self: Either<R, L>) => Either<{
|
|
651
1243
|
[K in N]: R;
|
|
652
1244
|
}, L>;
|
|
1245
|
+
/**
|
|
1246
|
+
* The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
|
|
1247
|
+
*
|
|
1248
|
+
* Here's how the do simulation works:
|
|
1249
|
+
*
|
|
1250
|
+
* 1. Start the do simulation using the `Do` value
|
|
1251
|
+
* 2. Within the do simulation scope, you can use the `bind` function to define variables and bind them to `Either` values
|
|
1252
|
+
* 3. You can accumulate multiple `bind` statements to define multiple variables within the scope
|
|
1253
|
+
* 4. Inside the do simulation scope, you can also use the `let` function to define variables and bind them to simple values
|
|
1254
|
+
*
|
|
1255
|
+
* @see {@link Do}
|
|
1256
|
+
* @see {@link bind}
|
|
1257
|
+
* @see {@link let_ let}
|
|
1258
|
+
*
|
|
1259
|
+
* @example
|
|
1260
|
+
* import { Either, pipe } from "effect"
|
|
1261
|
+
*
|
|
1262
|
+
* const result = pipe(
|
|
1263
|
+
* Either.Do,
|
|
1264
|
+
* Either.bind("x", () => Either.right(2)),
|
|
1265
|
+
* Either.bind("y", () => Either.right(3)),
|
|
1266
|
+
* Either.let("sum", ({ x, y }) => x + y)
|
|
1267
|
+
* )
|
|
1268
|
+
* assert.deepStrictEqual(result, Either.right({ x: 2, y: 3, sum: 5 }))
|
|
1269
|
+
*
|
|
1270
|
+
* @category do notation
|
|
1271
|
+
* @since 2.0.0
|
|
1272
|
+
*/
|
|
653
1273
|
<R, L, N extends string>(self: Either<R, L>, name: N): Either<{
|
|
654
1274
|
[K in N]: R;
|
|
655
1275
|
}, L>;
|