fp-try

A Try encapsulates the result of an operation that may have failed.

Usage no npm install needed!

<script type="module">
  import fpTry from 'https://cdn.skypack.dev/fp-try';
</script>

README

fp-try

Web Site

A functional-programming Try interface, inspired by the Scala type. A Try represents the results of an operation that may have failed, encapsulating either the successful result as a Success, or the error as a Failure.

const DEFAULT_USER: User = buildDefaultUser();

function getUser(userName: string): User {
    return Try.apply(getDatabaseCredentials)
        .map((c: Creds) => fetchUserDetails(c, userName))
        .map(mapResultsToUser)
        .getOrElse(DEFAULT_USER);
}

function getDatabaseCredentials(): Creds {
    /* ... */
}

function fetchUserDetails(c: Creds, userName: string): ResultSet {
    /* ... */
}

function mapResultsToUser(rs: ResultSet): User {
    /* ... */
}

For details on the API, see https://mearns.github.io/fp-try/.

There are a lot of anti-patterns with this type. For more information on how to use it effectively, see our article: "Do or Do Not: Patterns and Antipatterns with the Try type"