mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-12-24 01:40:13 +01:00
Refactor cache.js to simplify use.
This commit is contained in:
parent
c5ca661b96
commit
36c689388f
3 changed files with 59 additions and 100 deletions
58
lib/cache.js
58
lib/cache.js
|
|
@ -2,50 +2,22 @@
|
|||
|
||||
"use strict";
|
||||
|
||||
let codeBlockAndSpanRanges = null;
|
||||
module.exports.codeBlockAndSpanRanges = (value) => {
|
||||
if (value) {
|
||||
codeBlockAndSpanRanges = value;
|
||||
}
|
||||
return codeBlockAndSpanRanges;
|
||||
};
|
||||
const map = new Map();
|
||||
|
||||
let flattenedLists = null;
|
||||
module.exports.flattenedLists = (value) => {
|
||||
if (value) {
|
||||
flattenedLists = value;
|
||||
module.exports.set = (keyValuePairs) => {
|
||||
for (const [ key, value ] of Object.entries(keyValuePairs)) {
|
||||
map.set(key, value);
|
||||
}
|
||||
return flattenedLists;
|
||||
};
|
||||
module.exports.clear = () => map.clear();
|
||||
|
||||
let htmlElementRanges = null;
|
||||
module.exports.htmlElementRanges = (value) => {
|
||||
if (value) {
|
||||
htmlElementRanges = value;
|
||||
}
|
||||
return htmlElementRanges;
|
||||
};
|
||||
|
||||
let lineMetadata = null;
|
||||
module.exports.lineMetadata = (value) => {
|
||||
if (value) {
|
||||
lineMetadata = value;
|
||||
}
|
||||
return lineMetadata;
|
||||
};
|
||||
|
||||
let referenceLinkImageData = null;
|
||||
module.exports.referenceLinkImageData = (value) => {
|
||||
if (value) {
|
||||
referenceLinkImageData = value;
|
||||
}
|
||||
return referenceLinkImageData;
|
||||
};
|
||||
|
||||
module.exports.clear = () => {
|
||||
codeBlockAndSpanRanges = null;
|
||||
flattenedLists = null;
|
||||
htmlElementRanges = null;
|
||||
lineMetadata = null;
|
||||
referenceLinkImageData = null;
|
||||
};
|
||||
module.exports.codeBlockAndSpanRanges =
|
||||
() => map.get("codeBlockAndSpanRanges");
|
||||
module.exports.flattenedLists =
|
||||
() => map.get("flattenedLists");
|
||||
module.exports.htmlElementRanges =
|
||||
() => map.get("htmlElementRanges");
|
||||
module.exports.lineMetadata =
|
||||
() => map.get("lineMetadata");
|
||||
module.exports.referenceLinkImageData =
|
||||
() => map.get("referenceLinkImageData");
|
||||
|
|
|
|||
|
|
@ -498,18 +498,23 @@ function lintContent(
|
|||
lines,
|
||||
frontMatterLines
|
||||
});
|
||||
const lineMetadata = helpers.getLineMetadata(paramsBase);
|
||||
cache.codeBlockAndSpanRanges(
|
||||
helpers.codeBlockAndSpanRanges(paramsBase, lineMetadata)
|
||||
);
|
||||
cache.flattenedLists(helpers.flattenLists(paramsBase.tokens));
|
||||
cache.htmlElementRanges(
|
||||
helpers.htmlElementRanges(paramsBase, lineMetadata)
|
||||
);
|
||||
cache.lineMetadata(lineMetadata);
|
||||
cache.referenceLinkImageData(
|
||||
helpers.getReferenceLinkImageData(paramsBase, lineMetadata)
|
||||
);
|
||||
const lineMetadata =
|
||||
helpers.getLineMetadata(paramsBase);
|
||||
const codeBlockAndSpanRanges =
|
||||
helpers.codeBlockAndSpanRanges(paramsBase, lineMetadata);
|
||||
const flattenedLists =
|
||||
helpers.flattenLists(paramsBase.tokens);
|
||||
const htmlElementRanges =
|
||||
helpers.htmlElementRanges(paramsBase, lineMetadata);
|
||||
const referenceLinkImageData =
|
||||
helpers.getReferenceLinkImageData(paramsBase, lineMetadata);
|
||||
cache.set({
|
||||
codeBlockAndSpanRanges,
|
||||
flattenedLists,
|
||||
htmlElementRanges,
|
||||
lineMetadata,
|
||||
referenceLinkImageData
|
||||
});
|
||||
// Function to run for each rule
|
||||
let results = [];
|
||||
// eslint-disable-next-line jsdoc/require-jsdoc
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue