microsoft / microsoft/TypeScript
Error message displays computed name '[attr]' instead of key value
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Go
- Estrelas
- 111k
- Forks
- 14.4k
- Merge médio
- 1d 19h
- PRs com merge (30d)
- 117
Descrição
🔎 Search Terms
computed property, error message
🕗 Version & Regression Information
- This is the behavior in every version I tried, and I reviewed the FAQ for entries about computed properties
⏯ Playground Link
💻 Code
type Unit =
| {
name: string;
stength: number;
}
| {
name: string;
magic: number;
};
const createUnit = (
name: string,
attr: "strength" | "magic",
power: number,
): Unit => {
return attr === "strength"
? { name, [attr]: power } // <-- error here
: { name, [attr]: power };
};
🙁 Actual behavior
Error message displays "Object literal may only specify known properties, and '[attr]' does not exist in type 'Unit'".
🙂 Expected behavior
Error message should display that "strength" doesn't exist on Unit. (and possibly even recommend "stength" instead)
Additional information about the issue
No response
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Reproduza o diagnóstico do exemplo de código TypeScript no Playground vinculado e compare a mensagem real '[attr]' com a redação esperada 'strength'. Rastreie o caminho de relato de erros de propriedades computadas no compilador e adicione cobertura para o exemplo mostrado, incluindo a grafia sugerida 'stength' se houver suporte. O trabalho estará concluído quando o diagnóstico relatar o valor da chave resolvida em vez da expressão de origem.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- typescript
- Domínio
- compilers
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 45/100