effect 2.3.8 → 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/BigInt.js +14 -1
- package/dist/cjs/BigInt.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/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/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.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/core-effect.js +6 -23
- package/dist/cjs/internal/core-effect.js.map +1 -1
- package/dist/cjs/internal/core.js +11 -27
- package/dist/cjs/internal/core.js.map +1 -1
- package/dist/cjs/internal/effect/circular.js +4 -5
- package/dist/cjs/internal/effect/circular.js.map +1 -1
- package/dist/cjs/internal/either.js +3 -3
- package/dist/cjs/internal/either.js.map +1 -1
- package/dist/cjs/internal/groupBy.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/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/sink.js +0 -2
- package/dist/cjs/internal/sink.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/version.js +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/GroupBy.d.ts +12 -12
- package/dist/dts/GroupBy.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/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/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/stm/stm.d.ts +2 -15
- package/dist/dts/internal/stm/stm.d.ts.map +1 -1
- package/dist/esm/BigInt.js +12 -0
- package/dist/esm/BigInt.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/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/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.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/core-effect.js +4 -20
- package/dist/esm/internal/core-effect.js.map +1 -1
- package/dist/esm/internal/core.js +8 -22
- package/dist/esm/internal/core.js.map +1 -1
- package/dist/esm/internal/effect/circular.js +4 -5
- package/dist/esm/internal/effect/circular.js.map +1 -1
- package/dist/esm/internal/either.js +3 -3
- package/dist/esm/internal/either.js.map +1 -1
- package/dist/esm/internal/groupBy.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/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/sink.js +0 -2
- package/dist/esm/internal/sink.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/version.js +1 -1
- package/package.json +1 -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 +4 -4
- package/src/Config.ts +4 -4
- package/src/Cron.ts +2 -2
- package/src/Differ.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/GroupBy.ts +16 -16
- package/src/Layer.ts +32 -32
- package/src/List.ts +3 -3
- 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/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 +5 -8
- package/src/Types.ts +11 -0
- package/src/internal/blockedRequests.ts +2 -2
- package/src/internal/cause.ts +2 -2
- 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/core-effect.ts +28 -43
- package/src/internal/core.ts +15 -40
- 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 +9 -10
- package/src/internal/either.ts +25 -22
- 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/fiberRuntime.ts +9 -9
- package/src/internal/groupBy.ts +40 -40
- 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/polling.ts +8 -8
- package/src/internal/metric.ts +6 -6
- 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/sink.ts +27 -29
- package/src/internal/stm/core.ts +23 -23
- 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/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)
|