{"version":3,"file":"selectorMatches.mjs","sources":["../../../src/parser/selectorMatches.ts"],"sourcesContent":["export function selectorMatches(element: HTMLElement, selector: string) {\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,CAACC,OAAoB,EAAEC,QAAgB,EAAE;AACtE,EAAA,MAAMC,QAAQ,GAAGF,OAAO,CAACE,QAAQ,CAAA;AACjC,EAAA,MAAMC,UAAU,GAAGH,OAAO,CAACI,YAAY,CAAC,OAAO,CAAC,CAAA;AAChD,EAAA,MAAMC,EAAE,GAAGL,OAAO,CAACI,YAAY,CAAC,IAAI,CAAC,CAAA;EACrC,MAAME,IAAI,GAAG,kBAAkB,CAAA;AAC/B,EAAA,IAAIC,OAAO,CAAA;AACX;AACA;EACAA,OAAO,GAAG,IAAIC,MAAM,CAAC,GAAG,GAAGN,QAAQ,EAAE,GAAG,CAAC,CAAA;EACzCD,QAAQ,GAAGA,QAAQ,CAACQ,OAAO,CAACF,OAAO,EAAE,EAAE,CAAC,CAAA;AACxC,EAAA,IAAIF,EAAE,IAAIJ,QAAQ,CAACS,MAAM,EAAE;IACzBH,OAAO,GAAG,IAAIC,MAAM,CAAC,GAAG,GAAGH,EAAE,GAAGC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC1CL,QAAQ,GAAGA,QAAQ,CAACQ,OAAO,CAACF,OAAO,EAAE,EAAE,CAAC,CAAA;AAC1C,GAAA;AACA,EAAA,IAAIJ,UAAU,IAAIF,QAAQ,CAACS,MAAM,EAAE;AACjC,IAAA,MAAMC,eAAe,GAAGR,UAAU,CAACS,KAAK,CAAC,GAAG,CAAC,CAAA;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,CAAA;MAC5DL,QAAQ,GAAGA,QAAQ,CAACQ,OAAO,CAACF,OAAO,EAAE,EAAE,CAAC,CAAA;AAC1C,KAAA;AACF,GAAA;AACA,EAAA,OAAON,QAAQ,CAACS,MAAM,KAAK,CAAC,CAAA;AAC9B;;;;"}