in src/utils/Data.js [180:208]
export function domainFromRangeData(
data,
rangeStartAccessor,
rangeEndAccessor,
dataType,
) {
// returns the domain of dataset for which each datum represents a range of values
// ie. has a start and end value rather than a single value
// for example, time ranges
let dataTypeToUse = dataType;
if (!dataTypeToUse) dataTypeToUse = inferDataType(data, rangeStartAccessor);
switch (dataTypeToUse) {
case 'number':
case 'time':
return extent(
flatten([
extent(data, (d, i) => +rangeStartAccessor(d, i)),
extent(data, (d, i) => +rangeEndAccessor(d, i)),
]),
);
case 'categorical':
return uniq(
flatten([data.map(rangeStartAccessor), data.map(rangeEndAccessor)]),
);
default:
return [];
}
}