garronej/tsafe

🔩 The missing TypeScript utils

TypeScript

479

406 commits

updated Oct 1, 2025

See the code

README

A collection of utilities to take your TypeScript development up a notch


This module is tree shakable

Documentation



Make sure two types are identical



Playground


A assertion function that typescript understands



Make sure your zod schema exactly matches a given type:

Playground



Make sure you never forget a case in a switch


Playground



Make TypeScript believe whatever you say without having to write const obj2 = obj as Bar.
The more powerfully is to be able to tell TypeScript that obj ist not of type Bar:

Motivations

Powerful TypeScript features like assertion functions or user-defined type guards are only useful if paired with utility functions.

TypeScript, however, only exports type helpers (e.g. Record, ReturnType, etc.).

This module provides «the missing builtins» such as the assert function and other utilities that cannot be just type helpers.

Documentation website

Installation

tsafe is both an NPM and a Deno module. (Achieved with denoify)

Import in deno:

import { assert, type Equals, ... } from "https://deno.land/x/tsafe/mod.ts";

Install elsewhere:

$ npm install --save tsafe
deno
hacktoberfest
node
npm
testing
type-safety
typescript
utilities

garronej/tsafe

🔩 The missing TypeScript utils

TypeScript

479

406 commits

updated Oct 1, 2025

See the code

README

A collection of utilities to take your TypeScript development up a notch


This module is tree shakable

Documentation



Make sure two types are identical



Playground


A assertion function that typescript understands



Make sure your zod schema exactly matches a given type:

Playground



Make sure you never forget a case in a switch


Playground



Make TypeScript believe whatever you say without having to write const obj2 = obj as Bar.
The more powerfully is to be able to tell TypeScript that obj ist not of type Bar:

Motivations

Powerful TypeScript features like assertion functions or user-defined type guards are only useful if paired with utility functions.

TypeScript, however, only exports type helpers (e.g. Record, ReturnType, etc.).

This module provides «the missing builtins» such as the assert function and other utilities that cannot be just type helpers.

Documentation website

Installation

tsafe is both an NPM and a Deno module. (Achieved with denoify)

Import in deno:

import { assert, type Equals, ... } from "https://deno.land/x/tsafe/mod.ts";

Install elsewhere:

$ npm install --save tsafe
deno
hacktoberfest
node
npm
testing
type-safety
typescript
utilities

Project health

Overall

3.1/10

Maintained

0/10

Code review

0/10
OpenSSF Scorecard

Latest release

1.8.12 · Oct 1, 2025

Releases this year

0

Significant stargazers

Dimitri POSTOLOV

325 followers · starred Aug 2023

Emmanuel T Odeke

724 followers · starred Sep 2024

Anton Kastritskii

222 followers · starred Sep 2022

Dmitry Semigradsky

191 followers · starred Apr 2022