diff options
Diffstat (limited to 'node_modules/svgo/plugins/removeAttributesBySelector.js')
| -rw-r--r-- | node_modules/svgo/plugins/removeAttributesBySelector.js | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/node_modules/svgo/plugins/removeAttributesBySelector.js b/node_modules/svgo/plugins/removeAttributesBySelector.js deleted file mode 100644 index 12630c2a..00000000 --- a/node_modules/svgo/plugins/removeAttributesBySelector.js +++ /dev/null @@ -1,97 +0,0 @@ -'use strict'; - -const { querySelectorAll } = require('../lib/xast.js'); - -exports.name = 'removeAttributesBySelector'; -exports.description = - 'removes attributes of elements that match a css selector'; - -/** - * Removes attributes of elements that match a css selector. - * - * @example - * <caption>A selector removing a single attribute</caption> - * plugins: [ - * { - * name: "removeAttributesBySelector", - * params: { - * selector: "[fill='#00ff00']" - * attributes: "fill" - * } - * } - * ] - * - * <rect x="0" y="0" width="100" height="100" fill="#00ff00" stroke="#00ff00"/> - * ↓ - * <rect x="0" y="0" width="100" height="100" stroke="#00ff00"/> - * - * <caption>A selector removing multiple attributes</caption> - * plugins: [ - * { - * name: "removeAttributesBySelector", - * params: { - * selector: "[fill='#00ff00']", - * attributes: [ - * "fill", - * "stroke" - * ] - * } - * } - * ] - * - * <rect x="0" y="0" width="100" height="100" fill="#00ff00" stroke="#00ff00"/> - * ↓ - * <rect x="0" y="0" width="100" height="100"/> - * - * <caption>Multiple selectors removing attributes</caption> - * plugins: [ - * { - * name: "removeAttributesBySelector", - * params: { - * selectors: [ - * { - * selector: "[fill='#00ff00']", - * attributes: "fill" - * }, - * { - * selector: "#remove", - * attributes: [ - * "stroke", - * "id" - * ] - * } - * ] - * } - * } - * ] - * - * <rect x="0" y="0" width="100" height="100" fill="#00ff00" stroke="#00ff00"/> - * ↓ - * <rect x="0" y="0" width="100" height="100"/> - * - * @link https://developer.mozilla.org/docs/Web/CSS/CSS_Selectors|MDN CSS Selectors - * - * @author Bradley Mease - * - * @type {import('./plugins-types').Plugin<'removeAttributesBySelector'>} - */ -exports.fn = (root, params) => { - const selectors = Array.isArray(params.selectors) - ? params.selectors - : [params]; - for (const { selector, attributes } of selectors) { - const nodes = querySelectorAll(root, selector); - for (const node of nodes) { - if (node.type === 'element') { - if (Array.isArray(attributes)) { - for (const name of attributes) { - delete node.attributes[name]; - } - } else { - delete node.attributes[attributes]; - } - } - } - } - return {}; -}; |
