Assert Never 
Helper function for exhaustive checks of discriminated unions in TypeScript.
Installation
npm install --save assert-neverUsage
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);
} aikoven
aikoven