Home > OS >  Typescript: Is there a type for numerable?
Typescript: Is there a type for numerable?

Time:03-24

I would like to know if there is a type for numerable data. To me numerable is a number or a string that can be converted into a number for exemple:

const a = 1; // it's a numerable
const b = "1"; // it's a numerable since typeof  b === 'number '
const c = "zerezre" // it's not a numerable

at the beginning I was trying to create my own type

export type Numerable = number | string;

but this was not explicite and a lot of error can appear. So I was thinking of creating validator with phantom type but this is not really what I want (I guess) since I only want to defined type and not add check inside the running program.

Can someone have any idea ?

Thanks a lot

CodePudding user response:

You should be able to use the template literal string types introduced in TypeScript 4.1 to accomplish this:

type Numerable = number | `${number}`

All of your examples work as expected - see here.

  • Related