Change helpers.getReferenceLinkImageData().shortcuts from Set to Map using the same schema as .references (fixes #685).

This commit is contained in:
David Anson 2022-12-23 00:41:11 +00:00
parent f000a33481
commit 86a4a7de79
2 changed files with 24 additions and 18 deletions

View file

@ -792,7 +792,7 @@ module.exports.emphasisMarkersInContent = emphasisMarkersInContent;
function getReferenceLinkImageData(lineMetadata) {
// Initialize return values
const references = new Map();
const shortcuts = new Set();
const shortcuts = new Map();
const definitions = new Map();
const duplicateDefinitions = [];
const definitionLineIndices = [];
@ -882,20 +882,23 @@ function getReferenceLinkImageData(lineMetadata) {
}
const referenceIndex = referenceindex +
(topLevel ? -lineOffsets[lineIndex] : contentIndex);
const referenceDatum = [
lineIndex,
referenceIndex,
matchString.length,
matchText.length,
(matchLabel || "").length
];
if (shortcutLink) {
// Track separately due to ambiguity in "text [text] text"
shortcuts.add(label);
const shortcutData = shortcuts.get(label) || [];
shortcutData.push(referenceDatum);
shortcuts.set(label, shortcutData);
}
else {
// Track reference and location
const referenceData = references.get(label) || [];
referenceData.push([
lineIndex,
referenceIndex,
matchString.length,
matchText.length,
matchLabel.length
]);
referenceData.push(referenceDatum);
references.set(label, referenceData);
}
// Check for links embedded in brackets