idbclass
v1.3.1
Published
Manejo de bases de datos indexadas
Downloads
2
Readme
IDBClass
Interactúa con las bases de datos indexadas a través de una sola clase utilizando Promises.
Uso de la clase
La clase utiliza métodos basados en Promesas.
- Cada función accede a una base de datos y a un ObjectStore.
- Realiza todas las transacciones posibles a través de una función.
- Crea, elimina, actualiza u obtén datos a través de funciones ya establecidas sin necesidad de usar la función
transaction()
.
- Importa el módulo
import idbclass from "idbclass";
- Crea una nueva instancia de la clase
idbclass
donde el primer argumento que recibe es el nombre de la base de datos y el segundo arguemento es el número de versión.
var db = new idbclass("NuevoIDB", 1);
- Para crear una nueva base de datos, ejecuta la función
createIDB()
. Como argumentos que recibe la función se encuentran:- Nombre de base datos
- Nombre ObjectStore
- Versión de base de datos
- iDBOptions: una interfaz que contiene la configuración del ObjectStore, puede no llevarlo. Esta función retorna una promesa del ObjectStore recién creado, por lo que se pueden realizar más acciones con el.
db.createIDB(db.dbName, "ObjStore", db.dbVersion, {
keyPath: "id",
autoIncrement: false
}).then(objStore => {
objStore.createIndex("name", "name", {
unique: false
});
});
- Para crear una transacción sobre un ObjectStore utilizar la función
transaction()
db.transaction(db.Name, "ObjStore", db.dbVersion, {
transactionMode: "readwrite"
}).then(txObjStore => {
txObjStore.put({ id: 1, name: "Prueba" });
txObjStore.add({ id: 2, name: "Prueba 2" });
let get = txObjStore.get(2);
get.onsuccess = get => {
console.log(get.target.result);
};
});
- Utilizar funciones específicas para realizar transacciones rápidas como:
- Obtiene el objeto dado el key 1
db.get(1).then(console.log);
- Elimina un objeto dado el argumento key 1
db.delete(1);
- Para borrar la base de datos usar la función
deleteIDB()