import { matches as queryMatches } from './query-type-match';
import Type from './type';
let filter = function( collection ){
let self = this;
if( self.length === 1 && self[0].checks.length === 1 && self[0].checks[0].type === Type.ID ){
return collection.getElementById( self[0].checks[0].value ).collection();
}
let selectorFunction = function( element ){
for( let j = 0; j < self.length; j++ ){
let query = self[ j ];
if( queryMatches( query, element ) ){
return true;
}
}
return false;
};
if( self.text() == null ){
selectorFunction = function(){ return true; };
}
return collection.filter( selectorFunction );
};
let matches = function( ele ){
let self = this;
for( let j = 0; j < self.length; j++ ){
let query = self[ j ];
if( queryMatches( query, ele ) ){
return true;
}
}
return false;
};
export default { matches, filter };