Primer commit. Coodigo escrito en el añoo 2021

This commit is contained in:
2025-12-09 12:26:50 -05:00
commit e767ed7ec9
33 changed files with 15049 additions and 0 deletions

386
out/index.js.html Executable file
View File

@@ -0,0 +1,386 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: index.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: index.js</h1>
<section>
<article>
<pre class="prettyprint source linenums"><code>const chalk = require('chalk');
const language = require('./app/module/language');
var display = [
[
{
palabra: "It",
estado: 1,
id:"it"
},
{
palabra: " ",
estado: 1,
id:""
},
{
palabra: "is",
estado: 1,
id:"is"
},
{
palabra: " ",
estado: 0,
id:""
},
{
palabra: "twenty",
estado: 0,
id:"m_20"
}
],
[
{
palabra: "quarter",
estado: 0,
id:"m_15"
},
{
palabra: " ",
estado: 0,
id:""
},
{
palabra: "half",
estado: 0,
id:"m_30"
}
],
[
{
palabra: "ten",
estado: 0,
id:"m_10"
},
{
palabra: "five",
estado: 0,
id:"m_5"
},
{
palabra: " ",
estado: 0,
id:""
},
{
palabra: "past",
estado: 0,
id:"past"
}
],
[
{
palabra: "to",
estado: 0,
id:"to"
},
{
palabra: " ",
estado: 0,
id:""
},
{
palabra: "twelve",
estado: 0,
id:"h_0"
},
{
palabra: "one",
estado: 0,
id:"h_1"
}
],
[
{
palabra: "two",
estado: 0,
id:"h_2"
},
{
palabra: "three",
estado: 0,
id:"h_3"
},
{
palabra: "four",
estado: 0,
id:"h_4"
}
],
[
{
palabra: "five",
estado: 0,
id:"h_5"
},
{
palabra: "six",
estado: 0,
id:"h_6"
},
{
palabra: "seven",
estado: 0,
id:"h_7"
}
],
[
{
palabra: "eight",
estado: 0,
id:"h_8"
},
{
palabra: "nine",
estado: 0,
id:"h_9"
},
{
palabra: "ten",
estado: 0,
id:"h_10"
}
],
[
{
palabra: " ",
estado: 0,
id:""
},
{
palabra: " ",
estado: 0,
id:""
},
{
palabra: " ",
estado: 0,
id:""
},
{
palabra: "eleven",
estado: 0,
id:"h_11"
},
{
palabra: " ",
estado: 0,
id:""
},
{
palabra: " ",
estado: 0,
id:""
},
{
palabra: " ",
estado: 0,
id:""
}
],
[
{
palabra: " ",
estado: 0,
id:""
},
{
palabra: "O'Clock",
estado: 0,
id:"m_0"
},
{
palabra: " ",
estado: 0,
id:""
},
{
palabra: "now",
estado: 1,
id:"now"
}
],
]
console.log(chalk.greenBright("---WordClock---"))
/**
* Reinicia el display a sus valores por defecto
*
*/
function resetDisplay(){
display.map(fila=>{
fila.map(columna=>{
if(columna.id=="it"||columna.id=="is"||columna.id=="now"){
display[display.indexOf(fila)][fila.indexOf(columna)].estado=1
}else{
display[display.indexOf(fila)][fila.indexOf(columna)].estado=0
}
})
})
}
/**
* Crea la presentacion por pantalla y actualiza segun el estado del objeto display
*/
function actualizar_display() {
console.clear()
display.map(fila => {
var show = []
fila.map(columna => {
//evaluar si la columna tiene un estado activo o inactivo y guardar el estado
if (columna.estado == 0) {
show.push(chalk.gray(columna.palabra))
}else{
show.push(chalk.yellowBright(columna.palabra))
}
})
console.log(show.join(""))
})
}
/**
* Actualiza el estado a activo
* @param {string} id Recibe el id del elemento a actualizar
*/
function cambiar_estado(id){
display.map(fila=>{
fila.map(columna=>{
//buscar la hora correspondiente mediante el id y cambiar su estado a 1
if(columna.id==id){
display[display.indexOf(fila)][fila.indexOf(columna)].estado=1
}
})
})
}
/**
* Funcion de inicio. Configura la hora y los minutos y llama a las funciones que cambian los estados de cada palabra
* @param {*}
* @return {*}
*/
function hora() {
resetDisplay()
var now = new Date();
var hour = now.getHours();
var minute = now.getMinutes();
var offset;
var next;
hour = hour % 12;
minute = minute - minute % 5;
if (minute > 30) {//si hay mas de 30 minutos
//activa la hora pasada tanto
cambiar_estado("h_"+(hour+1))
//activa el to
cambiar_estado("to")
} else {
//activa la hora correspondiente
cambiar_estado("h_"+hour)
if (minute !== 0) {
//activa la palabra pasado /past
cambiar_estado("past")
}
}
offset = (minute > 30) ? (60 - minute) : minute;
minutes = {
0: "m_0",
5: "m_5",
10:"m_10",
15:"m_15",
20:"m_20",
30:"m_30",
};
if (offset in minutes) {
//activa los minutos
cambiar_estado("m_"+offset)
} else if (offset === 25) {
cambiar_estado("m_20")
cambiar_estado("m_25")
}
now.setTime(Date.now());
next = new Date(now.getTime());
next.setMinutes(minute + 5);
next.setSeconds(0);
next.setMilliseconds(0);
actualizar_display()
}
/**
* Permite reemplazar el array de display por el correspondiente segun el idioma seleccionado
* @param {string} lang idioma a cambiar
*/
function cambiar_idioma(lang){
if(lang=="es"||lang=="en"||lang=="eo"){
display=language[lang]
}else{
console.log("argumento desconocido, usando idioma por defecto")
}
}
cambiar_idioma(process.argv[2])
setInterval(hora,60000)
</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Global</h3><ul><li><a href="global.html#actualizar_display">actualizar_display</a></li><li><a href="global.html#cambiar_estado">cambiar_estado</a></li><li><a href="global.html#cambiar_idioma">cambiar_idioma</a></li><li><a href="global.html#hora">hora</a></li><li><a href="global.html#resetDisplay">resetDisplay</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.7</a> on Wed Jul 14 2021 11:22:51 GMT-0500 (GMT-05:00)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>