philomena/assets/js/query/boolean.ts

18 lines
487 B
TypeScript
Raw Normal View History

import { AstMatcher } from './types';
export function matchAny(...matchers: AstMatcher[]): AstMatcher {
2024-07-03 22:54:14 +02:00
return (e: HTMLElement) => matchers.some((matcher) => matcher(e));
}
export function matchAll(...matchers: AstMatcher[]): AstMatcher {
2024-07-03 22:54:14 +02:00
return (e: HTMLElement) => matchers.every((matcher) => matcher(e));
}
export function matchNot(matcher: AstMatcher): AstMatcher {
return (e: HTMLElement) => !matcher(e);
}
export function matchNone(): AstMatcher {
return () => false;
}