UNPKG

puppeteer-shadow-selector

Version:
23 lines (22 loc) 764 B
"use strict"; exports.__esModule = true; exports.parse = void 0; function parse(selector) { selector = escapePartSelector(selector); var parsed = selector.match(/(.+?)::shadow-dom\((.+)\)/); if (parsed) { var mainSelector = parsed[1], shadowDOMSelector = parsed[2]; return { mainSelector: mainSelector, shadowDOMSelector: parse(shadowDOMSelector) || shadowDOMSelector }; } return null; } exports.parse = parse; function escapePartSelector(source) { var rexExp = /(.*?)::part\((.+?)\)(.*)/; return source.replace(rexExp, function (_, selector, partName, rest) { return selector + "::shadow-dom([part=\"" + partName + "\"]" + (rest ? escapePartSelector(rest) : "") + ")"; }); }