Consegui resolver o problema!
Para quem também esta usando o Typescript parece que tem um problema com o event.target.result. A alternativa para conseguir o result seria pegando direto da conexão com o IndexedDB.
Então do código do professor abaixo:
return new Promise((resolve, reject) => {
let openRequest = window.indexedDB.open('aluraframe',4);
openRequest.onupgradeneeded = e => {
stores.forEach(store => {
if(e.target.result.objectStoreNames.contains(store)) e.target.result.deleteObjectStore(store);
e.target.result.createObjectStore(store, { autoIncrement: true });
});
};
});
Ficaria assim em Typescript:
return new Promise((resolve, reject) => {
let openRequest = window.indexedDB.open('aluraframe',4);
openRequest.onupgradeneeded = e => {
stores.forEach(store => {
if(openRequest.result.objectStoreNames.contains(store)) openRequest.result.deleteObjectStore(store);
openRequest.result.createObjectStore(store, { autoIncrement: true });
});
};
});
Trocando o e.target.result por openRequest.result.