Skip to content

Commit 65dae60

Browse files
authored
Don't allow content to get mutated when creating glossary-plain (#2274)
* Disallow unlabeled string results * Don't shift in extractGlossaryStructuredContentRecursive to avoid mutation
1 parent 92e733a commit 65dae60

1 file changed

Lines changed: 2 additions & 4 deletions

File tree

ext/js/templates/anki-template-renderer.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -787,8 +787,8 @@ export class AnkiTemplateRenderer {
787787
_extractGlossaryStructuredContentRecursive(content) {
788788
/** @type {import('structured-content.js').Content[]} */
789789
const extractedContent = [];
790-
while (content.length > 0) {
791-
const structuredContent = content.shift();
790+
for (let i = 0; i < content.length; i++) {
791+
const structuredContent = content[i];
792792
if (Array.isArray(structuredContent)) {
793793
extractedContent.push(...this._extractGlossaryStructuredContentRecursive(structuredContent));
794794
} else if (typeof structuredContent === 'object' && structuredContent) {
@@ -800,8 +800,6 @@ export class AnkiTemplateRenderer {
800800
if (structuredContent.content) {
801801
extractedContent.push(...this._extractGlossaryStructuredContentRecursive([structuredContent.content]));
802802
}
803-
} else if (typeof structuredContent === 'string') {
804-
extractedContent.push(structuredContent);
805803
}
806804
}
807805

0 commit comments

Comments
 (0)