Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 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 | 1x 1x 1x 1x 18x 18x 15x 15x 15x 15x 15x 52x 52x 27x 52x 15x 52x 15x 3x | import { CodigoFormatoFecha, FormatoFeriados, ErroresComunes } from "../constants";
import { validarFecha } from "./validarfecha";
import { addDias } from "./proximafecha";
import { isHabil } from "./diahabil";
/**
* @param fecha
* @param cantidadDiazHabiles
* @param listaFeriados
* Obtiene una nueva fecha hábil, dados una fecha válida y un listado de feriados, al sumar o restar días hábiles.
*/
export function addDiasHabiles( fecha: string, cantidadDiazHabiles: number, listaFeriados: FormatoFeriados[] ): string {
try {
validarFecha(fecha);
let siguienteFecha: string = '';
let habil:boolean = false;
let sgteDia: number = 1;
let match: number = 0;
while(!habil){
siguienteFecha = addDias(fecha, sgteDia);
if (isHabil(siguienteFecha, listaFeriados)){
match += 1;
}
if (cantidadDiazHabiles === match){
habil = true;
}
sgteDia += 1;
}
return siguienteFecha;
} catch (error) {
throw (error)
}
}
|