microsoft / microsoft/TypeScript

[isolatedDeclarations][5.5] Type annotations needed for literals containing enum values

Offen
#58,394 6 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Awaiting More Feedback Domain: API: ts.transpileDeclaration Domain: flag: isolatedDeclarations Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.4k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

🔍 Search Terms

enum, isolated declarations

✅ Viability Checklist
⭐ Suggestion

Enum values seem trivially inferrable if the enum is defined in the lexical scope, so isolated declarations shouldn't report them as errors.

📃 Motivating Example
export enum Foo {
  A = 1,
  B = 2,
}

export const x = Foo.A as const;
             ~
export const y = [Foo.A] as const;
                  ~~~~~

Playground: https://tsplay.dev/w68Prm

💻 Use Cases

Self-apparent

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem im TypeScript Playground-Beispiel des Issues gezeigten Verhalten von isolatedDeclarations und untersuche die isolated-declaration-Diagnosen und Type-Checking-Einstiegspunkte des Compilers. Bestätige, wie Enum-Werte für exportierte Literale und Tupel-Elemente inferiert werden; als erledigt gilt, wenn die gezeigten Foo.A-Beispiele keine Fehler mehr melden und eine gültige Declaration-Ausgabe erhalten bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
compilers
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.