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.
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 singleitem
withinchannel
. In this edge case, the content ofchannel.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.