프로그래밍/TypeScript
DropChar, 문자열에서 특정 글자 제거하기
카카수(kakasoo)
2023. 4. 16. 19:14
반응형
type ToString<T>= T extends string ? T : never;
type ToStringTuple<T>= T extends string[] ? T : never;
type Join<T extends string[]> = T extends [infer F, ...infer Rest] ? `${ToString<F>}${Join<ToStringTuple<Rest>>}` : '';
type Replace<S, C> =
C extends '' ?
never :
S extends `${infer F}${infer Rest}` ? F extends C ? [...Replace<Rest, C>] : [F, ...Replace<Rest, C>] : [];
type DropChar<S, C> = Join<Replace<S, C>>
DropChar는 문자열에서 특정한 글자가 있을 경우 삭제하는 타입을 구현한다.
사실, 이는 이전에 구현한 ReplaceAll 타입과 유사하다.
이 중 하나의 프로퍼티를 빈 문자열로 대입한 경우이기 때문이다.
반응형