From 4ec9b2049b758f7fb2b50c0e12ed839d14fe40d8 Mon Sep 17 00:00:00 2001 From: David Anson Date: Fri, 10 Mar 2023 22:22:54 -0800 Subject: [PATCH] Tweak filterByPredicate to avoid calling transform when children array is empty. --- demo/markdownlint-browser.js | 6 ++++-- helpers/micromark.cjs | 7 +++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/demo/markdownlint-browser.js b/demo/markdownlint-browser.js index bbf879eb..2fca4046 100644 --- a/demo/markdownlint-browser.js +++ b/demo/markdownlint-browser.js @@ -1571,8 +1571,10 @@ function filterByPredicate(tokens, allowed, transform) { if (allowed(token)) { result.push(token); } - var transformed = transform ? transform(token.children) : token.children; - pending.unshift.apply(pending, _toConsumableArray(transformed)); + if (token.children.length > 0) { + var transformed = transform ? transform(token.children) : token.children; + pending.unshift.apply(pending, _toConsumableArray(transformed)); + } } return result; } diff --git a/helpers/micromark.cjs b/helpers/micromark.cjs index 97c6919f..a7564d5e 100644 --- a/helpers/micromark.cjs +++ b/helpers/micromark.cjs @@ -116,8 +116,11 @@ function filterByPredicate(tokens, allowed, transform) { if (allowed(token)) { result.push(token); } - const transformed = transform ? transform(token.children) : token.children; - pending.unshift(...transformed); + if (token.children.length > 0) { + const transformed = + transform ? transform(token.children) : token.children; + pending.unshift(...transformed); + } } return result; }