Install
Your first Result
chas.fromPromise wraps any Promise and maps thrown errors into a typed value. The result is a ResultAsync<T, E> that’s awaitable, chainable, and explicit about what can go wrong.Validate input with Guard
is from ts-chas/guard gives you chainable type predicates you can use inline or combine into full schemas.A resilient Task
Task wraps an async operation lazily, which means it does not run until you call .execute(). You can attach retries, timeouts, and other resilience patterns before execution.These examples only scratch the surface. Head to Core Concepts for a deeper dive into Result, Guard, Task, Tagged Errors, Option, and Pipe/Flow.