microsoft / microsoft/TypeScript

Broken IndexedDB event typings in 3.1.5

Offen
#28,293 4 Kommentare 33 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bug Domain: lib.d.ts
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

Beschreibung

TypeScript Version: 3.1.5

Search Terms:
indexedDB

Code

let dbreq = indexedDB.open('test', 1);

dbreq.onsuccess = function (evt) {
    let database = evt.target.result;
}

Expected behavior:
evt.target.result should be an IDBDatabase

Actual behavior:
TS2339: Property 'result' does not exist on type 'EventTarget'.

Playground Link:
http://www.typescriptlang.org/play/index.html#src=let%20dbreq%20%3D%20indexedDB.open('test'%2C%201)%3B%0D%0A%0D%0Adbreq.onsuccess%20%3D%20function%20(evt)%20%7B%0D%0A%20%20%20%20let%20database%20%3D%20evt.target.result%3B%0D%0A%7D

Related Issues:
This is caused by the updates resulting from https://github.com/Microsoft/TypeScript/issues/25547

It works if you add a cast:

let dbreq = indexedDB.open('test', 1);

dbreq.onsuccess = function (evt) {
    let database = (evt.target as IDBOpenDBRequest).result;
}

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 den TypeScript 3.1.5 DOM-Typdefinitionen, die an den IndexedDB-Ereignis-Callbacks beteiligt sind, und reproduziere den Fehler mithilfe des Playground-Links. Lies das zugehörige Issue #25547, um die vorausgegangenen Änderungen zu verstehen, und überprüfe anschließend, dass das Beispiel evt.target.result ohne einen cast als IDBDatabase erkennt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 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.