Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const windowWidth = Dimensions.get("window").width;
const distanceDelta = currentDistance - pinchState.initialDistance;
// when zooming out, apply a multiplier to the scale factor to make
// the zoom-out velocity match the equivalent zoom-in velocity
let scaleMultiplier = 1;
if (distanceDelta < 0) {
const [initialStart, initialEnd] = pinchState.initialDomain.x;
const [dataStart, dataEnd] = this.getDataDomain().x;
if (initialStart !== initialEnd) {
scaleMultiplier = Math.abs(dataEnd - dataStart) / Math.abs(initialEnd - initialStart);
}
}
const scaleFactor = 1 - ((distanceDelta / windowWidth) * scaleMultiplier);
const nextXDomain = ZoomHelpers.scale(
pinchState.initialDomain.x,
this.getDataDomain().x,
scaleFactor
);
this.setDomain({ x: nextXDomain });
}
const windowWidth = Dimensions.get("window").width;
const distanceDelta = currentDistance - pinchState.initialDistance;
// when zooming out, apply a multiplier to the scale factor to make
// the zoom-out velocity match the equivalent zoom-in velocity
let scaleMultiplier = 1;
if (distanceDelta < 0) {
const [initialStart, initialEnd] = pinchState.initialDomain.x;
const [dataStart, dataEnd] = this.getDataDomain().x;
if (initialStart !== initialEnd) {
scaleMultiplier = Math.abs(dataEnd - dataStart) / Math.abs(initialEnd - initialStart);
}
}
const scaleFactor = 1 - ((distanceDelta / windowWidth) * scaleMultiplier);
const nextXDomain = ZoomHelpers.scale(
pinchState.initialDomain.x,
this.getDataDomain().x,
scaleFactor
);
this.setDomain({x: nextXDomain});
}