microsoft / microsoft/TypeScript

Preserve union type name within larger union

Offen
#26,106 2 Kommentare 5 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Domain: LS: Type Display In Discussion Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

Beschreibung

TypeScript Version: 3.1.0-dev.20180731

Code

type Value =
    | { kind: "number", n: number }
    | { kind: "string", s: string };
function f(value: Value | undefined): void {}
f(undefined);

Expected behavior:

Quick info on f shows function f(value: Value | undefined): void

Actual behavior:

Quick info shows:

function f(value: {
    kind: "number";
    n: number;
} | {
    kind: "string";
    s: string;
} | undefined): void

Related Issues: #14662

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 damit, das TypeScript 3.1.0-dev.20180731-Beispiel zu reproduzieren, und vergleiche die Quick Info für die direkt verwendete benannte Union mit der innerhalb einer größeren Union. Sieh dir das verwandte Issue #14662 als Kontext an; abgeschlossen ist die Aufgabe, wenn die Quick Info Value | undefined beibehält, anstatt Value in seine Objektmitglieder zu erweitern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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