'use strict'; const config = require('config'); const dissectLink = require('../dissectLink.js'); function curateSubmissions(submissions) { const processed = new Set(); return submissions.reduce((acc, submission, index) => { if(config.fetch.ignoreDuplicates && processed.has(submission.url)) { console.log('\x1b[33m%s\x1b[0m', `Ignoring cross-post or repost '${submission.title}' - ${submission.url}`); return acc; } const curatedSubmission = { id: submission.id, index: index, title: submission.title, text: submission.selftext, user: submission.author.name, permalink: submission.permalink, url: submission.url, datetime: new Date(submission.created_utc * 1000), subreddit: submission.subreddit.display_name, host: dissectLink(submission.url) }; processed.add(submission.url); return acc.concat(curatedSubmission); }, []); }; module.exports = curateSubmissions;