nasa8x / rss-to-json

RSS and Atom feed generator for Node.js
https://morioh.com/@5df445b0103f3007600e1a57
178 stars 75 forks source link

Add support for single item feeds #23

Closed pedromaltez closed 4 years ago

pedromaltez commented 4 years ago

Currently this library does not include any items in the items array if the originating RSS feed only has 1 item.

This is due to an inconsistency in the output of xml2json so I guess it could be argued this needs fixing upstream, but the fact remains that the code here relies on channel.item being an Array of Objects, which it is not when the source XML only contains a single item within channel. In this edge case, the content of channel.item is a literal Object by itself.

This leads the if statement on line 85 to fail as objects don't have a length property, and so the entire block is skipped over. Even if the if statement passed, everything within the block still relies on items being an Array.

I think my proposed changes should fix the issue.

Please let me know if you need something from me to be able accept this PR.