1.9.1 • Published 7 years ago

try-js v1.9.1

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

try-js

Type/construct for handling errors in Node.js, inspired by Scala's Try type.

Build Status

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'));
1.9.1

7 years ago

1.9.0

7 years ago

1.8.1

7 years ago

1.8.0

7 years ago

1.7.0

7 years ago

1.6.0

8 years ago

1.5.0

8 years ago

1.4.0

8 years ago

1.3.0

8 years ago

1.2.3

8 years ago

1.2.2

8 years ago

1.2.1

8 years ago

1.2.0

8 years ago

1.1.0

8 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago