summaryrefslogtreecommitdiff
path: root/node_modules/svgo/plugins/removeEditorsNSData.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/svgo/plugins/removeEditorsNSData.js')
-rw-r--r--node_modules/svgo/plugins/removeEditorsNSData.js64
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);
- }
- }
- },
- },
- };
-};