Fix for #1794 - updating csv validators and parsers for date and numbers to allow attribute to not be present.
This commit is contained in:
parent
db186a1c91
commit
5be329ea58
|
@ -4,13 +4,35 @@ const { FieldTypes } = require("../constants")
|
||||||
const VALIDATORS = {
|
const VALIDATORS = {
|
||||||
[FieldTypes.STRING]: () => true,
|
[FieldTypes.STRING]: () => true,
|
||||||
[FieldTypes.OPTIONS]: () => true,
|
[FieldTypes.OPTIONS]: () => true,
|
||||||
[FieldTypes.NUMBER]: attribute => !isNaN(Number(attribute)),
|
[FieldTypes.NUMBER]: attribute => {
|
||||||
[FieldTypes.DATETIME]: attribute => !isNaN(new Date(attribute).getTime()),
|
// 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 = {
|
const PARSERS = {
|
||||||
[FieldTypes.NUMBER]: attribute => Number(attribute),
|
[FieldTypes.NUMBER]: attribute => {
|
||||||
[FieldTypes.DATETIME]: attribute => new Date(attribute).toISOString(),
|
if (!attribute) {
|
||||||
|
return attribute
|
||||||
|
}
|
||||||
|
return Number(attribute)
|
||||||
|
},
|
||||||
|
[FieldTypes.DATETIME]: attribute => {
|
||||||
|
if (!attribute) {
|
||||||
|
return attribute
|
||||||
|
}
|
||||||
|
return new Date(attribute).toISOString()
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
function parse(csvString, parsers) {
|
function parse(csvString, parsers) {
|
||||||
|
|
Loading…
Reference in New Issue