Skip to content

Commit e365693

Browse files
author
Joshua
committed
minor type fixes to Result
1 parent c7bc459 commit e365693

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
"@effect-atom/atom": patch
3+
---
4+
5+
Minor type fixes to Result type:
6+
- Fix `flatMap` overload signature to correctly return `Result<B, E2>` instead of `Result<A, E2>`
7+
- Add explicit type parameters to `initial` call in `waitingFrom` to preserve type information
8+
- Remove duplicate `when` method overload in `BuilderImpl`

packages/atom/src/Result.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ export const fromExitWithPrevious = <A, E>(
136136
*/
137137
export const waitingFrom = <A, E>(previous: Option.Option<Result<A, E>>): Result<A, E> => {
138138
if (previous._tag === "None") {
139-
return initial(true)
139+
return initial<A, E>(true)
140140
}
141141
return waiting(previous.value)
142142
}
@@ -413,7 +413,7 @@ export const map: {
413413
* @category combinators
414414
*/
415415
export const flatMap: {
416-
<A, E, B, E2>(f: (a: A, prev: Success<A, E>) => Result<A, E2>): (self: Result<A, E>) => Result<B, E | E2>
416+
<A, E, B, E2>(f: (a: A, prev: Success<A, E>) => Result<B, E2>): (self: Result<A, E>) => Result<B, E | E2>
417417
<E, A, B, E2>(self: Result<A, E>, f: (a: A, prev: Success<A, E>) => Result<B, E2>): Result<B, E | E2>
418418
} = dual(2, <E, A, B, E2>(self: Result<A, E>, f: (a: A, prev: Success<A, E>) => Result<B, E2>): Result<B, E | E2> => {
419419
switch (self._tag) {
@@ -651,10 +651,6 @@ class BuilderImpl<Out, A, E> {
651651
refinement: Refinement<Result<A, E>, B>,
652652
f: (result: B) => Option.Option<C>
653653
): any
654-
when<C>(
655-
refinement: Predicate<Result<A, E>>,
656-
f: (result: Result<A, E>) => Option.Option<C>
657-
): any
658654
when<C>(
659655
refinement: Predicate<Result<A, E>>,
660656
f: (result: Result<A, E>) => Option.Option<C>

0 commit comments

Comments
 (0)