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/BigDecimal.ts
CHANGED
|
@@ -18,7 +18,7 @@ import * as Equal from "./Equal.js"
|
|
|
18
18
|
import * as equivalence from "./Equivalence.js"
|
|
19
19
|
import { dual, pipe } from "./Function.js"
|
|
20
20
|
import * as Hash from "./Hash.js"
|
|
21
|
-
import { type Inspectable, NodeInspectSymbol } from "./Inspectable.js"
|
|
21
|
+
import { DenoInspectSymbol, type Inspectable, NodeInspectSymbol } from "./Inspectable.js"
|
|
22
22
|
import * as Option from "./Option.js"
|
|
23
23
|
import * as order from "./Order.js"
|
|
24
24
|
import type { Ordering } from "./Ordering.js"
|
|
@@ -74,6 +74,9 @@ const BigDecimalProto: Omit<BigDecimal, "value" | "scale" | "normalized"> = {
|
|
|
74
74
|
scale: this.scale
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
|
+
[DenoInspectSymbol](this: BigDecimal) {
|
|
78
|
+
return this.toJSON()
|
|
79
|
+
},
|
|
77
80
|
[NodeInspectSymbol](this: BigDecimal) {
|
|
78
81
|
return this.toJSON()
|
|
79
82
|
},
|
|
@@ -183,7 +186,34 @@ export const normalize = (self: BigDecimal): BigDecimal => {
|
|
|
183
186
|
* @since 2.0.0
|
|
184
187
|
* @category scaling
|
|
185
188
|
*/
|
|
186
|
-
export const scale
|
|
189
|
+
export const scale: {
|
|
190
|
+
/**
|
|
191
|
+
* Scales a given `BigDecimal` to the specified scale.
|
|
192
|
+
*
|
|
193
|
+
* If the given scale is smaller than the current scale, the value will be rounded down to
|
|
194
|
+
* the nearest integer.
|
|
195
|
+
*
|
|
196
|
+
* @param self - The `BigDecimal` to scale.
|
|
197
|
+
* @param scale - The scale to scale to.
|
|
198
|
+
*
|
|
199
|
+
* @since 2.0.0
|
|
200
|
+
* @category scaling
|
|
201
|
+
*/
|
|
202
|
+
(scale: number): (self: BigDecimal) => BigDecimal
|
|
203
|
+
/**
|
|
204
|
+
* Scales a given `BigDecimal` to the specified scale.
|
|
205
|
+
*
|
|
206
|
+
* If the given scale is smaller than the current scale, the value will be rounded down to
|
|
207
|
+
* the nearest integer.
|
|
208
|
+
*
|
|
209
|
+
* @param self - The `BigDecimal` to scale.
|
|
210
|
+
* @param scale - The scale to scale to.
|
|
211
|
+
*
|
|
212
|
+
* @since 2.0.0
|
|
213
|
+
* @category scaling
|
|
214
|
+
*/
|
|
215
|
+
(self: BigDecimal, scale: number): BigDecimal
|
|
216
|
+
} = dual(2, (self: BigDecimal, scale: number): BigDecimal => {
|
|
187
217
|
if (scale > self.scale) {
|
|
188
218
|
return make(self.value * bigint10 ** BigInt(scale - self.scale), scale)
|
|
189
219
|
}
|
|
@@ -193,7 +223,7 @@ export const scale = (self: BigDecimal, scale: number): BigDecimal => {
|
|
|
193
223
|
}
|
|
194
224
|
|
|
195
225
|
return self
|
|
196
|
-
}
|
|
226
|
+
})
|
|
197
227
|
|
|
198
228
|
/**
|
|
199
229
|
* Provides an addition operation on `BigDecimal`s.
|
|
@@ -210,7 +240,35 @@ export const scale = (self: BigDecimal, scale: number): BigDecimal => {
|
|
|
210
240
|
* @category math
|
|
211
241
|
*/
|
|
212
242
|
export const sum: {
|
|
243
|
+
/**
|
|
244
|
+
* Provides an addition operation on `BigDecimal`s.
|
|
245
|
+
*
|
|
246
|
+
* @param self - The first operand.
|
|
247
|
+
* @param that - The second operand.
|
|
248
|
+
*
|
|
249
|
+
* @example
|
|
250
|
+
* import { sum, unsafeFromString } from "effect/BigDecimal"
|
|
251
|
+
*
|
|
252
|
+
* assert.deepStrictEqual(sum(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("5"))
|
|
253
|
+
*
|
|
254
|
+
* @since 2.0.0
|
|
255
|
+
* @category math
|
|
256
|
+
*/
|
|
213
257
|
(that: BigDecimal): (self: BigDecimal) => BigDecimal
|
|
258
|
+
/**
|
|
259
|
+
* Provides an addition operation on `BigDecimal`s.
|
|
260
|
+
*
|
|
261
|
+
* @param self - The first operand.
|
|
262
|
+
* @param that - The second operand.
|
|
263
|
+
*
|
|
264
|
+
* @example
|
|
265
|
+
* import { sum, unsafeFromString } from "effect/BigDecimal"
|
|
266
|
+
*
|
|
267
|
+
* assert.deepStrictEqual(sum(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("5"))
|
|
268
|
+
*
|
|
269
|
+
* @since 2.0.0
|
|
270
|
+
* @category math
|
|
271
|
+
*/
|
|
214
272
|
(self: BigDecimal, that: BigDecimal): BigDecimal
|
|
215
273
|
} = dual(2, (self: BigDecimal, that: BigDecimal): BigDecimal => {
|
|
216
274
|
if (that.value === bigint0) {
|
|
@@ -247,7 +305,35 @@ export const sum: {
|
|
|
247
305
|
* @category math
|
|
248
306
|
*/
|
|
249
307
|
export const multiply: {
|
|
308
|
+
/**
|
|
309
|
+
* Provides a multiplication operation on `BigDecimal`s.
|
|
310
|
+
*
|
|
311
|
+
* @param self - The first operand.
|
|
312
|
+
* @param that - The second operand.
|
|
313
|
+
*
|
|
314
|
+
* @example
|
|
315
|
+
* import { multiply, unsafeFromString } from "effect/BigDecimal"
|
|
316
|
+
*
|
|
317
|
+
* assert.deepStrictEqual(multiply(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("6"))
|
|
318
|
+
*
|
|
319
|
+
* @since 2.0.0
|
|
320
|
+
* @category math
|
|
321
|
+
*/
|
|
250
322
|
(that: BigDecimal): (self: BigDecimal) => BigDecimal
|
|
323
|
+
/**
|
|
324
|
+
* Provides a multiplication operation on `BigDecimal`s.
|
|
325
|
+
*
|
|
326
|
+
* @param self - The first operand.
|
|
327
|
+
* @param that - The second operand.
|
|
328
|
+
*
|
|
329
|
+
* @example
|
|
330
|
+
* import { multiply, unsafeFromString } from "effect/BigDecimal"
|
|
331
|
+
*
|
|
332
|
+
* assert.deepStrictEqual(multiply(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("6"))
|
|
333
|
+
*
|
|
334
|
+
* @since 2.0.0
|
|
335
|
+
* @category math
|
|
336
|
+
*/
|
|
251
337
|
(self: BigDecimal, that: BigDecimal): BigDecimal
|
|
252
338
|
} = dual(2, (self: BigDecimal, that: BigDecimal): BigDecimal => {
|
|
253
339
|
if (that.value === bigint0 || self.value === bigint0) {
|
|
@@ -272,7 +358,35 @@ export const multiply: {
|
|
|
272
358
|
* @category math
|
|
273
359
|
*/
|
|
274
360
|
export const subtract: {
|
|
361
|
+
/**
|
|
362
|
+
* Provides a subtraction operation on `BigDecimal`s.
|
|
363
|
+
*
|
|
364
|
+
* @param self - The first operand.
|
|
365
|
+
* @param that - The second operand.
|
|
366
|
+
*
|
|
367
|
+
* @example
|
|
368
|
+
* import { subtract, unsafeFromString } from "effect/BigDecimal"
|
|
369
|
+
*
|
|
370
|
+
* assert.deepStrictEqual(subtract(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("-1"))
|
|
371
|
+
*
|
|
372
|
+
* @since 2.0.0
|
|
373
|
+
* @category math
|
|
374
|
+
*/
|
|
275
375
|
(that: BigDecimal): (self: BigDecimal) => BigDecimal
|
|
376
|
+
/**
|
|
377
|
+
* Provides a subtraction operation on `BigDecimal`s.
|
|
378
|
+
*
|
|
379
|
+
* @param self - The first operand.
|
|
380
|
+
* @param that - The second operand.
|
|
381
|
+
*
|
|
382
|
+
* @example
|
|
383
|
+
* import { subtract, unsafeFromString } from "effect/BigDecimal"
|
|
384
|
+
*
|
|
385
|
+
* assert.deepStrictEqual(subtract(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("-1"))
|
|
386
|
+
*
|
|
387
|
+
* @since 2.0.0
|
|
388
|
+
* @category math
|
|
389
|
+
*/
|
|
276
390
|
(self: BigDecimal, that: BigDecimal): BigDecimal
|
|
277
391
|
} = dual(2, (self: BigDecimal, that: BigDecimal): BigDecimal => {
|
|
278
392
|
if (that.value === bigint0) {
|
|
@@ -384,7 +498,49 @@ export const roundTerminal = (n: bigint): bigint => {
|
|
|
384
498
|
* @category math
|
|
385
499
|
*/
|
|
386
500
|
export const divide: {
|
|
501
|
+
/**
|
|
502
|
+
* Provides a division operation on `BigDecimal`s.
|
|
503
|
+
*
|
|
504
|
+
* If the dividend is not a multiple of the divisor the result will be a `BigDecimal` value
|
|
505
|
+
* which represents the integer division rounded down to the nearest integer.
|
|
506
|
+
*
|
|
507
|
+
* If the divisor is `0`, the result will be `None`.
|
|
508
|
+
*
|
|
509
|
+
* @param self - The dividend operand.
|
|
510
|
+
* @param that - The divisor operand.
|
|
511
|
+
*
|
|
512
|
+
* @example
|
|
513
|
+
* import { BigDecimal, Option } from "effect"
|
|
514
|
+
*
|
|
515
|
+
* assert.deepStrictEqual(BigDecimal.divide(BigDecimal.unsafeFromString("6"), BigDecimal.unsafeFromString("3")), Option.some(BigDecimal.unsafeFromString("2")))
|
|
516
|
+
* assert.deepStrictEqual(BigDecimal.divide(BigDecimal.unsafeFromString("6"), BigDecimal.unsafeFromString("4")), Option.some(BigDecimal.unsafeFromString("1.5")))
|
|
517
|
+
* assert.deepStrictEqual(BigDecimal.divide(BigDecimal.unsafeFromString("6"), BigDecimal.unsafeFromString("0")), Option.none())
|
|
518
|
+
*
|
|
519
|
+
* @since 2.0.0
|
|
520
|
+
* @category math
|
|
521
|
+
*/
|
|
387
522
|
(that: BigDecimal): (self: BigDecimal) => Option.Option<BigDecimal>
|
|
523
|
+
/**
|
|
524
|
+
* Provides a division operation on `BigDecimal`s.
|
|
525
|
+
*
|
|
526
|
+
* If the dividend is not a multiple of the divisor the result will be a `BigDecimal` value
|
|
527
|
+
* which represents the integer division rounded down to the nearest integer.
|
|
528
|
+
*
|
|
529
|
+
* If the divisor is `0`, the result will be `None`.
|
|
530
|
+
*
|
|
531
|
+
* @param self - The dividend operand.
|
|
532
|
+
* @param that - The divisor operand.
|
|
533
|
+
*
|
|
534
|
+
* @example
|
|
535
|
+
* import { BigDecimal, Option } from "effect"
|
|
536
|
+
*
|
|
537
|
+
* assert.deepStrictEqual(BigDecimal.divide(BigDecimal.unsafeFromString("6"), BigDecimal.unsafeFromString("3")), Option.some(BigDecimal.unsafeFromString("2")))
|
|
538
|
+
* assert.deepStrictEqual(BigDecimal.divide(BigDecimal.unsafeFromString("6"), BigDecimal.unsafeFromString("4")), Option.some(BigDecimal.unsafeFromString("1.5")))
|
|
539
|
+
* assert.deepStrictEqual(BigDecimal.divide(BigDecimal.unsafeFromString("6"), BigDecimal.unsafeFromString("0")), Option.none())
|
|
540
|
+
*
|
|
541
|
+
* @since 2.0.0
|
|
542
|
+
* @category math
|
|
543
|
+
*/
|
|
388
544
|
(self: BigDecimal, that: BigDecimal): Option.Option<BigDecimal>
|
|
389
545
|
} = dual(2, (self: BigDecimal, that: BigDecimal): Option.Option<BigDecimal> => {
|
|
390
546
|
if (that.value === bigint0) {
|
|
@@ -424,7 +580,47 @@ export const divide: {
|
|
|
424
580
|
* @category math
|
|
425
581
|
*/
|
|
426
582
|
export const unsafeDivide: {
|
|
583
|
+
/**
|
|
584
|
+
* Provides an unsafe division operation on `BigDecimal`s.
|
|
585
|
+
*
|
|
586
|
+
* If the dividend is not a multiple of the divisor the result will be a `BigDecimal` value
|
|
587
|
+
* which represents the integer division rounded down to the nearest integer.
|
|
588
|
+
*
|
|
589
|
+
* Throws a `RangeError` if the divisor is `0`.
|
|
590
|
+
*
|
|
591
|
+
* @param self - The dividend operand.
|
|
592
|
+
* @param that - The divisor operand.as
|
|
593
|
+
*
|
|
594
|
+
* @example
|
|
595
|
+
* import { unsafeDivide, unsafeFromString } from "effect/BigDecimal"
|
|
596
|
+
*
|
|
597
|
+
* assert.deepStrictEqual(unsafeDivide(unsafeFromString("6"), unsafeFromString("3")), unsafeFromString("2"))
|
|
598
|
+
* assert.deepStrictEqual(unsafeDivide(unsafeFromString("6"), unsafeFromString("4")), unsafeFromString("1.5"))
|
|
599
|
+
*
|
|
600
|
+
* @since 2.0.0
|
|
601
|
+
* @category math
|
|
602
|
+
*/
|
|
427
603
|
(that: BigDecimal): (self: BigDecimal) => BigDecimal
|
|
604
|
+
/**
|
|
605
|
+
* Provides an unsafe division operation on `BigDecimal`s.
|
|
606
|
+
*
|
|
607
|
+
* If the dividend is not a multiple of the divisor the result will be a `BigDecimal` value
|
|
608
|
+
* which represents the integer division rounded down to the nearest integer.
|
|
609
|
+
*
|
|
610
|
+
* Throws a `RangeError` if the divisor is `0`.
|
|
611
|
+
*
|
|
612
|
+
* @param self - The dividend operand.
|
|
613
|
+
* @param that - The divisor operand.as
|
|
614
|
+
*
|
|
615
|
+
* @example
|
|
616
|
+
* import { unsafeDivide, unsafeFromString } from "effect/BigDecimal"
|
|
617
|
+
*
|
|
618
|
+
* assert.deepStrictEqual(unsafeDivide(unsafeFromString("6"), unsafeFromString("3")), unsafeFromString("2"))
|
|
619
|
+
* assert.deepStrictEqual(unsafeDivide(unsafeFromString("6"), unsafeFromString("4")), unsafeFromString("1.5"))
|
|
620
|
+
*
|
|
621
|
+
* @since 2.0.0
|
|
622
|
+
* @category math
|
|
623
|
+
*/
|
|
428
624
|
(self: BigDecimal, that: BigDecimal): BigDecimal
|
|
429
625
|
} = dual(2, (self: BigDecimal, that: BigDecimal): BigDecimal => {
|
|
430
626
|
if (that.value === bigint0) {
|
|
@@ -480,7 +676,39 @@ export const Order: order.Order<BigDecimal> = order.make((self, that) => {
|
|
|
480
676
|
* @category predicates
|
|
481
677
|
*/
|
|
482
678
|
export const lessThan: {
|
|
679
|
+
/**
|
|
680
|
+
* Returns `true` if the first argument is less than the second, otherwise `false`.
|
|
681
|
+
*
|
|
682
|
+
* @param self - The first argument.
|
|
683
|
+
* @param that - The second argument.
|
|
684
|
+
*
|
|
685
|
+
* @example
|
|
686
|
+
* import { lessThan, unsafeFromString } from "effect/BigDecimal"
|
|
687
|
+
*
|
|
688
|
+
* assert.deepStrictEqual(lessThan(unsafeFromString("2"), unsafeFromString("3")), true)
|
|
689
|
+
* assert.deepStrictEqual(lessThan(unsafeFromString("3"), unsafeFromString("3")), false)
|
|
690
|
+
* assert.deepStrictEqual(lessThan(unsafeFromString("4"), unsafeFromString("3")), false)
|
|
691
|
+
*
|
|
692
|
+
* @since 2.0.0
|
|
693
|
+
* @category predicates
|
|
694
|
+
*/
|
|
483
695
|
(that: BigDecimal): (self: BigDecimal) => boolean
|
|
696
|
+
/**
|
|
697
|
+
* Returns `true` if the first argument is less than the second, otherwise `false`.
|
|
698
|
+
*
|
|
699
|
+
* @param self - The first argument.
|
|
700
|
+
* @param that - The second argument.
|
|
701
|
+
*
|
|
702
|
+
* @example
|
|
703
|
+
* import { lessThan, unsafeFromString } from "effect/BigDecimal"
|
|
704
|
+
*
|
|
705
|
+
* assert.deepStrictEqual(lessThan(unsafeFromString("2"), unsafeFromString("3")), true)
|
|
706
|
+
* assert.deepStrictEqual(lessThan(unsafeFromString("3"), unsafeFromString("3")), false)
|
|
707
|
+
* assert.deepStrictEqual(lessThan(unsafeFromString("4"), unsafeFromString("3")), false)
|
|
708
|
+
*
|
|
709
|
+
* @since 2.0.0
|
|
710
|
+
* @category predicates
|
|
711
|
+
*/
|
|
484
712
|
(self: BigDecimal, that: BigDecimal): boolean
|
|
485
713
|
} = order.lessThan(Order)
|
|
486
714
|
|
|
@@ -501,7 +729,39 @@ export const lessThan: {
|
|
|
501
729
|
* @category predicates
|
|
502
730
|
*/
|
|
503
731
|
export const lessThanOrEqualTo: {
|
|
732
|
+
/**
|
|
733
|
+
* Checks if a given `BigDecimal` is less than or equal to the provided one.
|
|
734
|
+
*
|
|
735
|
+
* @param self - The first `BigDecimal` to compare with.
|
|
736
|
+
* @param that - The second `BigDecimal` to compare with.
|
|
737
|
+
*
|
|
738
|
+
* @example
|
|
739
|
+
* import { lessThanOrEqualTo, unsafeFromString } from "effect/BigDecimal"
|
|
740
|
+
*
|
|
741
|
+
* assert.deepStrictEqual(lessThanOrEqualTo(unsafeFromString("2"), unsafeFromString("3")), true)
|
|
742
|
+
* assert.deepStrictEqual(lessThanOrEqualTo(unsafeFromString("3"), unsafeFromString("3")), true)
|
|
743
|
+
* assert.deepStrictEqual(lessThanOrEqualTo(unsafeFromString("4"), unsafeFromString("3")), false)
|
|
744
|
+
*
|
|
745
|
+
* @since 2.0.0
|
|
746
|
+
* @category predicates
|
|
747
|
+
*/
|
|
504
748
|
(that: BigDecimal): (self: BigDecimal) => boolean
|
|
749
|
+
/**
|
|
750
|
+
* Checks if a given `BigDecimal` is less than or equal to the provided one.
|
|
751
|
+
*
|
|
752
|
+
* @param self - The first `BigDecimal` to compare with.
|
|
753
|
+
* @param that - The second `BigDecimal` to compare with.
|
|
754
|
+
*
|
|
755
|
+
* @example
|
|
756
|
+
* import { lessThanOrEqualTo, unsafeFromString } from "effect/BigDecimal"
|
|
757
|
+
*
|
|
758
|
+
* assert.deepStrictEqual(lessThanOrEqualTo(unsafeFromString("2"), unsafeFromString("3")), true)
|
|
759
|
+
* assert.deepStrictEqual(lessThanOrEqualTo(unsafeFromString("3"), unsafeFromString("3")), true)
|
|
760
|
+
* assert.deepStrictEqual(lessThanOrEqualTo(unsafeFromString("4"), unsafeFromString("3")), false)
|
|
761
|
+
*
|
|
762
|
+
* @since 2.0.0
|
|
763
|
+
* @category predicates
|
|
764
|
+
*/
|
|
505
765
|
(self: BigDecimal, that: BigDecimal): boolean
|
|
506
766
|
} = order.lessThanOrEqualTo(Order)
|
|
507
767
|
|
|
@@ -522,7 +782,39 @@ export const lessThanOrEqualTo: {
|
|
|
522
782
|
* @category predicates
|
|
523
783
|
*/
|
|
524
784
|
export const greaterThan: {
|
|
785
|
+
/**
|
|
786
|
+
* Returns `true` if the first argument is greater than the second, otherwise `false`.
|
|
787
|
+
*
|
|
788
|
+
* @param self - The first argument.
|
|
789
|
+
* @param that - The second argument.
|
|
790
|
+
*
|
|
791
|
+
* @example
|
|
792
|
+
* import { greaterThan, unsafeFromString } from "effect/BigDecimal"
|
|
793
|
+
*
|
|
794
|
+
* assert.deepStrictEqual(greaterThan(unsafeFromString("2"), unsafeFromString("3")), false)
|
|
795
|
+
* assert.deepStrictEqual(greaterThan(unsafeFromString("3"), unsafeFromString("3")), false)
|
|
796
|
+
* assert.deepStrictEqual(greaterThan(unsafeFromString("4"), unsafeFromString("3")), true)
|
|
797
|
+
*
|
|
798
|
+
* @since 2.0.0
|
|
799
|
+
* @category predicates
|
|
800
|
+
*/
|
|
525
801
|
(that: BigDecimal): (self: BigDecimal) => boolean
|
|
802
|
+
/**
|
|
803
|
+
* Returns `true` if the first argument is greater than the second, otherwise `false`.
|
|
804
|
+
*
|
|
805
|
+
* @param self - The first argument.
|
|
806
|
+
* @param that - The second argument.
|
|
807
|
+
*
|
|
808
|
+
* @example
|
|
809
|
+
* import { greaterThan, unsafeFromString } from "effect/BigDecimal"
|
|
810
|
+
*
|
|
811
|
+
* assert.deepStrictEqual(greaterThan(unsafeFromString("2"), unsafeFromString("3")), false)
|
|
812
|
+
* assert.deepStrictEqual(greaterThan(unsafeFromString("3"), unsafeFromString("3")), false)
|
|
813
|
+
* assert.deepStrictEqual(greaterThan(unsafeFromString("4"), unsafeFromString("3")), true)
|
|
814
|
+
*
|
|
815
|
+
* @since 2.0.0
|
|
816
|
+
* @category predicates
|
|
817
|
+
*/
|
|
526
818
|
(self: BigDecimal, that: BigDecimal): boolean
|
|
527
819
|
} = order.greaterThan(Order)
|
|
528
820
|
|
|
@@ -543,7 +835,39 @@ export const greaterThan: {
|
|
|
543
835
|
* @category predicates
|
|
544
836
|
*/
|
|
545
837
|
export const greaterThanOrEqualTo: {
|
|
838
|
+
/**
|
|
839
|
+
* Checks if a given `BigDecimal` is greater than or equal to the provided one.
|
|
840
|
+
*
|
|
841
|
+
* @param self - The first `BigDecimal` to compare with.
|
|
842
|
+
* @param that - The second `BigDecimal` to compare with.
|
|
843
|
+
*
|
|
844
|
+
* @example
|
|
845
|
+
* import { greaterThanOrEqualTo, unsafeFromString } from "effect/BigDecimal"
|
|
846
|
+
*
|
|
847
|
+
* assert.deepStrictEqual(greaterThanOrEqualTo(unsafeFromString("2"), unsafeFromString("3")), false)
|
|
848
|
+
* assert.deepStrictEqual(greaterThanOrEqualTo(unsafeFromString("3"), unsafeFromString("3")), true)
|
|
849
|
+
* assert.deepStrictEqual(greaterThanOrEqualTo(unsafeFromString("4"), unsafeFromString("3")), true)
|
|
850
|
+
*
|
|
851
|
+
* @since 2.0.0
|
|
852
|
+
* @category predicates
|
|
853
|
+
*/
|
|
546
854
|
(that: BigDecimal): (self: BigDecimal) => boolean
|
|
855
|
+
/**
|
|
856
|
+
* Checks if a given `BigDecimal` is greater than or equal to the provided one.
|
|
857
|
+
*
|
|
858
|
+
* @param self - The first `BigDecimal` to compare with.
|
|
859
|
+
* @param that - The second `BigDecimal` to compare with.
|
|
860
|
+
*
|
|
861
|
+
* @example
|
|
862
|
+
* import { greaterThanOrEqualTo, unsafeFromString } from "effect/BigDecimal"
|
|
863
|
+
*
|
|
864
|
+
* assert.deepStrictEqual(greaterThanOrEqualTo(unsafeFromString("2"), unsafeFromString("3")), false)
|
|
865
|
+
* assert.deepStrictEqual(greaterThanOrEqualTo(unsafeFromString("3"), unsafeFromString("3")), true)
|
|
866
|
+
* assert.deepStrictEqual(greaterThanOrEqualTo(unsafeFromString("4"), unsafeFromString("3")), true)
|
|
867
|
+
*
|
|
868
|
+
* @since 2.0.0
|
|
869
|
+
* @category predicates
|
|
870
|
+
*/
|
|
547
871
|
(self: BigDecimal, that: BigDecimal): boolean
|
|
548
872
|
} = order.greaterThanOrEqualTo(Order)
|
|
549
873
|
|
|
@@ -570,14 +894,63 @@ export const greaterThanOrEqualTo: {
|
|
|
570
894
|
* @category predicates
|
|
571
895
|
*/
|
|
572
896
|
export const between: {
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
897
|
+
/**
|
|
898
|
+
* Checks if a `BigDecimal` is between a `minimum` and `maximum` value (inclusive).
|
|
899
|
+
*
|
|
900
|
+
* @param self - The `number` to check.
|
|
901
|
+
* @param minimum - The `minimum` value to check.
|
|
902
|
+
* @param maximum - The `maximum` value to check.
|
|
903
|
+
*
|
|
904
|
+
* @example
|
|
905
|
+
* import { BigDecimal } from "effect"
|
|
906
|
+
*
|
|
907
|
+
* const between = BigDecimal.between({
|
|
908
|
+
* minimum: BigDecimal.unsafeFromString("1"),
|
|
909
|
+
* maximum: BigDecimal.unsafeFromString("5") }
|
|
910
|
+
* )
|
|
911
|
+
*
|
|
912
|
+
* assert.deepStrictEqual(between(BigDecimal.unsafeFromString("3")), true)
|
|
913
|
+
* assert.deepStrictEqual(between(BigDecimal.unsafeFromString("0")), false)
|
|
914
|
+
* assert.deepStrictEqual(between(BigDecimal.unsafeFromString("6")), false)
|
|
915
|
+
*
|
|
916
|
+
* @since 2.0.0
|
|
917
|
+
* @category predicates
|
|
918
|
+
*/
|
|
919
|
+
(
|
|
920
|
+
options: {
|
|
921
|
+
minimum: BigDecimal
|
|
922
|
+
maximum: BigDecimal
|
|
923
|
+
}
|
|
924
|
+
): (self: BigDecimal) => boolean
|
|
925
|
+
/**
|
|
926
|
+
* Checks if a `BigDecimal` is between a `minimum` and `maximum` value (inclusive).
|
|
927
|
+
*
|
|
928
|
+
* @param self - The `number` to check.
|
|
929
|
+
* @param minimum - The `minimum` value to check.
|
|
930
|
+
* @param maximum - The `maximum` value to check.
|
|
931
|
+
*
|
|
932
|
+
* @example
|
|
933
|
+
* import { BigDecimal } from "effect"
|
|
934
|
+
*
|
|
935
|
+
* const between = BigDecimal.between({
|
|
936
|
+
* minimum: BigDecimal.unsafeFromString("1"),
|
|
937
|
+
* maximum: BigDecimal.unsafeFromString("5") }
|
|
938
|
+
* )
|
|
939
|
+
*
|
|
940
|
+
* assert.deepStrictEqual(between(BigDecimal.unsafeFromString("3")), true)
|
|
941
|
+
* assert.deepStrictEqual(between(BigDecimal.unsafeFromString("0")), false)
|
|
942
|
+
* assert.deepStrictEqual(between(BigDecimal.unsafeFromString("6")), false)
|
|
943
|
+
*
|
|
944
|
+
* @since 2.0.0
|
|
945
|
+
* @category predicates
|
|
946
|
+
*/
|
|
947
|
+
(
|
|
948
|
+
self: BigDecimal,
|
|
949
|
+
options: {
|
|
950
|
+
minimum: BigDecimal
|
|
951
|
+
maximum: BigDecimal
|
|
952
|
+
}
|
|
953
|
+
): boolean
|
|
581
954
|
} = order.between(Order)
|
|
582
955
|
|
|
583
956
|
/**
|
|
@@ -607,14 +980,71 @@ export const between: {
|
|
|
607
980
|
* @category math
|
|
608
981
|
*/
|
|
609
982
|
export const clamp: {
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
983
|
+
/**
|
|
984
|
+
* Restricts the given `BigDecimal` to be within the range specified by the `minimum` and `maximum` values.
|
|
985
|
+
*
|
|
986
|
+
* - If the `BigDecimal` is less than the `minimum` value, the function returns the `minimum` value.
|
|
987
|
+
* - If the `BigDecimal` is greater than the `maximum` value, the function returns the `maximum` value.
|
|
988
|
+
* - Otherwise, it returns the original `BigDecimal`.
|
|
989
|
+
*
|
|
990
|
+
* @param self - The `BigDecimal` to be clamped.
|
|
991
|
+
* @param minimum - The lower end of the range.
|
|
992
|
+
* @param maximum - The upper end of the range.
|
|
993
|
+
*
|
|
994
|
+
* @example
|
|
995
|
+
* import { BigDecimal } from "effect"
|
|
996
|
+
*
|
|
997
|
+
* const clamp = BigDecimal.clamp({
|
|
998
|
+
* minimum: BigDecimal.unsafeFromString("1"),
|
|
999
|
+
* maximum: BigDecimal.unsafeFromString("5") }
|
|
1000
|
+
* )
|
|
1001
|
+
*
|
|
1002
|
+
* assert.deepStrictEqual(clamp(BigDecimal.unsafeFromString("3")), BigDecimal.unsafeFromString("3"))
|
|
1003
|
+
* assert.deepStrictEqual(clamp(BigDecimal.unsafeFromString("0")), BigDecimal.unsafeFromString("1"))
|
|
1004
|
+
* assert.deepStrictEqual(clamp(BigDecimal.unsafeFromString("6")), BigDecimal.unsafeFromString("5"))
|
|
1005
|
+
*
|
|
1006
|
+
* @since 2.0.0
|
|
1007
|
+
* @category math
|
|
1008
|
+
*/
|
|
1009
|
+
(
|
|
1010
|
+
options: {
|
|
1011
|
+
minimum: BigDecimal
|
|
1012
|
+
maximum: BigDecimal
|
|
1013
|
+
}
|
|
1014
|
+
): (self: BigDecimal) => BigDecimal
|
|
1015
|
+
/**
|
|
1016
|
+
* Restricts the given `BigDecimal` to be within the range specified by the `minimum` and `maximum` values.
|
|
1017
|
+
*
|
|
1018
|
+
* - If the `BigDecimal` is less than the `minimum` value, the function returns the `minimum` value.
|
|
1019
|
+
* - If the `BigDecimal` is greater than the `maximum` value, the function returns the `maximum` value.
|
|
1020
|
+
* - Otherwise, it returns the original `BigDecimal`.
|
|
1021
|
+
*
|
|
1022
|
+
* @param self - The `BigDecimal` to be clamped.
|
|
1023
|
+
* @param minimum - The lower end of the range.
|
|
1024
|
+
* @param maximum - The upper end of the range.
|
|
1025
|
+
*
|
|
1026
|
+
* @example
|
|
1027
|
+
* import { BigDecimal } from "effect"
|
|
1028
|
+
*
|
|
1029
|
+
* const clamp = BigDecimal.clamp({
|
|
1030
|
+
* minimum: BigDecimal.unsafeFromString("1"),
|
|
1031
|
+
* maximum: BigDecimal.unsafeFromString("5") }
|
|
1032
|
+
* )
|
|
1033
|
+
*
|
|
1034
|
+
* assert.deepStrictEqual(clamp(BigDecimal.unsafeFromString("3")), BigDecimal.unsafeFromString("3"))
|
|
1035
|
+
* assert.deepStrictEqual(clamp(BigDecimal.unsafeFromString("0")), BigDecimal.unsafeFromString("1"))
|
|
1036
|
+
* assert.deepStrictEqual(clamp(BigDecimal.unsafeFromString("6")), BigDecimal.unsafeFromString("5"))
|
|
1037
|
+
*
|
|
1038
|
+
* @since 2.0.0
|
|
1039
|
+
* @category math
|
|
1040
|
+
*/
|
|
1041
|
+
(
|
|
1042
|
+
self: BigDecimal,
|
|
1043
|
+
options: {
|
|
1044
|
+
minimum: BigDecimal
|
|
1045
|
+
maximum: BigDecimal
|
|
1046
|
+
}
|
|
1047
|
+
): BigDecimal
|
|
618
1048
|
} = order.clamp(Order)
|
|
619
1049
|
|
|
620
1050
|
/**
|
|
@@ -632,7 +1062,35 @@ export const clamp: {
|
|
|
632
1062
|
* @category math
|
|
633
1063
|
*/
|
|
634
1064
|
export const min: {
|
|
1065
|
+
/**
|
|
1066
|
+
* Returns the minimum between two `BigDecimal`s.
|
|
1067
|
+
*
|
|
1068
|
+
* @param self - The first `BigDecimal`.
|
|
1069
|
+
* @param that - The second `BigDecimal`.
|
|
1070
|
+
*
|
|
1071
|
+
* @example
|
|
1072
|
+
* import { min, unsafeFromString } from "effect/BigDecimal"
|
|
1073
|
+
*
|
|
1074
|
+
* assert.deepStrictEqual(min(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("2"))
|
|
1075
|
+
*
|
|
1076
|
+
* @since 2.0.0
|
|
1077
|
+
* @category math
|
|
1078
|
+
*/
|
|
635
1079
|
(that: BigDecimal): (self: BigDecimal) => BigDecimal
|
|
1080
|
+
/**
|
|
1081
|
+
* Returns the minimum between two `BigDecimal`s.
|
|
1082
|
+
*
|
|
1083
|
+
* @param self - The first `BigDecimal`.
|
|
1084
|
+
* @param that - The second `BigDecimal`.
|
|
1085
|
+
*
|
|
1086
|
+
* @example
|
|
1087
|
+
* import { min, unsafeFromString } from "effect/BigDecimal"
|
|
1088
|
+
*
|
|
1089
|
+
* assert.deepStrictEqual(min(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("2"))
|
|
1090
|
+
*
|
|
1091
|
+
* @since 2.0.0
|
|
1092
|
+
* @category math
|
|
1093
|
+
*/
|
|
636
1094
|
(self: BigDecimal, that: BigDecimal): BigDecimal
|
|
637
1095
|
} = order.min(Order)
|
|
638
1096
|
|
|
@@ -651,7 +1109,35 @@ export const min: {
|
|
|
651
1109
|
* @category math
|
|
652
1110
|
*/
|
|
653
1111
|
export const max: {
|
|
1112
|
+
/**
|
|
1113
|
+
* Returns the maximum between two `BigDecimal`s.
|
|
1114
|
+
*
|
|
1115
|
+
* @param self - The first `BigDecimal`.
|
|
1116
|
+
* @param that - The second `BigDecimal`.
|
|
1117
|
+
*
|
|
1118
|
+
* @example
|
|
1119
|
+
* import { max, unsafeFromString } from "effect/BigDecimal"
|
|
1120
|
+
*
|
|
1121
|
+
* assert.deepStrictEqual(max(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("3"))
|
|
1122
|
+
*
|
|
1123
|
+
* @since 2.0.0
|
|
1124
|
+
* @category math
|
|
1125
|
+
*/
|
|
654
1126
|
(that: BigDecimal): (self: BigDecimal) => BigDecimal
|
|
1127
|
+
/**
|
|
1128
|
+
* Returns the maximum between two `BigDecimal`s.
|
|
1129
|
+
*
|
|
1130
|
+
* @param self - The first `BigDecimal`.
|
|
1131
|
+
* @param that - The second `BigDecimal`.
|
|
1132
|
+
*
|
|
1133
|
+
* @example
|
|
1134
|
+
* import { max, unsafeFromString } from "effect/BigDecimal"
|
|
1135
|
+
*
|
|
1136
|
+
* assert.deepStrictEqual(max(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("3"))
|
|
1137
|
+
*
|
|
1138
|
+
* @since 2.0.0
|
|
1139
|
+
* @category math
|
|
1140
|
+
*/
|
|
655
1141
|
(self: BigDecimal, that: BigDecimal): BigDecimal
|
|
656
1142
|
} = order.max(Order)
|
|
657
1143
|
|
|
@@ -724,7 +1210,43 @@ export const negate = (n: BigDecimal): BigDecimal => make(-n.value, n.scale)
|
|
|
724
1210
|
* @category math
|
|
725
1211
|
*/
|
|
726
1212
|
export const remainder: {
|
|
1213
|
+
/**
|
|
1214
|
+
* Returns the remainder left over when one operand is divided by a second operand.
|
|
1215
|
+
*
|
|
1216
|
+
* If the divisor is `0`, the result will be `None`.
|
|
1217
|
+
*
|
|
1218
|
+
* @param self - The dividend.
|
|
1219
|
+
* @param divisor - The divisor.
|
|
1220
|
+
*
|
|
1221
|
+
* @example
|
|
1222
|
+
* import { BigDecimal, Option } from "effect"
|
|
1223
|
+
*
|
|
1224
|
+
* assert.deepStrictEqual(BigDecimal.remainder(BigDecimal.unsafeFromString("2"), BigDecimal.unsafeFromString("2")), Option.some(BigDecimal.unsafeFromString("0")))
|
|
1225
|
+
* assert.deepStrictEqual(BigDecimal.remainder(BigDecimal.unsafeFromString("3"), BigDecimal.unsafeFromString("2")), Option.some(BigDecimal.unsafeFromString("1")))
|
|
1226
|
+
* assert.deepStrictEqual(BigDecimal.remainder(BigDecimal.unsafeFromString("-4"), BigDecimal.unsafeFromString("2")), Option.some(BigDecimal.unsafeFromString("0")))
|
|
1227
|
+
*
|
|
1228
|
+
* @since 2.0.0
|
|
1229
|
+
* @category math
|
|
1230
|
+
*/
|
|
727
1231
|
(divisor: BigDecimal): (self: BigDecimal) => Option.Option<BigDecimal>
|
|
1232
|
+
/**
|
|
1233
|
+
* Returns the remainder left over when one operand is divided by a second operand.
|
|
1234
|
+
*
|
|
1235
|
+
* If the divisor is `0`, the result will be `None`.
|
|
1236
|
+
*
|
|
1237
|
+
* @param self - The dividend.
|
|
1238
|
+
* @param divisor - The divisor.
|
|
1239
|
+
*
|
|
1240
|
+
* @example
|
|
1241
|
+
* import { BigDecimal, Option } from "effect"
|
|
1242
|
+
*
|
|
1243
|
+
* assert.deepStrictEqual(BigDecimal.remainder(BigDecimal.unsafeFromString("2"), BigDecimal.unsafeFromString("2")), Option.some(BigDecimal.unsafeFromString("0")))
|
|
1244
|
+
* assert.deepStrictEqual(BigDecimal.remainder(BigDecimal.unsafeFromString("3"), BigDecimal.unsafeFromString("2")), Option.some(BigDecimal.unsafeFromString("1")))
|
|
1245
|
+
* assert.deepStrictEqual(BigDecimal.remainder(BigDecimal.unsafeFromString("-4"), BigDecimal.unsafeFromString("2")), Option.some(BigDecimal.unsafeFromString("0")))
|
|
1246
|
+
*
|
|
1247
|
+
* @since 2.0.0
|
|
1248
|
+
* @category math
|
|
1249
|
+
*/
|
|
728
1250
|
(self: BigDecimal, divisor: BigDecimal): Option.Option<BigDecimal>
|
|
729
1251
|
} = dual(2, (self: BigDecimal, divisor: BigDecimal): Option.Option<BigDecimal> => {
|
|
730
1252
|
if (divisor.value === bigint0) {
|
|
@@ -754,7 +1276,43 @@ export const remainder: {
|
|
|
754
1276
|
* @category math
|
|
755
1277
|
*/
|
|
756
1278
|
export const unsafeRemainder: {
|
|
1279
|
+
/**
|
|
1280
|
+
* Returns the remainder left over when one operand is divided by a second operand.
|
|
1281
|
+
*
|
|
1282
|
+
* Throws a `RangeError` if the divisor is `0`.
|
|
1283
|
+
*
|
|
1284
|
+
* @param self - The dividend.
|
|
1285
|
+
* @param divisor - The divisor.
|
|
1286
|
+
*
|
|
1287
|
+
* @example
|
|
1288
|
+
* import { unsafeRemainder, unsafeFromString } from "effect/BigDecimal"
|
|
1289
|
+
*
|
|
1290
|
+
* assert.deepStrictEqual(unsafeRemainder(unsafeFromString("2"), unsafeFromString("2")), unsafeFromString("0"))
|
|
1291
|
+
* assert.deepStrictEqual(unsafeRemainder(unsafeFromString("3"), unsafeFromString("2")), unsafeFromString("1"))
|
|
1292
|
+
* assert.deepStrictEqual(unsafeRemainder(unsafeFromString("-4"), unsafeFromString("2")), unsafeFromString("0"))
|
|
1293
|
+
*
|
|
1294
|
+
* @since 2.0.0
|
|
1295
|
+
* @category math
|
|
1296
|
+
*/
|
|
757
1297
|
(divisor: BigDecimal): (self: BigDecimal) => BigDecimal
|
|
1298
|
+
/**
|
|
1299
|
+
* Returns the remainder left over when one operand is divided by a second operand.
|
|
1300
|
+
*
|
|
1301
|
+
* Throws a `RangeError` if the divisor is `0`.
|
|
1302
|
+
*
|
|
1303
|
+
* @param self - The dividend.
|
|
1304
|
+
* @param divisor - The divisor.
|
|
1305
|
+
*
|
|
1306
|
+
* @example
|
|
1307
|
+
* import { unsafeRemainder, unsafeFromString } from "effect/BigDecimal"
|
|
1308
|
+
*
|
|
1309
|
+
* assert.deepStrictEqual(unsafeRemainder(unsafeFromString("2"), unsafeFromString("2")), unsafeFromString("0"))
|
|
1310
|
+
* assert.deepStrictEqual(unsafeRemainder(unsafeFromString("3"), unsafeFromString("2")), unsafeFromString("1"))
|
|
1311
|
+
* assert.deepStrictEqual(unsafeRemainder(unsafeFromString("-4"), unsafeFromString("2")), unsafeFromString("0"))
|
|
1312
|
+
*
|
|
1313
|
+
* @since 2.0.0
|
|
1314
|
+
* @category math
|
|
1315
|
+
*/
|
|
758
1316
|
(self: BigDecimal, divisor: BigDecimal): BigDecimal
|
|
759
1317
|
} = dual(2, (self: BigDecimal, divisor: BigDecimal): BigDecimal => {
|
|
760
1318
|
if (divisor.value === bigint0) {
|
|
@@ -788,7 +1346,19 @@ export const Equivalence: equivalence.Equivalence<BigDecimal> = equivalence.make
|
|
|
788
1346
|
* @category predicates
|
|
789
1347
|
*/
|
|
790
1348
|
export const equals: {
|
|
1349
|
+
/**
|
|
1350
|
+
* Checks if two `BigDecimal`s are equal.
|
|
1351
|
+
*
|
|
1352
|
+
* @since 2.0.0
|
|
1353
|
+
* @category predicates
|
|
1354
|
+
*/
|
|
791
1355
|
(that: BigDecimal): (self: BigDecimal) => boolean
|
|
1356
|
+
/**
|
|
1357
|
+
* Checks if two `BigDecimal`s are equal.
|
|
1358
|
+
*
|
|
1359
|
+
* @since 2.0.0
|
|
1360
|
+
* @category predicates
|
|
1361
|
+
*/
|
|
792
1362
|
(self: BigDecimal, that: BigDecimal): boolean
|
|
793
1363
|
} = dual(2, (self: BigDecimal, that: BigDecimal): boolean => Equivalence(self, that))
|
|
794
1364
|
|