microsoft / microsoft/TypeScript

Enum declarations should consistently disallow computed keys

Abierto
#42,468 6 comentarios 4 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Bug Domain: Error Messages
Lenguaje dominante
Go
Estrellas
111k
Forks
14.3k
Merge medio
1 d 19 h
PR fusionados (30 d)
117

Descripción

Bug Report

🔎 Search Terms
  • Computed property names are not allowed in enums
  • enum declaration computed
🕗 Version & Regression Information
  • This is the behavior in every version I tried, and I reviewed the FAQ for entries about enums
⏯ Playground Link

Playground link with relevant code

💻 Code
let y = "y";
type z = "z";

enum Foo {
    ['x'],
    [{}],
    [y],
    [z]
}
🙁 Actual behavior

TS reports Computed property names are not allowed in enums. for [{}], [y] and [z], while it allows ['x'] (in contraddiction with the error message).

🙂 Expected behavior

All of them should be an error, for the reason reported by the error.

📚 Context

This came up at https://github.com/babel/babel/issues/12683: we can implement the current TS behavior in Babel, but I'd first like to check if TS is expected to report an error for ['x'].

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Reproduce el comportamiento del TypeScript Playground enlazado usando el ejemplo de enum con ['x'], [{}], [y] y [z]. Rastrea el diagnóstico de propiedad calculada de enum de ese ejemplo; se considera terminado cuando las cuatro declaraciones producen de forma consistente el error informado, con cobertura para los casos mostrados.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
typescript
Área
compilers
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.