我正在使用此函数将枚举转换为一个对象,该对象具有属性的枚举值和其值的空选项列表:
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);
有没有办法