microsoft / microsoft/TypeScript
Typescript can't infer types when using Proxy
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Go
- Sterne
- 111k
- Forks
- 14.3k
- Ø Merge
- 1 T. 19 Std.
- Gemergte PRs (30 T.)
- 117
Beschreibung
Code
let obj = {
prop1: function () { },
prop2: 'hello',
}
let prox = new Proxy(obj, {
get: function (target, name) {
return 5;
}
});
prox.prop1.
Expected behavior:
I would expect that when I type prox.prop1., I would get typescript suggestions for Number.prototype, but instead, I get suggestions for Function.prototype. prox.prop1 will (according to typescript) still be callable as a function, but in runtime, it will clearly be a number and will throw an exception.
Statically evaluate the proxy traps and determine the type of thing being returned to offer proper typescript intellisense.
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
Das Issue liefert keine Repository-Datei oder keinen Test-Einstiegspunkt. Reproduziere das bereitgestellte Proxy-Beispiel in einem TypeScript-Editor, vergleiche die Vervollständigung für prox.prop1. mit dem Laufzeitergebnis und betrachte korrekte Number.prototype-Vorschläge statt Function.prototype-Vorschlägen als erledigt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript, typescript
- Bereich
- compilers
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 30/100