mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-09-22 05:40:48 +02:00
Remove filterTokens helper (now used only by tests).
This commit is contained in:
parent
2b8369ae39
commit
55729cfcf7
5 changed files with 21 additions and 61 deletions
|
@ -307,23 +307,6 @@ module.exports.unorderedListStyleFor = function unorderedListStyleFor(token) {
|
|||
* @returns {void}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Calls the provided function for each matching token.
|
||||
*
|
||||
* @param {Object} params RuleParams instance.
|
||||
* @param {string} type Token type identifier.
|
||||
* @param {TokenCallback} handler Callback function.
|
||||
* @returns {void}
|
||||
*/
|
||||
function filterTokens(params, type, handler) {
|
||||
for (const token of params.parsers.markdownit.tokens) {
|
||||
if (token.type === type) {
|
||||
handler(token);
|
||||
}
|
||||
}
|
||||
}
|
||||
module.exports.filterTokens = filterTokens;
|
||||
|
||||
// Returns (nested) lists as a flat array (in order)
|
||||
module.exports.flattenLists = function flattenLists(tokens) {
|
||||
const flattenedLists = [];
|
||||
|
|
|
@ -295,23 +295,6 @@ module.exports.unorderedListStyleFor = function unorderedListStyleFor(token) {
|
|||
* @returns {void}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Calls the provided function for each matching token.
|
||||
*
|
||||
* @param {Object} params RuleParams instance.
|
||||
* @param {string} type Token type identifier.
|
||||
* @param {TokenCallback} handler Callback function.
|
||||
* @returns {void}
|
||||
*/
|
||||
function filterTokens(params, type, handler) {
|
||||
for (const token of params.parsers.markdownit.tokens) {
|
||||
if (token.type === type) {
|
||||
handler(token);
|
||||
}
|
||||
}
|
||||
}
|
||||
module.exports.filterTokens = filterTokens;
|
||||
|
||||
// Returns (nested) lists as a flat array (in order)
|
||||
module.exports.flattenLists = function flattenLists(tokens) {
|
||||
const flattenedLists = [];
|
||||
|
|
|
@ -2,11 +2,6 @@
|
|||
|
||||
"use strict";
|
||||
|
||||
const { filterTokens } = require("../../helpers");
|
||||
|
||||
/** @typedef {import("../../lib/markdownlint").MarkdownItToken} MarkdownItToken */
|
||||
/** @typedef {(MarkdownItToken) => void} FilterTokensCallback */
|
||||
|
||||
/** @type import("../../lib/markdownlint").Rule */
|
||||
module.exports = {
|
||||
"names": [ "any-blockquote" ],
|
||||
|
@ -18,18 +13,15 @@ module.exports = {
|
|||
"tags": [ "test" ],
|
||||
"parser": "markdownit",
|
||||
"function": (params, onError) => {
|
||||
filterTokens(
|
||||
params,
|
||||
"blockquote_open",
|
||||
/** @type FilterTokensCallback */
|
||||
(blockquote) => {
|
||||
const lines = blockquote.map[1] - blockquote.map[0];
|
||||
onError({
|
||||
"lineNumber": blockquote.lineNumber,
|
||||
"detail": "Blockquote spans " + lines + " line(s).",
|
||||
"context": blockquote.line.substr(0, 7)
|
||||
});
|
||||
}
|
||||
);
|
||||
const blockquotes = params.parsers.markdownit.tokens.
|
||||
filter((token => token.type === "blockquote_open"));
|
||||
for (const blockquote of blockquotes) {
|
||||
const lines = blockquote.map[1] - blockquote.map[0];
|
||||
onError({
|
||||
"lineNumber": blockquote.lineNumber,
|
||||
"detail": "Blockquote spans " + lines + " line(s).",
|
||||
"context": blockquote.line.substr(0, 7)
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
"use strict";
|
||||
|
||||
const js = require("@eslint/js");
|
||||
const { filterTokens } = require("../../helpers");
|
||||
const eslint = require("eslint");
|
||||
const linter = new eslint.Linter();
|
||||
const languageJavaScript = /js|javascript/i;
|
||||
|
@ -15,7 +14,9 @@ module.exports = {
|
|||
"tags": [ "test", "lint", "javascript" ],
|
||||
"parser": "markdownit",
|
||||
"function": (params, onError) => {
|
||||
filterTokens(params, "fence", (fence) => {
|
||||
const fences = params.parsers.markdownit.tokens.
|
||||
filter((token => token.type === "fence"));
|
||||
for (const fence of fences) {
|
||||
if (languageJavaScript.test(fence.info)) {
|
||||
const results = linter.verify(fence.content, js.configs.recommended);
|
||||
for (const result of results) {
|
||||
|
@ -27,9 +28,9 @@ module.exports = {
|
|||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
// Unsupported:
|
||||
// filterTokens("code_block"), language unknown
|
||||
// filterTokens("code_inline"), too brief
|
||||
}
|
||||
// Unsupported by this sample:
|
||||
// "code_block": language unknown
|
||||
// "code_inline": too brief
|
||||
}
|
||||
};
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
"use strict";
|
||||
|
||||
const { filterTokens } = require("../../helpers");
|
||||
const { parse, printParseErrorCode } = require("jsonc-parser");
|
||||
|
||||
/** @type import("../../lib/markdownlint").Rule */
|
||||
|
@ -13,7 +12,9 @@ module.exports = {
|
|||
"parser": "markdownit",
|
||||
"asynchronous": true,
|
||||
"function": (params, onError) => {
|
||||
filterTokens(params, "fence", (fence) => {
|
||||
const fences = params.parsers.markdownit.tokens.
|
||||
filter((token => token.type === "fence"));
|
||||
for (const fence of fences) {
|
||||
if (/jsonc?/i.test(fence.info)) {
|
||||
const errors = [];
|
||||
parse(fence.content, errors);
|
||||
|
@ -28,6 +29,6 @@ module.exports = {
|
|||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue