Skip to content

Commit

Permalink
updated match options type
Browse files Browse the repository at this point in the history
  • Loading branch information
jessekelly881 committed Feb 28, 2024
1 parent cf2bbba commit 131dd71
Showing 1 changed file with 8 additions and 11 deletions.
19 changes: 8 additions & 11 deletions packages/rx/src/Result.ts
Original file line number Diff line number Diff line change
Expand Up @@ -315,24 +315,21 @@ export const map: {
}
})

/**
* @since 1.0.0
* @category types
*/
export interface MatchOptions<A, E, Ret> {
onInitial: (_: Initial<A, E>) => Ret
onFailure: (_: Failure<A, E>) => Ret
onSuccess: (_: Success<A, E>) => Ret
/** @internal */
interface MatchOptions<A, E, X, Y, Z> {
readonly onInitial: (_: Initial<A, E>) => X
readonly onFailure: (_: Failure<A, E>) => Y
readonly onSuccess: (_: Success<A, E>) => Z
}

/**
* @since 1.0.0
* @category combinators
*/
export const match: {
<A, E, Ret>(options: MatchOptions<A, E, Ret>): (self: Result<A, E>) => Ret
<A, E, Ret>(self: Result<A, E>, options: MatchOptions<A, E, Ret>): Ret
} = dual(2, <A, E, Ret>(self: Result<A, E>, options: MatchOptions<A, E, Ret>): Ret => {
<A, E, X, Y, Z>(options: MatchOptions<A, E, X, Y, Z>): (self: Result<A, E>) => X | Y | Z
<A, E, X, Y, Z>(self: Result<A, E>, options: MatchOptions<A, E, X, Y, Z>): X | Y | Z
} = dual(2, <A, E, X, Y, Z>(self: Result<A, E>, options: MatchOptions<A, E, X, Y, Z>): X | Y | Z => {
switch (self._tag) {
case "Initial":
return options.onInitial(self)
Expand Down

0 comments on commit 131dd71

Please sign in to comment.