UNPKG

@chincapie/platzom

Version:
47 lines (38 loc) 1.48 kB
export default function platzom(str){ let translation = str; // Si la palabra termina en ar se le quitan esos caracteres: if(str.toLowerCase().endsWith('ar')){ translation = str.slice(0,-2); } //Si la palabra inicia con Z se le agrega "pe" al final: if(str.toLowerCase().startsWith('z')){ translation = translation.concat('pe'); } // Si la palabra tiene mas de 10 caracteres // Se debe partir a la mitad y unir con un guión medio const longiud = translation.length; if(longiud >= 10){ const primeraMitad = translation.slice(0,Math.round(longiud/2)); const segundaMitad = translation.slice(Math.round(longiud/2)); //translation = primeraMitad.concat('_').concat(segundaMitad); translation = `${primeraMitad}_${segundaMitad}`; } // Si la palabra original es un palíndromo, // ninguna regla anterior cuenta y se devuelve // la misma palabra intercalando mayúsculas y minúsculas const reverse = (str) => str.split('').reverse().join(''); function minMay(str){ longitud = str.length; let translation = ''; let strV = str.split(''); for(let i=0;i<longitud;i++){ translation += i%2 == 0 ? strV[i].toUpperCase():strV[i].toLowerCase(); } return translation; } if(str == reverse(str)) { return minMay(str); } return translation; }