Since typescript 2.0 RC (or even beta?) it is possible to use number literal types, as in type t = 1 | 2;
. Is it possible to restrict a type to a number range, e.g. 0-255, without writing out 256 numbers in the type?
In my case, a library accepts color values for a palette from 0-255, and I'd prefer to only name a few but restrict it to 0-255:
const enum paletteColor {
someColor = 25,
someOtherColor = 133
}
declare function libraryFunc(color: paletteColor | 0-255); //would need to use 0|1|2|...
If You have small range, you can always write something like:
type MyRange = 5|6|7|8|9|10
let myVar:MyRange = 4; // oops, error :)
Of course it works just for integers and is ugly as hell :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With