@d3fc/d3fc-series
Version:
A collection of components for rendering data series to SVG and canvas, including line, bar, OHLC, candlestick and more
44 lines (38 loc) • 976 B
JavaScript
import {scaleIdentity} from 'd3-scale';
import createBase from './base';
export default () => {
let series = [];
let mapping = (d) => d;
let key = (_, i) => i;
const multi = createBase({
decorate: () => {},
xScale: scaleIdentity(),
yScale: scaleIdentity()
});
multi.xValues = () => series.map(s => s.xValues())
.reduce((a, b) => a.concat(b));
multi.yValues = () => series.map(s => s.yValues())
.reduce((a, b) => a.concat(b));
multi.mapping = (...args) => {
if (!args.length) {
return mapping;
}
mapping = args[0];
return multi;
};
multi.key = (...args) => {
if (!args.length) {
return key;
}
key = args[0];
return multi;
};
multi.series = (...args) => {
if (!args.length) {
return series;
}
series = args[0];
return multi;
};
return multi;
};