aboutsummaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/bg/js/database.js52
1 files changed, 25 insertions, 27 deletions
diff --git a/ext/bg/js/database.js b/ext/bg/js/database.js
index e00cb7a3..65fc78fb 100644
--- a/ext/bg/js/database.js
+++ b/ext/bg/js/database.js
@@ -187,20 +187,19 @@ class Database {
callback(total, current);
}
- const rows = [];
- for (const [expression, reading, tags, rules, score, ...glossary] of entries) {
- rows.push({
- expression,
- reading,
- tags,
- rules,
- score,
- glossary,
- dictionary: title
- });
- }
-
- await this.db.terms.bulkAdd(rows);
+ await this.db.transaction('rw', this.db.terms, async function() {
+ for (const [expression, reading, tags, rules, score, ...glossary] of entries) {
+ this.db.terms.add({
+ expression,
+ reading,
+ tags,
+ rules,
+ score,
+ glossary,
+ dictionary: title
+ });
+ }
+ });
};
const kanjiLoaded = async (title, entries, total, current) => {
@@ -208,19 +207,18 @@ class Database {
callback(total, current);
}
- const rows = [];
- for (const [character, onyomi, kunyomi, tags, ...meanings] of entries) {
- rows.push({
- character,
- onyomi,
- kunyomi,
- tags,
- meanings,
- dictionary: title
- });
- }
-
- await this.db.kanji.bulkAdd(rows);
+ await this.db.transaction('rw', this.db.kanji, async function() {
+ for (const [character, onyomi, kunyomi, tags, ...meanings] of entries) {
+ this.db.kanji.add({
+ character,
+ onyomi,
+ kunyomi,
+ tags,
+ meanings,
+ dictionary: title
+ });
+ }
+ });
};
await Database.importDictionaryZip(archive, indexLoaded, termsLoaded, kanjiLoaded);