@eplata/utils
Version:
Modulo que contiene funciones generales para tratamiento de datos.
25 lines (24 loc) • 830 B
JavaScript
module.exports = (value, strict) => {
if (strict && typeof value !== 'string') {
throw new Error('Se esperaba un valor string para convertir a boolean.');
}
if (strict) {
const evaluate = `${value}`.toLowerCase().trim();
switch (evaluate) {
case 'true': return true;
case 'false': return false;
case '0': return false;
case '1': return true;
default: throw new Error(`No se puede convertir el valor ${value} a boolean.`);
}
} else {
const evaluate = `${value}`.toLowerCase().trim();
switch (evaluate) {
case 'true': return true;
case 'false': return false;
case '0': return false;
case '1': return true;
default: return value;
}
}
};