| 15 | ]; |
| 16 | |
| 17 | function isLikelyDate(value, type) { |
| 18 | const rawData = type === "object" ? value.toISOString() : String(value); |
| 19 | const data = rawData.replace(/\(.*\)/, "").trim(); |
| 20 | |
| 21 | if (data |
| 22 | && ((!Number.isNaN(new Date(data).getTime()) && data.length > 9 && data.replace(/\D/g, "").length > 3 && data.replace(/\D/g, "").length < 14 && (data[0] === "1" || data[0] === "2")) |
| 23 | || ((moment(data, dateFormats, true).isValid() || moment(data, moment.ISO_8601).isValid()) && !checkNumbersOnlyAndLength.test(data) && ((typeof data === "number" && data.toString().length === 10) || (typeof data !== "number" && !checkNumbersOnly.test(data)))) |
| 24 | || (moment(data, "X").isValid() && (typeof data === "string" && data.length === 10) && checkNumbersOnlyAndLength.test(data)) |
| 25 | || (data && data.length === 10 && data[0] === "1" && moment(data, "X").isValid() && typeof data === "number") |
| 26 | || (checkNumbersOnlyAndLength.test(data) && moment(data, "x").isValid()) |
| 27 | )) { |
| 28 | return true; |
| 29 | } |
| 30 | |
| 31 | return false; |
| 32 | } |
| 33 | |
| 34 | function determineType(data, operation) { |
| 35 | let dataType; |