0dias seguidos0XP

Utility types: Partial, Pick, Omit, Record

Intermediário+20 XP

A interface Produto já existe. Crie os tipos derivados (sem repetir campos!):

  • NovoProduto = Produto sem id e criadoEm (Omit)
  • AtualizacaoProduto = todos os campos de NovoProduto opcionais (Partial)
  • ResumoProduto = só id e nome (Pick)

E implemente:

  • criar(dados: NovoProduto, id: number): Produto (use new Date(0) como criadoEm)
  • atualizar(p: Produto, mudancas: AtualizacaoProduto): Produto
  • estoquePorCategoria(ps: Produto[]): Record<string, number>
Como resolver
  1. Escreva sua solução no editor.
  2. Executar mostra a saída no terminal, para você experimentar.
  3. Testar confere a solução. Passou em tudo? Exercício concluído!
index.ts · carregando TypeScript…
Carregando editor…
digite "ajuda" para ver os comandos
dev@devjr:~/ts-utility-types$