Files
game-cards-poker-design/frontend/node_modules/fabric/src/parser/elementMatchesRule.ts

20 lines
548 B
TypeScript
Raw Normal View History

import { selectorMatches } from './selectorMatches';
import { doesSomeParentMatch } from './doesSomeParentMatch';
/**
* @private
*/
export function elementMatchesRule(
element: HTMLElement | SVGElement,
selectors: string[],
) {
let parentMatching = true;
// start from rightmost selector.
const firstMatching = selectorMatches(element, selectors.pop()!);
if (firstMatching && selectors.length) {
parentMatching = doesSomeParentMatch(element, selectors);
}
return firstMatching && parentMatching && selectors.length === 0;
}