UNPKG

ng-indexed-db

Version:

An IndexedDB Angular module wrapped in RXJS

58 lines (57 loc) 1.74 kB
import { Observable } from 'rxjs'; import { NgStore } from './types/store.type'; /** * IndexedDB client */ export declare class IndexedDatabase { /** IndexedBD instance */ private database; /** Indicates if databases has been upgraded */ private upgraded; constructor(database: IDBDatabase, upgraded: boolean, stores?: NgStore[]); /** * If table has been upgrades, generates the recived stores * @param tables Tables metadata */ createTables(tables: NgStore[]): void; /** * Generates one single sotre * @param storeName Store name */ createTable(store: NgStore): void; /** * Request a list with all store elements * @param storeName Store name */ list<M = any>(storeName: string): Observable<M[]>; /** * Request a single object found by the given key * @param storeName Store name * @param key Predicate key */ get<M = any>(storeName: string, key: any): Observable<M>; /** * Request to store an element * @param storeName Store name * @param data data to store */ create<M = any>(storeName: string, data: M): Observable<M>; /** * Request to update an element * @param storeName Store name * @param data data to store */ update<M = any>(storeName: string, data: M): Observable<M>; /** * Request to delete an element with the given key * @param storeName Store name * @param key Element key to delete */ delete(storeName: string, key: IDBValidKey): Observable<boolean>; /** * Find the a store table by the given name * @param storeName Store name to find * @param mode Transaction mode */ private store; }