mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-12-16 14:00: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
|
|
@ -1237,48 +1237,24 @@ module.exports = markdownit;
|
||||||
"use strict";
|
"use strict";
|
||||||
// @ts-check
|
// @ts-check
|
||||||
|
|
||||||
var codeBlockAndSpanRanges = null;
|
var map = new Map();
|
||||||
module.exports.codeBlockAndSpanRanges = function (value) {
|
module.exports.set = function (keyValuePairs) {
|
||||||
if (value) {
|
for (var _i = 0, _a = Object.entries(keyValuePairs); _i < _a.length; _i++) {
|
||||||
codeBlockAndSpanRanges = value;
|
var _b = _a[_i], key = _b[0], value = _b[1];
|
||||||
|
map.set(key, value);
|
||||||
}
|
}
|
||||||
return codeBlockAndSpanRanges;
|
|
||||||
};
|
|
||||||
var flattenedLists = null;
|
|
||||||
module.exports.flattenedLists = function (value) {
|
|
||||||
if (value) {
|
|
||||||
flattenedLists = value;
|
|
||||||
}
|
|
||||||
return flattenedLists;
|
|
||||||
};
|
|
||||||
var htmlElementRanges = null;
|
|
||||||
module.exports.htmlElementRanges = function (value) {
|
|
||||||
if (value) {
|
|
||||||
htmlElementRanges = value;
|
|
||||||
}
|
|
||||||
return htmlElementRanges;
|
|
||||||
};
|
|
||||||
var lineMetadata = null;
|
|
||||||
module.exports.lineMetadata = function (value) {
|
|
||||||
if (value) {
|
|
||||||
lineMetadata = value;
|
|
||||||
}
|
|
||||||
return lineMetadata;
|
|
||||||
};
|
|
||||||
var referenceLinkImageData = null;
|
|
||||||
module.exports.referenceLinkImageData = function (value) {
|
|
||||||
if (value) {
|
|
||||||
referenceLinkImageData = value;
|
|
||||||
}
|
|
||||||
return referenceLinkImageData;
|
|
||||||
};
|
|
||||||
module.exports.clear = function () {
|
|
||||||
codeBlockAndSpanRanges = null;
|
|
||||||
flattenedLists = null;
|
|
||||||
htmlElementRanges = null;
|
|
||||||
lineMetadata = null;
|
|
||||||
referenceLinkImageData = null;
|
|
||||||
};
|
};
|
||||||
|
module.exports.clear = function () { return map.clear(); };
|
||||||
|
module.exports.codeBlockAndSpanRanges =
|
||||||
|
function () { return map.get("codeBlockAndSpanRanges"); };
|
||||||
|
module.exports.flattenedLists =
|
||||||
|
function () { return map.get("flattenedLists"); };
|
||||||
|
module.exports.htmlElementRanges =
|
||||||
|
function () { return map.get("htmlElementRanges"); };
|
||||||
|
module.exports.lineMetadata =
|
||||||
|
function () { return map.get("lineMetadata"); };
|
||||||
|
module.exports.referenceLinkImageData =
|
||||||
|
function () { return map.get("referenceLinkImageData"); };
|
||||||
|
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
@ -1776,11 +1752,17 @@ function lintContent(ruleList, name, content, md, config, frontMatter, handleRul
|
||||||
frontMatterLines: frontMatterLines
|
frontMatterLines: frontMatterLines
|
||||||
});
|
});
|
||||||
var lineMetadata = helpers.getLineMetadata(paramsBase);
|
var lineMetadata = helpers.getLineMetadata(paramsBase);
|
||||||
cache.codeBlockAndSpanRanges(helpers.codeBlockAndSpanRanges(paramsBase, lineMetadata));
|
var codeBlockAndSpanRanges = helpers.codeBlockAndSpanRanges(paramsBase, lineMetadata);
|
||||||
cache.flattenedLists(helpers.flattenLists(paramsBase.tokens));
|
var flattenedLists = helpers.flattenLists(paramsBase.tokens);
|
||||||
cache.htmlElementRanges(helpers.htmlElementRanges(paramsBase, lineMetadata));
|
var htmlElementRanges = helpers.htmlElementRanges(paramsBase, lineMetadata);
|
||||||
cache.lineMetadata(lineMetadata);
|
var referenceLinkImageData = helpers.getReferenceLinkImageData(paramsBase, lineMetadata);
|
||||||
cache.referenceLinkImageData(helpers.getReferenceLinkImageData(paramsBase, lineMetadata));
|
cache.set({
|
||||||
|
codeBlockAndSpanRanges: codeBlockAndSpanRanges,
|
||||||
|
flattenedLists: flattenedLists,
|
||||||
|
htmlElementRanges: htmlElementRanges,
|
||||||
|
lineMetadata: lineMetadata,
|
||||||
|
referenceLinkImageData: referenceLinkImageData
|
||||||
|
});
|
||||||
// Function to run for each rule
|
// Function to run for each rule
|
||||||
var results = [];
|
var results = [];
|
||||||
// eslint-disable-next-line jsdoc/require-jsdoc
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
||||||
|
|
|
||||||
58
lib/cache.js
58
lib/cache.js
|
|
@ -2,50 +2,22 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
let codeBlockAndSpanRanges = null;
|
const map = new Map();
|
||||||
module.exports.codeBlockAndSpanRanges = (value) => {
|
|
||||||
if (value) {
|
|
||||||
codeBlockAndSpanRanges = value;
|
|
||||||
}
|
|
||||||
return codeBlockAndSpanRanges;
|
|
||||||
};
|
|
||||||
|
|
||||||
let flattenedLists = null;
|
module.exports.set = (keyValuePairs) => {
|
||||||
module.exports.flattenedLists = (value) => {
|
for (const [ key, value ] of Object.entries(keyValuePairs)) {
|
||||||
if (value) {
|
map.set(key, value);
|
||||||
flattenedLists = value;
|
|
||||||
}
|
}
|
||||||
return flattenedLists;
|
|
||||||
};
|
};
|
||||||
|
module.exports.clear = () => map.clear();
|
||||||
|
|
||||||
let htmlElementRanges = null;
|
module.exports.codeBlockAndSpanRanges =
|
||||||
module.exports.htmlElementRanges = (value) => {
|
() => map.get("codeBlockAndSpanRanges");
|
||||||
if (value) {
|
module.exports.flattenedLists =
|
||||||
htmlElementRanges = value;
|
() => map.get("flattenedLists");
|
||||||
}
|
module.exports.htmlElementRanges =
|
||||||
return htmlElementRanges;
|
() => map.get("htmlElementRanges");
|
||||||
};
|
module.exports.lineMetadata =
|
||||||
|
() => map.get("lineMetadata");
|
||||||
let lineMetadata = null;
|
module.exports.referenceLinkImageData =
|
||||||
module.exports.lineMetadata = (value) => {
|
() => map.get("referenceLinkImageData");
|
||||||
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;
|
|
||||||
};
|
|
||||||
|
|
|
||||||
|
|
@ -498,18 +498,23 @@ function lintContent(
|
||||||
lines,
|
lines,
|
||||||
frontMatterLines
|
frontMatterLines
|
||||||
});
|
});
|
||||||
const lineMetadata = helpers.getLineMetadata(paramsBase);
|
const lineMetadata =
|
||||||
cache.codeBlockAndSpanRanges(
|
helpers.getLineMetadata(paramsBase);
|
||||||
helpers.codeBlockAndSpanRanges(paramsBase, lineMetadata)
|
const codeBlockAndSpanRanges =
|
||||||
);
|
helpers.codeBlockAndSpanRanges(paramsBase, lineMetadata);
|
||||||
cache.flattenedLists(helpers.flattenLists(paramsBase.tokens));
|
const flattenedLists =
|
||||||
cache.htmlElementRanges(
|
helpers.flattenLists(paramsBase.tokens);
|
||||||
helpers.htmlElementRanges(paramsBase, lineMetadata)
|
const htmlElementRanges =
|
||||||
);
|
helpers.htmlElementRanges(paramsBase, lineMetadata);
|
||||||
cache.lineMetadata(lineMetadata);
|
const referenceLinkImageData =
|
||||||
cache.referenceLinkImageData(
|
helpers.getReferenceLinkImageData(paramsBase, lineMetadata);
|
||||||
helpers.getReferenceLinkImageData(paramsBase, lineMetadata)
|
cache.set({
|
||||||
);
|
codeBlockAndSpanRanges,
|
||||||
|
flattenedLists,
|
||||||
|
htmlElementRanges,
|
||||||
|
lineMetadata,
|
||||||
|
referenceLinkImageData
|
||||||
|
});
|
||||||
// Function to run for each rule
|
// Function to run for each rule
|
||||||
let results = [];
|
let results = [];
|
||||||
// eslint-disable-next-line jsdoc/require-jsdoc
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue