devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
56 lines (47 loc) • 1.36 kB
JavaScript
var noop = require("../../core/utils/common").noop,
dateSerialization = require("../../core/utils/date_serialization"),
isDefined = require("../../core/utils/type").isDefined,
parsers = {
string: function string(val) {
return isDefined(val) ? '' + val : val;
},
numeric: function numeric(val) {
if (!isDefined(val)) {
return val;
}
var parsedVal = Number(val);
if (isNaN(parsedVal)) {
parsedVal = undefined;
}
return parsedVal;
},
datetime: function datetime(val) {
if (!isDefined(val)) {
return val;
}
var parsedVal,
numVal = Number(val);
if (!isNaN(numVal)) {
parsedVal = new Date(numVal);
} else {
parsedVal = dateSerialization.deserializeDate(val);
}
if (isNaN(Number(parsedVal))) {
parsedVal = undefined;
}
return parsedVal;
}
};
function correctValueType(type) {
return type === 'numeric' || type === 'datetime' || type === 'string' ? type : '';
}
module.exports = {
correctValueType: correctValueType,
getParser: function getParser(valueType) {
return parsers[correctValueType(valueType)] || noop;
}
};
///#DEBUG
module.exports.parsers = parsers;
///#ENDDEBUG
;