markdown-url-checker
Version:
The lib takes care of checking every link inside a markdown file to see if they're all up.
37 lines (32 loc) • 914 B
JavaScript
const fetch = (...args) => import('node-fetch').then(({default: fetch}) => fetch(...args));
function manejaErros(erro) {
throw new Error(erro.message);
}
async function checaStatus(arrayURLs) {
try {
const arrayStatus = await Promise
.all(arrayURLs
.map(async url => {
const res = await fetch(url);
return res.status;
}));
return arrayStatus;
} catch(erro) {
manejaErros(erro);
}
}
function geraArrayDeURLs(arrayLinks) {
return arrayLinks
.map(objetoLink => Object.values(objetoLink)
.join());
}
async function validaURLs(arrayLinks) {
const links = geraArrayDeURLs(arrayLinks);
const statusLinks = await checaStatus(links);
const resultados = arrayLinks.map((objeto, i) => ({
...objeto,
status: statusLinks[i]
}));
return resultados;
}
module.exports = validaURLs;