mirror of https://github.com/jkjoy/sunpeiwen.git
9a9cb42f53 | ||
---|---|---|
.. | ||
README.md | ||
index.d.ts | ||
index.js | ||
index.ts | ||
package.json |
README.md
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);
}