UNPKG

claudiaq-md-links

Version:

Application that detects broken links in Markdown files. It is a project for Laboratoria cohort SCL010

100 lines (88 loc) 3.45 kB
module.exports = mdLinksOptions = { validate: (directory, link, text) => { const fetch = require('node-fetch'); //let status; fetch(link) .then((res) => { if (!(res.statusText.localeCompare('Not Found'))) { console.log(directory,' ',link, ' ','FAIL ',res.status,' ', text ); } else { console.log(directory,' ',link, ' ',res.statusText,' ',res.status,' ', text ); } }) .catch((err) => { // handle error for example console.error(err); }); }, stats: (arrayOfObjects) => { let promise = new Promise ( (resolve, reject) => { let total = arrayOfObjects.length; console.log('Total: ', total); let same = 0; for (let i=0; i<arrayOfObjects.length; i++) { for (let j=0; j<arrayOfObjects.length; j++) { if (i === j) {//compara con todos menos consigo mismo continue; } if ( !(arrayOfObjects[i].link.localeCompare(arrayOfObjects[j].link)) ) { same++; } } } let unique = total - same; console.log('Unique: ', unique); resolve( { total, unique }); }) return promise; }, statsAndBroken: (arrayOfObjects) => { let promise = new Promise ( (resolve, reject) => { const fetch = require('node-fetch'); let total = arrayOfObjects.length; console.log('Total: ', total); let same = 0; let broken = 0; for (let i=0; i<arrayOfObjects.length; i++) { for (let j=0; j<arrayOfObjects.length; j++) { if (i === j) {//compara con todos menos consigo mismo continue; } if ( !(arrayOfObjects[i].link.localeCompare(arrayOfObjects[j].link)) ) { same++; } } fetch(arrayOfObjects[i].link) .then((res) => { if (!(res.statusText.localeCompare('Not Found'))) { broken = broken + 1; //process.stdout.write(broken, '\r'); console.log(arrayOfObjects[i].directory,' Broken: ',broken); } }) } let unique = total - same; console.log('Unique: ', unique); resolve( { total, unique }); }) return promise; }, broken: (arrayOfObjects) => { const fetch = require('node-fetch'); let broken = 0; for (let i=0; i<arrayOfObjects.length; i++) { fetch(arrayOfObjects[i].link) .then((res) => { if (!(res.statusText.localeCompare('Not Found'))) { broken = broken + 1; //process.stdout.write(broken, '\r'); console.log(arrayOfObjects[i].directory,' Broken: ',broken); } }) .catch((err) => { // handle error for example console.error(err); }); } } };