Trim Left
提出詳細
type Space = ' ' | '\n' | '\t' // まずSに入るのはstringだと制限 // SがSpaceとそれ以外、になっている場合、Restを引数に渡し、TrimLeftを呼び出し type TrimLeft<S extends string> = S extends `${Space}${infer Rest}` ? TrimLeft<Rest> : S
提出日時 | 2022-07-16 01:41:40 |
---|---|
問題 | Trim Left |
ユーザー | aa-0921 |
ステータス | Accepted |
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'>, ''>>, ]