Ola, mesmo utilizando o metodo ensinado pelo Flávio para o fail fast, caso eu coloque na data, o mes ou o dia errado, o sistema continua funcionando da mesma forma, como descrito abaixo:
static textoParaData(texto) {
if(!/\d{4}-\d{2}-\d{2}/.test(texto)) {
throw new Error("Numero esta fora do formato");
}
return new Date(...texto.split('-').map((item,indice) => item - indice % 2));
}
Console Chrome:
DateHelper.textoParaData("2017-09-04595");
Sun Mar 31 2030 00:00:00 GMT-0300 (Hora oficial do Brasil)
DateHelper.textoParaData("207-09-04595");
DateHelper.js:13 Uncaught Error: Numero esta fora do formato
at Function.textoParaData (DateHelper.js:13)
at <anonymous>:1:12
textoParaData @ DateHelper.js:13
(anonymous) @ VM6775:1
DateHelper.textoParaData("2077-09-04595");
Fri Mar 31 2090 00:00:00 GMT-0300 (Hora oficial do Brasil)
Obrigado!