При попытке вернуть количество потомков, содержащих: host, найденный в объекте, функция всегда возвращает undefined
.
const plugin = stylelint.createPlugin(ruleName, isEnabled => {
let childrenFound = 0;
childrenFound = lookForChildren(rule.nodes, childrenFound);
console.log(childrenFound); // Wrong Value: Always undefined
}
let lookForChildren = function(nodes, childFound) {
if(childFound > 1) {
console.log(childFound);
return childFound;
}
nodes.forEach(node => {
if (node.selector != undefined) {
const selector = node.selector.replace(":host-context", "");
if (selector.includes(":host")) {
childFound++;
return lookForChildren(node.nodes, childFound);
} else {
return lookForChildren(node.nodes, childFound);
}
}
});
// This returns the wrong value so i deleted it
return childFound;
};
Но она должна возвращать переменную childFound, которая возвращается только тогда, когдабольше 1.
Эта функция проверяет, содержит ли документ scss селектор с более чем одним селектором :host
, поскольку браузер компилирует его не так, как ожидалось.
Когда childFound
больше, чемодин:
Ожидаемый: return childFound // Childfound is 2 or higher
Фактический: childrenFound
всегда неопределен.