microsoft / microsoft/TypeScript
Preserve type aliases on implement interface
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.4k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 117
Beschreibung
From https://github.com/microsoft/vscode/issues/90061
TypeScript Version: 3.8.1-rc
Search Terms:
- quick fix
- implement interface
Repo
export type UrlString = string;
export type UUID = string;
export interface I_IdToUrlMapper {
mapIdToUrl(id: UUID): UrlString
mapUrlToId(url: UrlString): UUID
}
export class IdToUrlMapper implements I_IdToUrlMapper {
}
Run implement interface on IdToUrlMapper
Expected behavior:
Type aliases are preserved
export class IdToUrlMapper implements I_IdToUrlMapper {
mapIdToUrl(id: UUID): UrlString {
throw new Error("Method not implemented.");
}
mapUrlToId(url: UrlString): UUID {
throw new Error("Method not implemented.");
}
}
Actual behavior:
Both methods use string:
export class IdToUrlMapper implements I_IdToUrlMapper {
mapIdToUrl(id: string): string {
throw new Error("Method not implemented.");
}
mapUrlToId(url: string): string {
throw new Error("Method not implemented.");
}
}
Related Issues
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem TypeScript language-service-Quick-Fix „implement interface“ anhand des reproduzierten IdToUrlMapper-Beispiels. Vergleiche die generierten Methodensignaturen mit der erwarteten Ausgabe und überprüfe, dass Typaliase wie UUID und UrlString erhalten bleiben, statt auf string reduziert zu werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 55/100