(cssSelector: CssSelector, callback: ((c: CssSelector, a: T) => void) | null)
| 458 | } |
| 459 | |
| 460 | finalize(cssSelector: CssSelector, callback: ((c: CssSelector, a: T) => void) | null): boolean { |
| 461 | let result = true; |
| 462 | if (this.notSelectors.length > 0 && (!this.listContext || !this.listContext.alreadyMatched)) { |
| 463 | const notMatcher = SelectorMatcher.createNotMatcher(this.notSelectors); |
| 464 | result = !notMatcher.match(cssSelector, null); |
| 465 | } |
| 466 | if (result && callback && (!this.listContext || !this.listContext.alreadyMatched)) { |
| 467 | if (this.listContext) { |
| 468 | this.listContext.alreadyMatched = true; |
| 469 | } |
| 470 | callback(this.selector, this.cbContext); |
| 471 | } |
| 472 | return result; |
| 473 | } |
| 474 | } |
| 475 | |
| 476 | export class SelectorlessMatcher<T = unknown> { |
no test coverage detected