fix(desktop): guard manual window drag coordinates

This commit is contained in:
Mohamed Boudra
2026-03-21 14:58:57 +07:00
parent b15159caeb
commit 6731879931
6 changed files with 360 additions and 142 deletions
@@ -0,0 +1,27 @@
export type DesktopWindowScreenPoint = {
screenX: number
screenY: number
}
type ScreenPointInput =
| {
screenX?: unknown
screenY?: unknown
}
| null
| undefined
function isFiniteCoordinate(value: unknown): value is number {
return typeof value === 'number' && Number.isFinite(value)
}
export function readFiniteScreenPoint(input: ScreenPointInput): DesktopWindowScreenPoint | null {
if (!isFiniteCoordinate(input?.screenX) || !isFiniteCoordinate(input?.screenY)) {
return null
}
return {
screenX: input.screenX,
screenY: input.screenY,
}
}