const cResizeToPos = (sx: number, sy: number, dx: number, dy: number, delta: number = 10) => { // Simulate moving the mouse, by making a number of movements const numMoves = sy === dy ? Math.abs(dx - sx) / delta : Math.abs(dy - sy) / delta; // Determine the deltas based on the number of moves to make const deltaX = (dx - sx) / numMoves; const deltaY = (dy - sy) / numMoves; // Move and release the mouse return Chain.control( Chain.fromChains([ UiFinder.cFindIn('.tox-blocker'), Mouse.cMouseMoveTo(sx, sy) ].concat( Arr.range(numMoves, (count) => { const nx = sx + count * deltaX; const ny = sy + count * deltaY; return Mouse.cMouseMoveTo(nx, ny); }) ).concat([ Mouse.cMouseMoveTo(dx, dy), Mouse.cMouseUp ]) ), Guard.addLogging(`Resizing from (${sx}, ${sy}) to (${dx}, ${dy})`) ); };
const sRepeatDownArrowKey = (index) => { return GeneralSteps.sequence(Arr.range(index, () => sPressDownArrowKey)); };
Chain.op((elm) => { Arr.each(Arr.range(count, Fun.identity), () => { insert(elm, Element.fromDom(document.createTextNode(''))); }); })