Remove filterTokens helper (now used only by tests).

This commit is contained in:
David Anson 2024-08-18 15:34:26 -07:00
parent 2b8369ae39
commit 55729cfcf7
5 changed files with 21 additions and 61 deletions

View file

@ -307,23 +307,6 @@ module.exports.unorderedListStyleFor = function unorderedListStyleFor(token) {
* @returns {void} * @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) // Returns (nested) lists as a flat array (in order)
module.exports.flattenLists = function flattenLists(tokens) { module.exports.flattenLists = function flattenLists(tokens) {
const flattenedLists = []; const flattenedLists = [];

View file

@ -295,23 +295,6 @@ module.exports.unorderedListStyleFor = function unorderedListStyleFor(token) {
* @returns {void} * @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) // Returns (nested) lists as a flat array (in order)
module.exports.flattenLists = function flattenLists(tokens) { module.exports.flattenLists = function flattenLists(tokens) {
const flattenedLists = []; const flattenedLists = [];

View file

@ -2,11 +2,6 @@
"use strict"; "use strict";
const { filterTokens } = require("../../helpers");
/** @typedef {import("../../lib/markdownlint").MarkdownItToken} MarkdownItToken */
/** @typedef {(MarkdownItToken) => void} FilterTokensCallback */
/** @type import("../../lib/markdownlint").Rule */ /** @type import("../../lib/markdownlint").Rule */
module.exports = { module.exports = {
"names": [ "any-blockquote" ], "names": [ "any-blockquote" ],
@ -18,18 +13,15 @@ module.exports = {
"tags": [ "test" ], "tags": [ "test" ],
"parser": "markdownit", "parser": "markdownit",
"function": (params, onError) => { "function": (params, onError) => {
filterTokens( const blockquotes = params.parsers.markdownit.tokens.
params, filter((token => token.type === "blockquote_open"));
"blockquote_open", for (const blockquote of blockquotes) {
/** @type FilterTokensCallback */ const lines = blockquote.map[1] - blockquote.map[0];
(blockquote) => { onError({
const lines = blockquote.map[1] - blockquote.map[0]; "lineNumber": blockquote.lineNumber,
onError({ "detail": "Blockquote spans " + lines + " line(s).",
"lineNumber": blockquote.lineNumber, "context": blockquote.line.substr(0, 7)
"detail": "Blockquote spans " + lines + " line(s).", });
"context": blockquote.line.substr(0, 7) }
});
}
);
} }
}; };

View file

@ -3,7 +3,6 @@
"use strict"; "use strict";
const js = require("@eslint/js"); const js = require("@eslint/js");
const { filterTokens } = require("../../helpers");
const eslint = require("eslint"); const eslint = require("eslint");
const linter = new eslint.Linter(); const linter = new eslint.Linter();
const languageJavaScript = /js|javascript/i; const languageJavaScript = /js|javascript/i;
@ -15,7 +14,9 @@ module.exports = {
"tags": [ "test", "lint", "javascript" ], "tags": [ "test", "lint", "javascript" ],
"parser": "markdownit", "parser": "markdownit",
"function": (params, onError) => { "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)) { if (languageJavaScript.test(fence.info)) {
const results = linter.verify(fence.content, js.configs.recommended); const results = linter.verify(fence.content, js.configs.recommended);
for (const result of results) { for (const result of results) {
@ -27,9 +28,9 @@ module.exports = {
}); });
} }
} }
}); }
// Unsupported: // Unsupported by this sample:
// filterTokens("code_block"), language unknown // "code_block": language unknown
// filterTokens("code_inline"), too brief // "code_inline": too brief
} }
}; };

View file

@ -2,7 +2,6 @@
"use strict"; "use strict";
const { filterTokens } = require("../../helpers");
const { parse, printParseErrorCode } = require("jsonc-parser"); const { parse, printParseErrorCode } = require("jsonc-parser");
/** @type import("../../lib/markdownlint").Rule */ /** @type import("../../lib/markdownlint").Rule */
@ -13,7 +12,9 @@ module.exports = {
"parser": "markdownit", "parser": "markdownit",
"asynchronous": true, "asynchronous": true,
"function": (params, onError) => { "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)) { if (/jsonc?/i.test(fence.info)) {
const errors = []; const errors = [];
parse(fence.content, errors); parse(fence.content, errors);
@ -28,6 +29,6 @@ module.exports = {
}); });
} }
} }
}); }
} }
}; };