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/src/Micro.ts
CHANGED
|
@@ -13,7 +13,7 @@ import { constTrue, constVoid, dual, identity, type LazyArg } from "./Function.j
|
|
|
13
13
|
import { globalValue } from "./GlobalValue.js"
|
|
14
14
|
import type { TypeLambda } from "./HKT.js"
|
|
15
15
|
import type { Inspectable } from "./Inspectable.js"
|
|
16
|
-
import { NodeInspectSymbol, toStringUnknown } from "./Inspectable.js"
|
|
16
|
+
import { DenoInspectSymbol, NodeInspectSymbol, toStringUnknown } from "./Inspectable.js"
|
|
17
17
|
import * as doNotation from "./internal/doNotation.js"
|
|
18
18
|
import { StructuralPrototype } from "./internal/effectable.js"
|
|
19
19
|
import { SingleShotGen } from "./internal/singleShotGen.js"
|
|
@@ -323,6 +323,9 @@ abstract class MicroCauseImpl<Tag extends string, E> extends globalThis.Error im
|
|
|
323
323
|
toString() {
|
|
324
324
|
return this.stack
|
|
325
325
|
}
|
|
326
|
+
[DenoInspectSymbol]() {
|
|
327
|
+
return this.stack
|
|
328
|
+
}
|
|
326
329
|
[NodeInspectSymbol]() {
|
|
327
330
|
return this.stack
|
|
328
331
|
}
|
|
@@ -403,7 +406,17 @@ export const causeSquash = <E>(self: MicroCause<E>): unknown =>
|
|
|
403
406
|
* @category MicroCause
|
|
404
407
|
*/
|
|
405
408
|
export const causeWithTrace: {
|
|
409
|
+
/**
|
|
410
|
+
* @since 3.4.6
|
|
411
|
+
* @experimental
|
|
412
|
+
* @category MicroCause
|
|
413
|
+
*/
|
|
406
414
|
(trace: string): <E>(self: MicroCause<E>) => MicroCause<E>
|
|
415
|
+
/**
|
|
416
|
+
* @since 3.4.6
|
|
417
|
+
* @experimental
|
|
418
|
+
* @category MicroCause
|
|
419
|
+
*/
|
|
407
420
|
<E>(self: MicroCause<E>, trace: string): MicroCause<E>
|
|
408
421
|
} = dual(2, <E>(self: MicroCause<E>, trace: string): MicroCause<E> => {
|
|
409
422
|
const traces = [...self.traces, trace]
|
|
@@ -606,7 +619,17 @@ export const envUnsafeMakeEmpty = (): Env<never> => {
|
|
|
606
619
|
* @category environment
|
|
607
620
|
*/
|
|
608
621
|
export const envGet: {
|
|
622
|
+
/**
|
|
623
|
+
* @since 3.4.0
|
|
624
|
+
* @experimental
|
|
625
|
+
* @category environment
|
|
626
|
+
*/
|
|
609
627
|
<A>(ref: EnvRef<A>): <R>(self: Env<R>) => A
|
|
628
|
+
/**
|
|
629
|
+
* @since 3.4.0
|
|
630
|
+
* @experimental
|
|
631
|
+
* @category environment
|
|
632
|
+
*/
|
|
610
633
|
<A, R>(self: Env<R>, ref: EnvRef<A>): A
|
|
611
634
|
} = dual(2, <R, A>(self: Env<R>, ref: EnvRef<A>): A => ref.key in self.refs ? (self.refs[ref.key] as A) : ref.initial)
|
|
612
635
|
|
|
@@ -616,7 +639,17 @@ export const envGet: {
|
|
|
616
639
|
* @category environment
|
|
617
640
|
*/
|
|
618
641
|
export const envSet: {
|
|
642
|
+
/**
|
|
643
|
+
* @since 3.4.0
|
|
644
|
+
* @experimental
|
|
645
|
+
* @category environment
|
|
646
|
+
*/
|
|
619
647
|
<A>(ref: EnvRef<A>, value: A): <R>(self: Env<R>) => Env<R>
|
|
648
|
+
/**
|
|
649
|
+
* @since 3.4.0
|
|
650
|
+
* @experimental
|
|
651
|
+
* @category environment
|
|
652
|
+
*/
|
|
620
653
|
<A, R>(self: Env<R>, ref: EnvRef<A>, value: A): Env<R>
|
|
621
654
|
} = dual(3, <R, A>(self: Env<R>, ref: EnvRef<A>, value: A): Env<R> => {
|
|
622
655
|
const refs = Object.assign(Object.create(null), self.refs)
|
|
@@ -630,7 +663,17 @@ export const envSet: {
|
|
|
630
663
|
* @category environment
|
|
631
664
|
*/
|
|
632
665
|
export const envMutate: {
|
|
666
|
+
/**
|
|
667
|
+
* @since 3.4.0
|
|
668
|
+
* @experimental
|
|
669
|
+
* @category environment
|
|
670
|
+
*/
|
|
633
671
|
(f: (map: Record<string, unknown>) => void): <R>(self: Env<R>) => Env<R>
|
|
672
|
+
/**
|
|
673
|
+
* @since 3.4.0
|
|
674
|
+
* @experimental
|
|
675
|
+
* @category environment
|
|
676
|
+
*/
|
|
634
677
|
<R>(self: Env<R>, f: (map: Record<string, unknown>) => void): Env<R>
|
|
635
678
|
} = dual(
|
|
636
679
|
2,
|
|
@@ -684,7 +727,21 @@ export const getEnvRef = <A>(envRef: EnvRef<A>): Micro<A> =>
|
|
|
684
727
|
* @category environment
|
|
685
728
|
*/
|
|
686
729
|
export const locally: {
|
|
730
|
+
/**
|
|
731
|
+
* Set the value of the given `EnvRef` for the duration of the effect.
|
|
732
|
+
*
|
|
733
|
+
* @since 3.4.0
|
|
734
|
+
* @experimental
|
|
735
|
+
* @category environment
|
|
736
|
+
*/
|
|
687
737
|
<A>(fiberRef: EnvRef<A>, value: A): <XA, E, R>(self: Micro<XA, E, R>) => Micro<XA, E, R>
|
|
738
|
+
/**
|
|
739
|
+
* Set the value of the given `EnvRef` for the duration of the effect.
|
|
740
|
+
*
|
|
741
|
+
* @since 3.4.0
|
|
742
|
+
* @experimental
|
|
743
|
+
* @category environment
|
|
744
|
+
*/
|
|
688
745
|
<XA, E, R, A>(self: Micro<XA, E, R>, fiberRef: EnvRef<A>, value: A): Micro<XA, E, R>
|
|
689
746
|
} = dual(
|
|
690
747
|
3,
|
|
@@ -709,7 +766,21 @@ export const context = <R>(): Micro<Context.Context<R>> => getEnvRef(currentCont
|
|
|
709
766
|
* @category environment
|
|
710
767
|
*/
|
|
711
768
|
export const provideContext: {
|
|
769
|
+
/**
|
|
770
|
+
* Merge the given `Context` with the current context.
|
|
771
|
+
*
|
|
772
|
+
* @since 3.4.0
|
|
773
|
+
* @experimental
|
|
774
|
+
* @category environment
|
|
775
|
+
*/
|
|
712
776
|
<XR>(context: Context.Context<XR>): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E, Exclude<R, XR>>
|
|
777
|
+
/**
|
|
778
|
+
* Merge the given `Context` with the current context.
|
|
779
|
+
*
|
|
780
|
+
* @since 3.4.0
|
|
781
|
+
* @experimental
|
|
782
|
+
* @category environment
|
|
783
|
+
*/
|
|
713
784
|
<A, E, R, XR>(self: Micro<A, E, R>, context: Context.Context<XR>): Micro<A, E, Exclude<R, XR>>
|
|
714
785
|
} = dual(
|
|
715
786
|
2,
|
|
@@ -729,7 +800,21 @@ export const provideContext: {
|
|
|
729
800
|
* @category environment
|
|
730
801
|
*/
|
|
731
802
|
export const provideService: {
|
|
803
|
+
/**
|
|
804
|
+
* Add the provided service to the current context.
|
|
805
|
+
*
|
|
806
|
+
* @since 3.4.0
|
|
807
|
+
* @experimental
|
|
808
|
+
* @category environment
|
|
809
|
+
*/
|
|
732
810
|
<I, S>(tag: Context.Tag<I, S>, service: S): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E, Exclude<R, I>>
|
|
811
|
+
/**
|
|
812
|
+
* Add the provided service to the current context.
|
|
813
|
+
*
|
|
814
|
+
* @since 3.4.0
|
|
815
|
+
* @experimental
|
|
816
|
+
* @category environment
|
|
817
|
+
*/
|
|
733
818
|
<A, E, R, I, S>(self: Micro<A, E, R>, tag: Context.Tag<I, S>, service: S): Micro<A, E, Exclude<R, I>>
|
|
734
819
|
} = dual(
|
|
735
820
|
3,
|
|
@@ -750,10 +835,26 @@ export const provideService: {
|
|
|
750
835
|
* @category environment
|
|
751
836
|
*/
|
|
752
837
|
export const provideServiceEffect: {
|
|
838
|
+
/**
|
|
839
|
+
* Create a service using the provided `Micro` effect, and add it to the
|
|
840
|
+
* current context.
|
|
841
|
+
*
|
|
842
|
+
* @since 3.4.6
|
|
843
|
+
* @experimental
|
|
844
|
+
* @category environment
|
|
845
|
+
*/
|
|
753
846
|
<I, S, E2, R2>(
|
|
754
847
|
tag: Context.Tag<I, S>,
|
|
755
848
|
acquire: Micro<S, E2, R2>
|
|
756
849
|
): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E | E2, Exclude<R, I> | R2>
|
|
850
|
+
/**
|
|
851
|
+
* Create a service using the provided `Micro` effect, and add it to the
|
|
852
|
+
* current context.
|
|
853
|
+
*
|
|
854
|
+
* @since 3.4.6
|
|
855
|
+
* @experimental
|
|
856
|
+
* @category environment
|
|
857
|
+
*/
|
|
757
858
|
<A, E, R, I, S, E2, R2>(
|
|
758
859
|
self: Micro<A, E, R>,
|
|
759
860
|
tag: Context.Tag<I, S>,
|
|
@@ -995,7 +1096,39 @@ export const currentScheduler: EnvRef<MicroScheduler> = envRefMake(
|
|
|
995
1096
|
* )
|
|
996
1097
|
*/
|
|
997
1098
|
export const withConcurrency: {
|
|
1099
|
+
/**
|
|
1100
|
+
* If you have a `Micro` that uses `concurrency: "inherit"`, you can use this
|
|
1101
|
+
* api to control the concurrency of that `Micro` when it is run.
|
|
1102
|
+
*
|
|
1103
|
+
* @since 3.4.0
|
|
1104
|
+
* @experimental
|
|
1105
|
+
* @category environment refs
|
|
1106
|
+
* @example
|
|
1107
|
+
* import * as Micro from "effect/Micro"
|
|
1108
|
+
*
|
|
1109
|
+
* Micro.forEach([1, 2, 3], (n) => Micro.succeed(n), {
|
|
1110
|
+
* concurrency: "inherit"
|
|
1111
|
+
* }).pipe(
|
|
1112
|
+
* Micro.withConcurrency(2) // use a concurrency of 2
|
|
1113
|
+
* )
|
|
1114
|
+
*/
|
|
998
1115
|
(concurrency: "unbounded" | number): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E, R>
|
|
1116
|
+
/**
|
|
1117
|
+
* If you have a `Micro` that uses `concurrency: "inherit"`, you can use this
|
|
1118
|
+
* api to control the concurrency of that `Micro` when it is run.
|
|
1119
|
+
*
|
|
1120
|
+
* @since 3.4.0
|
|
1121
|
+
* @experimental
|
|
1122
|
+
* @category environment refs
|
|
1123
|
+
* @example
|
|
1124
|
+
* import * as Micro from "effect/Micro"
|
|
1125
|
+
*
|
|
1126
|
+
* Micro.forEach([1, 2, 3], (n) => Micro.succeed(n), {
|
|
1127
|
+
* concurrency: "inherit"
|
|
1128
|
+
* }).pipe(
|
|
1129
|
+
* Micro.withConcurrency(2) // use a concurrency of 2
|
|
1130
|
+
* )
|
|
1131
|
+
*/
|
|
999
1132
|
<A, E, R>(self: Micro<A, E, R>, concurrency: "unbounded" | number): Micro<A, E, R>
|
|
1000
1133
|
} = dual(
|
|
1001
1134
|
2,
|
|
@@ -1482,7 +1615,23 @@ export const flatten = <A, E, R, E2, R2>(self: Micro<Micro<A, E, R>, E2, R2>): M
|
|
|
1482
1615
|
* @category mapping & sequencing
|
|
1483
1616
|
*/
|
|
1484
1617
|
export const map: {
|
|
1618
|
+
/**
|
|
1619
|
+
* Transforms the success value of the `Micro` effect with the specified
|
|
1620
|
+
* function.
|
|
1621
|
+
*
|
|
1622
|
+
* @since 3.4.0
|
|
1623
|
+
* @experimental
|
|
1624
|
+
* @category mapping & sequencing
|
|
1625
|
+
*/
|
|
1485
1626
|
<A, B>(f: (a: A) => B): <E, R>(self: Micro<A, E, R>) => Micro<B, E, R>
|
|
1627
|
+
/**
|
|
1628
|
+
* Transforms the success value of the `Micro` effect with the specified
|
|
1629
|
+
* function.
|
|
1630
|
+
*
|
|
1631
|
+
* @since 3.4.0
|
|
1632
|
+
* @experimental
|
|
1633
|
+
* @category mapping & sequencing
|
|
1634
|
+
*/
|
|
1486
1635
|
<A, E, R, B>(self: Micro<A, E, R>, f: (a: A) => B): Micro<B, E, R>
|
|
1487
1636
|
} = dual(2, <A, E, R, B>(self: Micro<A, E, R>, f: (a: A) => B): Micro<B, E, R> =>
|
|
1488
1637
|
make(function(env, onExit) {
|
|
@@ -1500,7 +1649,23 @@ export const map: {
|
|
|
1500
1649
|
* @category mapping & sequencing
|
|
1501
1650
|
*/
|
|
1502
1651
|
export const as: {
|
|
1652
|
+
/**
|
|
1653
|
+
* Create a `Micro` effect that will replace the success value of the given
|
|
1654
|
+
* effect.
|
|
1655
|
+
*
|
|
1656
|
+
* @since 3.4.0
|
|
1657
|
+
* @experimental
|
|
1658
|
+
* @category mapping & sequencing
|
|
1659
|
+
*/
|
|
1503
1660
|
<A, B>(value: B): <E, R>(self: Micro<A, E, R>) => Micro<B, E, R>
|
|
1661
|
+
/**
|
|
1662
|
+
* Create a `Micro` effect that will replace the success value of the given
|
|
1663
|
+
* effect.
|
|
1664
|
+
*
|
|
1665
|
+
* @since 3.4.0
|
|
1666
|
+
* @experimental
|
|
1667
|
+
* @category mapping & sequencing
|
|
1668
|
+
*/
|
|
1504
1669
|
<A, E, R, B>(self: Micro<A, E, R>, value: B): Micro<B, E, R>
|
|
1505
1670
|
} = dual(2, <A, E, R, B>(self: Micro<A, E, R>, value: B): Micro<B, E, R> => map(self, (_) => value))
|
|
1506
1671
|
|
|
@@ -1522,7 +1687,23 @@ export const asSome = <A, E, R>(self: Micro<A, E, R>): Micro<Option.Option<A>, E
|
|
|
1522
1687
|
* @category mapping & sequencing
|
|
1523
1688
|
*/
|
|
1524
1689
|
export const flatMap: {
|
|
1690
|
+
/**
|
|
1691
|
+
* Map the success value of this `Micro` effect to another `Micro` effect, then
|
|
1692
|
+
* flatten the result.
|
|
1693
|
+
*
|
|
1694
|
+
* @since 3.4.0
|
|
1695
|
+
* @experimental
|
|
1696
|
+
* @category mapping & sequencing
|
|
1697
|
+
*/
|
|
1525
1698
|
<A, B, E2, R2>(f: (a: A) => Micro<B, E2, R2>): <E, R>(self: Micro<A, E, R>) => Micro<B, E | E2, R | R2>
|
|
1699
|
+
/**
|
|
1700
|
+
* Map the success value of this `Micro` effect to another `Micro` effect, then
|
|
1701
|
+
* flatten the result.
|
|
1702
|
+
*
|
|
1703
|
+
* @since 3.4.0
|
|
1704
|
+
* @experimental
|
|
1705
|
+
* @category mapping & sequencing
|
|
1706
|
+
*/
|
|
1526
1707
|
<A, E, R, B, E2, R2>(self: Micro<A, E, R>, f: (a: A) => Micro<B, E2, R2>): Micro<B, E | E2, R | R2>
|
|
1527
1708
|
} = dual(
|
|
1528
1709
|
2,
|
|
@@ -1562,23 +1743,63 @@ export const flip = <A, E, R>(self: Micro<A, E, R>): Micro<E, A, R> =>
|
|
|
1562
1743
|
* @category mapping & sequencing
|
|
1563
1744
|
*/
|
|
1564
1745
|
export const andThen: {
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1746
|
+
/**
|
|
1747
|
+
* A more flexible version of `flatMap`, that combines `map` and `flatMap` into
|
|
1748
|
+
* a single api.
|
|
1749
|
+
*
|
|
1750
|
+
* It also allows you to pass in a `Micro` effect directly, which will be
|
|
1751
|
+
* executed after the current effect.
|
|
1752
|
+
*
|
|
1753
|
+
* @since 3.4.0
|
|
1754
|
+
* @experimental
|
|
1755
|
+
* @category mapping & sequencing
|
|
1756
|
+
*/
|
|
1757
|
+
<A, X>(f: (a: A) => X): <E, R>(
|
|
1568
1758
|
self: Micro<A, E, R>
|
|
1569
1759
|
) => [X] extends [Micro<infer A1, infer E1, infer R1>] ? Micro<A1, E | E1, R | R1>
|
|
1570
1760
|
: Micro<X, E, R>
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1761
|
+
/**
|
|
1762
|
+
* A more flexible version of `flatMap`, that combines `map` and `flatMap` into
|
|
1763
|
+
* a single api.
|
|
1764
|
+
*
|
|
1765
|
+
* It also allows you to pass in a `Micro` effect directly, which will be
|
|
1766
|
+
* executed after the current effect.
|
|
1767
|
+
*
|
|
1768
|
+
* @since 3.4.0
|
|
1769
|
+
* @experimental
|
|
1770
|
+
* @category mapping & sequencing
|
|
1771
|
+
*/
|
|
1772
|
+
<X>(f: NotFunction<X>): <A, E, R>(
|
|
1574
1773
|
self: Micro<A, E, R>
|
|
1575
1774
|
) => [X] extends [Micro<infer A1, infer E1, infer R1>] ? Micro<A1, E | E1, R | R1>
|
|
1576
1775
|
: Micro<X, E, R>
|
|
1776
|
+
/**
|
|
1777
|
+
* A more flexible version of `flatMap`, that combines `map` and `flatMap` into
|
|
1778
|
+
* a single api.
|
|
1779
|
+
*
|
|
1780
|
+
* It also allows you to pass in a `Micro` effect directly, which will be
|
|
1781
|
+
* executed after the current effect.
|
|
1782
|
+
*
|
|
1783
|
+
* @since 3.4.0
|
|
1784
|
+
* @experimental
|
|
1785
|
+
* @category mapping & sequencing
|
|
1786
|
+
*/
|
|
1577
1787
|
<A, E, R, X>(
|
|
1578
1788
|
self: Micro<A, E, R>,
|
|
1579
1789
|
f: (a: A) => X
|
|
1580
1790
|
): [X] extends [Micro<infer A1, infer E1, infer R1>] ? Micro<A1, E | E1, R | R1>
|
|
1581
1791
|
: Micro<X, E, R>
|
|
1792
|
+
/**
|
|
1793
|
+
* A more flexible version of `flatMap`, that combines `map` and `flatMap` into
|
|
1794
|
+
* a single api.
|
|
1795
|
+
*
|
|
1796
|
+
* It also allows you to pass in a `Micro` effect directly, which will be
|
|
1797
|
+
* executed after the current effect.
|
|
1798
|
+
*
|
|
1799
|
+
* @since 3.4.0
|
|
1800
|
+
* @experimental
|
|
1801
|
+
* @category mapping & sequencing
|
|
1802
|
+
*/
|
|
1582
1803
|
<A, E, R, X>(
|
|
1583
1804
|
self: Micro<A, E, R>,
|
|
1584
1805
|
f: NotFunction<X>
|
|
@@ -1614,23 +1835,55 @@ export const andThen: {
|
|
|
1614
1835
|
* @category mapping & sequencing
|
|
1615
1836
|
*/
|
|
1616
1837
|
export const tap: {
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1838
|
+
/**
|
|
1839
|
+
* Execute a side effect from the success value of the `Micro` effect.
|
|
1840
|
+
*
|
|
1841
|
+
* It is similar to the `andThen` api, but the success value is ignored.
|
|
1842
|
+
*
|
|
1843
|
+
* @since 3.4.0
|
|
1844
|
+
* @experimental
|
|
1845
|
+
* @category mapping & sequencing
|
|
1846
|
+
*/
|
|
1847
|
+
<A, X>(f: (a: NoInfer<A>) => X): <E, R>(
|
|
1620
1848
|
self: Micro<A, E, R>
|
|
1621
1849
|
) => [X] extends [Micro<infer _A1, infer E1, infer R1>] ? Micro<A, E | E1, R | R1>
|
|
1622
1850
|
: Micro<A, E, R>
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1851
|
+
/**
|
|
1852
|
+
* Execute a side effect from the success value of the `Micro` effect.
|
|
1853
|
+
*
|
|
1854
|
+
* It is similar to the `andThen` api, but the success value is ignored.
|
|
1855
|
+
*
|
|
1856
|
+
* @since 3.4.0
|
|
1857
|
+
* @experimental
|
|
1858
|
+
* @category mapping & sequencing
|
|
1859
|
+
*/
|
|
1860
|
+
<X>(f: NotFunction<X>): <A, E, R>(
|
|
1626
1861
|
self: Micro<A, E, R>
|
|
1627
1862
|
) => [X] extends [Micro<infer _A1, infer E1, infer R1>] ? Micro<A, E | E1, R | R1>
|
|
1628
1863
|
: Micro<A, E, R>
|
|
1864
|
+
/**
|
|
1865
|
+
* Execute a side effect from the success value of the `Micro` effect.
|
|
1866
|
+
*
|
|
1867
|
+
* It is similar to the `andThen` api, but the success value is ignored.
|
|
1868
|
+
*
|
|
1869
|
+
* @since 3.4.0
|
|
1870
|
+
* @experimental
|
|
1871
|
+
* @category mapping & sequencing
|
|
1872
|
+
*/
|
|
1629
1873
|
<A, E, R, X>(
|
|
1630
1874
|
self: Micro<A, E, R>,
|
|
1631
1875
|
f: (a: NoInfer<A>) => X
|
|
1632
1876
|
): [X] extends [Micro<infer _A1, infer E1, infer R1>] ? Micro<A, E | E1, R | R1>
|
|
1633
1877
|
: Micro<A, E, R>
|
|
1878
|
+
/**
|
|
1879
|
+
* Execute a side effect from the success value of the `Micro` effect.
|
|
1880
|
+
*
|
|
1881
|
+
* It is similar to the `andThen` api, but the success value is ignored.
|
|
1882
|
+
*
|
|
1883
|
+
* @since 3.4.0
|
|
1884
|
+
* @experimental
|
|
1885
|
+
* @category mapping & sequencing
|
|
1886
|
+
*/
|
|
1634
1887
|
<A, E, R, X>(
|
|
1635
1888
|
self: Micro<A, E, R>,
|
|
1636
1889
|
f: NotFunction<X>
|
|
@@ -1797,7 +2050,23 @@ export const raceAllFirst = <Eff extends Micro<any, any, any>>(
|
|
|
1797
2050
|
* @category sequencing
|
|
1798
2051
|
*/
|
|
1799
2052
|
export const race: {
|
|
2053
|
+
/**
|
|
2054
|
+
* Returns an effect that races two effects, yielding the value of the first
|
|
2055
|
+
* effect to succeed. Losers of the race will be interrupted immediately
|
|
2056
|
+
*
|
|
2057
|
+
* @since 3.4.0
|
|
2058
|
+
* @experimental
|
|
2059
|
+
* @category sequencing
|
|
2060
|
+
*/
|
|
1800
2061
|
<A2, E2, R2>(that: Micro<A2, E2, R2>): <A, E, R>(self: Micro<A, E, R>) => Micro<A | A2, E | E2, R | R2>
|
|
2062
|
+
/**
|
|
2063
|
+
* Returns an effect that races two effects, yielding the value of the first
|
|
2064
|
+
* effect to succeed. Losers of the race will be interrupted immediately
|
|
2065
|
+
*
|
|
2066
|
+
* @since 3.4.0
|
|
2067
|
+
* @experimental
|
|
2068
|
+
* @category sequencing
|
|
2069
|
+
*/
|
|
1801
2070
|
<A, E, R, A2, E2, R2>(self: Micro<A, E, R>, that: Micro<A2, E2, R2>): Micro<A | A2, E | E2, R | R2>
|
|
1802
2071
|
} = dual(
|
|
1803
2072
|
2,
|
|
@@ -1814,7 +2083,23 @@ export const race: {
|
|
|
1814
2083
|
* @category sequencing
|
|
1815
2084
|
*/
|
|
1816
2085
|
export const raceFirst: {
|
|
2086
|
+
/**
|
|
2087
|
+
* Returns an effect that races two effects, yielding the value of the first
|
|
2088
|
+
* effect to succeed *or* fail. Losers of the race will be interrupted immediately
|
|
2089
|
+
*
|
|
2090
|
+
* @since 3.4.0
|
|
2091
|
+
* @experimental
|
|
2092
|
+
* @category sequencing
|
|
2093
|
+
*/
|
|
1817
2094
|
<A2, E2, R2>(that: Micro<A2, E2, R2>): <A, E, R>(self: Micro<A, E, R>) => Micro<A | A2, E | E2, R | R2>
|
|
2095
|
+
/**
|
|
2096
|
+
* Returns an effect that races two effects, yielding the value of the first
|
|
2097
|
+
* effect to succeed *or* fail. Losers of the race will be interrupted immediately
|
|
2098
|
+
*
|
|
2099
|
+
* @since 3.4.0
|
|
2100
|
+
* @experimental
|
|
2101
|
+
* @category sequencing
|
|
2102
|
+
*/
|
|
1818
2103
|
<A, E, R, A2, E2, R2>(self: Micro<A, E, R>, that: Micro<A2, E2, R2>): Micro<A | A2, E | E2, R | R2>
|
|
1819
2104
|
} = dual(
|
|
1820
2105
|
2,
|
|
@@ -1835,12 +2120,36 @@ export const raceFirst: {
|
|
|
1835
2120
|
* @category zipping
|
|
1836
2121
|
*/
|
|
1837
2122
|
export const zip: {
|
|
2123
|
+
// ----------------------------------------------------------------------------
|
|
2124
|
+
// zipping
|
|
2125
|
+
// ----------------------------------------------------------------------------
|
|
2126
|
+
|
|
2127
|
+
/**
|
|
2128
|
+
* Combine two `Micro` effects into a single effect that produces a tuple of
|
|
2129
|
+
* their results.
|
|
2130
|
+
*
|
|
2131
|
+
* @since 3.4.0
|
|
2132
|
+
* @experimental
|
|
2133
|
+
* @category zipping
|
|
2134
|
+
*/
|
|
1838
2135
|
<A2, E2, R2>(
|
|
1839
2136
|
that: Micro<A2, E2, R2>,
|
|
1840
2137
|
options?:
|
|
1841
2138
|
| { readonly concurrent?: boolean | undefined }
|
|
1842
2139
|
| undefined
|
|
1843
2140
|
): <A, E, R>(self: Micro<A, E, R>) => Micro<[A, A2], E2 | E, R2 | R>
|
|
2141
|
+
// ----------------------------------------------------------------------------
|
|
2142
|
+
// zipping
|
|
2143
|
+
// ----------------------------------------------------------------------------
|
|
2144
|
+
|
|
2145
|
+
/**
|
|
2146
|
+
* Combine two `Micro` effects into a single effect that produces a tuple of
|
|
2147
|
+
* their results.
|
|
2148
|
+
*
|
|
2149
|
+
* @since 3.4.0
|
|
2150
|
+
* @experimental
|
|
2151
|
+
* @category zipping
|
|
2152
|
+
*/
|
|
1844
2153
|
<A, E, R, A2, E2, R2>(
|
|
1845
2154
|
self: Micro<A, E, R>,
|
|
1846
2155
|
that: Micro<A2, E2, R2>,
|
|
@@ -1862,11 +2171,29 @@ export const zip: {
|
|
|
1862
2171
|
* @category zipping
|
|
1863
2172
|
*/
|
|
1864
2173
|
export const zipWith: {
|
|
2174
|
+
/**
|
|
2175
|
+
* The `Micro.zipWith` function combines two `Micro` effects and allows you to
|
|
2176
|
+
* apply a function to the results of the combined effects, transforming them
|
|
2177
|
+
* into a single value.
|
|
2178
|
+
*
|
|
2179
|
+
* @since 3.4.3
|
|
2180
|
+
* @experimental
|
|
2181
|
+
* @category zipping
|
|
2182
|
+
*/
|
|
1865
2183
|
<A2, E2, R2, A, B>(
|
|
1866
2184
|
that: Micro<A2, E2, R2>,
|
|
1867
2185
|
f: (a: A, b: A2) => B,
|
|
1868
2186
|
options?: { readonly concurrent?: boolean | undefined }
|
|
1869
2187
|
): <E, R>(self: Micro<A, E, R>) => Micro<B, E2 | E, R2 | R>
|
|
2188
|
+
/**
|
|
2189
|
+
* The `Micro.zipWith` function combines two `Micro` effects and allows you to
|
|
2190
|
+
* apply a function to the results of the combined effects, transforming them
|
|
2191
|
+
* into a single value.
|
|
2192
|
+
*
|
|
2193
|
+
* @since 3.4.3
|
|
2194
|
+
* @experimental
|
|
2195
|
+
* @category zipping
|
|
2196
|
+
*/
|
|
1870
2197
|
<A, E, R, A2, E2, R2, B>(
|
|
1871
2198
|
self: Micro<A, E, R>,
|
|
1872
2199
|
that: Micro<A2, E2, R2>,
|
|
@@ -1902,19 +2229,79 @@ export const zipWith: {
|
|
|
1902
2229
|
* @category filtering & conditionals
|
|
1903
2230
|
*/
|
|
1904
2231
|
export const filterOrFailCause: {
|
|
2232
|
+
// ----------------------------------------------------------------------------
|
|
2233
|
+
// filtering & conditionals
|
|
2234
|
+
// ----------------------------------------------------------------------------
|
|
2235
|
+
|
|
2236
|
+
/**
|
|
2237
|
+
* Filter the specified effect with the provided function, failing with specified
|
|
2238
|
+
* `MicroCause` if the predicate fails.
|
|
2239
|
+
*
|
|
2240
|
+
* In addition to the filtering capabilities discussed earlier, you have the option to further
|
|
2241
|
+
* refine and narrow down the type of the success channel by providing a
|
|
2242
|
+
*
|
|
2243
|
+
* @since 3.4.0
|
|
2244
|
+
* @experimental
|
|
2245
|
+
* @category filtering & conditionals
|
|
2246
|
+
*/
|
|
1905
2247
|
<A, B extends A, E2>(
|
|
1906
2248
|
refinement: Refinement<A, B>,
|
|
1907
2249
|
orFailWith: (a: NoInfer<A>) => MicroCause<E2>
|
|
1908
2250
|
): <E, R>(self: Micro<A, E, R>) => Micro<B, E2 | E, R>
|
|
2251
|
+
// ----------------------------------------------------------------------------
|
|
2252
|
+
// filtering & conditionals
|
|
2253
|
+
// ----------------------------------------------------------------------------
|
|
2254
|
+
|
|
2255
|
+
/**
|
|
2256
|
+
* Filter the specified effect with the provided function, failing with specified
|
|
2257
|
+
* `MicroCause` if the predicate fails.
|
|
2258
|
+
*
|
|
2259
|
+
* In addition to the filtering capabilities discussed earlier, you have the option to further
|
|
2260
|
+
* refine and narrow down the type of the success channel by providing a
|
|
2261
|
+
*
|
|
2262
|
+
* @since 3.4.0
|
|
2263
|
+
* @experimental
|
|
2264
|
+
* @category filtering & conditionals
|
|
2265
|
+
*/
|
|
1909
2266
|
<A, E2>(
|
|
1910
2267
|
predicate: Predicate<NoInfer<A>>,
|
|
1911
2268
|
orFailWith: (a: NoInfer<A>) => MicroCause<E2>
|
|
1912
2269
|
): <E, R>(self: Micro<A, E, R>) => Micro<A, E2 | E, R>
|
|
2270
|
+
// ----------------------------------------------------------------------------
|
|
2271
|
+
// filtering & conditionals
|
|
2272
|
+
// ----------------------------------------------------------------------------
|
|
2273
|
+
|
|
2274
|
+
/**
|
|
2275
|
+
* Filter the specified effect with the provided function, failing with specified
|
|
2276
|
+
* `MicroCause` if the predicate fails.
|
|
2277
|
+
*
|
|
2278
|
+
* In addition to the filtering capabilities discussed earlier, you have the option to further
|
|
2279
|
+
* refine and narrow down the type of the success channel by providing a
|
|
2280
|
+
*
|
|
2281
|
+
* @since 3.4.0
|
|
2282
|
+
* @experimental
|
|
2283
|
+
* @category filtering & conditionals
|
|
2284
|
+
*/
|
|
1913
2285
|
<A, E, R, B extends A, E2>(
|
|
1914
2286
|
self: Micro<A, E, R>,
|
|
1915
2287
|
refinement: Refinement<A, B>,
|
|
1916
2288
|
orFailWith: (a: A) => MicroCause<E2>
|
|
1917
2289
|
): Micro<B, E | E2, R>
|
|
2290
|
+
// ----------------------------------------------------------------------------
|
|
2291
|
+
// filtering & conditionals
|
|
2292
|
+
// ----------------------------------------------------------------------------
|
|
2293
|
+
|
|
2294
|
+
/**
|
|
2295
|
+
* Filter the specified effect with the provided function, failing with specified
|
|
2296
|
+
* `MicroCause` if the predicate fails.
|
|
2297
|
+
*
|
|
2298
|
+
* In addition to the filtering capabilities discussed earlier, you have the option to further
|
|
2299
|
+
* refine and narrow down the type of the success channel by providing a
|
|
2300
|
+
*
|
|
2301
|
+
* @since 3.4.0
|
|
2302
|
+
* @experimental
|
|
2303
|
+
* @category filtering & conditionals
|
|
2304
|
+
*/
|
|
1918
2305
|
<A, E, R, E2>(
|
|
1919
2306
|
self: Micro<A, E, R>,
|
|
1920
2307
|
predicate: Predicate<A>,
|
|
@@ -1938,19 +2325,63 @@ export const filterOrFailCause: {
|
|
|
1938
2325
|
* @category filtering & conditionals
|
|
1939
2326
|
*/
|
|
1940
2327
|
export const filterOrFail: {
|
|
2328
|
+
/**
|
|
2329
|
+
* Filter the specified effect with the provided function, failing with specified
|
|
2330
|
+
* error if the predicate fails.
|
|
2331
|
+
*
|
|
2332
|
+
* In addition to the filtering capabilities discussed earlier, you have the option to further
|
|
2333
|
+
* refine and narrow down the type of the success channel by providing a
|
|
2334
|
+
*
|
|
2335
|
+
* @since 3.4.0
|
|
2336
|
+
* @experimental
|
|
2337
|
+
* @category filtering & conditionals
|
|
2338
|
+
*/
|
|
1941
2339
|
<A, B extends A, E2>(
|
|
1942
2340
|
refinement: Refinement<A, B>,
|
|
1943
2341
|
orFailWith: (a: NoInfer<A>) => E2
|
|
1944
2342
|
): <E, R>(self: Micro<A, E, R>) => Micro<B, E2 | E, R>
|
|
2343
|
+
/**
|
|
2344
|
+
* Filter the specified effect with the provided function, failing with specified
|
|
2345
|
+
* error if the predicate fails.
|
|
2346
|
+
*
|
|
2347
|
+
* In addition to the filtering capabilities discussed earlier, you have the option to further
|
|
2348
|
+
* refine and narrow down the type of the success channel by providing a
|
|
2349
|
+
*
|
|
2350
|
+
* @since 3.4.0
|
|
2351
|
+
* @experimental
|
|
2352
|
+
* @category filtering & conditionals
|
|
2353
|
+
*/
|
|
1945
2354
|
<A, E2>(
|
|
1946
2355
|
predicate: Predicate<NoInfer<A>>,
|
|
1947
2356
|
orFailWith: (a: NoInfer<A>) => E2
|
|
1948
2357
|
): <E, R>(self: Micro<A, E, R>) => Micro<A, E2 | E, R>
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
2358
|
+
/**
|
|
2359
|
+
* Filter the specified effect with the provided function, failing with specified
|
|
2360
|
+
* error if the predicate fails.
|
|
2361
|
+
*
|
|
2362
|
+
* In addition to the filtering capabilities discussed earlier, you have the option to further
|
|
2363
|
+
* refine and narrow down the type of the success channel by providing a
|
|
2364
|
+
*
|
|
2365
|
+
* @since 3.4.0
|
|
2366
|
+
* @experimental
|
|
2367
|
+
* @category filtering & conditionals
|
|
2368
|
+
*/
|
|
2369
|
+
<A, E, R, B extends A, E2>(
|
|
2370
|
+
self: Micro<A, E, R>,
|
|
2371
|
+
refinement: Refinement<A, B>,
|
|
2372
|
+
orFailWith: (a: A) => E2
|
|
1953
2373
|
): Micro<B, E | E2, R>
|
|
2374
|
+
/**
|
|
2375
|
+
* Filter the specified effect with the provided function, failing with specified
|
|
2376
|
+
* error if the predicate fails.
|
|
2377
|
+
*
|
|
2378
|
+
* In addition to the filtering capabilities discussed earlier, you have the option to further
|
|
2379
|
+
* refine and narrow down the type of the success channel by providing a
|
|
2380
|
+
*
|
|
2381
|
+
* @since 3.4.0
|
|
2382
|
+
* @experimental
|
|
2383
|
+
* @category filtering & conditionals
|
|
2384
|
+
*/
|
|
1954
2385
|
<A, E, R, E2>(self: Micro<A, E, R>, predicate: Predicate<A>, orFailWith: (a: A) => E2): Micro<A, E | E2, R>
|
|
1955
2386
|
} = dual((args) => isMicro(args[0]), <A, E, R, B extends A, E2>(
|
|
1956
2387
|
self: Micro<A, E, R>,
|
|
@@ -1966,9 +2397,23 @@ export const filterOrFail: {
|
|
|
1966
2397
|
* @category filtering & conditionals
|
|
1967
2398
|
*/
|
|
1968
2399
|
export const when: {
|
|
2400
|
+
/**
|
|
2401
|
+
* The moral equivalent of `if (p) exp`.
|
|
2402
|
+
*
|
|
2403
|
+
* @since 3.4.0
|
|
2404
|
+
* @experimental
|
|
2405
|
+
* @category filtering & conditionals
|
|
2406
|
+
*/
|
|
1969
2407
|
<E2 = never, R2 = never>(
|
|
1970
2408
|
condition: LazyArg<boolean> | Micro<boolean, E2, R2>
|
|
1971
2409
|
): <A, E, R>(self: Micro<A, E, R>) => Micro<Option.Option<A>, E | E2, R | R2>
|
|
2410
|
+
/**
|
|
2411
|
+
* The moral equivalent of `if (p) exp`.
|
|
2412
|
+
*
|
|
2413
|
+
* @since 3.4.0
|
|
2414
|
+
* @experimental
|
|
2415
|
+
* @category filtering & conditionals
|
|
2416
|
+
*/
|
|
1972
2417
|
<A, E, R, E2 = never, R2 = never>(
|
|
1973
2418
|
self: Micro<A, E, R>,
|
|
1974
2419
|
condition: LazyArg<boolean> | Micro<boolean, E2, R2>
|
|
@@ -1997,16 +2442,49 @@ export const when: {
|
|
|
1997
2442
|
* @category repetition
|
|
1998
2443
|
*/
|
|
1999
2444
|
export const repeatExit: {
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2445
|
+
// ----------------------------------------------------------------------------
|
|
2446
|
+
// repetition
|
|
2447
|
+
// ----------------------------------------------------------------------------
|
|
2448
|
+
|
|
2449
|
+
/**
|
|
2450
|
+
* Repeat the given `Micro` using the provided options.
|
|
2451
|
+
*
|
|
2452
|
+
* The `while` predicate will be checked after each iteration, and can use the
|
|
2453
|
+
* fall `MicroExit` of the effect to determine if the repetition should continue.
|
|
2454
|
+
*
|
|
2455
|
+
* @since 3.4.6
|
|
2456
|
+
* @experimental
|
|
2457
|
+
* @category repetition
|
|
2458
|
+
*/
|
|
2459
|
+
<A, E>(
|
|
2460
|
+
options: {
|
|
2461
|
+
while: Predicate<MicroExit<A, E>>
|
|
2462
|
+
times?: number | undefined
|
|
2463
|
+
schedule?: MicroSchedule | undefined
|
|
2464
|
+
}
|
|
2465
|
+
): <R>(self: Micro<A, E, R>) => Micro<A, E, R>
|
|
2466
|
+
// ----------------------------------------------------------------------------
|
|
2467
|
+
// repetition
|
|
2468
|
+
// ----------------------------------------------------------------------------
|
|
2469
|
+
|
|
2470
|
+
/**
|
|
2471
|
+
* Repeat the given `Micro` using the provided options.
|
|
2472
|
+
*
|
|
2473
|
+
* The `while` predicate will be checked after each iteration, and can use the
|
|
2474
|
+
* fall `MicroExit` of the effect to determine if the repetition should continue.
|
|
2475
|
+
*
|
|
2476
|
+
* @since 3.4.6
|
|
2477
|
+
* @experimental
|
|
2478
|
+
* @category repetition
|
|
2479
|
+
*/
|
|
2480
|
+
<A, E, R>(
|
|
2481
|
+
self: Micro<A, E, R>,
|
|
2482
|
+
options: {
|
|
2483
|
+
while: Predicate<MicroExit<A, E>>
|
|
2484
|
+
times?: number | undefined
|
|
2485
|
+
schedule?: MicroSchedule | undefined
|
|
2486
|
+
}
|
|
2487
|
+
): Micro<A, E, R>
|
|
2010
2488
|
} = dual(2, <A, E, R>(self: Micro<A, E, R>, options: {
|
|
2011
2489
|
while: Predicate<MicroExit<A, E>>
|
|
2012
2490
|
times?: number | undefined
|
|
@@ -2049,6 +2527,14 @@ export const repeatExit: {
|
|
|
2049
2527
|
* @category repetition
|
|
2050
2528
|
*/
|
|
2051
2529
|
export const repeat: {
|
|
2530
|
+
/**
|
|
2531
|
+
* Repeat the given `Micro` effect using the provided options. Only successful
|
|
2532
|
+
* results will be repeated.
|
|
2533
|
+
*
|
|
2534
|
+
* @since 3.4.0
|
|
2535
|
+
* @experimental
|
|
2536
|
+
* @category repetition
|
|
2537
|
+
*/
|
|
2052
2538
|
<A, E>(
|
|
2053
2539
|
options?: {
|
|
2054
2540
|
while?: Predicate<A> | undefined
|
|
@@ -2056,6 +2542,14 @@ export const repeat: {
|
|
|
2056
2542
|
schedule?: MicroSchedule | undefined
|
|
2057
2543
|
} | undefined
|
|
2058
2544
|
): <R>(self: Micro<A, E, R>) => Micro<A, E, R>
|
|
2545
|
+
/**
|
|
2546
|
+
* Repeat the given `Micro` effect using the provided options. Only successful
|
|
2547
|
+
* results will be repeated.
|
|
2548
|
+
*
|
|
2549
|
+
* @since 3.4.0
|
|
2550
|
+
* @experimental
|
|
2551
|
+
* @category repetition
|
|
2552
|
+
*/
|
|
2059
2553
|
<A, E, R>(
|
|
2060
2554
|
self: Micro<A, E, R>,
|
|
2061
2555
|
options?: {
|
|
@@ -2142,7 +2636,23 @@ export const scheduleExponential = (baseMillis: number, factor = 2): MicroSchedu
|
|
|
2142
2636
|
* @category scheduling
|
|
2143
2637
|
*/
|
|
2144
2638
|
export const scheduleAddDelay: {
|
|
2639
|
+
/**
|
|
2640
|
+
* Returns a new `MicroSchedule` with an added calculated delay to each delay
|
|
2641
|
+
* returned by this schedule.
|
|
2642
|
+
*
|
|
2643
|
+
* @since 3.4.6
|
|
2644
|
+
* @experimental
|
|
2645
|
+
* @category scheduling
|
|
2646
|
+
*/
|
|
2145
2647
|
(f: () => number): (self: MicroSchedule) => MicroSchedule
|
|
2648
|
+
/**
|
|
2649
|
+
* Returns a new `MicroSchedule` with an added calculated delay to each delay
|
|
2650
|
+
* returned by this schedule.
|
|
2651
|
+
*
|
|
2652
|
+
* @since 3.4.6
|
|
2653
|
+
* @experimental
|
|
2654
|
+
* @category scheduling
|
|
2655
|
+
*/
|
|
2146
2656
|
(self: MicroSchedule, f: () => number): MicroSchedule
|
|
2147
2657
|
} = dual(
|
|
2148
2658
|
2,
|
|
@@ -2159,7 +2669,23 @@ export const scheduleAddDelay: {
|
|
|
2159
2669
|
* @category scheduling
|
|
2160
2670
|
*/
|
|
2161
2671
|
export const scheduleWithMaxDelay: {
|
|
2672
|
+
/**
|
|
2673
|
+
* Transform a `MicroSchedule` to one that will have a delay that will never exceed
|
|
2674
|
+
* the specified maximum.
|
|
2675
|
+
*
|
|
2676
|
+
* @since 3.4.6
|
|
2677
|
+
* @experimental
|
|
2678
|
+
* @category scheduling
|
|
2679
|
+
*/
|
|
2162
2680
|
(max: number): (self: MicroSchedule) => MicroSchedule
|
|
2681
|
+
/**
|
|
2682
|
+
* Transform a `MicroSchedule` to one that will have a delay that will never exceed
|
|
2683
|
+
* the specified maximum.
|
|
2684
|
+
*
|
|
2685
|
+
* @since 3.4.6
|
|
2686
|
+
* @experimental
|
|
2687
|
+
* @category scheduling
|
|
2688
|
+
*/
|
|
2163
2689
|
(self: MicroSchedule, max: number): MicroSchedule
|
|
2164
2690
|
} = dual(
|
|
2165
2691
|
2,
|
|
@@ -2176,7 +2702,23 @@ export const scheduleWithMaxDelay: {
|
|
|
2176
2702
|
* @category scheduling
|
|
2177
2703
|
*/
|
|
2178
2704
|
export const scheduleWithMaxElapsed: {
|
|
2705
|
+
/**
|
|
2706
|
+
* Transform a `MicroSchedule` to one that will stop repeating after the specified
|
|
2707
|
+
* amount of time.
|
|
2708
|
+
*
|
|
2709
|
+
* @since 3.4.6
|
|
2710
|
+
* @experimental
|
|
2711
|
+
* @category scheduling
|
|
2712
|
+
*/
|
|
2179
2713
|
(max: number): (self: MicroSchedule) => MicroSchedule
|
|
2714
|
+
/**
|
|
2715
|
+
* Transform a `MicroSchedule` to one that will stop repeating after the specified
|
|
2716
|
+
* amount of time.
|
|
2717
|
+
*
|
|
2718
|
+
* @since 3.4.6
|
|
2719
|
+
* @experimental
|
|
2720
|
+
* @category scheduling
|
|
2721
|
+
*/
|
|
2180
2722
|
(self: MicroSchedule, max: number): MicroSchedule
|
|
2181
2723
|
} = dual(
|
|
2182
2724
|
2,
|
|
@@ -2193,7 +2735,23 @@ export const scheduleWithMaxElapsed: {
|
|
|
2193
2735
|
* @category scheduling
|
|
2194
2736
|
*/
|
|
2195
2737
|
export const scheduleUnion: {
|
|
2738
|
+
/**
|
|
2739
|
+
* Combines two `MicroSchedule`s, by recurring if either schedule wants to
|
|
2740
|
+
* recur, using the minimum of the two durations between recurrences.
|
|
2741
|
+
*
|
|
2742
|
+
* @since 3.4.6
|
|
2743
|
+
* @experimental
|
|
2744
|
+
* @category scheduling
|
|
2745
|
+
*/
|
|
2196
2746
|
(that: MicroSchedule): (self: MicroSchedule) => MicroSchedule
|
|
2747
|
+
/**
|
|
2748
|
+
* Combines two `MicroSchedule`s, by recurring if either schedule wants to
|
|
2749
|
+
* recur, using the minimum of the two durations between recurrences.
|
|
2750
|
+
*
|
|
2751
|
+
* @since 3.4.6
|
|
2752
|
+
* @experimental
|
|
2753
|
+
* @category scheduling
|
|
2754
|
+
*/
|
|
2197
2755
|
(self: MicroSchedule, that: MicroSchedule): MicroSchedule
|
|
2198
2756
|
} = dual(
|
|
2199
2757
|
2,
|
|
@@ -2210,7 +2768,23 @@ export const scheduleUnion: {
|
|
|
2210
2768
|
* @category scheduling
|
|
2211
2769
|
*/
|
|
2212
2770
|
export const scheduleIntersect: {
|
|
2771
|
+
/**
|
|
2772
|
+
* Combines two `MicroSchedule`s, by recurring only if both schedules want to
|
|
2773
|
+
* recur, using the maximum of the two durations between recurrences.
|
|
2774
|
+
*
|
|
2775
|
+
* @since 3.4.6
|
|
2776
|
+
* @experimental
|
|
2777
|
+
* @category scheduling
|
|
2778
|
+
*/
|
|
2213
2779
|
(that: MicroSchedule): (self: MicroSchedule) => MicroSchedule
|
|
2780
|
+
/**
|
|
2781
|
+
* Combines two `MicroSchedule`s, by recurring only if both schedules want to
|
|
2782
|
+
* recur, using the maximum of the two durations between recurrences.
|
|
2783
|
+
*
|
|
2784
|
+
* @since 3.4.6
|
|
2785
|
+
* @experimental
|
|
2786
|
+
* @category scheduling
|
|
2787
|
+
*/
|
|
2214
2788
|
(self: MicroSchedule, that: MicroSchedule): MicroSchedule
|
|
2215
2789
|
} = dual(
|
|
2216
2790
|
2,
|
|
@@ -2231,9 +2805,33 @@ export const scheduleIntersect: {
|
|
|
2231
2805
|
* @category error handling
|
|
2232
2806
|
*/
|
|
2233
2807
|
export const catchAllCause: {
|
|
2808
|
+
// ----------------------------------------------------------------------------
|
|
2809
|
+
// error handling
|
|
2810
|
+
// ----------------------------------------------------------------------------
|
|
2811
|
+
|
|
2812
|
+
/**
|
|
2813
|
+
* Catch the full `MicroCause` object of the given `Micro` effect, allowing you to
|
|
2814
|
+
* recover from any kind of cause.
|
|
2815
|
+
*
|
|
2816
|
+
* @since 3.4.6
|
|
2817
|
+
* @experimental
|
|
2818
|
+
* @category error handling
|
|
2819
|
+
*/
|
|
2234
2820
|
<E, B, E2, R2>(
|
|
2235
2821
|
f: (cause: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>
|
|
2236
2822
|
): <A, R>(self: Micro<A, E, R>) => Micro<A | B, E2, R | R2>
|
|
2823
|
+
// ----------------------------------------------------------------------------
|
|
2824
|
+
// error handling
|
|
2825
|
+
// ----------------------------------------------------------------------------
|
|
2826
|
+
|
|
2827
|
+
/**
|
|
2828
|
+
* Catch the full `MicroCause` object of the given `Micro` effect, allowing you to
|
|
2829
|
+
* recover from any kind of cause.
|
|
2830
|
+
*
|
|
2831
|
+
* @since 3.4.6
|
|
2832
|
+
* @experimental
|
|
2833
|
+
* @category error handling
|
|
2834
|
+
*/
|
|
2237
2835
|
<A, E, R, B, E2, R2>(
|
|
2238
2836
|
self: Micro<A, E, R>,
|
|
2239
2837
|
f: (cause: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>
|
|
@@ -2255,19 +2853,51 @@ export const catchAllCause: {
|
|
|
2255
2853
|
* @category error handling
|
|
2256
2854
|
*/
|
|
2257
2855
|
export const catchCauseIf: {
|
|
2856
|
+
/**
|
|
2857
|
+
* Selectively catch a `MicroCause` object of the given `Micro` effect,
|
|
2858
|
+
* using the provided predicate to determine if the failure should be caught.
|
|
2859
|
+
*
|
|
2860
|
+
* @since 3.4.6
|
|
2861
|
+
* @experimental
|
|
2862
|
+
* @category error handling
|
|
2863
|
+
*/
|
|
2258
2864
|
<E, B, E2, R2, EB extends MicroCause<E>>(
|
|
2259
2865
|
refinement: Refinement<MicroCause<E>, EB>,
|
|
2260
2866
|
f: (cause: EB) => Micro<B, E2, R2>
|
|
2261
2867
|
): <A, R>(self: Micro<A, E, R>) => Micro<A | B, Exclude<E, MicroCause.Error<EB>> | E2, R | R2>
|
|
2868
|
+
/**
|
|
2869
|
+
* Selectively catch a `MicroCause` object of the given `Micro` effect,
|
|
2870
|
+
* using the provided predicate to determine if the failure should be caught.
|
|
2871
|
+
*
|
|
2872
|
+
* @since 3.4.6
|
|
2873
|
+
* @experimental
|
|
2874
|
+
* @category error handling
|
|
2875
|
+
*/
|
|
2262
2876
|
<E, B, E2, R2>(
|
|
2263
2877
|
predicate: Predicate<MicroCause<NoInfer<E>>>,
|
|
2264
2878
|
f: (cause: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>
|
|
2265
2879
|
): <A, R>(self: Micro<A, E, R>) => Micro<A | B, E | E2, R | R2>
|
|
2880
|
+
/**
|
|
2881
|
+
* Selectively catch a `MicroCause` object of the given `Micro` effect,
|
|
2882
|
+
* using the provided predicate to determine if the failure should be caught.
|
|
2883
|
+
*
|
|
2884
|
+
* @since 3.4.6
|
|
2885
|
+
* @experimental
|
|
2886
|
+
* @category error handling
|
|
2887
|
+
*/
|
|
2266
2888
|
<A, E, R, B, E2, R2, EB extends MicroCause<E>>(
|
|
2267
2889
|
self: Micro<A, E, R>,
|
|
2268
2890
|
refinement: Refinement<MicroCause<E>, EB>,
|
|
2269
2891
|
f: (cause: EB) => Micro<B, E2, R2>
|
|
2270
2892
|
): Micro<A | B, Exclude<E, MicroCause.Error<EB>> | E2, R | R2>
|
|
2893
|
+
/**
|
|
2894
|
+
* Selectively catch a `MicroCause` object of the given `Micro` effect,
|
|
2895
|
+
* using the provided predicate to determine if the failure should be caught.
|
|
2896
|
+
*
|
|
2897
|
+
* @since 3.4.6
|
|
2898
|
+
* @experimental
|
|
2899
|
+
* @category error handling
|
|
2900
|
+
*/
|
|
2271
2901
|
<A, E, R, B, E2, R2>(
|
|
2272
2902
|
self: Micro<A, E, R>,
|
|
2273
2903
|
predicate: Predicate<MicroCause<NoInfer<E>>>,
|
|
@@ -2298,9 +2928,25 @@ export const catchCauseIf: {
|
|
|
2298
2928
|
* @category error handling
|
|
2299
2929
|
*/
|
|
2300
2930
|
export const catchAll: {
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2931
|
+
/**
|
|
2932
|
+
* Catch the error of the given `Micro` effect, allowing you to recover from it.
|
|
2933
|
+
*
|
|
2934
|
+
* It only catches expected (`MicroCause.Fail`) errors.
|
|
2935
|
+
*
|
|
2936
|
+
* @since 3.4.6
|
|
2937
|
+
* @experimental
|
|
2938
|
+
* @category error handling
|
|
2939
|
+
*/
|
|
2940
|
+
<E, B, E2, R2>(f: (e: NoInfer<E>) => Micro<B, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A | B, E2, R | R2>
|
|
2941
|
+
/**
|
|
2942
|
+
* Catch the error of the given `Micro` effect, allowing you to recover from it.
|
|
2943
|
+
*
|
|
2944
|
+
* It only catches expected (`MicroCause.Fail`) errors.
|
|
2945
|
+
*
|
|
2946
|
+
* @since 3.4.6
|
|
2947
|
+
* @experimental
|
|
2948
|
+
* @category error handling
|
|
2949
|
+
*/
|
|
2304
2950
|
<A, E, R, B, E2, R2>(self: Micro<A, E, R>, f: (e: NoInfer<E>) => Micro<B, E2, R2>): Micro<A | B, E2, R | R2>
|
|
2305
2951
|
} = dual(
|
|
2306
2952
|
2,
|
|
@@ -2318,9 +2964,21 @@ export const catchAll: {
|
|
|
2318
2964
|
* @category error handling
|
|
2319
2965
|
*/
|
|
2320
2966
|
export const catchAllDefect: {
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2967
|
+
/**
|
|
2968
|
+
* Catch any unexpected errors of the given `Micro` effect, allowing you to recover from them.
|
|
2969
|
+
*
|
|
2970
|
+
* @since 3.4.6
|
|
2971
|
+
* @experimental
|
|
2972
|
+
* @category error handling
|
|
2973
|
+
*/
|
|
2974
|
+
<E, B, E2, R2>(f: (defect: unknown) => Micro<B, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A | B, E | E2, R | R2>
|
|
2975
|
+
/**
|
|
2976
|
+
* Catch any unexpected errors of the given `Micro` effect, allowing you to recover from them.
|
|
2977
|
+
*
|
|
2978
|
+
* @since 3.4.6
|
|
2979
|
+
* @experimental
|
|
2980
|
+
* @category error handling
|
|
2981
|
+
*/
|
|
2324
2982
|
<A, E, R, B, E2, R2>(self: Micro<A, E, R>, f: (defect: unknown) => Micro<B, E2, R2>): Micro<A | B, E | E2, R | R2>
|
|
2325
2983
|
} = dual(
|
|
2326
2984
|
2,
|
|
@@ -2336,9 +2994,23 @@ export const catchAllDefect: {
|
|
|
2336
2994
|
* @category error handling
|
|
2337
2995
|
*/
|
|
2338
2996
|
export const tapErrorCause: {
|
|
2997
|
+
/**
|
|
2998
|
+
* Perform a side effect using the full `MicroCause` object of the given `Micro`.
|
|
2999
|
+
*
|
|
3000
|
+
* @since 3.4.6
|
|
3001
|
+
* @experimental
|
|
3002
|
+
* @category error handling
|
|
3003
|
+
*/
|
|
2339
3004
|
<E, B, E2, R2>(
|
|
2340
3005
|
f: (cause: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>
|
|
2341
3006
|
): <A, R>(self: Micro<A, E, R>) => Micro<A, E | E2, R | R2>
|
|
3007
|
+
/**
|
|
3008
|
+
* Perform a side effect using the full `MicroCause` object of the given `Micro`.
|
|
3009
|
+
*
|
|
3010
|
+
* @since 3.4.6
|
|
3011
|
+
* @experimental
|
|
3012
|
+
* @category error handling
|
|
3013
|
+
*/
|
|
2342
3014
|
<A, E, R, B, E2, R2>(
|
|
2343
3015
|
self: Micro<A, E, R>,
|
|
2344
3016
|
f: (cause: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>
|
|
@@ -2360,19 +3032,51 @@ export const tapErrorCause: {
|
|
|
2360
3032
|
* @category error handling
|
|
2361
3033
|
*/
|
|
2362
3034
|
export const tapErrorCauseIf: {
|
|
3035
|
+
/**
|
|
3036
|
+
* Perform a side effect using if a `MicroCause` object matches the specified
|
|
3037
|
+
* predicate.
|
|
3038
|
+
*
|
|
3039
|
+
* @since 3.4.0
|
|
3040
|
+
* @experimental
|
|
3041
|
+
* @category error handling
|
|
3042
|
+
*/
|
|
2363
3043
|
<E, B, E2, R2, EB extends MicroCause<E>>(
|
|
2364
3044
|
refinement: Refinement<MicroCause<E>, EB>,
|
|
2365
3045
|
f: (a: EB) => Micro<B, E2, R2>
|
|
2366
3046
|
): <A, R>(self: Micro<A, E, R>) => Micro<A, E | E2, R | R2>
|
|
3047
|
+
/**
|
|
3048
|
+
* Perform a side effect using if a `MicroCause` object matches the specified
|
|
3049
|
+
* predicate.
|
|
3050
|
+
*
|
|
3051
|
+
* @since 3.4.0
|
|
3052
|
+
* @experimental
|
|
3053
|
+
* @category error handling
|
|
3054
|
+
*/
|
|
2367
3055
|
<E, B, E2, R2>(
|
|
2368
3056
|
predicate: (cause: NoInfer<MicroCause<E>>) => boolean,
|
|
2369
3057
|
f: (a: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>
|
|
2370
3058
|
): <A, R>(self: Micro<A, E, R>) => Micro<A, E | E2, R | R2>
|
|
3059
|
+
/**
|
|
3060
|
+
* Perform a side effect using if a `MicroCause` object matches the specified
|
|
3061
|
+
* predicate.
|
|
3062
|
+
*
|
|
3063
|
+
* @since 3.4.0
|
|
3064
|
+
* @experimental
|
|
3065
|
+
* @category error handling
|
|
3066
|
+
*/
|
|
2371
3067
|
<A, E, R, B, E2, R2, EB extends MicroCause<E>>(
|
|
2372
3068
|
self: Micro<A, E, R>,
|
|
2373
3069
|
refinement: Refinement<MicroCause<E>, EB>,
|
|
2374
3070
|
f: (a: EB) => Micro<B, E2, R2>
|
|
2375
3071
|
): Micro<A, E | E2, R | R2>
|
|
3072
|
+
/**
|
|
3073
|
+
* Perform a side effect using if a `MicroCause` object matches the specified
|
|
3074
|
+
* predicate.
|
|
3075
|
+
*
|
|
3076
|
+
* @since 3.4.0
|
|
3077
|
+
* @experimental
|
|
3078
|
+
* @category error handling
|
|
3079
|
+
*/
|
|
2376
3080
|
<A, E, R, B, E2, R2>(
|
|
2377
3081
|
self: Micro<A, E, R>,
|
|
2378
3082
|
predicate: (cause: NoInfer<MicroCause<E>>) => boolean,
|
|
@@ -2395,9 +3099,21 @@ export const tapErrorCauseIf: {
|
|
|
2395
3099
|
* @category error handling
|
|
2396
3100
|
*/
|
|
2397
3101
|
export const tapError: {
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
3102
|
+
/**
|
|
3103
|
+
* Perform a side effect from expected errors of the given `Micro`.
|
|
3104
|
+
*
|
|
3105
|
+
* @since 3.4.6
|
|
3106
|
+
* @experimental
|
|
3107
|
+
* @category error handling
|
|
3108
|
+
*/
|
|
3109
|
+
<E, B, E2, R2>(f: (e: NoInfer<E>) => Micro<B, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A, E | E2, R | R2>
|
|
3110
|
+
/**
|
|
3111
|
+
* Perform a side effect from expected errors of the given `Micro`.
|
|
3112
|
+
*
|
|
3113
|
+
* @since 3.4.6
|
|
3114
|
+
* @experimental
|
|
3115
|
+
* @category error handling
|
|
3116
|
+
*/
|
|
2401
3117
|
<A, E, R, B, E2, R2>(self: Micro<A, E, R>, f: (e: NoInfer<E>) => Micro<B, E2, R2>): Micro<A, E | E2, R | R2>
|
|
2402
3118
|
} = dual(
|
|
2403
3119
|
2,
|
|
@@ -2413,9 +3129,21 @@ export const tapError: {
|
|
|
2413
3129
|
* @category error handling
|
|
2414
3130
|
*/
|
|
2415
3131
|
export const tapDefect: {
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
3132
|
+
/**
|
|
3133
|
+
* Perform a side effect from unexpected errors of the given `Micro`.
|
|
3134
|
+
*
|
|
3135
|
+
* @since 3.4.6
|
|
3136
|
+
* @experimental
|
|
3137
|
+
* @category error handling
|
|
3138
|
+
*/
|
|
3139
|
+
<E, B, E2, R2>(f: (defect: unknown) => Micro<B, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A, E | E2, R | R2>
|
|
3140
|
+
/**
|
|
3141
|
+
* Perform a side effect from unexpected errors of the given `Micro`.
|
|
3142
|
+
*
|
|
3143
|
+
* @since 3.4.6
|
|
3144
|
+
* @experimental
|
|
3145
|
+
* @category error handling
|
|
3146
|
+
*/
|
|
2419
3147
|
<A, E, R, B, E2, R2>(self: Micro<A, E, R>, f: (defect: unknown) => Micro<B, E2, R2>): Micro<A, E | E2, R | R2>
|
|
2420
3148
|
} = dual(
|
|
2421
3149
|
2,
|
|
@@ -2431,19 +3159,47 @@ export const tapDefect: {
|
|
|
2431
3159
|
* @category error handling
|
|
2432
3160
|
*/
|
|
2433
3161
|
export const catchIf: {
|
|
3162
|
+
/**
|
|
3163
|
+
* Catch any expected errors that match the specified predicate.
|
|
3164
|
+
*
|
|
3165
|
+
* @since 3.4.0
|
|
3166
|
+
* @experimental
|
|
3167
|
+
* @category error handling
|
|
3168
|
+
*/
|
|
2434
3169
|
<E, EB extends E, A2, E2, R2>(
|
|
2435
3170
|
refinement: Refinement<NoInfer<E>, EB>,
|
|
2436
3171
|
f: (e: EB) => Micro<A2, E2, R2>
|
|
2437
3172
|
): <A, R>(self: Micro<A, E, R>) => Micro<A2 | A, E2 | Exclude<E, EB>, R2 | R>
|
|
3173
|
+
/**
|
|
3174
|
+
* Catch any expected errors that match the specified predicate.
|
|
3175
|
+
*
|
|
3176
|
+
* @since 3.4.0
|
|
3177
|
+
* @experimental
|
|
3178
|
+
* @category error handling
|
|
3179
|
+
*/
|
|
2438
3180
|
<E, A2, E2, R2>(
|
|
2439
3181
|
predicate: Predicate<NoInfer<E>>,
|
|
2440
3182
|
f: (e: NoInfer<E>) => Micro<A2, E2, R2>
|
|
2441
3183
|
): <A, R>(self: Micro<A, E, R>) => Micro<A2 | A, E | E2, R2 | R>
|
|
3184
|
+
/**
|
|
3185
|
+
* Catch any expected errors that match the specified predicate.
|
|
3186
|
+
*
|
|
3187
|
+
* @since 3.4.0
|
|
3188
|
+
* @experimental
|
|
3189
|
+
* @category error handling
|
|
3190
|
+
*/
|
|
2442
3191
|
<A, E, R, EB extends E, A2, E2, R2>(
|
|
2443
3192
|
self: Micro<A, E, R>,
|
|
2444
3193
|
refinement: Refinement<E, EB>,
|
|
2445
3194
|
f: (e: EB) => Micro<A2, E2, R2>
|
|
2446
3195
|
): Micro<A | A2, E2 | Exclude<E, EB>, R | R2>
|
|
3196
|
+
/**
|
|
3197
|
+
* Catch any expected errors that match the specified predicate.
|
|
3198
|
+
*
|
|
3199
|
+
* @since 3.4.0
|
|
3200
|
+
* @experimental
|
|
3201
|
+
* @category error handling
|
|
3202
|
+
*/
|
|
2447
3203
|
<A, E, R, A2, E2, R2>(
|
|
2448
3204
|
self: Micro<A, E, R>,
|
|
2449
3205
|
predicate: Predicate<E>,
|
|
@@ -2471,10 +3227,24 @@ export const catchIf: {
|
|
|
2471
3227
|
* @category error handling
|
|
2472
3228
|
*/
|
|
2473
3229
|
export const catchTag: {
|
|
3230
|
+
/**
|
|
3231
|
+
* Recovers from the specified tagged error.
|
|
3232
|
+
*
|
|
3233
|
+
* @since 3.4.0
|
|
3234
|
+
* @experimental
|
|
3235
|
+
* @category error handling
|
|
3236
|
+
*/
|
|
2474
3237
|
<K extends E extends { _tag: string } ? E["_tag"] : never, E, A1, E1, R1>(
|
|
2475
3238
|
k: K,
|
|
2476
3239
|
f: (e: Extract<E, { _tag: K }>) => Micro<A1, E1, R1>
|
|
2477
3240
|
): <A, R>(self: Micro<A, E, R>) => Micro<A1 | A, E1 | Exclude<E, { _tag: K }>, R1 | R>
|
|
3241
|
+
/**
|
|
3242
|
+
* Recovers from the specified tagged error.
|
|
3243
|
+
*
|
|
3244
|
+
* @since 3.4.0
|
|
3245
|
+
* @experimental
|
|
3246
|
+
* @category error handling
|
|
3247
|
+
*/
|
|
2478
3248
|
<A, E, R, K extends E extends { _tag: string } ? E["_tag"] : never, R1, E1, A1>(
|
|
2479
3249
|
self: Micro<A, E, R>,
|
|
2480
3250
|
k: K,
|
|
@@ -2495,7 +3265,21 @@ export const catchTag: {
|
|
|
2495
3265
|
* @category error handling
|
|
2496
3266
|
*/
|
|
2497
3267
|
export const mapErrorCause: {
|
|
3268
|
+
/**
|
|
3269
|
+
* Transform the full `MicroCause` object of the given `Micro` effect.
|
|
3270
|
+
*
|
|
3271
|
+
* @since 3.4.6
|
|
3272
|
+
* @experimental
|
|
3273
|
+
* @category error handling
|
|
3274
|
+
*/
|
|
2498
3275
|
<E, E2>(f: (e: MicroCause<E>) => MicroCause<E2>): <A, R>(self: Micro<A, E, R>) => Micro<A, E2, R>
|
|
3276
|
+
/**
|
|
3277
|
+
* Transform the full `MicroCause` object of the given `Micro` effect.
|
|
3278
|
+
*
|
|
3279
|
+
* @since 3.4.6
|
|
3280
|
+
* @experimental
|
|
3281
|
+
* @category error handling
|
|
3282
|
+
*/
|
|
2499
3283
|
<A, E, R, E2>(self: Micro<A, E, R>, f: (e: MicroCause<E>) => MicroCause<E2>): Micro<A, E2, R>
|
|
2500
3284
|
} = dual(
|
|
2501
3285
|
2,
|
|
@@ -2511,7 +3295,21 @@ export const mapErrorCause: {
|
|
|
2511
3295
|
* @category error handling
|
|
2512
3296
|
*/
|
|
2513
3297
|
export const mapError: {
|
|
3298
|
+
/**
|
|
3299
|
+
* Transform any expected errors of the given `Micro` effect.
|
|
3300
|
+
*
|
|
3301
|
+
* @since 3.4.0
|
|
3302
|
+
* @experimental
|
|
3303
|
+
* @category error handling
|
|
3304
|
+
*/
|
|
2514
3305
|
<E, E2>(f: (e: E) => E2): <A, R>(self: Micro<A, E, R>) => Micro<A, E2, R>
|
|
3306
|
+
/**
|
|
3307
|
+
* Transform any expected errors of the given `Micro` effect.
|
|
3308
|
+
*
|
|
3309
|
+
* @since 3.4.0
|
|
3310
|
+
* @experimental
|
|
3311
|
+
* @category error handling
|
|
3312
|
+
*/
|
|
2515
3313
|
<A, E, R, E2>(self: Micro<A, E, R>, f: (e: E) => E2): Micro<A, E2, R>
|
|
2516
3314
|
} = dual(
|
|
2517
3315
|
2,
|
|
@@ -2536,7 +3334,21 @@ export const orDie = <A, E, R>(self: Micro<A, E, R>): Micro<A, never, R> => catc
|
|
|
2536
3334
|
* @category error handling
|
|
2537
3335
|
*/
|
|
2538
3336
|
export const orElseSucceed: {
|
|
3337
|
+
/**
|
|
3338
|
+
* Recover from all errors by succeeding with the given value.
|
|
3339
|
+
*
|
|
3340
|
+
* @since 3.4.0
|
|
3341
|
+
* @experimental
|
|
3342
|
+
* @category error handling
|
|
3343
|
+
*/
|
|
2539
3344
|
<B>(f: LazyArg<B>): <A, E, R>(self: Micro<A, E, R>) => Micro<A | B, never, R>
|
|
3345
|
+
/**
|
|
3346
|
+
* Recover from all errors by succeeding with the given value.
|
|
3347
|
+
*
|
|
3348
|
+
* @since 3.4.0
|
|
3349
|
+
* @experimental
|
|
3350
|
+
* @category error handling
|
|
3351
|
+
*/
|
|
2540
3352
|
<A, E, R, B>(self: Micro<A, E, R>, f: LazyArg<B>): Micro<A | B, never, R>
|
|
2541
3353
|
} = dual(
|
|
2542
3354
|
2,
|
|
@@ -2599,6 +3411,13 @@ export const either = <A, E, R>(self: Micro<A, E, R>): Micro<Either.Either<A, E>
|
|
|
2599
3411
|
* @category error handling
|
|
2600
3412
|
*/
|
|
2601
3413
|
export const retry: {
|
|
3414
|
+
/**
|
|
3415
|
+
* Retry the given `Micro` effect using the provided options.
|
|
3416
|
+
*
|
|
3417
|
+
* @since 3.4.0
|
|
3418
|
+
* @experimental
|
|
3419
|
+
* @category error handling
|
|
3420
|
+
*/
|
|
2602
3421
|
<A, E>(
|
|
2603
3422
|
options?: {
|
|
2604
3423
|
while?: Predicate<E> | undefined
|
|
@@ -2606,6 +3425,13 @@ export const retry: {
|
|
|
2606
3425
|
schedule?: MicroSchedule | undefined
|
|
2607
3426
|
} | undefined
|
|
2608
3427
|
): <R>(self: Micro<A, E, R>) => Micro<A, E, R>
|
|
3428
|
+
/**
|
|
3429
|
+
* Retry the given `Micro` effect using the provided options.
|
|
3430
|
+
*
|
|
3431
|
+
* @since 3.4.0
|
|
3432
|
+
* @experimental
|
|
3433
|
+
* @category error handling
|
|
3434
|
+
*/
|
|
2609
3435
|
<A, E, R>(
|
|
2610
3436
|
self: Micro<A, E, R>,
|
|
2611
3437
|
options?: {
|
|
@@ -2638,7 +3464,23 @@ export const retry: {
|
|
|
2638
3464
|
* @category error handling
|
|
2639
3465
|
*/
|
|
2640
3466
|
export const withTrace: {
|
|
3467
|
+
/**
|
|
3468
|
+
* Add a stack trace to any failures that occur in the effect. The trace will be
|
|
3469
|
+
* added to the `traces` field of the `MicroCause` object.
|
|
3470
|
+
*
|
|
3471
|
+
* @since 3.4.0
|
|
3472
|
+
* @experimental
|
|
3473
|
+
* @category error handling
|
|
3474
|
+
*/
|
|
2641
3475
|
(name: string): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E, R>
|
|
3476
|
+
/**
|
|
3477
|
+
* Add a stack trace to any failures that occur in the effect. The trace will be
|
|
3478
|
+
* added to the `traces` field of the `MicroCause` object.
|
|
3479
|
+
*
|
|
3480
|
+
* @since 3.4.0
|
|
3481
|
+
* @experimental
|
|
3482
|
+
* @category error handling
|
|
3483
|
+
*/
|
|
2642
3484
|
<A, E, R>(self: Micro<A, E, R>, name: string): Micro<A, E, R>
|
|
2643
3485
|
} = function() {
|
|
2644
3486
|
const prevLimit = globalThis.Error.stackTraceLimit
|
|
@@ -2679,12 +3521,30 @@ export const withTrace: {
|
|
|
2679
3521
|
* @category pattern matching
|
|
2680
3522
|
*/
|
|
2681
3523
|
export const matchCauseEffect: {
|
|
3524
|
+
// ----------------------------------------------------------------------------
|
|
3525
|
+
// pattern matching
|
|
3526
|
+
// ----------------------------------------------------------------------------
|
|
3527
|
+
|
|
3528
|
+
/**
|
|
3529
|
+
* @since 3.4.6
|
|
3530
|
+
* @experimental
|
|
3531
|
+
* @category pattern matching
|
|
3532
|
+
*/
|
|
2682
3533
|
<E, A2, E2, R2, A, A3, E3, R3>(
|
|
2683
3534
|
options: {
|
|
2684
3535
|
readonly onFailure: (cause: MicroCause<E>) => Micro<A2, E2, R2>
|
|
2685
3536
|
readonly onSuccess: (a: A) => Micro<A3, E3, R3>
|
|
2686
3537
|
}
|
|
2687
3538
|
): <R>(self: Micro<A, E, R>) => Micro<A2 | A3, E2 | E3, R2 | R3 | R>
|
|
3539
|
+
// ----------------------------------------------------------------------------
|
|
3540
|
+
// pattern matching
|
|
3541
|
+
// ----------------------------------------------------------------------------
|
|
3542
|
+
|
|
3543
|
+
/**
|
|
3544
|
+
* @since 3.4.6
|
|
3545
|
+
* @experimental
|
|
3546
|
+
* @category pattern matching
|
|
3547
|
+
*/
|
|
2688
3548
|
<A, E, R, A2, E2, R2, A3, E3, R3>(
|
|
2689
3549
|
self: Micro<A, E, R>,
|
|
2690
3550
|
options: {
|
|
@@ -2719,12 +3579,22 @@ export const matchCauseEffect: {
|
|
|
2719
3579
|
* @category pattern matching
|
|
2720
3580
|
*/
|
|
2721
3581
|
export const matchCause: {
|
|
3582
|
+
/**
|
|
3583
|
+
* @since 3.4.6
|
|
3584
|
+
* @experimental
|
|
3585
|
+
* @category pattern matching
|
|
3586
|
+
*/
|
|
2722
3587
|
<E, A2, A, A3>(
|
|
2723
3588
|
options: {
|
|
2724
3589
|
readonly onFailure: (cause: MicroCause<E>) => A2
|
|
2725
3590
|
readonly onSuccess: (a: A) => A3
|
|
2726
3591
|
}
|
|
2727
3592
|
): <R>(self: Micro<A, E, R>) => Micro<A2 | A3, never, R>
|
|
3593
|
+
/**
|
|
3594
|
+
* @since 3.4.6
|
|
3595
|
+
* @experimental
|
|
3596
|
+
* @category pattern matching
|
|
3597
|
+
*/
|
|
2728
3598
|
<A, E, R, A2, A3>(
|
|
2729
3599
|
self: Micro<A, E, R>,
|
|
2730
3600
|
options: {
|
|
@@ -2753,12 +3623,22 @@ export const matchCause: {
|
|
|
2753
3623
|
* @category pattern matching
|
|
2754
3624
|
*/
|
|
2755
3625
|
export const matchEffect: {
|
|
3626
|
+
/**
|
|
3627
|
+
* @since 3.4.6
|
|
3628
|
+
* @experimental
|
|
3629
|
+
* @category pattern matching
|
|
3630
|
+
*/
|
|
2756
3631
|
<E, A2, E2, R2, A, A3, E3, R3>(
|
|
2757
3632
|
options: {
|
|
2758
3633
|
readonly onFailure: (e: E) => Micro<A2, E2, R2>
|
|
2759
3634
|
readonly onSuccess: (a: A) => Micro<A3, E3, R3>
|
|
2760
3635
|
}
|
|
2761
3636
|
): <R>(self: Micro<A, E, R>) => Micro<A2 | A3, E2 | E3, R2 | R3 | R>
|
|
3637
|
+
/**
|
|
3638
|
+
* @since 3.4.6
|
|
3639
|
+
* @experimental
|
|
3640
|
+
* @category pattern matching
|
|
3641
|
+
*/
|
|
2762
3642
|
<A, E, R, A2, E2, R2, A3, E3, R3>(
|
|
2763
3643
|
self: Micro<A, E, R>,
|
|
2764
3644
|
options: {
|
|
@@ -2787,12 +3667,22 @@ export const matchEffect: {
|
|
|
2787
3667
|
* @category pattern matching
|
|
2788
3668
|
*/
|
|
2789
3669
|
export const match: {
|
|
3670
|
+
/**
|
|
3671
|
+
* @since 3.4.0
|
|
3672
|
+
* @experimental
|
|
3673
|
+
* @category pattern matching
|
|
3674
|
+
*/
|
|
2790
3675
|
<E, A2, A, A3>(
|
|
2791
3676
|
options: {
|
|
2792
3677
|
readonly onFailure: (error: E) => A2
|
|
2793
3678
|
readonly onSuccess: (value: A) => A3
|
|
2794
3679
|
}
|
|
2795
3680
|
): <R>(self: Micro<A, E, R>) => Micro<A2 | A3, never, R>
|
|
3681
|
+
/**
|
|
3682
|
+
* @since 3.4.0
|
|
3683
|
+
* @experimental
|
|
3684
|
+
* @category pattern matching
|
|
3685
|
+
*/
|
|
2796
3686
|
<A, E, R, A2, A3>(
|
|
2797
3687
|
self: Micro<A, E, R>,
|
|
2798
3688
|
options: {
|
|
@@ -2845,7 +3735,23 @@ export const sleep = (millis: number): Micro<void> =>
|
|
|
2845
3735
|
* @category delays & timeouts
|
|
2846
3736
|
*/
|
|
2847
3737
|
export const delay: {
|
|
3738
|
+
/**
|
|
3739
|
+
* Returns an effect that will delay the execution of this effect by the
|
|
3740
|
+
* specified duration.
|
|
3741
|
+
*
|
|
3742
|
+
* @since 3.4.0
|
|
3743
|
+
* @experimental
|
|
3744
|
+
* @category delays & timeouts
|
|
3745
|
+
*/
|
|
2848
3746
|
(millis: number): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E, R>
|
|
3747
|
+
/**
|
|
3748
|
+
* Returns an effect that will delay the execution of this effect by the
|
|
3749
|
+
* specified duration.
|
|
3750
|
+
*
|
|
3751
|
+
* @since 3.4.0
|
|
3752
|
+
* @experimental
|
|
3753
|
+
* @category delays & timeouts
|
|
3754
|
+
*/
|
|
2849
3755
|
<A, E, R>(self: Micro<A, E, R>, millis: number): Micro<A, E, R>
|
|
2850
3756
|
} = dual(
|
|
2851
3757
|
2,
|
|
@@ -2863,14 +3769,39 @@ export const delay: {
|
|
|
2863
3769
|
* @category delays & timeouts
|
|
2864
3770
|
*/
|
|
2865
3771
|
export const timeoutOrElse: {
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
3772
|
+
/**
|
|
3773
|
+
* Returns an effect that will timeout this effect, that will execute the
|
|
3774
|
+
* fallback effect if the timeout elapses before the effect has produced a value.
|
|
3775
|
+
*
|
|
3776
|
+
* If the timeout elapses, the running effect will be safely interrupted.
|
|
3777
|
+
*
|
|
3778
|
+
* @since 3.4.0
|
|
3779
|
+
* @experimental
|
|
3780
|
+
* @category delays & timeouts
|
|
3781
|
+
*/
|
|
3782
|
+
<A2, E2, R2>(
|
|
3783
|
+
options: {
|
|
3784
|
+
readonly duration: number
|
|
3785
|
+
readonly onTimeout: LazyArg<Micro<A2, E2, R2>>
|
|
3786
|
+
}
|
|
3787
|
+
): <A, E, R>(self: Micro<A, E, R>) => Micro<A | A2, E | E2, R | R2>
|
|
3788
|
+
/**
|
|
3789
|
+
* Returns an effect that will timeout this effect, that will execute the
|
|
3790
|
+
* fallback effect if the timeout elapses before the effect has produced a value.
|
|
3791
|
+
*
|
|
3792
|
+
* If the timeout elapses, the running effect will be safely interrupted.
|
|
3793
|
+
*
|
|
3794
|
+
* @since 3.4.0
|
|
3795
|
+
* @experimental
|
|
3796
|
+
* @category delays & timeouts
|
|
3797
|
+
*/
|
|
3798
|
+
<A, E, R, A2, E2, R2>(
|
|
3799
|
+
self: Micro<A, E, R>,
|
|
3800
|
+
options: {
|
|
3801
|
+
readonly duration: number
|
|
3802
|
+
readonly onTimeout: LazyArg<Micro<A2, E2, R2>>
|
|
3803
|
+
}
|
|
3804
|
+
): Micro<A | A2, E | E2, R | R2>
|
|
2874
3805
|
} = dual(
|
|
2875
3806
|
2,
|
|
2876
3807
|
<A, E, R, A2, E2, R2>(self: Micro<A, E, R>, options: {
|
|
@@ -2892,7 +3823,29 @@ export const timeoutOrElse: {
|
|
|
2892
3823
|
* @category delays & timeouts
|
|
2893
3824
|
*/
|
|
2894
3825
|
export const timeout: {
|
|
3826
|
+
/**
|
|
3827
|
+
* Returns an effect that will timeout this effect, that will fail with a
|
|
3828
|
+
* `TimeoutException` if the timeout elapses before the effect has produced a
|
|
3829
|
+
* value.
|
|
3830
|
+
*
|
|
3831
|
+
* If the timeout elapses, the running effect will be safely interrupted.
|
|
3832
|
+
*
|
|
3833
|
+
* @since 3.4.0
|
|
3834
|
+
* @experimental
|
|
3835
|
+
* @category delays & timeouts
|
|
3836
|
+
*/
|
|
2895
3837
|
(millis: number): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E | TimeoutException, R>
|
|
3838
|
+
/**
|
|
3839
|
+
* Returns an effect that will timeout this effect, that will fail with a
|
|
3840
|
+
* `TimeoutException` if the timeout elapses before the effect has produced a
|
|
3841
|
+
* value.
|
|
3842
|
+
*
|
|
3843
|
+
* If the timeout elapses, the running effect will be safely interrupted.
|
|
3844
|
+
*
|
|
3845
|
+
* @since 3.4.0
|
|
3846
|
+
* @experimental
|
|
3847
|
+
* @category delays & timeouts
|
|
3848
|
+
*/
|
|
2896
3849
|
<A, E, R>(self: Micro<A, E, R>, millis: number): Micro<A, E | TimeoutException, R>
|
|
2897
3850
|
} = dual(
|
|
2898
3851
|
2,
|
|
@@ -2912,7 +3865,29 @@ export const timeout: {
|
|
|
2912
3865
|
* @category delays & timeouts
|
|
2913
3866
|
*/
|
|
2914
3867
|
export const timeoutOption: {
|
|
3868
|
+
/**
|
|
3869
|
+
* Returns an effect that will timeout this effect, succeeding with a `None`
|
|
3870
|
+
* if the timeout elapses before the effect has produced a value; and `Some` of
|
|
3871
|
+
* the produced value otherwise.
|
|
3872
|
+
*
|
|
3873
|
+
* If the timeout elapses, the running effect will be safely interrupted.
|
|
3874
|
+
*
|
|
3875
|
+
* @since 3.4.0
|
|
3876
|
+
* @experimental
|
|
3877
|
+
* @category delays & timeouts
|
|
3878
|
+
*/
|
|
2915
3879
|
(millis: number): <A, E, R>(self: Micro<A, E, R>) => Micro<Option.Option<A>, E, R>
|
|
3880
|
+
/**
|
|
3881
|
+
* Returns an effect that will timeout this effect, succeeding with a `None`
|
|
3882
|
+
* if the timeout elapses before the effect has produced a value; and `Some` of
|
|
3883
|
+
* the produced value otherwise.
|
|
3884
|
+
*
|
|
3885
|
+
* If the timeout elapses, the running effect will be safely interrupted.
|
|
3886
|
+
*
|
|
3887
|
+
* @since 3.4.0
|
|
3888
|
+
* @experimental
|
|
3889
|
+
* @category delays & timeouts
|
|
3890
|
+
*/
|
|
2916
3891
|
<A, E, R>(self: Micro<A, E, R>, millis: number): Micro<Option.Option<A>, E, R>
|
|
2917
3892
|
} = dual(
|
|
2918
3893
|
2,
|
|
@@ -3069,7 +4044,21 @@ export const scope: Micro<MicroScope, never, MicroScope> = service(MicroScope)
|
|
|
3069
4044
|
* @category resources & finalization
|
|
3070
4045
|
*/
|
|
3071
4046
|
export const provideScope: {
|
|
4047
|
+
/**
|
|
4048
|
+
* Provide a `MicroScope` to an effect.
|
|
4049
|
+
*
|
|
4050
|
+
* @since 3.4.0
|
|
4051
|
+
* @experimental
|
|
4052
|
+
* @category resources & finalization
|
|
4053
|
+
*/
|
|
3072
4054
|
(scope: MicroScope): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E, Exclude<R, MicroScope>>
|
|
4055
|
+
/**
|
|
4056
|
+
* Provide a `MicroScope` to an effect.
|
|
4057
|
+
*
|
|
4058
|
+
* @since 3.4.0
|
|
4059
|
+
* @experimental
|
|
4060
|
+
* @category resources & finalization
|
|
4061
|
+
*/
|
|
3073
4062
|
<A, E, R>(self: Micro<A, E, R>, scope: MicroScope): Micro<A, E, Exclude<R, MicroScope>>
|
|
3074
4063
|
} = dual(
|
|
3075
4064
|
2,
|
|
@@ -3128,9 +4117,25 @@ export const addFinalizer = (
|
|
|
3128
4117
|
* @category resources & finalization
|
|
3129
4118
|
*/
|
|
3130
4119
|
export const onExit: {
|
|
4120
|
+
/**
|
|
4121
|
+
* When the `Micro` effect is completed, run the given finalizer effect with the
|
|
4122
|
+
* `MicroExit` of the executed effect.
|
|
4123
|
+
*
|
|
4124
|
+
* @since 3.4.6
|
|
4125
|
+
* @experimental
|
|
4126
|
+
* @category resources & finalization
|
|
4127
|
+
*/
|
|
3131
4128
|
<A, E, XE, XR>(
|
|
3132
4129
|
f: (exit: MicroExit<A, E>) => Micro<void, XE, XR>
|
|
3133
4130
|
): <R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
|
|
4131
|
+
/**
|
|
4132
|
+
* When the `Micro` effect is completed, run the given finalizer effect with the
|
|
4133
|
+
* `MicroExit` of the executed effect.
|
|
4134
|
+
*
|
|
4135
|
+
* @since 3.4.6
|
|
4136
|
+
* @experimental
|
|
4137
|
+
* @category resources & finalization
|
|
4138
|
+
*/
|
|
3134
4139
|
<A, E, R, XE, XR>(self: Micro<A, E, R>, f: (exit: MicroExit<A, E>) => Micro<void, XE, XR>): Micro<A, E | XE, R | XR>
|
|
3135
4140
|
} = dual(
|
|
3136
4141
|
2,
|
|
@@ -3149,19 +4154,51 @@ export const onExit: {
|
|
|
3149
4154
|
* @category resources & finalization
|
|
3150
4155
|
*/
|
|
3151
4156
|
export const onExitIf: {
|
|
4157
|
+
/**
|
|
4158
|
+
* When the `Micro` effect is completed, run the given finalizer effect if it
|
|
4159
|
+
* matches the specified predicate.
|
|
4160
|
+
*
|
|
4161
|
+
* @since 3.4.6
|
|
4162
|
+
* @experimental
|
|
4163
|
+
* @category resources & finalization
|
|
4164
|
+
*/
|
|
3152
4165
|
<A, E, XE, XR, B extends MicroExit<A, E>>(
|
|
3153
4166
|
refinement: Refinement<MicroExit<A, E>, B>,
|
|
3154
4167
|
f: (exit: B) => Micro<void, XE, XR>
|
|
3155
4168
|
): <R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
|
|
4169
|
+
/**
|
|
4170
|
+
* When the `Micro` effect is completed, run the given finalizer effect if it
|
|
4171
|
+
* matches the specified predicate.
|
|
4172
|
+
*
|
|
4173
|
+
* @since 3.4.6
|
|
4174
|
+
* @experimental
|
|
4175
|
+
* @category resources & finalization
|
|
4176
|
+
*/
|
|
3156
4177
|
<A, E, XE, XR>(
|
|
3157
4178
|
predicate: Predicate<MicroExit<NoInfer<A>, NoInfer<E>>>,
|
|
3158
4179
|
f: (exit: MicroExit<NoInfer<A>, NoInfer<E>>) => Micro<void, XE, XR>
|
|
3159
4180
|
): <R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
|
|
4181
|
+
/**
|
|
4182
|
+
* When the `Micro` effect is completed, run the given finalizer effect if it
|
|
4183
|
+
* matches the specified predicate.
|
|
4184
|
+
*
|
|
4185
|
+
* @since 3.4.6
|
|
4186
|
+
* @experimental
|
|
4187
|
+
* @category resources & finalization
|
|
4188
|
+
*/
|
|
3160
4189
|
<A, E, R, XE, XR, B extends MicroExit<A, E>>(
|
|
3161
4190
|
self: Micro<A, E, R>,
|
|
3162
4191
|
refinement: Refinement<MicroExit<A, E>, B>,
|
|
3163
4192
|
f: (exit: B) => Micro<void, XE, XR>
|
|
3164
4193
|
): Micro<A, E | XE, R | XR>
|
|
4194
|
+
/**
|
|
4195
|
+
* When the `Micro` effect is completed, run the given finalizer effect if it
|
|
4196
|
+
* matches the specified predicate.
|
|
4197
|
+
*
|
|
4198
|
+
* @since 3.4.6
|
|
4199
|
+
* @experimental
|
|
4200
|
+
* @category resources & finalization
|
|
4201
|
+
*/
|
|
3165
4202
|
<A, E, R, XE, XR>(
|
|
3166
4203
|
self: Micro<A, E, R>,
|
|
3167
4204
|
predicate: Predicate<MicroExit<NoInfer<A>, NoInfer<E>>>,
|
|
@@ -3199,9 +4236,21 @@ export const onExitIf: {
|
|
|
3199
4236
|
* @category resources & finalization
|
|
3200
4237
|
*/
|
|
3201
4238
|
export const ensuring: {
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
4239
|
+
/**
|
|
4240
|
+
* Regardless of the result of the this `Micro` effect, run the finalizer effect.
|
|
4241
|
+
*
|
|
4242
|
+
* @since 3.4.0
|
|
4243
|
+
* @experimental
|
|
4244
|
+
* @category resources & finalization
|
|
4245
|
+
*/
|
|
4246
|
+
<XE, XR>(finalizer: Micro<void, XE, XR>): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
|
|
4247
|
+
/**
|
|
4248
|
+
* Regardless of the result of the this `Micro` effect, run the finalizer effect.
|
|
4249
|
+
*
|
|
4250
|
+
* @since 3.4.0
|
|
4251
|
+
* @experimental
|
|
4252
|
+
* @category resources & finalization
|
|
4253
|
+
*/
|
|
3205
4254
|
<A, E, R, XE, XR>(self: Micro<A, E, R>, finalizer: Micro<void, XE, XR>): Micro<A, E | XE, R | XR>
|
|
3206
4255
|
} = dual(
|
|
3207
4256
|
2,
|
|
@@ -3218,9 +4267,25 @@ export const ensuring: {
|
|
|
3218
4267
|
* @category resources & finalization
|
|
3219
4268
|
*/
|
|
3220
4269
|
export const onError: {
|
|
4270
|
+
/**
|
|
4271
|
+
* When the `Micro` effect fails, run the given finalizer effect with the
|
|
4272
|
+
* `MicroCause` of the executed effect.
|
|
4273
|
+
*
|
|
4274
|
+
* @since 3.4.6
|
|
4275
|
+
* @experimental
|
|
4276
|
+
* @category resources & finalization
|
|
4277
|
+
*/
|
|
3221
4278
|
<A, E, XE, XR>(
|
|
3222
4279
|
f: (cause: MicroCause<NoInfer<E>>) => Micro<void, XE, XR>
|
|
3223
4280
|
): <R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
|
|
4281
|
+
/**
|
|
4282
|
+
* When the `Micro` effect fails, run the given finalizer effect with the
|
|
4283
|
+
* `MicroCause` of the executed effect.
|
|
4284
|
+
*
|
|
4285
|
+
* @since 3.4.6
|
|
4286
|
+
* @experimental
|
|
4287
|
+
* @category resources & finalization
|
|
4288
|
+
*/
|
|
3224
4289
|
<A, E, R, XE, XR>(
|
|
3225
4290
|
self: Micro<A, E, R>,
|
|
3226
4291
|
f: (cause: MicroCause<NoInfer<E>>) => Micro<void, XE, XR>
|
|
@@ -3241,9 +4306,21 @@ export const onError: {
|
|
|
3241
4306
|
* @category resources & finalization
|
|
3242
4307
|
*/
|
|
3243
4308
|
export const onInterrupt: {
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
4309
|
+
/**
|
|
4310
|
+
* If this `Micro` effect is aborted, run the finalizer effect.
|
|
4311
|
+
*
|
|
4312
|
+
* @since 3.4.6
|
|
4313
|
+
* @experimental
|
|
4314
|
+
* @category resources & finalization
|
|
4315
|
+
*/
|
|
4316
|
+
<XE, XR>(finalizer: Micro<void, XE, XR>): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
|
|
4317
|
+
/**
|
|
4318
|
+
* If this `Micro` effect is aborted, run the finalizer effect.
|
|
4319
|
+
*
|
|
4320
|
+
* @since 3.4.6
|
|
4321
|
+
* @experimental
|
|
4322
|
+
* @category resources & finalization
|
|
4323
|
+
*/
|
|
3247
4324
|
<A, E, R, XE, XR>(self: Micro<A, E, R>, finalizer: Micro<void, XE, XR>): Micro<A, E | XE, R | XR>
|
|
3248
4325
|
} = dual(
|
|
3249
4326
|
2,
|
|
@@ -3499,14 +4576,48 @@ export const all = <
|
|
|
3499
4576
|
* @category collecting & elements
|
|
3500
4577
|
*/
|
|
3501
4578
|
export const forEach: {
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
|
|
3508
|
-
|
|
3509
|
-
|
|
4579
|
+
/**
|
|
4580
|
+
* For each element of the provided iterable, run the effect and collect the results.
|
|
4581
|
+
*
|
|
4582
|
+
* If the `discard` option is set to `true`, the results will be discarded and
|
|
4583
|
+
* the effect will return `void`.
|
|
4584
|
+
*
|
|
4585
|
+
* The `concurrency` option can be set to control how many effects are run in
|
|
4586
|
+
* parallel. By default, the effects are run sequentially.
|
|
4587
|
+
*
|
|
4588
|
+
* @since 3.4.0
|
|
4589
|
+
* @experimental
|
|
4590
|
+
* @category collecting & elements
|
|
4591
|
+
*/
|
|
4592
|
+
<A, B, E, R>(
|
|
4593
|
+
iterable: Iterable<A>,
|
|
4594
|
+
f: (a: A, index: number) => Micro<B, E, R>,
|
|
4595
|
+
options?: {
|
|
4596
|
+
readonly concurrency?: Concurrency | undefined
|
|
4597
|
+
readonly discard?: false | undefined
|
|
4598
|
+
}
|
|
4599
|
+
): Micro<Array<B>, E, R>
|
|
4600
|
+
/**
|
|
4601
|
+
* For each element of the provided iterable, run the effect and collect the results.
|
|
4602
|
+
*
|
|
4603
|
+
* If the `discard` option is set to `true`, the results will be discarded and
|
|
4604
|
+
* the effect will return `void`.
|
|
4605
|
+
*
|
|
4606
|
+
* The `concurrency` option can be set to control how many effects are run in
|
|
4607
|
+
* parallel. By default, the effects are run sequentially.
|
|
4608
|
+
*
|
|
4609
|
+
* @since 3.4.0
|
|
4610
|
+
* @experimental
|
|
4611
|
+
* @category collecting & elements
|
|
4612
|
+
*/
|
|
4613
|
+
<A, B, E, R>(
|
|
4614
|
+
iterable: Iterable<A>,
|
|
4615
|
+
f: (a: A, index: number) => Micro<B, E, R>,
|
|
4616
|
+
options: {
|
|
4617
|
+
readonly concurrency?: Concurrency | undefined
|
|
4618
|
+
readonly discard: true
|
|
4619
|
+
}
|
|
4620
|
+
): Micro<void, E, R>
|
|
3510
4621
|
} = <
|
|
3511
4622
|
A,
|
|
3512
4623
|
B,
|
|
@@ -3648,7 +4759,21 @@ export const Do: Micro<{}> = succeed({})
|
|
|
3648
4759
|
* @category do notation
|
|
3649
4760
|
*/
|
|
3650
4761
|
export const bindTo: {
|
|
4762
|
+
/**
|
|
4763
|
+
* Bind the success value of this `Micro` effect to the provided name.
|
|
4764
|
+
*
|
|
4765
|
+
* @since 3.4.0
|
|
4766
|
+
* @experimental
|
|
4767
|
+
* @category do notation
|
|
4768
|
+
*/
|
|
3651
4769
|
<N extends string>(name: N): <A, E, R>(self: Micro<A, E, R>) => Micro<{ [K in N]: A }, E, R>
|
|
4770
|
+
/**
|
|
4771
|
+
* Bind the success value of this `Micro` effect to the provided name.
|
|
4772
|
+
*
|
|
4773
|
+
* @since 3.4.0
|
|
4774
|
+
* @experimental
|
|
4775
|
+
* @category do notation
|
|
4776
|
+
*/
|
|
3652
4777
|
<A, E, R, N extends string>(self: Micro<A, E, R>, name: N): Micro<{ [K in N]: A }, E, R>
|
|
3653
4778
|
} = doNotation.bindTo<MicroTypeLambda>(map)
|
|
3654
4779
|
|
|
@@ -3660,10 +4785,24 @@ export const bindTo: {
|
|
|
3660
4785
|
* @category do notation
|
|
3661
4786
|
*/
|
|
3662
4787
|
export const bind: {
|
|
4788
|
+
/**
|
|
4789
|
+
* Bind the success value of this `Micro` effect to the provided name.
|
|
4790
|
+
*
|
|
4791
|
+
* @since 3.4.0
|
|
4792
|
+
* @experimental
|
|
4793
|
+
* @category do notation
|
|
4794
|
+
*/
|
|
3663
4795
|
<N extends string, A extends Record<string, any>, B, E2, R2>(
|
|
3664
4796
|
name: N,
|
|
3665
4797
|
f: (a: A) => Micro<B, E2, R2>
|
|
3666
4798
|
): <E, R>(self: Micro<A, E, R>) => Micro<Simplify<Omit<A, N> & { [K in N]: B }>, E | E2, R | R2>
|
|
4799
|
+
/**
|
|
4800
|
+
* Bind the success value of this `Micro` effect to the provided name.
|
|
4801
|
+
*
|
|
4802
|
+
* @since 3.4.0
|
|
4803
|
+
* @experimental
|
|
4804
|
+
* @category do notation
|
|
4805
|
+
*/
|
|
3667
4806
|
<A extends Record<string, any>, E, R, B, E2, R2, N extends string>(
|
|
3668
4807
|
self: Micro<A, E, R>,
|
|
3669
4808
|
name: N,
|
|
@@ -3905,7 +5044,27 @@ export const forkDaemon = <A, E, R>(self: Micro<A, E, R>): Micro<Handle<A, E>, n
|
|
|
3905
5044
|
* @category handle & forking
|
|
3906
5045
|
*/
|
|
3907
5046
|
export const forkIn: {
|
|
5047
|
+
/**
|
|
5048
|
+
* Run the `Micro` effect in a new `Handle` that can be awaited, joined, or
|
|
5049
|
+
* aborted.
|
|
5050
|
+
*
|
|
5051
|
+
* The lifetime of the handle will be attached to the provided `MicroScope`.
|
|
5052
|
+
*
|
|
5053
|
+
* @since 3.4.0
|
|
5054
|
+
* @experimental
|
|
5055
|
+
* @category handle & forking
|
|
5056
|
+
*/
|
|
3908
5057
|
(scope: MicroScope): <A, E, R>(self: Micro<A, E, R>) => Micro<Handle<A, E>, never, R>
|
|
5058
|
+
/**
|
|
5059
|
+
* Run the `Micro` effect in a new `Handle` that can be awaited, joined, or
|
|
5060
|
+
* aborted.
|
|
5061
|
+
*
|
|
5062
|
+
* The lifetime of the handle will be attached to the provided `MicroScope`.
|
|
5063
|
+
*
|
|
5064
|
+
* @since 3.4.0
|
|
5065
|
+
* @experimental
|
|
5066
|
+
* @category handle & forking
|
|
5067
|
+
*/
|
|
3909
5068
|
<A, E, R>(self: Micro<A, E, R>, scope: MicroScope): Micro<Handle<A, E>, never, R>
|
|
3910
5069
|
} = dual(
|
|
3911
5070
|
2,
|
|
@@ -4097,6 +5256,9 @@ const YieldableError: new(message?: string) => YieldableError = (function() {
|
|
|
4097
5256
|
toJSON() {
|
|
4098
5257
|
return { ...this }
|
|
4099
5258
|
}
|
|
5259
|
+
[DenoInspectSymbol](): string {
|
|
5260
|
+
return this[NodeInspectSymbol]()
|
|
5261
|
+
}
|
|
4100
5262
|
[NodeInspectSymbol](): string {
|
|
4101
5263
|
const stack = this.stack
|
|
4102
5264
|
if (stack) {
|