aboutsummaryrefslogtreecommitdiff
path: root/ext/js/data/anki-note-builder.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/js/data/anki-note-builder.js')
-rw-r--r--ext/js/data/anki-note-builder.js17
1 files changed, 8 insertions, 9 deletions
diff --git a/ext/js/data/anki-note-builder.js b/ext/js/data/anki-note-builder.js
index c36ad889..4427c276 100644
--- a/ext/js/data/anki-note-builder.js
+++ b/ext/js/data/anki-note-builder.js
@@ -42,8 +42,7 @@ class AnkiNoteBuilder {
duplicateScope='collection',
resultOutputMode='split',
glossaryLayoutMode='default',
- compactTags=false,
- errors=null
+ compactTags=false
}) {
let duplicateScopeDeckName = null;
let duplicateScopeCheckChildren = false;
@@ -53,6 +52,7 @@ class AnkiNoteBuilder {
duplicateScopeCheckChildren = true;
}
+ const errors = [];
const commonData = this._createData(dictionaryEntry, mode, context, resultOutputMode, glossaryLayoutMode, compactTags, injectedMedia);
const formattedFieldValuePromises = [];
for (const [, fieldValue] of fields) {
@@ -68,7 +68,7 @@ class AnkiNoteBuilder {
noteFields[fieldName] = formattedFieldValue;
}
- return {
+ const note = {
fields: noteFields,
tags,
deckName,
@@ -82,6 +82,7 @@ class AnkiNoteBuilder {
}
}
};
+ return {note, errors};
}
async getRenderingData({
@@ -112,17 +113,15 @@ class AnkiNoteBuilder {
};
}
- async _formatField(field, commonData, template, errors=null) {
+ async _formatField(field, commonData, template, errors) {
return await this._stringReplaceAsync(field, this._markerPattern, async (g0, marker) => {
try {
const {result} = await this._renderTemplateBatched(template, commonData, marker);
return result;
} catch (e) {
- if (Array.isArray(errors)) {
- const error = new Error(`Template render error for {${marker}}`);
- error.data = {error: e};
- errors.push(error);
- }
+ const error = new Error(`Template render error for {${marker}}`);
+ error.data = {error: e};
+ errors.push(error);
return `{${marker}-render-error}`;
}
});