Ho una classe con oltre 80 metodi e ogni metodo accetta un oggetto contenente un'interfaccia definita.Creazione di una combinazione di interfacce in Typescript
class Stuff {
/* many more */
getAccount(req: IAccount, callback: ICallback) {
return this._call('getAccount', req, callback);
}
getIds(req: IIDs, callback: ICallback) {
return this._call('getIds', req, callback);
}
/* many more */
}
abbastanza 'noioso' roba, dal momento che è solo la mappatura al metodo underlaying _call
e rendendolo tipo sicuro per ciascuno dei metodi.
volte però questi req
oggetti param sono costituiti da 2 interfacce o più, e invece di creare un'altra interfaccia per ogni volta che c'è un "imbarazzante", in questo modo:
export interface ILoled extends IAccount {
loled: boolean;
}
export interface IRofloled extends ILoled {
rofled: boolean;
}
class Stuff {
getLols(req: ILoled){
}
getRofls(req: IRofloled){
}
}
c'è alcun modo posso mettilo semplicemente come un mixin "in linea" di interfacce all'interno dell'elenco dei parametri del metodo? come (che ovviamente non funzionano):
class Stuff {
getMoreStuff(req: <{} extends IAccount, ITime>) {
}
}
Ho paura che devi dichiarare una super-interfaccia. –