{"version":3,"file":"selectorMatches.min.mjs","names":[],"sources":["../../../src/parser/selectorMatches.ts"],"sourcesContent":["export function selectorMatches(\n  element: HTMLElement | SVGElement,\n  selector: string,\n) {\n  const nodeName = element.nodeName;\n  const classNames = element.getAttribute('class');\n  const id = element.getAttribute('id');\n  const azAz = '(?![a-zA-Z\\\\-]+)';\n  let matcher;\n  // i check if a selector matches slicing away part from it.\n  // if i get empty string i should match\n  matcher = new RegExp('^' + nodeName, 'i');\n  selector = selector.replace(matcher, '');\n  if (id && selector.length) {\n    matcher = new RegExp('#' + id + azAz, 'i');\n    selector = selector.replace(matcher, '');\n  }\n  if (classNames && selector.length) {\n    const splitClassNames = classNames.split(' ');\n    for (let i = splitClassNames.length; i--; ) {\n      matcher = new RegExp('\\\\.' + splitClassNames[i] + azAz, 'i');\n      selector = selector.replace(matcher, '');\n    }\n  }\n  return selector.length === 0;\n}\n"],"mappings":"AAAA,SAAgB,EACd,EACA,EAAA,CAEA,IAAM,EAAW,EAAQ,SACnB,EAAa,EAAQ,aAAa,QAAA,CAClC,EAAK,EAAQ,aAAa,KAAA,CAC1B,EAAO,mBACT,EASJ,GANA,EAAc,OAAO,IAAM,EAAU,IAAA,CACrC,EAAW,EAAS,QAAQ,EAAS,GAAA,CACjC,GAAM,EAAS,SACjB,EAAc,OAAO,IAAM,EAAK,EAAM,IAAA,CACtC,EAAW,EAAS,QAAQ,EAAS,GAAA,EAEnC,GAAc,EAAS,OAAQ,CACjC,IAAM,EAAkB,EAAW,MAAM,IAAA,CACzC,IAAK,IAAI,EAAI,EAAgB,OAAQ,KACnC,EAAc,OAAO,MAAQ,EAAgB,GAAK,EAAM,IAAA,CACxD,EAAW,EAAS,QAAQ,EAAS,GAAA,CAGzC,OAAO,EAAS,SAAW,EAAX,OAAA,KAAA"}