Skip to content

Commit

Permalink
Actualizando librerias y cambiando por constantes
Browse files Browse the repository at this point in the history
  • Loading branch information
ripper2hl committed Nov 4, 2021
1 parent 39e07ae commit 220df44
Show file tree
Hide file tree
Showing 4 changed files with 129 additions and 184 deletions.
39 changes: 20 additions & 19 deletions lib/__tests__/curp.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'Jesús Israel';
persona.apellidoPaterno = 'Perales';
persona.apellidoMaterno = 'Martínez';
Expand All @@ -57,7 +57,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto de Felipe Calderón', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'Felipe de Jesús';
persona.apellidoPaterno = 'Calderón';
persona.apellidoMaterno = 'Hinojosa';
Expand All @@ -68,7 +68,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto de Enrique Peña Nieto', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'Enrique';
persona.apellidoPaterno = 'Peña';
persona.apellidoMaterno = 'Nieto';
Expand All @@ -79,7 +79,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto de AMLO', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'Andrés Manuel';
persona.apellidoPaterno = 'López';
persona.apellidoMaterno = 'Obrador';
Expand All @@ -90,7 +90,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto de Oscar Sanchez', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'Oscar';
persona.apellidoPaterno = 'Sanchez';
persona.apellidoMaterno = 'Santos';
Expand All @@ -101,7 +101,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto sin apellido materno de Luis Perez', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'Luis';
persona.apellidoPaterno = 'Perez';
persona.genero = curp.GENERO.MASCULINO;
Expand All @@ -111,7 +111,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto de Luis Perez Piedra', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'Luis';
persona.apellidoPaterno = 'Perez';
persona.apellidoMaterno = 'Piedra';
Expand All @@ -122,7 +122,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto de Maria Del Carmen Loredo Caballero', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'Maria Del Carmen';
persona.apellidoPaterno = 'Loredo';
persona.apellidoMaterno = 'Caballero';
Expand All @@ -133,7 +133,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto de MARIA GILA HURTADO HERRERA', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'MARIA GILA';
persona.apellidoPaterno = 'HURTADO';
persona.apellidoMaterno = 'HERRERA';
Expand All @@ -144,7 +144,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto de MARIA DEL ROSARIO MARTINEZ RIVAS', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'MARIA DEL ROSARIO';
persona.apellidoPaterno = 'MARTINEZ';
persona.apellidoMaterno = 'RIVAS';
Expand All @@ -155,7 +155,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto de JOSE SAUL GALVAN DEL RIO', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'JOSE SAUL';
persona.apellidoPaterno = 'GALVAN';
persona.apellidoMaterno = 'DEL RIO';
Expand All @@ -166,7 +166,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto de ALBERTO ÑANDO RODRIGUEZ', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'ALBERTO';
persona.apellidoPaterno = 'ÑANDO';
persona.apellidoMaterno = 'RODRIGUEZ';
Expand All @@ -177,7 +177,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto de ALBERTO RODRIGUEZ ÑANDO', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'ALBERTO';
persona.apellidoPaterno = 'RODRIGUEZ';
persona.apellidoMaterno = 'ÑANDO';
Expand All @@ -188,7 +188,7 @@ describe('curp', () => {
});

