Skip to content

Commit 2970ad4

Browse files
committed
#25 - javascript
1 parent 7f6cc73 commit 2970ad4

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
const niveles = {
2+
DEBUG: 'DEBUG',
3+
INFO: 'INFO',
4+
WARNING: 'WARNING',
5+
ERROR: 'ERROR'
6+
};
7+
8+
function log(nivel, mensaje) {
9+
const fecha = new Date().toISOString()
10+
const formato = `${fecha} - ${nivel} - ${mensaje}`
11+
12+
switch (nivel) {
13+
case niveles.DEBUG:
14+
console.debug(formato)
15+
break
16+
case niveles.INFO:
17+
console.info(formato)
18+
break
19+
case niveles.WARNING:
20+
console.warn(formato)
21+
break
22+
case niveles.ERROR:
23+
console.error(formato)
24+
break
25+
default:
26+
console.log(formato)
27+
}
28+
}
29+
30+
log(niveles.DEBUG, "Esto es un mensaje de DEBUG")
31+
log(niveles.INFO, "Esto es un mensaje de INFO")
32+
log(niveles.WARNING, "Esto es un mensaje de WARNING")
33+
log(niveles.ERROR, "Esto es un mensaje de ERROR")
34+
35+
// ---------------------------------------- DIFICULTAD EXTRA ----------------------------------------
36+
class TaskManager {
37+
constructor() {
38+
this.tasks = {}
39+
}
40+
41+
addTask(nameTask, description) {
42+
const startTime = performance.now()
43+
if (Object.hasOwn(this.tasks, nameTask)) console.warn('Ya existe una tarea con ese nombre')
44+
else {
45+
Object.assign(this.tasks, {[nameTask]: description})
46+
console.info('La tarea se ha agregado correctamente')
47+
}
48+
console.debug(`tenes ${Object.keys(this.tasks).length} tarea/s pendiente/s`)
49+
const endTime = performance.now()
50+
console.log(`Tiempo de ejecución: ${(endTime - startTime).toFixed(2)}s`)
51+
}
52+
53+
deleteTask(nameTask) {
54+
const startTime = performance.now()
55+
if (Object.hasOwn(this.tasks, nameTask)) {
56+
delete this.tasks[nameTask]
57+
console.info('La tarea se ha borrado correctamente')
58+
}
59+
else console.error('La tarea que desea eliminar no existe')
60+
const endTime = performance.now()
61+
console.log(`Tiempo de ejecución: ${(endTime - startTime).toFixed(2)}s`)
62+
}
63+
64+
viewTaks() {
65+
const startTime = performance.now()
66+
console.info(this.tasks)
67+
const endTime = performance.now()
68+
console.log(`Tiempo de ejecución: ${(endTime - startTime).toFixed(2)}s`)
69+
}
70+
}
71+
72+
const taskManager = new TaskManager
73+
taskManager.addTask('javascript', 'terminar el ejercicio 25 de javascript')
74+
taskManager.addTask('papel', 'comprar todo el papel higienico por si se viene el apocalipsis')
75+
taskManager.viewTaks()
76+
taskManager.deleteTask('noExisto')
77+
taskManager.deleteTask('papel')
78+
taskManager.viewTaks()

0 commit comments

Comments
 (0)