Skip to content

Commit

Permalink
refactor(use-long-press): Handle environments where PointerEvent is n…
Browse files Browse the repository at this point in the history
…ot present
  • Loading branch information
minwork committed Apr 27, 2023
1 parent b07c1c7 commit 77a2c9d
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions packages/use-long-press/src/lib/use-long-press.utils.ts
Expand Up @@ -6,6 +6,8 @@ import {
TouchEvent as ReactTouchEvent,
} from 'react';

const PointerEvent = window.PointerEvent ?? null;

export function isTouchEvent<Target extends Element>(event: SyntheticEvent<Target>): event is ReactTouchEvent<Target> {
const { nativeEvent } = event;
if (!nativeEvent) {
Expand All @@ -16,7 +18,7 @@ export function isTouchEvent<Target extends Element>(event: SyntheticEvent<Targe
}

export function isMouseEvent<Target extends Element>(event: SyntheticEvent<Target>): event is ReactMouseEvent<Target> {
return event.nativeEvent instanceof MouseEvent && !(event.nativeEvent instanceof PointerEvent);
return event.nativeEvent instanceof MouseEvent && !(PointerEvent && event.nativeEvent instanceof PointerEvent);
}

export function isPointerEvent<Target extends Element>(
Expand All @@ -27,7 +29,7 @@ export function isPointerEvent<Target extends Element>(
return false;
}

return (window.PointerEvent && nativeEvent instanceof PointerEvent) || 'pointerId' in nativeEvent;
return (PointerEvent && nativeEvent instanceof PointerEvent) || 'pointerId' in nativeEvent;
}

export function isRecognisableEvent<Target extends Element>(
Expand Down

0 comments on commit 77a2c9d

Please sign in to comment.