diff options
Diffstat (limited to 'node_modules/svgo/plugins/removeEditorsNSData.js')
| -rw-r--r-- | node_modules/svgo/plugins/removeEditorsNSData.js | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/node_modules/svgo/plugins/removeEditorsNSData.js b/node_modules/svgo/plugins/removeEditorsNSData.js deleted file mode 100644 index 852681bf..00000000 --- a/node_modules/svgo/plugins/removeEditorsNSData.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict'; - -const { detachNodeFromParent } = require('../lib/xast.js'); -const { editorNamespaces } = require('./_collections.js'); - -exports.name = 'removeEditorsNSData'; -exports.description = 'removes editors namespaces, elements and attributes'; - -/** - * Remove editors namespaces, elements and attributes. - * - * @example - * <svg xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"> - * <sodipodi:namedview/> - * <path sodipodi:nodetypes="cccc"/> - * - * @author Kir Belevich - * - * @type {import('./plugins-types').Plugin<'removeEditorsNSData'>} - */ -exports.fn = (_root, params) => { - let namespaces = [...editorNamespaces]; - if (Array.isArray(params.additionalNamespaces)) { - namespaces = [...editorNamespaces, ...params.additionalNamespaces]; - } - /** - * @type {string[]} - */ - const prefixes = []; - return { - element: { - enter: (node, parentNode) => { - // collect namespace prefixes from svg element - if (node.name === 'svg') { - for (const [name, value] of Object.entries(node.attributes)) { - if (name.startsWith('xmlns:') && namespaces.includes(value)) { - prefixes.push(name.slice('xmlns:'.length)); - // <svg xmlns:sodipodi=""> - delete node.attributes[name]; - } - } - } - // remove editor attributes, for example - // <* sodipodi:*=""> - for (const name of Object.keys(node.attributes)) { - if (name.includes(':')) { - const [prefix] = name.split(':'); - if (prefixes.includes(prefix)) { - delete node.attributes[name]; - } - } - } - // remove editor elements, for example - // <sodipodi:*> - if (node.name.includes(':')) { - const [prefix] = node.name.split(':'); - if (prefixes.includes(prefix)) { - detachNodeFromParent(node, parentNode); - } - } - }, - }, - }; -}; |
