assert-never
v1.4.0
Published
Helper function for exhaustive checks of discriminated unions in TypeScript
Downloads
6,090,892
Maintainers
Readme
Assert Never
Helper function for exhaustive checks of discriminated unions in TypeScript.
Installation
npm install --save assert-never
Usage
import {assertNever} from "assert-never";
type A = {type: 'a'};
type B = {type: 'b'};
type Union = A | B;
function doSomething(arg: Union) {
if (arg.type === 'a') {
return something;
}
if (arg.type === 'b') {
return somethingElse;
}
// TS will error if there are other types in the union
// Will throw an Error when called at runtime. Use `assertNever(arg, true)`
// instead to fail silently.
return assertNever(arg);
}