UNPKG

fabric

Version:

Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.

1 lines 1.53 kB
{"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"}