diff --git a/demo/markdownlint-browser.js b/demo/markdownlint-browser.js index 0c668519..b8d4f6ab 100644 --- a/demo/markdownlint-browser.js +++ b/demo/markdownlint-browser.js @@ -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 = []; diff --git a/helpers/helpers.js b/helpers/helpers.js index 0503d253..5a00db37 100644 --- a/helpers/helpers.js +++ b/helpers/helpers.js @@ -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 = []; diff --git a/test/rules/any-blockquote.js b/test/rules/any-blockquote.js index 59372328..7cd27e7a 100644 --- a/test/rules/any-blockquote.js +++ b/test/rules/any-blockquote.js @@ -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) + }); + } } }; diff --git a/test/rules/lint-javascript.js b/test/rules/lint-javascript.js index c2d5380c..807d4cc4 100644 --- a/test/rules/lint-javascript.js +++ b/test/rules/lint-javascript.js @@ -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 } }; diff --git a/test/rules/validate-json.js b/test/rules/validate-json.js index b0feac8b..ab669f7c 100644 --- a/test/rules/validate-json.js +++ b/test/rules/validate-json.js @@ -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 = { }); } } - }); + } } };