try-js
v1.9.1
Published
Type/construct for handling errors in Node.js, inspired by Scala's Try type.
Downloads
39
Readme
try-js
Type/construct for handling errors in Node.js, inspired by Scala's Try type.
Example usage #1, happy case:
var Try = require('try-js');
var result = Try.of(() => 10)
.map(res => res + 10)
.getOrElse(-1);
console.log(result); // Prints 20
Example usage #2, failure case:
var Try = require('try-js');
var result = Try.of(() => { throw new Error('Internal failure') })
.map(res => res + 10 )
.getOrElse(-1);
console.log(result); // Prints -1
API doc
Table of functions
of
Accepts a supplier function resulting in a failure or success Try.
var newTry = Try.of(() => 'foobar');
success
Static helper function for creating a success Try.
var successTry = Try.success('Yay! It worked!');
failure
Static helper function for creating a failure Try.
var failureTry = Try.failure('Aw. It failed...');
filter
Function for filtering, where a predicate match results in a success try, and a failure.
var successTry = Try.of(() => 100)
.filter(value => value > 50);
var failureTry = Try.of(() => 20)
.filter(value => value > 50);
flatMap
Function for mapping on another Try, used to flatten a nested Try instances.
var successTry = Try.of(() => 'Some value')
.flatMap(value => Try.of(() => 'Something else'));
var failureTry = Try.of(() => 'Some value')
.flatMap(value => Try.of(() => { throw new Error('Oh snap!'); }));
getOrElse
Accepts a default value which is returned in case of failure, otherwise the value is returned.
var two = Try.of(() => { throw new Error('one'); })
.getOrElse(2);
isFailure
Returns whether the Try is a Failure or not.
var correct = Try.of(() => { throw new Error(); })
.isFailure();
isSuccess
Returns whether the Try is a Success or not.
var correct = Try.of(() => 'Victory!')
.isSuccess();
onFailure
Function for performing an operation on the failure Try. Disregards the return value of the provided function.
var failureTry = Try.of(() => { throw new Error('Critical failure') })
.onFailure(err => console.error(err));
onSuccess
Function for performing an operation on the success Try. Disregards the return value of the provided function.
var successTry = Try.of(() => { throw new Error('Superb win') })
.onSuccess(value => console.log(value));
map
Accepts function that transforms a value if the current Try is a success Try.
var twentySuccessTry = Try.of(() => 10)
.map(value => value + 10);
orElse
Accepts a function with a another try for Failure mapping.
var successTry = Try.of(() => { throw new Error('Oops'); })
.orElse(() => Try.of(() => 'Much better'));