microsoft / microsoft/TypeScript
Provide a way to alias namespaces
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 2 T. 4 Std.
- Gemergte PRs (30 T.)
- 132
Beschreibung
TypeScript should have a way to embed (type) namespaces. In the following case, assigned (embeded) namespace NS.A should have a C type.
TypeScript Version: master
Code
namespace NS_A {
export class C {
}
}
namespace NS {
export var A = NS_A;
export type A = NS_A;
}
var C = NS.A.C;
type C = NS.A.C;
Expected behavior:
$ node built/local/tsc.js --lib es6 -m commonjs --noEmit index.ts
Actual behavior:
$ node built/local/tsc.js --lib es6 -m commonjs --noEmit index.ts
index.ts(7,19): error TS2304: Cannot find name 'NS_A'.
index.ts(10,13): error TS2305: Module 'NS' has no exported member 'A'.
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 Reproducer in index.ts und führe den im Issue genannten Befehl built/local/tsc.js aus, um die Namespace- und Typfehler zu bestätigen. Verfolge, wie der Compiler Namespace-Aliase und exportierte Typen verarbeitet, und definiere dann das erwartete Verhalten sowohl für den Wertausdruck als auch für die Typreferenz. Erledigt ist die Aufgabe, wenn das Beispiel ohne die gemeldeten Fehler kompiliert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100