Вход Регистрация
Файл: error-kitty/node_modules/cheerio/node_modules/CSSselect/lib/general.js
Строк: 104
<?php
var DomUtils    = require("domutils"),
    
isTag       DomUtils.isTag,
    
getParent   DomUtils.getParent,
    
getChildren DomUtils.getChildren,
    
getSiblings DomUtils.getSiblings,
    
getName     DomUtils.getName;

/*
    all available rules
*/
module.exports = {
    
__proto__null,

    
attribute: require("./attributes.js").compile,
    
pseudo: require("./pseudos.js").compile,

    
//tags
    
tag: function(nextdata){
        var 
name data.name;
        return function 
tag(elem){
            return 
getName(elem) === name && next(elem);
        };
    },

    
//traversal
    
descendant: function(next){
        return function 
descendant(elem){
            var 
found false;

            while(!
found && (elem getParent(elem))){
                
found next(elem);
            }

            return 
found;
        };
    },
    
parent: function(next){
        return function 
parent(elem){
            return 
getChildren(elem).some(next);
        };
    },
    
child: function(next){
        return function 
child(elem){
            var 
parent getParent(elem);
            return !!
parent && next(parent);
        };
    },
    
sibling: function(next){
        return function 
sibling(elem){
            var 
siblings getSiblings(elem);

            for(var 
0siblings.lengthi++){
                if(
isTag(siblings[i])){
                    if(
siblings[i] === elem) break;
                    if(
next(siblings[i])) return true;
                }
            }

            return 
false;
        };
    },
    
adjacent: function(next){
        return function 
adjacent(elem){
            var 
siblings getSiblings(elem),
                
lastElement;

            for(var 
0siblings.lengthi++){
                if(
isTag(siblings[i])){
                    if(
siblings[i] === elem) break;
                    
lastElement siblings[i];
                }
            }

            return !!
lastElement && next(lastElement);
        };
    },
    
universal: function(next){
        return 
next;
    }
};
?>
Онлайн: 1
Реклама