Typescript Numeric Literal Types How To X + Y (Addition)

Acid Coder
Jun 29, 2022


Have you ever wondered how to add 2 numeric literal types?

now you know

type CreateArrayWithLengthX<
LENGTH extends number,
ACC extends unknown[] = [],
> = ACC['length'] extends LENGTH
: CreateArrayWithLengthX<LENGTH, [...ACC,1]>
type AddTwoNumber<T extends number, U extends number> = [...CreateArrayWithLengthX<T>,...CreateArrayWithLengthX<U>]['length']type A = AddTwoNumber<999,999> //1998


limitation: the number cannot exceed 999 because the max depth of TS recursion is only 1000, only work with positive integer



Acid Coder

Typescript Zombie. Youtube Pikachu On Acid. (Unrelated to programming but by watching it you become a good developer overnight)