forked from Laboratoria/DEV002-md-links
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
123 lines (105 loc) · 3.4 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
const { exist,
absolute,
readAllFiles,
isFile,
isDirectory,
ext,
recorrerArrayFiles,
allPromise,
statsResult,
statsAndValidate,
readAllFilesRevuersive } = require('./data.js');
const mdLinks = (route, options = { validate: false, stats: false }) => {
return new Promise((resolve, reject) => {
const arrayFiles = [];
//const arrayObjetos = [];
//identificar si la ruta existe envia un error
if (exist(route)) {
//console.log('true')
//convertir la ruta a absoluta
const routeAbsolute = absolute(route)
//console.log(routeAbsolute)
//recorrer y obtener arrays de archivos
if (isDirectory(routeAbsolute)) {
// console.log(arrayFiles)
//readAllFiles(routeAbsolute, arrayFiles);
const filerecursive = readAllFilesRevuersive(routeAbsolute)
//console.log('recursive',filerecursive)
filerecursive.forEach(file => {
if (ext(file) === '.md') {
//console.log(arrayFiles)
arrayFiles.push(file)
} else {
if (arrayFiles === []) {
console.log("no hay archivos .md")
}
}
})
//console.log(arrayFiles)
//console.log(readAllFiles(route, arrayFiles));
//console.log(arrayFiles)
} else {
//si es extension .md guarde
if (ext(routeAbsolute) === '.md') {
//console.log(arrayFiles)
arrayFiles.push(route)
} else {
console.log("no es un archivos .md")
}
}
if (options.validate === true && options.stats === true) {
console.log("elegiste ambas opciones")
recorrerArrayFiles(arrayFiles)
.then((result) => {
//console.log(result)
allPromise(result)
.then((result) => {
//console.log(result)
const statsValidate = statsAndValidate(result)
console.log("ambas opciones", statsValidate)
resolve(statsValidate)
})
});
} else if (options.validate === false && options.stats === true) {
console.log("elegiste la opción stats")
recorrerArrayFiles(arrayFiles)
.then((result) => {
//console.log(result)
const stats = statsResult(result)
console.log("opción stats", stats)
resolve(stats)
});
} else if (options.validate === true && options.stats === false) {
console.log("elegiste la opción validate ")
recorrerArrayFiles(arrayFiles)
.then((result) => {
//console.log(result)
allPromise(result)
.then((result) => {
const validate = result
resolve(validate)
console.log('opcion validate', validate)
})
});
} else {
console.log("No elegiste ninguna opción")
recorrerArrayFiles(arrayFiles)
.then((result) => {
//console.log(result)
const anyOption = result;
resolve(anyOption)
console.log('any option', anyOption)
//console.log(promise)
// const arrayPromise = result.map(element => {
// console.log(element.href)
// return( promise(element.href))
});
}
} else {
reject('La ruta no existe');
}
});
};
module.exports = {
mdLinks,
};