Skip to main content
ts-chas gives you the building blocks for writing TypeScript that is explicit about errors, safe at runtime, and easy to compose. Instead of scattered try/catch blocks and null checks, you get a suite of tightly integrated modules: Result, Guard, Task, Option, TaggedErrors, and Pipe/Flow that work nicely together.

Installation

Add ts-chas to your project in under a minute.

Quick Start

See the key patterns with working examples.

Core Concepts

Understand Result, Guard, Task, and more.

API Reference

Browse the full public API surface.

What’s inside

Result & ResultAsync

Replace try/catch with explicit, type-safe Result<T, E> and ResultAsync<T, E> that carry error types in the signature.

Guard

Chainable runtime type validators that double as TypeScript type predicates, with built-in schema parsing and Standard Schema v1 support.

Task

Lazy async pipelines with retries, timeouts, circuit breakers, throttling, and caching; all composable and cancellable.

Tagged Errors

Discriminated error unions built on native Error objects, enabling exhaustive pattern matching across your call stack.

Option

Model the presence or absence of a value explicitly, with the same rich API as Result.

Pipe & Flow

Compose functions into readable, reusable data pipelines with full TypeScript type inference.

Get started

1

Install the package

2

Import the modules you need

3

Replace your first try/catch

4

Explore the concepts

Read through Core Concepts to understand how the modules fit together, or jump straight to a Quick Start example.