1
resposta

Duvida sobre tipagem do destinoId

gostaria de entender pq a origemId é tipada como number e o destinoId como boolean

1 resposta

Boa noite

Isso, na verdade, parece ser um erro no código do exemplo.

No trecho abaixo:

origemId: this.obterControle<number>('origem').value.id,
destinoId: this.obterControle<boolean>('destino').value.id,

A origemId está corretamente tipada como number, porque estamos buscando o valor de um objeto (provavelmente um autocomplete ou select) e acessamos o id desse objeto:

this.obterControle<number>('origem').value.id

Já o destinoId está errado ao tipar como boolean, pois também estamos pegando o .value.id. Isso indica que o destino também é um objeto, assim como a origem, e portanto deveria ser tipado como number também.

O correto seria:

destinoId: this.obterControle<number>('destino').value.id,

Ou, se quisermos ser mais precisos (caso origem e destino sejam objetos com mais informações além do id), o ideal seria tipar assim:

this.obterControle<{ id: number; nome: string }>('origem').value.id
this.obterControle<{ id: number; nome: string }>('destino').value.id

Entao deve ter sido um erro de digitação ou cópia no exemplo dado.