From a70bb517e1c958d7f8c02b88fd75fc1c5c9a0942 Mon Sep 17 00:00:00 2001 From: rejas Date: Tue, 16 Mar 2021 21:15:19 +0100 Subject: [PATCH] Use es6 notation in newsfeed module --- modules/default/newsfeed/newsfeed.js | 28 +++++++++------------ modules/default/newsfeed/newsfeedfetcher.js | 18 ++++++------- modules/default/newsfeed/node_helper.js | 4 +-- 3 files changed, 22 insertions(+), 28 deletions(-) diff --git a/modules/default/newsfeed/newsfeed.js b/modules/default/newsfeed/newsfeed.js index 84e842e6..5c97f47e 100644 --- a/modules/default/newsfeed/newsfeed.js +++ b/modules/default/newsfeed/newsfeed.js @@ -147,8 +147,7 @@ Module.register("newsfeed", { * Registers the feeds to be used by the backend. */ registerFeeds: function () { - for (var f in this.config.feeds) { - var feed = this.config.feeds[f]; + for (let feed of this.config.feeds) { this.sendSocketNotification("ADD_FEED", { feed: feed, config: this.config @@ -162,12 +161,11 @@ Module.register("newsfeed", { * @param {object} feeds An object with feeds returned by the node helper. */ generateFeed: function (feeds) { - var newsItems = []; - for (var feed in feeds) { - var feedItems = feeds[feed]; + let newsItems = []; + for (let feed in feeds) { + const feedItems = feeds[feed]; if (this.subscribedToFeed(feed)) { - for (var i in feedItems) { - var item = feedItems[i]; + for (let item of feedItems) { item.sourceTitle = this.titleForFeed(feed); if (!(this.config.ignoreOldItems && Date.now() - new Date(item.pubdate) > this.config.ignoreOlderThan)) { newsItems.push(item); @@ -176,8 +174,8 @@ Module.register("newsfeed", { } } newsItems.sort(function (a, b) { - var dateA = new Date(a.pubdate); - var dateB = new Date(b.pubdate); + const dateA = new Date(a.pubdate); + const dateB = new Date(b.pubdate); return dateB - dateA; }); if (this.config.maxNewsItems > 0) { @@ -186,8 +184,8 @@ Module.register("newsfeed", { if (this.config.prohibitedWords.length > 0) { newsItems = newsItems.filter(function (value) { - for (var i = 0; i < this.config.prohibitedWords.length; i++) { - if (value["title"].toLowerCase().indexOf(this.config.prohibitedWords[i].toLowerCase()) > -1) { + for (let word of this.config.prohibitedWords) { + if (value["title"].toLowerCase().indexOf(word.toLowerCase()) > -1) { return false; } } @@ -235,7 +233,7 @@ Module.register("newsfeed", { }); // get updated news items and broadcast them - var updatedItems = []; + const updatedItems = []; newsItems.forEach((value) => { if (this.newsItems.findIndex((value1) => value1 === value) === -1) { // Add item to updated items list @@ -258,8 +256,7 @@ Module.register("newsfeed", { * @returns {boolean} True if it is subscribed, false otherwise */ subscribedToFeed: function (feedUrl) { - for (var f in this.config.feeds) { - var feed = this.config.feeds[f]; + for (let feed of this.config.feeds) { if (feed.url === feedUrl) { return true; } @@ -274,8 +271,7 @@ Module.register("newsfeed", { * @returns {string} The title of the feed */ titleForFeed: function (feedUrl) { - for (var f in this.config.feeds) { - var feed = this.config.feeds[f]; + for (let feed of this.config.feeds) { if (feed.url === feedUrl) { return feed.title || ""; } diff --git a/modules/default/newsfeed/newsfeedfetcher.js b/modules/default/newsfeed/newsfeedfetcher.js index 8fc18a9e..d4db511d 100644 --- a/modules/default/newsfeed/newsfeedfetcher.js +++ b/modules/default/newsfeed/newsfeedfetcher.js @@ -19,8 +19,6 @@ const iconv = require("iconv-lite"); * @class */ const NewsfeedFetcher = function (url, reloadInterval, encoding, logFeedWarnings) { - const self = this; - let reloadTimer = null; let items = []; @@ -36,14 +34,14 @@ const NewsfeedFetcher = function (url, reloadInterval, encoding, logFeedWarnings /** * Request the new items. */ - const fetchNews = function () { + const fetchNews = () => { clearTimeout(reloadTimer); reloadTimer = null; items = []; const parser = new FeedMe(); - parser.on("item", function (item) { + parser.on("item", (item) => { const title = item.title; let description = item.description || item.summary || item.content || ""; const pubdate = item.pubdate || item.published || item.updated || item["dc:date"]; @@ -68,13 +66,13 @@ const NewsfeedFetcher = function (url, reloadInterval, encoding, logFeedWarnings } }); - parser.on("end", function () { - self.broadcastItems(); + parser.on("end", () => { + this.broadcastItems(); scheduleTimer(); }); - parser.on("error", function (error) { - fetchFailedCallback(self, error); + parser.on("error", (error) => { + fetchFailedCallback(this, error); scheduleTimer(); }); @@ -87,7 +85,7 @@ const NewsfeedFetcher = function (url, reloadInterval, encoding, logFeedWarnings fetch(url, { headers: headers }) .catch((error) => { - fetchFailedCallback(self, error); + fetchFailedCallback(this, error); scheduleTimer(); }) .then((res) => { @@ -134,7 +132,7 @@ const NewsfeedFetcher = function (url, reloadInterval, encoding, logFeedWarnings return; } Log.info("Newsfeed-Fetcher: Broadcasting " + items.length + " items."); - itemsReceivedCallback(self); + itemsReceivedCallback(this); }; this.onReceive = function (callback) { diff --git a/modules/default/newsfeed/node_helper.js b/modules/default/newsfeed/node_helper.js index 8d365339..6fd461a1 100644 --- a/modules/default/newsfeed/node_helper.js +++ b/modules/default/newsfeed/node_helper.js @@ -74,8 +74,8 @@ module.exports = NodeHelper.create({ * and broadcasts these using sendSocketNotification. */ broadcastFeeds: function () { - var feeds = {}; - for (var f in this.fetchers) { + const feeds = {}; + for (let f in this.fetchers) { feeds[f] = this.fetchers[f].items(); } this.sendSocketNotification("NEWS_ITEMS", feeds);