Skip to content

Commit ffaa0fe

Browse files
author
aybeeseedee
committed
Fix IDBDatabase
1 parent bec6c17 commit ffaa0fe

4 files changed

Lines changed: 150 additions & 112 deletions

File tree

rollup.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export default {
55
input: 'src/index.ts',
66
output: {
77
dir: 'dist',
8-
format: 'es',
8+
format: 'cjs',
99
},
1010
plugins: [typescript()],
1111
};

src/IDBDatabaseHelper.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ interface IDBDatabaseEventTarget extends EventTarget {
22
result?: IDBDatabase | any
33
}
44

5+
let db: IDBDatabase;
6+
57
const getIDBDatabaseHelper = async () => {
68
const openDB = () => (
79
new Promise<IDBDatabase>((resolve, _) => {
@@ -20,7 +22,9 @@ const getIDBDatabaseHelper = async () => {
2022
})
2123
);
2224

23-
const db = await openDB();
25+
if (!db) {
26+
db = await openDB();
27+
}
2428

2529
const getTx = () => db.transaction(['data'], 'readwrite');
2630

@@ -108,9 +112,7 @@ const getIDBDatabaseHelper = async () => {
108112
};
109113
};
110114

111-
const IDBDatabaseHelper = await getIDBDatabaseHelper();
112-
113-
export default IDBDatabaseHelper;
115+
export default getIDBDatabaseHelper;
114116

115117
// class IDBDatabaseHelper {
116118
//

src/KeyContainer.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { GetAppDataUUID, GetDeviceKey, GetSeguroKey, KeyChain, PGPKeys } from './define';
22
import EncryptHelper from './EncryptHelper';
33
import { getUUIDv4 } from './utils';
4-
import IDBDatabaseHelper from './IDBDatabaseHelper';
4+
// eslint-disable-next-line import/no-cycle
5+
import KloakBridge from './KloakBridge';
56

67
class KeyContainer {
78
private encryptHelper: EncryptHelper | null = null
@@ -22,13 +23,17 @@ class KeyContainer {
2223
new Promise<boolean>(async (resolve, reject) => {
2324
try {
2425
const encryptedMessage = await this.encryptHelper?.encryptMessage(JSON.stringify(this.keyChain));
25-
const tx = IDBDatabaseHelper.getTx();
26-
if (tx) {
27-
await IDBDatabaseHelper.save(tx, this.keychainUUID, encryptedMessage);
28-
} else {
29-
reject();
26+
if (KloakBridge.IDBDatabase) {
27+
const tx = KloakBridge.IDBDatabase.getTx();
28+
if (tx) {
29+
await KloakBridge.IDBDatabase.save(tx, this.keychainUUID, encryptedMessage);
30+
} else {
31+
reject();
32+
}
33+
return resolve(true);
3034
}
31-
return resolve(true);
35+
reject();
36+
3237
} catch (err) {
3338
return reject(err);
3439
}

0 commit comments

Comments
 (0)