(e: Event, type: string, element: Element)
| 386 | * @return True if the event is a mouseenter/mouseleave event. |
| 387 | */ |
| 388 | export function isMouseSpecialEvent(e: Event, type: string, element: Element): boolean { |
| 389 | // `relatedTarget` is an old DOM API. |
| 390 | const related = (e as any).relatedTarget as Node; |
| 391 | |
| 392 | return ( |
| 393 | ((e.type === EventType.MOUSEOVER && type === EventType.MOUSEENTER) || |
| 394 | (e.type === EventType.MOUSEOUT && type === EventType.MOUSELEAVE) || |
| 395 | (e.type === EventType.POINTEROVER && type === EventType.POINTERENTER) || |
| 396 | (e.type === EventType.POINTEROUT && type === EventType.POINTERLEAVE)) && |
| 397 | (!related || (related !== element && !element.contains(related))) |
| 398 | ); |
| 399 | } |
| 400 | |
| 401 | /** |
| 402 | * Creates a new EventLike object for a mouseenter/mouseleave event that's |
nothing calls this directly
no test coverage detected
searching dependent graphs…