-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Description
class UnsupportedValueError extends Error {
constructor(value: never, message = `Unsupported value: ${value}`) {
super(message)
}
}
// Usage example:
enum Color {Red, Green}
function colorToString(color: Color) {
switch (color) {
case Color.Red:
return 'RED';
case Color.Green:
return 'GREEN';
default:
throw new UnsupportedValueError(color);
}
}
I find this code a little more self-explanatory. Compare:
function colorToString(color: Color) {
switch (color) {
case Color.Red:
return 'RED';
case Color.Green:
return 'GREEN';
default:
return expectNever(color);
}
}
Metadata
Metadata
Assignees
Labels
No labels