Nanoprogrammed Penultimate Musicianship
Get unlimited public & private packages + package-based permissions with npm Pro.Get started »

fp-try

0.1.2 • Public • Published

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"

Install

npm i fp-try

DownloadsWeekly Downloads

0

Version

0.1.2

License

MIT

Unpacked Size

54.6 kB

Total Files

13

Last publish

Collaborators

  • avatar