diff --git a/lib/index.js b/lib/index.js index e9fa9ce..a407375 100755 --- a/lib/index.js +++ b/lib/index.js @@ -81,27 +81,27 @@ function generateXML (data){ ifTruePush(item.long, item_values, {'geo:long': item.long}); if( item.enclosure && item.enclosure.url) { + + var enclosure_attributes = { url: item.enclosure.url }; if( item.enclosure.file ) { - item_values.push({ - enclosure : { - _attr : { - url : item.enclosure.url, - length : item.enclosure.size || getSize(item.enclosure.file), - type : mime.lookup(item.enclosure.file) - } - } - }); + enclosure_attributes.length = item.enclosure.size || getSize(item.enclosure.file); + enclosure_attributes.type = mime.lookup(item.enclosure.file); } else { - item_values.push({ - enclosure : { - _attr : { - url : item.enclosure.url, - length : item.enclosure.size || 0, - type : mime.lookup(item.enclosure.url) - } - } + enclosure_attributes.length = item.enclosure.size || 0; + enclosure_attributes.type = mime.lookup(item.enclosure.url); + } + + if (item.enclosure.custom_attributes){ + Object.keys(item.enclosure.custom_attributes).forEach(function(name){ + enclosure_attributes[name] = item.enclosure.custom_attributes[name]; }); } + + item_values.push({ + enclosure: { + _attr: enclosure_attributes + } + }); } ifTruePushArray(item.custom_elements, item_values, item.custom_elements);