implement hyperjson filtering

This commit is contained in:
ansuz 2016-03-29 15:35:40 +02:00
parent e51635c4bb
commit bac0e0ff88

View file

@ -47,7 +47,7 @@ define([], function () {
return x;
};
var DOM2HyperJSON = function(el, predicate){
var DOM2HyperJSON = function(el, predicate, filter){
if(!el.tagName && el.nodeType === Node.TEXT_NODE){
return el.textContent;
}
@ -111,12 +111,16 @@ define([], function () {
i = 0;
for(; i < el.childNodes.length; i++){
children.push(DOM2HyperJSON(el.childNodes[i], predicate));
children.push(DOM2HyperJSON(el.childNodes[i], predicate, filter));
}
result.push(children.filter(isTruthy));
return result;
if (filter) {
return filter(result);
} else {
return result;
}
};
return {