Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static _database: IDBDatabase;
- constructor() {
- this.getDatabase().subscribe(db => IndexedDbService._database = db);
- }
- private getDatabase(): Observable<IDBDatabase> {
- if (!!IndexedDbService._database) return of(IndexedDbService._database);
- return new Observable((observer: Observer<IDBDatabase>) => {
- const request: IDBOpenDBRequest = indexedDB.open(this.DATABASE_NAME, 1);
- request.onsuccess = (event: Event) => {
- observer.next((<IDBOpenDBRequest>event.target).result);
- observer.complete();
- };
- request.onerror = (event: Event) => observer.error((<IDBOpenDBRequest>event.target).error.name);
- request.onupgradeneeded = (event: Event) => {
- observer.next((<IDBOpenDBRequest>event.target).result);
- IndexedDbService._database.createObjectStore(StoreNames.RSI, {keyPath: 'id', autoIncrement: true});
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement