【发布时间】:2019-01-03 09:38:48
【问题描述】:
我正在寻找构建 LDAP 样式(objectclass)数组接口结构的方法。 我已经尝试了多种不同接口的方法,但粗略的基本想法是这样的......
export enum ObjectClassEnum {
top = 'top',
posixGroup = 'posixGroup',
groupOfNames = 'groupOfNames',
}
export interface ILdapObject {
objectClass: ObjectClassEnum[];
}
export interface ILdapObjectTop extends ILdapObject {
objectClass: ObjectClassEnum.top[];
}
export interface ILdapObjectPosixGroup extends ILdapObject {
objectClass: Array<ObjectClassEnum.top | ObjectClassEnum.posixGroup>;
}
export interface ILdapObjectGroupOfNames extends ILdapObject {
objectClass: Array<ObjectClassEnum.top | ObjectClassEnum.groupOfNames>;
}
还有对象...
const test: ILdapObjectPosixGroup & ILdapObjectGroupOfNames = {
objectClass: [ObjectClassEnum.top, ObjectClassEnum.groupOfNames, ObjectClassEnum.posixGroup],
}
想法是对象现在应该结合两个接口的功能,但失败了,因为两者在接口中不共享相同的实际 objectClasses ...
编辑:我认为这实际上是我在这里面临的问题...... https://github.com/Microsoft/TypeScript/issues/16936
【问题讨论】:
-
能否提供一些预期的使用示例?
标签: typescript interface