UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

56 lines (47 loc) 1.36 kB
"use strict"; 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