Duvida sobre Interfaces TypeScript

Olá a Todos!

Eu estou estudando Interfaces no TypeScript, mas eu tenho uma dúvida.

Eu defini duas interfaces cadastro e carrrinho que extende de cadastro, então eu defini uma função chamada minhasCompras e o parametro recebido é do tipo carrinho, até aqui tudo bem.

O problema é que eu estou passando um objeto que possui o valor cor que não foi definido em nenhuma das interfaces, eu quero que o TypeScript acuse algum erro, aproveitando os tipos declarados na interface, referente ao valor não ter sido declarado nas variáveis, sem precisar usar typeof e um IF ELSE.

Alguma idéia ?

// Interface
interface cadastro {
    id : number,
    nome : string,
    sobrenome : string,
    idade : number,
    programador : boolean
}

// Extensão - Interface
interface carrinho extends cadastro {
    produto : string,
    quantidade : number,
    valor : number
}

// Compras do Cliente
const minhasCompras = (dados : carrinho) => {
    return { dados };
}

const database = {
    id : 0,
    nome : 'John',
    sobrenome : 'Teste',
    idade : 10,
    programador : true,
    produto : 'smartphone',
    quantidade : 1,
    valor : 1000,
    cor : 'preto'
}

const a = minhasCompras( database );

console.log( a );

Obrigado

Olá @gillis , como vai? você precisa definir que seu objeto database será do tipo tipo carrinho, dessa forma ira acusar erro ja na construção do objeto, ficara assim:

const database: carrinho = {
    id : 0,
    nome : 'John',
    sobrenome : 'Teste',
    idade : 10,
    programador : true,
    produto : 'smartphone',
    quantidade : 1,
    valor : 1000,
    cor : 'preto'
}

image