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/Context.ts
CHANGED
|
@@ -29,7 +29,6 @@ export type TagTypeId = typeof TagTypeId
|
|
|
29
29
|
* @category models
|
|
30
30
|
*/
|
|
31
31
|
export interface Tag<in out Id, in out Value> extends Pipeable, Inspectable {
|
|
32
|
-
readonly _tag: "Tag"
|
|
33
32
|
readonly _op: "Tag"
|
|
34
33
|
readonly Service: Value
|
|
35
34
|
readonly Identifier: Id
|
|
@@ -85,13 +84,13 @@ export declare namespace Tag {
|
|
|
85
84
|
/**
|
|
86
85
|
* @since 2.0.0
|
|
87
86
|
*/
|
|
88
|
-
export type Service<T extends Tag<any, any> | TagClassShape<any, any>> = T extends Tag<any,
|
|
87
|
+
export type Service<T extends Tag<any, any> | TagClassShape<any, any>> = T extends Tag<any, any> ? T["Service"]
|
|
89
88
|
: T extends TagClassShape<any, infer A> ? A
|
|
90
89
|
: never
|
|
91
90
|
/**
|
|
92
91
|
* @since 2.0.0
|
|
93
92
|
*/
|
|
94
|
-
export type Identifier<T extends Tag<any, any> | TagClassShape<any, any>> = T extends Tag<
|
|
93
|
+
export type Identifier<T extends Tag<any, any> | TagClassShape<any, any>> = T extends Tag<any, any> ? T["Identifier"]
|
|
95
94
|
: T extends TagClassShape<any, any> ? T
|
|
96
95
|
: never
|
|
97
96
|
}
|
|
@@ -226,10 +225,52 @@ export const make: <T extends Tag<any, any>>(tag: T, service: Tag.Service<T>) =>
|
|
|
226
225
|
* @since 2.0.0
|
|
227
226
|
*/
|
|
228
227
|
export const add: {
|
|
228
|
+
/**
|
|
229
|
+
* Adds a service to a given `Context`.
|
|
230
|
+
*
|
|
231
|
+
* @example
|
|
232
|
+
* import { Context, pipe } from "effect"
|
|
233
|
+
*
|
|
234
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
235
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
236
|
+
*
|
|
237
|
+
* const someContext = Context.make(Port, { PORT: 8080 })
|
|
238
|
+
*
|
|
239
|
+
* const Services = pipe(
|
|
240
|
+
* someContext,
|
|
241
|
+
* Context.add(Timeout, { TIMEOUT: 5000 })
|
|
242
|
+
* )
|
|
243
|
+
*
|
|
244
|
+
* assert.deepStrictEqual(Context.get(Services, Port), { PORT: 8080 })
|
|
245
|
+
* assert.deepStrictEqual(Context.get(Services, Timeout), { TIMEOUT: 5000 })
|
|
246
|
+
*
|
|
247
|
+
* @since 2.0.0
|
|
248
|
+
*/
|
|
229
249
|
<T extends Tag<any, any>>(
|
|
230
250
|
tag: T,
|
|
231
251
|
service: Tag.Service<T>
|
|
232
252
|
): <Services>(self: Context<Services>) => Context<Services | Tag.Identifier<T>>
|
|
253
|
+
/**
|
|
254
|
+
* Adds a service to a given `Context`.
|
|
255
|
+
*
|
|
256
|
+
* @example
|
|
257
|
+
* import { Context, pipe } from "effect"
|
|
258
|
+
*
|
|
259
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
260
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
261
|
+
*
|
|
262
|
+
* const someContext = Context.make(Port, { PORT: 8080 })
|
|
263
|
+
*
|
|
264
|
+
* const Services = pipe(
|
|
265
|
+
* someContext,
|
|
266
|
+
* Context.add(Timeout, { TIMEOUT: 5000 })
|
|
267
|
+
* )
|
|
268
|
+
*
|
|
269
|
+
* assert.deepStrictEqual(Context.get(Services, Port), { PORT: 8080 })
|
|
270
|
+
* assert.deepStrictEqual(Context.get(Services, Timeout), { TIMEOUT: 5000 })
|
|
271
|
+
*
|
|
272
|
+
* @since 2.0.0
|
|
273
|
+
*/
|
|
233
274
|
<Services, T extends Tag<any, any>>(
|
|
234
275
|
self: Context<Services>,
|
|
235
276
|
tag: T,
|
|
@@ -260,7 +301,51 @@ export const add: {
|
|
|
260
301
|
* @category getters
|
|
261
302
|
*/
|
|
262
303
|
export const get: {
|
|
304
|
+
/**
|
|
305
|
+
* Get a service from the context that corresponds to the given tag.
|
|
306
|
+
*
|
|
307
|
+
* @param self - The `Context` to search for the service.
|
|
308
|
+
* @param tag - The `Tag` of the service to retrieve.
|
|
309
|
+
*
|
|
310
|
+
* @example
|
|
311
|
+
* import { pipe, Context } from "effect"
|
|
312
|
+
*
|
|
313
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
314
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
315
|
+
*
|
|
316
|
+
* const Services = pipe(
|
|
317
|
+
* Context.make(Port, { PORT: 8080 }),
|
|
318
|
+
* Context.add(Timeout, { TIMEOUT: 5000 })
|
|
319
|
+
* )
|
|
320
|
+
*
|
|
321
|
+
* assert.deepStrictEqual(Context.get(Services, Timeout), { TIMEOUT: 5000 })
|
|
322
|
+
*
|
|
323
|
+
* @since 2.0.0
|
|
324
|
+
* @category getters
|
|
325
|
+
*/
|
|
263
326
|
<Services, T extends ValidTagsById<Services>>(tag: T): (self: Context<Services>) => Tag.Service<T>
|
|
327
|
+
/**
|
|
328
|
+
* Get a service from the context that corresponds to the given tag.
|
|
329
|
+
*
|
|
330
|
+
* @param self - The `Context` to search for the service.
|
|
331
|
+
* @param tag - The `Tag` of the service to retrieve.
|
|
332
|
+
*
|
|
333
|
+
* @example
|
|
334
|
+
* import { pipe, Context } from "effect"
|
|
335
|
+
*
|
|
336
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
337
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
338
|
+
*
|
|
339
|
+
* const Services = pipe(
|
|
340
|
+
* Context.make(Port, { PORT: 8080 }),
|
|
341
|
+
* Context.add(Timeout, { TIMEOUT: 5000 })
|
|
342
|
+
* )
|
|
343
|
+
*
|
|
344
|
+
* assert.deepStrictEqual(Context.get(Services, Timeout), { TIMEOUT: 5000 })
|
|
345
|
+
*
|
|
346
|
+
* @since 2.0.0
|
|
347
|
+
* @category getters
|
|
348
|
+
*/
|
|
264
349
|
<Services, T extends ValidTagsById<Services>>(self: Context<Services>, tag: T): Tag.Service<T>
|
|
265
350
|
} = internal.get
|
|
266
351
|
|
|
@@ -272,7 +357,21 @@ export const get: {
|
|
|
272
357
|
* @category getters
|
|
273
358
|
*/
|
|
274
359
|
export const getOrElse: {
|
|
360
|
+
/**
|
|
361
|
+
* Get a service from the context that corresponds to the given tag, or
|
|
362
|
+
* use the fallback value.
|
|
363
|
+
*
|
|
364
|
+
* @since 3.7.0
|
|
365
|
+
* @category getters
|
|
366
|
+
*/
|
|
275
367
|
<S, I, B>(tag: Tag<I, S>, orElse: LazyArg<B>): <Services>(self: Context<Services>) => S | B
|
|
368
|
+
/**
|
|
369
|
+
* Get a service from the context that corresponds to the given tag, or
|
|
370
|
+
* use the fallback value.
|
|
371
|
+
*
|
|
372
|
+
* @since 3.7.0
|
|
373
|
+
* @category getters
|
|
374
|
+
*/
|
|
276
375
|
<Services, S, I, B>(self: Context<Services>, tag: Tag<I, S>, orElse: LazyArg<B>): S | B
|
|
277
376
|
} = internal.getOrElse
|
|
278
377
|
|
|
@@ -300,7 +399,53 @@ export const getOrElse: {
|
|
|
300
399
|
* @category unsafe
|
|
301
400
|
*/
|
|
302
401
|
export const unsafeGet: {
|
|
402
|
+
/**
|
|
403
|
+
* Get a service from the context that corresponds to the given tag.
|
|
404
|
+
* This function is unsafe because if the tag is not present in the context, a runtime error will be thrown.
|
|
405
|
+
*
|
|
406
|
+
* For a safer version see {@link getOption}.
|
|
407
|
+
*
|
|
408
|
+
* @param self - The `Context` to search for the service.
|
|
409
|
+
* @param tag - The `Tag` of the service to retrieve.
|
|
410
|
+
*
|
|
411
|
+
* @example
|
|
412
|
+
* import { Context } from "effect"
|
|
413
|
+
*
|
|
414
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
415
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
416
|
+
*
|
|
417
|
+
* const Services = Context.make(Port, { PORT: 8080 })
|
|
418
|
+
*
|
|
419
|
+
* assert.deepStrictEqual(Context.unsafeGet(Services, Port), { PORT: 8080 })
|
|
420
|
+
* assert.throws(() => Context.unsafeGet(Services, Timeout))
|
|
421
|
+
*
|
|
422
|
+
* @since 2.0.0
|
|
423
|
+
* @category unsafe
|
|
424
|
+
*/
|
|
303
425
|
<S, I>(tag: Tag<I, S>): <Services>(self: Context<Services>) => S
|
|
426
|
+
/**
|
|
427
|
+
* Get a service from the context that corresponds to the given tag.
|
|
428
|
+
* This function is unsafe because if the tag is not present in the context, a runtime error will be thrown.
|
|
429
|
+
*
|
|
430
|
+
* For a safer version see {@link getOption}.
|
|
431
|
+
*
|
|
432
|
+
* @param self - The `Context` to search for the service.
|
|
433
|
+
* @param tag - The `Tag` of the service to retrieve.
|
|
434
|
+
*
|
|
435
|
+
* @example
|
|
436
|
+
* import { Context } from "effect"
|
|
437
|
+
*
|
|
438
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
439
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
440
|
+
*
|
|
441
|
+
* const Services = Context.make(Port, { PORT: 8080 })
|
|
442
|
+
*
|
|
443
|
+
* assert.deepStrictEqual(Context.unsafeGet(Services, Port), { PORT: 8080 })
|
|
444
|
+
* assert.throws(() => Context.unsafeGet(Services, Timeout))
|
|
445
|
+
*
|
|
446
|
+
* @since 2.0.0
|
|
447
|
+
* @category unsafe
|
|
448
|
+
*/
|
|
304
449
|
<Services, S, I>(self: Context<Services>, tag: Tag<I, S>): S
|
|
305
450
|
} = internal.unsafeGet
|
|
306
451
|
|
|
@@ -326,7 +471,49 @@ export const unsafeGet: {
|
|
|
326
471
|
* @category getters
|
|
327
472
|
*/
|
|
328
473
|
export const getOption: {
|
|
474
|
+
/**
|
|
475
|
+
* Get the value associated with the specified tag from the context wrapped in an `Option` object. If the tag is not
|
|
476
|
+
* found, the `Option` object will be `None`.
|
|
477
|
+
*
|
|
478
|
+
* @param self - The `Context` to search for the service.
|
|
479
|
+
* @param tag - The `Tag` of the service to retrieve.
|
|
480
|
+
*
|
|
481
|
+
* @example
|
|
482
|
+
* import { Context, Option } from "effect"
|
|
483
|
+
*
|
|
484
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
485
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
486
|
+
*
|
|
487
|
+
* const Services = Context.make(Port, { PORT: 8080 })
|
|
488
|
+
*
|
|
489
|
+
* assert.deepStrictEqual(Context.getOption(Services, Port), Option.some({ PORT: 8080 }))
|
|
490
|
+
* assert.deepStrictEqual(Context.getOption(Services, Timeout), Option.none())
|
|
491
|
+
*
|
|
492
|
+
* @since 2.0.0
|
|
493
|
+
* @category getters
|
|
494
|
+
*/
|
|
329
495
|
<S, I>(tag: Tag<I, S>): <Services>(self: Context<Services>) => Option<S>
|
|
496
|
+
/**
|
|
497
|
+
* Get the value associated with the specified tag from the context wrapped in an `Option` object. If the tag is not
|
|
498
|
+
* found, the `Option` object will be `None`.
|
|
499
|
+
*
|
|
500
|
+
* @param self - The `Context` to search for the service.
|
|
501
|
+
* @param tag - The `Tag` of the service to retrieve.
|
|
502
|
+
*
|
|
503
|
+
* @example
|
|
504
|
+
* import { Context, Option } from "effect"
|
|
505
|
+
*
|
|
506
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
507
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
508
|
+
*
|
|
509
|
+
* const Services = Context.make(Port, { PORT: 8080 })
|
|
510
|
+
*
|
|
511
|
+
* assert.deepStrictEqual(Context.getOption(Services, Port), Option.some({ PORT: 8080 }))
|
|
512
|
+
* assert.deepStrictEqual(Context.getOption(Services, Timeout), Option.none())
|
|
513
|
+
*
|
|
514
|
+
* @since 2.0.0
|
|
515
|
+
* @category getters
|
|
516
|
+
*/
|
|
330
517
|
<Services, S, I>(self: Context<Services>, tag: Tag<I, S>): Option<S>
|
|
331
518
|
} = internal.getOption
|
|
332
519
|
|
|
@@ -353,7 +540,51 @@ export const getOption: {
|
|
|
353
540
|
* @since 2.0.0
|
|
354
541
|
*/
|
|
355
542
|
export const merge: {
|
|
543
|
+
/**
|
|
544
|
+
* Merges two `Context`s, returning a new `Context` containing the services of both.
|
|
545
|
+
*
|
|
546
|
+
* @param self - The first `Context` to merge.
|
|
547
|
+
* @param that - The second `Context` to merge.
|
|
548
|
+
*
|
|
549
|
+
* @example
|
|
550
|
+
* import { Context } from "effect"
|
|
551
|
+
*
|
|
552
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
553
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
554
|
+
*
|
|
555
|
+
* const firstContext = Context.make(Port, { PORT: 8080 })
|
|
556
|
+
* const secondContext = Context.make(Timeout, { TIMEOUT: 5000 })
|
|
557
|
+
*
|
|
558
|
+
* const Services = Context.merge(firstContext, secondContext)
|
|
559
|
+
*
|
|
560
|
+
* assert.deepStrictEqual(Context.get(Services, Port), { PORT: 8080 })
|
|
561
|
+
* assert.deepStrictEqual(Context.get(Services, Timeout), { TIMEOUT: 5000 })
|
|
562
|
+
*
|
|
563
|
+
* @since 2.0.0
|
|
564
|
+
*/
|
|
356
565
|
<R1>(that: Context<R1>): <Services>(self: Context<Services>) => Context<R1 | Services>
|
|
566
|
+
/**
|
|
567
|
+
* Merges two `Context`s, returning a new `Context` containing the services of both.
|
|
568
|
+
*
|
|
569
|
+
* @param self - The first `Context` to merge.
|
|
570
|
+
* @param that - The second `Context` to merge.
|
|
571
|
+
*
|
|
572
|
+
* @example
|
|
573
|
+
* import { Context } from "effect"
|
|
574
|
+
*
|
|
575
|
+
* const Port = Context.GenericTag<{ PORT: number }>("Port")
|
|
576
|
+
* const Timeout = Context.GenericTag<{ TIMEOUT: number }>("Timeout")
|
|
577
|
+
*
|
|
578
|
+
* const firstContext = Context.make(Port, { PORT: 8080 })
|
|
579
|
+
* const secondContext = Context.make(Timeout, { TIMEOUT: 5000 })
|
|
580
|
+
*
|
|
581
|
+
* const Services = Context.merge(firstContext, secondContext)
|
|
582
|
+
*
|
|
583
|
+
* assert.deepStrictEqual(Context.get(Services, Port), { PORT: 8080 })
|
|
584
|
+
* assert.deepStrictEqual(Context.get(Services, Timeout), { TIMEOUT: 5000 })
|
|
585
|
+
*
|
|
586
|
+
* @since 2.0.0
|
|
587
|
+
*/
|
|
357
588
|
<Services, R1>(self: Context<Services>, that: Context<R1>): Context<Services | R1>
|
|
358
589
|
} = internal.merge
|
|
359
590
|
|
package/src/Cron.ts
CHANGED
|
@@ -7,7 +7,7 @@ import * as Equal from "./Equal.js"
|
|
|
7
7
|
import * as equivalence from "./Equivalence.js"
|
|
8
8
|
import { dual, pipe } from "./Function.js"
|
|
9
9
|
import * as Hash from "./Hash.js"
|
|
10
|
-
import { format, type Inspectable, NodeInspectSymbol } from "./Inspectable.js"
|
|
10
|
+
import { DenoInspectSymbol, format, type Inspectable, NodeInspectSymbol } from "./Inspectable.js"
|
|
11
11
|
import * as N from "./Number.js"
|
|
12
12
|
import { type Pipeable, pipeArguments } from "./Pipeable.js"
|
|
13
13
|
import { hasProperty } from "./Predicate.js"
|
|
@@ -67,6 +67,9 @@ const CronProto: Omit<Cron, "minutes" | "hours" | "days" | "months" | "weekdays"
|
|
|
67
67
|
weekdays: Arr.fromIterable(this.weekdays)
|
|
68
68
|
}
|
|
69
69
|
},
|
|
70
|
+
[DenoInspectSymbol](this: Cron) {
|
|
71
|
+
return this.toJSON()
|
|
72
|
+
},
|
|
70
73
|
[NodeInspectSymbol](this: Cron) {
|
|
71
74
|
return this.toJSON()
|
|
72
75
|
},
|
|
@@ -370,7 +373,19 @@ const restrictionsEquals = (self: ReadonlySet<number>, that: ReadonlySet<number>
|
|
|
370
373
|
* @category predicates
|
|
371
374
|
*/
|
|
372
375
|
export const equals: {
|
|
376
|
+
/**
|
|
377
|
+
* Checks if two `Cron`s are equal.
|
|
378
|
+
*
|
|
379
|
+
* @since 2.0.0
|
|
380
|
+
* @category predicates
|
|
381
|
+
*/
|
|
373
382
|
(that: Cron): (self: Cron) => boolean
|
|
383
|
+
/**
|
|
384
|
+
* Checks if two `Cron`s are equal.
|
|
385
|
+
*
|
|
386
|
+
* @since 2.0.0
|
|
387
|
+
* @category predicates
|
|
388
|
+
*/
|
|
374
389
|
(self: Cron, that: Cron): boolean
|
|
375
390
|
} = dual(2, (self: Cron, that: Cron): boolean => Equivalence(self, that))
|
|
376
391
|
|
package/src/Data.ts
CHANGED
|
@@ -430,6 +430,39 @@ export declare namespace TaggedEnum {
|
|
|
430
430
|
* @since 2.0.0
|
|
431
431
|
*/
|
|
432
432
|
export const taggedEnum: {
|
|
433
|
+
/**
|
|
434
|
+
* Create a constructor for a tagged union of `Data` structs.
|
|
435
|
+
*
|
|
436
|
+
* You can also pass a `TaggedEnum.WithGenerics` if you want to add generics to
|
|
437
|
+
* the constructor.
|
|
438
|
+
*
|
|
439
|
+
* @example
|
|
440
|
+
* import { Data } from "effect"
|
|
441
|
+
*
|
|
442
|
+
* const { BadRequest, NotFound } = Data.taggedEnum<
|
|
443
|
+
* | { readonly _tag: "BadRequest"; readonly status: 400; readonly message: string }
|
|
444
|
+
* | { readonly _tag: "NotFound"; readonly status: 404; readonly message: string }
|
|
445
|
+
* >()
|
|
446
|
+
*
|
|
447
|
+
* const notFound = NotFound({ status: 404, message: "Not Found" })
|
|
448
|
+
*
|
|
449
|
+
* @example
|
|
450
|
+
* import { Data } from "effect"
|
|
451
|
+
*
|
|
452
|
+
* type MyResult<E, A> = Data.TaggedEnum<{
|
|
453
|
+
* Failure: { readonly error: E }
|
|
454
|
+
* Success: { readonly value: A }
|
|
455
|
+
* }>
|
|
456
|
+
* interface MyResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
|
|
457
|
+
* readonly taggedEnum: MyResult<this["A"], this["B"]>
|
|
458
|
+
* }
|
|
459
|
+
* const { Failure, Success } = Data.taggedEnum<MyResultDefinition>()
|
|
460
|
+
*
|
|
461
|
+
* const success = Success({ value: 1 })
|
|
462
|
+
*
|
|
463
|
+
* @category constructors
|
|
464
|
+
* @since 2.0.0
|
|
465
|
+
*/
|
|
433
466
|
<Z extends TaggedEnum.WithGenerics<1>>(): Types.Simplify<
|
|
434
467
|
{
|
|
435
468
|
readonly [Tag in Z["taggedEnum"]["_tag"]]: <A>(
|
|
@@ -442,6 +475,39 @@ export const taggedEnum: {
|
|
|
442
475
|
} & TaggedEnum.GenericMatchers<Z>
|
|
443
476
|
>
|
|
444
477
|
|
|
478
|
+
/**
|
|
479
|
+
* Create a constructor for a tagged union of `Data` structs.
|
|
480
|
+
*
|
|
481
|
+
* You can also pass a `TaggedEnum.WithGenerics` if you want to add generics to
|
|
482
|
+
* the constructor.
|
|
483
|
+
*
|
|
484
|
+
* @example
|
|
485
|
+
* import { Data } from "effect"
|
|
486
|
+
*
|
|
487
|
+
* const { BadRequest, NotFound } = Data.taggedEnum<
|
|
488
|
+
* | { readonly _tag: "BadRequest"; readonly status: 400; readonly message: string }
|
|
489
|
+
* | { readonly _tag: "NotFound"; readonly status: 404; readonly message: string }
|
|
490
|
+
* >()
|
|
491
|
+
*
|
|
492
|
+
* const notFound = NotFound({ status: 404, message: "Not Found" })
|
|
493
|
+
*
|
|
494
|
+
* @example
|
|
495
|
+
* import { Data } from "effect"
|
|
496
|
+
*
|
|
497
|
+
* type MyResult<E, A> = Data.TaggedEnum<{
|
|
498
|
+
* Failure: { readonly error: E }
|
|
499
|
+
* Success: { readonly value: A }
|
|
500
|
+
* }>
|
|
501
|
+
* interface MyResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
|
|
502
|
+
* readonly taggedEnum: MyResult<this["A"], this["B"]>
|
|
503
|
+
* }
|
|
504
|
+
* const { Failure, Success } = Data.taggedEnum<MyResultDefinition>()
|
|
505
|
+
*
|
|
506
|
+
* const success = Success({ value: 1 })
|
|
507
|
+
*
|
|
508
|
+
* @category constructors
|
|
509
|
+
* @since 2.0.0
|
|
510
|
+
*/
|
|
445
511
|
<Z extends TaggedEnum.WithGenerics<2>>(): Types.Simplify<
|
|
446
512
|
{
|
|
447
513
|
readonly [Tag in Z["taggedEnum"]["_tag"]]: <A, B>(
|
|
@@ -454,6 +520,39 @@ export const taggedEnum: {
|
|
|
454
520
|
} & TaggedEnum.GenericMatchers<Z>
|
|
455
521
|
>
|
|
456
522
|
|
|
523
|
+
/**
|
|
524
|
+
* Create a constructor for a tagged union of `Data` structs.
|
|
525
|
+
*
|
|
526
|
+
* You can also pass a `TaggedEnum.WithGenerics` if you want to add generics to
|
|
527
|
+
* the constructor.
|
|
528
|
+
*
|
|
529
|
+
* @example
|
|
530
|
+
* import { Data } from "effect"
|
|
531
|
+
*
|
|
532
|
+
* const { BadRequest, NotFound } = Data.taggedEnum<
|
|
533
|
+
* | { readonly _tag: "BadRequest"; readonly status: 400; readonly message: string }
|
|
534
|
+
* | { readonly _tag: "NotFound"; readonly status: 404; readonly message: string }
|
|
535
|
+
* >()
|
|
536
|
+
*
|
|
537
|
+
* const notFound = NotFound({ status: 404, message: "Not Found" })
|
|
538
|
+
*
|
|
539
|
+
* @example
|
|
540
|
+
* import { Data } from "effect"
|
|
541
|
+
*
|
|
542
|
+
* type MyResult<E, A> = Data.TaggedEnum<{
|
|
543
|
+
* Failure: { readonly error: E }
|
|
544
|
+
* Success: { readonly value: A }
|
|
545
|
+
* }>
|
|
546
|
+
* interface MyResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
|
|
547
|
+
* readonly taggedEnum: MyResult<this["A"], this["B"]>
|
|
548
|
+
* }
|
|
549
|
+
* const { Failure, Success } = Data.taggedEnum<MyResultDefinition>()
|
|
550
|
+
*
|
|
551
|
+
* const success = Success({ value: 1 })
|
|
552
|
+
*
|
|
553
|
+
* @category constructors
|
|
554
|
+
* @since 2.0.0
|
|
555
|
+
*/
|
|
457
556
|
<Z extends TaggedEnum.WithGenerics<3>>(): Types.Simplify<
|
|
458
557
|
{
|
|
459
558
|
readonly [Tag in Z["taggedEnum"]["_tag"]]: <A, B, C>(
|
|
@@ -466,6 +565,39 @@ export const taggedEnum: {
|
|
|
466
565
|
} & TaggedEnum.GenericMatchers<Z>
|
|
467
566
|
>
|
|
468
567
|
|
|
568
|
+
/**
|
|
569
|
+
* Create a constructor for a tagged union of `Data` structs.
|
|
570
|
+
*
|
|
571
|
+
* You can also pass a `TaggedEnum.WithGenerics` if you want to add generics to
|
|
572
|
+
* the constructor.
|
|
573
|
+
*
|
|
574
|
+
* @example
|
|
575
|
+
* import { Data } from "effect"
|
|
576
|
+
*
|
|
577
|
+
* const { BadRequest, NotFound } = Data.taggedEnum<
|
|
578
|
+
* | { readonly _tag: "BadRequest"; readonly status: 400; readonly message: string }
|
|
579
|
+
* | { readonly _tag: "NotFound"; readonly status: 404; readonly message: string }
|
|
580
|
+
* >()
|
|
581
|
+
*
|
|
582
|
+
* const notFound = NotFound({ status: 404, message: "Not Found" })
|
|
583
|
+
*
|
|
584
|
+
* @example
|
|
585
|
+
* import { Data } from "effect"
|
|
586
|
+
*
|
|
587
|
+
* type MyResult<E, A> = Data.TaggedEnum<{
|
|
588
|
+
* Failure: { readonly error: E }
|
|
589
|
+
* Success: { readonly value: A }
|
|
590
|
+
* }>
|
|
591
|
+
* interface MyResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
|
|
592
|
+
* readonly taggedEnum: MyResult<this["A"], this["B"]>
|
|
593
|
+
* }
|
|
594
|
+
* const { Failure, Success } = Data.taggedEnum<MyResultDefinition>()
|
|
595
|
+
*
|
|
596
|
+
* const success = Success({ value: 1 })
|
|
597
|
+
*
|
|
598
|
+
* @category constructors
|
|
599
|
+
* @since 2.0.0
|
|
600
|
+
*/
|
|
469
601
|
<Z extends TaggedEnum.WithGenerics<4>>(): Types.Simplify<
|
|
470
602
|
{
|
|
471
603
|
readonly [Tag in Z["taggedEnum"]["_tag"]]: <A, B, C, D>(
|
|
@@ -478,6 +610,39 @@ export const taggedEnum: {
|
|
|
478
610
|
} & TaggedEnum.GenericMatchers<Z>
|
|
479
611
|
>
|
|
480
612
|
|
|
613
|
+
/**
|
|
614
|
+
* Create a constructor for a tagged union of `Data` structs.
|
|
615
|
+
*
|
|
616
|
+
* You can also pass a `TaggedEnum.WithGenerics` if you want to add generics to
|
|
617
|
+
* the constructor.
|
|
618
|
+
*
|
|
619
|
+
* @example
|
|
620
|
+
* import { Data } from "effect"
|
|
621
|
+
*
|
|
622
|
+
* const { BadRequest, NotFound } = Data.taggedEnum<
|
|
623
|
+
* | { readonly _tag: "BadRequest"; readonly status: 400; readonly message: string }
|
|
624
|
+
* | { readonly _tag: "NotFound"; readonly status: 404; readonly message: string }
|
|
625
|
+
* >()
|
|
626
|
+
*
|
|
627
|
+
* const notFound = NotFound({ status: 404, message: "Not Found" })
|
|
628
|
+
*
|
|
629
|
+
* @example
|
|
630
|
+
* import { Data } from "effect"
|
|
631
|
+
*
|
|
632
|
+
* type MyResult<E, A> = Data.TaggedEnum<{
|
|
633
|
+
* Failure: { readonly error: E }
|
|
634
|
+
* Success: { readonly value: A }
|
|
635
|
+
* }>
|
|
636
|
+
* interface MyResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
|
|
637
|
+
* readonly taggedEnum: MyResult<this["A"], this["B"]>
|
|
638
|
+
* }
|
|
639
|
+
* const { Failure, Success } = Data.taggedEnum<MyResultDefinition>()
|
|
640
|
+
*
|
|
641
|
+
* const success = Success({ value: 1 })
|
|
642
|
+
*
|
|
643
|
+
* @category constructors
|
|
644
|
+
* @since 2.0.0
|
|
645
|
+
*/
|
|
481
646
|
<A extends { readonly _tag: string }>(): TaggedEnum.Constructor<A>
|
|
482
647
|
} = () =>
|
|
483
648
|
new Proxy({}, {
|