Thibaud
Thibaud

Reputation: 1095

Typescript: Is there a type for numerable?

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

Upvotes: 3

Views: 165

Answers (1)

Donut
Donut

Reputation: 112885

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.

Upvotes: 7

Related Questions