Socket
Socket
Sign inDemoInstall

rss-parser

Package Overview
Dependencies
4
Maintainers
1
Versions
67
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.1.2 to 2.2.0

test/input/gulp-atom.atom

46

index.js

@@ -22,2 +22,37 @@ var Entities = require("entities");

var getSnippet = function(str) {
return Entities.decode(stripHtml(str)).trim();
}
var parseAtomFeed = function(xmlObj, callback) {
var feed = xmlObj.feed;
var json = {feed: {entries: []}};
if (feed.link[0] && feed.link[0].$.href) {
json.feed.link = feed.link[0].$.href;
}
if (feed.link[1] && feed.link[1].$.href) {
json.feed.feedUrl = feed.link[1].$.href;
}
if (feed.title[0]) {
json.feed.title = feed.title[0];
}
var entries = feed.entry;
(entries || []).forEach(function (entry) {
var item = {};
item.title = entry.title[0];
item.link = entry.link[0].$.href;
item.pubDate = new Date(entry.updated[0]).toISOString();
item.author = entry.author[0].name[0];
if (entry.content) {
item.content = entry.content[0]._;
item.contentSnippet = getSnippet(item.content)
}
if (entry.id) {
item.id = entry.id[0];
}
json.feed.entries.push(item);
});
callback(null, json);
}
var parseRSS1 = function(xmlObj, callback) {

@@ -46,3 +81,3 @@ callback("RSS 1.0 parsing not yet implemented.")

}
entry.contentSnippet = Entities.decode(stripHtml(entry.content)).trim();
entry.contentSnippet = getSnippet(entry.content);
}

@@ -61,4 +96,9 @@ if (item.guid) {

if (err) throw err;
if (result.rss && result.rss.$.version && result.rss.$.version.indexOf('2') === 0) return parseRSS2(result, callback);
else return parseRSS1(result, callback);
if (result.feed) {
return parseAtomFeed(result, callback)
} else if (result.rss && result.rss.$.version && result.rss.$.version.indexOf('2') === 0) {
return parseRSS2(result, callback);
} else {
return parseRSS1(result, callback);
}
});

@@ -65,0 +105,0 @@ }

2

package.json
{
"name": "rss-parser",
"version": "2.1.2",
"version": "2.2.0",
"main": "index.js",

@@ -5,0 +5,0 @@ "scripts": {

@@ -14,4 +14,4 @@ var FS = require('fs');

describe('Parser', function() {
var testParseForFile = function(name, done) {
Parser.parseFile(IN_DIR + '/' + name + '.rss', function(err, parsed) {
var testParseForFile = function(name, ext, done) {
Parser.parseFile(IN_DIR + '/' + name + '.' + ext, function(err, parsed) {
Expect(err).to.equal(null);

@@ -30,3 +30,3 @@ if (process.env.WRITE_GOLDEN) {

it('should parse Reddit', function(done) {
testParseForFile('reddit', done);
testParseForFile('reddit', 'rss', done);
})

@@ -42,4 +42,8 @@

it('should parse atom', function(done) {
testParseForFile('reddit-atom', done);
testParseForFile('reddit-atom', 'rss', done);
})
it('should parse atom feed', function(done) {
testParseForFile('gulp-atom', 'atom', done);
})
})
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc