如何解决TypeScript从参数枚举值推断函数返回类型
我正在使用此函数将枚举转换为一个对象,该对象具有属性的枚举值和其值的空选项列表:
export const createDictOfEmptyOptionListsFromEnum = (
enum: Record<string | number,string | number>
) => {
type OutputEntry = [number | string,Option[]];
const enumValues = Object.values(enum);
const entries = enumValues.map((val): OutputEntry => [val,[]]);
return Object.fromEntries(entries);
};
这将导致返回类型为{ [k: string] : Option[] }
然后我需要像这样手动缩小返回类型:
type MyEnumOptionDict = { [k in MyEnum]: Option[] };
const dict: MyEnumOptionDict = createEmptyOptionDict(MyEnum);
有没有办法
- 使Typescript自动推断出缩小的返回类型,或者
- 至少制作一个通用类型,该通用类型在提供枚举时将返回缩小的输入类型
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。