0.1.0 • Published 4 years ago

unsupported-value-error v0.1.0

Weekly downloads
487
License
ISC
Repository
github
Last release
4 years ago

unsupported-value-error

CI npm version Download Total code style: prettier
Dependabot enabled dependencies Status devDependencies Status

Little TypeScript utility Error class for performing exhaustiveness checks via exceptions, based on this post by Dr. Axel Rauschmayer.

enum NoYes {
  No = 'no',
  Yes = 'yes'
}

function toGerman(x: NoYes) {
  switch (x) {
    case NoYes.No: return 'Nein';
    // case NoYes.Yes: return 'Ja';
    default: throw new UnsupportedValueError(x);
    // => TS2345: Static TS error: Argument of type 'NoYes.Yes' is not assignable to parameter of type 'never'.
    // => Runtime: Unsupported value: 'yes'
  }
}