loading...

re: Basic monads in Javascript VIEW POST

TOP OF THREAD FULL DISCUSSION
re: For this example the following would be better if you weren't sure if some fields would be available const data = [ { wrongName: 'Jason', level...
 

It seems to looks better with Ramda, isn't it:

const data = [
  { wrongName: 'Jason', level: 7, cool: true },
  { wrongName: 'Blanche', level: 8, cool: false }
];

Maybe(data)
  .map(filter(propEq('cool', true)))
  .map(head)
  .map(prop('name'))
  .map(toUpper)
  .cata({
    Just: console.log
    Nothing: () => console.log('No data available')
  })

PS: thanks a lot for the article

This isn't exactly the same because Ramdas prop() does not return a Maybe, so if that prop did not exist then ramda would return an undefined, which will cause problems down the line. Same with head()

You are totally right. Sorry for my mistake.

Code of Conduct Report abuse