effect 2.3.7 → 2.4.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/BigDecimal.js +1 -1
- package/dist/cjs/BigDecimal.js.map +1 -1
- package/dist/cjs/BigInt.js +14 -1
- package/dist/cjs/BigInt.js.map +1 -1
- package/dist/cjs/Chunk.js +1 -1
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Cron.js +1 -1
- package/dist/cjs/Cron.js.map +1 -1
- package/dist/cjs/Duration.js +1 -1
- package/dist/cjs/Duration.js.map +1 -1
- package/dist/cjs/Effect.js +16 -61
- package/dist/cjs/Effect.js.map +1 -1
- package/dist/cjs/Either.js +35 -6
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Equal.js +1 -1
- package/dist/cjs/Equal.js.map +1 -1
- package/dist/cjs/Exit.js +1 -1
- package/dist/cjs/FiberMap.js.map +1 -1
- package/dist/cjs/Hash.js +29 -1
- package/dist/cjs/Hash.js.map +1 -1
- package/dist/cjs/List.js +3 -2
- package/dist/cjs/List.js.map +1 -1
- package/dist/cjs/Number.js +25 -1
- package/dist/cjs/Number.js.map +1 -1
- package/dist/cjs/ReadonlyArray.js +2 -2
- package/dist/cjs/ReadonlyArray.js.map +1 -1
- package/dist/cjs/ReadonlyRecord.js +71 -76
- package/dist/cjs/ReadonlyRecord.js.map +1 -1
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/Sink.js.map +1 -1
- package/dist/cjs/SortedMap.js +1 -1
- package/dist/cjs/SortedMap.js.map +1 -1
- package/dist/cjs/SortedSet.js +1 -1
- package/dist/cjs/SortedSet.js.map +1 -1
- package/dist/cjs/Stream.js +3 -23
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/Struct.js +3 -1
- package/dist/cjs/Struct.js.map +1 -1
- package/dist/cjs/TestAnnotation.js +1 -1
- package/dist/cjs/TestAnnotation.js.map +1 -1
- package/dist/cjs/internal/cache.js +1 -1
- package/dist/cjs/internal/cache.js.map +1 -1
- package/dist/cjs/internal/cause.js +1 -1
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/channel/channelExecutor.js +5 -5
- package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
- package/dist/cjs/internal/channel/channelState.js +5 -5
- package/dist/cjs/internal/channel/channelState.js.map +1 -1
- package/dist/cjs/internal/channel.js.map +1 -1
- package/dist/cjs/internal/clock.js +3 -4
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/context.js +1 -1
- package/dist/cjs/internal/context.js.map +1 -1
- package/dist/cjs/internal/core-effect.js +6 -23
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core.js +15 -31
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/data.js +1 -1
- package/dist/cjs/internal/data.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +5 -6
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/effectable.js +2 -2
- package/dist/cjs/internal/effectable.js.map +1 -1
- package/dist/cjs/internal/either.js +1 -1
- package/dist/cjs/internal/either.js.map +1 -1
- package/dist/cjs/internal/fiberId.js +2 -9
- package/dist/cjs/internal/fiberId.js.map +1 -1
- package/dist/cjs/internal/fiberStatus.js +4 -3
- package/dist/cjs/internal/fiberStatus.js.map +1 -1
- package/dist/cjs/internal/groupBy.js.map +1 -1
- package/dist/cjs/internal/hashMap.js +1 -1
- package/dist/cjs/internal/hashMap.js.map +1 -1
- package/dist/cjs/internal/hashSet.js +1 -1
- package/dist/cjs/internal/hashSet.js.map +1 -1
- package/dist/cjs/internal/keyedPool.js +2 -2
- package/dist/cjs/internal/keyedPool.js.map +1 -1
- package/dist/cjs/internal/layer.js +0 -2
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/metric/keyType.js +4 -4
- package/dist/cjs/internal/metric/keyType.js.map +1 -1
- package/dist/cjs/internal/metric/state.js +5 -9
- package/dist/cjs/internal/metric/state.js.map +1 -1
- package/dist/cjs/internal/option.js +1 -1
- package/dist/cjs/internal/option.js.map +1 -1
- package/dist/cjs/internal/pool.js +1 -1
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/redBlackTree.js +1 -1
- package/dist/cjs/internal/redBlackTree.js.map +1 -1
- package/dist/cjs/internal/runtime.js +12 -1
- package/dist/cjs/internal/runtime.js.map +1 -1
- package/dist/cjs/internal/schedule.js +4 -4
- package/dist/cjs/internal/schedule.js.map +1 -1
- package/dist/cjs/internal/secret.js +1 -1
- package/dist/cjs/internal/secret.js.map +1 -1
- package/dist/cjs/internal/sink.js +0 -2
- package/dist/cjs/internal/sink.js.map +1 -1
- package/dist/cjs/internal/stm/core.js +1 -1
- package/dist/cjs/internal/stm/core.js.map +1 -1
- package/dist/cjs/internal/stm/stm/stmState.js +6 -4
- package/dist/cjs/internal/stm/stm/stmState.js.map +1 -1
- package/dist/cjs/internal/stm/stm/tExit.js +7 -6
- package/dist/cjs/internal/stm/stm/tExit.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js +1 -0
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stream.js +51 -64
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/trie.js +1 -1
- package/dist/cjs/internal/trie.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/BigDecimal.d.ts.map +1 -1
- package/dist/dts/BigInt.d.ts +7 -0
- package/dist/dts/BigInt.d.ts.map +1 -1
- package/dist/dts/Brand.d.ts +1 -1
- package/dist/dts/Brand.d.ts.map +1 -1
- package/dist/dts/Cause.d.ts +1 -1
- package/dist/dts/Cause.d.ts.map +1 -1
- package/dist/dts/Channel.d.ts +11 -11
- package/dist/dts/Channel.d.ts.map +1 -1
- package/dist/dts/Chunk.d.ts +3 -3
- package/dist/dts/Config.d.ts +4 -4
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Cron.d.ts +1 -1
- package/dist/dts/Cron.d.ts.map +1 -1
- package/dist/dts/Differ.d.ts +2 -2
- package/dist/dts/Differ.d.ts.map +1 -1
- package/dist/dts/Effect.d.ts +52 -108
- package/dist/dts/Effect.d.ts.map +1 -1
- package/dist/dts/Either.d.ts +126 -83
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Encoding.d.ts +6 -6
- package/dist/dts/Encoding.d.ts.map +1 -1
- package/dist/dts/Equal.d.ts.map +1 -1
- package/dist/dts/Exit.d.ts +2 -2
- package/dist/dts/Fiber.d.ts +2 -2
- package/dist/dts/Fiber.d.ts.map +1 -1
- package/dist/dts/FiberMap.d.ts +4 -5
- package/dist/dts/FiberMap.d.ts.map +1 -1
- package/dist/dts/GroupBy.d.ts +12 -12
- 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/Layer.d.ts +26 -26
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/List.d.ts +2 -2
- package/dist/dts/List.d.ts.map +1 -1
- package/dist/dts/Logger.d.ts +4 -4
- package/dist/dts/Match.d.ts +2 -2
- package/dist/dts/Match.d.ts.map +1 -1
- package/dist/dts/MergeDecision.d.ts +1 -1
- package/dist/dts/MergeState.d.ts +5 -5
- package/dist/dts/MergeState.d.ts.map +1 -1
- package/dist/dts/Metric.d.ts +13 -13
- package/dist/dts/Metric.d.ts.map +1 -1
- package/dist/dts/MetricPolling.d.ts +4 -4
- package/dist/dts/MetricPolling.d.ts.map +1 -1
- package/dist/dts/Number.d.ts +8 -0
- package/dist/dts/Number.d.ts.map +1 -1
- package/dist/dts/Option.d.ts +11 -11
- package/dist/dts/ReadonlyArray.d.ts +9 -8
- package/dist/dts/ReadonlyArray.d.ts.map +1 -1
- package/dist/dts/ReadonlyRecord.d.ts +111 -94
- package/dist/dts/ReadonlyRecord.d.ts.map +1 -1
- package/dist/dts/Reloadable.d.ts +4 -4
- package/dist/dts/Reloadable.d.ts.map +1 -1
- package/dist/dts/RequestResolver.d.ts +13 -13
- package/dist/dts/RequestResolver.d.ts.map +1 -1
- package/dist/dts/Resource.d.ts +1 -1
- package/dist/dts/Resource.d.ts.map +1 -1
- package/dist/dts/STM.d.ts +144 -139
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Schedule.d.ts +171 -179
- package/dist/dts/Schedule.d.ts.map +1 -1
- package/dist/dts/SingleProducerAsyncInput.d.ts +1 -1
- package/dist/dts/SingleProducerAsyncInput.d.ts.map +1 -1
- package/dist/dts/Sink.d.ts +13 -13
- package/dist/dts/Sink.d.ts.map +1 -1
- package/dist/dts/SortedMap.d.ts.map +1 -1
- package/dist/dts/SortedSet.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +355 -366
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/Struct.d.ts +3 -3
- package/dist/dts/Struct.d.ts.map +1 -1
- package/dist/dts/SubscriptionRef.d.ts +2 -2
- package/dist/dts/TArray.d.ts +2 -2
- package/dist/dts/TDeferred.d.ts +3 -3
- package/dist/dts/TMap.d.ts +10 -10
- package/dist/dts/TSet.d.ts +4 -4
- package/dist/dts/Take.d.ts +2 -2
- package/dist/dts/TestAnnotation.d.ts +2 -2
- package/dist/dts/TestAnnotation.d.ts.map +1 -1
- package/dist/dts/Types.d.ts +7 -0
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/dts/internal/metric/keyType.d.ts.map +1 -1
- package/dist/dts/internal/metric/state.d.ts.map +1 -1
- package/dist/dts/internal/stm/stm.d.ts +2 -15
- package/dist/dts/internal/stm/stm.d.ts.map +1 -1
- package/dist/esm/BigDecimal.js +1 -1
- package/dist/esm/BigDecimal.js.map +1 -1
- package/dist/esm/BigInt.js +12 -0
- package/dist/esm/BigInt.js.map +1 -1
- package/dist/esm/Chunk.js +1 -1
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Cron.js +1 -1
- package/dist/esm/Cron.js.map +1 -1
- package/dist/esm/Duration.js +1 -1
- package/dist/esm/Duration.js.map +1 -1
- package/dist/esm/Effect.js +13 -58
- package/dist/esm/Effect.js.map +1 -1
- package/dist/esm/Either.js +42 -5
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Equal.js +1 -1
- package/dist/esm/Equal.js.map +1 -1
- package/dist/esm/Exit.js +1 -1
- package/dist/esm/FiberMap.js.map +1 -1
- package/dist/esm/Hash.js +27 -0
- package/dist/esm/Hash.js.map +1 -1
- package/dist/esm/List.js +3 -2
- package/dist/esm/List.js.map +1 -1
- package/dist/esm/Number.js +23 -0
- package/dist/esm/Number.js.map +1 -1
- package/dist/esm/ReadonlyArray.js +2 -2
- package/dist/esm/ReadonlyArray.js.map +1 -1
- package/dist/esm/ReadonlyRecord.js +70 -75
- package/dist/esm/ReadonlyRecord.js.map +1 -1
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Schedule.js.map +1 -1
- package/dist/esm/Sink.js.map +1 -1
- package/dist/esm/SortedMap.js +1 -1
- package/dist/esm/SortedMap.js.map +1 -1
- package/dist/esm/SortedSet.js +1 -1
- package/dist/esm/SortedSet.js.map +1 -1
- package/dist/esm/Stream.js +5 -22
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/Struct.js +3 -1
- package/dist/esm/Struct.js.map +1 -1
- package/dist/esm/TestAnnotation.js +1 -1
- package/dist/esm/TestAnnotation.js.map +1 -1
- package/dist/esm/internal/cache.js +1 -1
- package/dist/esm/internal/cache.js.map +1 -1
- package/dist/esm/internal/cause.js +1 -1
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/channel/channelExecutor.js +5 -5
- package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
- package/dist/esm/internal/channel/channelState.js +3 -3
- package/dist/esm/internal/channel/channelState.js.map +1 -1
- package/dist/esm/internal/channel.js.map +1 -1
- package/dist/esm/internal/clock.js +3 -4
- package/dist/esm/internal/clock.js.map +1 -1
- package/dist/esm/internal/context.js +1 -1
- package/dist/esm/internal/context.js.map +1 -1
- package/dist/esm/internal/core-effect.js +4 -20
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +12 -26
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/data.js +1 -1
- package/dist/esm/internal/data.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +5 -6
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/effectable.js +2 -2
- package/dist/esm/internal/effectable.js.map +1 -1
- package/dist/esm/internal/either.js +1 -1
- package/dist/esm/internal/either.js.map +1 -1
- package/dist/esm/internal/fiberId.js +2 -9
- package/dist/esm/internal/fiberId.js.map +1 -1
- package/dist/esm/internal/fiberStatus.js +4 -3
- package/dist/esm/internal/fiberStatus.js.map +1 -1
- package/dist/esm/internal/groupBy.js.map +1 -1
- package/dist/esm/internal/hashMap.js +1 -1
- package/dist/esm/internal/hashMap.js.map +1 -1
- package/dist/esm/internal/hashSet.js +1 -1
- package/dist/esm/internal/hashSet.js.map +1 -1
- package/dist/esm/internal/keyedPool.js +2 -2
- package/dist/esm/internal/keyedPool.js.map +1 -1
- package/dist/esm/internal/layer.js +0 -2
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/metric/keyType.js +4 -4
- package/dist/esm/internal/metric/keyType.js.map +1 -1
- package/dist/esm/internal/metric/state.js +5 -9
- package/dist/esm/internal/metric/state.js.map +1 -1
- package/dist/esm/internal/option.js +1 -1
- package/dist/esm/internal/option.js.map +1 -1
- package/dist/esm/internal/pool.js +1 -1
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/redBlackTree.js +1 -1
- package/dist/esm/internal/redBlackTree.js.map +1 -1
- package/dist/esm/internal/runtime.js +12 -1
- package/dist/esm/internal/runtime.js.map +1 -1
- package/dist/esm/internal/schedule.js +4 -4
- package/dist/esm/internal/schedule.js.map +1 -1
- package/dist/esm/internal/secret.js +1 -1
- package/dist/esm/internal/secret.js.map +1 -1
- package/dist/esm/internal/sink.js +0 -2
- package/dist/esm/internal/sink.js.map +1 -1
- package/dist/esm/internal/stm/core.js +1 -1
- package/dist/esm/internal/stm/core.js.map +1 -1
- package/dist/esm/internal/stm/stm/stmState.js +5 -3
- package/dist/esm/internal/stm/stm/stmState.js.map +1 -1
- package/dist/esm/internal/stm/stm/tExit.js +6 -5
- package/dist/esm/internal/stm/stm/tExit.js.map +1 -1
- package/dist/esm/internal/stm/stm.js +1 -0
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stream.js +49 -59
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/trie.js +1 -1
- package/dist/esm/internal/trie.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +3 -2
- package/src/BigDecimal.ts +2 -1
- package/src/BigInt.ts +13 -0
- package/src/Brand.ts +4 -4
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +17 -17
- package/src/Chunk.ts +5 -5
- package/src/Config.ts +4 -4
- package/src/Cron.ts +4 -3
- package/src/Differ.ts +2 -2
- package/src/Duration.ts +2 -2
- package/src/Effect.ts +68 -145
- package/src/Either.ts +215 -133
- package/src/Encoding.ts +3 -3
- package/src/Equal.ts +1 -1
- package/src/Exit.ts +2 -2
- package/src/Fiber.ts +2 -2
- package/src/FiberMap.ts +0 -1
- package/src/GroupBy.ts +16 -16
- package/src/Hash.ts +31 -0
- package/src/Layer.ts +32 -32
- package/src/List.ts +6 -5
- package/src/Logger.ts +4 -4
- package/src/Match.ts +3 -3
- package/src/MergeDecision.ts +1 -1
- package/src/MergeState.ts +8 -8
- package/src/Metric.ts +13 -13
- package/src/MetricPolling.ts +9 -9
- package/src/Number.ts +26 -0
- package/src/Option.ts +17 -17
- package/src/ReadonlyArray.ts +23 -15
- package/src/ReadonlyRecord.ts +421 -265
- package/src/Reloadable.ts +4 -4
- package/src/RequestResolver.ts +19 -19
- package/src/Resource.ts +3 -3
- package/src/STM.ts +166 -213
- package/src/Schedule.ts +331 -361
- package/src/SingleProducerAsyncInput.ts +1 -1
- package/src/Sink.ts +19 -19
- package/src/SortedMap.ts +5 -1
- package/src/SortedSet.ts +5 -1
- package/src/Stream.ts +449 -456
- package/src/Struct.ts +8 -5
- package/src/SubscriptionRef.ts +2 -2
- package/src/TArray.ts +2 -2
- package/src/TDeferred.ts +4 -4
- package/src/TMap.ts +10 -10
- package/src/TSet.ts +4 -4
- package/src/Take.ts +4 -4
- package/src/TestAnnotation.ts +7 -9
- package/src/Types.ts +11 -0
- package/src/internal/blockedRequests.ts +2 -2
- package/src/internal/cache.ts +2 -1
- package/src/internal/cause.ts +4 -3
- package/src/internal/channel/channelExecutor.ts +26 -26
- package/src/internal/channel/channelState.ts +13 -13
- package/src/internal/channel/mergeDecision.ts +1 -1
- package/src/internal/channel/mergeState.ts +6 -6
- package/src/internal/channel/singleProducerAsyncInput.ts +5 -5
- package/src/internal/channel.ts +43 -43
- package/src/internal/clock.ts +3 -4
- package/src/internal/config.ts +7 -7
- package/src/internal/configError.ts +1 -1
- package/src/internal/configProvider/pathPatch.ts +2 -2
- package/src/internal/configProvider.ts +1 -1
- package/src/internal/context.ts +1 -1
- package/src/internal/core-effect.ts +28 -43
- package/src/internal/core.ts +19 -44
- package/src/internal/data.ts +1 -1
- package/src/internal/dataSource.ts +26 -26
- package/src/internal/differ/orPatch.ts +7 -7
- package/src/internal/differ.ts +2 -2
- package/src/internal/effect/circular.ts +10 -11
- package/src/internal/effectable.ts +3 -3
- package/src/internal/either.ts +23 -20
- package/src/internal/encoding/base64.ts +1 -1
- package/src/internal/encoding/base64Url.ts +1 -1
- package/src/internal/encoding/hex.ts +1 -1
- package/src/internal/fiber.ts +2 -2
- package/src/internal/fiberId.ts +7 -13
- package/src/internal/fiberRuntime.ts +9 -9
- package/src/internal/fiberStatus.ts +7 -6
- package/src/internal/groupBy.ts +40 -40
- package/src/internal/hashMap.ts +2 -2
- package/src/internal/hashSet.ts +4 -1
- package/src/internal/keyedPool.ts +4 -2
- package/src/internal/layer/circular.ts +4 -4
- package/src/internal/layer.ts +52 -54
- package/src/internal/matcher.ts +5 -5
- package/src/internal/metric/keyType.ts +7 -5
- package/src/internal/metric/polling.ts +8 -8
- package/src/internal/metric/state.ts +11 -10
- package/src/internal/metric.ts +6 -6
- package/src/internal/option.ts +1 -1
- package/src/internal/pool.ts +2 -1
- package/src/internal/redBlackTree.ts +2 -2
- package/src/internal/reloadable.ts +4 -4
- package/src/internal/resource.ts +2 -2
- package/src/internal/runtime.ts +32 -19
- package/src/internal/schedule.ts +430 -500
- package/src/internal/secret.ts +2 -1
- package/src/internal/sink.ts +27 -29
- package/src/internal/stm/core.ts +24 -24
- package/src/internal/stm/stm/stmState.ts +16 -11
- package/src/internal/stm/stm/tExit.ts +15 -9
- package/src/internal/stm/stm.ts +158 -157
- package/src/internal/stm/tArray.ts +3 -3
- package/src/internal/stm/tDeferred.ts +5 -5
- package/src/internal/stm/tMap.ts +13 -13
- package/src/internal/stm/tSet.ts +4 -4
- package/src/internal/stream.ts +688 -723
- package/src/internal/subscriptionRef.ts +3 -3
- package/src/internal/take.ts +6 -6
- package/src/internal/trie.ts +2 -2
- package/src/internal/version.ts +1 -1
package/src/Option.ts
CHANGED
|
@@ -255,7 +255,7 @@ export const fromIterable = <A>(collection: Iterable<A>): Option<A> => {
|
|
|
255
255
|
* @category conversions
|
|
256
256
|
* @since 2.0.0
|
|
257
257
|
*/
|
|
258
|
-
export const getRight: <
|
|
258
|
+
export const getRight: <R, L>(self: Either<R, L>) => Option<R> = either.getRight
|
|
259
259
|
|
|
260
260
|
/**
|
|
261
261
|
* Converts a `Either` to an `Option` discarding the value.
|
|
@@ -270,7 +270,7 @@ export const getRight: <E, A>(self: Either<E, A>) => Option<A> = either.getRight
|
|
|
270
270
|
* @category conversions
|
|
271
271
|
* @since 2.0.0
|
|
272
272
|
*/
|
|
273
|
-
export const getLeft: <
|
|
273
|
+
export const getLeft: <R, L>(self: Either<R, L>) => Option<L> = either.getLeft
|
|
274
274
|
|
|
275
275
|
/**
|
|
276
276
|
* Returns the value of the `Option` if it is `Some`, otherwise returns `onNone`
|
|
@@ -395,11 +395,11 @@ export const orElseSome: {
|
|
|
395
395
|
* @since 2.0.0
|
|
396
396
|
*/
|
|
397
397
|
export const orElseEither: {
|
|
398
|
-
<B>(that: LazyArg<Option<B>>): <A>(self: Option<A>) => Option<Either<
|
|
399
|
-
<A, B>(self: Option<A>, that: LazyArg<Option<B>>): Option<Either<
|
|
398
|
+
<B>(that: LazyArg<Option<B>>): <A>(self: Option<A>) => Option<Either<B, A>>
|
|
399
|
+
<A, B>(self: Option<A>, that: LazyArg<Option<B>>): Option<Either<B, A>>
|
|
400
400
|
} = dual(
|
|
401
401
|
2,
|
|
402
|
-
<A, B>(self: Option<A>, that: LazyArg<Option<B>>): Option<Either<
|
|
402
|
+
<A, B>(self: Option<A>, that: LazyArg<Option<B>>): Option<Either<B, A>> =>
|
|
403
403
|
isNone(self) ? map(that(), either.right) : map(self, either.left)
|
|
404
404
|
)
|
|
405
405
|
|
|
@@ -607,8 +607,8 @@ export const map: {
|
|
|
607
607
|
* @since 2.0.0
|
|
608
608
|
*/
|
|
609
609
|
export const as: {
|
|
610
|
-
<B>(b: B): <
|
|
611
|
-
} = dual(2, <
|
|
610
|
+
<B>(b: B): <X>(self: Option<X>) => Option<B>
|
|
611
|
+
} = dual(2, <X, B>(self: Option<X>, b: B): Option<B> => map(self, () => b))
|
|
612
612
|
|
|
613
613
|
/**
|
|
614
614
|
* Maps the `Some` value of this `Option` to the `void` constant value.
|
|
@@ -724,8 +724,8 @@ export const flatten: <A>(self: Option<Option<A>>) => Option<A> = flatMap(identi
|
|
|
724
724
|
*/
|
|
725
725
|
export const zipRight: {
|
|
726
726
|
<B>(that: Option<B>): <_>(self: Option<_>) => Option<B>
|
|
727
|
-
<
|
|
728
|
-
} = dual(2, <
|
|
727
|
+
<X, B>(self: Option<X>, that: Option<B>): Option<B>
|
|
728
|
+
} = dual(2, <X, B>(self: Option<X>, that: Option<B>): Option<B> => flatMap(self, () => that))
|
|
729
729
|
|
|
730
730
|
/**
|
|
731
731
|
* @category sequencing
|
|
@@ -749,8 +749,8 @@ export const composeK: {
|
|
|
749
749
|
*/
|
|
750
750
|
export const zipLeft: {
|
|
751
751
|
<_>(that: Option<_>): <A>(self: Option<A>) => Option<A>
|
|
752
|
-
<A,
|
|
753
|
-
} = dual(2, <A,
|
|
752
|
+
<A, X>(self: Option<A>, that: Option<X>): Option<A>
|
|
753
|
+
} = dual(2, <A, X>(self: Option<A>, that: Option<X>): Option<A> => tap(self, () => that))
|
|
754
754
|
|
|
755
755
|
/**
|
|
756
756
|
* Applies the provided function `f` to the value of the `Option` if it is `Some` and returns the original `Option`
|
|
@@ -774,9 +774,9 @@ export const zipLeft: {
|
|
|
774
774
|
* @since 2.0.0
|
|
775
775
|
*/
|
|
776
776
|
export const tap: {
|
|
777
|
-
<A,
|
|
778
|
-
<A,
|
|
779
|
-
} = dual(2, <A,
|
|
777
|
+
<A, X>(f: (a: A) => Option<X>): (self: Option<A>) => Option<A>
|
|
778
|
+
<A, X>(self: Option<A>, f: (a: A) => Option<X>): Option<A>
|
|
779
|
+
} = dual(2, <A, X>(self: Option<A>, f: (a: A) => Option<X>): Option<A> => flatMap(self, (a) => map(f(a), () => a)))
|
|
780
780
|
|
|
781
781
|
/**
|
|
782
782
|
* @category combining
|
|
@@ -955,11 +955,11 @@ export const toArray = <A>(self: Option<A>): Array<A> => isNone(self) ? [] : [se
|
|
|
955
955
|
* @since 2.0.0
|
|
956
956
|
*/
|
|
957
957
|
export const partitionMap: {
|
|
958
|
-
<A, B, C>(f: (a: A) => Either<
|
|
959
|
-
<A, B, C>(self: Option<A>, f: (a: A) => Either<
|
|
958
|
+
<A, B, C>(f: (a: A) => Either<C, B>): (self: Option<A>) => [left: Option<B>, right: Option<C>]
|
|
959
|
+
<A, B, C>(self: Option<A>, f: (a: A) => Either<C, B>): [left: Option<B>, right: Option<C>]
|
|
960
960
|
} = dual(2, <A, B, C>(
|
|
961
961
|
self: Option<A>,
|
|
962
|
-
f: (a: A) => Either<
|
|
962
|
+
f: (a: A) => Either<C, B>
|
|
963
963
|
): [excluded: Option<B>, satisfying: Option<C>] => {
|
|
964
964
|
if (isNone(self)) {
|
|
965
965
|
return [none(), none()]
|
package/src/ReadonlyArray.ts
CHANGED
|
@@ -17,7 +17,7 @@ import * as O from "./Option.js"
|
|
|
17
17
|
import * as Order from "./Order.js"
|
|
18
18
|
import type { Predicate, Refinement } from "./Predicate.js"
|
|
19
19
|
import { isBoolean } from "./Predicate.js"
|
|
20
|
-
import * as
|
|
20
|
+
import * as ReadonlyRecord from "./ReadonlyRecord.js"
|
|
21
21
|
import * as Tuple from "./Tuple.js"
|
|
22
22
|
import type { NoInfer } from "./Types.js"
|
|
23
23
|
|
|
@@ -128,7 +128,7 @@ export const fromIterable = <A>(collection: Iterable<A>): Array<A> =>
|
|
|
128
128
|
* @category conversions
|
|
129
129
|
* @since 2.0.0
|
|
130
130
|
*/
|
|
131
|
-
export const fromRecord: <K extends string, A>(self: Readonly<Record<K, A>>) => Array<[K, A]> =
|
|
131
|
+
export const fromRecord: <K extends string, A>(self: Readonly<Record<K, A>>) => Array<[K, A]> = ReadonlyRecord.toEntries
|
|
132
132
|
|
|
133
133
|
/**
|
|
134
134
|
* @category conversions
|
|
@@ -1334,10 +1334,18 @@ export const group: <A>(self: NonEmptyReadonlyArray<A>) => NonEmptyArray<NonEmpt
|
|
|
1334
1334
|
* @since 2.0.0
|
|
1335
1335
|
*/
|
|
1336
1336
|
export const groupBy: {
|
|
1337
|
-
<A
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1337
|
+
<A, K extends string | symbol>(
|
|
1338
|
+
f: (a: A) => K
|
|
1339
|
+
): (self: Iterable<A>) => Record<ReadonlyRecord.ReadonlyRecord.NonLiteralKey<K>, NonEmptyArray<A>>
|
|
1340
|
+
<A, K extends string | symbol>(
|
|
1341
|
+
self: Iterable<A>,
|
|
1342
|
+
f: (a: A) => K
|
|
1343
|
+
): Record<ReadonlyRecord.ReadonlyRecord.NonLiteralKey<K>, NonEmptyArray<A>>
|
|
1344
|
+
} = dual(2, <A, K extends string | symbol>(
|
|
1345
|
+
self: Iterable<A>,
|
|
1346
|
+
f: (a: A) => K
|
|
1347
|
+
): Record<ReadonlyRecord.ReadonlyRecord.NonLiteralKey<K>, NonEmptyArray<A>> => {
|
|
1348
|
+
const out: Record<string | symbol, NonEmptyArray<A>> = {}
|
|
1341
1349
|
for (const a of self) {
|
|
1342
1350
|
const k = f(a)
|
|
1343
1351
|
if (Object.prototype.hasOwnProperty.call(out, k)) {
|
|
@@ -1615,11 +1623,11 @@ export const filterMapWhile: {
|
|
|
1615
1623
|
* @since 2.0.0
|
|
1616
1624
|
*/
|
|
1617
1625
|
export const partitionMap: {
|
|
1618
|
-
<A, B, C>(f: (a: A, i: number) => Either<
|
|
1619
|
-
<A, B, C>(self: Iterable<A>, f: (a: A, i: number) => Either<
|
|
1626
|
+
<A, B, C>(f: (a: A, i: number) => Either<C, B>): (self: Iterable<A>) => [left: Array<B>, right: Array<C>]
|
|
1627
|
+
<A, B, C>(self: Iterable<A>, f: (a: A, i: number) => Either<C, B>): [left: Array<B>, right: Array<C>]
|
|
1620
1628
|
} = dual(
|
|
1621
1629
|
2,
|
|
1622
|
-
<A, B, C>(self: Iterable<A>, f: (a: A, i: number) => Either<
|
|
1630
|
+
<A, B, C>(self: Iterable<A>, f: (a: A, i: number) => Either<C, B>): [left: Array<B>, right: Array<C>] => {
|
|
1623
1631
|
const left: Array<B> = []
|
|
1624
1632
|
const right: Array<C> = []
|
|
1625
1633
|
const as = fromIterable(self)
|
|
@@ -1667,8 +1675,8 @@ export const getSomes: <A>(self: Iterable<Option<A>>) => Array<A> = filterMap(id
|
|
|
1667
1675
|
* @category filtering
|
|
1668
1676
|
* @since 2.0.0
|
|
1669
1677
|
*/
|
|
1670
|
-
export const getLefts = <
|
|
1671
|
-
const out: Array<
|
|
1678
|
+
export const getLefts = <R, L>(self: Iterable<Either<R, L>>): Array<L> => {
|
|
1679
|
+
const out: Array<L> = []
|
|
1672
1680
|
for (const a of self) {
|
|
1673
1681
|
if (E.isLeft(a)) {
|
|
1674
1682
|
out.push(a.left)
|
|
@@ -1693,8 +1701,8 @@ export const getLefts = <E, A>(self: Iterable<Either<E, A>>): Array<E> => {
|
|
|
1693
1701
|
* @category filtering
|
|
1694
1702
|
* @since 2.0.0
|
|
1695
1703
|
*/
|
|
1696
|
-
export const getRights = <
|
|
1697
|
-
const out: Array<
|
|
1704
|
+
export const getRights = <R, L>(self: Iterable<Either<R, L>>): Array<R> => {
|
|
1705
|
+
const out: Array<R> = []
|
|
1698
1706
|
for (const a of self) {
|
|
1699
1707
|
if (E.isRight(a)) {
|
|
1700
1708
|
out.push(a.right)
|
|
@@ -1766,7 +1774,7 @@ export const partition: {
|
|
|
1766
1774
|
* @category filtering
|
|
1767
1775
|
* @since 2.0.0
|
|
1768
1776
|
*/
|
|
1769
|
-
export const separate: <
|
|
1777
|
+
export const separate: <R, L>(self: Iterable<Either<R, L>>) => [Array<L>, Array<R>] = partitionMap(
|
|
1770
1778
|
identity
|
|
1771
1779
|
)
|
|
1772
1780
|
|
|
@@ -1847,7 +1855,7 @@ export const flatMapNullable: {
|
|
|
1847
1855
|
* @since 2.0.0
|
|
1848
1856
|
*/
|
|
1849
1857
|
export const liftEither = <A extends Array<unknown>, E, B>(
|
|
1850
|
-
f: (...a: A) => Either<
|
|
1858
|
+
f: (...a: A) => Either<B, E>
|
|
1851
1859
|
) =>
|
|
1852
1860
|
(...a: A): Array<B> => {
|
|
1853
1861
|
const e = f(...a)
|