Library for functional programming in JavaScript
Provides specifications and implementations for some functional models and also extra functions to make work with them easier.
You can find here:
- Maybe
- Either
- List
- IO
- Task
- ... others
Usage
It's very simple to use this library :
- whole library
const Maybe = ;const m = Maybe;console;
- one file
const Either = default;const e = Eitherleft5;console;
Documentation
Maybe
Allow to skip operations when there is no data Container (Nothing case):
Provides methods:
- just and nothing - create instances of Maybe
Maybe ; // Maybe.Just { 1 } Maybe ; // Maybe.Nothing { }
- fromNullable - safely creates instance
Maybe ; // Maybe.Just { 0 } Maybe ; // Maybe.Nothing { } Maybe ; // Maybe.Nothing { } Maybe ; // Maybe.Nothing { }
- map - transforms internal value
Maybe ; // Maybe.Just { 3 }
- ap - passes arguments into contained function
Maybe ; // Maybe.Just { 5 }
Maybe.Nothing will safely ignore this methods and Maybe.Nothing wil be returned
const incOrFail = { if Number return a + 1; else throw 'Not a number: ' + a; }; Maybe ; // Maybe.Nothing { }
- get - returns contained value ( throw an Error in case of Maybe Nothing)
Maybe ; // 5
- getOrElse and getOrElseRun - allow to safely return contained value or use default value or run function
Maybe ; // 5 Maybe ; // 8 Maybe ; // 8