it('Deberia obtener el CURP correcto de ANDRES ICH RODRÍGUEZ', () => {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'ANDRES';
persona.apellidoPaterno = 'ICH';
persona.apellidoMaterno = 'RODRIGUEZ';
Expand All @@ -199,7 +199,7 @@ describe('curp', () => {
});

function curpSinNombre() {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.apellidoPaterno = 'Sanchez';
persona.apellidoMaterno = 'Santos';
persona.genero = curp.GENERO.MASCULINO;
Expand All @@ -213,7 +213,7 @@ describe('curp', () => {
});

function curpSinApellidoPaterno() {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'Oscar';
persona.apellidoMaterno = 'Santos';
persona.genero = curp.GENERO.MASCULINO;
Expand All @@ -227,7 +227,7 @@ describe('curp', () => {
});

function curpSinGenero() {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'Oscar';
persona.apellidoPaterno = 'Sanchez';
persona.apellidoMaterno = 'Santos';
Expand All @@ -241,7 +241,7 @@ describe('curp', () => {
});

function curpSinFechaNacimiento() {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'Oscar';
persona.apellidoPaterno = 'Sanchez';
persona.apellidoMaterno = 'Santos';
Expand All @@ -255,7 +255,7 @@ describe('curp', () => {
});

function curpSinEstado() {
let persona = curp.getPersona();
const persona = curp.getPersona();
persona.nombre = 'Oscar';
persona.apellidoPaterno = 'Sanchez';
persona.apellidoMaterno = 'Santos';
Expand All @@ -274,5 +274,6 @@ describe('curp', () => {

it('Deberia obtener true al validar un curp correcto', () => {
expect(curp.validar('PXNE660720HMCXTN06')).toBeTruthy();
expect(curp.validar('LOOA531113HTCPBN07')).toBeTruthy();
});
});
45 changes: 20 additions & 25 deletions lib/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';

let curp = {};
const curp = {};

const GENERO = {
MASCULINO: 'H',
Expand Down Expand Up @@ -43,7 +43,7 @@ const ESTADO = {
ZACATECAS: 'ZS',
};

let comunes = [
const comunes = [
'MARIA DEL ',
'MARIA DE LOS ',
'MARIA ',
Expand Down Expand Up @@ -165,11 +165,11 @@ function getPersona() {
function generar(persona) {
validaDatos(persona);
let curp = '';
let pad = zeropad.bind(null, 2);
let nombre = normalizaString(persona.nombre.toUpperCase()).trim();
let nombreUsar = obtenerNombreUsar(nombre);
const pad = zeropad.bind(null, 2);
const nombre = normalizaString(persona.nombre.toUpperCase()).trim();
const nombreUsar = obtenerNombreUsar(nombre);

let apellidoPaterno = ajustaCompuesto(
const apellidoPaterno = ajustaCompuesto(
normalizaString(persona.apellidoPaterno.toUpperCase())
).trim();

Expand All @@ -178,7 +178,7 @@ function generar(persona) {
normalizaString(apellidoMaterno.toUpperCase())
).trim();

let inicialNombre = nombreUsar.substring(0, 1);
const inicialNombre = nombreUsar.substring(0, 1);

let vocalApellido = apellidoPaterno
.trim()
Expand Down Expand Up @@ -208,13 +208,13 @@ function generar(persona) {

posicionUnoCuatro = removerMalasPalabras(filtraCaracteres(posicionUnoCuatro));

let posicionCatorceDieciseis = [
const posicionCatorceDieciseis = [
primerConsonante(apellidoPaterno),
primerConsonante(apellidoMaterno),
primerConsonante(nombreUsar),
].join('');

let fechaNacimiento = persona.fechaNacimiento.split('-');
const fechaNacimiento = persona.fechaNacimiento.split('-');

curp = [
posicionUnoCuatro,
Expand All @@ -240,7 +240,7 @@ function generar(persona) {
* @param {string} str - String donde se eliminarán las partes que lo hacen compuesto
*/
function ajustaCompuesto(str) {
var compuestos = [
const compuestos = [
/\bDA\b/,
/\bDAS\b/,
/\bDE\b/,
Expand All @@ -262,7 +262,7 @@ function ajustaCompuesto(str) {
/\bY\b/,
];

compuestos.forEach(function (compuesto) {
compuestos.forEach((compuesto) => {
if (compuesto.test(str)) {
str = str.replace(compuesto, '');
}
Expand All @@ -278,10 +278,8 @@ function ajustaCompuesto(str) {
* @param {number} num - Numero que sera procesado.
*/
function zeropad(ancho, num) {
var pad = Array.apply(0, Array.call(0, ancho))
.map(function () {
return 0;
})
const pad = Array.apply(0, Array.call(0, ancho))
.map(() => 0)
.join('');

return (pad + num).replace(new RegExp('^.*([0-9]{' + ancho + '})$'), '$1');
Expand Down Expand Up @@ -317,10 +315,7 @@ function filtraCaracteres(str) {
* @param {string} str - String con el nombre o los apellidos.
*/
function normalizaString(str) {
var origen;
var destino;
var salida;
origen = [
const origen = [
'Ã',
'À',
'Á',
Expand Down Expand Up @@ -366,7 +361,7 @@ function normalizaString(str) {
'Ç',
'ç',
];
destino = [
const destino = [
'A',
'A',
'A',
Expand Down Expand Up @@ -413,8 +408,8 @@ function normalizaString(str) {
'c',
];
str = str.split('');
salida = str.map(function (char) {
var pos = origen.indexOf(char);
const salida = str.map((char) => {
const pos = origen.indexOf(char);
return pos > -1 ? destino[pos] : char;
});

Expand Down Expand Up @@ -455,8 +450,8 @@ function getSpecialChar(bornYear) {
* @author Israel Perales.
*/
function obtenerNombreUsar(nombre) {
let nombres = nombre.trim().split(/\s+/);
let esNombreComun = comunes.some((nombreComun) =>
const nombres = nombre.trim().split(/\s+/);
const esNombreComun = comunes.some((nombreComun) =>
nombre.includes(nombreComun)
);
if (esNombreComun) {
Expand Down Expand Up @@ -496,7 +491,7 @@ function validaDatos(persona) {
function validar(curpToValidate) {
const regex =
/^([A-Z][AEIOUX][A-Z]{2}\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])[HM](?:AS|B[CS]|C[CLMSH]|D[FG]|G[TR]|HG|JC|M[CNS]|N[ETL]|OC|PL|Q[TR]|S[PLR]|T[CSL]|VZ|YN|ZS)[B-DF-HJ-NP-TV-Z]{3}[A-Z\d])(\d)$/;
let validado = curpToValidate.match(regex);
const validado = curpToValidate.match(regex);
if (
validado &&
parseInt(validado[2], 10) === agregaDigitoVerificador(validado[1])
Expand Down
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@
"coveralls": "^3.1.1",
"eslint": "^7.22.0",
"prettier": "^2.4.1",
"husky": "^5.1.3",
"lint-staged": "^10.5.4",
"eslint-config-prettier": "^8.1.0",
"husky": "^7.0.4",
"lint-staged": "^11.2.6",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.1.1",
"eslint-config-xo": "^0.35.0",
"eslint-config-xo": "^0.38.0",
"jest": "^27.3.1"
},
"engines": {
Expand Down

0 comments on commit 220df44

Please sign in to comment.