1.0.12 • Published 1 year ago

crud-indexeddb v1.0.12

Weekly downloads
-
License
(MIT OR Apache-2....
Repository
-
Last release
1 year ago

Crud Indexeddb

Usar indexeddb con operaciones CRUD.

DEMO

Install

npm i crud-indexeddb

Setup

Ejemplo de uso:

import {CrudIndexeddb} from 'crud-indexeddb';

function onError(e) {
    console.log(e);
}

const tablas = {
    persona: {
        //id de la tabla
        id: 'id'
    }
};

/**
 * Version de indexedDb, se cambia con cada cambio de las tablas.
 */
const version = 1;

let db = new CrudIndexeddb();

await db.init('test', version, tablas, onError);

cdn

Uso con unpkg:

import {CrudIndexeddb} from 'https://unpkg.com/crud-indexeddb';

Changelog

version 1.0.12

  • se arreglo problema para compilar version build con proyectos vite

Crear datos (post)

Para agregar datos a una tabla necesitamos hacer un post:

db.post(tabla: string, datos: Object, autoid: booblean): Promise<Object>;

donde:

OpciontipoDescription
tablastringNombre de la tabla
datosObjectDatos que se guardaran
autoidbooleanIndica si se genera el id automaticamente, por defecto es true

Nota: Por defecto el id que se crea es un timestamp(Date.now).

Ejemplo guardar persona con auto id:

db.post('persona',{nombre: 'Juan'}).then(response => {
    console.log('persona guardada', response);
}).catch(error => {
    console.log('ocurrio algo malo');
});

Crear persona con id personalizado

db.post('table1',{nombre: 'Juan', id: 1}, false).then(response => {
    console.log('save something', response);
}).catch(error => {
    console.log('bad something happened');
});

Leer datos

Contamos con dos opciones: get and list.

Get

Regresa un item que concuerda con el id dado.

db.get(tabla: string, id: any): Promise<Object>;

donde: | Opcion | tipo | Description | | -------------- | ------ | -----------------------------------------| | tabla | string | Nombre de la tabla | | id | any | Id que identificara al campo | Ejemplo

db.get('persona', 142563652).then(response => {
    console.log('la persona', response);
}).catch(error => {
    console.log('no existe la persona');
});

List

Regresa la lista de todos los items de la tabla

db.list(tabla: string): Promise<[Object]>;

donde: | Opcion | tipo | Description | | -------------- | ------ | -----------------------------------------| | tabla | string | Nombre de la tabla |

db.list('persona').then(response => {
    console.log('Todas las personas', response);
}).catch(error => {
    console.log('');
});

Actualizar datos

Para actualizar los registro de la tabla usamos

db.put(tabla: string, datos: Object): Promise<Object>;

donde | Opcion | tipo | Description | | -------------- | ------ | ------------------------------------------------------------------------------------| | tabla | string | Nombre de la tabla | | datos | Object | Es un objecto que contiene los datos, debe incluir el id con el que se identifica.|

Nota: Si no existe el id, creara automaticamente el registro.

db.put('persona',{id: 142563652, nombre: 'Juana'}).then(response => {
    console.log('persona actualizada', response);
});

Delete

All items have a id, so when we delete a item use the id of item for delete it.

db.delete(tabla: string, id: any): Promise<Boolean>;

donde: | Opcion | tipo | Description | | -------------- | ------ | -----------------------------------------| | tabla | string | Nombre de la tabla | | id | any | Id que identificara al campo |

db.delete('persona', 142563652).then(response => {
    console.log('delete the item', response);
});
1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.12

1 year ago

1.0.4

1 year ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago