diff options
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/bg/js/database.js | 52 | 
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); |