fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
1 lines • 2.25 kB
Source Map (JSON)
{"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;;;;"}