我有以下几种
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版本的Playground,并链接到允许推断字符串的PR
那是因为T
是一个元组/数组,所以它不会扩展模式,您需要测试的是元组的项目:
type ParseMustaches<T extends string[]> =
T[number] extends `{{${infer U}}}`
? Record<U, string>
: never
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句