{
const zoom = d3.zoom().on("zoom", handleZoom);
function initZoom() {
d3.select(chart).call(zoom);
}
function handleZoom(e) {
const scale = chart.scale("x");
const x = d3.scaleLinear().domain(scale.domain).range(scale.range);
const rescaledX = e.transform.rescaleX(x).domain();
const startDate = new Date(Math.max(rescaledX[0], extent[0]));
const endDate = new Date(Math.min(rescaledX[1], extent[1]));
mutable domain = [startDate, endDate];
}
initZoom();
}