我发现了一个类型级别Split
函数的定义:
type Split<S extends string, D extends string> =
string extends S ? string[] :
S extends '' ? [] :
S extends `${infer T}${D}${infer U}` ? [T, ...Split<U, D>] : [S];
是否也有一种方法来创建一个类型级别的Join<string[], string>
函数,以便我可以使用它们来将下划线更改为连字符?
例如:
type ChangeHyphensToUnderscore<T> = { [P in keyof T & string as `${Join(Split<P, '-'>, '_')}`]: T[P] };
1条答案
按热度按时间s8vozzvw1#
当然有:
您还可以通过使用tail call optimization略微提高性能:
这里有一个操场给你玩。