반응형
문제
정확한 문자열 타입이고 양쪽 끝의 공백이 제거된 새 문자열을 반환하는 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 '>, ''>>,
]
전 문제와 거의 비슷하게 풀 수 있었다 😊👍
반응형
'✍ 공부 > TypeScript' 카테고리의 다른 글
[type-challenges] Replace (0) | 2023.06.13 |
---|---|
[type-challenges] Capitalize (0) | 2023.06.13 |
[type-challenges] Trim Left (0) | 2023.06.06 |
[type-challenges] Type Lookup (0) | 2023.06.06 |
[type-challenges] POP (0) | 2023.06.06 |