typescript - 如何转换数组中的每种类型?
问题描述
我有以下类型
type ParseMustaches<T extends string[], U extends Record<string, string> = {}> =
T extends `{{${infer U}}}`
? Record<U, string>
: never
type Test = ParseMustaches<["{{sitename}}", "{{user}}"]>
// expect Test to become { sitename: string, user: string }
我想从这里返回一个需要所有键的对象,键都是推断值,值是字符串,我该如何实现? 使用我正在使用的 TS 版本的游乐场并链接到允许推断字符串的 PR
解决方案
那是因为T
是一个元组/数组,所以它没有扩展模式,你需要测试的是元组的项:
type ParseMustaches<T extends string[]> =
T[number] extends `{{${infer U}}}`
? Record<U, string>
: never
推荐阅读
- mysql - MySQL Workbench 数据类型
- symfony - 无法自动装配服务“X”:方法“__construct()”的参数“$param”是类型提示的“字符串”,您应该明确配置其值
- string - 在子字符串之间添加下划线
- python - Matplotlib 关闭了一天
- apache-kafka - 如何构建一个管道,从 Odoo 等 ERP 收集数据并使用 Kafka 存储在外部数据库中
- javascript - 在 Odoo 中使用 NPM 包
- java - Windows 10 服务器 ffmpeg 配置
- python - 使用用户输入字符串反向补充 DNA
- reactjs - 调用reducer函数来改变状态的问题
- java - 如何为 Spring Boot JAVA 实现 OpenID(单点登录)?