TypeScript - extrair apenas membros da interface - possível?
Existe uma maneira de extrair dinamicamente membros de um objeto pertencente a uma interface (ou seja, não especificá-los novamente explicitamente), assim:
let subset = { ...someObject as ISpecific };
Atualmente, recebo todos os membros que someObject tem. Portanto, o operador de propagação não funciona aqui. Ainda existem maneiras de fazer isso?
Exemplo:
interface ISpecific { A: string; B: string; }
class Extended implements ISpecific { public A: string = '1'; public B: string = '2'; public C: string = '3'; }
let someObject = new Extended();
let subset = { ...someObject as ISpecific };
console.log(subset); // -> { A, B, C } but want { A, B }
As conversões TypeScript são meramente dicas para o compilador, não conversões reais em tempo de execução.