UNPKG

1.12 kBJavaScriptView Raw
1import { ScopeChecker } from './ScopeChecker';
2import { getSelectors } from './utils';
3function toElArray(input) {
4 return Array.prototype.slice.call(input);
5}
6var ElementFinder = /** @class */ (function () {
7 function ElementFinder(namespace, isolateModule) {
8 this.namespace = namespace;
9 this.isolateModule = isolateModule;
10 }
11 ElementFinder.prototype.call = function () {
12 var namespace = this.namespace;
13 var selector = getSelectors(namespace);
14 var scopeChecker = new ScopeChecker(namespace, this.isolateModule);
15 var topNode = this.isolateModule.getElement(namespace.filter(function (n) { return n.type !== 'selector'; }));
16 if (topNode === undefined) {
17 return [];
18 }
19 if (selector === '') {
20 return [topNode];
21 }
22 return toElArray(topNode.querySelectorAll(selector))
23 .filter(scopeChecker.isDirectlyInScope, scopeChecker)
24 .concat(topNode.matches(selector) ? [topNode] : []);
25 };
26 return ElementFinder;
27}());
28export { ElementFinder };
29//# sourceMappingURL=ElementFinder.js.map
\No newline at end of file