module.exports = function(RED) { "use strict"; const { parseFeed } = require('@rowanmanning/feed-parser'); function FeedParseNode(n) { RED.nodes.createNode(this,n); this.url = n.url; if (n.interval > 35790) { this.warn(RED._("feedparse.errors.invalidinterval")) } this.interval = (parseInt(n.interval)||15) * 60000; this.interval_id = null; this.ignorefirst = n.ignorefirst || false; this.sendarray = n.sendarray || false; this.seen = {}; this.donefirst = false; var node = this; async function getFeed() { const response = await fetch(node.url); if (response.status !== 200) { node.error("Bad Feed: "+node.url, response) node.status({fill:"red",shape:"dot",text:response.status+": "+RED._("feedparse.errors.badstatuscode")}); return; } const feed = parseFeed(await response.text()); if (node.sendarray === true) { var msg = JSON.parse(JSON.stringify(feed)); node.send(msg); } else { for (let a=0; a