typescript - 如何键入将蛇案例格式化为骆驼案例的函数?
问题描述
type SnakeToCamelCase<S extends string> = S extends `${infer T}_${infer U}`
? `${Lowercase<T>}${Capitalize<SnakeToCamelCase<U>>}`
: S;
const snakeToCamelCase = <T extends string>(subject: T): SnakeToCamelCase<T> => {
return subject.replace(/([_-][a-z])/gi, (segment) => {
return segment.toUpperCase().replace('-', '').replace('_', '');
});
};
照原样,上面的代码会产生错误:
Type 'string' is not assignable to type 'SnakeToCamelCase<T>'.
snakeToCamelCase
输入函数的正确方法是什么?
解决方案
推荐阅读
- node.js - 为什么使用 HTTPS 运行 NPM 时出现错误?
- php - 出于分页目的,是否有可能从 PHP imap_search() 结果中限制仅 10 条消息数?
- css - 预加载密钥请求 - 改进 css 调用
- c++ - 查找数组中第一次出现偶数的索引,运行时间成本为 O(log(n))
- javascript - 删除图例 ChartsJS 2.8.0
- c++ - 编译时初始化一个非常量变量
- apache-spark - 将 txt 文件读取为 PySpark 数据框
- java - Spring Boot Jar 执行失败 - 访问被拒绝(用户是匿名的);重定向到身份验证入口点
- php - 具有多对多关系的 Dcotrine QueryBuilder
- angular - Razorpay 自定义函数未在支付失败函数角度中调用