✍ 공부/TypeScript
[type-challenges] Trim
Po_tta_tt0
2023. 6. 13. 20:26
반응형
문제
정확한 문자열 타입이고 양쪽 끝의 공백이 제거된 새 문자열을 반환하는 Trim<T>
를 구현하십시오.
설명
/* _____________ Your Code Here _____________ */
type CanTrim = ' ' | "\n" | "\t"
type Trim<S extends string> = S extends `${CanTrim}${infer T}` | `${infer T}${CanTrim}` ? Trim<T> : S
/* _____________ Test Cases _____________ */
import type { Equal, Expect } from '@type-challenges/utils'
type cases = [
Expect<Equal<Trim<'str'>, 'str'>>,
Expect<Equal<Trim<' str'>, 'str'>>,
Expect<Equal<Trim<' str'>, 'str'>>,
Expect<Equal<Trim<'str '>, 'str'>>,
Expect<Equal<Trim<' str '>, 'str'>>,
Expect<Equal<Trim<' \n\t foo bar \t'>, 'foo bar'>>,
Expect<Equal<Trim<''>, ''>>,
Expect<Equal<Trim<' \n\t '>, ''>>,
]
전 문제와 거의 비슷하게 풀 수 있었다 😊👍
반응형