effect 3.10.18 → 3.11.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 +206 -0
- package/dist/cjs/Array.js.map +1 -1
- package/dist/cjs/BigDecimal.js +181 -24
- package/dist/cjs/BigDecimal.js.map +1 -1
- package/dist/cjs/BigInt.js +54 -0
- package/dist/cjs/BigInt.js.map +1 -1
- package/dist/cjs/Boolean.js +24 -0
- package/dist/cjs/Boolean.js.map +1 -1
- package/dist/cjs/Brand.js +4 -0
- package/dist/cjs/Brand.js.map +1 -1
- package/dist/cjs/Channel.js +44 -4
- package/dist/cjs/Channel.js.map +1 -1
- package/dist/cjs/Chunk.js +8 -0
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Config.js +10 -1
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/Context.js +50 -1
- package/dist/cjs/Context.js.map +1 -1
- package/dist/cjs/Cron.js +81 -67
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Data.js +14 -0
- package/dist/cjs/Data.js.map +1 -1
- package/dist/cjs/DateTime.js +178 -664
- package/dist/cjs/DateTime.js.map +1 -1
- package/dist/cjs/Duration.js +2 -0
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +296 -4
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +38 -2
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/FiberHandle.js +6 -0
- package/dist/cjs/FiberHandle.js.map +1 -1
- package/dist/cjs/FiberMap.js +6 -0
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/FiberSet.js +6 -0
- package/dist/cjs/FiberSet.js.map +1 -1
- package/dist/cjs/Function.js +34 -0
- package/dist/cjs/Function.js.map +1 -1
- package/dist/cjs/GlobalValue.js +2 -0
- package/dist/cjs/GlobalValue.js.map +1 -1
- package/dist/cjs/HashMap.js.map +1 -1
- package/dist/cjs/Inspectable.js +8 -4
- package/dist/cjs/Inspectable.js.map +1 -1
- package/dist/cjs/Iterable.js +18 -0
- package/dist/cjs/Iterable.js.map +1 -1
- package/dist/cjs/JSONSchema.js.map +1 -1
- package/dist/cjs/List.js +4 -0
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/Logger.js +26 -0
- package/dist/cjs/Logger.js.map +1 -1
- package/dist/cjs/Mailbox.js +2 -0
- package/dist/cjs/Mailbox.js.map +1 -1
- package/dist/cjs/ManagedRuntime.js +2 -0
- package/dist/cjs/ManagedRuntime.js.map +1 -1
- package/dist/cjs/Metric.js +10 -0
- package/dist/cjs/Metric.js.map +1 -1
- package/dist/cjs/Micro.js +1104 -1069
- package/dist/cjs/Micro.js.map +1 -1
- package/dist/cjs/Number.js +44 -0
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/Option.js +70 -0
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Order.js +2 -0
- package/dist/cjs/Order.js.map +1 -1
- package/dist/cjs/Ordering.js +4 -0
- package/dist/cjs/Ordering.js.map +1 -1
- package/dist/cjs/Predicate.js +68 -0
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/Random.js +4 -0
- package/dist/cjs/Random.js.map +1 -1
- package/dist/cjs/RateLimiter.js +4 -0
- package/dist/cjs/RateLimiter.js.map +1 -1
- package/dist/cjs/RcMap.js +2 -0
- package/dist/cjs/RcMap.js.map +1 -1
- package/dist/cjs/RcRef.js +2 -0
- package/dist/cjs/RcRef.js.map +1 -1
- package/dist/cjs/Record.js +56 -0
- package/dist/cjs/Record.js.map +1 -1
- package/dist/cjs/Redacted.js +8 -0
- package/dist/cjs/Redacted.js.map +1 -1
- package/dist/cjs/RegExp.js +4 -0
- package/dist/cjs/RegExp.js.map +1 -1
- package/dist/cjs/Request.js +4 -0
- package/dist/cjs/Request.js.map +1 -1
- package/dist/cjs/RequestResolver.js +2 -0
- package/dist/cjs/RequestResolver.js.map +1 -1
- package/dist/cjs/Runtime.js +6 -0
- package/dist/cjs/Runtime.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schema.js +91 -8
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/Sink.js +9 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/Stream.js +179 -7
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/String.js +62 -0
- package/dist/cjs/String.js.map +1 -1
- package/dist/cjs/Struct.js +12 -0
- package/dist/cjs/Struct.js.map +1 -1
- package/dist/cjs/Symbol.js +2 -0
- package/dist/cjs/Symbol.js.map +1 -1
- package/dist/cjs/Trie.js +56 -0
- package/dist/cjs/Trie.js.map +1 -1
- package/dist/cjs/Tuple.js +18 -0
- package/dist/cjs/Tuple.js.map +1 -1
- package/dist/cjs/Utils.js +7 -1
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js +5 -9
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel.js +156 -130
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/config.js +13 -4
- package/dist/cjs/internal/config.js.map +1 -1
- package/dist/cjs/internal/context.js +46 -3
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/dateTime.js +747 -0
- package/dist/cjs/internal/dateTime.js.map +1 -0
- package/dist/cjs/internal/fiberRuntime.js +34 -11
- package/dist/cjs/internal/fiberRuntime.js.map +1 -1
- package/dist/cjs/internal/groupBy.js +9 -3
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/layer.js +1 -1
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/mailbox.js +1 -1
- package/dist/cjs/internal/mailbox.js.map +1 -1
- package/dist/cjs/internal/sink.js +25 -21
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stream.js +70 -71
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/cjs/internal/version.js.map +1 -1
- package/dist/dts/Array.d.ts +534 -0
- package/dist/dts/Array.d.ts.map +1 -1
- package/dist/dts/BigDecimal.d.ts +172 -1
- package/dist/dts/BigDecimal.d.ts.map +1 -1
- package/dist/dts/BigInt.d.ts +114 -0
- package/dist/dts/BigInt.d.ts.map +1 -1
- package/dist/dts/Boolean.d.ts +56 -0
- package/dist/dts/Boolean.d.ts.map +1 -1
- package/dist/dts/Brand.d.ts +6 -0
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +66 -5
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +30 -0
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +25 -1
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +155 -0
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Cron.d.ts +21 -6
- package/dist/dts/Cron.d.ts.map +1 -1
- package/dist/dts/Data.d.ts +26 -0
- package/dist/dts/Data.d.ts.map +1 -1
- package/dist/dts/DateTime.d.ts +192 -49
- package/dist/dts/DateTime.d.ts.map +1 -1
- package/dist/dts/Duration.d.ts +2 -0
- package/dist/dts/Duration.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +658 -1
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +84 -2
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/FiberHandle.d.ts +6 -0
- package/dist/dts/FiberHandle.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +6 -0
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/FiberSet.d.ts +6 -0
- package/dist/dts/FiberSet.d.ts.map +1 -1
- package/dist/dts/Function.d.ts +50 -0
- package/dist/dts/Function.d.ts.map +1 -1
- package/dist/dts/GlobalValue.d.ts +2 -0
- package/dist/dts/GlobalValue.d.ts.map +1 -1
- package/dist/dts/HashMap.d.ts +6 -0
- package/dist/dts/HashMap.d.ts.map +1 -1
- package/dist/dts/Inspectable.d.ts.map +1 -1
- package/dist/dts/Iterable.d.ts +26 -0
- package/dist/dts/Iterable.d.ts.map +1 -1
- package/dist/dts/JSONSchema.d.ts +1 -0
- package/dist/dts/JSONSchema.d.ts.map +1 -1
- package/dist/dts/List.d.ts +20 -0
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +34 -0
- package/dist/dts/Logger.d.ts.map +1 -1
- package/dist/dts/Mailbox.d.ts +2 -0
- package/dist/dts/Mailbox.d.ts.map +1 -1
- package/dist/dts/ManagedRuntime.d.ts +2 -0
- package/dist/dts/ManagedRuntime.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +18 -0
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/Micro.d.ts +880 -863
- package/dist/dts/Micro.d.ts.map +1 -1
- package/dist/dts/Number.d.ts +104 -0
- package/dist/dts/Number.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +142 -0
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Order.d.ts +2 -0
- package/dist/dts/Order.d.ts.map +1 -1
- package/dist/dts/Ordering.d.ts +8 -0
- package/dist/dts/Ordering.d.ts.map +1 -1
- package/dist/dts/Predicate.d.ts +104 -0
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/Random.d.ts +4 -0
- package/dist/dts/Random.d.ts.map +1 -1
- package/dist/dts/RateLimiter.d.ts +4 -0
- package/dist/dts/RateLimiter.d.ts.map +1 -1
- package/dist/dts/RcMap.d.ts +6 -0
- package/dist/dts/RcMap.d.ts.map +1 -1
- package/dist/dts/RcRef.d.ts +2 -0
- package/dist/dts/RcRef.d.ts.map +1 -1
- package/dist/dts/Record.d.ts +136 -0
- package/dist/dts/Record.d.ts.map +1 -1
- package/dist/dts/Redacted.d.ts +8 -0
- package/dist/dts/Redacted.d.ts.map +1 -1
- package/dist/dts/RegExp.d.ts +4 -0
- package/dist/dts/RegExp.d.ts.map +1 -1
- package/dist/dts/Request.d.ts +4 -0
- package/dist/dts/Request.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +6 -0
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Runtime.d.ts +18 -0
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +2 -0
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schema.d.ts +90 -0
- package/dist/dts/Schema.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +8 -0
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +394 -32
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/String.d.ts +94 -0
- package/dist/dts/String.d.ts.map +1 -1
- package/dist/dts/Struct.d.ts +24 -0
- package/dist/dts/Struct.d.ts.map +1 -1
- package/dist/dts/Symbol.d.ts +2 -0
- package/dist/dts/Symbol.d.ts.map +1 -1
- package/dist/dts/Trie.d.ts +132 -0
- package/dist/dts/Trie.d.ts.map +1 -1
- package/dist/dts/Tuple.d.ts +42 -0
- package/dist/dts/Tuple.d.ts.map +1 -1
- package/dist/dts/Types.d.ts +24 -0
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/dts/Utils.d.ts +4 -0
- package/dist/dts/Utils.d.ts.map +1 -1
- package/dist/dts/internal/context.d.ts +1 -1
- package/dist/dts/internal/context.d.ts.map +1 -1
- package/dist/dts/internal/dateTime.d.ts +2 -0
- package/dist/dts/internal/dateTime.d.ts.map +1 -0
- package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Array.js +208 -0
- package/dist/esm/Array.js.map +1 -1
- package/dist/esm/BigDecimal.js +175 -20
- package/dist/esm/BigDecimal.js.map +1 -1
- package/dist/esm/BigInt.js +54 -0
- package/dist/esm/BigInt.js.map +1 -1
- package/dist/esm/Boolean.js +24 -0
- package/dist/esm/Boolean.js.map +1 -1
- package/dist/esm/Brand.js +4 -0
- package/dist/esm/Brand.js.map +1 -1
- package/dist/esm/Channel.js +42 -2
- package/dist/esm/Channel.js.map +1 -1
- package/dist/esm/Chunk.js +8 -0
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Config.js +9 -0
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Context.js +49 -0
- package/dist/esm/Context.js.map +1 -1
- package/dist/esm/Cron.js +81 -67
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/Data.js +16 -0
- package/dist/esm/Data.js.map +1 -1
- package/dist/esm/DateTime.js +176 -627
- package/dist/esm/DateTime.js.map +1 -1
- package/dist/esm/Duration.js +2 -0
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js +297 -0
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +40 -2
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/FiberHandle.js +6 -0
- package/dist/esm/FiberHandle.js.map +1 -1
- package/dist/esm/FiberMap.js +6 -0
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/FiberSet.js +6 -0
- package/dist/esm/FiberSet.js.map +1 -1
- package/dist/esm/Function.js +34 -0
- package/dist/esm/Function.js.map +1 -1
- package/dist/esm/GlobalValue.js +2 -0
- package/dist/esm/GlobalValue.js.map +1 -1
- package/dist/esm/HashMap.js.map +1 -1
- package/dist/esm/Inspectable.js +8 -4
- package/dist/esm/Inspectable.js.map +1 -1
- package/dist/esm/Iterable.js +18 -0
- package/dist/esm/Iterable.js.map +1 -1
- package/dist/esm/JSONSchema.js.map +1 -1
- package/dist/esm/List.js +4 -0
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/Logger.js +26 -0
- package/dist/esm/Logger.js.map +1 -1
- package/dist/esm/Mailbox.js +2 -0
- package/dist/esm/Mailbox.js.map +1 -1
- package/dist/esm/ManagedRuntime.js +2 -0
- package/dist/esm/ManagedRuntime.js.map +1 -1
- package/dist/esm/Metric.js +10 -0
- package/dist/esm/Metric.js.map +1 -1
- package/dist/esm/Micro.js +1077 -1037
- package/dist/esm/Micro.js.map +1 -1
- package/dist/esm/Number.js +44 -0
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/Option.js +72 -0
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Order.js +2 -0
- package/dist/esm/Order.js.map +1 -1
- package/dist/esm/Ordering.js +4 -0
- package/dist/esm/Ordering.js.map +1 -1
- package/dist/esm/Predicate.js +68 -0
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/Random.js +4 -0
- package/dist/esm/Random.js.map +1 -1
- package/dist/esm/RateLimiter.js +4 -0
- package/dist/esm/RateLimiter.js.map +1 -1
- package/dist/esm/RcMap.js +2 -0
- package/dist/esm/RcMap.js.map +1 -1
- package/dist/esm/RcRef.js +2 -0
- package/dist/esm/RcRef.js.map +1 -1
- package/dist/esm/Record.js +56 -0
- package/dist/esm/Record.js.map +1 -1
- package/dist/esm/Redacted.js +8 -0
- package/dist/esm/Redacted.js.map +1 -1
- package/dist/esm/RegExp.js +4 -0
- package/dist/esm/RegExp.js.map +1 -1
- package/dist/esm/Request.js +4 -0
- package/dist/esm/Request.js.map +1 -1
- package/dist/esm/RequestResolver.js +2 -0
- package/dist/esm/RequestResolver.js.map +1 -1
- package/dist/esm/Runtime.js +6 -0
- package/dist/esm/Runtime.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schema.js +88 -0
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/Sink.js +8 -0
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/Stream.js +183 -5
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/String.js +62 -0
- package/dist/esm/String.js.map +1 -1
- package/dist/esm/Struct.js +12 -0
- package/dist/esm/Struct.js.map +1 -1
- package/dist/esm/Symbol.js +2 -0
- package/dist/esm/Symbol.js.map +1 -1
- package/dist/esm/Trie.js +56 -0
- package/dist/esm/Trie.js.map +1 -1
- package/dist/esm/Tuple.js +22 -0
- package/dist/esm/Tuple.js.map +1 -1
- package/dist/esm/Utils.js +5 -0
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js +5 -7
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel.js +152 -129
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/config.js +11 -3
- package/dist/esm/internal/config.js.map +1 -1
- package/dist/esm/internal/context.js +42 -2
- package/dist/esm/internal/context.js.map +1 -1
- package/dist/esm/internal/dateTime.js +704 -0
- package/dist/esm/internal/dateTime.js.map +1 -0
- package/dist/esm/internal/fiberRuntime.js +31 -9
- package/dist/esm/internal/fiberRuntime.js.map +1 -1
- package/dist/esm/internal/groupBy.js +9 -3
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/layer.js +1 -1
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/mailbox.js +1 -1
- package/dist/esm/internal/mailbox.js.map +1 -1
- package/dist/esm/internal/sink.js +23 -20
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stream.js +66 -69
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/dist/esm/internal/version.js.map +1 -1
- package/package.json +1 -1
- package/src/Array.ts +534 -0
- package/src/BigDecimal.ts +247 -21
- package/src/BigInt.ts +114 -0
- package/src/Boolean.ts +56 -0
- package/src/Brand.ts +6 -0
- package/src/Channel.ts +81 -5
- package/src/Chunk.ts +32 -0
- package/src/Config.ts +26 -1
- package/src/Context.ts +163 -0
- package/src/Cron.ts +91 -68
- package/src/Data.ts +26 -0
- package/src/DateTime.ts +307 -757
- package/src/Duration.ts +2 -0
- package/src/Effect.ts +910 -1
- package/src/Either.ts +84 -2
- package/src/FiberHandle.ts +6 -0
- package/src/FiberMap.ts +6 -0
- package/src/FiberSet.ts +6 -0
- package/src/Function.ts +50 -0
- package/src/GlobalValue.ts +2 -0
- package/src/HashMap.ts +6 -0
- package/src/Inspectable.ts +11 -7
- package/src/Iterable.ts +26 -0
- package/src/JSONSchema.ts +1 -0
- package/src/List.ts +24 -0
- package/src/Logger.ts +34 -0
- package/src/Mailbox.ts +2 -0
- package/src/ManagedRuntime.ts +2 -0
- package/src/Metric.ts +18 -0
- package/src/Micro.ts +2007 -1745
- package/src/Number.ts +104 -0
- package/src/Option.ts +142 -0
- package/src/Order.ts +2 -0
- package/src/Ordering.ts +8 -0
- package/src/Predicate.ts +104 -0
- package/src/Random.ts +4 -0
- package/src/RateLimiter.ts +4 -0
- package/src/RcMap.ts +6 -0
- package/src/RcRef.ts +2 -0
- package/src/Record.ts +136 -0
- package/src/Redacted.ts +8 -0
- package/src/RegExp.ts +4 -0
- package/src/Request.ts +4 -0
- package/src/RequestResolver.ts +6 -0
- package/src/Runtime.ts +18 -0
- package/src/STM.ts +2 -0
- package/src/Schema.ts +124 -0
- package/src/Sink.ts +11 -0
- package/src/Stream.ts +399 -44
- package/src/String.ts +94 -0
- package/src/Struct.ts +24 -0
- package/src/Symbol.ts +2 -0
- package/src/Trie.ts +132 -0
- package/src/Tuple.ts +42 -0
- package/src/Types.ts +24 -0
- package/src/Utils.ts +8 -0
- package/src/internal/channel/channelExecutor.ts +37 -33
- package/src/internal/channel.ts +504 -467
- package/src/internal/config.ts +18 -6
- package/src/internal/context.ts +56 -4
- package/src/internal/dateTime.ts +1126 -0
- package/src/internal/fiberRuntime.ts +35 -16
- package/src/internal/groupBy.ts +13 -22
- package/src/internal/layer.ts +5 -8
- package/src/internal/mailbox.ts +6 -4
- package/src/internal/sink.ts +55 -35
- package/src/internal/stream.ts +299 -299
- package/src/internal/version.ts +1 -1
package/dist/cjs/BigDecimal.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.unsafeToNumber = exports.unsafeRemainder = exports.unsafeMakeNormalized = exports.unsafeFromString = exports.unsafeDivide = exports.sum = exports.subtract = exports.sign = exports.scale = exports.roundTerminal = exports.remainder = exports.normalize = exports.negate = exports.multiply = exports.min = exports.max = exports.make = exports.lessThanOrEqualTo = exports.lessThan = exports.isZero = exports.isPositive = exports.isNegative = exports.isInteger = exports.isBigDecimal = exports.greaterThanOrEqualTo = exports.greaterThan = exports.fromString = exports.fromNumber = exports.fromBigInt = exports.format = exports.equals = exports.divide = exports.clamp = exports.between = exports.abs = exports.TypeId = exports.Order = exports.Equivalence = void 0;
|
|
6
|
+
exports.unsafeToNumber = exports.unsafeRemainder = exports.unsafeMakeNormalized = exports.unsafeFromString = exports.unsafeFromNumber = exports.unsafeDivide = exports.toExponential = exports.sum = exports.subtract = exports.sign = exports.scale = exports.safeFromNumber = exports.roundTerminal = exports.remainder = exports.normalize = exports.negate = exports.multiply = exports.min = exports.max = exports.make = exports.lessThanOrEqualTo = exports.lessThan = exports.isZero = exports.isPositive = exports.isNegative = exports.isInteger = exports.isBigDecimal = exports.greaterThanOrEqualTo = exports.greaterThan = exports.fromString = exports.fromNumber = exports.fromBigInt = exports.format = exports.equals = exports.divide = exports.clamp = exports.between = exports.abs = exports.TypeId = exports.Order = exports.Equivalence = void 0;
|
|
7
7
|
var Equal = _interopRequireWildcard(require("./Equal.js"));
|
|
8
8
|
var equivalence = _interopRequireWildcard(require("./Equivalence.js"));
|
|
9
9
|
var _Function = require("./Function.js");
|
|
@@ -32,6 +32,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
32
32
|
*/
|
|
33
33
|
|
|
34
34
|
const DEFAULT_PRECISION = 100;
|
|
35
|
+
const FINITE_INT_REGEX = /^[+-]?\d+$/;
|
|
35
36
|
/**
|
|
36
37
|
* @since 2.0.0
|
|
37
38
|
* @category symbols
|
|
@@ -113,10 +114,12 @@ const zero = /*#__PURE__*/unsafeMakeNormalized(bigint0, 0);
|
|
|
113
114
|
* @param self - The `BigDecimal` to normalize.
|
|
114
115
|
*
|
|
115
116
|
* @example
|
|
117
|
+
* ```ts
|
|
116
118
|
* import { normalize, make, unsafeFromString } from "effect/BigDecimal"
|
|
117
119
|
*
|
|
118
120
|
* assert.deepStrictEqual(normalize(unsafeFromString("123.00000")), normalize(make(123n, 0)))
|
|
119
121
|
* assert.deepStrictEqual(normalize(unsafeFromString("12300000")), normalize(make(123n, -5)))
|
|
122
|
+
* ```
|
|
120
123
|
*
|
|
121
124
|
* @since 2.0.0
|
|
122
125
|
* @category scaling
|
|
@@ -174,9 +177,11 @@ const scale = exports.scale = /*#__PURE__*/(0, _Function.dual)(2, (self, scale)
|
|
|
174
177
|
* @param that - The second operand.
|
|
175
178
|
*
|
|
176
179
|
* @example
|
|
180
|
+
* ```ts
|
|
177
181
|
* import { sum, unsafeFromString } from "effect/BigDecimal"
|
|
178
182
|
*
|
|
179
183
|
* assert.deepStrictEqual(sum(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("5"))
|
|
184
|
+
* ```
|
|
180
185
|
*
|
|
181
186
|
* @since 2.0.0
|
|
182
187
|
* @category math
|
|
@@ -203,9 +208,11 @@ const sum = exports.sum = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => {
|
|
|
203
208
|
* @param that - The second operand.
|
|
204
209
|
*
|
|
205
210
|
* @example
|
|
211
|
+
* ```ts
|
|
206
212
|
* import { multiply, unsafeFromString } from "effect/BigDecimal"
|
|
207
213
|
*
|
|
208
214
|
* assert.deepStrictEqual(multiply(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("6"))
|
|
215
|
+
* ```
|
|
209
216
|
*
|
|
210
217
|
* @since 2.0.0
|
|
211
218
|
* @category math
|
|
@@ -223,9 +230,11 @@ const multiply = exports.multiply = /*#__PURE__*/(0, _Function.dual)(2, (self, t
|
|
|
223
230
|
* @param that - The second operand.
|
|
224
231
|
*
|
|
225
232
|
* @example
|
|
233
|
+
* ```ts
|
|
226
234
|
* import { subtract, unsafeFromString } from "effect/BigDecimal"
|
|
227
235
|
*
|
|
228
236
|
* assert.deepStrictEqual(subtract(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("-1"))
|
|
237
|
+
* ```
|
|
229
238
|
*
|
|
230
239
|
* @since 2.0.0
|
|
231
240
|
* @category math
|
|
@@ -309,11 +318,13 @@ const roundTerminal = n => {
|
|
|
309
318
|
* @param that - The divisor operand.
|
|
310
319
|
*
|
|
311
320
|
* @example
|
|
321
|
+
* ```ts
|
|
312
322
|
* import { BigDecimal, Option } from "effect"
|
|
313
323
|
*
|
|
314
324
|
* assert.deepStrictEqual(BigDecimal.divide(BigDecimal.unsafeFromString("6"), BigDecimal.unsafeFromString("3")), Option.some(BigDecimal.unsafeFromString("2")))
|
|
315
325
|
* assert.deepStrictEqual(BigDecimal.divide(BigDecimal.unsafeFromString("6"), BigDecimal.unsafeFromString("4")), Option.some(BigDecimal.unsafeFromString("1.5")))
|
|
316
326
|
* assert.deepStrictEqual(BigDecimal.divide(BigDecimal.unsafeFromString("6"), BigDecimal.unsafeFromString("0")), Option.none())
|
|
327
|
+
* ```
|
|
317
328
|
*
|
|
318
329
|
* @since 2.0.0
|
|
319
330
|
* @category math
|
|
@@ -344,10 +355,12 @@ const divide = exports.divide = /*#__PURE__*/(0, _Function.dual)(2, (self, that)
|
|
|
344
355
|
* @param that - The divisor operand.as
|
|
345
356
|
*
|
|
346
357
|
* @example
|
|
358
|
+
* ```ts
|
|
347
359
|
* import { unsafeDivide, unsafeFromString } from "effect/BigDecimal"
|
|
348
360
|
*
|
|
349
361
|
* assert.deepStrictEqual(unsafeDivide(unsafeFromString("6"), unsafeFromString("3")), unsafeFromString("2"))
|
|
350
362
|
* assert.deepStrictEqual(unsafeDivide(unsafeFromString("6"), unsafeFromString("4")), unsafeFromString("1.5"))
|
|
363
|
+
* ```
|
|
351
364
|
*
|
|
352
365
|
* @since 2.0.0
|
|
353
366
|
* @category math
|
|
@@ -389,11 +402,13 @@ const Order = exports.Order = /*#__PURE__*/order.make((self, that) => {
|
|
|
389
402
|
* @param that - The second argument.
|
|
390
403
|
*
|
|
391
404
|
* @example
|
|
405
|
+
* ```ts
|
|
392
406
|
* import { lessThan, unsafeFromString } from "effect/BigDecimal"
|
|
393
407
|
*
|
|
394
408
|
* assert.deepStrictEqual(lessThan(unsafeFromString("2"), unsafeFromString("3")), true)
|
|
395
409
|
* assert.deepStrictEqual(lessThan(unsafeFromString("3"), unsafeFromString("3")), false)
|
|
396
410
|
* assert.deepStrictEqual(lessThan(unsafeFromString("4"), unsafeFromString("3")), false)
|
|
411
|
+
* ```
|
|
397
412
|
*
|
|
398
413
|
* @since 2.0.0
|
|
399
414
|
* @category predicates
|
|
@@ -406,11 +421,13 @@ const lessThan = exports.lessThan = /*#__PURE__*/order.lessThan(Order);
|
|
|
406
421
|
* @param that - The second `BigDecimal` to compare with.
|
|
407
422
|
*
|
|
408
423
|
* @example
|
|
424
|
+
* ```ts
|
|
409
425
|
* import { lessThanOrEqualTo, unsafeFromString } from "effect/BigDecimal"
|
|
410
426
|
*
|
|
411
427
|
* assert.deepStrictEqual(lessThanOrEqualTo(unsafeFromString("2"), unsafeFromString("3")), true)
|
|
412
428
|
* assert.deepStrictEqual(lessThanOrEqualTo(unsafeFromString("3"), unsafeFromString("3")), true)
|
|
413
429
|
* assert.deepStrictEqual(lessThanOrEqualTo(unsafeFromString("4"), unsafeFromString("3")), false)
|
|
430
|
+
* ```
|
|
414
431
|
*
|
|
415
432
|
* @since 2.0.0
|
|
416
433
|
* @category predicates
|
|
@@ -423,11 +440,13 @@ const lessThanOrEqualTo = exports.lessThanOrEqualTo = /*#__PURE__*/order.lessTha
|
|
|
423
440
|
* @param that - The second argument.
|
|
424
441
|
*
|
|
425
442
|
* @example
|
|
443
|
+
* ```ts
|
|
426
444
|
* import { greaterThan, unsafeFromString } from "effect/BigDecimal"
|
|
427
445
|
*
|
|
428
446
|
* assert.deepStrictEqual(greaterThan(unsafeFromString("2"), unsafeFromString("3")), false)
|
|
429
447
|
* assert.deepStrictEqual(greaterThan(unsafeFromString("3"), unsafeFromString("3")), false)
|
|
430
448
|
* assert.deepStrictEqual(greaterThan(unsafeFromString("4"), unsafeFromString("3")), true)
|
|
449
|
+
* ```
|
|
431
450
|
*
|
|
432
451
|
* @since 2.0.0
|
|
433
452
|
* @category predicates
|
|
@@ -440,11 +459,13 @@ const greaterThan = exports.greaterThan = /*#__PURE__*/order.greaterThan(Order);
|
|
|
440
459
|
* @param that - The second `BigDecimal` to compare with.
|
|
441
460
|
*
|
|
442
461
|
* @example
|
|
462
|
+
* ```ts
|
|
443
463
|
* import { greaterThanOrEqualTo, unsafeFromString } from "effect/BigDecimal"
|
|
444
464
|
*
|
|
445
465
|
* assert.deepStrictEqual(greaterThanOrEqualTo(unsafeFromString("2"), unsafeFromString("3")), false)
|
|
446
466
|
* assert.deepStrictEqual(greaterThanOrEqualTo(unsafeFromString("3"), unsafeFromString("3")), true)
|
|
447
467
|
* assert.deepStrictEqual(greaterThanOrEqualTo(unsafeFromString("4"), unsafeFromString("3")), true)
|
|
468
|
+
* ```
|
|
448
469
|
*
|
|
449
470
|
* @since 2.0.0
|
|
450
471
|
* @category predicates
|
|
@@ -458,6 +479,7 @@ const greaterThanOrEqualTo = exports.greaterThanOrEqualTo = /*#__PURE__*/order.g
|
|
|
458
479
|
* @param maximum - The `maximum` value to check.
|
|
459
480
|
*
|
|
460
481
|
* @example
|
|
482
|
+
* ```ts
|
|
461
483
|
* import { BigDecimal } from "effect"
|
|
462
484
|
*
|
|
463
485
|
* const between = BigDecimal.between({
|
|
@@ -468,6 +490,7 @@ const greaterThanOrEqualTo = exports.greaterThanOrEqualTo = /*#__PURE__*/order.g
|
|
|
468
490
|
* assert.deepStrictEqual(between(BigDecimal.unsafeFromString("3")), true)
|
|
469
491
|
* assert.deepStrictEqual(between(BigDecimal.unsafeFromString("0")), false)
|
|
470
492
|
* assert.deepStrictEqual(between(BigDecimal.unsafeFromString("6")), false)
|
|
493
|
+
* ```
|
|
471
494
|
*
|
|
472
495
|
* @since 2.0.0
|
|
473
496
|
* @category predicates
|
|
@@ -485,6 +508,7 @@ const between = exports.between = /*#__PURE__*/order.between(Order);
|
|
|
485
508
|
* @param maximum - The upper end of the range.
|
|
486
509
|
*
|
|
487
510
|
* @example
|
|
511
|
+
* ```ts
|
|
488
512
|
* import { BigDecimal } from "effect"
|
|
489
513
|
*
|
|
490
514
|
* const clamp = BigDecimal.clamp({
|
|
@@ -495,6 +519,7 @@ const between = exports.between = /*#__PURE__*/order.between(Order);
|
|
|
495
519
|
* assert.deepStrictEqual(clamp(BigDecimal.unsafeFromString("3")), BigDecimal.unsafeFromString("3"))
|
|
496
520
|
* assert.deepStrictEqual(clamp(BigDecimal.unsafeFromString("0")), BigDecimal.unsafeFromString("1"))
|
|
497
521
|
* assert.deepStrictEqual(clamp(BigDecimal.unsafeFromString("6")), BigDecimal.unsafeFromString("5"))
|
|
522
|
+
* ```
|
|
498
523
|
*
|
|
499
524
|
* @since 2.0.0
|
|
500
525
|
* @category math
|
|
@@ -507,9 +532,11 @@ const clamp = exports.clamp = /*#__PURE__*/order.clamp(Order);
|
|
|
507
532
|
* @param that - The second `BigDecimal`.
|
|
508
533
|
*
|
|
509
534
|
* @example
|
|
535
|
+
* ```ts
|
|
510
536
|
* import { min, unsafeFromString } from "effect/BigDecimal"
|
|
511
537
|
*
|
|
512
538
|
* assert.deepStrictEqual(min(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("2"))
|
|
539
|
+
* ```
|
|
513
540
|
*
|
|
514
541
|
* @since 2.0.0
|
|
515
542
|
* @category math
|
|
@@ -522,9 +549,11 @@ const min = exports.min = /*#__PURE__*/order.min(Order);
|
|
|
522
549
|
* @param that - The second `BigDecimal`.
|
|
523
550
|
*
|
|
524
551
|
* @example
|
|
552
|
+
* ```ts
|
|
525
553
|
* import { max, unsafeFromString } from "effect/BigDecimal"
|
|
526
554
|
*
|
|
527
555
|
* assert.deepStrictEqual(max(unsafeFromString("2"), unsafeFromString("3")), unsafeFromString("3"))
|
|
556
|
+
* ```
|
|
528
557
|
*
|
|
529
558
|
* @since 2.0.0
|
|
530
559
|
* @category math
|
|
@@ -536,11 +565,13 @@ const max = exports.max = /*#__PURE__*/order.max(Order);
|
|
|
536
565
|
* @param n - The `BigDecimal` to determine the sign of.
|
|
537
566
|
*
|
|
538
567
|
* @example
|
|
568
|
+
* ```ts
|
|
539
569
|
* import { sign, unsafeFromString } from "effect/BigDecimal"
|
|
540
570
|
*
|
|
541
571
|
* assert.deepStrictEqual(sign(unsafeFromString("-5")), -1)
|
|
542
572
|
* assert.deepStrictEqual(sign(unsafeFromString("0")), 0)
|
|
543
573
|
* assert.deepStrictEqual(sign(unsafeFromString("5")), 1)
|
|
574
|
+
* ```
|
|
544
575
|
*
|
|
545
576
|
* @since 2.0.0
|
|
546
577
|
* @category math
|
|
@@ -552,11 +583,13 @@ const sign = n => n.value === bigint0 ? 0 : n.value < bigint0 ? -1 : 1;
|
|
|
552
583
|
* @param n - The `BigDecimal` to determine the absolute value of.
|
|
553
584
|
*
|
|
554
585
|
* @example
|
|
586
|
+
* ```ts
|
|
555
587
|
* import { abs, unsafeFromString } from "effect/BigDecimal"
|
|
556
588
|
*
|
|
557
589
|
* assert.deepStrictEqual(abs(unsafeFromString("-5")), unsafeFromString("5"))
|
|
558
590
|
* assert.deepStrictEqual(abs(unsafeFromString("0")), unsafeFromString("0"))
|
|
559
591
|
* assert.deepStrictEqual(abs(unsafeFromString("5")), unsafeFromString("5"))
|
|
592
|
+
* ```
|
|
560
593
|
*
|
|
561
594
|
* @since 2.0.0
|
|
562
595
|
* @category math
|
|
@@ -569,10 +602,12 @@ const abs = n => n.value < bigint0 ? make(-n.value, n.scale) : n;
|
|
|
569
602
|
* @param n - The `BigDecimal` to negate.
|
|
570
603
|
*
|
|
571
604
|
* @example
|
|
605
|
+
* ```ts
|
|
572
606
|
* import { negate, unsafeFromString } from "effect/BigDecimal"
|
|
573
607
|
*
|
|
574
608
|
* assert.deepStrictEqual(negate(unsafeFromString("3")), unsafeFromString("-3"))
|
|
575
609
|
* assert.deepStrictEqual(negate(unsafeFromString("-6")), unsafeFromString("6"))
|
|
610
|
+
* ```
|
|
576
611
|
*
|
|
577
612
|
* @since 2.0.0
|
|
578
613
|
* @category math
|
|
@@ -588,11 +623,13 @@ const negate = n => make(-n.value, n.scale);
|
|
|
588
623
|
* @param divisor - The divisor.
|
|
589
624
|
*
|
|
590
625
|
* @example
|
|
626
|
+
* ```ts
|
|
591
627
|
* import { BigDecimal, Option } from "effect"
|
|
592
628
|
*
|
|
593
629
|
* assert.deepStrictEqual(BigDecimal.remainder(BigDecimal.unsafeFromString("2"), BigDecimal.unsafeFromString("2")), Option.some(BigDecimal.unsafeFromString("0")))
|
|
594
630
|
* assert.deepStrictEqual(BigDecimal.remainder(BigDecimal.unsafeFromString("3"), BigDecimal.unsafeFromString("2")), Option.some(BigDecimal.unsafeFromString("1")))
|
|
595
631
|
* assert.deepStrictEqual(BigDecimal.remainder(BigDecimal.unsafeFromString("-4"), BigDecimal.unsafeFromString("2")), Option.some(BigDecimal.unsafeFromString("0")))
|
|
632
|
+
* ```
|
|
596
633
|
*
|
|
597
634
|
* @since 2.0.0
|
|
598
635
|
* @category math
|
|
@@ -614,11 +651,13 @@ const remainder = exports.remainder = /*#__PURE__*/(0, _Function.dual)(2, (self,
|
|
|
614
651
|
* @param divisor - The divisor.
|
|
615
652
|
*
|
|
616
653
|
* @example
|
|
654
|
+
* ```ts
|
|
617
655
|
* import { unsafeRemainder, unsafeFromString } from "effect/BigDecimal"
|
|
618
656
|
*
|
|
619
657
|
* assert.deepStrictEqual(unsafeRemainder(unsafeFromString("2"), unsafeFromString("2")), unsafeFromString("0"))
|
|
620
658
|
* assert.deepStrictEqual(unsafeRemainder(unsafeFromString("3"), unsafeFromString("2")), unsafeFromString("1"))
|
|
621
659
|
* assert.deepStrictEqual(unsafeRemainder(unsafeFromString("-4"), unsafeFromString("2")), unsafeFromString("0"))
|
|
660
|
+
* ```
|
|
622
661
|
*
|
|
623
662
|
* @since 2.0.0
|
|
624
663
|
* @category math
|
|
@@ -665,21 +704,70 @@ const fromBigInt = n => make(n, 0);
|
|
|
665
704
|
* It is not recommended to convert a floating point number to a decimal directly,
|
|
666
705
|
* as the floating point representation may be unexpected.
|
|
667
706
|
*
|
|
707
|
+
* Throws a `RangeError` if the number is not finite (`NaN`, `+Infinity` or `-Infinity`).
|
|
708
|
+
*
|
|
668
709
|
* @param value - The `number` value to create a `BigDecimal` from.
|
|
669
710
|
*
|
|
670
711
|
* @example
|
|
712
|
+
* ```ts
|
|
671
713
|
* import { fromNumber, make } from "effect/BigDecimal"
|
|
672
714
|
*
|
|
673
715
|
* assert.deepStrictEqual(fromNumber(123), make(123n, 0))
|
|
674
716
|
* assert.deepStrictEqual(fromNumber(123.456), make(123456n, 3))
|
|
717
|
+
* ```
|
|
675
718
|
*
|
|
676
|
-
* @since
|
|
719
|
+
* @since 3.11.0
|
|
677
720
|
* @category constructors
|
|
678
721
|
*/
|
|
679
722
|
exports.fromBigInt = fromBigInt;
|
|
680
|
-
const
|
|
681
|
-
|
|
682
|
-
|
|
723
|
+
const unsafeFromNumber = n => Option.getOrThrowWith(safeFromNumber(n), () => new RangeError(`Number must be finite, got ${n}`));
|
|
724
|
+
/**
|
|
725
|
+
* Creates a `BigDecimal` from a `number` value.
|
|
726
|
+
*
|
|
727
|
+
* It is not recommended to convert a floating point number to a decimal directly,
|
|
728
|
+
* as the floating point representation may be unexpected.
|
|
729
|
+
*
|
|
730
|
+
* Throws a `RangeError` if the number is not finite (`NaN`, `+Infinity` or `-Infinity`).
|
|
731
|
+
*
|
|
732
|
+
* @param value - The `number` value to create a `BigDecimal` from.
|
|
733
|
+
*
|
|
734
|
+
* @since 2.0.0
|
|
735
|
+
* @category constructors
|
|
736
|
+
* @deprecated Use {@link unsafeFromNumber} instead.
|
|
737
|
+
*/
|
|
738
|
+
exports.unsafeFromNumber = unsafeFromNumber;
|
|
739
|
+
const fromNumber = exports.fromNumber = unsafeFromNumber;
|
|
740
|
+
/**
|
|
741
|
+
* Creates a `BigDecimal` from a `number` value.
|
|
742
|
+
*
|
|
743
|
+
* It is not recommended to convert a floating point number to a decimal directly,
|
|
744
|
+
* as the floating point representation may be unexpected.
|
|
745
|
+
*
|
|
746
|
+
* Returns `None` if the number is not finite (`NaN`, `+Infinity` or `-Infinity`).
|
|
747
|
+
*
|
|
748
|
+
* @param n - The `number` value to create a `BigDecimal` from.
|
|
749
|
+
*
|
|
750
|
+
* @example
|
|
751
|
+
* import { BigDecimal, Option } from "effect"
|
|
752
|
+
*
|
|
753
|
+
* assert.deepStrictEqual(BigDecimal.safeFromNumber(123), Option.some(BigDecimal.make(123n, 0)))
|
|
754
|
+
* assert.deepStrictEqual(BigDecimal.safeFromNumber(123.456), Option.some(BigDecimal.make(123456n, 3)))
|
|
755
|
+
* assert.deepStrictEqual(BigDecimal.safeFromNumber(Infinity), Option.none())
|
|
756
|
+
*
|
|
757
|
+
* @since 3.11.0
|
|
758
|
+
* @category constructors
|
|
759
|
+
*/
|
|
760
|
+
const safeFromNumber = n => {
|
|
761
|
+
// TODO: Rename this to `fromNumber` after removing the current, unsafe implementation of `fromNumber`.
|
|
762
|
+
if (!Number.isFinite(n)) {
|
|
763
|
+
return Option.none();
|
|
764
|
+
}
|
|
765
|
+
const string = `${n}`;
|
|
766
|
+
if (string.includes("e")) {
|
|
767
|
+
return fromString(string);
|
|
768
|
+
}
|
|
769
|
+
const [lead, trail = ""] = string.split(".");
|
|
770
|
+
return Option.some(make(BigInt(`${lead}${trail}`), trail.length));
|
|
683
771
|
};
|
|
684
772
|
/**
|
|
685
773
|
* Parses a numerical `string` into a `BigDecimal`.
|
|
@@ -687,34 +775,53 @@ const fromNumber = n => {
|
|
|
687
775
|
* @param s - The `string` to parse.
|
|
688
776
|
*
|
|
689
777
|
* @example
|
|
778
|
+
* ```ts
|
|
690
779
|
* import { BigDecimal, Option } from "effect"
|
|
691
780
|
*
|
|
692
781
|
* assert.deepStrictEqual(BigDecimal.fromString("123"), Option.some(BigDecimal.make(123n, 0)))
|
|
693
782
|
* assert.deepStrictEqual(BigDecimal.fromString("123.456"), Option.some(BigDecimal.make(123456n, 3)))
|
|
694
783
|
* assert.deepStrictEqual(BigDecimal.fromString("123.abc"), Option.none())
|
|
784
|
+
* ```
|
|
695
785
|
*
|
|
696
786
|
* @since 2.0.0
|
|
697
787
|
* @category constructors
|
|
698
788
|
*/
|
|
699
|
-
exports.
|
|
789
|
+
exports.safeFromNumber = safeFromNumber;
|
|
700
790
|
const fromString = s => {
|
|
791
|
+
if (s === "") {
|
|
792
|
+
return Option.some(zero);
|
|
793
|
+
}
|
|
794
|
+
let base;
|
|
795
|
+
let exp;
|
|
796
|
+
const seperator = s.search(/[eE]/);
|
|
797
|
+
if (seperator !== -1) {
|
|
798
|
+
const trail = s.slice(seperator + 1);
|
|
799
|
+
base = s.slice(0, seperator);
|
|
800
|
+
exp = Number(trail);
|
|
801
|
+
if (base === "" || !Number.isSafeInteger(exp) || !FINITE_INT_REGEX.test(trail)) {
|
|
802
|
+
return Option.none();
|
|
803
|
+
}
|
|
804
|
+
} else {
|
|
805
|
+
base = s;
|
|
806
|
+
exp = 0;
|
|
807
|
+
}
|
|
701
808
|
let digits;
|
|
702
|
-
let
|
|
703
|
-
const dot =
|
|
809
|
+
let offset;
|
|
810
|
+
const dot = base.search(/\./);
|
|
704
811
|
if (dot !== -1) {
|
|
705
|
-
const lead =
|
|
706
|
-
const trail =
|
|
812
|
+
const lead = base.slice(0, dot);
|
|
813
|
+
const trail = base.slice(dot + 1);
|
|
707
814
|
digits = `${lead}${trail}`;
|
|
708
|
-
|
|
815
|
+
offset = trail.length;
|
|
709
816
|
} else {
|
|
710
|
-
digits =
|
|
711
|
-
|
|
817
|
+
digits = base;
|
|
818
|
+
offset = 0;
|
|
712
819
|
}
|
|
713
|
-
if (digits
|
|
714
|
-
|
|
715
|
-
return Option.some(zero);
|
|
820
|
+
if (!FINITE_INT_REGEX.test(digits)) {
|
|
821
|
+
return Option.none();
|
|
716
822
|
}
|
|
717
|
-
|
|
823
|
+
const scale = offset - exp;
|
|
824
|
+
if (!Number.isSafeInteger(scale)) {
|
|
718
825
|
return Option.none();
|
|
719
826
|
}
|
|
720
827
|
return Option.some(make(BigInt(digits), scale));
|
|
@@ -725,11 +832,13 @@ const fromString = s => {
|
|
|
725
832
|
* @param s - The `string` to parse.
|
|
726
833
|
*
|
|
727
834
|
* @example
|
|
835
|
+
* ```ts
|
|
728
836
|
* import { unsafeFromString, make } from "effect/BigDecimal"
|
|
729
837
|
*
|
|
730
838
|
* assert.deepStrictEqual(unsafeFromString("123"), make(123n, 0))
|
|
731
839
|
* assert.deepStrictEqual(unsafeFromString("123.456"), make(123456n, 3))
|
|
732
840
|
* assert.throws(() => unsafeFromString("123.abc"))
|
|
841
|
+
* ```
|
|
733
842
|
*
|
|
734
843
|
* @since 2.0.0
|
|
735
844
|
* @category constructors
|
|
@@ -739,29 +848,38 @@ const unsafeFromString = s => Option.getOrThrowWith(fromString(s), () => new Err
|
|
|
739
848
|
/**
|
|
740
849
|
* Formats a given `BigDecimal` as a `string`.
|
|
741
850
|
*
|
|
742
|
-
*
|
|
851
|
+
* If the scale of the `BigDecimal` is greater than or equal to 16, the `BigDecimal` will
|
|
852
|
+
* be formatted in scientific notation.
|
|
853
|
+
*
|
|
854
|
+
* @param n - The `BigDecimal` to format.
|
|
743
855
|
*
|
|
744
856
|
* @example
|
|
857
|
+
* ```ts
|
|
745
858
|
* import { format, unsafeFromString } from "effect/BigDecimal"
|
|
746
859
|
*
|
|
747
860
|
* assert.deepStrictEqual(format(unsafeFromString("-5")), "-5")
|
|
748
861
|
* assert.deepStrictEqual(format(unsafeFromString("123.456")), "123.456")
|
|
749
862
|
* assert.deepStrictEqual(format(unsafeFromString("-0.00000123")), "-0.00000123")
|
|
863
|
+
* ```
|
|
750
864
|
*
|
|
751
865
|
* @since 2.0.0
|
|
752
866
|
* @category conversions
|
|
753
867
|
*/
|
|
754
868
|
exports.unsafeFromString = unsafeFromString;
|
|
755
869
|
const format = n => {
|
|
756
|
-
const
|
|
757
|
-
|
|
870
|
+
const normalized = normalize(n);
|
|
871
|
+
if (Math.abs(normalized.scale) >= 16) {
|
|
872
|
+
return toExponential(normalized);
|
|
873
|
+
}
|
|
874
|
+
const negative = normalized.value < bigint0;
|
|
875
|
+
const absolute = negative ? `${normalized.value}`.substring(1) : `${normalized.value}`;
|
|
758
876
|
let before;
|
|
759
877
|
let after;
|
|
760
|
-
if (
|
|
878
|
+
if (normalized.scale >= absolute.length) {
|
|
761
879
|
before = "0";
|
|
762
|
-
after = "0".repeat(
|
|
880
|
+
after = "0".repeat(normalized.scale - absolute.length) + absolute;
|
|
763
881
|
} else {
|
|
764
|
-
const location = absolute.length -
|
|
882
|
+
const location = absolute.length - normalized.scale;
|
|
765
883
|
if (location > absolute.length) {
|
|
766
884
|
const zeros = location - absolute.length;
|
|
767
885
|
before = `${absolute}${"0".repeat(zeros)}`;
|
|
@@ -774,6 +892,35 @@ const format = n => {
|
|
|
774
892
|
const complete = after === "" ? before : `${before}.${after}`;
|
|
775
893
|
return negative ? `-${complete}` : complete;
|
|
776
894
|
};
|
|
895
|
+
/**
|
|
896
|
+
* Formats a given `BigDecimal` as a `string` in scientific notation.
|
|
897
|
+
*
|
|
898
|
+
* @param n - The `BigDecimal` to format.
|
|
899
|
+
*
|
|
900
|
+
* @example
|
|
901
|
+
* import { toExponential, make } from "effect/BigDecimal"
|
|
902
|
+
*
|
|
903
|
+
* assert.deepStrictEqual(toExponential(make(123456n, -5)), "1.23456e+10")
|
|
904
|
+
*
|
|
905
|
+
* @since 3.11.0
|
|
906
|
+
* @category conversions
|
|
907
|
+
*/
|
|
908
|
+
exports.format = format;
|
|
909
|
+
const toExponential = n => {
|
|
910
|
+
if (isZero(n)) {
|
|
911
|
+
return "0e+0";
|
|
912
|
+
}
|
|
913
|
+
const normalized = normalize(n);
|
|
914
|
+
const digits = `${abs(normalized).value}`;
|
|
915
|
+
const head = digits.slice(0, 1);
|
|
916
|
+
const tail = digits.slice(1);
|
|
917
|
+
let output = `${isNegative(normalized) ? "-" : ""}${head}`;
|
|
918
|
+
if (tail !== "") {
|
|
919
|
+
output += `.${tail}`;
|
|
920
|
+
}
|
|
921
|
+
const exp = tail.length - normalized.scale;
|
|
922
|
+
return `${output}e${exp >= 0 ? "+" : ""}${exp}`;
|
|
923
|
+
};
|
|
777
924
|
/**
|
|
778
925
|
* Converts a `BigDecimal` to a `number`.
|
|
779
926
|
*
|
|
@@ -782,14 +929,16 @@ const format = n => {
|
|
|
782
929
|
* @param n - The `BigDecimal` to convert.
|
|
783
930
|
*
|
|
784
931
|
* @example
|
|
932
|
+
* ```ts
|
|
785
933
|
* import { unsafeToNumber, unsafeFromString } from "effect/BigDecimal"
|
|
786
934
|
*
|
|
787
935
|
* assert.deepStrictEqual(unsafeToNumber(unsafeFromString("123.456")), 123.456)
|
|
936
|
+
* ```
|
|
788
937
|
*
|
|
789
938
|
* @since 2.0.0
|
|
790
939
|
* @category conversions
|
|
791
940
|
*/
|
|
792
|
-
exports.
|
|
941
|
+
exports.toExponential = toExponential;
|
|
793
942
|
const unsafeToNumber = n => Number(format(n));
|
|
794
943
|
/**
|
|
795
944
|
* Checks if a given `BigDecimal` is an integer.
|
|
@@ -797,11 +946,13 @@ const unsafeToNumber = n => Number(format(n));
|
|
|
797
946
|
* @param n - The `BigDecimal` to check.
|
|
798
947
|
*
|
|
799
948
|
* @example
|
|
949
|
+
* ```ts
|
|
800
950
|
* import { isInteger, unsafeFromString } from "effect/BigDecimal"
|
|
801
951
|
*
|
|
802
952
|
* assert.deepStrictEqual(isInteger(unsafeFromString("0")), true)
|
|
803
953
|
* assert.deepStrictEqual(isInteger(unsafeFromString("1")), true)
|
|
804
954
|
* assert.deepStrictEqual(isInteger(unsafeFromString("1.1")), false)
|
|
955
|
+
* ```
|
|
805
956
|
*
|
|
806
957
|
* @since 2.0.0
|
|
807
958
|
* @category predicates
|
|
@@ -814,10 +965,12 @@ const isInteger = n => normalize(n).scale <= 0;
|
|
|
814
965
|
* @param n - The `BigDecimal` to check.
|
|
815
966
|
*
|
|
816
967
|
* @example
|
|
968
|
+
* ```ts
|
|
817
969
|
* import { isZero, unsafeFromString } from "effect/BigDecimal"
|
|
818
970
|
*
|
|
819
971
|
* assert.deepStrictEqual(isZero(unsafeFromString("0")), true)
|
|
820
972
|
* assert.deepStrictEqual(isZero(unsafeFromString("1")), false)
|
|
973
|
+
* ```
|
|
821
974
|
*
|
|
822
975
|
* @since 2.0.0
|
|
823
976
|
* @category predicates
|
|
@@ -830,11 +983,13 @@ const isZero = n => n.value === bigint0;
|
|
|
830
983
|
* @param n - The `BigDecimal` to check.
|
|
831
984
|
*
|
|
832
985
|
* @example
|
|
986
|
+
* ```ts
|
|
833
987
|
* import { isNegative, unsafeFromString } from "effect/BigDecimal"
|
|
834
988
|
*
|
|
835
989
|
* assert.deepStrictEqual(isNegative(unsafeFromString("-1")), true)
|
|
836
990
|
* assert.deepStrictEqual(isNegative(unsafeFromString("0")), false)
|
|
837
991
|
* assert.deepStrictEqual(isNegative(unsafeFromString("1")), false)
|
|
992
|
+
* ```
|
|
838
993
|
*
|
|
839
994
|
* @since 2.0.0
|
|
840
995
|
* @category predicates
|
|
@@ -847,11 +1002,13 @@ const isNegative = n => n.value < bigint0;
|
|
|
847
1002
|
* @param n - The `BigDecimal` to check.
|
|
848
1003
|
*
|
|
849
1004
|
* @example
|
|
1005
|
+
* ```ts
|
|
850
1006
|
* import { isPositive, unsafeFromString } from "effect/BigDecimal"
|
|
851
1007
|
*
|
|
852
1008
|
* assert.deepStrictEqual(isPositive(unsafeFromString("-1")), false)
|
|
853
1009
|
* assert.deepStrictEqual(isPositive(unsafeFromString("0")), false)
|
|
854
1010
|
* assert.deepStrictEqual(isPositive(unsafeFromString("1")), true)
|
|
1011
|
+
* ```
|
|
855
1012
|
*
|
|
856
1013
|
* @since 2.0.0
|
|
857
1014
|
* @category predicates
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BigDecimal.js","names":["Equal","_interopRequireWildcard","require","equivalence","_Function","Hash","_Inspectable","Option","order","_Pipeable","_Predicate","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DEFAULT_PRECISION","TypeId","exports","Symbol","for","BigDecimalProto","symbol","normalized","normalize","pipe","hash","value","combine","number","scale","cached","that","isBigDecimal","equals","toString","format","toJSON","_id","String","NodeInspectSymbol","pipeArguments","arguments","hasProperty","make","o","create","unsafeMakeNormalized","bigint0","bigint10","RangeError","BigInt","bigint1","zero","self","undefined","digits","trail","length","substring","dual","sum","multiply","subtract","divideWithPrecision","num","den","precision","numNegative","denNegative","negateResult","quotient","remainder","count","q","roundTerminal","pos","Number","divide","none","some","unsafeDivide","Order","scmp","sign","bigint","lessThan","lessThanOrEqualTo","greaterThan","greaterThanOrEqualTo","between","clamp","min","max","abs","negate","divisor","Math","unsafeRemainder","Equivalence","fromBigInt","fromNumber","lead","split","fromString","s","dot","search","slice","test","unsafeFromString","getOrThrowWith","Error","negative","absolute","before","after","repeat","location","zeros","complete","unsafeToNumber","isInteger","isZero","isNegative","isPositive"],"sources":["../../src/BigDecimal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BigDecimal.js","names":["Equal","_interopRequireWildcard","require","equivalence","_Function","Hash","_Inspectable","Option","order","_Pipeable","_Predicate","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DEFAULT_PRECISION","FINITE_INT_REGEX","TypeId","exports","Symbol","for","BigDecimalProto","symbol","normalized","normalize","pipe","hash","value","combine","number","scale","cached","that","isBigDecimal","equals","toString","format","toJSON","_id","String","NodeInspectSymbol","pipeArguments","arguments","hasProperty","make","o","create","unsafeMakeNormalized","bigint0","bigint10","RangeError","BigInt","bigint1","zero","self","undefined","digits","trail","length","substring","dual","sum","multiply","subtract","divideWithPrecision","num","den","precision","numNegative","denNegative","negateResult","quotient","remainder","count","q","roundTerminal","pos","Number","divide","none","some","unsafeDivide","Order","scmp","sign","bigint","lessThan","lessThanOrEqualTo","greaterThan","greaterThanOrEqualTo","between","clamp","min","max","abs","negate","divisor","Math","unsafeRemainder","Equivalence","fromBigInt","unsafeFromNumber","getOrThrowWith","safeFromNumber","fromNumber","isFinite","string","includes","fromString","lead","split","s","base","exp","seperator","search","slice","isSafeInteger","test","offset","dot","unsafeFromString","Error","toExponential","negative","absolute","before","after","repeat","location","zeros","complete","isZero","head","tail","output","isNegative","unsafeToNumber","isInteger","isPositive"],"sources":["../../src/BigDecimal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|