'use strict'; exports.name = 'removeNonInheritableGroupAttrs'; exports.type = 'perItem'; exports.active = true; exports.description = 'removes non-inheritable group’s presentational attributes'; const { inheritableAttrs, attrsGroups, presentationNonInheritableGroupAttrs, } = require('./_collections'); /** * Remove non-inheritable group's "presentation" attributes. * * @param {Object} item current iteration item * @return {Boolean} if false, item will be filtered out * * @author Kir Belevich */ exports.fn = function (item) { if (item.type === 'element' && item.name === 'g') { for (const name of Object.keys(item.attributes)) { if ( attrsGroups.presentation.includes(name) === true && inheritableAttrs.includes(name) === false && presentationNonInheritableGroupAttrs.includes(name) === false ) { delete item.attributes[name]; } } } };