Socket
Socket
Sign inDemoInstall

rss-combiner

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rss-combiner - npm Package Compare versions

Comparing version 0.0.3 to 0.0.4

.travis.yml

64

lib/index.js
'use strict';
const _ = require('lodash');
const Q = require('q');
const FeedParser = require('feedparser');
const request = require('request');
const RSS = require('rss');
var _ = require('lodash');
var Q = require('q');
var FeedParser = require('feedparser');
var request = require('request');
var RSS = require('rss');
function getEntries(url) {
const deferred = Q.defer();
const fp = new FeedParser();
const req = request(url);
var deferred = Q.defer();
var fp = new FeedParser();
var req = request(url);

@@ -21,9 +21,9 @@ req.setMaxListeners(50);

req.on('error', (err) => {
req.on('error', function (err) {
console.error(err);
deferred.reject(err);
});
req.on('response', (res) => {
req.on('response', function (res) {
if (res.statusCode !== 200) {
const err = new Error('Bad response %d', res.statusCode);
var err = new Error('Bad response %d', res.statusCode);
console.error(err);

@@ -35,10 +35,10 @@ deferred.reject(err);

fp.on('error', (err) => {
fp.on('error', function (err) {
console.error(err);
deferred.reject(err);
});
const items = [];
fp.on('readable', () => {
const stream = fp;
let item;
var items = [];
fp.on('readable', function () {
var stream = fp;
var item;

@@ -49,3 +49,3 @@ while ((item = stream.read())) {

});
fp.on('end', () => {
fp.on('end', function () {
deferred.resolve(items);

@@ -58,4 +58,4 @@ });

function sortEntries(entry) {
const date = new Date(entry.pubdate);
const time = date.getTime();
var date = new Date(entry.pubdate);
var time = date.getTime();
return time * -1;

@@ -65,4 +65,4 @@ }

function createFeed(feedConfig, entries) {
const newFeed = new RSS(feedConfig);
for (let i = 0; i < entries.length; i++) {
var newFeed = new RSS(feedConfig);
for (var i = 0; i < entries.length; i++) {
newFeed.item(entries[i]);

@@ -74,7 +74,7 @@ }

function combine(feedConfig, callback) {
let deferred = {};
let err = null;
var deferred = {};
var err = null;
if (callback) {
deferred.resolve = feed => callback(null, feed);
deferred.reject = err => callback(err, null);
deferred.resolve = function (feed) { callback(null, feed); }
deferred.reject = function (err) { callback(err, null); }
} else {

@@ -89,4 +89,5 @@ deferred = Q.defer();

if (err == null) {
let strippedConfig = {};
for (let k in feedConfig) {
// Strip properties 'feeds' and 'size' from config to be passed to `rss` module
var strippedConfig = {};
for (var k in feedConfig) {
if (k !== 'feeds' && k !== 'size') strippedConfig[k] = feedConfig[k];

@@ -98,6 +99,7 @@ }

.then(_.flatten)
.then(entries => _.sortBy(entries, sortEntries))
.then(entries => _.take(entries, feedConfig.size))
.then(entries => createFeed(strippedConfig, entries))
.then(createdFeed => deferred.resolve(createdFeed));
.then(function (entries) { return _.sortBy(entries, sortEntries) })
.then(function (entries) { return _.take(entries, feedConfig.size) })
.then(function (entries) { return createFeed(strippedConfig, entries) })
.then(function (createdFeed) { deferred.resolve(createdFeed) });
} else {

@@ -104,0 +106,0 @@ deferred.reject(err);

{
"name": "rss-combiner",
"version": "0.0.3",
"version": "0.0.4",
"description": "Combine multiple RSS feed sources into one",

@@ -17,3 +17,3 @@ "keywords": [

"scripts": {
"test": "mocha"
"test": "mocha -u tdd --reporter spec"
},

@@ -32,2 +32,3 @@ "homepage": "http://github.com/awocallaghan/node-rss-combiner",

"feedparser": "^1.1.4",
"lodash": "^4.13.1",
"q": "^1.4.1",

@@ -34,0 +35,0 @@ "request": "^2.72.0",

@@ -1,2 +0,2 @@

rss-combiner
rss-combiner [![Build Status](https://travis-ci.org/awocallaghan/node-rss-combiner.svg?branch=master)](https://travis-ci.org/awocallaghan/node-rss-combiner)
======

@@ -3,0 +3,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc