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/Tuple.ts
CHANGED
|
@@ -7,6 +7,7 @@ import * as Equivalence from "./Equivalence.js"
|
|
|
7
7
|
import { dual } from "./Function.js"
|
|
8
8
|
import type { TypeLambda } from "./HKT.js"
|
|
9
9
|
import * as order from "./Order.js"
|
|
10
|
+
import type { TupleOf } from "./Types.js"
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* @category type lambdas
|
|
@@ -61,6 +62,71 @@ export const getFirst = <L, R>(self: readonly [L, R]): L => self[0]
|
|
|
61
62
|
*/
|
|
62
63
|
export const getSecond = <L, R>(self: readonly [L, R]): R => self[1]
|
|
63
64
|
|
|
65
|
+
/**
|
|
66
|
+
* Transforms each element of tuple using the given function, treating tuple homomorphically
|
|
67
|
+
*
|
|
68
|
+
* @param self - A tuple.
|
|
69
|
+
* @param f - The function to transform elements of the tuple.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* import { pipe, Tuple } from "effect"
|
|
73
|
+
*
|
|
74
|
+
* const result = pipe(
|
|
75
|
+
* ["a", 1, false] as const,
|
|
76
|
+
* Tuple.map((el) => el.toString().toUpperCase())
|
|
77
|
+
* )
|
|
78
|
+
* assert.deepStrictEqual(result, ['A', '1', 'FALSE'])
|
|
79
|
+
*
|
|
80
|
+
* @category mapping
|
|
81
|
+
* @since 3.9.0
|
|
82
|
+
*/
|
|
83
|
+
export const map: {
|
|
84
|
+
/**
|
|
85
|
+
* Transforms each element of tuple using the given function, treating tuple homomorphically
|
|
86
|
+
*
|
|
87
|
+
* @param self - A tuple.
|
|
88
|
+
* @param f - The function to transform elements of the tuple.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* import { pipe, Tuple } from "effect"
|
|
92
|
+
*
|
|
93
|
+
* const result = pipe(
|
|
94
|
+
* ["a", 1, false] as const,
|
|
95
|
+
* Tuple.map((el) => el.toString().toUpperCase())
|
|
96
|
+
* )
|
|
97
|
+
* assert.deepStrictEqual(result, ['A', '1', 'FALSE'])
|
|
98
|
+
*
|
|
99
|
+
* @category mapping
|
|
100
|
+
* @since 3.9.0
|
|
101
|
+
*/
|
|
102
|
+
<T extends ReadonlyArray<any> | [], B>(fn: (element: T[number]) => B): (self: T) => TupleOf<T["length"], B>
|
|
103
|
+
/**
|
|
104
|
+
* Transforms each element of tuple using the given function, treating tuple homomorphically
|
|
105
|
+
*
|
|
106
|
+
* @param self - A tuple.
|
|
107
|
+
* @param f - The function to transform elements of the tuple.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* import { pipe, Tuple } from "effect"
|
|
111
|
+
*
|
|
112
|
+
* const result = pipe(
|
|
113
|
+
* ["a", 1, false] as const,
|
|
114
|
+
* Tuple.map((el) => el.toString().toUpperCase())
|
|
115
|
+
* )
|
|
116
|
+
* assert.deepStrictEqual(result, ['A', '1', 'FALSE'])
|
|
117
|
+
*
|
|
118
|
+
* @category mapping
|
|
119
|
+
* @since 3.9.0
|
|
120
|
+
*/
|
|
121
|
+
<B, T extends ReadonlyArray<any> | []>(self: T, fn: (element: T[number]) => B): TupleOf<T["length"], B>
|
|
122
|
+
} = dual(
|
|
123
|
+
2,
|
|
124
|
+
<N extends number, A, B>(
|
|
125
|
+
self: TupleOf<N, A>,
|
|
126
|
+
fn: (element: A) => B
|
|
127
|
+
): TupleOf<N, B> => self.map((element) => fn(element)) as TupleOf<N, B>
|
|
128
|
+
)
|
|
129
|
+
|
|
64
130
|
/**
|
|
65
131
|
* Transforms both elements of a tuple using the given functions.
|
|
66
132
|
*
|
|
@@ -80,14 +146,55 @@ export const getSecond = <L, R>(self: readonly [L, R]): R => self[1]
|
|
|
80
146
|
* @since 2.0.0
|
|
81
147
|
*/
|
|
82
148
|
export const mapBoth: {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
149
|
+
/**
|
|
150
|
+
* Transforms both elements of a tuple using the given functions.
|
|
151
|
+
*
|
|
152
|
+
* @param self - A tuple of length `2`.
|
|
153
|
+
* @param f - The function to transform the first element of the tuple.
|
|
154
|
+
* @param g - The function to transform the second element of the tuple.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* import { mapBoth } from "effect/Tuple"
|
|
158
|
+
*
|
|
159
|
+
* assert.deepStrictEqual(
|
|
160
|
+
* mapBoth(["hello", 42], { onFirst: s => s.toUpperCase(), onSecond: n => n.toString() }),
|
|
161
|
+
* ["HELLO", "42"]
|
|
162
|
+
* )
|
|
163
|
+
*
|
|
164
|
+
* @category mapping
|
|
165
|
+
* @since 2.0.0
|
|
166
|
+
*/
|
|
167
|
+
<L1, L2, R1, R2>(
|
|
168
|
+
options: {
|
|
169
|
+
readonly onFirst: (e: L1) => L2
|
|
170
|
+
readonly onSecond: (a: R1) => R2
|
|
171
|
+
}
|
|
172
|
+
): (self: readonly [L1, R1]) => [L2, R2]
|
|
173
|
+
/**
|
|
174
|
+
* Transforms both elements of a tuple using the given functions.
|
|
175
|
+
*
|
|
176
|
+
* @param self - A tuple of length `2`.
|
|
177
|
+
* @param f - The function to transform the first element of the tuple.
|
|
178
|
+
* @param g - The function to transform the second element of the tuple.
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* import { mapBoth } from "effect/Tuple"
|
|
182
|
+
*
|
|
183
|
+
* assert.deepStrictEqual(
|
|
184
|
+
* mapBoth(["hello", 42], { onFirst: s => s.toUpperCase(), onSecond: n => n.toString() }),
|
|
185
|
+
* ["HELLO", "42"]
|
|
186
|
+
* )
|
|
187
|
+
*
|
|
188
|
+
* @category mapping
|
|
189
|
+
* @since 2.0.0
|
|
190
|
+
*/
|
|
191
|
+
<L1, R1, L2, R2>(
|
|
192
|
+
self: readonly [L1, R1],
|
|
193
|
+
options: {
|
|
194
|
+
readonly onFirst: (e: L1) => L2
|
|
195
|
+
readonly onSecond: (a: R1) => R2
|
|
196
|
+
}
|
|
197
|
+
): [L2, R2]
|
|
91
198
|
} = dual(
|
|
92
199
|
2,
|
|
93
200
|
<L1, R1, L2, R2>(
|
|
@@ -117,7 +224,41 @@ export const mapBoth: {
|
|
|
117
224
|
* @since 2.0.0
|
|
118
225
|
*/
|
|
119
226
|
export const mapFirst: {
|
|
227
|
+
/**
|
|
228
|
+
* Transforms the first component of a tuple using a given function.
|
|
229
|
+
*
|
|
230
|
+
* @param self - A tuple of length `2`.
|
|
231
|
+
* @param f - The function to transform the first element of the tuple.
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* import { mapFirst } from "effect/Tuple"
|
|
235
|
+
*
|
|
236
|
+
* assert.deepStrictEqual(
|
|
237
|
+
* mapFirst(["hello", 42], s => s.toUpperCase()),
|
|
238
|
+
* ["HELLO", 42]
|
|
239
|
+
* )
|
|
240
|
+
*
|
|
241
|
+
* @category mapping
|
|
242
|
+
* @since 2.0.0
|
|
243
|
+
*/
|
|
120
244
|
<L1, L2>(f: (left: L1) => L2): <R>(self: readonly [L1, R]) => [L2, R]
|
|
245
|
+
/**
|
|
246
|
+
* Transforms the first component of a tuple using a given function.
|
|
247
|
+
*
|
|
248
|
+
* @param self - A tuple of length `2`.
|
|
249
|
+
* @param f - The function to transform the first element of the tuple.
|
|
250
|
+
*
|
|
251
|
+
* @example
|
|
252
|
+
* import { mapFirst } from "effect/Tuple"
|
|
253
|
+
*
|
|
254
|
+
* assert.deepStrictEqual(
|
|
255
|
+
* mapFirst(["hello", 42], s => s.toUpperCase()),
|
|
256
|
+
* ["HELLO", 42]
|
|
257
|
+
* )
|
|
258
|
+
*
|
|
259
|
+
* @category mapping
|
|
260
|
+
* @since 2.0.0
|
|
261
|
+
*/
|
|
121
262
|
<L1, R, L2>(self: readonly [L1, R], f: (left: L1) => L2): [L2, R]
|
|
122
263
|
} = dual(2, <L1, R, L2>(self: readonly [L1, R], f: (left: L1) => L2): [L2, R] => [f(self[0]), self[1]])
|
|
123
264
|
|
|
@@ -139,7 +280,41 @@ export const mapFirst: {
|
|
|
139
280
|
* @since 2.0.0
|
|
140
281
|
*/
|
|
141
282
|
export const mapSecond: {
|
|
283
|
+
/**
|
|
284
|
+
* Transforms the second component of a tuple using a given function.
|
|
285
|
+
*
|
|
286
|
+
* @param self - A tuple of length `2`.
|
|
287
|
+
* @param f - The function to transform the second element of the tuple.
|
|
288
|
+
*
|
|
289
|
+
* @example
|
|
290
|
+
* import { mapSecond } from "effect/Tuple"
|
|
291
|
+
*
|
|
292
|
+
* assert.deepStrictEqual(
|
|
293
|
+
* mapSecond(["hello", 42], n => n.toString()),
|
|
294
|
+
* ["hello", "42"]
|
|
295
|
+
* )
|
|
296
|
+
*
|
|
297
|
+
* @category mapping
|
|
298
|
+
* @since 2.0.0
|
|
299
|
+
*/
|
|
142
300
|
<R1, R2>(f: (right: R1) => R2): <L>(self: readonly [L, R1]) => [L, R2]
|
|
301
|
+
/**
|
|
302
|
+
* Transforms the second component of a tuple using a given function.
|
|
303
|
+
*
|
|
304
|
+
* @param self - A tuple of length `2`.
|
|
305
|
+
* @param f - The function to transform the second element of the tuple.
|
|
306
|
+
*
|
|
307
|
+
* @example
|
|
308
|
+
* import { mapSecond } from "effect/Tuple"
|
|
309
|
+
*
|
|
310
|
+
* assert.deepStrictEqual(
|
|
311
|
+
* mapSecond(["hello", 42], n => n.toString()),
|
|
312
|
+
* ["hello", "42"]
|
|
313
|
+
* )
|
|
314
|
+
*
|
|
315
|
+
* @category mapping
|
|
316
|
+
* @since 2.0.0
|
|
317
|
+
*/
|
|
143
318
|
<L, R1, R2>(self: readonly [L, R1], f: (right: R1) => R2): [L, R2]
|
|
144
319
|
} = dual(2, <L, R1, R2>(self: readonly [L, R1], f: (right: R1) => R2): [L, R2] => [self[0], f(self[1])])
|
|
145
320
|
|
|
@@ -190,7 +365,19 @@ export const getOrder: <T extends ReadonlyArray<order.Order<any>>>(
|
|
|
190
365
|
* @since 2.0.0
|
|
191
366
|
*/
|
|
192
367
|
export const appendElement: {
|
|
368
|
+
/**
|
|
369
|
+
* Appends an element to the end of a tuple.
|
|
370
|
+
*
|
|
371
|
+
* @category concatenating
|
|
372
|
+
* @since 2.0.0
|
|
373
|
+
*/
|
|
193
374
|
<B>(that: B): <A extends ReadonlyArray<unknown>>(self: A) => [...A, B]
|
|
375
|
+
/**
|
|
376
|
+
* Appends an element to the end of a tuple.
|
|
377
|
+
*
|
|
378
|
+
* @category concatenating
|
|
379
|
+
* @since 2.0.0
|
|
380
|
+
*/
|
|
194
381
|
<A extends ReadonlyArray<unknown>, B>(self: A, that: B): [...A, B]
|
|
195
382
|
} = dual(2, <A extends ReadonlyArray<unknown>, B>(self: A, that: B): [...A, B] => [...self, that])
|
|
196
383
|
|
|
@@ -209,7 +396,35 @@ export const appendElement: {
|
|
|
209
396
|
* @since 3.4.0
|
|
210
397
|
*/
|
|
211
398
|
export const at: {
|
|
399
|
+
/**
|
|
400
|
+
* Retrieves the element at a specified index from a tuple.
|
|
401
|
+
*
|
|
402
|
+
* @param self - A tuple from which to retrieve the element.
|
|
403
|
+
* @param index - The index of the element to retrieve.
|
|
404
|
+
*
|
|
405
|
+
* @example
|
|
406
|
+
* import { Tuple } from "effect"
|
|
407
|
+
*
|
|
408
|
+
* assert.deepStrictEqual(Tuple.at([1, 'hello', true], 1), 'hello')
|
|
409
|
+
*
|
|
410
|
+
* @category getters
|
|
411
|
+
* @since 3.4.0
|
|
412
|
+
*/
|
|
212
413
|
<N extends number>(index: N): <A extends ReadonlyArray<unknown>>(self: A) => A[N]
|
|
414
|
+
/**
|
|
415
|
+
* Retrieves the element at a specified index from a tuple.
|
|
416
|
+
*
|
|
417
|
+
* @param self - A tuple from which to retrieve the element.
|
|
418
|
+
* @param index - The index of the element to retrieve.
|
|
419
|
+
*
|
|
420
|
+
* @example
|
|
421
|
+
* import { Tuple } from "effect"
|
|
422
|
+
*
|
|
423
|
+
* assert.deepStrictEqual(Tuple.at([1, 'hello', true], 1), 'hello')
|
|
424
|
+
*
|
|
425
|
+
* @category getters
|
|
426
|
+
* @since 3.4.0
|
|
427
|
+
*/
|
|
213
428
|
<A extends ReadonlyArray<unknown>, N extends number>(self: A, index: N): A[N]
|
|
214
429
|
} = dual(2, <A extends ReadonlyArray<unknown>, N extends number>(self: A, index: N): A[N] => self[index])
|
|
215
430
|
|
package/src/Types.ts
CHANGED
|
@@ -254,6 +254,18 @@ export type NoInfer<A> = [A][A extends any ? 0 : never]
|
|
|
254
254
|
*/
|
|
255
255
|
export type Invariant<A> = (_: A) => A
|
|
256
256
|
|
|
257
|
+
/**
|
|
258
|
+
* @since 3.9.0
|
|
259
|
+
* @category models
|
|
260
|
+
*/
|
|
261
|
+
export declare namespace Invariant {
|
|
262
|
+
/**
|
|
263
|
+
* @since 3.9.0
|
|
264
|
+
* @category models
|
|
265
|
+
*/
|
|
266
|
+
export type Type<A> = A extends Invariant<infer U> ? U : never
|
|
267
|
+
}
|
|
268
|
+
|
|
257
269
|
/**
|
|
258
270
|
* Covariant helper.
|
|
259
271
|
*
|
|
@@ -262,6 +274,18 @@ export type Invariant<A> = (_: A) => A
|
|
|
262
274
|
*/
|
|
263
275
|
export type Covariant<A> = (_: never) => A
|
|
264
276
|
|
|
277
|
+
/**
|
|
278
|
+
* @since 3.9.0
|
|
279
|
+
* @category models
|
|
280
|
+
*/
|
|
281
|
+
export declare namespace Covariant {
|
|
282
|
+
/**
|
|
283
|
+
* @since 3.9.0
|
|
284
|
+
* @category models
|
|
285
|
+
*/
|
|
286
|
+
export type Type<A> = A extends Covariant<infer U> ? U : never
|
|
287
|
+
}
|
|
288
|
+
|
|
265
289
|
/**
|
|
266
290
|
* Contravariant helper.
|
|
267
291
|
*
|
|
@@ -270,6 +294,18 @@ export type Covariant<A> = (_: never) => A
|
|
|
270
294
|
*/
|
|
271
295
|
export type Contravariant<A> = (_: A) => void
|
|
272
296
|
|
|
297
|
+
/**
|
|
298
|
+
* @since 3.9.0
|
|
299
|
+
* @category models
|
|
300
|
+
*/
|
|
301
|
+
export declare namespace Contravariant {
|
|
302
|
+
/**
|
|
303
|
+
* @since 3.9.0
|
|
304
|
+
* @category models
|
|
305
|
+
*/
|
|
306
|
+
export type Type<A> = A extends Contravariant<infer U> ? U : never
|
|
307
|
+
}
|
|
308
|
+
|
|
273
309
|
/**
|
|
274
310
|
* @since 2.0.0
|
|
275
311
|
*/
|
|
@@ -279,3 +315,8 @@ export type MatchRecord<S, onTrue, onFalse> = {} extends S ? onTrue : onFalse
|
|
|
279
315
|
* @since 2.0.0
|
|
280
316
|
*/
|
|
281
317
|
export type NotFunction<T> = T extends Function ? never : T
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* @since 3.9.0
|
|
321
|
+
*/
|
|
322
|
+
export type NoExcessProperties<T, U> = T & { readonly [K in Exclude<keyof U, keyof T>]: never }
|
package/src/Unify.ts
CHANGED
|
@@ -34,26 +34,21 @@ export declare const ignoreSymbol: unique symbol
|
|
|
34
34
|
*/
|
|
35
35
|
export type ignoreSymbol = typeof ignoreSymbol
|
|
36
36
|
|
|
37
|
-
type MaybeReturn<F> = F extends () =>
|
|
37
|
+
type MaybeReturn<F> = F extends () => infer R ? R : NonNullable<F>
|
|
38
38
|
|
|
39
|
-
type Values<X extends [any, any]> = X extends
|
|
40
|
-
?
|
|
39
|
+
type Values<X extends [any, any]> = X extends [infer A, infer Ignore]
|
|
40
|
+
? Exclude<keyof A, Ignore> extends infer k ? k extends keyof A ? MaybeReturn<A[k]> : never : never
|
|
41
41
|
: never
|
|
42
42
|
|
|
43
|
-
type Ignore<X> = X extends {
|
|
44
|
-
[ignoreSymbol]?: any
|
|
45
|
-
} ? keyof NonNullable<X[ignoreSymbol]>
|
|
43
|
+
type Ignore<X> = X extends { [ignoreSymbol]?: infer Obj } ? keyof NonNullable<Obj>
|
|
46
44
|
: never
|
|
47
45
|
|
|
48
46
|
type ExtractTypes<
|
|
49
|
-
X
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
NonNullable<X[unifySymbol]>,
|
|
55
|
-
Ignore<X>
|
|
56
|
-
]
|
|
47
|
+
X
|
|
48
|
+
> = X extends {
|
|
49
|
+
[typeSymbol]?: infer _Type
|
|
50
|
+
[unifySymbol]?: infer _Unify
|
|
51
|
+
} ? [NonNullable<_Unify>, Ignore<X>]
|
|
57
52
|
: never
|
|
58
53
|
|
|
59
54
|
type FilterIn<A> = A extends any ? typeSymbol extends keyof A ? A : never : never
|
|
@@ -76,6 +71,9 @@ export type Unify<A> = Values<
|
|
|
76
71
|
* @since 2.0.0
|
|
77
72
|
*/
|
|
78
73
|
export const unify: {
|
|
74
|
+
/**
|
|
75
|
+
* @since 2.0.0
|
|
76
|
+
*/
|
|
79
77
|
<
|
|
80
78
|
Args extends Array<any>,
|
|
81
79
|
Args2 extends Array<any>,
|
|
@@ -86,6 +84,9 @@ export const unify: {
|
|
|
86
84
|
>(
|
|
87
85
|
x: (...args: Args) => (...args: Args2) => (...args: Args3) => (...args: Args4) => (...args: Args5) => T
|
|
88
86
|
): (...args: Args) => (...args: Args2) => (...args: Args3) => (...args: Args4) => (...args: Args5) => Unify<T>
|
|
87
|
+
/**
|
|
88
|
+
* @since 2.0.0
|
|
89
|
+
*/
|
|
89
90
|
<
|
|
90
91
|
Args extends Array<any>,
|
|
91
92
|
Args2 extends Array<any>,
|
|
@@ -95,6 +96,9 @@ export const unify: {
|
|
|
95
96
|
>(
|
|
96
97
|
x: (...args: Args) => (...args: Args2) => (...args: Args3) => (...args: Args4) => T
|
|
97
98
|
): (...args: Args) => (...args: Args2) => (...args: Args3) => (...args: Args4) => Unify<T>
|
|
99
|
+
/**
|
|
100
|
+
* @since 2.0.0
|
|
101
|
+
*/
|
|
98
102
|
<
|
|
99
103
|
Args extends Array<any>,
|
|
100
104
|
Args2 extends Array<any>,
|
|
@@ -103,16 +107,23 @@ export const unify: {
|
|
|
103
107
|
>(
|
|
104
108
|
x: (...args: Args) => (...args: Args2) => (...args: Args3) => T
|
|
105
109
|
): (...args: Args) => (...args: Args2) => (...args: Args3) => Unify<T>
|
|
110
|
+
/**
|
|
111
|
+
* @since 2.0.0
|
|
112
|
+
*/
|
|
106
113
|
<
|
|
107
114
|
Args extends Array<any>,
|
|
108
115
|
Args2 extends Array<any>,
|
|
109
116
|
T
|
|
110
|
-
>(
|
|
111
|
-
|
|
112
|
-
|
|
117
|
+
>(x: (...args: Args) => (...args: Args2) => T): (...args: Args) => (...args: Args2) => Unify<T>
|
|
118
|
+
/**
|
|
119
|
+
* @since 2.0.0
|
|
120
|
+
*/
|
|
113
121
|
<
|
|
114
122
|
Args extends Array<any>,
|
|
115
123
|
T
|
|
116
124
|
>(x: (...args: Args) => T): (...args: Args) => Unify<T>
|
|
125
|
+
/**
|
|
126
|
+
* @since 2.0.0
|
|
127
|
+
*/
|
|
117
128
|
<T>(x: T): Unify<T>
|
|
118
129
|
} = identity as any
|
|
@@ -101,12 +101,24 @@ export const isNoUpstream: <A>(self: UpstreamPullRequest<A>) => self is NoUpstre
|
|
|
101
101
|
* @category folding
|
|
102
102
|
*/
|
|
103
103
|
export const match: {
|
|
104
|
+
/**
|
|
105
|
+
* Folds an `UpstreamPullRequest<A>` into a value of type `Z`.
|
|
106
|
+
*
|
|
107
|
+
* @since 2.0.0
|
|
108
|
+
* @category folding
|
|
109
|
+
*/
|
|
104
110
|
<A, Z>(
|
|
105
111
|
options: {
|
|
106
112
|
readonly onPulled: (value: A) => Z
|
|
107
113
|
readonly onNoUpstream: (activeDownstreamCount: number) => Z
|
|
108
114
|
}
|
|
109
115
|
): (self: UpstreamPullRequest<A>) => Z
|
|
116
|
+
/**
|
|
117
|
+
* Folds an `UpstreamPullRequest<A>` into a value of type `Z`.
|
|
118
|
+
*
|
|
119
|
+
* @since 2.0.0
|
|
120
|
+
* @category folding
|
|
121
|
+
*/
|
|
110
122
|
<A, Z>(
|
|
111
123
|
self: UpstreamPullRequest<A>,
|
|
112
124
|
options: {
|
|
@@ -105,12 +105,24 @@ export const isPullAfterAllEnqueued: <A>(self: UpstreamPullStrategy<A>) => self
|
|
|
105
105
|
* @category folding
|
|
106
106
|
*/
|
|
107
107
|
export const match: {
|
|
108
|
+
/**
|
|
109
|
+
* Folds an `UpstreamPullStrategy<A>` into a value of type `Z`.
|
|
110
|
+
*
|
|
111
|
+
* @since 2.0.0
|
|
112
|
+
* @category folding
|
|
113
|
+
*/
|
|
108
114
|
<A, Z>(
|
|
109
115
|
options: {
|
|
110
116
|
readonly onNext: (emitSeparator: Option.Option<A>) => Z
|
|
111
117
|
readonly onAllEnqueued: (emitSeparator: Option.Option<A>) => Z
|
|
112
118
|
}
|
|
113
119
|
): (self: UpstreamPullStrategy<A>) => Z
|
|
120
|
+
/**
|
|
121
|
+
* Folds an `UpstreamPullStrategy<A>` into a value of type `Z`.
|
|
122
|
+
*
|
|
123
|
+
* @since 2.0.0
|
|
124
|
+
* @category folding
|
|
125
|
+
*/
|
|
114
126
|
<A, Z>(
|
|
115
127
|
self: UpstreamPullStrategy<A>,
|
|
116
128
|
options: {
|
package/src/Utils.ts
CHANGED
|
@@ -614,21 +614,7 @@ export class PCGRandom {
|
|
|
614
614
|
* @since 2.0.0
|
|
615
615
|
*/
|
|
616
616
|
integer(max: number) {
|
|
617
|
-
|
|
618
|
-
return this._next()
|
|
619
|
-
}
|
|
620
|
-
max = max >>> 0
|
|
621
|
-
if ((max & (max - 1)) === 0) {
|
|
622
|
-
return this._next() & (max - 1) // fast path for power of 2
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
let num = 0
|
|
626
|
-
const skew = (-max >>> 0) % max >>> 0
|
|
627
|
-
for (num = this._next(); num < skew; num = this._next()) {
|
|
628
|
-
// this loop will rarely execute more than twice,
|
|
629
|
-
// and is intentionally empty
|
|
630
|
-
}
|
|
631
|
-
return num % max
|
|
617
|
+
return Math.round(this.number() * Number.MAX_SAFE_INTEGER) % max
|
|
632
618
|
}
|
|
633
619
|
|
|
634
620
|
/**
|
package/src/internal/cause.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { constFalse, constTrue, dual, identity, pipe } from "../Function.js"
|
|
|
8
8
|
import { globalValue } from "../GlobalValue.js"
|
|
9
9
|
import * as Hash from "../Hash.js"
|
|
10
10
|
import * as HashSet from "../HashSet.js"
|
|
11
|
-
import { NodeInspectSymbol, toJSON } from "../Inspectable.js"
|
|
11
|
+
import { DenoInspectSymbol, NodeInspectSymbol, toJSON } from "../Inspectable.js"
|
|
12
12
|
import * as Option from "../Option.js"
|
|
13
13
|
import { pipeArguments } from "../Pipeable.js"
|
|
14
14
|
import type { Predicate, Refinement } from "../Predicate.js"
|
|
@@ -69,6 +69,9 @@ const proto = {
|
|
|
69
69
|
toString<E>(this: Cause.Cause<E>) {
|
|
70
70
|
return pretty(this)
|
|
71
71
|
},
|
|
72
|
+
[DenoInspectSymbol]<E>(this: Cause.Cause<E>) {
|
|
73
|
+
return this.toJSON()
|
|
74
|
+
},
|
|
72
75
|
[NodeInspectSymbol]<E>(this: Cause.Cause<E>) {
|
|
73
76
|
return this.toJSON()
|
|
74
77
|
}
|
package/src/internal/context.ts
CHANGED
|
@@ -3,7 +3,7 @@ import * as Equal from "../Equal.js"
|
|
|
3
3
|
import type { LazyArg } from "../Function.js"
|
|
4
4
|
import { dual } from "../Function.js"
|
|
5
5
|
import * as Hash from "../Hash.js"
|
|
6
|
-
import { format, NodeInspectSymbol, toJSON } from "../Inspectable.js"
|
|
6
|
+
import { DenoInspectSymbol, format, NodeInspectSymbol, toJSON } from "../Inspectable.js"
|
|
7
7
|
import type * as O from "../Option.js"
|
|
8
8
|
import { pipeArguments } from "../Pipeable.js"
|
|
9
9
|
import { hasProperty } from "../Predicate.js"
|
|
@@ -25,7 +25,6 @@ export const STMTypeId: STM.STMTypeId = Symbol.for(
|
|
|
25
25
|
/** @internal */
|
|
26
26
|
export const TagProto: any = {
|
|
27
27
|
...EffectPrototype,
|
|
28
|
-
_tag: "Tag",
|
|
29
28
|
_op: "Tag",
|
|
30
29
|
[STMTypeId]: effectVariance,
|
|
31
30
|
[TagTypeId]: {
|
|
@@ -42,6 +41,9 @@ export const TagProto: any = {
|
|
|
42
41
|
stack: this.stack
|
|
43
42
|
}
|
|
44
43
|
},
|
|
44
|
+
[DenoInspectSymbol]() {
|
|
45
|
+
return this.toJSON()
|
|
46
|
+
},
|
|
45
47
|
[NodeInspectSymbol]() {
|
|
46
48
|
return this.toJSON()
|
|
47
49
|
},
|
|
@@ -126,6 +128,9 @@ export const ContextProto: Omit<C.Context<unknown>, "unsafeMap"> = {
|
|
|
126
128
|
services: Array.from(this.unsafeMap).map(toJSON)
|
|
127
129
|
}
|
|
128
130
|
},
|
|
131
|
+
[DenoInspectSymbol]() {
|
|
132
|
+
return (this as any).toJSON()
|
|
133
|
+
},
|
|
129
134
|
[NodeInspectSymbol]() {
|
|
130
135
|
return (this as any).toJSON()
|
|
131
136
|
}
|
|
@@ -1055,17 +1055,17 @@ const loopDiscard = <S, X, E, R>(
|
|
|
1055
1055
|
|
|
1056
1056
|
/* @internal */
|
|
1057
1057
|
export const mapAccum: {
|
|
1058
|
-
<S, A, B, E, R>(
|
|
1058
|
+
<S, A, B, E, R, I extends Iterable<A> = Iterable<A>>(
|
|
1059
1059
|
zero: S,
|
|
1060
1060
|
f: (s: S, a: A, i: number) => Effect.Effect<readonly [S, B], E, R>
|
|
1061
|
-
): (elements:
|
|
1062
|
-
<A, S, B, E, R>(
|
|
1063
|
-
elements:
|
|
1061
|
+
): (elements: I) => Effect.Effect<[S, Arr.ReadonlyArray.With<I, B>], E, R>
|
|
1062
|
+
<A, S, B, E, R, I extends Iterable<A> = Iterable<A>>(
|
|
1063
|
+
elements: I,
|
|
1064
1064
|
zero: S,
|
|
1065
1065
|
f: (s: S, a: A, i: number) => Effect.Effect<readonly [S, B], E, R>
|
|
1066
|
-
): Effect.Effect<[S,
|
|
1067
|
-
} = dual(3, <A, S, B, E, R>(
|
|
1068
|
-
elements:
|
|
1066
|
+
): Effect.Effect<[S, Arr.ReadonlyArray.With<I, B>], E, R>
|
|
1067
|
+
} = dual(3, <A, S, B, E, R, I extends Iterable<A> = Iterable<A>>(
|
|
1068
|
+
elements: I,
|
|
1069
1069
|
zero: S,
|
|
1070
1070
|
f: (s: S, a: A, i: number) => Effect.Effect<readonly [S, B], E, R>
|
|
1071
1071
|
): Effect.Effect<[S, Array<B>], E, R> =>
|
package/src/internal/core.ts
CHANGED
|
@@ -21,7 +21,7 @@ import { globalValue } from "../GlobalValue.js"
|
|
|
21
21
|
import * as Hash from "../Hash.js"
|
|
22
22
|
import * as HashMap from "../HashMap.js"
|
|
23
23
|
import type * as HashSet from "../HashSet.js"
|
|
24
|
-
import { format, NodeInspectSymbol, toJSON } from "../Inspectable.js"
|
|
24
|
+
import { DenoInspectSymbol, format, NodeInspectSymbol, toJSON } from "../Inspectable.js"
|
|
25
25
|
import * as List from "../List.js"
|
|
26
26
|
import type * as LogLevel from "../LogLevel.js"
|
|
27
27
|
import type * as LogSpan from "../LogSpan.js"
|
|
@@ -177,6 +177,9 @@ class EffectPrimitive {
|
|
|
177
177
|
toString() {
|
|
178
178
|
return format(this.toJSON())
|
|
179
179
|
}
|
|
180
|
+
[DenoInspectSymbol]() {
|
|
181
|
+
return this.toJSON()
|
|
182
|
+
}
|
|
180
183
|
[NodeInspectSymbol]() {
|
|
181
184
|
return this.toJSON()
|
|
182
185
|
}
|
|
@@ -226,6 +229,9 @@ class EffectPrimitiveFailure {
|
|
|
226
229
|
toString() {
|
|
227
230
|
return format(this.toJSON())
|
|
228
231
|
}
|
|
232
|
+
[DenoInspectSymbol]() {
|
|
233
|
+
return this.toJSON()
|
|
234
|
+
}
|
|
229
235
|
[NodeInspectSymbol]() {
|
|
230
236
|
return this.toJSON()
|
|
231
237
|
}
|
|
@@ -275,6 +281,9 @@ class EffectPrimitiveSuccess {
|
|
|
275
281
|
toString() {
|
|
276
282
|
return format(this.toJSON())
|
|
277
283
|
}
|
|
284
|
+
[DenoInspectSymbol]() {
|
|
285
|
+
return this.toJSON()
|
|
286
|
+
}
|
|
278
287
|
[NodeInspectSymbol]() {
|
|
279
288
|
return this.toJSON()
|
|
280
289
|
}
|
|
@@ -673,7 +682,7 @@ export const originalInstance = <E>(obj: E): E => {
|
|
|
673
682
|
}
|
|
674
683
|
|
|
675
684
|
/* @internal */
|
|
676
|
-
const capture = <E>(obj: E & object, span: Option.Option<Tracer.Span>): E => {
|
|
685
|
+
export const capture = <E>(obj: E & object, span: Option.Option<Tracer.Span>): E => {
|
|
677
686
|
if (Option.isSome(span)) {
|
|
678
687
|
return new Proxy(obj, {
|
|
679
688
|
has(target, p) {
|
|
@@ -2194,6 +2203,9 @@ export const YieldableError: new(message?: string, options?: ErrorOptions) => Ca
|
|
|
2194
2203
|
toJSON() {
|
|
2195
2204
|
return { ...this }
|
|
2196
2205
|
}
|
|
2206
|
+
[DenoInspectSymbol]() {
|
|
2207
|
+
return this[NodeInspectSymbol]()
|
|
2208
|
+
}
|
|
2197
2209
|
[NodeInspectSymbol]() {
|
|
2198
2210
|
if (this.toString !== globalThis.Error.prototype.toString) {
|
|
2199
2211
|
return this.stack ? `${this.toString()}\n${this.stack.split("\n").slice(1).join("\n")}` : this.toString()
|
|
@@ -112,10 +112,16 @@ export const unsafeMakeSemaphore = (permits: number): Semaphore => new Semaphore
|
|
|
112
112
|
/** @internal */
|
|
113
113
|
export const makeSemaphore = (permits: number) => core.sync(() => unsafeMakeSemaphore(permits))
|
|
114
114
|
|
|
115
|
-
class Latch implements Effect.Latch {
|
|
115
|
+
class Latch extends Effectable.Class<void> implements Effect.Latch {
|
|
116
116
|
waiters: Array<(_: Effect.Effect<void>) => void> = []
|
|
117
117
|
scheduled = false
|
|
118
|
-
constructor(private isOpen: boolean) {
|
|
118
|
+
constructor(private isOpen: boolean) {
|
|
119
|
+
super()
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
commit() {
|
|
123
|
+
return this.await
|
|
124
|
+
}
|
|
119
125
|
|
|
120
126
|
private unsafeSchedule(fiber: Fiber.RuntimeFiber<void>) {
|
|
121
127
|
if (this.scheduled || this.waiters.length === 0) {
|