No console aparece:
ReferenceError: assignment to undeclared variable ConnectionFactory (ConnectionFactory.js) ReferenceError: ConnectionFactory is not defined (NegociacaoService.js)
O código abaixo é o que foi gerado pelo transpiler:
ConnectionFactory = (function () {
const stores = ["negociacoes"];
const version = 5;
const dbName = "aluraframe";
var connection = null;
var close = null;
return class ConnectionFactory {
constructor() {
throw Error("Essa classe não pode ser instanciada")
}
static closeConnection(){
close();
connection = null;
}
static getConnection() {
return new Promise((resolve, reject) => {
let openRequest = window.indexedDB.open(dbName, version);
openRequest.onupgradeneeded = e => {
let myConnection = e.target.result;
ConnectionFactory._createStores(myConnection);
}
openRequest.onsuccess = e => {
if (!connection) {
connection = e.target.result;
close = connection.close.bind(connection); // faz o binding para associar com a conexão
connection.close = () => { throw new Error("A conexão não pode ser fechada diretamente") }
}
resolve(connection);
}
openRequest.onerror = e => {
console.log(e.target.error);
reject(e.target.error.name);
}
})
}
static _createStores(connection) {
stores.forEach(store => {
if (connection.objectStoreNames.contains(store)) {
connection.deleteObjectStore(store);
console.log(`A store ${store} já existia e foi deletada.`);
}
connection.createObjectStore(store, { autoIncrement: true });
});
}
}
})();