From fb1241c779e6d7a98d6b5683750040fa523b4c5a Mon Sep 17 00:00:00 2001 From: Avior Date: Wed, 2 Apr 2025 13:43:56 +0200 Subject: [PATCH] fix: handle date being invalid --- src/items/date.ts | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/items/date.ts b/src/items/date.ts index e488af5..e1c7cd3 100644 --- a/src/items/date.ts +++ b/src/items/date.ts @@ -8,7 +8,19 @@ export default class SchemaDate extends SchemaItem { switch (format) { case 'yy-mm-dd': case 'iso8601': { - this.addPreProcess((it) => typeof it === 'string' ? new Date(it) : it) + this.addPreProcess((it) => { + if (typeof it !== 'string') { + return it + } + + const date = new Date(it) + + if (isNaN(date.getDate())) { + return it + } + + return date + }) break } case 'jj/mm/yy': { @@ -21,7 +33,12 @@ export default class SchemaDate extends SchemaItem { return input } - return new Date(splitted[2], splitted[1] - 1, splitted[0]) + const date = new Date(splitted[2], splitted[1] - 1, splitted[0]) + if (isNaN(date.getDate())) { + return input + } + + return date }) } }