MCPcopy Index your code
hub / github.com/documentcloud/visualsearch / matcherFromGroupMatchers

Function matcherFromGroupMatchers

build-min/dependencies.js:136–146  ·  view source on GitHub ↗
(elementMatchers,setMatchers)

Source from the content-addressed store, hash-verified

134matchers.push(matcher);}}
135return elementMatcher(matchers);}
136function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find["TAG"]("*",outermost),dirrunsUnique=(dirruns+=contextBackup==null?1:Math.random()||0.1),len=elems.length;if(outermost){outermostContext=context!==document&&context;}
137for(;i!==len&&(elem=elems[i])!=null;i++){if(byElement&&elem){j=0;while((matcher=elementMatchers[j++])){if(matcher(elem,context,xml)){results.push(elem);break;}}
138if(outermost){dirruns=dirrunsUnique;}}
139if(bySet){if((elem=!matcher&&elem)){matchedCount--;}
140if(seed){unmatched.push(elem);}}}
141matchedCount+=i;if(bySet&&i!==matchedCount){j=0;while((matcher=setMatchers[j++])){matcher(unmatched,setMatched,context,xml);}
142if(seed){if(matchedCount>0){while(i--){if(!(unmatched[i]||setMatched[i])){setMatched[i]=pop.call(results);}}}
143setMatched=condense(setMatched);}
144push.apply(results,setMatched);if(outermost&&!seed&&setMatched.length>0&&(matchedCount+setMatchers.length)>1){Sizzle.uniqueSort(results);}}
145if(outermost){dirruns=dirrunsUnique;outermostContext=contextBackup;}
146return unmatched;};return bySet?markFunction(superMatcher):superMatcher;}
147compile=Sizzle.compile=function(selector,group){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){if(!group){group=tokenize(selector);}
148i=group.length;while(i--){cached=matcherFromTokens(group[i]);if(cached[expando]){setMatchers.push(cached);}else{elementMatchers.push(cached);}}
149cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers));}

Callers 1

dependencies.jsFile · 0.85

Calls 1

markFunctionFunction · 0.85

Tested by

no test coverage detected