adt-maybe
Function based Maybe algebraic data type for safe code
npm install adt-maybe
Examples
Applicative
const safeFunc safeNum = ;const ap = ;const caseDo = ;const pipe = ; // mAdd2 :: Maybe (Number -> Number -> Number)const mAdd2 = ; // All data provided are numbersmAdd2; // => 7 // One piece of data is a string "4"mAdd2; // => 0
With safe objects
const caseDo = ;const safeMap = ;const safeObj = ;const pipe = ; // safeJonSnow :: Maybe Personconst safeJonSnow = ; // safeNobody :: Maybe Personconst safeNoOne = ; // getLastNameLower :: Person -> Stringconst getLastNameLower = ; // getLastName :: Maybe Person -> Stringconst getLastName = ; ; // => 'snow'; // => 'no one'
Using pipe Kleisli
const safeObj safeStr = ;const pipeK = ;const parseJSON = ;const caseDo = ; // maybeFirstName :: Maybe Stringconst maybeFirstName = "{\"name\":{\"first\":\"Spock\"}}"; const cases = { return firstName; } { }; getLastName; // => 'SPOCK'