Tweak filterByPredicate to avoid calling transform when children array is empty.

This commit is contained in:
David Anson 2023-03-10 22:22:54 -08:00
parent 37154a5dff
commit 4ec9b2049b
2 changed files with 9 additions and 4 deletions

View file

@ -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;
}

View file

@ -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;
}