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"