animate/webGl/my-threejs-test/node_modules/svgo/plugins/removeNonInheritableGroupAt...

39 lines
906 B
JavaScript
Raw Normal View History

2024-06-24 09:24:00 +00:00
'use strict';
const {
inheritableAttrs,
attrsGroups,
presentationNonInheritableGroupAttrs,
} = require('./_collections');
exports.name = 'removeNonInheritableGroupAttrs';
exports.description =
'removes non-inheritable groups presentational attributes';
/**
* Remove non-inheritable group's "presentation" attributes.
*
* @author Kir Belevich
*
* @type {import('./plugins-types').Plugin<'removeNonInheritableGroupAttrs'>}
*/
exports.fn = () => {
return {
element: {
enter: (node) => {
if (node.name === 'g') {
for (const name of Object.keys(node.attributes)) {
if (
attrsGroups.presentation.has(name) &&
!inheritableAttrs.has(name) &&
!presentationNonInheritableGroupAttrs.has(name)
) {
delete node.attributes[name];
}
}
}
},
},
};
};