fix(core): update
This commit is contained in:
		
							
								
								
									
										3
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										3
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -1915,8 +1915,7 @@ | |||||||
|     "@pushrocks/smartpromise": { |     "@pushrocks/smartpromise": { | ||||||
|       "version": "3.0.6", |       "version": "3.0.6", | ||||||
|       "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-3.0.6.tgz", |       "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-3.0.6.tgz", | ||||||
|       "integrity": "sha512-vlQlBGNVIjfClgnsfgQBU6GIKcskYSFzEcKLt18ngPzPEcjKklXcxaqzLXpnoxR+KBh30QPE8255ncYHXuPPOg==", |       "integrity": "sha512-vlQlBGNVIjfClgnsfgQBU6GIKcskYSFzEcKLt18ngPzPEcjKklXcxaqzLXpnoxR+KBh30QPE8255ncYHXuPPOg==" | ||||||
|       "dev": true |  | ||||||
|     }, |     }, | ||||||
|     "@pushrocks/smartpuppeteer": { |     "@pushrocks/smartpuppeteer": { | ||||||
|       "version": "1.0.15", |       "version": "1.0.15", | ||||||
|   | |||||||
| @@ -20,6 +20,7 @@ | |||||||
|     "tslint-config-prettier": "^1.15.0" |     "tslint-config-prettier": "^1.15.0" | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|  |     "@pushrocks/smartpromise": "^3.0.6", | ||||||
|     "idb": "^5.0.6" |     "idb": "^5.0.6" | ||||||
|   }, |   }, | ||||||
|   "browserslist": [ |   "browserslist": [ | ||||||
|   | |||||||
| @@ -9,24 +9,33 @@ export class WebStore<T = any> { | |||||||
|   public db: plugins.idb.IDBPDatabase; |   public db: plugins.idb.IDBPDatabase; | ||||||
|   public objectStore: plugins.idb.IDBPObjectStore; |   public objectStore: plugins.idb.IDBPObjectStore; | ||||||
|   public options: IWebStoreOptions; |   public options: IWebStoreOptions; | ||||||
|  |   private initCalled: boolean = false; | ||||||
|  |   private readyDeferred = plugins.smartpromise.defer(); | ||||||
|  |  | ||||||
|   constructor(optionsArg: IWebStoreOptions) { |   constructor(optionsArg: IWebStoreOptions) { | ||||||
|     this.options = optionsArg; |     this.options = optionsArg; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   public async init() { |   public async init() { | ||||||
|  |     if (this.initCalled) { | ||||||
|  |       return this.readyDeferred.promise; | ||||||
|  |     } | ||||||
|  |     this.initCalled = true; | ||||||
|     this.db = await plugins.idb.openDB(this.options.dbName, 1, { |     this.db = await plugins.idb.openDB(this.options.dbName, 1, { | ||||||
|       upgrade: (db) => { |       upgrade: (db) => { | ||||||
|         db.createObjectStore(this.options.storeName); |         db.createObjectStore(this.options.storeName); | ||||||
|       }, |       }, | ||||||
|     }); |     }); | ||||||
|  |     this.readyDeferred.resolve(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   async get(key: string): Promise<T> { |   async get(key: string): Promise<T> { | ||||||
|  |     await this.init(); | ||||||
|     return this.db.get(this.options.storeName, key); |     return this.db.get(this.options.storeName, key); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   async check(keyArg: string): Promise<boolean> { |   async check(keyArg: string): Promise<boolean> { | ||||||
|  |     await this.init(); | ||||||
|     const result = await this.get(keyArg); |     const result = await this.get(keyArg); | ||||||
|     return !!result; |     return !!result; | ||||||
|   } |   } | ||||||
| @@ -36,14 +45,17 @@ export class WebStore<T = any> { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   async delete(key: string) { |   async delete(key: string) { | ||||||
|  |     await this.init(); | ||||||
|     return this.db.delete(this.options.storeName, key); |     return this.db.delete(this.options.storeName, key); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   async clear() { |   async clear() { | ||||||
|  |     await this.init(); | ||||||
|     return this.db.clear(this.options.storeName); |     return this.db.clear(this.options.storeName); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   async keys() { |   async keys() { | ||||||
|  |     await this.init(); | ||||||
|     return this.db.getAllKeys(this.options.storeName); |     return this.db.getAllKeys(this.options.storeName); | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,3 +1,11 @@ | |||||||
|  | // pushrocks scope | ||||||
|  | import * as smartpromise from '@pushrocks/smartpromise'; | ||||||
|  |  | ||||||
|  | export { | ||||||
|  |   smartpromise | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | // thirdparty scope | ||||||
| import * as idb from 'idb'; | import * as idb from 'idb'; | ||||||
|  |  | ||||||
| export { idb }; | export { idb }; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user