{"version":3,"file":"selectorMatches.mjs","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"],"names":["selectorMatches","element","selector","nodeName","classNames","getAttribute","id","azAz","matcher","RegExp","replace","length","splitClassNames","split","i"],"mappings":"AAAO,SAASA,eAAeA,CAC7BC,OAAiC,EACjCC,QAAgB,EAChB;AACA,EAAA,MAAMC,QAAQ,GAAGF,OAAO,CAACE,QAAQ;AACjC,EAAA,MAAMC,UAAU,GAAGH,OAAO,CAACI,YAAY,CAAC,OAAO,CAAC;AAChD,EAAA,MAAMC,EAAE,GAAGL,OAAO,CAACI,YAAY,CAAC,IAAI,CAAC;EACrC,MAAME,IAAI,GAAG,kBAAkB;AAC/B,EAAA,IAAIC,OAAO;AACX;AACA;EACAA,OAAO,GAAG,IAAIC,MAAM,CAAC,GAAG,GAAGN,QAAQ,EAAE,GAAG,CAAC;EACzCD,QAAQ,GAAGA,QAAQ,CAACQ,OAAO,CAACF,OAAO,EAAE,EAAE,CAAC;AACxC,EAAA,IAAIF,EAAE,IAAIJ,QAAQ,CAACS,MAAM,EAAE;IACzBH,OAAO,GAAG,IAAIC,MAAM,CAAC,GAAG,GAAGH,EAAE,GAAGC,IAAI,EAAE,GAAG,CAAC;IAC1CL,QAAQ,GAAGA,QAAQ,CAACQ,OAAO,CAACF,OAAO,EAAE,EAAE,CAAC;AAC1C,EAAA;AACA,EAAA,IAAIJ,UAAU,IAAIF,QAAQ,CAACS,MAAM,EAAE;AACjC,IAAA,MAAMC,eAAe,GAAGR,UAAU,CAACS,KAAK,CAAC,GAAG,CAAC;IAC7C,KAAK,IAAIC,CAAC,GAAGF,eAAe,CAACD,MAAM,EAAEG,CAAC,EAAE,GAAI;AAC1CN,MAAAA,OAAO,GAAG,IAAIC,MAAM,CAAC,KAAK,GAAGG,eAAe,CAACE,CAAC,CAAC,GAAGP,IAAI,EAAE,GAAG,CAAC;MAC5DL,QAAQ,GAAGA,QAAQ,CAACQ,OAAO,CAACF,OAAO,EAAE,EAAE,CAAC;AAC1C,IAAA;AACF,EAAA;AACA,EAAA,OAAON,QAAQ,CAACS,MAAM,KAAK,CAAC;AAC9B;;;;"}