filipedeschamps / rss-feed-emitter

Super RSS News Feed aggregator written in Node.js and ES6
MIT License
1.06k stars 77 forks source link

Specify the event name which Event emitter calls when adding a feed #163

Closed re-fort closed 4 years ago

re-fort commented 6 years ago

Thanks for the handy library!

This is a feature request. When adding multiple feeds...

feeder.add({
    url: url1,
    refresh: 6000,
})

feeder.add({
    url: url2,
    refresh: 6000,
})

feeder.on('new-item', function(item) {
    if (item.url.includes(url1)) methodA()
    else if (item.url.includes(url2)) methodB()
}

It's a bit troublesome when we want to handle for each feed.

feeder.add({
    url: url1,
    refresh: 6000,
    eventName: 'new-item-url1',
})

feeder.add({
    url: url2,
    refresh: 6000,
    eventName: 'new-item-url2',
})

feeder.on('new-item-url1', function(item) {
}

feeder.on('new-item-url2', function(item) {
}

This is more simple.

Would you implement this feature? Thanks!

filipedeschamps commented 6 years ago

I think what you can do for now is to create different instances, por example:

let RssFeedEmitter = require('rss-feed-emitter');
let feederUrl1 = new RssFeedEmitter();
let feederUrl2 = new RssFeedEmitter();

Then add and watch them separate.

What do you think?

re-fort commented 6 years ago

Yes, I'm doing that way for now. If RssFeedEmitter allows to add only one feed, your suggestion is good, but thankfully it is not so. IMO, specifying the event name would be better than creating another instance.

filipedeschamps commented 6 years ago

It still seems awkward but you have a good point :)

filipedeschamps commented 4 years ago

:tada: This issue has been resolved in version 3.1.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: