mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-12-16 22:10:13 +01:00
Stop caching forEachLine/flattenLists results on params object.
This commit is contained in:
parent
5adbf30628
commit
bc8776c582
1 changed files with 12 additions and 6 deletions
|
|
@ -106,9 +106,11 @@ function filterTokens(params, type, callback) {
|
|||
}
|
||||
module.exports.filterTokens = filterTokens;
|
||||
|
||||
var lastForEachLineParams = null;
|
||||
var lastForEachLineResult = null;
|
||||
// Calls the provided function for each line (with context)
|
||||
module.exports.forEachLine = function forEachLine(params, callback) {
|
||||
if (!params.forEachLine) {
|
||||
if (params !== lastForEachLineParams) {
|
||||
var lineMetadata = new Array(params.lines.length);
|
||||
var fenceStart = null;
|
||||
var inFence = false;
|
||||
|
|
@ -139,11 +141,12 @@ module.exports.forEachLine = function forEachLine(params, callback) {
|
|||
lineMetadata[i] += 8;
|
||||
}
|
||||
});
|
||||
params.forEachLine = lineMetadata;
|
||||
lastForEachLineParams = params;
|
||||
lastForEachLineResult = lineMetadata;
|
||||
}
|
||||
// Invoke callback
|
||||
params.lines.forEach(function forLine(line, lineIndex) {
|
||||
var metadata = params.forEachLine[lineIndex];
|
||||
var metadata = lastForEachLineResult[lineIndex];
|
||||
callback(
|
||||
line,
|
||||
lineIndex,
|
||||
|
|
@ -179,9 +182,11 @@ module.exports.forEachHeading = function forEachHeading(params, callback) {
|
|||
});
|
||||
};
|
||||
|
||||
var lastFlattenListsParams = null;
|
||||
var lastFlattenListsResult = null;
|
||||
// Returns (nested) lists as a flat array (in order)
|
||||
module.exports.flattenLists = function flattenLists(params) {
|
||||
if (!params.flattenLists) {
|
||||
if (lastFlattenListsParams !== params) {
|
||||
var lists = [];
|
||||
var stack = [];
|
||||
var current = null;
|
||||
|
|
@ -216,9 +221,10 @@ module.exports.flattenLists = function flattenLists(params) {
|
|||
lastWithMap = token;
|
||||
}
|
||||
});
|
||||
params.flattenLists = lists;
|
||||
lastFlattenListsParams = params;
|
||||
lastFlattenListsResult = lists;
|
||||
}
|
||||
return params.flattenLists;
|
||||
return lastFlattenListsResult;
|
||||
};
|
||||
|
||||
// Adds a generic error object via the onError callback
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue