typescript
혹시 이런 타입 없었나 생각해보신 적 없으신가요?
냠냠맨
2024. 1. 10. 02:27
아 ~ 어디 "1"부터 원하는 숫자를 다 유니온으로 만들어주는 타입 어디없나~?
type NumberToString<
N extends number,
R extends unknown[] = [],
> = R['length'] extends N
? never
: `${R['length']}` | NumberToString<N, [unknown, ...R]>;
type ExcludeNumbers<
ExcludeFrom extends string,
End extends string,
> = End extends ExcludeFrom ? never : End;
export type NumberString<
Start extends number = 0,
End extends number = 0,
> = ExcludeNumbers<NumberToString<Start>, NumberToString<End>>;
이게 되네..
타입의 세계는 무궁무진하네요..
다만 타입스크립트의 재귀호출제한으로 인해 48이상의 값을 넣으면 에러가 발생합니다.
그래도.. 간단한 값을 만들때는 편하게 쓰실 수 있을거에요..
반응형