devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
60 lines (57 loc) • 1.77 kB
JavaScript
/**
* DevExtreme (cjs/viz/components/parse_utils.js)
* Version: 24.2.6
* Build date: Mon Mar 17 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
exports.correctValueType = correctValueType;
exports.getParser = void 0;
var _common = require("../../core/utils/common");
var _date_serialization = _interopRequireDefault(require("../../core/utils/date_serialization"));
var _type = require("../../core/utils/type");
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
}
}
const parsers = {
string: function(val) {
return (0, _type.isDefined)(val) ? "" + val : val
},
numeric: function(val) {
if (!(0, _type.isDefined)(val)) {
return val
}
let parsedVal = Number(val);
if (isNaN(parsedVal)) {
parsedVal = void 0
}
return parsedVal
},
datetime: function(val) {
if (!(0, _type.isDefined)(val)) {
return val
}
let parsedVal;
const numVal = Number(val);
if (!isNaN(numVal)) {
parsedVal = new Date(numVal)
} else {
parsedVal = _date_serialization.default.deserializeDate(val)
}
if (isNaN(Number(parsedVal))) {
parsedVal = void 0
}
return parsedVal
}
};
function correctValueType(type) {
return "numeric" === type || "datetime" === type || "string" === type ? type : ""
}
const getParser = function(valueType) {
return parsers[correctValueType(valueType)] || _common.noop
};
exports.getParser = getParser;