module.exports = function() { const config = require('../config'); const link = require('./components/link') this.processSearchResults = (json, parsed, after, before, user_preferences) => { return new Promise(resolve => { (async () => { if(!parsed) { json = JSON.parse(json) } let posts = [] let search_firstpage = false let before = json.data.before let after = json.data.after if(!after && !before) { search_firstpage = true } let suggested_subreddits = false if(json.suggested_subreddits) { if(json.suggested_subreddits.data) { if(json.suggested_subreddits.data.children.length > 0) { suggested_subreddits = json.suggested_subreddits.data.children } } } if(json.data.children) { let view_more_posts = false let posts_limit = 25 if(json.data.children.length > posts_limit) { view_more_posts = true } else { posts_limit = json.data.children.length } for(var i = 0; i < posts_limit; i++) { let post = json.data.children[i].data if(post.over_18) if((config.nsfw_enabled === false && user_preferences.nsfw_enabled != 'true') || user_preferences.nsfw_enabled === 'false') continue let obj = await link.fromJson(post, user_preferences) posts.push(obj) } } let obj = { search_firstpage: search_firstpage, before: before, after: after, posts: posts, suggested_subreddits: suggested_subreddits, } resolve(obj) })() }) } }