I have this:
export class DESSet<V> extends Set<V extends {id: string}> {
toJSON() {
return {
size: this.size,
values: Array.from(this.values()).map(v => v.id)
}
}
}
this syntax doesn't seem to work. I also tried:
Set<V implements {id: string}>
but that's no bueno either, do I really need to use a class or interface, is there not a way to do it inline?
CodePudding user response:
Whoops that was dumb, just put the extends
on the wrong generic parameter,
this is fine:
export class DESSet<V extends {id:string}> extends Set<V> {
// ...
}
and so is this:
export interface HasId {
id: string
}
export class DESSet<V extends HasId> extends Set<V> {
// ...
}