rumble-charts
Version:
Truly declarative React charts components
82 lines (77 loc) • 2.63 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../external/tslib/tslib.es6.js');
var isNumber = require('./isNumber.js');
var isUndefined = require('./isUndefined.js');
var omitBy = require('./omitBy.js');
var isInvalidLimit = function (value) {
return isUndefined.isUndefined(value) || value === Infinity || value === -Infinity;
};
function normalizeSeries(props) {
var _a;
var maxX = -Infinity, maxY = -Infinity, minX = Infinity, minY = Infinity;
var series = (_a = props === null || props === void 0 ? void 0 : props.series) === null || _a === void 0 ? void 0 : _a.map(function (series) {
var _a;
var data = (_a = series.data) === null || _a === void 0 ? void 0 : _a.map(function (item, index) {
var d;
if (!props.seriesNormalized) {
d = {};
if (isNumber.isNumber(item)) {
d.x = index;
d.y = item;
}
else if (Array.isArray(item)) {
d.x = item[0];
d.y = item[1];
}
else {
d = item || {};
if (isUndefined.isUndefined(d.x)) {
d.x = index;
}
}
}
else {
d = item;
}
if (isUndefined.isUndefined(props.maxX)) {
maxX = Math.max(maxX, d.x || 0);
}
if (isUndefined.isUndefined(props.maxY)) {
maxY = Math.max(maxY, d.y || 0);
}
if (isUndefined.isUndefined(props.minX)) {
minX = Math.min(minX, d.x || 0);
}
if (isUndefined.isUndefined(props.minY)) {
minY = Math.min(minY, d.y || 0);
}
return d;
});
return tslib_es6.__assign(tslib_es6.__assign({}, series), { data: data });
});
if (series && series.length === 0) {
series = undefined;
}
if (!isUndefined.isUndefined(props.maxX)) {
maxX = props.maxX;
}
if (!isUndefined.isUndefined(props.maxY)) {
maxY = props.maxY;
}
if (!isUndefined.isUndefined(props.minX)) {
minX = props.minX;
}
if (!isUndefined.isUndefined(props.minY)) {
minY = props.minY;
}
return omitBy.omitBy({
seriesNormalized: true,
series: series,
maxX: maxX,
maxY: maxY,
minX: minX,
minY: minY
}, isInvalidLimit);
}
exports.normalizeSeries = normalizeSeries;