From 57ede8aeda8039c16537a03509e5377c399d1ecc Mon Sep 17 00:00:00 2001 From: Evan Feenstra Date: Thu, 8 Oct 2020 16:34:30 -0700 Subject: [PATCH] fix date panic in case.ts --- dist/src/utils/case.js | 4 +++- dist/src/utils/case.js.map | 2 +- src/utils/case.ts | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dist/src/utils/case.js b/dist/src/utils/case.js index 61cb8b6..bad2855 100644 --- a/dist/src/utils/case.js +++ b/dist/src/utils/case.js @@ -8,7 +8,9 @@ function toSnake(obj) { for (let [key, value] of Object.entries(obj)) { if (dateKeys.includes(key) && value) { const v = value; - const d = new Date(v); + let d = new Date(v); + if (isNaN(d.getTime())) + d = new Date(); ret[changeCase.snakeCase(key)] = d.toISOString(); } else if (boolKeys.includes(key)) { diff --git a/dist/src/utils/case.js.map b/dist/src/utils/case.js.map index 0712b5a..a7f4a42 100644 --- a/dist/src/utils/case.js.map +++ b/dist/src/utils/case.js.map @@ -1 +1 @@ -{"version":3,"file":"case.js","sourceRoot":"","sources":["../../../src/utils/case.ts"],"names":[],"mappings":";;AAAA,0CAA0C;AAE1C,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAC,WAAW,EAAC,WAAW,EAAC,YAAY,EAAC,YAAY,CAAC,CAAA;AAC3E,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAC,SAAS,EAAC,SAAS,CAAC,CAAA;AAElD,SAAS,OAAO,CAAC,GAAG;IAChB,MAAM,GAAG,GAAuB,EAAE,CAAA;IAClC,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC1C,IAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,EAAC;YAC/B,MAAM,CAAC,GAAQ,KAAK,CAAA;YACpB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;YACrB,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;SACnD;aAAM,IAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC9B,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAE,KAAK,KAAG,GAAG,CAAC,CAAA,CAAC,CAAA,CAAC,CAAA,CAAC,CAAA,CAAC,CAAA;SAC7D;aAAM;YACH,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;SACzC;KACJ;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAUO,0BAAO;AARf,SAAS,OAAO,CAAC,GAAG;IAChB,MAAM,GAAG,GAAuB,EAAE,CAAA;IAClC,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC1C,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;KACzC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAEgB,0BAAO"} \ No newline at end of file +{"version":3,"file":"case.js","sourceRoot":"","sources":["../../../src/utils/case.ts"],"names":[],"mappings":";;AAAA,0CAA0C;AAE1C,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAC,WAAW,EAAC,WAAW,EAAC,YAAY,EAAC,YAAY,CAAC,CAAA;AAC3E,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAC,SAAS,EAAC,SAAS,CAAC,CAAA;AAElD,SAAS,OAAO,CAAC,GAAG;IAChB,MAAM,GAAG,GAAuB,EAAE,CAAA;IAClC,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC1C,IAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,EAAC;YAC/B,MAAM,CAAC,GAAQ,KAAK,CAAA;YACpB,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,IAAG,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAAE,CAAC,GAAC,IAAI,IAAI,EAAE,CAAA;YACnC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;SACnD;aAAM,IAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC9B,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAE,KAAK,KAAG,GAAG,CAAC,CAAA,CAAC,CAAA,CAAC,CAAA,CAAC,CAAA,CAAC,CAAA;SAC7D;aAAM;YACH,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;SACzC;KACJ;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAUO,0BAAO;AARf,SAAS,OAAO,CAAC,GAAG;IAChB,MAAM,GAAG,GAAuB,EAAE,CAAA;IAClC,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAC1C,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;KACzC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAEgB,0BAAO"} \ No newline at end of file diff --git a/src/utils/case.ts b/src/utils/case.ts index 65e5de2..4f8a9e2 100644 --- a/src/utils/case.ts +++ b/src/utils/case.ts @@ -8,7 +8,8 @@ function toSnake(obj) { for (let [key, value] of Object.entries(obj)) { if(dateKeys.includes(key) && value){ const v: any = value - const d = new Date(v) + let d = new Date(v) + if(isNaN(d.getTime())) d=new Date() ret[changeCase.snakeCase(key)] = d.toISOString() } else if(boolKeys.includes(key)) { ret[changeCase.snakeCase(key)] = (!value||value==='0')?0:1