Refactor cache.js to simplify use.

This commit is contained in:
David Anson 2022-06-02 21:33:31 -07:00
parent c5ca661b96
commit 36c689388f
3 changed files with 59 additions and 100 deletions

View file

@ -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

View file

@ -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");

View file

@ -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