1
0
Fork 0
mirror of synced 2024-06-28 02:50:50 +12:00

Fix for #1794 - updating csv validators and parsers for date and numbers to allow attribute to not be present.

This commit is contained in:
mike12345567 2021-06-22 14:43:57 +01:00
parent db186a1c91
commit 5be329ea58

View file

@ -4,13 +4,35 @@ const { FieldTypes } = require("../constants")
const VALIDATORS = {
[FieldTypes.STRING]: () => true,
[FieldTypes.OPTIONS]: () => true,
[FieldTypes.NUMBER]: attribute => !isNaN(Number(attribute)),
[FieldTypes.DATETIME]: attribute => !isNaN(new Date(attribute).getTime()),
[FieldTypes.NUMBER]: attribute => {
// allow not to be present
if (!attribute) {
return true
}
return !isNaN(Number(attribute))
},
[FieldTypes.DATETIME]: attribute => {
// allow not to be present
if (!attribute) {
return true
}
return !isNaN(new Date(attribute).getTime())
},
}
const PARSERS = {
[FieldTypes.NUMBER]: attribute => Number(attribute),
[FieldTypes.DATETIME]: attribute => new Date(attribute).toISOString(),
[FieldTypes.NUMBER]: attribute => {
if (!attribute) {
return attribute
}
return Number(attribute)
},
[FieldTypes.DATETIME]: attribute => {
if (!attribute) {
return attribute
}
return new Date(attribute).toISOString()
},
}
function parse(csvString, parsers) {