我有 TS 对象,例如:
const myObject = {
AdminInviteStudent: ['inviterGivenName', 'inviterFamilyName', 'link'],
DeleteMappingStudent: ['teacherGivenNameAndInitialOfFamilyName', 'studentGivenName', 'noteLink']
};
用于导出基于该对象的类型的 TS 函数是什么?
我想将该对象作为参数传递,如下所示:
export type EmailTemplateParameters = getType(myObject);
所有数组值都应设置为所需的字符串。
在这种情况下,EmailTemplateParameters 结果应为:
{
AdminInviteStudent: {
inviterGivenName: string;
inviterFamilyName: string;
link: string;
};
DeleteMappingStudent: {
teacherGivenNameAndInitialOfFamilyName: string;
studentGivenName: string;
noteLink: string;
};
}
或者也许有更好的方法来增强我原来问题的答案:如何将 TypeScript 类型导出为对象以公开哪些键可用
第一步是使用 进行注释,
myObject
以便as const
将字符串值“保留”为文字类型。然后,如果我们有一个类型来映射一个对象和数组来创建一个新类型:
typeof
我们可以将 ( )的类型传递myObject
给它并得到正确的结果:操场
解决上一个问题,您应该从对象派生类型,而不是从类型派生对象(这是不可能的):