diff options
Diffstat (limited to 'node_modules/svgo/plugins/removeEmptyContainers.js')
| -rw-r--r-- | node_modules/svgo/plugins/removeEmptyContainers.js | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/node_modules/svgo/plugins/removeEmptyContainers.js b/node_modules/svgo/plugins/removeEmptyContainers.js deleted file mode 100644 index 03907344..00000000 --- a/node_modules/svgo/plugins/removeEmptyContainers.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; - -const { detachNodeFromParent } = require('../lib/xast.js'); -const { elemsGroups } = require('./_collections.js'); - -exports.name = 'removeEmptyContainers'; -exports.description = 'removes empty container elements'; - -/** - * Remove empty containers. - * - * @see https://www.w3.org/TR/SVG11/intro.html#TermContainerElement - * - * @example - * <defs/> - * - * @example - * <g><marker><a/></marker></g> - * - * @author Kir Belevich - * - * @type {import('./plugins-types').Plugin<'removeEmptyContainers'>} - */ -exports.fn = () => { - return { - element: { - exit: (node, parentNode) => { - // remove only empty non-svg containers - if ( - node.name === 'svg' || - !elemsGroups.container.has(node.name) || - node.children.length !== 0 - ) { - return; - } - // empty patterns may contain reusable configuration - if ( - node.name === 'pattern' && - Object.keys(node.attributes).length !== 0 - ) { - return; - } - // The <g> may not have content, but the filter may cause a rectangle - // to be created and filled with pattern. - if (node.name === 'g' && node.attributes.filter != null) { - return; - } - // empty <mask> hides masked element - if (node.name === 'mask' && node.attributes.id != null) { - return; - } - if (parentNode.type === 'element' && parentNode.name === 'switch') { - return; - } - detachNodeFromParent(node, parentNode); - }, - }, - }; -}; |
