loading...

re: Basic monads in Javascript VIEW POST

TOP OF THREAD FULL DISCUSSION
re: I find using Result very neat for modeling AND logic, but what about if I need to branch my logic and provide two different Ok results depending on...
 

That should be no problem either, instead of returning Result's you can use values, example:

Ok('some value')
  .map(x => x.length > 4 ? 'long' : 'short') // .map() will stay an 'Ok'
  .map(x => x.toUpperCase())
  .chain(x => x === 'LONG' ? Err('too long') : Ok(x)) // switch to Err branch if you want
  .cata(...)
code of conduct - report abuse