A collection of utilities to take your TypeScript development up a notch
(you can cherrypick what you import)
A few GIFs to convince you that you need tsafe in your life
Assert things you know are true, get runtime errors where you were wrong:
Implement compile time unit testing
Playground
Make sure all properties of an object are deconstructed
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 corrects frustrating aspects of default utility types such as ReturnType.
Installation
tsafe is both an NPM and a Deno module.
(Achieved with denoify)
Import in deno:
import { assert, typeGuard, ... } from "https://deno.land/x/tsafe/mod.ts";Install elsewhere:
$ npm install --save tsafe
#OR
$ yarn add tsafe
