{"version":3,"sources":["jsdelivr-header.js","/npm/md-links-emi@1.1.0/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,GAAK,QAAQ,MACb,KAAO,QAAQ,QACf,MAAQ,QAAQ,cAEhB,aAAgB,GAAc,KAAK,WAAW,GAAc,EAAa,KAAK,QAAQ,GAEtF,YAAe,GAAc,GAAG,WAAW,GAE3C,SAAY,GAAe,GAAG,SAAS,GAAY,cAEnD,cAAiB,IACrB,IAAI,EAAc,GACd,EAAoB,GACxB,IAA6B,IAAzB,SAAS,IAAsD,QAA7B,KAAK,QAAQ,GACjD,EAAY,KAAK,QACZ,IAA6B,IAAzB,SAAS,GAClB,EAAkB,KAAK,OAClB,CACY,GAAG,YAAY,GACvB,KAAK,IACZ,MAAM,EAAW,KAAK,KAAK,EAAY,GACjC,EAAe,cAAc,GACnC,EAAc,EAAY,OAAO,EAAa,GAElD,CACA,OAAO,CAAW,EAGd,SAAY,IAChB,MACM,EAAY,iDACZ,EAAa,mBAEnB,OADiB,GAAG,aAAa,EAAW,SAAS,MAHnC,oEAIF,KAAK,IAID,CAChB,KAJgB,EAAM,MAAM,GAAW,OAAO,MAAM,GAAI,GAKxD,KAJgB,EAAM,MAAM,GAAY,OAAO,MAAM,GAAI,GAKzD,KAAM,aAAa,MAGrB,EAGE,SAAW,GACI,cAAc,GACE,KAAK,GAAS,SAAS,KACnC,GAGnB,YAAe,IACnB,MAAM,EAAY,EAAgB,KAAK,GACpB,MAAM,EAAG,MACvB,MAAM,IACL,MAAM,EACJ,EAAI,QAAU,KAAO,EAAI,QAAU,IAAM,KAAO,OAQlD,MAPkB,CAChB,KAAM,EAAG,KACT,KAAM,EAAG,KACT,KAAM,EAAG,KACT,OAAQ,EAAI,OACZ,GAAI,EAEU,IAEjB,OAAM,KAAM,CAAE,KAAM,EAAG,KAAM,KAAM,EAAG,KAAM,KAAM,EAAG,KACpD,OAAQ,4BAA6B,GAAI,aAI/C,OAAO,QAAQ,IAAI,EAAU,EAG/B,OAAO,QAAU,CACf,wBACA,0BACA,kBACA,wBACA,4BACA","file":"/npm/md-links-emi@1.1.0/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/md-links-emi@1.1.0/src/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const fs = require('fs');\r\nconst path = require('path');\r\nconst fetch = require('node-fetch');\r\n\r\nconst absolutePath = (inputRoute) =>path.isAbsolute(inputRoute) ? inputRoute : path.resolve(inputRoute);\r\n\r\nconst existsRoute = (inputRoute) =>fs.existsSync(inputRoute);\r\n\r\nconst isFolder = (inputRoute) => fs.statSync(inputRoute).isDirectory();\r\n\r\nconst getFileFolder = (inputRoute) => {\r\n  let arrCotainer = [];\r\n  let arrContainerFalse = [];\r\n  if (isFolder(inputRoute) === false && path.extname(inputRoute) === '.md') {\r\n    arrCotainer.push(inputRoute);\r\n  } else if (isFolder(inputRoute) === false) {\r\n    arrContainerFalse.push(inputRoute);\r\n  } else {\r\n    const listaDir = fs.readdirSync(inputRoute);\r\n    listaDir.map((el) => {\r\n      const newRoute = path.join(inputRoute, el);\r\n      const newContainer = getFileFolder(newRoute);\r\n      arrCotainer = arrCotainer.concat(newContainer);\r\n    });\r\n  }\r\n  return arrCotainer;\r\n};\r\n\r\nconst getLinks = (inputFile) => {\r\n  const linkExpReg =/\\[([\\w\\s\\d.()]+)\\]\\(((?:\\/|https?:\\/\\/)[\\w\\d./?=#&_%~,.:-]+)\\)/gm;\r\n  const urlExpReg = /\\(((?:\\/|https?:\\/\\/)[\\w\\d./?=#&_%~,.:-]+)\\)/gm;\r\n  const textExpReg = /\\[[\\w\\s\\d.()]+\\]/;\r\n  const arrLinks = fs.readFileSync(inputFile, \"utf-8\").match(linkExpReg);\r\n  return arrLinks.map((links) => {\r\n    const hrefLinks = links.match(urlExpReg).join().slice(1, -1);\r\n    const textLinks = links.match(textExpReg).join().slice(1, -1);\r\n\r\n    const dataLinks = {\r\n      href: hrefLinks, //href: URL encontrada.\r\n      text: textLinks, // text: Texto que aparecía dentro del link.\r\n      file: absolutePath(inputFile), // file: Ruta del archivo donde se encontró el link.\r\n    };\r\n    return dataLinks;\r\n  });\r\n};\r\n\r\nconst objLinks =(inputRoute)=>{\r\n  const arrLinksMd = getFileFolder(inputRoute);\r\n  const linksCollection = arrLinksMd.map((file) => getLinks(file));\r\n  return linksCollection[0]\r\n}\r\n\r\nconst linksStatus = (linksCollection) => {\r\n  const arrStatus = linksCollection.map((el) => {\r\n    const fetchObj = fetch(el.href)\r\n      .then((res) => {\r\n        const msgStatus =\r\n          res.status >= 200 && res.status <= 299 ? \"ok\" : \"fail\";\r\n        const objStatus = {\r\n          href: el.href, //href: URL encontrada.\r\n          text: el.text, // text: Texto que aparecía dentro del link.\r\n          file: el.file, // file: Ruta del archivo donde se encontró el link.\r\n          status: res.status, // Código de respuesta HTTP.\r\n          ok: msgStatus, //Mensaje 'fail' en caso de fallo u 'ok' en caso de éxito.\r\n        };\r\n        return objStatus;\r\n      })\r\n      .catch(() => ({href: el.href, text: el.text, file: el.file,\r\n        status: 'Fail: Your request failed', ok: 'fail',\r\n      }));\r\n    return fetchObj;\r\n  });\r\n  return Promise.all(arrStatus);\r\n};\r\n\r\nmodule.exports = {\r\n  existsRoute,\r\n  absolutePath,\r\n  objLinks, \r\n  linksStatus,\r\n  getFileFolder,\r\n  getLinks,\r\n};"]}