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/src/FiberSet.ts
CHANGED
|
@@ -95,6 +95,7 @@ const unsafeMake = <A, E>(
|
|
|
95
95
|
* be automatically removed from the FiberSet when they complete.
|
|
96
96
|
*
|
|
97
97
|
* @example
|
|
98
|
+
* ```ts
|
|
98
99
|
* import { Effect, FiberSet } from "effect"
|
|
99
100
|
*
|
|
100
101
|
* Effect.gen(function*(_) {
|
|
@@ -108,6 +109,7 @@ const unsafeMake = <A, E>(
|
|
|
108
109
|
* }).pipe(
|
|
109
110
|
* Effect.scoped // The fibers will be interrupted when the scope is closed
|
|
110
111
|
* )
|
|
112
|
+
* ```
|
|
111
113
|
*
|
|
112
114
|
* @since 2.0.0
|
|
113
115
|
* @categories constructors
|
|
@@ -360,6 +362,7 @@ export const run: {
|
|
|
360
362
|
* Capture a Runtime and use it to fork Effect's, adding the forked fibers to the FiberSet.
|
|
361
363
|
*
|
|
362
364
|
* @example
|
|
365
|
+
* ```ts
|
|
363
366
|
* import { Context, Effect, FiberSet } from "effect"
|
|
364
367
|
*
|
|
365
368
|
* interface Users {
|
|
@@ -378,6 +381,7 @@ export const run: {
|
|
|
378
381
|
* }).pipe(
|
|
379
382
|
* Effect.scoped // The fibers will be interrupted when the scope is closed
|
|
380
383
|
* )
|
|
384
|
+
* ```
|
|
381
385
|
*
|
|
382
386
|
* @since 2.0.0
|
|
383
387
|
* @categories combinators
|
|
@@ -425,6 +429,7 @@ export const size = <A, E>(self: FiberSet<A, E>): Effect.Effect<number> =>
|
|
|
425
429
|
* @since 2.0.0
|
|
426
430
|
* @categories combinators
|
|
427
431
|
* @example
|
|
432
|
+
* ```ts
|
|
428
433
|
* import { Effect, FiberSet } from "effect";
|
|
429
434
|
*
|
|
430
435
|
* Effect.gen(function* (_) {
|
|
@@ -434,6 +439,7 @@ export const size = <A, E>(self: FiberSet<A, E>): Effect.Effect<number> =>
|
|
|
434
439
|
* // parent fiber will fail with "error"
|
|
435
440
|
* yield* _(FiberSet.join(set));
|
|
436
441
|
* });
|
|
442
|
+
* ```
|
|
437
443
|
*/
|
|
438
444
|
export const join = <A, E>(self: FiberSet<A, E>): Effect.Effect<void, E> =>
|
|
439
445
|
Deferred.await(self.deferred as Deferred.Deferred<void, E>)
|
package/src/Function.ts
CHANGED
|
@@ -17,10 +17,12 @@ export interface FunctionTypeLambda extends TypeLambda {
|
|
|
17
17
|
* @param input - The value to test.
|
|
18
18
|
*
|
|
19
19
|
* @example
|
|
20
|
+
* ```ts
|
|
20
21
|
* import { isFunction } from "effect/Predicate"
|
|
21
22
|
*
|
|
22
23
|
* assert.deepStrictEqual(isFunction(isFunction), true)
|
|
23
24
|
* assert.deepStrictEqual(isFunction("function"), false)
|
|
25
|
+
* ```
|
|
24
26
|
*
|
|
25
27
|
* @category guards
|
|
26
28
|
* @since 2.0.0
|
|
@@ -46,6 +48,7 @@ export const isFunction = (input: unknown): input is Function => typeof input ==
|
|
|
46
48
|
* @param body - The definition of the uncurried function.
|
|
47
49
|
*
|
|
48
50
|
* @example
|
|
51
|
+
* ```ts
|
|
49
52
|
* import { dual, pipe } from "effect/Function"
|
|
50
53
|
*
|
|
51
54
|
* // Exampe using arity to determine data-first or data-last style
|
|
@@ -65,6 +68,7 @@ export const isFunction = (input: unknown): input is Function => typeof input ==
|
|
|
65
68
|
*
|
|
66
69
|
* assert.deepStrictEqual(sum(2, 3), 5)
|
|
67
70
|
* assert.deepStrictEqual(pipe(2, sum(3)), 5)
|
|
71
|
+
* ```
|
|
68
72
|
*
|
|
69
73
|
* @since 2.0.0
|
|
70
74
|
*/
|
|
@@ -88,6 +92,7 @@ export const dual: {
|
|
|
88
92
|
* @param body - The definition of the uncurried function.
|
|
89
93
|
*
|
|
90
94
|
* @example
|
|
95
|
+
* ```ts
|
|
91
96
|
* import { dual, pipe } from "effect/Function"
|
|
92
97
|
*
|
|
93
98
|
* // Exampe using arity to determine data-first or data-last style
|
|
@@ -107,6 +112,7 @@ export const dual: {
|
|
|
107
112
|
*
|
|
108
113
|
* assert.deepStrictEqual(sum(2, 3), 5)
|
|
109
114
|
* assert.deepStrictEqual(pipe(2, sum(3)), 5)
|
|
115
|
+
* ```
|
|
110
116
|
*
|
|
111
117
|
* @since 2.0.0
|
|
112
118
|
*/
|
|
@@ -133,6 +139,7 @@ export const dual: {
|
|
|
133
139
|
* @param body - The definition of the uncurried function.
|
|
134
140
|
*
|
|
135
141
|
* @example
|
|
142
|
+
* ```ts
|
|
136
143
|
* import { dual, pipe } from "effect/Function"
|
|
137
144
|
*
|
|
138
145
|
* // Exampe using arity to determine data-first or data-last style
|
|
@@ -152,6 +159,7 @@ export const dual: {
|
|
|
152
159
|
*
|
|
153
160
|
* assert.deepStrictEqual(sum(2, 3), 5)
|
|
154
161
|
* assert.deepStrictEqual(pipe(2, sum(3)), 5)
|
|
162
|
+
* ```
|
|
155
163
|
*
|
|
156
164
|
* @since 2.0.0
|
|
157
165
|
*/
|
|
@@ -235,10 +243,12 @@ export const dual: {
|
|
|
235
243
|
* @param self - The function to be applied to a value.
|
|
236
244
|
*
|
|
237
245
|
* @example
|
|
246
|
+
* ```ts
|
|
238
247
|
* import { pipe, apply } from "effect/Function"
|
|
239
248
|
* import { length } from "effect/String"
|
|
240
249
|
*
|
|
241
250
|
* assert.deepStrictEqual(pipe(length, apply("hello")), 5)
|
|
251
|
+
* ```
|
|
242
252
|
*
|
|
243
253
|
* @since 2.0.0
|
|
244
254
|
*/
|
|
@@ -248,9 +258,11 @@ export const apply = <A>(a: A) => <B>(self: (a: A) => B): B => self(a)
|
|
|
248
258
|
* A lazy argument.
|
|
249
259
|
*
|
|
250
260
|
* @example
|
|
261
|
+
* ```ts
|
|
251
262
|
* import { LazyArg, constant } from "effect/Function"
|
|
252
263
|
*
|
|
253
264
|
* const constNull: LazyArg<null> = constant(null)
|
|
265
|
+
* ```
|
|
254
266
|
*
|
|
255
267
|
* @since 2.0.0
|
|
256
268
|
*/
|
|
@@ -260,9 +272,11 @@ export interface LazyArg<A> {
|
|
|
260
272
|
|
|
261
273
|
/**
|
|
262
274
|
* @example
|
|
275
|
+
* ```ts
|
|
263
276
|
* import { FunctionN } from "effect/Function"
|
|
264
277
|
*
|
|
265
278
|
* const sum: FunctionN<[number, number], number> = (a, b) => a + b
|
|
279
|
+
* ```
|
|
266
280
|
*
|
|
267
281
|
* @since 2.0.0
|
|
268
282
|
*/
|
|
@@ -276,9 +290,11 @@ export interface FunctionN<A extends ReadonlyArray<unknown>, B> {
|
|
|
276
290
|
* @param a - The input argument.
|
|
277
291
|
*
|
|
278
292
|
* @example
|
|
293
|
+
* ```ts
|
|
279
294
|
* import { identity } from "effect/Function"
|
|
280
295
|
*
|
|
281
296
|
* assert.deepStrictEqual(identity(5), 5)
|
|
297
|
+
* ```
|
|
282
298
|
*
|
|
283
299
|
* @since 2.0.0
|
|
284
300
|
*/
|
|
@@ -289,6 +305,7 @@ export const identity = <A>(a: A): A => a
|
|
|
289
305
|
* without changing the resulting type of that expression.
|
|
290
306
|
*
|
|
291
307
|
* @example
|
|
308
|
+
* ```ts
|
|
292
309
|
* import { satisfies } from "effect/Function"
|
|
293
310
|
*
|
|
294
311
|
* const test1 = satisfies<number>()(5 as const)
|
|
@@ -298,6 +315,7 @@ export const identity = <A>(a: A): A => a
|
|
|
298
315
|
* //^? Argument of type 'number' is not assignable to parameter of type 'string'
|
|
299
316
|
*
|
|
300
317
|
* assert.deepStrictEqual(satisfies<number>()(5), 5)
|
|
318
|
+
* ```
|
|
301
319
|
*
|
|
302
320
|
* @since 2.0.0
|
|
303
321
|
*/
|
|
@@ -309,9 +327,11 @@ export const satisfies = <A>() => <B extends A>(b: B) => b
|
|
|
309
327
|
* @param a - The value to be casted to the target type.
|
|
310
328
|
*
|
|
311
329
|
* @example
|
|
330
|
+
* ```ts
|
|
312
331
|
* import { unsafeCoerce, identity } from "effect/Function"
|
|
313
332
|
*
|
|
314
333
|
* assert.deepStrictEqual(unsafeCoerce, identity)
|
|
334
|
+
* ```
|
|
315
335
|
*
|
|
316
336
|
* @since 2.0.0
|
|
317
337
|
*/
|
|
@@ -326,12 +346,14 @@ export const unsafeCoerce: <A, B>(a: A) => B = identity as any
|
|
|
326
346
|
* @param value - The constant value to be returned.
|
|
327
347
|
*
|
|
328
348
|
* @example
|
|
349
|
+
* ```ts
|
|
329
350
|
* import { constant } from "effect/Function"
|
|
330
351
|
*
|
|
331
352
|
* const constNull = constant(null)
|
|
332
353
|
*
|
|
333
354
|
* assert.deepStrictEqual(constNull(), null)
|
|
334
355
|
* assert.deepStrictEqual(constNull(), null)
|
|
356
|
+
* ```
|
|
335
357
|
*
|
|
336
358
|
* @since 2.0.0
|
|
337
359
|
*/
|
|
@@ -341,9 +363,11 @@ export const constant = <A>(value: A): LazyArg<A> => () => value
|
|
|
341
363
|
* A thunk that returns always `true`.
|
|
342
364
|
*
|
|
343
365
|
* @example
|
|
366
|
+
* ```ts
|
|
344
367
|
* import { constTrue } from "effect/Function"
|
|
345
368
|
*
|
|
346
369
|
* assert.deepStrictEqual(constTrue(), true)
|
|
370
|
+
* ```
|
|
347
371
|
*
|
|
348
372
|
* @since 2.0.0
|
|
349
373
|
*/
|
|
@@ -353,9 +377,11 @@ export const constTrue: LazyArg<boolean> = constant(true)
|
|
|
353
377
|
* A thunk that returns always `false`.
|
|
354
378
|
*
|
|
355
379
|
* @example
|
|
380
|
+
* ```ts
|
|
356
381
|
* import { constFalse } from "effect/Function"
|
|
357
382
|
*
|
|
358
383
|
* assert.deepStrictEqual(constFalse(), false)
|
|
384
|
+
* ```
|
|
359
385
|
*
|
|
360
386
|
* @since 2.0.0
|
|
361
387
|
*/
|
|
@@ -365,9 +391,11 @@ export const constFalse: LazyArg<boolean> = constant(false)
|
|
|
365
391
|
* A thunk that returns always `null`.
|
|
366
392
|
*
|
|
367
393
|
* @example
|
|
394
|
+
* ```ts
|
|
368
395
|
* import { constNull } from "effect/Function"
|
|
369
396
|
*
|
|
370
397
|
* assert.deepStrictEqual(constNull(), null)
|
|
398
|
+
* ```
|
|
371
399
|
*
|
|
372
400
|
* @since 2.0.0
|
|
373
401
|
*/
|
|
@@ -377,9 +405,11 @@ export const constNull: LazyArg<null> = constant(null)
|
|
|
377
405
|
* A thunk that returns always `undefined`.
|
|
378
406
|
*
|
|
379
407
|
* @example
|
|
408
|
+
* ```ts
|
|
380
409
|
* import { constUndefined } from "effect/Function"
|
|
381
410
|
*
|
|
382
411
|
* assert.deepStrictEqual(constUndefined(), undefined)
|
|
412
|
+
* ```
|
|
383
413
|
*
|
|
384
414
|
* @since 2.0.0
|
|
385
415
|
*/
|
|
@@ -389,9 +419,11 @@ export const constUndefined: LazyArg<undefined> = constant(undefined)
|
|
|
389
419
|
* A thunk that returns always `void`.
|
|
390
420
|
*
|
|
391
421
|
* @example
|
|
422
|
+
* ```ts
|
|
392
423
|
* import { constVoid } from "effect/Function"
|
|
393
424
|
*
|
|
394
425
|
* assert.deepStrictEqual(constVoid(), undefined)
|
|
426
|
+
* ```
|
|
395
427
|
*
|
|
396
428
|
* @since 2.0.0
|
|
397
429
|
*/
|
|
@@ -403,11 +435,13 @@ export const constVoid: LazyArg<void> = constUndefined
|
|
|
403
435
|
* @param f - A curried function that takes multiple arguments.
|
|
404
436
|
*
|
|
405
437
|
* @example
|
|
438
|
+
* ```ts
|
|
406
439
|
* import { flip } from "effect/Function"
|
|
407
440
|
*
|
|
408
441
|
* const f = (a: number) => (b: string) => a - b.length
|
|
409
442
|
*
|
|
410
443
|
* assert.deepStrictEqual(flip(f)('aaa')(2), -1)
|
|
444
|
+
* ```
|
|
411
445
|
*
|
|
412
446
|
* @since 2.0.0
|
|
413
447
|
*/
|
|
@@ -425,12 +459,14 @@ export const flip = <A extends Array<unknown>, B extends Array<unknown>, C>(
|
|
|
425
459
|
* @param bc - A function that maps from `B` to `C`.
|
|
426
460
|
*
|
|
427
461
|
* @example
|
|
462
|
+
* ```ts
|
|
428
463
|
* import { compose } from "effect/Function"
|
|
429
464
|
*
|
|
430
465
|
* const increment = (n: number) => n + 1;
|
|
431
466
|
* const square = (n: number) => n * n;
|
|
432
467
|
*
|
|
433
468
|
* assert.strictEqual(compose(increment, square)(2), 9);
|
|
469
|
+
* ```
|
|
434
470
|
*
|
|
435
471
|
* @since 2.0.0
|
|
436
472
|
*/
|
|
@@ -443,12 +479,14 @@ export const compose: {
|
|
|
443
479
|
* @param bc - A function that maps from `B` to `C`.
|
|
444
480
|
*
|
|
445
481
|
* @example
|
|
482
|
+
* ```ts
|
|
446
483
|
* import { compose } from "effect/Function"
|
|
447
484
|
*
|
|
448
485
|
* const increment = (n: number) => n + 1;
|
|
449
486
|
* const square = (n: number) => n * n;
|
|
450
487
|
*
|
|
451
488
|
* assert.strictEqual(compose(increment, square)(2), 9);
|
|
489
|
+
* ```
|
|
452
490
|
*
|
|
453
491
|
* @since 2.0.0
|
|
454
492
|
*/
|
|
@@ -461,12 +499,14 @@ export const compose: {
|
|
|
461
499
|
* @param bc - A function that maps from `B` to `C`.
|
|
462
500
|
*
|
|
463
501
|
* @example
|
|
502
|
+
* ```ts
|
|
464
503
|
* import { compose } from "effect/Function"
|
|
465
504
|
*
|
|
466
505
|
* const increment = (n: number) => n + 1;
|
|
467
506
|
* const square = (n: number) => n * n;
|
|
468
507
|
*
|
|
469
508
|
* assert.strictEqual(compose(increment, square)(2), 9);
|
|
509
|
+
* ```
|
|
470
510
|
*
|
|
471
511
|
* @since 2.0.0
|
|
472
512
|
*/
|
|
@@ -489,11 +529,13 @@ export const absurd = <A>(_: never): A => {
|
|
|
489
529
|
* Creates a tupled version of this function: instead of `n` arguments, it accepts a single tuple argument.
|
|
490
530
|
*
|
|
491
531
|
* @example
|
|
532
|
+
* ```ts
|
|
492
533
|
* import { tupled } from "effect/Function"
|
|
493
534
|
*
|
|
494
535
|
* const sumTupled = tupled((x: number, y: number): number => x + y)
|
|
495
536
|
*
|
|
496
537
|
* assert.deepStrictEqual(sumTupled([1, 2]), 3)
|
|
538
|
+
* ```
|
|
497
539
|
*
|
|
498
540
|
* @since 2.0.0
|
|
499
541
|
*/
|
|
@@ -503,11 +545,13 @@ export const tupled = <A extends ReadonlyArray<unknown>, B>(f: (...a: A) => B):
|
|
|
503
545
|
* Inverse function of `tupled`
|
|
504
546
|
*
|
|
505
547
|
* @example
|
|
548
|
+
* ```ts
|
|
506
549
|
* import { untupled } from "effect/Function"
|
|
507
550
|
*
|
|
508
551
|
* const getFirst = untupled(<A, B>(tuple: [A, B]): A => tuple[0])
|
|
509
552
|
*
|
|
510
553
|
* assert.deepStrictEqual(getFirst(1, 2), 1)
|
|
554
|
+
* ```
|
|
511
555
|
*
|
|
512
556
|
* @since 2.0.0
|
|
513
557
|
*/
|
|
@@ -563,6 +607,7 @@ export const untupled = <A extends ReadonlyArray<unknown>, B>(f: (a: A) => B): (
|
|
|
563
607
|
* argument** because they are only called with a single argument.
|
|
564
608
|
*
|
|
565
609
|
* @example
|
|
610
|
+
* ```ts
|
|
566
611
|
* // Example: Chaining Arithmetic Operations
|
|
567
612
|
* import { pipe } from "effect"
|
|
568
613
|
*
|
|
@@ -576,6 +621,7 @@ export const untupled = <A extends ReadonlyArray<unknown>, B>(f: (a: A) => B): (
|
|
|
576
621
|
*
|
|
577
622
|
* console.log(result)
|
|
578
623
|
* // Output: 2
|
|
624
|
+
* ```
|
|
579
625
|
*
|
|
580
626
|
* @since 2.0.0
|
|
581
627
|
*/
|
|
@@ -1073,6 +1119,7 @@ export function pipe(
|
|
|
1073
1119
|
* See also [`pipe`](#pipe).
|
|
1074
1120
|
*
|
|
1075
1121
|
* @example
|
|
1122
|
+
* ```ts
|
|
1076
1123
|
* import { flow } from "effect/Function"
|
|
1077
1124
|
*
|
|
1078
1125
|
* const len = (s: string): number => s.length
|
|
@@ -1081,6 +1128,7 @@ export function pipe(
|
|
|
1081
1128
|
* const f = flow(len, double)
|
|
1082
1129
|
*
|
|
1083
1130
|
* assert.strictEqual(f('aaa'), 6)
|
|
1131
|
+
* ```
|
|
1084
1132
|
*
|
|
1085
1133
|
* @since 2.0.0
|
|
1086
1134
|
*/
|
|
@@ -1266,9 +1314,11 @@ export const hole: <T>() => T = unsafeCoerce(absurd)
|
|
|
1266
1314
|
* @param b - The second argument to be returned.
|
|
1267
1315
|
*
|
|
1268
1316
|
* @example
|
|
1317
|
+
* ```ts
|
|
1269
1318
|
* import { SK } from "effect/Function";
|
|
1270
1319
|
*
|
|
1271
1320
|
* assert.deepStrictEqual(SK(0, "hello"), "hello")
|
|
1321
|
+
* ```
|
|
1272
1322
|
*
|
|
1273
1323
|
* @since 2.0.0
|
|
1274
1324
|
*/
|
package/src/GlobalValue.ts
CHANGED
|
@@ -32,6 +32,7 @@ const globalStore = (globalThis as any)[globalStoreId] as Map<unknown, any>
|
|
|
32
32
|
* thereafter.
|
|
33
33
|
*
|
|
34
34
|
* @example
|
|
35
|
+
* ```ts
|
|
35
36
|
* import { globalValue } from "effect/GlobalValue"
|
|
36
37
|
*
|
|
37
38
|
* // This cache will persist as long as the module is running,
|
|
@@ -40,6 +41,7 @@ const globalStore = (globalThis as any)[globalStoreId] as Map<unknown, any>
|
|
|
40
41
|
* Symbol.for("myCache"),
|
|
41
42
|
* () => new WeakMap<object, number>()
|
|
42
43
|
* )
|
|
44
|
+
* ```
|
|
43
45
|
*
|
|
44
46
|
* @since 2.0.0
|
|
45
47
|
*/
|
package/src/HashMap.ts
CHANGED
|
@@ -40,6 +40,7 @@ export declare namespace HashMap {
|
|
|
40
40
|
* This type-level utility extracts the key type `K` from a `HashMap<K, V>` type.
|
|
41
41
|
*
|
|
42
42
|
* @example
|
|
43
|
+
* ```ts
|
|
43
44
|
* import { HashMap } from "effect"
|
|
44
45
|
*
|
|
45
46
|
* declare const hm: HashMap.HashMap<string, number>
|
|
@@ -47,6 +48,7 @@ export declare namespace HashMap {
|
|
|
47
48
|
* // $ExpectType string
|
|
48
49
|
* type K = HashMap.HashMap.Key<typeof hm>
|
|
49
50
|
*
|
|
51
|
+
* ```
|
|
50
52
|
* @since 2.0.0
|
|
51
53
|
* @category type-level
|
|
52
54
|
*/
|
|
@@ -55,6 +57,7 @@ export declare namespace HashMap {
|
|
|
55
57
|
* This type-level utility extracts the value type `V` from a `HashMap<K, V>` type.
|
|
56
58
|
*
|
|
57
59
|
* @example
|
|
60
|
+
* ```ts
|
|
58
61
|
* import { HashMap } from "effect"
|
|
59
62
|
*
|
|
60
63
|
* declare const hm: HashMap.HashMap<string, number>
|
|
@@ -62,6 +65,7 @@ export declare namespace HashMap {
|
|
|
62
65
|
* // $ExpectType number
|
|
63
66
|
* type V = HashMap.HashMap.Value<typeof hm>
|
|
64
67
|
*
|
|
68
|
+
* ```
|
|
65
69
|
* @since 2.0.0
|
|
66
70
|
* @category type-level
|
|
67
71
|
*/
|
|
@@ -71,6 +75,7 @@ export declare namespace HashMap {
|
|
|
71
75
|
* This type-level utility extracts the entry type `[K, V]` from a `HashMap<K, V>` type.
|
|
72
76
|
*
|
|
73
77
|
* @example
|
|
78
|
+
* ```ts
|
|
74
79
|
* import { HashMap } from "effect"
|
|
75
80
|
*
|
|
76
81
|
* declare const hm: HashMap.HashMap<string, number>
|
|
@@ -78,6 +83,7 @@ export declare namespace HashMap {
|
|
|
78
83
|
* // $ExpectType [string, number]
|
|
79
84
|
* type V = HashMap.HashMap.Entry<typeof hm>
|
|
80
85
|
*
|
|
86
|
+
* ```
|
|
81
87
|
* @since 3.9.0
|
|
82
88
|
* @category type-level
|
|
83
89
|
*/
|
package/src/Inspectable.ts
CHANGED
|
@@ -32,13 +32,17 @@ export interface Inspectable {
|
|
|
32
32
|
* @since 2.0.0
|
|
33
33
|
*/
|
|
34
34
|
export const toJSON = (x: unknown): unknown => {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
try {
|
|
36
|
+
if (
|
|
37
|
+
hasProperty(x, "toJSON") && isFunction(x["toJSON"]) &&
|
|
38
|
+
x["toJSON"].length === 0
|
|
39
|
+
) {
|
|
40
|
+
return x.toJSON()
|
|
41
|
+
} else if (Array.isArray(x)) {
|
|
42
|
+
return x.map(toJSON)
|
|
43
|
+
}
|
|
44
|
+
} catch (_) {
|
|
45
|
+
return {}
|
|
42
46
|
}
|
|
43
47
|
return redact(x)
|
|
44
48
|
}
|
package/src/Iterable.ts
CHANGED
|
@@ -24,9 +24,11 @@ import type { NoInfer } from "./Types.js"
|
|
|
24
24
|
* **Note**. `length` is normalized to an integer >= 1.
|
|
25
25
|
*
|
|
26
26
|
* @example
|
|
27
|
+
* ```ts
|
|
27
28
|
* import { makeBy } from "effect/Iterable"
|
|
28
29
|
*
|
|
29
30
|
* assert.deepStrictEqual(Array.from(makeBy(n => n * 2, { length: 5 })), [0, 2, 4, 6, 8])
|
|
31
|
+
* ```
|
|
30
32
|
*
|
|
31
33
|
* @category constructors
|
|
32
34
|
* @since 2.0.0
|
|
@@ -56,9 +58,11 @@ export const makeBy = <A>(f: (i: number) => A, options?: {
|
|
|
56
58
|
* If `end` is omitted, the range will not have an upper bound.
|
|
57
59
|
*
|
|
58
60
|
* @example
|
|
61
|
+
* ```ts
|
|
59
62
|
* import { range } from "effect/Iterable"
|
|
60
63
|
*
|
|
61
64
|
* assert.deepStrictEqual(Array.from(range(1, 3)), [1, 2, 3])
|
|
65
|
+
* ```
|
|
62
66
|
*
|
|
63
67
|
* @category constructors
|
|
64
68
|
* @since 2.0.0
|
|
@@ -78,9 +82,11 @@ export const range = (start: number, end?: number): Iterable<number> => {
|
|
|
78
82
|
* **Note**. `n` is normalized to an integer >= 1.
|
|
79
83
|
*
|
|
80
84
|
* @example
|
|
85
|
+
* ```ts
|
|
81
86
|
* import { replicate } from "effect/Iterable"
|
|
82
87
|
*
|
|
83
88
|
* assert.deepStrictEqual(Array.from(replicate("a", 3)), ["a", "a", "a"])
|
|
89
|
+
* ```
|
|
84
90
|
*
|
|
85
91
|
* @category constructors
|
|
86
92
|
* @since 2.0.0
|
|
@@ -92,9 +98,11 @@ export const replicate: {
|
|
|
92
98
|
* **Note**. `n` is normalized to an integer >= 1.
|
|
93
99
|
*
|
|
94
100
|
* @example
|
|
101
|
+
* ```ts
|
|
95
102
|
* import { replicate } from "effect/Iterable"
|
|
96
103
|
*
|
|
97
104
|
* assert.deepStrictEqual(Array.from(replicate("a", 3)), ["a", "a", "a"])
|
|
105
|
+
* ```
|
|
98
106
|
*
|
|
99
107
|
* @category constructors
|
|
100
108
|
* @since 2.0.0
|
|
@@ -106,9 +114,11 @@ export const replicate: {
|
|
|
106
114
|
* **Note**. `n` is normalized to an integer >= 1.
|
|
107
115
|
*
|
|
108
116
|
* @example
|
|
117
|
+
* ```ts
|
|
109
118
|
* import { replicate } from "effect/Iterable"
|
|
110
119
|
*
|
|
111
120
|
* assert.deepStrictEqual(Array.from(replicate("a", 3)), ["a", "a", "a"])
|
|
121
|
+
* ```
|
|
112
122
|
*
|
|
113
123
|
* @category constructors
|
|
114
124
|
* @since 2.0.0
|
|
@@ -122,10 +132,12 @@ export const replicate: {
|
|
|
122
132
|
* @param self - The record to transform.
|
|
123
133
|
*
|
|
124
134
|
* @example
|
|
135
|
+
* ```ts
|
|
125
136
|
* import { fromRecord } from "effect/Iterable"
|
|
126
137
|
*
|
|
127
138
|
* const x = { a: 1, b: 2, c: 3 }
|
|
128
139
|
* assert.deepStrictEqual(Array.from(fromRecord(x)), [["a", 1], ["b", 2], ["c", 3]])
|
|
140
|
+
* ```
|
|
129
141
|
*
|
|
130
142
|
* @category conversions
|
|
131
143
|
* @since 2.0.0
|
|
@@ -167,12 +179,14 @@ export const prepend: {
|
|
|
167
179
|
* Prepends the specified prefix iterable to the beginning of the specified iterable.
|
|
168
180
|
*
|
|
169
181
|
* @example
|
|
182
|
+
* ```ts
|
|
170
183
|
* import { Iterable } from "effect"
|
|
171
184
|
*
|
|
172
185
|
* assert.deepStrictEqual(
|
|
173
186
|
* Array.from(Iterable.prependAll([1, 2], ["a", "b"])),
|
|
174
187
|
* ["a", "b", 1, 2]
|
|
175
188
|
* )
|
|
189
|
+
* ```
|
|
176
190
|
*
|
|
177
191
|
* @category concatenating
|
|
178
192
|
* @since 2.0.0
|
|
@@ -182,12 +196,14 @@ export const prependAll: {
|
|
|
182
196
|
* Prepends the specified prefix iterable to the beginning of the specified iterable.
|
|
183
197
|
*
|
|
184
198
|
* @example
|
|
199
|
+
* ```ts
|
|
185
200
|
* import { Iterable } from "effect"
|
|
186
201
|
*
|
|
187
202
|
* assert.deepStrictEqual(
|
|
188
203
|
* Array.from(Iterable.prependAll([1, 2], ["a", "b"])),
|
|
189
204
|
* ["a", "b", 1, 2]
|
|
190
205
|
* )
|
|
206
|
+
* ```
|
|
191
207
|
*
|
|
192
208
|
* @category concatenating
|
|
193
209
|
* @since 2.0.0
|
|
@@ -197,12 +213,14 @@ export const prependAll: {
|
|
|
197
213
|
* Prepends the specified prefix iterable to the beginning of the specified iterable.
|
|
198
214
|
*
|
|
199
215
|
* @example
|
|
216
|
+
* ```ts
|
|
200
217
|
* import { Iterable } from "effect"
|
|
201
218
|
*
|
|
202
219
|
* assert.deepStrictEqual(
|
|
203
220
|
* Array.from(Iterable.prependAll([1, 2], ["a", "b"])),
|
|
204
221
|
* ["a", "b", 1, 2]
|
|
205
222
|
* )
|
|
223
|
+
* ```
|
|
206
224
|
*
|
|
207
225
|
* @category concatenating
|
|
208
226
|
* @since 2.0.0
|
|
@@ -327,10 +345,12 @@ export const scan: {
|
|
|
327
345
|
* Determine if an `Iterable` is empty
|
|
328
346
|
*
|
|
329
347
|
* @example
|
|
348
|
+
* ```ts
|
|
330
349
|
* import { isEmpty } from "effect/Iterable"
|
|
331
350
|
*
|
|
332
351
|
* assert.deepStrictEqual(isEmpty([]), true);
|
|
333
352
|
* assert.deepStrictEqual(isEmpty([1, 2, 3]), false);
|
|
353
|
+
* ```
|
|
334
354
|
*
|
|
335
355
|
* @category guards
|
|
336
356
|
* @since 2.0.0
|
|
@@ -1181,12 +1201,14 @@ export const filterMapWhile: {
|
|
|
1181
1201
|
* Retrieves the `Some` values from an `Iterable` of `Option`s.
|
|
1182
1202
|
*
|
|
1183
1203
|
* @example
|
|
1204
|
+
* ```ts
|
|
1184
1205
|
* import { Iterable, Option } from "effect"
|
|
1185
1206
|
*
|
|
1186
1207
|
* assert.deepStrictEqual(
|
|
1187
1208
|
* Array.from(Iterable.getSomes([Option.some(1), Option.none(), Option.some(2)])),
|
|
1188
1209
|
* [1, 2]
|
|
1189
1210
|
* )
|
|
1211
|
+
* ```
|
|
1190
1212
|
*
|
|
1191
1213
|
* @category filtering
|
|
1192
1214
|
* @since 2.0.0
|
|
@@ -1197,12 +1219,14 @@ export const getSomes: <A>(self: Iterable<Option<A>>) => Iterable<A> = filterMap
|
|
|
1197
1219
|
* Retrieves the `Left` values from an `Iterable` of `Either`s.
|
|
1198
1220
|
*
|
|
1199
1221
|
* @example
|
|
1222
|
+
* ```ts
|
|
1200
1223
|
* import { Iterable, Either } from "effect"
|
|
1201
1224
|
*
|
|
1202
1225
|
* assert.deepStrictEqual(
|
|
1203
1226
|
* Array.from(Iterable.getLefts([Either.right(1), Either.left("err"), Either.right(2)])),
|
|
1204
1227
|
* ["err"]
|
|
1205
1228
|
* )
|
|
1229
|
+
* ```
|
|
1206
1230
|
*
|
|
1207
1231
|
* @category filtering
|
|
1208
1232
|
* @since 2.0.0
|
|
@@ -1213,12 +1237,14 @@ export const getLefts = <R, L>(self: Iterable<Either<R, L>>): Iterable<L> => fil
|
|
|
1213
1237
|
* Retrieves the `Right` values from an `Iterable` of `Either`s.
|
|
1214
1238
|
*
|
|
1215
1239
|
* @example
|
|
1240
|
+
* ```ts
|
|
1216
1241
|
* import { Iterable, Either } from "effect"
|
|
1217
1242
|
*
|
|
1218
1243
|
* assert.deepStrictEqual(
|
|
1219
1244
|
* Array.from(Iterable.getRights([Either.right(1), Either.left("err"), Either.right(2)])),
|
|
1220
1245
|
* [1, 2]
|
|
1221
1246
|
* )
|
|
1247
|
+
* ```
|
|
1222
1248
|
*
|
|
1223
1249
|
* @category filtering
|
|
1224
1250
|
* @since 2.0.0
|