Function: match()
Call Signature
match<
R,OkReturn,ErrReturn>(onOk,onErr): (result) =>OkReturn|ErrReturn
Defined in: fp.ts:132
Takes handlers for Ok and Err results and returns a function that accepts a Result. The returned function pattern matches on the Result, calling the appropriate handler and returning its result.
Type Parameters
R
R extends Result
The input Result type
OkReturn
OkReturn
The type returned by the success handler
ErrReturn
ErrReturn
The type returned by the error handler
Parameters
onOk
(data) => NonPromise<OkReturn>
Function to handle Ok results
onErr
(error) => NonPromise<ErrReturn>
Function to handle Err results
Returns
A function that takes a Result object and returns the result of the appropriate handler
(
result):OkReturn|ErrReturn
Parameters
result
NonPromise<R>
Returns
OkReturn | ErrReturn
Example
const result1 = pipe(ok("hello"), match(
(data: string) => `Success: ${data}`,
(error: string) => `Error: ${error}`
)); // "Success: hello"
const result2 = pipe(err("failed"), match(
(data: string) => `Success: ${data}`,
(error: string) => `Error: ${error}`
)); // "Error: failed"Call Signature
match<
R,OkReturn,ErrReturn>(onOk,onErr): (result) =>Promise<OkReturn|ErrReturn>
Defined in: fp.ts:136
Takes handlers for Ok and Err results and returns a function that accepts a Result. The returned function pattern matches on the Result, calling the appropriate handler and returning its result.
Type Parameters
R
R extends Result
The input Result type
OkReturn
OkReturn
The type returned by the success handler
ErrReturn
ErrReturn
The type returned by the error handler
Parameters
onOk
(data) => OrPromise<OkReturn>
Function to handle Ok results
onErr
(error) => OrPromise<ErrReturn>
Function to handle Err results
Returns
A function that takes a Result object and returns the result of the appropriate handler
(
result):Promise<OkReturn|ErrReturn>
Parameters
result
OrPromise<R>
Returns
Promise<OkReturn | ErrReturn>
Example
const result1 = pipe(ok("hello"), match(
(data: string) => `Success: ${data}`,
(error: string) => `Error: ${error}`
)); // "Success: hello"
const result2 = pipe(err("failed"), match(
(data: string) => `Success: ${data}`,
(error: string) => `Error: ${error}`
)); // "Error: failed"