Composable type utilities
Types for objects, arrays, tuples, strings, numbers, unions, functions and promises — each one designed to compose with the rest.
Composable type utilities
Types for objects, arrays, tuples, strings, numbers, unions, functions and promises — each one designed to compose with the rest.
Predictable branching
Every predicate type accepts the same
branching options, so any, never and
unknown never surprise you.
Type-level programming
Nominal types, type guards, assertion functions and compile-time math for building your own type-level APIs.
Tested against real compilers
The type tests run against TypeScript 5.4, 5.5, 5.6, 6.0 and 7, so compatibility is a guarantee, not a hope.