Typescript类型体操 - TrimRight

题目

中文

实现 TrimRight<T> ,它接收确定的字符串类型并返回一个新的字符串,其中新返回的字符串删除了原字符串结尾的空白字符串。

例如

type Trimed = TrimRight<'  Hello World  '>; // 应推导出 '  Hello World'

English

Implement TrimRight<T> which takes an exact string type and returns a new string with the whitespace ending removed.

For example:

type Trimed = TrimRight<'   Hello World    '>; // expected to be '   Hello World'

答案

type TrimRight<S extends string> = S extends `${infer L}${'\n' | '\t' | ' '}`
    ? TrimRight<L>
    : S;

在线演示

posted @ 2022-10-24 22:41  Laggage  阅读(44)  评论(0编辑  收藏  举报