Open lightDer opened 1 month ago
Hi! It's really a neat and lightweight libs. I wonder if EitherAsync.chain can support both Either and EitherAsync?
EitherAsync.chain
Either
EitherAsync
For example, if I want to chain getTitle, I need add async in the chain method. Or any recommendations for handling this? Thanks.
getTitle
async
async function getPost (postId: number): Promise<Either<Error, Post>> { const response = await fetch(`/posts/${postId}`); return response ? Right((response.json() as unknown) as Post) : Left(new Error(`Problem fetching post with id: ${postId}`)); } function getTitle (post: Post): Either<Error, string> { return post.title ? Right(post.title) : Left(new Error("This post should have a title")); } function getPostTitle (req: Request): EitherAsync<Error, string> { return EitherAsync.liftEither(validateRequest(req)) .chain((request) => getPost(request.postId)) .chain(async (post) => getTitle(post)); }
Hi! It's really a neat and lightweight libs. I wonder if
EitherAsync.chain
can support bothEither
andEitherAsync
?For example, if I want to chain
getTitle
, I need addasync
in the chain method. Or any recommendations for handling this? Thanks.