1234567891011121314151617181920212223242526272829303132333435363738 |
- '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];
- }
- }
- }
- };
|