'use strict'; exports.type = 'perItem'; exports.active = true; exports.description = 'removes empty elements'; exports.params = { text: true, tspan: true, tref: true }; /** * Remove empty Text elements. * * @see http://www.w3.org/TR/SVG/text.html * * @example * Remove empty text element: * * * Remove empty tspan element: * * * Remove tref with empty xlink:href attribute: * * * @param {Object} item current iteration item * @param {Object} params plugin params * @return {Boolean} if false, item will be filtered out * * @author Kir Belevich */ exports.fn = function(item, params) { // Remove empty text element if ( params.text && item.isElem('text') && item.isEmpty() ) return false; // Remove empty tspan element if ( params.tspan && item.isElem('tspan') && item.isEmpty() ) return false; // Remove tref with empty xlink:href attribute if ( params.tref && item.isElem('tref') && !item.hasAttr('xlink:href') ) return false; };