UNPKG

jeep-sqlite

Version:
122 lines (121 loc) 4.15 kB
export class UtilsStore { static async getDBFromStore(dbName, store) { try { const retDb = await store.getItem(dbName); return Promise.resolve(retDb); } catch (err) { return Promise.reject(`GetDBFromStore: ${err.message}`); } } static async setInitialDBToStore(dbName, store) { try { // export the database const data = null; // store the database await store.setItem(dbName, data); return Promise.resolve(); } catch (err) { return Promise.reject(`SetInitialDBToStore: ${err.message}`); } } static async setDBToStore(mDb, dbName, store) { try { // export the database const data = mDb.export(); // store the database await UtilsStore.saveDBToStore(dbName, data, store); return Promise.resolve(); } catch (err) { return Promise.reject(`SetDBToStore: ${err.message}`); } } static async saveDBToStore(dbName, data, store) { try { await store.removeItem(dbName); // store the database await store.setItem(dbName, data); return Promise.resolve(); } catch (err) { return Promise.reject(`SaveDBToStore: ${err.message}`); } } static async removeDBFromStore(dbName, store) { try { await store.removeItem(dbName); return Promise.resolve(); } catch (err) { return Promise.reject(`RemoveDBFromStore: ${err.message}`); } } static async isDBInStore(dbName, store) { try { const retDb = await store.getItem(dbName); if (retDb != null && retDb.length > 0) { return Promise.resolve(true); } else { return Promise.resolve(false); } } catch (err) { return Promise.reject(`IsDBInStore: ${err}`); } } static async restoreDBFromStore(dbName, prefix, store) { const mFileName = `${prefix}-${dbName}`; try { // check if file exists const isFilePre = await UtilsStore.isDBInStore(mFileName, store); if (isFilePre) { const isFile = await UtilsStore.isDBInStore(dbName, store); if (isFile) { const retDb = await UtilsStore.getDBFromStore(mFileName, store); await UtilsStore.saveDBToStore(dbName, retDb, store); await UtilsStore.removeDBFromStore(mFileName, store); return Promise.resolve(); } else { return Promise.reject(new Error(`RestoreDBFromStore: ${dbName} does not exist`)); } } else { return Promise.reject(new Error(`RestoreDBFromStore: ${mFileName} does not exist`)); } } catch (err) { return Promise.reject(`RestoreDBFromStore: ${err.message}`); } } static async copyDBToStore(dbName, toDb, store) { try { // check if file exists const isFile = await UtilsStore.isDBInStore(dbName, store); if (isFile) { const retDb = await UtilsStore.getDBFromStore(dbName, store); await UtilsStore.saveDBToStore(toDb, retDb, store); return Promise.resolve(); } else { return Promise.reject(new Error(`CopyDBToStore: ${dbName} does not exist`)); } } catch (err) { return Promise.reject(`CopyDBToStore: ${err.message}`); } } static async getDBListFromStore(store) { try { const retDbList = await store.keys(); return Promise.resolve(retDbList); } catch (err) { return Promise.reject(`GetDBListFromStore: ${err.message}`); } } } //# sourceMappingURL=utils-store.js.map