export default urls => urls .filter(url => url.meta && !url.ignoreParse) .map((url, index) => { const tmp = {}; const { meta } = url; tmp._id = index; tmp.title = meta.ogTitle || meta.twitterTitle || meta.title || meta.pageTitle || meta.oembedTitle; tmp.description = meta.ogDescription || meta.twitterDescription || meta.description || meta.oembedAuthorName; let decodedOgImage; if (meta.ogImage) { decodedOgImage = meta.ogImage.replace(/&/g, '&'); } tmp.image = decodedOgImage || meta.twitterImage || meta.oembedThumbnailUrl; if (tmp.image) { if (tmp.image.indexOf('//') === 0) { tmp.image = `${url.parsedUrl.protocol}${tmp.image}`; } else if (tmp.image.indexOf('/') === 0 && url.parsedUrl && url.parsedUrl.host) { tmp.image = `${url.parsedUrl.protocol}//${url.parsedUrl.host}${tmp.image}`; } } tmp.url = url.url; return tmp; });