Skip to content

Commit 780574b

Browse files
committed
feat: isValidDate() - validates the string and returns a date object or the original value
1 parent d2d625d commit 780574b

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/index.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,24 @@
6363
return true
6464
}
6565

66+
function isValidDate(value) {
67+
// Check if the value is a string and can be converted to a Date object
68+
if (typeof value === 'string') {
69+
const dateObject = new Date(value);
70+
71+
// Check if the result of the Date constructor is a valid Date object
72+
if (!isNaN(dateObject) && dateObject.toString() !== 'Invalid Date') {
73+
return dateObject; // It's a valid Date object
74+
}
75+
}
76+
77+
return value; // It's not a valid Date object
78+
}
79+
6680
function dotNotationToObject(data, obj = {}) {
6781
try {
6882
for (const key of Object.keys(data)) {
69-
let value = data[key]
83+
let value = isValidDate(data[key])
7084
let newObject = obj
7185
let oldObject = new Object(obj)
7286
let keys = key.split('.');
@@ -616,6 +630,7 @@
616630
return {
617631
ObjectId,
618632
checkValue,
633+
isValidDate,
619634
dotNotationToObject,
620635
getValueFromObject,
621636
isObjectEmpty,

0 commit comments

Comments
 (0)