bh2980.dev

106 - Trim Left

  • #Type Challenges
  • #TypeScript

질문

정확한 문자열 타입이고 시작 부분의 공백이 제거된 새 문자열을 반환하는 TrimLeft<T>를 구현하십시오.

예시

type trimmed = TrimLeft<'  Hello World  '>
// 기대되는 결과는 'Hello World  '입니다.

// 테스트 케이스
import type { Equal, Expect } from '@type-challenges/utils' type cases = [ Expect<Equal<TrimLeft<'str'>, 'str'>>, Expect<Equal<TrimLeft<' str'>, 'str'>>, Expect<Equal<TrimLeft<' str'>, 'str'>>, Expect<Equal<TrimLeft<' str '>, 'str '>>, Expect<Equal<TrimLeft<' \n\t foo bar '>, 'foo bar '>>, Expect<Equal<TrimLeft<''>, ''>>, Expect<Equal<TrimLeft<' \n\t'>, ''>>, ]

선행 지식

  1. 템플릿 리터럴 타입 역시 infer를 통해 타입을 분해 가능하다.

풀이