mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-09-22 05:40:48 +02: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";
|
||||
// @ts-check
|
||||
|
||||
var codeBlockAndSpanRanges = null;
|
||||
module.exports.codeBlockAndSpanRanges = function (value) {
|
||||
if (value) {
|
||||
codeBlockAndSpanRanges = value;
|
||||
var map = new Map();
|
||||
module.exports.set = function (keyValuePairs) {
|
||||
for (var _i = 0, _a = Object.entries(keyValuePairs); _i < _a.length; _i++) {
|
||||
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
|
||||
});
|
||||
var 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));
|
||||
var codeBlockAndSpanRanges = helpers.codeBlockAndSpanRanges(paramsBase, lineMetadata);
|
||||
var flattenedLists = helpers.flattenLists(paramsBase.tokens);
|
||||
var htmlElementRanges = helpers.htmlElementRanges(paramsBase, lineMetadata);
|
||||
var referenceLinkImageData = helpers.getReferenceLinkImageData(paramsBase, lineMetadata);
|
||||
cache.set({
|
||||
codeBlockAndSpanRanges: codeBlockAndSpanRanges,
|
||||
flattenedLists: flattenedLists,
|
||||
htmlElementRanges: htmlElementRanges,
|
||||
lineMetadata: lineMetadata,
|
||||
referenceLinkImageData: referenceLinkImageData
|
||||
});
|
||||
// Function to run for each rule
|
||||
var results = [];
|
||||
// eslint-disable-next-line jsdoc/require-jsdoc
|
||||
|
|
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